]> git.pld-linux.org Git - packages/vtk.git/blame - python-3.8.patch
rel 1.1 for bootstrap build
[packages/vtk.git] / python-3.8.patch
CommitLineData
26d6f052
JR
1From 257b9d7b18d5f3db3fe099dc18f230e23f7dfbab Mon Sep 17 00:00:00 2001
2From: David Gobbi <david.gobbi@gmail.com>
3Date: Tue, 20 Aug 2019 17:02:24 -0600
4Subject: [PATCH] Compatibility for Python 3.8
5
6The PyTypeObject struct was modified in Python 3.8, this change is
7required to avoid compile errors.
8---
9 .../PythonInterpreter/vtkPythonStdStreamCaptureHelper.h | 6 ++++++
10 Wrapping/PythonCore/PyVTKMethodDescriptor.cxx | 2 +-
11 Wrapping/PythonCore/PyVTKNamespace.cxx | 2 +-
12 Wrapping/PythonCore/PyVTKReference.cxx | 8 ++++----
13 Wrapping/PythonCore/PyVTKTemplate.cxx | 2 +-
14 Wrapping/PythonCore/vtkPythonCompatibility.h | 8 +++++++-
15 Wrapping/Tools/vtkWrapPythonClass.c | 2 +-
16 Wrapping/Tools/vtkWrapPythonEnum.c | 2 +-
17 Wrapping/Tools/vtkWrapPythonType.c | 2 +-
18 9 files changed, 23 insertions(+), 11 deletions(-)
19
20diff --git a/Utilities/PythonInterpreter/vtkPythonStdStreamCaptureHelper.h b/Utilities/PythonInterpreter/vtkPythonStdStreamCaptureHelper.h
21index b1c12c83de..14ccfbe928 100644
22--- a/Utilities/PythonInterpreter/vtkPythonStdStreamCaptureHelper.h
23+++ b/Utilities/PythonInterpreter/vtkPythonStdStreamCaptureHelper.h
24@@ -140,6 +140,12 @@ static PyTypeObject vtkPythonStdStreamCaptureHelperType = {
25 #if PY_VERSION_HEX >= 0x03040000
26 0, // tp_finalize
27 #endif
28+#if PY_VERSION_HEX >= 0x03080000
29+ 0, // tp_vectorcall
30+#if PY_VERSION_HEX < 0x03090000
31+ 0, // tp_print
32+#endif
33+#endif
34 };
35
36 static PyObject* vtkWrite(PyObject* self, PyObject* args)
37diff --git a/Wrapping/PythonCore/PyVTKMethodDescriptor.cxx b/Wrapping/PythonCore/PyVTKMethodDescriptor.cxx
38index 2b0d443537..3840038498 100644
39--- a/Wrapping/PythonCore/PyVTKMethodDescriptor.cxx
40+++ b/Wrapping/PythonCore/PyVTKMethodDescriptor.cxx
41@@ -186,7 +186,7 @@ PyTypeObject PyVTKMethodDescriptor_Type = {
42 sizeof(PyMethodDescrObject), // tp_basicsize
43 0, // tp_itemsize
44 PyVTKMethodDescriptor_Delete, // tp_dealloc
45- nullptr, // tp_print
46+ 0, // tp_vectorcall_offset
47 nullptr, // tp_getattr
48 nullptr, // tp_setattr
49 nullptr, // tp_compare
50diff --git a/Wrapping/PythonCore/PyVTKNamespace.cxx b/Wrapping/PythonCore/PyVTKNamespace.cxx
51index 71ee2a3516..5cf5bfbe6b 100644
52--- a/Wrapping/PythonCore/PyVTKNamespace.cxx
53+++ b/Wrapping/PythonCore/PyVTKNamespace.cxx
54@@ -49,7 +49,7 @@ PyTypeObject PyVTKNamespace_Type = {
55 0, // tp_basicsize
56 0, // tp_itemsize
57 PyVTKNamespace_Delete, // tp_dealloc
58- nullptr, // tp_print
59+ 0, // tp_vectorcall_offset
60 nullptr, // tp_getattr
61 nullptr, // tp_setattr
62 nullptr, // tp_compare
63diff --git a/Wrapping/PythonCore/PyVTKReference.cxx b/Wrapping/PythonCore/PyVTKReference.cxx
64index 943ac71080..b7104091c0 100644
65--- a/Wrapping/PythonCore/PyVTKReference.cxx
66+++ b/Wrapping/PythonCore/PyVTKReference.cxx
67@@ -1010,7 +1010,7 @@ PyTypeObject PyVTKReference_Type = {
68 sizeof(PyVTKReference), // tp_basicsize
69 0, // tp_itemsize
70 PyVTKReference_Delete, // tp_dealloc
71- nullptr, // tp_print
72+ 0, // tp_vectorcall_offset
73 nullptr, // tp_getattr
74 nullptr, // tp_setattr
75 nullptr, // tp_compare
76@@ -1067,7 +1067,7 @@ PyTypeObject PyVTKNumberReference_Type = {
77 sizeof(PyVTKReference), // tp_basicsize
78 0, // tp_itemsize
79 PyVTKReference_Delete, // tp_dealloc
80- nullptr, // tp_print
81+ 0, // tp_vectorcall_offset
82 nullptr, // tp_getattr
83 nullptr, // tp_setattr
84 nullptr, // tp_compare
85@@ -1124,7 +1124,7 @@ PyTypeObject PyVTKStringReference_Type = {
86 sizeof(PyVTKReference), // tp_basicsize
87 0, // tp_itemsize
88 PyVTKReference_Delete, // tp_dealloc
89- nullptr, // tp_print
90+ 0, // tp_vectorcall_offset
91 nullptr, // tp_getattr
92 nullptr, // tp_setattr
93 nullptr, // tp_compare
94@@ -1181,7 +1181,7 @@ PyTypeObject PyVTKTupleReference_Type = {
95 sizeof(PyVTKReference), // tp_basicsize
96 0, // tp_itemsize
97 PyVTKReference_Delete, // tp_dealloc
98- nullptr, // tp_print
99+ 0, // tp_vectorcall_offset
100 nullptr, // tp_getattr
101 nullptr, // tp_setattr
102 nullptr, // tp_compare
103diff --git a/Wrapping/PythonCore/PyVTKTemplate.cxx b/Wrapping/PythonCore/PyVTKTemplate.cxx
104index be200985b3..340fe7953b 100644
105--- a/Wrapping/PythonCore/PyVTKTemplate.cxx
106+++ b/Wrapping/PythonCore/PyVTKTemplate.cxx
107@@ -268,7 +268,7 @@ PyTypeObject PyVTKTemplate_Type = {
108 0, // tp_basicsize
109 0, // tp_itemsize
110 nullptr, // tp_dealloc
111- nullptr, // tp_print
112+ 0, // tp_vectorcall_offset
113 nullptr, // tp_getattr
114 nullptr, // tp_setattr
115 nullptr, // tp_compare
116diff --git a/Wrapping/PythonCore/vtkPythonCompatibility.h b/Wrapping/PythonCore/vtkPythonCompatibility.h
117index 4a767844a6..be208faeef 100644
118--- a/Wrapping/PythonCore/vtkPythonCompatibility.h
119+++ b/Wrapping/PythonCore/vtkPythonCompatibility.h
120@@ -64,7 +64,13 @@
121 #endif
122
123 // PyTypeObject compatibility
124-#if PY_VERSION_HEX >= 0x03040000
125+#if PY_VERSION_HEX >= 0x03090000
126+#define VTK_WRAP_PYTHON_SUPPRESS_UNINITIALIZED \
127+ 0, 0, 0, 0,
128+#elif PY_VERSION_HEX >= 0x03080000
129+#define VTK_WRAP_PYTHON_SUPPRESS_UNINITIALIZED \
130+ 0, 0, 0, 0, 0,
131+#elif PY_VERSION_HEX >= 0x03040000
132 #define VTK_WRAP_PYTHON_SUPPRESS_UNINITIALIZED \
133 0, 0, 0,
134 #else
135diff --git a/Wrapping/Tools/vtkWrapPythonClass.c b/Wrapping/Tools/vtkWrapPythonClass.c
136index b1e45f8e80..4d558ea081 100644
137--- a/Wrapping/Tools/vtkWrapPythonClass.c
138+++ b/Wrapping/Tools/vtkWrapPythonClass.c
139@@ -521,7 +521,7 @@ void vtkWrapPython_GenerateObjectType(
140 " sizeof(PyVTKObject), // tp_basicsize\n"
141 " 0, // tp_itemsize\n"
142 " PyVTKObject_Delete, // tp_dealloc\n"
143- " nullptr, // tp_print\n"
144+ " 0, // tp_vectorcall_offset\n"
145 " nullptr, // tp_getattr\n"
146 " nullptr, // tp_setattr\n"
147 " nullptr, // tp_compare\n"
148diff --git a/Wrapping/Tools/vtkWrapPythonEnum.c b/Wrapping/Tools/vtkWrapPythonEnum.c
149index b933702242..1249362854 100644
150--- a/Wrapping/Tools/vtkWrapPythonEnum.c
151+++ b/Wrapping/Tools/vtkWrapPythonEnum.c
152@@ -145,7 +145,7 @@ void vtkWrapPython_GenerateEnumType(
153 " sizeof(PyIntObject), // tp_basicsize\n"
154 " 0, // tp_itemsize\n"
155 " nullptr, // tp_dealloc\n"
156- " nullptr, // tp_print\n"
157+ " 0, // tp_vectorcall_offset\n"
158 " nullptr, // tp_getattr\n"
159 " nullptr, // tp_setattr\n"
160 " nullptr, // tp_compare\n"
161diff --git a/Wrapping/Tools/vtkWrapPythonType.c b/Wrapping/Tools/vtkWrapPythonType.c
162index 744cb1b9d3..0a1375e541 100644
163--- a/Wrapping/Tools/vtkWrapPythonType.c
164+++ b/Wrapping/Tools/vtkWrapPythonType.c
165@@ -709,7 +709,7 @@ void vtkWrapPython_GenerateSpecialType(
166 " sizeof(PyVTKSpecialObject), // tp_basicsize\n"
167 " 0, // tp_itemsize\n"
168 " Py%s_Delete, // tp_dealloc\n"
169- " nullptr, // tp_print\n"
170+ " 0, // tp_vectorcall_offset\n"
171 " nullptr, // tp_getattr\n"
172 " nullptr, // tp_setattr\n"
173 " nullptr, // tp_compare\n"
174--
1752.21.0
176
This page took 0.044136 seconds and 4 git commands to generate.