summary refs log tree commit diff
path: root/pkgs/development/interpreters/python/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/interpreters/python/default.nix')
-rw-r--r--pkgs/development/interpreters/python/default.nix38
1 files changed, 33 insertions, 5 deletions
diff --git a/pkgs/development/interpreters/python/default.nix b/pkgs/development/interpreters/python/default.nix
index a13f2d626886..4ad973d82a1b 100644
--- a/pkgs/development/interpreters/python/default.nix
+++ b/pkgs/development/interpreters/python/default.nix
@@ -1,24 +1,52 @@
-{stdenv, fetchurl, zlib ? null, zlibSupport ? true}:
+{stdenv, fetchurl, zlib ? null, zlibSupport ? true, bzip2}:
 
 assert zlibSupport -> zlib != null;
 
+with stdenv.lib;
+
+let
+
+  buildInputs =
+    optional (stdenv ? gcc && stdenv.gcc ? libc) stdenv.gcc.libc ++
+    [bzip2] ++ 
+    optional zlibSupport zlib;
+
+in
+
 stdenv.mkDerivation {
   name = "python-2.4.4";
+  
   src = fetchurl {
     url = http://www.python.org/ftp/python/2.4.4/Python-2.4.4.tar.bz2;
     md5 = "0ba90c79175c017101100ebf5978e906";
   };
-  buildInputs = [
-    (if zlibSupport then zlib else null)
+
+  patches = [
+    # Look in C_INCLUDE_PATH and LIBRARY_PATH for stuff.
+    ./search-path.patch
   ];
-  inherit zlibSupport;
+  
+  inherit buildInputs;
+  C_INCLUDE_PATH = concatStringsSep ":" (map (p: "${p}/include") buildInputs);
+  LIBRARY_PATH = concatStringsSep ":" (map (p: "${p}/lib") buildInputs);
+  
   configureFlags = "--enable-shared";
   
-  libPrefix = "python2.4";
+  preConfigure = "
+    # Purity.
+    for i in /usr /sw /opt /pkg; do 
+      substituteInPlace ./setup.py --replace $i /no-such-path
+    done
+  ";
   
   postInstall = "
     ensureDir $out/nix-support
     cp ${./setup-hook.sh} $out/nix-support/setup-hook
     rm -rf $out/lib/python2.4/test
   ";
+
+  passthru = {
+    inherit zlibSupport;
+    libPrefix = "python2.4";
+  };
 }