pythonInterpreters: Add passthru.pythonABITags (#445140)

This commit is contained in:
Martin Weinelt
2025-10-05 01:17:18 +00:00
committed by GitHub
6 changed files with 27 additions and 0 deletions
@@ -87,6 +87,10 @@ let
pythonOnBuildForTarget = pkgsBuildTarget.${pythonAttr};
pythonOnHostForHost = pkgsHostHost.${pythonAttr};
pythonOnTargetForTarget = pkgsTargetTarget.${pythonAttr} or { };
pythonABITags = [
"none"
"cp${sourceVersion.major}${sourceVersion.minor}"
];
}
// {
inherit ucsEncoding;
@@ -195,6 +195,12 @@ let
pythonOnHostForHost
pythonOnTargetForTarget
;
pythonABITags = [
"abi3"
"none"
"cp${sourceVersion.major}${sourceVersion.minor}${lib.optionalString (!enableGIL) "t"}"
];
};
version = with sourceVersion; "${major}.${minor}.${patch}${suffix}";
@@ -23,6 +23,7 @@
pythonOnHostForHost,
pythonOnTargetForTarget,
pythonAttr ? null,
pythonABITags ? [ "none" ],
self, # is pythonOnHostForTarget
}:
let
@@ -141,6 +142,7 @@ rec {
pythonOlder = lib.versionOlder pythonVersion;
inherit hasDistutilsCxxPatch;
inherit pythonOnBuildForHost;
inherit pythonABITags;
tests = callPackage ./tests.nix {
python = self;
@@ -67,6 +67,11 @@ let
pythonOnBuildForTarget = pkgsBuildTarget.${pythonAttr};
pythonOnHostForHost = pkgsHostHost.${pythonAttr};
pythonOnTargetForTarget = pkgsTargetTarget.${pythonAttr} or { };
pythonABITags = [
"none"
"pypy${lib.concatStrings (lib.take 2 (lib.splitString "." pythonVersion))}_pp${sourceVersion.major}${sourceVersion.minor}"
];
};
pname = passthru.executable;
version = with sourceVersion; "${major}.${minor}.${patch}";
@@ -48,6 +48,11 @@ let
pythonOnBuildForTarget = throw "${pname} does not support cross compilation";
pythonOnHostForHost = throw "${pname} does not support cross compilation";
pythonOnTargetForTarget = throw "${pname} does not support cross compilation";
pythonABITags = [
"none"
"pypy${lib.concatStrings (lib.take 2 (lib.splitString "." pythonVersion))}_pp${sourceVersion.major}${sourceVersion.minor}"
];
};
pname = "${passthru.executable}_prebuilt";
version = with sourceVersion; "${major}.${minor}.${patch}";
@@ -48,6 +48,11 @@ let
pythonOnBuildForTarget = throw "${pname} does not support cross compilation";
pythonOnHostForHost = throw "${pname} does not support cross compilation";
pythonOnTargetForTarget = throw "${pname} does not support cross compilation";
pythonABITags = [
"none"
"pypy${lib.concatStrings (lib.take 2 (lib.splitString "." pythonVersion))}_pp${sourceVersion.major}${sourceVersion.minor}"
];
};
pname = "${passthru.executable}_prebuilt";
version = with sourceVersion; "${major}.${minor}.${patch}";