about summary refs log tree commit diff
path: root/nixpkgs/pkgs/games/stuntrally
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2019-01-07 02:18:36 +0000
committerAlyssa Ross <hi@alyssa.is>2019-01-07 02:18:47 +0000
commit36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2 (patch)
treeb3faaf573407b32aa645237a4d16b82778a39a92 /nixpkgs/pkgs/games/stuntrally
parent4e31070265257dc67d120c27e0f75c2344fdfa9a (diff)
parentabf060725d7614bd3b9f96764262dfbc2f9c2199 (diff)
downloadnixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar
nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.gz
nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.bz2
nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.lz
nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.xz
nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.zst
nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.zip
Add 'nixpkgs/' from commit 'abf060725d7614bd3b9f96764262dfbc2f9c2199'
git-subtree-dir: nixpkgs
git-subtree-mainline: 4e31070265257dc67d120c27e0f75c2344fdfa9a
git-subtree-split: abf060725d7614bd3b9f96764262dfbc2f9c2199
Diffstat (limited to 'nixpkgs/pkgs/games/stuntrally')
-rw-r--r--nixpkgs/pkgs/games/stuntrally/default.nix47
-rw-r--r--nixpkgs/pkgs/games/stuntrally/gcc6.patch67
2 files changed, 114 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/games/stuntrally/default.nix b/nixpkgs/pkgs/games/stuntrally/default.nix
new file mode 100644
index 000000000000..c147bfb77ad7
--- /dev/null
+++ b/nixpkgs/pkgs/games/stuntrally/default.nix
@@ -0,0 +1,47 @@
+{ 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 = fetchurl {
+    url = "https://github.com/stuntrally/stuntrally/archive/${version}.tar.gz";
+    sha256 = "1jmsxd2isq9q5paz43c3xw11vr5md1ym8h34b768vxr6gp90khwc";
+  };
+
+  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 = ''
+    pushd data
+    tar xf ${tracks}
+    mv tracks-2.6 tracks
+    popd
+  '';
+
+  patches = [
+    ./gcc6.patch
+  ];
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ cmake boost ogre mygui ois SDL2 libvorbis 
+    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://stuntrally.tuxfamily.org/;
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ pSub ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/games/stuntrally/gcc6.patch b/nixpkgs/pkgs/games/stuntrally/gcc6.patch
new file mode 100644
index 000000000000..6632ea4e8856
--- /dev/null
+++ b/nixpkgs/pkgs/games/stuntrally/gcc6.patch
@@ -0,0 +1,67 @@
+diff --git i/source/ogre/CarModel_Create.cpp w/source/ogre/CarModel_Create.cpp
+index 834eac7..47ec647 100644
+--- i/source/ogre/CarModel_Create.cpp
++++ w/source/ogre/CarModel_Create.cpp
+@@ -130,7 +130,8 @@ void CarModel::Load(int startId)
+ 
+ 	///  load config .car
+ 	string pathCar;
+-	pApp->gui->GetCarPath(&pathCar, 0, 0, sDirname, pApp->mClient);  // force orig for newtorked games
++  string empty;
++	pApp->gui->GetCarPath(&pathCar, &empty, &empty, sDirname, bool(pApp->mClient));  // force orig for newtorked games
+ 	LoadConfig(pathCar);
+ 	
+ 	
+diff --git i/source/ogre/Gui_Tweak.cpp w/source/ogre/Gui_Tweak.cpp
+index 76ed8e9..9444271 100644
+--- i/source/ogre/Gui_Tweak.cpp
++++ w/source/ogre/Gui_Tweak.cpp
+@@ -412,8 +412,8 @@ bool CGui::GetCarPath(std::string* pathCar,
+ 		pathUserD = PATHMANAGER::CarSimU() + "/" + pSet->game.sim_mode + "/cars/",
+ 		pathUser  = pathUserD + file;
+ 
+-	if (pathSave)  *pathSave = pathUser;
+-	if (pathSaveDir)  *pathSaveDir = pathUserD;
++	if (pathSave != "")  *pathSave = pathUser;
++	if (pathSaveDir != "")  *pathSaveDir = pathUserD;
+ 	
+ 	if (!forceOrig && PATHMANAGER::FileExists(pathUser))
+ 	{
+diff --git i/source/vdrift/cartire.cpp w/source/vdrift/cartire.cpp
+index dd6dd48..083fa0c 100644
+--- i/source/vdrift/cartire.cpp
++++ w/source/vdrift/cartire.cpp
+@@ -3,6 +3,7 @@
+ #include "cardefs.h"
+ //#include "../ogre/common/Def_Str.h"
+ 
++using namespace std;
+ 
+ void CARTIRE::FindSigmaHatAlphaHat(Dbl load, Dbl & output_sigmahat, Dbl & output_alphahat, int iterations)
+ {
+diff --git i/source/vdrift/model_obj.cpp w/source/vdrift/model_obj.cpp
+index 338d122..e67c1db 100644
+--- i/source/vdrift/model_obj.cpp
++++ w/source/vdrift/model_obj.cpp
+@@ -205,7 +205,7 @@ bool MODEL_OBJ::Save(const std::string & strFileName, std::ostream & error_outpu
+ 	std::ofstream f(strFileName.c_str());
+ 	if (!f)
+ 	{
+-		error_output << "Error opening file for writing: " << error_output << endl;
++		error_output << "Error opening file for writing: " << endl;
+ 		return false;
+ 	}
+ 	
+diff --git i/source/vdrift/texture.h w/source/vdrift/texture.h
+index b21846a..c115fd6 100644
+--- i/source/vdrift/texture.h
++++ w/source/vdrift/texture.h
+@@ -125,7 +125,7 @@ class TEXTURELIBRARY
+ 		bool FileExists(const std::string & filename)
+ 		{
+ 			std::ifstream f(filename.c_str());
+-			return f;
++			return bool(f);
+ 		}
+ 
+ 	public: