File python312.patch of Package failed_python-cx_Freeze
Index: cx_Freeze-6.15.15/cx_Freeze/finder.py
===================================================================
--- cx_Freeze-6.15.15.orig/cx_Freeze/finder.py
+++ cx_Freeze-6.15.15/cx_Freeze/finder.py
@@ -30,7 +30,10 @@ EXTENDED_ARG = opcode.opmap["EXTENDED_AR
LOAD_CONST = opcode.opmap["LOAD_CONST"]
IMPORT_NAME = opcode.opmap["IMPORT_NAME"]
IMPORT_FROM = opcode.opmap["IMPORT_FROM"]
-IMPORT_STAR = opcode.opmap["IMPORT_STAR"]
+# Python 3.12+ uses CALL_INTRINSIC_1 with argument 2
+IMPORT_STAR = (
+ opcode.opmap.get("IMPORT_STAR") or opcode.opmap["CALL_INTRINSIC_1"]
+)
STORE_FAST = opcode.opmap["STORE_FAST"]
STORE_NAME = opcode.opmap["STORE_NAME"]
STORE_GLOBAL = opcode.opmap["STORE_GLOBAL"]
@@ -637,6 +640,7 @@ class ModuleFinder:
# import * statement: copy all global names
elif (
opc == IMPORT_STAR
+ and (arg == 2 if opc > HAVE_ARGUMENT else None)
and top_level
and imported_module is not None
):
Index: cx_Freeze-6.15.15/pyproject.toml
===================================================================
--- cx_Freeze-6.15.15.orig/pyproject.toml
+++ cx_Freeze-6.15.15/pyproject.toml
@@ -31,6 +31,7 @@ classifiers = [
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
+ "Programming Language :: Python :: 3.12",
"Topic :: Software Development :: Build Tools",
"Topic :: Software Development :: Libraries :: Python Modules",
"Topic :: System :: Software Distribution",