Added Scorched3D.
svn path=/nixpkgs/trunk/; revision=15108
This commit is contained in:
parent
0df122b0ac
commit
a81a4cfd6e
33
pkgs/games/scorched3d/default.nix
Normal file
33
pkgs/games/scorched3d/default.nix
Normal 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+";
|
||||||
|
};
|
||||||
|
}
|
37
pkgs/games/scorched3d/file-existence.patch
Normal file
37
pkgs/games/scorched3d/file-existence.patch
Normal 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)
|
58
pkgs/games/scorched3d/scorched3d-42.1-fixups.patch
Normal file
58
pkgs/games/scorched3d/scorched3d-42.1-fixups.patch
Normal 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,
|
|
@ -9395,6 +9395,11 @@ let
|
||||||
inherit fetchurl stdenv SDL zlib mpeg2dec;
|
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) {
|
sgtpuzzles = builderDefsPackage (import ../games/sgt-puzzles) {
|
||||||
inherit (gtkLibs) gtk glib;
|
inherit (gtkLibs) gtk glib;
|
||||||
inherit pkgconfig;
|
inherit pkgconfig;
|
||||||
|
|
Loading…
Reference in a new issue