diff options
Diffstat (limited to 'pkgs/games')
-rw-r--r-- | pkgs/games/fsg/default.nix | 2 | ||||
-rw-r--r-- | pkgs/games/oilrush/default.nix | 7 | ||||
-rw-r--r-- | pkgs/games/openttd/default.nix | 32 | ||||
-rw-r--r-- | pkgs/games/rili/default.nix | 31 | ||||
-rw-r--r-- | pkgs/games/rili/moderinze_cpp.patch | 391 | ||||
-rw-r--r-- | pkgs/games/sgt-puzzles/default.nix | 5 | ||||
-rw-r--r-- | pkgs/games/spring/default.nix | 6 | ||||
-rw-r--r-- | pkgs/games/the-butterfly-effect/default.nix | 2 | ||||
-rw-r--r-- | pkgs/games/uqm/default.nix | 78 | ||||
-rw-r--r-- | pkgs/games/warsow/default.nix | 29 | ||||
-rw-r--r-- | pkgs/games/widelands/boost_and_cmake_die_die_die.patch | 11 | ||||
-rw-r--r-- | pkgs/games/widelands/default.nix | 18 |
12 files changed, 578 insertions, 34 deletions
diff --git a/pkgs/games/fsg/default.nix b/pkgs/games/fsg/default.nix index b2210141f574..7a9dc1105408 100644 --- a/pkgs/games/fsg/default.nix +++ b/pkgs/games/fsg/default.nix @@ -39,7 +39,7 @@ stdenv.mkDerivation { installPhase = '' mkdir -p $out/bin $out/libexec cp sand $out/libexec - echo -e '#! /bin/sh\nLC_ALL=C '$out'/libexec/sand "$@"' >$out/bin/fsg + echo -e '#!${stdenv.shell}\nLC_ALL=C '$out'/libexec/sand "$@"' >$out/bin/fsg chmod a+x $out/bin/fsg ''; diff --git a/pkgs/games/oilrush/default.nix b/pkgs/games/oilrush/default.nix index 4605f04e3ae5..339c3bbd1a84 100644 --- a/pkgs/games/oilrush/default.nix +++ b/pkgs/games/oilrush/default.nix @@ -1,11 +1,12 @@ -{ stdenv, getConfig, fetchurl, libX11, libXext, libXinerama, libXrandr +{ stdenv, config, fetchurl, libX11, libXext, libXinerama, libXrandr , libXrender, fontconfig, freetype, openal }: + stdenv.mkDerivation { name = "oilrush"; src = let - url = getConfig [ "oilrush" "url" ] null; - sha256 = getConfig [ "oilrush" "sha256" ] null; + url = config.oilrush.url or null; + sha256 = config.oilrush.sha256 or null; in assert url != null && sha256 != null; fetchurl { inherit url sha256; }; diff --git a/pkgs/games/openttd/default.nix b/pkgs/games/openttd/default.nix index 66c296b487ad..616adf002243 100644 --- a/pkgs/games/openttd/default.nix +++ b/pkgs/games/openttd/default.nix @@ -1,22 +1,42 @@ -{stdenv, fetchurl, SDL, libpng, zlib}: +{stdenv, fetchurl, pkgconfig, SDL, libpng, zlib, xz, freetype, fontconfig}: stdenv.mkDerivation rec { name = "openttd-${version}"; - version = "0.6.0"; + version = "1.2.2"; src = fetchurl { - url = "mirror://sf/openttd/${name}-source.tar.bz2"; - md5 = "dcf63687c73ff56887049fedaf6c6019"; + url = "http://binaries.openttd.org/releases/${version}/${name}-source.tar.xz"; + sha256 = "158znfx389bhs9gd2hadnbc2a32z4ma1vz8704cmw9yh0fmhbcap"; }; - buildInputs = [SDL libpng]; + buildInputs = [SDL libpng pkgconfig xz zlib freetype fontconfig]; prefixKey = "--prefix-dir="; - configureFlags = "--with-zlib=${zlib}/lib/libz.a"; + + configureFlags = '' + --with-zlib=${zlib}/lib/libz.a + --without-liblzo2 + ''; + makeFlags = "INSTALL_PERSONAL_DIR="; + postInstall = '' + mv $out/games/ $out/bin + ''; + meta = { description = ''OpenTTD is an open source clone of the Microprose game "Transport Tycoon Deluxe".''; + longDescription = '' + OpenTTD is a transportation economics simulator. In single player mode, + players controll a transportation business, and use rail, road, sea, and air + transport to move goods and people around the simulated world. + + In multiplayer networked mode, players may: + - play competitively as different businesses + - play cooperatively controling the same business + - observe as spectators + ''; homepage = http://www.openttd.org/; license = "GPLv2"; + maintainers = with stdenv.lib.maintainers; [ jcumming ]; }; } diff --git a/pkgs/games/rili/default.nix b/pkgs/games/rili/default.nix new file mode 100644 index 000000000000..934213279fad --- /dev/null +++ b/pkgs/games/rili/default.nix @@ -0,0 +1,31 @@ +{stdenv, fetchurl, SDL_mixer, SDL, autoconf, automake}: + +stdenv.mkDerivation { + name = "ri_li-2.0.1"; + + src = fetchurl { + url = mirror://sourceforge/ri-li/Ri-li-2.0.1.tar.bz2; + sha256 = "f71ccc20c37c601358d963e087ac0d524de8c68e96df09c3aac1ae65edd38dbd"; + }; + + patches = [ ./moderinze_cpp.patch ]; + + preConfigure = '' + export CPPFLAGS="-I${SDL}/include -I${SDL}/include/SDL -I${SDL_mixer}/include" + autoreconf -i + ''; + + buildInputs = [SDL SDL_mixer autoconf automake]; + + meta = { + homepage = http://ri-li.sourceforge.net; + license = "GPL2+"; + description = "A children's train game"; + longDescription = '' + Ri-li is an arcade game licensed under the GPL (General Public License). +You drive a toy wood engine in many levels and you must collect all the coaches +to win. + ''; + maintainers = with stdenv.lib.maintainers; [ jcumming ]; + }; +} diff --git a/pkgs/games/rili/moderinze_cpp.patch b/pkgs/games/rili/moderinze_cpp.patch new file mode 100644 index 000000000000..3d076afb39e3 --- /dev/null +++ b/pkgs/games/rili/moderinze_cpp.patch @@ -0,0 +1,391 @@ +diff -r -u Ri-li-2.0.1.orig/src/audio.cc Ri-li-2.0.1/src/audio.cc +--- Ri-li-2.0.1.orig/src/audio.cc 2012-01-22 00:40:56.928609371 -0800 ++++ Ri-li-2.0.1/src/audio.cc 2012-01-22 00:28:33.360636539 -0800 +@@ -22,8 +22,8 @@ + // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + #include <stdlib.h> +-#include <iostream.h> +-#include <string.h> ++#include <iostream> ++#include <string> + + #include "audio.h" + #include "utils.h" +@@ -57,7 +57,7 @@ + char PathFile[512]; + + if(Mix_OpenAudio(22050,AUDIO_S16,1,1024)) { +- cerr <<"Enable to init Sound card ! "<<SDL_GetError()<<endl; ++ std::cerr <<"Enable to init Sound card ! "<<SDL_GetError()<<std::endl; + return false; + } + +diff -r -u Ri-li-2.0.1.orig/src/ecran.cc Ri-li-2.0.1/src/ecran.cc +--- Ri-li-2.0.1.orig/src/ecran.cc 2007-11-02 04:48:16.000000000 -0700 ++++ Ri-li-2.0.1/src/ecran.cc 2012-01-22 00:13:54.422798653 -0800 +@@ -21,7 +21,7 @@ + // with this program; if not, write to the Free Software Foundation, Inc., + // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +-#include <iostream.h> ++#include <iostream> + #include <stdio.h> + #include <stdlib.h> + #include <math.h> +diff -r -u Ri-li-2.0.1.orig/src/editeur.cc Ri-li-2.0.1/src/editeur.cc +--- Ri-li-2.0.1.orig/src/editeur.cc 2007-11-02 04:48:17.000000000 -0700 ++++ Ri-li-2.0.1/src/editeur.cc 2012-01-22 00:28:59.632635579 -0800 +@@ -25,10 +25,10 @@ + #include <windows.h> + #endif + +-#include <iostream.h> ++#include <iostream> + #include <stdio.h> + #include <stdlib.h> +-#include <string.h> ++#include <string> + #include <math.h> + #include <SDL/SDL.h> + +@@ -374,7 +374,7 @@ + + // Sauve le niveau + if(Niveau.Save()==false) { +- cerr <<"ERREUR Saving levels!"<<endl; ++ std::cerr <<"ERREUR Saving levels!"<<std::endl; + exit(-1); + } + +diff -r -u Ri-li-2.0.1.orig/src/jeux.cc Ri-li-2.0.1/src/jeux.cc +--- Ri-li-2.0.1.orig/src/jeux.cc 2007-11-02 04:48:17.000000000 -0700 ++++ Ri-li-2.0.1/src/jeux.cc 2012-01-22 00:14:08.422798143 -0800 +@@ -25,10 +25,10 @@ + #include <windows.h> + #endif + +-#include <iostream.h> ++#include <iostream> + #include <stdio.h> + #include <stdlib.h> +-#include <string.h> ++#include <string> + #include <math.h> + #include <SDL/SDL.h> + +diff -r -u Ri-li-2.0.1.orig/src/loco.cc Ri-li-2.0.1/src/loco.cc +--- Ri-li-2.0.1.orig/src/loco.cc 2007-11-02 04:48:18.000000000 -0700 ++++ Ri-li-2.0.1/src/loco.cc 2012-01-22 00:14:17.878797797 -0800 +@@ -21,10 +21,10 @@ + // with this program; if not, write to the Free Software Foundation, Inc., + // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +-#include <iostream.h> ++#include <iostream> + #include <stdio.h> + #include <stdlib.h> +-#include <string.h> ++#include <string> + #include <math.h> + #include "preference.h" + #include "loco.h" +diff -r -u Ri-li-2.0.1.orig/src/main.cc Ri-li-2.0.1/src/main.cc +--- Ri-li-2.0.1.orig/src/main.cc 2007-11-02 04:48:19.000000000 -0700 ++++ Ri-li-2.0.1/src/main.cc 2012-01-22 00:29:40.080634136 -0800 +@@ -23,8 +23,8 @@ + + #include <stdio.h> + #include <stdlib.h> +-#include <iostream.h> +-#include <string.h> ++#include <iostream> ++#include <string> + #include <SDL/SDL.h> + #include <SDL/SDL_mixer.h> + +@@ -115,7 +115,7 @@ + + // Initilise SDL + if( SDL_Init(SDL_INIT_VIDEO|SDL_INIT_TIMER|SDL_INIT_AUDIO|SDL_INIT_NOPARACHUTE) < 0 ) { +- cerr <<"Impossible d'initialiser SDL:"<<SDL_GetError()<<endl; ++ std::cerr <<"Impossible d'initialiser SDL:"<<SDL_GetError()<<std::endl; + exit(-1); + } + // Ferme le programme correctement quant quit +@@ -125,7 +125,7 @@ + sdlVideoInfo=(SDL_VideoInfo*)SDL_GetVideoInfo(); + + if(sdlVideoInfo->vfmt->BitsPerPixel==8) { +- cerr <<"Impossible d'utiliser 8bits pour la vidéo !"<<endl; ++ std::cerr <<"Impossible d'utiliser 8bits pour la vidéo !"<<std::endl; + exit(-1); + } + +@@ -145,7 +145,7 @@ + sdlVideo=SDL_SetVideoMode(800,600,sdlVideoInfo->vfmt->BitsPerPixel,vOption); + + if(sdlVideo==NULL) { +- cerr <<"Impossible de passer dans le mode vidéo 800x600 !"<<endl; ++ std::cerr <<"Impossible de passer dans le mode vidéo 800x600 !"<<std::endl; + exit(-1); + } + // Change le nom de la fenetre +diff -r -u Ri-li-2.0.1.orig/src/menu.cc Ri-li-2.0.1/src/menu.cc +--- Ri-li-2.0.1.orig/src/menu.cc 2007-11-02 04:48:19.000000000 -0700 ++++ Ri-li-2.0.1/src/menu.cc 2012-01-22 00:30:04.752633198 -0800 +@@ -21,10 +21,10 @@ + // with this program; if not, write to the Free Software Foundation, Inc., + // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +-#include <iostream.h> ++#include <iostream> + #include <stdio.h> + #include <stdlib.h> +-#include <string.h> ++#include <string> + #include "preference.h" + #include "menu.h" + #include "sprite.h" +@@ -92,7 +92,7 @@ + // Teste la resolution video + sdlVideoInfo=(SDL_VideoInfo*)SDL_GetVideoInfo(); + if(sdlVideoInfo->vfmt->BitsPerPixel==8) { +- cerr <<"Impossible d'utiliser 8bits pour la vidéo !"<<endl; ++ std::cerr <<"Impossible d'utiliser 8bits pour la vidéo !"<<std::endl; + exit(-1); + } + +@@ -112,7 +112,7 @@ + if(Pref.FullScreen) vOption|=SDL_FULLSCREEN; + sdlVideo=SDL_SetVideoMode(800,600,sdlVideoInfo->vfmt->BitsPerPixel,vOption); + if(sdlVideo==NULL) { +- cerr <<"Impossible de passer dans le mode vidéo 800x600 !"<<endl; ++ std::cerr <<"Impossible de passer dans le mode vidéo 800x600 !"<<std::endl; + exit(-1); + } + +diff -r -u Ri-li-2.0.1.orig/src/mouse.cc Ri-li-2.0.1/src/mouse.cc +--- Ri-li-2.0.1.orig/src/mouse.cc 2007-11-02 04:48:20.000000000 -0700 ++++ Ri-li-2.0.1/src/mouse.cc 2012-01-22 00:14:36.438797120 -0800 +@@ -21,7 +21,7 @@ + // with this program; if not, write to the Free Software Foundation, Inc., + // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +-#include <iostream.h> ++#include <iostream> + #include <stdio.h> + #include "mouse.h" + #include "preference.h" +diff -r -u Ri-li-2.0.1.orig/src/sprite.cc Ri-li-2.0.1/src/sprite.cc +--- Ri-li-2.0.1.orig/src/sprite.cc 2007-11-02 04:48:20.000000000 -0700 ++++ Ri-li-2.0.1/src/sprite.cc 2012-01-22 00:30:43.640631779 -0800 +@@ -21,10 +21,10 @@ + // with this program; if not, write to the Free Software Foundation, Inc., + // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +-#include <iostream.h> ++#include <iostream> + #include <stdio.h> + #include <stdlib.h> +-#include <string.h> ++#include <string> + #include <math.h> + #include "sprite.h" + #include "preference.h" +@@ -84,7 +84,7 @@ + strcpy(PathFile,Langue[Pref.Langue]); + GetPath(PathFile); + if(FileExiste(PathFile)==false) { +- cerr <<"Impossible de trouver "<<Langue[Pref.Langue]<<endl; ++ std::cerr <<"Impossible de trouver "<<Langue[Pref.Langue]<<std::endl; + return false; + } + L=ChargeFichier(PathFile,Buf); +@@ -128,7 +128,7 @@ + // *** Charge le fichier des langues *** + // ************************************* + if(FileExiste(PathFile)==false) { +- cerr <<"Impossible de trouver 'language.dat'"<<endl; ++ std::cerr <<"Impossible de trouver 'language.dat'"<<std::endl; + return false; + } + L=ChargeFichier(PathFile,Buf); +@@ -163,7 +163,7 @@ + strcpy(PathFile,"sprites.dat"); + GetPath(PathFile); + if(FileExiste(PathFile)==false) { +- cerr <<"Impossible de trouver 'sprites.dat'"<<endl; ++ std::cerr <<"Impossible de trouver 'sprites.dat'"<<std::endl; + return false; + } + L=ChargeFichier(PathFile,Buf); +@@ -352,7 +352,7 @@ + Image[i]=SDL_CreateRGBSurface((Dim[i].bpp-3)*SDL_SRCALPHA,Dim[i].L,Dim[i].H,Dim[i].bpp*8, + 0xff,0xff00,0xff0000,0xff000000*(Dim[i].bpp-3)); + if(Image[i]<=NULL) { +- cerr <<"Impossible de créer une Surface SDL!"<<endl; ++ std::cerr <<"Impossible de créer une Surface SDL!"<<std::endl; + return false; + } + +@@ -486,7 +486,7 @@ + Image[0]=SDL_CreateRGBSurface((Dim[0].bpp-3)*SDL_SRCALPHA,Dim[0].L,Dim[0].H,Dim[0].bpp*8, + 0xff,0xff00,0xff0000,0xff000000*(Dim[0].bpp-3)); + if(Image[0]<=NULL) { +- cerr <<"Impossible de créer une Surface SDL!"<<endl; ++ std::cerr <<"Impossible de créer une Surface SDL!"<<std::endl; + return false; + } + return true; +diff -r -u Ri-li-2.0.1.orig/src/tableau.cc Ri-li-2.0.1/src/tableau.cc +--- Ri-li-2.0.1.orig/src/tableau.cc 2007-11-02 04:48:21.000000000 -0700 ++++ Ri-li-2.0.1/src/tableau.cc 2012-01-22 00:14:50.710796598 -0800 +@@ -21,7 +21,7 @@ + // with this program; if not, write to the Free Software Foundation, Inc., + // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +-#include <iostream.h> ++#include <iostream> + #include <stdio.h> + #include <stdlib.h> + #include "preference.h" +diff -r -u Ri-li-2.0.1.orig/src/utils.cc Ri-li-2.0.1/src/utils.cc +--- Ri-li-2.0.1.orig/src/utils.cc 2007-11-02 04:48:22.000000000 -0700 ++++ Ri-li-2.0.1/src/utils.cc 2012-01-22 00:31:30.944630051 -0800 +@@ -21,10 +21,10 @@ + // with this program; if not, write to the Free Software Foundation, Inc., + // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +-#include <iostream.h> ++#include <iostream> + #include <stdio.h> + #include <stdlib.h> +-#include <string.h> ++#include <string> + + #ifdef WINDOWS + #include <windows.h> +@@ -77,7 +77,7 @@ + + file=fopen(Path,"r"); + if(!file) { +- cerr <<"ERREUR: Impossible d'ouvrir '"<<Path<<"'"<<endl; ++ std::cerr <<"ERREUR: Impossible d'ouvrir '"<<Path<<"'"<<std::endl; + perror("fopen"); + return -1; + } +@@ -93,7 +93,7 @@ + + Buf=new unsigned char [L+1]; + if(Buf==NULL) { +- cerr <<"ERREUR: Memoire insuffisante!"<<endl; ++ std::cerr <<"ERREUR: Memoire insuffisante!"<<std::endl; + fclose(file); + return -1; + } +@@ -104,7 +104,7 @@ + while(Compt>1024) { + AfficheChargeur(); + if( fread(Po,1,1024,file) != 1024 ) { +- cerr <<"ERREUR de lecture du fichier '"<<Path<<"'"<<endl; ++ std::cerr <<"ERREUR de lecture du fichier '"<<Path<<"'"<<std::endl; + perror("fread"); + fclose(file); + delete [] Buf; +@@ -131,13 +131,13 @@ + + file=_lopen(Path,OF_READ); + if(file==-1) { +- cerr <<"Impossible d'ouvrir "<<Path<<endl; ++ std::cerr <<"Impossible d'ouvrir "<<Path<<std::endl; + exit(-1); + } + + long L=(long)_llseek(file,0,SEEK_END); + if(L==-1) { +- cerr <<"Impossible de trouver la longueur du fichier"<<endl; ++ std::cerr <<"Impossible de trouver la longueur du fichier"<<std::endl; + perror("lseek"); + _lclose(file); + return -1; +@@ -146,7 +146,7 @@ + + Buf=new unsigned char [L+1]; + if(Buf==NULL) { +- cerr <<"ERREUR: Memoire insuffisante!"<<endl; ++ std::cerr <<"ERREUR: Memoire insuffisante!"<<std::endl; + _lclose(file); + return -1; + } +@@ -169,14 +169,14 @@ + + file=fopen(Path,"w"); + if(!file) { +- cerr <<"ERREUR: Impossible d'ouvrir '"<<Path<<"'"<<endl; ++ std::cerr <<"ERREUR: Impossible d'ouvrir '"<<Path<<"'"<<std::endl; + perror("fopen"); + return false; + } + + while(L>512) { + if( fwrite(Buf,1,512,file) != 512 ) { +- cerr <<"ERREUR d'ecriture du fichier '"<<Path<<"'"<<endl; ++ std::cerr <<"ERREUR d'ecriture du fichier '"<<Path<<"'"<<std::endl; + perror("fwrite"); + fclose(file); + return false; +@@ -187,7 +187,7 @@ + + if(L>0) { + if( fwrite(Buf,1,(size_t)L,file) != (size_t)L ) { +- cerr <<"ERREUR d'ecriture du fichier '"<<Path<<"'"<<endl; ++ std::cerr <<"ERREUR d'ecriture du fichier '"<<Path<<"'"<<std::endl; + perror("fwrite"); + fclose(file); + return false; +@@ -208,7 +208,7 @@ + + file=_lcreat(Path,0); + if(!file) { +- cerr <<"ERREUR: Impossible de créer le fichier '"<<Path<<"'"<<endl; ++ std::cerr <<"ERREUR: Impossible de créer le fichier '"<<Path<<"'"<<std::endl; + return false; + } + +@@ -216,7 +216,7 @@ + _lclose(file); + + if(Lec!=L) { +- cerr <<"Problème d'ecriture du fichier '"<<Path<<"' ecris="<<Lec<<" au lieux de ="<<L<<endl; ++ std::cerr <<"Problème d'ecriture du fichier '"<<Path<<"' ecris="<<Lec<<" au lieux de ="<<L<<std::endl; + return false; + } + +@@ -250,7 +250,7 @@ + sprintf(Path,"/usr/share/games/Ri-li/%s",Provi); + if(FileExiste(Path)) return; + +- cerr <<"Impossible de trouver le fichier '"<<Provi<<endl; ++ std::cerr <<"Impossible de trouver le fichier '"<<Provi<<std::endl; + exit(-1); + } + #endif +@@ -266,7 +266,7 @@ + sprintf(Path,"PROGDIR:%s",Provi); + if(FileExiste(Path)) return; + +- cerr <<"Impossible de trouver le fichier '"<<Path<<endl; ++ std::cerr <<"Impossible de trouver le fichier '"<<Path<<std::endl; + exit(-1); + } + #endif +@@ -282,7 +282,7 @@ + sprintf(Path,"Ri-li.app/Contents/Resources/%s",Provi); + if(FileExiste(Path)) return; + +- cerr <<"Impossible de trouver le fichier '"<<Path<<endl; ++ std::cerr <<"Impossible de trouver le fichier '"<<Path<<std::endl; + exit(-1); + } + #endif diff --git a/pkgs/games/sgt-puzzles/default.nix b/pkgs/games/sgt-puzzles/default.nix index 83d012d35f12..b8043525719a 100644 --- a/pkgs/games/sgt-puzzles/default.nix +++ b/pkgs/games/sgt-puzzles/default.nix @@ -10,8 +10,8 @@ in rec { src = fetchsvn { url = svn://svn.tartarus.org/sgt/puzzles; - rev = "9437"; - sha256 = "4820ce1e54e017a64dd9cb8991c020d0628329605a37af2a99b78bffbde43e85"; + rev = "9689"; + sha256 = "33285a971fee67324f8867de22582931135d8b8ee4cc2c41c46c3ba81eb99cb7"; } + "/"; inherit buildInputs; @@ -27,6 +27,7 @@ rec { setVars = a.noDepEntry '' export NIX_LDFLAGS="$NIX_LDFLAGS -lX11" + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -Wno-error=variadic-macros" ''; /* doConfigure should be removed if not needed */ diff --git a/pkgs/games/spring/default.nix b/pkgs/games/spring/default.nix index 09eb41f7267f..3cb79e946311 100644 --- a/pkgs/games/spring/default.nix +++ b/pkgs/games/spring/default.nix @@ -6,11 +6,11 @@ stdenv.mkDerivation rec { name = "spring-${version}"; - version = "0.88.0"; + version = "0.91.0"; src = fetchurl { - url = "mirror://sourceforge/springrts/spring_88.0_src.tar.lzma"; - sha256 = "f203114b849a83795fe2d413d01c843b6f5b50df0832ce570bc476502f89e6fa"; + url = "mirror://sourceforge/springrts/spring_91.0_src.tar.lzma"; + sha256 = "0ycn9yxpbw58a8p3j3wf3r0x102k665l27bfp1vxq7kpwlk6314l"; }; buildInputs = [ cmake lzma boost libdevil zlib p7zip openal libvorbis freetype SDL diff --git a/pkgs/games/the-butterfly-effect/default.nix b/pkgs/games/the-butterfly-effect/default.nix index 5fc5e9be84e8..979fcd1a48c3 100644 --- a/pkgs/games/the-butterfly-effect/default.nix +++ b/pkgs/games/the-butterfly-effect/default.nix @@ -41,7 +41,7 @@ rec { mkdir -p "$out/share/tbe" cp -r . "$out/share/tbe/build-dir" mkdir -p "$out/bin" - echo '#! /bin/sh' >> "$out/bin/tbe" + echo '#!${a.stdenv.shell}' >> "$out/bin/tbe" echo "$out/share/tbe/build-dir/tbe \"\$@\"" >> "$out/bin/tbe" chmod a+x "$out/bin/tbe" '' ["minInit" "doMake" "defEnsureDir"]; diff --git a/pkgs/games/uqm/default.nix b/pkgs/games/uqm/default.nix new file mode 100644 index 000000000000..6e67ce660f14 --- /dev/null +++ b/pkgs/games/uqm/default.nix @@ -0,0 +1,78 @@ +{stdenv, fetchurl +, pkgconfig, mesa +, SDL, SDL_image, libpng, zlib, libvorbis, libogg, libmikmod, unzip +}: + +stdenv.mkDerivation rec { + name = "uqm-${version}"; + version = "0.7.0"; + + src = fetchurl { + url = "mirror://sf/sc2/uqm-${version}-source.tgz"; + sha256 = "a3695c5f7f0be7ec9c0f80ec569907b382023a1fee6e635532bd53b7b53bb221"; + }; + + content = fetchurl { + url = "mirror://sf/sc2/uqm-${version}-content.uqm"; + sha256 = "b8f6db8ba29f0628fb1d5c233830896b19f441aee3744bda671ea264b44da3bf"; + }; + + voice = fetchurl { + url = "mirror://sf/sc2/uqm-${version}-voice.uqm"; + sha256 = "bcccf801b4ba37594ff6217b292744ea586ee2d447e927804842ccae8b73c979"; + }; + + music = fetchurl { + url = "mirror://sf/sc2/uqm-${version}-3domusic.uqm"; + sha256 = "c57085e64dad4bddf8a679a9aa2adf63f2156d5f6cbabe63af80519033dbcb82"; + }; + + + /* uses pthread_cancel(), which requires libgcc_s.so.1 to be + loadable at run-time. Adding the flag below ensures that the + library can be found. Obviously, though, this is a hack. */ + NIX_LDFLAGS="-lgcc_s"; + + buildInputs = [SDL SDL_image libpng libvorbis libogg libmikmod unzip pkgconfig mesa]; + + postUnpack = '' + mkdir -p uqm-${version}/content/packages + mkdir -p uqm-${version}/content/addons + cp $content uqm-${version}/content/packages/uqm-0.7.0-content.uqm + cp $music uqm-${version}/content/addons/uqm-0.7.0-3domusic.uqm + cp $voice uqm-${version}/content/addons/uqm-0.7.0-voice.uqm + ''; + + /* uqm has a 'unique' build system with a root script incidentally called + * 'build.sh'. */ + + configurePhase = '' + echo "INPUT_install_prefix_VALUE='$out'" >> config.state + echo "INPUT_install_bindir_VALUE='$out/bin'" >> config.state + echo "INPUT_install_libdir_VALUE='$out/lib'" >> config.state + echo "INPUT_install_sharedir_VALUE='$out/share'" >> config.state + PREFIX=$out ./build.sh uqm config + ''; + + buildPhase = '' + ./build.sh uqm + ''; + + installPhase = '' + ./build.sh uqm install + sed -i $out/bin/uqm -e "s%/usr/local/games/%$out%g" + ''; + + meta = { + description = "Remake of Star Control II"; + longDescription = '' + The goals for the The Ur-Quan Masters project are: + - to bring Star Control II to modern platforms, thereby making a lot of people happy + - to make game translations easy, thereby making even more people happy + - to adapt the code so that people can more easily make their own spin-offs, thereby making zillions more people happy! + ''; + homepage = http://sc2.sourceforge.net/; + license = "GPLv2"; + maintainers = with stdenv.lib.maintainers; [ jcumming ]; + }; +} diff --git a/pkgs/games/warsow/default.nix b/pkgs/games/warsow/default.nix index c584319bdc9b..66c33842b89e 100644 --- a/pkgs/games/warsow/default.nix +++ b/pkgs/games/warsow/default.nix @@ -1,32 +1,33 @@ -{ stdenv, fetchurl, unzip, pkgconfig, zlib, curl, libjpeg, libvorbis -, libXxf86dga, libXxf86vm, libXinerama, SDL, mesa, openal +{ stdenv, fetchurl, unzip, pkgconfig, zlib, curl, libjpeg, libpng, libvorbis +, libtheora, libXxf86dga, libXxf86vm, libXinerama, SDL, mesa, openal }: stdenv.mkDerivation rec { name = "warsow-${version}"; - version = "0.62"; - mversion = "0.61"; # sometimes only engine is updated + version = "1.0"; + mversion = "1.0"; # sometimes only engine is updated src1 = fetchurl { - url = "http://www.zcdn.org/dl/warsow_${version}_sdk.zip"; - sha256 = "0nb1z55lzmwarnn71dcyg9b3k7r7wxagqxks8a7rnlq7acsnra71"; + url = "http://www.warsow.net/download?dl=sdk"; + name = "warsow_${version}_sdk.tar.gz"; + sha256 = "08hfhx3ggb8v8lsb62ki5rhdhscg8j9sndlnllinf85da1f4nf9f"; }; src2 = fetchurl { - url = "http://www.zcdn.org/dl/warsow_${mversion}_unified.zip"; - sha256 = "1b5bv4dsly7i7c4fqlkckv4da1knxl9m3kg8nlgkgr8waczgvazv"; + url = "http://www.warsow.net/download?dl=linux"; + name = "warsow_${mversion}_unified.tar.gz"; + sha256 = "1v455v4lpqda7lf2yviasdrlibvb6bsyxcadgl8bd4jcvr8x4czr"; }; unpackPhase = '' - mkdir warsow_${version}_sdk + tar xf "$src1" cd warsow_${version}_sdk - unzip $src1 - unzip $src2 + tar xf "$src2" mkdir -p source/release/ - mv warsow_${mversion}_unified/basewsw source/release/ + mv warsow_${mversion}/basewsw source/release/ cd source ''; patchPhase = '' substituteInPlace snd_openal/snd_main.c --replace libopenal.so.1 ${openal}/lib/libopenal.so.1 ''; - buildInputs = [ unzip pkgconfig zlib curl libjpeg libvorbis libXxf86dga - libXxf86vm libXinerama SDL mesa openal ]; + buildInputs = [ unzip pkgconfig zlib curl libjpeg libpng libvorbis libtheora + libXxf86dga libXxf86vm libXinerama SDL mesa openal ]; installPhase = '' dest=$out/opt/warsow cd release diff --git a/pkgs/games/widelands/boost_and_cmake_die_die_die.patch b/pkgs/games/widelands/boost_and_cmake_die_die_die.patch new file mode 100644 index 000000000000..f008be35e378 --- /dev/null +++ b/pkgs/games/widelands/boost_and_cmake_die_die_die.patch @@ -0,0 +1,11 @@ +--- widelands-build17-src.old/CMakeLists.txt 2012-04-23 02:46:49.000000000 -0700 ++++ widelands-build17-src/CMakeLists.txt 2012-07-14 19:49:14.000000000 -0700 +@@ -140,8 +140,6 @@ + else (WL_UNIT_TESTS) + message(STATUS "Disabled Unit Tests") + set (Boost_FIND_COMPONENTS signals) +- set (Boost_USE_STATIC_LIBS ON) +- set (Boost_USE_MULTITHREADED ON) + set (Boost_DETAILED_FAILURE_MSG ON) + find_package(Boost 1.35.0 COMPONENTS signals REQUIRED) + endif (WL_UNIT_TESTS) diff --git a/pkgs/games/widelands/default.nix b/pkgs/games/widelands/default.nix index 74d1f87e0be8..45538acdca3e 100644 --- a/pkgs/games/widelands/default.nix +++ b/pkgs/games/widelands/default.nix @@ -13,11 +13,11 @@ let (builtins.attrNames (builtins.removeAttrs x helperArgNames)); sourceInfo = rec { baseName="widelands"; - version="build16"; + version="build17"; name="${baseName}-${version}"; project="${baseName}"; - url="http://launchpad.net/${project}/${version}/${version}/+download/${name}-src.tar.bz2"; - hash="0pb2d73c6hynhp1x54rcfbibrrri7lyxjybd1hicn503qcakrnyq"; + url="https://launchpadlibrarian.net/102893896/widelands-build17-src.tar.bz2"; + hash="be48b3b8f342a537b39a3aec2f7702250a6a47e427188ba3bece67d7d90f3cc5"; }; in rec { @@ -30,7 +30,9 @@ rec { inherit buildInputs; /* doConfigure should be removed if not needed */ - phaseNames = ["killBuildDir" "doCmake" "doMakeInstall" "createScript"]; + phaseNames = ["killBuildDir" "doPatch" "doCmake" "doMakeInstall" "createScript"]; + + patches = [ ./boost_and_cmake_die_die_die.patch ]; killBuildDir = a.fullDepEntry '' rm -r build @@ -38,6 +40,7 @@ rec { cmakeFlags = [ "-DLUA_LIBRARIES=-llua" + "-DWL_PORTABLE=true" ]; createScript = a.fullDepEntry '' @@ -50,9 +53,16 @@ rec { meta = { description = "Widelands RTS with multiple-goods economy"; + longDescription = '' + Widelands is a real time strategy game based on "The Settlers" and "The + Settlers II". It has a single player campaign mode, as well as a networked + multiplayer mode. + ''; + maintainers = with a.lib.maintainers; [ raskin + jcumming ]; platforms = with a.lib.platforms; linux; |