2013-09-16 05:07:11 +01:00
|
|
|
{ stdenv, config, requireFile
|
|
|
|
, curl3, SDL, SDL_image, libpng12, libjpeg62, libvorbis, libogg, openal, mesa
|
|
|
|
, libX11, libXext, libXft, fontconfig, zlib }:
|
|
|
|
|
2013-10-01 06:45:43 +01:00
|
|
|
assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
|
2013-09-16 05:07:11 +01:00
|
|
|
|
|
|
|
stdenv.mkDerivation rec {
|
|
|
|
name = "gsb-1.56.0";
|
|
|
|
|
|
|
|
goBuyItNow = ''
|
|
|
|
We cannot download the full version automatically, as you require a license.
|
|
|
|
Once you bought a license, you need to add your downloaded version to the nix store.
|
|
|
|
You can do this by using "nix-prefetch-url file://gsb1324679796.tar.gz" in the
|
|
|
|
directory where you saved it.
|
|
|
|
'';
|
|
|
|
|
|
|
|
src = requireFile {
|
|
|
|
message = goBuyItNow;
|
|
|
|
name = "gsb1324679796.tar.gz";
|
|
|
|
sha256 = "12jsz9v55w9zxwiz4kbm6phkv60q3c2kyv5imsls13385pzwcs8i";
|
|
|
|
};
|
|
|
|
|
2013-10-01 06:45:43 +01:00
|
|
|
arch = if stdenv.system == "i686-linux" then "x86" else "x86_64";
|
|
|
|
|
2013-09-16 05:07:11 +01:00
|
|
|
phases = "unpackPhase installPhase";
|
|
|
|
|
|
|
|
# XXX: stdenv.lib.makeLibraryPath doesn't pick up /lib64
|
|
|
|
libPath = stdenv.lib.makeLibraryPath [ stdenv.gcc.gcc stdenv.gcc.libc ]
|
|
|
|
+ ":" + stdenv.lib.makeLibraryPath [ SDL SDL_image libjpeg62 libpng12 mesa ]
|
|
|
|
+ ":" + stdenv.lib.makeLibraryPath [ curl3 openal libvorbis libogg ]
|
|
|
|
+ ":" + stdenv.lib.makeLibraryPath [ libX11 libXext libXft fontconfig zlib ]
|
|
|
|
+ ":" + stdenv.gcc.gcc + "/lib64";
|
|
|
|
|
|
|
|
installPhase = ''
|
2014-06-30 13:56:10 +01:00
|
|
|
mkdir -p $out/libexec/positech/GSB/
|
|
|
|
mkdir -p $out/bin
|
2013-09-16 05:07:11 +01:00
|
|
|
|
2013-10-01 06:45:43 +01:00
|
|
|
patchelf \
|
|
|
|
--interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
|
|
|
|
--set-rpath $libPath \
|
|
|
|
./GSB.bin.$arch
|
2013-09-16 05:07:11 +01:00
|
|
|
|
|
|
|
cp -r * $out/libexec/positech/GSB/
|
|
|
|
rm -rf $out/libexec/positech/GSB/lib64/
|
2013-10-01 06:45:43 +01:00
|
|
|
rm -rf $out/libexec/positech/GSB/lib/
|
2013-09-16 05:07:11 +01:00
|
|
|
|
|
|
|
#makeWrapper doesn't do cd. :(
|
|
|
|
|
|
|
|
cat > $out/bin/GSB << EOF
|
|
|
|
#!/bin/sh
|
|
|
|
cd $out/libexec/positech/GSB
|
2013-10-01 06:45:43 +01:00
|
|
|
exec ./GSB.bin.$arch
|
2013-09-16 05:07:11 +01:00
|
|
|
EOF
|
|
|
|
chmod +x $out/bin/GSB
|
|
|
|
'';
|
|
|
|
|
|
|
|
meta = {
|
|
|
|
description = "Gratuitous Space Battles";
|
|
|
|
longDescription = ''
|
|
|
|
a strategy / management / simulation game that does away with all the
|
|
|
|
base building and delays and gets straight to the meat and potatoes of
|
|
|
|
science-fiction games : The big space battles fought by huge spaceships with
|
|
|
|
tons of laser beams and things going 'zap!', 'ka-boom!' and 'ka-pow!'. In GSB
|
|
|
|
you put your ships together from modular components, arrange them into fleets,
|
|
|
|
give your ships orders of engagement and then hope they emerge victorious from
|
|
|
|
battle (or at least blow to bits in aesthetically pleasing ways).
|
|
|
|
'';
|
|
|
|
homepage = http://www.positech.co.uk/gratuitousspacebattles/index.html;
|
|
|
|
license = [ "unfree" ];
|
|
|
|
maintainers = with stdenv.lib.maintainers; [ jcumming ];
|
2013-10-01 06:45:43 +01:00
|
|
|
platforms = [ "x86_64-linux" "i686-linux" ] ;
|
2013-09-16 05:07:11 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
}
|