ripasso-cursive: cosmetic changes (#361736)
[NixPkgs.git] / pkgs / by-name / an / ansel / package.nix
blob67ee8d878706c097be4f85d344e9a828723f8093
1 { libsepol
2 , libavif
3 , bash
4 , curl
5 , librsvg
6 , libselinux
7 , util-linux
8 , libwebp
9 , libheif
10 , lib
11 , stdenv
12 , fetchFromGitHub
13 , libxslt
14 , libxml2
15 , cmake
16 , exiftool
17 , openexr_3
18 , glib
19 , python3Packages
20 , perlPackages
21 , lensfun
22 , intltool
23 , pkg-config
24 , desktop-file-utils
25 , libffi
26 , gtk3
27 , libjpeg
28 , pugixml
29 , pcre
30 , pcre2
31 , lcms
32 , sqlite
33 , json-glib
34 , jasper
35 , libsecret
36 , gmic
37 , icu
38 , colord
39 , colord-gtk
40 , libaom
41 , libdatrie
42 , libsysprof-capture
43 , libde265
44 , isocodes
45 , libpsl
46 , libepoxy
47 , libsoup
48 , exiv2
49 , libXtst
50 , libthai
51 , x265
52 , libXdmcp
53 , openjpeg
54 , libgpg-error
55 , libxkbcommon
56 , osm-gps-map
57 , wrapGAppsHook3
58 , rav1e
59 , dav1d
60 , libgcrypt
61 , graphicsmagick
62 , unstableGitUpdater
65 let
66     # requires libavif 0.x, see https://github.com/aurelienpierreeng/ansel/blob/e2c4a0a60cd80f741dd3d3c6ab72be9ac11234fb/src/CMakeLists.txt#L356
67     libavif_0_11 = libavif.overrideAttrs rec {
68       version = "0.11.1";
70       src = fetchFromGitHub {
71         owner = "AOMediaCodec";
72         repo = "libavif";
73         rev = "v${version}";
74         hash = "sha256-mUi0DU99XV3FzUZ8/9uJZU+W3fc6Bk6+y6Z78IRZ9Qs=";
75       };
76     };
78 stdenv.mkDerivation {
79   pname = "ansel";
80   version = "0-unstable-2024-09-29";
82   src = fetchFromGitHub {
83     owner = "aurelienpierreeng";
84     repo = "ansel";
85     rev = "0e942648c4f9b1fd89fee8ca91d6e9bd5e06344c";
86     hash = "sha256-gzIZwbTdGE0+uLScV/JfGW0ZxXIbnnSrYO1OxPS5Xz0=";
87     fetchSubmodules = true;
88   };
90   patches = [
91     # don't use absolute paths to binary or icon - see https://github.com/NixOS/nixpkgs/issues/308324
92     ./fix-desktop-file.patch
93   ];
95   strictDeps = true;
97   nativeBuildInputs = [
98     cmake
99     desktop-file-utils
100     exiftool
101     intltool
102     libxml2
103     pkg-config
104     perlPackages.perl
105     python3Packages.jsonschema
106     wrapGAppsHook3
107   ];
109   buildInputs = [
110     bash # for patchShebangs to patch scripts in share/ansel/tools/
111     colord
112     colord-gtk
113     curl
114     dav1d
115     exiv2
116     json-glib
117     glib
118     gmic
119     graphicsmagick
120     gtk3
121     icu
122     isocodes
123     jasper
124     lcms
125     lensfun
126     libaom
127     libavif_0_11
128     libdatrie
129     libde265
130     libepoxy
131     libffi
132     libgcrypt
133     libgpg-error
134     libheif
135     libjpeg
136     libpsl
137     librsvg
138     libsecret
139     libselinux
140     libsepol
141     libsoup
142     libsysprof-capture
143     libthai
144     libwebp
145     libXdmcp
146     libxkbcommon
147     libxslt
148     libXtst
149     openexr_3
150     openjpeg
151     osm-gps-map
152     pcre
153     pcre2
154     perlPackages.Po4a
155     pugixml
156     rav1e
157     sqlite
158     util-linux
159     x265
160   ];
162   preFixup = ''
163     gappsWrapperArgs+=(
164       --prefix LD_LIBRARY_PATH ":" "$out/lib/ansel"
165     )
166   '';
168   passthru.updateScript = unstableGitUpdater {
169     # Tags inherited from Darktable, + a "nightly" 0.0.0 tag that new artefacts get attached to
170     hardcodeZeroVersion = true;
171   };
173   # cmake can't find the binary itself
174   cmakeFlags = [
175     (lib.cmakeFeature "Xsltproc_BIN" (lib.getExe' libxslt "xsltproc"))
176   ];
178   meta = {
179     description = "Darktable fork minus the bloat plus some design vision";
180     homepage = "https://ansel.photos/";
181     license = lib.licenses.gpl3Plus;
182     maintainers = with lib.maintainers; [ ];
183     mainProgram = "ansel";
184     platforms = lib.platforms.linux;
185   };