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

Bug: https://bugs.gentoo.org/632670
Package-Manager: Portage-2.3.8, Repoman-2.3.3
This commit is contained in:
Chema Alonso Josa
2017-11-13 23:12:00 +01:00
parent 2478a50d1a
commit ba66c87faf

View File

@@ -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