summary refs log tree commit diff
path: root/pkgs/games
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/games')
-rw-r--r--pkgs/games/nexuiz/default.nix76
-rw-r--r--pkgs/games/xonotic/default.nix26
2 files changed, 97 insertions, 5 deletions
diff --git a/pkgs/games/nexuiz/default.nix b/pkgs/games/nexuiz/default.nix
new file mode 100644
index 000000000000..e40dec3c23fc
--- /dev/null
+++ b/pkgs/games/nexuiz/default.nix
@@ -0,0 +1,76 @@
+{ stdenv, fetchurl
+, # required for both
+  unzip, zlib, curl, libjpeg, libpng, libvorbis, libtheora
+, libogg, libmodplug
+, # glx
+  libX11, mesa, libXpm, libXext, libXxf86vm, libXxf86dga, alsaLib
+, # sdl
+  SDL
+}:
+
+let
+  version = "2.5.2";
+
+  version_short = stdenv.lib.replaceChars [ "." ] [ "" ] "${version}";
+in stdenv.mkDerivation {
+  name = "nexuiz-${version}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/nexuiz/nexuiz-${version_short}.zip";
+    sha256 = "0010jrxc68qqinkvdh1qn2b8z3sa5v1kcd8d1m4llp3pr6y7xqm5";
+  };
+
+  buildInputs = [
+    # required for both
+    unzip
+    # glx
+    libX11 mesa libXpm libXext libXxf86vm libXxf86dga alsaLib
+    # sdl
+    SDL
+  ];
+
+  postUnpack = ''
+    cd Nexuiz/sources/
+    unzip enginesource*.zip
+    cd ../../
+  '';
+
+  NIX_LDFLAGS = ''
+    -rpath ${zlib}/lib
+    -rpath ${curl}/lib
+    -rpath ${libjpeg}/lib
+    -rpath ${libpng}/lib
+    -rpath ${libvorbis}/lib
+    -rpath ${libtheora}/lib
+    -rpath ${libogg}/lib
+    -rpath ${libmodplug}/lib
+  '';
+
+  buildPhase = ''
+    cd sources/darkplaces/
+    DP_FS_BASEDIR="$out/share/nexuiz"
+    make DP_FS_BASEDIR=$DP_FS_BASEDIR cl-release
+    make DP_FS_BASEDIR=$DP_FS_BASEDIR sdl-release
+    make DP_FS_BASEDIR=$DP_FS_BASEDIR sv-release
+    cd ../../
+  '';
+
+  installPhase = ''
+    mkdir -pv "$out/bin/"
+    cp -v sources/darkplaces/darkplaces-glx "$out/bin/nexuiz-glx"
+    cp -v sources/darkplaces/darkplaces-sdl "$out/bin/nexuiz-sdl"
+    cp -v sources/darkplaces/darkplaces-dedicated "$out/bin/nexuiz-dedicated"
+    mkdir -pv "$out/share/nexuiz/"
+    cp -rv data/ "$out/share/nexuiz/"
+    ln -s "$out/bin/nexuiz-sdl" "$out/bin/nexuiz"
+  '';
+
+  dontPatchELF = true;
+
+  meta = {
+    description = "A free fast-paced first-person shooter";
+    homepage = "http://www.alientrap.org/games/nexuiz";
+    license = stdenv.lib.licenses.gpl2;
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/games/xonotic/default.nix b/pkgs/games/xonotic/default.nix
index 137429cdc838..9db82d722d27 100644
--- a/pkgs/games/xonotic/default.nix
+++ b/pkgs/games/xonotic/default.nix
@@ -1,4 +1,11 @@
-{ stdenv, fetchurl, unzip, SDL, libjpeg, zlib, libvorbis, curl }:
+{ stdenv, fetchurl
+, # required for both
+  unzip, libjpeg, zlib, libvorbis, curl
+, # glx
+  libX11, mesa, libXpm, libXext, libXxf86vm, alsaLib
+, # sdl
+  SDL
+}:
 
 stdenv.mkDerivation rec {
   name = "xonotic-0.7.0";
@@ -8,9 +15,14 @@ stdenv.mkDerivation rec {
     sha256 = "21a5fb5493c269cd3843789cb8598f952d4196e8bc71804b9bd5808b646542c6";
   };
 
-  # Commented out things needed to build cl-release because of errors.
-  #buildInputs = [ libX11 libXpm libXext xf86dgaproto libXxf86dga libXxf86vm mesa ];
-  buildInputs = [ unzip SDL libjpeg ];
+  buildInputs = [
+    # required for both
+    unzip libjpeg
+    # glx
+    libX11 mesa libXpm libXext libXxf86vm alsaLib
+    # sdl
+    SDL
+  ];
 
   sourceRoot = "Xonotic/source/darkplaces";
 
@@ -27,7 +39,7 @@ stdenv.mkDerivation rec {
 
   buildPhase = ''
     DP_FS_BASEDIR="$out/share/xonotic"
-    #make DP_FS_BASEDIR=$DP_FS_BASEDIR cl-release
+    make DP_FS_BASEDIR=$DP_FS_BASEDIR cl-release
     make DP_FS_BASEDIR=$DP_FS_BASEDIR sdl-release
     make DP_FS_BASEDIR=$DP_FS_BASEDIR sv-release
   '';
@@ -36,9 +48,13 @@ stdenv.mkDerivation rec {
     mkdir -p "$out/bin"
     cp darkplaces-dedicated "$out/bin/xonotic-dedicated"
     cp darkplaces-sdl "$out/bin/xonotic-sdl"
+    cp darkplaces-glx "$out/bin/xonotic-glx"
     cd ../..
     mkdir -p "$out/share/xonotic"
     mv data "$out/share/xonotic"
+
+    # default to sdl
+    ln -s "$out/bin/xonotic-sdl" "$out/bin/xonotic"
   '';
 
   dontPatchELF = true;