From 9c928e3de99c4b2f01f8dfd1b4cc97ae8cd181e5 Mon Sep 17 00:00:00 2001 From: Fabian Groffen Date: Mon, 31 Aug 2015 20:36:02 +0200 Subject: [PATCH] sys-libs/ncurses: fix build on platforms that don't support static linking Package-Manager: portage-2.2.20-prefix --- sys-libs/ncurses/ncurses-6.0-r1.ebuild | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/sys-libs/ncurses/ncurses-6.0-r1.ebuild b/sys-libs/ncurses/ncurses-6.0-r1.ebuild index 245d977593f1..c41219baea45 100644 --- a/sys-libs/ncurses/ncurses-6.0-r1.ebuild +++ b/sys-libs/ncurses/ncurses-6.0-r1.ebuild @@ -68,13 +68,24 @@ src_configure() { # or installing for the first time. Build a local copy of tic whenever # the host version isn't available. #249363 #557598 if ! ROOT=/ has_version "~sys-libs/${P}:0" ; then + local lbuildflags="-static" + + # some toolchains don't quite support static linking + local dbuildflags="-Wl,-rpath,${WORKDIR}/lib" + case ${CHOST} in + *-darwin*) dbuildflags= ;; + esac + echo "int main() {}" | \ + $(tc-getCC) -o x -x c - ${lbuildflags} -pipe >& /dev/null \ + || lbuildflags="${dbuildflags}" + # We can't re-use the multilib BUILD_DIR because we run outside of it. BUILD_DIR="${WORKDIR}" \ CHOST=${CBUILD} \ CFLAGS=${BUILD_CFLAGS} \ CXXFLAGS=${BUILD_CXXFLAGS} \ CPPFLAGS=${BUILD_CPPFLAGS} \ - LDFLAGS="${BUILD_LDFLAGS} -static" \ + LDFLAGS="${BUILD_LDFLAGS} ${lbuildflags}" \ multijob_child_init do_configure cross --without-shared --with-normal fi multilib-minimal_src_configure @@ -165,7 +176,7 @@ do_configure() { # Force bash until upstream rebuilds the configure script with a newer # version of autotools. #545532 - CONFIG_SHELL=/bin/bash \ + CONFIG_SHELL=${EPREFIX}/bin/bash \ ECONF_SOURCE=${S} \ econf "${conf[@]}" "$@" } -- 2.26.2