summary refs log tree commit diff
path: root/pkgs/games
diff options
context:
space:
mode:
authorPeter Simons <simons@cryp.to>2013-05-22 12:30:02 +0200
committerPeter Simons <simons@cryp.to>2013-05-22 12:30:02 +0200
commit728e305205a6b412740f07c4736b9e8058c1160c (patch)
tree4936c9cb9452ef42eb9db10b33f852e565987269 /pkgs/games
parent986f36194650e2a41451cbfb9f29ce1c66a62df3 (diff)
parent398e4a15b0b26e4d3fda3e23b71f9b54a2fbd67d (diff)
downloadnixpkgs-728e305205a6b412740f07c4736b9e8058c1160c.tar
nixpkgs-728e305205a6b412740f07c4736b9e8058c1160c.tar.gz
nixpkgs-728e305205a6b412740f07c4736b9e8058c1160c.tar.bz2
nixpkgs-728e305205a6b412740f07c4736b9e8058c1160c.tar.lz
nixpkgs-728e305205a6b412740f07c4736b9e8058c1160c.tar.xz
nixpkgs-728e305205a6b412740f07c4736b9e8058c1160c.tar.zst
nixpkgs-728e305205a6b412740f07c4736b9e8058c1160c.zip
Merge remote-tracking branch 'origin/master' into stdenv-updates.
Diffstat (limited to 'pkgs/games')
-rw-r--r--pkgs/games/LambdaHack/default.nix5
-rw-r--r--pkgs/games/MazesOfMonad/default.nix5
-rw-r--r--pkgs/games/uqm/3dovideo.nix64
-rw-r--r--pkgs/games/uqm/default.nix23
-rw-r--r--pkgs/games/xboard/default.nix8
5 files changed, 87 insertions, 18 deletions
diff --git a/pkgs/games/LambdaHack/default.nix b/pkgs/games/LambdaHack/default.nix
index 5e6596d19dd..48c4809e5cd 100644
--- a/pkgs/games/LambdaHack/default.nix
+++ b/pkgs/games/LambdaHack/default.nix
@@ -16,9 +16,6 @@ cabal.mkDerivation (self: {
     description = "A roguelike game engine in early and active development";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
-    ];
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/games/MazesOfMonad/default.nix b/pkgs/games/MazesOfMonad/default.nix
index 92c7a17d7d9..0e2abf6d7c7 100644
--- a/pkgs/games/MazesOfMonad/default.nix
+++ b/pkgs/games/MazesOfMonad/default.nix
@@ -11,9 +11,6 @@ cabal.mkDerivation (self: {
     description = "Console-based Role Playing Game";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
-    ];
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/games/uqm/3dovideo.nix b/pkgs/games/uqm/3dovideo.nix
new file mode 100644
index 00000000000..4aab9aed42c
--- /dev/null
+++ b/pkgs/games/uqm/3dovideo.nix
@@ -0,0 +1,64 @@
+{ stdenv, requireFile, writeText, fetchgit, haskellPackages }:
+
+with stdenv.lib;
+
+let
+  makeSpin = num: let
+    padded = (optionalString (lessThan num 10) "0") + toString num;
+  in "slides.spins.${padded} = 3DOVID:" +
+     "addons/3dovideo/spins/ship${padded}.duk:" +
+     "addons/3dovideo/spins/spin.aif:" +
+     "addons/3dovideo/spins/ship${padded}.aif:89";
+
+  videoRMP = writeText "3dovideo.rmp" (''
+    slides.ending = 3DOVID:addons/3dovideo/ending/victory.duk
+    slides.intro = 3DOVID:addons/3dovideo/intro/intro.duk
+  '' + concatMapStrings makeSpin (range 0 24));
+
+  helper = with haskellPackages; cabal.mkDerivation (self: {
+    pname = "uqm3donix";
+    version = "0.1.0.0";
+
+    src = fetchgit {
+      url = "git://github.com/aszlig/uqm3donix.git";
+      rev = "97fc4fd736dcf9fe03e6e5a2c347c5bdc71c8366";
+      sha256 = "09ws6j21mxkcjx444fxkf8a3q17jj6i7h2i9pf5ky52f6xds1h0j";
+    };
+
+    isLibrary = false;
+    isExecutable = true;
+
+    buildDepends = [ binary filepath tar ];
+
+    meta = {
+      description = "Extract video files from a Star Control II 3DO image";
+      license = self.stdenv.lib.licenses.bsd3;
+      platforms = self.ghc.meta.platforms;
+    };
+  });
+
+in stdenv.mkDerivation {
+  name = "uqm-3dovideo";
+
+  src = requireFile rec {
+    name = "videos.tar";
+    sha256 = "044h0cl69r0kc43vk4n0akk0prwzb7inq324h5yfqb38sd4zkds1";
+    message = ''
+      In order to get the intro and ending sequences from the 3DO version, you
+      need to have the original 3DO Star Control II CD. Create an image from the
+      CD and use uqm3donix* to extract a tarball with the videos from it. The
+      reason for this is because the 3DO uses its own proprietary disk format.
+
+      Save the file as videos.tar and use "nix-prefetch-url file://${name}" to
+      add it to the Nix store.
+
+      [*] ${helper}/bin/uqm3donix CDIMAGE ${name}
+    '';
+  };
+
+  buildCommand = ''
+    mkdir -vp "$out"
+    tar xf "$src" -C "$out" --strip-components=3
+    cp "${videoRMP}" "$out/3dovideo.rmp"
+  '';
+}
diff --git a/pkgs/games/uqm/default.nix b/pkgs/games/uqm/default.nix
index a9fe9d596c7..1f82c75f9cf 100644
--- a/pkgs/games/uqm/default.nix
+++ b/pkgs/games/uqm/default.nix
@@ -1,9 +1,18 @@
-{stdenv, fetchurl 
+{ stdenv, fetchurl
 , pkgconfig, mesa
 , SDL, SDL_image, libpng, zlib, libvorbis, libogg, libmikmod, unzip
+, use3DOVideos ? false, requireFile ? null, writeText ? null
+, fetchgit ? null, haskellPackages ? null
 }:
 
-stdenv.mkDerivation rec {
+assert use3DOVideos -> requireFile != null && writeText != null
+                    && fetchgit != null && haskellPackages != null;
+
+let
+  videos = import ./3dovideo.nix {
+    inherit stdenv requireFile writeText fetchgit haskellPackages;
+  };
+in stdenv.mkDerivation rec {
   name = "uqm-${version}";
   version = "0.7.0";
 
@@ -41,7 +50,9 @@ stdenv.mkDerivation rec {
     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
-    '';
+  '' + stdenv.lib.optionalString use3DOVideos ''
+    ln -s "${videos}" "uqm-${version}/content/addons/3dovideo"
+  '';
 
   /* uqm has a 'unique' build system with a root script incidentally called
  * 'build.sh'. */
@@ -52,16 +63,16 @@ stdenv.mkDerivation rec {
     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 = "Remake of Star Control II";
diff --git a/pkgs/games/xboard/default.nix b/pkgs/games/xboard/default.nix
index a21911f4067..21870fc3777 100644
--- a/pkgs/games/xboard/default.nix
+++ b/pkgs/games/xboard/default.nix
@@ -5,11 +5,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="xboard";
-    version="4.7.0";
+    version="4.7.1";
     name="${baseName}-${version}";
-    hash="15azbnyfapjppfni9k99sk68af1kg60nnh95rz8jgb3i2xv5y5m7";
-    url="http://ftp.gnu.org/gnu/xboard/xboard-4.7.0.tar.gz";
-    sha256="15azbnyfapjppfni9k99sk68af1kg60nnh95rz8jgb3i2xv5y5m7";
+    hash="0hnav2swswaf0463c4wnmgwaif3g42f2a1mqyqc5fa1py32iy6ry";
+    url="http://ftp.gnu.org/gnu/xboard/xboard-4.7.1.tar.gz";
+    sha256="0hnav2swswaf0463c4wnmgwaif3g42f2a1mqyqc5fa1py32iy6ry";
   };
   buildInputs = [
     libX11 xproto libXt libXaw libSM libICE libXmu