nixpkgs/pkgs/development/libraries/liquidfun/default.nix
2021-01-21 19:11:02 -08:00

49 lines
1.3 KiB
Nix

{ lib, stdenv, requireFile, cmake, libGLU, libGL, 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 {
src = requireFile {
url = sourceInfo.url;
sha256 = sourceInfo.hash;
name = sourceInfo.name + ".tar.gz";
};
inherit (sourceInfo) name version;
nativeBuildInputs = [ cmake ];
buildInputs = [ libGLU libGL 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 lib.maintainers;
[
qknight
];
platforms = lib.platforms.linux;
hydraPlatforms = [];
license = lib.licenses.bsd2;
homepage = "https://google.github.io/liquidfun/";
};
}