lol

box2d: use stdenv

This replaces use of `builderDefsPackage`. Also change to download
tarball from GitHub as it is the new upstream home.

+24 -42
+24 -42
pkgs/development/libraries/box2d/default.nix
··· 1 - x@{builderDefsPackage 2 - , unzip, cmake, mesa, freeglut, libX11, xproto 3 - , inputproto, libXi, fetchsvn, pkgconfig 4 - , ...}: 5 - builderDefsPackage 6 - (a : 7 - let 8 - helperArgNames = ["stdenv" "fetchsvn" "builderDefsPackage"] ++ 9 - []; 1 + { stdenv, fetchurl, unzip, cmake, mesa, freeglut, libX11, xproto, inputproto 2 + , libXi, pkgconfig }: 10 3 11 - buildInputs = map (n: builtins.getAttr n x) 12 - (builtins.attrNames (builtins.removeAttrs x helperArgNames)); 13 - in 14 - rec { 4 + stdenv.mkDerivation rec { 5 + name = "box2d-${version}"; 15 6 version = "2.3.0"; 16 - name = "box2d-${version}"; 17 - srcDrv = a.fetchsvn { 18 - url = "http://box2d.googlecode.com/svn/trunk"; 19 - rev = "277"; 20 - sha256 = "1xp93yw2zcqhmh999v7cwqaqxq1glgyg5r8kfm4yabc1ypba3in4"; 7 + 8 + src = fetchurl { 9 + url = "https://github.com/erincatto/Box2D/archive/v${version}.tar.gz"; 10 + sha256 = "1dmbswh4x2n5l3c9h0k72m0z4rdpzfy1xl8m8p3rf5rwkvk3bkg2"; 21 11 }; 22 - src = srcDrv + "/"; 23 12 24 - inherit buildInputs; 13 + sourceRoot = "Box2D-${version}/Box2D"; 25 14 26 - phaseNames = ["changeSettings" "doCmake" "doMakeInstall"]; 15 + buildInputs = [ 16 + unzip cmake mesa freeglut libX11 xproto inputproto libXi pkgconfig 17 + ]; 27 18 28 - changeSettings = a.fullDepEntry '' 29 - sed -i Box2D/Common/b2Settings.h -e 's@b2_maxPolygonVertices .*@b2_maxPolygonVertices 15@' 30 - '' ["minInit" "addInputs" "doUnpack"]; 31 - 32 - goSrcDir = ''cd Box2D''; 19 + cmakeFlags = [ "-DBOX2D_INSTALL=ON" "-DBOX2D_BUILD_SHARED=ON" ]; 20 + 21 + prePatch = '' 22 + substituteInPlace Box2D/Common/b2Settings.h \ 23 + --replace 'b2_maxPolygonVertices 8' 'b2_maxPolygonVertices 15' 24 + ''; 33 25 34 - doCmake = a.fullDepEntry '' 35 - cd Build; 36 - cmake -DBOX2D_INSTALL=ON -DBOX2D_BUILD_SHARED=ON -DCMAKE_INSTALL_PREFIX=$out .. 37 - '' ["minInit" "addInputs" "doUnpack"]; 38 - 39 - meta = { 26 + meta = with stdenv.lib; { 40 27 description = "2D physics engine"; 41 - maintainers = with a.lib.maintainers; 42 - [ 43 - raskin 44 - ]; 45 - platforms = with a.lib.platforms; 46 - linux; 47 - license = "bsd"; 48 - inherit version; 28 + homepage = http://box2d.org/; 29 + maintainers = [ maintainers.raskin ]; 30 + platforms = platforms.linux; 31 + license = licenses.zlib; 49 32 }; 50 - }) x 51 - 33 + }