about summary refs log tree commit diff
path: root/pkgs/desktops/gnome-3/core/evince/default.nix
diff options
context:
space:
mode:
authorVladimír Čunát <vcunat@gmail.com>2013-01-29 09:20:14 +0100
committerVladimír Čunát <vcunat@gmail.com>2013-02-21 21:19:50 +0100
commitdd4a846b0f0236bf9094518b252eb5931c391f67 (patch)
tree976a32f7c408e972d3d81f39a571247408e6665c /pkgs/desktops/gnome-3/core/evince/default.nix
parentbf4313cd88f518dc28cbf7249a57e849865f7882 (diff)
downloadnixlib-dd4a846b0f0236bf9094518b252eb5931c391f67.tar
nixlib-dd4a846b0f0236bf9094518b252eb5931c391f67.tar.gz
nixlib-dd4a846b0f0236bf9094518b252eb5931c391f67.tar.bz2
nixlib-dd4a846b0f0236bf9094518b252eb5931c391f67.tar.lz
nixlib-dd4a846b0f0236bf9094518b252eb5931c391f67.tar.xz
nixlib-dd4a846b0f0236bf9094518b252eb5931c391f67.tar.zst
nixlib-dd4a846b0f0236bf9094518b252eb5931c391f67.zip
update evince, seems to work now
Diffstat (limited to 'pkgs/desktops/gnome-3/core/evince/default.nix')
-rw-r--r--pkgs/desktops/gnome-3/core/evince/default.nix68
1 files changed, 68 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 000000000000..d9fea7f82e67
--- /dev/null
+++ b/pkgs/desktops/gnome-3/core/evince/default.nix
@@ -0,0 +1,68 @@
+{ fetchurl, stdenv, pkgconfig, intltool, perl, perlXMLParser, libxml2
+, glib, gtk3, pango, atk, gdk_pixbuf, shared_mime_info
+, itstool, gnome_icon_theme, libgnome_keyring, gsettings_desktop_schemas
+, poppler, ghostscriptX, djvulibre, libspectre
+, makeWrapper #, python /*just for tests*/
+, recentListSize ? null # 5 is not enough, allow passing a different number
+}:
+
+stdenv.mkDerivation rec {
+  name = "evince-3.6.1";
+
+  src = fetchurl {
+    url = "http://ftp.gnome.org/pub/GNOME/sources/evince/3.6/${name}.tar.xz";
+    sha256 = "1da1pij030dh8mb0pr0jnyszgsbjnh8lc17rj5ii52j3kmbv51qv";
+  };
+
+  buildInputs = [
+    pkgconfig intltool perl perlXMLParser libxml2
+    glib gtk3 pango atk gdk_pixbuf
+    itstool gnome_icon_theme libgnome_keyring gsettings_desktop_schemas
+    poppler ghostscriptX djvulibre libspectre
+    makeWrapper
+  ];
+
+  configureFlags = [
+    "--disable-nautilus" # Do not use nautilus
+    "--disable-dbus" # strange compilation error
+  ];
+
+  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
+    '';
+
+  postInstall = ''
+    # Tell Glib/GIO about the MIME info directory, which is used
+    # by `g_file_info_get_content_type ()'.
+    wrapProgram "$out/bin/evince" \
+      --prefix XDG_DATA_DIRS : "${shared_mime_info}/share:$out/share"
+
+    for pkg in "${gsettings_desktop_schemas}" "${gtk3}"; do
+      cp -s $pkg/share/glib-2.0/schemas/*.gschema.xml $out/share/glib-2.0/schemas/
+    done
+    ${glib}/bin/glib-compile-schemas $out/share/glib-2.0/schemas/
+  '';
+
+  doCheck = false; # would need pythonPackages.dogTail, which is missing
+
+  meta = {
+    homepage = http://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 = "GPLv2+";
+  };
+}