From a3786f99a200d8aef8c3ed899bd80c0f65510c66 Mon Sep 17 00:00:00 2001 From: Mica Semrick Date: Sat, 1 Jan 2022 13:31:44 -0800 Subject: [PATCH 1/2] darktable: 3.6.1 -> 3.8.0 --- .../graphics/darktable/default.nix | 30 ++++++++++++------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/pkgs/applications/graphics/darktable/default.nix b/pkgs/applications/graphics/darktable/default.nix index 50e26677377f..d16a87640f25 100644 --- a/pkgs/applications/graphics/darktable/default.nix +++ b/pkgs/applications/graphics/darktable/default.nix @@ -1,27 +1,29 @@ { lib, stdenv, fetchurl, libsoup, graphicsmagick, json-glib, wrapGAppsHook -, cairo, cmake, ninja, curl, perl, llvm, desktop-file-utils, exiv2, glib +, 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, osm-gps-map, pkg-config, sqlite, libxslt -, openjpeg, lua, pugixml, colord, colord-gtk, libwebp, libsecret, gnome +, 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 + 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 ] ++ lib.optional stdenv.isDarwin gtk-mac-integration @@ -34,6 +36,14 @@ 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 @@ -57,6 +67,6 @@ stdenv.mkDerivation rec { 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 ]; }; } From a97f7f700e265dd93bf5d251c41f92c08c9e6a75 Mon Sep 17 00:00:00 2001 From: Mica Semrick Date: Sat, 1 Jan 2022 13:32:28 -0800 Subject: [PATCH 2/2] darktable: run nixpkgs-fmt --- .../graphics/darktable/default.nix | 136 ++++++++++++++---- 1 file changed, 111 insertions(+), 25 deletions(-) diff --git a/pkgs/applications/graphics/darktable/default.nix b/pkgs/applications/graphics/darktable/default.nix index d16a87640f25..d62addea4fea 100644 --- a/pkgs/applications/graphics/darktable/default.nix +++ b/pkgs/applications/graphics/darktable/default.nix @@ -1,10 +1,59 @@ -{ 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, ... +{ 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 { @@ -19,15 +68,50 @@ stdenv.mkDerivation rec { 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_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 + 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" @@ -49,18 +133,20 @@ stdenv.mkDerivation rec { # 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 + 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}" - ) - ''; + gappsWrapperArgs+=( + --prefix ${libPathEnvVar} ":" "${libPathPrefix}" + ) + ''; meta = with lib; { description = "Virtual lighttable and darkroom for photographers";