nixpkgs/pkgs/desktops/gnome-3/core/evince/default.nix
Jan Tojnar 69698ec11c 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`.
2017-09-24 12:15:50 +01:00

70 lines
2.5 KiB
Nix

{ 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 ];
};
}