Adding Box2D version 2.0.1
svn path=/nixpkgs/trunk/; revision=25174
This commit is contained in:
parent
aa744f88a1
commit
871112b8db
78
pkgs/development/libraries/box2d/2.0.1.nix
Normal file
78
pkgs/development/libraries/box2d/2.0.1.nix
Normal file
@ -0,0 +1,78 @@
|
||||
x@{builderDefsPackage
|
||||
, unzip, cmake, mesa, freeglut, libX11, xproto
|
||||
, inputproto, libXi
|
||||
, ...}:
|
||||
builderDefsPackage
|
||||
(a :
|
||||
let
|
||||
helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
|
||||
[];
|
||||
|
||||
buildInputs = map (n: builtins.getAttr n x)
|
||||
(builtins.attrNames (builtins.removeAttrs x helperArgNames));
|
||||
sourceInfo = rec {
|
||||
baseName="box2d";
|
||||
version="2.0.1";
|
||||
name="${baseName}-${version}";
|
||||
url="http://box2d.googlecode.com/files/Box2D_v${version}.zip";
|
||||
hash="62857048aa089b558561074154430883cee491eedd71247f75f488cba859e21f";
|
||||
};
|
||||
in
|
||||
rec {
|
||||
src = a.fetchurl {
|
||||
url = sourceInfo.url;
|
||||
sha256 = sourceInfo.hash;
|
||||
};
|
||||
|
||||
inherit (sourceInfo) name version;
|
||||
inherit buildInputs;
|
||||
|
||||
phaseNames = ["fixIncludes" "setVars" "doMake" "doDeploy"];
|
||||
|
||||
goSrcDir = ''cd Box2D'';
|
||||
|
||||
fixIncludes = a.fullDepEntry ''
|
||||
sed -i Source/Dynamics/Contacts/b2PolyContact.cpp \
|
||||
-i Source/Dynamics/Contacts/b2CircleContact.cpp \
|
||||
-i Source/Dynamics/Contacts/b2PolyAndCircleContact.cpp \
|
||||
-i Source/Common/b2BlockAllocator.cpp \
|
||||
-i Source/Collision/b2BroadPhase.cpp \
|
||||
-i Examples/TestBed/Framework/Render.cpp \
|
||||
-i Examples/TestBed/Tests/BroadPhaseTest.cpp \
|
||||
-i Examples/TestBed/Tests/TestEntries.cpp \
|
||||
-e '1i#include <string.h>'
|
||||
'' ["minInit" "addInputs" "doUnpack"];
|
||||
|
||||
setVars = a.noDepEntry ''
|
||||
export NIX_LDFLAGS="$NIX_LDFLAGS -lX11 -lXi"
|
||||
'';
|
||||
|
||||
doDeploy = a.fullDepEntry ''
|
||||
ensureDir "$out"/lib
|
||||
ensureDir "$out"/include/Box2D
|
||||
cp Library/* Source/Gen/float/lib*.{a,so} "$out"/lib
|
||||
cp -r Source "$out"/include/Box2D/Source
|
||||
find "$out"/include/Box2D/Source ! -name '*.h' -exec rm '{}' ';'
|
||||
sed -e s@../Source@Box2D/Source@ -i Include/Box2D.h
|
||||
cp Include/Box2D.h "$out"/include/Box2D
|
||||
ensureDir "$out/share"
|
||||
cp -r Examples "$out/share"
|
||||
'' ["minInit" "addInputs" "doMake" "defEnsureDir"];
|
||||
|
||||
meta = {
|
||||
description = "2D physics engine";
|
||||
maintainers = with a.lib.maintainers;
|
||||
[
|
||||
raskin
|
||||
];
|
||||
platforms = with a.lib.platforms;
|
||||
linux;
|
||||
license = "bsd";
|
||||
};
|
||||
passthru = {
|
||||
updateInfo = {
|
||||
downloadPage = "http://code.google.com/p/box2d/downloads/list";
|
||||
};
|
||||
};
|
||||
}) x
|
||||
|
@ -2702,6 +2702,7 @@ let
|
||||
botan = callPackage ../development/libraries/botan { };
|
||||
|
||||
box2d = callPackage ../development/libraries/box2d { };
|
||||
box2d = callPackage ../development/libraries/box2d/2.0.1.nix { };
|
||||
|
||||
buddy = callPackage ../development/libraries/buddy { };
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user