diff options
Diffstat (limited to 'pkgs/development/interpreters/python')
-rw-r--r-- | pkgs/development/interpreters/python/cpython/default.nix | 12 | ||||
-rw-r--r-- | pkgs/development/interpreters/python/default.nix | 1 |
2 files changed, 10 insertions, 3 deletions
diff --git a/pkgs/development/interpreters/python/cpython/default.nix b/pkgs/development/interpreters/python/cpython/default.nix index 6cfe2ad93b5..51043a884eb 100644 --- a/pkgs/development/interpreters/python/cpython/default.nix +++ b/pkgs/development/interpreters/python/cpython/default.nix @@ -11,6 +11,7 @@ , tcl ? null, tk ? null, tix ? null, libX11 ? null, xorgproto ? null, x11Support ? false , bluez ? null, bluezSupport ? false , zlib +, tzdata ? null , self , configd , autoreconfHook @@ -68,6 +69,8 @@ let buildPackages = pkgsBuildHost; inherit (passthru) pythonForBuild; + tzdataSupport = tzdata != null && passthru.pythonAtLeast "3.9"; + passthru = passthruFun rec { inherit self sourceVersion packageOverrides; implementation = "cpython"; @@ -100,7 +103,8 @@ let zlib bzip2 expat lzma libffi gdbm sqlite readline ncurses openssl ] ++ optionals x11Support [ tcl tk libX11 xorgproto ] ++ optionals (bluezSupport && stdenv.isLinux) [ bluez ] - ++ optionals stdenv.isDarwin [ configd ]); + ++ optionals stdenv.isDarwin [ configd ]) + ++ optionals tzdataSupport [ tzdata ]; # `zoneinfo` module hasDistutilsCxxPatch = !(stdenv.cc.isGNU or false); @@ -293,6 +297,8 @@ in with passthru; stdenv.mkDerivation { # Never even try to use lchmod on linux, # don't rely on detecting glibc-isms. "ac_cv_func_lchmod=no" + ] ++ optionals tzdataSupport [ + "--with-tzpath=${tzdata}/share/zoneinfo" ] ++ optional static "LDFLAGS=-static"; preConfigure = '' @@ -348,8 +354,8 @@ in with passthru; stdenv.mkDerivation { done # Further get rid of references. https://github.com/NixOS/nixpkgs/issues/51668 - find $out/lib/python*/config-* -type f -print -exec nuke-refs -e $out '{}' + - find $out/lib -name '_sysconfigdata*.py*' -print -exec nuke-refs -e $out '{}' + + find $out/lib/python*/config-* -type f -print -exec nuke-refs -e $out ${optionalString tzdataSupport "-e ${tzdata}"} '{}' + + find $out/lib -name '_sysconfigdata*.py*' -print -exec nuke-refs -e $out ${optionalString tzdataSupport "-e ${tzdata}"} '{}' + # Make the sysconfigdata module accessible on PYTHONPATH # This allows build Python to import host Python's sysconfigdata diff --git a/pkgs/development/interpreters/python/default.nix b/pkgs/development/interpreters/python/default.nix index 2a4ffeb4215..3334e378ed1 100644 --- a/pkgs/development/interpreters/python/default.nix +++ b/pkgs/development/interpreters/python/default.nix @@ -199,6 +199,7 @@ in { gdbm = null; sqlite = null; configd = null; + tzdata = null; stripConfig = true; stripIdlelib = true; stripTests = true; |