diff options
Diffstat (limited to 'dev-lang/perl')
-rw-r--r-- | dev-lang/perl/Manifest | 2 | ||||
-rw-r--r-- | dev-lang/perl/perl-5.34.0-r5.ebuild (renamed from dev-lang/perl/perl-5.34.0-r2.ebuild) | 74 |
2 files changed, 30 insertions, 46 deletions
diff --git a/dev-lang/perl/Manifest b/dev-lang/perl/Manifest index 8f62de3d0bd9..ec934b25bf7b 100644 --- a/dev-lang/perl/Manifest +++ b/dev-lang/perl/Manifest @@ -3,6 +3,6 @@ AUX perl-5.34.0-gdbm-1.20.patch 1627 BLAKE2B 9cbe976f43134022aab2aca203ee6590af5 DIST perl-5.34.0-patches-1.tar.xz 20360 BLAKE2B e60074c49f357d4841708f58b5165a44201783238ff33ee81580bb83ba07d3d2dda447edd30a71ce8c9bafe5e5e0235b68e31a79081c3482bdd589231f0e898e SHA512 909e1fb22cda4ca769b51645b51a64df81b92210cfee388ac57834406bc13e404f0a1e6bad0888fafc73fc34b7fb224801fd02e87fb4c2f9145482ad74374e7b DIST perl-5.34.0.tar.xz 12881416 BLAKE2B 4139e77fbb38b2b72671c0b130233cf5ed35112bbba3301b8ed724739c7ff96b041752aa505b938e257ef6ebf98a9b6dad1858e00f756c841a0520688d974e9a SHA512 691b4b31eacec357191fba777612b4e3eae59e946a22998a50766697c0d61db1d42a9b3bc1e41abf0d1ca1893e4a7c06d7bf3290480cf03d7f79befd7a8a3267 DIST perl-cross-1.3.6.tar.gz 110210 BLAKE2B 39074d6f4a526f59de2b1c40432936552e625a5a4e44fbb7ce3c1c3828b12c5298d1ab49b7d34ea92e2a4c8c88f8bbef8cc0c582a3fbbed975cf46d331e89c08 SHA512 d394fbd75d890442aa599eae8893a26540c8b7af966583ad1c3213c3fe0e074415cfed8814de8f397830833fd78267bdc55adc5267168198f269634c2ef3b982 -EBUILD perl-5.34.0-r2.ebuild 25961 BLAKE2B 52db67be3b652189eb95a96b9949cffcccaf3d518850e2874daf51407c3904076ff69f57508888c4cb82d2a6bb412717b81878bf5a89e1ab5e9e6ab327620547 SHA512 7f694dc10ae960869dab2b74464b0804f4b5ca197c59a914ed674a185fcfc434a363ff48bb9bea67a4b02bcd4ed134d39cf0e8700a17515d63d049d6ab9fd089 EBUILD perl-5.34.0-r3.ebuild 26141 BLAKE2B 9eb33f6777b266b9a617a06d14b89ec29ca7e3a0a3596d5955f1b5f9e10a05db45eb2883b782329317065f2e92fee4378e75faebcbf49ad83d13f7714d036dcd SHA512 f0a140c3536192d0198e54b7d2f7b2316eae2b065627fe96df8949d97e0e61c37406e0cac7c827a58002251235c2b21f75d5b32f4cdf874596e6ec0fcbbe7295 +EBUILD perl-5.34.0-r5.ebuild 25106 BLAKE2B 73339ffa2881382ce7f451d91fc100e7a6911976875cf794ce439240ed2078203eac584115dde60ec4cd491591c6528a5f027607945693cb224ee52d61dd9921 SHA512 de18aaefb19ce785b5fbd42ff96eb3d6c6892cbfcef04d76a241abbe1f68f7d9d36bdadacc18443ce924fa22d9b2d57c0551dfdc9d3efa3ce72f53753eeabbeb MISC metadata.xml 431 BLAKE2B 89471506c7b258c1806338a5850ee9337f48b8e7497a3cad8b1e8bf18811152071d416732e0267e7d0c13386097990d1ca12bb0051deb7cb70403ab2e9bdb367 SHA512 87d2a0c6a10f71b243b1e9a79306ed0d440a7f447d84fe37f2bd3c40c60e8749fd9d7e97ad482e286153587b57d7db5d6a8df7cef94f332de7175f053dc843e1 diff --git a/dev-lang/perl/perl-5.34.0-r2.ebuild b/dev-lang/perl/perl-5.34.0-r5.ebuild index 4c2d1bce1edd..5a829ae0642a 100644 --- a/dev-lang/perl/perl-5.34.0-r2.ebuild +++ b/dev-lang/perl/perl-5.34.0-r5.ebuild @@ -14,18 +14,16 @@ DIST_AUTHOR=XSAWYERX # Greatest first, don't include yourself # Devel point-releases are not ABI-intercompatible, but stable point releases are -# BIN_OLDVERSEN is contains only C-ABI-intercompatible versions +# BIN_OLDVERSEN contains only C-ABI-intercompatible versions PERL_BIN_OLDVERSEN="" -# Yes we can. -PERL_SINGLE_SLOT=y - 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 @@ -33,6 +31,7 @@ if [[ $(( ${SHORT_PV#*.} % 2 )) == 1 ]]; then else SUBSLOT="${DIST_VERSION%.*}" fi + # Used only in tar paths MY_P="perl-${DIST_VERSION}" # Used in library paths @@ -53,7 +52,8 @@ LICENSE="|| ( Artistic GPL-1+ )" SLOT="0/${SUBSLOT}" if [[ "${PV##*.}" != "9999" ]] && [[ "${PV/rc//}" == "${PV}" ]] ; then -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +KEYWORDS="" fi IUSE="berkdb debug doc gdbm ithreads minimal" @@ -165,24 +165,12 @@ pkg_setup() { LIBPERL="libperl$(get_libname ${MY_PV} )" - # This ENV var tells perl to build with a directory like "5.30" - # regardless of its patch version. This is for experts only - # at this point. - if [[ -z "${PERL_SINGLE_SLOT}" ]]; then - PRIV_LIB="${PRIV_BASE}/${MY_PV}" - ARCH_LIB="${PRIV_BASE}/${MY_PV}/${myarch}${mythreading}" - SITE_LIB="${SITE_BASE}/${MY_PV}" - SITE_ARCH="${SITE_BASE}/${MY_PV}/${myarch}${mythreading}" - VENDOR_LIB="${VENDOR_BASE}/${MY_PV}" - VENDOR_ARCH="${VENDOR_BASE}/${MY_PV}/${myarch}${mythreading}" - else - 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}" - fi + 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 } @@ -264,6 +252,7 @@ src_prepare_perlcross() { MAKEOPTS+=" -j1" export MAKEOPTS } + src_prepare_dynamic() { ln -s ${LIBPERL} libperl$(get_libname ${SHORT_PV}) || die ln -s ${LIBPERL} libperl$(get_libname ) || die @@ -292,9 +281,10 @@ add_patch() { 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 *-darin-Use-CC* +# rm_patch *-darwin-Use-CC* # rm_patch() { local patchdir="${WORKDIR}/patches" @@ -307,6 +297,7 @@ rm_patch() { 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 @@ -388,6 +379,7 @@ apply_patchdir() { printf "%s\n" "${patchoutput}" >> "${S}/MANIFEST" } + src_prepare() { local patchdir="${WORKDIR}/patches" @@ -398,6 +390,10 @@ src_prepare() { # "Fix broken miniperl on hppa"\ # "https://bugs.debian.org/869122" "https://bugs.gentoo.org/634162" + add_patch "${FILESDIR}/${P}-gdbm-1.20.patch" "0101-Fix-build-with-gdb120.patch"\ + "Fix GDBM_File to compile with version 1.20 and earlier"\ + "https://bugs.gentoo.org/802945" + 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 @@ -444,16 +440,10 @@ myconf() { # /usr/local/lib64/perl5/<NUMBER> # /usr/lib64/perl5/vendor_perl/<NUMBER> # -# All values of NUMBER must be like "5.x.y", unless PERL_SUPPORT_SINGLE_SLOT -# is enabled, where it will also allow numbers like "5.x" +# All values of NUMBER must be like "5.x.y" or like "5.x" # -# PERL_SUPPORT_SINGLE_SLOT should only be used to transition *away* from PERL_SINGLE_SLOT -# if you used that. find_candidate_inc_versions() { - local regex='.*/5[.][0-9]+[.][0-9]+$'; - if [[ ! -z "${PERL_SUPPORT_SINGLE_SLOT}" || ! -z "${PERL_SINGLE_SLOT}" ]]; then - regex='.*/5[.][0-9]+\([.][0-9]+\|\)$' - fi + local regex='.*/5[.][0-9]+\([.][0-9]+\|\)$' local dirs=( "${EROOT}${PRIV_BASE}" "${EROOT}${SITE_BASE}" @@ -477,13 +467,11 @@ find_candidate_inc_versions() { 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="${DIST_VERSION%-RC}" - if [[ ! -z "${PERL_SINGLE_SLOT}" ]]; then - vexclude="${SUBSLOT}" - fi + local vexclude="${SUBSLOT}" einfo "Normalizing/Sorting candidate list: $*" einfo " to remove '${vexclude}'" # Note, general numeric sort has to be used @@ -495,22 +483,18 @@ sanitize_inc_versions() { } versions_to_inclist() { - local oldv="${PERL_BIN_OLDVERSEN}" - if [[ ! -z "${PERL_SINGLE_SLOT}" ]]; then - oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}" - fi + 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="${PERL_BIN_OLDVERSEN}" + local oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}" local root local v - if [[ ! -z "${PERL_SINGLE_SLOT}" ]]; then - oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}" - fi for v; do for root in "${PRIV_BASE}" "${VENDOR_BASE}" "${SITE_BASE}"; do local fullpath="${EROOT}${root}/${v}" @@ -676,6 +660,7 @@ src_configure() { -Dnm="$(tc-getNM)" \ -Dcpp="$(tc-getCPP)" \ -Dranlib="$(tc-getRANLIB)" \ + -Dccflags="${CFLAGS}" \ -Doptimize="${CFLAGS}" \ -Dldflags="${LDFLAGS}" \ -Dprefix="${EPREFIX}"'/usr' \ @@ -708,7 +693,6 @@ src_configure() { -Dsh="${EPREFIX}"/bin/sh \ -Dtargetsh="${EPREFIX}"/bin/sh \ -Uusenm \ - "${myconf[@]}" \ "${EXTRA_ECONF[@]}" if tc-is-cross-compiler; then |