commit:     9471a43212eb183e3880f832d70e81f8046a7980
Author:     orbea <orbea <AT> riseup <DOT> net>
AuthorDate: Sun May 15 18:01:05 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun May 15 22:09:43 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9471a432

app-i18n/scim-bridge: Fix undefined references

With slibtool the gtk+2 build fails with undefined references for -lx11
which is missing entirely.

GNU libtool silently hides the bug by ignoring -no-undefined while
slibtool does not do this.

Bug: https://bugs.gentoo.org/779121
Upstream-PR: https://sourceforge.net/p/scim/patches/15/
Signed-off-by: orbea <orbea <AT> riseup.net>
Closes: https://github.com/gentoo/gentoo/pull/25505
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../files/scim-bridge-0.4.16-slibtool.patch        | 58 ++++++++++++++++++++++
 app-i18n/scim-bridge/scim-bridge-0.4.16-r3.ebuild  |  1 +
 2 files changed, 59 insertions(+)

diff --git a/app-i18n/scim-bridge/files/scim-bridge-0.4.16-slibtool.patch 
b/app-i18n/scim-bridge/files/scim-bridge-0.4.16-slibtool.patch
new file mode 100644
index 000000000000..fdd5583d8ea6
--- /dev/null
+++ b/app-i18n/scim-bridge/files/scim-bridge-0.4.16-slibtool.patch
@@ -0,0 +1,58 @@
+From 9b46a64aea5adac5b992b4133065b52f527ec881 Mon Sep 17 00:00:00 2001
+From: orbea <[email protected]>
+Date: Sun, 15 May 2022 10:46:17 -0700
+Subject: [PATCH] client-gtk: Fix X11 undefined references
+
+With slibtool the client-gtk build fails with undefined references for
+-lx11. This happens because the build includes -no-undefined and then
+fails to test for the libX11 pkgconfig file.
+
+GNU libtool silently ignores -no-undefined and hides this issue while
+slibtool does not do this.
+---
+ client-gtk/Makefile.am | 7 ++++---
+ configure.ac           | 6 ++++++
+ 2 files changed, 10 insertions(+), 3 deletions(-)
+
+diff --git a/client-gtk/Makefile.am b/client-gtk/Makefile.am
+index 4318519..27728b8 100644
+--- a/client-gtk/Makefile.am
++++ b/client-gtk/Makefile.am
+@@ -33,13 +33,14 @@ im_scim_bridge_la_SOURCES = im-scim-bridge-gtk.c \
+                                                       
scim-bridge-client-imcontext-gtk.c \
+                                                       
scim-bridge-client-key-event-utility-gtk.c
+ 
+-im_scim_bridge_la_CXXFLAGS=@GTK2_CFLAGS@
+-im_scim_bridge_la_CFLAGS  =@GTK2_CFLAGS@
++im_scim_bridge_la_CXXFLAGS=@GTK2_CFLAGS@ @X11_CFLAGS@
++im_scim_bridge_la_CFLAGS  =@GTK2_CFLAGS@ @X11_CFLAGS@
+ 
+ im_scim_bridge_la_LDFLAGS = -rpath $(moduledir) \
+                    -avoid-version -no-undefined \
+                    -module \
+-                   @GTK2_LIBS@
++                   @GTK2_LIBS@ \
++                   @X11_LIBS@
+ 
+ im_scim_bridge_la_LIBADD  = $(top_srcdir)/common/libscimbridgecommon.la \
+                                                       
$(top_srcdir)/client-common/libscimbridgeclientcommon.la
+diff --git a/configure.ac b/configure.ac
+index 4c4b1fb..8b2a7a8 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -205,6 +205,12 @@ else
+   enable_qt4_immodule=no
+ fi
+ 
++if test "$SCIM_BRIDGE_BUILD_IMMODULE" = "1"; then
++  PKG_CHECK_MODULES(X11, [x11])
++  AC_SUBST(X11_LIBS)
++  AC_SUBST(X11_CFLAGS)
++fi
++
+ AM_CONDITIONAL(SCIM_BRIDGE_BUILD_TESTS,
+               [test "$enable_tests" = "yes"])
+ 
+-- 
+2.35.1
+

diff --git a/app-i18n/scim-bridge/scim-bridge-0.4.16-r3.ebuild 
b/app-i18n/scim-bridge/scim-bridge-0.4.16-r3.ebuild
index 9fe5ab6806ac..cb584cf64232 100644
--- a/app-i18n/scim-bridge/scim-bridge-0.4.16-r3.ebuild
+++ b/app-i18n/scim-bridge/scim-bridge-0.4.16-r3.ebuild
@@ -43,6 +43,7 @@ PATCHES=(
        "${FILESDIR}/${P}+gcc-4.7.patch"
        "${FILESDIR}/${P}-configure.ac.patch" #280887
        "${FILESDIR}/${P}-fixes-send-function-call.patch" # 645168
+       "${FILESDIR}/${P}-slibtool.patch" # 779121
 )
 
 src_prepare() {

Reply via email to