diff options
-rw-r--r-- | gnu/local.mk | 1 | ||||
-rw-r--r-- | gnu/packages/gtk.scm | 3 | ||||
-rw-r--r-- | gnu/packages/patches/gtk2-fix-failing-test.patch | 39 |
3 files changed, 42 insertions, 1 deletions
diff --git a/gnu/local.mk b/gnu/local.mk index 6c1a10b66c..5b38ce83d0 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -725,6 +725,7 @@ dist_patch_DATA = \ %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 \ + %D%/packages/patches/gtk2-fix-failing-test.patch \ %D%/packages/patches/gtk3-respect-GUIX_GTK3_PATH.patch \ %D%/packages/patches/gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch \ %D%/packages/patches/gtkglext-disable-disable-deprecated.patch \ diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index b274601c4f..0e77caf08c 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 0000000000..721dc012c7 --- /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?= <boskovits@gmail.com> +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 + +--- + 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 +-- +2.15.0 + |