btrbk: add mainProgram (#356350)
[NixPkgs.git] / pkgs / by-name / gt / gthumb / package.nix
blobf2666b3ee10763accaa159330c7261ae401922e8
1 { stdenv
2 , lib
3 , fetchurl
4 , gnome
5 , pkg-config
6 , meson
7 , ninja
8 , adwaita-icon-theme
9 , exiv2
10 , libheif
11 , libjpeg
12 , libtiff
13 , gst_all_1
14 , libraw
15 , libsoup
16 , libsecret
17 , glib
18 , gtk3
19 , gsettings-desktop-schemas
20 , libchamplain
21 , librsvg
22 , libwebp
23 , libX11
24 , json-glib
25 , lcms2
26 , bison
27 , flex
28 , clutter-gtk
29 , wrapGAppsHook3
30 , shared-mime-info
31 , python3
32 , desktop-file-utils
33 , itstool
34 , withWebservices ? true, webkitgtk_4_0
37 stdenv.mkDerivation rec {
38   pname = "gthumb";
39   version = "3.12.6";
41   src = fetchurl {
42     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
43     sha256 = "sha256-YIdwxsjnMHOh1AS2W9G3YeGsXcJecBMP8HJIj6kvXDM=";
44   };
46   nativeBuildInputs = [
47     bison
48     desktop-file-utils
49     flex
50     itstool
51     meson
52     ninja
53     pkg-config
54     python3
55     wrapGAppsHook3
56   ];
58   buildInputs = [
59     clutter-gtk
60     exiv2
61     glib
62     adwaita-icon-theme
63     gsettings-desktop-schemas
64     gst_all_1.gst-plugins-base
65     (gst_all_1.gst-plugins-good.override { gtkSupport = true; })
66     gst_all_1.gst-libav
67     gst_all_1.gst-plugins-bad
68     gst_all_1.gst-plugins-ugly
69     gtk3
70     json-glib
71     lcms2
72     libchamplain
73     libheif
74     libjpeg
75     libraw
76     librsvg
77     libsecret
78     libsoup
79     libtiff
80     libwebp
81     libX11
82   ] ++ lib.optional withWebservices webkitgtk_4_0;
84   mesonFlags = [
85     "-Dlibchamplain=true"
86     (lib.mesonBool "webservices" withWebservices)
87   ];
89   postPatch = ''
90     chmod +x gthumb/make-gthumb-h.py
92     patchShebangs data/gschemas/make-enums.py \
93       gthumb/make-gthumb-h.py \
94       po/make-potfiles-in.py \
95       postinstall.py \
96       gthumb/make-authors-tab.py
97   '';
99   preFixup = ''
100     gappsWrapperArgs+=(--prefix XDG_DATA_DIRS : "${shared-mime-info}/share")
101   '';
103   passthru = {
104     updateScript = gnome.updateScript {
105       packageName = pname;
106       versionPolicy = "odd-unstable";
107     };
108   };
110   meta = with lib; {
111     homepage = "https://gitlab.gnome.org/GNOME/gthumb";
112     description = "Image browser and viewer for GNOME";
113     mainProgram = "gthumb";
114     platforms = platforms.linux;
115     license = licenses.gpl2Plus;
116     maintainers = [ maintainers.mimame ];
117   };