On Tue, 21 Oct 2025 at 12:35:42 +0100, Simon McVittie wrote:
To resolve this in experimental, please apply the attached patches and
upload to experimental (or the GNOME team can NMU this for you if
required, please let us know). Do not upload to unstable at this stage:
it will not work.
For your convenience the patches are also available from:
git fetch https://salsa.debian.org/smcv/pluma.git
wip/smcv/libgirepository-2.0
Updated patches attached for the recent pluma upload.
smcv
>From e3f8f58ce689d9f186eb6560b80c2ba1978892b3 Mon Sep 17 00:00:00 2001
From: Simon McVittie <[email protected]>
Date: Tue, 28 Oct 2025 13:50:25 +0000
Subject: [PATCH 1/2] Build with a libpeas that uses libgirepository-2.0
Add patch from Fedora to enable that.
Helps: #1099164, #1118363
Closes: #1118497
---
debian/control | 4 +-
.../1001-Rebuild-for-libpeas1-changes.patch | 84 +++++++++++++++++++
debian/patches/series | 1 +
3 files changed, 87 insertions(+), 2 deletions(-)
create mode 100644 debian/patches/1001-Rebuild-for-libpeas1-changes.patch
diff --git a/debian/control b/debian/control
index 74f77e6..377ae84 100644
--- a/debian/control
+++ b/debian/control
@@ -19,7 +19,7 @@ Build-Depends: debhelper-compat (= 13),
libgtk-3-dev,
libgtksourceview-4-dev,
libmate-desktop-dev (>= 1.27.2),
- libpeas-dev,
+ libpeas-dev (>= 1.36.0-6~),
libsm-dev,
libx11-dev,
libxml2-dev,
@@ -33,7 +33,7 @@ Homepage: https://www.mate-desktop.org/
Package: pluma
Architecture: any
-Depends: gir1.2-peas-1.0,
+Depends: gir1.2-peas-1.0 (>= 1.36.0-6~),
gir1.2-pluma-1.0 (= ${binary:Version}),
iso-codes,
mate-desktop-common,
diff --git a/debian/patches/1001-Rebuild-for-libpeas1-changes.patch b/debian/patches/1001-Rebuild-for-libpeas1-changes.patch
new file mode 100644
index 0000000..9dec38d
--- /dev/null
+++ b/debian/patches/1001-Rebuild-for-libpeas1-changes.patch
@@ -0,0 +1,84 @@
+From: Leigh Scott <[email protected]>
+Date: Wed, 10 Sep 2025 13:19:12 +0100
+Subject: Rebuild for libpeas1 changes
+
+Recent libpeas versions add patches from the (as yet unreleased) 1.38
+upstream branch to make it compatible with pygobject >= 3.52, by using
+libgirepository-2.0 instead of libgirepository-1.0. Do similarly here.
+
+This leaks some references to the global singleton GIRepository
+instance, but that should be harmless since it's a global singleton.
+
+[smcv: Added commit message]
+
+Origin: vendor, Fedora, https://src.fedoraproject.org/rpms/pluma/c/f84adcd8673eed0592fa8cbd02122da0f9338bf0?branch=rawhide
+Bug-Debian: https://bugs.debian.org/1099164
+Bug-Debian: https://bugs.debian.org/1118363
+---
+ pluma/pluma-plugins-engine.c | 8 ++++----
+ pluma/pluma.c | 4 ++--
+ 2 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/pluma/pluma-plugins-engine.c b/pluma/pluma-plugins-engine.c
+index cb5e2c4..c53a31f 100644
+--- a/pluma/pluma-plugins-engine.c
++++ b/pluma/pluma-plugins-engine.c
+@@ -36,7 +36,7 @@
+ #include <string.h>
+
+ #include <glib/gi18n.h>
+-#include <girepository.h>
++#include <girepository/girepository.h>
+
+ #include "pluma-plugins-engine.h"
+ #include "pluma-debug.h"
+@@ -68,21 +68,21 @@ pluma_plugins_engine_init (PlumaPluginsEngine *engine)
+ engine->priv->plugin_settings = g_settings_new (PLUMA_SCHEMA_ID);
+
+ /* This should be moved to libpeas */
+- if (!g_irepository_require (g_irepository_get_default (),
++ if (!gi_repository_require (gi_repository_dup_default (),
+ "Peas", "1.0", 0, &error))
+ {
+ g_warning ("Could not load Peas repository: %s", error->message);
+ g_clear_error (&error);
+ }
+
+- if (!g_irepository_require (g_irepository_get_default (),
++ if (!gi_repository_require (gi_repository_dup_default (),
+ "PeasGtk", "1.0", 0, &error))
+ {
+ g_warning ("Could not load PeasGtk repository: %s", error->message);
+ g_clear_error (&error);
+ }
+
+- if (!g_irepository_require_private (g_irepository_get_default (),
++ if (!gi_repository_require_private (gi_repository_dup_default (),
+ LIBDIR "/girepository-1.0",
+ "Pluma", "1.0", 0, &error))
+ {
+diff --git a/pluma/pluma.c b/pluma/pluma.c
+index d81b9ae..7b2ec0a 100644
+--- a/pluma/pluma.c
++++ b/pluma/pluma.c
+@@ -44,7 +44,7 @@
+ #include <gdk/gdkx.h>
+
+ #ifdef HAVE_INTROSPECTION
+-#include <girepository.h>
++#include <girepository/girepository.h>
+ #endif
+
+ #include "pluma-app.h"
+@@ -527,7 +527,7 @@ main (int argc, char *argv[])
+ g_option_context_add_group (context, egg_sm_client_get_option_group ());
+
+ #ifdef HAVE_INTROSPECTION
+- g_option_context_add_group (context, g_irepository_get_option_group ());
++ g_option_context_add_group (context, gi_repository_get_option_group ());
+ #endif
+
+ if (!g_option_context_parse (context, &argc, &argv, &error))
+--
+2.51.0
+
diff --git a/debian/patches/series b/debian/patches/series
index 6096b14..cca5d4b 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1 +1,2 @@
+1001-Rebuild-for-libpeas1-changes.patch
2001_fix-bin-sh-path-in-shebang.patch
--
2.51.0
>From 9626893c740e03c26dae8513eb1298165f7e896e Mon Sep 17 00:00:00 2001
From: Simon McVittie <[email protected]>
Date: Mon, 20 Oct 2025 23:41:44 +0100
Subject: [PATCH 2/2] Update changelog
---
debian/changelog | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/debian/changelog b/debian/changelog
index 9d67899..a1740ea 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,12 @@
+pluma (1.28.0-1.1) UNRELEASED; urgency=medium
+
+ * d/control: Build with a libpeas that uses libgirepository-2.0.
+ - d/p/1001-Rebuild-for-libpeas1-changes.patch:
+ Add patch from Fedora to enable that.
+ (Helps: #1099164, #1118363) (Closes: #1118497)
+
+ -- Simon McVittie <[email protected]> Mon, 20 Oct 2025 23:41:23 +0100
+
pluma (1.28.0-1) unstable; urgency=medium
* Team upload
--
2.51.0