From ad565e992562d43cb9e6f843459a2ac1c35790f5 Mon Sep 17 00:00:00 2001 From: Michael Hoang Date: Wed, 1 Aug 2018 19:04:22 +1000 Subject: [PATCH 1/3] lensfun: Add macOS as a supported platform --- pkgs/development/libraries/lensfun/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/lensfun/default.nix b/pkgs/development/libraries/lensfun/default.nix index e9ba4ae5ac2..1c9c66f8936 100644 --- a/pkgs/development/libraries/lensfun/default.nix +++ b/pkgs/development/libraries/lensfun/default.nix @@ -15,8 +15,8 @@ stdenv.mkDerivation rec { configureFlags = "-v"; meta = with stdenv.lib; { - platforms = platforms.linux; - maintainers = [ ]; + platforms = platforms.linux ++ platforms.darwin; + maintainers = with maintainers; [ enzime ]; license = stdenv.lib.licenses.lgpl3; description = "An opensource database of photographic lenses and their characteristics"; homepage = http://lensfun.sourceforge.net/; From 0ee70940b148d02300e6d8572620c2dd199fa413 Mon Sep 17 00:00:00 2001 From: Michael Hoang Date: Wed, 1 Aug 2018 19:04:45 +1000 Subject: [PATCH 2/3] osm-gps-map: Add macOS as a supported platform --- pkgs/development/libraries/osm-gps-map/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/osm-gps-map/default.nix b/pkgs/development/libraries/osm-gps-map/default.nix index febba5d5703..b7033ea4ddf 100644 --- a/pkgs/development/libraries/osm-gps-map/default.nix +++ b/pkgs/development/libraries/osm-gps-map/default.nix @@ -24,6 +24,6 @@ stdenv.mkDerivation rec { homepage = https://nzjrs.github.io/osm-gps-map; license = licenses.gpl2Plus; maintainers = with maintainers; [ hrdinka ]; - platforms = platforms.linux; + platforms = platforms.linux ++ platforms.darwin; }; } From 61cbf57300c91d9895c79e3d758ba75dbfb4e020 Mon Sep 17 00:00:00 2001 From: Michael Hoang Date: Wed, 1 Aug 2018 19:05:22 +1000 Subject: [PATCH 3/3] darktable: Fix compilation on macOS Only compile X11 and other components on Linux. Use DYLD_LIBRARY_PATH on macOS instead of LD_LIBRARY_PATH. --- .../graphics/darktable/default.nix | 26 ++++++++++++------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/pkgs/applications/graphics/darktable/default.nix b/pkgs/applications/graphics/darktable/default.nix index ac44a1e875c..51a401d4b8c 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 ]; }; }