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.