summary refs log tree commit diff
path: root/pkgs/desktops/gnome-3/core/evince
diff options
context:
space:
mode:
authorJan Tojnar <jtojnar@gmail.com>2017-09-24 13:15:50 +0200
committerzimbatm <zimbatm@zimbatm.com>2017-09-24 12:15:50 +0100
commit69698ec11cc0619d84b14764fa9e708fe7e7223c (patch)
tree9d9f602554b497a3265caf5e2ef4821e12736686 /pkgs/desktops/gnome-3/core/evince
parent23b19efdc9c8d64177cefcaa5b919db966bb8f5e (diff)
downloadnixpkgs-69698ec11cc0619d84b14764fa9e708fe7e7223c.tar
nixpkgs-69698ec11cc0619d84b14764fa9e708fe7e7223c.tar.gz
nixpkgs-69698ec11cc0619d84b14764fa9e708fe7e7223c.tar.bz2
nixpkgs-69698ec11cc0619d84b14764fa9e708fe7e7223c.tar.lz
nixpkgs-69698ec11cc0619d84b14764fa9e708fe7e7223c.tar.xz
nixpkgs-69698ec11cc0619d84b14764fa9e708fe7e7223c.tar.zst
nixpkgs-69698ec11cc0619d84b14764fa9e708fe7e7223c.zip
gnome3: only maintain single GNOME 3 package set (#29397)
* gnome3: only maintain single GNOME 3 package set

GNOME 3 was split into 3.10 and 3.12 in #2694. Unfortunately, we barely have the resources
to update a single version of GNOME. Maintaining multiple versions just does not make sense.
Additionally, it makes viewing history using most Git tools bothersome.

This commit renames `pkgs/desktops/gnome-3/3.24` to `pkgs/desktops/gnome-3`, removes
the config variable for choosing packageset (`environment.gnome3.packageSet`), updates
the hint in maintainer script, and removes the `gnome3_24` derivation from `all-packages.nix`.

Closes: #29329

* maintainers/scripts/gnome: Use fixed GNOME 3 directory

Since we now allow only a single GNOME 3 package set, specifying
the working directory is not necessary.

This commit sets the directory to `pkgs/desktops/gnome-3`.
Diffstat (limited to 'pkgs/desktops/gnome-3/core/evince')
-rw-r--r--pkgs/desktops/gnome-3/core/evince/default.nix69
-rw-r--r--pkgs/desktops/gnome-3/core/evince/src.nix10
2 files changed, 79 insertions, 0 deletions
diff --git a/pkgs/desktops/gnome-3/core/evince/default.nix b/pkgs/desktops/gnome-3/core/evince/default.nix
new file mode 100644
index 00000000000..aca10516a38
--- /dev/null
+++ b/pkgs/desktops/gnome-3/core/evince/default.nix
@@ -0,0 +1,69 @@
+{ fetchurl, stdenv, pkgconfig, intltool, perl, perlXMLParser, libxml2
+, glib, gtk3, pango, atk, gdk_pixbuf, shared_mime_info, itstool, gnome3
+, poppler, ghostscriptX, djvulibre, libspectre, libsecret , wrapGAppsHook
+, librsvg, gobjectIntrospection
+, recentListSize ? null # 5 is not enough, allow passing a different number
+, supportXPS ? false    # Open XML Paper Specification via libgxps
+, fetchpatch, autoreconfHook
+}:
+
+stdenv.mkDerivation rec {
+  inherit (import ./src.nix fetchurl) name src;
+
+  # missing help for now; fixing the autogen phase seemed too difficult
+  postPatch = "sed '/@YELP_HELP_RULES@/d' -i help/Makefile.am";
+
+  nativeBuildInputs = [ pkgconfig wrapGAppsHook autoreconfHook/*for patches*/ ];
+
+  buildInputs = [
+    intltool perl perlXMLParser libxml2
+    glib gtk3 pango atk gdk_pixbuf gobjectIntrospection
+    itstool gnome3.adwaita-icon-theme
+    gnome3.libgnome_keyring gnome3.gsettings_desktop_schemas
+    poppler ghostscriptX djvulibre libspectre
+    libsecret librsvg gnome3.adwaita-icon-theme gnome3.dconf
+  ] ++ stdenv.lib.optional supportXPS gnome3.libgxps;
+
+  configureFlags = [
+    "--disable-nautilus" # Do not use nautilus
+    "--enable-introspection"
+    (if supportXPS then "--enable-xps" else "--disable-xps")
+  ];
+
+  NIX_CFLAGS_COMPILE = "-I${gnome3.glib.dev}/include/gio-unix-2.0";
+
+  preConfigure = with stdenv.lib;
+    optionalString doCheck ''
+      for file in test/*.py; do
+        echo "patching $file"
+        sed '1s,/usr,${python},' -i "$file"
+      done
+    '' + optionalString (recentListSize != null) ''
+      sed -i 's/\(gtk_recent_chooser_set_limit .*\)5)/\1${builtins.toString recentListSize})/' shell/ev-open-recent-action.c
+      sed -i 's/\(if (++n_items == \)5\(.*\)/\1${builtins.toString recentListSize}\2/' shell/ev-window.c
+    '';
+
+  preFixup = ''
+    gappsWrapperArgs+=(--prefix XDG_DATA_DIRS : "${shared_mime_info}/share")
+  '';
+
+  enableParallelBuilding = true;
+
+  doCheck = false; # would need pythonPackages.dogTail, which is missing
+
+  meta = with stdenv.lib; {
+    homepage = https://www.gnome.org/projects/evince/;
+    description = "GNOME's document viewer";
+
+    longDescription = ''
+      Evince is a document viewer for multiple document formats.  It
+      currently supports PDF, PostScript, DjVu, TIFF and DVI.  The goal
+      of Evince is to replace the multiple document viewers that exist
+      on the GNOME Desktop with a single simple application.
+    '';
+
+    license = stdenv.lib.licenses.gpl2Plus;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.vcunat ];
+  };
+}
diff --git a/pkgs/desktops/gnome-3/core/evince/src.nix b/pkgs/desktops/gnome-3/core/evince/src.nix
new file mode 100644
index 00000000000..aa45a79536a
--- /dev/null
+++ b/pkgs/desktops/gnome-3/core/evince/src.nix
@@ -0,0 +1,10 @@
+# Autogenerated by maintainers/scripts/gnome.sh update
+
+fetchurl: {
+  name = "evince-3.24.1";
+
+  src = fetchurl {
+    url = mirror://gnome/sources/evince/3.24/evince-3.24.1.tar.xz;
+    sha256 = "9ca0c5213407b37be55fddb04a85d9301b692c4412c5920319d975403bff0f37";
+  };
+}