Added Scorched3D.

svn path=/nixpkgs/trunk/; revision=15108
This commit is contained in:
Lluís Batlle i Rossell 2009-04-16 22:50:36 +00:00
parent 0df122b0ac
commit a81a4cfd6e
4 changed files with 133 additions and 0 deletions

View File

@ -0,0 +1,33 @@
{stdenv, fetchurl, mesa, openal, autoconf, automake, libtool, freealut, wxGTK,
freetype, fftw, SDL, SDL_net, zlib, libpng, libjpeg} :
stdenv.mkDerivation {
name = "scorched3d-42.1";
src = fetchurl {
url = mirror://sourceforge/scorched3d/Scorched3D-42.1-src.tar.gz;
sha256 = "0vhhi68ii5ldxbacsiqccsascrn3q033hnaa1ha8r9gxspzcqkl8";
};
buildInputs = [ mesa openal autoconf automake libtool freealut wxGTK
freetype fftw SDL SDL_net zlib libpng libjpeg ];
unpackPhase = "tar xvzf $src ; cd scorched";
patches = [ ./scorched3d-42.1-fixups.patch ./file-existence.patch ];
preConfigure = ''
set +e
aclocal
libtoolize --copy --force
autoconf
automake
libtoolize
set -e
'';
meta = {
homepage = http://scorched3d.co.uk/;
description = "3D Clone of the classic Scorched Earth";
license = "GPLv2+";
};
}

View File

@ -0,0 +1,37 @@
diff --git a/src/common/common/DefinesFile.cpp b/src/common/common/DefinesFile.cpp
index 6ad803d..022797a 100644
--- a/src/common/common/DefinesFile.cpp
+++ b/src/common/common/DefinesFile.cpp
@@ -36,6 +36,17 @@
#include <unistd.h>
#endif
+namespace {
+ bool fileCanBeStated(const std::string &file)
+ {
+ struct stat buf;
+ memset(&buf, 0, sizeof(buf));
+ int result = stat(file.c_str(), &buf );
+
+ return result == 0;
+ }
+}
+
std::string S3D::getHomeDir()
{
#ifdef _WIN32
@@ -74,12 +85,12 @@ bool S3D::dirMake(const std::string &file)
bool S3D::fileExists(const std::string &file)
{
- return (S3D::fileModTime(file) != 0);
+ return fileCanBeStated(file);
}
bool S3D::dirExists(const std::string &file)
{
- return (S3D::fileModTime(file) != 0);
+ return fileCanBeStated(file);
}
time_t S3D::fileModTime(const std::string &file)

View File

@ -0,0 +1,58 @@
diff -ru scorched.orig/configure-al.m4 scorched/configure-al.m4
--- scorched.orig/configure-al.m4 2008-03-03 16:17:18.000000000 -0500
+++ scorched/configure-al.m4 2009-02-15 20:43:35.000000000 -0500
@@ -7,25 +7,9 @@
[ --disable-openaltest Do not try to compile and run a test OpenAL program],
, enable_openaltest=yes)
AC_MSG_CHECKING(for OpenAL support)
-AC_PATH_PROG(OPENAL_CONFIG, openal-config, no)
-if test x$OPENAL_CONFIG = xno; then
- echo "*** The openal-config script installed by OpenAL could not be found"
- echo "*** Make sure openal-config is in your path, or set the OPENAL_CONFIG"
- echo "*** environment variable to the full path to openal-config."
-
- AC_MSG_ERROR([*** Can't find the openal library. Try: http://www.openal.org/])
-else
-
- if test x"$use_static_openal" = x"yes"; then
- AL_LIBS="/usr/local/lib/libopenal.a"
- else
- AL_LIBS="`$OPENAL_CONFIG --libs`"
- fi
-
- AL_CFLAGS="`$OPENAL_CONFIG --cflags`"
-
- AC_MSG_RESULT(yes)
-fi
+AL_LIBS="-lopenal"
+AL_CFLAGS="-I/usr/include/AL"
+AC_MSG_RESULT(yes)
AC_MSG_CHECKING(for Freealut support)
AC_PATH_PROG(FREEALUT_CONFIG, freealut-config, no)
diff -ru scorched.orig/configure.ac scorched/configure.ac
--- scorched.orig/configure.ac 2008-03-03 16:17:18.000000000 -0500
+++ scorched/configure.ac 2009-02-15 20:40:30.000000000 -0500
@@ -13,22 +13,6 @@
AC_PROG_INSTALL
AC_PROG_RANLIB
-LDFLAGS="-L/usr/X11R6/lib -L/usr/X11R6"
-CPPFLAGS="-I/usr/X11R6/include -I/usr/X11R6"
-
-if test `uname` == Darwin; then
-LDFLAGS="$LDFLAGS -lmx"
-CPPFLAGS="$CPPFLAGS -DFFTW_USE_DOUBLE -D__DARWIN__ -D__MACOSX__"
-else
-LDFLAGS="$LDFLAGS -L/usr/local/lib"
-CPPFLAGS="$CPPFLAGS -I/usr/local/include"
-fi
-
-AC_CHECK_LIB(fridge, beer, echo "Hmm?!",[
- echo "Warning: No beer found in fridge!";
- echo "We highly suggest that you rectify this situation immediately."
-])
-
AC_ARG_ENABLE(serveronly,
[ --enable-serveronly Enable server only compilation],
, enable_serveronly=no,

View File

@ -9395,6 +9395,11 @@ let
inherit fetchurl stdenv SDL zlib mpeg2dec;
};
scorched3d = import ../games/scorched3d {
inherit stdenv fetchurl mesa openal autoconf automake libtool freealut freetype fftw SDL SDL_net zlib libpng libjpeg;
wxGTK = wxGTK28;
};
sgtpuzzles = builderDefsPackage (import ../games/sgt-puzzles) {
inherit (gtkLibs) gtk glib;
inherit pkgconfig;