From 0a08fcd85827a9c3d3c95e3f0f7ff97081a0d74f Mon Sep 17 00:00:00 2001 From: Frederik Rietdijk Date: Thu, 6 Oct 2016 17:22:07 +0200 Subject: [PATCH] Python 3.5: separate output for tkinter --- .../interpreters/python/cpython/3.5/default.nix | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/pkgs/development/interpreters/python/cpython/3.5/default.nix b/pkgs/development/interpreters/python/cpython/3.5/default.nix index 84488e7e05c..e1a2983d032 100644 --- a/pkgs/development/interpreters/python/cpython/3.5/default.nix +++ b/pkgs/development/interpreters/python/cpython/3.5/default.nix @@ -27,6 +27,7 @@ let pythonVersion = majorVersion; version = "${majorVersion}.${minorVersion}${minorVersionSuffix}"; libPrefix = "python${majorVersion}"; + sitePackages = "lib/${libPrefix}/site-packages"; buildInputs = filter (p: p != null) [ zlib @@ -102,16 +103,22 @@ stdenv.mkDerivation { 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 + 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 = false; @@ -124,7 +131,6 @@ stdenv.mkDerivation { isPy3 = true; isPy35 = true; is_py3k = true; # deprecated - sitePackages = "lib/${libPrefix}/site-packages"; interpreter = "${self}/bin/${executable}"; };