about summary refs log tree commit diff
path: root/pkgs/games/uqm/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/games/uqm/default.nix')
-rw-r--r--pkgs/games/uqm/default.nix43
1 files changed, 31 insertions, 12 deletions
diff --git a/pkgs/games/uqm/default.nix b/pkgs/games/uqm/default.nix
index 1f82c75f9cf05..07055c4155856 100644
--- a/pkgs/games/uqm/default.nix
+++ b/pkgs/games/uqm/default.nix
@@ -1,39 +1,56 @@
 { stdenv, fetchurl
 , pkgconfig, mesa
 , SDL, SDL_image, libpng, zlib, libvorbis, libogg, libmikmod, unzip
+
 , use3DOVideos ? false, requireFile ? null, writeText ? null
-, fetchgit ? null, haskellPackages ? null
+, haskellPackages ? null
+
+, useRemixPacks ? false
 }:
 
 assert use3DOVideos -> requireFile != null && writeText != null
-                    && fetchgit != null && haskellPackages != null;
+                    && haskellPackages != null;
+
+with stdenv.lib;
 
 let
   videos = import ./3dovideo.nix {
-    inherit stdenv requireFile writeText fetchgit haskellPackages;
+    inherit stdenv requireFile writeText fetchurl haskellPackages;
   };
+
+  remixPacks = imap (num: sha256: fetchurl rec {
+    name = "uqm-remix-disc${toString num}.uqm";
+    url = "mirror://sourceforge/sc2/${name}";
+    inherit sha256;
+  }) [
+    "1s470i6hm53l214f2rkrbp111q4jyvnxbzdziqg32ffr8m3nk5xn"
+    "1pmsq65k8gk4jcbyk3qjgi9yqlm0dlaimc2r8hz2fc9f2124gfvz"
+    "07g966ylvw9k5q9jdzqdczp7c5qv4s91xjlg4z5z27fgcs7rzn76"
+    "1l46k9aqlcp7d3fjkjb3n05cjfkxx8rjlypgqy0jmdx529vikj54"
+  ];
+
 in stdenv.mkDerivation rec {
   name = "uqm-${version}";
   version = "0.7.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/sc2/uqm-${version}-source.tgz";
-    sha256 = "a3695c5f7f0be7ec9c0f80ec569907b382023a1fee6e635532bd53b7b53bb221";
+    sha256 = "08dj7fsvflxx69an6vpf3wx050mk0ycmdv401yffrrqbgxgmqsd3";
   };
 
   content = fetchurl {
     url = "mirror://sourceforge/sc2/uqm-${version}-content.uqm";
-    sha256 = "b8f6db8ba29f0628fb1d5c233830896b19f441aee3744bda671ea264b44da3bf";
+    sha256 = "1gx39ns698hyczd4nx73mr0z86bbi4q3h8sw3pxjh1lzla5xpxmq";
   };
 
   voice = fetchurl {
     url = "mirror://sourceforge/sc2/uqm-${version}-voice.uqm";
-    sha256 = "bcccf801b4ba37594ff6217b292744ea586ee2d447e927804842ccae8b73c979";
+    sha256 = "0yf9ff5sxk229202gsa7ski6wn7a8hkjjyr1yr7mjdxsnh0zik5w";
   };
 
   music = fetchurl {
     url = "mirror://sourceforge/sc2/uqm-${version}-3domusic.uqm";
-    sha256 = "c57085e64dad4bddf8a679a9aa2adf63f2156d5f6cbabe63af80519033dbcb82";
+    sha256 = "10nbvcrr0lc0mxivxfkcbxnibwk3vwmamabrlvwdsjxd9pk8aw65";
   };
 
 
@@ -47,10 +64,12 @@ in stdenv.mkDerivation rec {
   postUnpack = ''
     mkdir -p uqm-${version}/content/packages
     mkdir -p uqm-${version}/content/addons
-    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 "$content" "uqm-${version}/content/packages/uqm-0.7.0-content.uqm"
+    ln -s "$music" "uqm-${version}/content/addons/uqm-0.7.0-3domusic.uqm"
+    ln -s "$voice" "uqm-${version}/content/addons/uqm-0.7.0-voice.uqm"
+  '' + optionalString useRemixPacks (concatMapStrings (disc: ''
+    ln -s "${disc}" "uqm-$version/content/addons/${disc.name}"
+  '') remixPacks) + optionalString use3DOVideos ''
     ln -s "${videos}" "uqm-${version}/content/addons/3dovideo"
   '';
 
@@ -84,6 +103,6 @@ in stdenv.mkDerivation rec {
     '';
     homepage = http://sc2.sourceforge.net/;
     license = "GPLv2";
-    maintainers = with stdenv.lib.maintainers; [ jcumming ];
+    maintainers = with maintainers; [ jcumming aszlig ];
   };
 }