summary refs log tree commit diff
path: root/pkgs/development/interpreters/python/cpython
diff options
context:
space:
mode:
authorFrederik Rietdijk <fridh@fridh.nl>2016-10-06 17:55:12 +0200
committerFrederik Rietdijk <fridh@fridh.nl>2016-10-10 10:33:24 +0200
commit0bd4b31f87872469cf0054fccca0a60bf489c952 (patch)
tree2efb29f51f02164f253abde3e9f648163086271f /pkgs/development/interpreters/python/cpython
parentcf0932ee842b338b42905c2f5cfedded45d0f94c (diff)
downloadnixlib-0bd4b31f87872469cf0054fccca0a60bf489c952.tar
nixlib-0bd4b31f87872469cf0054fccca0a60bf489c952.tar.gz
nixlib-0bd4b31f87872469cf0054fccca0a60bf489c952.tar.bz2
nixlib-0bd4b31f87872469cf0054fccca0a60bf489c952.tar.lz
nixlib-0bd4b31f87872469cf0054fccca0a60bf489c952.tar.xz
nixlib-0bd4b31f87872469cf0054fccca0a60bf489c952.tar.zst
nixlib-0bd4b31f87872469cf0054fccca0a60bf489c952.zip
Python 3.4: separate output for tkinter
Diffstat (limited to 'pkgs/development/interpreters/python/cpython')
-rw-r--r--pkgs/development/interpreters/python/cpython/3.4/default.nix21
1 files changed, 19 insertions, 2 deletions
diff --git a/pkgs/development/interpreters/python/cpython/3.4/default.nix b/pkgs/development/interpreters/python/cpython/3.4/default.nix
index 78f5972e10fb..f25398558ac6 100644
--- a/pkgs/development/interpreters/python/cpython/3.4/default.nix
+++ b/pkgs/development/interpreters/python/cpython/3.4/default.nix
@@ -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}";
   };