git.iko.soy/typeable/nixpkgs
on master help sign in
Python: use pythonPackagesBuildHost instead of pythonForBuild

Follow-up to #104201, related to #105113.

commitcce2fd547be73f6a709d86751b67e9ae798f5d46 authorFrederik Rietdijk <fridh@fridh.nl> dateFri 27 Nov 2020, 16:24 (6 years ago) parentbe36f6f
4 files changed+26−21
pkgs/development/interpreters/python/cpython/2.7/default.nix+6−5 pkgs/development/interpreters/python/cpython/default.nix+5−6 pkgs/development/interpreters/python/default.nix+4−4 pkgs/development/interpreters/python/pypy/default.nix+11−6
pkgs/development/interpreters/python/cpython/2.7/default.nix+6−5
@@ -18,8 +18,8 @@
1818, ucsEncoding ? 4
1919# For the Python package set
2020, packageOverrides ? (self: super: {})
21−, buildPackages
2221, pkgsBuildBuild
22+, pkgsBuildHost
2323, pkgsBuildTarget
2424, pkgsHostHost
2525, pkgsTargetTarget
@@ -28,6 +28,7 @@
2828, passthruFun
2929, static ? false
3030, enableOptimizations ? (!stdenv.isDarwin)
31+, pythonAttr ? "python${sourceVersion.major}${sourceVersion.minor}"
3132}:
3233
3334assert x11Support -> tcl != null
@@ -38,9 +39,8 @@ assert x11Support -> tcl != null
3839with stdenv.lib;
3940
4041let
41−
42− pythonAttr = "python${sourceVersion.major}${sourceVersion.minor}";
43− pythonForBuild = buildPackages.${pythonAttr};
42+ buildPackages = pkgsBuildHost;
43+ inherit (passthru) pythonForBuild;
4444
4545 passthru = passthruFun rec {
4646 inherit self sourceVersion packageOverrides;
@@ -49,8 +49,9 @@ let
4949 executable = libPrefix;
5050 pythonVersion = with sourceVersion; "${major}.${minor}";
5151 sitePackages = "lib/${libPrefix}/site-packages";
52− inherit hasDistutilsCxxPatch pythonForBuild;
52+ inherit hasDistutilsCxxPatch;
5353 pythonPackagesBuildBuild = pkgsBuildBuild.${pythonAttr};
54+ pythonPackagesBuildHost = pkgsBuildHost.${pythonAttr};
5455 pythonPackagesBuildTarget = pkgsBuildTarget.${pythonAttr};
5556 pythonPackagesHostHost = pkgsHostHost.${pythonAttr};
5657 pythonPackagesTargetTarget = pkgsTargetTarget.${pythonAttr} or {};
pkgs/development/interpreters/python/cpython/default.nix+5−6
@@ -19,12 +19,11 @@
1919, nukeReferences
2020# For the Python package set
2121, packageOverrides ? (self: super: {})
22−, buildPackages
2322, pkgsBuildBuild
23+, pkgsBuildHost
2424, pkgsBuildTarget
2525, pkgsHostHost
2626, pkgsTargetTarget
27−, pythonForBuild ? buildPackages.${pythonAttr}
2827, sourceVersion
2928, sha256
3029, passthruFun
@@ -58,7 +57,8 @@ assert bluezSupport -> bluez != null;
5857with stdenv.lib;
5958
6059let
61−
60+ buildPackages = pkgsBuildHost;
61+ inherit (passthru) pythonForBuild;
6262
6363 passthru = passthruFun rec {
6464 inherit self sourceVersion packageOverrides;
@@ -67,8 +67,9 @@ let
6767 executable = libPrefix;
6868 pythonVersion = with sourceVersion; "${major}.${minor}";
6969 sitePackages = "lib/${libPrefix}/site-packages";
70− inherit hasDistutilsCxxPatch pythonForBuild;
70+ inherit hasDistutilsCxxPatch;
7171 pythonPackagesBuildBuild = pkgsBuildBuild.${pythonAttr};
72+ pythonPackagesBuildHost = pkgsBuildHost.${pythonAttr};
7273 pythonPackagesBuildTarget = pkgsBuildTarget.${pythonAttr};
7374 pythonPackagesHostHost = pkgsHostHost.${pythonAttr};
7475 pythonPackagesTargetTarget = pkgsTargetTarget.${pythonAttr} or {};
@@ -95,8 +96,6 @@ let
9596
9697 hasDistutilsCxxPatch = !(stdenv.cc.isGNU or false);
9798
98− inherit pythonForBuild;
99−
10099 pythonForBuildInterpreter = if stdenv.hostPlatform == stdenv.buildPlatform then
101100 "$out/bin/python"
102101 else pythonForBuild.interpreter;
pkgs/development/interpreters/python/default.nix+4−4
@@ -15,7 +15,7 @@ with pkgs;
1515 , sitePackages
1616 , hasDistutilsCxxPatch
1717 , pythonPackagesBuildBuild
18− , pythonForBuild # provides pythonPackagesBuildHost
18+ , pythonPackagesBuildHost
1919 , pythonPackagesBuildTarget
2020 , pythonPackagesHostHost
2121 , self # is pythonPackagesHostTarget
@@ -29,7 +29,7 @@ with pkgs;
2929 };
3030 otherSplices = {
3131 selfBuildBuild = pythonPackagesBuildBuild;
32− selfBuildHost = pythonForBuild.pkgs;
32+ selfBuildHost = pythonPackagesBuildHost;
3333 selfBuildTarget = pythonPackagesBuildTarget;
3434 selfHostHost = pythonPackagesHostHost;
3535 selfTargetTarget = pythonPackagesTargetTarget;
@@ -99,7 +99,8 @@ with pkgs;
9999 inherit sourceVersion;
100100 pythonAtLeast = lib.versionAtLeast pythonVersion;
101101 pythonOlder = lib.versionOlder pythonVersion;
102− inherit hasDistutilsCxxPatch pythonForBuild;
102+ inherit hasDistutilsCxxPatch;
103+ pythonForBuild = pythonPackagesBuildHost;
103104
104105 tests = callPackage ./tests.nix {
105106 python = self;
@@ -188,7 +189,6 @@ in {
188189 # Minimal versions of Python (built without optional dependencies)
189190 python3Minimal = (python38.override {
190191 self = python3Minimal;
191− pythonForBuild = pkgs.buildPackages.python3Minimal;
192192 # strip down that python version as much as possible
193193 openssl = null;
194194 readline = null;
pkgs/development/interpreters/python/pypy/default.nix+11−6
@@ -5,10 +5,16 @@
55, python-setup-hook
66# For the Python package set
77, packageOverrides ? (self: super: {})
8+, pkgsBuildBuild
9+, pkgsBuildHost
10+, pkgsBuildTarget
11+, pkgsHostHost
12+, pkgsTargetTarget
813, sourceVersion
914, pythonVersion
1015, sha256
1116, passthruFun
17+, pythonAttr ? "pypy${stdenv.lib.substring 0 1 pythonVersion}${stdenv.lib.substring 2 3 pythonVersion}"
1218}:
1319
1420assert zlibSupport -> zlib != null;
@@ -25,12 +31,11 @@ let
2531 sitePackages = "site-packages";
2632 hasDistutilsCxxPatch = false;
2733
28− # No cross-compiling for now.
29− pythonForBuild = self;
30− pythonPackagesBuildBuild = {};
31− pythonPackagesBuildTarget = {};
32− pythonPackagesHostHost = {};
33− pythonPackagesTargetTarget = {};
34+ pythonPackagesBuildBuild = pkgsBuildBuild.${pythonAttr};
35+ pythonPackagesBuildHost = pkgsBuildHost.${pythonAttr};
36+ pythonPackagesBuildTarget = pkgsBuildTarget.${pythonAttr};
37+ pythonPackagesHostHost = pkgsHostHost.${pythonAttr};
38+ pythonPackagesTargetTarget = pkgsTargetTarget.${pythonAttr} or {};
3439 };
3540 pname = passthru.executable;
3641 version = with sourceVersion; "${major}.${minor}.${patch}";