diff options
Diffstat (limited to 'nixpkgs/pkgs/desktops/gnome-3/core/evince/default.nix')
-rw-r--r-- | nixpkgs/pkgs/desktops/gnome-3/core/evince/default.nix | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/evince/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/evince/default.nix new file mode 100644 index 000000000000..1a01bd307eaa --- /dev/null +++ b/nixpkgs/pkgs/desktops/gnome-3/core/evince/default.nix @@ -0,0 +1,69 @@ +{ fetchurl, stdenv, pkgconfig, intltool, libxml2 +, glib, gtk3, pango, atk, gdk_pixbuf, shared-mime-info, itstool, gnome3 +, poppler, ghostscriptX, djvulibre, libspectre, libarchive, libsecret, wrapGAppsHook +, librsvg, gobject-introspection, yelp-tools, gspell, adwaita-icon-theme, gsettings-desktop-schemas +, libgxps +, recentListSize ? null # 5 is not enough, allow passing a different number +, supportXPS ? false # Open XML Paper Specification via libgxps +, autoreconfHook, pruneLibtoolFiles +}: + +stdenv.mkDerivation rec { + name = "evince-${version}"; + version = "3.30.2"; + + src = fetchurl { + url = "mirror://gnome/sources/evince/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; + sha256 = "0k7jln6dpg4bpv61niicjzkzyq6fhb3yfld7pc8ck71c8pmvsnx9"; + }; + + passthru = { + updateScript = gnome3.updateScript { packageName = "evince"; }; + }; + + nativeBuildInputs = [ + pkgconfig gobject-introspection intltool itstool wrapGAppsHook yelp-tools autoreconfHook pruneLibtoolFiles + ]; + + buildInputs = [ + glib gtk3 pango atk gdk_pixbuf libxml2 + gsettings-desktop-schemas + poppler ghostscriptX djvulibre libspectre libarchive + libsecret librsvg adwaita-icon-theme gspell + ] ++ stdenv.lib.optional supportXPS libgxps; + + configureFlags = [ + "--disable-nautilus" # Do not build nautilus plugin + "--enable-introspection" + (if supportXPS then "--enable-xps" else "--disable-xps") + ]; + + NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0"; + + preConfigure = stdenv.lib.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; + + meta = with stdenv.lib; { + homepage = https://wiki.gnome.org/Apps/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 = gnome3.maintainers ++ [ maintainers.vcunat ]; + }; +} |