diff options
Diffstat (limited to 'pkgs/games/uqm/default.nix')
-rw-r--r-- | pkgs/games/uqm/default.nix | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/pkgs/games/uqm/default.nix b/pkgs/games/uqm/default.nix new file mode 100644 index 000000000000..6e67ce660f14 --- /dev/null +++ b/pkgs/games/uqm/default.nix @@ -0,0 +1,78 @@ +{stdenv, fetchurl +, pkgconfig, mesa +, SDL, SDL_image, libpng, zlib, libvorbis, libogg, libmikmod, unzip +}: + +stdenv.mkDerivation rec { + name = "uqm-${version}"; + version = "0.7.0"; + + src = fetchurl { + url = "mirror://sf/sc2/uqm-${version}-source.tgz"; + sha256 = "a3695c5f7f0be7ec9c0f80ec569907b382023a1fee6e635532bd53b7b53bb221"; + }; + + content = fetchurl { + url = "mirror://sf/sc2/uqm-${version}-content.uqm"; + sha256 = "b8f6db8ba29f0628fb1d5c233830896b19f441aee3744bda671ea264b44da3bf"; + }; + + voice = fetchurl { + url = "mirror://sf/sc2/uqm-${version}-voice.uqm"; + sha256 = "bcccf801b4ba37594ff6217b292744ea586ee2d447e927804842ccae8b73c979"; + }; + + music = fetchurl { + url = "mirror://sf/sc2/uqm-${version}-3domusic.uqm"; + sha256 = "c57085e64dad4bddf8a679a9aa2adf63f2156d5f6cbabe63af80519033dbcb82"; + }; + + + /* uses pthread_cancel(), which requires libgcc_s.so.1 to be + loadable at run-time. Adding the flag below ensures that the + library can be found. Obviously, though, this is a hack. */ + NIX_LDFLAGS="-lgcc_s"; + + buildInputs = [SDL SDL_image libpng libvorbis libogg libmikmod unzip pkgconfig mesa]; + + 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 + ''; + + /* uqm has a 'unique' build system with a root script incidentally called + * 'build.sh'. */ + + configurePhase = '' + echo "INPUT_install_prefix_VALUE='$out'" >> config.state + echo "INPUT_install_bindir_VALUE='$out/bin'" >> config.state + 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"; + longDescription = '' + The goals for the The Ur-Quan Masters project are: + - to bring Star Control II to modern platforms, thereby making a lot of people happy + - to make game translations easy, thereby making even more people happy + - to adapt the code so that people can more easily make their own spin-offs, thereby making zillions more people happy! + ''; + homepage = http://sc2.sourceforge.net/; + license = "GPLv2"; + maintainers = with stdenv.lib.maintainers; [ jcumming ]; + }; +} |