diff options
-rw-r--r-- | dev-lang/perl/Manifest | 63 | ||||
-rw-r--r-- | dev-lang/perl/files/digest-perl-5.8.6-r5 | 1 | ||||
-rw-r--r-- | dev-lang/perl/files/digest-perl-5.8.6-r6 | 1 | ||||
-rw-r--r-- | dev-lang/perl/files/digest-perl-5.8.6-r7 | 1 | ||||
-rw-r--r-- | dev-lang/perl/files/digest-perl-5.8.6-r8 | 1 | ||||
-rw-r--r-- | dev-lang/perl/files/digest-perl-5.8.7 | 3 | ||||
-rw-r--r-- | dev-lang/perl/files/digest-perl-5.8.7-r1 | 3 | ||||
-rwxr-xr-x | dev-lang/perl/files/perl-cleaner | 288 | ||||
-rw-r--r-- | dev-lang/perl/perl-5.8.6-r5.ebuild | 614 | ||||
-rw-r--r-- | dev-lang/perl/perl-5.8.6-r6.ebuild | 625 | ||||
-rw-r--r-- | dev-lang/perl/perl-5.8.6-r7.ebuild | 628 | ||||
-rw-r--r-- | dev-lang/perl/perl-5.8.6-r8.ebuild | 630 | ||||
-rw-r--r-- | dev-lang/perl/perl-5.8.7-r1.ebuild | 654 | ||||
-rw-r--r-- | dev-lang/perl/perl-5.8.7.ebuild | 649 |
14 files changed, 8 insertions, 4153 deletions
diff --git a/dev-lang/perl/Manifest b/dev-lang/perl/Manifest index 07f7ca1c2cf7..9ca258122f3f 100644 --- a/dev-lang/perl/Manifest +++ b/dev-lang/perl/Manifest @@ -73,10 +73,6 @@ AUX perl-5.8.8-reorder-INC.patch 3046 RMD160 73bc824bebee8889073656a7b547dc63b35 MD5 f6c5dc893c771f72cc183c946628d35e files/perl-5.8.8-reorder-INC.patch 3046 RMD160 73bc824bebee8889073656a7b547dc63b35696dc files/perl-5.8.8-reorder-INC.patch 3046 SHA256 136ca6c6cfaa3467f6a164f26b34ff06cc55823ca5723118764589cc15d37aed files/perl-5.8.8-reorder-INC.patch 3046 -AUX perl-cleaner 8879 RMD160 8b062a60cabf31b011b54e94ad905eed153c0942 SHA1 533cdd03af2df5f2435e24773304e9d6e6c79488 SHA256 7862200bccbc1286a579f190db513ba295e1c208e9e29629369dd27ee4cb8107 -MD5 c2612d59f380ad6e0c2de4d941e83dfd files/perl-cleaner 8879 -RMD160 8b062a60cabf31b011b54e94ad905eed153c0942 files/perl-cleaner 8879 -SHA256 7862200bccbc1286a579f190db513ba295e1c208e9e29629369dd27ee4cb8107 files/perl-cleaner 8879 AUX perl-exp_intwrap.patch 1635 RMD160 275f05a9a1070e6abf51fea443e8bacccb599e74 SHA1 5acffc6360a3483915268f64b476daa798fcb6c5 SHA256 24450c746f930dfd78670cd6b7936929302625fc94db2f78dd6b4cd4287dffe8 MD5 cc54c9f18cd584f4cac0ec109eae9335 files/perl-exp_intwrap.patch 1635 RMD160 275f05a9a1070e6abf51fea443e8bacccb599e74 files/perl-exp_intwrap.patch 1635 @@ -125,29 +121,8 @@ AUX perl-uclibc.patch 573 RMD160 d8a1b40e86094a63f60783f550afd1087bb5a5f0 SHA1 9 MD5 ce442db939c59218a16be167f793b817 files/perl-uclibc.patch 573 RMD160 d8a1b40e86094a63f60783f550afd1087bb5a5f0 files/perl-uclibc.patch 573 SHA256 a054e63156fb2f1c167c2806f4d8c1a97a85dc0eecf2bd737bb63c92f079e98d files/perl-uclibc.patch 573 -DIST perl-5.8.6.tar.bz2 9693085 DIST perl-5.8.7.tar.bz2 9839086 RMD160 110c286d73fd89e25da8ea394e763f209a76d283 SHA1 c9477c6fe76b200033694bdc555a0276523d4228 SHA256 3c7e9ff6697c5266a8ce8ddc0a6a958c07c706612f0780aed897684f51e504ba DIST perl-5.8.8.tar.bz2 10123359 RMD160 e78f26d9b96e6db35f946ad4ff55e3a69385c71b SHA1 4aab490040727ca4419098720eca2ba4367df539 SHA256 818a140d9c04ea8dab3a05104b34ced7f7d9d0a91bfed91baf89a84d0dfb1bc9 -EBUILD perl-5.8.6-r5.ebuild 17658 RMD160 6e3ad8432f51811261f3e58d07ccd13b1db087ce SHA1 f511823a92fa6e4790b87644c5db55be8e4bd110 SHA256 0b1f9c27cb8be57e5a65d7a309a32c7b8300b6be7389d9226f41ad8b1df9a6b4 -MD5 b5fbfeebdb7aac043723a65b9787bfc6 perl-5.8.6-r5.ebuild 17658 -RMD160 6e3ad8432f51811261f3e58d07ccd13b1db087ce perl-5.8.6-r5.ebuild 17658 -SHA256 0b1f9c27cb8be57e5a65d7a309a32c7b8300b6be7389d9226f41ad8b1df9a6b4 perl-5.8.6-r5.ebuild 17658 -EBUILD perl-5.8.6-r6.ebuild 18037 RMD160 411d385d75a8a6db2d5260fa98d1236c42d3d625 SHA1 20b51e5f7040f9c09fdf4f0b7c9f79d8cfa8b08d SHA256 67e5c0439e04bdec73b6f7455e6f04b120e49fd24152dc42e9ffe2f9902c0abc -MD5 c78909c32eeb46e055fed5d10ea64eaa perl-5.8.6-r6.ebuild 18037 -RMD160 411d385d75a8a6db2d5260fa98d1236c42d3d625 perl-5.8.6-r6.ebuild 18037 -SHA256 67e5c0439e04bdec73b6f7455e6f04b120e49fd24152dc42e9ffe2f9902c0abc perl-5.8.6-r6.ebuild 18037 -EBUILD perl-5.8.6-r7.ebuild 18104 RMD160 10a18e9aeab11bf634a5b5b2fcd083f2afe42bc7 SHA1 b09f1fe5ad25a93f7cc85e1e26b8fc036ea5a7d9 SHA256 10dae667d73b013883398472e63abe7ccad6bed38b56e795d423cfd2dd74af9d -MD5 4172de8ec3a494554ea74014f5443a0f perl-5.8.6-r7.ebuild 18104 -RMD160 10a18e9aeab11bf634a5b5b2fcd083f2afe42bc7 perl-5.8.6-r7.ebuild 18104 -SHA256 10dae667d73b013883398472e63abe7ccad6bed38b56e795d423cfd2dd74af9d perl-5.8.6-r7.ebuild 18104 -EBUILD perl-5.8.6-r8.ebuild 18171 RMD160 fc88bc6d58c709821971b8c4a7c271d7375a77f9 SHA1 f4a34275ecb23cf0ff387d567eedfe7f7669106f SHA256 397c3962c7c1ff182fee189ee19903a309de000fb100755b4ada288d6cd1dc46 -MD5 9ca9d08fd5ba7584ec124bdfa3d5afba perl-5.8.6-r8.ebuild 18171 -RMD160 fc88bc6d58c709821971b8c4a7c271d7375a77f9 perl-5.8.6-r8.ebuild 18171 -SHA256 397c3962c7c1ff182fee189ee19903a309de000fb100755b4ada288d6cd1dc46 perl-5.8.6-r8.ebuild 18171 -EBUILD perl-5.8.7-r1.ebuild 19456 RMD160 148f5948818eafd5f5755d00b3c46b33e536f12b SHA1 d41c131de65f1baa6a5f1146ce9e47d0fffe17b6 SHA256 b7f8d62c5dfd23485d48441f7f230240631d76db26331809e5770c661aeaafb1 -MD5 eed286c2c0e5a6a0baa1b8c4730f93ba perl-5.8.7-r1.ebuild 19456 -RMD160 148f5948818eafd5f5755d00b3c46b33e536f12b perl-5.8.7-r1.ebuild 19456 -SHA256 b7f8d62c5dfd23485d48441f7f230240631d76db26331809e5770c661aeaafb1 perl-5.8.7-r1.ebuild 19456 EBUILD perl-5.8.7-r2.ebuild 19525 RMD160 98027f8e772b5d3f1241e93c416001081e53eaa6 SHA1 4c9566b024db6c375d06f9dde5cd5d139c96eeda SHA256 4d22ba0d01c0f4c5ca19e2b8ac14636f8868cd8327b8c280bb59ef5d5558f852 MD5 dfddff8d434bcd0bd02f8fc47f682089 perl-5.8.7-r2.ebuild 19525 RMD160 98027f8e772b5d3f1241e93c416001081e53eaa6 perl-5.8.7-r2.ebuild 19525 @@ -156,10 +131,6 @@ EBUILD perl-5.8.7-r3.ebuild 19608 RMD160 887fa120e134bdb47468a00b35980aa67259c2b MD5 4f26a59cea9d114b7ee5e3e338df38df perl-5.8.7-r3.ebuild 19608 RMD160 887fa120e134bdb47468a00b35980aa67259c2b8 perl-5.8.7-r3.ebuild 19608 SHA256 60b6ad9d8d26184db24c7bc0c4b1b2dc5d0d5ce0aa9fa756ccdf59e0b42b3cbc perl-5.8.7-r3.ebuild 19608 -EBUILD perl-5.8.7.ebuild 19224 RMD160 10dc91b734fd85fa30f325ea2998083bc5f6e36a SHA1 8dbdf8851641ef911415ea22e2088fc9a0753527 SHA256 0a81d4c267392bb49a3ca605751275daa16be3172e288fe8cb401516c0f82a4d -MD5 5af1d9db05e7055740baff2a28fbcbee perl-5.8.7.ebuild 19224 -RMD160 10dc91b734fd85fa30f325ea2998083bc5f6e36a perl-5.8.7.ebuild 19224 -SHA256 0a81d4c267392bb49a3ca605751275daa16be3172e288fe8cb401516c0f82a4d perl-5.8.7.ebuild 19224 EBUILD perl-5.8.8-r1.ebuild 19074 RMD160 784412857c3371f9d577cb66c082635baebfb31a SHA1 856f697cdc61e374f636444eb35a381c4a88a0ff SHA256 764d53db5b63f74cd6a2fcccadd8126880075cacdb2aeaba254ce6fbae95ed80 MD5 93fdd7eafa23f8326dc1462bd567348b perl-5.8.8-r1.ebuild 19074 RMD160 784412857c3371f9d577cb66c082635baebfb31a perl-5.8.8-r1.ebuild 19074 @@ -172,32 +143,14 @@ EBUILD perl-5.8.8.ebuild 18728 RMD160 8a49d93e06083f117e61ead33306296db610688a S MD5 9981bea0123b51f5b13f7440608a28f7 perl-5.8.8.ebuild 18728 RMD160 8a49d93e06083f117e61ead33306296db610688a perl-5.8.8.ebuild 18728 SHA256 0c95755dd47b9a63d91232ac4748fd41e46b7b3d6adde3302c2a137910e91774 perl-5.8.8.ebuild 18728 -MISC ChangeLog 51729 RMD160 7ceab12e2578eb3f38c60e49a0d40c2bfb8abcfe SHA1 f9935375496bbbd94d8e9409a334ad1fcc4db93e SHA256 68b503fb85603d014964b7395c6b87e1e248a7ec6152997f82cbc98596c3a54b -MD5 f0f41c7cbf46ced85c01d97ffed55deb ChangeLog 51729 -RMD160 7ceab12e2578eb3f38c60e49a0d40c2bfb8abcfe ChangeLog 51729 -SHA256 68b503fb85603d014964b7395c6b87e1e248a7ec6152997f82cbc98596c3a54b ChangeLog 51729 +MISC ChangeLog 51959 RMD160 0127f5c4be66e3c1640ce7253282a0af60194dc8 SHA1 9c6e3a922086f7c494da781c4adc04e824d8e824 SHA256 780fe0657029321766791c9d9556089a2745fe48cd9cd44e08f94ab5954c0bfd +MD5 732d27d22841524d8820afacee477d16 ChangeLog 51959 +RMD160 0127f5c4be66e3c1640ce7253282a0af60194dc8 ChangeLog 51959 +SHA256 780fe0657029321766791c9d9556089a2745fe48cd9cd44e08f94ab5954c0bfd ChangeLog 51959 MISC metadata.xml 305 RMD160 647980838c590f54441a053916ea629e53e551c0 SHA1 99ef1deeae9a934fb6e46cf5fc4a5fcb8379a74a SHA256 f05dbef15061919972882cab07057e102760a542beba17d131194091401cd7ca MD5 e2d8f1bf77722def1dd432e26455c818 metadata.xml 305 RMD160 647980838c590f54441a053916ea629e53e551c0 metadata.xml 305 SHA256 f05dbef15061919972882cab07057e102760a542beba17d131194091401cd7ca metadata.xml 305 -MD5 0a07934d74ccb1133cf0f3650cb94efc files/digest-perl-5.8.6-r5 64 -RMD160 65b25cf2b098d17ae8354e087ff03f8c4a79a081 files/digest-perl-5.8.6-r5 64 -SHA256 0f4931ee9ace7fa9c9aedf2213b09a91789c1887d78d17c829c4b479aec9e4f3 files/digest-perl-5.8.6-r5 64 -MD5 0a07934d74ccb1133cf0f3650cb94efc files/digest-perl-5.8.6-r6 64 -RMD160 65b25cf2b098d17ae8354e087ff03f8c4a79a081 files/digest-perl-5.8.6-r6 64 -SHA256 0f4931ee9ace7fa9c9aedf2213b09a91789c1887d78d17c829c4b479aec9e4f3 files/digest-perl-5.8.6-r6 64 -MD5 0a07934d74ccb1133cf0f3650cb94efc files/digest-perl-5.8.6-r7 64 -RMD160 65b25cf2b098d17ae8354e087ff03f8c4a79a081 files/digest-perl-5.8.6-r7 64 -SHA256 0f4931ee9ace7fa9c9aedf2213b09a91789c1887d78d17c829c4b479aec9e4f3 files/digest-perl-5.8.6-r7 64 -MD5 0a07934d74ccb1133cf0f3650cb94efc files/digest-perl-5.8.6-r8 64 -RMD160 65b25cf2b098d17ae8354e087ff03f8c4a79a081 files/digest-perl-5.8.6-r8 64 -SHA256 0f4931ee9ace7fa9c9aedf2213b09a91789c1887d78d17c829c4b479aec9e4f3 files/digest-perl-5.8.6-r8 64 -MD5 39fdfa293f0e32ebaea0e6e06f6fd6bd files/digest-perl-5.8.7 238 -RMD160 52b06a8955d4544064a20d3abe57b1cf85a4dd91 files/digest-perl-5.8.7 238 -SHA256 f1b8dc5213cf0ea98d0c513e5e353ee24cdda01e0a3e49d2fef241d796e6ba68 files/digest-perl-5.8.7 238 -MD5 39fdfa293f0e32ebaea0e6e06f6fd6bd files/digest-perl-5.8.7-r1 238 -RMD160 52b06a8955d4544064a20d3abe57b1cf85a4dd91 files/digest-perl-5.8.7-r1 238 -SHA256 f1b8dc5213cf0ea98d0c513e5e353ee24cdda01e0a3e49d2fef241d796e6ba68 files/digest-perl-5.8.7-r1 238 MD5 39fdfa293f0e32ebaea0e6e06f6fd6bd files/digest-perl-5.8.7-r2 238 RMD160 52b06a8955d4544064a20d3abe57b1cf85a4dd91 files/digest-perl-5.8.7-r2 238 SHA256 f1b8dc5213cf0ea98d0c513e5e353ee24cdda01e0a3e49d2fef241d796e6ba68 files/digest-perl-5.8.7-r2 238 @@ -214,9 +167,9 @@ MD5 750a1b4341f04665c5ce30e14a302f96 files/digest-perl-5.8.8-r2 241 RMD160 a339ac2a520b2fd2f458daf89cd89eb36a8c98b2 files/digest-perl-5.8.8-r2 241 SHA256 1067b25eabccaa2d61cfc9db27e31c6b18d075e440713e44dcde000c71bbf178 files/digest-perl-5.8.8-r2 241 -----BEGIN PGP SIGNATURE----- -Version: GnuPG v1.4.3 (GNU/Linux) +Version: GnuPG v1.4.2.2 (GNU/Linux) -iD8DBQFEh25OtG5z4I8BtQoRAsZsAKCQpkAR26gCDndSXJBE9/izBS6hMACfauE8 -glg59h3GUexmXoDlYMsYyA8= -=0/mh +iD8DBQFEj+R0tG5z4I8BtQoRAurcAJwM4rUiXCPGqnnGEsesC0hHVg+ZYQCePXqh +Hcgr4Yir/8UU1GIUh1cOZ88= +=FfMA -----END PGP SIGNATURE----- diff --git a/dev-lang/perl/files/digest-perl-5.8.6-r5 b/dev-lang/perl/files/digest-perl-5.8.6-r5 deleted file mode 100644 index 666169141e1e..000000000000 --- a/dev-lang/perl/files/digest-perl-5.8.6-r5 +++ /dev/null @@ -1 +0,0 @@ -MD5 3d030b6ff2a433840edb1a407d18dc0a perl-5.8.6.tar.bz2 9693085 diff --git a/dev-lang/perl/files/digest-perl-5.8.6-r6 b/dev-lang/perl/files/digest-perl-5.8.6-r6 deleted file mode 100644 index 666169141e1e..000000000000 --- a/dev-lang/perl/files/digest-perl-5.8.6-r6 +++ /dev/null @@ -1 +0,0 @@ -MD5 3d030b6ff2a433840edb1a407d18dc0a perl-5.8.6.tar.bz2 9693085 diff --git a/dev-lang/perl/files/digest-perl-5.8.6-r7 b/dev-lang/perl/files/digest-perl-5.8.6-r7 deleted file mode 100644 index 666169141e1e..000000000000 --- a/dev-lang/perl/files/digest-perl-5.8.6-r7 +++ /dev/null @@ -1 +0,0 @@ -MD5 3d030b6ff2a433840edb1a407d18dc0a perl-5.8.6.tar.bz2 9693085 diff --git a/dev-lang/perl/files/digest-perl-5.8.6-r8 b/dev-lang/perl/files/digest-perl-5.8.6-r8 deleted file mode 100644 index 666169141e1e..000000000000 --- a/dev-lang/perl/files/digest-perl-5.8.6-r8 +++ /dev/null @@ -1 +0,0 @@ -MD5 3d030b6ff2a433840edb1a407d18dc0a perl-5.8.6.tar.bz2 9693085 diff --git a/dev-lang/perl/files/digest-perl-5.8.7 b/dev-lang/perl/files/digest-perl-5.8.7 deleted file mode 100644 index ac4cf904484c..000000000000 --- a/dev-lang/perl/files/digest-perl-5.8.7 +++ /dev/null @@ -1,3 +0,0 @@ -MD5 9a175d6ccbb5d9b41ffac5073ff9cc3c perl-5.8.7.tar.bz2 9839086 -RMD160 110c286d73fd89e25da8ea394e763f209a76d283 perl-5.8.7.tar.bz2 9839086 -SHA256 3c7e9ff6697c5266a8ce8ddc0a6a958c07c706612f0780aed897684f51e504ba perl-5.8.7.tar.bz2 9839086 diff --git a/dev-lang/perl/files/digest-perl-5.8.7-r1 b/dev-lang/perl/files/digest-perl-5.8.7-r1 deleted file mode 100644 index ac4cf904484c..000000000000 --- a/dev-lang/perl/files/digest-perl-5.8.7-r1 +++ /dev/null @@ -1,3 +0,0 @@ -MD5 9a175d6ccbb5d9b41ffac5073ff9cc3c perl-5.8.7.tar.bz2 9839086 -RMD160 110c286d73fd89e25da8ea394e763f209a76d283 perl-5.8.7.tar.bz2 9839086 -SHA256 3c7e9ff6697c5266a8ce8ddc0a6a958c07c706612f0780aed897684f51e504ba perl-5.8.7.tar.bz2 9839086 diff --git a/dev-lang/perl/files/perl-cleaner b/dev-lang/perl/files/perl-cleaner deleted file mode 100755 index abdc4783872c..000000000000 --- a/dev-lang/perl/files/perl-cleaner +++ /dev/null @@ -1,288 +0,0 @@ -#!/bin/bash - - -# sort of a changelog if you want to call it that... - -# version 1.2 - swtaylor gave some good pointers on making the tmp files, as well as reminding me of grep's -f functionality :) -# version 1.1 - Mr. Bones gave a lot of good input on cleaning up the script -# Version 1 - stuff - -# First and foremost - make sure we have a perl to work with... -PERL=$(which perl) -if [ "${PERL}x" == "x" ]; then - echo "NO PERL INSTALLED!! (at least not in your path)" - exit -fi -eval $(perl '-V:version') -PERL_VERSION=${version} - -TMPDIR=${TMPDIR:-/tmp} - -PKGDIR=$(/usr/bin/portageq vdb_path) -DATESTAMP=$(date +"%Y%m%d%H%M%S") -LOG=$(mktemp ${TMPDIR}/perl-cleaner.log.$DATESTAMP.XXXXXXXXXX) -PAGER=${PAGER:-more} - -# Set up our temporary files -MODULES_LIST=$(mktemp ${TMPDIR}/modules.list.XXXXXXXXXX) -EBUILDS_PREINSTALL=$(mktemp ${TMPDIR}/ebuilds.preinstall.XXXXXXXXXX) -EBUILDS_ORDERED=$(mktemp ${TMPDIR}/ebuilds.ordered.XXXXXXXXXX) -EBUILDS_REINSTALL=$(mktemp ${TMPDIR}/ebuilds.reinstall.XXXXXXXXXX) - -ASK="" - -if [ ! -z $2 ]; then - ASK="--ask" -fi - - - -function postclean { - for FILE in ${MODULES_LIST} ${EBUILDS_PREINSTALL} ${EBUILDS_ORDERED} ${EBUILDS_REINSTALL}; do - - if [ -f $FILE ]; then - rm -f $FILE - fi - - done - - if [ -s $LOG ]; then - echo - echo "For a complete log, please read $LOG" - echo - else - if [ -f $LOG ]; then - rm -f $LOG - fi - fi -} - -# This is to clean out the old .ph files generated in our last perl install -function ph_clean() { - echo "$(date) : Beginning a clean up of .ph files" | tee -a $LOG - - INC=$(perl -e 'for $line (@INC) { next if $line eq "."; next if $line =~ m/'${PERL_VERSION}'/; print "$line\n" }') - - echo "Locating ph files for removal" - for DIR in $INC; do - if [ -d $DIR ]; then - for file in $(find $DIR -name "*.ph" -type f); do - if [ ! $(echo "$file"|grep $PERL_VERSION) ]; then - echo "$(date) : Removing old ph file: $file" | tee -a $LOG - rm $file - fi - done - fi - done - for DIR in $INC; do - for empty in $(find $DIR -type d); do - # Silently remove those dirs that we just emptied - rmdir $empty >/dev/null 2>&1 - done - done -} - -# Generate ph files; this is useful if we've upgraded packages with headers so that perl knows the new info -function ph_update() { - echo "$(date) : Updating ph files" | tee -a $LOG - cd /usr/include; h2ph * sys/* arpa/* netinet/* bits/* security/* asm/* gnu/* linux/* | tee -a $LOG - cd /usr/include/linux; h2ph * | tee -a $LOG -} - -# Build a list of modules installed under older perls - only valid if the module was an ebuild :) -function module_list() { -# Reset INC - INC is dynamically generated, and if we removed any ph -# files - and they were the only thing left in a dir - then there's -# no sense in revisiting that dir - echo "$(date) : Building list of modules for reinstall" | tee -a $LOG - INC=$(perl -e 'for $line (@INC) { next if $line eq "."; next if $line =~ m/'${PERL_VERSION}'/; print "$line\n" }') - MODFIND=$(mktemp ${TMPDIR}/modules.found.XXXXXXXXXX) - echo "Locating modules for reinstall" - for DIR in $INC; do - if [ -d $DIR ]; then - for file in $(find $DIR -iname "*.pm" -type f|grep -v "${PERL_VERSION}"); do - echo "$file" >>$MODFIND - done - fi - done - grep -f $MODFIND -l $PKGDIR/*/*/CONTENTS >${MODULES_LIST} - rm $MODFIND -} - -# The meat of it - rebuilding the ebuilds -# ALL emerges are oneshots - we don't want to mess with the world file -# We first attempt to emerge the specific module that was installed last time -# If that fails, we attempt to install a newer version - -function ebuild_rebuild() { - - echo "$(date) : Rebuilding modules: Building list of ebuilds" | tee -a $LOG - if [ -s ${MODULES_LIST} ]; then - for line in $(sort -u ${MODULES_LIST}); do - echo "$line"|sed -e 's|.*pkg/||' -e 's|/CONTENTS||'|grep -v "dev-lang/perl" >>${EBUILDS_PREINSTALL} - done - fi - - -# If they asked for interactive, let them see what will be reinstalled - if [ -s ${EBUILDS_PREINSTALL} ]; then - - if [ ! -z $ASK ]; then - echo "Press Enter to see the list of ebuilds we'll be avaluating" - read key - $PAGER ${EBUILDS_PREINSTALL} - printf "Continue? (Y/N) " - read ANSWER - if [ $(echo "${ANSWER}" | egrep -e "^n|N" ) ]; then - echo "$(date) : USER ABORTED REBUILD">>$LOG - exit - fi - fi - - for EBUILD in $(cat ${EBUILDS_PREINSTALL} ); do - if emerge --oneshot -p "=$EBUILD"|egrep -q ".*ebuilds.*satisfy"; then - if emerge --oneshot -p ">=$EBUILD"|egrep -q ".*ebuilds.*satisfy"; then - echo "$(date) : There are no unmasked ebuilds to satisfy $EBUILD. Skipping" | tee -a $LOG - sleep 2 - else - if [ ! -z $ASK ]; then - printf "${EBUILD} isn't available, but a new version is. Install? (Y/N) " - read ANSWER - if [ $(echo "${ANSWER}" | egrep -e "^y|Y" ) ]; then - echo ">=$EBUILD" >> ${EBUILDS_ORDERED} - echo "$(date) : User chose to install >=${EBUILD}">>$LOG - fi - else - echo ">=$EBUILD" >>${EBUILDS_ORDERED} - fi - fi - else - echo "=$EBUILD">>${EBUILDS_ORDERED} - fi - done - - if [ -s ${EBUILDS_ORDERED} ]; then - if [ ! -z $ASK ]; then - echo "Press Enter to see the final list of ebuilds to install" - read key - $PAGER ${EBUILDS_ORDERED} - printf "Continue? (Y/N) " - read ANSWER - if [ $(echo "${ANSWER}" | egrep -e "^n|N" ) ]; then - echo "$(date) : USER ABORTED REBUILD">>$LOG - exit - fi - fi - -# Cut down to one line so portage can handle ordering these appropriately - emerge -p --oneshot $(cat ${EBUILDS_ORDERED} ) | grep ebuild | sed -e 's:\([^ ]\+\):=\1:g' -e 's:.*\] \([^ ]*\) .*:\1:'>>${EBUILDS_REINSTALL} - - echo "Reinstalling ebuilds" - echo "$(date) : Ebuilds to reinstall: ">>$LOG - cat ${EBUILDS_REINSTALL}>>$LOG - echo >>$LOG - -# Now that we have them in the right order, emerge them one at a time -# This is to avoid problems if one doesn't emerge correctly - - for EBUILD in $(cat ${EBUILDS_REINSTALL}); do - emerge --oneshot ${ASK} "$EBUILD" - done - else - echo - echo "Nothing to reinstall!" - echo - fi - else - echo - echo "Nothing to reinstall!" - echo - fi - -} - -# Locate .so's and binaries linked against libperl.so -# The coup is in ! -newer libperl.so - cut out anything that was obviously installed -# after our last install of libperl, which should cut out the false positives. - -function libperl_list() { - echo "$(date) : Locating ebuilds linked against libperl" | tee -a $LOG - for i in $(find $(egrep -v ^# /etc/ld.so.conf) -type f -name '*.so*' ! -newer /usr/lib/libperl.so ) \ - $(find $(echo $PATH | sed 's/:/ /g') -type f -perm +0111 ! -newer /usr/lib/libperl.so ) ; - do - if [ -f ${i} ]; then - ldd ${i} 2>&1 | grep "libperl" - >/dev/null && grep -l $i $PKGDIR/*/*/CONTENTS>>${MODULES_LIST}; - fi - done - -} - -# Assuming a successful module run, look to see whats left over -function leftovers() { - echo "$(date) : Finding left over modules" | tee -a $LOG - - echo "$(date) : The following files remain. These were either installed by hand" | tee -a $LOG - echo "$(date) : or edited. This script cannot deal with them." | tee -a $LOG - echo | tee -a $LOG - - - INC=$(perl -e 'for $line (@INC) { next if $line eq "."; next if $line =~ m/'${PERL_VERSION}'/; print "$line\n" }') - for DIR in $INC; do - if [ -d $DIR ]; then - for file in $(find $DIR -type f |grep -v "${PERL_VERSION}" ) ; do - echo "$(date) : ${file}" | tee -a $LOG - done - fi - done -} - - -case "$1" in - leftovers) - leftovers - ;; - modules) - module_list - ebuild_rebuild - leftovers - ;; - libperl) - libperl_list - ebuild_rebuild - ;; - ph-clean) - ph_clean - ;; - phupdate) - ph_update - ;; - phall) - ph_clean - ph_update - ;; - all) - ph_clean - ph_update - module_list - libperl_list - ebuild_rebuild - leftovers - ;; - *) - echo "Usage: $0 [options] [ask]" - printf "\tmodules - rebuild perl modules\n" - printf "\tlibperl - rebuild anything linked against libperl\n" - printf "\tph-clean - clean out old ph files from a previous perl\n" - printf "\tphupdate - update existing ph files, useful after an upgrade to system parts like the kernel\n" - printf "\tphall - clean out old ph files and run phupdate\n" - printf "\tall - rebuild modules, libperl linkages, clean ph files, and rebuild them\n" - printf "\n" - printf "\task - ask for confirmation on each emerge" - printf "\n\n" - - ;; -esac - -postclean - -exit diff --git a/dev-lang/perl/perl-5.8.6-r5.ebuild b/dev-lang/perl/perl-5.8.6-r5.ebuild deleted file mode 100644 index a7f628ccf545..000000000000 --- a/dev-lang/perl/perl-5.8.6-r5.ebuild +++ /dev/null @@ -1,614 +0,0 @@ -# Copyright 1999-2006 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/perl/perl-5.8.6-r5.ebuild,v 1.17 2006/02/07 18:55:18 mcummings Exp $ - -inherit eutils flag-o-matic toolchain-funcs multilib - -# The slot of this binary compat version of libperl.so -PERLSLOT="1" - -SHORT_PV="${PV%.*}" -MY_P="perl-${PV/_rc/-RC}" -DESCRIPTION="Larry Wall's Practical Extraction and Reporting Language" -S="${WORKDIR}/${MY_P}" -SRC_URI="ftp://ftp.perl.org/pub/CPAN/src/${MY_P}.tar.bz2" -HOMEPAGE="http://www.perl.org/" -LIBPERL="libperl.so.${PERLSLOT}.${SHORT_PV}" - -LICENSE="Artistic GPL-2" -SLOT="0" -KEYWORDS="alpha amd64 arm hppa ia64 m68k mips ppc ppc64 s390 sh sparc x86" -IUSE="berkdb debug doc gdbm ithreads perlsuid build minimal" -PERL_OLDVERSEN="5.8.0 5.8.2 5.8.4 5.8.5" - -DEPEND="berkdb? ( sys-libs/db ) - gdbm? ( >=sys-libs/gdbm-1.8.3 ) - >=sys-devel/libperl-${PV}-r1 - !<perl-core/ExtUtils-MakeMaker-6.17 - !<perl-core/File-Spec-0.87 - !<perl-core/Test-Simple-0.47-r1" - -RDEPEND=">=sys-devel/libperl-${PV}-r1 - berkdb? ( sys-libs/db ) - gdbm? ( >=sys-libs/gdbm-1.8.3 )" - -PDEPEND="app-admin/perl-cleaner" - -pkg_setup() { - # I think this should rather be displayed if you *have* 'ithreads' - # in USE if it could break things ... - if use ithreads - then - 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. " - epause 5 - fi - - if use minimal - then - ewarn "You have the minimal USE flag set. The resulting" - ewarn "perl is stripped of most of its module functionality" - ewarn "and is intended for minmal use case where you need" - ewarn "just the perl interpreter, no extras." - fi - - if [ ! -f "${ROOT}/usr/$(get_libdir)/${LIBPERL}" ] - then - # Make sure we have libperl installed ... - eerror "Cannot find ${ROOT}/usr/$(get_libdir)/${LIBPERL}! Make sure that you" - eerror "have sys-libs/libperl installed properly ..." - die "Cannot find ${ROOT}/usr/$(get_libdir)/${LIBPERL}!" - fi -} - -src_unpack() { - unpack ${A} - - # Get -lpthread linked before -lc. This is needed - # when using glibc >= 2.3, or else runtime signal - # handling breaks. Fixes bug #14380. - # <rac@gentoo.org> (14 Feb 2003) - # reinstated to try to avoid sdl segfaults 03.10.02 - cd ${S}; epatch ${FILESDIR}/${PN}-prelink-lpthread.patch - - # Patch perldoc to not abort when it attempts to search - # nonexistent directories; fixes bug #16589. - # <rac@gentoo.org> (28 Feb 2003) - - cd ${S}; epatch ${FILESDIR}/${PN}-perldoc-emptydirs.patch - - # this lays the groundwork for solving the issue of what happens - # when people (or ebuilds) install different versiosn of modules - # that are in the core, by rearranging the @INC directory to look - # site -> vendor -> core. - cd ${S}; epatch ${FILESDIR}/${PN}-reorder-INC.patch - - # some well-intentioned stuff in http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&selm=Pine.SOL.4.10.10205231231200.5399-100000%40maxwell.phys.lafayette.edu - # attempts to avoid bringing cccdlflags to bear on static - # extensions (like DynaLoader). i believe this is - # counterproductive on a Gentoo system which has both a shared - # and static libperl, so effectively revert this here. - cd ${S}; epatch ${FILESDIR}/${PN}-picdl.patch - - # Configure makes an unwarranted assumption that /bin/ksh is a - # good shell. This patch makes it revert to using /bin/sh unless - # /bin/ksh really is executable. Should fix bug 42665. - # rac 2004.06.09 - cd ${S}; epatch ${FILESDIR}/${PN}-noksh.patch - - # uclibc support - epatch ${FILESDIR}/${PN}-uclibc.patch - - # this one only affects sparc64, as best weeve and rac can tell, - # but seems sane for all linux. we don't have to worry about - # drifting into obscure SysV non-posix semantics, and the current - # code in IO.xs that checks for this sort of thing dies in LDAP on - # sparc64. - - #epatch ${FILESDIR}/${PN}-nonblock.patch - - # since we build in non-world-writeable portage directories, none - # of the .t sections of the original version of this patch matter - # much. the PPPort section is apparently obsolete, because i see - # no /tmp in there now. ditto on perlbug.SH, which has secure - # tempfile handling if resources are present. originally from bug - # 66360. - - epatch ${FILESDIR}/${P}-tempfiles.patch - - # An additional tempfile patch, bug 75696 - #epatch ${FILESDIR}/file_path_rmtree.patch - - # Bug 80460, perlsuid vulnerability - if use perlsuid - then - epatch ${FILESDIR}/CAN-2005-0156-suid.patch - fi - -} - -src_configure() { - - # some arches and -O do not mix :) - use arm && replace-flags -O? -O1 - use ppc && replace-flags -O? -O1 - use ia64 && 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 - - export LC_ALL="C" - local myconf="" - - case ${CHOST} in - *-freebsd*) osname="freebsd" ;; - *-netbsd*) osname="netbsd" ;; - *-openbsd*) osname="openbsd" ;; - *-darwin*) osname="darwin" ;; - - *) osname="linux" ;; - esac - - if use ithreads - then - einfo "using ithreads" - mythreading="-multi" - myconf="-Dusethreads ${myconf}" - myarch=$(get_abi_CHOST) - myarch="${myarch%%-*}-${osname}-thread" - else - myarch=$(get_abi_CHOST) - myarch="${myarch%%-*}-${osname}" - fi - - local inclist=$(for v in $PERL_OLDVERSEN; do echo -n "$v $v/$myarch$mythreading "; done) - - # 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="${myconf} -${myndbm}i_ndbm -${mygdbm}i_gdbm -${mydb}i_db" - - if use mips - then - # this is needed because gcc 3.3-compiled kernels will hang - # the machine trying to run this test - check with `Kumba - # <rac@gentoo.org> 2003.06.26 - myconf="${myconf} -Dd_u32align" - fi - - if use perlsuid - then - myconf="${myconf} -Dd_dosuid" - ewarn "You have enabled Perl's suid compile. Please" - ewarn "read http://perldoc.com/perl5.8.2/INSTALL.html#suidperl" - epause 3 - fi - - if use debug - then - CFLAGS="${CFLAGS} -g" - fi - - if use sparc - then - myconf="${myconf} -Ud_longdbl" - fi - - if use alpha && "$(tc-getCC)" == "ccc" - then - ewarn "Perl will not be built with berkdb support, use gcc if you needed it..." - myconf="${myconf} -Ui_db -Ui_ndbm" - fi - - [ -n "${ABI}" ] && myconf="${myconf} -Dusrinc=$(get_ml_incdir)" - - [[ ${ELIBC} == "FreeBSD" ]] && myconf="${myconf} -Dlibc=/usr/lib/libc.a" - - sh Configure -des \ - -Darchname="${myarch}" \ - -Dcccdlflags='-fPIC' \ - -Dccdlflags='-rdynamic' \ - -Dcc="$(tc-getCC)" \ - -Dprefix='/usr' \ - -Dvendorprefix='/usr' \ - -Dsiteprefix='/usr' \ - -Dlocincpth=' ' \ - -Doptimize="${CFLAGS}" \ - -Duselargefiles \ - -Dd_semctl_semun \ - -Dscriptdir=/usr/bin \ - -Dman1dir=/usr/share/man/man1 \ - -Dman3dir=/usr/share/man/man3 \ - -Dinstallman1dir=/usr/share/man/man1 \ - -Dinstallman3dir=/usr/share/man/man3 \ - -Dman1ext='1' \ - -Dman3ext='3pm' \ - -Dinc_version_list="$inclist" \ - -Dcf_by='Gentoo' \ - -Ud_csh \ - ${myconf} || die "Unable to configure" -} - -src_compile() { - - # would like to bracket this with a test for the existence of a - # dotfile, but can't clean it automatically now. - - src_configure - - emake -j1 || die "Unable to make" -} - -src_test() { - use elibc_uclibc && export MAKEOPTS="${MAKEOPTS} -j1" - emake -i test CCDLFLAGS= || die "test failed" -} - -src_install() { - - export LC_ALL="C" - - # Need to do this, else apps do not link to dynamic version of - # the library ... - local coredir="/usr/lib/perl5/${PV}/${myarch}${mythreading}/CORE" - dodir ${coredir} - dosym ../../../../../$(get_libdir)/${LIBPERL} ${coredir}/${LIBPERL} - dosym ../../../../../$(get_libdir)/${LIBPERL} ${coredir}/libperl.so.${PERLSLOT} - dosym ../../../../../$(get_libdir)/${LIBPERL} ${coredir}/libperl.so - - # Fix for "stupid" modules and programs - dodir /usr/lib/perl5/site_perl/${PV}/${myarch}${mythreading} - - local installtarget=install - if use minimal || use build ; then - installtarget=install.perl - fi - make DESTDIR="${D}" ${installtarget} || die "Unable to make ${installtarget}" - - # 2004.07.28 rac - - # suidperl has had a history of security trouble, and the - # perldelta has recommended against using it for a while. genone - # alerted me to the fact that the hardlinks aren't carrying - # through the staging directory, and we end up with four copies of - # perl, basically. two normal, two suid. fix this up here, and - # delete suidperl entirely. if this causes outrage, here's where - # to fix. - - # Moved to a use flag enablement - bug 64823 - mcummings - #rm ${D}/usr/bin/sperl${PV} - #rm ${D}/usr/bin/suidperl - rm ${D}/usr/bin/perl - ln -s perl${PV} ${D}/usr/bin/perl - - cp -f utils/h2ph utils/h2ph_patched - epatch ${FILESDIR}/${PN}-h2ph-ansi-header.patch - - LD_LIBRARY_PATH=. ./perl -Ilib utils/h2ph_patched \ - -a -d ${D}/usr/lib/perl5/${PV}/${myarch}${mythreading} <<EOF -asm/termios.h -syscall.h -syslimits.h -syslog.h -sys/ioctl.h -sys/socket.h -sys/time.h -wait.h -EOF - - # This is to fix a missing c flag for backwards compat - for i in `find ${D}/usr/lib/perl5 -iname "Config.pm"`;do - sed -e "s:ccflags=':ccflags='-DPERL5 :" \ - -e "s:cppflags=':cppflags='-DPERL5 :" \ - ${i} > ${i}.new &&\ - mv ${i}.new ${i} || die "Sed failed" - done - - # A poor fix for the miniperl issues - dosed 's:./miniperl:/usr/bin/perl:' /usr/lib/perl5/${PV}/ExtUtils/xsubpp - fperms 0444 /usr/lib/perl5/${PV}/ExtUtils/xsubpp - dosed 's:./miniperl:/usr/bin/perl:' /usr/bin/xsubpp - fperms 0755 /usr/bin/xsubpp - - # This removes ${D} from Config.pm and .packlist - for i in `find ${D} -iname "Config.pm"` `find ${D} -iname ".packlist"`;do - einfo "Removing ${D} from ${i}..." - sed -e "s:${D}::" ${i} > ${i}.new &&\ - mv ${i}.new ${i} || die "Sed failed" - done - - # 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* Artistic Copying README Todo* AUTHORS - - if use doc - then - # HTML Documentation - # We expect errors, warnings, and such with the following. - - dodir /usr/share/doc/${PF}/html - ./perl installhtml \ - --podroot='.' \ - --podpath='lib:ext:pod:vms' \ - --recurse \ - --htmldir="${D}/usr/share/doc/${PF}/html" \ - --libpods='perlfunc:perlguts:perlvar:perlrun:perlop' - fi - cd `find ${D} -name Path.pm|sed -e 's/Path.pm//'` - # CAN patch in bug 79685 - epatch ${FILESDIR}/CAN-2005-0448-rmtree.patch - - if use minimal || use build ; then - src_remove_extra_files - fi - -} - -src_remove_extra_files() -{ - local prefix="./usr" # ./ is important - local bindir="${prefix}/bin" - local perlroot="${prefix}/lib/perl5" # perl installs per-arch dirs - local prV="${perlroot}/${PV}" - # myarch and mythreading are defined inside src_configure() - local prVA="${prV}/${myarch}${mythreading}" - - # 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${PV} - ${bindir}/pod2man - ${prV}/attributes.pm - ${prV}/AutoLoader.pm - ${prV}/autouse.pm - ${prV}/base.pm - ${prV}/bigint.pm - ${prV}/bignum.pm - ${prV}/bigrat.pm - ${prV}/blib.pm - ${prV}/bytes_heavy.pl - ${prV}/bytes.pm - ${prV}/Carp/Heavy.pm - ${prV}/Carp.pm - ${prV}/charnames.pm - ${prV}/Class/Struct.pm - ${prV}/constant.pm - ${prV}/diagnostics.pm - ${prV}/DirHandle.pm - ${prV}/Exporter/Heavy.pm - ${prV}/Exporter.pm - ${prV}/fields.pm - ${prV}/File/Basename.pm - ${prV}/File/Compare.pm - ${prV}/File/Copy.pm - ${prV}/File/Find.pm - ${prV}/FileHandle.pm - ${prV}/File/Path.pm - ${prV}/File/Spec.pm - ${prV}/File/Spec/Unix.pm - ${prV}/File/stat.pm - ${prV}/filetest.pm - ${prVA}/attrs.pm - ${prVA}/auto/attrs - ${prVA}/auto/Cwd/Cwd.so - ${prVA}/auto/Data/Dumper/Dumper.so - ${prVA}/auto/DynaLoader/dl_findfile.al - ${prVA}/auto/Fcntl/Fcntl.so - ${prVA}/auto/File/Glob/Glob.so - ${prVA}/auto/IO/IO.so - ${prVA}/auto/POSIX/autosplit.ix - ${prVA}/auto/POSIX/fstat.al - ${prVA}/auto/POSIX/load_imports.al - ${prVA}/auto/POSIX/POSIX.bs - ${prVA}/auto/POSIX/POSIX.so - ${prVA}/auto/POSIX/stat.al - ${prVA}/auto/POSIX/tmpfile.al - ${prVA}/auto/re/re.so - ${prVA}/auto/Socket/Socket.so - ${prVA}/auto/Storable/autosplit.ix - ${prVA}/auto/Storable/_retrieve.al - ${prVA}/auto/Storable/retrieve.al - ${prVA}/auto/Storable/Storable.so - ${prVA}/auto/Storable/_store.al - ${prVA}/auto/Storable/store.al - ${prVA}/B/Deparse.pm - ${prVA}/B.pm - ${prVA}/Config.pm - ${prVA}/Config_heavy.pl - ${prVA}/CORE/libperl.so - ${prVA}/Cwd.pm - ${prVA}/Data/Dumper.pm - ${prVA}/DynaLoader.pm - ${prVA}/encoding.pm - ${prVA}/Errno.pm - ${prVA}/Fcntl.pm - ${prVA}/File/Glob.pm - ${prVA}/_h2ph_pre.ph - ${prVA}/IO/File.pm - ${prVA}/IO/Handle.pm - ${prVA}/IO/Pipe.pm - ${prVA}/IO.pm - ${prVA}/IO/Seekable.pm - ${prVA}/IO/Select.pm - ${prVA}/IO/Socket.pm - ${prVA}/lib.pm - ${prVA}/NDBM_File.pm - ${prVA}/ops.pm - ${prVA}/POSIX.pm - ${prVA}/re.pm - ${prVA}/Socket.pm - ${prVA}/Storable.pm - ${prVA}/threads - ${prVA}/threads.pm - ${prVA}/XSLoader.pm - ${prV}/Getopt/Long.pm - ${prV}/Getopt/Std.pm - ${prV}/if.pm - ${prV}/integer.pm - ${prV}/IO/Socket/INET.pm - ${prV}/IO/Socket/UNIX.pm - ${prV}/IPC/Open2.pm - ${prV}/IPC/Open3.pm - ${prV}/less.pm - ${prV}/List/Util.pm - ${prV}/locale.pm - ${prV}/open.pm - ${prV}/overload.pm - ${prV}/Pod/InputObjects.pm - ${prV}/Pod/Man.pm - ${prV}/Pod/ParseLink.pm - ${prV}/Pod/Parser.pm - ${prV}/Pod/Select.pm - ${prV}/Pod/Text.pm - ${prV}/Pod/Usage.pm - ${prV}/PerlIO.pm - ${prV}/Scalar/Util.pm - ${prV}/SelectSaver.pm - ${prV}/sigtrap.pm - ${prV}/sort.pm - ${prV}/stat.pl - ${prV}/strict.pm - ${prV}/subs.pm - ${prV}/Symbol.pm - ${prV}/Text/ParseWords.pm - ${prV}/Text/Tabs.pm - ${prV}/Text/Wrap.pm - ${prV}/Time/Local.pm - ${prV}/unicore/Canonical.pl - ${prV}/unicore/Exact.pl - ${prV}/unicore/lib/gc_sc/Digit.pl - ${prV}/unicore/lib/gc_sc/Word.pl - ${prV}/unicore/PVA.pl - ${prV}/unicore/To/Fold.pl - ${prV}/unicore/To/Lower.pl - ${prV}/unicore/To/Upper.pl - ${prV}/utf8_heavy.pl - ${prV}/utf8.pm - ${prV}/vars.pm - ${prV}/vmsish.pm - ${prV}/warnings - ${prV}/warnings.pm - ${prV}/warnings/register.pm" - - if use perlsuid ; then - MINIMAL_PERL_INSTALL="${MINIMAL_PERL_INSTALL} - ${bindir}/suidperl - ${bindir}/sperl${PV}" - fi - - pushd ${D} > /dev/null - # Remove cruft - einfo "Removing files that are not in the minimal install" - for f in $(find . -type f); do - has ${f} ${MINIMAL_PERL_INSTALL} || rm -f ${f} - done - # Remove empty directories - find . -depth -type d | xargs -r rmdir &> /dev/null - popd > /dev/null -} - -pkg_postinst() { - # Make sure we do not have stale/invalid libperl.so 's ... - if [ -f "${ROOT}usr/$(get_libdir)/libperl.so" -a ! -L "${ROOT}usr/$(get_libdir)/libperl.so" ] - then - mv -f ${ROOT}usr/$(get_libdir)/libperl.so ${ROOT}usr/$(get_libdir)/libperl.so.old - fi - - local perllib="`readlink -f ${ROOT}usr/$(get_libdir)/libperl.so | sed -e 's:^.*/::'`" - - # If we are installing perl, we need the /usr/lib/libperl.so symlink to - # point to the version of perl we are running, else builing something - # against libperl.so will break ... - if [ "${perllib}" != "${LIBPERL}" ] - then - # Delete stale symlinks - rm -f ${ROOT}usr/$(get_libdir)/libperl.so - rm -f ${ROOT}usr/$(get_libdir)/libperl.so.${PERLSLOT} - # Regenerate libperl.so.${PERLSLOT} - ln -snf ${LIBPERL} ${ROOT}usr/$(get_libdir)/libperl.so.${PERLSLOT} - # Create libperl.so (we use the *soname* versioned lib here ..) - ln -snf libperl.so.${PERLSLOT} ${ROOT}usr/$(get_libdir)/libperl.so - fi - - INC=$(perl -e 'for $line (@INC) { next if $line eq "."; next if $line =~ m/'${PV}'|etc|local|perl$/; print "$line\n" }') - if [ "${ROOT}" = "/" ] - then - ebegin "Removing old .ph files" - for DIR in $INC; do - if [ -d ${ROOT}/$DIR ]; then - for file in $(find ${ROOT}/$DIR -name "*.ph" -type f); do - rm ${ROOT}/$file - einfo "<< $file" - done - fi - done - # Silently remove the now empty dirs - for DIR in $INC; do - if [ -d ${ROOT}/$DIR ]; then - find ${ROOT}/$DIR -depth -type d | xargs -r rmdir &> /dev/null - fi - done - ebegin "Converting C header files to the corresponding Perl format" - cd /usr/include; - h2ph * sys/* arpa/* netinet/* bits/* security/* asm/* gnu/* linux/* - cd /usr/include/linux; - h2ph * - fi - -# 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 - epause 10 - 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.so" - 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 "" - eerror "" - -} diff --git a/dev-lang/perl/perl-5.8.6-r6.ebuild b/dev-lang/perl/perl-5.8.6-r6.ebuild deleted file mode 100644 index 7a286e3fa6e3..000000000000 --- a/dev-lang/perl/perl-5.8.6-r6.ebuild +++ /dev/null @@ -1,625 +0,0 @@ -# Copyright 1999-2006 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/perl/perl-5.8.6-r6.ebuild,v 1.12 2006/02/07 18:55:18 mcummings Exp $ - -inherit eutils flag-o-matic toolchain-funcs multilib - -# The slot of this binary compat version of libperl.so -PERLSLOT="1" - -SHORT_PV="${PV%.*}" -MY_P="perl-${PV/_rc/-RC}" -DESCRIPTION="Larry Wall's Practical Extraction and Reporting Language" -S="${WORKDIR}/${MY_P}" -SRC_URI="ftp://ftp.perl.org/pub/CPAN/src/${MY_P}.tar.bz2" -HOMEPAGE="http://www.perl.org/" -LIBPERL="libperl.so.${PERLSLOT}.${SHORT_PV}" - -LICENSE="Artistic GPL-2" -SLOT="0" -KEYWORDS="~alpha amd64 arm hppa ~ia64 m68k mips ppc ~ppc64 s390 sh ~sparc x86" -IUSE="berkdb debug doc gdbm ithreads perlsuid build minimal" -PERL_OLDVERSEN="5.8.0 5.8.2 5.8.4 5.8.5" - -DEPEND="berkdb? ( sys-libs/db ) - gdbm? ( >=sys-libs/gdbm-1.8.3 ) - >=sys-devel/libperl-${PV}-r1 - !<perl-core/ExtUtils-MakeMaker-6.17 - !<perl-core/File-Spec-0.87 - !<perl-core/Test-Simple-0.47-r1" - -RDEPEND=">=sys-devel/libperl-${PV}-r1 - berkdb? ( sys-libs/db ) - gdbm? ( >=sys-libs/gdbm-1.8.3 )" - -PDEPEND="app-admin/perl-cleaner" - -pkg_setup() { - # I think this should rather be displayed if you *have* 'ithreads' - # in USE if it could break things ... - if use ithreads - then - 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. " - epause 5 - fi - - if use minimal - then - ewarn "You have the minimal USE flag set. The resulting" - ewarn "perl is stripped of most of its module functionality" - ewarn "and is intended for minmal use case where you need" - ewarn "just the perl interpreter, no extras." - fi - - if [ ! -f "${ROOT}/usr/$(get_libdir)/${LIBPERL}" ] - then - # Make sure we have libperl installed ... - eerror "Cannot find ${ROOT}/usr/$(get_libdir)/${LIBPERL}! Make sure that you" - eerror "have sys-libs/libperl installed properly ..." - die "Cannot find ${ROOT}/usr/$(get_libdir)/${LIBPERL}!" - fi -} - -src_unpack() { - unpack ${A} - - # Get -lpthread linked before -lc. This is needed - # when using glibc >= 2.3, or else runtime signal - # handling breaks. Fixes bug #14380. - # <rac@gentoo.org> (14 Feb 2003) - # reinstated to try to avoid sdl segfaults 03.10.02 - cd ${S}; epatch ${FILESDIR}/${PN}-prelink-lpthread.patch - - # Patch perldoc to not abort when it attempts to search - # nonexistent directories; fixes bug #16589. - # <rac@gentoo.org> (28 Feb 2003) - - cd ${S}; epatch ${FILESDIR}/${PN}-perldoc-emptydirs.patch - - # this lays the groundwork for solving the issue of what happens - # when people (or ebuilds) install different versiosn of modules - # that are in the core, by rearranging the @INC directory to look - # site -> vendor -> core. - cd ${S}; epatch ${FILESDIR}/${PN}-reorder-INC.patch - - # some well-intentioned stuff in http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&selm=Pine.SOL.4.10.10205231231200.5399-100000%40maxwell.phys.lafayette.edu - # attempts to avoid bringing cccdlflags to bear on static - # extensions (like DynaLoader). i believe this is - # counterproductive on a Gentoo system which has both a shared - # and static libperl, so effectively revert this here. - cd ${S}; epatch ${FILESDIR}/${PN}-picdl.patch - - # Configure makes an unwarranted assumption that /bin/ksh is a - # good shell. This patch makes it revert to using /bin/sh unless - # /bin/ksh really is executable. Should fix bug 42665. - # rac 2004.06.09 - cd ${S}; epatch ${FILESDIR}/${PN}-noksh.patch - - # uclibc support - epatch ${FILESDIR}/${PN}-uclibc.patch - - # this one only affects sparc64, as best weeve and rac can tell, - # but seems sane for all linux. we don't have to worry about - # drifting into obscure SysV non-posix semantics, and the current - # code in IO.xs that checks for this sort of thing dies in LDAP on - # sparc64. - - #epatch ${FILESDIR}/${PN}-nonblock.patch - - # since we build in non-world-writeable portage directories, none - # of the .t sections of the original version of this patch matter - # much. the PPPort section is apparently obsolete, because i see - # no /tmp in there now. ditto on perlbug.SH, which has secure - # tempfile handling if resources are present. originally from bug - # 66360. - - epatch ${FILESDIR}/${P}-tempfiles.patch - - # An additional tempfile patch, bug 75696 - #epatch ${FILESDIR}/file_path_rmtree.patch - - # We do not want the build root in the linked perl module's RUNPATH, so - # strip paths containing PORTAGE_TMPDIR if its set. This is for the - # MakeMaker module, bug #105054. - epatch ${FILESDIR}/${PN}-5.8.7-MakeMaker-RUNPATH.patch - - # Bug 80460, perlsuid vulnerability - if use perlsuid - then - epatch ${FILESDIR}/CAN-2005-0156-suid.patch - fi - -} - -src_configure() { - - # some arches and -O do not mix :) - use arm && replace-flags -O? -O1 - use ppc && replace-flags -O? -O1 - use ia64 && 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 - - export LC_ALL="C" - local myconf="" - - case ${CHOST} in - *-freebsd*) osname="freebsd" ;; - *-netbsd*) osname="netbsd" ;; - *-openbsd*) osname="openbsd" ;; - *-darwin*) osname="darwin" ;; - - *) osname="linux" ;; - esac - - if use ithreads - then - einfo "using ithreads" - mythreading="-multi" - myconf="-Dusethreads ${myconf}" - myarch=$(get_abi_CHOST) - myarch="${myarch%%-*}-${osname}-thread" - else - myarch=$(get_abi_CHOST) - myarch="${myarch%%-*}-${osname}" - fi - - local inclist=$(for v in $PERL_OLDVERSEN; do echo -n "$v $v/$myarch$mythreading "; done) - - # 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="${myconf} -${myndbm}i_ndbm -${mygdbm}i_gdbm -${mydb}i_db" - - if use mips - then - # this is needed because gcc 3.3-compiled kernels will hang - # the machine trying to run this test - check with `Kumba - # <rac@gentoo.org> 2003.06.26 - myconf="${myconf} -Dd_u32align" - fi - - if use perlsuid - then - myconf="${myconf} -Dd_dosuid" - ewarn "You have enabled Perl's suid compile. Please" - ewarn "read http://perldoc.com/perl5.8.2/INSTALL.html#suidperl" - epause 3 - fi - - if use debug - then - CFLAGS="${CFLAGS} -g" - fi - - if use sparc - then - myconf="${myconf} -Ud_longdbl" - fi - - if use alpha && "$(tc-getCC)" == "ccc" - then - ewarn "Perl will not be built with berkdb support, use gcc if you needed it..." - myconf="${myconf} -Ui_db -Ui_ndbm" - fi - - [ -n "${ABI}" ] && myconf="${myconf} -Dusrinc=$(get_ml_incdir)" - - [[ ${ELIBC} == "FreeBSD" ]] && myconf="${myconf} -Dlibc=/usr/lib/libc.a" - - if [[ $(get_libdir) != "lib" ]] ; then - myconf="${myconf} -Dlibpth='/usr/local/$(get_libdir) /$(get_libdir) \ - /usr/$(get_libdir)'" - fi - - - sh Configure -des \ - -Darchname="${myarch}" \ - -Dcccdlflags='-fPIC' \ - -Dccdlflags='-rdynamic' \ - -Dcc="$(tc-getCC)" \ - -Dprefix='/usr' \ - -Dvendorprefix='/usr' \ - -Dsiteprefix='/usr' \ - -Dlocincpth=' ' \ - -Doptimize="${CFLAGS}" \ - -Duselargefiles \ - -Dd_semctl_semun \ - -Dscriptdir=/usr/bin \ - -Dman1dir=/usr/share/man/man1 \ - -Dman3dir=/usr/share/man/man3 \ - -Dinstallman1dir=/usr/share/man/man1 \ - -Dinstallman3dir=/usr/share/man/man3 \ - -Dman1ext='1' \ - -Dman3ext='3pm' \ - -Dinc_version_list="$inclist" \ - -Dcf_by='Gentoo' \ - -Ud_csh \ - ${myconf} || die "Unable to configure" -} - -src_compile() { - - # would like to bracket this with a test for the existence of a - # dotfile, but can't clean it automatically now. - - src_configure - - emake -j1 || die "Unable to make" -} - -src_test() { - use elibc_uclibc && export MAKEOPTS="${MAKEOPTS} -j1" - emake -i test CCDLFLAGS= || die "test failed" -} - -src_install() { - - export LC_ALL="C" - - # Need to do this, else apps do not link to dynamic version of - # the library ... - local coredir="/usr/lib/perl5/${PV}/${myarch}${mythreading}/CORE" - dodir ${coredir} - dosym ../../../../../$(get_libdir)/${LIBPERL} ${coredir}/${LIBPERL} - dosym ../../../../../$(get_libdir)/${LIBPERL} ${coredir}/libperl.so.${PERLSLOT} - dosym ../../../../../$(get_libdir)/${LIBPERL} ${coredir}/libperl.so - - # Fix for "stupid" modules and programs - dodir /usr/lib/perl5/site_perl/${PV}/${myarch}${mythreading} - - local installtarget=install - if use minimal || use build ; then - installtarget=install.perl - fi - make DESTDIR="${D}" ${installtarget} || die "Unable to make ${installtarget}" - - # 2004.07.28 rac - - # suidperl has had a history of security trouble, and the - # perldelta has recommended against using it for a while. genone - # alerted me to the fact that the hardlinks aren't carrying - # through the staging directory, and we end up with four copies of - # perl, basically. two normal, two suid. fix this up here, and - # delete suidperl entirely. if this causes outrage, here's where - # to fix. - - # Moved to a use flag enablement - bug 64823 - mcummings - #rm ${D}/usr/bin/sperl${PV} - #rm ${D}/usr/bin/suidperl - rm ${D}/usr/bin/perl - ln -s perl${PV} ${D}/usr/bin/perl - - cp -f utils/h2ph utils/h2ph_patched - epatch ${FILESDIR}/${PN}-h2ph-ansi-header.patch - - LD_LIBRARY_PATH=. ./perl -Ilib utils/h2ph_patched \ - -a -d ${D}/usr/lib/perl5/${PV}/${myarch}${mythreading} <<EOF -asm/termios.h -syscall.h -syslimits.h -syslog.h -sys/ioctl.h -sys/socket.h -sys/time.h -wait.h -EOF - - # This is to fix a missing c flag for backwards compat - for i in `find ${D}/usr/lib/perl5 -iname "Config.pm"`;do - sed -e "s:ccflags=':ccflags='-DPERL5 :" \ - -e "s:cppflags=':cppflags='-DPERL5 :" \ - ${i} > ${i}.new &&\ - mv ${i}.new ${i} || die "Sed failed" - done - - # A poor fix for the miniperl issues - dosed 's:./miniperl:/usr/bin/perl:' /usr/lib/perl5/${PV}/ExtUtils/xsubpp - fperms 0444 /usr/lib/perl5/${PV}/ExtUtils/xsubpp - dosed 's:./miniperl:/usr/bin/perl:' /usr/bin/xsubpp - fperms 0755 /usr/bin/xsubpp - - # This removes ${D} from Config.pm and .packlist - for i in `find ${D} -iname "Config.pm"` `find ${D} -iname ".packlist"`;do - einfo "Removing ${D} from ${i}..." - sed -e "s:${D}::" ${i} > ${i}.new &&\ - mv ${i}.new ${i} || die "Sed failed" - done - - # 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* Artistic Copying README Todo* AUTHORS - - if use doc - then - # HTML Documentation - # We expect errors, warnings, and such with the following. - - dodir /usr/share/doc/${PF}/html - ./perl installhtml \ - --podroot='.' \ - --podpath='lib:ext:pod:vms' \ - --recurse \ - --htmldir="${D}/usr/share/doc/${PF}/html" \ - --libpods='perlfunc:perlguts:perlvar:perlrun:perlop' - fi - cd `find ${D} -name Path.pm|sed -e 's/Path.pm//'` - # CAN patch in bug 79685 - epatch ${FILESDIR}/CAN-2005-0448-rmtree.patch - - if use minimal || use build ; then - src_remove_extra_files - fi - -} - -src_remove_extra_files() -{ - local prefix="./usr" # ./ is important - local bindir="${prefix}/bin" - local perlroot="${prefix}/lib/perl5" # perl installs per-arch dirs - local prV="${perlroot}/${PV}" - # myarch and mythreading are defined inside src_configure() - local prVA="${prV}/${myarch}${mythreading}" - - # 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${PV} - ${bindir}/pod2man - ${prV}/attributes.pm - ${prV}/AutoLoader.pm - ${prV}/autouse.pm - ${prV}/base.pm - ${prV}/bigint.pm - ${prV}/bignum.pm - ${prV}/bigrat.pm - ${prV}/blib.pm - ${prV}/bytes_heavy.pl - ${prV}/bytes.pm - ${prV}/Carp/Heavy.pm - ${prV}/Carp.pm - ${prV}/charnames.pm - ${prV}/Class/Struct.pm - ${prV}/constant.pm - ${prV}/diagnostics.pm - ${prV}/DirHandle.pm - ${prV}/Exporter/Heavy.pm - ${prV}/Exporter.pm - ${prV}/fields.pm - ${prV}/File/Basename.pm - ${prV}/File/Compare.pm - ${prV}/File/Copy.pm - ${prV}/File/Find.pm - ${prV}/FileHandle.pm - ${prV}/File/Path.pm - ${prV}/File/Spec.pm - ${prV}/File/Spec/Unix.pm - ${prV}/File/stat.pm - ${prV}/filetest.pm - ${prVA}/attrs.pm - ${prVA}/auto/attrs - ${prVA}/auto/Cwd/Cwd.so - ${prVA}/auto/Data/Dumper/Dumper.so - ${prVA}/auto/DynaLoader/dl_findfile.al - ${prVA}/auto/Fcntl/Fcntl.so - ${prVA}/auto/File/Glob/Glob.so - ${prVA}/auto/IO/IO.so - ${prVA}/auto/POSIX/autosplit.ix - ${prVA}/auto/POSIX/fstat.al - ${prVA}/auto/POSIX/load_imports.al - ${prVA}/auto/POSIX/POSIX.bs - ${prVA}/auto/POSIX/POSIX.so - ${prVA}/auto/POSIX/stat.al - ${prVA}/auto/POSIX/tmpfile.al - ${prVA}/auto/re/re.so - ${prVA}/auto/Socket/Socket.so - ${prVA}/auto/Storable/autosplit.ix - ${prVA}/auto/Storable/_retrieve.al - ${prVA}/auto/Storable/retrieve.al - ${prVA}/auto/Storable/Storable.so - ${prVA}/auto/Storable/_store.al - ${prVA}/auto/Storable/store.al - ${prVA}/B/Deparse.pm - ${prVA}/B.pm - ${prVA}/Config.pm - ${prVA}/Config_heavy.pl - ${prVA}/CORE/libperl.so - ${prVA}/Cwd.pm - ${prVA}/Data/Dumper.pm - ${prVA}/DynaLoader.pm - ${prVA}/encoding.pm - ${prVA}/Errno.pm - ${prVA}/Fcntl.pm - ${prVA}/File/Glob.pm - ${prVA}/_h2ph_pre.ph - ${prVA}/IO/File.pm - ${prVA}/IO/Handle.pm - ${prVA}/IO/Pipe.pm - ${prVA}/IO.pm - ${prVA}/IO/Seekable.pm - ${prVA}/IO/Select.pm - ${prVA}/IO/Socket.pm - ${prVA}/lib.pm - ${prVA}/NDBM_File.pm - ${prVA}/ops.pm - ${prVA}/POSIX.pm - ${prVA}/re.pm - ${prVA}/Socket.pm - ${prVA}/Storable.pm - ${prVA}/threads - ${prVA}/threads.pm - ${prVA}/XSLoader.pm - ${prV}/Getopt/Long.pm - ${prV}/Getopt/Std.pm - ${prV}/if.pm - ${prV}/integer.pm - ${prV}/IO/Socket/INET.pm - ${prV}/IO/Socket/UNIX.pm - ${prV}/IPC/Open2.pm - ${prV}/IPC/Open3.pm - ${prV}/less.pm - ${prV}/List/Util.pm - ${prV}/locale.pm - ${prV}/open.pm - ${prV}/overload.pm - ${prV}/Pod/InputObjects.pm - ${prV}/Pod/Man.pm - ${prV}/Pod/ParseLink.pm - ${prV}/Pod/Parser.pm - ${prV}/Pod/Select.pm - ${prV}/Pod/Text.pm - ${prV}/Pod/Usage.pm - ${prV}/PerlIO.pm - ${prV}/Scalar/Util.pm - ${prV}/SelectSaver.pm - ${prV}/sigtrap.pm - ${prV}/sort.pm - ${prV}/stat.pl - ${prV}/strict.pm - ${prV}/subs.pm - ${prV}/Symbol.pm - ${prV}/Text/ParseWords.pm - ${prV}/Text/Tabs.pm - ${prV}/Text/Wrap.pm - ${prV}/Time/Local.pm - ${prV}/unicore/Canonical.pl - ${prV}/unicore/Exact.pl - ${prV}/unicore/lib/gc_sc/Digit.pl - ${prV}/unicore/lib/gc_sc/Word.pl - ${prV}/unicore/PVA.pl - ${prV}/unicore/To/Fold.pl - ${prV}/unicore/To/Lower.pl - ${prV}/unicore/To/Upper.pl - ${prV}/utf8_heavy.pl - ${prV}/utf8.pm - ${prV}/vars.pm - ${prV}/vmsish.pm - ${prV}/warnings - ${prV}/warnings.pm - ${prV}/warnings/register.pm" - - if use perlsuid ; then - MINIMAL_PERL_INSTALL="${MINIMAL_PERL_INSTALL} - ${bindir}/suidperl - ${bindir}/sperl${PV}" - fi - - pushd ${D} > /dev/null - # Remove cruft - einfo "Removing files that are not in the minimal install" - for f in $(find . -type f); do - has ${f} ${MINIMAL_PERL_INSTALL} || rm -f ${f} - done - # Remove empty directories - find . -depth -type d | xargs -r rmdir &> /dev/null - popd > /dev/null -} - -pkg_postinst() { - # Make sure we do not have stale/invalid libperl.so 's ... - if [ -f "${ROOT}usr/$(get_libdir)/libperl.so" -a ! -L "${ROOT}usr/$(get_libdir)/libperl.so" ] - then - mv -f ${ROOT}usr/$(get_libdir)/libperl.so ${ROOT}usr/$(get_libdir)/libperl.so.old - fi - - local perllib="`readlink -f ${ROOT}usr/$(get_libdir)/libperl.so | sed -e 's:^.*/::'`" - - # If we are installing perl, we need the /usr/lib/libperl.so symlink to - # point to the version of perl we are running, else builing something - # against libperl.so will break ... - if [ "${perllib}" != "${LIBPERL}" ] - then - # Delete stale symlinks - rm -f ${ROOT}usr/$(get_libdir)/libperl.so - rm -f ${ROOT}usr/$(get_libdir)/libperl.so.${PERLSLOT} - # Regenerate libperl.so.${PERLSLOT} - ln -snf ${LIBPERL} ${ROOT}usr/$(get_libdir)/libperl.so.${PERLSLOT} - # Create libperl.so (we use the *soname* versioned lib here ..) - ln -snf libperl.so.${PERLSLOT} ${ROOT}usr/$(get_libdir)/libperl.so - fi - - INC=$(perl -e 'for $line (@INC) { next if $line eq "."; next if $line =~ m/'${PV}'|etc|local|perl$/; print "$line\n" }') - if [ "${ROOT}" = "/" ] - then - ebegin "Removing old .ph files" - for DIR in $INC; do - if [ -d ${ROOT}/$DIR ]; then - for file in $(find ${ROOT}/$DIR -name "*.ph" -type f); do - rm ${ROOT}/$file - einfo "<< $file" - done - fi - done - # Silently remove the now empty dirs - for DIR in $INC; do - if [ -d ${ROOT}/$DIR ]; then - find ${ROOT}/$DIR -depth -type d | xargs -r rmdir &> /dev/null - fi - done - ebegin "Converting C header files to the corresponding Perl format" - cd /usr/include; - h2ph * sys/* arpa/* netinet/* bits/* security/* asm/* gnu/* linux/* - cd /usr/include/linux; - h2ph * - fi - -# 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 - epause 10 - 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.so" - 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 "" - eerror "" - -} diff --git a/dev-lang/perl/perl-5.8.6-r7.ebuild b/dev-lang/perl/perl-5.8.6-r7.ebuild deleted file mode 100644 index 016df857c789..000000000000 --- a/dev-lang/perl/perl-5.8.6-r7.ebuild +++ /dev/null @@ -1,628 +0,0 @@ -# Copyright 1999-2006 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/perl/perl-5.8.6-r7.ebuild,v 1.7 2006/02/07 18:55:18 mcummings Exp $ - -inherit eutils flag-o-matic toolchain-funcs multilib - -# The slot of this binary compat version of libperl.so -PERLSLOT="1" - -SHORT_PV="${PV%.*}" -MY_P="perl-${PV/_rc/-RC}" -DESCRIPTION="Larry Wall's Practical Extraction and Reporting Language" -S="${WORKDIR}/${MY_P}" -SRC_URI="ftp://ftp.perl.org/pub/CPAN/src/${MY_P}.tar.bz2" -HOMEPAGE="http://www.perl.org/" -LIBPERL="libperl.so.${PERLSLOT}.${SHORT_PV}" - -LICENSE="Artistic GPL-2" -SLOT="0" -KEYWORDS="~alpha ~amd64 arm hppa ia64 m68k ~mips ppc ~ppc64 s390 sh ~sparc x86" -IUSE="berkdb debug doc gdbm ithreads perlsuid build minimal" -PERL_OLDVERSEN="5.8.0 5.8.2 5.8.4 5.8.5" - -DEPEND="berkdb? ( sys-libs/db ) - gdbm? ( >=sys-libs/gdbm-1.8.3 ) - >=sys-devel/libperl-${PV}-r1 - !<perl-core/ExtUtils-MakeMaker-6.17 - !<perl-core/File-Spec-0.87 - !<perl-core/Test-Simple-0.47-r1" - -RDEPEND=">=sys-devel/libperl-${PV}-r1 - berkdb? ( sys-libs/db ) - gdbm? ( >=sys-libs/gdbm-1.8.3 )" - -PDEPEND="app-admin/perl-cleaner" - -pkg_setup() { - # I think this should rather be displayed if you *have* 'ithreads' - # in USE if it could break things ... - if use ithreads - then - 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. " - epause 5 - fi - - if use minimal - then - ewarn "You have the minimal USE flag set. The resulting" - ewarn "perl is stripped of most of its module functionality" - ewarn "and is intended for minmal use case where you need" - ewarn "just the perl interpreter, no extras." - fi - - if [ ! -f "${ROOT}/usr/$(get_libdir)/${LIBPERL}" ] - then - # Make sure we have libperl installed ... - eerror "Cannot find ${ROOT}/usr/$(get_libdir)/${LIBPERL}! Make sure that you" - eerror "have sys-libs/libperl installed properly ..." - die "Cannot find ${ROOT}/usr/$(get_libdir)/${LIBPERL}!" - fi -} - -src_unpack() { - unpack ${A} - - # Get -lpthread linked before -lc. This is needed - # when using glibc >= 2.3, or else runtime signal - # handling breaks. Fixes bug #14380. - # <rac@gentoo.org> (14 Feb 2003) - # reinstated to try to avoid sdl segfaults 03.10.02 - cd ${S}; epatch ${FILESDIR}/${PN}-prelink-lpthread.patch - - # Patch perldoc to not abort when it attempts to search - # nonexistent directories; fixes bug #16589. - # <rac@gentoo.org> (28 Feb 2003) - - cd ${S}; epatch ${FILESDIR}/${PN}-perldoc-emptydirs.patch - - # this lays the groundwork for solving the issue of what happens - # when people (or ebuilds) install different versiosn of modules - # that are in the core, by rearranging the @INC directory to look - # site -> vendor -> core. - cd ${S}; epatch ${FILESDIR}/${PN}-reorder-INC.patch - - # some well-intentioned stuff in http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&selm=Pine.SOL.4.10.10205231231200.5399-100000%40maxwell.phys.lafayette.edu - # attempts to avoid bringing cccdlflags to bear on static - # extensions (like DynaLoader). i believe this is - # counterproductive on a Gentoo system which has both a shared - # and static libperl, so effectively revert this here. - cd ${S}; epatch ${FILESDIR}/${PN}-picdl.patch - - # Configure makes an unwarranted assumption that /bin/ksh is a - # good shell. This patch makes it revert to using /bin/sh unless - # /bin/ksh really is executable. Should fix bug 42665. - # rac 2004.06.09 - cd ${S}; epatch ${FILESDIR}/${PN}-noksh.patch - - # uclibc support - epatch ${FILESDIR}/${PN}-uclibc.patch - - # this one only affects sparc64, as best weeve and rac can tell, - # but seems sane for all linux. we don't have to worry about - # drifting into obscure SysV non-posix semantics, and the current - # code in IO.xs that checks for this sort of thing dies in LDAP on - # sparc64. - - #epatch ${FILESDIR}/${PN}-nonblock.patch - - # since we build in non-world-writeable portage directories, none - # of the .t sections of the original version of this patch matter - # much. the PPPort section is apparently obsolete, because i see - # no /tmp in there now. ditto on perlbug.SH, which has secure - # tempfile handling if resources are present. originally from bug - # 66360. - - epatch ${FILESDIR}/${P}-tempfiles.patch - - # An additional tempfile patch, bug 75696 - #epatch ${FILESDIR}/file_path_rmtree.patch - - # We do not want the build root in the linked perl module's RUNPATH, so - # strip paths containing PORTAGE_TMPDIR if its set. This is for the - # MakeMaker module, bug #105054. - epatch ${FILESDIR}/${PN}-5.8.7-MakeMaker-RUNPATH.patch - - # Bug 80460, perlsuid vulnerability - if use perlsuid - then - epatch ${FILESDIR}/CAN-2005-0156-suid.patch - fi - - # Bug 114113 - cd ${S}; epatch ${FILESDIR}/perl-exp_intwrap.patch - -} - -src_configure() { - - # some arches and -O do not mix :) - use arm && replace-flags -O? -O1 - use ppc && replace-flags -O? -O1 - use ia64 && 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 - - export LC_ALL="C" - local myconf="" - - case ${CHOST} in - *-freebsd*) osname="freebsd" ;; - *-netbsd*) osname="netbsd" ;; - *-openbsd*) osname="openbsd" ;; - *-darwin*) osname="darwin" ;; - - *) osname="linux" ;; - esac - - if use ithreads - then - einfo "using ithreads" - mythreading="-multi" - myconf="-Dusethreads ${myconf}" - myarch=$(get_abi_CHOST) - myarch="${myarch%%-*}-${osname}-thread" - else - myarch=$(get_abi_CHOST) - myarch="${myarch%%-*}-${osname}" - fi - - local inclist=$(for v in $PERL_OLDVERSEN; do echo -n "$v $v/$myarch$mythreading "; done) - - # 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="${myconf} -${myndbm}i_ndbm -${mygdbm}i_gdbm -${mydb}i_db" - - if use mips - then - # this is needed because gcc 3.3-compiled kernels will hang - # the machine trying to run this test - check with `Kumba - # <rac@gentoo.org> 2003.06.26 - myconf="${myconf} -Dd_u32align" - fi - - if use perlsuid - then - myconf="${myconf} -Dd_dosuid" - ewarn "You have enabled Perl's suid compile. Please" - ewarn "read http://perldoc.com/perl5.8.2/INSTALL.html#suidperl" - epause 3 - fi - - if use debug - then - CFLAGS="${CFLAGS} -g" - fi - - if use sparc - then - myconf="${myconf} -Ud_longdbl" - fi - - if use alpha && "$(tc-getCC)" == "ccc" - then - ewarn "Perl will not be built with berkdb support, use gcc if you needed it..." - myconf="${myconf} -Ui_db -Ui_ndbm" - fi - - [ -n "${ABI}" ] && myconf="${myconf} -Dusrinc=$(get_ml_incdir)" - - [[ ${ELIBC} == "FreeBSD" ]] && myconf="${myconf} -Dlibc=/usr/lib/libc.a" - - if [[ $(get_libdir) != "lib" ]] ; then - myconf="${myconf} -Dlibpth='/usr/local/$(get_libdir) /$(get_libdir) \ - /usr/$(get_libdir)'" - fi - - - sh Configure -des \ - -Darchname="${myarch}" \ - -Dcccdlflags='-fPIC' \ - -Dccdlflags='-rdynamic' \ - -Dcc="$(tc-getCC)" \ - -Dprefix='/usr' \ - -Dvendorprefix='/usr' \ - -Dsiteprefix='/usr' \ - -Dlocincpth=' ' \ - -Doptimize="${CFLAGS}" \ - -Duselargefiles \ - -Dd_semctl_semun \ - -Dscriptdir=/usr/bin \ - -Dman1dir=/usr/share/man/man1 \ - -Dman3dir=/usr/share/man/man3 \ - -Dinstallman1dir=/usr/share/man/man1 \ - -Dinstallman3dir=/usr/share/man/man3 \ - -Dman1ext='1' \ - -Dman3ext='3pm' \ - -Dinc_version_list="$inclist" \ - -Dcf_by='Gentoo' \ - -Ud_csh \ - ${myconf} || die "Unable to configure" -} - -src_compile() { - - # would like to bracket this with a test for the existence of a - # dotfile, but can't clean it automatically now. - - src_configure - - emake -j1 || die "Unable to make" -} - -src_test() { - use elibc_uclibc && export MAKEOPTS="${MAKEOPTS} -j1" - emake -i test CCDLFLAGS= || die "test failed" -} - -src_install() { - - export LC_ALL="C" - - # Need to do this, else apps do not link to dynamic version of - # the library ... - local coredir="/usr/lib/perl5/${PV}/${myarch}${mythreading}/CORE" - dodir ${coredir} - dosym ../../../../../$(get_libdir)/${LIBPERL} ${coredir}/${LIBPERL} - dosym ../../../../../$(get_libdir)/${LIBPERL} ${coredir}/libperl.so.${PERLSLOT} - dosym ../../../../../$(get_libdir)/${LIBPERL} ${coredir}/libperl.so - - # Fix for "stupid" modules and programs - dodir /usr/lib/perl5/site_perl/${PV}/${myarch}${mythreading} - - local installtarget=install - if use minimal || use build ; then - installtarget=install.perl - fi - make DESTDIR="${D}" ${installtarget} || die "Unable to make ${installtarget}" - - # 2004.07.28 rac - - # suidperl has had a history of security trouble, and the - # perldelta has recommended against using it for a while. genone - # alerted me to the fact that the hardlinks aren't carrying - # through the staging directory, and we end up with four copies of - # perl, basically. two normal, two suid. fix this up here, and - # delete suidperl entirely. if this causes outrage, here's where - # to fix. - - # Moved to a use flag enablement - bug 64823 - mcummings - #rm ${D}/usr/bin/sperl${PV} - #rm ${D}/usr/bin/suidperl - rm ${D}/usr/bin/perl - ln -s perl${PV} ${D}/usr/bin/perl - - cp -f utils/h2ph utils/h2ph_patched - epatch ${FILESDIR}/${PN}-h2ph-ansi-header.patch - - LD_LIBRARY_PATH=. ./perl -Ilib utils/h2ph_patched \ - -a -d ${D}/usr/lib/perl5/${PV}/${myarch}${mythreading} <<EOF -asm/termios.h -syscall.h -syslimits.h -syslog.h -sys/ioctl.h -sys/socket.h -sys/time.h -wait.h -EOF - - # This is to fix a missing c flag for backwards compat - for i in `find ${D}/usr/lib/perl5 -iname "Config.pm"`;do - sed -e "s:ccflags=':ccflags='-DPERL5 :" \ - -e "s:cppflags=':cppflags='-DPERL5 :" \ - ${i} > ${i}.new &&\ - mv ${i}.new ${i} || die "Sed failed" - done - - # A poor fix for the miniperl issues - dosed 's:./miniperl:/usr/bin/perl:' /usr/lib/perl5/${PV}/ExtUtils/xsubpp - fperms 0444 /usr/lib/perl5/${PV}/ExtUtils/xsubpp - dosed 's:./miniperl:/usr/bin/perl:' /usr/bin/xsubpp - fperms 0755 /usr/bin/xsubpp - - # This removes ${D} from Config.pm and .packlist - for i in `find ${D} -iname "Config.pm"` `find ${D} -iname ".packlist"`;do - einfo "Removing ${D} from ${i}..." - sed -e "s:${D}::" ${i} > ${i}.new &&\ - mv ${i}.new ${i} || die "Sed failed" - done - - # 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* Artistic Copying README Todo* AUTHORS - - if use doc - then - # HTML Documentation - # We expect errors, warnings, and such with the following. - - dodir /usr/share/doc/${PF}/html - ./perl installhtml \ - --podroot='.' \ - --podpath='lib:ext:pod:vms' \ - --recurse \ - --htmldir="${D}/usr/share/doc/${PF}/html" \ - --libpods='perlfunc:perlguts:perlvar:perlrun:perlop' - fi - cd `find ${D} -name Path.pm|sed -e 's/Path.pm//'` - # CAN patch in bug 79685 - epatch ${FILESDIR}/CAN-2005-0448-rmtree.patch - - if use minimal || use build ; then - src_remove_extra_files - fi - -} - -src_remove_extra_files() -{ - local prefix="./usr" # ./ is important - local bindir="${prefix}/bin" - local perlroot="${prefix}/lib/perl5" # perl installs per-arch dirs - local prV="${perlroot}/${PV}" - # myarch and mythreading are defined inside src_configure() - local prVA="${prV}/${myarch}${mythreading}" - - # 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${PV} - ${bindir}/pod2man - ${prV}/attributes.pm - ${prV}/AutoLoader.pm - ${prV}/autouse.pm - ${prV}/base.pm - ${prV}/bigint.pm - ${prV}/bignum.pm - ${prV}/bigrat.pm - ${prV}/blib.pm - ${prV}/bytes_heavy.pl - ${prV}/bytes.pm - ${prV}/Carp/Heavy.pm - ${prV}/Carp.pm - ${prV}/charnames.pm - ${prV}/Class/Struct.pm - ${prV}/constant.pm - ${prV}/diagnostics.pm - ${prV}/DirHandle.pm - ${prV}/Exporter/Heavy.pm - ${prV}/Exporter.pm - ${prV}/fields.pm - ${prV}/File/Basename.pm - ${prV}/File/Compare.pm - ${prV}/File/Copy.pm - ${prV}/File/Find.pm - ${prV}/FileHandle.pm - ${prV}/File/Path.pm - ${prV}/File/Spec.pm - ${prV}/File/Spec/Unix.pm - ${prV}/File/stat.pm - ${prV}/filetest.pm - ${prVA}/attrs.pm - ${prVA}/auto/attrs - ${prVA}/auto/Cwd/Cwd.so - ${prVA}/auto/Data/Dumper/Dumper.so - ${prVA}/auto/DynaLoader/dl_findfile.al - ${prVA}/auto/Fcntl/Fcntl.so - ${prVA}/auto/File/Glob/Glob.so - ${prVA}/auto/IO/IO.so - ${prVA}/auto/POSIX/autosplit.ix - ${prVA}/auto/POSIX/fstat.al - ${prVA}/auto/POSIX/load_imports.al - ${prVA}/auto/POSIX/POSIX.bs - ${prVA}/auto/POSIX/POSIX.so - ${prVA}/auto/POSIX/stat.al - ${prVA}/auto/POSIX/tmpfile.al - ${prVA}/auto/re/re.so - ${prVA}/auto/Socket/Socket.so - ${prVA}/auto/Storable/autosplit.ix - ${prVA}/auto/Storable/_retrieve.al - ${prVA}/auto/Storable/retrieve.al - ${prVA}/auto/Storable/Storable.so - ${prVA}/auto/Storable/_store.al - ${prVA}/auto/Storable/store.al - ${prVA}/B/Deparse.pm - ${prVA}/B.pm - ${prVA}/Config.pm - ${prVA}/Config_heavy.pl - ${prVA}/CORE/libperl.so - ${prVA}/Cwd.pm - ${prVA}/Data/Dumper.pm - ${prVA}/DynaLoader.pm - ${prVA}/encoding.pm - ${prVA}/Errno.pm - ${prVA}/Fcntl.pm - ${prVA}/File/Glob.pm - ${prVA}/_h2ph_pre.ph - ${prVA}/IO/File.pm - ${prVA}/IO/Handle.pm - ${prVA}/IO/Pipe.pm - ${prVA}/IO.pm - ${prVA}/IO/Seekable.pm - ${prVA}/IO/Select.pm - ${prVA}/IO/Socket.pm - ${prVA}/lib.pm - ${prVA}/NDBM_File.pm - ${prVA}/ops.pm - ${prVA}/POSIX.pm - ${prVA}/re.pm - ${prVA}/Socket.pm - ${prVA}/Storable.pm - ${prVA}/threads - ${prVA}/threads.pm - ${prVA}/XSLoader.pm - ${prV}/Getopt/Long.pm - ${prV}/Getopt/Std.pm - ${prV}/if.pm - ${prV}/integer.pm - ${prV}/IO/Socket/INET.pm - ${prV}/IO/Socket/UNIX.pm - ${prV}/IPC/Open2.pm - ${prV}/IPC/Open3.pm - ${prV}/less.pm - ${prV}/List/Util.pm - ${prV}/locale.pm - ${prV}/open.pm - ${prV}/overload.pm - ${prV}/Pod/InputObjects.pm - ${prV}/Pod/Man.pm - ${prV}/Pod/ParseLink.pm - ${prV}/Pod/Parser.pm - ${prV}/Pod/Select.pm - ${prV}/Pod/Text.pm - ${prV}/Pod/Usage.pm - ${prV}/PerlIO.pm - ${prV}/Scalar/Util.pm - ${prV}/SelectSaver.pm - ${prV}/sigtrap.pm - ${prV}/sort.pm - ${prV}/stat.pl - ${prV}/strict.pm - ${prV}/subs.pm - ${prV}/Symbol.pm - ${prV}/Text/ParseWords.pm - ${prV}/Text/Tabs.pm - ${prV}/Text/Wrap.pm - ${prV}/Time/Local.pm - ${prV}/unicore/Canonical.pl - ${prV}/unicore/Exact.pl - ${prV}/unicore/lib/gc_sc/Digit.pl - ${prV}/unicore/lib/gc_sc/Word.pl - ${prV}/unicore/PVA.pl - ${prV}/unicore/To/Fold.pl - ${prV}/unicore/To/Lower.pl - ${prV}/unicore/To/Upper.pl - ${prV}/utf8_heavy.pl - ${prV}/utf8.pm - ${prV}/vars.pm - ${prV}/vmsish.pm - ${prV}/warnings - ${prV}/warnings.pm - ${prV}/warnings/register.pm" - - if use perlsuid ; then - MINIMAL_PERL_INSTALL="${MINIMAL_PERL_INSTALL} - ${bindir}/suidperl - ${bindir}/sperl${PV}" - fi - - pushd ${D} > /dev/null - # Remove cruft - einfo "Removing files that are not in the minimal install" - for f in $(find . -type f); do - has ${f} ${MINIMAL_PERL_INSTALL} || rm -f ${f} - done - # Remove empty directories - find . -depth -type d | xargs -r rmdir &> /dev/null - popd > /dev/null -} - -pkg_postinst() { - # Make sure we do not have stale/invalid libperl.so 's ... - if [ -f "${ROOT}usr/$(get_libdir)/libperl.so" -a ! -L "${ROOT}usr/$(get_libdir)/libperl.so" ] - then - mv -f ${ROOT}usr/$(get_libdir)/libperl.so ${ROOT}usr/$(get_libdir)/libperl.so.old - fi - - local perllib="`readlink -f ${ROOT}usr/$(get_libdir)/libperl.so | sed -e 's:^.*/::'`" - - # If we are installing perl, we need the /usr/lib/libperl.so symlink to - # point to the version of perl we are running, else builing something - # against libperl.so will break ... - if [ "${perllib}" != "${LIBPERL}" ] - then - # Delete stale symlinks - rm -f ${ROOT}usr/$(get_libdir)/libperl.so - rm -f ${ROOT}usr/$(get_libdir)/libperl.so.${PERLSLOT} - # Regenerate libperl.so.${PERLSLOT} - ln -snf ${LIBPERL} ${ROOT}usr/$(get_libdir)/libperl.so.${PERLSLOT} - # Create libperl.so (we use the *soname* versioned lib here ..) - ln -snf libperl.so.${PERLSLOT} ${ROOT}usr/$(get_libdir)/libperl.so - fi - - INC=$(perl -e 'for $line (@INC) { next if $line eq "."; next if $line =~ m/'${PV}'|etc|local|perl$/; print "$line\n" }') - if [ "${ROOT}" = "/" ] - then - ebegin "Removing old .ph files" - for DIR in $INC; do - if [ -d ${ROOT}/$DIR ]; then - for file in $(find ${ROOT}/$DIR -name "*.ph" -type f); do - rm ${ROOT}/$file - einfo "<< $file" - done - fi - done - # Silently remove the now empty dirs - for DIR in $INC; do - if [ -d ${ROOT}/$DIR ]; then - find ${ROOT}/$DIR -depth -type d | xargs -r rmdir &> /dev/null - fi - done - ebegin "Converting C header files to the corresponding Perl format" - cd /usr/include; - h2ph * sys/* arpa/* netinet/* bits/* security/* asm/* gnu/* linux/* - cd /usr/include/linux; - h2ph * - fi - -# 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 - epause 10 - 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.so" - 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 "" - eerror "" - -} diff --git a/dev-lang/perl/perl-5.8.6-r8.ebuild b/dev-lang/perl/perl-5.8.6-r8.ebuild deleted file mode 100644 index d20662b940ab..000000000000 --- a/dev-lang/perl/perl-5.8.6-r8.ebuild +++ /dev/null @@ -1,630 +0,0 @@ -# Copyright 1999-2006 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/perl/perl-5.8.6-r8.ebuild,v 1.6 2006/01/16 20:09:56 mcummings Exp $ - -inherit eutils flag-o-matic toolchain-funcs multilib - -# The slot of this binary compat version of libperl.so -PERLSLOT="1" - -SHORT_PV="${PV%.*}" -MY_P="perl-${PV/_rc/-RC}" -DESCRIPTION="Larry Wall's Practical Extraction and Reporting Language" -S="${WORKDIR}/${MY_P}" -SRC_URI="ftp://ftp.perl.org/pub/CPAN/src/${MY_P}.tar.bz2" -HOMEPAGE="http://www.perl.org/" -LIBPERL="libperl.so.${PERLSLOT}.${SHORT_PV}" - -LICENSE="Artistic GPL-2" -SLOT="0" -KEYWORDS="~alpha ~amd64 arm hppa ia64 m68k mips ~ppc ppc64 s390 sh ~sparc x86" -IUSE="berkdb debug doc gdbm ithreads perlsuid build minimal" -PERL_OLDVERSEN="5.8.0 5.8.2 5.8.4 5.8.5" - -DEPEND="berkdb? ( sys-libs/db ) - gdbm? ( >=sys-libs/gdbm-1.8.3 ) - >=sys-devel/libperl-${PV}-r1 - !<perl-core/ExtUtils-MakeMaker-6.17 - !<perl-core/File-Spec-0.87 - !<perl-core/Test-Simple-0.47-r1" - -RDEPEND=">=sys-devel/libperl-${PV}-r1 - berkdb? ( sys-libs/db ) - gdbm? ( >=sys-libs/gdbm-1.8.3 )" - -PDEPEND="app-admin/perl-cleaner" - -pkg_setup() { - # I think this should rather be displayed if you *have* 'ithreads' - # in USE if it could break things ... - if use ithreads - then - 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. " - epause 5 - fi - - if use minimal - then - ewarn "You have the minimal USE flag set. The resulting" - ewarn "perl is stripped of most of its module functionality" - ewarn "and is intended for minmal use case where you need" - ewarn "just the perl interpreter, no extras." - fi - - if [ ! -f "${ROOT}/usr/$(get_libdir)/${LIBPERL}" ] - then - # Make sure we have libperl installed ... - eerror "Cannot find ${ROOT}/usr/$(get_libdir)/${LIBPERL}! Make sure that you" - eerror "have sys-libs/libperl installed properly ..." - die "Cannot find ${ROOT}/usr/$(get_libdir)/${LIBPERL}!" - fi -} - -src_unpack() { - unpack ${A} - - # Get -lpthread linked before -lc. This is needed - # when using glibc >= 2.3, or else runtime signal - # handling breaks. Fixes bug #14380. - # <rac@gentoo.org> (14 Feb 2003) - # reinstated to try to avoid sdl segfaults 03.10.02 - cd ${S}; epatch ${FILESDIR}/${PN}-prelink-lpthread.patch - - # Patch perldoc to not abort when it attempts to search - # nonexistent directories; fixes bug #16589. - # <rac@gentoo.org> (28 Feb 2003) - - cd ${S}; epatch ${FILESDIR}/${PN}-perldoc-emptydirs.patch - - # this lays the groundwork for solving the issue of what happens - # when people (or ebuilds) install different versiosn of modules - # that are in the core, by rearranging the @INC directory to look - # site -> vendor -> core. - cd ${S}; epatch ${FILESDIR}/${PN}-reorder-INC.patch - - # some well-intentioned stuff in http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&selm=Pine.SOL.4.10.10205231231200.5399-100000%40maxwell.phys.lafayette.edu - # attempts to avoid bringing cccdlflags to bear on static - # extensions (like DynaLoader). i believe this is - # counterproductive on a Gentoo system which has both a shared - # and static libperl, so effectively revert this here. - cd ${S}; epatch ${FILESDIR}/${PN}-picdl.patch - - # Configure makes an unwarranted assumption that /bin/ksh is a - # good shell. This patch makes it revert to using /bin/sh unless - # /bin/ksh really is executable. Should fix bug 42665. - # rac 2004.06.09 - cd ${S}; epatch ${FILESDIR}/${PN}-noksh.patch - - # uclibc support - epatch ${FILESDIR}/${PN}-uclibc.patch - - # this one only affects sparc64, as best weeve and rac can tell, - # but seems sane for all linux. we don't have to worry about - # drifting into obscure SysV non-posix semantics, and the current - # code in IO.xs that checks for this sort of thing dies in LDAP on - # sparc64. - - #epatch ${FILESDIR}/${PN}-nonblock.patch - - # since we build in non-world-writeable portage directories, none - # of the .t sections of the original version of this patch matter - # much. the PPPort section is apparently obsolete, because i see - # no /tmp in there now. ditto on perlbug.SH, which has secure - # tempfile handling if resources are present. originally from bug - # 66360. - - epatch ${FILESDIR}/${P}-tempfiles.patch - - # An additional tempfile patch, bug 75696 - #epatch ${FILESDIR}/file_path_rmtree.patch - - # We do not want the build root in the linked perl module's RUNPATH, so - # strip paths containing PORTAGE_TMPDIR if its set. This is for the - # MakeMaker module, bug #105054. - epatch ${FILESDIR}/${PN}-5.8.7-MakeMaker-RUNPATH.patch - - # Bug 80460, perlsuid vulnerability - if use perlsuid - then - epatch ${FILESDIR}/CAN-2005-0156-suid.patch - fi - - # Bug 114113 - cd ${S}; epatch ${FILESDIR}/perl-exp_intwrap.patch - -} - -src_configure() { - - # some arches and -O do not mix :) - use arm && replace-flags -O? -O1 - use ppc && replace-flags -O? -O1 - use ia64 && 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 - - export LC_ALL="C" - local myconf="" - - case ${CHOST} in - *-freebsd*) osname="freebsd" ;; - *-netbsd*) osname="netbsd" ;; - *-openbsd*) osname="openbsd" ;; - *-darwin*) osname="darwin" ;; - - *) osname="linux" ;; - esac - - if use ithreads - then - einfo "using ithreads" - mythreading="-multi" - myconf="-Dusethreads ${myconf}" - myarch=$(get_abi_CHOST) - myarch="${myarch%%-*}-${osname}-thread" - else - myarch=$(get_abi_CHOST) - myarch="${myarch%%-*}-${osname}" - fi - - local inclist=$(for v in $PERL_OLDVERSEN; do echo -n "$v $v/$myarch$mythreading "; done) - - # 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="${myconf} -${myndbm}i_ndbm -${mygdbm}i_gdbm -${mydb}i_db" - - if use mips - then - # this is needed because gcc 3.3-compiled kernels will hang - # the machine trying to run this test - check with `Kumba - # <rac@gentoo.org> 2003.06.26 - myconf="${myconf} -Dd_u32align" - fi - - if use perlsuid - then - myconf="${myconf} -Dd_dosuid" - ewarn "You have enabled Perl's suid compile. Please" - ewarn "read http://perldoc.com/perl5.8.2/INSTALL.html#suidperl" - epause 3 - fi - - if use debug - then - CFLAGS="${CFLAGS} -g" - fi - - if use sparc - then - myconf="${myconf} -Ud_longdbl" - fi - - if use alpha && "$(tc-getCC)" == "ccc" - then - ewarn "Perl will not be built with berkdb support, use gcc if you needed it..." - myconf="${myconf} -Ui_db -Ui_ndbm" - fi - - [ -n "${ABI}" ] && myconf="${myconf} -Dusrinc=$(get_ml_incdir)" - - [[ ${ELIBC} == "FreeBSD" ]] && myconf="${myconf} -Dlibc=/usr/lib/libc.a" - - if [[ $(get_libdir) != "lib" ]] ; then - myconf="${myconf} -Dlibpth='/usr/local/$(get_libdir) /$(get_libdir) \ - /usr/$(get_libdir)'" - fi - - - sh Configure -des \ - -Darchname="${myarch}" \ - -Dcccdlflags='-fPIC' \ - -Dccdlflags='-rdynamic' \ - -Dcc="$(tc-getCC)" \ - -Dprefix='/usr' \ - -Dvendorprefix='/usr' \ - -Dsiteprefix='/usr' \ - -Dlocincpth=' ' \ - -Doptimize="${CFLAGS}" \ - -Duselargefiles \ - -Dd_semctl_semun \ - -Dscriptdir=/usr/bin \ - -Dman1dir=/usr/share/man/man1 \ - -Dman3dir=/usr/share/man/man3 \ - -Dinstallman1dir=/usr/share/man/man1 \ - -Dinstallman3dir=/usr/share/man/man3 \ - -Dman1ext='1' \ - -Dman3ext='3pm' \ - -Dinc_version_list="$inclist" \ - -Dcf_by='Gentoo' \ - -Ud_csh \ - ${myconf} || die "Unable to configure" -} - -src_compile() { - - # would like to bracket this with a test for the existence of a - # dotfile, but can't clean it automatically now. - - src_configure - - emake -j1 || die "Unable to make" -} - -src_test() { - use elibc_uclibc && export MAKEOPTS="${MAKEOPTS} -j1" - emake -i test CCDLFLAGS= || die "test failed" -} - -src_install() { - - export LC_ALL="C" - - # Need to do this, else apps do not link to dynamic version of - # the library ... - local coredir="/usr/lib/perl5/${PV}/${myarch}${mythreading}/CORE" - dodir ${coredir} - dosym ../../../../../$(get_libdir)/${LIBPERL} ${coredir}/${LIBPERL} - dosym ../../../../../$(get_libdir)/${LIBPERL} ${coredir}/libperl.so.${PERLSLOT} - dosym ../../../../../$(get_libdir)/${LIBPERL} ${coredir}/libperl.so - - # Fix for "stupid" modules and programs - dodir /usr/lib/perl5/site_perl/${PV}/${myarch}${mythreading} - - local installtarget=install - if use minimal || use build ; then - installtarget=install.perl - fi - make DESTDIR="${D}" ${installtarget} || die "Unable to make ${installtarget}" - - # 2004.07.28 rac - - # suidperl has had a history of security trouble, and the - # perldelta has recommended against using it for a while. genone - # alerted me to the fact that the hardlinks aren't carrying - # through the staging directory, and we end up with four copies of - # perl, basically. two normal, two suid. fix this up here, and - # delete suidperl entirely. if this causes outrage, here's where - # to fix. - - # Moved to a use flag enablement - bug 64823 - mcummings - #rm ${D}/usr/bin/sperl${PV} - #rm ${D}/usr/bin/suidperl - rm ${D}/usr/bin/perl - ln -s perl${PV} ${D}/usr/bin/perl - - cp -f utils/h2ph utils/h2ph_patched - epatch ${FILESDIR}/${PN}-h2ph-ansi-header.patch - - LD_LIBRARY_PATH=. ./perl -Ilib utils/h2ph_patched \ - -a -d ${D}/usr/lib/perl5/${PV}/${myarch}${mythreading} <<EOF -asm/termios.h -syscall.h -syslimits.h -syslog.h -sys/ioctl.h -sys/socket.h -sys/time.h -wait.h -EOF - - # This is to fix a missing c flag for backwards compat - for i in `find ${D}/usr/lib/perl5 -iname "Config.pm"`;do - sed -e "s:ccflags=':ccflags='-DPERL5 :" \ - -e "s:cppflags=':cppflags='-DPERL5 :" \ - ${i} > ${i}.new &&\ - mv ${i}.new ${i} || die "Sed failed" - done - - # A poor fix for the miniperl issues - dosed 's:./miniperl:/usr/bin/perl:' /usr/lib/perl5/${PV}/ExtUtils/xsubpp - fperms 0444 /usr/lib/perl5/${PV}/ExtUtils/xsubpp - dosed 's:./miniperl:/usr/bin/perl:' /usr/bin/xsubpp - fperms 0755 /usr/bin/xsubpp - - # This removes ${D} from Config.pm and .packlist - for i in `find ${D} -iname "Config.pm"` `find ${D} -iname ".packlist"`;do - einfo "Removing ${D} from ${i}..." - sed -e "s:${D}::" ${i} > ${i}.new &&\ - mv ${i}.new ${i} || die "Sed failed" - done - - # 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* Artistic Copying README Todo* AUTHORS - - if use doc - then - # HTML Documentation - # We expect errors, warnings, and such with the following. - - dodir /usr/share/doc/${PF}/html - ./perl installhtml \ - --podroot='.' \ - --podpath='lib:ext:pod:vms' \ - --recurse \ - --htmldir="${D}/usr/share/doc/${PF}/html" \ - --libpods='perlfunc:perlguts:perlvar:perlrun:perlop' - fi - cd `find ${D} -name Path.pm|sed -e 's/Path.pm//'` - # CAN patch in bug 79685 - epatch ${FILESDIR}/CAN-2005-0448-rmtree.patch - - if use minimal || use build ; then - src_remove_extra_files - fi - -} - -src_remove_extra_files() -{ - local prefix="./usr" # ./ is important - local bindir="${prefix}/bin" - local perlroot="${prefix}/lib/perl5" # perl installs per-arch dirs - local prV="${perlroot}/${PV}" - # myarch and mythreading are defined inside src_configure() - local prVA="${prV}/${myarch}${mythreading}" - - # 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${PV} - ${bindir}/pod2man - ${prV}/attributes.pm - ${prV}/AutoLoader.pm - ${prV}/autouse.pm - ${prV}/base.pm - ${prV}/bigint.pm - ${prV}/bignum.pm - ${prV}/bigrat.pm - ${prV}/blib.pm - ${prV}/bytes_heavy.pl - ${prV}/bytes.pm - ${prV}/Carp/Heavy.pm - ${prV}/Carp.pm - ${prV}/charnames.pm - ${prV}/Class/Struct.pm - ${prV}/constant.pm - ${prV}/diagnostics.pm - ${prV}/DirHandle.pm - ${prV}/Exporter/Heavy.pm - ${prV}/Exporter.pm - ${prV}/fields.pm - ${prV}/File/Basename.pm - ${prV}/File/Compare.pm - ${prV}/File/Copy.pm - ${prV}/File/Find.pm - ${prV}/FileHandle.pm - ${prV}/File/Path.pm - ${prV}/File/Spec.pm - ${prV}/File/Spec/Unix.pm - ${prV}/File/stat.pm - ${prV}/filetest.pm - ${prVA}/attrs.pm - ${prVA}/auto/attrs - ${prVA}/auto/Cwd/Cwd.so - ${prVA}/auto/Data/Dumper/Dumper.so - ${prVA}/auto/DynaLoader/dl_findfile.al - ${prVA}/auto/Fcntl/Fcntl.so - ${prVA}/auto/File/Glob/Glob.so - ${prVA}/auto/IO/IO.so - ${prVA}/auto/POSIX/autosplit.ix - ${prVA}/auto/POSIX/fstat.al - ${prVA}/auto/POSIX/load_imports.al - ${prVA}/auto/POSIX/POSIX.bs - ${prVA}/auto/POSIX/POSIX.so - ${prVA}/auto/POSIX/stat.al - ${prVA}/auto/POSIX/tmpfile.al - ${prVA}/auto/re/re.so - ${prVA}/auto/Socket/Socket.so - ${prVA}/auto/Storable/autosplit.ix - ${prVA}/auto/Storable/_retrieve.al - ${prVA}/auto/Storable/retrieve.al - ${prVA}/auto/Storable/Storable.so - ${prVA}/auto/Storable/_store.al - ${prVA}/auto/Storable/store.al - ${prVA}/B/Deparse.pm - ${prVA}/B.pm - ${prVA}/Config.pm - ${prVA}/Config_heavy.pl - ${prVA}/CORE/libperl.so - ${prVA}/Cwd.pm - ${prVA}/Data/Dumper.pm - ${prVA}/DynaLoader.pm - ${prVA}/encoding.pm - ${prVA}/Errno.pm - ${prVA}/Fcntl.pm - ${prVA}/File/Glob.pm - ${prVA}/_h2ph_pre.ph - ${prVA}/IO/File.pm - ${prVA}/IO/Handle.pm - ${prVA}/IO/Pipe.pm - ${prVA}/IO.pm - ${prVA}/IO/Seekable.pm - ${prVA}/IO/Select.pm - ${prVA}/IO/Socket.pm - ${prVA}/lib.pm - ${prVA}/NDBM_File.pm - ${prVA}/ops.pm - ${prVA}/POSIX.pm - ${prVA}/re.pm - ${prVA}/Socket.pm - ${prVA}/Storable.pm - ${prVA}/threads - ${prVA}/threads.pm - ${prVA}/XSLoader.pm - ${prV}/Getopt/Long.pm - ${prV}/Getopt/Std.pm - ${prV}/if.pm - ${prV}/integer.pm - ${prV}/IO/Socket/INET.pm - ${prV}/IO/Socket/UNIX.pm - ${prV}/IPC/Open2.pm - ${prV}/IPC/Open3.pm - ${prV}/less.pm - ${prV}/List/Util.pm - ${prV}/locale.pm - ${prV}/open.pm - ${prV}/overload.pm - ${prV}/Pod/InputObjects.pm - ${prV}/Pod/Man.pm - ${prV}/Pod/ParseLink.pm - ${prV}/Pod/Parser.pm - ${prV}/Pod/Select.pm - ${prV}/Pod/Text.pm - ${prV}/Pod/Usage.pm - ${prV}/PerlIO.pm - ${prV}/Scalar/Util.pm - ${prV}/SelectSaver.pm - ${prV}/sigtrap.pm - ${prV}/sort.pm - ${prV}/stat.pl - ${prV}/strict.pm - ${prV}/subs.pm - ${prV}/Symbol.pm - ${prV}/Text/ParseWords.pm - ${prV}/Text/Tabs.pm - ${prV}/Text/Wrap.pm - ${prV}/Time/Local.pm - ${prV}/unicore/Canonical.pl - ${prV}/unicore/Exact.pl - ${prV}/unicore/lib/gc_sc/Digit.pl - ${prV}/unicore/lib/gc_sc/Word.pl - ${prV}/unicore/PVA.pl - ${prV}/unicore/To/Fold.pl - ${prV}/unicore/To/Lower.pl - ${prV}/unicore/To/Upper.pl - ${prV}/utf8_heavy.pl - ${prV}/utf8.pm - ${prV}/vars.pm - ${prV}/vmsish.pm - ${prV}/warnings - ${prV}/warnings.pm - ${prV}/warnings/register.pm" - - if use perlsuid ; then - MINIMAL_PERL_INSTALL="${MINIMAL_PERL_INSTALL} - ${bindir}/suidperl - ${bindir}/sperl${PV}" - fi - - pushd ${D} > /dev/null - # Remove cruft - einfo "Removing files that are not in the minimal install" - for f in $(find . -type f); do - has ${f} ${MINIMAL_PERL_INSTALL} || rm -f ${f} - done - # Remove empty directories - find . -depth -type d | xargs -r rmdir &> /dev/null - popd > /dev/null -} - -pkg_postinst() { - # Make sure we do not have stale/invalid libperl.so 's ... - if [ -f "${ROOT}usr/$(get_libdir)/libperl.so" -a ! -L "${ROOT}usr/$(get_libdir)/libperl.so" ] - then - mv -f ${ROOT}usr/$(get_libdir)/libperl.so ${ROOT}usr/$(get_libdir)/libperl.so.old - fi - - local perllib="`readlink -f ${ROOT}usr/$(get_libdir)/libperl.so | sed -e 's:^.*/::'`" - - # If we are installing perl, we need the /usr/lib/libperl.so symlink to - # point to the version of perl we are running, else builing something - # against libperl.so will break ... - if [ "${perllib}" != "${LIBPERL}" ] - then - # Delete stale symlinks - rm -f ${ROOT}usr/$(get_libdir)/libperl.so - rm -f ${ROOT}usr/$(get_libdir)/libperl.so.${PERLSLOT} - # Regenerate libperl.so.${PERLSLOT} - ln -snf ${LIBPERL} ${ROOT}usr/$(get_libdir)/libperl.so.${PERLSLOT} - # Create libperl.so (we use the *soname* versioned lib here ..) - ln -snf libperl.so.${PERLSLOT} ${ROOT}usr/$(get_libdir)/libperl.so - fi - - INC=$(perl -e 'for $line (@INC) { next if $line eq "."; next if $line =~ m/'${PV}'|etc|local|perl$/; print "$line\n" }') - if [ "${ROOT}" = "/" ] - then - ebegin "Removing old .ph files" - for DIR in $INC; do - if [ -d ${ROOT}/$DIR ]; then - for file in $(find ${ROOT}/$DIR -name "*.ph" -type f); do - rm ${ROOT}/$file - einfo "<< $file" - done - fi - done - # Silently remove the now empty dirs - for DIR in $INC; do - if [ -d ${ROOT}/$DIR ]; then - find ${ROOT}/$DIR -depth -type d | xargs -r rmdir &> /dev/null - fi - done - ebegin "Generating ConfigLocal.pm (ignore any error)" - enc2xs -C - ebegin "Converting C header files to the corresponding Perl format" - cd /usr/include; - h2ph * sys/* arpa/* netinet/* bits/* security/* asm/* gnu/* linux/* - cd /usr/include/linux; - h2ph * - fi - -# 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 - epause 10 - 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.so" - 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 "" - eerror "" - -} diff --git a/dev-lang/perl/perl-5.8.7-r1.ebuild b/dev-lang/perl/perl-5.8.7-r1.ebuild deleted file mode 100644 index 6e217074de89..000000000000 --- a/dev-lang/perl/perl-5.8.7-r1.ebuild +++ /dev/null @@ -1,654 +0,0 @@ -# Copyright 1999-2006 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/perl/perl-5.8.7-r1.ebuild,v 1.8 2006/02/07 18:55:18 mcummings Exp $ - -inherit eutils flag-o-matic toolchain-funcs multilib - -# The slot of this binary compat version of libperl.so -PERLSLOT="1" - -SHORT_PV="${PV%.*}" -MY_P="perl-${PV/_rc/-RC}" -DESCRIPTION="Larry Wall's Practical Extraction and Reporting Language" -S="${WORKDIR}/${MY_P}" -SRC_URI="ftp://ftp.perl.org/pub/CPAN/src/${MY_P}.tar.bz2" -HOMEPAGE="http://www.perl.org/" -LIBPERL="libperl$(get_libname ${PERLSLOT}.${SHORT_PV})" - -LICENSE="Artistic GPL-2" -SLOT="0" -KEYWORDS="alpha ~amd64 ~arm ~hppa ia64 ~mips ~ppc ~ppc-macos ppc64 ~s390 ~sh sparc ~x86" -IUSE="berkdb debug doc gdbm ithreads perlsuid build minimal" -PERL_OLDVERSEN="5.8.0 5.8.2 5.8.4 5.8.5 5.8.6" - -DEPEND="berkdb? ( sys-libs/db ) - gdbm? ( >=sys-libs/gdbm-1.8.3 ) - >=sys-devel/libperl-${PV} - !<perl-core/ExtUtils-MakeMaker-6.17 - !<perl-core/File-Spec-0.87 - !<perl-core/Test-Simple-0.47-r1" - -RDEPEND=">=sys-devel/libperl-${PV} - berkdb? ( sys-libs/db ) - gdbm? ( >=sys-libs/gdbm-1.8.3 )" - -PDEPEND="app-admin/perl-cleaner" - -pkg_setup() { - # I think this should rather be displayed if you *have* 'ithreads' - # in USE if it could break things ... - if use ithreads - then - 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. " - epause 5 - fi - - if use minimal - then - ewarn "You have the minimal USE flag set. The resulting" - ewarn "perl is stripped of most of its module functionality" - ewarn "and is intended for minmal use case where you need" - ewarn "just the perl interpreter, no extras." - fi - - if [ ! -f "${ROOT}/usr/$(get_libdir)/${LIBPERL}" ] - then - # Make sure we have libperl installed ... - eerror "Cannot find ${ROOT}/usr/$(get_libdir)/${LIBPERL}! Make sure that you" - eerror "have sys-libs/libperl installed properly ..." - die "Cannot find ${ROOT}/usr/$(get_libdir)/${LIBPERL}!" - fi -} - -src_unpack() { - unpack ${A} - - # Get -lpthread linked before -lc. This is needed - # when using glibc >= 2.3, or else runtime signal - # handling breaks. Fixes bug #14380. - # <rac@gentoo.org> (14 Feb 2003) - # reinstated to try to avoid sdl segfaults 03.10.02 - cd ${S}; epatch ${FILESDIR}/${PN}-prelink-lpthread.patch - - # Patch perldoc to not abort when it attempts to search - # nonexistent directories; fixes bug #16589. - # <rac@gentoo.org> (28 Feb 2003) - - cd ${S}; epatch ${FILESDIR}/${PN}-perldoc-emptydirs.patch - - # this lays the groundwork for solving the issue of what happens - # when people (or ebuilds) install different versiosn of modules - # that are in the core, by rearranging the @INC directory to look - # site -> vendor -> core. - cd ${S}; epatch ${FILESDIR}/${PN}-reorder-INC.patch - - # some well-intentioned stuff in http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&selm=Pine.SOL.4.10.10205231231200.5399-100000%40maxwell.phys.lafayette.edu - # attempts to avoid bringing cccdlflags to bear on static - # extensions (like DynaLoader). i believe this is - # counterproductive on a Gentoo system which has both a shared - # and static libperl, so effectively revert this here. - cd ${S}; epatch ${FILESDIR}/${PN}-picdl.patch - - # Configure makes an unwarranted assumption that /bin/ksh is a - # good shell. This patch makes it revert to using /bin/sh unless - # /bin/ksh really is executable. Should fix bug 42665. - # rac 2004.06.09 - cd ${S}; epatch ${FILESDIR}/${PN}-noksh.patch - - # this one only affects sparc64, as best weeve and rac can tell, - # but seems sane for all linux. we don't have to worry about - # drifting into obscure SysV non-posix semantics, and the current - # code in IO.xs that checks for this sort of thing dies in LDAP on - # sparc64. - - #epatch ${FILESDIR}/${PN}-nonblock.patch - - # since we build in non-world-writeable portage directories, none - # of the .t sections of the original version of this patch matter - # much. the PPPort section is apparently obsolete, because i see - # no /tmp in there now. ditto on perlbug.SH, which has secure - # tempfile handling if resources are present. originally from bug - # 66360. - - epatch ${FILESDIR}/${P}-tempfiles.patch - - # We do not want the build root in the linked perl module's RUNPATH, so - # strip paths containing PORTAGE_TMPDIR if its set. This is for the - # MakeMaker module, bug #105054. - epatch ${FILESDIR}/${PN}-5.8.7-MakeMaker-RUNPATH.patch - - # Starting and hopefully ending with 5.8.7 we observe stack - # corruption with the regexp handling in perls DynaLoader code - # with ssp enabled. This become fatal during compile time so we - # temporally disable ssp on two regexp files till upstream has a - # chance to work it out. Bug #97452 - use userland_Darwin || epatch "${FILESDIR}"/${P}-regexp-nossp.patch -} - -src_configure() { - - # some arches and -O do not mix :) - use arm && replace-flags -O? -O1 - use ppc && replace-flags -O? -O1 - use ia64 && 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 - - export LC_ALL="C" - local myconf="" - - case ${CHOST} in - *-freebsd*) osname="freebsd" ;; - *-netbsd*) osname="netbsd" ;; - *-openbsd*) osname="openbsd" ;; - *-darwin*) osname="darwin" ;; - - *) osname="linux" ;; - esac - - if use ithreads - then - einfo "using ithreads" - mythreading="-multi" - myconf="-Dusethreads ${myconf}" - myarch=$(get_abi_CHOST) - myarch="${myarch%%-*}-${osname}-thread" - else - myarch=$(get_abi_CHOST) - myarch="${myarch%%-*}-${osname}" - fi - - local inclist=$(for v in $PERL_OLDVERSEN; do echo -n "$v $v/$myarch$mythreading "; done) - - # 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="${myconf} -${myndbm}i_ndbm -${mygdbm}i_gdbm -${mydb}i_db" - - if use mips - then - # this is needed because gcc 3.3-compiled kernels will hang - # the machine trying to run this test - check with `Kumba - # <rac@gentoo.org> 2003.06.26 - myconf="${myconf} -Dd_u32align" - fi - - if use perlsuid - then - myconf="${myconf} -Dd_dosuid" - ewarn "You have enabled Perl's suid compile. Please" - ewarn "read http://perldoc.com/perl5.8.2/INSTALL.html#suidperl" - epause 3 - fi - - if use debug - then - CFLAGS="${CFLAGS} -g" - fi - - if use sparc - then - myconf="${myconf} -Ud_longdbl" - fi - - if use alpha && "$(tc-getCC)" == "ccc" - then - ewarn "Perl will not be built with berkdb support, use gcc if you needed it..." - myconf="${myconf} -Ui_db -Ui_ndbm" - fi - - [ -n "${ABI}" ] && myconf="${myconf} -Dusrinc=$(get_ml_incdir)" - - [[ ${ELIBC} == "FreeBSD" ]] && myconf="${myconf} -Dlibc=/usr/lib/libc.a" - - if [[ $(get_libdir) != "lib" ]] ; then - myconf="${myconf} -Dlibpth='/usr/local/$(get_libdir) /$(get_libdir) \ - /usr/$(get_libdir)'" - fi - - sh Configure -des \ - -Darchname="${myarch}" \ - -Dcccdlflags='-fPIC' \ - -Dccdlflags='-rdynamic' \ - -Dcc="$(tc-getCC)" \ - -Dprefix='/usr' \ - -Dvendorprefix='/usr' \ - -Dsiteprefix='/usr' \ - -Dlocincpth=' ' \ - -Doptimize="${CFLAGS}" \ - -Duselargefiles \ - -Dd_semctl_semun \ - -Dscriptdir=/usr/bin \ - -Dman1dir=/usr/share/man/man1 \ - -Dman3dir=/usr/share/man/man3 \ - -Dinstallman1dir=/usr/share/man/man1 \ - -Dinstallman3dir=/usr/share/man/man3 \ - -Dman1ext='1' \ - -Dman3ext='3pm' \ - -Dinc_version_list="$inclist" \ - -Dcf_by='Gentoo' \ - -Ud_csh \ - ${myconf} || die "Unable to configure" -} - -src_compile() { - - # would like to bracket this with a test for the existence of a - # dotfile, but can't clean it automatically now. - - src_configure - - emake -j1 || die "Unable to make" -} - -src_test() { - use elibc_uclibc && export MAKEOPTS="${MAKEOPTS} -j1" - emake -i test CCDLFLAGS= || die "test failed" -} - -src_install() { - - export LC_ALL="C" - - # Need to do this, else apps do not link to dynamic version of - # the library ... - local coredir="/usr/lib/perl5/${PV}/${myarch}${mythreading}/CORE" - dodir ${coredir} - dosym ../../../../../$(get_libdir)/${LIBPERL} ${coredir}/${LIBPERL} - dosym ../../../../../$(get_libdir)/${LIBPERL} ${coredir}/libperl$(get_libname ${PERLSLOT}) - dosym ../../../../../$(get_libdir)/${LIBPERL} ${coredir}/libperl$(get_libname) - - # Fix for "stupid" modules and programs - dodir /usr/lib/perl5/site_perl/${PV}/${myarch}${mythreading} - - local installtarget=install - if use minimal || use build ; then - installtarget=install.perl - fi - make DESTDIR="${D}" ${installtarget} || die "Unable to make ${installtarget}" - - # 2004.07.28 rac - - # suidperl has had a history of security trouble, and the - # perldelta has recommended against using it for a while. genone - # alerted me to the fact that the hardlinks aren't carrying - # through the staging directory, and we end up with four copies of - # perl, basically. two normal, two suid. fix this up here, and - # delete suidperl entirely. if this causes outrage, here's where - # to fix. - - # Moved to a use flag enablement - bug 64823 - mcummings - #rm ${D}/usr/bin/sperl${PV} - #rm ${D}/usr/bin/suidperl - rm ${D}/usr/bin/perl - ln -s perl${PV} ${D}/usr/bin/perl - - cp -f utils/h2ph utils/h2ph_patched - epatch ${FILESDIR}/${PN}-h2ph-ansi-header.patch - - LD_LIBRARY_PATH=. ./perl -Ilib utils/h2ph_patched \ - -a -d ${D}/usr/lib/perl5/${PV}/${myarch}${mythreading} <<EOF -asm/termios.h -syscall.h -syslimits.h -syslog.h -sys/ioctl.h -sys/socket.h -sys/time.h -wait.h -EOF - - # This is to fix a missing c flag for backwards compat - for i in `find ${D}/usr/lib/perl5 -iname "Config.pm"`;do - sed -e "s:ccflags=':ccflags='-DPERL5 :" \ - -e "s:cppflags=':cppflags='-DPERL5 :" \ - ${i} > ${i}.new &&\ - mv ${i}.new ${i} || die "Sed failed" - done - - # A poor fix for the miniperl issues - dosed 's:./miniperl:/usr/bin/perl:' /usr/lib/perl5/${PV}/ExtUtils/xsubpp - fperms 0444 /usr/lib/perl5/${PV}/ExtUtils/xsubpp - dosed 's:./miniperl:/usr/bin/perl:' /usr/bin/xsubpp - fperms 0755 /usr/bin/xsubpp - - # This removes ${D} from Config.pm and .packlist - for i in `find ${D} -iname "Config.pm"` `find ${D} -iname ".packlist"`;do - einfo "Removing ${D} from ${i}..." - sed -e "s:${D}::" ${i} > ${i}.new &&\ - mv ${i}.new ${i} || die "Sed failed" - done - - # 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* Artistic Copying README Todo* AUTHORS - - if use doc - then - # HTML Documentation - # We expect errors, warnings, and such with the following. - - dodir /usr/share/doc/${PF}/html - ./perl installhtml \ - --podroot='.' \ - --podpath='lib:ext:pod:vms' \ - --recurse \ - --htmldir="${D}/usr/share/doc/${PF}/html" \ - --libpods='perlfunc:perlguts:perlvar:perlrun:perlop' - fi - cd `find ${D} -name Path.pm|sed -e 's/Path.pm//'` - # CAN patch in bug 79685 - epatch ${FILESDIR}/${P}-CAN-2005-0448-rmtree.patch - - if use minimal || use build ; then - src_remove_extra_files - fi - -} - -src_remove_extra_files() -{ - local prefix="./usr" # ./ is important - local bindir="${prefix}/bin" - local perlroot="${prefix}/lib/perl5" # perl installs per-arch dirs - local prV="${perlroot}/${PV}" - # myarch and mythreading are defined inside src_configure() - local prVA="${prV}/${myarch}${mythreading}" - - # 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${PV} - ${bindir}/pod2man - ${prV}/attributes.pm - ${prV}/AutoLoader.pm - ${prV}/autouse.pm - ${prV}/base.pm - ${prV}/bigint.pm - ${prV}/bignum.pm - ${prV}/bigrat.pm - ${prV}/blib.pm - ${prV}/bytes_heavy.pl - ${prV}/bytes.pm - ${prV}/Carp/Heavy.pm - ${prV}/Carp.pm - ${prV}/charnames.pm - ${prV}/Class/Struct.pm - ${prV}/constant.pm - ${prV}/diagnostics.pm - ${prV}/DirHandle.pm - ${prV}/Exporter/Heavy.pm - ${prV}/Exporter.pm - ${prV}/ExtUtils/Command.pm - ${prV}/ExtUtils/Constant.pm - ${prV}/ExtUtils/Embed.pm - ${prV}/ExtUtils/Installed.pm - ${prV}/ExtUtils/Install.pm - ${prV}/ExtUtils/Liblist.pm - ${prV}/ExtUtils/MakeMaker.pm - ${prV}/ExtUtils/Manifest.pm - ${prV}/ExtUtils/Mkbootstrap.pm - ${prV}/ExtUtils/Mksymlists.pm - ${prV}/ExtUtils/MM_Any.pm - ${prV}/ExtUtils/MM_MacOS.pm - ${prV}/ExtUtils/MM.pm - ${prV}/ExtUtils/MM_Unix.pm - ${prV}/ExtUtils/MY.pm - ${prV}/ExtUtils/Packlist.pm - ${prV}/ExtUtils/testlib.pm - ${prV}/ExtUtils/Miniperl.pm - ${prV}/ExtUtils/Command/MM.pm - ${prV}/ExtUtils/Constant/Base.pm - ${prV}/ExtUtils/Constant/Utils.pm - ${prV}/ExtUtils/Constant/XS.pm - ${prV}/ExtUtils/Liblist/Kid.pm - ${prV}/ExtUtils/MakeMaker/bytes.pm - ${prV}/ExtUtils/MakeMaker/vmsish.pm - ${prV}/fields.pm - ${prV}/File/Basename.pm - ${prV}/File/Compare.pm - ${prV}/File/Copy.pm - ${prV}/File/Find.pm - ${prV}/FileHandle.pm - ${prV}/File/Path.pm - ${prV}/File/Spec.pm - ${prV}/File/Spec/Unix.pm - ${prV}/File/stat.pm - ${prV}/filetest.pm - ${prVA}/attrs.pm - ${prVA}/auto/attrs - ${prVA}/auto/Cwd/Cwd.$(get_libname) - ${prVA}/auto/Data/Dumper/Dumper.$(get_libname) - ${prVA}/auto/DynaLoader/dl_findfile.al - ${prVA}/auto/Fcntl/Fcntl.$(get_libname) - ${prVA}/auto/File/Glob/Glob.$(get_libname) - ${prVA}/auto/IO/IO.$(get_libname) - ${prVA}/auto/POSIX/autosplit.ix - ${prVA}/auto/POSIX/fstat.al - ${prVA}/auto/POSIX/load_imports.al - ${prVA}/auto/POSIX/POSIX.bs - ${prVA}/auto/POSIX/POSIX.$(get_libname) - ${prVA}/auto/POSIX/stat.al - ${prVA}/auto/POSIX/tmpfile.al - ${prVA}/auto/re/re.$(get_libname) - ${prVA}/auto/Socket/Socket.$(get_libname) - ${prVA}/auto/Storable/autosplit.ix - ${prVA}/auto/Storable/_retrieve.al - ${prVA}/auto/Storable/retrieve.al - ${prVA}/auto/Storable/Storable.$(get_libname) - ${prVA}/auto/Storable/_store.al - ${prVA}/auto/Storable/store.al - ${prVA}/B/Deparse.pm - ${prVA}/B.pm - ${prVA}/Config.pm - ${prVA}/Config_heavy.pl - ${prVA}/CORE/libperl$(get_libname) - ${prVA}/Cwd.pm - ${prVA}/Data/Dumper.pm - ${prVA}/DynaLoader.pm - ${prVA}/encoding.pm - ${prVA}/Errno.pm - ${prVA}/Fcntl.pm - ${prVA}/File/Glob.pm - ${prVA}/_h2ph_pre.ph - ${prVA}/IO/File.pm - ${prVA}/IO/Handle.pm - ${prVA}/IO/Pipe.pm - ${prVA}/IO.pm - ${prVA}/IO/Seekable.pm - ${prVA}/IO/Select.pm - ${prVA}/IO/Socket.pm - ${prVA}/lib.pm - ${prVA}/NDBM_File.pm - ${prVA}/ops.pm - ${prVA}/POSIX.pm - ${prVA}/re.pm - ${prVA}/Socket.pm - ${prVA}/Storable.pm - ${prVA}/threads - ${prVA}/threads.pm - ${prVA}/XSLoader.pm - ${prV}/Getopt/Long.pm - ${prV}/Getopt/Std.pm - ${prV}/if.pm - ${prV}/integer.pm - ${prV}/IO/Socket/INET.pm - ${prV}/IO/Socket/UNIX.pm - ${prV}/IPC/Open2.pm - ${prV}/IPC/Open3.pm - ${prV}/less.pm - ${prV}/List/Util.pm - ${prV}/locale.pm - ${prV}/open.pm - ${prV}/overload.pm - ${prV}/Pod/InputObjects.pm - ${prV}/Pod/Man.pm - ${prV}/Pod/ParseLink.pm - ${prV}/Pod/Parser.pm - ${prV}/Pod/Select.pm - ${prV}/Pod/Text.pm - ${prV}/Pod/Usage.pm - ${prV}/PerlIO.pm - ${prV}/Scalar/Util.pm - ${prV}/SelectSaver.pm - ${prV}/sigtrap.pm - ${prV}/sort.pm - ${prV}/stat.pl - ${prV}/strict.pm - ${prV}/subs.pm - ${prV}/Symbol.pm - ${prV}/Text/ParseWords.pm - ${prV}/Text/Tabs.pm - ${prV}/Text/Wrap.pm - ${prV}/Time/Local.pm - ${prV}/unicore/Canonical.pl - ${prV}/unicore/Exact.pl - ${prV}/unicore/lib/gc_sc/Digit.pl - ${prV}/unicore/lib/gc_sc/Word.pl - ${prV}/unicore/PVA.pl - ${prV}/unicore/To/Fold.pl - ${prV}/unicore/To/Lower.pl - ${prV}/unicore/To/Upper.pl - ${prV}/utf8_heavy.pl - ${prV}/utf8.pm - ${prV}/vars.pm - ${prV}/vmsish.pm - ${prV}/warnings - ${prV}/warnings.pm - ${prV}/warnings/register.pm" - - # Catch the headers in CORE - if use minimal ; then - for header in `find ${D}${prVA} -name "*.h"|sed -e "s:${D}::g"`; do - #header=`echo $head|sed -e "s:${D}::g"` - MINIMAL_PERL_INSTALL="${MINIMAL_PERL_INSTALL} - $header" - done - fi - - if use perlsuid ; then - MINIMAL_PERL_INSTALL="${MINIMAL_PERL_INSTALL} - ${bindir}/suidperl - ${bindir}/sperl${PV}" - fi - - pushd ${D} > /dev/null - # Remove cruft - einfo "Removing files that are not in the minimal install" - echo "${MINIMAL_PERL_INSTALL}" - sleep 120 - for f in $(find . -type f); do - has ${f} ${MINIMAL_PERL_INSTALL} || rm -f ${f} - done - # Remove empty directories - find . -depth -type d | xargs -r rmdir &> /dev/null - popd > /dev/null -} - -pkg_postinst() { - # Make sure we do not have stale/invalid libperl.so 's ... - if [ -f "${ROOT}usr/$(get_libdir)/libperl$(get_libname)" -a ! -L "${ROOT}usr/$(get_libdir)/libperl$(get_libname)" ] - then - mv -f ${ROOT}usr/$(get_libdir)/libperl$(get_libname) ${ROOT}usr/$(get_libdir)/libperl$(get_libname).old - fi - - local perllib="`readlink -f ${ROOT}usr/$(get_libdir)/libperl$(get_libname) | sed -e 's:^.*/::'`" - - # If we are installing perl, we need the /usr/lib/libperl.so symlink to - # point to the version of perl we are running, else builing something - # against libperl.so will break ... - if [ "${perllib}" != "${LIBPERL}" ] - then - # Delete stale symlinks - rm -f ${ROOT}usr/$(get_libdir)/libperl$(get_libname) - rm -f ${ROOT}usr/$(get_libdir)/libperl$(get_libname ${PERLSLOT}) - # Regenerate libperl.so.${PERLSLOT} - ln -snf ${LIBPERL} ${ROOT}usr/$(get_libdir)/libperl$(get_libname).${PERLSLOT} - # Create libperl.so (we use the *soname* versioned lib here ..) - ln -snf libperl$(get_libname ${PERLSLOT}) ${ROOT}usr/$(get_libdir)/libperl$(get_libname) - fi - - INC=$(perl -e 'for $line (@INC) { next if $line eq "."; next if $line =~ m/'${PV}'|etc|local|perl$/; print "$line\n" }') - if [ "${ROOT}" = "/" ] - then - ebegin "Removing old .ph files" - for DIR in $INC; do - if [ -d ${ROOT}/$DIR ]; then - for file in $(find ${ROOT}/$DIR -name "*.ph" -type f); do - rm ${ROOT}/$file - einfo "<< $file" - done - fi - done - # Silently remove the now empty dirs - for DIR in $INC; do - if [ -d ${ROOT}/$DIR ]; then - find ${ROOT}/$DIR -depth -type d | xargs -r rmdir &> /dev/null - fi - done - ebegin "Converting C header files to the corresponding Perl format" - cd /usr/include; - h2ph * sys/* arpa/* netinet/* bits/* security/* asm/* gnu/* linux/* - cd /usr/include/linux; - h2ph * - fi - -# 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 - epause 5 - 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 "" - eerror "" - -} diff --git a/dev-lang/perl/perl-5.8.7.ebuild b/dev-lang/perl/perl-5.8.7.ebuild deleted file mode 100644 index 62ea8615a33d..000000000000 --- a/dev-lang/perl/perl-5.8.7.ebuild +++ /dev/null @@ -1,649 +0,0 @@ -# Copyright 1999-2006 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/perl/perl-5.8.7.ebuild,v 1.15 2006/02/07 18:55:18 mcummings Exp $ - -inherit eutils flag-o-matic toolchain-funcs multilib - -# The slot of this binary compat version of libperl.so -PERLSLOT="1" - -SHORT_PV="${PV%.*}" -MY_P="perl-${PV/_rc/-RC}" -DESCRIPTION="Larry Wall's Practical Extraction and Reporting Language" -S="${WORKDIR}/${MY_P}" -SRC_URI="ftp://ftp.perl.org/pub/CPAN/src/${MY_P}.tar.bz2" -HOMEPAGE="http://www.perl.org/" -LIBPERL="libperl$(get_libname ${PERLSLOT}.${SHORT_PV})" - -LICENSE="Artistic GPL-2" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~ppc-macos ~s390 ~sh ~sparc ~x86" -IUSE="berkdb debug doc gdbm ithreads perlsuid build minimal" -PERL_OLDVERSEN="5.8.0 5.8.2 5.8.4 5.8.5 5.8.6" - -DEPEND="berkdb? ( sys-libs/db ) - gdbm? ( >=sys-libs/gdbm-1.8.3 ) - >=sys-devel/libperl-${PV} - !<perl-core/ExtUtils-MakeMaker-6.17 - !<perl-core/File-Spec-0.87 - !<perl-core/Test-Simple-0.47-r1" - -RDEPEND=">=sys-devel/libperl-${PV} - berkdb? ( sys-libs/db ) - gdbm? ( >=sys-libs/gdbm-1.8.3 )" - -PDEPEND="app-admin/perl-cleaner" - -pkg_setup() { - # I think this should rather be displayed if you *have* 'ithreads' - # in USE if it could break things ... - if use ithreads - then - 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. " - epause 5 - fi - - if use minimal - then - ewarn "You have the minimal USE flag set. The resulting" - ewarn "perl is stripped of most of its module functionality" - ewarn "and is intended for minmal use case where you need" - ewarn "just the perl interpreter, no extras." - fi - - if [ ! -f "${ROOT}/usr/$(get_libdir)/${LIBPERL}" ] - then - # Make sure we have libperl installed ... - eerror "Cannot find ${ROOT}/usr/$(get_libdir)/${LIBPERL}! Make sure that you" - eerror "have sys-libs/libperl installed properly ..." - die "Cannot find ${ROOT}/usr/$(get_libdir)/${LIBPERL}!" - fi -} - -src_unpack() { - unpack ${A} - - # Get -lpthread linked before -lc. This is needed - # when using glibc >= 2.3, or else runtime signal - # handling breaks. Fixes bug #14380. - # <rac@gentoo.org> (14 Feb 2003) - # reinstated to try to avoid sdl segfaults 03.10.02 - cd ${S}; epatch ${FILESDIR}/${PN}-prelink-lpthread.patch - - # Patch perldoc to not abort when it attempts to search - # nonexistent directories; fixes bug #16589. - # <rac@gentoo.org> (28 Feb 2003) - - cd ${S}; epatch ${FILESDIR}/${PN}-perldoc-emptydirs.patch - - # this lays the groundwork for solving the issue of what happens - # when people (or ebuilds) install different versiosn of modules - # that are in the core, by rearranging the @INC directory to look - # site -> vendor -> core. - cd ${S}; epatch ${FILESDIR}/${PN}-reorder-INC.patch - - # some well-intentioned stuff in http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&selm=Pine.SOL.4.10.10205231231200.5399-100000%40maxwell.phys.lafayette.edu - # attempts to avoid bringing cccdlflags to bear on static - # extensions (like DynaLoader). i believe this is - # counterproductive on a Gentoo system which has both a shared - # and static libperl, so effectively revert this here. - cd ${S}; epatch ${FILESDIR}/${PN}-picdl.patch - - # Configure makes an unwarranted assumption that /bin/ksh is a - # good shell. This patch makes it revert to using /bin/sh unless - # /bin/ksh really is executable. Should fix bug 42665. - # rac 2004.06.09 - cd ${S}; epatch ${FILESDIR}/${PN}-noksh.patch - - # this one only affects sparc64, as best weeve and rac can tell, - # but seems sane for all linux. we don't have to worry about - # drifting into obscure SysV non-posix semantics, and the current - # code in IO.xs that checks for this sort of thing dies in LDAP on - # sparc64. - - #epatch ${FILESDIR}/${PN}-nonblock.patch - - # since we build in non-world-writeable portage directories, none - # of the .t sections of the original version of this patch matter - # much. the PPPort section is apparently obsolete, because i see - # no /tmp in there now. ditto on perlbug.SH, which has secure - # tempfile handling if resources are present. originally from bug - # 66360. - - epatch ${FILESDIR}/${P}-tempfiles.patch - - # Starting and hopefully ending with 5.8.7 we observe stack - # corruption with the regexp handling in perls DynaLoader code - # with ssp enabled. This become fatal during compile time so we - # temporally disable ssp on two regexp files till upstream has a - # chance to work it out. Bug #97452 - use userland_Darwin || epatch "${FILESDIR}"/${P}-regexp-nossp.patch -} - -src_configure() { - - # some arches and -O do not mix :) - use arm && replace-flags -O? -O1 - use ppc && replace-flags -O? -O1 - use ia64 && 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 - - export LC_ALL="C" - local myconf="" - - case ${CHOST} in - *-freebsd*) osname="freebsd" ;; - *-netbsd*) osname="netbsd" ;; - *-openbsd*) osname="openbsd" ;; - *-darwin*) osname="darwin" ;; - - *) osname="linux" ;; - esac - - if use ithreads - then - einfo "using ithreads" - mythreading="-multi" - myconf="-Dusethreads ${myconf}" - myarch=$(get_abi_CHOST) - myarch="${myarch%%-*}-${osname}-thread" - else - myarch=$(get_abi_CHOST) - myarch="${myarch%%-*}-${osname}" - fi - - local inclist=$(for v in $PERL_OLDVERSEN; do echo -n "$v $v/$myarch$mythreading "; done) - - # 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="${myconf} -${myndbm}i_ndbm -${mygdbm}i_gdbm -${mydb}i_db" - - if use mips - then - # this is needed because gcc 3.3-compiled kernels will hang - # the machine trying to run this test - check with `Kumba - # <rac@gentoo.org> 2003.06.26 - myconf="${myconf} -Dd_u32align" - fi - - if use perlsuid - then - myconf="${myconf} -Dd_dosuid" - ewarn "You have enabled Perl's suid compile. Please" - ewarn "read http://perldoc.com/perl5.8.2/INSTALL.html#suidperl" - epause 3 - fi - - if use debug - then - CFLAGS="${CFLAGS} -g" - fi - - if use sparc - then - myconf="${myconf} -Ud_longdbl" - fi - - if use alpha && "$(tc-getCC)" == "ccc" - then - ewarn "Perl will not be built with berkdb support, use gcc if you needed it..." - myconf="${myconf} -Ui_db -Ui_ndbm" - fi - - [ -n "${ABI}" ] && myconf="${myconf} -Dusrinc=$(get_ml_incdir)" - - [[ ${ELIBC} == "FreeBSD" ]] && myconf="${myconf} -Dlibc=/usr/lib/libc.a" - - if [[ $(get_libdir) != "lib" ]] ; then - myconf="${myconf} -Dlibpth='/usr/local/$(get_libdir) /$(get_libdir) \ - /usr/$(get_libdir)'" - fi - - sh Configure -des \ - -Darchname="${myarch}" \ - -Dcccdlflags='-fPIC' \ - -Dccdlflags='-rdynamic' \ - -Dcc="$(tc-getCC)" \ - -Dprefix='/usr' \ - -Dvendorprefix='/usr' \ - -Dsiteprefix='/usr' \ - -Dlocincpth=' ' \ - -Doptimize="${CFLAGS}" \ - -Duselargefiles \ - -Dd_semctl_semun \ - -Dscriptdir=/usr/bin \ - -Dman1dir=/usr/share/man/man1 \ - -Dman3dir=/usr/share/man/man3 \ - -Dinstallman1dir=/usr/share/man/man1 \ - -Dinstallman3dir=/usr/share/man/man3 \ - -Dman1ext='1' \ - -Dman3ext='3pm' \ - -Dinc_version_list="$inclist" \ - -Dcf_by='Gentoo' \ - -Ud_csh \ - ${myconf} || die "Unable to configure" -} - -src_compile() { - - # would like to bracket this with a test for the existence of a - # dotfile, but can't clean it automatically now. - - src_configure - - emake -j1 || die "Unable to make" -} - -src_test() { - use elibc_uclibc && export MAKEOPTS="${MAKEOPTS} -j1" - emake -i test CCDLFLAGS= || die "test failed" -} - -src_install() { - - export LC_ALL="C" - - # Need to do this, else apps do not link to dynamic version of - # the library ... - local coredir="/usr/lib/perl5/${PV}/${myarch}${mythreading}/CORE" - dodir ${coredir} - dosym ../../../../../$(get_libdir)/${LIBPERL} ${coredir}/${LIBPERL} - dosym ../../../../../$(get_libdir)/${LIBPERL} ${coredir}/libperl$(get_libname ${PERLSLOT}) - dosym ../../../../../$(get_libdir)/${LIBPERL} ${coredir}/libperl$(get_libname) - - # Fix for "stupid" modules and programs - dodir /usr/lib/perl5/site_perl/${PV}/${myarch}${mythreading} - - local installtarget=install - if use minimal || use build ; then - installtarget=install.perl - fi - make DESTDIR="${D}" ${installtarget} || die "Unable to make ${installtarget}" - - # 2004.07.28 rac - - # suidperl has had a history of security trouble, and the - # perldelta has recommended against using it for a while. genone - # alerted me to the fact that the hardlinks aren't carrying - # through the staging directory, and we end up with four copies of - # perl, basically. two normal, two suid. fix this up here, and - # delete suidperl entirely. if this causes outrage, here's where - # to fix. - - # Moved to a use flag enablement - bug 64823 - mcummings - #rm ${D}/usr/bin/sperl${PV} - #rm ${D}/usr/bin/suidperl - rm ${D}/usr/bin/perl - ln -s perl${PV} ${D}/usr/bin/perl - - cp -f utils/h2ph utils/h2ph_patched - epatch ${FILESDIR}/${PN}-h2ph-ansi-header.patch - - LD_LIBRARY_PATH=. ./perl -Ilib utils/h2ph_patched \ - -a -d ${D}/usr/lib/perl5/${PV}/${myarch}${mythreading} <<EOF -asm/termios.h -syscall.h -syslimits.h -syslog.h -sys/ioctl.h -sys/socket.h -sys/time.h -wait.h -EOF - - # This is to fix a missing c flag for backwards compat - for i in `find ${D}/usr/lib/perl5 -iname "Config.pm"`;do - sed -e "s:ccflags=':ccflags='-DPERL5 :" \ - -e "s:cppflags=':cppflags='-DPERL5 :" \ - ${i} > ${i}.new &&\ - mv ${i}.new ${i} || die "Sed failed" - done - - # A poor fix for the miniperl issues - dosed 's:./miniperl:/usr/bin/perl:' /usr/lib/perl5/${PV}/ExtUtils/xsubpp - fperms 0444 /usr/lib/perl5/${PV}/ExtUtils/xsubpp - dosed 's:./miniperl:/usr/bin/perl:' /usr/bin/xsubpp - fperms 0755 /usr/bin/xsubpp - - # This removes ${D} from Config.pm and .packlist - for i in `find ${D} -iname "Config.pm"` `find ${D} -iname ".packlist"`;do - einfo "Removing ${D} from ${i}..." - sed -e "s:${D}::" ${i} > ${i}.new &&\ - mv ${i}.new ${i} || die "Sed failed" - done - - # 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* Artistic Copying README Todo* AUTHORS - - if use doc - then - # HTML Documentation - # We expect errors, warnings, and such with the following. - - dodir /usr/share/doc/${PF}/html - ./perl installhtml \ - --podroot='.' \ - --podpath='lib:ext:pod:vms' \ - --recurse \ - --htmldir="${D}/usr/share/doc/${PF}/html" \ - --libpods='perlfunc:perlguts:perlvar:perlrun:perlop' - fi - cd `find ${D} -name Path.pm|sed -e 's/Path.pm//'` - # CAN patch in bug 79685 - epatch ${FILESDIR}/${P}-CAN-2005-0448-rmtree.patch - - if use minimal || use build ; then - src_remove_extra_files - fi - -} - -src_remove_extra_files() -{ - local prefix="./usr" # ./ is important - local bindir="${prefix}/bin" - local perlroot="${prefix}/lib/perl5" # perl installs per-arch dirs - local prV="${perlroot}/${PV}" - # myarch and mythreading are defined inside src_configure() - local prVA="${prV}/${myarch}${mythreading}" - - # 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${PV} - ${bindir}/pod2man - ${prV}/attributes.pm - ${prV}/AutoLoader.pm - ${prV}/autouse.pm - ${prV}/base.pm - ${prV}/bigint.pm - ${prV}/bignum.pm - ${prV}/bigrat.pm - ${prV}/blib.pm - ${prV}/bytes_heavy.pl - ${prV}/bytes.pm - ${prV}/Carp/Heavy.pm - ${prV}/Carp.pm - ${prV}/charnames.pm - ${prV}/Class/Struct.pm - ${prV}/constant.pm - ${prV}/diagnostics.pm - ${prV}/DirHandle.pm - ${prV}/Exporter/Heavy.pm - ${prV}/Exporter.pm - ${prV}/ExtUtils/Command.pm - ${prV}/ExtUtils/Constant.pm - ${prV}/ExtUtils/Embed.pm - ${prV}/ExtUtils/Installed.pm - ${prV}/ExtUtils/Install.pm - ${prV}/ExtUtils/Liblist.pm - ${prV}/ExtUtils/MakeMaker.pm - ${prV}/ExtUtils/Manifest.pm - ${prV}/ExtUtils/Mkbootstrap.pm - ${prV}/ExtUtils/Mksymlists.pm - ${prV}/ExtUtils/MM_Any.pm - ${prV}/ExtUtils/MM_MacOS.pm - ${prV}/ExtUtils/MM.pm - ${prV}/ExtUtils/MM_Unix.pm - ${prV}/ExtUtils/MY.pm - ${prV}/ExtUtils/Packlist.pm - ${prV}/ExtUtils/testlib.pm - ${prV}/ExtUtils/Miniperl.pm - ${prV}/ExtUtils/Command/MM.pm - ${prV}/ExtUtils/Constant/Base.pm - ${prV}/ExtUtils/Constant/Utils.pm - ${prV}/ExtUtils/Constant/XS.pm - ${prV}/ExtUtils/Liblist/Kid.pm - ${prV}/ExtUtils/MakeMaker/bytes.pm - ${prV}/ExtUtils/MakeMaker/vmsish.pm - ${prV}/fields.pm - ${prV}/File/Basename.pm - ${prV}/File/Compare.pm - ${prV}/File/Copy.pm - ${prV}/File/Find.pm - ${prV}/FileHandle.pm - ${prV}/File/Path.pm - ${prV}/File/Spec.pm - ${prV}/File/Spec/Unix.pm - ${prV}/File/stat.pm - ${prV}/filetest.pm - ${prVA}/attrs.pm - ${prVA}/auto/attrs - ${prVA}/auto/Cwd/Cwd.$(get_libname) - ${prVA}/auto/Data/Dumper/Dumper.$(get_libname) - ${prVA}/auto/DynaLoader/dl_findfile.al - ${prVA}/auto/Fcntl/Fcntl.$(get_libname) - ${prVA}/auto/File/Glob/Glob.$(get_libname) - ${prVA}/auto/IO/IO.$(get_libname) - ${prVA}/auto/POSIX/autosplit.ix - ${prVA}/auto/POSIX/fstat.al - ${prVA}/auto/POSIX/load_imports.al - ${prVA}/auto/POSIX/POSIX.bs - ${prVA}/auto/POSIX/POSIX.$(get_libname) - ${prVA}/auto/POSIX/stat.al - ${prVA}/auto/POSIX/tmpfile.al - ${prVA}/auto/re/re.$(get_libname) - ${prVA}/auto/Socket/Socket.$(get_libname) - ${prVA}/auto/Storable/autosplit.ix - ${prVA}/auto/Storable/_retrieve.al - ${prVA}/auto/Storable/retrieve.al - ${prVA}/auto/Storable/Storable.$(get_libname) - ${prVA}/auto/Storable/_store.al - ${prVA}/auto/Storable/store.al - ${prVA}/B/Deparse.pm - ${prVA}/B.pm - ${prVA}/Config.pm - ${prVA}/Config_heavy.pl - ${prVA}/CORE/libperl$(get_libname) - ${prVA}/Cwd.pm - ${prVA}/Data/Dumper.pm - ${prVA}/DynaLoader.pm - ${prVA}/encoding.pm - ${prVA}/Errno.pm - ${prVA}/Fcntl.pm - ${prVA}/File/Glob.pm - ${prVA}/_h2ph_pre.ph - ${prVA}/IO/File.pm - ${prVA}/IO/Handle.pm - ${prVA}/IO/Pipe.pm - ${prVA}/IO.pm - ${prVA}/IO/Seekable.pm - ${prVA}/IO/Select.pm - ${prVA}/IO/Socket.pm - ${prVA}/lib.pm - ${prVA}/NDBM_File.pm - ${prVA}/ops.pm - ${prVA}/POSIX.pm - ${prVA}/re.pm - ${prVA}/Socket.pm - ${prVA}/Storable.pm - ${prVA}/threads - ${prVA}/threads.pm - ${prVA}/XSLoader.pm - ${prV}/Getopt/Long.pm - ${prV}/Getopt/Std.pm - ${prV}/if.pm - ${prV}/integer.pm - ${prV}/IO/Socket/INET.pm - ${prV}/IO/Socket/UNIX.pm - ${prV}/IPC/Open2.pm - ${prV}/IPC/Open3.pm - ${prV}/less.pm - ${prV}/List/Util.pm - ${prV}/locale.pm - ${prV}/open.pm - ${prV}/overload.pm - ${prV}/Pod/InputObjects.pm - ${prV}/Pod/Man.pm - ${prV}/Pod/ParseLink.pm - ${prV}/Pod/Parser.pm - ${prV}/Pod/Select.pm - ${prV}/Pod/Text.pm - ${prV}/Pod/Usage.pm - ${prV}/PerlIO.pm - ${prV}/Scalar/Util.pm - ${prV}/SelectSaver.pm - ${prV}/sigtrap.pm - ${prV}/sort.pm - ${prV}/stat.pl - ${prV}/strict.pm - ${prV}/subs.pm - ${prV}/Symbol.pm - ${prV}/Text/ParseWords.pm - ${prV}/Text/Tabs.pm - ${prV}/Text/Wrap.pm - ${prV}/Time/Local.pm - ${prV}/unicore/Canonical.pl - ${prV}/unicore/Exact.pl - ${prV}/unicore/lib/gc_sc/Digit.pl - ${prV}/unicore/lib/gc_sc/Word.pl - ${prV}/unicore/PVA.pl - ${prV}/unicore/To/Fold.pl - ${prV}/unicore/To/Lower.pl - ${prV}/unicore/To/Upper.pl - ${prV}/utf8_heavy.pl - ${prV}/utf8.pm - ${prV}/vars.pm - ${prV}/vmsish.pm - ${prV}/warnings - ${prV}/warnings.pm - ${prV}/warnings/register.pm" - - # Catch the headers in CORE - if use minimal ; then - for header in `find ${D}${prVA} -name "*.h"|sed -e "s:${D}::g"`; do - #header=`echo $head|sed -e "s:${D}::g"` - MINIMAL_PERL_INSTALL="${MINIMAL_PERL_INSTALL} - $header" - done - fi - - if use perlsuid ; then - MINIMAL_PERL_INSTALL="${MINIMAL_PERL_INSTALL} - ${bindir}/suidperl - ${bindir}/sperl${PV}" - fi - - pushd ${D} > /dev/null - # Remove cruft - einfo "Removing files that are not in the minimal install" - echo "${MINIMAL_PERL_INSTALL}" - sleep 120 - for f in $(find . -type f); do - has ${f} ${MINIMAL_PERL_INSTALL} || rm -f ${f} - done - # Remove empty directories - find . -depth -type d | xargs -r rmdir &> /dev/null - popd > /dev/null -} - -pkg_postinst() { - # Make sure we do not have stale/invalid libperl.so 's ... - if [ -f "${ROOT}usr/$(get_libdir)/libperl$(get_libname)" -a ! -L "${ROOT}usr/$(get_libdir)/libperl$(get_libname)" ] - then - mv -f ${ROOT}usr/$(get_libdir)/libperl$(get_libname) ${ROOT}usr/$(get_libdir)/libperl$(get_libname).old - fi - - local perllib="`readlink -f ${ROOT}usr/$(get_libdir)/libperl$(get_libname) | sed -e 's:^.*/::'`" - - # If we are installing perl, we need the /usr/lib/libperl.so symlink to - # point to the version of perl we are running, else builing something - # against libperl.so will break ... - if [ "${perllib}" != "${LIBPERL}" ] - then - # Delete stale symlinks - rm -f ${ROOT}usr/$(get_libdir)/libperl$(get_libname) - rm -f ${ROOT}usr/$(get_libdir)/libperl$(get_libname ${PERLSLOT}) - # Regenerate libperl.so.${PERLSLOT} - ln -snf ${LIBPERL} ${ROOT}usr/$(get_libdir)/libperl$(get_libname).${PERLSLOT} - # Create libperl.so (we use the *soname* versioned lib here ..) - ln -snf libperl$(get_libname ${PERLSLOT}) ${ROOT}usr/$(get_libdir)/libperl$(get_libname) - fi - - INC=$(perl -e 'for $line (@INC) { next if $line eq "."; next if $line =~ m/'${PV}'|etc|local|perl$/; print "$line\n" }') - if [ "${ROOT}" = "/" ] - then - ebegin "Removing old .ph files" - for DIR in $INC; do - if [ -d ${ROOT}/$DIR ]; then - for file in $(find ${ROOT}/$DIR -name "*.ph" -type f); do - rm ${ROOT}/$file - einfo "<< $file" - done - fi - done - # Silently remove the now empty dirs - for DIR in $INC; do - if [ -d ${ROOT}/$DIR ]; then - find ${ROOT}/$DIR -depth -type d | xargs -r rmdir &> /dev/null - fi - done - ebegin "Converting C header files to the corresponding Perl format" - cd /usr/include; - h2ph * sys/* arpa/* netinet/* bits/* security/* asm/* gnu/* linux/* - cd /usr/include/linux; - h2ph * - fi - -# 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 - epause 5 - 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 "" - eerror "" - -} |