about summary refs log tree commit diff
path: root/pkgs/development/interpreters
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/interpreters')
-rw-r--r--pkgs/development/interpreters/perl/setup-hook.sh4
-rw-r--r--pkgs/development/interpreters/python/2.4.nix52
-rw-r--r--pkgs/development/interpreters/python/2.5/setup-hook.sh5
-rw-r--r--pkgs/development/interpreters/python/default.nix55
-rw-r--r--pkgs/development/interpreters/python/setup-hook.sh5
5 files changed, 67 insertions, 54 deletions
diff --git a/pkgs/development/interpreters/perl/setup-hook.sh b/pkgs/development/interpreters/perl/setup-hook.sh
index 6903bddd4199..1f05581df97a 100644
--- a/pkgs/development/interpreters/perl/setup-hook.sh
+++ b/pkgs/development/interpreters/perl/setup-hook.sh
@@ -1,5 +1,7 @@
 addPerlLibPath () {
-	addToSearchPath PERL5LIB /lib/site_perl "" $1
+    if test -d $1/lib/site_perl; then
+        export PERL5LIB="${PERL5LIB}${PERL5LIB:+:}$1/lib/site_perl"
+    fi
 }
 
 envHooks=(${envHooks[@]} addPerlLibPath)
diff --git a/pkgs/development/interpreters/python/2.4.nix b/pkgs/development/interpreters/python/2.4.nix
new file mode 100644
index 000000000000..726d2ac4aa96
--- /dev/null
+++ b/pkgs/development/interpreters/python/2.4.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.4.4";
+  
+  src = fetchurl {
+    url = http://www.python.org/ftp/python/2.4.4/Python-2.4.4.tar.bz2;
+    md5 = "0ba90c79175c017101100ebf5978e906";
+  };
+
+  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.4/test
+  ";
+
+  passthru = {
+    inherit zlibSupport;
+    libPrefix = "python2.4";
+  };
+}
diff --git a/pkgs/development/interpreters/python/2.5/setup-hook.sh b/pkgs/development/interpreters/python/2.5/setup-hook.sh
index 27ad62260301..11551235c1f8 100644
--- a/pkgs/development/interpreters/python/2.5/setup-hook.sh
+++ b/pkgs/development/interpreters/python/2.5/setup-hook.sh
@@ -1,5 +1,8 @@
 addPythonPath() {
-	addToSearchPathWithCustomDelimiter : PYTHONPATH /lib/python2.5/site-packages "" $1
+    local p=$1/lib/python2.5/site-packages
+    if test -d $p; then
+        export PYTHONPATH="${PYTHONPATH}${PYTHONPATH:+:}$p"
+    fi
 }
 
 toPythonPath() {
diff --git a/pkgs/development/interpreters/python/default.nix b/pkgs/development/interpreters/python/default.nix
index 726d2ac4aa96..3ac782e1aee3 100644
--- a/pkgs/development/interpreters/python/default.nix
+++ b/pkgs/development/interpreters/python/default.nix
@@ -1,52 +1,5 @@
-{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.4.4";
-  
-  src = fetchurl {
-    url = http://www.python.org/ftp/python/2.4.4/Python-2.4.4.tar.bz2;
-    md5 = "0ba90c79175c017101100ebf5978e906";
-  };
-
-  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.4/test
-  ";
-
-  passthru = {
-    inherit zlibSupport;
-    libPrefix = "python2.4";
-  };
+args: rec {
+	default = v_2_4;
+	v_2_4 = import ./2.4.nix args;
+	v_2_5 = import ./2.5 args;
 }
diff --git a/pkgs/development/interpreters/python/setup-hook.sh b/pkgs/development/interpreters/python/setup-hook.sh
index 58b8d1cab760..3bc86c582298 100644
--- a/pkgs/development/interpreters/python/setup-hook.sh
+++ b/pkgs/development/interpreters/python/setup-hook.sh
@@ -1,5 +1,8 @@
 addPythonPath() {
-	addToSearchPathWithCustomDelimiter : PYTHONPATH /lib/python2.4/site-packages "" $1
+    local p=$1/lib/python2.4/site-packages
+    if test -d $p; then
+        export PYTHONPATH="${PYTHONPATH}${PYTHONPATH:+:}$p"
+    fi
 }
 
 toPythonPath() {