Backport an upstream MR to fix the build with Python 3.10 (#1893194)

This commit is contained in:
Kalev Lember 2020-11-04 09:29:43 +01:00
parent c0e74c0751
commit 408248fb59
2 changed files with 52 additions and 1 deletions

45
243.patch Normal file
View File

@ -0,0 +1,45 @@
From 89e0c07e4aa991af307b113afa474fcdfffe0859 Mon Sep 17 00:00:00 2001
From: Christoph Reiter <reiter.christoph@gmail.com>
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 <glib-object.h>
-#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

View File

@ -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 <klember@redhat.com> - 1.66.1-2
- Backport an upstream MR to fix the build with Python 3.10 (#1893194)
* Mon Oct 5 2020 Kalev Lember <klember@redhat.com> - 1.66.1-1
- Update to 1.66.1