Python 3.4: separate output for tkinter

This commit is contained in:
Frederik Rietdijk 2016-10-06 17:55:12 +02:00
parent cf0932ee84
commit 0bd4b31f87

View File

@ -28,6 +28,7 @@ let
pythonVersion = majorVersion;
version = "${majorVersion}.${minorVersion}${minorVersionSuffix}";
libPrefix = "python${majorVersion}";
sitePackages = "lib/${libPrefix}/site-packages";
buildInputs = filter (p: p != null) [
zlib
@ -102,8 +103,25 @@ stdenv.mkDerivation {
echo "manylinux1_compatible=False" >> $out/lib/${libPrefix}/_manylinux.py
'';
postFixup = ''
# Get rid of retained dependencies on -dev packages, and remove
# some $TMPDIR references to improve binary reproducibility.
for i in $out/lib/python${majorVersion}/_sysconfigdata.py $out/lib/python${majorVersion}/config-${majorVersion}m/Makefile; do
sed -i $i -e "s|-I/nix/store/[^ ']*||g" -e "s|-L/nix/store/[^ ']*||g" -e "s|$TMPDIR|/no-such-path|g"
done
# FIXME: should regenerate this.
rm $out/lib/python${majorVersion}/__pycache__/_sysconfigdata.cpython*
# tkinter goes in a separate output
mkdir -p $tkinter/${sitePackages}
mv $out/lib/${libPrefix}/lib-dynload/_tkinter* $tkinter/${sitePackages}/
'';
outputs = ["out" "tkinter"];
passthru = rec {
inherit libPrefix;
inherit libPrefix sitePackages;
zlibSupport = zlib != null;
sqliteSupport = sqlite != null;
dbSupport = db != null;
@ -116,7 +134,6 @@ stdenv.mkDerivation {
isPy3 = true;
isPy34 = true;
is_py3k = true; # deprecated
sitePackages = "lib/${libPrefix}/site-packages";
interpreter = "${self}/bin/${executable}";
};