vtk: darwin compatibility
This commit is contained in:
parent
4d8e445a14
commit
450dd55d95
@ -1,5 +1,8 @@
|
||||
{ stdenv, fetchurl, fetchpatch, cmake, mesa, libX11, xproto, libXt
|
||||
, qtLib ? null }:
|
||||
, qtLib ? null
|
||||
# Darwin support
|
||||
, Cocoa, CoreServices, DiskArbitration, IOKit, CFNetwork, Security, GLUT
|
||||
, ApplicationServices, CoreText, IOSurface, cf-private, ImageIO, xpc, libobjc }:
|
||||
|
||||
with stdenv.lib;
|
||||
|
||||
@ -17,8 +20,14 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "1hrjxkcvs3ap0bdhk90vymz5pgvxmg7q6sz8ab3wsyddbshr1abq";
|
||||
};
|
||||
|
||||
buildInputs = [ cmake mesa libX11 xproto libXt ]
|
||||
++ optional (qtLib != null) qtLib;
|
||||
buildInputs =
|
||||
if !stdenv.isDarwin
|
||||
then [ cmake mesa libX11 xproto libXt ] ++ optional (qtLib != null) qtLib
|
||||
else [ cmake qtLib xpc CoreServices DiskArbitration IOKit cf-private
|
||||
CFNetwork Security ApplicationServices CoreText IOSurface ImageIO
|
||||
GLUT ];
|
||||
propagatedBuildInputs = stdenv.lib.optionals stdenv.isDarwin [ Cocoa libobjc ];
|
||||
|
||||
|
||||
preBuild = ''
|
||||
export LD_LIBRARY_PATH="$(pwd)/lib";
|
||||
@ -30,7 +39,18 @@ stdenv.mkDerivation rec {
|
||||
# At least, we use -fPIC for other packages to be able to use this in shared
|
||||
# objects.
|
||||
cmakeFlags = [ "-DCMAKE_C_FLAGS=-fPIC" "-DCMAKE_CXX_FLAGS=-fPIC" ]
|
||||
++ optional (qtLib != null) [ "-DVTK_USE_QT:BOOL=ON" ];
|
||||
++ optional (qtLib != null) [ "-DVTK_USE_QT:BOOL=ON" ]
|
||||
++ optional stdenv.isDarwin [ "-DBUILD_TESTING:BOOL=OFF"
|
||||
"-DCMAKE_OSX_SYSROOT="
|
||||
"-DCMAKE_OSX_DEPLOYMENT_TARGET=" ];
|
||||
|
||||
doCheck = !stdenv.isDarwin;
|
||||
|
||||
postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
|
||||
sed -i 's|COMMAND vtkHashSource|COMMAND "DYLD_LIBRARY_PATH=''${VTK_BINARY_DIR}/lib" ''${VTK_BINARY_DIR}/bin/vtkHashSource-7.0|' ./Parallel/Core/CMakeLists.txt
|
||||
sed -i 's/fprintf(output, shift)/fprintf(output, "%s", shift)/' ./ThirdParty/libxml2/vtklibxml2/xmlschemas.c
|
||||
sed -i 's/fprintf(output, shift)/fprintf(output, "%s", shift)/g' ./ThirdParty/libxml2/vtklibxml2/xpath.c
|
||||
'';
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
@ -39,6 +59,6 @@ stdenv.mkDerivation rec {
|
||||
homepage = http://www.vtk.org/;
|
||||
license = stdenv.lib.licenses.bsd3;
|
||||
maintainers = with stdenv.lib.maintainers; [ viric bbenoist ];
|
||||
platforms = with stdenv.lib.platforms; linux;
|
||||
platforms = with stdenv.lib.platforms; unix;
|
||||
};
|
||||
}
|
||||
|
@ -9251,7 +9251,13 @@ in
|
||||
|
||||
vsqlite = callPackage ../development/libraries/vsqlite { };
|
||||
|
||||
vtk = callPackage ../development/libraries/vtk { };
|
||||
vtk = callPackage ../development/libraries/vtk {
|
||||
inherit (darwin) cf-private libobjc;
|
||||
inherit (darwin.apple_sdk.libs) xpc;
|
||||
inherit (darwin.apple_sdk.frameworks) Cocoa CoreServices DiskArbitration
|
||||
IOKit CFNetwork Security ApplicationServices
|
||||
CoreText IOSurface ImageIO GLUT;
|
||||
};
|
||||
|
||||
vtkWithQt4 = vtk.override { qtLib = qt4; };
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user