summary refs log tree commit diff
path: root/pkgs/development/interpreters/python
diff options
context:
space:
mode:
authorPeter Simons <simons@cryp.to>2011-02-02 11:17:06 +0000
committerPeter Simons <simons@cryp.to>2011-02-02 11:17:06 +0000
commitd23005c2f98100e0fc0a1d325633290d9a110a8d (patch)
treee9dc4fa6c4402c1539106001192f3afdfd761f5c /pkgs/development/interpreters/python
parent1620eb2311bc56d93a1174b921da064ed37b4ac2 (diff)
downloadnixlib-d23005c2f98100e0fc0a1d325633290d9a110a8d.tar
nixlib-d23005c2f98100e0fc0a1d325633290d9a110a8d.tar.gz
nixlib-d23005c2f98100e0fc0a1d325633290d9a110a8d.tar.bz2
nixlib-d23005c2f98100e0fc0a1d325633290d9a110a8d.tar.lz
nixlib-d23005c2f98100e0fc0a1d325633290d9a110a8d.tar.xz
nixlib-d23005c2f98100e0fc0a1d325633290d9a110a8d.tar.zst
nixlib-d23005c2f98100e0fc0a1d325633290d9a110a8d.zip
pkgs/development/interpreters/python/3.1: major simplification of the expression
This change allows 'python3' to be built with approximately the same features
as 'python27Full'.

svn path=/nixpkgs/trunk/; revision=25757
Diffstat (limited to 'pkgs/development/interpreters/python')
-rw-r--r--pkgs/development/interpreters/python/3.1/default.nix75
1 files changed, 25 insertions, 50 deletions
diff --git a/pkgs/development/interpreters/python/3.1/default.nix b/pkgs/development/interpreters/python/3.1/default.nix
index 72e7a5030bcf..e0c8ac0e1c3a 100644
--- a/pkgs/development/interpreters/python/3.1/default.nix
+++ b/pkgs/development/interpreters/python/3.1/default.nix
@@ -1,53 +1,32 @@
-{ stdenv, fetchurl, zlib ? null, zlibSupport ? true, bzip2
-, gdbmSupport ? true, gdbm ? null
-, sqlite ? null
-, db4 ? null
-, readline ? null
-, openssl ? null
-, tk ? null
-, tcl ? null
-, libX11 ? null
-, xproto ? null
-, arch ? null
-, sw_vers ? null
+{ stdenv, fetchurl
+, zlib
+, bzip2
+, gdbm
+, sqlite
+, db4
+, ncurses
+, readline
+, openssl
+, tcl, tk
+, libX11, xproto
+, arch ? null, sw_vers ? null
 }:
 
-# This derivation is mostly identical to the one that builds Python 2.x.
-# Some of these settings may not apply to the latest version. A general
-# cleanup might be worthwile.
-
-assert zlibSupport -> zlib != null;
-assert gdbmSupport -> gdbm != null;
 assert stdenv.isDarwin -> arch != null;
 assert stdenv.isDarwin -> sw_vers != null;
+assert readline != null -> ncurses != null;
 
 with stdenv.lib;
 
 let
-
   majorVersion = "3.1";
   version = "${majorVersion}.3";
 
-  buildInputs =
-    optional (stdenv ? gcc && stdenv.gcc.libc != null) stdenv.gcc.libc ++
-    [bzip2]
-    ++ optional zlibSupport zlib
-    ++ optional gdbmSupport gdbm
-    ++ optional (sqlite != null) sqlite
-    ++ optional (db4 != null) db4
-    ++ optional (readline != null) readline
-    ++ optional (openssl != null) openssl
-    ++ optional (tk != null) tk
-    ++ optional (tcl != null) tcl
-    ++ optional (libX11 != null) libX11
-    ++ optional (xproto != null) xproto
-    ++ optional (arch != null) arch
-    ++ optional (sw_vers != null) sw_vers
-    ;
-
+  buildInputs = filter (p: p != null) [
+    zlib bzip2 gdbm sqlite db4 readline ncurses openssl tcl tk libX11 xproto arch sw_vers
+  ];
 in
-
-stdenv.mkDerivation ( {
+stdenv.mkDerivation {
   name = "python3-${version}";
   inherit majorVersion version;
 
@@ -56,24 +35,20 @@ stdenv.mkDerivation ( {
     sha256 = "1jsqapgwrcqcaskyi2qdn1xj7l8x5340a137hdfshk5ya4dg9xkp";
   };
 
-  patches = [
-    # Look in C_INCLUDE_PATH and LIBRARY_PATH for stuff.
-    ./search-path.patch
-  ];
-
   inherit buildInputs;
+  patches = [ ./search-path.patch ];
+
   C_INCLUDE_PATH = concatStringsSep ":" (map (p: "${p}/include") buildInputs);
   LIBRARY_PATH = concatStringsSep ":" (map (p: "${p}/lib") buildInputs);
   configureFlags = "--enable-shared --with-threads --enable-unicode --with-wctype-functions";
 
   preConfigure = ''
-    # Purity.
-    for i in /usr /sw /opt /pkg; do
+    for i in /usr /sw /opt /pkg; do	# improve purity
       substituteInPlace ./setup.py --replace $i /no-such-path
     done
-  '' + (if readline != null then ''
-    export NIX_LDFLAGS="$NIX_LDFLAGS -lncurses"
-  '' else "");
+    ${optionalString (ncurses != null) ''export NIX_LDFLAGS="$NIX_LDFLAGS -lncurses"''}
+    ${optionalString stdenv.isDarwin   ''export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -msse2"''}
+  '';
 
   setupHook = ./setup-hook.sh;
 
@@ -82,7 +57,7 @@ stdenv.mkDerivation ( {
   '';
 
   passthru = {
-    inherit zlibSupport;
+    zlibSupport = zlib != null;
     sqliteSupport = sqlite != null;
     db4Support = db4 != null;
     readlineSupport = readline != null;
@@ -109,4 +84,4 @@ stdenv.mkDerivation ( {
     platforms = stdenv.lib.platforms.all;
     maintainers = [ stdenv.lib.maintainers.simons ];
   };
-} // (if stdenv.isDarwin then { NIX_CFLAGS_COMPILE = "-msse2" ; patches = [./search-path.patch]; } else {} ) )
+}