From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <gentoo-commits+bounces-1529594-garchives=archives.gentoo.org@lists.gentoo.org>
Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (2048 bits))
	(No client certificate requested)
	by finch.gentoo.org (Postfix) with ESMTPS id D182D158009
	for <garchives@archives.gentoo.org>; Sat, 17 Jun 2023 10:16:15 +0000 (UTC)
Received: from pigeon.gentoo.org (localhost [127.0.0.1])
	by pigeon.gentoo.org (Postfix) with SMTP id D5BAEE091B;
	Sat, 17 Jun 2023 10:16:14 +0000 (UTC)
Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits))
	(No client certificate requested)
	by pigeon.gentoo.org (Postfix) with ESMTPS id 9DEBAE091B
	for <gentoo-commits@lists.gentoo.org>; Sat, 17 Jun 2023 10:16:14 +0000 (UTC)
Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits))
	(No client certificate requested)
	by smtp.gentoo.org (Postfix) with ESMTPS id 253D4340E6C
	for <gentoo-commits@lists.gentoo.org>; Sat, 17 Jun 2023 10:16:13 +0000 (UTC)
Received: from localhost.localdomain (localhost [IPv6:::1])
	by oystercatcher.gentoo.org (Postfix) with ESMTP id 60217A96
	for <gentoo-commits@lists.gentoo.org>; Sat, 17 Jun 2023 10:16:11 +0000 (UTC)
From: "Andreas K. Hüttel" <dilfridge@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Content-Transfer-Encoding: 8bit
Content-type: text/plain; charset=UTF-8
Reply-To: gentoo-dev@lists.gentoo.org, "Andreas K. Hüttel" <dilfridge@gentoo.org>
Message-ID: <1686996951.8af6b420c23f7568f7b9ca74af2096fc07837c60.dilfridge@gentoo>
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-lang/perl/
X-VCS-Repository: repo/gentoo
X-VCS-Files: dev-lang/perl/Manifest dev-lang/perl/perl-5.38.0_rc0.ebuild
X-VCS-Directories: dev-lang/perl/
X-VCS-Committer: dilfridge
X-VCS-Committer-Name: Andreas K. Hüttel
X-VCS-Revision: 8af6b420c23f7568f7b9ca74af2096fc07837c60
X-VCS-Branch: master
Date: Sat, 17 Jun 2023 10:16:11 +0000 (UTC)
Precedence: bulk
List-Post: <mailto:gentoo-commits@lists.gentoo.org>
List-Help: <mailto:gentoo-commits+help@lists.gentoo.org>
List-Unsubscribe: <mailto:gentoo-commits+unsubscribe@lists.gentoo.org>
List-Subscribe: <mailto:gentoo-commits+subscribe@lists.gentoo.org>
List-Id: Gentoo Linux mail <gentoo-commits.gentoo.org>
X-BeenThere: gentoo-commits@lists.gentoo.org
X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply
X-Archives-Salt: beefa337-7286-4175-92c9-dd98c2e6b1c0
X-Archives-Hash: 5ea14323a1f1695eb969be795b57811d

commit:     8af6b420c23f7568f7b9ca74af2096fc07837c60
Author:     Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 17 09:45:20 2023 +0000
Commit:     Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
CommitDate: Sat Jun 17 10:15:51 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8af6b420

dev-lang/perl: drop 5.38.0_rc0

Signed-off-by: Andreas K. Hüttel <dilfridge <AT> gentoo.org>

 dev-lang/perl/Manifest               |   1 -
 dev-lang/perl/perl-5.38.0_rc0.ebuild | 822 -----------------------------------
 2 files changed, 823 deletions(-)

diff --git a/dev-lang/perl/Manifest b/dev-lang/perl/Manifest
index 4bd772a43bbb..24598dc5b84a 100644
--- a/dev-lang/perl/Manifest
+++ b/dev-lang/perl/Manifest
@@ -5,7 +5,6 @@ DIST perl-5.34.1.tar.xz 12760168 BLAKE2B 3768e55f66551c83295153e91d25d568b7b8638
 DIST perl-5.36.0-patches-1.tar.xz 20352 BLAKE2B f5413c75c5bbced230ad7fa692998caef8e4041f3394ae5212dc2aaee465de619b56cf07551be1bb36f2e06b9ed7d0ddda31ad4a7ec81d5c0c64b698ddd80379 SHA512 ab24577b6d71a13d9ccf272efa0881b29933b6a39532ca0d71d4c9a134f451bbe5f3d87c6c851f26114702ac3f92af5c5a72129a458ebee31e372106955eb157
 DIST perl-5.36.0.tar.xz 13051500 BLAKE2B e4864a4c21e5242df4164c73db8af10f7b9c36b075e0c05777abec79716db7778ccbf2c0c9e7e749518ad310019d2a6b32bd8b5ab2af5a8b16b5d920f83d034f SHA512 6dd6ac2a77566c173c5ab9c238cf555f2c3e592e89abb5600bc23ce1cbd0c349e0233f6417cbbf1f6d0aefc6a734ba491285af0d3dc68a605b658b65c89f1dab
 DIST perl-5.36.1.tar.xz 13053604 BLAKE2B baab610d16e444338ad7d529bad6a88e12010786bd25f2ab117ab4dd636859ff862cb925700095434f05a802bea5b89a9d41769f26bdbae439443020950882bd SHA512 8d1ec654c59d078bfc477f11c9526233199a85e4d4f6f5a55bf9eb7802cd355189c669cc6785d2d5e741c1de4d740b7a0cfd3c0198122586a07ac7f527fb14af
-DIST perl-5.38.0-RC0.tar.gz 21163691 BLAKE2B 11f335e5811abf2d0a756414451889636969b442e1b030378b1fa1307fa4788aa0e1810ed6e01b9b9dc6829344d08246ac878104be69dfc3b29c8d9eca6a6d99 SHA512 189522d889eb3c14d3a1769c69ad1cf46a48b61a9dc67fd6b5426be45378d43217a80c69013240d67197db0281fa9d6ffe42768e057a859c97f7084420e66f72
 DIST perl-5.38.0-RC1.tar.xz 13570400 BLAKE2B a08f5ab6d1d8cf4572929b6e47834cf3e17dec33e8e41916f5a9f3524281493f369b75054ef7232b777b9b162635e4ee7864d8fd4f97de542b3d9704ba526af2 SHA512 1bd17db43e5b25fdcd8f0addd53820371f78173fe2bf6ca12de06589ecb296314e996cfa37357f656a694cf56504b85e7d7aef4f8cd367edb64653951b7a2efd
 DIST perl-5.38.0-patches-1.tar.gz 26047 BLAKE2B 809dd5242f9868e54525ae8056598d3252c889afc72ed6f122174f828947223399a5ba4dbc16dd43501f7138205991f8c102cbe0ed94175ae3353040c53a0162 SHA512 c66160e20095555aa21d3be70050dce934d62e55e01dcf0f716129b2faa390923958a48bc448b4fab6f55e5b097eb378f7a6409a92c024fe68c8b34fddcfc5e4
 DIST perl-cross-1.3.7.tar.gz 118291 BLAKE2B dc9c060857d6905c817e91c3f5b1f546b76e02c6de02dc260185e0de8628a5ead3a557501da75549e2585cd30879190558740e697b1c78a69fa08ccb5649efcd SHA512 1111274f34f8b46e9f418883e9b1652ba4a5a9b4a5880a9a5b38bc8aeb5d75a9f4943233870f5ebf5fbcdc0c30b2983ace11ad051b55d3283327d8f2c15e172c

diff --git a/dev-lang/perl/perl-5.38.0_rc0.ebuild b/dev-lang/perl/perl-5.38.0_rc0.ebuild
deleted file mode 100644
index 9494bd8d645a..000000000000
--- a/dev-lang/perl/perl-5.38.0_rc0.ebuild
+++ /dev/null
@@ -1,822 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit alternatives flag-o-matic toolchain-funcs multilib multiprocessing
-
-PATCH_VER=1
-CROSS_VER=1.4.1
-PATCH_BASE="perl-5.38.0-patches-${PATCH_VER}"
-PATCH_DEV=dilfridge
-
-DIST_AUTHOR=RJBS
-
-# Greatest first, don't include yourself
-# Devel point-releases are not ABI-intercompatible, but stable point releases are
-# BIN_OLDVERSEN contains only C-ABI-intercompatible versions
-PERL_BIN_OLDVERSEN=""
-
-if [[ "${PV##*.}" == "9999" ]]; then
-	DIST_VERSION=5.30.0
-else
-	DIST_VERSION="${PV/_rc/-RC}"
-fi
-SHORT_PV="${DIST_VERSION%.*}"
-
-# Even numbered major versions are ABI intercompatible
-# Odd numbered major versions are not
-if [[ $(( ${SHORT_PV#*.} % 2 )) == 1 ]]; then
-	SUBSLOT="${DIST_VERSION%-RC*}"
-else
-	SUBSLOT="${DIST_VERSION%.*}"
-fi
-
-# Used only in tar paths
-MY_P="perl-${DIST_VERSION}"
-# Used in library paths
-MY_PV="${DIST_VERSION%-RC*}"
-
-DESCRIPTION="Larry Wall's Practical Extraction and Report Language"
-
-#	mirror://cpan/src/5.0/${MY_P}.tar.xz
-#	mirror://cpan/authors/id/${DIST_AUTHOR:0:1}/${DIST_AUTHOR:0:2}/${DIST_AUTHOR}/${MY_P}.tar.xz
-SRC_URI="
-	https://github.com/gentoo-perl/perl-patchset/archive/refs/tags/${PATCH_BASE}.tar.gz
-	https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${PATCH_BASE}.tar.gz
-	https://github.com/arsv/perl-cross/releases/download/${CROSS_VER}/perl-cross-${CROSS_VER}.tar.gz
-	https://semiotic.systems/perl-5.38.0-RC0.tar.gz
-"
-
-HOMEPAGE="https://www.perl.org/"
-
-LICENSE="|| ( Artistic GPL-1+ )"
-SLOT="0/${SUBSLOT}"
-
-if [[ "${PV##*.}" != "9999" ]] && [[ "${PV/rc//}" == "${PV}" ]] ; then
-	KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-fi
-
-IUSE="berkdb debug doc gdbm ithreads minimal quadmath"
-
-RDEPEND="
-	berkdb? ( sys-libs/db:= )
-	gdbm? ( >=sys-libs/gdbm-1.8.3:= )
-	app-arch/bzip2
-	>=sys-libs/zlib-1.2.12
-	virtual/libcrypt:=
-"
-DEPEND="${RDEPEND}"
-BDEPEND="${RDEPEND}"
-
-PDEPEND="
-	!minimal? (
-		>=app-admin/perl-cleaner-2.5
-		>=virtual/perl-CPAN-2.290.0
-		>=virtual/perl-Encode-3.120.0
-		>=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.400.0       ptar ptardiff ptargrep
-	src_remove_dual      perl-core/CPAN               2.360.0       cpan
-	src_remove_dual      perl-core/Digest-SHA         6.40.0        shasum
-	src_remove_dual      perl-core/Encode             3.190.0       enc2xs piconv
-	src_remove_dual      perl-core/ExtUtils-MakeMaker 7.700.0       instmodsh
-	src_remove_dual      perl-core/ExtUtils-ParseXS   3.510.0       xsubpp
-	src_remove_dual      perl-core/IO-Compress        2.204.0       zipdetails
-	src_remove_dual      perl-core/JSON-PP            4.160.0        json_pp
-	src_remove_dual      perl-core/Module-CoreList    5.202.305.200 corelist
-	src_remove_dual      perl-core/Pod-Checker        1.750.0       podchecker
-	src_remove_dual      perl-core/Pod-Perldoc        3.280.100     perldoc
-	src_remove_dual      perl-core/Pod-Usage          2.30.0       pod2usage
-	src_remove_dual      perl-core/Test-Harness       3.440.0       prove
-	src_remove_dual      perl-core/podlators          5.10.0       pod2man pod2text
-	src_remove_dual_man  perl-core/podlators          5.10.0       /usr/share/man/man1/perlpodstyle.1
-}
-
-check_rebuild() {
-	# Fresh install
-	if [[ -z "${REPLACING_VERSIONS}" ]]; then
-		return 0;
-	# Major Upgrade
-	# doesn't matter if there's multiple copies, it still needs a rebuild
-	# if the string is anything other than "5.CURRENTMAJOR"
-	elif [[ "${REPLACING_VERSIONS%.*}" != "${PV%.*}" ]]; then
-		echo ""
-		ewarn "UPDATE THE PERL MODULES:"
-		ewarn "After updating dev-lang/perl the installed Perl modules"
-		ewarn "have to be re-installed. In most cases, this is done automatically"
-		ewarn "by the package manager, but subsequent steps are still recommended"
-		ewarn "to ensure system consistency."
-		ewarn
-		ewarn "You should start with a depclean to remove any unused perl dependencies"
-		ewarn "that may confuse portage in future. Regular depcleans are also encouraged"
-		ewarn "as part of your regular update cycle, as that will keep perl upgrades working."
-		ewarn "Recommended: emerge --depclean -va"
-		ewarn
-		ewarn "You should then call perl-cleaner to clean up any old files and trigger any"
-		ewarn "remaining rebuilds portage may have missed."
-		ewarn "Use: perl-cleaner --all"
-		return 0;
-
-	# Reinstall w/ USE Change
-	elif
-		 (   use ithreads && ! has_version dev-lang/perl[ithreads] ) || \
-		 ( ! use ithreads &&   has_version dev-lang/perl[ithreads] ) || \
-		 (   use quadmath && ! has_version dev-lang/perl[quadmath] ) || \
-		 ( ! use quadmath &&   has_version dev-lang/perl[quadmath] ) || \
-		 (   use debug    && ! has_version dev-lang/perl[debug]    ) || \
-		 ( ! use debug    &&   has_version dev-lang/perl[debug]    ) ; then
-		echo ""
-		ewarn "TOGGLED USE-FLAGS WARNING:"
-		ewarn "You changed one of the use-flags ithreads, quadmath, or debug."
-		ewarn "You must rebuild all perl-modules installed."
-		ewarn "Use: perl-cleaner --modules ; perl-cleaner --force --libperl"
-	fi
-}
-
-pkg_setup() {
-	case ${CHOST} in
-		*-darwin*)    osname="darwin" ;;
-		*-solaris*)   osname="solaris" ;;
-		*)            osname="linux" ;;
-	esac
-
-	myarch="${CHOST%%-*}-${osname}"
-	if use debug ; then
-		myarch+="-debug"
-	fi
-	if use quadmath ; then
-		myarch+="-quadmath"
-	fi
-	if use ithreads ; then
-		mythreading="-multi"
-		myarch+="-thread"
-	fi
-
-	PRIV_BASE="/usr/$(get_libdir)/perl5"
-	SITE_BASE="/usr/local/$(get_libdir)/perl5"
-	VENDOR_BASE="/usr/$(get_libdir)/perl5/vendor_perl"
-
-	LIBPERL="libperl$(get_libname ${MY_PV} )"
-
-	PRIV_LIB="${PRIV_BASE}/${SUBSLOT}"
-	ARCH_LIB="${PRIV_BASE}/${SUBSLOT}/${myarch}${mythreading}"
-	SITE_LIB="${SITE_BASE}/${SUBSLOT}"
-	SITE_ARCH="${SITE_BASE}/${SUBSLOT}/${myarch}${mythreading}"
-	VENDOR_LIB="${VENDOR_BASE}/${SUBSLOT}"
-	VENDOR_ARCH="${VENDOR_BASE}/${SUBSLOT}/${myarch}${mythreading}"
-
-	dual_scripts
-}
-
-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
-}
-
-src_prepare_perlcross() {
-	cp -a ../perl-cross-${CROSS_VER}/* . || die
-
-	# bug 794463, needs further analysis what is exactly wrong here
-	eapply "${FILESDIR}/perl-5.34.0-crossfit.patch"
-
-	# bug 604072
-	MAKEOPTS+=" -j1"
-	export MAKEOPTS
-}
-
-src_prepare_dynamic() {
-	ln -s ${LIBPERL} libperl$(get_libname ${SHORT_PV}) || die
-	ln -s ${LIBPERL} libperl$(get_libname ) || die
-}
-
-# Copy a patch into the patch series
-# add_patch SRC_PATH DEST_NAME ['description'] ['bug'] ['bug']
-# - description is optional, but recommended
-# - all arguments after descriptions are bug URLs
-add_patch() {
-	local patchdir="${WORKDIR}/patches"
-	local infodir="${WORKDIR}/patch-info"
-	local src_name dest_name desc
-	src_name="$1"
-	dest_name="$2"
-	desc="$3"
-	shift; shift; shift;
-	einfo "Adding ${dest_name} to patch bundle"
-	cp "${src_name}" "${patchdir}/${dest_name}" || die "Couldn't copy ${src_name} to ${dest_name}"
-	if [[ -n "${desc}" ]]; then
-		printf "%s" "${desc}" > "${infodir}/${dest_name}.desc" || die "Couldn't write ${dest_name}.desc"
-	fi
-	if [[ $# -gt 0 ]]; then
-		# Note: when $@ is more than one element, this emits a
-		# line for each element
-		printf "%s\n" "$@" > "${infodir}/${dest_name}.bugs" || die "Couldn't write ${dest_name}.bugs"
-	fi
-}
-
-# Remove a patch using a glob expr
-# eg:
-#	 rm_patch *-darwin-Use-CC*
-#
-rm_patch() {
-	local patchdir="${WORKDIR}/patches"
-	local expr="$1"
-	local patch="$( cd "${patchdir}"; echo $expr )"
-	einfo "Removing $patch ($expr) from patch bundle"
-	if [[ -e "${patchdir}/${patch}" ]]; then
-		rm -f "${patchdir}/${patch}" || die "Can't remove ${patch} ( $expr )"
-	else
-		ewarn "No ${expr} found in ${patchdir} to remove"
-	fi
-}
-
-# Yes, this is a reasonable amount of code for something seemingly simple
-# but this is far easier to debug when things go wrong, and things went wrong
-# multiple times while I was getting the exact number of slashes right, which
-# requires circumnavigating both bash and sed escape mechanisms.
-c_escape_string() {
-	local slash dquote
-	slash='\'
-	dquote='"'
-	re_slash="${slash}${slash}"
-	re_dquote="${slash}${dquote}"
-
-	# Convert \ to \\,
-	#         " to \"
-	echo "$1" |\
-		sed "s|${re_slash}|${re_slash}${re_slash}|g" |\
-		sed "s|${re_dquote}|${re_slash}${re_dquote}|g"
-}
-c_escape_file() {
-	c_escape_string "$(cat "$1")"
-}
-
-apply_patchdir() {
-	local patchdir="${WORKDIR}/patches"
-	local infodir="${WORKDIR}/patch-info"
-	local patchoutput="patchlevel-gentoo.h"
-
-	# Inject Patch-Level info into description for patchlevel.h patch
-	# to show in -V
-	local patch_expr="*List-packaged-patches*"
-	local patch="$( cd "${patchdir}"; echo $patch_expr )";
-	einfo "Injecting patch-level info into ${patch}.desc ( $patch_expr )"
-
-	if [[ -e "${patchdir}/${patch}" ]]; then
-		printf "List packaged patches for %s(%s) in patchlevel.h" "${PF}" "${PATCH_BASE}"\
-			>"${infodir}/${patch}.desc" || die "Can't rewrite ${patch}.desc"
-	else
-		eerror "No $patch_expr found in ${patchdir}"
-	fi
-
-	# Compute patch list to apply
-	# different name other than PATCHES to stop default
-	# reapplying it
-	# Single depth is currently only supported, as artifacts can reside
-	# from the old layout being multiple-directories, as well as it grossly
-	# simplifying the patchlevel_gentoo.h generation.
-	local PERL_PATCHES=($(
-		find "${patchdir}" -maxdepth 1 -mindepth 1 -type f -printf "%f\n" |\
-			grep -E '[.](diff|patch)$' |\
-			sort -n
-	))
-
-	for patch in "${PERL_PATCHES[@]}"; do
-		eapply "${WORKDIR}"/patches/${patch}
-	done
-
-	einfo "Generating $patchoutput"
-
-	# This code creates a header file, each iteration
-	# creates one-or-more-lines for each entry found in PERL_PATCHES
-	# and STDOUT is redirected to the .h file
-	for patch in "${PERL_PATCHES[@]}"; do
-		local desc_f="${infodir}/${patch}.desc"
-		local bugs_f="${infodir}/${patch}.bugs"
-
-		printf ',"%s"\n' "${patch}"
-		if [[ ! -e "${desc_f}" ]]; then
-			ewarn "No description provided for ${patch} (expected: ${desc_f} )"
-		else
-			local desc="$(c_escape_file "${desc_f}")"
-			printf ',"- %s"\n' "${desc}"
-		fi
-		if [[ -e "${bugs_f}" ]]; then
-			while read -d $'\n' -r line; do
-				local esc_line="$(c_escape_string "${line}")"
-				printf ',"- Bug: %s"\n' "${esc_line}"
-			done <"${bugs_f}"
-		fi
-	done > "${S}/${patchoutput}"
-	printf "%s\n" "${patchoutput}" >> "${S}/MANIFEST"
-
-}
-
-src_prepare() {
-
-	local patchdir="${WORKDIR}/patches"
-
-	mv -v "${WORKDIR}/perl-patchset-${PATCH_BASE}/patches" "${WORKDIR}/patches" || die
-	mv -v "${WORKDIR}/perl-patchset-${PATCH_BASE}/patch-info" "${WORKDIR}/patch-info" || die
-
-	# Prepare Patch dir with additional patches / remove unwanted patches
-	# Inject bug/desc entries for perl -V
-	# Old example:
-	# add_patch "${FILESDIR}/${PN}-5.26.2-hppa.patch" "100-5.26.2-hppa.patch"\
-	#		"Fix broken miniperl on hppa"\
-	#		"https://bugs.debian.org/869122" "https://bugs.gentoo.org/634162"
-
-	add_patch "${FILESDIR}/${PN}-5.36.1-http-tiny.patch" "0111-5.36.1-http-tiny.patch"\
-			"Enable certificate checking in HTTP::Tiny by default"\
-			"https://bugs.gentoo.org/905296" "https://bugs.debian.org/954089"
-
-	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
-		rm_patch "*-nsl-and-cl*"
-	fi
-
-	apply_patchdir
-
-	tc-is-cross-compiler && src_prepare_perlcross
-
-	tc-is-static-only || src_prepare_dynamic
-
-	if use gdbm; then
-		sed -i "s:INC => .*:INC => \"-I${EROOT}/usr/include/gdbm\":g" \
-			ext/NDBM_File/Makefile.PL || die
-	fi
-
-	# Use errno.h from prefix rather than from host system, bug #645804
-	if use prefix && [[ -e "${EPREFIX}"/usr/include/errno.h ]] ; then
-		sed -i "/my..sysroot/s:'':'${EPREFIX}':" ext/Errno/Errno_pm.PL || die
-	fi
-
-	if [[ ${CHOST} == *-solaris* ]] ; then
-		# set a soname, fix linking against just built libperl
-		sed -i -e 's/netbsd\*/netbsd*|solaris*/' Makefile.SH || die
-	fi
-
-	if [[ ${CHOST} == *-darwin* ]] ; then
-		# fix install_name (soname) not to reference $D
-		sed -i -e '/install_name `pwd/s/`pwd`/\\$(shrpdir)/' Makefile.SH || die
-
-		# fix environ linkage absence (only a real issue on Darwin9)
-		if [[ ${CHOST##*-darwin} -le 9 ]] ; then
-			sed -i -e '/^PLDLFLAGS =/s/=/= -include crt_externs.h -Denviron="(*_NSGetEnviron())"/' \
-				Makefile.SH || die
-		fi
-	fi
-
-	default
-}
-
-myconf() {
-	# the myconf array is declared in src_configure
-	myconf=( "${myconf[@]}" "$@" )
-}
-
-# Outputs a list of versions which have been seen in any of the
-# primary perl @INC prefix paths, such as:
-#  /usr/lib64/perl5/<NUMBER>
-#  /usr/local/lib64/perl5/<NUMBER>
-#  /usr/lib64/perl5/vendor_perl/<NUMBER>
-#
-# All values of NUMBER must be like "5.x.y" or like "5.x"
-#
-find_candidate_inc_versions() {
-	local regex='.*/5[.][0-9]+\([.][0-9]+\|\)$'
-	local dirs=(
-		"${EROOT}${PRIV_BASE}"
-		"${EROOT}${SITE_BASE}"
-		"${EROOT}${VENDOR_BASE}"
-	)
-	for dir in "${dirs[@]}"; do
-		if [[ ! -e "${dir}" ]]; then
-			continue
-		fi
-		# Without access to readdir() on these dirs, find will not be able
-		# to reveal any @INC directories inside them, and will subsequently prune
-		# them from the built perl's @INC support, breaking our compatiblity options
-		# entirely.
-		if [[ ! -r "${dir}" || ! -x "${dir}" ]]; then
-			eerror "Bad permissions on ${dir}, this will probably break things"
-			eerror "Ensure ${dir} is +rx for at least uid=$EUID"
-			eerror "Recommended permission is +rx for all"
-			eerror "> chmod o+rx ${dir}"
-		fi
-	done
-	einfo "Scanning for old @INC dirs matching '$regex' in: ${dirs[*]}"
-	find "${dirs[@]}" -maxdepth 1 -mindepth 1 -type d -regex "${regex}" -printf "%f "  2>/dev/null
-}
-
-# Sort versions passed versiony-ly, remove self-version if present
-# dedup. Takes each version as an argument
-sanitize_inc_versions() {
-	local vexclude="${SUBSLOT}"
-	einfo "Normalizing/Sorting candidate list: $*"
-	einfo " to remove '${vexclude}'"
-	# Note, general numeric sort has to be used
-	# for the last component, or unique will convert
-	#  5.30.0 + 5.30 into just 5.30
-	printf "%s\n" "$@" |\
-		grep -vxF "${vexclude}" |\
-		sort -u -nr -t'.' -k1,1rn -k2,2rn -k3,3rg
-}
-
-versions_to_inclist() {
-	local oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}"
-
-	for v;	do
-			has "${v}" ${oldv} && echo -n "${v}/${myarch}${mythreading}/ ";
-			echo -n "${v}/ ";
-	done
-}
-
-versions_to_gentoolibdirs() {
-	local oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}"
-	local root
-	local v
-	for v;	do
-		for root in "${PRIV_BASE}" "${VENDOR_BASE}" "${SITE_BASE}"; do
-			local fullpath="${EROOT}${root}/${v}"
-			if [[ -e "${fullpath}" ]]; then
-				has "${v}" ${oldv} && printf "%s:" "${fullpath}/${myarch}${mythreading}";
-				printf "%s:" "${fullpath}"
-			fi
-		done
-	done
-}
-
-src_configure() {
-	declare -a myconf
-
-	export LC_ALL="C"
-	[[ ${COLUMNS:-1} -ge 1 ]] || unset COLUMNS # bug #394091
-
-	# Perl has problems compiling with -Os in your flags with glibc
-	replace-flags "-Os" "-O2"
-
-	# xlocale.h is going away in glibc-2.26, so it's counterproductive
-	# if we use it and include it in CORE/perl.h ... Perl builds just
-	# fine with glibc and locale.h only.
-	# However, the darwin prefix people have no locale.h ...
-	use elibc_glibc && myconf -Ui_xlocale
-
-	# This flag makes compiling crash in interesting ways
-	filter-flags "-malign-double"
-
-	# Generic LTO broken since 5.28, triggers EUMM failures
-	filter-flags "-flto"
-
-	use sparc && myconf -Ud_longdbl
-
-	export BUILD_BZIP2=0
-	export BZIP2_INCLUDE=${EROOT}/usr/include
-	export BZIP2_LIB=${EROOT}/usr/$(get_libdir)
-
-	export BUILD_ZLIB=False
-	export ZLIB_INCLUDE=${EROOT}/usr/include
-	export ZLIB_LIB=${EROOT}/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'
-		if use berkdb ; then
-			myndbm='D'
-		fi
-	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
-
-	use quadmath && myconf -Dusequadmath
-
-	if use debug ; then
-		append-cflags "-g"
-		myconf -DDEBUGGING
-	elif [[ ${CFLAGS} == *-g* ]] ; then
-		myconf -DDEBUGGING=-g
-	else
-		myconf -DDEBUGGING=none
-	fi
-
-	# modifying 'optimize' prevents cross configure script from appending required flags
-	if tc-is-cross-compiler; then
-		append-cflags "-fwrapv"
-	fi
-
-	# bug #877659, bug #821577
-	append-cflags -fno-strict-aliasing
-
-	# Autodiscover all old version directories, some of them will even be newer
-	# if you downgrade
-	if [[ -z ${PERL_OLDVERSEN} ]]; then
-		PERL_OLDVERSEN="$( find_candidate_inc_versions )"
-	fi
-
-	# Fixup versions, removing self match, fixing order and dupes
-	PERL_OLDVERSEN="$( sanitize_inc_versions ${PERL_OLDVERSEN} )"
-
-	# Experts who want a "Pure" install can set PERL_OLDVERSEN to an empty string
-	if [[ -n "${PERL_OLDVERSEN// }" ]]; then
-		local inclist="$( versions_to_inclist ${PERL_OLDVERSEN} )"
-		einfo "This version of perl may partially support modules previously"
-		einfo "installed in any of the following paths:"
-		for incpath in ${inclist}; do
-			[[ -e "${EROOT}${VENDOR_BASE}/${incpath}" ]] && einfo " ${EROOT}${VENDOR_BASE}/${incpath}"
-			[[ -e "${EROOT}${PRIV_BASE}/${incpath}"   ]] && einfo " ${EROOT}${PRIV_BASE}/${incpath}"
-			[[ -e "${EROOT}${SITE_BASE}/${incpath}"   ]] && einfo " ${EROOT}${SITE_BASE}/${incpath}"
-		done
-		einfo "This is a temporary measure and you should aim to cleanup these paths"
-		einfo "via world updates and perl-cleaner"
-		# myconf -Dinc_version_list="${inclist}"
-		myconf -Dgentoolibdirs="$( versions_to_gentoolibdirs ${PERL_OLDVERSEN} )"
-	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)"
-
-	# Older macOS with non-Apple GCC chokes on inline in system headers
-	# using c89 mode as injected by cflags.SH, in addition, we override
-	# cflags, so we loose PERL_DARWIN which enables compat code that
-	# apparently on more recent macOS releases is no longer necessary
-	[[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] && tc-is-gcc && \
-		append-cflags -Dinline=__inline__ -DPERL_DARWIN
-
-	# 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}"
-
-	[[ "${PV##*.}" == "9999" ]] && myconf -Dusedevel -Uversiononly
-
-	[[ -n "${EXTRA_ECONF}" ]] && ewarn During Perl build, EXTRA_ECONF=${EXTRA_ECONF}
-	# allow fiddling via EXTRA_ECONF, bug 558070
-	eval "local -a EXTRA_ECONF=(${EXTRA_ECONF})"
-
-	# setting -Dld= to tc-getLD breaks perl and all perl things
-	# https://github.com/Perl/perl5/issues/17791#issuecomment-630145202
-	myconf \
-		-Duseshrplib \
-		-Darchname="${myarch}" \
-		-Dcc="$(tc-getCC)" \
-		-Dar="$(tc-getAR)" \
-		-Dnm="$(tc-getNM)" \
-		-Dcpp="$(tc-getCPP)" \
-		-Dranlib="$(tc-getRANLIB)" \
-		-Accflags="${CFLAGS} -DNO_PERL_RAND_SEED" \
-		-Doptimize="${CFLAGS}" \
-		-Dldflags="${LDFLAGS}" \
-		-Dprefix="${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' \
-		-Ud_csh \
-		-Dsh="${EPREFIX}"/bin/sh \
-		-Dtargetsh="${EPREFIX}"/bin/sh \
-		-Uusenm \
-		"${EXTRA_ECONF[@]}"
-
-	if tc-is-cross-compiler; then
-		./configure \
-			--target="${CHOST}" \
-			--build="${CBUILD}" \
-			-Dinstallprefix='' \
-			-Dinstallusrbinperl='undef' \
-			-Dusevendorprefix='define' \
-			"${myconf[@]}" \
-			|| die "Unable to configure"
-	else
-		sh Configure \
-			-des \
-			-Dinstallprefix="${EPREFIX}"'/usr' \
-			-Dinstallusrbinperl='n' \
-			"${myconf[@]}" \
-			|| die "Unable to configure"
-	fi
-}
-
-src_test() {
-	export NO_GENTOO_NETWORK_TESTS=1;
-	export GENTOO_ASSUME_SANDBOXED="${GENTOO_ASSUME_SANDBOXED:-1}"
-	export GENTOO_NO_PORTING_TESTS="${GENTOO_NO_PORTING_TESTS:-1}"
-	if [[ ${EUID} == 0 ]] ; then
-		ewarn "Test fails with a sandbox error (#328793) if run as root. Skipping tests..."
-		return 0
-	fi
-	TEST_JOBS="$(makeopts_jobs)" make test_harness || die "test failed"
-}
-
-src_install() {
-	local i
-	local coredir="${ARCH_LIB}/CORE"
-
-	emake DESTDIR="${D}" install
-
-	rm -f "${ED}/usr/bin/perl${MY_PV}"
-	ln -s perl "${ED}"/usr/bin/perl${MY_PV} || die
-
-	if ! tc-is-static-only ; then
-		dolib.so "${ED}"${coredir}/${LIBPERL}
-		rm -f "${ED}"${coredir}/${LIBPERL}
-		ln -sf ${LIBPERL} "${ED}"/usr/$(get_libdir)/libperl$(get_libname ${SHORT_PV}) || die
-		ln -sf ${LIBPERL} "${ED}"/usr/$(get_libdir)/libperl$(get_libname) || die
-
-		ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/${LIBPERL} || die
-		ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/libperl$(get_libname ${SHORT_PV}) || die
-		ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/libperl$(get_libname) || die
-	fi
-
-	rm -rf "${ED}"/usr/share/man/man3 || die "Unable to remove module man pages"
-
-	# This removes ${D} from Config.pm
-	for i in $(find "${D}" -iname "Config.pm" ) ; do
-		einfo "Removing ${D} from ${i}..."
-		sed -i -e "s:${D}::" "${i}" || die "Sed failed"
-	done
-
-	dodoc Changes* README AUTHORS
-
-	if use doc ; then
-		# HTML Documentation
-		# We expect errors, warnings, and such with the following.
-
-		dodir /usr/share/doc/${PF}/html
-		LD_LIBRARY_PATH=. ./perl installhtml \
-			--podroot='.' \
-			--podpath='lib:ext:pod:vms' \
-			--recurse \
-			--htmldir="${ED}/usr/share/doc/${PF}/html"
-	fi
-
-	[[ -d ${ED}/usr/local ]] && rm -r "${ED}"/usr/local
-
-	dual_scripts
-}
-
-pkg_preinst() {
-	check_rebuild
-}
-
-pkg_postinst() {
-	dual_scripts
-
-	if [[ -z "${ROOT}" ]] ; then
-		local INC DIR file
-		INC=$(perl -e 'for $line (@INC) { next if $line eq "."; next if $line =~ m/'${SHORT_PV}'|etc|local|perl$/; print "$line\n" }')
-		einfo "Removing old .ph files"
-		for DIR in ${INC} ; do
-			if [[ -d "${DIR}" ]] ; then
-				for file in $(find "${DIR}" -name "*.ph" -type f ) ; do
-					rm -f "${file}"
-					einfo "<< ${file}"
-				done
-			fi
-		done
-		# Silently remove the now empty dirs
-		for DIR in ${INC} ; do
-			if [[ -d "${DIR}" ]] ; then
-				find "${DIR}" -depth -type d -print0 | xargs -0 -r rmdir &> /dev/null
-			fi
-		done
-
-	fi
-}
-
-pkg_postrm() {
-	dual_scripts
-}