Author: ludo
Date: Wed Aug 18 14:25:07 2010
New Revision: 23225
URL: https://svn.nixos.org/websvn/nix/?rev=23225&sc=1

Log:
Castle-Combat: Start fixing; rewrite using `buildPythonPackage'.

Modified:
   nixpkgs/trunk/pkgs/games/castle-combat/default.nix
   nixpkgs/trunk/pkgs/top-level/all-packages.nix
   nixpkgs/trunk/pkgs/top-level/release.nix

Modified: nixpkgs/trunk/pkgs/games/castle-combat/default.nix
==============================================================================
--- nixpkgs/trunk/pkgs/games/castle-combat/default.nix  Wed Aug 18 11:48:35 
2010        (r23224)
+++ nixpkgs/trunk/pkgs/games/castle-combat/default.nix  Wed Aug 18 14:25:07 
2010        (r23225)
@@ -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"
+    mv -v "src/"*.py .
+    sed -i "setup.py" -e's/"src"/""/g'
+  '';
 
+  postInstall = ''
     ensureDir "$out/share/${name}"
-    cp -rv data/* "$out/share/${name}"
+    cp -rv "data/"* "$out/share/${name}"
 
-    ${postInstall}
+    mv -v "$out/bin/castle-combat.py" "$out/bin/castle-combat"
   '';
 
-  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"
-
-            # 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"
+  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 @@
     homepage = http://www.linux-games.com/castle-combat/;
 
     license = "unknown";
+
+    maintainers = [ stdenv.lib.maintainers.ludo ];
   };
 }

Modified: nixpkgs/trunk/pkgs/top-level/all-packages.nix
==============================================================================
--- nixpkgs/trunk/pkgs/top-level/all-packages.nix       Wed Aug 18 11:48:35 
2010        (r23224)
+++ nixpkgs/trunk/pkgs/top-level/all-packages.nix       Wed Aug 18 14:25:07 
2010        (r23225)
@@ -6395,7 +6395,7 @@
 
   bsdgames = callPackage ../games/bsdgames { };
 
-  castleCombat = callPackage ../games/castle-combat { };
+  castle_combat = callPackage ../games/castle-combat { };
 
   construoBase = callPackage ../games/construo {
     mesa = null;

Modified: nixpkgs/trunk/pkgs/top-level/release.nix
==============================================================================
--- nixpkgs/trunk/pkgs/top-level/release.nix    Wed Aug 18 11:48:35 2010        
(r23224)
+++ nixpkgs/trunk/pkgs/top-level/release.nix    Wed Aug 18 14:25:07 2010        
(r23225)
@@ -48,7 +48,7 @@
   bvi = all;
   bzip2 = all;
   cabextract = all;
-  castleCombat = linux;
+  castle_combat = linux;
   cdrkit = linux;
   chatzilla = linux;
   cksfv = all;
_______________________________________________
nix-commits mailing list
[email protected]
http://mail.cs.uu.nl/mailman/listinfo/nix-commits

Reply via email to