diff options
Diffstat (limited to 'pkgs/development/interpreters/python/default.nix')
-rw-r--r-- | pkgs/development/interpreters/python/default.nix | 38 |
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"; + }; } |