diff --git a/.gitignore b/.gitignore index 80c39b3..fca0456 100644 --- a/.gitignore +++ b/.gitignore @@ -107,3 +107,4 @@ /gobject-introspection-1.76.1.tar.xz /gobject-introspection-1.78.1.tar.xz /gobject-introspection-1.79.1.tar.xz +/gobject-introspection-1.80.0.tar.xz diff --git a/441.patch b/441.patch deleted file mode 100644 index 173f10d..0000000 --- a/441.patch +++ /dev/null @@ -1,86 +0,0 @@ -From 171f1804dc76dfcc2857e809d49a2290b15612c4 Mon Sep 17 00:00:00 2001 -From: Simon McVittie -Date: Fri, 29 Dec 2023 16:15:10 +0000 -Subject: [PATCH] girepository: Skip GIRepository versions not matching - GIRepository-2.0 - -A few applications such as gnome-music load the GIRepository typelib -and use it to adjust their search paths. - -GLib 2.79.x now provides libgirepository-2.0.so.0 (GIRepository-3.0), -but each OS distribution is likely to have a transitional period during -which GLib's libgirepository-2.0.so.0 has become available, but bindings -like PyGI and gjs are still linked to gobject-introspection's -libgirepository-1.0.so.1 (GIRepository-2.0). - -During this transitional period, interpreted languages that load the -GIRepository namespace could get the "wrong" version, which will result -in adjusting a search path that will not actually affect the language -binding's typelib lookup, and could also lead to symbol and type-system -conflicts. - -We can avoid this collision by making GLib's GIRepository library refuse -to load versions of the GIRepository typelib that are not 3.0, and -similarly making gobject-introspection's GIRepository library refuse to -load typelib versions that are not 2.0. A relatively neat way to achieve -that is to make each version behave as if the other one doesn't exist. - -Signed-off-by: Simon McVittie ---- - girepository/girepository.c | 26 ++++++++++++++++++++++++++ - 1 file changed, 26 insertions(+) - -diff --git a/girepository/girepository.c b/girepository/girepository.c -index a0754f456..12eaf366f 100644 ---- a/girepository/girepository.c -+++ b/girepository/girepository.c -@@ -54,6 +54,13 @@ - * and the g_irepository_prepend_search_path() calls. - */ - -+/* The namespace and version corresponding to libgirepository itself, so -+ * that we can refuse to load typelibs corresponding to the newer, -+ * incompatible version of this same library in GLib. */ -+#define GIREPOSITORY_TYPELIB_NAME "GIRepository" -+#define GIREPOSITORY_TYPELIB_VERSION "2.0" -+#define GIREPOSITORY_TYPELIB_FILENAME \ -+ GIREPOSITORY_TYPELIB_NAME "-" GIREPOSITORY_TYPELIB_VERSION ".typelib" - - static GIRepository *default_repository = NULL; - static GSList *typelib_search_path = NULL; -@@ -1255,6 +1262,16 @@ find_namespace_version (const gchar *namespace, - GMappedFile *mfile = NULL; - char *fname; - -+ if (g_str_equal (namespace, GIREPOSITORY_TYPELIB_NAME) && -+ !g_str_equal (version, GIREPOSITORY_TYPELIB_VERSION)) -+ { -+ g_debug ("Ignoring %s-%s.typelib because this libgirepository " -+ "corresponds to %s-%s", -+ namespace, version, -+ namespace, GIREPOSITORY_TYPELIB_VERSION); -+ return NULL; -+ } -+ - fname = g_strdup_printf ("%s-%s.typelib", namespace, version); - - for (ldir = search_path; ldir; ldir = ldir->next) -@@ -1406,6 +1423,15 @@ enumerate_namespace_versions (const gchar *namespace, - const char *name_end; - int major, minor; - -+ if (g_str_equal (namespace, GIREPOSITORY_TYPELIB_NAME) && -+ !g_str_equal (entry, GIREPOSITORY_TYPELIB_FILENAME)) -+ { -+ g_debug ("Ignoring %s because this libgirepository " -+ "corresponds to %s", -+ entry, GIREPOSITORY_TYPELIB_FILENAME); -+ continue; -+ } -+ - name_end = strrchr (entry, '.'); - last_dash = strrchr (entry, '-'); - version = g_strndup (last_dash+1, name_end-(last_dash+1)); --- -GitLab - diff --git a/gobject-introspection.spec b/gobject-introspection.spec index 4e2c3c4..6e15684 100644 --- a/gobject-introspection.spec +++ b/gobject-introspection.spec @@ -1,22 +1,18 @@ -%global glib2_version 2.79.0 +%global glib2_version 2.80.0 Name: gobject-introspection -Version: 1.79.1 -Release: 4%{?dist} +Version: 1.80.0 +Release: 1%{?dist} Summary: Introspection system for GObject-based libraries License: GPL-2.0-or-later AND LGPL-2.0-or-later AND LGPL-2.1-or-later AND BSD-2-Clause URL: https://wiki.gnome.org/Projects/GObjectIntrospection -Source: https://download.gnome.org/sources/%{name}/1.79/%{name}-%{version}.tar.xz +Source: https://download.gnome.org/sources/%{name}/1.80/%{name}-%{version}.tar.xz # Workaround for Python 3.12 compatibility # https://bugzilla.redhat.com/show_bug.cgi?id=2208966 Patch: workaround.patch -# Backported from upstream -# https://gitlab.gnome.org/GNOME/gobject-introspection/-/merge_requests/441 -Patch: 441.patch - BuildRequires: bison BuildRequires: flex BuildRequires: gcc @@ -98,6 +94,9 @@ mv giscanner/ast.py giscanner/gio_ast.py %{_mandir}/man1/g-ir-scanner.1* %changelog +* Mon Mar 11 2024 David King - 1.80.0-1 +- Update to 1.80.0 + * Wed Jan 24 2024 Fedora Release Engineering - 1.79.1-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild diff --git a/sources b/sources index bb176b8..899c3da 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (gobject-introspection-1.79.1.tar.xz) = 9f425c186266ed9c97a1cf14be5cc66afbed7d31370310ccafd3d4fa9542deae83ea20b216dc6153bd3920f6fcbe635df880ac25cf14f9cc16055a95ac4c150b +SHA512 (gobject-introspection-1.80.0.tar.xz) = 9e0a414a0ea41e0170ec8131102417bd5b25de9cb8fcec1dce3350dd5d27fe9c5987cbffb123896421a66bda5b2d310783815a0216ad4025cd2b2d96d9fd7d69