- openttd 1.2.2, rili 2.0.1, widelands-build17, uqm-0.7.0

This commit is contained in:
Jack Cummings 2012-10-04 23:32:34 -07:00
parent bc9bff1da4
commit 22ece175a0
7 changed files with 523 additions and 10 deletions

View file

@ -1,19 +1,28 @@
{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".'';
homepage = http://www.openttd.org/;

View file

@ -0,0 +1,24 @@
{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"
'';
buildInputs = [SDL SDL_mixer autoconf automake];
meta = {
homepage = http://ri-li.sourceforge.net;
license = "GPL2+";
description = "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.";
};
}

View file

@ -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

View file

@ -0,0 +1,71 @@
{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 = ''Urquan Masters is an open source clone of the Classic top-down space battle Star Cotnrol '';
homepage = http://sc2.sourceforge.net/;
license = "GPLv2";
};
}

View file

@ -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)

View file

@ -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 ''

View file

@ -8177,6 +8177,8 @@ let
mygui = myguiSvn;
};
rili = callPackage ../games/rili { };
rogue = callPackage ../games/rogue { };
sauerbraten = callPackage ../games/sauerbraten {};
@ -8257,6 +8259,8 @@ let
lua = lua5;
};
uqm = callPackage ../games/uqm { };
urbanterror = callPackage ../games/urbanterror { };
ut2004demo = callPackage ../games/ut2004demo { };