bullet: darwin compatibility

This commit is contained in:
Anthony Cowley 2016-11-02 19:35:33 -04:00
parent f7e2675ed5
commit 7b84331f22

View File

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, cmake, mesa, freeglut }: { stdenv, fetchFromGitHub, cmake, mesa, freeglut, darwin }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "bullet-${version}"; name = "bullet-${version}";
@ -11,9 +11,24 @@ stdenv.mkDerivation rec {
sha256 = "1zz3vs6i5975y9mgb1k1vxrjbf1028v0nc11p646dsvv2vplxx5r"; sha256 = "1zz3vs6i5975y9mgb1k1vxrjbf1028v0nc11p646dsvv2vplxx5r";
}; };
buildInputs = [ cmake mesa freeglut ]; buildInputs = [ cmake ] ++
(if stdenv.isDarwin
then with darwin.apple_sdk.frameworks; [ Cocoa OpenGL ]
else [mesa freeglut]);
cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" "-DBUILD_CPU_DEMOS=OFF" ]; postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
sed -i 's/FIND_PACKAGE(OpenGL)//' CMakeLists.txt
sed -i 's/FIND_LIBRARY(COCOA_LIBRARY Cocoa)//' CMakeLists.txt
'';
cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" "-DBUILD_CPU_DEMOS=OFF" ] ++
stdenv.lib.optionals stdenv.isDarwin [
"-DMACOSX_DEPLOYMENT_TARGET=\"10.9\""
"-DOPENGL_FOUND=true"
"-DOPENGL_LIBRARIES=${darwin.apple_sdk.frameworks.OpenGL}/Library/Frameworks/OpenGL.framework"
"-DOPENGL_INCLUDE_DIR=${darwin.apple_sdk.frameworks.OpenGL}/Library/Frameworks/OpenGL.framework"
"-DOPENGL_gl_LIBRARY=${darwin.apple_sdk.frameworks.OpenGL}/Library/Frameworks/OpenGL.framework"
"-DCOCOA_LIBRARY=${darwin.apple_sdk.frameworks.Cocoa}/Library/Frameworks/Cocoa.framework"];
enableParallelBuilding = true; enableParallelBuilding = true;
@ -21,11 +36,11 @@ stdenv.mkDerivation rec {
description = "A professional free 3D Game Multiphysics Library"; description = "A professional free 3D Game Multiphysics Library";
longDescription = '' longDescription = ''
Bullet 3D Game Multiphysics Library provides state of the art collision Bullet 3D Game Multiphysics Library provides state of the art collision
detection, soft body and rigid body dynamics. detection, soft body and rigid body dynamics.
''; '';
homepage = http://code.google.com/p/bullet/; homepage = http://code.google.com/p/bullet/;
license = stdenv.lib.licenses.zlib; license = stdenv.lib.licenses.zlib;
maintainers = with stdenv.lib.maintainers; [ aforemny ]; maintainers = with stdenv.lib.maintainers; [ aforemny ];
platforms = with stdenv.lib.platforms; linux; platforms = with stdenv.lib.platforms; unix;
}; };
} }