summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2016-09-01 15:20:49 +0200
committerEelco Dolstra <eelco.dolstra@logicblox.com>2016-09-01 18:57:43 +0200
commit168192f116d2faaab33e4fade4756c8d4690e614 (patch)
tree23f7e4bc7d62522f0292856a455c4808175403f1 /pkgs
parentb31870fe133cd13966fe659edf26727fed1cd3d7 (diff)
downloadnixlib-168192f116d2faaab33e4fade4756c8d4690e614.tar
nixlib-168192f116d2faaab33e4fade4756c8d4690e614.tar.gz
nixlib-168192f116d2faaab33e4fade4756c8d4690e614.tar.bz2
nixlib-168192f116d2faaab33e4fade4756c8d4690e614.tar.lz
nixlib-168192f116d2faaab33e4fade4756c8d4690e614.tar.xz
nixlib-168192f116d2faaab33e4fade4756c8d4690e614.tar.zst
nixlib-168192f116d2faaab33e4fade4756c8d4690e614.zip
python-3.5: Eliminate -dev paths from the runtime closure
This reduces Python's closure size from 200 MiB to 129 MiB. Even
better would be to get move tkinter to a separate output or package
(since that would get rid of all X11 stuff), but that's a bit harder.
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/development/interpreters/python/cpython/3.5/default.nix11
1 files changed, 11 insertions, 0 deletions
diff --git a/pkgs/development/interpreters/python/cpython/3.5/default.nix b/pkgs/development/interpreters/python/cpython/3.5/default.nix
index 9050679435c6..a2149ddb8bdb 100644
--- a/pkgs/development/interpreters/python/cpython/3.5/default.nix
+++ b/pkgs/development/interpreters/python/cpython/3.5/default.nix
@@ -95,6 +95,17 @@ stdenv.mkDerivation {
     paxmark E $out/bin/python${majorVersion}
   '';
 
+  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|$TMPDIR|/no-such-path|g"
+    done
+
+    # FIXME: should regenerate this.
+    rm $out/lib/python${majorVersion}/__pycache__/_sysconfigdata.cpython*
+  '';
+
   passthru = rec {
     zlibSupport = zlib != null;
     sqliteSupport = sqlite != null;