Package: release.debian.org Severity: normal Tags: trixie X-Debbugs-Cc: [email protected], [email protected] Control: affects -1 + src:yorick-gy User: [email protected] 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
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 <[email protected]> Sat, 22 Nov 2025 09:46:20 +0100 + Version 0.0.5 * fix typo in gy.c: Typelist -> Typelib -- Thibaut Paumard <[email protected]> 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 <[email protected]> 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 <[email protected]> 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 <[email protected]> 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 <[email protected]> Uploaders: Thibaut Paumard <[email protected]> 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 <[email protected]> -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 <[email protected]> -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 <[email protected]> -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;

