diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2019-04-28 09:54:45 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2019-04-28 09:54:45 +0100 |
commit | b7ebc951da8800f711142f69d9d958bde67a112d (patch) | |
tree | e318514216845acb8f2e49fff7a5cba4027e9d91 /dev-lang/perl | |
parent | dc7cbdfa65fd814b3b9aa3c56257da201109e807 (diff) |
gentoo resync : 28.04.2019
Diffstat (limited to 'dev-lang/perl')
-rw-r--r-- | dev-lang/perl/Manifest | 11 | ||||
-rw-r--r-- | dev-lang/perl/files/perl-5.28.0-dirhandle.patch | 99 | ||||
-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.ebuild | 7 |
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" |