git.iko.soy/typeable/nixpkgs
on master help sign in
Merge pull request #105155 from FRidh/splice

Python: rename internal parameters related to splicing and fix splicing

commit2622548c138fbf151fd3f130fe41864590520121 authorJohn Ericson <git@JohnEricson.me> dateSat 28 Nov 2020, 12:02 (6 years ago) parenta2593d5455774e
5 files changed+46−39
pkgs/development/interpreters/python/cpython/2.7/default.nix+10−9 pkgs/development/interpreters/python/cpython/default.nix+9−10 pkgs/development/interpreters/python/default.nix+15−13 pkgs/development/interpreters/python/pypy/default.nix+11−6 pkgs/development/interpreters/python/tests/test_nix_pythonprefix/default.nix+1−1
pkgs/development/interpreters/python/cpython/2.7/default.nix+10−9
@@ -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,11 +49,12 @@ let
4949 executable = libPrefix;
5050 pythonVersion = with sourceVersion; "${major}.${minor}";
5151 sitePackages = "lib/${libPrefix}/site-packages";
52− inherit hasDistutilsCxxPatch pythonForBuild;
53− pythonPackagesBuildBuild = pkgsBuildBuild.${pythonAttr};
54− pythonPackagesBuildTarget = pkgsBuildTarget.${pythonAttr};
55− pythonPackagesHostHost = pkgsHostHost.${pythonAttr};
56− pythonPackagesTargetTarget = pkgsTargetTarget.${pythonAttr} or {};
52+ inherit hasDistutilsCxxPatch;
53+ pythonOnBuildForBuild = pkgsBuildBuild.${pythonAttr};
54+ pythonOnBuildForHost = pkgsBuildHost.${pythonAttr};
55+ pythonOnBuildForTarget = pkgsBuildTarget.${pythonAttr};
56+ pythonOnHostForHost = pkgsHostHost.${pythonAttr};
57+ pythonOnTargetForTarget = pkgsTargetTarget.${pythonAttr} or {};
5758 } // {
5859 inherit ucsEncoding;
5960 };
pkgs/development/interpreters/python/cpython/default.nix+9−10
@@ -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,11 +67,12 @@ let
6767 executable = libPrefix;
6868 pythonVersion = with sourceVersion; "${major}.${minor}";
6969 sitePackages = "lib/${libPrefix}/site-packages";
70− inherit hasDistutilsCxxPatch pythonForBuild;
71− pythonPackagesBuildBuild = pkgsBuildBuild.${pythonAttr};
72− pythonPackagesBuildTarget = pkgsBuildTarget.${pythonAttr};
73− pythonPackagesHostHost = pkgsHostHost.${pythonAttr};
74− pythonPackagesTargetTarget = pkgsTargetTarget.${pythonAttr} or {};
70+ inherit hasDistutilsCxxPatch;
71+ pythonOnBuildForBuild = pkgsBuildBuild.${pythonAttr};
72+ pythonOnBuildForHost = pkgsBuildHost.${pythonAttr};
73+ pythonOnBuildForTarget = pkgsBuildTarget.${pythonAttr};
74+ pythonOnHostForHost = pkgsHostHost.${pythonAttr};
75+ pythonOnTargetForTarget = pkgsTargetTarget.${pythonAttr} or {};
7576 };
7677
7778 version = with sourceVersion; "${major}.${minor}.${patch}${suffix}";
@@ -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+15−13
@@ -14,12 +14,12 @@ with pkgs;
1414 , packageOverrides
1515 , sitePackages
1616 , hasDistutilsCxxPatch
17− , pythonPackagesBuildBuild
18− , pythonForBuild # provides pythonPackagesBuildHost
19− , pythonPackagesBuildTarget
20− , pythonPackagesHostHost
21− , self # is pythonPackagesHostTarget
22− , pythonPackagesTargetTarget
17+ , pythonOnBuildForBuild
18+ , pythonOnBuildForHost
19+ , pythonOnBuildForTarget
20+ , pythonOnHostForHost
21+ , pythonOnTargetForTarget
22+ , self # is pythonOnHostForTarget
2323 }: let
2424 pythonPackages = callPackage
2525 ({ pkgs, stdenv, python, overrides }: let
@@ -28,11 +28,11 @@ with pkgs;
2828 python = self;
2929 };
3030 otherSplices = {
31− selfBuildBuild = pythonPackagesBuildBuild;
32− selfBuildHost = pythonForBuild.pkgs;
33− selfBuildTarget = pythonPackagesBuildTarget;
34− selfHostHost = pythonPackagesHostHost;
35− selfTargetTarget = pythonPackagesTargetTarget;
31+ selfBuildBuild = pythonOnBuildForBuild.pkgs;
32+ selfBuildHost = pythonOnBuildForHost.pkgs;
33+ selfBuildTarget = pythonOnBuildForTarget.pkgs;
34+ selfHostHost = pythonOnHostForHost.pkgs;
35+ selfTargetTarget = pythonOnTargetForTarget.pkgs or {}; # There is no Python TargetTarget.
3636 };
3737 keep = self: {
3838 # TODO maybe only define these here so nothing is needed to be kept in sync.
@@ -99,7 +99,10 @@ with pkgs;
9999 inherit sourceVersion;
100100 pythonAtLeast = lib.versionAtLeast pythonVersion;
101101 pythonOlder = lib.versionOlder pythonVersion;
102− inherit hasDistutilsCxxPatch pythonForBuild;
102+ inherit hasDistutilsCxxPatch;
103+ # TODO: rename to pythonOnBuild
104+ # Not done immediately because its likely used outside Nixpkgs.
105+ pythonForBuild = pythonOnBuildForHost;
103106
104107 tests = callPackage ./tests.nix {
105108 python = self;
@@ -188,7 +191,6 @@ in {
188191 # Minimal versions of Python (built without optional dependencies)
189192 python3Minimal = (python38.override {
190193 self = python3Minimal;
191− pythonForBuild = pkgs.buildPackages.python3Minimal;
192194 # strip down that python version as much as possible
193195 openssl = null;
194196 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+ pythonOnBuildForBuild = pkgsBuildBuild.${pythonAttr};
35+ pythonOnBuildForHost = pkgsBuildHost.${pythonAttr};
36+ pythonOnBuildForTarget = pkgsBuildTarget.${pythonAttr};
37+ pythonOnHostForHost = pkgsHostHost.${pythonAttr};
38+ pythonOnTargetForTarget = pkgsTargetTarget.${pythonAttr} or {};
3439 };
3540 pname = passthru.executable;
3641 version = with sourceVersion; "${major}.${minor}.${patch}";
pkgs/development/interpreters/python/tests/test_nix_pythonprefix/default.nix+1−1
@@ -4,7 +4,7 @@ let
44
55 python = let
66 packageOverrides = self: super: {
7− typeddep = super.callPackage ./typeddep {};
7+ typeddep = self.callPackage ./typeddep {};
88 };
99 in interpreter.override {inherit packageOverrides; self = python;};
1010