Python: further unify expressions interpreters
This commit is contained in:
parent
061758490f
commit
80433e7030
@ -1,15 +1,23 @@
|
|||||||
{ stdenv, fetchurl, fetchpatch, self, callPackage, python27Packages
|
{ stdenv, fetchurl
|
||||||
, bzip2, openssl, gettext
|
, bzip2
|
||||||
, db, gdbm, ncurses, sqlite, readline
|
, gdbm
|
||||||
|
, fetchpatch
|
||||||
|
, ncurses
|
||||||
|
, openssl
|
||||||
|
, readline
|
||||||
|
, sqlite
|
||||||
, tcl ? null, tk ? null, xlibsWrapper ? null, libX11 ? null, x11Support ? !stdenv.isCygwin
|
, tcl ? null, tk ? null, xlibsWrapper ? null, libX11 ? null, x11Support ? !stdenv.isCygwin
|
||||||
, zlib ? null, zlibSupport ? true
|
, zlib
|
||||||
, expat, libffi
|
, callPackage
|
||||||
|
, self
|
||||||
|
, python27Packages
|
||||||
|
, gettext
|
||||||
|
, db
|
||||||
|
, expat
|
||||||
|
, libffi
|
||||||
, CF, configd
|
, CF, configd
|
||||||
}:
|
}:
|
||||||
|
|
||||||
assert zlibSupport -> zlib != null;
|
|
||||||
assert x11Support -> tcl != null
|
assert x11Support -> tcl != null
|
||||||
&& tk != null
|
&& tk != null
|
||||||
&& xlibsWrapper != null
|
&& xlibsWrapper != null
|
||||||
@ -109,14 +117,11 @@ let
|
|||||||
|
|
||||||
buildInputs =
|
buildInputs =
|
||||||
optional (stdenv ? cc && stdenv.cc.libc != null) stdenv.cc.libc ++
|
optional (stdenv ? cc && stdenv.cc.libc != null) stdenv.cc.libc ++
|
||||||
[ bzip2 openssl ]
|
[ bzip2 openssl zlib ]
|
||||||
++ optionals stdenv.isCygwin [ expat libffi ]
|
++ optionals stdenv.isCygwin [ expat libffi ]
|
||||||
++ [ db gdbm ncurses sqlite readline ]
|
++ [ db gdbm ncurses sqlite readline ]
|
||||||
++ optionals x11Support [ tcl tk xlibsWrapper libX11 ]
|
++ optionals x11Support [ tcl tk xlibsWrapper libX11 ]
|
||||||
++ optional zlibSupport zlib
|
++ optionals stdenv.isDarwin [ CF configd ];
|
||||||
++ optional stdenv.isDarwin CF;
|
|
||||||
|
|
||||||
propagatedBuildInputs = optional stdenv.isDarwin configd;
|
|
||||||
|
|
||||||
mkPaths = paths: {
|
mkPaths = paths: {
|
||||||
C_INCLUDE_PATH = makeSearchPathOutput "dev" "include" paths;
|
C_INCLUDE_PATH = makeSearchPathOutput "dev" "include" paths;
|
||||||
@ -130,7 +135,7 @@ in stdenv.mkDerivation {
|
|||||||
name = "python-${version}";
|
name = "python-${version}";
|
||||||
pythonVersion = majorVersion;
|
pythonVersion = majorVersion;
|
||||||
|
|
||||||
inherit majorVersion version src patches buildInputs propagatedBuildInputs
|
inherit majorVersion version src patches buildInputs
|
||||||
preConfigure configureFlags;
|
preConfigure configureFlags;
|
||||||
|
|
||||||
LDFLAGS = stdenv.lib.optionalString (!stdenv.isDarwin) "-lgcc_s";
|
LDFLAGS = stdenv.lib.optionalString (!stdenv.isDarwin) "-lgcc_s";
|
||||||
@ -174,13 +179,12 @@ in stdenv.mkDerivation {
|
|||||||
outputs = ["out"] ++ optional x11Support "tkinter";
|
outputs = ["out"] ++ optional x11Support "tkinter";
|
||||||
|
|
||||||
passthru = rec {
|
passthru = rec {
|
||||||
inherit libPrefix sitePackages;
|
inherit libPrefix sitePackages x11Support;
|
||||||
inherit zlibSupport;
|
executable = libPrefix;
|
||||||
isPy2 = true;
|
|
||||||
isPy27 = true;
|
|
||||||
buildEnv = callPackage ../../wrapper.nix { python = self; };
|
buildEnv = callPackage ../../wrapper.nix { python = self; };
|
||||||
withPackages = import ../../with-packages.nix { inherit buildEnv; pythonPackages = python27Packages; };
|
withPackages = import ../../with-packages.nix { inherit buildEnv; pythonPackages = python27Packages; };
|
||||||
executable = libPrefix;
|
isPy2 = true;
|
||||||
|
isPy27 = true;
|
||||||
interpreter = "${self}/bin/${executable}";
|
interpreter = "${self}/bin/${executable}";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1,21 +1,23 @@
|
|||||||
{ stdenv, fetchurl
|
{ stdenv, fetchurl
|
||||||
, bzip2
|
, bzip2
|
||||||
, db
|
|
||||||
, gdbm
|
, gdbm
|
||||||
, libX11, xproto
|
|
||||||
, lzma
|
, lzma
|
||||||
, ncurses
|
, ncurses
|
||||||
, openssl
|
, openssl
|
||||||
, readline
|
, readline
|
||||||
, sqlite
|
, sqlite
|
||||||
, tcl, tk
|
, tcl ? null, tk ? null, libX11 ? null, xproto ? null, x11Support ? !stdenv.isCygwin
|
||||||
, zlib
|
, zlib
|
||||||
, callPackage
|
, callPackage
|
||||||
, self
|
, self
|
||||||
, python33Packages
|
, python33Packages
|
||||||
|
, CF, configd
|
||||||
}:
|
}:
|
||||||
|
|
||||||
assert readline != null -> ncurses != null;
|
assert x11Support -> tcl != null
|
||||||
|
&& tk != null
|
||||||
|
&& xproto != null
|
||||||
|
&& libX11 != null;
|
||||||
|
|
||||||
with stdenv.lib;
|
with stdenv.lib;
|
||||||
|
|
||||||
@ -29,11 +31,11 @@ let
|
|||||||
sitePackages = "lib/${libPrefix}/site-packages";
|
sitePackages = "lib/${libPrefix}/site-packages";
|
||||||
|
|
||||||
buildInputs = filter (p: p != null) [
|
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
|
in stdenv.mkDerivation {
|
||||||
stdenv.mkDerivation {
|
|
||||||
name = "python3-${version}";
|
name = "python3-${version}";
|
||||||
pythonVersion = majorVersion;
|
pythonVersion = majorVersion;
|
||||||
inherit majorVersion version;
|
inherit majorVersion version;
|
||||||
@ -90,21 +92,16 @@ stdenv.mkDerivation {
|
|||||||
# FIXME: should regenerate this.
|
# FIXME: should regenerate this.
|
||||||
rm $out/lib/python${majorVersion}/__pycache__/_sysconfigdata.cpython*
|
rm $out/lib/python${majorVersion}/__pycache__/_sysconfigdata.cpython*
|
||||||
|
|
||||||
|
'' + optionalString x11Support ''
|
||||||
# tkinter goes in a separate output
|
# tkinter goes in a separate output
|
||||||
mkdir -p $tkinter/${sitePackages}
|
mkdir -p $tkinter/${sitePackages}
|
||||||
mv $out/lib/${libPrefix}/lib-dynload/_tkinter* $tkinter/${sitePackages}/
|
mv $out/lib/${libPrefix}/lib-dynload/_tkinter* $tkinter/${sitePackages}/
|
||||||
'';
|
'';
|
||||||
|
|
||||||
outputs = ["out" "tkinter"];
|
outputs = ["out"] ++ optional x11Support "tkinter";
|
||||||
|
|
||||||
passthru = rec {
|
passthru = rec {
|
||||||
inherit libPrefix sitePackages;
|
inherit libPrefix sitePackages x11Support;
|
||||||
zlibSupport = zlib != null;
|
|
||||||
sqliteSupport = sqlite != null;
|
|
||||||
dbSupport = db != null;
|
|
||||||
readlineSupport = readline != null;
|
|
||||||
opensslSupport = openssl != null;
|
|
||||||
tkSupport = (tk != null) && (tcl != null) && (libX11 != null) && (xproto != null);
|
|
||||||
executable = "${libPrefix}m";
|
executable = "${libPrefix}m";
|
||||||
buildEnv = callPackage ../../wrapper.nix { python = self; };
|
buildEnv = callPackage ../../wrapper.nix { python = self; };
|
||||||
withPackages = import ../../with-packages.nix { inherit buildEnv; pythonPackages = python33Packages; };
|
withPackages = import ../../with-packages.nix { inherit buildEnv; pythonPackages = python33Packages; };
|
||||||
|
@ -1,23 +1,23 @@
|
|||||||
{ stdenv, fetchurl
|
{ stdenv, fetchurl
|
||||||
, bzip2
|
, bzip2
|
||||||
, db
|
|
||||||
, gdbm
|
, gdbm
|
||||||
, libX11, xproto
|
|
||||||
, lzma
|
, lzma
|
||||||
, ncurses
|
, ncurses
|
||||||
, openssl
|
, openssl
|
||||||
, readline
|
, readline
|
||||||
, sqlite
|
, sqlite
|
||||||
, tcl, tk
|
, tcl ? null, tk ? null, libX11 ? null, xproto ? null, x11Support ? !stdenv.isCygwin
|
||||||
, zlib
|
, zlib
|
||||||
, callPackage
|
, callPackage
|
||||||
, self
|
, self
|
||||||
, python34Packages
|
, python34Packages
|
||||||
|
|
||||||
, CF, configd
|
, CF, configd
|
||||||
}:
|
}:
|
||||||
|
|
||||||
assert readline != null -> ncurses != null;
|
assert x11Support -> tcl != null
|
||||||
|
&& tk != null
|
||||||
|
&& xproto != null
|
||||||
|
&& libX11 != null;
|
||||||
|
|
||||||
with stdenv.lib;
|
with stdenv.lib;
|
||||||
|
|
||||||
@ -31,23 +31,11 @@ let
|
|||||||
sitePackages = "lib/${libPrefix}/site-packages";
|
sitePackages = "lib/${libPrefix}/site-packages";
|
||||||
|
|
||||||
buildInputs = filter (p: p != null) [
|
buildInputs = filter (p: p != null) [
|
||||||
zlib
|
zlib bzip2 lzma gdbm sqlite readline ncurses openssl ]
|
||||||
bzip2
|
++ optionals x11Support [ tcl tk libX11 xproto ]
|
||||||
lzma
|
++ optionals stdenv.isDarwin [ CF configd ];
|
||||||
gdbm
|
|
||||||
sqlite
|
|
||||||
db
|
|
||||||
readline
|
|
||||||
ncurses
|
|
||||||
openssl
|
|
||||||
tcl
|
|
||||||
tk
|
|
||||||
libX11
|
|
||||||
xproto
|
|
||||||
] ++ optionals stdenv.isDarwin [ CF configd ];
|
|
||||||
|
|
||||||
in
|
in stdenv.mkDerivation {
|
||||||
stdenv.mkDerivation {
|
|
||||||
name = "python3-${version}";
|
name = "python3-${version}";
|
||||||
pythonVersion = majorVersion;
|
pythonVersion = majorVersion;
|
||||||
inherit majorVersion version;
|
inherit majorVersion version;
|
||||||
@ -113,21 +101,16 @@ stdenv.mkDerivation {
|
|||||||
# FIXME: should regenerate this.
|
# FIXME: should regenerate this.
|
||||||
rm $out/lib/python${majorVersion}/__pycache__/_sysconfigdata.cpython*
|
rm $out/lib/python${majorVersion}/__pycache__/_sysconfigdata.cpython*
|
||||||
|
|
||||||
|
'' + optionalString x11Support ''
|
||||||
# tkinter goes in a separate output
|
# tkinter goes in a separate output
|
||||||
mkdir -p $tkinter/${sitePackages}
|
mkdir -p $tkinter/${sitePackages}
|
||||||
mv $out/lib/${libPrefix}/lib-dynload/_tkinter* $tkinter/${sitePackages}/
|
mv $out/lib/${libPrefix}/lib-dynload/_tkinter* $tkinter/${sitePackages}/
|
||||||
'';
|
'';
|
||||||
|
|
||||||
outputs = ["out" "tkinter"];
|
outputs = ["out"] ++ optional x11Support "tkinter";
|
||||||
|
|
||||||
passthru = rec {
|
passthru = rec {
|
||||||
inherit libPrefix sitePackages;
|
inherit libPrefix sitePackages x11Support;
|
||||||
zlibSupport = zlib != null;
|
|
||||||
sqliteSupport = sqlite != null;
|
|
||||||
dbSupport = db != null;
|
|
||||||
readlineSupport = readline != null;
|
|
||||||
opensslSupport = openssl != null;
|
|
||||||
tkSupport = (tk != null) && (tcl != null) && (libX11 != null) && (xproto != null);
|
|
||||||
executable = "${libPrefix}m";
|
executable = "${libPrefix}m";
|
||||||
buildEnv = callPackage ../../wrapper.nix { python = self; };
|
buildEnv = callPackage ../../wrapper.nix { python = self; };
|
||||||
withPackages = import ../../with-packages.nix { inherit buildEnv; pythonPackages = python34Packages; };
|
withPackages = import ../../with-packages.nix { inherit buildEnv; pythonPackages = python34Packages; };
|
||||||
|
@ -1,22 +1,23 @@
|
|||||||
{ stdenv, fetchurl
|
{ stdenv, fetchurl
|
||||||
, bzip2
|
, bzip2
|
||||||
, gdbm
|
, gdbm
|
||||||
, libX11, xproto
|
|
||||||
, lzma
|
, lzma
|
||||||
, ncurses
|
, ncurses
|
||||||
, openssl
|
, openssl
|
||||||
, readline
|
, readline
|
||||||
, sqlite
|
, sqlite
|
||||||
, tcl, tk
|
, tcl ? null, tk ? null, libX11 ? null, xproto ? null, x11Support ? !stdenv.isCygwin
|
||||||
, zlib
|
, zlib
|
||||||
, callPackage
|
, callPackage
|
||||||
, self
|
, self
|
||||||
, python35Packages
|
, python35Packages
|
||||||
|
|
||||||
, CF, configd
|
, CF, configd
|
||||||
}:
|
}:
|
||||||
|
|
||||||
assert readline != null -> ncurses != null;
|
assert x11Support -> tcl != null
|
||||||
|
&& tk != null
|
||||||
|
&& xproto != null
|
||||||
|
&& libX11 != null;
|
||||||
|
|
||||||
with stdenv.lib;
|
with stdenv.lib;
|
||||||
|
|
||||||
@ -30,21 +31,11 @@ let
|
|||||||
sitePackages = "lib/${libPrefix}/site-packages";
|
sitePackages = "lib/${libPrefix}/site-packages";
|
||||||
|
|
||||||
buildInputs = filter (p: p != null) [
|
buildInputs = filter (p: p != null) [
|
||||||
zlib
|
zlib bzip2 lzma gdbm sqlite readline ncurses openssl ]
|
||||||
bzip2
|
++ optionals x11Support [ tcl tk libX11 xproto ]
|
||||||
lzma
|
++ optionals stdenv.isDarwin [ CF configd ];
|
||||||
gdbm
|
|
||||||
sqlite
|
in stdenv.mkDerivation {
|
||||||
readline
|
|
||||||
ncurses
|
|
||||||
openssl
|
|
||||||
tcl
|
|
||||||
tk
|
|
||||||
libX11
|
|
||||||
xproto
|
|
||||||
] ++ optionals stdenv.isDarwin [ CF configd ];
|
|
||||||
in
|
|
||||||
stdenv.mkDerivation {
|
|
||||||
name = "python3-${version}";
|
name = "python3-${version}";
|
||||||
pythonVersion = majorVersion;
|
pythonVersion = majorVersion;
|
||||||
inherit majorVersion version;
|
inherit majorVersion version;
|
||||||
@ -110,27 +101,21 @@ stdenv.mkDerivation {
|
|||||||
# FIXME: should regenerate this.
|
# FIXME: should regenerate this.
|
||||||
rm $out/lib/python${majorVersion}/__pycache__/_sysconfigdata.cpython*
|
rm $out/lib/python${majorVersion}/__pycache__/_sysconfigdata.cpython*
|
||||||
|
|
||||||
|
'' + optionalString x11Support ''
|
||||||
# tkinter goes in a separate output
|
# tkinter goes in a separate output
|
||||||
mkdir -p $tkinter/${sitePackages}
|
mkdir -p $tkinter/${sitePackages}
|
||||||
mv $out/lib/${libPrefix}/lib-dynload/_tkinter* $tkinter/${sitePackages}/
|
mv $out/lib/${libPrefix}/lib-dynload/_tkinter* $tkinter/${sitePackages}/
|
||||||
'';
|
'';
|
||||||
|
|
||||||
outputs = ["out" "tkinter"];
|
outputs = ["out"] ++ optional x11Support "tkinter";
|
||||||
|
|
||||||
passthru = rec {
|
passthru = rec {
|
||||||
inherit libPrefix sitePackages;
|
inherit libPrefix sitePackages x11Support;
|
||||||
zlibSupport = zlib != null;
|
|
||||||
sqliteSupport = sqlite != null;
|
|
||||||
dbSupport = false;
|
|
||||||
readlineSupport = readline != null;
|
|
||||||
opensslSupport = openssl != null;
|
|
||||||
tkSupport = (tk != null) && (tcl != null) && (libX11 != null) && (xproto != null);
|
|
||||||
executable = "${libPrefix}m";
|
executable = "${libPrefix}m";
|
||||||
buildEnv = callPackage ../../wrapper.nix { python = self; };
|
buildEnv = callPackage ../../wrapper.nix { python = self; };
|
||||||
withPackages = import ../../with-packages.nix { inherit buildEnv; pythonPackages = python35Packages; };
|
withPackages = import ../../with-packages.nix { inherit buildEnv; pythonPackages = python35Packages; };
|
||||||
isPy3 = true;
|
isPy3 = true;
|
||||||
isPy35 = true;
|
isPy35 = true;
|
||||||
is_py3k = true; # deprecated
|
|
||||||
interpreter = "${self}/bin/${executable}";
|
interpreter = "${self}/bin/${executable}";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1,25 +1,24 @@
|
|||||||
{ stdenv, fetchurl
|
{ stdenv, fetchurl
|
||||||
, glibc
|
, glibc
|
||||||
, bzip2
|
, bzip2
|
||||||
, db
|
|
||||||
, gdbm
|
, gdbm
|
||||||
, libX11, xproto
|
|
||||||
, lzma
|
, lzma
|
||||||
, ncurses
|
, ncurses
|
||||||
, openssl
|
, openssl
|
||||||
, readline
|
, readline
|
||||||
, sqlite
|
, sqlite
|
||||||
, tcl, tk
|
, tcl ? null, tk ? null, libX11 ? null, xproto ? null, x11Support ? !stdenv.isCygwin
|
||||||
, zlib
|
, zlib
|
||||||
, callPackage
|
, callPackage
|
||||||
, self
|
, self
|
||||||
, python36Packages
|
, python36Packages
|
||||||
|
|
||||||
, CF, configd
|
, CF, configd
|
||||||
}:
|
}:
|
||||||
|
|
||||||
assert readline != null -> ncurses != null;
|
assert x11Support -> tcl != null
|
||||||
|
&& tk != null
|
||||||
|
&& xproto != null
|
||||||
|
&& libX11 != null;
|
||||||
with stdenv.lib;
|
with stdenv.lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
@ -32,23 +31,11 @@ let
|
|||||||
sitePackages = "lib/${libPrefix}/site-packages";
|
sitePackages = "lib/${libPrefix}/site-packages";
|
||||||
|
|
||||||
buildInputs = filter (p: p != null) [
|
buildInputs = filter (p: p != null) [
|
||||||
glibc
|
zlib bzip2 lzma gdbm sqlite readline ncurses openssl ]
|
||||||
zlib
|
++ optionals x11Support [ tcl tk libX11 xproto ]
|
||||||
bzip2
|
++ optionals stdenv.isDarwin [ CF configd ];
|
||||||
lzma
|
|
||||||
gdbm
|
in stdenv.mkDerivation {
|
||||||
sqlite
|
|
||||||
db
|
|
||||||
readline
|
|
||||||
ncurses
|
|
||||||
openssl
|
|
||||||
tcl
|
|
||||||
tk
|
|
||||||
libX11
|
|
||||||
xproto
|
|
||||||
] ++ optionals stdenv.isDarwin [ CF configd ];
|
|
||||||
in
|
|
||||||
stdenv.mkDerivation {
|
|
||||||
name = "python3-${version}";
|
name = "python3-${version}";
|
||||||
pythonVersion = majorVersion;
|
pythonVersion = majorVersion;
|
||||||
inherit majorVersion version;
|
inherit majorVersion version;
|
||||||
@ -104,22 +91,16 @@ stdenv.mkDerivation {
|
|||||||
echo "manylinux1_compatible=False" >> $out/lib/${libPrefix}/_manylinux.py
|
echo "manylinux1_compatible=False" >> $out/lib/${libPrefix}/_manylinux.py
|
||||||
'';
|
'';
|
||||||
|
|
||||||
postFixup = ''
|
postFixup = optionalString x11Support ''
|
||||||
# tkinter goes in a separate output
|
# tkinter goes in a separate output
|
||||||
mkdir -p $tkinter/${sitePackages}
|
mkdir -p $tkinter/${sitePackages}
|
||||||
mv $out/lib/${libPrefix}/lib-dynload/_tkinter* $tkinter/${sitePackages}/
|
mv $out/lib/${libPrefix}/lib-dynload/_tkinter* $tkinter/${sitePackages}/
|
||||||
'';
|
'';
|
||||||
|
|
||||||
outputs = ["out" "tkinter"];
|
outputs = ["out"] ++ optional x11Support "tkinter";
|
||||||
|
|
||||||
passthru = rec {
|
passthru = rec {
|
||||||
inherit libPrefix sitePackages;
|
inherit libPrefix sitePackages x11Support;
|
||||||
zlibSupport = zlib != null;
|
|
||||||
sqliteSupport = sqlite != null;
|
|
||||||
dbSupport = db != null;
|
|
||||||
readlineSupport = readline != null;
|
|
||||||
opensslSupport = openssl != null;
|
|
||||||
tkSupport = (tk != null) && (tcl != null) && (libX11 != null) && (xproto != null);
|
|
||||||
executable = "${libPrefix}m";
|
executable = "${libPrefix}m";
|
||||||
buildEnv = callPackage ../../wrapper.nix { python = self; };
|
buildEnv = callPackage ../../wrapper.nix { python = self; };
|
||||||
withPackages = import ../../with-packages.nix { inherit buildEnv; pythonPackages = python36Packages; };
|
withPackages = import ../../with-packages.nix { inherit buildEnv; pythonPackages = python36Packages; };
|
||||||
|
@ -5514,6 +5514,7 @@ in
|
|||||||
};
|
};
|
||||||
python33 = callPackage ../development/interpreters/python/cpython/3.3 {
|
python33 = callPackage ../development/interpreters/python/cpython/3.3 {
|
||||||
self = python33;
|
self = python33;
|
||||||
|
inherit (darwin) CF configd;
|
||||||
};
|
};
|
||||||
python34 = hiPrio (callPackage ../development/interpreters/python/cpython/3.4 {
|
python34 = hiPrio (callPackage ../development/interpreters/python/cpython/3.4 {
|
||||||
inherit (darwin) CF configd;
|
inherit (darwin) CF configd;
|
||||||
|
Loading…
Reference in New Issue
Block a user