boost rebuild
[packages/vtk.git] / python-3.8.patch
1 From 257b9d7b18d5f3db3fe099dc18f230e23f7dfbab Mon Sep 17 00:00:00 2001
2 From: David Gobbi <david.gobbi@gmail.com>
3 Date: Tue, 20 Aug 2019 17:02:24 -0600
4 Subject: [PATCH] Compatibility for Python 3.8
5
6 The PyTypeObject struct was modified in Python 3.8, this change is
7 required 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
20 diff --git a/Utilities/PythonInterpreter/vtkPythonStdStreamCaptureHelper.h b/Utilities/PythonInterpreter/vtkPythonStdStreamCaptureHelper.h
21 index 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)
37 diff --git a/Wrapping/PythonCore/PyVTKMethodDescriptor.cxx b/Wrapping/PythonCore/PyVTKMethodDescriptor.cxx
38 index 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
50 diff --git a/Wrapping/PythonCore/PyVTKNamespace.cxx b/Wrapping/PythonCore/PyVTKNamespace.cxx
51 index 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
63 diff --git a/Wrapping/PythonCore/PyVTKReference.cxx b/Wrapping/PythonCore/PyVTKReference.cxx
64 index 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
103 diff --git a/Wrapping/PythonCore/PyVTKTemplate.cxx b/Wrapping/PythonCore/PyVTKTemplate.cxx
104 index 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
116 diff --git a/Wrapping/PythonCore/vtkPythonCompatibility.h b/Wrapping/PythonCore/vtkPythonCompatibility.h
117 index 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
135 diff --git a/Wrapping/Tools/vtkWrapPythonClass.c b/Wrapping/Tools/vtkWrapPythonClass.c
136 index 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"
148 diff --git a/Wrapping/Tools/vtkWrapPythonEnum.c b/Wrapping/Tools/vtkWrapPythonEnum.c
149 index 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"
161 diff --git a/Wrapping/Tools/vtkWrapPythonType.c b/Wrapping/Tools/vtkWrapPythonType.c
162 index 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 -- 
175 2.21.0
176
This page took 0.119765 seconds and 3 git commands to generate.