gnu: gtk+-2: Fix failing test.

* 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.

Signed-off-by: Marius Bakke <mbakke@fastmail.com>
This commit is contained in:
Gábor Boskovits 2017-12-06 15:19:03 +01:00 committed by Marius Bakke
parent ff9edc2c82
commit 92b61d3e1b
No known key found for this signature in database
GPG key ID: A2A06DF2A33A54FA
3 changed files with 42 additions and 1 deletions

View file

@ -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 \

View file

@ -600,7 +600,8 @@ (define-public gtk+-2
"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

View file

@ -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