Python: further unify expressions interpreters
This commit is contained in:
@@ -1,21 +1,23 @@
|
||||
{ stdenv, fetchurl
|
||||
, bzip2
|
||||
, db
|
||||
, gdbm
|
||||
, libX11, xproto
|
||||
, lzma
|
||||
, ncurses
|
||||
, openssl
|
||||
, readline
|
||||
, sqlite
|
||||
, tcl, tk
|
||||
, tcl ? null, tk ? null, libX11 ? null, xproto ? null, x11Support ? !stdenv.isCygwin
|
||||
, zlib
|
||||
, callPackage
|
||||
, self
|
||||
, python33Packages
|
||||
, CF, configd
|
||||
}:
|
||||
|
||||
assert readline != null -> ncurses != null;
|
||||
assert x11Support -> tcl != null
|
||||
&& tk != null
|
||||
&& xproto != null
|
||||
&& libX11 != null;
|
||||
|
||||
with stdenv.lib;
|
||||
|
||||
@@ -29,11 +31,11 @@ let
|
||||
sitePackages = "lib/${libPrefix}/site-packages";
|
||||
|
||||
buildInputs = filter (p: p != null) [
|
||||
zlib bzip2 lzma gdbm sqlite db readline ncurses openssl tcl tk libX11 xproto
|
||||
];
|
||||
zlib bzip2 lzma gdbm sqlite readline ncurses openssl ]
|
||||
++ optionals x11Support [ tcl tk libX11 xproto ]
|
||||
++ optionals stdenv.isDarwin [ CF configd ];
|
||||
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
in stdenv.mkDerivation {
|
||||
name = "python3-${version}";
|
||||
pythonVersion = majorVersion;
|
||||
inherit majorVersion version;
|
||||
@@ -90,21 +92,16 @@ stdenv.mkDerivation {
|
||||
# FIXME: should regenerate this.
|
||||
rm $out/lib/python${majorVersion}/__pycache__/_sysconfigdata.cpython*
|
||||
|
||||
'' + optionalString x11Support ''
|
||||
# tkinter goes in a separate output
|
||||
mkdir -p $tkinter/${sitePackages}
|
||||
mv $out/lib/${libPrefix}/lib-dynload/_tkinter* $tkinter/${sitePackages}/
|
||||
'';
|
||||
|
||||
outputs = ["out" "tkinter"];
|
||||
outputs = ["out"] ++ optional x11Support "tkinter";
|
||||
|
||||
passthru = rec {
|
||||
inherit libPrefix sitePackages;
|
||||
zlibSupport = zlib != null;
|
||||
sqliteSupport = sqlite != null;
|
||||
dbSupport = db != null;
|
||||
readlineSupport = readline != null;
|
||||
opensslSupport = openssl != null;
|
||||
tkSupport = (tk != null) && (tcl != null) && (libX11 != null) && (xproto != null);
|
||||
inherit libPrefix sitePackages x11Support;
|
||||
executable = "${libPrefix}m";
|
||||
buildEnv = callPackage ../../wrapper.nix { python = self; };
|
||||
withPackages = import ../../with-packages.nix { inherit buildEnv; pythonPackages = python33Packages; };
|
||||
|
||||
Reference in New Issue
Block a user