1{
2 stdenv,
3 lib,
4 fetchFromGitHub,
5 pkg-config,
6 meson,
7 ninja,
8 brasero,
9 colord,
10 exiv2,
11 libheif,
12 libjpeg,
13 libjxl,
14 libtiff,
15 gst_all_1,
16 libraw,
17 libsecret,
18 glib,
19 gtk3,
20 gsettings-desktop-schemas,
21 librsvg,
22 libwebp,
23 libX11,
24 lcms2,
25 bison,
26 flex,
27 wrapGAppsHook3,
28 shared-mime-info,
29 python3,
30 desktop-file-utils,
31 itstool,
32 xapp,
33}:
34
35stdenv.mkDerivation rec {
36 pname = "pix";
37 version = "3.4.6";
38
39 src = fetchFromGitHub {
40 owner = "linuxmint";
41 repo = "pix";
42 rev = version;
43 hash = "sha256-jlaqlA3akRNnBPTdtkWl+0NXqFbYw9uJKRfE/oTJMSg=";
44 };
45
46 nativeBuildInputs = [
47 bison
48 desktop-file-utils
49 flex
50 itstool
51 meson
52 ninja
53 pkg-config
54 python3
55 wrapGAppsHook3
56 ];
57
58 buildInputs = [
59 brasero
60 colord
61 exiv2
62 glib
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 lcms2
71 libheif
72 libjpeg
73 libjxl
74 libraw
75 librsvg
76 libsecret
77 libtiff
78 libwebp
79 libX11
80 xapp
81 ];
82
83 postPatch = ''
84 chmod +x pix/make-pix-h.py
85
86 patchShebangs data/gschemas/make-enums.py \
87 pix/make-pix-h.py \
88 po/make-potfiles-in.py \
89 postinstall.py \
90 pix/make-authors-tab.py
91 '';
92
93 # Avoid direct dependency on webkit2gtk-4.0
94 # https://fedoraproject.org/wiki/Changes/Remove_webkit2gtk-4.0_API_Version
95 mesonFlags = [ "-Dwebservices=false" ];
96
97 preFixup = ''
98 gappsWrapperArgs+=(--prefix XDG_DATA_DIRS : "${shared-mime-info}/share")
99 '';
100
101 meta = with lib; {
102 description = "Generic image viewer from Linux Mint";
103 mainProgram = "pix";
104 homepage = "https://github.com/linuxmint/pix";
105 license = licenses.gpl2Only;
106 platforms = platforms.linux;
107 teams = [ teams.cinnamon ];
108 };
109}