diff --git a/pkgs/development/interpreters/python/2.4.nix b/pkgs/development/interpreters/python/2.4.nix new file mode 100644 index 00000000000..726d2ac4aa9 --- /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/default.nix b/pkgs/development/interpreters/python/default.nix index 726d2ac4aa9..3ac782e1aee 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/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9b67eab12da..a535f58a553 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1214,17 +1214,15 @@ rec { }; */ - python = import ../development/interpreters/python { - inherit fetchurl stdenv zlib bzip2; - }; + python = getVersion "python" python_alts; - python25 = import ../development/interpreters/python/2.5 { + python_alts = import ../development/interpreters/python { inherit fetchurl stdenv zlib bzip2; }; pyrexFun = lib.sumArgs (import ../development/interpreters/pyrex) { inherit fetchurl stdenv stringsWithDeps lib builderDefs; - python = python25; + python = python_alts.v_2_5; }; pyrex = pyrexFun { @@ -3977,7 +3975,7 @@ rec { pythonmagick = import ../applications/graphics/PythonMagick { inherit fetchurl stdenv pkgconfig imagemagick boost; - python = python25; + python = python_alts.v_2_5; }; ratpoison = import ../applications/window-managers/ratpoison {