From f5b83454d3eede3243ffaa19628352ae28a8ac83 Mon Sep 17 00:00:00 2001 From: DistroBaker Date: Wed, 4 Nov 2020 08:54:08 +0000 Subject: [PATCH] Merged update from upstream sources This is an automated DistroBaker update from upstream sources. If you do not know what this is about or would like to opt out, contact the OSCI team. Source: https://src.fedoraproject.org/rpms/gobject-introspection.git#408248fb59bdd890041b892b828177790203c62d --- 243.patch | 45 ++++++++++++++++++++++++++++++++++++++ gobject-introspection.spec | 8 ++++++- 2 files changed, 52 insertions(+), 1 deletion(-) create mode 100644 243.patch 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