diff --git a/pkgs/development/interpreters/python/cpython/2.7/default.nix b/pkgs/development/interpreters/python/cpython/2.7/default.nix index 26bd8a8f3609..d7bc50948590 100644 --- a/pkgs/development/interpreters/python/cpython/2.7/default.nix +++ b/pkgs/development/interpreters/python/cpython/2.7/default.nix @@ -18,8 +18,8 @@ , ucsEncoding ? 4 # For the Python package set , packageOverrides ? (self: super: {}) -, buildPackages , pkgsBuildBuild +, pkgsBuildHost , pkgsBuildTarget , pkgsHostHost , pkgsTargetTarget @@ -28,6 +28,7 @@ , passthruFun , static ? false , enableOptimizations ? (!stdenv.isDarwin) +, pythonAttr ? "python${sourceVersion.major}${sourceVersion.minor}" }: assert x11Support -> tcl != null @@ -38,9 +39,8 @@ assert x11Support -> tcl != null with stdenv.lib; let - - pythonAttr = "python${sourceVersion.major}${sourceVersion.minor}"; - pythonForBuild = buildPackages.${pythonAttr}; + buildPackages = pkgsBuildHost; + inherit (passthru) pythonForBuild; passthru = passthruFun rec { inherit self sourceVersion packageOverrides; @@ -49,8 +49,9 @@ let executable = libPrefix; pythonVersion = with sourceVersion; "${major}.${minor}"; sitePackages = "lib/${libPrefix}/site-packages"; - inherit hasDistutilsCxxPatch pythonForBuild; + inherit hasDistutilsCxxPatch; pythonPackagesBuildBuild = pkgsBuildBuild.${pythonAttr}; + pythonPackagesBuildHost = pkgsBuildHost.${pythonAttr}; pythonPackagesBuildTarget = pkgsBuildTarget.${pythonAttr}; pythonPackagesHostHost = pkgsHostHost.${pythonAttr}; pythonPackagesTargetTarget = pkgsTargetTarget.${pythonAttr} or {}; diff --git a/pkgs/development/interpreters/python/cpython/default.nix b/pkgs/development/interpreters/python/cpython/default.nix index 02777063a772..5e7668deea39 100644 --- a/pkgs/development/interpreters/python/cpython/default.nix +++ b/pkgs/development/interpreters/python/cpython/default.nix @@ -19,12 +19,11 @@ , nukeReferences # For the Python package set , packageOverrides ? (self: super: {}) -, buildPackages , pkgsBuildBuild +, pkgsBuildHost , pkgsBuildTarget , pkgsHostHost , pkgsTargetTarget -, pythonForBuild ? buildPackages.${pythonAttr} , sourceVersion , sha256 , passthruFun @@ -58,7 +57,8 @@ assert bluezSupport -> bluez != null; with stdenv.lib; let - + buildPackages = pkgsBuildHost; + inherit (passthru) pythonForBuild; passthru = passthruFun rec { inherit self sourceVersion packageOverrides; @@ -67,8 +67,9 @@ let executable = libPrefix; pythonVersion = with sourceVersion; "${major}.${minor}"; sitePackages = "lib/${libPrefix}/site-packages"; - inherit hasDistutilsCxxPatch pythonForBuild; + inherit hasDistutilsCxxPatch; pythonPackagesBuildBuild = pkgsBuildBuild.${pythonAttr}; + pythonPackagesBuildHost = pkgsBuildHost.${pythonAttr}; pythonPackagesBuildTarget = pkgsBuildTarget.${pythonAttr}; pythonPackagesHostHost = pkgsHostHost.${pythonAttr}; pythonPackagesTargetTarget = pkgsTargetTarget.${pythonAttr} or {}; @@ -95,8 +96,6 @@ let hasDistutilsCxxPatch = !(stdenv.cc.isGNU or false); - inherit pythonForBuild; - pythonForBuildInterpreter = if stdenv.hostPlatform == stdenv.buildPlatform then "$out/bin/python" else pythonForBuild.interpreter; diff --git a/pkgs/development/interpreters/python/default.nix b/pkgs/development/interpreters/python/default.nix index 19a7f44de369..876cfd20fb9e 100644 --- a/pkgs/development/interpreters/python/default.nix +++ b/pkgs/development/interpreters/python/default.nix @@ -15,7 +15,7 @@ with pkgs; , sitePackages , hasDistutilsCxxPatch , pythonPackagesBuildBuild - , pythonForBuild # provides pythonPackagesBuildHost + , pythonPackagesBuildHost , pythonPackagesBuildTarget , pythonPackagesHostHost , self # is pythonPackagesHostTarget @@ -29,7 +29,7 @@ with pkgs; }; otherSplices = { selfBuildBuild = pythonPackagesBuildBuild; - selfBuildHost = pythonForBuild.pkgs; + selfBuildHost = pythonPackagesBuildHost; selfBuildTarget = pythonPackagesBuildTarget; selfHostHost = pythonPackagesHostHost; selfTargetTarget = pythonPackagesTargetTarget; @@ -99,7 +99,8 @@ with pkgs; inherit sourceVersion; pythonAtLeast = lib.versionAtLeast pythonVersion; pythonOlder = lib.versionOlder pythonVersion; - inherit hasDistutilsCxxPatch pythonForBuild; + inherit hasDistutilsCxxPatch; + pythonForBuild = pythonPackagesBuildHost; tests = callPackage ./tests.nix { python = self; @@ -188,7 +189,6 @@ in { # Minimal versions of Python (built without optional dependencies) python3Minimal = (python38.override { self = python3Minimal; - pythonForBuild = pkgs.buildPackages.python3Minimal; # strip down that python version as much as possible openssl = null; readline = null; diff --git a/pkgs/development/interpreters/python/pypy/default.nix b/pkgs/development/interpreters/python/pypy/default.nix index 0647ce878642..b941750eb4e5 100644 --- a/pkgs/development/interpreters/python/pypy/default.nix +++ b/pkgs/development/interpreters/python/pypy/default.nix @@ -5,10 +5,16 @@ , python-setup-hook # For the Python package set , packageOverrides ? (self: super: {}) +, pkgsBuildBuild +, pkgsBuildHost +, pkgsBuildTarget +, pkgsHostHost +, pkgsTargetTarget , sourceVersion , pythonVersion , sha256 , passthruFun +, pythonAttr ? "pypy${stdenv.lib.substring 0 1 pythonVersion}${stdenv.lib.substring 2 3 pythonVersion}" }: assert zlibSupport -> zlib != null; @@ -25,12 +31,11 @@ let sitePackages = "site-packages"; hasDistutilsCxxPatch = false; - # No cross-compiling for now. - pythonForBuild = self; - pythonPackagesBuildBuild = {}; - pythonPackagesBuildTarget = {}; - pythonPackagesHostHost = {}; - pythonPackagesTargetTarget = {}; + pythonPackagesBuildBuild = pkgsBuildBuild.${pythonAttr}; + pythonPackagesBuildHost = pkgsBuildHost.${pythonAttr}; + pythonPackagesBuildTarget = pkgsBuildTarget.${pythonAttr}; + pythonPackagesHostHost = pkgsHostHost.${pythonAttr}; + pythonPackagesTargetTarget = pkgsTargetTarget.${pythonAttr} or {}; }; pname = passthru.executable; version = with sourceVersion; "${major}.${minor}.${patch}";