From f0c503593fd9d968407a94e26f9ef24279bf8012 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Batlle=20i=20Rossell?= Date: Sun, 8 May 2016 16:21:46 +0200 Subject: [PATCH] Fixing stunt-rally 2.6 (adding newer bullet) --- .../libraries/bullet/bullet283.nix | 28 +++++++++++++++ pkgs/games/stuntrally/default.nix | 34 ++++++++++--------- pkgs/top-level/all-packages.nix | 8 ++++- 3 files changed, 53 insertions(+), 17 deletions(-) create mode 100644 pkgs/development/libraries/bullet/bullet283.nix diff --git a/pkgs/development/libraries/bullet/bullet283.nix b/pkgs/development/libraries/bullet/bullet283.nix new file mode 100644 index 000000000000..ea792b98a328 --- /dev/null +++ b/pkgs/development/libraries/bullet/bullet283.nix @@ -0,0 +1,28 @@ +{ stdenv, fetchurl, cmake, mesa, freeglut }: + +stdenv.mkDerivation rec { + name = "bullet-2.83.7"; # vdrift 2012-07-22 doesn't build with 2.81 + src = fetchurl { + url = "https://github.com/bulletphysics/bullet3/archive/2.83.7.tar.gz"; + sha256 = "0hqjnmlb2p29yiasrm7kvgv0nklz5zkwhfk4f78zz1gf0vrdil80"; + }; + + buildInputs = [ cmake mesa freeglut ]; + configurePhase = '' + cmake -DBUILD_SHARED_LIBS=ON -DINSTALL_EXTRA_LIBS=TRUE \ + -DCMAKE_INSTALL_PREFIX=$out . + ''; + + enableParallelBuilding = true; + + meta = { + description = "A professional free 3D Game Multiphysics Library"; + longDescription = '' + Bullet 3D Game Multiphysics Library provides state of the art collision + detection, soft body and rigid body dynamics. + ''; + homepage = https://github.com/bulletphysics/bullet3; + license = stdenv.lib.licenses.zlib; + maintainers = with stdenv.lib.maintainers; [ aforemny ]; + }; +} diff --git a/pkgs/games/stuntrally/default.nix b/pkgs/games/stuntrally/default.nix index 436ac958f344..24e54c7b13a2 100644 --- a/pkgs/games/stuntrally/default.nix +++ b/pkgs/games/stuntrally/default.nix @@ -1,40 +1,42 @@ -{ fetchgit, stdenv, cmake, boost, ogre, mygui, ois, SDL2, libvorbis, pkgconfig -, makeWrapper, enet, libXcursor }: +{ fetchurl, stdenv, cmake, boost, ogre, mygui, ois, SDL2, libvorbis, pkgconfig +, makeWrapper, enet, libXcursor, bullet, openal }: stdenv.mkDerivation rec { name = "stunt-rally-${version}"; version = "2.6"; - src = fetchgit { - url = git://github.com/stuntrally/stuntrally.git; - rev = "refs/tags/${version}"; - sha256 = "0rrfmldl6m7igni1n4rv2i0s2q5j1ik8dh05ydkaqrpcky96bdr8"; + src = fetchurl { + url = "https://github.com/stuntrally/stuntrally/archive/${version}.tar.gz"; + sha256 = "1jmsxd2isq9q5paz43c3xw11vr5md1ym8h34b768vxr6gp90khwc"; }; - tracks = fetchgit { - url = git://github.com/stuntrally/tracks.git; - rev = "refs/tags/${version}"; - sha256 = "186qqyr1nrabfzsgy7b4sjgm38mgd875f4c7qwkm8k2bl7zjkrm2"; + tracks = fetchurl { + url = "https://github.com/stuntrally/tracks/archive/${version}.tar.gz"; + sha256 = "0yv88l9s03kp1xkkwnigh0jj593vi3r7vgyg0jn7i8d22q2p1kjb"; }; + # include/OGRE/OgreException.h:265:126: error: invalid conversion from + # 'int' to 'Ogre::Exception::ExceptionCodes' [-fpermissive] + NIX_CFLAGS_COMPILE="-fpermissive"; + preConfigure = '' - cp -R ${tracks} data/tracks - chmod u+rwX -R data + pushd data + tar xf ${tracks} + mv tracks-2.6 tracks + popd ''; buildInputs = [ cmake boost ogre mygui ois SDL2 libvorbis pkgconfig - makeWrapper enet libXcursor + makeWrapper enet libXcursor bullet openal ]; enableParallelBuilding = true; meta = with stdenv.lib; { description = "Stunt Rally game with Track Editor, based on VDrift and OGRE"; - homepage = http://code.google.com/p/vdrift-ogre/; + homepage = http://stuntrally.tuxfamily.org/; license = licenses.gpl3Plus; maintainers = with maintainers; [ pSub ]; platforms = platforms.linux; - # Build failure - broken = true; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 479c5f941daa..9652a97673f3 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -15199,7 +15199,12 @@ in stepmania = callPackage ../games/stepmania { }; - stuntrally = callPackage ../games/stuntrally { }; + stuntrally = callPackage ../games/stuntrally { + bullet = bullet283; + mygui = mygui.override { + withOgre = true; + }; + }; superTux = callPackage ../games/super-tux { }; @@ -16787,6 +16792,7 @@ in misc = callPackage ../misc/misc.nix { }; bullet = callPackage ../development/libraries/bullet {}; + bullet283 = callPackage ../development/libraries/bullet/bullet283.nix {}; spdlog = callPackage ../development/libraries/spdlog { };