commit:     e9b13ddd0ca118db1a32742332ab21d06cdd6882
Author:     Bernard Cafarelli <voyageur <AT> gentoo <DOT> org>
AuthorDate: Fri Jan 24 14:29:52 2020 +0000
Commit:     Bernard Cafarelli <voyageur <AT> gentoo <DOT> org>
CommitDate: Fri Jan 24 14:29:52 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e9b13ddd

x11-wm/windowmaker: fix cross-compilation

Thanks David Michael for patch and bug report

Closes: https://bugs.gentoo.org/706006
Package-Manager: Portage-2.3.85, Repoman-2.3.20
Signed-off-by: Bernard Cafarelli <voyageur <AT> gentoo.org>

 ...ker-0.95.8-configure_default_search_paths.patch | 70 ++++++++++++++++++++++
 x11-wm/windowmaker/windowmaker-0.95.8-r1.ebuild    |  4 +-
 2 files changed, 73 insertions(+), 1 deletion(-)

diff --git 
a/x11-wm/windowmaker/files/windowmaker-0.95.8-configure_default_search_paths.patch
 
b/x11-wm/windowmaker/files/windowmaker-0.95.8-configure_default_search_paths.patch
new file mode 100644
index 00000000000..fa323b775d0
--- /dev/null
+++ 
b/x11-wm/windowmaker/files/windowmaker-0.95.8-configure_default_search_paths.patch
@@ -0,0 +1,70 @@
+From: David Michael <fedo...@gmail.com>
+To: wmaker-...@googlegroups.com
+Subject: [PATCH] configure: Allow changing default search paths
+Date: Thu, 16 Jan 2020 14:59:33 -0500
+
+This changes the behavior of the --with-{inc,lib}s-from arguments
+to replace the default paths instead of adding to them.  This is
+required when cross-compiling in a sysroot, since the default paths
+will include files from the host system which can have an
+incompatible architecture.
+---
+1. What happened: could not compile
+
+2. Detailed description of what happened:
+Cross-compiling in a sysroot searches for development files on the
+host.  The build fails when building between two very different
+architectures.
+
+3. How to reproduce the bug, if known:
+Cross-compile in a sysroot (from x86_64 to ppc with Gentoo in my case).
+
+6. The error occurred during: compilation
+
+8. Error messages output:
+There are about two megabytes of errors about float128 not being defined
+for the architecture, from including the x86_64 headers in /usr/include
+for the ppc compiler.
+
+9. Fix, if known:
+This commit makes it build when passing --with-{inc,lib}s-from= and it
+shouldn't be a big behavior change for most cases.
+
+10. Other Notes:
+I didn't dig into the history of those search variables, but a better
+fix might be to just remove them entirely.  It doesn't seem to do any
+good to redundantly add the default search paths, or if includedir or
+libdir were changed, the usual CPPFLAGS and LDFLAGS environment
+variables could set the search paths.
+
+ configure.ac | 8 ++------
+ 1 file changed, 2 insertions(+), 6 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index a19acce5..0129f4e7 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -284,18 +284,14 @@ _bindir=`eval echo $_bindir`
+ _libdir=`eval echo $libdir`
+ _libdir=`eval echo $_libdir`
+ 
+-lib_search_path='-L${libdir}'
+-
+-inc_search_path='-I${includedir}'
+-
+ dnl ===============================================
+ dnl Specify paths to look for libraries and headers
+ dnl ===============================================
+ AC_ARG_WITH(libs-from, AS_HELP_STRING([--with-libs-from], [pass compiler 
flags to look for libraries]),
+-      [lib_search_path="$withval $lib_search_path"])
++      [lib_search_path="$withval"], [lib_search_path='-L${libdir}'])
+ 
+ AC_ARG_WITH(incs-from, AS_HELP_STRING([--with-incs-from], [pass compiler 
flags to look for header files]),
+-      [inc_search_path="$withval $inc_search_path"])
++      [inc_search_path="$withval"], [inc_search_path='-I${includedir}'])
+ 
+ 
+ dnl Features Configuration
+-- 
+2.21.1
+

diff --git a/x11-wm/windowmaker/windowmaker-0.95.8-r1.ebuild 
b/x11-wm/windowmaker/windowmaker-0.95.8-r1.ebuild
index 18e442e7939..7fd9518848a 100644
--- a/x11-wm/windowmaker/windowmaker-0.95.8-r1.ebuild
+++ b/x11-wm/windowmaker/windowmaker-0.95.8-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=6
@@ -33,6 +33,8 @@ RDEPEND="${DEPEND}
 
 S=${WORKDIR}/${P/windowm/WindowM}
 
+PATCHES=( "${FILESDIR}"/${P}-configure_default_search_paths.patch )
+
 src_prepare() {
        # Fix some paths
        for file in WindowMaker/*menu* util/wmgenmenu.c; do

Reply via email to