Bug#1121184: trixie-pu: package yorick-gy/0.0.6-1~deb13u1

Thibaut Paumard thibaut at debian.org
Sat Nov 22 14:15:27 GMT 2025


Package: release.debian.org
Severity: normal
Tags: trixie
X-Debbugs-Cc: yorick-gy at packages.debian.org, thibaut at debian.org
Control: affects -1 + src:yorick-gy
User: release.debian.org at packages.debian.org
Usertags: pu

[ Reason ]
Yorick is an interpreted language. yorick-gy provides bindings to GObject
Introspection, with facilities for Gtk 3.

The proposed update brings bug fixes from unstable, especially
https://bugs.debian.org/1121171 which is very much user-visible. The (by far)
main reason for users to have yorick-gy installed is to use cubeview (from
yorick-cubeview) or gyotoy (from yorick-gyoto), which are both broken by this
bug.

Both GUIs still use Gtk and Gdk 3. gy_gtk.i from yorick-gy uses introspection
to load both libraries. Already in Bookworm, it explicitly loaded version 3 of
Gtk, which was then enough to run the two GUIs. Since Trixie it has also become
necessary to specify the version of Gdk as well. Unfortunately this has not
been caught prior to the release.

I could make a package that fixes only this bug. What I propose, though, is to
use the package that I just uploaded to unstable and that has a few more FTBFS
fixes for GCC 14 and GCC 15.

[ Impact ]
If not approved, affected users will not be able to run either cubeview or
gyotoy out of the box. They will be able to do so after manually putting a
corrected copy of gy_gtk.i in their Yorick path. I would also upload the fixed
package to trixie-backports.

[ Tests ]
I have compiled the package in a clean trixie chroot, installed it on by trixie
production laptop and launched cubeview and gyotoy successfully.

[ Risks ]
I don't see any risks. yorick-gy is used only in the two GUIs mentioned above,
which are both broken at the moment.

[ Checklist ]
  [×] *all* changes are documented in the d/changelog
  [×] I reviewed all changes and I approve them
  [×] attach debdiff against the package in stable
  [×] the issue is verified as fixed in unstable

[ Changes ]
Changes to upstream:
- update of the ChangeLog
- gy_gtk.i: specify version when loading Gdk*
- gy.info: update version information, fix typo
- gy_object.c, gy_repository.c: fix FTBFS with
  GCC 14 and 15 by using explicit casts and fixing
  a call with wrong signature

Changes debian/:
- changelog: update, reinstate entry for version 0.0.5-2 which had been
accidentally altered in a later version
- control: fix for #1118937
- patches/: remove gcc-14 and gcc-15, applied upstream
- watch: update to version 5
-------------- next part --------------
diff -Nru yorick-gy-0.0.5/ChangeLog yorick-gy-0.0.6/ChangeLog
--- yorick-gy-0.0.5/ChangeLog	2013-07-29 10:39:29.000000000 +0200
+++ yorick-gy-0.0.6/ChangeLog	2025-11-22 09:53:37.000000000 +0100
@@ -1,3 +1,7 @@
+Version 0.0.6
+    * Specify version when requiring modules in gy_gtk.i.
+ -- Thibaut Paumard <thibaut.paumard at obspm.fr>  Sat, 22 Nov 2025 09:46:20 +0100
+
 Version 0.0.5
     * fix typo in gy.c: Typelist -> Typelib
  -- Thibaut Paumard <paumard at users.sourceforge.net>  Mon, 29 Jul 2013 10:29:57 +0200
diff -Nru yorick-gy-0.0.5/debian/changelog yorick-gy-0.0.6/debian/changelog
--- yorick-gy-0.0.5/debian/changelog	2025-02-28 16:52:35.000000000 +0100
+++ yorick-gy-0.0.6/debian/changelog	2025-11-22 11:11:17.000000000 +0100
@@ -1,3 +1,21 @@
+yorick-gy (0.0.6-1~deb13u1) trixie; urgency=medium
+
+  * Rebuild for trixie
+
+ -- Thibaut Paumard <thibaut at debian.org>  Sat, 22 Nov 2025 11:11:17 +0100
+
+yorick-gy (0.0.6-1) unstable; urgency=medium
+
+  * New upstream release
+    + incorporates our patches gcc-14 and gcc-15.
+    + fixes: "gy_gtk.i mixes incompatible versions of Gtk and Gdk"
+      (Closes: #1121171).
+  * Bug fix: "depends on non-multiarch-friendly libgirepository1.0-dev",
+    thanks to Simon McVittie (Closes: #1118937).
+  * Update watch file format.
+
+ -- Thibaut Paumard <thibaut at debian.org>  Sat, 22 Nov 2025 10:50:31 +0100
+
 yorick-gy (0.0.5-4) unstable; urgency=medium
 
   * Bug fix: "ftbfs with GCC-15", thanks to Matthias Klose (Closes:
@@ -16,7 +34,9 @@
 yorick-gy (0.0.5-2) unstable; urgency=high
 
   * Update debhelper compatibility level.
-  * Bump policy standard to 4.6.0. No changes required.
+    + replace debian/compat by Build-Depends: debhelper-compat (= 13).
+  * Bump policy standard to 4.6.0.
+    + change Priority to optional.
 
  -- Thibaut Paumard <thibaut at debian.org>  Mon, 17 Jan 2022 14:47:09 +0100
 
diff -Nru yorick-gy-0.0.5/debian/control yorick-gy-0.0.6/debian/control
--- yorick-gy-0.0.5/debian/control	2025-02-28 16:48:54.000000000 +0100
+++ yorick-gy-0.0.6/debian/control	2025-11-22 10:10:40.000000000 +0100
@@ -4,7 +4,7 @@
 Maintainer: Debian Science Maintainers <debian-science-maintainers at lists.alioth.debian.org>
 Uploaders: Thibaut Paumard <thibaut at debian.org>
 Build-Depends: debhelper-compat (= 13), yorick-dev (>= 2.2),
-	       libgirepository1.0-dev
+	       libgirepository-1.0-dev
 Standards-Version: 4.7.0
 Vcs-Git: https://salsa.debian.org/science-team/yorick-gy.git
 Vcs-Browser: https://salsa.debian.org/science-team/yorick-gy
diff -Nru yorick-gy-0.0.5/debian/patches/gcc-14 yorick-gy-0.0.6/debian/patches/gcc-14
--- yorick-gy-0.0.5/debian/patches/gcc-14	2025-02-28 16:48:54.000000000 +0100
+++ yorick-gy-0.0.6/debian/patches/gcc-14	1970-01-01 01:00:00.000000000 +0100
@@ -1,52 +0,0 @@
-Description: Satisfy GCC-14
- Make explicit pointer cast where needed.
-Author: Thibaut Paumard <thibaut at debian.org>
-Origin: vendor
-Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1075702
-Applied-Upstream: commit:356e5f6835a8bcace99d71a1a35a83d8cbfadb59
-Last-Update: 2024-07-29
----
-This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
---- a/gy_object.c
-+++ b/gy_object.c
-@@ -156,7 +156,7 @@
- 	}
- 
- 	if (action == GYLIST_ACTION_SIZE) {
--	  GList* lst = o->object;
-+	  GList* lst = (GList*) o->object;
- 	  if (!lst) {
- 	    ypush_long(0);
- 	    return;
-@@ -189,9 +189,9 @@
- 	} else {
- 	  out -> info = o -> info;
- 	  if (action==GYLIST_ACTION_NEXT)
--	    out -> object = ((GList*) o->object) -> next;
-+	    out -> object = (GObject*) ((GList*) o->object) -> next;
- 	  else if (action==GYLIST_ACTION_PREV)
--	    out -> object = ((GList*) o->object) -> prev;
-+	    out -> object = (GObject*) ((GList*) o->object) -> prev;
- 	}
- 	g_base_info_ref(out -> info);
- 	return;
-@@ -392,7 +392,7 @@
-     if (type !=GI_TYPE_TAG_GLIST && type !=GI_TYPE_TAG_GSLIST)
-       y_error("Unimplemented");
-     if (!o->object) y_error("G(S)List is nil");
--    GList* lst = o->object;
-+    GList* lst = (GList*) o->object;
-     long idx = ygets_l(argc-1)-1;
-     gy_Object * out = ypush_gy_Object();
-     if (type !=GI_TYPE_TAG_GLIST)
---- a/gy_repository.c
-+++ b/gy_repository.c
-@@ -176,7 +176,7 @@
-     if (yarg_string(argc-1)) namespace = ygets_q(argc-1);
-     else namespace = yget_gy_Typelib(argc-1)->namespace;
- 
--    GSList * lst = g_irepository_enumerate_versions(r->repo, namespace);
-+    GSList * lst = (GSList*) g_irepository_enumerate_versions(r->repo, namespace);
-     GSList * cur = 0;
-     long count =0;
-     
diff -Nru yorick-gy-0.0.5/debian/patches/gcc-15 yorick-gy-0.0.6/debian/patches/gcc-15
--- yorick-gy-0.0.5/debian/patches/gcc-15	2025-02-28 16:50:29.000000000 +0100
+++ yorick-gy-0.0.6/debian/patches/gcc-15	1970-01-01 01:00:00.000000000 +0100
@@ -1,21 +0,0 @@
-Description: fix FTB FS with GCC 15
- ypush_gy_Object() does not take any arguments.
-Author: Thibaut Paumard <thibaut at debian.org>
-Origin: vendor
-Bug: https://github.com/paumard/yorick-gy/issues/2
-Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1098193
-Applied-Upstream: https://github.com/paumard/yorick-gy/commit/9f231b27549e202a78e1e02438ddd6dfa0fabb0b
-Last-Update: 2025-02-28
----
-This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
---- a/gy_object.c
-+++ b/gy_object.c
-@@ -414,7 +414,7 @@
- 
-   if (isobject || isitrf || isstruct) {
-     GY_DEBUG("Pushing gy_Object return value\n");
--    gy_Object* out = ypush_gy_Object(0);
-+    gy_Object* out = ypush_gy_Object();
- 
-     out->info=o->info;
-     g_base_info_ref(o->info);
diff -Nru yorick-gy-0.0.5/debian/patches/series yorick-gy-0.0.6/debian/patches/series
--- yorick-gy-0.0.5/debian/patches/series	2025-02-28 16:48:54.000000000 +0100
+++ yorick-gy-0.0.6/debian/patches/series	2025-11-22 10:13:24.000000000 +0100
@@ -1,2 +0,0 @@
-gcc-14
-gcc-15
diff -Nru yorick-gy-0.0.5/debian/watch yorick-gy-0.0.6/debian/watch
--- yorick-gy-0.0.5/debian/watch	2025-02-28 16:48:54.000000000 +0100
+++ yorick-gy-0.0.6/debian/watch	2025-11-22 10:10:40.000000000 +0100
@@ -1,3 +1,5 @@
-version=3
-opts=filenamemangle=s/.+\/v?(.*)\.tar\.gz/yorick-gy-$1.tar.gz/ \
-  https://github.com/paumard/yorick-gy/tags .*/v?(\d[\d\.]+)\.tar\.gz
+Version: 5
+
+Template: Github
+Owner: paumard
+Project: yorick-gy
diff -Nru yorick-gy-0.0.5/gy_gtk.i yorick-gy-0.0.6/gy_gtk.i
--- yorick-gy-0.0.5/gy_gtk.i	2013-07-29 10:39:29.000000000 +0200
+++ yorick-gy-0.0.6/gy_gtk.i	2025-11-22 09:53:37.000000000 +0100
@@ -88,9 +88,10 @@
    SEE ALSO: gy_gtk_i
  */
 Gtk = gy.require("Gtk", "3.0");
-Gdk = gy.Gdk;
+Gdk = gy.require("Gdk", "3.0");
+GdkX11 = gy.require("GdkX11", "3.0");
+GdkPixbuf = gy.require("GdkPixbuf", "2.0");
 GLib = gy.GLib;
-GdkPixbuf = gy.GdkPixbuf;
 
 func __gyterm_init
 {
diff -Nru yorick-gy-0.0.5/gy.info yorick-gy-0.0.6/gy.info
--- yorick-gy-0.0.5/gy.info	2013-07-29 10:39:29.000000000 +0200
+++ yorick-gy-0.0.6/gy.info	2025-11-22 09:53:37.000000000 +0100
@@ -1,12 +1,12 @@
 Package: gy
 Kind: plugin
 Version: 0.0
-Revision: 3
+Revision: 6
 Description: GObject introspection and Gtk widgets
 License: GPLv3
 Author: Thibaut Paumard
 Maintainer: Thibaut Paumard <paumard at users.sourceforge.net>
-OS: architecture independant
+OS: architecture independent
 Depends: yorick(>=2.2.02)
 Source: https://github.com/paumard/yorick-gy
 Source-MD5: 
diff -Nru yorick-gy-0.0.5/gy_object.c yorick-gy-0.0.6/gy_object.c
--- yorick-gy-0.0.5/gy_object.c	2013-07-29 10:39:29.000000000 +0200
+++ yorick-gy-0.0.6/gy_object.c	2025-11-22 09:53:37.000000000 +0100
@@ -156,7 +156,7 @@
 	}
 
 	if (action == GYLIST_ACTION_SIZE) {
-	  GList* lst = o->object;
+	  GList* lst = (GList*) o->object;
 	  if (!lst) {
 	    ypush_long(0);
 	    return;
@@ -189,9 +189,9 @@
 	} else {
 	  out -> info = o -> info;
 	  if (action==GYLIST_ACTION_NEXT)
-	    out -> object = ((GList*) o->object) -> next;
+	    out -> object = (GObject*) ((GList*) o->object) -> next;
 	  else if (action==GYLIST_ACTION_PREV)
-	    out -> object = ((GList*) o->object) -> prev;
+	    out -> object = (GObject*) ((GList*) o->object) -> prev;
 	}
 	g_base_info_ref(out -> info);
 	return;
@@ -392,7 +392,7 @@
     if (type !=GI_TYPE_TAG_GLIST && type !=GI_TYPE_TAG_GSLIST)
       y_error("Unimplemented");
     if (!o->object) y_error("G(S)List is nil");
-    GList* lst = o->object;
+    GList* lst = (GList*) o->object;
     long idx = ygets_l(argc-1)-1;
     gy_Object * out = ypush_gy_Object();
     if (type !=GI_TYPE_TAG_GLIST)
@@ -414,7 +414,7 @@
 
   if (isobject || isitrf || isstruct) {
     GY_DEBUG("Pushing gy_Object return value\n");
-    gy_Object* out = ypush_gy_Object(0);
+    gy_Object* out = ypush_gy_Object();
 
     out->info=o->info;
     g_base_info_ref(o->info);
diff -Nru yorick-gy-0.0.5/gy_repository.c yorick-gy-0.0.6/gy_repository.c
--- yorick-gy-0.0.5/gy_repository.c	2013-07-29 10:39:29.000000000 +0200
+++ yorick-gy-0.0.6/gy_repository.c	2025-11-22 09:53:37.000000000 +0100
@@ -176,7 +176,7 @@
     if (yarg_string(argc-1)) namespace = ygets_q(argc-1);
     else namespace = yget_gy_Typelib(argc-1)->namespace;
 
-    GSList * lst = g_irepository_enumerate_versions(r->repo, namespace);
+    GSList * lst = (GSList*) g_irepository_enumerate_versions(r->repo, namespace);
     GSList * cur = 0;
     long count =0;
     


More information about the debian-science-maintainers mailing list