about summary refs log tree commit diff
path: root/pkgs/applications/graphics
diff options
context:
space:
mode:
authorPatrick Hilhorst <git@hilhorst.be>2022-01-02 13:07:53 +0100
committerGitHub <noreply@github.com>2022-01-02 13:07:53 +0100
commit51b29225e941e073df943042b4ba77081a37fbcc (patch)
treeec2700069a0378cf393d6e86715515a3284de96e /pkgs/applications/graphics
parent128812757bdd3d06a4d8d9d87d26d656def5d644 (diff)
parenta97f7f700e265dd93bf5d251c41f92c08c9e6a75 (diff)
Merge pull request #153105 from paperdigits/darktable-38
Diffstat (limited to 'pkgs/applications/graphics')
-rw-r--r--pkgs/applications/graphics/darktable/default.nix152
1 files changed, 124 insertions, 28 deletions
diff --git a/pkgs/applications/graphics/darktable/default.nix b/pkgs/applications/graphics/darktable/default.nix
index 50e26677377f6..d62addea4feac 100644
--- a/pkgs/applications/graphics/darktable/default.nix
+++ b/pkgs/applications/graphics/darktable/default.nix
@@ -1,31 +1,117 @@
-{ lib, stdenv, fetchurl, libsoup, graphicsmagick, json-glib, wrapGAppsHook
-, cairo, cmake, ninja, curl, perl, llvm, desktop-file-utils, exiv2, glib
-, ilmbase, gtk3, intltool, lcms2, lensfun, libX11, libexif, libgphoto2, libjpeg
-, libpng, librsvg, libtiff, openexr, osm-gps-map, pkg-config, sqlite, libxslt
-, openjpeg, lua, pugixml, colord, colord-gtk, libwebp, libsecret, gnome
-, ocl-icd, pcre, gtk-mac-integration, isocodes, llvmPackages, gmic, libavif, icu
+{ lib
+, stdenv
+, fetchurl
+, libsoup
+, graphicsmagick
+, json-glib
+, wrapGAppsHook
+, cairo
+, cmake
+, ninja
+, curl
+, perl
+, llvm_13
+, desktop-file-utils
+, exiv2
+, glib
+, ilmbase
+, gtk3
+, intltool
+, lcms2
+, lensfun
+, libX11
+, libexif
+, libgphoto2
+, libjpeg
+, libpng
+, librsvg
+, libtiff
+, openexr_3
+, osm-gps-map
+, pkg-config
+, sqlite
+, libxslt
+, openjpeg
+, pugixml
+, colord
+, colord-gtk
+, libwebp
+, libsecret
+, gnome
+, SDL2
+, ocl-icd
+, pcre
+, gtk-mac-integration
+, isocodes
+, llvmPackages
+, gmic
+, libavif
+, icu
+, jasper
+, libheif
+, libaom
+, portmidi
+, fetchpatch
+, lua5_4
+, ...
 }:
 
 stdenv.mkDerivation rec {
-  version = "3.6.1";
+  version = "3.8.0";
   pname = "darktable";
 
   src = fetchurl {
     url = "https://github.com/darktable-org/darktable/releases/download/release-${version}/darktable-${version}.tar.xz";
-    sha256 = "sha256-or/HwQO4JJRUV6m/7Z5S8Af6HQMPnbyz/wMnhRvkLRQ=";
+    sha256 = "01gp9dg5wr2rg1k8cqs0l3s7ism8a4q8qypgwccd4jh7ip3wfr9f";
   };
 
-  nativeBuildInputs = [ cmake ninja llvm pkg-config intltool perl desktop-file-utils wrapGAppsHook ];
+  nativeBuildInputs = [ cmake ninja llvm_13 pkg-config intltool perl desktop-file-utils wrapGAppsHook ];
 
   buildInputs = [
-    cairo curl exiv2 glib gtk3 ilmbase lcms2 lensfun libexif
-    libgphoto2 libjpeg libpng librsvg libtiff openexr sqlite libxslt
-    libsoup graphicsmagick json-glib openjpeg lua pugixml
-    libwebp libsecret gnome.adwaita-icon-theme osm-gps-map pcre isocodes gmic libavif icu
+    cairo
+    curl
+    exiv2
+    glib
+    gtk3
+    ilmbase
+    lcms2
+    lensfun
+    libexif
+    libgphoto2
+    libjpeg
+    libpng
+    librsvg
+    libtiff
+    openexr_3
+    sqlite
+    libxslt
+    libsoup
+    graphicsmagick
+    json-glib
+    openjpeg
+    pugixml
+    libwebp
+    libsecret
+    SDL2
+    gnome.adwaita-icon-theme
+    osm-gps-map
+    pcre
+    isocodes
+    gmic
+    libavif
+    icu
+    jasper
+    libheif
+    libaom
+    portmidi
+    lua5_4
   ] ++ lib.optionals stdenv.isLinux [
-    colord colord-gtk libX11 ocl-icd
+    colord
+    colord-gtk
+    libX11
+    ocl-icd
   ] ++ lib.optional stdenv.isDarwin gtk-mac-integration
-    ++ lib.optional stdenv.cc.isClang llvmPackages.openmp;
+  ++ lib.optional stdenv.cc.isClang llvmPackages.openmp;
 
   cmakeFlags = [
     "-DBUILD_USERMANUAL=False"
@@ -34,29 +120,39 @@ stdenv.mkDerivation rec {
     "-DUSE_KWALLET=OFF"
   ];
 
+  patches = [
+    (fetchpatch {
+      # This is merged in darktable master and will hopefully be in 3.8.1
+      name = "cmake-fix.patch";
+      url = "https://github.com/darktable-org/darktable/commit/58d247f7ebea76c55fa2525beb9f5ce092c6670d.patch";
+      sha256 = "11fn6d2mwlapbf1zbyv6bhgv29kxcwrs7cnbway0rnl9nj8wimf2";
+    })
+  ];
 
   # darktable changed its rpath handling in commit
   # 83c70b876af6484506901e6b381304ae0d073d3c and as a result the
   # binaries can't find libdarktable.so, so change LD_LIBRARY_PATH in
   # the wrappers:
-  preFixup = let
-    libPathEnvVar = if stdenv.isDarwin then "DYLD_LIBRARY_PATH" else "LD_LIBRARY_PATH";
-    libPathPrefix = "$out/lib/darktable" + lib.optionalString stdenv.isLinux ":${ocl-icd}/lib";
-  in ''
-    for f in $out/share/darktable/kernels/*.cl; do
-      sed -r "s|#include \"(.*)\"|#include \"$out/share/darktable/kernels/\1\"|g" -i "$f"
-    done
-
-    gappsWrapperArgs+=(
-      --prefix ${libPathEnvVar} ":" "${libPathPrefix}"
-    )
-  '';
+  preFixup =
+    let
+      libPathEnvVar = if stdenv.isDarwin then "DYLD_LIBRARY_PATH" else "LD_LIBRARY_PATH";
+      libPathPrefix = "$out/lib/darktable" + lib.optionalString stdenv.isLinux ":${ocl-icd}/lib";
+    in
+    ''
+      for f in $out/share/darktable/kernels/*.cl; do
+        sed -r "s|#include \"(.*)\"|#include \"$out/share/darktable/kernels/\1\"|g" -i "$f"
+      done
+
+      gappsWrapperArgs+=(
+        --prefix ${libPathEnvVar} ":" "${libPathPrefix}"
+      )
+    '';
 
   meta = with lib; {
     description = "Virtual lighttable and darkroom for photographers";
     homepage = "https://www.darktable.org";
     license = licenses.gpl3Plus;
     platforms = platforms.linux ++ platforms.darwin;
-    maintainers = with maintainers; [ goibhniu flosse mrVanDalo ];
+    maintainers = with maintainers; [ goibhniu flosse mrVanDalo paperdigits ];
   };
 }