summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/games/urbanterror/default.nix73
-rw-r--r--pkgs/top-level/all-packages.nix4
2 files changed, 77 insertions, 0 deletions
diff --git a/pkgs/games/urbanterror/default.nix b/pkgs/games/urbanterror/default.nix
new file mode 100644
index 00000000000..c5e562ced53
--- /dev/null
+++ b/pkgs/games/urbanterror/default.nix
@@ -0,0 +1,73 @@
+{ stdenv, fetchurl, unzip, SDL, mesa, curl, openal }:
+stdenv.mkDerivation rec {
+  name = "urbanterror-${version}";
+  version = "4.1";
+  src1 = fetchurl {
+    url = "http://ftp.snt.utwente.nl/pub/games/urbanterror/UrbanTerror_41_FULL.zip";
+    sha256 = "0pr6xpwq8zllc0xsdxl8cfd0zz5fhggw5fsbrizygr6hhdvra1jp";
+  };
+  src2 = fetchurl {
+    url = "http://ftp.snt.utwente.nl/pub/games/urbanterror/iourbanterror/source/complete/ioUrbanTerrorSource_2007_12_20.zip";
+    sha256 = "1s1wq9m7shhvvk7s4400yrmz7dys501i4c9ln1mglc9dhmi8dmcn";
+  };
+  unpackPhase = ''
+    mkdir urbanterror
+    cd urbanterror
+    unzip $src1
+    unzip $src2
+  '';
+  # FIXME
+  #patchPhase = ''
+  #  cd ioUrbanTerrorClientSource
+  #  substituteInPlace code/client/snd_openal.c \
+  #                    --replace libopenal.so.0 ${openal}/lib/libopenal.so
+  #  substituteInPlace code/client/cl_curl.h \
+  #                    --replace libcurl.so.3 ${curl}/lib/libcurl.so
+  #  cd ..
+  #'';
+  buildInputs = [ unzip SDL mesa ];
+  buildPhase = ''
+    for d in ioUrbanTerrorClientSource ioUrbanTerrorServerSource
+    do
+      cd $d
+      make
+      cd ..
+    done
+  '';
+  installPhase = ''
+    destDir="$out/opt/urbanterror"
+    ensureDir "$destDir"
+    ensureDir "$out/bin"
+    cp -v ioUrbanTerrorClientSource/build/release-linux-*/ioUrbanTerror.* \
+          "$destDir/ioUrbanTerror"
+    cp -v ioUrbanTerrorServerSource/build/release-linux-*/ioUrTded.* \
+          "$destDir/ioUrTded"
+    cp -rv UrbanTerror/q3ut4 "$destDir"
+    cat << EOF > "$out/bin/urbanterror"
+#!/bin/sh
+cd "$destDir"
+exec ./ioUrbanTerror "\$@"
+EOF
+    chmod +x "$out/bin/urbanterror"
+    cat << EOF > "$out/bin/urbanterror-ded"
+#!/bin/sh
+cd "$destDir"
+exec ./ioUrTded "\$@"
+EOF
+    chmod +x "$out/bin/urbanterror-ded"
+  '';
+  meta = {
+    description = "A multiplayer tactical FPS on top of Quake 3 engine";
+    longDescription = ''
+      Urban Terror is a free multiplayer first person shooter developed by
+      FrozenSand, that (thanks to the ioquake3-code) does not require
+      Quake III Arena anymore. Urban Terror can be described as a Hollywood
+      tactical shooter; somewhat realism based, but the motto is "fun over
+      realism". This results in a very unique, enjoyable and addictive game.
+    '';
+    homepage = http://www.urbanterror.net;
+    license = [ "unfree-redistributable" ];
+    maintainers = with stdenv.lib.maintainers; [ astsmtl ];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 39adf443a43..c61a5f3991c 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -8291,6 +8291,10 @@ let
     inherit stdenv fetchurl SDL mesa SDL_image freealut;
   };
 
+  urbanterror = import ../games/urbanterror {
+    inherit fetchurl stdenv unzip SDL mesa curl openal;
+  };
+
   ut2004demo = import ../games/ut2004demo {
     inherit fetchurl stdenv xlibs mesa;
   };