dev-lang/perl: Version bump to 5.24.0
authorAndreas K. Hüttel <dilfridge@gentoo.org>
Thu, 5 May 2016 22:32:10 +0000 (00:32 +0200)
committerAndreas K. Hüttel <dilfridge@gentoo.org>
Sat, 14 May 2016 23:33:59 +0000 (01:33 +0200)
Package-Manager: portage-2.2.28

dev-lang/perl/Manifest
dev-lang/perl/files/eblits/src_prepare-v50240001.eblit [new file with mode: 0644]
dev-lang/perl/perl-5.24.0.ebuild [new file with mode: 0644]

index b82fd8c83806da40ffdd7571a47727483ece0a8f..8477b89a0346058a6f807b6ca2a63ef3a2e0a53f 100644 (file)
@@ -7,3 +7,5 @@ DIST perl-5.22.1-patches-1.tar.xz 19920 SHA256 c128b4d1575f3bcf1952a1526b5725fab
 DIST perl-5.22.1.tar.bz2 13696599 SHA256 e98e4075a3167fa40524abe447c30bcca10c60e02a54ee1361eff278947a1221 SHA512 4da26b1d3d8525c58677abd2c5c354ccaa4b1b260ebe7dfe379d51a5da00ac7ae06cb668011faac2aaf56229fd22b275c13a74c8c9dbc59cc155a36c0e7e8355 WHIRLPOOL 03d8a050421f1f1899ad8b195d61d0cc55ce061b39ab4dab41b0fbb079a4871d76e968943b83e8165f2f4d1fa42bc87e1c6780aeae1ccc22a720115dfddf17cb
 DIST perl-5.22.2-patches-1.tar.xz 19920 SHA256 c128b4d1575f3bcf1952a1526b5725fabb6dcd779c7458a05a73aae51ecc1508 SHA512 2a0a74c935273ae3eafaebc6ed20c730a49f542433d899d51baaa3c3e7a291974fcef734d6320895811b4a6944c4e36b2a01400ed751a11c5d3edd6491bbf41b WHIRLPOOL 58888d5c3d35a217e9f61ee9f1406ea5383d192b0875dc736f124613056f71837d84346431127be3c56ae780394aa86cd18d9fad9740e7970e704beb5d2bf112
 DIST perl-5.22.2.tar.bz2 13717881 SHA256 f2322b9b04fe0cdbca9fe755360da04892cb6483d44959457cfebc0bcddc8058 SHA512 1acb77ead47955ef6e8d84903e86cb584ee9415742fb99eb2f1f30772087e8ed0def5f643ce4ee7693df5a1dfe154b108aa85df232d81107f98820bb84a0d71a WHIRLPOOL bdfd1035728619abafeb679cdd3181269a91fad5c30f4995e91d5ae16cb65210ce2c4c47afe85eb192ebde88c0bbc4cd0ed77939acdfd09760b11b57eeace2a6
+DIST perl-5.24.0-patches-1.tar.xz 17320 SHA256 7be09434e7d73f47be3d1d9f6e6f72f5e705a7b5cfbef07ee9b8b53b2a08ef14 SHA512 430c06d6298cbd5eb8b7db9947ca288fcd747e19652285278ac2a84c90cdf756463505c50e7bd97fbd98bb45119dc898d94c4fb7af50bb57d9c2b959cba0d944 WHIRLPOOL b1f3cf64af35cb9364563ede25d700ff6b0ebaa93f978b7d65a2085498cce0d20d527e00e0a2b17a3d7dc9ef81d85e68985ec0ec00560e9696a8eb3ee61f0383
+DIST perl-5.24.0.tar.bz2 14155784 SHA256 62328a53d157e8153b33e137594155f6f8b64418f7f9238210feb809585290e0 SHA512 05ecc6774da475d14f426a850be7adf754fcb17a2fa85a67aeaf8ddb9c86ae8b1ee654e803ebae5ccdaa73ad3e35188e3254ac9452b47cd4f8ffe47e67d15f53 WHIRLPOOL 84c98ddb19a5c6d32f40b427ba1f82656f88cfe5b7d3f416fb92579436890af52299f05301a81692dfdae65594b1866081e1fee067623256d796855d87d532ad
diff --git a/dev-lang/perl/files/eblits/src_prepare-v50240001.eblit b/dev-lang/perl/files/eblits/src_prepare-v50240001.eblit
new file mode 100644 (file)
index 0000000..5387d4b
--- /dev/null
@@ -0,0 +1,72 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+src_prepare_update_patchlevel_h() {
+       # Copied and modified from debian:
+       # Copyright 2011 Niko Tyni
+       # This program is free software; you can redistribute it and/or modify
+       # it under the same terms as Perl itself.
+       local patchdir="${WORKDIR}/patches"
+       local prefix
+
+       [[ -f ${patchdir}/series ]] || return 0
+
+while read patch
+do
+       patchname=$(echo $patch | sed 's/\.diff$//')
+       < $patchdir/$patch sed -e '/^Subject:/ { N; s/\n / / }' | sed -n -e '
+
+       # massage the patch headers
+       s|^Bug: .*https\?://rt\.perl\.org/.*id=\(.*\).*|[perl #\1]|; tprepend;
+       s|^Bug: .*https\?://rt\.cpan\.org/.*id=\(.*\).*|[rt.cpan.org #\1]|; tprepend;
+       s|^Bug-Gentoo: ||; tprepend;
+       s/^\(Subject\|Description\): //; tappend;
+       s|^Origin: .*http://perl5\.git\.perl\.org/perl\.git/commit\(diff\)\?/\(.......\).*|[\2]|; tprepend;
+
+       # post-process at the end of input
+       $ { x;
+               # include the version number in the patchlevel.h description (if available)
+               s/List packaged patches/&'" for ${PF}(#${PATCH_VER})"'/;
+
+               # escape any backslashes and double quotes
+               s|\\|\\\\|g; s|"|\\"|g;
+
+               # add a prefix
+               s|^|\t,"'"$prefix$patchname"' - |;
+               # newlines away
+               s/\n/ /g; s/  */ /g;
+               # add a suffix
+               s/ *$/"/; p
+       };
+       # stop all processing
+       d;
+       # label: append to the hold space
+       :append H; d;
+       # label: prepend to the hold space
+       :prepend x; H; d;
+       '
+done < "${WORKDIR}"/patches/series > "${S}"/patchlevel-gentoo.h
+}
+
+eblit-perl-src_prepare() {
+       local patch
+       EPATCH_OPTS+=" -p1"
+       einfo "Applying patches from ${MY_P}-${PATCH_VER} ..."
+       while read patch ; do
+               EPATCH_SINGLE_MSG="  ${patch} ..."
+               epatch "${WORKDIR}"/patches/${patch}
+       done < "${WORKDIR}"/patches/series
+
+       src_prepare_update_patchlevel_h
+
+       # pod/perltoc.pod fails
+       # lib/ExtUtils/t/Embed.t fails
+       if ! tc-is-static-only ; then
+               ln -s ${LIBPERL} libperl$(get_libname ${SHORT_PV}) || die
+               ln -s ${LIBPERL} libperl$(get_libname ) || die
+       fi
+
+       default
+}
+
diff --git a/dev-lang/perl/perl-5.24.0.ebuild b/dev-lang/perl/perl-5.24.0.ebuild
new file mode 100644 (file)
index 0000000..bb88aec
--- /dev/null
@@ -0,0 +1,126 @@
+# Copyright 1999-2015 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     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     perldoc
+       src_remove_dual      perl-core/Test-Harness       3.350.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 v50180002 ; }
+
+#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   v50200001 ; }
+
+# 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}-v50220001.eblit"
+       if [[ -e ${e} ]] ; then
+               . "${e}"
+               eval "pkg_${x}() { eblit-run pkg_${x} v50160001 ; }"
+       fi
+done