1{ lib, stdenv, fetchFromGitHub, cmake, libGLU, libGL, freeglut, libX11, xorgproto
2, libXi, pkg-config }:
3
4stdenv.mkDerivation rec {
5 pname = "box2d";
6 version = "2.3.1";
7
8 src = fetchFromGitHub {
9 owner = "erincatto";
10 repo = "box2d";
11 rev = "v${version}";
12 sha256 = "sha256-Z2J17YMzQNZqABIa5eyJDT7BWfXveymzs+DWsrklPIs=";
13 };
14
15 nativeBuildInputs = [ cmake pkg-config ];
16 buildInputs = [ libGLU libGL freeglut libX11 xorgproto libXi ];
17
18 cmakeFlags = [
19 "-DBOX2D_INSTALL=ON"
20 "-DBOX2D_BUILD_SHARED=ON"
21 "-DBOX2D_BUILD_EXAMPLES=OFF"
22 ];
23
24 prePatch = ''
25 cd Box2D
26 substituteInPlace Box2D/Common/b2Settings.h \
27 --replace 'b2_maxPolygonVertices 8' 'b2_maxPolygonVertices 15'
28 '';
29
30 meta = with lib; {
31 description = "2D physics engine";
32 homepage = "https://box2d.org/";
33 maintainers = [ maintainers.raskin ];
34 platforms = platforms.unix;
35 license = licenses.zlib;
36 };
37}