From 87a3c45d345f336b0b766f84dc18e085e2649b8d Mon Sep 17 00:00:00 2001 From: Mihai Moldovan Date: Wed, 11 Oct 2017 15:25:54 +0200 Subject: 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(-) (limited to 'dev-lisp') diff --git a/dev-lisp/sbcl/sbcl-1.4.0.ebuild b/dev-lisp/sbcl/sbcl-1.4.0.ebuild index 9f565e6c9e05..962d6c37cbef 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 -- cgit v1.2.3-65-gdbad