biglybt: 3.5.0.0 -> 3.6.0.0
[NixPkgs.git] / pkgs / applications / graphics / darktable / default.nix
blobfdc3770676ffecde6c42d56468f19f50c397900a
1 { lib
2 , stdenv
3 , fetchurl
4 , libsoup
5 , graphicsmagick
6 , json-glib
7 , wrapGAppsHook
8 , cairo
9 , cmake
10 , ninja
11 , curl
12 , perl
13 , desktop-file-utils
14 , exiv2
15 , glib
16 , glib-networking
17 , ilmbase
18 , gtk3
19 , intltool
20 , lcms2
21 , lensfun
22 , libX11
23 , libexif
24 , libgphoto2
25 , libjpeg
26 , libpng
27 , librsvg
28 , libtiff
29 , libjxl
30 , openexr_3
31 , osm-gps-map
32 , pkg-config
33 , sqlite
34 , libxslt
35 , openjpeg
36 , pugixml
37 , colord
38 , colord-gtk
39 , libwebp
40 , libsecret
41 , gnome
42 , SDL2
43 , ocl-icd
44 , pcre
45 , gtk-mac-integration
46 , isocodes
47 , llvmPackages
48 , gmic
49 , libavif
50 , icu
51 , jasper
52 , libheif
53 , libaom
54 , portmidi
55 , lua
58 stdenv.mkDerivation rec {
59   version = "4.6.1";
60   pname = "darktable";
62   src = fetchurl {
63     url = "https://github.com/darktable-org/darktable/releases/download/release-${version}/darktable-${version}.tar.xz";
64     sha256 = "sha256-Fu3AoHApPi082k6hDkm9qb3pMuI/nmLi+i56x0rPev0=";
65   };
67   nativeBuildInputs = [ cmake ninja llvmPackages.llvm pkg-config intltool perl desktop-file-utils wrapGAppsHook ];
69   buildInputs = [
70     cairo
71     curl
72     exiv2
73     glib
74     glib-networking
75     gtk3
76     ilmbase
77     lcms2
78     lensfun
79     libexif
80     libgphoto2
81     libjpeg
82     libpng
83     librsvg
84     libtiff
85     libjxl
86     openexr_3
87     sqlite
88     libxslt
89     libsoup
90     graphicsmagick
91     json-glib
92     openjpeg
93     pugixml
94     libwebp
95     libsecret
96     SDL2
97     gnome.adwaita-icon-theme
98     osm-gps-map
99     pcre
100     isocodes
101     gmic
102     libavif
103     icu
104     jasper
105     libheif
106     libaom
107     portmidi
108     lua
109   ] ++ lib.optionals stdenv.isLinux [
110     colord
111     colord-gtk
112     libX11
113     ocl-icd
114   ] ++ lib.optional stdenv.isDarwin gtk-mac-integration
115   ++ lib.optional stdenv.cc.isClang llvmPackages.openmp;
117   cmakeFlags = [
118     "-DBUILD_USERMANUAL=False"
119   ] ++ lib.optionals stdenv.isDarwin [
120     "-DUSE_COLORD=OFF"
121     "-DUSE_KWALLET=OFF"
122   ];
124   # darktable changed its rpath handling in commit
125   # 83c70b876af6484506901e6b381304ae0d073d3c and as a result the
126   # binaries can't find libdarktable.so, so change LD_LIBRARY_PATH in
127   # the wrappers:
128   preFixup =
129     let
130       libPathEnvVar = if stdenv.isDarwin then "DYLD_LIBRARY_PATH" else "LD_LIBRARY_PATH";
131       libPathPrefix = "$out/lib/darktable" + lib.optionalString stdenv.isLinux ":${ocl-icd}/lib";
132     in
133     ''
134       for f in $out/share/darktable/kernels/*.cl; do
135         sed -r "s|#include \"(.*)\"|#include \"$out/share/darktable/kernels/\1\"|g" -i "$f"
136       done
138       gappsWrapperArgs+=(
139         --prefix ${libPathEnvVar} ":" "${libPathPrefix}"
140       )
141     '';
143   meta = with lib; {
144     description = "Virtual lighttable and darkroom for photographers";
145     homepage = "https://www.darktable.org";
146     license = licenses.gpl3Plus;
147     platforms = platforms.linux ++ platforms.darwin;
148     maintainers = with maintainers; [ goibhniu flosse mrVanDalo paperdigits freyacodes ];
149   };