Gábor Boskovits writes: > * gnu/packages/gtk.scm (gtk+-2)[source]: Add patch. > * gnu/packages/patches/gtk2-fix-failing-test.patch: New file. > * gnu/local.mk (dist_patch_DATA): Register it. > --- > gnu/local.mk | 1 + > gnu/packages/gtk.scm | 3 +- > gnu/packages/patches/gtk2-fix-failing-test.patch | 39 ++++++++++++++++++++++++ > 3 files changed, 42 insertions(+), 1 deletion(-) > create mode 100644 gnu/packages/patches/gtk2-fix-failing-test.patch > > diff --git a/gnu/local.mk b/gnu/local.mk > index 5a701075f..b37d76ab3 100644 > --- a/gnu/local.mk > +++ b/gnu/local.mk > @@ -713,6 +713,7 @@ dist_patch_DATA = \ > %D%/packages/patches/guile-present-coding.patch \ > %D%/packages/patches/guile-relocatable.patch \ > %D%/packages/patches/guile-rsvg-pkgconfig.patch \ > + %D%/packages/patches/gtk2-fix-failing-test.patch \ > %D%/packages/patches/gtk2-respect-GUIX_GTK2_PATH.patch \ > %D%/packages/patches/gtk2-respect-GUIX_GTK2_IM_MODULE_FILE.patch \ > %D%/packages/patches/gtk2-theme-paths.patch \ > diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm > index dfa7a59b1..3d9ffe8c8 100644 > --- a/gnu/packages/gtk.scm > +++ b/gnu/packages/gtk.scm > @@ -600,7 +600,8 @@ is part of the GNOME accessibility project.") > "0n26jm09n03nqbd00d2ij63xrby3vik56sk5yj6w1vy768kr5hb8")) > (patches (search-patches "gtk2-respect-GUIX_GTK2_PATH.patch" > "gtk2-respect-GUIX_GTK2_IM_MODULE_FILE.patch" > - "gtk2-theme-paths.patch")))) > + "gtk2-theme-paths.patch" > + "gtk2-fix-failing-test.patch")))) > (build-system gnu-build-system) > (outputs '("out" "doc")) > (propagated-inputs > diff --git a/gnu/packages/patches/gtk2-fix-failing-test.patch b/gnu/packages/patches/gtk2-fix-failing-test.patch > new file mode 100644 > index 000000000..721dc012c > --- /dev/null > +++ b/gnu/packages/patches/gtk2-fix-failing-test.patch > @@ -0,0 +1,39 @@ > +From 12d8b4e8f2f9c9a7707d1d3fccba382732212e3c Mon Sep 17 00:00:00 2001 > +From: =?UTF-8?q?G=C3=A1bor=20Boskovits?= > +Date: Tue, 5 Dec 2017 20:06:36 +0100 > +Subject: [PATCH] Fix test failing on new GLib versions. > + > +This test fails on newer GLib version, because GLib exports a new public marshaller. > +The additional symbol making the test fail is: > +g_cclosure_marshal_BOOLEAN__BOXED_BOXED > + > +The fix makes the test ignore non-gtk related abi. > +This ensures if future marshallers are added to glib those will not pose a problem. > + > +The fix also ensures that the test still checks the gtk abi for identity, and > +that the library provides a superset of the required abi. > + > +Upstream reponse to this problem was: > + > +GLib added a new marshaller in its public API > +And the `abicheck.sh`in GTK+ 2.24 hasn't been updated because GTK+ 2.24 is in deep > +maintenance mode and very few people test it against newer versions of GLib Thanks for investigating. The patch did not apply for me on core-updates, so I had to do the gnu/local.mk change "manually". > + > +--- > + gtk/abicheck.sh | 2 +- > + 1 file changed, 1 insertion(+), 1 deletion(-) > + > +diff --git a/gtk/abicheck.sh b/gtk/abicheck.sh > +index 0d033fb..53b7bfe 100755 > +--- a/gtk/abicheck.sh > ++++ b/gtk/abicheck.sh > +@@ -1,5 +1,5 @@ > + #! /bin/sh > + > + cpp -DINCLUDE_VARIABLES -P -DG_OS_UNIX -DGTK_WINDOWING_X11 -DALL_FILES ${srcdir:-.}/gtk.symbols | sed -e '/^$/d' -e 's/ G_GNUC.*$//' -e 's/ PRIVATE//' | sort > expected-abi > +-nm -D -g --defined-only .libs/libgtk-x11-2.0.so | cut -d ' ' -f 3 | egrep -v '^(__bss_start|_edata|_end)' | sort > actual-abi > ++nm -D -g --defined-only .libs/libgtk-x11-2.0.so | cut -d ' ' -f 3 | egrep -v '^(__bss_start|_edata|_end)' | egrep '^gtk_' | sort > actual-abi > + diff -u expected-abi actual-abi && rm -f expected-abi actual-abi Maybe we should rename this patch to more accurately reflect what's going on? Something like "gtk+2-abi-check-ignore-glib.patch". WDYT? Regardless I've pushed this as 92b61d3e1bb50f0c1d087bc8d57cc00c3ce360df.