commit:     882df26cfdfa74fc7d62e2a9e83b2543c47fdcf7
Author:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Sun Jan 24 11:13:24 2021 +0000
Commit:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Sun Jan 24 11:14:53 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=882df26c

x11-themes/gtk-engines: Fixed build with sys-devel/slibtool

This also required to fix autoreconf to generate non-broken Makefiles
which was done by taking a patch from Debian.
This in turn enables us to fix configure.ac to search for our desired
LUA implementation.

Commit permission kindly granted by mattst88

Closes: https://bugs.gentoo.org/766680
Package-Manager: Portage-3.0.14, Repoman-3.0.2
Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>

 .../files/gtk-engines-2.20.2-automake-1.14.patch   | 49 ++++++++++++++++++++++
 .../files/gtk-engines-2.20.2-slibtool.patch        | 47 +++++++++++++++++++++
 .../gtk-engines/gtk-engines-2.20.2-r100.ebuild     | 10 +++--
 3 files changed, 102 insertions(+), 4 deletions(-)

diff --git 
a/x11-themes/gtk-engines/files/gtk-engines-2.20.2-automake-1.14.patch 
b/x11-themes/gtk-engines/files/gtk-engines-2.20.2-automake-1.14.patch
new file mode 100644
index 00000000000..f23f929bbfb
--- /dev/null
+++ b/x11-themes/gtk-engines/files/gtk-engines-2.20.2-automake-1.14.patch
@@ -0,0 +1,49 @@
+Description: Work around FTBFS due to automake 1.14 bug
+ Automake generates invalid Makefiles when patsubst is used in
+ Makefile.am. To work around this problem configure injects the
+ patsubsts to the Makefile now.
+ .
+Author: Balint Reczey <[email protected]>
+Bug-Debian: http://bugs.debian.org/713353
+--- gtk2-engines-2.20.2.orig/configure.ac
++++ gtk2-engines-2.20.2/configure.ac
+@@ -142,6 +142,8 @@ fi
+ AC_SUBST(BUILD_ENGINES)
+ AC_SUBST(BUILD_THEMES)
+ AC_SUBST(BUILD_SCHEMAS)
++AC_SUBST([auto_find_tests], ['$(patsubst %,exported_%,$(BUILD_ENGINES)) 
torture_buildin $(patsubst %,torture_%,$(TORTURE_TEST_ENGINES))'])
++
+ 
+ if test $animation = "yes"; then
+       AC_DEFINE_UNQUOTED(HAVE_ANIMATION, 1, [Defines whether to compile with 
animation support])
+--- gtk2-engines-2.20.2.orig/test/Makefile.am
++++ gtk2-engines-2.20.2/test/Makefile.am
+@@ -64,9 +64,10 @@ VALGRIND_ENV=G_SLICE=always-malloc G_DEB
+ # Exported Symbols Test - Tests all engines unconditionally
+ #############################################################
+ # Prefix with exported_
+-EXPORTED_SYMBOLS_TESTS = $(patsubst %,exported_%,$(BUILD_ENGINES))
++# disabled to work around automake bug #14561
++# EXPORTED_SYMBOLS_TESTS = $(patsubst %,exported_%,$(BUILD_ENGINES))
+ 
+-TESTS += $(EXPORTED_SYMBOLS_TESTS)
++#TESTS += $(EXPORTED_SYMBOLS_TESTS)
+ 
+ 
+ #############################################################
+@@ -85,10 +86,13 @@ SUPPORTED_TORTURE_TEST_ENGINES = \
+ # Filter engines that are not build from the set of engines
+ TORTURE_TEST_ENGINES = $(filter 
$(SUPPORTED_TORTURE_TEST_ENGINES),$(BUILD_ENGINES))
+ # Prefix with torture_
+-TORTURE_TEST_TESTS = torture_buildin $(patsubst 
%,torture_%,$(TORTURE_TEST_ENGINES))
++# disabled to work around automake bug #14561
++# TORTURE_TEST_TESTS = torture_buildin $(patsubst 
%,torture_%,$(TORTURE_TEST_ENGINES))
+ 
+ # Add TORTURE_TEST_ENGINES to list of tests
+-TESTS += $(TORTURE_TEST_TESTS)
++# disabled to work around automake bug #14561
++#TESTS += $(TORTURE_TEST_TESTS)
++TESTS += @auto_find_tests@
+ 
+ # Possible other tests:
+ #  - An extensive theme switch tests that loads/unloads the engine

diff --git a/x11-themes/gtk-engines/files/gtk-engines-2.20.2-slibtool.patch 
b/x11-themes/gtk-engines/files/gtk-engines-2.20.2-slibtool.patch
new file mode 100644
index 00000000000..69c409c9e7e
--- /dev/null
+++ b/x11-themes/gtk-engines/files/gtk-engines-2.20.2-slibtool.patch
@@ -0,0 +1,47 @@
+This fixes build with sys-devel/slibtool
+
+--- gtk-engines-2.20.2/configure.ac
++++ gtk-engines-2.20.2/configure.ac
+@@ -27,6 +27,9 @@
+ AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["$GETTEXT_PACKAGE"],[Gettext package])
+ AM_GLIB_GNU_GETTEXT
+ 
++AC_CHECK_LIBM
++AC_SUBST([LIBM])
++
+ AC_ARG_ENABLE(all,            [  --disable-all           skip all 
engines/themes by default], [defaultval=$enableval],        [defaultval="yes"])
+ AC_ARG_ENABLE(clearlooks,     [  --disable-clearlooks    skip ClearLooks 
engine/theme],       [clearlooks=$enableval],        [clearlooks="$defaultval"])
+ AC_ARG_ENABLE(crux,           [  --disable-crux          skip Crux 
engine/theme],             [crux=$enableval],              [crux="$defaultval"])
+--- gtk-engines-2.20.2/engines/hc/Makefile.am
++++ gtk-engines-2.20.2/engines/hc/Makefile.am
+@@ -38,7 +38,7 @@
+       ./src/hc-style.c
+ 
+ libhcengine_la_LDFLAGS = -module -avoid-version -no-undefined -export-symbols 
$(top_srcdir)/engines/engine.symbols
+-libhcengine_la_LIBADD = $(top_builddir)/engines/support/libsupport.la 
$(GTK_LIBS)
++libhcengine_la_LIBADD = $(top_builddir)/engines/support/libsupport.la 
$(GTK_LIBS) $(LIBM)
+ 
+ -include $(top_srcdir)/git.mk
+ 
+--- gtk-engines-2.20.2/engines/mist/Makefile.am
++++ gtk-engines-2.20.2/engines/mist/Makefile.am
+@@ -16,7 +16,7 @@
+       ./src/mist.c
+ 
+ libmist_la_LDFLAGS = -module -avoid-version -no-undefined -export-symbols 
$(top_srcdir)/engines/engine.symbols
+-libmist_la_LIBADD = $(top_builddir)/engines/support/libsupport.la $(GTK_LIBS)
++libmist_la_LIBADD = $(top_builddir)/engines/support/libsupport.la $(GTK_LIBS) 
$(LIBM)
+ 
+ -include $(top_srcdir)/git.mk
+ 
+--- gtk-engines-2.20.2/engines/thinice/Makefile.am
++++ gtk-engines-2.20.2/engines/thinice/Makefile.am
+@@ -18,7 +18,7 @@
+       ./src/thinice_main.c
+ 
+ libthinice_la_LDFLAGS = -module -avoid-version -no-undefined -export-symbols 
$(top_srcdir)/engines/engine.symbols
+-libthinice_la_LIBADD = $(top_builddir)/engines/support/libsupport.la 
$(GTK_LIBS)
++libthinice_la_LIBADD = $(top_builddir)/engines/support/libsupport.la 
$(GTK_LIBS) $(LIBM)
+ 
+ -include $(top_srcdir)/git.mk
+ 

diff --git a/x11-themes/gtk-engines/gtk-engines-2.20.2-r100.ebuild 
b/x11-themes/gtk-engines/gtk-engines-2.20.2-r100.ebuild
index 725b99451c9..c5622f9a10a 100644
--- a/x11-themes/gtk-engines/gtk-engines-2.20.2-r100.ebuild
+++ b/x11-themes/gtk-engines/gtk-engines-2.20.2-r100.ebuild
@@ -3,6 +3,7 @@
 
 EAPI=7
 
+GNOME2_EAUTORECONF="yes"
 GNOME2_LA_PUNT="yes"
 GNOME_TARBALL_SUFFIX="bz2"
 LUA_COMPAT=( lua5-{1..4} )
@@ -38,15 +39,16 @@ PATCHES=(
        "${FILESDIR}"/${P}-change-bullet.patch
        "${FILESDIR}"/${P}-tooltips.patch
        "${FILESDIR}"/${P}-window-dragging.patch
+       "${FILESDIR}"/${P}-slibtool.patch #766680
+       "${FILESDIR}"/${P}-automake-1.14.patch # taken from Debian
 )
 
 src_prepare() {
-       gnome2_src_prepare
        # pkgconfig wrapper set up by lua-single.eclass is not 
multilib-compatible
        # at present so point Autoconf directly to the correct implementation.
-       # We patch configure rather than configure.ac because running 
'eautoreconf'
-       # results for some reason in corrupted test Makefiles.
-       sed -i -e "s|\"lua\"|\"${ELUA}\"|g" configure || die
+       sed -i -e "/PKG_CHECK_MODULES(LUA,/s|lua|${ELUA}|" configure.ac || die
+
+       gnome2_src_prepare
 }
 
 multilib_src_configure() {

Reply via email to