PKGBUILDs/extra/libreoffice-still/python-3.8.patch
2019-11-14 13:49:27 +00:00

200 lines
6.2 KiB
Diff

From a62b45cf541cf47d136bdff87dff4c13fd4296c2 Mon Sep 17 00:00:00 2001
From: Stephan Bergmann <sbergman@redhat.com>
Date: Fri, 7 Jun 2019 15:57:13 +0200
Subject: [PATCH] Adapt to upcoming Python 3.8
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
...which changed PyTypeObject in <https://github.com/python/cpython/commit/
aacc77fbd77640a8f03638216fa09372cc21673d> "bpo-36974: implement PEP 590
(GH-13185)".
Change-Id: I687ec38aeda05d0747b9ed08221db75a758bed51
Reviewed-on: https://gerrit.libreoffice.org/73664
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
(cherry picked from commit 2bd585f31d7abb066e3f53d9b29c822af20aea69)
Reviewed-on: https://gerrit.libreoffice.org/73778
---
pyuno/source/module/pyuno.cxx | 9 ++++++++-
pyuno/source/module/pyuno_callable.cxx | 9 ++++++++-
pyuno/source/module/pyuno_iterator.cxx | 18 ++++++++++++++++--
pyuno/source/module/pyuno_runtime.cxx | 9 ++++++++-
pyuno/source/module/pyuno_struct.cxx | 9 ++++++++-
5 files changed, 48 insertions(+), 6 deletions(-)
diff --git a/pyuno/source/module/pyuno.cxx b/pyuno/source/module/pyuno.cxx
index f5f23bf058fa..e59319030eb8 100644
--- a/pyuno/source/module/pyuno.cxx
+++ b/pyuno/source/module/pyuno.cxx
@@ -1636,7 +1636,11 @@ static PyTypeObject PyUNOType =
sizeof (PyUNO),
0,
PyUNO_del,
- nullptr,
+#if PY_VERSION_HEX >= 0x03080000
+ 0, // Py_ssize_t tp_vectorcall_offset
+#else
+ nullptr, // printfunc tp_print
+#endif
PyUNO_getattr,
PyUNO_setattr,
/* this type does not exist in Python 3: (cmpfunc) */ nullptr,
@@ -1680,6 +1684,9 @@ static PyTypeObject PyUNOType =
, 0
#if PY_VERSION_HEX >= 0x03040000
, nullptr
+#if PY_VERSION_HEX >= 0x03080000
+ , nullptr // vectorcallfunc tp_vectorcall
+#endif
#endif
};
diff --git a/pyuno/source/module/pyuno_callable.cxx b/pyuno/source/module/pyuno_callable.cxx
index 6519d20734c9..656d1c84cb0e 100644
--- a/pyuno/source/module/pyuno_callable.cxx
+++ b/pyuno/source/module/pyuno_callable.cxx
@@ -181,7 +181,11 @@ static PyTypeObject PyUNO_callable_Type =
sizeof (PyUNO_callable),
0,
::pyuno::PyUNO_callable_del,
- nullptr,
+#if PY_VERSION_HEX >= 0x03080000
+ 0, // Py_ssize_t tp_vectorcall_offset
+#else
+ nullptr, // printfunc tp_print
+#endif
nullptr,
nullptr,
nullptr,
@@ -225,6 +229,9 @@ static PyTypeObject PyUNO_callable_Type =
, 0
#if PY_VERSION_HEX >= 0x03040000
, nullptr
+#if PY_VERSION_HEX >= 0x03080000
+ , nullptr // vectorcallfunc tp_vectorcall
+#endif
#endif
};
diff --git a/pyuno/source/module/pyuno_iterator.cxx b/pyuno/source/module/pyuno_iterator.cxx
index 5f643c13b67e..a7862857d719 100644
--- a/pyuno/source/module/pyuno_iterator.cxx
+++ b/pyuno/source/module/pyuno_iterator.cxx
@@ -118,7 +118,11 @@ static PyTypeObject PyUNO_iterator_Type =
sizeof (PyUNO_iterator),
0,
PyUNO_iterator_del,
- nullptr,
+#if PY_VERSION_HEX >= 0x03080000
+ 0, // Py_ssize_t tp_vectorcall_offset
+#else
+ nullptr, // printfunc tp_print
+#endif
nullptr,
nullptr,
nullptr,
@@ -162,6 +166,9 @@ static PyTypeObject PyUNO_iterator_Type =
0
#if PY_VERSION_HEX >= 0x03040000
, nullptr
+#if PY_VERSION_HEX >= 0x03080000
+ , nullptr // vectorcallfunc tp_vectorcall
+#endif
#endif
};
@@ -248,7 +255,11 @@ static PyTypeObject PyUNO_list_iterator_Type =
sizeof (PyUNO_list_iterator),
0,
PyUNO_list_iterator_del,
- nullptr,
+#if PY_VERSION_HEX >= 0x03080000
+ 0, // Py_ssize_t tp_vectorcall_offset
+#else
+ nullptr, // printfunc tp_print
+#endif
nullptr,
nullptr,
nullptr,
@@ -292,6 +303,9 @@ static PyTypeObject PyUNO_list_iterator_Type =
0
#if PY_VERSION_HEX >= 0x03040000
, nullptr
+#if PY_VERSION_HEX >= 0x03080000
+ , nullptr // vectorcallfunc tp_vectorcall
+#endif
#endif
};
diff --git a/pyuno/source/module/pyuno_runtime.cxx b/pyuno/source/module/pyuno_runtime.cxx
index 9887c1fbc828..d307f9af363c 100644
--- a/pyuno/source/module/pyuno_runtime.cxx
+++ b/pyuno/source/module/pyuno_runtime.cxx
@@ -75,7 +75,11 @@ static PyTypeObject RuntimeImpl_Type =
sizeof (RuntimeImpl),
0,
RuntimeImpl::del,
- nullptr,
+#if PY_VERSION_HEX >= 0x03080000
+ 0, // Py_ssize_t tp_vectorcall_offset
+#else
+ nullptr, // printfunc tp_print
+#endif
nullptr,
nullptr,
nullptr,
@@ -119,6 +123,9 @@ static PyTypeObject RuntimeImpl_Type =
, 0
#if PY_VERSION_HEX >= 0x03040000
, nullptr
+#if PY_VERSION_HEX >= 0x03080000
+ , nullptr // vectorcallfunc tp_vectorcall
+#endif
#endif
};
diff --git a/pyuno/source/module/pyuno_struct.cxx b/pyuno/source/module/pyuno_struct.cxx
index 7088fc346145..9ad9439318ce 100644
--- a/pyuno/source/module/pyuno_struct.cxx
+++ b/pyuno/source/module/pyuno_struct.cxx
@@ -296,7 +296,11 @@ static PyTypeObject PyUNOStructType =
sizeof (PyUNO),
0,
PyUNOStruct_del,
- nullptr,
+#if PY_VERSION_HEX >= 0x03080000
+ 0, // Py_ssize_t tp_vectorcall_offset
+#else
+ nullptr, // printfunc tp_print
+#endif
PyUNOStruct_getattr,
PyUNOStruct_setattr,
/* this type does not exist in Python 3: (cmpfunc) */ nullptr,
@@ -340,6 +344,9 @@ static PyTypeObject PyUNOStructType =
, 0
#if PY_VERSION_HEX >= 0x03040000
, nullptr
+#if PY_VERSION_HEX >= 0x03080000
+ , nullptr // vectorcallfunc tp_vectorcall
+#endif
#endif
};
diff --git a/configure.ac b/configure.ac
index 77cbacb109b6..39dd082b8366 100644
--- a/configure.ac
+++ b/configure.ac
@@ -8574,6 +8574,9 @@ if test $enable_python = system; then
if test -z "$PKG_CONFIG"; then
PYTHON_CFLAGS="-I$python_include"
PYTHON_LIBS="-L$python_libdir -lpython$python_version $python_libs"
+ elif $PKG_CONFIG --exists python-$python_version-embed; then
+ PYTHON_CFLAGS="`$PKG_CONFIG --cflags python-$python_version-embed`"
+ PYTHON_LIBS="`$PKG_CONFIG --libs python-$python_version-embed` $python_libs"
elif $PKG_CONFIG --exists python-$python_version; then
PYTHON_CFLAGS="`$PKG_CONFIG --cflags python-$python_version`"
PYTHON_LIBS="`$PKG_CONFIG --libs python-$python_version` $python_libs"