summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabian Groffen <grobian@gentoo.org>2021-12-25 14:06:39 +0100
committerFabian Groffen <grobian@gentoo.org>2021-12-25 14:07:20 +0100
commitce90900a0ff16326fd1f2608d32ad2c4e294b89f (patch)
tree32085305221641d263d9fbbc99368f7518c5a0c5 /dev-lang/perl
parentnet-wireless/crda: enable py3.10 (diff)
downloadgentoo-ce90900a0ff16326fd1f2608d32ad2c4e294b89f.tar.gz
gentoo-ce90900a0ff16326fd1f2608d32ad2c4e294b89f.tar.bz2
gentoo-ce90900a0ff16326fd1f2608d32ad2c4e294b89f.zip
dev-lang/perl-5.34.0-r6: fix build on Darwin 9
Package-Manager: Portage-3.0.28, Repoman-3.0.3 Signed-off-by: Fabian Groffen <grobian@gentoo.org>
Diffstat (limited to 'dev-lang/perl')
-rw-r--r--dev-lang/perl/perl-5.34.0-r6.ebuild12
1 files changed, 10 insertions, 2 deletions
diff --git a/dev-lang/perl/perl-5.34.0-r6.ebuild b/dev-lang/perl/perl-5.34.0-r6.ebuild
index c5e33db0b272..10a8bdee8bdb 100644
--- a/dev-lang/perl/perl-5.34.0-r6.ebuild
+++ b/dev-lang/perl/perl-5.34.0-r6.ebuild
@@ -430,6 +430,12 @@ src_prepare() {
if [[ ${CHOST} == *-darwin* ]] ; then
# fix install_name (soname) not to reference $D
sed -i -e '/install_name `pwd/s/`pwd`/\\$(shrpdir)/' Makefile.SH || die
+
+ # fix environ linkage absence (only a real issue on Darwin9)
+ if [[ ${CHOST##*-darwin} -le 9 ]] ; then
+ sed -i -e '/^PLDLFLAGS =/s/=/= -include crt_externs.h -Denviron="(*_NSGetEnviron())"/' \
+ Makefile.SH || die
+ fi
fi
default
@@ -614,9 +620,11 @@ src_configure() {
myconf "-Dld=env MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} $(tc-getCC)"
# Older macOS with non-Apple GCC chokes on inline in system headers
- # using c89 mode as injected by cflags.SH
+ # using c89 mode as injected by cflags.SH, in addition, we override
+ # cflags, so we loose PERL_DARWIN which enables compat code that
+ # apparently on more recent macOS releases is no longer necessary
[[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] && tc-is-gcc && \
- append-cflags -Dinline=__inline__
+ append-cflags -Dinline=__inline__ -DPERL_DARWIN
# flock on 32-bit sparc Solaris is broken, fall back to fcntl
[[ ${CHOST} == sparc-*-solaris* ]] && \