Let user to choose python2.4 or python2.5

Currently, there is some code duplication. I'll try to rewrite it without
modifying resulting derivations.

svn path=/nixpkgs/trunk/; revision=9670
This commit is contained in:
Yury G. Kudryashov 2007-11-14 22:22:06 +00:00
parent c9560ff4b1
commit 732597e430
3 changed files with 60 additions and 57 deletions

View file

@ -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";
};
}

View file

@ -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;
}

View file

@ -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 {