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 {};