mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-25 16:33:15 +00:00
Castle-Combat: Start fixing; rewrite using `buildPythonPackage'.
svn path=/nixpkgs/trunk/; revision=23225
This commit is contained in:
parent
e7dd6dcc6a
commit
904c8cfa0a
@ -1,54 +1,53 @@
|
||||
{ fetchurl, stdenv, python, pygame, twisted, numeric, lib, makeWrapper }:
|
||||
{ fetchurl, stdenv, buildPythonPackage, pygame, twisted, numeric, makeWrapper }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
buildPythonPackage rec {
|
||||
name = "castle-combat-0.8.1";
|
||||
namePrefix = "";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/castle-combat/${name}.tar.gz";
|
||||
sha256 = "1hp4y5dgj88j9g44h4dqiakrgj8lip1krlrdl2qpffin08agrvik";
|
||||
};
|
||||
|
||||
buildInputs = [ python pygame twisted makeWrapper ];
|
||||
buildInputs = [ makeWrapper ];
|
||||
propagatedBuildInputs =
|
||||
[ pygame twisted
|
||||
|
||||
# XXX: `Numeric.pth' should be found by Python but it's not.
|
||||
# Gobolinux has the same problem:
|
||||
# http://bugs.python.org/issue1431 .
|
||||
numeric
|
||||
];
|
||||
|
||||
patchPhase = ''
|
||||
sed -i "src/common.py" \
|
||||
-e "s|^data_path *=.*$|data_path = \"$out/share/${name}\"|g"
|
||||
'';
|
||||
|
||||
buildPhase = ''python setup.py build --build-base "$out"'';
|
||||
installPhase = ''
|
||||
python setup.py install --prefix "$out"
|
||||
|
||||
ensureDir "$out/share/${name}"
|
||||
cp -rv data/* "$out/share/${name}"
|
||||
|
||||
${postInstall}
|
||||
mv -v "src/"*.py .
|
||||
sed -i "setup.py" -e's/"src"/""/g'
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
mv "$out/bin/castle-combat.py" "$out/bin/castle-combat"
|
||||
wrapProgram "$out/bin/castle-combat" \
|
||||
--prefix PYTHONPATH ":" \
|
||||
${lib.concatStringsSep ":"
|
||||
([ "$out/lib/python2.5/site-packages/src"
|
||||
ensureDir "$out/share/${name}"
|
||||
cp -rv "data/"* "$out/share/${name}"
|
||||
|
||||
# XXX: `Numeric.pth' should be found by Python but it's not.
|
||||
# Gobolinux has the same problem:
|
||||
# http://bugs.python.org/issue1431 .
|
||||
"${numeric}/lib/python2.5/site-packages/Numeric" ] ++
|
||||
(map (path: path + "/lib/python2.5/site-packages")
|
||||
([ "${pygame}" "${twisted}" ]
|
||||
++ twisted.propagatedBuildInputs)))} \
|
||||
\
|
||||
--prefix LD_LIBRARY_PATH ":" \
|
||||
"$(cat ${stdenv.gcc}/nix-support/orig-gcc)/lib"
|
||||
mv -v "$out/bin/castle-combat.py" "$out/bin/castle-combat"
|
||||
'';
|
||||
|
||||
postPhases = "fixLoaderPath";
|
||||
|
||||
fixLoaderPath =
|
||||
let dollar = "\$"; in
|
||||
'' sed -i "$out/bin/castle-combat" \
|
||||
-e "/^exec/ iexport LD_LIBRARY_PATH=\"$(cat ${stdenv.gcc}/nix-support/orig-gcc)/lib\:"'${dollar}'"LD_LIBRARY_PATH\"\\
|
||||
export LD_LIBRARY_PATH=\"$(cat ${stdenv.gcc}/nix-support/orig-gcc)/lib64\:"'${dollar}'"LD_LIBRARY_PATH\""
|
||||
'';
|
||||
# ^
|
||||
# `--- The run-time says: "libgcc_s.so.1 must be installed for
|
||||
# pthread_cancel to work", which means it need help to find it.
|
||||
# pthread_cancel to work", which means it needs help to find it.
|
||||
|
||||
rm -rf "$out/lib/src"
|
||||
'';
|
||||
# No test suite.
|
||||
doCheck = false;
|
||||
|
||||
meta = {
|
||||
description = "Castle-Combat, a clone of the old arcade game Rampart";
|
||||
@ -64,5 +63,7 @@ stdenv.mkDerivation rec {
|
||||
homepage = http://www.linux-games.com/castle-combat/;
|
||||
|
||||
license = "unknown";
|
||||
|
||||
maintainers = [ stdenv.lib.maintainers.ludo ];
|
||||
};
|
||||
}
|
||||
|
@ -6395,7 +6395,7 @@ let
|
||||
|
||||
bsdgames = callPackage ../games/bsdgames { };
|
||||
|
||||
castleCombat = callPackage ../games/castle-combat { };
|
||||
castle_combat = callPackage ../games/castle-combat { };
|
||||
|
||||
construoBase = callPackage ../games/construo {
|
||||
mesa = null;
|
||||
|
@ -48,7 +48,7 @@ with (import ./release-lib.nix);
|
||||
bvi = all;
|
||||
bzip2 = all;
|
||||
cabextract = all;
|
||||
castleCombat = linux;
|
||||
castle_combat = linux;
|
||||
cdrkit = linux;
|
||||
chatzilla = linux;
|
||||
cksfv = all;
|
||||
|
Loading…
Reference in New Issue
Block a user