diff options
Diffstat (limited to 'pkgs/development/interpreters/python')
-rw-r--r-- | pkgs/development/interpreters/python/cpython/3.6/default.nix | 9 | ||||
-rw-r--r-- | pkgs/development/interpreters/python/cpython/3.7/default.nix | 14 |
2 files changed, 16 insertions, 7 deletions
diff --git a/pkgs/development/interpreters/python/cpython/3.6/default.nix b/pkgs/development/interpreters/python/cpython/3.6/default.nix index fc68aae1c045..9ea0876b1ce6 100644 --- a/pkgs/development/interpreters/python/cpython/3.6/default.nix +++ b/pkgs/development/interpreters/python/cpython/3.6/default.nix @@ -27,7 +27,7 @@ with stdenv.lib; let majorVersion = "3.6"; - minorVersion = "5"; + minorVersion = "6"; minorVersionSuffix = ""; pythonVersion = majorVersion; version = "${majorVersion}.${minorVersion}${minorVersionSuffix}"; @@ -53,7 +53,7 @@ in stdenv.mkDerivation { src = fetchurl { url = "https://www.python.org/ftp/python/${majorVersion}.${minorVersion}/Python-${version}.tar.xz"; - sha256 = "19l7inxm056jjw33zz97z0m02hsi7jnnx5kyb76abj5ml4xhad7l"; + sha256 = "0vz1wqg50zq6g15givdx1s2rq5752y5g2f1978bs6wvf8mfw36yp"; }; NIX_LDFLAGS = optionalString stdenv.isLinux "-lgcc_s"; @@ -85,9 +85,8 @@ in stdenv.mkDerivation { # only works for GCC and Apple Clang. This makes distutils to call C++ # compiler when needed. (fetchpatch { - url = "https://bugs.python.org/file47046/python-3.x-distutils-C++.patch"; - sha256 = "0dgdn9k2kmw4wh90vdnjcrnn97ylxgx7mbn9l87fwz6j501jqvk8"; - extraPrefix = ""; + url = "https://bugs.python.org/file47669/python-3.8-distutils-C++.patch"; + sha256 = "0s801d7ww9yrk6ys053jvdhl0wicbznx08idy36f1nrrxsghb3ii"; }) ]; diff --git a/pkgs/development/interpreters/python/cpython/3.7/default.nix b/pkgs/development/interpreters/python/cpython/3.7/default.nix index 4c84727d3cbc..ad88895fa67d 100644 --- a/pkgs/development/interpreters/python/cpython/3.7/default.nix +++ b/pkgs/development/interpreters/python/cpython/3.7/default.nix @@ -39,6 +39,8 @@ let ++ optionals x11Support [ tcl tk libX11 xproto ] ++ optionals stdenv.isDarwin [ CF configd ]; + hasDistutilsCxxPatch = !(stdenv.cc.isGNU or false); + in stdenv.mkDerivation { name = "python3-${version}"; pythonVersion = majorVersion; @@ -63,12 +65,20 @@ in stdenv.mkDerivation { patches = [ ./no-ldconfig.patch - # Fix darwin build https://bugs.python.org/issue34027 (fetchpatch { url = https://bugs.python.org/file47666/darwin-libutil.patch; sha256 = "0242gihnw3wfskl4fydp2xanpl8k5q7fj4dp7dbbqf46a4iwdzpa"; }) + ] ++ optionals hasDistutilsCxxPatch [ + # Fix for http://bugs.python.org/issue1222585 + # Upstream distutils is calling C compiler to compile C++ code, which + # only works for GCC and Apple Clang. This makes distutils to call C++ + # compiler when needed. + (fetchpatch { + url = "https://bugs.python.org/file47669/python-3.8-distutils-C++.patch"; + sha256 = "0s801d7ww9yrk6ys053jvdhl0wicbznx08idy36f1nrrxsghb3ii"; + }) ]; postPatch = '' @@ -153,7 +163,7 @@ in stdenv.mkDerivation { passthru = let pythonPackages = callPackage ../../../../../top-level/python-packages.nix {python=self; overrides=packageOverrides;}; in rec { - inherit libPrefix sitePackages x11Support; + inherit libPrefix sitePackages x11Support hasDistutilsCxxPatch; executable = "${libPrefix}m"; buildEnv = callPackage ../../wrapper.nix { python = self; inherit (pythonPackages) requiredPythonModules; }; withPackages = import ../../with-packages.nix { inherit buildEnv pythonPackages;}; |