28b6fb61e6
This is done for the sake of Yosemite, which does not have gcc, and yet this change is also compatible with Linux.
75 lines
2.6 KiB
Nix
75 lines
2.6 KiB
Nix
{ stdenv, config, requireFile
|
|
, curl3, SDL, SDL_image, libpng12, libjpeg62, libvorbis, libogg, openal, mesa
|
|
, libX11, libXext, libXft, fontconfig, zlib }:
|
|
|
|
assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
|
|
|
|
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";
|
|
};
|
|
|
|
arch = if stdenv.system == "i686-linux" then "x86" else "x86_64";
|
|
|
|
phases = "unpackPhase installPhase";
|
|
|
|
# XXX: stdenv.lib.makeLibraryPath doesn't pick up /lib64
|
|
libPath = stdenv.lib.makeLibraryPath [ stdenv.cc.gcc stdenv.cc.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.cc.gcc + "/lib64";
|
|
|
|
installPhase = ''
|
|
mkdir -p $out/libexec/positech/GSB/
|
|
mkdir -p $out/bin
|
|
|
|
patchelf \
|
|
--interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
|
|
--set-rpath $libPath \
|
|
./GSB.bin.$arch
|
|
|
|
cp -r * $out/libexec/positech/GSB/
|
|
rm -rf $out/libexec/positech/GSB/lib64/
|
|
rm -rf $out/libexec/positech/GSB/lib/
|
|
|
|
#makeWrapper doesn't do cd. :(
|
|
|
|
cat > $out/bin/GSB << EOF
|
|
#!/bin/sh
|
|
cd $out/libexec/positech/GSB
|
|
exec ./GSB.bin.$arch
|
|
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 ];
|
|
platforms = [ "x86_64-linux" "i686-linux" ] ;
|
|
};
|
|
|
|
}
|