commit:     c5cd8381c25b1b4943e7b3eec5466f053d360ae6
Author:     Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
AuthorDate: Fri Jun  3 23:28:31 2016 +0000
Commit:     Andreas Hüttel <dilfridge <AT> gentoo <DOT> org>
CommitDate: Fri Jun  3 23:29:44 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c5cd8381

dev-lang/perl: Add revbump (unkeyworded, work in progress) for adding some 
patches. Add fix for bug 584890 by Benda Xu.

Package-Manager: portage-2.3.0_rc1

 dev-lang/perl/files/eblits/common-v50240002.eblit  |  71 ++++++++
 .../files/eblits/src_configure-v50240002.eblit     | 192 +++++++++++++++++++++
 dev-lang/perl/perl-5.24.0-r1.ebuild                | 126 ++++++++++++++
 3 files changed, 389 insertions(+)

diff --git a/dev-lang/perl/files/eblits/common-v50240002.eblit 
b/dev-lang/perl/files/eblits/common-v50240002.eblit
new file mode 100644
index 0000000..94e01a2
--- /dev/null
+++ b/dev-lang/perl/files/eblits/common-v50240002.eblit
@@ -0,0 +1,71 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+src_remove_dual_file() {
+       local i pkg ver
+       pkg="$1"
+       ver="$2"
+       shift 2
+       case "${EBUILD_PHASE:-none}" in
+               postinst|postrm)
+                       for i in "$@" ; do
+                               alternatives_auto_makesym "${i}" "${i}-[0-9]*"
+                       done
+                       ;;
+               setup)
+                       for i in "$@" ; do
+                               if [[ -f ${EROOT}${i} && ! -h ${EROOT}${i} ]] ; 
then
+                                       has_version ${pkg} && ewarn "You must 
reinstall ${pkg} !"
+                                       break
+                               fi
+                       done
+                       ;;
+               install)
+                       for i in "$@" ; do
+                               if ! [[ -f "${ED}"${i} ]] ; then
+                                       ewarn "${i} does not exist!"
+                                       continue
+                               fi
+                               mv "${ED}"${i}{,-${ver}-${P}} || die
+                       done
+                       ;;
+       esac
+}
+
+src_remove_dual_man() {
+       local i pkg ver ff
+       pkg="$1"
+       ver="$2"
+       shift 2
+       case "${EBUILD_PHASE:-none}" in
+               postinst|postrm)
+                       for i in "$@" ; do
+                               ff=`echo 
"${EROOT}${i%.[0-9]}-${ver}-${P}${i#${i%.[0-9]}}"*`
+                               ff=${ff##*${i#${i%.[0-9]}}}
+                               alternatives_auto_makesym "${i}${ff}" 
"${i%.[0-9]}-[0-9]*"
+                       done
+                       ;;
+               install)
+                       for i in "$@" ; do
+                               if ! [[ -f "${ED}"${i} ]] ; then
+                                       ewarn "${i} does not exist!"
+                                       continue
+                               fi
+                               mv "${ED}"${i} 
"${ED}"${i%.[0-9]}-${ver}-${P}${i#${i%.[0-9]}} || die
+                       done
+                       ;;
+       esac
+}
+
+src_remove_dual() {
+       local i pkg ver
+       pkg="$1"
+       ver="$2"
+       shift 2
+       for i in "$@" ; do
+               src_remove_dual_file  "${pkg}" "${ver}" "/usr/bin/${i}"
+               src_remove_dual_man   "${pkg}" "${ver}" 
"/usr/share/man/man1/${i}.1"
+       done
+}
+

diff --git a/dev-lang/perl/files/eblits/src_configure-v50240002.eblit 
b/dev-lang/perl/files/eblits/src_configure-v50240002.eblit
new file mode 100644
index 0000000..058171e
--- /dev/null
+++ b/dev-lang/perl/files/eblits/src_configure-v50240002.eblit
@@ -0,0 +1,192 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+myconf() {
+       # the myconf array is declared in src_configure
+       myconf=( "${myconf[@]}" "$@" )
+}
+
+eblit-perl-src_configure() {
+       declare -a myconf
+
+       export LC_ALL="C"
+       [[ ${COLUMNS:-1} -ge 1 ]] || unset COLUMNS # bug #394091
+
+       # some arches and -O do not mix :)
+       use ppc && replace-flags -O? -O1
+       # Perl has problems compiling with -Os in your flags with glibc
+       use elibc_uclibc || replace-flags "-Os" "-O2"
+       # This flag makes compiling crash in interesting ways
+       filter-flags "-malign-double"
+       # Fixes bug #97645
+       use ppc && filter-flags "-mpowerpc-gpopt"
+       # Fixes bug #143895 on gcc-4.1.1
+       filter-flags "-fsched2-use-superblocks"
+
+       use sparc && myconf -Ud_longdbl
+
+       export BUILD_BZIP2=0
+       export BZIP2_INCLUDE=${EPREFIX}/usr/include
+       export BZIP2_LIB=${EPREFIX}/usr/$(get_libdir)
+
+       export BUILD_ZLIB=False
+       export ZLIB_INCLUDE=${EPREFIX}/usr/include
+       export ZLIB_LIB=${EPREFIX}/usr/$(get_libdir)
+
+       # allow either gdbm to provide ndbm (in <gdbm/ndbm.h>) or db1
+
+       myndbm='U'
+       mygdbm='U'
+       mydb='U'
+
+       if use gdbm ; then
+               mygdbm='D'
+               myndbm='D'
+       fi
+       if use berkdb ; then
+               mydb='D'
+               has_version '=sys-libs/db-1*' && myndbm='D'
+       fi
+
+       myconf "-${myndbm}i_ndbm" "-${mygdbm}i_gdbm" "-${mydb}i_db"
+
+       if use alpha && [[ "$(tc-getCC)" = "ccc" ]] ; then
+               ewarn "Perl will not be built with berkdb support, use gcc if 
you needed it..."
+               myconf -Ui_db -Ui_ndbm
+       fi
+
+       use ithreads && myconf -Dusethreads
+
+       if use debug ; then
+               append-cflags "-g"
+               myconf -DDEBUGGING
+       elif [[ ${CFLAGS} == *-g* ]] ; then
+               myconf -DDEBUGGING=-g
+       else
+               myconf -DDEBUGGING=none
+       fi
+
+       if [[ -n ${PERL_OLDVERSEN} ]] ; then
+               local inclist=$(for v in ${PERL_OLDVERSEN}; do echo -n 
"${v}/${myarch}${mythreading} ${v} "; done )
+               myconf -Dinc_version_list="${inclist}"
+       fi
+
+       [[ ${ELIBC} == "FreeBSD" ]] && myconf "-Dlibc=/usr/$(get_libdir)/libc.a"
+
+       # Make sure we can do the final link #523730, need to set deployment
+       # target to override hardcoded 10.3 which breaks on modern OSX
+       [[ ${CHOST} == *-darwin* ]] && \
+               myconf "-Dld=env 
MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} $(tc-getCC)"
+
+       # 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.
+       if use prefix ; then
+               # Set a hook to check for each detected library whether it 
actually works.
+               export libscheck="
+                       ( echo 'main(){}' > '${T}'/conftest.c &&
+                         $(tc-getCC) -o '${T}'/conftest '${T}'/conftest.c 
-l\$thislib >/dev/null 2>/dev/null
+                       ) || xxx=/dev/null"
+
+               # Use all host paths that might contain useful stuff, the hook 
above will filter out bad choices.
+               local paths="/lib/*-linux-gnu /usr/lib/*-linux-gnu /lib64 
/lib/64 /usr/lib64 /usr/lib/64 /lib32 /usr/lib32 /lib /usr/lib"
+               myconf "-Dlibpth=${EPREFIX}/$(get_libdir) 
${EPREFIX}/usr/$(get_libdir) ${paths}"
+       elif [[ $(get_libdir) != "lib" ]] ; then
+               # We need to use " and not ', as the written config.sh use ' ...
+               myconf "-Dlibpth=/usr/local/$(get_libdir) /$(get_libdir) 
/usr/$(get_libdir)"
+       fi
+
+       # don't try building ODBM, bug #354453
+       disabled_extensions="ODBM_File"
+
+       if ! use gdbm ; then
+               # workaround for bug #157774: don't try building GDBM related 
stuff with USE="-gdbm"
+               disabled_extensions="${disabled_extensions} GDBM_File NDBM_File"
+       fi
+
+       myconf -Dnoextensions="${disabled_extensions}"
+
+       echo Configuring Perl as follows:
+       echo sh Configure \
+               -des \
+               -Duseshrplib \
+               -Darchname="${myarch}" \
+               -Dcc="$(tc-getCC)" \
+               -Doptimize="${CFLAGS}" \
+               -Dldflags="${LDFLAGS}" \
+               -Dprefix="${EPREFIX}"'/usr' \
+               -Dinstallprefix="${EPREFIX}"'/usr' \
+               -Dsiteprefix="${EPREFIX}"'/usr/local' \
+               -Dvendorprefix="${EPREFIX}"'/usr' \
+               -Dscriptdir="${EPREFIX}"'/usr/bin' \
+               -Dprivlib="${EPREFIX}${PRIV_LIB}" \
+               -Darchlib="${EPREFIX}${ARCH_LIB}" \
+               -Dsitelib="${EPREFIX}${SITE_LIB}" \
+               -Dsitearch="${EPREFIX}${SITE_ARCH}" \
+               -Dvendorlib="${EPREFIX}${VENDOR_LIB}" \
+               -Dvendorarch="${EPREFIX}${VENDOR_ARCH}" \
+               -Dman1dir="${EPREFIX}"/usr/share/man/man1 \
+               -Dman3dir="${EPREFIX}"/usr/share/man/man3 \
+               -Dsiteman1dir="${EPREFIX}"/usr/local/man/man1 \
+               -Dsiteman3dir="${EPREFIX}"/usr/local/man/man3 \
+               -Dvendorman1dir="${EPREFIX}"/usr/share/man/man1 \
+               -Dvendorman3dir="${EPREFIX}"/usr/share/man/man3 \
+               -Dman1ext='1' \
+               -Dman3ext='3pm' \
+               -Dlibperl="${LIBPERL}" \
+               -Dlocincpth="${EPREFIX}"'/usr/include ' \
+               -Dglibpth="${EPREFIX}/$(get_libdir) 
${EPREFIX}/usr/$(get_libdir)"' ' \
+               -Duselargefiles \
+               -Dd_semctl_semun \
+               -Dcf_by='Gentoo' \
+               -Dmyhostname='localhost' \
+               -Dperladmin='root@localhost' \
+               -Dinstallusrbinperl='n' \
+               -Ud_csh \
+               -Dsh="${EPREFIX}"/bin/sh \
+               -Dtargetsh="${EPREFIX}"/bin/sh \
+               -Uusenm \
+               "${myconf[@]}"
+
+       sh Configure \
+               -des \
+               -Duseshrplib \
+               -Darchname="${myarch}" \
+               -Dcc="$(tc-getCC)" \
+               -Doptimize="${CFLAGS}" \
+               -Dldflags="${LDFLAGS}" \
+               -Dprefix="${EPREFIX}"'/usr' \
+               -Dinstallprefix="${EPREFIX}"'/usr' \
+               -Dsiteprefix="${EPREFIX}"'/usr/local' \
+               -Dvendorprefix="${EPREFIX}"'/usr' \
+               -Dscriptdir="${EPREFIX}"'/usr/bin' \
+               -Dprivlib="${EPREFIX}${PRIV_LIB}" \
+               -Darchlib="${EPREFIX}${ARCH_LIB}" \
+               -Dsitelib="${EPREFIX}${SITE_LIB}" \
+               -Dsitearch="${EPREFIX}${SITE_ARCH}" \
+               -Dvendorlib="${EPREFIX}${VENDOR_LIB}" \
+               -Dvendorarch="${EPREFIX}${VENDOR_ARCH}" \
+               -Dman1dir="${EPREFIX}"/usr/share/man/man1 \
+               -Dman3dir="${EPREFIX}"/usr/share/man/man3 \
+               -Dsiteman1dir="${EPREFIX}"/usr/local/man/man1 \
+               -Dsiteman3dir="${EPREFIX}"/usr/local/man/man3 \
+               -Dvendorman1dir="${EPREFIX}"/usr/share/man/man1 \
+               -Dvendorman3dir="${EPREFIX}"/usr/share/man/man3 \
+               -Dman1ext='1' \
+               -Dman3ext='3pm' \
+               -Dlibperl="${LIBPERL}" \
+               -Dlocincpth="${EPREFIX}"'/usr/include ' \
+               -Dglibpth="${EPREFIX}/$(get_libdir) 
${EPREFIX}/usr/$(get_libdir)"' ' \
+               -Duselargefiles \
+               -Dd_semctl_semun \
+               -Dcf_by='Gentoo' \
+               -Dmyhostname='localhost' \
+               -Dperladmin='root@localhost' \
+               -Dinstallusrbinperl='n' \
+               -Ud_csh \
+               -Dsh="${EPREFIX}"/bin/sh \
+               -Dtargetsh="${EPREFIX}"/bin/sh \
+               -Uusenm \
+               "${myconf[@]}" || die "Unable to configure"
+}

diff --git a/dev-lang/perl/perl-5.24.0-r1.ebuild 
b/dev-lang/perl/perl-5.24.0-r1.ebuild
new file mode 100644
index 0000000..1f34989
--- /dev/null
+++ b/dev-lang/perl/perl-5.24.0-r1.ebuild
@@ -0,0 +1,126 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+inherit eutils alternatives flag-o-matic toolchain-funcs multilib 
multiprocessing
+
+PATCH_VER=1
+
+PERL_OLDVERSEN=""
+MODULE_AUTHOR=RJBS
+
+SHORT_PV="${PV%.*}"
+MY_P="perl-${PV/_rc/-RC}"
+MY_PV="${PV%_rc*}"
+
+DESCRIPTION="Larry Wall's Practical Extraction and Report Language"
+
+SRC_URI="
+       mirror://cpan/src/5.0/${MY_P}.tar.bz2
+       
mirror://cpan/authors/id/${MODULE_AUTHOR:0:1}/${MODULE_AUTHOR:0:2}/${MODULE_AUTHOR}/${MY_P}.tar.bz2
+       mirror://gentoo/${MY_P}-patches-${PATCH_VER}.tar.xz
+       
https://dev.gentoo.org/~dilfridge/distfiles/${MY_P}-patches-${PATCH_VER}.tar.xz
+"
+HOMEPAGE="http://www.perl.org/";
+
+LICENSE="|| ( Artistic GPL-1+ )"
+SLOT="0/${SHORT_PV}"
+#KEYWORDS="~alpha ~amd64 ~amd64-fbsd ~amd64-linux ~arm ~arm64 ~hppa ~hppa-hpux 
~ia64 ~ia64-hpux ~ia64-linux ~m68k ~m68k-mint ~mips ~ppc ~ppc64 ~ppc-aix 
~ppc-macos ~s390 ~sh ~sparc ~sparc64-solaris ~sparc-solaris ~x64-freebsd 
~x64-macos ~x64-solaris ~x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~x86-linux 
~x86-macos ~x86-solaris"
+IUSE="berkdb debug doc gdbm ithreads"
+
+RDEPEND="
+       berkdb? ( sys-libs/db:* )
+       gdbm? ( >=sys-libs/gdbm-1.8.3 )
+       app-arch/bzip2
+       sys-libs/zlib
+"
+DEPEND="${RDEPEND}
+       !prefix? ( elibc_FreeBSD? ( sys-freebsd/freebsd-mk-defs ) )
+"
+PDEPEND="
+       >=app-admin/perl-cleaner-2.5
+       >=virtual/perl-File-Temp-0.230.400-r2
+       >=virtual/perl-Data-Dumper-2.154.0
+       virtual/perl-Test-Harness
+"
+# bug 390719, bug 523624
+# virtual/perl-Test-Harness is here for the bundled ExtUtils::MakeMaker
+
+S="${WORKDIR}/${MY_P}"
+
+dual_scripts() {
+       src_remove_dual      perl-core/Archive-Tar        2.40.0        ptar 
ptardiff ptargrep
+       src_remove_dual      perl-core/Digest-SHA         5.950.0       shasum
+       src_remove_dual      perl-core/CPAN               2.110.0       cpan
+       src_remove_dual      perl-core/Encode             2.800.0       enc2xs 
piconv
+       src_remove_dual      perl-core/ExtUtils-MakeMaker 7.100.100_rc  
instmodsh
+       src_remove_dual      perl-core/ExtUtils-ParseXS   3.310.0       xsubpp
+       src_remove_dual      perl-core/IO-Compress        2.69.0        
zipdetails
+       src_remove_dual      perl-core/JSON-PP            2.273.0       json_pp
+       src_remove_dual      perl-core/Module-CoreList    5.201.605.60  corelist
+       src_remove_dual      perl-core/Pod-Parser         1.630.0       
pod2usage podchecker podselect
+       src_remove_dual      perl-core/Pod-Perldoc        3.250.200_rc  perldoc
+       src_remove_dual      perl-core/Test-Harness       3.360.0       prove
+       src_remove_dual      perl-core/podlators          4.70.0        pod2man 
pod2text
+       src_remove_dual_man  perl-core/podlators          4.70.0        
/usr/share/man/man1/perlpodstyle.1
+}
+
+# eblit-include [--skip] <function> [version]
+eblit-include() {
+       local skipable=false
+       [[ $1 == "--skip" ]] && skipable=true && shift
+       [[ $1 == pkg_* ]] && skipable=true
+
+       local e v func=$1 ver=$2
+       [[ -z ${func} ]] && die "Usage: eblit-include <function> [version]"
+       for v in ${ver:+-}${ver} -${PVR} -${PV} "" ; do
+               e="${FILESDIR}/eblits/${func}${v}.eblit"
+               if [[ -e ${e} ]] ; then
+                       . "${e}"
+                       return 0
+               fi
+       done
+       ${skipable} && return 0
+       die "Could not locate requested eblit '${func}' in ${FILESDIR}/eblits/"
+}
+
+# eblit-run-maybe <function>
+# run the specified function if it is defined
+eblit-run-maybe() {
+       [[ $(type -t "$@") == "function" ]] && "$@"
+}
+
+# eblit-run <function> [version]
+# aka: src_unpack() { eblit-run src_unpack ; }
+eblit-run() {
+       eblit-include --skip common "${*:2}"
+       eblit-include "$@"
+       eblit-run-maybe eblit-$1-pre
+       eblit-${PN}-$1
+       eblit-run-maybe eblit-$1-post
+}
+
+src_prepare()  { eblit-run src_prepare   v50240001 ; }
+
+src_configure()        { eblit-run src_configure v50240002 ; }
+
+#src_compile() { eblit-run src_compile   v50160001 ; }
+
+src_test()             {
+       export NO_GENTOO_NETWORK_TESTS=1;
+       eblit-run src_test      v50160001 ;
+}
+
+src_install()  { eblit-run src_install   v50240001 ; }
+
+# FILESDIR might not be available during binpkg install
+# FIXME: version passing
+for x in setup {pre,post}{inst,rm} ; do
+       e="${FILESDIR}/eblits/pkg_${x}-v50240001.eblit"
+       if [[ -e ${e} ]] ; then
+               . "${e}"
+               eval "pkg_${x}() { eblit-run pkg_${x} v50240001 ; }"
+       fi
+done

Reply via email to