commit: 87a3c45d345f336b0b766f84dc18e085e2649b8d
Author: Mihai Moldovan <ionic <AT> ionic <DOT> de>
AuthorDate: Wed Oct 11 13:25:54 2017 +0000
Commit: José María Alonso <nimiux <AT> gentoo <DOT> org>
CommitDate: Wed Oct 11 13:27:14 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=87a3c45d
dev-lisp/sbcl: Fix CFLAGS and LINKFLAGS to let users override the default values
Package-Manager: Portage-2.3.8, Repoman-2.3.3
dev-lisp/sbcl/sbcl-1.4.0.ebuild | 20 +++++++++++++-------
1 file changed, 13 insertions(+), 7 deletions(-)
diff --git a/dev-lisp/sbcl/sbcl-1.4.0.ebuild b/dev-lisp/sbcl/sbcl-1.4.0.ebuild
index 9f565e6c9e0..962d6c37cbe 100644
--- a/dev-lisp/sbcl/sbcl-1.4.0.ebuild
+++ b/dev-lisp/sbcl/sbcl-1.4.0.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