From 03ccbe3f78ba498847732d2499fe321d9cececd8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Batlle=20i=20Rossell?= Date: Tue, 24 Aug 2010 19:36:42 +0000 Subject: [PATCH] Adding a more-or-less working 'egoboo'. I'll update to a better expression after some egoboo upstream work. svn path=/nixpkgs/trunk/; revision=23408 --- pkgs/development/libraries/enet/default.nix | 16 ++++++ pkgs/games/egoboo/default.nix | 57 +++++++++++++++++++++ pkgs/top-level/all-packages.nix | 4 ++ 3 files changed, 77 insertions(+) create mode 100644 pkgs/development/libraries/enet/default.nix create mode 100644 pkgs/games/egoboo/default.nix diff --git a/pkgs/development/libraries/enet/default.nix b/pkgs/development/libraries/enet/default.nix new file mode 100644 index 00000000000..c8c612fe94e --- /dev/null +++ b/pkgs/development/libraries/enet/default.nix @@ -0,0 +1,16 @@ +{stdenv, fetchurl}: + +stdenv.mkDerivation rec { + name = "enet-1.3.0"; + + src = fetchurl { + url = "http://enet.bespin.org/download/${name}.tar.gz"; + sha256 = "0b6nv3q546mr1vr74jccd4nsad9zkmjn17kdrqxxnyc944djf310"; + }; + + meta = { + homepage = http://enet.bespin.org/; + description = "Simple and robust network communication layer on top of UDP"; + license = "BSD"; + }; +} diff --git a/pkgs/games/egoboo/default.nix b/pkgs/games/egoboo/default.nix new file mode 100644 index 00000000000..a1b7262f3b9 --- /dev/null +++ b/pkgs/games/egoboo/default.nix @@ -0,0 +1,57 @@ +{ stdenv, fetchurl, mesa, SDL, SDL_mixer, SDL_image, SDL_ttf }: + +stdenv.mkDerivation rec { + # pf5234 (a developer?) at freenode #egoboo told me that I better use 2.7.3 until + # they fix more, because it even has at least one bugs less than 2.7.4. + # 2.8.0 does not start properly on linux + # They just starting making that 2.8.0 work on linux. + name = "egoboo-2.7.3"; + + src = fetchurl { + url = "mirror://sourceforge/egoboo/${name}.tar.gz"; + sha256 = "18cjgp9kakrsa90jcb4cl8hhh9k57mi5d1sy5ijjpd3p7zl647hd"; + }; + + buildPhase = '' + cd source + make -C enet all + # The target 'all' has trouble + make -C game -f Makefile.unix egoboo + ''; + + # The user will need to have all the files in '.' to run egoboo, with + # writeable controls.txt and setup.txt + installPhase = '' + ensureDir $out/share/${name} + cp -v game/egoboo $out/share/${name} + cd .. + cp -v -Rd controls.txt setup.txt players modules basicdat $out/share/${name} + ''; + + buildInputs = [ mesa SDL SDL_mixer SDL_image SDL_ttf ]; + + /* + This big commented thing may be needed for versions 2.8.0 or beyond + I keep it here for future updates. + + # Some files have to go to $HOME, but we put them in the 'shared'. + patchPhase = '' + sed -i -e 's,''${HOME}/.''${PROJ_NAME},''${PREFIX}/share/games/''${PROJ_NAME},g' Makefile + ''; + + preBuild = '' + makeFlags=PREFIX=$out + ''; + */ + + meta = { + description = "3D dungeon crawling adventure"; + + homepage = http://www.freedink.org/; + license = "GPLv2+"; + + # I take it out of hydra as it does not work as well as I'd like + # maintainers = [ stdenv.lib.maintainers.bjg ]; + # platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 333b0373722..e8120383f00 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2697,6 +2697,8 @@ let inherit (gnome) glib; }; + enet = callPackage ../development/libraries/enet { }; + enginepkcs11 = callPackage ../development/libraries/enginepkcs11 { }; esdl = callPackage ../development/libraries/esdl { }; @@ -6430,6 +6432,8 @@ let inherit (gtkLibs) gtk; }; + egoboo = callPackage ../games/egoboo { }; + exult = callPackage ../games/exult { stdenv = overrideGCC stdenv gcc42; };