bump(dev-lang/perl): sync with upstream

This commit is contained in:
Alex Crawford 2015-07-14 13:23:58 -07:00
parent e6d01be944
commit 29e63b3ac1
56 changed files with 3069 additions and 3032 deletions

View File

@ -0,0 +1,101 @@
# ChangeLog for dev-lang/perl
# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/dev-lang/perl/ChangeLog,v 1.488 2015/06/16 13:20:30 dilfridge Exp $
16 Jun 2015; Andreas K. Hüttel <dilfridge@gentoo.org> perl-5.20.2-r1.ebuild,
perl-5.20.2.ebuild, perl-5.22.0.ebuild:
Any db slot works
16 Jun 2015; Andreas K. Hüttel <dilfridge@gentoo.org>
+files/eblits/pkg_postinst-v50220001.eblit,
+files/eblits/pkg_postrm-v50220001.eblit,
+files/eblits/pkg_setup-v50220001.eblit, perl-5.22.0.ebuild:
Update bundled module numbers, use new eblits for updated perl-cleaner message
*perl-5.22.0 (15 Jun 2015)
15 Jun 2015; Vladimir Smirnov <civil@gentoo.org> +perl-5.22.0.ebuild:
Version bump
13 Jun 2015; Andreas K. Huettel <dilfridge@gentoo.org>
-perl-5.18.2-r2.ebuild:
Remove Perl 5.18
13 Jun 2015; Andreas K. Huettel <dilfridge@gentoo.org>
-perl-5.20.1-r4.ebuild:
Remove Perl 5.20.1
*perl-5.20.2-r1 (09 May 2015)
09 May 2015; Andreas K. Huettel <dilfridge@gentoo.org>
+perl-5.20.2-r1.ebuild:
Revision bump adding fixes for gcc-5.1, bug 548094
11 Apr 2015; Mikle Kolyada <zlogene@gentoo.org> perl-5.20.2.ebuild:
ppc64 stable wrt bug #545510
11 Apr 2015; Mikle Kolyada <zlogene@gentoo.org> perl-5.20.2.ebuild:
ppc stable wrt bug #545510
08 Apr 2015; Jeroen Roovers <jer@gentoo.org> perl-5.20.2.ebuild:
Stable for HPPA (bug #545510).
05 Apr 2015; Mikle Kolyada <zlogene@gentoo.org> perl-5.20.2.ebuild:
sparc stable wrt bug #545510
05 Apr 2015; Mike Frysinger <vapier@gentoo.org> perl-5.18.2-r2.ebuild,
perl-5.20.1-r4.ebuild, perl-5.20.2.ebuild:
Mark arm64/ia64/m68k/s390/sh stable.
05 Apr 2015; Mikle Kolyada <zlogene@gentoo.org> perl-5.20.2.ebuild:
arm stable wrt bug #545510
05 Apr 2015; Mikle Kolyada <zlogene@gentoo.org> perl-5.20.2.ebuild:
x86 stable wrt bug #545510
04 Apr 2015; Mikle Kolyada <zlogene@gentoo.org> perl-5.20.2.ebuild:
alpha stable wrt bug #545510
04 Apr 2015; Mikle Kolyada <zlogene@gentoo.org> perl-5.20.2.ebuild:
amd64 stable wrt bug #545510
12 Mar 2015; Mikle Kolyada <zlogene@gentoo.org> perl-5.20.1-r4.ebuild:
Mark arm64/m68k/s390/sh stable
18 Feb 2015; Agostino Sarubbo <ago@gentoo.org> perl-5.20.1-r4.ebuild:
Stable for alpha, wrt bug #536790
17 Feb 2015; Markus Meier <maekke@gentoo.org> perl-5.20.1-r4.ebuild:
arm stable, bug #536790
17 Feb 2015; Agostino Sarubbo <ago@gentoo.org> perl-5.20.1-r4.ebuild:
Stable for ia64, wrt bug #536790
16 Feb 2015; Agostino Sarubbo <ago@gentoo.org> perl-5.20.1-r4.ebuild:
Stable for sparc, wrt bug #536790
15 Feb 2015; Agostino Sarubbo <ago@gentoo.org> perl-5.20.1-r4.ebuild:
Stable for ppc64, wrt bug #536790
*perl-5.20.2 (14 Feb 2015)
14 Feb 2015; Andreas K. Huettel <dilfridge@gentoo.org> +perl-5.20.2.ebuild:
Version bump
14 Feb 2015; Agostino Sarubbo <ago@gentoo.org> perl-5.20.1-r4.ebuild:
Stable for ppc, wrt bug #536790
13 Feb 2015; Jeroen Roovers <jer@gentoo.org> perl-5.20.1-r4.ebuild:
Stable for HPPA (bug #536790).
13 Feb 2015; Agostino Sarubbo <ago@gentoo.org> perl-5.20.1-r4.ebuild:
Stable for x86, wrt bug #536790
08 Feb 2015; Mikle Kolyada <zlogene@gentoo.org> perl-5.20.1-r4.ebuild:
amd64 stable wrt bug #536790
02 Jan 2015; Mikle Kolyada <zlogene@gentoo.org> -perl-5.20.1-r3.ebuild:
Drop old.
01 Jan 2015; Mikle Kolyada <zlogene@gentoo.org> +ChangeLog-2014:
Split ChangeLog. For previous entries, please see ChangeLog-2014.

File diff suppressed because it is too large Load Diff

View File

@ -1,2 +1,45 @@
DIST perl-5.12.4-1.tar.bz2 8045 SHA256 a5b0a7385773da5e716d74c5f9a46c63d93de96e9e7e60899f40363bd9fe6823 SHA512 73ca51e54f4273dc72c0c891643bd842d2f69b20a7cecf409e9eb790bd82cb0c9b61279555fe9f1930f914218c3055470a9d97e1f94e45d7f148a3100a426579 WHIRLPOOL 1e28cded49c92f29908ac6ba5bbbc4e5579cc373ae3b13a009cc503bfa0b0305cf439fdb722e5ebab2c971163163f50f808baf1bbce76cb4a7c0b49de70fbc96
DIST perl-5.12.4.tar.bz2 12350353 SHA256 c920fa01a34b7752e8cbbc99c6921b908df60611d84a29c4377e4a798604767e SHA512 3dc0250496a2fd6adc639a63d777079d6fa5ba4a1d1c730350fd51752be2c7459ab65d622e99b853a3eea7ccecaf1f5f0b5a0f013efcb6554d6952f47aebf8d0 WHIRLPOOL 40677a8b690a6253609fe1b88bc95d9f8018d167ca4ab6753cba60cc5f5078a4953585a6face4f7e94222cacaca0348093cad6201e1e8c00c4f5a94cce065e49
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
AUX eblits/common-v50160001.eblit 1578 SHA256 431f30795dcfaaddc6c33aeeb13437c6efc239727e7997fd2f9b03e04ed79b91 SHA512 7882c7798ac419179fd99a2d3bff46933c8d30a645ac482fe38dad1a00bccde8fccdd15b3b813cb411b2326a19178228a93d0222f0b0450778d5149a46ba729b WHIRLPOOL ad9a1df3034d8fc25a6bee84817da34a8570ac6227d2dedc7b9d838760b8bac8ac9dfbe83d2a9af71e1c689022179f462f460f0c98e047e38d0cc3b648abab2e
AUX eblits/pkg_postinst-v50160001.eblit 2603 SHA256 bfab0992a63ad1238ca22c6ba5fe17b53cfe3b02fd8fdebe156afe888865a8f4 SHA512 b95e39f8669c33cab0d750e2e8160bff7c2e878812e048b01b207d50355b719aeacf0816c048034b848ba2739db827001b4504b25c46b825f3275e282930c46f WHIRLPOOL d740d910169757025a1fc6f160662ba40bd0c04c646cc1dea4b22db5ff3173ad9d5e45ae627d49a258674f1684c9f7ac07c508f39b7bbd1f152e74e992af398b
AUX eblits/pkg_postinst-v50220001.eblit 2608 SHA256 ccf229f2252e324ca0c41fca6642b6f775e795e6695451448d7483e187c7fefa SHA512 58134464ff09b345d22ff8b25cfa55abf7e0c0f630e12aa1b197e748dadba6f890c05c39d556b9fa9a04da10c027e84ffaf960d05e76018ce9c2df969c2bf12b WHIRLPOOL 2530471f9c43d0369c46d9a7e6c874534c5e431451340d59811361fec3c27f5afcea034716f955a622c218ff467e1672268731c35861bc22a25f8a008fec94a1
AUX eblits/pkg_postrm-v50160001.eblit 414 SHA256 838cf6fc5109410344f51019aa80377be35e466bc6515625475821bcce96dec2 SHA512 702d8dfe508959f3fa0f74d949913f61d3d167c0c30a924b4e08080eb76f7e28b2ad4c46ccbdaf93a2e493400a033f7b9f6ffe8d7ccc0a02b0c9508241cd7c87 WHIRLPOOL 44a9d0087a4dda3281399f11af0d1c0cba7c416fadb1102f02b54d80f180fc7e19a968545fc099619140b06242bfe65dd0baaa150f0553e7c79c5a1c709ead4a
AUX eblits/pkg_postrm-v50220001.eblit 419 SHA256 f7e8357c2c4878a51bfcffac5bc354123a6ecbb35e592058685126f19094cc29 SHA512 b79cb16bb8a5c7e9690ad91b7416c12fa7428f54b771b133464471e768448b285816bc4f45d9b9ee8c460925b6ea1217020b60cd16342a779f9788554a458d29 WHIRLPOOL 847b5bdc6b514bb869954b14f9275069ea4f5abc98e6031ecbd44e0064c79dd076b6081591bf710b15c9a126917534c4193e0d2c75155138d432fbfeb0ea5fd7
AUX eblits/pkg_setup-v50160001.eblit 2481 SHA256 534a3980aa8a7c6709d997708f626ea0886aa6b9ad210e18071170933367392e SHA512 b5ccddf3e61b05d82057e619381b904005bc279e313c2c09d11c0dfd70fe27c99713a59177c4f5ff45d7af12e217fe39cd670b4b6367fd6ba67eab913fb57d4c WHIRLPOOL 6dcda7b4629d6d391dcb7fa9b905ccd732dcfd456ffa5aa2ff8eb66add17fb3155bd9ca34f1b3b5df12cd2b4de74f560c1327cb673799c5a71fb6c0bf95c1692
AUX eblits/pkg_setup-v50220001.eblit 2660 SHA256 c97dc9cc98349a4fe05c8bfdfa2bf33f2926dd05783c0f2386b781695030962b SHA512 8d792664fc3c3e5ed9dafdced1af951a0584ca46512308520bdaced7f6a83d7aabcba06bd4bafa299eda174fa18ae0a4ca5c9197121d76e5a6d894c00af34d78 WHIRLPOOL 7868cfd7ad251777b07703a0c557c134cf89b1702281a6c6bce1d46ae30b5e5b261fb8791c9462a30c3fc1908139eeee3226cb831d6a448283902763154bf64f
AUX eblits/src_configure-v50180002.eblit 4692 SHA256 6c2f3aaffe6ffad57fc7ea4decc1fd4a6635e478e769b95146a8e23bad40282c SHA512 cba38496160e2ce6d165f7ec438c42b37ef431c54ce7466f7863e608208cf3f351efb28ae6d390487e31bedc0c76d09eccb4b3d0985e2fe2d0b76c6a4c59c1fe WHIRLPOOL 5b38ec5fbf3a7728817f48c6a5676869c5826b0dea0a918f0086c92f3e1bdd7fb2a2c1545ee8be7134355be87b724c7c7993d20dc114d0761b069dc2b9264943
AUX eblits/src_install-v50160001.eblit 2122 SHA256 64a8d7bcfd7757e8f15c28f4457240390f5f0ffff3c8c72c3e01a2612b668cec SHA512 ecea3ae0006fa2b009c15cf7ceca989058738e2e893b053dc0bf904ce17443b7d21ed033f09997535fd86da608d1c95d1b93a55268c06cf164d7894a71616e2c WHIRLPOOL a9c5531a799a3054ff3fd9add4e81e818f6f4d01d4826728274a15d98cee2a20188dee906f565ce4b413813068db4ac347ef7b717cd4b9526f54ba208c309491
AUX eblits/src_install-v50200001.eblit 1703 SHA256 236acc83017c76008d52294edbc76f8904024a8471ea077a22bb01ba41eb0814 SHA512 a7282636abcbbc9e476ae3d7353a88289733d7fc74807afbb9bee407942487ca057b97e4e49f7b6d3b62741cb2d4a59e4cb6e92f17704be1890b5f3e6ec3111a WHIRLPOOL a5669019b27ea2774dc7961128f964fcd1df03a443fe331e05cc09d33a29c0fec4d43a564579efc695a7582f0ab145eb78eb339ed128eb7700ded8fc231c926c
AUX eblits/src_prepare-v50160001.eblit 2114 SHA256 dc803c75ffa7194149d7891c90cbdcd56e634afa6d0988db52242c27a6e1df3e SHA512 e6a32a3fd4b1b35ea146aefb67df74517304237d3fede12feaf52a1eed5880c2c15ad3b6bf2eb5bd153c60df5d6e9da583408d469d9014299dd4704e9a65d3db WHIRLPOOL b93e03c60c76a34da9d783bd88b2e0ec6c34c9a3a291973ad856180f4ed7b88ccbdd57fb95227c809c27a8a7537c67bf5ed573f5d7eba35b147ba26242438313
AUX eblits/src_test-v50160001.eblit 503 SHA256 35a8a1a6f89e351e4587c82ef3c30699f8a37d78570e28510c5e02bc9e352198 SHA512 09c6f1b253119d0ad7f7d698c37d9d1979a67a2866c72677177c47d9e7c413a7588e2e531bb1e9790ce49add618b768a7fa271e05171a3ce73fa4433034f91f7 WHIRLPOOL 9aae83a23fc6246d26729ad940a7a13bb89e3b2223581e34000f8a93470455bc8ca5b71ae47bf5e6809544793fe21f7207beca3681990c849838497f32f08b51
DIST perl-5.20.2-patches-1.tar.xz 14640 SHA256 c084291cdf3e78b8fa2901f79e92f1e93aece7b7b8cb4e931a5df9616b0f6ba5 SHA512 5be0314529e926efcad1e73aebef73a72b86587a31ae68a93b8446edd5cea293027c61d41727b993611d7fb1d694b7740b7ed948dc59cd29ea7ad2646e7be327 WHIRLPOOL ea554c09531778bd655e4208943393cdcdb72d980956c609a6cd0da18ee74c3204d51c8151094bad7e602b6bab5f2bb55f35d632beabfdde9ab35ef374e7494c
DIST perl-5.20.2-patches-2.tar.xz 15892 SHA256 5ca37bdd05c770d4d33e59116093d5083bdaffd9212541c7de08d5b8495e9bcd SHA512 6c892a5eb8f9fc1bf4a3c69ed751f22895e4d545e5e70f9c73d54d61121818b4ea220d80a31db4269aca9a7805688d2013c8128e27c013051d4d12d56922f6ed WHIRLPOOL 37c6b9f84a0d9b83220e21d323aea96f00487b37666a48b351fffc7a36c913c43532ab2bcbfd0ab8bca42f95d4bb78d210c20df164861f97e2ddc5e5ffc35a5c
DIST perl-5.20.2.tar.bz2 13717128 SHA256 e5a4713bc65e1da98ebd833dce425c000768bfe84d17ec5183ec5ca249db71ab SHA512 1da867f04137e84cc6f4148fd7c15933cdc675939bf20f524b659b3c3a6225a18efe9f4cd8c445b9536f3efc13f1c5b696fcf14584e1f20ad1f908a9b6ca509c WHIRLPOOL 5654f824c57b4c78a6b4cd250e2055ec541def9a04b976444bbc80ced82105b1e9a283b809535a9092fc21eb6613ab4464f59575bc42f961698bbe70aa5a81a7
DIST perl-5.22.0-patches-1.tar.xz 20892 SHA256 9abd87880c9c91e89e88eb467c124ba66fe3955b526802ad186b030a51a408f8 SHA512 53d5a49d12237aa39dc6ae2cffb9e22bc3776c3e78a3a5a37b4e0a0930eea0a33bf7ce4ab5f0e32d4dc68d0af8341b356de003558c88fb8686e826aee4055870 WHIRLPOOL fd1cc0ebf32664211cf263e2d8e9e1ddf29bad0835e6f377e20ba5dfdd80250f49ff663e2f449dd5e11e3d26a26a2fb51924dde3a5c490cce375c05d990a9e32
DIST perl-5.22.0.tar.bz2 13811518 SHA256 3689fdb519133d039f49e12834764ff4c1de8f8d925dea44a952ca110d0ac9f7 SHA512 97e770d9bc9acbb7fa6939207a46d9a2887a61971c1ae1c8d6b5071bfc0d68a0f539486fea81ba81966f716d7ae532273a27a6baaf323e73fbd5c5eb9bf01fa4 WHIRLPOOL 9416c17323edc9ee5affb8a6d857e9ecf1ac5d7d37ca7d8703bfd15541c97f1031a9c669c9a41d8deb974676e197c0c7be753ad988f050f5fbb5b01942eacb3a
EBUILD perl-5.20.2-r1.ebuild 4310 SHA256 175af16ef349c5d9aa2a15ec0f4ef5a9cf18add4934e293a9d770a612b8efaf7 SHA512 dac146f87344576e4aa4f596a8fec862d496ae3332ca2156761b8fa820c4ac9eeb6b1beaf125e42a9feab23c7f496d9e157575e86af45f2073cd2a1344d2eebb WHIRLPOOL 4da1ee39ac73a590e1c63c842b2ce2784ec73545842b9b2113111ab544ec280693b9c0701eebea0d9d4176cd751f34c5b7e21caf34e5182ff099959969a3cd62
EBUILD perl-5.20.2.ebuild 4295 SHA256 0e9a8538fe6ef4f47e299ec19ef4b413280b30b251d6670bdadf079f268c70c7 SHA512 44c2c7204b4c5e2a75f8c8fec09cafdd171a266a094434974a3379a98410155ca21e473a247b6a8cc9f4f19692e57d2c8c632d2a85369bed77fb58bb16a126f9 WHIRLPOOL 5b7dbc29d9b20de50df8b20a6e3e0ab2202e921901c40f8648baae99450a41fcbe897ff2e959938f1890fc1de076ded076137b002af40794924273a7bf693543
EBUILD perl-5.22.0.ebuild 4173 SHA256 7371f637679766adc8ed3d4f2937966c807dc3d05673eaea31ed1e6df085429d SHA512 b0a07a69af6e522ebc8c9848bd09e1919762ab680a327c5eadb6370ecbe3bda3cc897a273a31ae3ef738d733120518c2279dc89f299c0441ad5c1ec5a000a7d1 WHIRLPOOL 0dcabfc5a11d587addd58861d6f47877b17ee37a84af2009784249eb048bad5407a98266689304877331cbc4b15f4f87f85f75b48b9287d9ddbe12ce1d510fbf
MISC ChangeLog 3505 SHA256 ee4e406b267916f82010b5d51d78814d3ab074cfc720fc0a61e9fcadf45508bc SHA512 6b19ce6be009f9982f2b2d10f7afbc20d7ea46b43b33d906b4a6755df80fb95e0d4175999d8e47986b11d4346bed24b4465374fd3a783e693805df8b72142efd WHIRLPOOL 319a86c0471fcbbbaadebda3a219bc564c0134704a680c21ad0e28c1bba3cc591ffe7c4e331326accc97d1e1869481aa592c56a0b89ee9ae63be12086df172d7
MISC ChangeLog-2014 86908 SHA256 36afb5e482f7c0faf3cb0491c694758752f81a8037fafbf69f33f82a535463dc SHA512 87a6b79f868b97ef1f1430d9616f4f47bc526add8eab73a40065f865a1097bc393001b3457cbfcf876a51cf710fd7d67183932fccdd0a658b9ae8c8cb2e30b52 WHIRLPOOL 536b71f37a08710b083d6df5ecf231ebb6debfaae56f12a5f78b46bf2c419b74eb9f53e35fda4f11c9c95a0a9089c3558b08f575f2c8137fa8fbcf4b19ed098f
MISC metadata.xml 257 SHA256 94d99e58fcedfe7951797e5cbd70790c21b87c1e07a7003f650632bb0a4f2300 SHA512 caf80fd9d8931ab6d476afc21fcc840894cdb4cf548d196958321a0ba09ab83ff98de3f8b5f01701f8101fd0ec0fcfc35ae6e572aa8ef499b106c3ac8cabb769 WHIRLPOOL 7793b51d68b2c56ff1d6029be61fc41007af60c7143e8d82d87891e2863c1978c92d2bc13a0266e4506b69c0012a8555d27ce05061e4ce8c656b32e937badeae
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0
iQJ8BAEBCABmBQJVgCJqXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXRCMkRCMDNGRDg4MkUwQTczOTgwMkE3RUEx
RjU1NzRDRUExQkE5Mjk1AAoJEB9VdM6hupKVRncP/0ze9zmIdn1Mq/WvvIPmxSNt
QnSpoukbOZ0+LQHKFCtzpe43kcSfuJiHYA5VqGxsmpOuW2IenCQcw7qntu3srexh
fjThDUmhoeNoq9vLJ0OTJW/Y7+YDwUjV/p8yi0dx36GJo3LLf8nwuiHkB0zTMK10
37rSBNkBt6nDcLFOzhsiDfBhkkeaxwvvGrSNtDSvQkyqBL6Eno0if9p9udBf3JQS
YEhYcyvcn35PM3bZsanp+BXXyDz6Lj1BtRocEQQutCX9E6NIqsS6aoxvTkjbvdWv
cRCkuh/ryq2KVSYFL+VuEPhSx3FHF1HhCNGna6QDuJRAfjJnVdF3HZqMu16kW774
EeE0Igm/v0d1Fg5YJ1p6HyWEEhaDksofOPR10OvqK8BzWqhcjlpCSq+s1si04QTG
GNHqRU5HqBTHXynRYgUJCVvizpkUjgaaj7R+mRoZn7pEHSHiHxsGZEsAih1c6gcw
Wt7eZOoem8T/avM3ROO1y/kve4SgMoG/xSUgChW9MZ753frX3k4BTwR9ksxM4X8/
i53XSmuRVcLUJjcKtzvB75kyXX3kdm8CHMr7vMHTTXWYoVlC4/HOfkCKuvENXRpM
tsS3Q2Y2/mTBiLCB0gVht0ObCuyMGfjVD1YeOHOmD8ECJc+9q6IV71ibfWcyTAS0
3/n0qcUXlDEWRhnwXPEp
=ykEy
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,67 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-lang/perl/files/eblits/pkg_postinst-v50220001.eblit,v 1.1 2015/06/16 13:18:31 dilfridge Exp $
eblit-perl-pkg_postinst() {
dual_scripts
if [[ "${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
# ebegin "Generating ConfigLocal.pm (ignore any error)"
# enc2xs -C
einfo "Converting C header files to the corresponding Perl format (ignore any error)"
# Prefix note: unprefixed as this is all kernel/libc stuff that we never provide
pushd /usr/include >/dev/null
h2ph -Q -a -d "${EPREFIX}"${ARCH_LIB} \
asm/termios.h syscall.h syslimits.h syslog.h sys/ioctl.h \
sys/socket.h sys/time.h wait.h sysexits.h
popd >/dev/null
# This has been moved into a function because rumor has it that a future release
# of portage will allow us to check what version was just removed - which means
# we will be able to invoke this only as needed :)
# Tried doing this via -z, but $INC is too big...
#if [[ "${INC}x" != "x" ]]; then
# cleaner_msg
#fi
fi
}
cleaner_msg() {
eerror "You have had multiple versions of perl. It is recommended"
eerror "that you run perl-cleaner now. perl-cleaner will"
eerror "assist with this transition. This script is capable"
eerror "of cleaning out old .ph files, rebuilding modules for "
eerror "your new version of perl, as well as re-emerging"
eerror "applications that compiled against your old libperl$(get_libname)"
eerror
eerror "PLEASE DO NOT INTERRUPT THE RUNNING OF THIS SCRIPT."
eerror "Part of the rebuilding of applications compiled against "
eerror "your old libperl involves temporarily unmerging"
eerror "them - interruptions could leave you with unmerged"
eerror "packages before they can be remerged."
eerror ""
eerror "If you have run perl-cleaner and a package still gives"
eerror "you trouble, and re-emerging it fails to correct"
eerror "the problem, please check http://bugs.gentoo.org/"
eerror "for more information or to report a bug."
eerror ""
}

View File

@ -0,0 +1,12 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-lang/perl/files/eblits/pkg_postrm-v50220001.eblit,v 1.1 2015/06/16 13:18:31 dilfridge Exp $
eblit-perl-pkg_postrm(){
dual_scripts
# if [[ -e ${ARCH_LIB}/Encode/ConfigLocal.pm ]] ; then
# ebegin "Removing ConfigLocal.pm"
# rm "${ARCH_LIB}/Encode/ConfigLocal.pm"
# fi
}

View File

@ -1,6 +1,6 @@
# Copyright 1999-2012 Gentoo Foundation
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-lang/perl/files/eblits/pkg_setup-v50160001.eblit,v 1.1 2012/06/05 17:52:35 tove Exp $
# $Header: /var/cvsroot/gentoo-x86/dev-lang/perl/files/eblits/pkg_setup-v50160001.eblit,v 1.2 2013/11/22 08:56:13 haubi Exp $
eblit-perl-pkg_setup() {
case ${CHOST} in
@ -10,6 +10,7 @@ eblit-perl-pkg_setup() {
*-openbsd*) osname="openbsd" ;;
*-darwin*) osname="darwin" ;;
*-interix*) osname="interix" ;;
*-aix*) osname="aix" ;;
*) osname="linux" ;;
esac

View File

@ -0,0 +1,72 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-lang/perl/files/eblits/pkg_setup-v50220001.eblit,v 1.1 2015/06/16 13:18:31 dilfridge Exp $
eblit-perl-pkg_setup() {
case ${CHOST} in
*-freebsd*) osname="freebsd" ;;
*-dragonfly*) osname="dragonfly" ;;
*-netbsd*) osname="netbsd" ;;
*-openbsd*) osname="openbsd" ;;
*-darwin*) osname="darwin" ;;
*-interix*) osname="interix" ;;
*-aix*) osname="aix" ;;
*) osname="linux" ;;
esac
myarch="${CHOST%%-*}-${osname}"
if use debug ; then
myarch+="-debug"
fi
if use ithreads ; then
mythreading="-multi"
myarch+="-thread"
fi
LIBPERL="libperl$(get_libname ${MY_PV} )"
PRIV_LIB="/usr/$(get_libdir)/perl5/${MY_PV}"
ARCH_LIB="/usr/$(get_libdir)/perl5/${MY_PV}/${myarch}${mythreading}"
SITE_LIB="/usr/local/$(get_libdir)/perl5/${MY_PV}"
SITE_ARCH="/usr/local/$(get_libdir)/perl5/${MY_PV}/${myarch}${mythreading}"
VENDOR_LIB="/usr/$(get_libdir)/perl5/vendor_perl/${MY_PV}"
VENDOR_ARCH="/usr/$(get_libdir)/perl5/vendor_perl/${MY_PV}/${myarch}${mythreading}"
if use ithreads ; then
echo ""
ewarn "THREADS WARNING:"
ewarn "PLEASE NOTE: You are compiling ${MY_P} with"
ewarn "interpreter-level threading enabled."
ewarn "Threading is not supported by all applications "
ewarn "that compile against perl. You use threading at "
ewarn "your own discretion. "
fi
check_rebuild
dual_scripts
}
check_rebuild() {
if has_version "<dev-lang/perl-${SHORT_PV}" ; then
echo ""
ewarn "UPDATE THE PERL MODULES:"
ewarn "After updating dev-lang/perl the installed Perl modules will"
ewarn "have to be re-installed. In most cases, this is done automatically"
ewarn "by the package manager, but you should still call perl-cleaner to"
ewarn "make sure your system is consistent."
ewarn "Use: perl-cleaner --all"
elif has_version dev-lang/perl ; then
# doesnot work
#if ! has_version dev-lang/perl[ithreads=,debug=] ; then
#if ! has_version dev-lang/perl[ithreads=] || ! has_version dev-lang/perl[debug=] ; then
if ( use ithreads && ! has_version dev-lang/perl[ithreads] ) || \
( ! use ithreads && has_version dev-lang/perl[ithreads] ) || \
( 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 or debug."
ewarn "You must rebuild all perl-modules installed."
ewarn "Use: perl-cleaner --modules ; perl-cleaner --force --libperl"
fi
fi
}

View File

@ -1,6 +1,6 @@
# Copyright 1999-2012 Gentoo Foundation
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-lang/perl/files/eblits/src_configure-v50160001.eblit,v 1.5 2012/08/16 10:47:29 grobian Exp $
# $Header: /var/cvsroot/gentoo-x86/dev-lang/perl/files/eblits/src_configure-v50180002.eblit,v 1.3 2014/09/26 11:00:50 grobian Exp $
myconf() {
# the myconf array is declared in src_configure
@ -74,27 +74,21 @@ eblit-perl-src_configure() {
[[ ${ELIBC} == "FreeBSD" ]] && myconf "-Dlibc=/usr/$(get_libdir)/libc.a"
# Make sure we can do the final link #523730
[[ ${CHOST} == *-darwin* ]] && myconf "-Dld=$(tc-getCC)"
# 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
local ldir
local paths=""
echo "int main() {}" > "${T}"/t.c
# need to ensure dirs contain compatible libs,
# bugs #358875, #400839, use scanelf for #425538
$(tc-getCC) -o "${T}"/t "${T}"/t.c > /dev/null || die
local scantool=scanelf
[[ ${CHOST} == *-darwin* ]] && scantool=scanmacho
local mtype=$(${scantool} -BF "%M%D#f" "${T}"/t)
einfo "searching libdirs for ${mtype}"
for ldir in /lib/*-linux-gnu /usr/lib/*-linux-gnu /lib64 /lib/64 /usr/lib64 /usr/lib/64 /lib32 /usr/lib32 /lib /usr/lib ; do
[[ -e ${ldir} ]] || continue
if ${scantool} -BF "%M%D#f" ${ldir}/ | grep -q ${mtype} ; then
paths="${paths} ${ldir}"
einfo "found ${ldir}"
fi
done
# 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 ' ...
@ -102,7 +96,14 @@ eblit-perl-src_configure() {
fi
# don't try building ODBM, bug #354453
myconf -Dnoextensions=ODBM_File
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}"
sh Configure \
-des \

View File

@ -1,6 +1,6 @@
# Copyright 1999-2012 Gentoo Foundation
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-lang/perl/files/eblits/src_install-v50160001.eblit,v 1.1 2012/06/05 17:52:35 tove Exp $
# $Header: /var/cvsroot/gentoo-x86/dev-lang/perl/files/eblits/src_install-v50160001.eblit,v 1.3 2013/03/14 12:46:31 tove Exp $
eblit-perl-src_install() {
local i
@ -55,5 +55,7 @@ eblit-perl-src_install() {
--htmldir="${ED}/usr/share/doc/${PF}/html"
fi
[[ -d ${ED}/usr/local ]] && rm -r "${ED}"/usr/local
dual_scripts
}

View File

@ -0,0 +1,51 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-lang/perl/files/eblits/src_install-v50200001.eblit,v 1.1 2014/12/19 18:52:46 dilfridge Exp $
eblit-perl-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 ../../../../../$(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
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
find "${ED}" -type f -name .packlist -delete || die
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
}

View File

@ -1,100 +0,0 @@
cut the crap of inventing paths, or adding search paths that we don't use
--- Configure
+++ Configure
@@ -102,28 +102,6 @@
fi
fi
-: Proper PATH setting
-paths='/bin /usr/bin /usr/local/bin /usr/ucb /usr/local /usr/lbin'
-paths="$paths /opt/bin /opt/local/bin /opt/local /opt/lbin"
-paths="$paths /usr/5bin /etc /usr/gnu/bin /usr/new /usr/new/bin /usr/nbin"
-paths="$paths /opt/gnu/bin /opt/new /opt/new/bin /opt/nbin"
-paths="$paths /sys5.3/bin /sys5.3/usr/bin /bsd4.3/bin /bsd4.3/usr/ucb"
-paths="$paths /bsd4.3/usr/bin /usr/bsd /bsd43/bin /opt/ansic/bin /usr/ccs/bin"
-paths="$paths /etc /usr/lib /usr/ucblib /lib /usr/ccs/lib"
-paths="$paths /sbin /usr/sbin /usr/libexec"
-paths="$paths /system/gnu_library/bin"
-
-for p in $paths
-do
- case "$p_$PATH$p_" in
- *$p_$p$p_*) ;;
- *) test -d $p && PATH=$PATH$p_$p ;;
- esac
-done
-
-PATH=.$p_$PATH
-export PATH
-
: shall we be using ksh?
inksh=''
needksh=''
@@ -8282,66 +8260,6 @@
;;
esac
-# How will the perl executable find the installed shared $libperl?
-# Add $xxx to ccdlflags.
-# If we can't figure out a command-line option, use $shrpenv to
-# set env LD_RUN_PATH. The main perl makefile uses this.
-shrpdir=$archlibexp/CORE
-xxx=''
-tmp_shrpenv=''
-if "$useshrplib"; then
- case "$osname" in
- aix)
- # We'll set it in Makefile.SH...
- ;;
- solaris)
- xxx="-R $shrpdir"
- ;;
- freebsd|netbsd|openbsd|interix|dragonfly)
- xxx="-Wl,-R$shrpdir"
- ;;
- bsdos|linux|irix*|dec_osf|gnu*)
- xxx="-Wl,-rpath,$shrpdir"
- ;;
- next)
- # next doesn't like the default...
- ;;
- beos)
- # beos doesn't like the default, either.
- ;;
- haiku)
- # Haiku doesn't like the default, either.
- ;;
- hpux*)
- # hpux doesn't like the default, either.
- tmp_shrpenv="env LDOPTS=\"+s +b${shrpdir}\""
- ;;
- cygwin)
- # cygwin needs only ldlibpth
- ;;
- *)
- tmp_shrpenv="env LD_RUN_PATH=$shrpdir"
- ;;
- esac
- case "$xxx" in
- '') ;;
- *)
- # Only add $xxx if it isn't already in ccdlflags.
- case " $ccdlflags " in
- *" $xxx "*) ;;
- *) ccdlflags="$ccdlflags $xxx"
- cat <<EOM >&4
-
-Adding $xxx to the flags
-passed to $ld so that the perl executable will find the
-installed shared $libperl.
-
-EOM
- ;;
- esac
- ;;
- esac
-fi
# Fix ccdlflags in AIX for building external extensions.
# (For building Perl itself bare -bE:perl.exp is needed,
# Makefile.SH takes care of this.)

View File

@ -1,40 +0,0 @@
# do not assume '.' being in PATH on hpux,
# use 'gcc' as linker, link with '-lm'.
--- hints/hpux.sh
+++ hints/hpux.sh
@@ -190,7 +190,7 @@
$define|true|[Yy])
echo '#include <stdio.h>\nint main(){long l;printf("%d\\n",sizeof(l));}'>try.c
$cc -o try $ccflags $ldflags try.c
- if [ "`try`" = "8" ]; then
+ if [ "`./try`" = "8" ]; then
case "$use64bitall" in
$define|true|[Yy]) ;;
*) cat <<EOM >&4
@@ -338,7 +338,7 @@
} /* main */
EOF
$cc -o try $ccflags $ldflags try.c
- maxdsiz=`try`
+ maxdsiz=`./try`
rm -f try try.c core
if [ $maxdsiz -le 64 ]; then
# 64 Mb is probably not enough to optimize toke.c
@@ -363,11 +363,12 @@
"") optimize="-g -O" ;;
*O[3456789]*) optimize=`echo "$optimize" | sed -e 's/O[3-9]/O2/'` ;;
esac
- #ld="$cc"
- ld=/usr/bin/ld
+ ld="$cc"
+ #ld=/usr/bin/ld
cccdlflags='-fPIC'
- #lddlflags='-shared'
- lddlflags='-b'
+ lddlflags='-shared'
+ #lddlflags='-b'
+ libs='-lm'
case "$optimize" in
*-g*-O*|*-O*-g*)
# gcc without gas will not accept -g

View File

@ -1,70 +0,0 @@
1) Match "powerpc-ibm-aix5.3.0.0-gcc" as gcc too.
2) Creating shared library on aix with full soname support, following
http://lists.gnu.org/archive/html/libtool/2011-01/msg00023.html
http://lists.gnu.org/archive/html/libtool/2011-02/msg00000.html
Once there is an agreement on that, this patch basically is designed
for upstream perl to be applied when their soname would change anyway.
However, there is 'strip' being used, and I don't know yet what to
use instead in cross-aix setups with recent binutils.
--- Makefile.SH
+++ Makefile.SH
@@ -92,12 +92,12 @@
;;
aix*)
case "$cc" in
- gcc*)
- shrpldflags="-shared -Wl,-H512 -Wl,-T512 -Wl,-bhalt:4 -Wl,-bM:SRE -Wl,-bE:perl.exp"
+ *gcc*)
+ shrpldflags="-shared -Wl,-H512 -Wl,-T512 -Wl,-bhalt:4 -Wl,-bE:perl.exp"
case "$osvers" in
- 3*) shrpldflags="$shrpldflags -e _nostart"
+ 3*) shrpldflags="$shrpldflags -Wl,-bM:SRE -e _nostart"
;;
- *) shrpldflags="$shrpldflags -Wl,-bnoentry"
+ *) shrpldflags="$shrpldflags -Wl,-G -Wl,-bernotok -Wl,-bnoentry"
;;
esac
shrpldflags="$shrpldflags $ldflags $perllibs $cryptlib"
@@ -105,11 +105,11 @@
linklibperl_nonshr='-lperl_nonshr'
;;
*)
- shrpldflags="-H512 -T512 -bhalt:4 -bM:SRE -bE:perl.exp"
+ shrpldflags="-H512 -T512 -bhalt:4 -bE:perl.exp"
case "$osvers" in
- 3*) shrpldflags="$shrpldflags -e _nostart"
+ 3*) shrpldflags="$shrpldflags -bM:SRE -e _nostart"
;;
- *) shrpldflags="$shrpldflags -b noentry"
+ *) shrpldflags="$shrpldflags -G -bernotok -b noentry"
;;
esac
shrpldflags="$shrpldflags $ldflags $perllibs $cryptlib"
@@ -763,11 +763,19 @@
!NO!SUBS!
case "$osname" in
aix)
- $spitshell >>$Makefile <<'!NO!SUBS!'
- rm -f libperl$(OBJ_EXT)
- mv $@ libperl$(OBJ_EXT)
- $(AR) qv $(LIBPERL) libperl$(OBJ_EXT)
-!NO!SUBS!
+ bits=32
+ if test X"$use64bitall" = Xdefine; then bits=64; fi
+ $spitshell >>$Makefile <<!GROK!THIS!
+ rm -f shr.imp shr.o
+ mv \$@ shr.o
+ strip -e shr.o
+ ( echo '#! libperl.so.${revision}.${patchlevel}(shr.o)' \\
+ ; echo '# ${bits}' \\
+ ; grep -v '^#!' perl.exp \\
+ ) > shr.imp
+ \$(AR) qv \$@ shr.imp shr.o
+ rm -f shr.imp shr.o
+!GROK!THIS!
;;
esac
;;

View File

@ -1,21 +0,0 @@
reported: http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2011-04/msg01014.html
diff -ru perl-5.12.3.orig/hints/interix.sh perl-5.12.3/hints/interix.sh
--- perl-5.12.3.orig/hints/interix.sh 2011-04-27 08:34:00 +0200
+++ perl-5.12.3/hints/interix.sh 2011-04-27 08:53:46 +0200
@@ -6,14 +6,13 @@
cc='gcc'
cccdlflags="-DPIC $cccdlflags"
ccdlflags='-Wl,-E'
-ccflags="-D_ALL_SOURCE $ccflags"
-d_poll="$undef"
ld='gcc'
lddlflags="-shared $lddlflags"
rpathflag='-Wl,-R'
sharpbang='#!'
usemymalloc='false'
usenm='false'
+firstmakefile=GNUmakefile
# This script UU/usethreads.cbu will get 'called-back' by Configure
# after it has prompted the user for whether to use threads.

View File

@ -1,321 +0,0 @@
http://rt.perl.org/rt3/Ticket/Display.html?id=89502
--- perl-5.12.3/Configure 2011-02-21 09:18:09.000000000 +0000
+++ perl-5.12.3/Configure 2011-02-21 09:38:49.000000000 +0000
@@ -1275,6 +1275,9 @@
elif test -n "$DJGPP"; then
: DOS DJGPP
_exe=".exe"
+elif test -f "/kern/cookiejar"; then
+: MiNT
+ _exe=""
elif test -d c:/. -o -n "$is_os2" ; then
: OS/2 or cygwin
_exe=".exe"
@@ -1402,7 +1405,7 @@
xcat=/bin/cat
test -f $xcat$_exe || xcat=/usr/bin/cat
if test ! -f $xcat$_exe; then
- for p in `echo $PATH | sed -e "s/$p_/ /g"` $paths; do
+ for p in `echo $PATH | sed -e 's/$p_/ /g'` $paths; do
if test -f $p/cat$_exe; then
xcat=$p/cat
break
--- perl-5.12.3/ext/DynaLoader/dl_dld.xs 2010-11-21 21:40:55.000000000 +0000
+++ perl-5.12.3/ext/DynaLoader/dl_dld.xs 2011-02-21 09:38:51.000000000 +0000
@@ -116,6 +116,18 @@
goto haverror;
}
+ DLDEBUG(1,PerlIO_printf(Perl_debug_log, "dld_link(libm.a)\n"));
+ if (dlderr = dld_link("/usr/lib/libm.a")) {
+ SaveError(aTHX_ "dld_link(libm.a): %s", dld_strerror(dlderr));
+ goto haverror;
+ }
+
+ DLDEBUG(1,PerlIO_printf(Perl_debug_log, "dld_link(libc.a)\n"));
+ if (dlderr = dld_link("/usr/lib/libc.a")) {
+ SaveError(aTHX_ "dld_link(libc.a): %s", dld_strerror(dlderr));
+ goto haverror;
+ }
+
max = AvFILL(dl_resolve_using);
for (x = 0; x <= max; x++) {
char *sym = SvPVX(*av_fetch(dl_resolve_using, x, 0));
--- perl-5.12.3/malloc.c 2011-01-09 20:20:57.000000000 +0000
+++ perl-5.12.3/malloc.c 2011-02-21 09:38:51.000000000 +0000
@@ -264,7 +264,7 @@
#define MIN_BUC_POW2 (sizeof(void*) > 4 ? 3 : 2) /* Allow for 4-byte arena. */
#define MIN_BUCKET (MIN_BUC_POW2 * BUCKETS_PER_POW2)
-#if !(defined(I286) || defined(atarist))
+#if !defined(I286)
/* take 2k unless the block is bigger than that */
# define LOG_OF_MIN_ARENA 11
#else
@@ -551,8 +551,8 @@
*/
#define u_short unsigned short
-/* 286 and atarist like big chunks, which gives too much overhead. */
-#if (defined(RCHECK) || defined(I286) || defined(atarist)) && defined(PACK_MALLOC)
+/* 286 like big chunks, which gives too much overhead. */
+#if (defined(RCHECK) || defined(I286)) && defined(PACK_MALLOC)
# undef PACK_MALLOC
#endif
@@ -1734,16 +1734,14 @@
/* Second, check alignment. */
slack = 0;
-#if !defined(atarist) /* on the atari we dont have to worry about this */
-# ifndef I286 /* The sbrk(0) call on the I286 always returns the next segment */
+#ifndef I286 /* The sbrk(0) call on the I286 always returns the next segment */
/* WANTED_ALIGNMENT may be more than NEEDED_ALIGNMENT, but this may
improve performance of memory access. */
if (PTR2UV(cp) & (WANTED_ALIGNMENT - 1)) { /* Not aligned. */
slack = WANTED_ALIGNMENT - (PTR2UV(cp) & (WANTED_ALIGNMENT - 1));
add += slack;
}
-# endif
-#endif /* !atarist */
+#endif
if (add) {
DEBUG_m(PerlIO_printf(Perl_debug_log,
--- perl-5.12.3/miniperlmain.c 2011-01-09 20:20:57.000000000 +0000
+++ perl-5.12.3/miniperlmain.c 2011-02-21 09:38:49.000000000 +0000
@@ -45,7 +45,7 @@
#if defined (atarist)
/* The Atari operating system doesn't have a dynamic stack. The
stack size is determined from this value. */
-long _stksize = 64 * 1024;
+long _stksize = 256 * 1024;
#endif
#if defined(PERL_GLOBAL_STRUCT_PRIVATE)
--- perl-5.12.3/os2/perlrexx.c 2010-11-21 21:40:56.000000000 +0000
+++ perl-5.12.3/os2/perlrexx.c 2011-02-21 09:42:49.000000000 +0000
@@ -38,7 +38,7 @@
#if defined (atarist)
/* The Atari operating system doesn't have a dynamic stack. The
stack size is determined from this value. */
-long _stksize = 64 * 1024;
+long _stksize = 256 * 1024;
#endif
/* Register any extra external extensions */
--- perl-5.12.3/perl.c 2011-02-21 09:17:19.000000000 +0000
+++ perl-5.12.3/perl.c 2011-02-21 09:38:50.000000000 +0000
@@ -3272,10 +3272,6 @@
"\n\nOS/2 port Copyright (c) 1990, 1991, Raymond Chen, Kai Uwe Rommel\n"
"Version 5 port Copyright (c) 1994-2002, Andreas Kaiser, Ilya Zakharevich\n");
#endif
-#ifdef atarist
- PerlIO_printf(PerlIO_stdout(),
- "atariST series port, ++jrb bammi@cadence.com\n");
-#endif
#ifdef __BEOS__
PerlIO_printf(PerlIO_stdout(),
"BeOS port Copyright Tom Spindler, 1997-1999\n");
--- perl-5.12.3/perl.h 2011-01-09 20:20:57.000000000 +0000
+++ perl-5.12.3/perl.h 2011-02-21 09:38:50.000000000 +0000
@@ -497,7 +497,7 @@
*/
/* define this once if either system, instead of cluttering up the src */
-#if defined(MSDOS) || defined(atarist) || defined(WIN32) || defined(NETWARE)
+#if defined(MSDOS) || defined(WIN32) || defined(NETWARE)
#define DOSISH 1
#endif
--- perl-5.12.3/perlio.c 2009-04-14 23:47:25.000000000 +0000
+++ perl-5.12.3/perlio.c 2010-03-23 18:36:15.000000000 +0000
@@ -135,17 +135,6 @@
* This used to be contents of do_binmode in doio.c
*/
#ifdef DOSISH
-# if defined(atarist)
- PERL_UNUSED_ARG(iotype);
- if (!fflush(fp)) {
- if (mode & O_BINARY)
- ((FILE *) fp)->_flag |= _IOBIN;
- else
- ((FILE *) fp)->_flag &= ~_IOBIN;
- return 1;
- }
- return 0;
-# else
dTHX;
PERL_UNUSED_ARG(iotype);
#ifdef NETWARE
@@ -153,7 +142,7 @@
#else
if (PerlLIO_setmode(fileno(fp), mode) != -1) {
#endif
-# if defined(WIN32) && defined(__BORLANDC__)
+# if defined(WIN32) && defined(__BORLANDC__)
/*
* The translation mode of the stream is maintained independent
of
@@ -169,12 +158,11 @@
fp->flags |= _F_BIN;
else
fp->flags &= ~_F_BIN;
-# endif
+# endif
return 1;
}
else
return 0;
-# endif
#else
# if defined(USEMYBINMODE)
dTHX;
--- perl-5.12.3/pp_sys.c 2011-01-09 20:20:58.000000000 +0000
+++ perl-5.12.3/pp_sys.c 2011-02-21 09:38:50.000000000 +0000
@@ -3308,14 +3308,6 @@
RETPUSHNO;
}
-#if defined(atarist) /* this will work with atariST. Configure will
- make guesses for other systems. */
-# define FILE_base(f) ((f)->_base)
-# define FILE_ptr(f) ((f)->_ptr)
-# define FILE_cnt(f) ((f)->_cnt)
-# define FILE_bufsiz(f) ((f)->_cnt + ((f)->_ptr - (f)->_base))
-#endif
-
PP(pp_fttext)
{
dVAR;
@@ -5567,30 +5559,6 @@
case 8:
retval = syscall(a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);
break;
-#ifdef atarist
- case 9:
- retval = syscall(a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);
- break;
- case 10:
- retval = syscall(a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);
- break;
- case 11:
- retval = syscall(a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],
- a[10]);
- break;
- case 12:
- retval = syscall(a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],
- a[10],a[11]);
- break;
- case 13:
- retval = syscall(a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],
- a[10],a[11],a[12]);
- break;
- case 14:
- retval = syscall(a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],
- a[10],a[11],a[12],a[13]);
- break;
-#endif /* atarist */
}
SP = ORIGMARK;
PUSHi(retval);
--- perl-5.12.3/util.c 2011-01-09 20:20:58.000000000 +0000
+++ perl-5.12.3/util.c 2011-02-21 09:38:51.000000000 +0000
@@ -2545,7 +2545,7 @@
return PerlIO_fdopen(p[This], mode);
}
#else
-#if defined(atarist) || defined(EPOC)
+#if defined(EPOC)
FILE *popen();
PerlIO *
Perl_my_popen(pTHX_ const char *cmd, const char *mode)
@@ -2994,7 +2994,7 @@
}
#endif
-#if defined(atarist) || defined(OS2) || defined(EPOC)
+#if defined(OS2) || defined(EPOC)
int pclose();
#ifdef HAS_FORK
int /* Cannot prototype with I32
@@ -3111,7 +3111,7 @@
I32 len = 0;
int retval;
char *bufend;
-#if defined(DOSISH) && !defined(OS2) && !defined(atarist)
+#if defined(DOSISH) && !defined(OS2)
# define SEARCH_EXTS ".bat", ".cmd", NULL
# define MAX_EXT_LEN 4
#endif
@@ -3234,28 +3234,25 @@
bufend = s + strlen(s);
while (s < bufend) {
-#if defined(atarist) || defined(DOSISH)
+#if defined(DOSISH)
for (len = 0; *s
-# ifdef atarist
- && *s != ','
-# endif
&& *s != ';'; len++, s++) {
if (len < sizeof tmpbuf)
tmpbuf[len] = *s;
}
if (len < sizeof tmpbuf)
tmpbuf[len] = '\0';
-#else /* ! (atarist || DOSISH) */
+#else /* ! (DOSISH) */
s = delimcpy(tmpbuf, tmpbuf + sizeof tmpbuf, s, bufend,
':',
&len);
-#endif /* ! (atarist || DOSISH) */
+#endif /* ! (DOSISH) */
if (s < bufend)
s++;
if (len + 1 + strlen(scriptname) + MAX_EXT_LEN >= sizeof tmpbuf)
continue; /* don't search dir with too-long name */
if (len
-# if defined(atarist) || defined(DOSISH)
+# if defined(DOSISH)
&& tmpbuf[len - 1] != '/'
&& tmpbuf[len - 1] != '\\'
# endif
--- perl-5.12.3/hints/freemint.sh 2011-01-09 20:20:58.000000000 +0000
+++ perl-5.12.3/hints/freemint.sh 2011-02-21 09:38:51.000000000 +0000
@@ -0,0 +1,34 @@
+# hints/freemint.sh
+#
+# talk to guido@freemint.de if you want to change this file.
+# Please read the README.mint file.
+#
+# misc stuff
+
+archname="m68k-freemint"
+
+cccdlflags=' '; # avoid -fPIC
+ccdlflags="-Wl,-whole-archive -lgcc -lpthread -Wl,-no-whole-archive"
+
+# libs
+libpth="$prefix/lib /usr/local/lib /usr/lib"
+glibpth="$libpth"
+xlibpth="$libpth"
+
+ccflags="$ccflags -D_GNU_SOURCE"
+libswanted='m dld'
+dl_src='dl_dld.xs'
+dlext='o'
+lddlflags='-r'
+ldflags='-static'
+so='none'
+useshrplib='false'
+
+#sbrk() returns -1 (failure) somewhere in lib/unicore/mktables at
+#around 14M, so we need to use system malloc() as our sbrk()
+malloc_cflags='ccflags="-DUSE_PERL_SBRK -DPERL_SBRK_VIA_MALLOC $ccflags"'
+
+# Locales aren't feeling well. We crash if -Ox used.
+locale_cflags='optimize="-O0"'
+LC_ALL=C; export LC_ALL;
+LANG=C; export LANG;

View File

@ -1,100 +0,0 @@
cut the crap of inventing paths, or adding search paths that we don't use
--- Configure
+++ Configure
@@ -105,28 +105,6 @@
fi
fi
-: Proper PATH setting
-paths='/bin /usr/bin /usr/local/bin /usr/ucb /usr/local /usr/lbin'
-paths="$paths /opt/bin /opt/local/bin /opt/local /opt/lbin"
-paths="$paths /usr/5bin /etc /usr/gnu/bin /usr/new /usr/new/bin /usr/nbin"
-paths="$paths /opt/gnu/bin /opt/new /opt/new/bin /opt/nbin"
-paths="$paths /sys5.3/bin /sys5.3/usr/bin /bsd4.3/bin /bsd4.3/usr/ucb"
-paths="$paths /bsd4.3/usr/bin /usr/bsd /bsd43/bin /opt/ansic/bin /usr/ccs/bin"
-paths="$paths /etc /usr/lib /usr/ucblib /lib /usr/ccs/lib"
-paths="$paths /sbin /usr/sbin /usr/libexec"
-paths="$paths /system/gnu_library/bin"
-
-for p in $paths
-do
- case "$p_$PATH$p_" in
- *$p_$p$p_*) ;;
- *) test -d $p && PATH=$PATH$p_$p ;;
- esac
-done
-
-PATH=.$p_$PATH
-export PATH
-
: shall we be using ksh?
inksh=''
needksh=''
@@ -8287,66 +8265,6 @@
;;
esac
-# How will the perl executable find the installed shared $libperl?
-# Add $xxx to ccdlflags.
-# If we can't figure out a command-line option, use $shrpenv to
-# set env LD_RUN_PATH. The main perl makefile uses this.
-shrpdir=$archlibexp/CORE
-xxx=''
-tmp_shrpenv=''
-if "$useshrplib"; then
- case "$osname" in
- aix)
- # We'll set it in Makefile.SH...
- ;;
- solaris)
- xxx="-R $shrpdir"
- ;;
- freebsd|mirbsd|netbsd|openbsd|interix|dragonfly)
- xxx="-Wl,-R$shrpdir"
- ;;
- bsdos|linux|irix*|dec_osf|gnu*)
- xxx="-Wl,-rpath,$shrpdir"
- ;;
- next)
- # next doesn't like the default...
- ;;
- beos)
- # beos doesn't like the default, either.
- ;;
- haiku)
- # Haiku doesn't like the default, either.
- ;;
- hpux*)
- # hpux doesn't like the default, either.
- tmp_shrpenv="env LDOPTS=\"+s +b${shrpdir}\""
- ;;
- cygwin)
- # cygwin needs only ldlibpth
- ;;
- *)
- tmp_shrpenv="env LD_RUN_PATH=$shrpdir"
- ;;
- esac
- case "$xxx" in
- '') ;;
- *)
- # Only add $xxx if it isn't already in ccdlflags.
- case " $ccdlflags " in
- *" $xxx "*) ;;
- *) ccdlflags="$ccdlflags $xxx"
- cat <<EOM >&4
-
-Adding $xxx to the flags
-passed to $ld so that the perl executable will find the
-installed shared $libperl.
-
-EOM
- ;;
- esac
- ;;
- esac
-fi
# Fix ccdlflags in AIX for building external extensions.
# (For building Perl itself bare -bE:perl.exp is needed,
# Makefile.SH takes care of this.)

View File

@ -1,21 +0,0 @@
Bug #105054.
We do not want the build root in the linked perl module's RUNPATH, so strip
paths containing PORTAGE_TMPDIR if its set.
--- perl-5.8.7/lib/ExtUtils/MM_Unix.pm 2005-09-10 14:06:59.000000000 +0200
+++ perl-5.8.7.az/lib/ExtUtils/MM_Unix.pm 2005-09-10 15:25:52.000000000 +0200
@@ -1915,6 +1915,13 @@
# LD_RUN_PATH now computed by ExtUtils::Liblist
($self->{EXTRALIBS}, $self->{BSLOADLIBS},
$self->{LDLOADLIBS}, $self->{LD_RUN_PATH}) = @libs;
+ # We do not want the build root in RPATH
+ if (exists $ENV{PORTAGE_TMPDIR}) {
+ # If we have PORTAGE_TMPDIR set, strip that, as just testing for
+ # /usr and /opt might not be sufficient
+ $self->{LD_RUN_PATH} = join ':', grep !/^\Q$ENV{PORTAGE_TMPDIR}/,
+ split /:/, $self->{LD_RUN_PATH};
+ }
last;
}
}

View File

@ -1,280 +0,0 @@
SECURITY [CAN-2005-0448]:
Rewrite File::Path::rmtree to avoid race condition which allows an
attacker with write permission on directories in the tree being
removed to make files setuid or to remove arbitrary files (see
http://bugs.debian.org/286905 and http://bugs.debian.org/286922).
Revised for 5.8.8-7etch6 to avoid failure when rmtree removes the
current directory.
diff --git a/lib/File/Path.pm b/lib/File/Path.pm
index 2e41ff3..fd32b96 100644
--- a/lib/File/Path.pm
+++ b/lib/File/Path.pm
@@ -72,33 +72,17 @@ or C<unlink> to remove it, or that it's skipping it.
=item *
-a boolean value, which if TRUE will cause C<rmtree> to
-skip any files to which you do not have delete access
-(if running under VMS) or write access (if running
-under another OS). This will change in the future when
-a criterion for 'delete permission' under OSs other
-than VMS is settled. (defaults to FALSE)
+a boolean value, which if FALSE (the default for non-root users) will
+cause C<rmtree> to adjust the mode of directories (if required) prior
+to attempting to remove the contents. Note that on interruption or
+failure of C<rmtree>, directories may be left with more permissive
+modes for the owner.
=back
It returns the number of files successfully deleted. Symlinks are
simply deleted and not followed.
-B<NOTE:> There are race conditions internal to the implementation of
-C<rmtree> making it unsafe to use on directory trees which may be
-altered or moved while C<rmtree> is running, and in particular on any
-directory trees with any path components or subdirectories potentially
-writable by untrusted users.
-
-Additionally, if the third parameter is not TRUE and C<rmtree> is
-interrupted, it may leave files and directories with permissions altered
-to allow deletion (and older versions of this module would even set
-files and directories to world-read/writable!)
-
-Note also that the occurrence of errors in C<rmtree> can be determined I<only>
-by trapping diagnostic messages using C<$SIG{__WARN__}>; it is not apparent
-from the return value.
-
=head1 DIAGNOSTICS
=over 4
@@ -172,111 +156,127 @@ sub mkpath {
@created;
}
-sub rmtree {
- my($roots, $verbose, $safe) = @_;
- my(@files);
- my($count) = 0;
- $verbose ||= 0;
- $safe ||= 0;
+sub _rmtree;
+sub _rmtree
+{
+ my ($path, $prefix, $up, $up_dev, $up_ino, $verbose, $safe) = @_;
+ my $up_name = $up eq '..' ? 'parent' : 'initial';
+
+ my ($dev, $ino) = lstat $path or return 0;
+ unless (-d _)
+ {
+ print "unlink $prefix$path\n" if $verbose;
+ unless (unlink $path)
+ {
+ carp "Can't remove file $prefix$path ($!)";
+ return 0;
+ }
- if ( defined($roots) && length($roots) ) {
- $roots = [$roots] unless ref $roots;
+ return 1;
}
- else {
- carp "No root path(s) specified\n";
- return 0;
+
+ unless (chdir $path)
+ {
+ carp "Can't chdir to $prefix$path ($!)";
+ return 0;
}
- my($root);
- foreach $root (@{$roots}) {
- if ($Is_MacOS) {
- $root = ":$root" if $root !~ /:/;
- $root =~ s#([^:])\z#$1:#;
- } else {
- $root =~ s#/\z##;
- }
- (undef, undef, my $rp) = lstat $root or next;
- $rp &= 07777; # don't forget setuid, setgid, sticky bits
- if ( -d _ ) {
- # notabene: 0700 is for making readable in the first place,
- # it's also intended to change it to writable in case we have
- # to recurse in which case we are better than rm -rf for
- # subtrees with strange permissions
- chmod($rp | 0700, ($Is_VMS ? VMS::Filespec::fileify($root) : $root))
- or carp "Can't make directory $root read+writeable: $!"
- unless $safe;
-
- if (opendir my $d, $root) {
- no strict 'refs';
- if (!defined ${"\cTAINT"} or ${"\cTAINT"}) {
- # Blindly untaint dir names
- @files = map { /^(.*)$/s ; $1 } readdir $d;
- } else {
- @files = readdir $d;
- }
- closedir $d;
- }
- else {
- carp "Can't read $root: $!";
- @files = ();
- }
+ # avoid a race condition where a directory may be replaced by a
+ # symlink between the lstat and the chdir
+ my ($new_dev, $new_ino, $perm) = stat '.';
+ unless ("$new_dev:$new_ino" eq "$dev:$ino")
+ {
+ croak "Directory $prefix$path changed before chdir, aborting";
+ }
- # Deleting large numbers of files from VMS Files-11 filesystems
- # is faster if done in reverse ASCIIbetical order
- @files = reverse @files if $Is_VMS;
- ($root = VMS::Filespec::unixify($root)) =~ s#\.dir\z## if $Is_VMS;
- if ($Is_MacOS) {
- @files = map("$root$_", @files);
- } else {
- @files = map("$root/$_", grep $_!~/^\.{1,2}\z/s,@files);
- }
- $count += rmtree(\@files,$verbose,$safe);
- if ($safe &&
- ($Is_VMS ? !&VMS::Filespec::candelete($root) : !-w $root)) {
- print "skipped $root\n" if $verbose;
- next;
- }
- chmod $rp | 0700, $root
- or carp "Can't make directory $root writeable: $!"
- if $force_writeable;
- print "rmdir $root\n" if $verbose;
- if (rmdir $root) {
- ++$count;
- }
- else {
- carp "Can't remove directory $root: $!";
- chmod($rp, ($Is_VMS ? VMS::Filespec::fileify($root) : $root))
- or carp("and can't restore permissions to "
- . sprintf("0%o",$rp) . "\n");
- }
- }
- else {
- if ($safe &&
- ($Is_VMS ? !&VMS::Filespec::candelete($root)
- : !(-l $root || -w $root)))
- {
- print "skipped $root\n" if $verbose;
- next;
- }
- chmod $rp | 0600, $root
- or carp "Can't make file $root writeable: $!"
- if $force_writeable;
- print "unlink $root\n" if $verbose;
- # delete all versions under VMS
- for (;;) {
- unless (unlink $root) {
- carp "Can't unlink file $root: $!";
- if ($force_writeable) {
- chmod $rp, $root
- or carp("and can't restore permissions to "
- . sprintf("0%o",$rp) . "\n");
- }
- last;
- }
- ++$count;
- last unless $Is_VMS && lstat $root;
- }
+ $perm &= 07777;
+ my $nperm = $perm | 0700;
+ unless ($safe or $nperm == $perm or chmod $nperm, '.')
+ {
+ carp "Can't make directory $prefix$path read+writeable ($!)";
+ $nperm = $perm;
+ }
+
+ my $count = 0;
+ if (opendir my $dir, '.')
+ {
+ my $entry;
+ while (defined ($entry = readdir $dir))
+ {
+ next if $entry =~ /^\.\.?$/;
+ $entry =~ /^(.*)$/s; $entry = $1; # untaint
+ $count += _rmtree $entry, "$prefix$path/", '..', $dev, $ino,
+ $verbose, $safe;
}
+
+ closedir $dir;
+ }
+
+ # restore directory permissions if required (in case the rmdir
+ # below fails) now, while we're still in the directory and may do
+ # so without a race via '.'
+ unless ($nperm == $perm or chmod $perm, '.')
+ {
+ carp "Can't restore permissions on directory $prefix$path ($!)";
+ }
+
+ # don't leave the caller in an unexpected directory
+ unless (chdir $up)
+ {
+ croak "Can't return to $up_name directory from $prefix$path ($!)";
+ }
+
+ # ensure that a chdir .. didn't take us somewhere other than
+ # where we expected (see CVE-2002-0435)
+ unless (($new_dev, $new_ino) = stat '.'
+ and "$new_dev:$new_ino" eq "$up_dev:$up_ino")
+ {
+ croak "\u$up_name directory changed since entering $prefix$path";
+ }
+
+ print "rmdir $prefix$path\n" if $verbose;
+ if (rmdir $path)
+ {
+ $count++;
+ }
+ else
+ {
+ carp "Can't remove directory $prefix$path ($!)";
+ }
+
+ return $count;
+}
+
+sub rmtree
+{
+ my ($p, $verbose, $safe) = @_;
+ $p = [] unless defined $p and length $p;
+ $p = [ $p ] unless ref $p;
+ my @paths = grep defined && length, @$p;
+
+ # default to "unsafe" for non-root (will chmod dirs)
+ $safe = $> ? 0 : 1 unless defined $safe;
+
+ unless (@paths)
+ {
+ carp "No root path(s) specified";
+ return;
+ }
+
+ opendir my $oldpwd, '.' or do {
+ carp "Can't fetch initial working directory";
+ return;
+ };
+
+ my ($dev, $ino) = stat '.' or do {
+ carp "Can't stat initial working directory";
+ return;
+ };
+
+ my $count = 0;
+ for my $path (@paths)
+ {
+ $count += _rmtree $path, '', $oldpwd, $dev, $ino, $verbose, $safe;
}
$count;

View File

@ -1,256 +0,0 @@
Fix a double free / segfault with utf8 regexps
Debian #454792
[rt.cpan.org #48156]
[rt.cpan.org #40641]
upstream change 29204
UTF8_ALLOW_DEFAULT definition in utf8.h picked from upstream change 27688
diff --git a/embed.fnc b/embed.fnc
index edfbc0e..26524c7 100644
--- a/embed.fnc
+++ b/embed.fnc
@@ -1168,6 +1168,7 @@ Es |void |reguni |NN const struct RExC_state_t *state|UV uv|NN char *s|NN STRLE
Es |regnode*|regclass |NN struct RExC_state_t *state
ERs |I32 |regcurly |NN const char *
Es |regnode*|reg_node |NN struct RExC_state_t *state|U8 op
+Es |UV |reg_recode |const char value|NULLOK SV **encp
Es |regnode*|regpiece |NN struct RExC_state_t *state|NN I32 *flagp
Es |void |reginsert |NN struct RExC_state_t *state|U8 op|NN regnode *opnd
Es |void |regoptail |NN struct RExC_state_t *state|NN regnode *p|NN regnode *val
diff --git a/embed.h b/embed.h
index 2b38fd5..372b04f 100644
--- a/embed.h
+++ b/embed.h
@@ -1234,6 +1234,7 @@
#define regclass S_regclass
#define regcurly S_regcurly
#define reg_node S_reg_node
+#define reg_recode S_reg_recode
#define regpiece S_regpiece
#define reginsert S_reginsert
#define regoptail S_regoptail
@@ -3277,6 +3278,7 @@
#define regclass(a) S_regclass(aTHX_ a)
#define regcurly(a) S_regcurly(aTHX_ a)
#define reg_node(a,b) S_reg_node(aTHX_ a,b)
+#define reg_recode(a,b) S_reg_recode(aTHX_ a,b)
#define regpiece(a,b) S_regpiece(aTHX_ a,b)
#define reginsert(a,b,c) S_reginsert(aTHX_ a,b,c)
#define regoptail(a,b,c) S_regoptail(aTHX_ a,b,c)
diff --git a/pod/perldiag.pod b/pod/perldiag.pod
index 9b3134c..7d95216 100644
--- a/pod/perldiag.pod
+++ b/pod/perldiag.pod
@@ -1900,6 +1900,15 @@ recognized by Perl or by a user-supplied handler. See L<attributes>.
(W printf) Perl does not understand the given format conversion. See
L<perlfunc/sprintf>.
+=item Invalid escape in the specified encoding in regex; marked by <-- HERE in m/%s/
+
+(W regexp) The numeric escape (for example C<\xHH>) of value < 256
+didn't correspond to a single character through the conversion
+from the encoding specified by the encoding pragma.
+The escape was replaced with REPLACEMENT CHARACTER (U+FFFD) instead.
+The <-- HERE shows in the regular expression about where the
+escape was discovered.
+
=item Invalid [] range "%s" in regex; marked by <-- HERE in m/%s/
(F) The range specified in a character class had a minimum character
diff --git a/proto.h b/proto.h
index 6d185dd..ef6c0cf 100644
--- a/proto.h
+++ b/proto.h
@@ -1748,6 +1748,7 @@ STATIC I32 S_regcurly(pTHX_ const char *)
__attribute__warn_unused_result__;
STATIC regnode* S_reg_node(pTHX_ struct RExC_state_t *state, U8 op);
+STATIC UV S_reg_recode(pTHX_ const char value, SV **encp);
STATIC regnode* S_regpiece(pTHX_ struct RExC_state_t *state, I32 *flagp);
STATIC void S_reginsert(pTHX_ struct RExC_state_t *state, U8 op, regnode *opnd);
STATIC void S_regoptail(pTHX_ struct RExC_state_t *state, regnode *p, regnode *val);
diff --git a/regcomp.c b/regcomp.c
index 928cf39..98d48dd 100644
--- a/regcomp.c
+++ b/regcomp.c
@@ -2791,6 +2791,39 @@ S_regpiece(pTHX_ RExC_state_t *pRExC_state, I32 *flagp)
}
/*
+ * reg_recode
+ *
+ * It returns the code point in utf8 for the value in *encp.
+ * value: a code value in the source encoding
+ * encp: a pointer to an Encode object
+ *
+ * If the result from Encode is not a single character,
+ * it returns U+FFFD (Replacement character) and sets *encp to NULL.
+ */
+STATIC UV
+S_reg_recode(pTHX_ const char value, SV **encp)
+{
+ STRLEN numlen = 1;
+ SV * const sv = sv_2mortal(newSVpvn(&value, numlen));
+ const char * const s = encp && *encp ? sv_recode_to_utf8(sv, *encp)
+ : SvPVX(sv);
+ const STRLEN newlen = SvCUR(sv);
+ UV uv = UNICODE_REPLACEMENT;
+
+ if (newlen)
+ uv = SvUTF8(sv)
+ ? utf8n_to_uvchr((U8*)s, newlen, &numlen, UTF8_ALLOW_DEFAULT)
+ : *(U8*)s;
+
+ if (!newlen || numlen != newlen) {
+ uv = UNICODE_REPLACEMENT;
+ if (encp)
+ *encp = NULL;
+ }
+ return uv;
+}
+
+/*
- regatom - the lowest level
*
* Optimization: gobbles an entire sequence of ordinary characters so that
@@ -3182,6 +3215,8 @@ tryagain:
ender = grok_hex(p, &numlen, &flags, NULL);
p += numlen;
}
+ if (PL_encoding && ender < 0x100)
+ goto recode_encoding;
break;
case 'c':
p++;
@@ -3201,6 +3236,17 @@ tryagain:
--p;
goto loopdone;
}
+ if (PL_encoding && ender < 0x100)
+ goto recode_encoding;
+ break;
+ recode_encoding:
+ {
+ SV* enc = PL_encoding;
+ ender = reg_recode((const char)(U8)ender, &enc);
+ if (!enc && SIZE_ONLY && ckWARN(WARN_REGEXP))
+ vWARN(p, "Invalid escape in the specified encoding");
+ RExC_utf8 = 1;
+ }
break;
case '\0':
if (p >= RExC_end)
@@ -3331,32 +3377,6 @@ tryagain:
break;
}
- /* If the encoding pragma is in effect recode the text of
- * any EXACT-kind nodes. */
- if (PL_encoding && PL_regkind[(U8)OP(ret)] == EXACT) {
- STRLEN oldlen = STR_LEN(ret);
- SV *sv = sv_2mortal(newSVpvn(STRING(ret), oldlen));
-
- if (RExC_utf8)
- SvUTF8_on(sv);
- if (sv_utf8_downgrade(sv, TRUE)) {
- const char * const s = sv_recode_to_utf8(sv, PL_encoding);
- const STRLEN newlen = SvCUR(sv);
-
- if (SvUTF8(sv))
- RExC_utf8 = 1;
- if (!SIZE_ONLY) {
- DEBUG_r(PerlIO_printf(Perl_debug_log, "recode %*s to %*s\n",
- (int)oldlen, STRING(ret),
- (int)newlen, s));
- Copy(s, STRING(ret), newlen, char);
- STR_LEN(ret) += newlen - oldlen;
- RExC_emit += STR_SZ(newlen) - STR_SZ(oldlen);
- } else
- RExC_size += STR_SZ(newlen) - STR_SZ(oldlen);
- }
- }
-
return(ret);
}
@@ -3734,6 +3754,8 @@ S_regclass(pTHX_ RExC_state_t *pRExC_state)
value = grok_hex(RExC_parse, &numlen, &flags, NULL);
RExC_parse += numlen;
}
+ if (PL_encoding && value < 0x100)
+ goto recode_encoding;
break;
case 'c':
value = UCHARAT(RExC_parse++);
@@ -3741,13 +3763,24 @@ S_regclass(pTHX_ RExC_state_t *pRExC_state)
break;
case '0': case '1': case '2': case '3': case '4':
case '5': case '6': case '7': case '8': case '9':
- {
- I32 flags = 0;
- numlen = 3;
- value = grok_oct(--RExC_parse, &numlen, &flags, NULL);
- RExC_parse += numlen;
- break;
- }
+ {
+ I32 flags = 0;
+ numlen = 3;
+ value = grok_oct(--RExC_parse, &numlen, &flags, NULL);
+ RExC_parse += numlen;
+ if (PL_encoding && value < 0x100)
+ goto recode_encoding;
+ break;
+ }
+ recode_encoding:
+ {
+ SV* enc = PL_encoding;
+ value = reg_recode((const char)(U8)value, &enc);
+ if (!enc && SIZE_ONLY && ckWARN(WARN_REGEXP))
+ vWARN(RExC_parse,
+ "Invalid escape in the specified encoding");
+ break;
+ }
default:
if (!SIZE_ONLY && isALPHA(value) && ckWARN(WARN_REGEXP))
vWARN2(RExC_parse,
diff --git a/t/uni/tr_utf8.t b/t/uni/tr_utf8.t
index 606a84a..354156a 100755
--- a/t/uni/tr_utf8.t
+++ b/t/uni/tr_utf8.t
@@ -31,7 +31,7 @@ BEGIN {
}
use strict;
-use Test::More tests => 7;
+use Test::More tests => 8;
use encoding 'utf8';
@@ -67,4 +67,12 @@ is($str, $hiragana, "s/// # hiragana -> katakana");
$line =~ tr/bcdeghijklmnprstvwxyz$02578/בצדעגהיײקלמנפּרסטװשכיזשױתײחא/;
is($line, "aבצדעfגהיײקלמנoפqּרסuטװשכיזש1ױ34ת6ײח9", "[perl #16843]");
}
+
+{
+ # [perl #40641]
+ my $str = qq/Gebääääääääääääääääääääude/;
+ my $reg = qr/Gebääääääääääääääääääääude/;
+ ok($str =~ /$reg/, "[perl #40641]");
+}
+
__END__
diff --git a/utf8.h b/utf8.h
index 6d63897..3800866 100644
--- a/utf8.h
+++ b/utf8.h
@@ -198,6 +198,8 @@ encoded character.
UTF8_ALLOW_SURROGATE|UTF8_ALLOW_FFFF)
#define UTF8_ALLOW_ANY 0x00FF
#define UTF8_CHECK_ONLY 0x0200
+#define UTF8_ALLOW_DEFAULT (ckWARN(WARN_UTF8) ? 0 : \
+ UTF8_ALLOW_ANYUV)
#define UNICODE_SURROGATE_FIRST 0xD800
#define UNICODE_SURROGATE_LAST 0xDFFF

View File

@ -1,111 +0,0 @@
diff -Naurp perl-5.8.8-orig/lib/ExtUtils/Liblist.pm perl-5.8.8/lib/ExtUtils/Liblist.pm
--- perl-5.8.8-orig/lib/ExtUtils/Liblist.pm 2003-04-07 14:58:17.000000000 -0400
+++ perl-5.8.8/lib/ExtUtils/Liblist.pm 2006-02-07 09:57:04.000000000 -0500
@@ -87,6 +87,11 @@ libraries. LD_RUN_PATH is a colon separ
in LDLOADLIBS. It is passed as an environment variable to the process
that links the shared library.
+The Red Hat extension: This generation of LD_RUN_PATH is disabled by default.
+To use the generated LD_RUN_PATH for all links, set the USE_MM_LD_RUN_PATH
+MakeMaker object attribute / argument, (or set the $USE_MM_LD_RUN_PATH
+environment variable).
+
=head2 BSLOADLIBS
List of those libraries that are needed but can be linked in
diff -Naurp perl-5.8.8-orig/lib/ExtUtils/MM_Unix.pm perl-5.8.8/lib/ExtUtils/MM_Unix.pm
--- perl-5.8.8-orig/lib/ExtUtils/MM_Unix.pm 2005-05-21 05:42:56.000000000 -0400
+++ perl-5.8.8/lib/ExtUtils/MM_Unix.pm 2006-02-07 09:56:08.000000000 -0500
@@ -941,7 +941,7 @@ $(INST_DYNAMIC): $(OBJECT) $(MYEXTLIB) $
}
my $ld_run_path_shell = "";
- if ($self->{LD_RUN_PATH} ne "") {
+ if (($self->{LD_RUN_PATH} ne "") && ($self->{USE_MM_LD_RUN_PATH})) {
$ld_run_path_shell = 'LD_RUN_PATH="$(LD_RUN_PATH)" ';
}
diff -Naurp perl-5.8.8-orig/lib/ExtUtils/MakeMaker.pm perl-5.8.8/lib/ExtUtils/MakeMaker.pm
--- perl-5.8.8-orig/lib/ExtUtils/MakeMaker.pm 2005-10-21 10:11:04.000000000 -0400
+++ perl-5.8.8/lib/ExtUtils/MakeMaker.pm 2006-02-07 09:55:03.000000000 -0500
@@ -233,7 +233,7 @@ sub full_setup {
PERL_SRC PERM_RW PERM_RWX
PL_FILES PM PM_FILTER PMLIBDIRS POLLUTE PPM_INSTALL_EXEC
PPM_INSTALL_SCRIPT PREREQ_FATAL PREREQ_PM PREREQ_PRINT PRINT_PREREQ
- SIGN SKIP TYPEMAPS VERSION VERSION_FROM XS XSOPT XSPROTOARG
+ SKIP TYPEMAPS USE_MM_LD_RUN_PATH VERSION VERSION_FROM XS XSOPT XSPROTOARG
XS_VERSION clean depend dist dynamic_lib linkext macro realclean
tool_autosplit
@@ -371,6 +371,26 @@ sub new {
exit 0;
}
+ # USE_MM_LD_RUN_PATH - borrowed from RedHat to disable automatic RPATH generation
+ if ( ( ! $self->{USE_MM_LD_RUN_PATH} )
+ &&( ("@ARGV" =~ /\bUSE_MM_LD_RUN_PATH(=([01]))?\b/)
+ ||( exists( $ENV{USE_MM_LD_RUN_PATH} )
+ &&( $ENV{USE_MM_LD_RUN_PATH} =~ /([01])?$/ )
+ )
+ )
+ )
+ {
+ my $v = $1;
+ if( $v )
+ {
+ $v = ($v=~/=([01])$/)[0];
+ }else
+ {
+ $v = 1;
+ };
+ $self->{USE_MM_LD_RUN_PATH}=$v;
+ };
+
print STDOUT "MakeMaker (v$VERSION)\n" if $Verbose;
if (-f "MANIFEST" && ! -f "Makefile"){
check_manifest();
@@ -2057,6 +2077,44 @@ precedence. A typemap in the current di
precedence, even if it isn't listed in TYPEMAPS. The default system
typemap has lowest precedence.
+=item USE_MM_LD_RUN_PATH
+
+boolean
+This feature is borrowed from Red Hat to deal with RPATH issues.
+Please see bug 81745 - http://bugs.gentoo.org/81745 - for more
+information.
+
+The Red Hat perl MakeMaker distribution differs from the standard
+upstream release in that it disables use of the MakeMaker generated
+LD_RUN_PATH by default, UNLESS this attribute is specified , or the
+USE_MM_LD_RUN_PATH environment variable is set during the MakeMaker run.
+
+The upstream MakeMaker will set the ld(1) environment variable LD_RUN_PATH
+to the concatenation of every -L ld(1) option directory in which a -l ld(1)
+option library is found, which is used as the ld(1) -rpath option if none
+is specified. This means that, if your application builds shared libraries
+and your MakeMaker application links to them, that the absolute paths of the
+libraries in the build tree will be inserted into the RPATH header of all
+MakeMaker generated binaries, and that such binaries will be unable to link
+to these libraries if they do not still reside in the build tree directories
+(unlikely) or in the system library directories (/lib or /usr/lib), regardless
+of any LD_LIBRARY_PATH setting. So if you specified -L../mylib -lmylib , and
+your 'libmylib.so' gets installed into /some_directory_other_than_usr_lib,
+your MakeMaker application will be unable to link to it, even if LD_LIBRARY_PATH
+is set to include /some_directory_other_than_usr_lib, because RPATH overrides
+LD_LIBRARY_PATH.
+
+So for Red Hat MakeMaker builds LD_RUN_PATH is NOT generated by default for
+every link. You can still use explicit -rpath ld options or the LD_RUN_PATH
+environment variable during the build to generate an RPATH for the binaries.
+
+You can set the USE_MM_LD_RUN_PATH attribute to 1 on the MakeMaker command
+line or in the WriteMakefile arguments to enable generation of LD_RUN_PATH
+for every link command.
+
+USE_MM_LD_RUN_PATH will default to 1 (LD_RUN_PATH will be used) IF the
+$USE_MM_LD_RUN_PATH environment variable is set during a MakeMaker run.
+
=item VENDORPREFIX
Like PERLPREFIX, but only for the vendor install locations.

View File

@ -1,12 +0,0 @@
--- perl-5.8.8/ext/IPC/SysV/SysV.xs.no_asm_page_h 2001-06-30 14:46:07.000000000 -0400
+++ perl-5.8.8/ext/IPC/SysV/SysV.xs 2006-06-02 17:37:22.000000000 -0400
@@ -3,9 +3,6 @@
#include "XSUB.h"
#include <sys/types.h>
-#ifdef __linux__
-# include <asm/page.h>
-#endif
#if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
#ifndef HAS_SEM
# include <sys/ipc.h>

View File

@ -1,33 +0,0 @@
--- Configure.orig 2009-11-04 11:09:08.934965499 +0100
+++ Configure 2009-11-04 11:13:19.055305854 +0100
@@ -7617,7 +7617,7 @@
cat <<EOM
You appear to have ELF support. I'll use $cc to build dynamic libraries.
EOM
- dflt="$cc"
+ dflt="$cc $optimize"
else
echo "I'll use ld to build dynamic libraries."
dflt='ld'
--- Makefile.SH.orig 2009-11-04 15:34:22.643322823 +0100
+++ Makefile.SH 2009-11-04 15:34:30.110147884 +0100
@@ -201,7 +201,7 @@
LD = $ld
LDFLAGS = $ldflags
-CLDFLAGS = $ldflags
+CLDFLAGS = \$(OPTIMIZE) $ldflags
mallocsrc = $mallocsrc
mallocobj = $mallocobj
--- x2p/Makefile.SH.orig 2009-11-04 15:54:14.146759212 +0100
+++ x2p/Makefile.SH 2009-11-04 15:54:19.963253154 +0100
@@ -107,7 +107,7 @@
$(REALPERL) -I../lib ../utils/perlcc -I .. -L .. $(plextract) -v -log ../compilelog;
a2p$(EXE_EXT): $(obj) a2p$(OBJ_EXT)
- $(CC) -o a2p $(LDFLAGS) $(obj) a2p$(OBJ_EXT) $(libs)
+ $(CC) -o a2p $(OPTIMIZE) $(LDFLAGS) $(obj) a2p$(OBJ_EXT) $(libs)
# I now supply a2p.c with the kits, so the following section is
# used only if you force byacc to run by saying

View File

@ -1,22 +0,0 @@
--- perl.h.orig 2006-03-29 08:53:46.000000000 -0500
+++ perl.h 2006-03-29 08:54:19.000000000 -0500
@@ -159,7 +159,7 @@ struct perl_thread;
#endif
#ifndef PERL_UNUSED_DECL
-# ifdef HASATTRIBUTE_UNUSED
+# if defined(HASATTRIBUTE_UNUSED) && !defined(__cplusplus)
# define PERL_UNUSED_DECL __attribute__unused__
# else
# define PERL_UNUSED_DECL
--- XSUB.h.orig 2006-03-29 08:54:24.000000000 -0500
+++ XSUB.h 2006-03-29 08:54:48.000000000 -0500
@@ -91,7 +91,7 @@ handled automatically by C<xsubpp>.
#if defined(__CYGWIN__) && defined(USE_DYNAMIC_LOADING)
# define XS(name) __declspec(dllexport) void name(pTHX_ CV* cv)
#else
-# ifdef HASATTRIBUTE_UNUSED
+# if defined(HASATTRIBUTE_UNUSED) && !defined(__cplusplus)
# define XS(name) void name(pTHX_ CV* cv __attribute__unused__)
# else
# define XS(name) void name(pTHX_ CV* cv)

View File

@ -1,22 +0,0 @@
Use $CC to link (and check for broken compilers), such that we don't get
linked modules of a different bitness.
http://bugs.gentoo.org/show_bug.cgi?id=297751
--- hints/darwin.sh
+++ hints/darwin.sh
@@ -128,13 +128,13 @@
ccflags="${ccflags} ${cppflags}"
# Known optimizer problems.
-case "`cc -v 2>&1`" in
+case "`${cc:-gcc} -v 2>&1`" in
*"3.1 20020105"*) toke_cflags='optimize=""' ;;
esac
# Shared library extension is .dylib.
# Bundle extension is .bundle.
-ld='cc';
+ld="${cc:-gcc}";
so='dylib';
dlext='bundle';
usedl='define';

View File

@ -1,170 +0,0 @@
Index: perl-5.8.8/Configure
===================================================================
--- perl-5.8.8.orig/Configure 2006-01-08 14:51:03 +0000
+++ perl-5.8.8/Configure 2006-02-14 13:41:41 +0000
@@ -3130,6 +3130,8 @@
dgux) osname=dgux
osvers="$3"
;;
+ dragonfly) osname=dragonfly
+ osvers="$3" ;;
dynixptx*) osname=dynixptx
osvers=`echo "$4"|sed 's/^v//'`
;;
@@ -7889,7 +7891,7 @@
solaris)
xxx="-R $shrpdir"
;;
- freebsd|netbsd|openbsd|interix)
+ freebsd|netbsd|openbsd|dragonfly|interix)
xxx="-Wl,-R$shrpdir"
;;
bsdos|linux|irix*|dec_osf|gnu*)
Index: perl-5.8.8/Makefile.SH
===================================================================
--- perl-5.8.8.orig/Makefile.SH 2006-01-24 12:49:44 +0000
+++ perl-5.8.8/Makefile.SH 2006-02-14 13:46:57 +0000
@@ -73,7 +73,7 @@
sunos*)
linklibperl="-lperl"
;;
- netbsd*|freebsd[234]*|openbsd*)
+ netbsd*|freebsd[234]*|openbsd*|dragonfly*)
linklibperl="-L. -lperl"
;;
interix*)
@@ -990,6 +990,10 @@
n_dummy $(nonxs_ext): miniperl$(EXE_EXT) preplibrary $(DYNALOADER) FORCE
@$(LDLIBPTH) sh ext/util/make_ext nonxs $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL)
+.PHONY: printconfig
+printconfig:
+ @eval `$(LDLIBPTH) ./perl -Ilib -V:$(CONFIGVAR)`; echo $$$(CONFIGVAR)
+
.PHONY: clean _tidy _mopup _cleaner1 _cleaner2 \
realclean _realcleaner clobber _clobber \
distclean veryclean _verycleaner
Index: perl-5.8.8/hints/dragonfly.sh
===================================================================
--- perl-5.8.8.orig/hints/dragonfly.sh 1970-01-01 00:00:00 +0000
+++ perl-5.8.8/hints/dragonfly.sh 2006-02-14 13:15:04 +0000
@@ -0,0 +1,118 @@
+# hints/dragonfly.sh
+#
+# This file is mostly copied from hints/freebsd.sh with the OS version
+# information taken out and only the FreeBSD-4 information intact.
+# Please check with Todd Willey <xtoddx@gmail.com> before making
+# modifications to this file.
+
+case "$osvers" in
+*) usevfork='true'
+ case "$usemymalloc" in
+ "") usemymalloc='n'
+ ;;
+ esac
+ libswanted=`echo $libswanted | sed 's/ malloc / /'`
+ ;;
+esac
+
+# Dynamic Loading flags have not changed much, so they are separated
+# out here to avoid duplicating them everywhere.
+case "$osvers" in
+*)
+ objformat=`/usr/bin/objformat`
+ if [ x$objformat = xelf ]; then
+ libpth="/usr/lib /usr/local/lib"
+ glibpth="/usr/lib /usr/local/lib"
+ ldflags="-Wl,-E "
+ lddlflags="-shared "
+ else
+ if [ -e /usr/lib/aout ]; then
+ libpth="/usr/lib/aout /usr/local/lib /usr/lib"
+ glibpth="/usr/lib/aout /usr/local/lib /usr/lib"
+ fi
+ lddlflags='-Bshareable'
+ fi
+ cccdlflags='-DPIC -fPIC'
+ ;;
+esac
+
+case "$osvers" in
+*)
+ ccflags="${ccflags} -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H"
+ if /usr/bin/file -L /usr/lib/libc.so | /usr/bin/grep -vq "not stripped" ; then
+ usenm=false
+ fi
+ ;;
+esac
+
+cat <<'EOM' >&4
+
+Some users have reported that Configure halts when testing for
+the O_NONBLOCK symbol with a syntax error. This is apparently a
+sh error. Rerunning Configure with ksh apparently fixes the
+problem. Try
+ ksh Configure [your options]
+
+EOM
+
+# From: Anton Berezin <tobez@plab.ku.dk>
+# To: perl5-porters@perl.org
+# Subject: [PATCH 5.005_54] Configure - hints/freebsd.sh signal handler type
+# Date: 30 Nov 1998 19:46:24 +0100
+# Message-ID: <864srhhvcv.fsf@lion.plab.ku.dk>
+
+signal_t='void'
+d_voidsig='define'
+
+# This script UU/usethreads.cbu will get 'called-back' by Configure
+# after it has prompted the user for whether to use threads.
+cat > UU/usethreads.cbu <<'EOCBU'
+case "$usethreads" in
+$define|true|[yY]*)
+ lc_r=`/sbin/ldconfig -r|grep ':-lc_r'|awk '{print $NF}'|sed -n '$p'`
+ case "$osvers" in
+ *)
+ if [ ! -r "$lc_r" ]; then
+ cat <<EOM >&4
+POSIX threads should be supported by FreeBSD $osvers --
+but your system is missing the shared libc_r.
+(/sbin/ldconfig -r doesn't find any).
+
+Consider using the latest STABLE release.
+EOM
+ exit 1
+ fi
+ case "$osvers" in
+ *) ldflags="-pthread $ldflags"
+ ;;
+ esac
+ # Both in 4.x and 5.x gethostbyaddr_r exists but
+ # it is "Temporary function, not threadsafe"...
+ # Presumably earlier it didn't even exist.
+ d_gethostbyaddr_r="undef"
+ d_gethostbyaddr_r_proto="0"
+ ;;
+
+ esac
+
+ set `echo X "$libswanted "| sed -e 's/ c / c_r /'`
+ shift
+ libswanted="$*"
+ # Configure will probably pick the wrong libc to use for nm scan.
+ # The safest quick-fix is just to not use nm at all...
+ usenm=false
+
+ unset lc_r
+
+ # Even with the malloc mutexes the Perl malloc does not
+ # seem to be threadsafe in FreeBSD?
+ case "$usemymalloc" in
+ '') usemymalloc=n ;;
+ esac
+esac
+EOCBU
+
+# malloc wrap works
+case "$usemallocwrap" in
+'') usemallocwrap='define' ;;
+esac

View File

@ -1,57 +0,0 @@
Index: perl-5.8.8/hints/freebsd.sh
===================================================================
--- perl-5.8.8.orig/hints/freebsd.sh
+++ perl-5.8.8/hints/freebsd.sh
@@ -88,6 +88,8 @@ case "$osvers" in
esac
libswanted=`echo $libswanted | sed 's/ malloc / /'`
libswanted=`echo $libswanted | sed 's/ bind / /'`
+ libswanted=`echo $libswanted | sed 's/ dl / /'`
+ libswanted=`echo $libswanted | sed 's/ c / /'`
# iconv gone in Perl 5.8.1, but if someone compiles 5.8.0 or earlier.
libswanted=`echo $libswanted | sed 's/ iconv / /'`
d_setregid='define'
@@ -102,6 +104,10 @@ case "$osvers" in
;;
esac
libswanted=`echo $libswanted | sed 's/ malloc / /'`
+ libswanted=`echo $libswanted | sed 's/ bind / /'`
+ libswanted=`echo $libswanted | sed 's/ dl / /'`
+ libswanted=`echo $libswanted | sed 's/ iconv / /'`
+ libswanted=`echo $libswanted | sed 's/ c / /'`
;;
esac
@@ -116,17 +122,17 @@ case "$osvers" in
*)
objformat=`/usr/bin/objformat`
- if [ x$objformat = xelf ]; then
- libpth="/usr/lib /usr/local/lib"
- glibpth="/usr/lib /usr/local/lib"
- ldflags="-Wl,-E "
- lddlflags="-shared "
- else
+ if [ x$objformat = xaout ]; then
if [ -e /usr/lib/aout ]; then
libpth="/usr/lib/aout /usr/local/lib /usr/lib"
glibpth="/usr/lib/aout /usr/local/lib /usr/lib"
fi
lddlflags='-Bshareable'
+ else
+ libpth="/usr/lib /usr/local/lib"
+ glibpth="/usr/lib /usr/local/lib"
+ ldflags="-Wl,-E"
+ lddlflags="-shared "
fi
cccdlflags='-DPIC -fPIC'
;;
@@ -137,7 +143,7 @@ case "$osvers" in
*)
ccflags="${ccflags} -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H"
- if /usr/bin/file -L /usr/lib/libc.so | /usr/bin/grep -vq "not stripped" ; then
+ if /usr/bin/file -L /usr/lib/libc.so | grep -vq "not stripped" ; then
usenm=false
fi
;;

View File

@ -1,72 +0,0 @@
ExtUtils/Command.pm (among other things) expects to be able to destroy
a strangely-permissioned testdir. This is a backport of the chdir/chmod
work performed in File::Path released in Perl 5.10.0.
--- perl-5.8.7.orig/lib/File/Path.pm 2008-12-05 13:23:32.000000000 -0800
+++ perl-5.8.7/lib/File/Path.pm 2008-12-05 13:33:13.000000000 -0800
@@ -162,7 +162,7 @@
{
my ($path, $prefix, $up, $up_dev, $up_ino, $verbose, $safe) = @_;
- my ($dev, $ino) = lstat $path or return 0;
+ my ($dev, $ino, $perm) = lstat $path or return 0;
unless (-d _)
{
print "unlink $prefix$path\n" if $verbose;
@@ -175,15 +175,25 @@
return 1;
}
- unless (chdir $path)
- {
+ if (!chdir($path)) {
+ # see if we can escalate privileges to get in
+ # (e.g. funny protection mask such as -w- instead of rwx)
+ $perm &= 07777;
+ my $nperm = $perm | 0700;
+ if (!($safe or $nperm == $perm or chmod($nperm, $path))) {
+ carp "cannot make $prefix$path read-write-exec";
+ return 0;
+ }
+ elsif (!chdir($path)) {
carp "Can't chdir to $prefix$path ($!)";
return 0;
+ }
}
# avoid a race condition where a directory may be replaced by a
# symlink between the lstat and the chdir
- my ($new_dev, $new_ino, $perm) = stat '.';
+ my ($new_dev, $new_ino);
+ ($new_dev, $new_ino, $perm) = stat '.';
unless ("$new_dev:$new_ino" eq "$dev:$ino")
{
croak "Directory $prefix$path changed before chdir, aborting";
--- perl-5.8.8.orig/lib/ExtUtils/t/Command.t
+++ perl-5.8.8/lib/ExtUtils/t/Command.t
@@ -23,7 +23,7 @@
}
BEGIN {
- use Test::More tests => 38;
+ use Test::More tests => 39;
use File::Spec;
}
@@ -148,7 +148,7 @@
$^O eq 'NetWare' || $^O eq 'dos' || $^O eq 'cygwin' ||
$^O eq 'MacOS'
) {
- skip( "different file permission semantics on $^O", 4);
+ skip( "different file permission semantics on $^O", 5);
}
@ARGV = ('testdir');
@@ -178,6 +178,7 @@
@ARGV = ('testdir');
rm_rf;
+ ok( ! -e 'testdir', 'rm_rf can delete a read-only dir' );
}

View File

@ -1,11 +0,0 @@
diff -Naur perl-5.8.8-orig/makedepend.SH perl-5.8.8/makedepend.SH
--- perl-5.8.8-orig/makedepend.SH 2006-10-01 20:05:40.000000000 -0600
+++ perl-5.8.8/makedepend.SH 2006-10-01 20:07:03.000000000 -0600
@@ -167,6 +167,7 @@
-e '/^#.*<builtin>/d' \
-e '/^#.*<built-in>/d' \
-e '/^#.*<command line>/d' \
+ -e '/^#.*<command-line>/d' \
-e '/^#.*"-"/d' \
-e '/: file path prefix .* never used$/d' \
-e 's#\.[0-9][0-9]*\.c#'"$file.c#" \

View File

@ -1,76 +0,0 @@
--- a/Configure
+++ b/Configure
@@ -1255,12 +1255,12 @@ libnames=''
: change the next line if compiling for Xenix/286 on Xenix/386
xlibpth='/usr/lib/386 /lib/386'
: Possible local library directories to search.
-loclibpth="/usr/local/lib /opt/local/lib /usr/gnu/lib"
-loclibpth="$loclibpth /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib"
+loclibpth="/usr/local/lib32 /opt/local/lib32 /usr/gnu/lib32"
+loclibpth="$loclibpth /opt/gnu/lib32 /usr/GNU/lib32 /opt/GNU/lib32"
: general looking path for locating libraries
-glibpth="/lib /usr/lib $xlibpth"
-glibpth="$glibpth /usr/ccs/lib /usr/ucblib /usr/local/lib"
+glibpth="/lib32 /usr/lib32 $xlibpth"
+glibpth="$glibpth /usr/ccs/lib32 /usr/ucblib /usr/local/lib32"
test -f /usr/shlib/libc.so && glibpth="/usr/shlib $glibpth"
test -f /shlib/libc.so && glibpth="/shlib $glibpth"
@@ -5945,8 +5945,8 @@ fi
: Reproduce behavior of 5.005 and earlier, maybe drop that in 5.7.
case "$installstyle" in
'') case "$prefix" in
- *perl*) dflt='lib';;
- *) dflt='lib/perl5' ;;
+ *perl*) dflt='lib32';;
+ *) dflt='lib32/perl5' ;;
esac
;;
*) dflt="$installstyle" ;;
@@ -5962,8 +5962,8 @@ installstyle=$dflt
: /opt/perl/lib/perl5... would be redundant.
: The default "style" setting is made in installstyle.U
case "$installstyle" in
-*lib/perl5*) set dflt privlib lib/$package/$version ;;
-*) set dflt privlib lib/$version ;;
+*lib32/perl5*) set dflt privlib lib32/$package/$version ;;
+*) set dflt privlib lib32/$version ;;
esac
eval $prefixit
$cat <<EOM
@@ -6465,8 +6465,8 @@ siteprefixexp="$ansexp"
prog=`echo $package | $sed 's/-*[0-9.]*$//'`
case "$sitelib" in
'') case "$installstyle" in
- *lib/perl5*) dflt=$siteprefix/lib/$package/site_$prog/$version ;;
- *) dflt=$siteprefix/lib/site_$prog/$version ;;
+ *lib32/perl5*) dflt=$siteprefix/lib32/$package/site_$prog/$version ;;
+ *) dflt=$siteprefix/lib32/site_$prog/$version ;;
esac
;;
*) dflt="$sitelib"
@@ -6592,8 +6592,8 @@ case "$vendorprefix" in
'')
prog=`echo $package | $sed 's/-*[0-9.]*$//'`
case "$installstyle" in
- *lib/perl5*) dflt=$vendorprefix/lib/$package/vendor_$prog/$version ;;
- *) dflt=$vendorprefix/lib/vendor_$prog/$version ;;
+ *lib32/perl5*) dflt=$vendorprefix/lib32/$package/vendor_$prog/$version ;;
+ *) dflt=$vendorprefix/lib32/vendor_$prog/$version ;;
esac
;;
*) dflt="$vendorlib"
@@ -10550,9 +10550,9 @@ else
else
for net in net socket
do
- if test -f /usr/lib/lib$net$_a; then
- ( ($nm $nm_opt /usr/lib/lib$net$_a | eval $nm_extract) || \
- $ar t /usr/lib/lib$net$_a) 2>/dev/null >> libc.list
+ if test -f /usr/lib32/lib$net$_a; then
+ ( ($nm $nm_opt /usr/lib32/lib$net$_a | eval $nm_extract) || \
+ $ar t /usr/lib32/lib$net$_a) 2>/dev/null >> libc.list
if $contains socket libc.list >/dev/null 2>&1; then
d_socket="$define"
socketlib="-l$net"

View File

@ -1,76 +0,0 @@
--- a/Configure
+++ b/Configure
@@ -1255,12 +1255,12 @@ libnames=''
: change the next line if compiling for Xenix/286 on Xenix/386
xlibpth='/usr/lib/386 /lib/386'
: Possible local library directories to search.
-loclibpth="/usr/local/lib /opt/local/lib /usr/gnu/lib"
-loclibpth="$loclibpth /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib"
+loclibpth="/usr/local/lib64 /opt/local/lib64 /usr/gnu/lib64"
+loclibpth="$loclibpth /opt/gnu/lib64 /usr/GNU/lib64 /opt/GNU/lib64"
: general looking path for locating libraries
-glibpth="/lib /usr/lib $xlibpth"
-glibpth="$glibpth /usr/ccs/lib /usr/ucblib /usr/local/lib"
+glibpth="/lib64 /usr/lib64 $xlibpth"
+glibpth="$glibpth /usr/ccs/lib64 /usr/ucblib /usr/local/lib64"
test -f /usr/shlib/libc.so && glibpth="/usr/shlib $glibpth"
test -f /shlib/libc.so && glibpth="/shlib $glibpth"
@@ -5945,8 +5945,8 @@ fi
: Reproduce behavior of 5.005 and earlier, maybe drop that in 5.7.
case "$installstyle" in
'') case "$prefix" in
- *perl*) dflt='lib';;
- *) dflt='lib/perl5' ;;
+ *perl*) dflt='lib64';;
+ *) dflt='lib64/perl5' ;;
esac
;;
*) dflt="$installstyle" ;;
@@ -5962,8 +5962,8 @@ installstyle=$dflt
: /opt/perl/lib/perl5... would be redundant.
: The default "style" setting is made in installstyle.U
case "$installstyle" in
-*lib/perl5*) set dflt privlib lib/$package/$version ;;
-*) set dflt privlib lib/$version ;;
+*lib64/perl5*) set dflt privlib lib64/$package/$version ;;
+*) set dflt privlib lib64/$version ;;
esac
eval $prefixit
$cat <<EOM
@@ -6465,8 +6465,8 @@ siteprefixexp="$ansexp"
prog=`echo $package | $sed 's/-*[0-9.]*$//'`
case "$sitelib" in
'') case "$installstyle" in
- *lib/perl5*) dflt=$siteprefix/lib/$package/site_$prog/$version ;;
- *) dflt=$siteprefix/lib/site_$prog/$version ;;
+ *lib64/perl5*) dflt=$siteprefix/lib64/$package/site_$prog/$version ;;
+ *) dflt=$siteprefix/lib64/site_$prog/$version ;;
esac
;;
*) dflt="$sitelib"
@@ -6592,8 +6592,8 @@ case "$vendorprefix" in
'')
prog=`echo $package | $sed 's/-*[0-9.]*$//'`
case "$installstyle" in
- *lib/perl5*) dflt=$vendorprefix/lib/$package/vendor_$prog/$version ;;
- *) dflt=$vendorprefix/lib/vendor_$prog/$version ;;
+ *lib64/perl5*) dflt=$vendorprefix/lib64/$package/vendor_$prog/$version ;;
+ *) dflt=$vendorprefix/lib64/vendor_$prog/$version ;;
esac
;;
*) dflt="$vendorlib"
@@ -10550,9 +10550,9 @@ else
else
for net in net socket
do
- if test -f /usr/lib/lib$net$_a; then
- ( ($nm $nm_opt /usr/lib/lib$net$_a | eval $nm_extract) || \
- $ar t /usr/lib/lib$net$_a) 2>/dev/null >> libc.list
+ if test -f /usr/lib64/lib$net$_a; then
+ ( ($nm $nm_opt /usr/lib64/lib$net$_a | eval $nm_extract) || \
+ $ar t /usr/lib64/lib$net$_a) 2>/dev/null >> libc.list
if $contains socket libc.list >/dev/null 2>&1; then
d_socket="$define"
socketlib="-l$net"

View File

@ -1,25 +0,0 @@
commit adeb94125ab7de8d20c129a905a5159972ad9fd1
Author: Ricardo SIGNES <rjbs@cpan.org>
Date: Mon Oct 22 05:01:09 2007 -0400
hostname.t busted
Message-ID: <20071022130109.GA16748@knight>
p4raw-id: //depot/perl@32180
diff --git a/lib/Net/t/hostname.t b/lib/Net/t/hostname.t
index 758d304..4013d74 100644
--- a/lib/Net/t/hostname.t
+++ b/lib/Net/t/hostname.t
@@ -26,7 +26,10 @@ print "1..5\n";
$domain = domainname();
if(defined $domain && $domain ne "") {
- print "ok 1\n";
+ print "ok 1 - defined, non-empty domainname\n";
+}
+elsif (not defined $domain) {
+ print "ok 1 # SKIP domain not fully defined\n";
}
else {
print "not ok 1\n";

View File

@ -1,86 +0,0 @@
--- lib/CPAN/FirstTime.pm.orig 2006-02-06 07:50:13.000000000 -0500
+++ lib/CPAN/FirstTime.pm 2006-02-06 07:50:28.000000000 -0500
@@ -292,7 +292,7 @@ by ENTER.
my(@path) = split /$Config{'path_sep'}/, $ENV{'PATH'};
local $^W = $old_warn;
my $progname;
- for $progname (qw/gzip tar unzip make lynx wget ncftpget ncftp ftp gpg/){
+ for $progname (qw/gzip tar unzip make links lynx wget ncftpget ncftp ftp gpg/){
if ($^O eq 'MacOS') {
$CPAN::Config->{$progname} = 'not_here';
next;
--- lib/CPAN.pm.orig 2006-02-06 07:54:43.000000000 -0500
+++ lib/CPAN.pm 2006-02-06 07:52:59.000000000 -0500
@@ -2604,7 +2604,7 @@ sub hosthard {
$self->debug("localizing funkyftpwise[$url]") if $CPAN::DEBUG;
my($f,$funkyftp);
- for $f ('lynx','ncftpget','ncftp','wget') {
+ for $f ('links','lynx','ncftpget','ncftp','wget') {
next unless exists $CPAN::Config->{$f};
$funkyftp = $CPAN::Config->{$f};
next unless defined $funkyftp;
@@ -2613,7 +2613,7 @@ sub hosthard {
($asl_ungz = $aslocal) =~ s/\.gz//;
$asl_gz = "$asl_ungz.gz";
my($src_switch) = "";
- if ($f eq "lynx"){
+ if (($f eq "lynx")||($f eq "links")){
$src_switch = " -source";
} elsif ($f eq "ncftp"){
$src_switch = " -c";
@@ -2637,10 +2637,14 @@ Trying with "$funkyftp$src_switch" to ge
my($wstatus);
if (($wstatus = system($system)) == 0
&&
- ($f eq "lynx" ?
+ (($f eq "lynx" ?
-s $asl_ungz # lynx returns 0 when it fails somewhere
: 1
- )
+ )||
+ ($f eq "links" ?
+ -s $asl_ungz # links returns 0 when it fails somewhere
+ : 1
+ ))
) {
if (-s $aslocal) {
# Looks good
@@ -2695,7 +2699,7 @@ returned status $estatus (wstat $wstatus
});
}
return if $CPAN::Signal;
- } # lynx,ncftpget,ncftp
+ } # links,lynx,ncftpget,ncftp
} # host
}
@@ -6022,7 +6026,7 @@ stalled.
The CPAN module is designed to automate the make and install of perl
modules and extensions. It includes some primitive searching capabilities and
-knows how to use Net::FTP or LWP (or lynx or an external ftp client)
+knows how to use Net::FTP or LWP (or lynx or links or an external ftp client)
to fetch the raw data from the net.
Modules are fetched from one or more of the mirrored CPAN
@@ -6975,16 +6979,18 @@ or
=back
-=head2 Configuring lynx or ncftp for going through a firewall
+=head2 Configuring links or lynx or ncftp for going through a firewall
If you can go through your firewall with e.g. lynx, presumably with a
command such as
/usr/local/bin/lynx -pscott:tiger
+ /usr/local/bin/links -pscott:tiger
then you would configure CPAN.pm with the command
o conf lynx "/usr/local/bin/lynx -pscott:tiger"
+ o conf links "/usr/local/bin/links -pscott:tiger"
That's all. Similarly for ncftp or ftp, you would configure something
like

View File

@ -1,11 +0,0 @@
--- perl-5.8.8/makedepend.SH
+++ perl-5.8.8/makedepend.SH
@@ -128,7 +128,7 @@
*.y) filebase=`basename $file .y` ;;
esac
case "$file" in
- */*) finc="-I`echo $file | sed 's#/[^/]*$##`" ;;
+ */*) finc="-I`echo $file | sed 's#/[^/]*$##'`" ;;
*) finc= ;;
esac
$echo "Finding dependencies for $filebase$_o."

View File

@ -1,11 +0,0 @@
--- perl-5.8.8/ext/B/B/C.pm.orig 2007-06-07 21:12:04.000000000 +0300
+++ perl-5.8.8/ext/B/B/C.pm 2007-06-07 21:12:21.000000000 +0300
@@ -647,7 +647,7 @@
return $sym if defined $sym;
my $val= $sv->NVX;
$val .= '.00' if $val =~ /^-?\d+$/;
- $xpvnvsect->add(sprintf("0, 0, 0, %d, %s", $sv->IVX, $val));
+ $xpvnvsect->add(sprintf("0, 0, 0, %d, %s", $sv->NVX, $val));
$svsect->add(sprintf("&xpvnv_list[%d], %lu, 0x%x",
$xpvnvsect->index, $sv->REFCNT , $sv->FLAGS));
return savesym($sv, sprintf("&sv_list[%d]", $svsect->index));

View File

@ -1,93 +0,0 @@
--- perl.c.orig 2006-01-24 09:57:33.000000000 -0500
+++ perl.c 2006-01-24 10:03:15.000000000 -0500
@@ -4777,9 +4777,9 @@ S_init_perllib(pTHX)
incpush(APPLLIB_EXP, TRUE, TRUE, TRUE);
#endif
-#ifdef ARCHLIB_EXP
- incpush(ARCHLIB_EXP, FALSE, FALSE, TRUE);
-#endif
+ /* for configuration where /usr is mounted ro (CPAN::Config, Net::Config) */
+ incpush("/etc/perl", FALSE, FALSE, TRUE);
+
#ifdef MACOS_TRADITIONAL
{
Stat_t tmpstatbuf;
@@ -4806,51 +4806,58 @@ S_init_perllib(pTHX)
#endif
#if defined(WIN32)
incpush(PRIVLIB_EXP, TRUE, FALSE, TRUE);
-#else
- incpush(PRIVLIB_EXP, FALSE, FALSE, TRUE);
#endif
-#ifdef SITEARCH_EXP
- /* sitearch is always relative to sitelib on Windows for
+#ifdef PERL_VENDORARCH_EXP
+ /* vendorarch is always relative to vendorlib on Windows for
* DLL-based path intuition to work correctly */
# if !defined(WIN32)
- incpush(SITEARCH_EXP, FALSE, FALSE, TRUE);
+ incpush(PERL_VENDORARCH_EXP, FALSE, FALSE, TRUE);
# endif
#endif
-#ifdef SITELIB_EXP
+#ifdef PERL_VENDORLIB_EXP
# if defined(WIN32)
- /* this picks up sitearch as well */
- incpush(SITELIB_EXP, TRUE, FALSE, TRUE);
+ incpush(PERL_VENDORLIB_EXP, TRUE, FALSE, TRUE); /* this picks up vendorarch as well */
# else
- incpush(SITELIB_EXP, FALSE, FALSE, TRUE);
+ incpush(PERL_VENDORLIB_EXP, FALSE, FALSE, TRUE);
# endif
#endif
-#ifdef SITELIB_STEM /* Search for version-specific dirs below here */
- incpush(SITELIB_STEM, FALSE, TRUE, TRUE);
+#ifdef PERL_VENDORLIB_STEM /* Search for version-specific dirs below here */
+ incpush(PERL_VENDORLIB_STEM, FALSE, TRUE, TRUE);
#endif
-#ifdef PERL_VENDORARCH_EXP
- /* vendorarch is always relative to vendorlib on Windows for
+#ifdef SITEARCH_EXP
+ /* sitearch is always relative to sitelib on Windows for
* DLL-based path intuition to work correctly */
# if !defined(WIN32)
- incpush(PERL_VENDORARCH_EXP, FALSE, FALSE, TRUE);
+ incpush(SITEARCH_EXP, FALSE, FALSE, TRUE);
# endif
#endif
-#ifdef PERL_VENDORLIB_EXP
+#ifdef SITELIB_EXP
# if defined(WIN32)
- incpush(PERL_VENDORLIB_EXP, TRUE, FALSE, TRUE); /* this picks up vendorarch as well */
+ /* this picks up sitearch as well */
+ incpush(SITELIB_EXP, TRUE, FALSE, TRUE);
# else
- incpush(PERL_VENDORLIB_EXP, FALSE, FALSE, TRUE);
+ incpush(SITELIB_EXP, FALSE, FALSE, TRUE);
# endif
#endif
-#ifdef PERL_VENDORLIB_STEM /* Search for version-specific dirs below here */
- incpush(PERL_VENDORLIB_STEM, FALSE, TRUE, TRUE);
+#ifdef SITELIB_STEM /* Search for version-specific dirs below here */
+ incpush(SITELIB_STEM, FALSE, TRUE, TRUE);
#endif
+ incpush(ARCHLIB_EXP, FALSE, FALSE, TRUE);
+ incpush(PRIVLIB_EXP, FALSE, FALSE, TRUE);
+
+ /* Non-versioned site directory for local modules and for
+ compatability with the previous packages' site dirs */
+
+ incpush("/usr/local/lib/site_perl", TRUE, FALSE, TRUE);
+
+
#ifdef PERL_OTHERLIBDIRS
incpush(PERL_OTHERLIBDIRS, TRUE, TRUE, TRUE);
#endif

View File

@ -1,21 +0,0 @@
http://sourceware.org/ml/binutils/2005-12/msg00008.html
--- hints/solaris_2.sh
+++ hints/solaris_2.sh
@@ -289,7 +289,7 @@
END
ccdlflags="$ccdlflags -Wl,-E"
- lddlflags="$lddlflags -Wl,-E -G"
+ lddlflags="$lddlflags -shared"
fi
fi
@@ -555,7 +555,7 @@
: #ccflags="$ccflags -Wa,`getconf XBS5_LP64_OFF64_CFLAGS 2>/dev/null`"
fi
ldflags="$ldflags -m64"
- lddlflags="$lddlflags -G -m64"
+ lddlflags="$lddlflags -m64"
;;
*)
ccflags="$ccflags `getconf XBS5_LP64_OFF64_CFLAGS 2>/dev/null`"

View File

@ -1,14 +0,0 @@
Thanks to the nice OpenSolaris guys, I finally figured out that on
OpenSolaris 11, the header dependencies have changed.
--- perl.h
+++ perl.h
@@ -1192,6 +1192,8 @@
*/
#if defined(I_SYSMODE) && !defined(PERL_MICRO)
+#include <sys/stat.h>
+#include <sys/vnode.h>
#include <sys/mode.h>
#endif

View File

@ -1,25 +0,0 @@
# remove /usr/local paths from all stuff thats used
# in Configure script, locincpth, loclibpth and glibpth are sedded
# afterwards not to conflict with the lib32 and lib64 patches
diff -rubB perl-5.8.8.orig/Configure perl-5.8.8/Configure
--- perl-5.8.8.orig/Configure Tue Jan 15 10:41:29 2008
+++ perl-5.8.8/Configure Tue Jan 15 10:44:59 2008
@@ -4424,7 +4422,7 @@
: Set private lib path
case "$plibpth" in
'') if ./mips; then
- plibpth="$incpath/usr/lib /usr/local/lib /usr/ccs/lib"
+ plibpth="$incpath/usr/lib /usr/ccs/lib"
fi;;
esac
case "$libpth" in
@@ -19144,7 +19142,7 @@
case "$ranlib" in
:) ranlib='';;
'')
- ranlib=`./loc ranlib X /usr/bin /bin /usr/local/bin`
+ ranlib=`./loc ranlib X /usr/bin /bin`
$test -f $ranlib || ranlib=''
;;
esac

View File

@ -1,57 +0,0 @@
--- regcomp.c 2006-01-08 12:59:27.000000000 -0800
+++ regcomp.c 2007-10-05 12:07:55.000000000 -0700
@@ -135,7 +135,8 @@
I32 extralen;
I32 seen_zerolen;
I32 seen_evals;
- I32 utf8;
+ I32 utf8; /* pattern is utf8 or not */
+ I32 orig_utf8; /* pattern was originally utf8 */
#if ADD_TO_REGEXEC
char *starttry; /* -Dr: where regtry was called. */
#define RExC_starttry (pRExC_state->starttry)
@@ -161,6 +162,7 @@
#define RExC_seen_zerolen (pRExC_state->seen_zerolen)
#define RExC_seen_evals (pRExC_state->seen_evals)
#define RExC_utf8 (pRExC_state->utf8)
+#define RExC_orig_utf8 (pRExC_state->orig_utf8)
#define ISMULT1(c) ((c) == '*' || (c) == '+' || (c) == '?')
#define ISMULT2(s) ((*s) == '*' || (*s) == '+' || (*s) == '?' || \
@@ -1749,15 +1751,17 @@
if (exp == NULL)
FAIL("NULL regexp argument");
- RExC_utf8 = pm->op_pmdynflags & PMdf_CMP_UTF8;
+ RExC_orig_utf8 = RExC_utf8 = pm->op_pmdynflags & PMdf_CMP_UTF8;
- RExC_precomp = exp;
DEBUG_r({
if (!PL_colorset) reginitcolors();
PerlIO_printf(Perl_debug_log, "%sCompiling REx%s `%s%*s%s'\n",
PL_colors[4],PL_colors[5],PL_colors[0],
- (int)(xend - exp), RExC_precomp, PL_colors[1]);
+ (int)(xend - exp), exp, PL_colors[1]);
});
+
+redo_first_pass:
+ RExC_precomp = exp;
RExC_flags = pm->op_pmflags;
RExC_sawback = 0;
@@ -1783,6 +1787,17 @@
RExC_precomp = Nullch;
return(NULL);
}
+ if (RExC_utf8 && !RExC_orig_utf8) {
+ STRLEN len = xend-exp;
+ DEBUG_r(PerlIO_printf(Perl_debug_log,
+ "UTF8 mismatch! Converting to utf8 for resizing and compile\n"));
+ exp = (char*)Perl_bytes_to_utf8(aTHX_ (U8*)exp, &len);
+ xend = exp + len;
+ RExC_orig_utf8 = RExC_utf8;
+ SAVEFREEPV(exp);
+ goto redo_first_pass;
+ }
+

View File

@ -1,61 +0,0 @@
Subject: Fix h2ph with double-quote-delimited #include directives.
Allow the quote mark delimiter also for those #include directives chased with "h2ph -a".
Debian bug #479762.
Also add the directory prefix of the current file when the quote syntax is
used; 'require' will only look in @INC, not the current directory.
Upstream change 33835.
--- a/utils/h2ph.PL
+++ b/utils/h2ph.PL
@@ -85,7 +85,7 @@ sub reindent($) {
}
my ($t, $tab, %curargs, $new, $eval_index, $dir, $name, $args, $outfile);
-my ($incl, $incl_type, $next);
+my ($incl, $incl_type, $incl_quote, $next);
while (defined (my $file = next_file())) {
if (-l $file and -d $file) {
link_if_possible($file) if ($opt_l);
@@ -186,9 +186,10 @@ while (defined (my $file = next_file())) {
print OUT $t,"unless(defined(\&$name)) {\n sub $name () {\t",$new,";}\n}\n";
}
}
- } elsif (/^(include|import|include_next)\s*[<\"](.*)[>\"]/) {
+ } elsif (/^(include|import|include_next)\s*([<\"])(.*)[>\"]/) {
$incl_type = $1;
- $incl = $2;
+ $incl_quote = $2;
+ $incl = $3;
if (($incl_type eq 'include_next') ||
($opt_e && exists($bad_file{$incl}))) {
$incl =~ s/\.h$/.ph/;
@@ -221,6 +222,10 @@ while (defined (my $file = next_file())) {
"warn(\$\@) if \$\@;\n");
} else {
$incl =~ s/\.h$/.ph/;
+ # copy the prefix in the quote syntax (#include "x.h") case
+ if ($incl !~ m|/| && $incl_quote eq q{"} && $file =~ m|^(.*)/|) {
+ $incl = "$1/$incl";
+ }
print OUT $t,"require '$incl';\n";
}
} elsif (/^ifdef\s+(\w+)/) {
@@ -724,8 +729,13 @@ sub queue_includes_from
$line .= <HEADER>;
}
- if ($line =~ /^#\s*include\s+<(.*?)>/) {
- push(@ARGV, $1) unless $Is_converted{$1};
+ if ($line =~ /^#\s*include\s+([<"])(.*?)[>"]/) {
+ my ($delimiter, $new_file) = ($1, $2);
+ # copy the prefix in the quote syntax (#include "x.h") case
+ if ($delimiter eq q{"} && $file =~ m|^(.*)/|) {
+ $new_file = "$1/$new_file";
+ }
+ push(@ARGV, $new_file) unless $Is_converted{$new_file};
}
}
close HEADER;

View File

@ -1,11 +0,0 @@
--- perl-5.8.0-RC2/utils/h2ph_patched.pix 2002-06-24 12:52:31.000000000 +0200
+++ perl-5.8.0-RC2/utils/h2ph_patched 2002-06-24 12:54:32.000000000 +0200
@@ -39,6 +39,8 @@
my ($t, $tab, %curargs, $new, $eval_index, $dir, $name, $args, $outfile);
my ($incl, $next);
while (defined (my $file = next_file())) {
+ next if $file eq 'machine/ansi.h';
+
if (-l $file and -d $file) {
link_if_possible($file) if ($opt_l);
next;

View File

@ -1,11 +0,0 @@
--- Configure.orig 2006-06-02 13:14:22.000000000 -0500
+++ Configure 2006-06-02 13:07:03.000000000 -0500
@@ -2967,7 +2967,7 @@
: Try to determine whether config.sh was made on this system
case "$config_sh" in
'')
-myuname=`$uname -a 2>/dev/null`
+myuname=`$uname -a | $sed -e "s/'//" 2>/dev/null`
$test -z "$myuname" && myuname=`hostname 2>/dev/null`
# tr '[A-Z]' '[a-z]' would not work in EBCDIC
# because the A-Z/a-z are not consecutive.

View File

@ -1,16 +0,0 @@
diff -burN perl-5.8.4.orig/Configure perl-5.8.4/Configure
--- perl-5.8.4.orig/Configure 2004-04-01 05:48:18.000000000 -0800
+++ perl-5.8.4/Configure 2004-06-09 12:02:54.694172368 -0700
@@ -164,6 +164,12 @@
;;
esac
+# 2004.06.09 rac
+# having $newsh persist as ksh here is bad news if ksh doesn't really
+# exist. this causes us to toss away a perfectly good working test in
+# bash in favour of more exotic external options. see bug 42665.
+test -x "${newsh}" || unset newsh
+
: if needed set CDPATH to a harmless value that is not chatty
: avoid bash 2.02 problems with empty CDPATH.
case "$CDPATH" in

View File

@ -1,10 +0,0 @@
--- lib/Pod/Perldoc.pm.orig 2003-10-22 13:02:15.000000000 -0700
+++ lib/Pod/Perldoc.pm 2003-10-22 13:02:36.000000000 -0700
@@ -1513,6 +1513,7 @@
$self->{'target'} = (splitdir $s)[-1]; # XXX: why not use File::Basename?
for ($i=0; $i<@dirs; $i++) {
$dir = $dirs[$i];
+ next unless -d $dir;
($dir = VMS::Filespec::unixpath($dir)) =~ s!/\z!! if IS_VMS;
if ( (! $self->opt_m && ( $ret = $self->check_file($dir,"$s.pod")))
or ( $ret = $self->check_file($dir,"$s.pm"))

View File

@ -1,13 +0,0 @@
--- Makefile.SH.orig 2003-11-29 01:16:15.000000000 -0800
+++ Makefile.SH 2003-11-29 01:16:52.000000000 -0800
@@ -129,8 +129,8 @@
;;
-*) pldlflags=''
- static_target='static'
+*) pldlflags="$cccdlflags"
+ static_target='static_pic'
;;
esac

View File

@ -1,11 +0,0 @@
--- hints/linux.sh.orig 2003-02-14 18:11:50.000000000 -0800
+++ hints/linux.sh 2003-02-14 18:12:01.000000000 -0800
@@ -43,7 +43,7 @@
# 'kaffe' has a /usr/lib/libnet.so which is not at all relevent for perl.
set `echo X "$libswanted "| sed -e 's/ bsd / /' -e 's/ net / /'`
shift
-libswanted="$*"
+libswanted="pthread $*"
# If you have glibc, then report the version for ./myconfig bug reporting.
# (Configure doesn't need to know the specific version since it just uses

View File

@ -1,11 +0,0 @@
--- cflags.SH.orig 2005-07-03 23:39:10.000000000 -0400
+++ cflags.SH 2005-07-03 23:39:47.000000000 -0400
@@ -165,6 +165,8 @@
esac
: Can we perhaps use $ansi2knr here
+ [ "x$file" = xregcomp ] && export ccflags="${ccflags} -fno-stack-protector"
+ [ "x$file" = xregexec ] && export ccflags="${ccflags} -fno-stack-protector"
echo "$cc -c -DPERL_CORE $ccflags $optimize $warn"
eval "$also "'"$cc -DPERL_CORE -c $ccflags $optimize $warn"'

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<herd>perl</herd>
<use>
<flag name='ithreads'>Enable Perl threads, has some compatibility problems</flag>
</use>
</pkgmetadata>

View File

@ -1,634 +0,0 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-lang/perl/perl-5.12.4-r1.ebuild,v 1.8 2012/01/02 22:52:21 zmedico Exp $
EAPI=4
inherit eutils alternatives flag-o-matic toolchain-funcs multilib
PATCH_VER=1
PERL_OLDVERSEN="5.12.3 5.12.2 5.12.1 5.12.0"
SHORT_PV="${PV%.*}"
MY_P="perl-${PV/_rc/-RC}"
MY_PV="${PV%_rc*}"
DESCRIPTION="Larry Wall's Practical Extraction and Report Language"
SRC_URI="
mirror://cpan/src/${MY_P}.tar.bz2
mirror://cpan/authors/id/L/LB/LBROCARD/${MY_P}.tar.bz2
mirror://gentoo/${MY_P}-${PATCH_VER}.tar.bz2
http://dev.gentoo.org/~tove/distfiles/${CATEGORY}/${PN}/${MY_P}-${PATCH_VER}.tar.bz2"
# mirror://cpan/src/${MY_P}.tar.bz2
# mirror://gentoo/${MY_P}-${PATCH_VER}.tar.bz2
HOMEPAGE="http://www.perl.org/"
LICENSE="|| ( Artistic GPL-1 GPL-2 GPL-3 )"
SLOT="0"
KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd"
IUSE="berkdb build debug doc gdbm ithreads"
COMMON_DEPEND="berkdb? ( sys-libs/db )
gdbm? ( >=sys-libs/gdbm-1.8.3 )
>=sys-devel/libperl-5.10.1
!!<sys-devel/libperl-5.10.1
app-arch/bzip2
sys-libs/zlib"
DEPEND="${COMMON_DEPEND}
elibc_FreeBSD? ( sys-freebsd/freebsd-mk-defs )"
RDEPEND="${COMMON_DEPEND}"
PDEPEND=">=app-admin/perl-cleaner-2.5"
S="${WORKDIR}/${MY_P}"
dual_scripts() {
src_remove_dual_scripts perl-core/Archive-Tar 1.54 ptar ptardiff
src_remove_dual_scripts perl-core/Digest-SHA 5.47 shasum
src_remove_dual_scripts perl-core/CPAN 1.945.600 cpan
src_remove_dual_scripts perl-core/CPANPLUS 0.900.0 cpanp cpan2dist cpanp-run-perl
src_remove_dual_scripts perl-core/Encode 2.39 enc2xs piconv
src_remove_dual_scripts perl-core/ExtUtils-MakeMaker 6.56 instmodsh
src_remove_dual_scripts perl-core/ExtUtils-ParseXS 2.210.0 xsubpp
src_remove_dual_scripts perl-core/Module-Build 0.3603 config_data
src_remove_dual_scripts perl-core/Module-CoreList 2.500.0 corelist
src_remove_dual_scripts perl-core/PodParser 1.370.0 pod2usage podchecker podselect
src_remove_dual_scripts perl-core/Test-Harness 3.17 prove
src_remove_dual_scripts perl-core/podlators 2.3.1 pod2man pod2text
}
pkg_setup() {
case ${CHOST} in
*-freebsd*) osname="freebsd" ;;
*-dragonfly*) osname="dragonfly" ;;
*-netbsd*) osname="netbsd" ;;
*-openbsd*) osname="openbsd" ;;
*-darwin*) osname="darwin" ;;
*) osname="linux" ;;
esac
if use ithreads ; then
mythreading="-multi"
myarch="${CHOST%%-*}-${osname}-thread"
else
myarch="${CHOST%%-*}-${osname}"
fi
if use debug ; then
myarch="${myarch}-debug"
fi
LIBPERL="libperl$(get_libname ${MY_PV} )"
PRIV_LIB="/usr/$(get_libdir)/perl5/${MY_PV}"
ARCH_LIB="/usr/$(get_libdir)/perl5/${MY_PV}/${myarch}${mythreading}"
SITE_LIB="/usr/$(get_libdir)/perl5/site_perl/${MY_PV}"
SITE_ARCH="/usr/$(get_libdir)/perl5/site_perl/${MY_PV}/${myarch}${mythreading}"
VENDOR_LIB="/usr/$(get_libdir)/perl5/vendor_perl/${MY_PV}"
VENDOR_ARCH="/usr/$(get_libdir)/perl5/vendor_perl/${MY_PV}/${myarch}${mythreading}"
if use ithreads ; then
echo ""
ewarn "THREADS WARNING:"
ewarn "PLEASE NOTE: You are compiling ${MY_P} with"
ewarn "interpreter-level threading enabled."
ewarn "Threading is not supported by all applications "
ewarn "that compile against perl. You use threading at "
ewarn "your own discretion. "
fi
if has_version "<dev-lang/perl-${SHORT_PV}" ; then
echo ""
ewarn "UPDATE THE PERL MODULES:"
ewarn "After updating dev-lang/perl you must reinstall"
ewarn "the installed perl modules."
ewarn "Use: perl-cleaner --all"
elif has_version dev-lang/perl ; then
# doesnot work
#if ! has_version dev-lang/perl[ithreads=,debug=] ; then
#if ! has_version dev-lang/perl[ithreads=] || ! has_version dev-lang/perl[debug=] ; then
if ( use ithreads && ! has_version dev-lang/perl[ithreads] ) || \
( ! use ithreads && has_version dev-lang/perl[ithreads] ) || \
( 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 or debug."
ewarn "You must rebuild all perl-modules installed."
ewarn "Use: perl-cleaner --modules ; perl-cleaner --force --libperl"
fi
fi
dual_scripts
}
src_prepare_update_patchlevel_h() {
[[ -f ${WORKDIR}/perl-patch/series ]] || return 0
while read patch level ; do
sed -i -e "s/^\t,NULL$/ ,\"${patch//__/_}\"\n&/" "${S}"/patchlevel.h || die
done < "${WORKDIR}"/perl-patch/series
}
src_prepare() {
EPATCH_SOURCE="${WORKDIR}/perl-patch" \
EPATCH_SUFFIX="diff" \
EPATCH_FORCE="yes" \
EPATCH_OPTS="-p1" \
epatch
src_prepare_update_patchlevel_h
# pod/perltoc.pod fails
# lib/ExtUtils/t/Embed.t fails
ln -s ${LIBPERL} libperl$(get_libname ${SHORT_PV})
ln -s ${LIBPERL} libperl$(get_libname )
}
myconf() {
# the myconf array is declared in src_configure
myconf=( "${myconf[@]}" "$@" )
}
src_configure() {
declare -a myconf
export LC_ALL="C"
[[ ${COLUMNS:-1} -ge 1 ]] || unset COLUMNS # bug #394091
# some arches and -O do not mix :)
use ppc && replace-flags -O? -O1
# Perl has problems compiling with -Os in your flags with glibc
use elibc_uclibc || replace-flags "-Os" "-O2"
# This flag makes compiling crash in interesting ways
filter-flags "-malign-double"
# Fixes bug #97645
use ppc && filter-flags "-mpowerpc-gpopt"
# Fixes bug #143895 on gcc-4.1.1
filter-flags "-fsched2-use-superblocks"
use sparc && myconf -Ud_longdbl
# 266337
export BUILD_BZIP2=0
export BZIP2_INCLUDE=/usr/include
export BZIP2_LIB=/usr/$(get_libdir)
cat <<-EOF > "${S}/cpan/Compress-Raw-Zlib/config.in"
BUILD_ZLIB = False
INCLUDE = /usr/include
LIB = /usr/$(get_libdir)
OLD_ZLIB = False
GZIP_OS_CODE = AUTO_DETECT
EOF
# allow either gdbm to provide ndbm (in <gdbm/ndbm.h>) or db1
myndbm='U'
mygdbm='U'
mydb='U'
if use gdbm ; then
mygdbm='D'
myndbm='D'
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
if use debug ; then
append-cflags "-g"
myconf -DDEBUGGING
elif [[ ${CFLAGS} == *-g* ]] ; then
myconf -DDEBUGGING=-g
else
myconf -DDEBUGGING=none
fi
if [[ -n ${PERL_OLDVERSEN} ]] ; then
local inclist=$(for v in ${PERL_OLDVERSEN}; do echo -n "${v}/${myarch}${mythreading} ${v} "; done )
myconf -Dinc_version_list="$inclist"
fi
[[ ${ELIBC} == "FreeBSD" ]] && myconf "-Dlibc=/usr/$(get_libdir)/libc.a"
if [[ $(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
sh Configure \
-des \
-Duseshrplib \
-Darchname="${myarch}" \
-Dcc="$(tc-getCC)" \
-Doptimize="${CFLAGS}" \
-Dldflags="${LDFLAGS}" \
-Dprefix='/usr' \
-Dsiteprefix='/usr' \
-Dvendorprefix='/usr' \
-Dscriptdir='/usr/bin' \
-Dprivlib="${PRIV_LIB}" \
-Darchlib="${ARCH_LIB}" \
-Dsitelib="${SITE_LIB}" \
-Dsitearch="${SITE_ARCH}" \
-Dvendorlib="${VENDOR_LIB}" \
-Dvendorarch="${VENDOR_ARCH}" \
-Dman1dir=/usr/share/man/man1 \
-Dman3dir=/usr/share/man/man3 \
-Dsiteman1dir=/usr/share/man/man1 \
-Dsiteman3dir=/usr/share/man/man3 \
-Dvendorman1dir=/usr/share/man/man1 \
-Dvendorman3dir=/usr/share/man/man3 \
-Dman1ext='1' \
-Dman3ext='3pm' \
-Dlibperl="${LIBPERL}" \
-Dlocincpth=' ' \
-Duselargefiles \
-Dd_semctl_semun \
-Dcf_by='Gentoo' \
-Dmyhostname='localhost' \
-Dperladmin='root@localhost' \
-Dinstallusrbinperl='n' \
-Ud_csh \
-Uusenm \
"${myconf[@]}" || die "Unable to configure"
}
src_compile() {
# bug 331113
emake -j1 || die "emake failed"
}
src_test() {
if [[ ${EUID} == 0 ]] ; then
ewarn "Test fails with a sandbox error (#328793) if run as root. Skipping tests..."
return 0
fi
use elibc_uclibc && export MAKEOPTS+=" -j1"
TEST_JOBS=$(echo -j1 ${MAKEOPTS} | sed -r 's/.*(-j[[:space:]]*|--jobs=)([[:digit:]]+).*/\2/' ) \
make test_harness || die "test failed"
}
src_install() {
local i
local coredir="${ARCH_LIB}/CORE"
# # Fix for "stupid" modules and programs
# dodir ${SITE_ARCH} ${SITE_LIB}
# keepdir "${VENDOR_ARCH}" #338802 for enc2xs
local installtarget=install
if use build ; then
installtarget=install.perl
fi
make DESTDIR="${D}" ${installtarget} || die "Unable to make ${installtarget}"
rm -f "${D}"/usr/bin/perl
ln -s perl${MY_PV} "${D}"/usr/bin/perl
dolib.so "${D}"/${coredir}/${LIBPERL} || die
dosym ${LIBPERL} /usr/$(get_libdir)/libperl$(get_libname ${SHORT_PV}) || die
dosym ${LIBPERL} /usr/$(get_libdir)/libperl$(get_libname) || die
rm -f "${D}"/${coredir}/${LIBPERL}
dosym ../../../../../$(get_libdir)/${LIBPERL} ${coredir}/${LIBPERL}
dosym ../../../../../$(get_libdir)/${LIBPERL} ${coredir}/libperl$(get_libname ${SHORT_PV})
dosym ../../../../../$(get_libdir)/${LIBPERL} ${coredir}/libperl$(get_libname)
rm -rf "${D}"/usr/share/man/man3 || die "Unable to remove module man pages"
# # A poor fix for the miniperl issues
# dosed 's:./miniperl:/usr/bin/perl:' /usr/$(get_libdir)/perl5/${MY_PV}/ExtUtils/xsubpp
# fperms 0444 /usr/$(get_libdir)/perl5/${MY_PV}/ExtUtils/xsubpp
# dosed 's:./miniperl:/usr/bin/perl:' /usr/bin/xsubpp
# fperms 0755 /usr/bin/xsubpp
# 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
find "${D}" -type f -name .packlist -delete || die
# Note: find out from psm why we would need/want this.
# ( use berkdb && has_version '=sys-libs/db-1*' ) ||
# find "${D}" -name "*NDBM*" | xargs rm -f
dodoc Changes* README AUTHORS || die
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="${D}/usr/share/doc/${PF}/html" \
--libpods='perlfunc:perlguts:perlvar:perlrun:perlop'
fi
if use build ; then
src_remove_extra_files
fi
dual_scripts
}
pkg_postinst() {
dual_scripts
if [[ "${ROOT}" = "/" ]] ; then
local INC DIR file
INC=$(perl -e 'for $line (@INC) { next if $line eq "."; next if $line =~ m/'${MY_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
if ! use build ; then
ebegin "Generating ConfigLocal.pm (ignore any error)"
enc2xs -C
fi
einfo "Converting C header files to the corresponding Perl format (ignore any error)"
pushd /usr/include >/dev/null
h2ph -Q -a -d ${ARCH_LIB} \
asm/termios.h syscall.h syslimits.h syslog.h sys/ioctl.h \
sys/socket.h sys/time.h wait.h sysexits.h
popd >/dev/null
# This has been moved into a function because rumor has it that a future release
# of portage will allow us to check what version was just removed - which means
# we will be able to invoke this only as needed :)
# Tried doing this via -z, but $INC is too big...
#if [[ "${INC}x" != "x" ]]; then
# cleaner_msg
#fi
fi
}
pkg_postrm(){
dual_scripts
# if [[ -e ${ARCH_LIB}/Encode/ConfigLocal.pm ]] ; then
# ebegin "Removing ConfigLocal.pm"
# rm "${ARCH_LIB}/Encode/ConfigLocal.pm"
# fi
}
cleaner_msg() {
eerror "You have had multiple versions of perl. It is recommended"
eerror "that you run perl-cleaner now. perl-cleaner will"
eerror "assist with this transition. This script is capable"
eerror "of cleaning out old .ph files, rebuilding modules for "
eerror "your new version of perl, as well as re-emerging"
eerror "applications that compiled against your old libperl$(get_libname)"
eerror
eerror "PLEASE DO NOT INTERRUPT THE RUNNING OF THIS SCRIPT."
eerror "Part of the rebuilding of applications compiled against "
eerror "your old libperl involves temporarily unmerging"
eerror "them - interruptions could leave you with unmerged"
eerror "packages before they can be remerged."
eerror ""
eerror "If you have run perl-cleaner and a package still gives"
eerror "you trouble, and re-emerging it fails to correct"
eerror "the problem, please check http://bugs.gentoo.org/"
eerror "for more information or to report a bug."
eerror ""
}
src_remove_dual_scripts() {
local i pkg ver ff
pkg="$1"
ver="$2"
shift 2
if has "${EBUILD_PHASE:-none}" "postinst" "postrm" ;then
for i in "$@" ; do
alternatives_auto_makesym "/usr/bin/${i}" "/usr/bin/${i}-[0-9]*"
if [[ ${i} != cpanp-run-perl ]] ; then
ff=`echo ${ROOT}/usr/share/man/man1/${i}-${ver}-${P}.1*`
ff=${ff##*.1}
alternatives_auto_makesym "/usr/share/man/man1/${i}.1${ff}" "/usr/share/man/man1/${i}-[0-9]*"
fi
done
elif has "${EBUILD_PHASE:-none}" "setup" ; then
for i in "$@" ; do
if [[ -f ${ROOT}/usr/bin/${i} && ! -h ${ROOT}/usr/bin/${i} ]] ; then
has_version ${pkg} && ewarn "You must reinstall $pkg !"
break
fi
done
else
for i in "$@" ; do
if ! [[ -f "${D}"/usr/bin/${i} ]] ; then
use build || ewarn "/usr/bin/${i} does not exist!"
continue
fi
mv "${D}"/usr/bin/${i}{,-${ver}-${P}} || die
if [[ -f ${D}/usr/share/man/man1/${i}.1 ]] ; then
mv "${D}"/usr/share/man/man1/${i}{.1,-${ver}-${P}.1} || die
else
echo "/usr/share/man/man1/${i}.1 does not exist!"
fi
done
fi
}
src_remove_extra_files() {
local prefix="./usr" # ./ is important
local bindir="${prefix}/bin"
local libdir="${prefix}/$(get_libdir)"
# I made this list from the Mandr*, Debian and ex-Connectiva perl-base list
# Then, I added several files to get GNU autotools running
# FIXME: should this be in a separated file to be sourced?
local MINIMAL_PERL_INSTALL="
${bindir}/h2ph
${bindir}/perl
${bindir}/perl${MY_PV}
${bindir}/pod2man
${libdir}/${LIBPERL}
${libdir}/libperl$(get_libname)
${libdir}/libperl$(get_libname ${SHORT_PV})
.${PRIV_LIB}/AutoLoader.pm
.${PRIV_LIB}/B/Deparse.pm
.${PRIV_LIB}/Carp.pm
.${PRIV_LIB}/Carp/Heavy.pm
.${PRIV_LIB}/Class/Struct.pm
.${PRIV_LIB}/DirHandle.pm
.${PRIV_LIB}/Exporter.pm
.${PRIV_LIB}/Exporter/Heavy.pm
.${PRIV_LIB}/ExtUtils/Command.pm
.${PRIV_LIB}/ExtUtils/Command/MM.pm
.${PRIV_LIB}/ExtUtils/Constant.pm
.${PRIV_LIB}/ExtUtils/Constant/Base.pm
.${PRIV_LIB}/ExtUtils/Constant/Utils.pm
.${PRIV_LIB}/ExtUtils/Constant/XS.pm
.${PRIV_LIB}/ExtUtils/Embed.pm
.${PRIV_LIB}/ExtUtils/Install.pm
.${PRIV_LIB}/ExtUtils/Installed.pm
.${PRIV_LIB}/ExtUtils/Liblist.pm
.${PRIV_LIB}/ExtUtils/Liblist/Kid.pm
.${PRIV_LIB}/ExtUtils/MM.pm
.${PRIV_LIB}/ExtUtils/MM_Any.pm
.${PRIV_LIB}/ExtUtils/MM_MacOS.pm
.${PRIV_LIB}/ExtUtils/MM_Unix.pm
.${PRIV_LIB}/ExtUtils/MY.pm
.${PRIV_LIB}/ExtUtils/MakeMaker.pm
.${PRIV_LIB}/ExtUtils/Manifest.pm
.${PRIV_LIB}/ExtUtils/Miniperl.pm
.${PRIV_LIB}/ExtUtils/Mkbootstrap.pm
.${PRIV_LIB}/ExtUtils/Mksymlists.pm
.${PRIV_LIB}/ExtUtils/Packlist.pm
.${PRIV_LIB}/ExtUtils/testlib.pm
.${PRIV_LIB}/File/Basename.pm
.${PRIV_LIB}/File/Compare.pm
.${PRIV_LIB}/File/Copy.pm
.${PRIV_LIB}/File/Find.pm
.${PRIV_LIB}/File/Path.pm
.${PRIV_LIB}/File/stat.pm
.${PRIV_LIB}/FileHandle.pm
.${PRIV_LIB}/Getopt/Long.pm
.${PRIV_LIB}/Getopt/Std.pm
.${PRIV_LIB}/IPC/Open2.pm
.${PRIV_LIB}/IPC/Open3.pm
.${PRIV_LIB}/PerlIO.pm
.${PRIV_LIB}/Pod/InputObjects.pm
.${PRIV_LIB}/Pod/Man.pm
.${PRIV_LIB}/Pod/ParseLink.pm
.${PRIV_LIB}/Pod/Parser.pm
.${PRIV_LIB}/Pod/Select.pm
.${PRIV_LIB}/Pod/Text.pm
.${PRIV_LIB}/Pod/Usage.pm
.${PRIV_LIB}/SelectSaver.pm
.${PRIV_LIB}/Symbol.pm
.${PRIV_LIB}/Text/ParseWords.pm
.${PRIV_LIB}/Text/Tabs.pm
.${PRIV_LIB}/Text/Wrap.pm
.${PRIV_LIB}/Tie/Hash.pm
.${PRIV_LIB}/Time/Local.pm
.${PRIV_LIB}/XSLoader.pm
.${PRIV_LIB}/autouse.pm
.${PRIV_LIB}/base.pm
.${PRIV_LIB}/bigint.pm
.${PRIV_LIB}/bignum.pm
.${PRIV_LIB}/bigrat.pm
.${PRIV_LIB}/blib.pm
.${PRIV_LIB}/bytes.pm
.${PRIV_LIB}/bytes_heavy.pl
.${PRIV_LIB}/charnames.pm
.${PRIV_LIB}/constant.pm
.${PRIV_LIB}/diagnostics.pm
.${PRIV_LIB}/fields.pm
.${PRIV_LIB}/filetest.pm
.${PRIV_LIB}/if.pm
.${PRIV_LIB}/integer.pm
.${PRIV_LIB}/less.pm
.${PRIV_LIB}/locale.pm
.${PRIV_LIB}/open.pm
.${PRIV_LIB}/overload.pm
.${PRIV_LIB}/sigtrap.pm
.${PRIV_LIB}/sort.pm
.${PRIV_LIB}/stat.pl
.${PRIV_LIB}/strict.pm
.${PRIV_LIB}/subs.pm
.${PRIV_LIB}/unicore/To/Fold.pl
.${PRIV_LIB}/unicore/To/Lower.pl
.${PRIV_LIB}/unicore/To/Upper.pl
.${PRIV_LIB}/utf8.pm
.${PRIV_LIB}/utf8_heavy.pl
.${PRIV_LIB}/vars.pm
.${PRIV_LIB}/vmsish.pm
.${PRIV_LIB}/warnings
.${PRIV_LIB}/warnings.pm
.${PRIV_LIB}/warnings/register.pm
.${ARCH_LIB}/B.pm
.${ARCH_LIB}/CORE/libperl$(get_libname)
.${ARCH_LIB}/Config.pm
.${ARCH_LIB}/Config_heavy.pl
.${ARCH_LIB}/Cwd.pm
.${ARCH_LIB}/Data/Dumper.pm
.${ARCH_LIB}/DynaLoader.pm
.${ARCH_LIB}/Errno.pm
.${ARCH_LIB}/Fcntl.pm
.${ARCH_LIB}/File/Glob.pm
.${ARCH_LIB}/File/Spec.pm
.${ARCH_LIB}/File/Spec/Unix.pm
.${ARCH_LIB}/IO.pm
.${ARCH_LIB}/IO/File.pm
.${ARCH_LIB}/IO/Handle.pm
.${ARCH_LIB}/IO/Pipe.pm
.${ARCH_LIB}/IO/Seekable.pm
.${ARCH_LIB}/IO/Select.pm
.${ARCH_LIB}/IO/Socket.pm
.${ARCH_LIB}/IO/Socket/INET.pm
.${ARCH_LIB}/IO/Socket/UNIX.pm
.${ARCH_LIB}/List/Util.pm
.${ARCH_LIB}/NDBM_File.pm
.${ARCH_LIB}/POSIX.pm
.${ARCH_LIB}/Scalar/Util.pm
.${ARCH_LIB}/Socket.pm
.${ARCH_LIB}/Storable.pm
.${ARCH_LIB}/attributes.pm
.${ARCH_LIB}/auto/Cwd/Cwd$(get_libname)
.${ARCH_LIB}/auto/Data/Dumper/Dumper$(get_libname)
.${ARCH_LIB}/auto/DynaLoader/dl_findfile.al
.${ARCH_LIB}/auto/Fcntl/Fcntl$(get_libname)
.${ARCH_LIB}/auto/File/Glob/Glob$(get_libname)
.${ARCH_LIB}/auto/IO/IO$(get_libname)
.${ARCH_LIB}/auto/POSIX/POSIX$(get_libname)
.${ARCH_LIB}/auto/POSIX/autosplit.ix
.${ARCH_LIB}/auto/POSIX/fstat.al
.${ARCH_LIB}/auto/POSIX/load_imports.al
.${ARCH_LIB}/auto/POSIX/stat.al
.${ARCH_LIB}/auto/POSIX/tmpfile.al
.${ARCH_LIB}/auto/Socket/Socket$(get_libname)
.${ARCH_LIB}/auto/Storable/Storable$(get_libname)
.${ARCH_LIB}/auto/Storable/_retrieve.al
.${ARCH_LIB}/auto/Storable/_store.al
.${ARCH_LIB}/auto/Storable/autosplit.ix
.${ARCH_LIB}/auto/Storable/retrieve.al
.${ARCH_LIB}/auto/Storable/store.al
.${ARCH_LIB}/auto/re/re$(get_libname)
.${ARCH_LIB}/encoding.pm
.${ARCH_LIB}/lib.pm
.${ARCH_LIB}/ops.pm
.${ARCH_LIB}/re.pm
.${ARCH_LIB}/threads.pm
"
pushd "${D}" > /dev/null
# Remove cruft
einfo "Removing files that are not in the minimal install"
echo "${MINIMAL_PERL_INSTALL}"
for f in $(find . -type f ) ; do
has "${f}" ${MINIMAL_PERL_INSTALL} || rm -f "${f}"
done
# Remove empty directories
find . -depth -type d -print0 | xargs -0 -r rmdir &> /dev/null
#for f in ${MINIMAL_PERL_INSTALL} ; do
# [[ -e $f ]] || ewarn "$f unused in MINIMAL_PERL_INSTALL"
#done
popd > /dev/null
}

View File

@ -0,0 +1,122 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-lang/perl/perl-5.20.2-r1.ebuild,v 1.2 2015/06/16 13:20:30 dilfridge Exp $
EAPI=5
inherit eutils alternatives flag-o-matic toolchain-funcs multilib multiprocessing
PATCH_VER=2
PERL_OLDVERSEN="5.20.0 5.20.1"
MODULE_AUTHOR=SHAY
SHORT_PV="${PV%.*}"
MY_P="perl-${PV/_rc/-RC}"
MY_PV="${PV%_rc*}"
DESCRIPTION="Larry Wall's Practical Extraction and Report Language"
SRC_URI="
mirror://cpan/src/5.0/${MY_P}.tar.bz2
mirror://cpan/authors/id/${MODULE_AUTHOR:0:1}/${MODULE_AUTHOR:0:2}/${MODULE_AUTHOR}/${MY_P}.tar.bz2
mirror://gentoo/${MY_P}-patches-${PATCH_VER}.tar.xz
http://dev.gentoo.org/~dilfridge/distfiles/${MY_P}-patches-${PATCH_VER}.tar.xz
"
HOMEPAGE="http://www.perl.org/"
LICENSE="|| ( Artistic GPL-1+ )"
SLOT="0/${SHORT_PV}"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="berkdb debug doc gdbm ithreads"
RDEPEND="
berkdb? ( sys-libs/db:* )
gdbm? ( >=sys-libs/gdbm-1.8.3 )
app-arch/bzip2
sys-libs/zlib
"
DEPEND="${RDEPEND}
!prefix? ( elibc_FreeBSD? ( sys-freebsd/freebsd-mk-defs ) )
"
PDEPEND="
>=app-admin/perl-cleaner-2.5
>=virtual/perl-File-Temp-0.230.400-r2
>=virtual/perl-Data-Dumper-2.154.0
"
# bug 390719, bug 523624
S="${WORKDIR}/${MY_P}"
dual_scripts() {
src_remove_dual perl-core/Archive-Tar 1.960.0 ptar ptardiff ptargrep
src_remove_dual perl-core/Digest-SHA 5.880.0 shasum
src_remove_dual perl-core/CPAN 2.50.0 cpan
src_remove_dual perl-core/Encode 2.600.0 enc2xs piconv
src_remove_dual perl-core/ExtUtils-MakeMaker 6.980.0 instmodsh
src_remove_dual perl-core/ExtUtils-ParseXS 3.240.0 xsubpp
src_remove_dual perl-core/IO-Compress 2.64.0 zipdetails
src_remove_dual perl-core/JSON-PP 2.272.30 json_pp
src_remove_dual perl-core/Module-Build 0.420.500 config_data
src_remove_dual perl-core/Module-CoreList 5.201.502.140 corelist
src_remove_dual perl-core/Pod-Parser 1.620.0 pod2usage podchecker podselect
src_remove_dual perl-core/Pod-Perldoc 3.230.0 perldoc
src_remove_dual perl-core/Test-Harness 3.330.0 prove
src_remove_dual perl-core/podlators 2.5.3 pod2man pod2text
src_remove_dual_man perl-core/podlators 2.5.3 /usr/share/man/man1/perlpodstyle.1
}
# eblit-include [--skip] <function> [version]
eblit-include() {
local skipable=false
[[ $1 == "--skip" ]] && skipable=true && shift
[[ $1 == pkg_* ]] && skipable=true
local e v func=$1 ver=$2
[[ -z ${func} ]] && die "Usage: eblit-include <function> [version]"
for v in ${ver:+-}${ver} -${PVR} -${PV} "" ; do
e="${FILESDIR}/eblits/${func}${v}.eblit"
if [[ -e ${e} ]] ; then
. "${e}"
return 0
fi
done
${skipable} && return 0
die "Could not locate requested eblit '${func}' in ${FILESDIR}/eblits/"
}
# eblit-run-maybe <function>
# run the specified function if it is defined
eblit-run-maybe() {
[[ $(type -t "$@") == "function" ]] && "$@"
}
# eblit-run <function> [version]
# aka: src_unpack() { eblit-run src_unpack ; }
eblit-run() {
eblit-include --skip common "${*:2}"
eblit-include "$@"
eblit-run-maybe eblit-$1-pre
eblit-${PN}-$1
eblit-run-maybe eblit-$1-post
}
#src_unpack() { eblit-run src_unpack v50160001 ; }
src_prepare() { eblit-run src_prepare v50160001 ; }
src_configure() { eblit-run src_configure v50180002 ; }
#src_compile() { eblit-run src_compile v50160001 ; }
src_test() {
export NO_GENTOO_NETWORK_TESTS=1;
eblit-run src_test v50160001 ;
}
src_install() { eblit-run src_install v50200001 ; }
# FILESDIR might not be available during binpkg install
# FIXME: version passing
for x in setup {pre,post}{inst,rm} ; do
e="${FILESDIR}/eblits/pkg_${x}-v50160001.eblit"
if [[ -e ${e} ]] ; then
. "${e}"
eval "pkg_${x}() { eblit-run pkg_${x} v50160001 ; }"
fi
done

View File

@ -0,0 +1,122 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-lang/perl/perl-5.20.2.ebuild,v 1.11 2015/06/16 13:20:30 dilfridge Exp $
EAPI=5
inherit eutils alternatives flag-o-matic toolchain-funcs multilib multiprocessing
PATCH_VER=1
PERL_OLDVERSEN="5.20.0 5.20.1"
MODULE_AUTHOR=SHAY
SHORT_PV="${PV%.*}"
MY_P="perl-${PV/_rc/-RC}"
MY_PV="${PV%_rc*}"
DESCRIPTION="Larry Wall's Practical Extraction and Report Language"
SRC_URI="
mirror://cpan/src/5.0/${MY_P}.tar.bz2
mirror://cpan/authors/id/${MODULE_AUTHOR:0:1}/${MODULE_AUTHOR:0:2}/${MODULE_AUTHOR}/${MY_P}.tar.bz2
mirror://gentoo/${MY_P}-patches-${PATCH_VER}.tar.xz
http://dev.gentoo.org/~dilfridge/distfiles/${MY_P}-patches-${PATCH_VER}.tar.xz
"
HOMEPAGE="http://www.perl.org/"
LICENSE="|| ( Artistic GPL-1+ )"
SLOT="0/${SHORT_PV}"
KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="berkdb debug doc gdbm ithreads"
RDEPEND="
berkdb? ( sys-libs/db:* )
gdbm? ( >=sys-libs/gdbm-1.8.3 )
app-arch/bzip2
sys-libs/zlib
"
DEPEND="${RDEPEND}
!prefix? ( elibc_FreeBSD? ( sys-freebsd/freebsd-mk-defs ) )
"
PDEPEND="
>=app-admin/perl-cleaner-2.5
>=virtual/perl-File-Temp-0.230.400-r2
>=virtual/perl-Data-Dumper-2.154.0
"
# bug 390719, bug 523624
S="${WORKDIR}/${MY_P}"
dual_scripts() {
src_remove_dual perl-core/Archive-Tar 1.960.0 ptar ptardiff ptargrep
src_remove_dual perl-core/Digest-SHA 5.880.0 shasum
src_remove_dual perl-core/CPAN 2.50.0 cpan
src_remove_dual perl-core/Encode 2.600.0 enc2xs piconv
src_remove_dual perl-core/ExtUtils-MakeMaker 6.980.0 instmodsh
src_remove_dual perl-core/ExtUtils-ParseXS 3.240.0 xsubpp
src_remove_dual perl-core/IO-Compress 2.64.0 zipdetails
src_remove_dual perl-core/JSON-PP 2.272.30 json_pp
src_remove_dual perl-core/Module-Build 0.420.500 config_data
src_remove_dual perl-core/Module-CoreList 5.201.502.140 corelist
src_remove_dual perl-core/Pod-Parser 1.620.0 pod2usage podchecker podselect
src_remove_dual perl-core/Pod-Perldoc 3.230.0 perldoc
src_remove_dual perl-core/Test-Harness 3.330.0 prove
src_remove_dual perl-core/podlators 2.5.3 pod2man pod2text
src_remove_dual_man perl-core/podlators 2.5.3 /usr/share/man/man1/perlpodstyle.1
}
# eblit-include [--skip] <function> [version]
eblit-include() {
local skipable=false
[[ $1 == "--skip" ]] && skipable=true && shift
[[ $1 == pkg_* ]] && skipable=true
local e v func=$1 ver=$2
[[ -z ${func} ]] && die "Usage: eblit-include <function> [version]"
for v in ${ver:+-}${ver} -${PVR} -${PV} "" ; do
e="${FILESDIR}/eblits/${func}${v}.eblit"
if [[ -e ${e} ]] ; then
. "${e}"
return 0
fi
done
${skipable} && return 0
die "Could not locate requested eblit '${func}' in ${FILESDIR}/eblits/"
}
# eblit-run-maybe <function>
# run the specified function if it is defined
eblit-run-maybe() {
[[ $(type -t "$@") == "function" ]] && "$@"
}
# eblit-run <function> [version]
# aka: src_unpack() { eblit-run src_unpack ; }
eblit-run() {
eblit-include --skip common "${*:2}"
eblit-include "$@"
eblit-run-maybe eblit-$1-pre
eblit-${PN}-$1
eblit-run-maybe eblit-$1-post
}
#src_unpack() { eblit-run src_unpack v50160001 ; }
src_prepare() { eblit-run src_prepare v50160001 ; }
src_configure() { eblit-run src_configure v50180002 ; }
#src_compile() { eblit-run src_compile v50160001 ; }
src_test() {
export NO_GENTOO_NETWORK_TESTS=1;
eblit-run src_test v50160001 ;
}
src_install() { eblit-run src_install v50200001 ; }
# FILESDIR might not be available during binpkg install
# FIXME: version passing
for x in setup {pre,post}{inst,rm} ; do
e="${FILESDIR}/eblits/pkg_${x}-v50160001.eblit"
if [[ -e ${e} ]] ; then
. "${e}"
eval "pkg_${x}() { eblit-run pkg_${x} v50160001 ; }"
fi
done

View File

@ -0,0 +1,120 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-lang/perl/perl-5.22.0.ebuild,v 1.3 2015/06/16 13:20:30 dilfridge Exp $
EAPI=5
inherit eutils alternatives flag-o-matic toolchain-funcs multilib multiprocessing
PATCH_VER=1
PERL_OLDVERSEN=""
MODULE_AUTHOR=SHAY
SHORT_PV="${PV%.*}"
MY_P="perl-${PV/_rc/-RC}"
MY_PV="${PV%_rc*}"
DESCRIPTION="Larry Wall's Practical Extraction and Report Language"
SRC_URI="
mirror://cpan/src/5.0/${MY_P}.tar.bz2
mirror://cpan/authors/id/${MODULE_AUTHOR:0:1}/${MODULE_AUTHOR:0:2}/${MODULE_AUTHOR}/${MY_P}.tar.bz2
mirror://gentoo/${MY_P}-patches-${PATCH_VER}.tar.xz
http://dev.gentoo.org/~civil/distfiles/${MY_P}-patches-${PATCH_VER}.tar.xz
"
HOMEPAGE="http://www.perl.org/"
LICENSE="|| ( Artistic GPL-1+ )"
SLOT="0/${SHORT_PV}"
KEYWORDS="~alpha ~amd64 ~amd64-fbsd ~amd64-linux ~arm ~arm64 ~hppa ~hppa-hpux ~ia64 ~ia64-hpux ~ia64-linux ~m68k ~m68k-mint ~mips ~ppc ~ppc64 ~ppc-aix ~ppc-macos ~s390 ~sh ~sparc ~sparc64-solaris ~sparc-solaris ~x64-freebsd ~x64-macos ~x64-solaris ~x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~x86-linux ~x86-macos ~x86-solaris"
IUSE="berkdb debug doc gdbm ithreads"
RDEPEND="
berkdb? ( sys-libs/db:* )
gdbm? ( >=sys-libs/gdbm-1.8.3 )
app-arch/bzip2
sys-libs/zlib
"
DEPEND="${RDEPEND}
!prefix? ( elibc_FreeBSD? ( sys-freebsd/freebsd-mk-defs ) )
"
PDEPEND="
>=app-admin/perl-cleaner-2.5
>=virtual/perl-File-Temp-0.230.400-r2
>=virtual/perl-Data-Dumper-2.154.0
"
# bug 390719, bug 523624
S="${WORKDIR}/${MY_P}"
dual_scripts() {
src_remove_dual perl-core/Archive-Tar 2.40.0 ptar ptardiff ptargrep
src_remove_dual perl-core/Digest-SHA 5.950.0 shasum
src_remove_dual perl-core/CPAN 2.110.0 cpan
src_remove_dual perl-core/Encode 2.720.0 enc2xs piconv
src_remove_dual perl-core/ExtUtils-MakeMaker 7.40.100 instmodsh
src_remove_dual perl-core/ExtUtils-ParseXS 3.280.0 xsubpp
src_remove_dual perl-core/IO-Compress 2.68.0 zipdetails
src_remove_dual perl-core/JSON-PP 2.273.0 json_pp
src_remove_dual perl-core/Module-CoreList 5.201.505.200 corelist
src_remove_dual perl-core/Pod-Parser 1.630.0 pod2usage podchecker podselect
src_remove_dual perl-core/Pod-Perldoc 3.250.0 perldoc
src_remove_dual perl-core/Test-Harness 3.350.0 prove
src_remove_dual perl-core/podlators 2.5.3 pod2man pod2text
src_remove_dual_man perl-core/podlators 2.5.3 /usr/share/man/man1/perlpodstyle.1
}
# eblit-include [--skip] <function> [version]
eblit-include() {
local skipable=false
[[ $1 == "--skip" ]] && skipable=true && shift
[[ $1 == pkg_* ]] && skipable=true
local e v func=$1 ver=$2
[[ -z ${func} ]] && die "Usage: eblit-include <function> [version]"
for v in ${ver:+-}${ver} -${PVR} -${PV} "" ; do
e="${FILESDIR}/eblits/${func}${v}.eblit"
if [[ -e ${e} ]] ; then
. "${e}"
return 0
fi
done
${skipable} && return 0
die "Could not locate requested eblit '${func}' in ${FILESDIR}/eblits/"
}
# eblit-run-maybe <function>
# run the specified function if it is defined
eblit-run-maybe() {
[[ $(type -t "$@") == "function" ]] && "$@"
}
# eblit-run <function> [version]
# aka: src_unpack() { eblit-run src_unpack ; }
eblit-run() {
eblit-include --skip common "${*:2}"
eblit-include "$@"
eblit-run-maybe eblit-$1-pre
eblit-${PN}-$1
eblit-run-maybe eblit-$1-post
}
src_prepare() { eblit-run src_prepare v50160001 ; }
src_configure() { eblit-run src_configure v50180002 ; }
#src_compile() { eblit-run src_compile v50160001 ; }
src_test() {
export NO_GENTOO_NETWORK_TESTS=1;
eblit-run src_test v50160001 ;
}
src_install() { eblit-run src_install v50200001 ; }
# FILESDIR might not be available during binpkg install
# FIXME: version passing
for x in setup {pre,post}{inst,rm} ; do
e="${FILESDIR}/eblits/pkg_${x}-v50220001.eblit"
if [[ -e ${e} ]] ; then
. "${e}"
eval "pkg_${x}() { eblit-run pkg_${x} v50160001 ; }"
fi
done

View File

@ -1,14 +0,0 @@
DEFINED_PHASES=compile configure install postinst postrm prepare setup test
DEPEND=berkdb? ( sys-libs/db ) gdbm? ( >=sys-libs/gdbm-1.8.3 ) >=sys-devel/libperl-5.10.1 !!<sys-devel/libperl-5.10.1 app-arch/bzip2 sys-libs/zlib elibc_FreeBSD? ( sys-freebsd/freebsd-mk-defs )
DESCRIPTION=Larry Wall's Practical Extraction and Report Language
EAPI=4
HOMEPAGE=http://www.perl.org/
IUSE=berkdb build debug doc gdbm ithreads
KEYWORDS=alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd
LICENSE=|| ( Artistic GPL-1 GPL-2 GPL-3 )
PDEPEND=>=app-admin/perl-cleaner-2.5
RDEPEND=berkdb? ( sys-libs/db ) gdbm? ( >=sys-libs/gdbm-1.8.3 ) >=sys-devel/libperl-5.10.1 !!<sys-devel/libperl-5.10.1 app-arch/bzip2 sys-libs/zlib
SLOT=0
SRC_URI=mirror://cpan/src/perl-5.12.4.tar.bz2 mirror://cpan/authors/id/L/LB/LBROCARD/perl-5.12.4.tar.bz2 mirror://gentoo/perl-5.12.4-1.tar.bz2 http://dev.gentoo.org/~tove/distfiles/dev-lang/perl/perl-5.12.4-1.tar.bz2
_eclasses_=alternatives 326031758c86cd08f5844f475f03ac01 eutils 9fb270e417e0e83d64ca52586c4a79de flag-o-matic c9602887773166fe300444712fc7ff98 multilib 62927b3db3a589b0806255f3a002d5d3 toolchain-funcs 42408102d713fbad60ca21349865edb4
_md5_=931be1ceeb6f77201d0fde6a515d90a6

View File

@ -0,0 +1,14 @@
DEFINED_PHASES=configure install postinst postrm prepare test
DEPEND=berkdb? ( sys-libs/db:* ) gdbm? ( >=sys-libs/gdbm-1.8.3 ) app-arch/bzip2 sys-libs/zlib !prefix? ( elibc_FreeBSD? ( sys-freebsd/freebsd-mk-defs ) )
DESCRIPTION=Larry Wall's Practical Extraction and Report Language
EAPI=5
HOMEPAGE=http://www.perl.org/
IUSE=berkdb debug doc gdbm ithreads
KEYWORDS=alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris
LICENSE=|| ( Artistic GPL-1+ )
PDEPEND=>=app-admin/perl-cleaner-2.5 >=virtual/perl-File-Temp-0.230.400-r2 >=virtual/perl-Data-Dumper-2.154.0
RDEPEND=berkdb? ( sys-libs/db:* ) gdbm? ( >=sys-libs/gdbm-1.8.3 ) app-arch/bzip2 sys-libs/zlib
SLOT=0/5.20
SRC_URI=mirror://cpan/src/5.0/perl-5.20.2.tar.bz2 mirror://cpan/authors/id/S/SH/SHAY/perl-5.20.2.tar.bz2 mirror://gentoo/perl-5.20.2-patches-1.tar.xz http://dev.gentoo.org/~dilfridge/distfiles/perl-5.20.2-patches-1.tar.xz
_eclasses_=alternatives 326031758c86cd08f5844f475f03ac01 eutils 9fb270e417e0e83d64ca52586c4a79de flag-o-matic c9602887773166fe300444712fc7ff98 multilib 62927b3db3a589b0806255f3a002d5d3 multiprocessing d7f2985a2c76c365ee20269db5261414 toolchain-funcs 42408102d713fbad60ca21349865edb4
_md5_=c016879690bfcc85e85c513cce0ff740

View File

@ -0,0 +1,14 @@
DEFINED_PHASES=configure install postinst postrm prepare test
DEPEND=berkdb? ( sys-libs/db:* ) gdbm? ( >=sys-libs/gdbm-1.8.3 ) app-arch/bzip2 sys-libs/zlib !prefix? ( elibc_FreeBSD? ( sys-freebsd/freebsd-mk-defs ) )
DESCRIPTION=Larry Wall's Practical Extraction and Report Language
EAPI=5
HOMEPAGE=http://www.perl.org/
IUSE=berkdb debug doc gdbm ithreads
KEYWORDS=~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris
LICENSE=|| ( Artistic GPL-1+ )
PDEPEND=>=app-admin/perl-cleaner-2.5 >=virtual/perl-File-Temp-0.230.400-r2 >=virtual/perl-Data-Dumper-2.154.0
RDEPEND=berkdb? ( sys-libs/db:* ) gdbm? ( >=sys-libs/gdbm-1.8.3 ) app-arch/bzip2 sys-libs/zlib
SLOT=0/5.20
SRC_URI=mirror://cpan/src/5.0/perl-5.20.2.tar.bz2 mirror://cpan/authors/id/S/SH/SHAY/perl-5.20.2.tar.bz2 mirror://gentoo/perl-5.20.2-patches-2.tar.xz http://dev.gentoo.org/~dilfridge/distfiles/perl-5.20.2-patches-2.tar.xz
_eclasses_=alternatives 326031758c86cd08f5844f475f03ac01 eutils 9fb270e417e0e83d64ca52586c4a79de flag-o-matic c9602887773166fe300444712fc7ff98 multilib 62927b3db3a589b0806255f3a002d5d3 multiprocessing d7f2985a2c76c365ee20269db5261414 toolchain-funcs 42408102d713fbad60ca21349865edb4
_md5_=52b3124100a3b2ea1ad3c8318aac9da7

View File

@ -0,0 +1,14 @@
DEFINED_PHASES=configure install postinst postrm prepare test
DEPEND=berkdb? ( sys-libs/db:* ) gdbm? ( >=sys-libs/gdbm-1.8.3 ) app-arch/bzip2 sys-libs/zlib !prefix? ( elibc_FreeBSD? ( sys-freebsd/freebsd-mk-defs ) )
DESCRIPTION=Larry Wall's Practical Extraction and Report Language
EAPI=5
HOMEPAGE=http://www.perl.org/
IUSE=berkdb debug doc gdbm ithreads
KEYWORDS=~alpha ~amd64 ~amd64-fbsd ~amd64-linux ~arm ~arm64 ~hppa ~hppa-hpux ~ia64 ~ia64-hpux ~ia64-linux ~m68k ~m68k-mint ~mips ~ppc ~ppc64 ~ppc-aix ~ppc-macos ~s390 ~sh ~sparc ~sparc64-solaris ~sparc-solaris ~x64-freebsd ~x64-macos ~x64-solaris ~x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~x86-linux ~x86-macos ~x86-solaris
LICENSE=|| ( Artistic GPL-1+ )
PDEPEND=>=app-admin/perl-cleaner-2.5 >=virtual/perl-File-Temp-0.230.400-r2 >=virtual/perl-Data-Dumper-2.154.0
RDEPEND=berkdb? ( sys-libs/db:* ) gdbm? ( >=sys-libs/gdbm-1.8.3 ) app-arch/bzip2 sys-libs/zlib
SLOT=0/5.22
SRC_URI=mirror://cpan/src/5.0/perl-5.22.0.tar.bz2 mirror://cpan/authors/id/S/SH/SHAY/perl-5.22.0.tar.bz2 mirror://gentoo/perl-5.22.0-patches-1.tar.xz http://dev.gentoo.org/~civil/distfiles/perl-5.22.0-patches-1.tar.xz
_eclasses_=alternatives 326031758c86cd08f5844f475f03ac01 eutils 9fb270e417e0e83d64ca52586c4a79de flag-o-matic c9602887773166fe300444712fc7ff98 multilib 62927b3db3a589b0806255f3a002d5d3 multiprocessing d7f2985a2c76c365ee20269db5261414 toolchain-funcs 42408102d713fbad60ca21349865edb4
_md5_=79c1e57b80fea935fa2e319613026515