void-packages/srcpkgs/freecad/patches/091-py39.patch

175 lines
6.1 KiB
Diff

Fix for Python 3.9
https://github.com/FreeCAD/FreeCAD/commit/ae641dc5278efafa22b168fc196875558b92e436
diff --git src/Base/swigpyrun_1.3.25.h src/Base/swigpyrun_1.3.25.h
index 91717210b..9ebadbc83 100644
--- src/Base/swigpyrun_1.3.25.h
+++ src/Base/swigpyrun_1.3.25.h
@@ -699,7 +699,11 @@ PySwigObject_type(void) {
0, /*tp_itemsize*/
/* methods */
(destructor)PySwigObject_dealloc, /*tp_dealloc*/
+#if PY_VERSION_HEX < 0x03080000
(printfunc)PySwigObject_print, /*tp_print*/
+#else
+ 0, /*tp_vectorcall_offset*/
+#endif
(getattrfunc)0, /*tp_getattr*/
(setattrfunc)0, /*tp_setattr*/
(cmpfunc)PySwigObject_compare, /*tp_compare*/
@@ -859,7 +863,11 @@ PySwigPacked_type(void) {
0, /*tp_itemsize*/
/* methods */
(destructor)PySwigPacked_dealloc, /*tp_dealloc*/
+#if PY_VERSION_HEX < 0x03080000
(printfunc)PySwigPacked_print, /*tp_print*/
+#else
+ 0, /*tp_vectorcall_offset*/
+#endif
(getattrfunc)0, /*tp_getattr*/
(setattrfunc)0, /*tp_setattr*/
(cmpfunc)PySwigPacked_compare, /*tp_compare*/
diff --git src/Base/swigpyrun_1.3.33.h src/Base/swigpyrun_1.3.33.h
index f83ac1e89..afd5a8c50 100644
--- src/Base/swigpyrun_1.3.33.h
+++ src/Base/swigpyrun_1.3.33.h
@@ -1620,7 +1620,11 @@ _PySwigObject_type(void) {
sizeof(PySwigObject), /* tp_basicsize */
0, /* tp_itemsize */
(destructor)PySwigObject_dealloc, /* tp_dealloc */
+#if PY_VERSION_HEX < 0x03080000
(printfunc)PySwigObject_print, /* tp_print */
+#else
+ 0, /*tp_vectorcall_offset*/
+#endif
#if PY_VERSION_HEX < 0x02020000
(getattrfunc)PySwigObject_getattr, /* tp_getattr */
#else
@@ -1790,7 +1794,11 @@ _PySwigPacked_type(void) {
sizeof(PySwigPacked), /* tp_basicsize */
0, /* tp_itemsize */
(destructor)PySwigPacked_dealloc, /* tp_dealloc */
+#if PY_VERSION_HEX < 0x03080000
(printfunc)PySwigPacked_print, /* tp_print */
+#else
+ 0, /*tp_vectorcall_offset*/
+#endif
(getattrfunc)0, /* tp_getattr */
(setattrfunc)0, /* tp_setattr */
(cmpfunc)PySwigPacked_compare, /* tp_compare */
diff --git src/Base/swigpyrun_1.3.36.h src/Base/swigpyrun_1.3.36.h
index 02c58ad8a..12ad41e12 100644
--- src/Base/swigpyrun_1.3.36.h
+++ src/Base/swigpyrun_1.3.36.h
@@ -1628,7 +1628,12 @@ _PySwigObject_type(void) {
sizeof(PySwigObject), /* tp_basicsize */
0, /* tp_itemsize */
(destructor)PySwigObject_dealloc, /* tp_dealloc */
+#if PY_VERSION_HEX < 0x03080000
(printfunc)PySwigObject_print, /* tp_print */
+#else
+ 0, /*tp_vectorcall_offset*/
+#endif
+
#if PY_VERSION_HEX < 0x02020000
(getattrfunc)PySwigObject_getattr, /* tp_getattr */
#else
@@ -1798,7 +1803,11 @@ _PySwigPacked_type(void) {
sizeof(PySwigPacked), /* tp_basicsize */
0, /* tp_itemsize */
(destructor)PySwigPacked_dealloc, /* tp_dealloc */
+#if PY_VERSION_HEX < 0x03080000
(printfunc)PySwigPacked_print, /* tp_print */
+#else
+ 0, /*tp_vectorcall_offset*/
+#endif
(getattrfunc)0, /* tp_getattr */
(setattrfunc)0, /* tp_setattr */
(cmpfunc)PySwigPacked_compare, /* tp_compare */
diff --git src/Base/swigpyrun_1.3.38.h src/Base/swigpyrun_1.3.38.h
index dae058c20..7cacc1579 100644
--- src/Base/swigpyrun_1.3.38.h
+++ src/Base/swigpyrun_1.3.38.h
@@ -1741,7 +1741,11 @@ _PySwigObject_type(void) {
sizeof(SwigPyObject), /* tp_basicsize */
0, /* tp_itemsize */
(destructor)SwigPyObject_dealloc, /* tp_dealloc */
+#if PY_VERSION_HEX < 0x03080000
(printfunc)SwigPyObject_print, /* tp_print */
+#else
+ 0, /*tp_vectorcall_offset*/
+#endif
#if PY_VERSION_HEX < 0x02020000
(getattrfunc)SwigPyObject_getattr, /* tp_getattr */
#else
@@ -1919,7 +1923,11 @@ _PySwigPacked_type(void) {
sizeof(SwigPyPacked), /* tp_basicsize */
0, /* tp_itemsize */
(destructor)SwigPyPacked_dealloc, /* tp_dealloc */
+#if PY_VERSION_HEX < 0x03080000
(printfunc)SwigPyPacked_print, /* tp_print */
+#else
+ 0, /*tp_vectorcall_offset*/
+#endif
(getattrfunc)0, /* tp_getattr */
(setattrfunc)0, /* tp_setattr */
(cmpfunc)SwigPyPacked_compare, /* tp_compare */
diff --git src/Base/swigpyrun_1.3.40.h src/Base/swigpyrun_1.3.40.h
index 136ba809f..400db8b47 100644
--- src/Base/swigpyrun_1.3.40.h
+++ src/Base/swigpyrun_1.3.40.h
@@ -1766,7 +1766,11 @@ _PySwigObject_type(void) {
sizeof(SwigPyObject), /* tp_basicsize */
0, /* tp_itemsize */
(destructor)SwigPyObject_dealloc, /* tp_dealloc */
+#if PY_VERSION_HEX < 0x03080000
(printfunc)SwigPyObject_print, /* tp_print */
+#else
+ 0, /*tp_vectorcall_offset*/
+#endif
#if PY_VERSION_HEX < 0x02020000
(getattrfunc)SwigPyObject_getattr, /* tp_getattr */
#else
@@ -1947,8 +1951,12 @@ _PySwigPacked_type(void) {
(char *)"SwigPyPacked", /* tp_name */
sizeof(SwigPyPacked), /* tp_basicsize */
0, /* tp_itemsize */
- (destructor)SwigPyPacked_dealloc, /* tp_dealloc */
- (printfunc)SwigPyPacked_print, /* tp_print */
+ (destructor)SwigPyPacked_dealloc, /* tp_dealloc */
+#if PY_VERSION_HEX < 0x03080000
+ (printfunc)SwigPyPacked_print, /* tp_print */
+#else
+ 0, /*tp_vectorcall_offset*/
+#endif
(getattrfunc)0, /* tp_getattr */
(setattrfunc)0, /* tp_setattr */
#if PY_VERSION_HEX>=0x03000000
diff --git src/CXX/Python3/cxx_extensions.cxx src/CXX/Python3/cxx_extensions.cxx
index fb3da455f..9ff94612f 100644
--- src/CXX/Python3/cxx_extensions.cxx
+++ src/CXX/Python3/cxx_extensions.cxx
@@ -381,7 +381,11 @@ PythonType::PythonType( size_t basic_size, int itemsize, const char *default_nam
// Methods to implement standard operations
table->tp_dealloc = (destructor)standard_dealloc;
+#if PY_VERSION_HEX < 0x03080000
table->tp_print = 0;
+#else
+ table->tp_vectorcall_offset = 0;
+#endif
table->tp_getattr = 0;
table->tp_setattr = 0;
table->tp_repr = 0;
@@ -524,7 +528,9 @@ PythonType &PythonType::supportClass()
#ifdef PYCXX_PYTHON_2TO3
PythonType &PythonType::supportPrint()
{
+#if PY_VERSION_HEX < 0x03080000
table->tp_print = print_handler;
+#endif
return *this;
}
#endif