nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{ stdenv, fetchFromGitHub, cmake, libGLU_combined, freeglut
2, Cocoa, OpenGL
3}:
4
5stdenv.mkDerivation rec {
6 name = "bullet-${version}";
7 version = "2.87";
8
9 src = fetchFromGitHub {
10 owner = "bulletphysics";
11 repo = "bullet3";
12 rev = version;
13 sha256 = "1msp7w3563vb43w70myjmqsdb97kna54dcfa7yvi9l3bvamb92w3";
14 };
15
16 nativeBuildInputs = [ cmake ];
17 buildInputs = stdenv.lib.optionals stdenv.isLinux [ libGLU_combined freeglut ]
18 ++ stdenv.lib.optionals stdenv.isDarwin [ Cocoa OpenGL ];
19
20 patches = [ ./gwen-narrowing.patch ];
21
22 postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
23 sed -i 's/FIND_PACKAGE(OpenGL)//' CMakeLists.txt
24 sed -i 's/FIND_LIBRARY(COCOA_LIBRARY Cocoa)//' CMakeLists.txt
25 '';
26
27 cmakeFlags = [
28 "-DBUILD_SHARED_LIBS=ON"
29 "-DBUILD_CPU_DEMOS=OFF"
30 "-DINSTALL_EXTRA_LIBS=ON"
31 ] ++ stdenv.lib.optionals stdenv.isDarwin [
32 "-DOPENGL_FOUND=true"
33 "-DOPENGL_LIBRARIES=${OpenGL}/Library/Frameworks/OpenGL.framework"
34 "-DOPENGL_INCLUDE_DIR=${OpenGL}/Library/Frameworks/OpenGL.framework"
35 "-DOPENGL_gl_LIBRARY=${OpenGL}/Library/Frameworks/OpenGL.framework"
36 "-DCOCOA_LIBRARY=${Cocoa}/Library/Frameworks/Cocoa.framework"
37 "-DBUILD_BULLET2_DEMOS=OFF"
38 "-DBUILD_UNIT_TESTS=OFF"
39 ];
40
41 enableParallelBuilding = true;
42
43 meta = with stdenv.lib; {
44 description = "A professional free 3D Game Multiphysics Library";
45 longDescription = ''
46 Bullet 3D Game Multiphysics Library provides state of the art collision
47 detection, soft body and rigid body dynamics.
48 '';
49 homepage = http://bulletphysics.org;
50 license = licenses.zlib;
51 maintainers = with maintainers; [ aforemny ];
52 platforms = platforms.unix;
53 };
54}