Merge pull request #44922 from Enzime/fix/darktable-on-macos

darktable: Fix compilation on macOS
This commit is contained in:
Jörg Thalheim 2018-08-15 20:24:20 +02:00 committed by GitHub
commit 0a17d08a97
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 20 additions and 12 deletions

View File

@ -3,7 +3,7 @@
, ilmbase, gtk3, intltool, lcms2, lensfun, libX11, libexif, libgphoto2, libjpeg , ilmbase, gtk3, intltool, lcms2, lensfun, libX11, libexif, libgphoto2, libjpeg
, libpng, librsvg, libtiff, openexr, osm-gps-map, pkgconfig, sqlite, libxslt , libpng, librsvg, libtiff, openexr, osm-gps-map, pkgconfig, sqlite, libxslt
, openjpeg, lua, pugixml, colord, colord-gtk, libwebp, libsecret, gnome3 , openjpeg, lua, pugixml, colord, colord-gtk, libwebp, libsecret, gnome3
, ocl-icd , ocl-icd, pcre, gtk-mac-integration
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -18,24 +18,32 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ cmake ninja llvm pkgconfig intltool perl desktop-file-utils wrapGAppsHook ]; nativeBuildInputs = [ cmake ninja llvm pkgconfig intltool perl desktop-file-utils wrapGAppsHook ];
buildInputs = [ 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 libgphoto2 libjpeg libpng librsvg libtiff openexr sqlite libxslt
libsoup graphicsmagick json-glib openjpeg lua pugixml libsoup graphicsmagick json-glib openjpeg lua pugixml
colord colord-gtk libwebp libsecret gnome3.adwaita-icon-theme libwebp libsecret gnome3.adwaita-icon-theme osm-gps-map pcre
osm-gps-map ocl-icd ] ++ stdenv.lib.optionals stdenv.isLinux [
]; colord colord-gtk libX11 ocl-icd
] ++ stdenv.lib.optional stdenv.isDarwin gtk-mac-integration;
cmakeFlags = [ cmakeFlags = [
"-DBUILD_USERMANUAL=False" "-DBUILD_USERMANUAL=False"
] ++ stdenv.lib.optionals stdenv.isDarwin [
"-DUSE_COLORD=OFF"
"-DUSE_KWALLET=OFF"
]; ];
# darktable changed its rpath handling in commit # darktable changed its rpath handling in commit
# 83c70b876af6484506901e6b381304ae0d073d3c and as a result the # 83c70b876af6484506901e6b381304ae0d073d3c and as a result the
# binaries can't find libdarktable.so, so change LD_LIBRARY_PATH in # binaries can't find libdarktable.so, so change LD_LIBRARY_PATH in
# the wrappers: # 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+=( 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"; description = "Virtual lighttable and darkroom for photographers";
homepage = https://www.darktable.org; homepage = https://www.darktable.org;
license = licenses.gpl3Plus; license = licenses.gpl3Plus;
platforms = platforms.linux; platforms = platforms.linux ++ platforms.darwin;
maintainers = with maintainers; [ goibhniu rickynils flosse mrVanDalo ]; maintainers = with maintainers; [ goibhniu rickynils flosse mrVanDalo ];
}; };
} }

View File

@ -15,8 +15,8 @@ stdenv.mkDerivation rec {
configureFlags = "-v"; configureFlags = "-v";
meta = with stdenv.lib; { meta = with stdenv.lib; {
platforms = platforms.linux; platforms = platforms.linux ++ platforms.darwin;
maintainers = [ ]; maintainers = with maintainers; [ enzime ];
license = stdenv.lib.licenses.lgpl3; license = stdenv.lib.licenses.lgpl3;
description = "An opensource database of photographic lenses and their characteristics"; description = "An opensource database of photographic lenses and their characteristics";
homepage = http://lensfun.sourceforge.net/; homepage = http://lensfun.sourceforge.net/;

View File

@ -24,6 +24,6 @@ stdenv.mkDerivation rec {
homepage = https://nzjrs.github.io/osm-gps-map; homepage = https://nzjrs.github.io/osm-gps-map;
license = licenses.gpl2Plus; license = licenses.gpl2Plus;
maintainers = with maintainers; [ hrdinka ]; maintainers = with maintainers; [ hrdinka ];
platforms = platforms.linux; platforms = platforms.linux ++ platforms.darwin;
}; };
} }