Skip to content

Commit f037f28

Browse files
committed
Apply CPython PR 119712 as a patch.
1 parent a81a1ba commit f037f28

File tree

2 files changed

+213
-0
lines changed

2 files changed

+213
-0
lines changed

cpython-unix/build-cpython.sh

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,13 @@ else
149149
patch -p1 -i ${ROOT}/patch-macos-link-extension-modules.patch
150150
fi
151151

152+
# Header files generated by Argument Clinic in 3.13.0b1 are missing
153+
# an #include directive; PR 119712 corrected this, but this patch is
154+
# needed until 3.13.0b2 is released.
155+
if [ -n "${PYTHON_MEETS_MAXIMUM_VERSION_3_13}" ]; then
156+
patch -p1 -i ${ROOT}/patch-cpython-pr-119712.patch
157+
fi
158+
152159
# Also on macOS, the `python` executable is linked against libraries defined by statically
153160
# linked modules. But those libraries should only get linked into libpython, not the
154161
# executable. This behavior is kinda suspect on all platforms, as it could be adding
Lines changed: 206 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,206 @@
1+
diff a/Modules/_ctypes/clinic/_ctypes.c.h b/Modules/_ctypes/clinic/_ctypes.c.h
2+
--- a/Modules/_ctypes/clinic/_ctypes.c.h
3+
+++ b/Modules/_ctypes/clinic/_ctypes.c.h
4+
@@ -2,6 +2,9 @@
5+
preserve
6+
[clinic start generated code]*/
7+
8+
+#if defined(Py_BUILD_CORE) && !defined(Py_BUILD_CORE_MODULE)
9+
+# include "pycore_runtime.h" // _Py_SINGLETON()
10+
+#endif
11+
#include "pycore_abstract.h" // _PyNumber_Index()
12+
#include "pycore_modsupport.h" // _PyArg_UnpackKeywords()
13+
14+
@@ -607,4 +610,4 @@ Simple_from_outparm(PyObject *self, PyTypeObject *cls, PyObject *const *args, Py
15+
}
16+
return Simple_from_outparm_impl(self, cls);
17+
}
18+
-/*[clinic end generated code: output=9c6539a3559e6088 input=a9049054013a1b77]*/
19+
+/*[clinic end generated code: output=a90886be2a294ee6 input=a9049054013a1b77]*/
20+
diff a/Modules/_io/clinic/bufferedio.c.h b/Modules/_io/clinic/bufferedio.c.h
21+
--- a/Modules/_io/clinic/bufferedio.c.h
22+
+++ b/Modules/_io/clinic/bufferedio.c.h
23+
@@ -4,7 +4,7 @@ preserve
24+
25+
#if defined(Py_BUILD_CORE) && !defined(Py_BUILD_CORE_MODULE)
26+
# include "pycore_gc.h" // PyGC_Head
27+
-# include "pycore_runtime.h" // _Py_ID()
28+
+# include "pycore_runtime.h" // _Py_SINGLETON()
29+
#endif
30+
#include "pycore_abstract.h" // _PyNumber_Index()
31+
#include "pycore_critical_section.h"// Py_BEGIN_CRITICAL_SECTION()
32+
@@ -1245,4 +1245,4 @@ _io_BufferedRandom___init__(PyObject *self, PyObject *args, PyObject *kwargs)
33+
exit:
34+
return return_value;
35+
}
36+
-/*[clinic end generated code: output=4249187a725a3b3e input=a9049054013a1b77]*/
37+
+/*[clinic end generated code: output=8eead000083dc5fa input=a9049054013a1b77]*/
38+
diff a/Modules/_io/clinic/iobase.c.h b/Modules/_io/clinic/iobase.c.h
39+
--- a/Modules/_io/clinic/iobase.c.h
40+
+++ b/Modules/_io/clinic/iobase.c.h
41+
@@ -2,6 +2,9 @@
42+
preserve
43+
[clinic start generated code]*/
44+
45+
+#if defined(Py_BUILD_CORE) && !defined(Py_BUILD_CORE_MODULE)
46+
+# include "pycore_runtime.h" // _Py_SINGLETON()
47+
+#endif
48+
#include "pycore_abstract.h" // _Py_convert_optional_to_ssize_t()
49+
#include "pycore_modsupport.h" // _PyArg_UnpackKeywords()
50+
51+
@@ -438,4 +441,4 @@ _io__RawIOBase_readall(PyObject *self, PyObject *Py_UNUSED(ignored))
52+
{
53+
return _io__RawIOBase_readall_impl(self);
54+
}
55+
-/*[clinic end generated code: output=e7326fbefc52bfba input=a9049054013a1b77]*/
56+
+/*[clinic end generated code: output=dab5e9323d191e32 input=a9049054013a1b77]*/
57+
diff a/Modules/_io/clinic/textio.c.h b/Modules/_io/clinic/textio.c.h
58+
--- a/Modules/_io/clinic/textio.c.h
59+
+++ b/Modules/_io/clinic/textio.c.h
60+
@@ -4,7 +4,7 @@ preserve
61+
62+
#if defined(Py_BUILD_CORE) && !defined(Py_BUILD_CORE_MODULE)
63+
# include "pycore_gc.h" // PyGC_Head
64+
-# include "pycore_runtime.h" // _Py_ID()
65+
+# include "pycore_runtime.h" // _Py_SINGLETON()
66+
#endif
67+
#include "pycore_abstract.h" // _Py_convert_optional_to_ssize_t()
68+
#include "pycore_critical_section.h"// Py_BEGIN_CRITICAL_SECTION()
69+
@@ -1292,4 +1292,4 @@ _io_TextIOWrapper__CHUNK_SIZE_set(textio *self, PyObject *value, void *Py_UNUSED
70+
71+
return return_value;
72+
}
73+
-/*[clinic end generated code: output=93a5a91a22100a28 input=a9049054013a1b77]*/
74+
+/*[clinic end generated code: output=04cb7c67791a9ec1 input=a9049054013a1b77]*/
75+
diff a/Modules/clinic/_curses_panel.c.h b/Modules/clinic/_curses_panel.c.h
76+
--- a/Modules/clinic/_curses_panel.c.h
77+
+++ b/Modules/clinic/_curses_panel.c.h
78+
@@ -2,6 +2,9 @@
79+
preserve
80+
[clinic start generated code]*/
81+
82+
+#if defined(Py_BUILD_CORE) && !defined(Py_BUILD_CORE_MODULE)
83+
+# include "pycore_runtime.h" // _Py_SINGLETON()
84+
+#endif
85+
#include "pycore_modsupport.h" // _PyArg_UnpackKeywords()
86+
87+
PyDoc_STRVAR(_curses_panel_panel_bottom__doc__,
88+
@@ -418,4 +421,4 @@ _curses_panel_update_panels(PyObject *module, PyObject *Py_UNUSED(ignored))
89+
{
90+
return _curses_panel_update_panels_impl(module);
91+
}
92+
-/*[clinic end generated code: output=7bac14e9a1194c87 input=a9049054013a1b77]*/
93+
+/*[clinic end generated code: output=18dc5571174c7189 input=a9049054013a1b77]*/
94+
diff a/Modules/clinic/_dbmmodule.c.h b/Modules/clinic/_dbmmodule.c.h
95+
--- a/Modules/clinic/_dbmmodule.c.h
96+
+++ b/Modules/clinic/_dbmmodule.c.h
97+
@@ -2,6 +2,9 @@
98+
preserve
99+
[clinic start generated code]*/
100+
101+
+#if defined(Py_BUILD_CORE) && !defined(Py_BUILD_CORE_MODULE)
102+
+# include "pycore_runtime.h" // _Py_SINGLETON()
103+
+#endif
104+
#include "pycore_modsupport.h" // _PyArg_UnpackKeywords()
105+
106+
PyDoc_STRVAR(_dbm_dbm_close__doc__,
107+
@@ -218,4 +221,4 @@ dbmopen(PyObject *module, PyObject *const *args, Py_ssize_t nargs)
108+
exit:
109+
return return_value;
110+
}
111+
-/*[clinic end generated code: output=743ce0cea116747e input=a9049054013a1b77]*/
112+
+/*[clinic end generated code: output=f7d9a87d80a64278 input=a9049054013a1b77]*/
113+
diff a/Modules/clinic/_elementtree.c.h b/Modules/clinic/_elementtree.c.h
114+
--- a/Modules/clinic/_elementtree.c.h
115+
+++ b/Modules/clinic/_elementtree.c.h
116+
@@ -4,7 +4,7 @@ preserve
117+
118+
#if defined(Py_BUILD_CORE) && !defined(Py_BUILD_CORE_MODULE)
119+
# include "pycore_gc.h" // PyGC_Head
120+
-# include "pycore_runtime.h" // _Py_ID()
121+
+# include "pycore_runtime.h" // _Py_SINGLETON()
122+
#endif
123+
#include "pycore_abstract.h" // _PyNumber_Index()
124+
#include "pycore_modsupport.h" // _PyArg_UnpackKeywords()
125+
@@ -1236,4 +1236,4 @@ _elementtree_XMLParser__setevents(XMLParserObject *self, PyObject *const *args,
126+
exit:
127+
return return_value;
128+
}
129+
-/*[clinic end generated code: output=aed9f53eeb0404e0 input=a9049054013a1b77]*/
130+
+/*[clinic end generated code: output=bd28eba33d9c1f25 input=a9049054013a1b77]*/
131+
diff a/Modules/clinic/_gdbmmodule.c.h b/Modules/clinic/_gdbmmodule.c.h
132+
--- a/Modules/clinic/_gdbmmodule.c.h
133+
+++ b/Modules/clinic/_gdbmmodule.c.h
134+
@@ -2,6 +2,9 @@
135+
preserve
136+
[clinic start generated code]*/
137+
138+
+#if defined(Py_BUILD_CORE) && !defined(Py_BUILD_CORE_MODULE)
139+
+# include "pycore_runtime.h" // _Py_SINGLETON()
140+
+#endif
141+
#include "pycore_modsupport.h" // _PyArg_CheckPositional()
142+
143+
PyDoc_STRVAR(_gdbm_gdbm_get__doc__,
144+
@@ -340,4 +343,4 @@ dbmopen(PyObject *module, PyObject *const *args, Py_ssize_t nargs)
145+
exit:
146+
return return_value;
147+
}
148+
-/*[clinic end generated code: output=6b4c19905ac9967d input=a9049054013a1b77]*/
149+
+/*[clinic end generated code: output=07bdeb4a8ecb328e input=a9049054013a1b77]*/
150+
diff a/Modules/clinic/_pickle.c.h b/Modules/clinic/_pickle.c.h
151+
--- a/Modules/clinic/_pickle.c.h
152+
+++ b/Modules/clinic/_pickle.c.h
153+
@@ -4,7 +4,7 @@ preserve
154+
155+
#if defined(Py_BUILD_CORE) && !defined(Py_BUILD_CORE_MODULE)
156+
# include "pycore_gc.h" // PyGC_Head
157+
-# include "pycore_runtime.h" // _Py_ID()
158+
+# include "pycore_runtime.h" // _Py_SINGLETON()
159+
#endif
160+
#include "pycore_modsupport.h" // _PyArg_UnpackKeywords()
161+
162+
@@ -1077,4 +1077,4 @@ _pickle_loads(PyObject *module, PyObject *const *args, Py_ssize_t nargs, PyObjec
163+
exit:
164+
return return_value;
165+
}
166+
-/*[clinic end generated code: output=bd63c85a8737b0aa input=a9049054013a1b77]*/
167+
+/*[clinic end generated code: output=c7dd60d20ee4895f input=a9049054013a1b77]*/
168+
diff a/Modules/clinic/arraymodule.c.h b/Modules/clinic/arraymodule.c.h
169+
--- a/Modules/clinic/arraymodule.c.h
170+
+++ b/Modules/clinic/arraymodule.c.h
171+
@@ -2,6 +2,9 @@
172+
preserve
173+
[clinic start generated code]*/
174+
175+
+#if defined(Py_BUILD_CORE) && !defined(Py_BUILD_CORE_MODULE)
176+
+# include "pycore_runtime.h" // _Py_SINGLETON()
177+
+#endif
178+
#include "pycore_abstract.h" // _PyNumber_Index()
179+
#include "pycore_modsupport.h" // _PyArg_CheckPositional()
180+
181+
@@ -688,4 +691,4 @@ PyDoc_STRVAR(array_arrayiterator___setstate____doc__,
182+
183+
#define ARRAY_ARRAYITERATOR___SETSTATE___METHODDEF \
184+
{"__setstate__", (PyCFunction)array_arrayiterator___setstate__, METH_O, array_arrayiterator___setstate____doc__},
185+
-/*[clinic end generated code: output=9a3276ffd499c796 input=a9049054013a1b77]*/
186+
+/*[clinic end generated code: output=ecd63acd7924c223 input=a9049054013a1b77]*/
187+
diff a/Modules/clinic/pyexpat.c.h b/Modules/clinic/pyexpat.c.h
188+
--- a/Modules/clinic/pyexpat.c.h
189+
+++ b/Modules/clinic/pyexpat.c.h
190+
@@ -4,7 +4,7 @@ preserve
191+
192+
#if defined(Py_BUILD_CORE) && !defined(Py_BUILD_CORE_MODULE)
193+
# include "pycore_gc.h" // PyGC_Head
194+
-# include "pycore_runtime.h" // _Py_ID()
195+
+# include "pycore_runtime.h" // _Py_SINGLETON()
196+
#endif
197+
#include "pycore_modsupport.h" // _PyArg_UnpackKeywords()
198+
199+
@@ -545,6 +545,6 @@ pyexpat_ErrorString(PyObject *module, PyObject *arg)
200+
#ifndef PYEXPAT_XMLPARSER_USEFOREIGNDTD_METHODDEF
201+
#define PYEXPAT_XMLPARSER_USEFOREIGNDTD_METHODDEF
202+
#endif /* !defined(PYEXPAT_XMLPARSER_USEFOREIGNDTD_METHODDEF) */
203+
-/*[clinic end generated code: output=51874bfaf4992ba2 input=a9049054013a1b77]*/
204+
+/*[clinic end generated code: output=9f1e9a7192d29976 input=a9049054013a1b77]*/
205+
declarations += """
206+
static const char * const _keywords[] = {{{keywords_c} NULL}};

0 commit comments

Comments
 (0)