diff options
author | Michael Hoang <enzime@users.noreply.github.com> | 2018-08-01 19:05:22 +1000 |
---|---|---|
committer | Michael Hoang <enzime@users.noreply.github.com> | 2018-08-14 13:59:44 +1000 |
commit | 61cbf57300c91d9895c79e3d758ba75dbfb4e020 (patch) | |
tree | 038bcfab88ca38c71c32ad185f939e610db874f7 /pkgs/applications/graphics/darktable/default.nix | |
parent | 0ee70940b148d02300e6d8572620c2dd199fa413 (diff) |
darktable: Fix compilation on macOS
Only compile X11 and other components on Linux. Use DYLD_LIBRARY_PATH on macOS instead of LD_LIBRARY_PATH.
Diffstat (limited to 'pkgs/applications/graphics/darktable/default.nix')
-rw-r--r-- | pkgs/applications/graphics/darktable/default.nix | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/pkgs/applications/graphics/darktable/default.nix b/pkgs/applications/graphics/darktable/default.nix index ac44a1e875c05..51a401d4b8c86 100644 --- a/pkgs/applications/graphics/darktable/default.nix +++ b/pkgs/applications/graphics/darktable/default.nix @@ -3,7 +3,7 @@ , ilmbase, gtk3, intltool, lcms2, lensfun, libX11, libexif, libgphoto2, libjpeg , libpng, librsvg, libtiff, openexr, osm-gps-map, pkgconfig, sqlite, libxslt , openjpeg, lua, pugixml, colord, colord-gtk, libwebp, libsecret, gnome3 -, ocl-icd +, ocl-icd, pcre, gtk-mac-integration }: stdenv.mkDerivation rec { @@ -18,24 +18,32 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ninja llvm pkgconfig intltool perl desktop-file-utils wrapGAppsHook ]; buildInputs = [ - cairo curl exiv2 glib gtk3 ilmbase lcms2 lensfun libX11 libexif + cairo curl exiv2 glib gtk3 ilmbase lcms2 lensfun libexif libgphoto2 libjpeg libpng librsvg libtiff openexr sqlite libxslt libsoup graphicsmagick json-glib openjpeg lua pugixml - colord colord-gtk libwebp libsecret gnome3.adwaita-icon-theme - osm-gps-map ocl-icd - ]; - + libwebp libsecret gnome3.adwaita-icon-theme osm-gps-map pcre + ] ++ stdenv.lib.optionals stdenv.isLinux [ + colord colord-gtk libX11 ocl-icd + ] ++ stdenv.lib.optional stdenv.isDarwin gtk-mac-integration; + cmakeFlags = [ "-DBUILD_USERMANUAL=False" + ] ++ stdenv.lib.optionals stdenv.isDarwin [ + "-DUSE_COLORD=OFF" + "-DUSE_KWALLET=OFF" ]; + # 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 = '' + preFixup = let + libPathEnvVar = if stdenv.isDarwin then "DYLD_LIBRARY_PATH" else "LD_LIBRARY_PATH"; + libPathPrefix = "$out/lib/darktable" + stdenv.lib.optionalString stdenv.isLinux ":${ocl-icd}/lib"; + in '' gappsWrapperArgs+=( - --prefix LD_LIBRARY_PATH ":" "$out/lib/darktable:${ocl-icd}/lib" + --prefix ${libPathEnvVar} ":" "${libPathPrefix}" ) ''; @@ -43,7 +51,7 @@ stdenv.mkDerivation rec { description = "Virtual lighttable and darkroom for photographers"; homepage = https://www.darktable.org; license = licenses.gpl3Plus; - platforms = platforms.linux; + platforms = platforms.linux ++ platforms.darwin; maintainers = with maintainers; [ goibhniu rickynils flosse mrVanDalo ]; }; } |