about summary refs log tree commit diff
path: root/pkgs/games/rigsofrods
diff options
context:
space:
mode:
authorLluís Batlle i Rossell <viric@viric.name>2016-04-15 20:09:41 +0200
committerLluís Batlle i Rossell <viric@viric.name>2016-04-18 12:04:38 +0200
commit93bd5556be976d27128cc8fd99c0a106e82be73f (patch)
treeb6441ffcf6d6eaa1519b86d45d4bb50aa552c324 /pkgs/games/rigsofrods
parentccaeab632313603db3854fdaeace9e5b6fdc7827 (diff)
Revert "rigsofrods: remove dead package"
This reverts commit 69e7948ffe120981417894e51ae311cbdaaafae4.
Diffstat (limited to 'pkgs/games/rigsofrods')
-rw-r--r--pkgs/games/rigsofrods/default.nix60
-rw-r--r--pkgs/games/rigsofrods/doubleslash.patch13
-rw-r--r--pkgs/games/rigsofrods/paths.patch12
3 files changed, 85 insertions, 0 deletions
diff --git a/pkgs/games/rigsofrods/default.nix b/pkgs/games/rigsofrods/default.nix
new file mode 100644
index 0000000000000..26c7e0a366773
--- /dev/null
+++ b/pkgs/games/rigsofrods/default.nix
@@ -0,0 +1,60 @@
+{ fetchsvn, fetchurl, stdenv, wxGTK29, freeimage, cmake, zziplib, mesa, boost,
+  pkgconfig, libuuid, openal, ogre, ois, curl, gtk, pixman, mygui, unzip,
+  angelscript, caelum, ogrepaged, mysocketw, libxcb
+  }:
+
+stdenv.mkDerivation rec {
+  version = "0.39.4";
+  name = "rigsofrods-${version}";
+
+  src = fetchurl {
+    url = mirror://sourceforge/rigsofrods/rigsofrods-source-0.39.4.tar.bz2;
+    sha256 = "1kpjkski0yllwzdki0rjpqvifjs0fwpgs513y4dv4s9wfwan1qcx";
+  };
+
+  contentPackSrc = fetchurl {
+    url = mirror://sourceforge/rigsofrods/rigsofrods/0.37/content-pack-0.37.zip;
+    sha256 = "0prvn8lxqazadad4mv0nilax9i4vqb9s7dp7mqzvqc0ycmcnf4ps";
+  };
+
+  enableParallelBuilding = true;
+
+  cmakeFlags = [
+    "-DROR_USE_CURL=TRUE"
+    "-DROR_USE_MYGUI=TRUE"
+    "-DROR_USE_OPNEAL=TRUE"
+    "-DROR_USE_CAELUM=TRUE"
+    "-DROR_USE_PAGED=TRUE"
+    "-DROR_USE_ANGELSCRIPT=TRUE"
+    "-DROR_USE_SOCKETW=TRUE"
+    "-DCMAKE_BUILD_TYPE=Release"
+  ];
+
+  installPhase = ''
+    sed -e "s@/usr/local/lib/OGRE@${ogre}/lib/OGRE@" -i ../tools/linux/binaries/plugins.cfg
+    mkdir -p $out/share/rigsofrods
+    cp -r ../bin/* $out/share/rigsofrods
+    cp ../tools/linux/binaries/plugins.cfg $out/share/rigsofrods
+    mkdir -p $out/bin
+    ln -s $out/share/rigsofrods/{RoR,rorconfig} $out/bin
+    cd $out/share/rigsofrods
+    mkdir packs
+    cd packs
+    unzip "${contentPackSrc}"
+  '';
+
+  patches = [ ./doubleslash.patch ./paths.patch ];
+
+  buildInputs = [ wxGTK29 freeimage cmake zziplib mesa boost pkgconfig
+    libuuid openal ogre ois curl gtk mygui unzip angelscript
+    caelum ogrepaged mysocketw libxcb ];
+
+  meta = {
+    description = "3D simulator game where you can drive, fly and sail various vehicles";
+    homepage = http://rigsofrods.sourceforge.net/;
+    license = stdenv.lib.licenses.gpl3;
+    maintainers = with stdenv.lib.maintainers; [viric raskin];
+    platforms = stdenv.lib.platforms.linux;
+    hydraPlatforms = [];
+  };
+}
diff --git a/pkgs/games/rigsofrods/doubleslash.patch b/pkgs/games/rigsofrods/doubleslash.patch
new file mode 100644
index 0000000000000..c62c5470dfc78
--- /dev/null
+++ b/pkgs/games/rigsofrods/doubleslash.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeDependenciesConfig.txt b/CMakeDependenciesConfig.txt
+index 447a440..e2562de 100644
+--- a/CMakeDependenciesConfig.txt
++++ b/CMakeDependenciesConfig.txt
+@@ -228,7 +228,7 @@ ELSEIF(UNIX)
+    # Paged Geometry

+    find_path(PAGED_INCLUDE_DIRS "PagedGeometry/PagedGeometry.h")

+    if(PAGED_INCLUDE_DIRS)

+-      set(PAGED_INCLUDE_DIRS "${PAGED_INCLUDE_DIRS};/${PAGED_INCLUDE_DIRS}/PagedGeometry")

++      set(PAGED_INCLUDE_DIRS "${PAGED_INCLUDE_DIRS};${PAGED_INCLUDE_DIRS}/PagedGeometry")

+       find_library(PAGED_LIBRARIES "PagedGeometry")

+       set(ROR_USE_PAGED ON)

+    else()

diff --git a/pkgs/games/rigsofrods/paths.patch b/pkgs/games/rigsofrods/paths.patch
new file mode 100644
index 0000000000000..e20b00a76935d
--- /dev/null
+++ b/pkgs/games/rigsofrods/paths.patch
@@ -0,0 +1,12 @@
+diff --git a/source/main/framework/ContentManager.cpp b/source/main/framework/ContentManager.cpp
+index 0bfea8c..82cdab9 100644
+--- a/source/main/framework/ContentManager.cpp
++++ b/source/main/framework/ContentManager.cpp
+@@ -238,6 +238,7 @@ bool ContentManager::init(void)
+ #endif // USE_OPENAL
+ 
+ 	// and the content
++	ResourceGroupManager::getSingleton().addResourceLocation(SSETTING("Program Path")+"packs", "FileSystem", "Packs", true);
+ 	ResourceGroupManager::getSingleton().addResourceLocation(SSETTING("User Path")+"packs", "FileSystem", "Packs", true);
+ 	ResourceGroupManager::getSingleton().addResourceLocation(SSETTING("User Path")+"mods",  "FileSystem", "Packs", true);
+