summaryrefslogtreecommitdiff
path: root/dev-lang/perl
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2019-04-28 09:54:45 +0100
committerV3n3RiX <venerix@redcorelinux.org>2019-04-28 09:54:45 +0100
commitb7ebc951da8800f711142f69d9d958bde67a112d (patch)
treee318514216845acb8f2e49fff7a5cba4027e9d91 /dev-lang/perl
parentdc7cbdfa65fd814b3b9aa3c56257da201109e807 (diff)
gentoo resync : 28.04.2019
Diffstat (limited to 'dev-lang/perl')
-rw-r--r--dev-lang/perl/Manifest11
-rw-r--r--dev-lang/perl/files/perl-5.28.0-dirhandle.patch99
-rw-r--r--dev-lang/perl/perl-5.28.0-r1.ebuild (renamed from dev-lang/perl/perl-5.26.1-r2.ebuild)83
-rw-r--r--dev-lang/perl/perl-5.28.2.ebuild (renamed from dev-lang/perl/perl-5.26.1-r1.ebuild)92
-rw-r--r--dev-lang/perl/perl-5.28.9999.ebuild7
5 files changed, 220 insertions, 72 deletions
diff --git a/dev-lang/perl/Manifest b/dev-lang/perl/Manifest
index c2fbd9c590db..4d3a73ac66ea 100644
--- a/dev-lang/perl/Manifest
+++ b/dev-lang/perl/Manifest
@@ -1,24 +1,25 @@
AUX perl-5.24-libnsl.patch 613 BLAKE2B 3d802f2d9203765630690a12dce5bc339dc0ec3531b47d23cb27877d1159d74b4c0c225fb21fb71257a3b125b72008f6a9b2d174fcd66e3b80f271abccc6f6f2 SHA512 19241053ecb83f5427a7361d222d87ba20c7cc59b2c6cdff011e4f9c59d828e703f0de17dcebb886772278c8dd269bf2b95978a2dededc0bf4ef9056733a3ed4
AUX perl-5.26.2-hppa.patch 3231 BLAKE2B d59eab55eea3daceb0d3df39778d43ebaee2c065c052ca048ec17c06fa90049eb7fd5ae40092f11248de25cdf9cff96dc69626e7f3269b24cf618004deeb5859 SHA512 24856ae3c637c58d16d543240f5028e137c33c7aeae7c0c3dfa1a69b621057a84ab4ddf8b12ac6ef251381af4b190c200262bec9bdaa6001199dbd1d15cf4bae
+AUX perl-5.28.0-dirhandle.patch 3709 BLAKE2B cb7bc1fa84d2a2823980378e28faf13596c540b3801a77e304e3495707eefe897d6f6783178b695b997fb7dd5287cfd5a90d6d1117183ed71116aba70e02dd7d SHA512 7586f2e646ad64828d5f08eece2e6d3eb60be566754078859ad369b0340c749afe62be2eda149db69dcf3002094eb9eec2ddd7c3721f030c84f9f6587b6d1541
DIST perl-5.24.3-patches-2.tar.xz 23980 BLAKE2B 5de7ac2cc5238d0b8460a294ae2e8da1455f89a63691a4fc022d49756ed4c0e577672149de7bd475d10f4860b4a98dc1db0c6f32abaf80f8c04658f6ca706e11 SHA512 f13c5fac65e11d691b77231cc98b0a57b6ccabd66535835bc387410dc88c298d31fa471bcd9f4e86d4d51b0402483283c23dcd53d69e0dbabc77b9db6fea4936
DIST perl-5.24.3.tar.xz 11574740 BLAKE2B 79e719d1d0fcea3eea71653f276d0d093d8d1f6b1f981b053f25e6891c57af9ee1982f65ce4a31e4c5844eb11a7966f25c6b459cc7de51cf62b9127be96f6f25 SHA512 139c92c0ea0ee7bd5912ad52cc275e0732ceb0865d8b67c301e1fc5a96ae126a26432b4450a2bbc7fe65b8e1dd8adde92ea2cc91ee39cb13ec3c5096e8f787ec
DIST perl-5.24.4-patches-1.tar.xz 24244 BLAKE2B aa4557a887e57d584c738058ed147f1b4f80f491223e1476c16abdc371bbe133f5d99ea3be11e44101b5343680823ab29c5d26cc8a8ca222275ba4bc092cd5d9 SHA512 465f22269d6c07be5616de223c712ab57d7060fdb4fcc4d79ab23aae79fa61517dbed112bb3a2541d3368a02d046b769ef8fa50a7b91379ad03ca4bf3387e518
DIST perl-5.24.4.tar.xz 11580256 BLAKE2B efdb9f0e52604207fc73e040c999f40e364f546e3e872dd6709cc6b5209179742fab083319238142581c324847d5e24a3e6a011decc901827d3eb213d00a1666 SHA512 a50bf162d9e62a558a4137d44383eb3fe2001e1eaa574aad7abae851b544dee1dacb849c101023db49b2740925691f5e367fa36ab5dda90634143076c8e4d2f3
-DIST perl-5.26.1-patches-1.tar.xz 16764 BLAKE2B 95fb086d214bf27dedfdc96f927e11ca6e2a237aabc268b3e26ca9868eeede3916fe6adc9ab890bc6bbc9977fa4a3c200188f91d506652c1f45f7ebdda9857e2 SHA512 24d7f5e1344a768bbf170376b131498fa234881d10edc259ff7a31572467e2fe1084ce6a2a9ef4d4ec5924ca95488064235d6e02b83acba727a856cd1e4c9ebc
-DIST perl-5.26.1.tar.xz 11922848 BLAKE2B 8ba5ac50bc6bc3cea1ede7dbd9b41566bd3f62e432d9a1f5ee45837cc3051c1edc037a13d73d4c867edc7833f9dfa8a9d22216e14a19df179ba030a03d3acc07 SHA512 13faa7bcd7ed8c490c37e9032c115af06c9b8152b75f8062409dd72d263d1314480e8a9a883490de1b448b2e6d53b6a87d108e2eceb17de2524d5857c6a7d300
DIST perl-5.26.2-patches-1.tar.xz 17100 BLAKE2B 681239e438945285e006ee1d1e2a9eb888fc9b425e6fbd4822e65e1fe1ced2216de76485b9792d3fee28783a588c09e1d34c294ef43d81055c4566af37fe9b6c SHA512 2a274150d2dba406c6efb67ec236f67032a51ff1788b30ea556e74b2f02fab68f5029ebd4b9d4daeb16b3a63fa7aa1744d323bf637a9d21946f19f33b69da245
DIST perl-5.26.2.tar.xz 11931624 BLAKE2B 2d54b155ace7c70a33adbe9911ba5384281aa49a0f6d4f452f4249b4deb58804268b473457470488f7592e041221f552b09156eb55c10078002aae3715446d9a SHA512 fd54c90da250144c81b94587c01c49fa367f84c54406f1d360ddab4a41589a7b19efc1707f95c95d6357fae66fc3f6f00bf69dd7741db114c7034a14f52be65f
DIST perl-5.28.0-patches-1.tar.xz 17128 BLAKE2B f16843d9ecf27fa7d42dd59e1591d618ba9ad6b14f4e56bab4019af043eb79559cc7dbc4a1b1e580c18b7ba0b5d71c4da3e3f94955889629a655e7028492a066 SHA512 e05a492ba045ac71d20393099815bed8e4f491bed79a352e83537561eb256d4f672e0125c5cca9e45150c01d3ad463a070a49e845b3c17806d9f77a872d0352a
DIST perl-5.28.0.tar.xz 12410536 BLAKE2B 620cca33c6d354b8b200bfff43dd155e6f89b9fe318f530d38c853a2b66fe67cc8410b6e5ab2a793d7ef578f2295a6fc4872483f81b5439d8573d75c5239fcfb SHA512 de701e37371b81cecf06098bb2c09017bde9cebaf9537d58838d0adf605ac2ecf739897b0a73576a7adb74d4cf65591ec4d2ed1f94b7191e695f88cb7e214a39
+DIST perl-5.28.2-patches-2.tar.xz 17332 BLAKE2B 74977d4b08e891225a3e0408473df048f6999a1a5044cb68dd205c3a95d5dcceafdaf59c277fd0a0853d5e818c2011434a88aee095cdfcb8ddc393e3a95f93c2 SHA512 b095f7966b8f09f64a6d7e425de91457ecdfddf7d2e73c5ab93632babcd37d0ab74175139484ed019aac09bc4c17ddce38eb75cebc3a80e4d47bbf7b15624c18
+DIST perl-5.28.2.tar.xz 12374448 BLAKE2B 82a49fcf3c29ff7241fae7ffaa1bf9f99d8cbfa6d00d5fd9ff7c3c23a461287322e12acba318c8de8507092e33b05549142bc5194bdb4b516994c9cdc0cb3f92 SHA512 0f2e4f7cb5d8cf6e00054b3842907e29b6c85902d97fb881d5bea65edbc875fef4e15e064561fac7c8db4939586576dd76a225026c7cca9624261c887b1fdb08
DIST perl-cross-1.1.7.tar.gz 97622 BLAKE2B c58dd51492cfbda6fc58b43d9de45c35dd5ed5768ca8db61b5ac092ad6c0067386597875d6613c75671f026387ba474ce8c28789d6d77b9dcfc4cf4bf7227126 SHA512 b64d487129b295ec6d996606b8b8559de681e1cf7c3e3167d6d646d5d7a848d7929b1ab698d1f950e265213749772fc74d209cea5020b61e133c8f8851b7cfa0
DIST perl-cross-1.1.9.tar.gz 102939 BLAKE2B 438ea75a14c4d60fdf3cb2f3671c736d229a83af210ba4fe6e79b989c6c4b45500d0221ec65bc71e1d43d234ec1daa20b3a19be6ceb01e638810900dbe3664a7 SHA512 002441012bd31f1ea71341707d91f89b76266c187c9d28f947ed5eddbcc6e3155e8dfd4b1814331561c3557764fea25bf6a938f08bcd4adfb5895361ad5a269a
DIST perl-cross-1.2.2.tar.gz 106073 BLAKE2B c4eaf5d60dd0ac88a9653cea399f5583a699d35f94a69a36ef9d3cde0017901ff68029f12a3af6e0fd34d46accbb6be009167fadb790da8065f6b85115f1c9b8 SHA512 49dc190018b891daac68a954e2a9bab6294920f02b585c530dcc47af03e8ab51d402455202d45121fa206ee743986ddd50323658c179d2c15cb6af7a2eb0958c
EBUILD perl-5.24.3-r1.ebuild 17393 BLAKE2B 999d7df269e15390e4f7d146ff94eda5301981353083c933dd89af42a9ce0cece3f6e87d8917572cd38141f0e25e9c864660624fa4c4459940d0dd190527d53f SHA512 61a2760d1a17ffe0ae6cde23b4b707876822aa2355fa834b23a878a3df3d5d070e5b0a74a991d617ad1e026c0fcc3d2a05609d575567edc57b2cf101bde8e0bf
EBUILD perl-5.24.4.ebuild 17363 BLAKE2B 84744ba06ce9dc0cab51aae3da10917679a20b5997f13154c269285173a6c6b0ec20ae365b059daa52f86f2addcf97dbe8866a29cd2c9c32ee51030de9a44bf7 SHA512 d393349752cfcdb53bd6d99559ad1eb5385e716f772bc4377e07bc3d7064a293e5cc0369feca2094513e710e8724c2a0a82fcf342ad68c4e1d2c1d0d42200071
-EBUILD perl-5.26.1-r1.ebuild 19255 BLAKE2B a29acfd3ea358d0d46886aae104acf8e55ad7c9380848343ad84dfc58294645fa6c72c4cbc598e54072585f880175581ef25e7e6e2a9080764968ab925cdbb9d SHA512 4630da50892ac674de4b9e5858ffd9b1c50b08558a91a1579958f728aaf3d9581b3f960c0d9caf5a460c3435a626c9294d8abc73c7f7da098199018a144a5788
-EBUILD perl-5.26.1-r2.ebuild 19668 BLAKE2B 5936c92398cf8a889bd946705f2667abd07fc81a64ea3f8c44cd83f3c29719352f4ea938b8d7fb7e3d5d138dcba12f94692166aaca8d98a3640c772850ec9e5c SHA512 154b021e91b01ecd55a5af50bc530f080745b122cd5a77652589c236d4bceea93f4379a1c8e751eb1787118e3133e1f5daab8dccf88365f7976c8a015591190e
EBUILD perl-5.26.2.ebuild 20018 BLAKE2B 35fc87f0fd3d14255553214e5d16a15390469265e7a1dbd9942668d96ffea825228da4c63fdddbfa70df869746559d7966b81dd1343c1bcebb1c87718bb1a3b3 SHA512 23672000c34668a207d3ec6629950310542996be5225271500f52d42779e6b77370db02a32c28953cfc7d479153d418af8ad6ddfb90ceb6437fdd4086b5a5a92
EBUILD perl-5.26.9999.ebuild 20031 BLAKE2B d6e3d8053ddbe6b3bd6fad32c2453b996ac5aea5d854354540bf3de7bd55cb2282f6c72122928d037318c5f6d54755b45f56a52ea8704c3fc4824f70a2776b9c SHA512 11d55af2d0f4ea7546b0633e4056e2cc3699b75061c4ba80e0bd17be358c9ea4900b780089853bef21718f6101257b0a9f9e15624b609332c10831d8f02bdb44
+EBUILD perl-5.28.0-r1.ebuild 20236 BLAKE2B 608747d86cbe672d7233291190a565d23c4f28cd6097a45bcbc06dcf17b554f32fe97091788b5adcc5b7c846ca385858e29735533d65bc234ea632a1ed233361 SHA512 8883fd710690238faa4f411df41074fc735108258f53402bf344f88df8710d121057def411c9743a15dd8a0f388c5e3f37631b064116de1b94a1aa329eeab03d
EBUILD perl-5.28.0.ebuild 20176 BLAKE2B 66db6330cc0536313b23bd84272fcbbf12cac02eff0cf6e5f1b45de66f77ab6eedcfc80f1925a15c82ef004234e4a82d15cae6993c6c5030c90378bb2c58dc66 SHA512 92eaffde9ebbc2cf8c6339eec71520ab4288a9e392eca4282db9b4281b29979f8854273239b650e2435aa8fd1bc525548ff79fe58fd8f5e1c7bc87ebaddfb322
-EBUILD perl-5.28.9999.ebuild 20176 BLAKE2B 66db6330cc0536313b23bd84272fcbbf12cac02eff0cf6e5f1b45de66f77ab6eedcfc80f1925a15c82ef004234e4a82d15cae6993c6c5030c90378bb2c58dc66 SHA512 92eaffde9ebbc2cf8c6339eec71520ab4288a9e392eca4282db9b4281b29979f8854273239b650e2435aa8fd1bc525548ff79fe58fd8f5e1c7bc87ebaddfb322
+EBUILD perl-5.28.2.ebuild 20155 BLAKE2B 8188a7b44c2944e3058467e7726f8e212a08bebf59436f925b1570d0d1d177cc9d550c10a5e48ff769695928537885ea93840780fb3696e156c678f20bab822f SHA512 5a124fb217156acf4fc5b03686b37a11d552b6981f6346f5d518430f2affdb849d64648e87cd9e5af771d713212022e11b931f70c67b15541bc75e20daa19fc4
+EBUILD perl-5.28.9999.ebuild 20126 BLAKE2B 46357f9a9fd629397c501f07092144e24766b802d221a34545eb70d20b61fd709f63717006d9aca69c89278d80c00b1149cb9c137ea7c246a9928b80e76a1e14 SHA512 521aee984f134933e1335e79c1f9f4cbb89520db55b882e6a8c6288030dbc004d401e64f737f6edaae51e4f3243699a340e33c768bd21e6ac9276cfc88daeffd
MISC metadata.xml 430 BLAKE2B 8625fd07f63a7943a85c3919d6ae6db622b752caa2803c56c72a22b270244261331fbab8b760e6d00acb8480770c9ef1d1beaaa22cc6044660821687c0cd8c33 SHA512 ca4c43e2016b7df707894713465700a90d2b8551b57fc4d660cff75edb1e8cc2456f9ae10431839ad6738f290d4f5911fae360eaa1d4670859d855de3d568583
diff --git a/dev-lang/perl/files/perl-5.28.0-dirhandle.patch b/dev-lang/perl/files/perl-5.28.0-dirhandle.patch
new file mode 100644
index 000000000000..02debe5ac2b6
--- /dev/null
+++ b/dev-lang/perl/files/perl-5.28.0-dirhandle.patch
@@ -0,0 +1,99 @@
+From e0eae03760cafde89463c4d3d238be9a629f7fca Mon Sep 17 00:00:00 2001
+From: Tony Cook <tony@develop-help.com>
+Date: Mon, 2 Jul 2018 10:43:19 +1000
+Subject: [PATCH] (perl #133314) always close the directory handle on clean up
+
+Previously the directory handle was only closed if the rest of the
+magic free clean up is done, but in most success cases that code
+doesn't run, leaking the directory handle.
+
+So always close the directory if our AV is available.
+
+(cherry picked from commit 3d5e9c119db6b727684fe75dfcfe5831c4351bec)
+---
+ doio.c | 56 +++++++++++++++++++++++++++++++-------------------------
+ 1 file changed, 31 insertions(+), 25 deletions(-)
+
+diff --git a/doio.c b/doio.c
+index 4b8923f77c..16daf9fd11 100644
+--- a/doio.c
++++ b/doio.c
+@@ -1163,44 +1163,50 @@ S_argvout_free(pTHX_ SV *io, MAGIC *mg) {
+
+ /* mg_obj can be NULL if a thread is created with the handle open, in which
+ case we leave any clean up to the parent thread */
+- if (mg->mg_obj && IoIFP(io)) {
+- SV **pid_psv;
++ if (mg->mg_obj) {
+ #ifdef ARGV_USE_ATFUNCTIONS
+ SV **dir_psv;
+ DIR *dir;
++
++ dir_psv = av_fetch((AV*)mg->mg_obj, ARGVMG_ORIG_DIRP, FALSE);
++ assert(dir_psv && *dir_psv && SvIOK(*dir_psv));
++ dir = INT2PTR(DIR *, SvIV(*dir_psv));
+ #endif
+- PerlIO *iop = IoIFP(io);
++ if (IoIFP(io)) {
++ SV **pid_psv;
++ PerlIO *iop = IoIFP(io);
+
+- assert(SvTYPE(mg->mg_obj) == SVt_PVAV);
++ assert(SvTYPE(mg->mg_obj) == SVt_PVAV);
+
+- pid_psv = av_fetch((AV*)mg->mg_obj, ARGVMG_ORIG_PID, FALSE);
++ pid_psv = av_fetch((AV*)mg->mg_obj, ARGVMG_ORIG_PID, FALSE);
+
+- assert(pid_psv && *pid_psv);
++ assert(pid_psv && *pid_psv);
+
+- if (SvIV(*pid_psv) == (IV)PerlProc_getpid()) {
+- /* if we get here the file hasn't been closed explicitly by the
+- user and hadn't been closed implicitly by nextargv(), so
+- abandon the edit */
+- SV **temp_psv = av_fetch((AV*)mg->mg_obj, ARGVMG_TEMP_NAME, FALSE);
+- const char *temp_pv = SvPVX(*temp_psv);
++ if (SvIV(*pid_psv) == (IV)PerlProc_getpid()) {
++ /* if we get here the file hasn't been closed explicitly by the
++ user and hadn't been closed implicitly by nextargv(), so
++ abandon the edit */
++ SV **temp_psv = av_fetch((AV*)mg->mg_obj, ARGVMG_TEMP_NAME, FALSE);
++ const char *temp_pv = SvPVX(*temp_psv);
+
+- assert(temp_psv && *temp_psv && SvPOK(*temp_psv));
+- (void)PerlIO_close(iop);
+- IoIFP(io) = IoOFP(io) = NULL;
++ assert(temp_psv && *temp_psv && SvPOK(*temp_psv));
++ (void)PerlIO_close(iop);
++ IoIFP(io) = IoOFP(io) = NULL;
+ #ifdef ARGV_USE_ATFUNCTIONS
+- dir_psv = av_fetch((AV*)mg->mg_obj, ARGVMG_ORIG_DIRP, FALSE);
+- assert(dir_psv && *dir_psv && SvIOK(*dir_psv));
+- dir = INT2PTR(DIR *, SvIV(*dir_psv));
+- if (dir) {
+- if (unlinkat(my_dirfd(dir), temp_pv, 0) < 0 &&
+- NotSupported(errno))
+- (void)UNLINK(temp_pv);
+- closedir(dir);
+- }
++ if (dir) {
++ if (unlinkat(my_dirfd(dir), temp_pv, 0) < 0 &&
++ NotSupported(errno))
++ (void)UNLINK(temp_pv);
++ }
+ #else
+- (void)UNLINK(temp_pv);
++ (void)UNLINK(temp_pv);
+ #endif
++ }
+ }
++#ifdef ARGV_USE_ATFUNCTIONS
++ if (dir)
++ closedir(dir);
++#endif
+ }
+
+ return 0;
+--
+2.21.0
+
diff --git a/dev-lang/perl/perl-5.26.1-r2.ebuild b/dev-lang/perl/perl-5.28.0-r1.ebuild
index a913f5694dbe..500797a2101e 100644
--- a/dev-lang/perl/perl-5.26.1-r2.ebuild
+++ b/dev-lang/perl/perl-5.28.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -6,17 +6,19 @@ EAPI=6
inherit eutils alternatives flag-o-matic toolchain-funcs multilib multiprocessing
PATCH_VER=1
-CROSS_VER=1.1.7
-PATCH_BASE="perl-5.26.1-patches-${PATCH_VER}"
+CROSS_VER=1.2.2
+PATCH_BASE="perl-5.28.0-patches-${PATCH_VER}"
-DIST_AUTHOR=SHAY
+PATCHES=( "${FILESDIR}/${P}-dirhandle.patch" ) #bug 677306
+
+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
-PERL_BIN_OLDVERSEN="5.26.0"
+PERL_BIN_OLDVERSEN=""
if [[ "${PV##*.}" == "9999" ]]; then
- DIST_VERSION=5.26.1-RC1
+ DIST_VERSION=5.28.0
else
DIST_VERSION="${PV/_rc/-RC}"
fi
@@ -74,23 +76,21 @@ PDEPEND="
S="${WORKDIR}/${MY_P}"
-PATCHES=( "${FILESDIR}/perl-5.24-libnsl.patch" )
-
dual_scripts() {
- src_remove_dual perl-core/Archive-Tar 2.240.0 ptar ptardiff ptargrep
- src_remove_dual perl-core/CPAN 2.180.0 cpan
- src_remove_dual perl-core/Digest-SHA 5.960.0 shasum
- src_remove_dual perl-core/Encode 2.880.0 enc2xs piconv
- src_remove_dual perl-core/ExtUtils-MakeMaker 7.240.0 instmodsh
- src_remove_dual perl-core/ExtUtils-ParseXS 3.340.0 xsubpp
+ src_remove_dual perl-core/Archive-Tar 2.280.0 ptar ptardiff ptargrep
+ src_remove_dual perl-core/CPAN 2.200.0 cpan
+ src_remove_dual perl-core/Digest-SHA 6.10.0 shasum
+ src_remove_dual perl-core/Encode 2.970.0 enc2xs piconv
+ src_remove_dual perl-core/ExtUtils-MakeMaker 7.340.0 instmodsh
+ src_remove_dual perl-core/ExtUtils-ParseXS 3.390.0 xsubpp
src_remove_dual perl-core/IO-Compress 2.74.0 zipdetails
- src_remove_dual perl-core/JSON-PP 2.274.0.200_rc json_pp
- src_remove_dual perl-core/Module-CoreList 5.201.709.222.600_rc corelist
+ src_remove_dual perl-core/JSON-PP 2.970.10 json_pp
+ src_remove_dual perl-core/Module-CoreList 5.201.806.220 corelist
src_remove_dual perl-core/Pod-Parser 1.630.0 pod2usage podchecker podselect
- src_remove_dual perl-core/Pod-Perldoc 3.280.0 perldoc
- src_remove_dual perl-core/Test-Harness 3.380.0 prove
- src_remove_dual perl-core/podlators 4.90.0 pod2man pod2text
- src_remove_dual_man perl-core/podlators 4.90.0 /usr/share/man/man1/perlpodstyle.1
+ src_remove_dual perl-core/Pod-Perldoc 3.280.100 perldoc
+ src_remove_dual perl-core/Test-Harness 3.420.0 prove
+ src_remove_dual perl-core/podlators 4.100.0 pod2man pod2text
+ src_remove_dual_man perl-core/podlators 4.100.0 /usr/share/man/man1/perlpodstyle.1
}
check_rebuild() {
@@ -138,6 +138,7 @@ pkg_setup() {
*-netbsd*) osname="netbsd" ;;
*-openbsd*) osname="openbsd" ;;
*-darwin*) osname="darwin" ;;
+ *-solaris*) osname="solaris" ;;
*-interix*) osname="interix" ;;
*-aix*) osname="aix" ;;
*-cygwin*) osname="cygwin" ;;
@@ -287,15 +288,6 @@ echo "${patchoutput}" >> "${S}/MANIFEST"
src_prepare_perlcross() {
cp -a ../perl-cross-${CROSS_VER}/* . || die
- sed -i \
- -e 's/MakeMaker\.pm .*/MakeMaker.pm bf9174c70a0e50ff2fee4552c7df89b37d292da1/' \
- -e 's/MM_Unix\.pm .*/MM_Unix.pm b0ec308fe2d7dcfcef5732880db0fae1f4ea80fa/' \
- cnf/diffs/perl5-${PV}/customized.patch || die
-
- sed -i \
- -e 's|^lib/unicore/CombiningClass.pl pod/perluniprops.pod:|lib/unicore/CombiningClass.pl pod/perluniprops.pod: $(CONFIGPM)|' \
- Makefile || die
-
# bug 604072
MAKEOPTS+=" -j1"
export MAKEOPTS
@@ -308,6 +300,17 @@ src_prepare_dynamic() {
src_prepare() {
local patch
EPATCH_OPTS+=" -p1"
+
+ if use hppa ; then
+ epatch "${FILESDIR}/${PN}-5.26.2-hppa.patch" # bug 634162
+ fi
+
+ 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
+ fi
+
einfo "Applying patches from ${PATCH_BASE} ..."
while read patch ; do
EPATCH_SINGLE_MSG=" ${patch} ..."
@@ -326,15 +329,15 @@ src_prepare() {
fi
# Use errno.h from prefix rather than from host system, bug #645804
- if use prefix; then
+ 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
- # do NOT mess with nsl, on Solaris this is always necessary,
- # when -lsocket is used e.g. to get h_errno
- PATCHES=( ${PATCHES[@]/*libnsl.patch/} )
+ # set a soname, fix linking against just built libperl
+ sed -i -e 's/netbsd\*/netbsd*|solaris*/' Makefile.SH || die
fi
+
default
}
@@ -370,6 +373,9 @@ src_configure() {
# Fixes bug #143895 on gcc-4.1.1
filter-flags "-fsched2-use-superblocks"
+ # Generic LTO broken since 5.28, triggers EUMM failures
+ filter-flags "-flto"
+
use sparc && myconf -Ud_longdbl
export BUILD_BZIP2=0
@@ -455,6 +461,15 @@ src_configure() {
[[ ${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
+ [[ ${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.
@@ -549,6 +564,8 @@ src_configure() {
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
diff --git a/dev-lang/perl/perl-5.26.1-r1.ebuild b/dev-lang/perl/perl-5.28.2.ebuild
index 7e570ce3afde..c2029dbe6b17 100644
--- a/dev-lang/perl/perl-5.26.1-r1.ebuild
+++ b/dev-lang/perl/perl-5.28.2.ebuild
@@ -1,22 +1,24 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit eutils alternatives flag-o-matic toolchain-funcs multilib multiprocessing
-PATCH_VER=1
-CROSS_VER=1.1.7
-PATCH_BASE="perl-5.26.1-patches-${PATCH_VER}"
+PATCH_VER=2
+CROSS_VER=1.2.2
+PATCH_BASE="perl-5.28.2-patches-${PATCH_VER}"
+PATCH_DEV=dilfridge
DIST_AUTHOR=SHAY
# 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
-PERL_BIN_OLDVERSEN="5.26.0"
+PERL_BIN_OLDVERSEN="5.28.0"
+
if [[ "${PV##*.}" == "9999" ]]; then
- DIST_VERSION=5.26.1-RC1
+ DIST_VERSION=5.28.0
else
DIST_VERSION="${PV/_rc/-RC}"
fi
@@ -40,7 +42,7 @@ SRC_URI="
mirror://cpan/authors/id/${DIST_AUTHOR:0:1}/${DIST_AUTHOR:0:2}/${DIST_AUTHOR}/${MY_P}.tar.xz
https://github.com/gentoo-perl/perl-patchset/releases/download/${PATCH_BASE}/${PATCH_BASE}.tar.xz
mirror://gentoo/${PATCH_BASE}.tar.xz
- https://dev.gentoo.org/~kentnl/distfiles/${PATCH_BASE}.tar.xz
+ https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${PATCH_BASE}.tar.xz
https://github.com/arsv/perl-cross/releases/download/${CROSS_VER}/perl-cross-${CROSS_VER}.tar.gz
"
HOMEPAGE="https://www.perl.org/"
@@ -75,20 +77,20 @@ PDEPEND="
S="${WORKDIR}/${MY_P}"
dual_scripts() {
- src_remove_dual perl-core/Archive-Tar 2.240.0 ptar ptardiff ptargrep
- src_remove_dual perl-core/CPAN 2.180.0 cpan
- src_remove_dual perl-core/Digest-SHA 5.960.0 shasum
- src_remove_dual perl-core/Encode 2.880.0 enc2xs piconv
- src_remove_dual perl-core/ExtUtils-MakeMaker 7.240.0 instmodsh
- src_remove_dual perl-core/ExtUtils-ParseXS 3.340.0 xsubpp
+ src_remove_dual perl-core/Archive-Tar 2.300.0 ptar ptardiff ptargrep
+ src_remove_dual perl-core/CPAN 2.200.0 cpan
+ src_remove_dual perl-core/Digest-SHA 6.10.0 shasum
+ src_remove_dual perl-core/Encode 2.970.0 enc2xs piconv
+ src_remove_dual perl-core/ExtUtils-MakeMaker 7.340.0 instmodsh
+ src_remove_dual perl-core/ExtUtils-ParseXS 3.390.0 xsubpp
src_remove_dual perl-core/IO-Compress 2.74.0 zipdetails
- src_remove_dual perl-core/JSON-PP 2.274.0.200_rc json_pp
- src_remove_dual perl-core/Module-CoreList 5.201.709.222.600_rc corelist
+ src_remove_dual perl-core/JSON-PP 2.970.10 json_pp
+ src_remove_dual perl-core/Module-CoreList 5.201.904.190 corelist
src_remove_dual perl-core/Pod-Parser 1.630.0 pod2usage podchecker podselect
- src_remove_dual perl-core/Pod-Perldoc 3.280.0 perldoc
- src_remove_dual perl-core/Test-Harness 3.380.0 prove
- src_remove_dual perl-core/podlators 4.90.0 pod2man pod2text
- src_remove_dual_man perl-core/podlators 4.90.0 /usr/share/man/man1/perlpodstyle.1
+ src_remove_dual perl-core/Pod-Perldoc 3.280.100 perldoc
+ src_remove_dual perl-core/Test-Harness 3.420.0 prove
+ src_remove_dual perl-core/podlators 4.100.0 pod2man pod2text
+ src_remove_dual_man perl-core/podlators 4.100.0 /usr/share/man/man1/perlpodstyle.1
}
check_rebuild() {
@@ -136,6 +138,7 @@ pkg_setup() {
*-netbsd*) osname="netbsd" ;;
*-openbsd*) osname="openbsd" ;;
*-darwin*) osname="darwin" ;;
+ *-solaris*) osname="solaris" ;;
*-interix*) osname="interix" ;;
*-aix*) osname="aix" ;;
*-cygwin*) osname="cygwin" ;;
@@ -285,15 +288,6 @@ echo "${patchoutput}" >> "${S}/MANIFEST"
src_prepare_perlcross() {
cp -a ../perl-cross-${CROSS_VER}/* . || die
- sed -i \
- -e 's/MakeMaker\.pm .*/MakeMaker.pm bf9174c70a0e50ff2fee4552c7df89b37d292da1/' \
- -e 's/MM_Unix\.pm .*/MM_Unix.pm b0ec308fe2d7dcfcef5732880db0fae1f4ea80fa/' \
- cnf/diffs/perl5-${PV}/customized.patch || die
-
- sed -i \
- -e 's|^lib/unicore/CombiningClass.pl pod/perluniprops.pod:|lib/unicore/CombiningClass.pl pod/perluniprops.pod: $(CONFIGPM)|' \
- Makefile || die
-
# bug 604072
MAKEOPTS+=" -j1"
export MAKEOPTS
@@ -306,6 +300,17 @@ src_prepare_dynamic() {
src_prepare() {
local patch
EPATCH_OPTS+=" -p1"
+
+ if use hppa ; then
+ epatch "${FILESDIR}/${PN}-5.26.2-hppa.patch" # bug 634162
+ fi
+
+ 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
+ fi
+
einfo "Applying patches from ${PATCH_BASE} ..."
while read patch ; do
EPATCH_SINGLE_MSG=" ${patch} ..."
@@ -323,6 +328,16 @@ src_prepare() {
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
+
default
}
@@ -358,6 +373,9 @@ src_configure() {
# Fixes bug #143895 on gcc-4.1.1
filter-flags "-fsched2-use-superblocks"
+ # Generic LTO broken since 5.28, triggers EUMM failures
+ filter-flags "-flto"
+
use sparc && myconf -Ud_longdbl
export BUILD_BZIP2=0
@@ -443,6 +461,15 @@ src_configure() {
[[ ${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
+ [[ ${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.
@@ -537,6 +564,8 @@ src_configure() {
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
@@ -559,9 +588,10 @@ src_install() {
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 ../../../../../$(get_libdir)/${LIBPERL} "${ED}"${coredir}/${LIBPERL} || die
- ln -sf ../../../../../$(get_libdir)/${LIBPERL} "${ED}"${coredir}/libperl$(get_libname ${SHORT_PV}) || die
- ln -sf ../../../../../$(get_libdir)/${LIBPERL} "${ED}"${coredir}/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"
diff --git a/dev-lang/perl/perl-5.28.9999.ebuild b/dev-lang/perl/perl-5.28.9999.ebuild
index 71fc2b82b39b..21d7a3f69eea 100644
--- a/dev-lang/perl/perl-5.28.9999.ebuild
+++ b/dev-lang/perl/perl-5.28.9999.ebuild
@@ -586,9 +586,10 @@ src_install() {
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 ../../../../../$(get_libdir)/${LIBPERL} "${ED}"${coredir}/${LIBPERL} || die
- ln -sf ../../../../../$(get_libdir)/${LIBPERL} "${ED}"${coredir}/libperl$(get_libname ${SHORT_PV}) || die
- ln -sf ../../../../../$(get_libdir)/${LIBPERL} "${ED}"${coredir}/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"