commit:     d4d1d114924a83329ffdc267ba5784ecf6d25339
Author:     Chema Alonso Josa <nimiux <AT> gentoo <DOT> org>
AuthorDate: Mon Nov 13 22:10:12 2017 +0000
Commit:     José María Alonso <nimiux <AT> gentoo <DOT> org>
CommitDate: Mon Nov 13 22:10:12 2017 +0000
URL:        https://gitweb.gentoo.org/proj/lisp.git/commit/?id=d4d1d114

dev-lisp/sbcl: Fix CFLAGS and LINKFLAGS to let users override the default values

 dev-lisp/sbcl/sbcl-1.4.1.ebuild | 20 +++++++++++++-------
 1 file changed, 13 insertions(+), 7 deletions(-)

diff --git a/dev-lisp/sbcl/sbcl-1.4.1.ebuild b/dev-lisp/sbcl/sbcl-1.4.1.ebuild
index adb1f0e2..df43a9fe 100644
--- a/dev-lisp/sbcl/sbcl-1.4.1.ebuild
+++ b/dev-lisp/sbcl/sbcl-1.4.1.ebuild
@@ -107,11 +107,19 @@ src_prepare() {
 
        eapply_user
 
-       # bugs #526194, #620532
-       sed -e "s@CFLAGS +=.*\$@CFLAGS = ${CFLAGS} -Wall -Wsign-compare 
-Wpointer-arith@" \
-               -e "s@LINKFLAGS += -g\$@LINKFLAGS = ${LDFLAGS}@" \
-               -e "s@LINKFLAGS += -no-pie\$@LINKFLAGS = ${LDFLAGS} -no-pie@" \
-               -e "s@LINKFLAGS += -nopie\$@LINKFLAGS = ${LDFLAGS} -nopie@" \
+       # Make sure the *FLAGS variables are sane.
+       # sbcl needs symbols in resulting binaries, so building with the -s 
linker flag will fail.
+       strip-unsupported-flags
+       filter-flags -fomit-frame-pointer -Wl,-s
+       filter-ldflags -s
+
+       # original bugs #526194, #620532
+       # this broke no-pie default builds, c.f. bug #632670
+       # Pass CFLAGS down by appending our value, to let users override
+       # the default values.
+       # Keep passing LDFLAGS down via the LINKFLAGS variable.
+       sed -e "s@\(CFLAGS += -g .*\)\$@\1 ${CFLAGS}@" \
+               -e "s@LINKFLAGS += -g\$@LINKFLAGS += ${LDFLAGS}@" \
                -i src/runtime/GNUmakefile || die
 
        sed -e "s@SBCL_PREFIX=\"/usr/local\"@SBCL_PREFIX=\"${EPREFIX}/usr\"@" \
@@ -148,8 +156,6 @@ src_configure() {
 src_compile() {
        local bindir="${WORKDIR}"/sbcl-binary
 
-       strip-unsupported-flags ; filter-flags -fomit-frame-pointer
-
        if use pax_kernel ; then
                # To disable PaX on hardened systems
                pax-mark -mr "${bindir}"/src/runtime/sbcl

Reply via email to