summary refs log tree commit diff
path: root/gnu/packages/patches/gtk2-fix-failing-test.patch
blob: 721dc012c7e697218fabee7be8d4db9de02523a6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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