diff --git a/pkgs/applications/editors/gnome-inform7/default.nix b/pkgs/applications/editors/gnome-inform7/default.nix new file mode 100644 index 00000000000..534466db8d7 --- /dev/null +++ b/pkgs/applications/editors/gnome-inform7/default.nix @@ -0,0 +1,117 @@ +{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, python3, perl, bison +, texinfo, desktop-file-utils, wrapGAppsHook, docbook2x, docbook-xsl-nons +, inform7, gettext, libossp_uuid, gtk3, gobject-introspection, vala, gtk-doc +, webkitgtk, gtksourceview3, gspell, libxml2, goocanvas2, libplist, glib +, gst_all_1 }: + +# Neither gnome-inform7 nor its dependencies ratify and chimara have tagged releases in the GTK3 branch yet. + +let + ratify = (stdenv.mkDerivation { + pname = "ratify"; + version = "unstable-2021-02-21"; + src = fetchFromGitHub { + owner = "ptomato"; + repo = "ratify"; + rev = "f4d2d60ec73d5588e953650b3879e69a727f30ca"; + sha256 = "eRh/9pYvdfbdbdJQ7pYMLq5p91I+rtyb/AqEGfakjKs="; + }; + nativeBuildInputs = [ + meson + ninja + pkg-config + docbook2x + docbook-xsl-nons + ]; + buildInputs = [ + gtk3 + gobject-introspection + vala gtk-doc + wrapGAppsHook + ]; + }); + + chimara = (stdenv.mkDerivation { + pname = "chimara"; + version = "unstable-2021-04-06"; + src = fetchFromGitHub { + owner = "chimara"; + repo = "Chimara"; + rev = "9934b142af508c75c0f1eed597990f39495b1af4"; + sha256 = "aRz1XX8XaSLTBIrMIIMS3QNMm6Msi+slrZ6+KYlyRMo="; + }; + nativeBuildInputs = [ + meson + ninja + pkg-config + perl + bison + texinfo + python3 + glib + wrapGAppsHook + ]; + buildInputs = [ + gtk3 + gobject-introspection + vala + gtk-doc + gst_all_1.gstreamer + gst_all_1.gst-plugins-base + gst_all_1.gst-plugins-good + gst_all_1.gst-plugins-bad + glib + ]; + preConfigure = '' + patchShebangs build-aux/meson_post_install.py + ''; + }); + +in stdenv.mkDerivation { + pname = "gnome-inform7"; + version = "unstable-2021-04-06"; + src = fetchFromGitHub { + owner = "ptomato"; + repo = "gnome-inform7"; + # build from revision in the GTK3 branch as mainline requires webkit-1.0 + rev = "c37e045c159692aae2e4e79b917e5f96cfefa66a"; + sha256 = "Q4xoITs3AYXhvpWaABRAvJaUWTtUl8lYQ1k9zX7FrNw="; + }; + nativeBuildInputs = [ + meson + ninja + pkg-config + inform7 + python3 + desktop-file-utils + wrapGAppsHook + ]; + buildInputs = [ + gettext + libossp_uuid + gtk3 + gtksourceview3 + gspell + webkitgtk + libxml2 + goocanvas2 + libplist + ratify + chimara + ]; + preConfigure = '' + cp ${inform7}/libexec/ni ./src/ni + patchShebangs build-aux/* src/generate-resource-xml.{py,sh} + ''; + + meta = with lib; { + description = "Inform 7 for the Gnome platform"; + longDescription = '' + This version of Inform 7 for the Gnome platform was created by Philip Chimento, based on a design by Graham Nelson and Andrew Hunter. + ''; + homepage = "https://github.com/ptomato/gnome-inform7"; + license = licenses.gpl3Only; + maintainers = [ maintainers.fitzgibbon ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 99786e6837e..f704ba9936b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -13045,6 +13045,8 @@ in gnome-usage = callPackage ../applications/misc/gnome-usage {}; + gnome-inform7 = callPackage ../applications/editors/gnome-inform7/default.nix { }; + gnome-latex = callPackage ../applications/editors/gnome-latex/default.nix { }; gnome-network-displays = callPackage ../applications/networking/gnome-network-displays { };