summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabian Groffen <grobian@gentoo.org>2019-01-17 08:43:13 +0100
committerFabian Groffen <grobian@gentoo.org>2019-01-17 08:43:33 +0100
commitc8e7386fe2f483f3b2441867ee044dd765a73fea (patch)
treeee630cf2e84c28e82344e631fe8067560fe2376f
parentsys-fs/e2fsprogs: stable 1.44.5 for hppa, bug #675346 (diff)
downloadgentoo-c8e7386fe2f483f3b2441867ee044dd765a73fea.tar.gz
gentoo-c8e7386fe2f483f3b2441867ee044dd765a73fea.tar.bz2
gentoo-c8e7386fe2f483f3b2441867ee044dd765a73fea.zip
dev-lang/perl: misc fixes for Solaris
- set SONAME for libperl - fix arch dirs to be called *-solaris iso *-linux - add workaround for broken alignment check causing buserror on sparc Signed-off-by: Fabian Groffen <grobian@gentoo.org> Package-Manager: Portage-2.3.51, Repoman-2.3.11
-rw-r--r--dev-lang/perl/perl-5.28.0.ebuild11
-rw-r--r--dev-lang/perl/perl-5.28.9999.ebuild11
2 files changed, 18 insertions, 4 deletions
diff --git a/dev-lang/perl/perl-5.28.0.ebuild b/dev-lang/perl/perl-5.28.0.ebuild
index 13cbdc3c005..ce7173f15eb 100644
--- a/dev-lang/perl/perl-5.28.0.ebuild
+++ b/dev-lang/perl/perl-5.28.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Authors
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -136,6 +136,7 @@ pkg_setup() {
*-netbsd*) osname="netbsd" ;;
*-openbsd*) osname="openbsd" ;;
*-darwin*) osname="darwin" ;;
+ *-solaris*) osname="solaris" ;;
*-interix*) osname="interix" ;;
*-aix*) osname="aix" ;;
*-cygwin*) osname="cygwin" ;;
@@ -314,7 +315,9 @@ src_prepare() {
if [[ ${CHOST} == *-solaris* ]] ; then
# do NOT mess with nsl, on Solaris this is always necessary,
# when -lsocket is used e.g. to get h_errno
- sed -i '/gentoo\/no-nsl\.patch/d' "${WORKDIR}/patches/series" || die "Can't exclude libnsl patch"
+ sed -i '/gentoo\/no-nsl\.patch/d' "${WORKDIR}/patches/series" || die
+ # and set a soname
+ sed -i 's/sunos\*/sunos*|solaris*/' Makefile.SH || die
fi
einfo "Applying patches from ${PATCH_BASE} ..."
@@ -467,6 +470,10 @@ src_configure() {
[[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] && tc-is-gcc && \
append-cflags -Dinline=__inline__
+ # fix unaligned access misdetection
+ # https://rt.perl.org/Public/Bug/Display.html?id=133495
+ [[ ${CHOST} == sparc*-solaris* ]] && myconf "-Dd_u32align='define'"
+
# Prefix: the host system needs not to follow Gentoo multilib stuff, and in
# Prefix itself we don't do multilib either, so make sure perl can find
# something compatible.
diff --git a/dev-lang/perl/perl-5.28.9999.ebuild b/dev-lang/perl/perl-5.28.9999.ebuild
index 13cbdc3c005..ce7173f15eb 100644
--- a/dev-lang/perl/perl-5.28.9999.ebuild
+++ b/dev-lang/perl/perl-5.28.9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Authors
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -136,6 +136,7 @@ pkg_setup() {
*-netbsd*) osname="netbsd" ;;
*-openbsd*) osname="openbsd" ;;
*-darwin*) osname="darwin" ;;
+ *-solaris*) osname="solaris" ;;
*-interix*) osname="interix" ;;
*-aix*) osname="aix" ;;
*-cygwin*) osname="cygwin" ;;
@@ -314,7 +315,9 @@ src_prepare() {
if [[ ${CHOST} == *-solaris* ]] ; then
# do NOT mess with nsl, on Solaris this is always necessary,
# when -lsocket is used e.g. to get h_errno
- sed -i '/gentoo\/no-nsl\.patch/d' "${WORKDIR}/patches/series" || die "Can't exclude libnsl patch"
+ sed -i '/gentoo\/no-nsl\.patch/d' "${WORKDIR}/patches/series" || die
+ # and set a soname
+ sed -i 's/sunos\*/sunos*|solaris*/' Makefile.SH || die
fi
einfo "Applying patches from ${PATCH_BASE} ..."
@@ -467,6 +470,10 @@ src_configure() {
[[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] && tc-is-gcc && \
append-cflags -Dinline=__inline__
+ # fix unaligned access misdetection
+ # https://rt.perl.org/Public/Bug/Display.html?id=133495
+ [[ ${CHOST} == sparc*-solaris* ]] && myconf "-Dd_u32align='define'"
+
# Prefix: the host system needs not to follow Gentoo multilib stuff, and in
# Prefix itself we don't do multilib either, so make sure perl can find
# something compatible.