about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorArmijn Hemel <armijn@gpl-violations.org>2007-08-09 00:35:23 +0000
committerArmijn Hemel <armijn@gpl-violations.org>2007-08-09 00:35:23 +0000
commitf87c4ec7f41c3819f501da285a6c2e68fa176c81 (patch)
tree60e0db184efeb70ac490098e3f8964c8f6dcc9ce /pkgs
parent9ca1e31d3e62152850b7995cdb70b43d8dc50e66 (diff)
downloadnixlib-f87c4ec7f41c3819f501da285a6c2e68fa176c81.tar
nixlib-f87c4ec7f41c3819f501da285a6c2e68fa176c81.tar.gz
nixlib-f87c4ec7f41c3819f501da285a6c2e68fa176c81.tar.bz2
nixlib-f87c4ec7f41c3819f501da285a6c2e68fa176c81.tar.lz
nixlib-f87c4ec7f41c3819f501da285a6c2e68fa176c81.tar.xz
nixlib-f87c4ec7f41c3819f501da285a6c2e68fa176c81.tar.zst
nixlib-f87c4ec7f41c3819f501da285a6c2e68fa176c81.zip
add Python 2.5.1
svn path=/nixpkgs/trunk/; revision=9077
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/development/interpreters/python/2.5/default.nix52
-rw-r--r--pkgs/development/interpreters/python/2.5/search-path.patch27
-rw-r--r--pkgs/development/interpreters/python/2.5/setup-hook.sh18
3 files changed, 97 insertions, 0 deletions
diff --git a/pkgs/development/interpreters/python/2.5/default.nix b/pkgs/development/interpreters/python/2.5/default.nix
new file mode 100644
index 000000000000..9a84bfa7ff87
--- /dev/null
+++ b/pkgs/development/interpreters/python/2.5/default.nix
@@ -0,0 +1,52 @@
+{stdenv, fetchurl, zlib ? null, zlibSupport ? true, bzip2}:
+
+assert zlibSupport -> zlib != null;
+
+with stdenv.lib;
+
+let
+
+  buildInputs =
+    optional (stdenv ? gcc && stdenv.gcc.libc != null) stdenv.gcc.libc ++
+    [bzip2] ++ 
+    optional zlibSupport zlib;
+
+in
+
+stdenv.mkDerivation {
+  name = "python-2.5.1";
+  
+  src = fetchurl {
+    url = http://www.python.org/ftp/python/2.5.1/Python-2.5.1.tar.bz2;
+    sha256 = "0rz1279q0i5f69jvwn6i0vlxmhxgcfykxnr80zmx4micw3fd9dfh";
+  };
+
+  patches = [
+    # Look in C_INCLUDE_PATH and LIBRARY_PATH for stuff.
+    ./search-path.patch
+  ];
+  
+  inherit buildInputs;
+  C_INCLUDE_PATH = concatStringsSep ":" (map (p: "${p}/include") buildInputs);
+  LIBRARY_PATH = concatStringsSep ":" (map (p: "${p}/lib") buildInputs);
+  
+  configureFlags = "--enable-shared";
+  
+  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.5/test
+  ";
+
+  passthru = {
+    inherit zlibSupport;
+    libPrefix = "python2.5";
+  };
+}
diff --git a/pkgs/development/interpreters/python/2.5/search-path.patch b/pkgs/development/interpreters/python/2.5/search-path.patch
new file mode 100644
index 000000000000..2e7b7526c0ce
--- /dev/null
+++ b/pkgs/development/interpreters/python/2.5/search-path.patch
@@ -0,0 +1,27 @@
+diff -rc Python-2.4.4-orig/setup.py Python-2.4.4/setup.py
+*** Python-2.4.4-orig/setup.py	2006-10-08 19:41:25.000000000 +0200
+--- Python-2.4.4/setup.py	2007-05-27 16:04:54.000000000 +0200
+***************
+*** 279,288 ****
+          # Check for AtheOS which has libraries in non-standard locations
+          if platform == 'atheos':
+              lib_dirs += ['/system/libs', '/atheos/autolnk/lib']
+-             lib_dirs += os.getenv('LIBRARY_PATH', '').split(os.pathsep)
+              inc_dirs += ['/system/include', '/atheos/autolnk/include']
+-             inc_dirs += os.getenv('C_INCLUDE_PATH', '').split(os.pathsep)
+  
+          # OSF/1 and Unixware have some stuff in /usr/ccs/lib (like -ldb)
+          if platform in ['osf1', 'unixware7', 'openunix8']:
+              lib_dirs += ['/usr/ccs/lib']
+--- 279,289 ----
+          # Check for AtheOS which has libraries in non-standard locations
+          if platform == 'atheos':
+              lib_dirs += ['/system/libs', '/atheos/autolnk/lib']
+              inc_dirs += ['/system/include', '/atheos/autolnk/include']
+  
++         lib_dirs += os.getenv('LIBRARY_PATH', '').split(os.pathsep)
++         inc_dirs += os.getenv('C_INCLUDE_PATH', '').split(os.pathsep)
++         
+          # OSF/1 and Unixware have some stuff in /usr/ccs/lib (like -ldb)
+          if platform in ['osf1', 'unixware7', 'openunix8']:
+              lib_dirs += ['/usr/ccs/lib']
diff --git a/pkgs/development/interpreters/python/2.5/setup-hook.sh b/pkgs/development/interpreters/python/2.5/setup-hook.sh
new file mode 100644
index 000000000000..11551235c1f8
--- /dev/null
+++ b/pkgs/development/interpreters/python/2.5/setup-hook.sh
@@ -0,0 +1,18 @@
+addPythonPath() {
+    local p=$1/lib/python2.5/site-packages
+    if test -d $p; then
+        export PYTHONPATH="${PYTHONPATH}${PYTHONPATH:+:}$p"
+    fi
+}
+
+toPythonPath() {
+    local paths="$1"
+    local result=
+    for i in $paths; do
+        p="$i/lib/python2.5/site-packages"
+        result="${result}${result:+:}$p"
+    done
+    echo $result
+}
+
+envHooks=(${envHooks[@]} addPythonPath)