commit: c8e7386fe2f483f3b2441867ee044dd765a73fea
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Thu Jan 17 07:43:13 2019 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Thu Jan 17 07:43:33 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c8e7386f
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 <AT> gentoo.org>
Package-Manager: Portage-2.3.51, Repoman-2.3.11
dev-lang/perl/perl-5.28.0.ebuild | 11 +++++++++--
dev-lang/perl/perl-5.28.9999.ebuild | 11 +++++++++--
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.