]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-132930: Fixes PEP 514 registration for PyManager packages on x64 (GH-133154)
authorSteve Dower <steve.dower@python.org>
Tue, 29 Apr 2025 15:20:41 +0000 (16:20 +0100)
committerGitHub <noreply@github.com>
Tue, 29 Apr 2025 15:20:41 +0000 (16:20 +0100)
PC/layout/support/pymanager.py

index 4cf3a5599a7951b09fbcd2e2756fd835a0aef5b3..3e70284a2be1e404b1fc76e5e97eb590e9c1e03d 100644 (file)
@@ -82,6 +82,8 @@ def calculate_install_json(ns, *, for_embed=False, for_test=False):
     ID_TAG = XY_ARCH_TAG
     # Tag shown in 'py list' output
     DISPLAY_TAG = f"{XY_TAG}-dev{TAG_ARCH}" if VER_SUFFIX else XY_ARCH_TAG
+    # Tag used for PEP 514 registration
+    SYS_WINVER = XY_TAG + (TAG_ARCH if TAG_ARCH != '-64' else '')
 
     DISPLAY_SUFFIX = ", ".join(i for i in DISPLAY_TAGS if i)
     if DISPLAY_SUFFIX:
@@ -146,25 +148,26 @@ def calculate_install_json(ns, *, for_embed=False, for_test=False):
                 {**base, "name": f"{prefix}{X_ARCH_TAG}.exe"},
             ])
 
-    STD_PEP514.append({
-        "kind": "pep514",
-        "Key": rf"{COMPANY}\{ID_TAG}",
-        "DisplayName": f"{DISPLAY_NAME} {DISPLAY_VERSION}",
-        "SupportUrl": "https://www.python.org/",
-        "SysArchitecture": SYS_ARCH,
-        "SysVersion": VER_DOT,
-        "Version": FULL_VERSION,
-        "InstallPath": {
-            "_": "%PREFIX%",
-            "ExecutablePath": f"%PREFIX%{TARGET}",
-            # WindowedExecutablePath is added below
-        },
-        "Help": {
-            "Online Python Documentation": {
-                "_": f"https://docs.python.org/{VER_DOT}/"
+    if SYS_WINVER:
+        STD_PEP514.append({
+            "kind": "pep514",
+            "Key": rf"{COMPANY}\{SYS_WINVER}",
+            "DisplayName": f"{DISPLAY_NAME} {DISPLAY_VERSION}",
+            "SupportUrl": "https://www.python.org/",
+            "SysArchitecture": SYS_ARCH,
+            "SysVersion": VER_DOT,
+            "Version": FULL_VERSION,
+            "InstallPath": {
+                "_": "%PREFIX%",
+                "ExecutablePath": f"%PREFIX%{TARGET}",
+                # WindowedExecutablePath is added below
             },
-        },
-    })
+            "Help": {
+                "Online Python Documentation": {
+                    "_": f"https://docs.python.org/{VER_DOT}/"
+                },
+            },
+        })
 
     STD_START.append({
         "kind": "start",