about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/development/libraries/mygui/default.nix20
-rw-r--r--pkgs/development/libraries/mygui/svn.nix27
-rw-r--r--pkgs/development/libraries/ogre/default.nix4
-rw-r--r--pkgs/games/rigsofrods/default.nix45
-rw-r--r--pkgs/games/rigsofrods/wx.patch13
-rw-r--r--pkgs/top-level/all-packages.nix8
6 files changed, 116 insertions, 1 deletions
diff --git a/pkgs/development/libraries/mygui/default.nix b/pkgs/development/libraries/mygui/default.nix
new file mode 100644
index 000000000000..f692c14a6df1
--- /dev/null
+++ b/pkgs/development/libraries/mygui/default.nix
@@ -0,0 +1,20 @@
+{stdenv, fetchurl, unzip, ogre, cmake, ois, freetype, libuuid, boost}:
+
+stdenv.mkDerivation rec {
+  name = "mygui-3.0.1";
+  
+  src = fetchurl {
+    url = mirror://sourceforge/my-gui/MyGUI_3.0.1_source.zip;
+    sha256 = "1n56kl8ykzgv4k2nm9317jg9b9x2qa3l9hamz11hzn1qqjn2z4ig";
+  };
+
+  enableParallelBuilding = true;
+
+  buildInputs = [ unzip ogre cmake ois freetype libuuid boost ];
+
+  meta = {
+    homepage = http://mygui.info/;
+    description = "Library for creating GUIs for games and 3D applications";
+    license = "LGPLv3+";
+  };
+}
diff --git a/pkgs/development/libraries/mygui/svn.nix b/pkgs/development/libraries/mygui/svn.nix
new file mode 100644
index 000000000000..cc20550802ed
--- /dev/null
+++ b/pkgs/development/libraries/mygui/svn.nix
@@ -0,0 +1,27 @@
+{stdenv, fetchsvn, unzip, ogre, cmake, ois, freetype, libuuid, boost}:
+
+stdenv.mkDerivation rec {
+  name = "mygui-svn-4141";
+  
+  src = fetchsvn {
+    url = https://my-gui.svn.sourceforge.net/svnroot/my-gui/trunk;
+    rev = 4141;
+    sha256 = "0xfm4b16ksqd1cwq45kl01wi4pmj244dpn11xln8ns7wz0sffjwn";
+  };
+
+  enableParallelBuilding = true;
+
+  cmakeFlags = [
+    "-DOGRE_LIB_DIR=${ogre}/lib"
+    "-DOGRE_INCLUDE_DIR=${ogre}/include/OGRE"
+    "-DOGRE_LIBRARIES=OgreMain"
+  ];
+
+  buildInputs = [ unzip ogre cmake ois freetype libuuid boost ];
+
+  meta = {
+    homepage = http://mygui.info/;
+    description = "Library for creating GUIs for games and 3D applications";
+    license = "LGPLv3+";
+  };
+}
diff --git a/pkgs/development/libraries/ogre/default.nix b/pkgs/development/libraries/ogre/default.nix
index 107fc0261197..6bf4abbb0ad0 100644
--- a/pkgs/development/libraries/ogre/default.nix
+++ b/pkgs/development/libraries/ogre/default.nix
@@ -35,8 +35,10 @@ rec {
   inherit (sourceInfo) name version;
   inherit buildInputs;
 
+  doMyBuild = a.fullDepEntry ("make -j4") ["doCmake"];
+
   /* doConfigure should be removed if not needed */
-  phaseNames = ["doCmake" "doMakeInstall"];
+  phaseNames = ["doCmake" "doMyBuild" "doMakeInstall"];
 
   meta = {
     description = "A 3D engine";
diff --git a/pkgs/games/rigsofrods/default.nix b/pkgs/games/rigsofrods/default.nix
new file mode 100644
index 000000000000..5a619f6c6c22
--- /dev/null
+++ b/pkgs/games/rigsofrods/default.nix
@@ -0,0 +1,45 @@
+{ fetchsvn, stdenv, wxGTK28, freeimage, cmake, zziplib, mesa, boost, pkgconfig,
+  libuuid, lua5, openal, ogre, ois, curl, gtk, pixman, mygui }:
+
+stdenv.mkDerivation rec {
+  version = "1780";
+  name = "rigsofroads-svn-${version}";
+
+  src = fetchsvn {
+    url = https://rigsofrods.svn.sourceforge.net/svnroot/rigsofrods/trunk;
+    rev = version;
+    sha256 = "1i557jc79jpg79kg0gk5a7zsd2m42x89v9q83kzywrzzp1x5imp3";
+  };
+
+  enableParallelBuilding = true;
+
+  cmakeFlags = [
+    "-DROR_USE_LUA=TRUE" "-DLUA_LIBRARIES=${lua5}/lib/liblua.a"
+    "-DROR_USE_CURL=TRUE"
+    "-DROR_USE_MYGUI=TRUE"
+    # "-DROR_USE_OPNEAL=TRUE"
+    # "-DROR_USE_MOFILEREADER=TRUE"
+    # "-DROR_USE_CAELUM=TRUE"
+    # "-DROR_USE_PAGED=TRUE"
+    # "-DROR_USE_ANGELSCRIPT=TRUE"
+    # "-DROR_USE_SOCKETW=TRUE"
+  ];
+
+  installPhase = ''
+    ensureDir $out/bin
+    cp ../bin/RoR ../bin/rorconfig $out/bin
+  '';
+
+  patches = [ ./wx.patch ];
+
+  buildInputs = [ wxGTK28 freeimage cmake zziplib mesa boost pkgconfig
+    libuuid lua5 openal ogre ois curl gtk mygui ];
+
+  meta = {
+    description = "3D simulator game where you can drive, fly and sail various vehicles";
+    homepage = http://rigsofrods.sourceforge.net/;
+    license = "GPLv3";
+    maintainers = with stdenv.lib.maintainers; [viric];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/games/rigsofrods/wx.patch b/pkgs/games/rigsofrods/wx.patch
new file mode 100644
index 000000000000..d5b8e27de7b3
--- /dev/null
+++ b/pkgs/games/rigsofrods/wx.patch
@@ -0,0 +1,13 @@
+diff --git a/source/configurator/configurator.cpp b/source/configurator/configurator.cpp
+index c058820..5a4b316 100644
+--- a/source/configurator/configurator.cpp
++++ b/source/configurator/configurator.cpp
+@@ -2155,7 +2155,7 @@ void MyDialog::OnsightrangesliderScroll(wxScrollEvent &e)
+ 	int v = sightRange->GetValue();
+ 	if(v == sightRange->GetMax())
+ 	{
+-		s = "Unlimited";
++		s = _("Unlimited");
+ 	} else
+ 	{
+ 		s.Printf(wxT("%i m"), v);
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 8fe61978e8ef..da25858d2138 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -3841,6 +3841,10 @@ let
 
   muparser = callPackage ../development/libraries/muparser { };
 
+  mygui = callPackage ../development/libraries/mygui {};
+
+  myguiSvn = callPackage ../development/libraries/mygui/svn.nix {};
+
   ncurses = makeOverridable (import ../development/libraries/ncurses) {
     inherit fetchurl stdenv;
     unicode = system != "i686-cygwin";
@@ -7138,6 +7142,10 @@ let
 
   racer = callPackage ../games/racer { };
 
+  rigsofrods = callPackage ../games/rigsofrods {
+    mygui = myguiSvn;
+  };
+
   rogue = callPackage ../games/rogue { };
 
   sauerbraten = callPackage ../games/sauerbraten {};