summary refs log tree commit diff
path: root/pkgs/development/libraries/liquidfun/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/libraries/liquidfun/default.nix')
-rw-r--r--pkgs/development/libraries/liquidfun/default.nix48
1 files changed, 48 insertions, 0 deletions
diff --git a/pkgs/development/libraries/liquidfun/default.nix b/pkgs/development/libraries/liquidfun/default.nix
new file mode 100644
index 00000000000..a4dc7b5e93d
--- /dev/null
+++ b/pkgs/development/libraries/liquidfun/default.nix
@@ -0,0 +1,48 @@
+{ stdenv, requireFile, cmake, mesa, libX11, libXi }:
+
+let 
+  sourceInfo = rec {
+    version="1.1.0";
+    name="liquidfun-${version}";
+    url="https://github.com/google/liquidfun/releases/download/v${version}/${name}";
+    hash="5011a000eacd6202a47317c489e44aa753a833fb562d970e7b8c0da9de01df86";
+  };
+in
+stdenv.mkDerivation rec {
+  src = requireFile {
+    url = sourceInfo.url;
+    sha256 = sourceInfo.hash;
+    name = sourceInfo.name + ".tar.gz";
+  };
+
+  inherit (sourceInfo) name version;
+  buildInputs = [ cmake mesa libX11 libXi ];
+
+  sourceRoot = "liquidfun/Box2D/";
+
+  preConfigurePhases = "preConfigure";
+
+  preConfigure = ''
+    sed -i Box2D/Common/b2Settings.h -e 's@b2_maxPolygonVertices .*@b2_maxPolygonVertices 15@'
+    substituteInPlace Box2D/CMakeLists.txt --replace "Common/b2GrowableStack.h" "Common/b2GrowableStack.h Common/b2GrowableBuffer.h"
+  '';
+      
+  configurePhase = ''
+    mkdir Build
+    cd Build; 
+    cmake -DBOX2D_INSTALL=ON -DBOX2D_BUILD_SHARED=ON -DCMAKE_INSTALL_PREFIX=$out ..
+  '';
+
+  meta = {
+    description = "2D physics engine based on Box2D";
+    maintainers = with stdenv.lib.maintainers;
+    [
+      qknight
+    ];
+    platforms = stdenv.lib.platforms.linux;
+    hydraPlatforms = [];
+    license = stdenv.lib.licenses.bsd2;
+    homepage = https://google.github.io/liquidfun/;
+  };
+}
+