diff options
Diffstat (limited to 'pkgs/games/uqm/default.nix')
-rw-r--r-- | pkgs/games/uqm/default.nix | 43 |
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 ]; }; } |