diff --git a/243.patch b/243.patch new file mode 100644 index 0000000..13791fc --- /dev/null +++ b/243.patch @@ -0,0 +1,45 @@ +From 89e0c07e4aa991af307b113afa474fcdfffe0859 Mon Sep 17 00:00:00 2001 +From: Christoph Reiter +Date: Tue, 6 Oct 2020 14:21:33 +0200 +Subject: [PATCH] Don't assume Py_TYPE being a macro + +It got changed to a function in Python 3.10. Use the Py_SET_TYPE macro +suggested at https://docs.python.org/3.10/whatsnew/3.10.html instead. + +Fixes #358 +--- + giscanner/giscannermodule.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/giscanner/giscannermodule.c b/giscanner/giscannermodule.c +index 43f8bdea2..46bfd105e 100644 +--- a/giscanner/giscannermodule.c ++++ b/giscanner/giscannermodule.c +@@ -27,10 +27,6 @@ + + #include + +-#ifndef Py_TYPE +- #define Py_TYPE(ob) (((PyObject*)(ob))->ob_type) +-#endif +- + #if PY_MAJOR_VERSION >= 3 + #define MOD_INIT(name) PyMODINIT_FUNC PyInit_##name(void) + #define MOD_ERROR_RETURN NULL +@@ -52,8 +48,12 @@ PyTypeObject Py##cname##_Type = { \ + 0 \ + } + ++#if PY_VERSION_HEX < 0x030900A4 ++# define Py_SET_TYPE(obj, type) ((Py_TYPE(obj) = (type)), (void)0) ++#endif ++ + #define REGISTER_TYPE(d, name, type) \ +- Py_TYPE(&type) = &PyType_Type; \ ++ Py_SET_TYPE(&type, &PyType_Type); \ + type.tp_alloc = PyType_GenericAlloc; \ + type.tp_new = PyType_GenericNew; \ + type.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE; \ +-- +GitLab + diff --git a/gobject-introspection.spec b/gobject-introspection.spec index 8ad1618..8e46295 100644 --- a/gobject-introspection.spec +++ b/gobject-introspection.spec @@ -4,13 +4,16 @@ Name: gobject-introspection Version: 1.66.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Introspection system for GObject-based libraries License: GPLv2+, LGPLv2+, MIT URL: https://wiki.gnome.org/Projects/GObjectIntrospection Source0: https://download.gnome.org/sources/gobject-introspection/1.66/%{name}-%{version}.tar.xz +# Fix the build with Python 3.10 +Patch0: 243.patch + BuildRequires: gcc BuildRequires: bison BuildRequires: cairo-gobject-devel @@ -86,6 +89,9 @@ Libraries and headers for gobject-introspection %{_mandir}/man1/g-ir-scanner.1* %changelog +* Wed Nov 04 2020 Kalev Lember - 1.66.1-2 +- Backport an upstream MR to fix the build with Python 3.10 (#1893194) + * Mon Oct 5 2020 Kalev Lember - 1.66.1-1 - Update to 1.66.1