summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Cummings <mcummings@gentoo.org>2005-06-29 22:14:31 +0000
committerMichael Cummings <mcummings@gentoo.org>2005-06-29 22:14:31 +0000
commitb31dae3cb97d2ef1a82dd60d9c9cddae8dc2442b (patch)
tree402c2fa0cd641242918c6cdb4fb71aea84235932
parentPerl 5.8.6 unmasking; perl 5.8.7 being added (diff)
downloadhistorical-b31dae3cb97d2ef1a82dd60d9c9cddae8dc2442b.tar.gz
historical-b31dae3cb97d2ef1a82dd60d9c9cddae8dc2442b.tar.bz2
historical-b31dae3cb97d2ef1a82dd60d9c9cddae8dc2442b.zip
Perl 5.8.6 unmasking, perl 5.8.7 addition
Package-Manager: portage-2.0.51.22-r1
-rw-r--r--dev-lang/perl/ChangeLog31
-rw-r--r--dev-lang/perl/Manifest54
-rw-r--r--dev-lang/perl/files/digest-perl-5.8.2-r41
-rw-r--r--dev-lang/perl/files/digest-perl-5.8.4-r41
-rw-r--r--dev-lang/perl/files/digest-perl-5.8.71
-rw-r--r--dev-lang/perl/files/libperl_rebuilder346
-rw-r--r--dev-lang/perl/files/perl-5.8.4-perldoc-emptydirs.patch10
-rw-r--r--dev-lang/perl/files/perl-5.8.4-picdl.patch13
-rw-r--r--dev-lang/perl/files/perl-5.8.4-prelink-lpthread.patch11
-rw-r--r--dev-lang/perl/files/perl-5.8.4-reorder-INC.patch85
-rw-r--r--dev-lang/perl/files/perl-5.8.5-noksh.patch16
-rw-r--r--dev-lang/perl/files/perl-5.8.5-nonblock.patch11
-rw-r--r--dev-lang/perl/files/perl-5.8.5-perldoc-emptydirs.patch10
-rw-r--r--dev-lang/perl/files/perl-5.8.5-picdl.patch13
-rw-r--r--dev-lang/perl/files/perl-5.8.5-prelink-lpthread.patch11
-rw-r--r--dev-lang/perl/files/perl-5.8.5-reorder-INC.patch85
-rw-r--r--dev-lang/perl/files/perl-5.8.6-noksh.patch16
-rw-r--r--dev-lang/perl/files/perl-5.8.6-perldoc-emptydirs.patch10
-rw-r--r--dev-lang/perl/files/perl-5.8.6-picdl.patch13
-rw-r--r--dev-lang/perl/files/perl-5.8.6-prelink-lpthread.patch11
-rw-r--r--dev-lang/perl/files/perl-5.8.6-reorder-INC.patch85
-rw-r--r--dev-lang/perl/files/perl-5.8.7-CAN-2005-0448-rmtree.patch263
-rw-r--r--dev-lang/perl/files/perl-5.8.7-tempfiles.patch33
-rw-r--r--dev-lang/perl/files/perl-h2ph-ansi-header.patch (renamed from dev-lang/perl/files/perl-5.8.0-RC2-special-h2ph-not-failing-on-machine_ansi_header.patch)0
-rw-r--r--dev-lang/perl/files/perl-noksh.patch (renamed from dev-lang/perl/files/perl-5.8.4-noksh.patch)0
-rw-r--r--dev-lang/perl/files/perl-nonblock.patch (renamed from dev-lang/perl/files/perl-5.8.4-nonblock.patch)0
-rw-r--r--dev-lang/perl/files/perl-perldoc-emptydirs.patch (renamed from dev-lang/perl/files/perl-5.8.2-perldoc-emptydirs.patch)0
-rw-r--r--dev-lang/perl/files/perl-picdl.patch (renamed from dev-lang/perl/files/perl-5.8.2-picdl.patch)0
-rw-r--r--dev-lang/perl/files/perl-prelink-lpthread.patch (renamed from dev-lang/perl/files/perl-5.8.2-prelink-lpthread.patch)0
-rw-r--r--dev-lang/perl/files/perl-reorder-INC.patch (renamed from dev-lang/perl/files/perl-5.8.2-reorder-INC.patch)0
-rw-r--r--dev-lang/perl/files/perl-tempfiles.patch60
-rw-r--r--dev-lang/perl/files/perl-uclibc.patch (renamed from dev-lang/perl/files/perl-5.8.2-uclibc.patch)0
-rw-r--r--dev-lang/perl/files/stat.t289
-rw-r--r--dev-lang/perl/perl-5.8.2-r4.ebuild378
-rw-r--r--dev-lang/perl/perl-5.8.5-r5.ebuild18
-rw-r--r--dev-lang/perl/perl-5.8.6-r4.ebuild245
-rw-r--r--dev-lang/perl/perl-5.8.7.ebuild (renamed from dev-lang/perl/perl-5.8.4-r4.ebuild)334
37 files changed, 873 insertions, 1581 deletions
diff --git a/dev-lang/perl/ChangeLog b/dev-lang/perl/ChangeLog
index 2e7541cb74de..fc67630384b2 100644
--- a/dev-lang/perl/ChangeLog
+++ b/dev-lang/perl/ChangeLog
@@ -1,6 +1,35 @@
# ChangeLog for dev-lang/perl
# Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/perl/ChangeLog,v 1.132 2005/06/05 13:41:34 mcummings Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/perl/ChangeLog,v 1.133 2005/06/29 22:14:31 mcummings Exp $
+
+*perl-5.8.7 (29 Jun 2005)
+
+ 29 Jun 2005; Michael Cummings <mcummings@gentoo.org>
+ -files/perl-5.8.0-RC2-special-h2ph-not-failing-on-machine_ansi_header.patc
+ h, -files/perl-5.8.2-perldoc-emptydirs.patch,
+ -files/perl-5.8.2-picdl.patch, -files/perl-5.8.2-prelink-lpthread.patch,
+ -files/perl-5.8.2-reorder-INC.patch, -files/perl-5.8.2-uclibc.patch,
+ -files/perl-5.8.4-noksh.patch, -files/perl-5.8.4-nonblock.patch,
+ -files/perl-5.8.4-perldoc-emptydirs.patch, -files/perl-5.8.4-picdl.patch,
+ -files/perl-5.8.4-prelink-lpthread.patch,
+ -files/perl-5.8.4-reorder-INC.patch, -files/perl-5.8.5-noksh.patch,
+ -files/perl-5.8.5-nonblock.patch,
+ -files/perl-5.8.5-perldoc-emptydirs.patch, -files/perl-5.8.5-picdl.patch,
+ -files/perl-5.8.5-prelink-lpthread.patch,
+ -files/perl-5.8.5-reorder-INC.patch, -files/perl-5.8.6-noksh.patch,
+ -files/perl-5.8.6-perldoc-emptydirs.patch, -files/perl-5.8.6-picdl.patch,
+ -files/perl-5.8.6-prelink-lpthread.patch,
+ -files/perl-5.8.6-reorder-INC.patch,
+ +files/perl-5.8.7-CAN-2005-0448-rmtree.patch,
+ +files/perl-5.8.7-tempfiles.patch, -files/libperl_rebuilder,
+ +files/perl-h2ph-ansi-header.patch, +files/perl-noksh.patch,
+ +files/perl-nonblock.patch, +files/perl-perldoc-emptydirs.patch,
+ +files/perl-picdl.patch, +files/perl-prelink-lpthread.patch,
+ +files/perl-reorder-INC.patch, +files/perl-tempfiles.patch,
+ +files/perl-uclibc.patch, -files/stat.t, -perl-5.8.2-r4.ebuild,
+ -perl-5.8.4-r4.ebuild, perl-5.8.5-r5.ebuild, perl-5.8.6-r4.ebuild,
+ +perl-5.8.7.ebuild:
+ Perl 5.8.6 unmasking, perl 5.8.7 addition
05 Jun 2005; Michael Cummings <mcummings@gentoo.org> files/perl-cleaner:
Bug 90502 - don't leave behind empty log files if nothing has been done
diff --git a/dev-lang/perl/Manifest b/dev-lang/perl/Manifest
index 281ae236a496..ff63341663ee 100644
--- a/dev-lang/perl/Manifest
+++ b/dev-lang/perl/Manifest
@@ -1,52 +1,36 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
-MD5 cd4f8dd2b7dd785a4748697d83f316e4 ChangeLog 38282
+MD5 8f61f32fb762ac43b77aae4e51e3a334 ChangeLog 39845
MD5 e2d8f1bf77722def1dd432e26455c818 metadata.xml 305
-MD5 389056a5cf253d17388307cc4cad6c8b perl-5.8.2-r4.ebuild 11306
-MD5 38510f237c4c3477731b5c4ffe2bfe61 perl-5.8.4-r4.ebuild 13450
-MD5 21236fcf7b7a17771332f4f52106bfa2 perl-5.8.5-r5.ebuild 13091
-MD5 b8bb0504aa915fe2dd7cdd4c6662cbf0 perl-5.8.6-r4.ebuild 13340
+MD5 bfe453d4dae98e783d63a545786ce3a5 perl-5.8.5-r5.ebuild 13052
+MD5 b059f74b37e0d88b0cba1ab7617e842f perl-5.8.6-r4.ebuild 17619
+MD5 e38095be581ed3f415e8477a71af2b7b perl-5.8.7.ebuild 17372
MD5 2bd41aec5e22962224dc9376e27bdde3 files/CAN-2005-0448-rmtree.patch 7629
MD5 bd75f0242e3b7791803d089c38a3f920 files/CAN-2005-0156-suid.patch 703
MD5 154013a841cbb251d7b63fb006b4006f files/file_path_rmtree.patch 1068
-MD5 8381e239056a7895edf8f3c6c05c835c files/digest-perl-5.8.2-r4 64
-MD5 93155b02a7e9d3cdc6d6934ce78d9f11 files/digest-perl-5.8.4-r4 64
+MD5 fd8a46de4b22dbf9146a6d0459e812c4 files/perl-5.8.7-CAN-2005-0448-rmtree.patch 6961
MD5 c354e2fbf8141a769c20032e94f45fd3 files/digest-perl-5.8.5-r5 64
MD5 0a07934d74ccb1133cf0f3650cb94efc files/digest-perl-5.8.6-r4 64
-MD5 319b56a7ce715fb7a494fe4d5cb9474c files/perl-5.8.2-picdl.patch 250
-MD5 3195cf2f1f12f77ecc5b9c4fe9ea0995 files/libperl_rebuilder 10556
+MD5 ce442db939c59218a16be167f793b817 files/perl-uclibc.patch 573
+MD5 319b56a7ce715fb7a494fe4d5cb9474c files/perl-picdl.patch 250
MD5 44e1f1420947cc552c66fb434ba4c855 files/perl-5.8.4-NDBM-GDBM-compat.patch 428
-MD5 d9412dab085f22309997c8f08ea1ac85 files/perl-5.8.2-reorder-INC.patch 2211
-MD5 060e9f10466fdc1268c75a7cf4dcbc7c files/perl-5.8.0-RC2-special-h2ph-not-failing-on-machine_ansi_header.patch 446
-MD5 0a28eb41f5f12ed54f025004af45c83d files/perl-5.8.2-perldoc-emptydirs.patch 489
-MD5 4e99f7529e149661372283c981cf17ff files/perl-5.8.2-prelink-lpthread.patch 476
-MD5 ce442db939c59218a16be167f793b817 files/perl-5.8.2-uclibc.patch 573
-MD5 01af75daf3d222a668059e90d78a1f9d files/perl-5.8.4-nonblock.patch 400
-MD5 076dcbef37263d6dd7af719b55cfc2de files/perl-5.8.4-noksh.patch 611
+MD5 01af75daf3d222a668059e90d78a1f9d files/perl-nonblock.patch 400
+MD5 0a28eb41f5f12ed54f025004af45c83d files/perl-perldoc-emptydirs.patch 489
+MD5 4e99f7529e149661372283c981cf17ff files/perl-prelink-lpthread.patch 476
+MD5 d9412dab085f22309997c8f08ea1ac85 files/perl-reorder-INC.patch 2211
+MD5 f98759a75347e0b54190850b8295c2cb files/perl-tempfiles.patch 2023
+MD5 26a1e7c48c7f68f39db4262500f6a1d8 files/perl-5.8.7-tempfiles.patch 1007
+MD5 060e9f10466fdc1268c75a7cf4dcbc7c files/perl-h2ph-ansi-header.patch 446
+MD5 c10e44e47d7f702efe7d4009064a97ca files/digest-perl-5.8.7 64
MD5 c2612d59f380ad6e0c2de4d941e83dfd files/perl-cleaner 8879
-MD5 0a28eb41f5f12ed54f025004af45c83d files/perl-5.8.4-perldoc-emptydirs.patch 489
-MD5 319b56a7ce715fb7a494fe4d5cb9474c files/perl-5.8.4-picdl.patch 250
-MD5 4e99f7529e149661372283c981cf17ff files/perl-5.8.4-prelink-lpthread.patch 476
-MD5 d9412dab085f22309997c8f08ea1ac85 files/perl-5.8.4-reorder-INC.patch 2211
-MD5 076dcbef37263d6dd7af719b55cfc2de files/perl-5.8.5-noksh.patch 611
-MD5 01af75daf3d222a668059e90d78a1f9d files/perl-5.8.5-nonblock.patch 400
-MD5 0a28eb41f5f12ed54f025004af45c83d files/perl-5.8.5-perldoc-emptydirs.patch 489
-MD5 319b56a7ce715fb7a494fe4d5cb9474c files/perl-5.8.5-picdl.patch 250
-MD5 4e99f7529e149661372283c981cf17ff files/perl-5.8.5-prelink-lpthread.patch 476
-MD5 d9412dab085f22309997c8f08ea1ac85 files/perl-5.8.5-reorder-INC.patch 2211
MD5 5dfd23c2236b382d031a9513bc12f3f1 files/perl-5.8.5-tempfiles.patch 2113
-MD5 076dcbef37263d6dd7af719b55cfc2de files/perl-5.8.6-noksh.patch 611
-MD5 0a28eb41f5f12ed54f025004af45c83d files/perl-5.8.6-perldoc-emptydirs.patch 489
-MD5 319b56a7ce715fb7a494fe4d5cb9474c files/perl-5.8.6-picdl.patch 250
-MD5 4e99f7529e149661372283c981cf17ff files/perl-5.8.6-prelink-lpthread.patch 476
-MD5 d9412dab085f22309997c8f08ea1ac85 files/perl-5.8.6-reorder-INC.patch 2211
MD5 c5cc36940b2488a37c3dc2287f6e672c files/perl-5.8.6-tempfiles.patch 2115
-MD5 803b7c028f59008ea1e6d577e5c0bab0 files/stat.t 8884
+MD5 076dcbef37263d6dd7af719b55cfc2de files/perl-noksh.patch 611
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
-iD8DBQFCowCNtG5z4I8BtQoRAkvLAJ4yuTPFnOfLphFbZJfPiSMJLb41ggCfVweu
-NyQg3mCBiiD3nRAsTvfx3Sw=
-=6nJG
+iD8DBQFCwxyVtG5z4I8BtQoRAienAJ9ZO7Qe/LSZ/PfjUAmZLX1mrPABygCgg/UI
+DBOV6nN85CTCRsaGKYb+E9U=
+=xq/1
-----END PGP SIGNATURE-----
diff --git a/dev-lang/perl/files/digest-perl-5.8.2-r4 b/dev-lang/perl/files/digest-perl-5.8.2-r4
deleted file mode 100644
index 03c9dcc55731..000000000000
--- a/dev-lang/perl/files/digest-perl-5.8.2-r4
+++ /dev/null
@@ -1 +0,0 @@
-MD5 fa356b74f99166b63a68a322c3c68f91 perl-5.8.2.tar.gz 11896287
diff --git a/dev-lang/perl/files/digest-perl-5.8.4-r4 b/dev-lang/perl/files/digest-perl-5.8.4-r4
deleted file mode 100644
index a13f719f8c75..000000000000
--- a/dev-lang/perl/files/digest-perl-5.8.4-r4
+++ /dev/null
@@ -1 +0,0 @@
-MD5 912050a9cb6b0f415b76ba56052fb4cf perl-5.8.4.tar.gz 12094233
diff --git a/dev-lang/perl/files/digest-perl-5.8.7 b/dev-lang/perl/files/digest-perl-5.8.7
new file mode 100644
index 000000000000..7407844a5a36
--- /dev/null
+++ b/dev-lang/perl/files/digest-perl-5.8.7
@@ -0,0 +1 @@
+MD5 9a175d6ccbb5d9b41ffac5073ff9cc3c perl-5.8.7.tar.bz2 9839086
diff --git a/dev-lang/perl/files/libperl_rebuilder b/dev-lang/perl/files/libperl_rebuilder
deleted file mode 100644
index 126e88c5e74d..000000000000
--- a/dev-lang/perl/files/libperl_rebuilder
+++ /dev/null
@@ -1,346 +0,0 @@
-#!/bin/bash
-
-echo "libperl_rebuilder has been replaced by perl-cleaner"
-echo "Please use it instead - its a lot more sane in its"
-echo "approach to your box."
-echo ""
-echo "libperl_rebuilder will start up in ten seconds."
-echo "Press CTL-C to exit and use the much improved"
-echo "perl-cleaner..."
-
-sleep 11
-
-LOG=/tmp/perl-update.log
-
-echo "The script will attempt to re-emerge your perl modules, any packages"
-echo "that compiled against libperl.so previously, as well as any packages"
-echo "that placed files in /usr/lib/perl*. A log of its attempts, work, and"
-echo "even failures is kept in ${LOG} - please refer to this"
-echo "log should you experience any difficulties."
-
-
-echo "--------------------------------------------------------------" >> $LOG
-echo "--------------------------------------------------------------" >> $LOG
-echo "--------------------------------------------------------------" >> $LOG
-
-
-echo 'Finding what perl modules you have installed...'
-echo 'Finding what perl modules you have installed...' >> $LOG
-
-
-cd /var/db/pkg/dev-perl
-PRE_MODULE_LIST=`
- for i in $(ls -1| sort | uniq)
- do
- echo "dev-perl/${i}"
- done | sed 's/-[0-9].*//g' | sort -u `
-
-
-
-echo "Preliminary Module List: $PRE_MODULE_LIST"
-echo "Preliminary Module List: $PRE_MODULE_LIST" >> $LOG
-
-#First, we clean up the perl module list - this is to avoid ambiguities later
-echo "Cleaning Module List..."
-echo "Cleaning Module List..." >> $LOG
-
-
-for MODULE in $PRE_MODULE_LIST;
-do
- env-update
- echo "Cleaning $MODULE"
- echo "Cleaning $MODULE" >> $LOG
- emerge -cp ${MODULE} 2>&1 | tee -a $LOG
- emerge -c ${MODULE}
-done
-
-echo 'Rechecking what perl modules you have installed...'
-echo 'Rechecking what perl modules you have installed...' >> $LOG
-
-
-SECOND_MODULE_LIST=`
- for i in $(ls -1| sort -u)
- do
- echo "dev-perl/${i}"
- done | sed 's/-[0-9].*//g' | sort -u`
-
-
-
-x=0
-while [ $x -lt 3 ] ; do
-let "x++"
-for MODULE in $SECOND_MODULE_LIST;
- do
- env-update
- echo "Rebuilding: $MODULE, pass ${x}"
- echo "Rebuilding: $MODULE, pass ${x}" >> $LOG
- if ! emerge "$MODULE"; then
- echo "emerge $MODULE FAILED while in rebuild, pass ${x}."
- echo "emerge $MODULE FAILED while in rebuild, pass ${x}." >> $LOG
-
- else
- echo "Done with $MODULE, pass ${x}"
- echo "Done with $MODULE, pass ${x}" >> $LOG
-
-
- fi
- done
-
-done
-
-echo 'Preliminary Module Rebuild Complete. Now for rebuilding the rest...'
-echo 'Preliminary Module Rebuild Complete. Now for rebuilding the rest...' >> $LOG
-
-#This time around, we want the explicit package name, since in the group remerge, we use
-# a --oneshot =package syntax
-MODULE_LIST=`
- for i in $(ls -1| sort -u)
- do
- echo "dev-perl/${i}"
- done | sort -u`
-
-
-echo 'Finding broken packages...'
-echo 'Finding broken packages...' >> $LOG
-unset USE
-REBUILD_FAKED=""
-
-env-update
-
-# Note: `` == $()
-# REBUILD EXACTLY AS ON DISK. emerge =cat/package-version-rev
-LDD_LIST=`
-for i in $(find $(egrep -v ^# /etc/ld.so.conf) -type f -name '*.so*') \
- $(find $(echo $PATH | sed 's/:/ /g') -type f -perm +0111);
-do
- ldd ${i} 2>&1 | grep "libperl" - >/dev/null && qpkg -f -nc -v $i;
-done | sort -u`
-ORIGINAL_LIST="$LDD_LIST"
-
-if [ ! -z "$LDD_LIST" ]; then
- REBUILD_PRELIST=`
- echo $LDD_LIST | sed 's:\([^ ]\+\):=\1:g' | xargs emerge -p |
- grep ebuild | sed 's:.*\] \([^ ]*\) .*:\1:'`
-fi
-
-# The following is to grab any packages that have placed files in
-# /usr/lib/perl* - this may include packages that are not explicityly
-# perl modules in dev-perl, or that did not compile against our old
-# libperl - this is a sanity check among other things
-
-cd /var/db/pkg
-LIBS_LIST=`grep -ls "usr\/lib\/perl" */*/CONTENTS | sed 's|/CONTENTS||g' | grep -v "dev-lang/perl" | grep -v "dev-perl"`
-
-REBUILD_LIST=`echo ${LIBS_LIST} ${REBUILD_PRELIST} | sort -u`
-
-if echo $REBUILD_LIST | egrep -q "no.*ebuilds to satisfy"; then
- echo "Packages are installed that no longer exist in Gentoo."
- echo "Determine what you need to do to fix this and try again."
- echo "The package may have been moved to a different category."
- echo
- echo "Easiest course of action: unmerge these by explicit versions"
- echo "and re-emerge them if they still exist."
- echo 'emerge -C \=package-version'
- echo "Notice: $REBUILD_LIST"
- exit 1
-fi
-
-if echo $REBUILD_LIST | grep -q "have been masked"; then
- echo "Masked packages are installed and need to be rebuilt..."
- echo "Either unmask them, or emerge -C them all."
- echo
- echo "Easiest course of action: unmerge these by explicit versions"
- echo 'emerge -C \=package-version'
- echo "Notice: $REBUILD_LIST"
- exit 1
-fi
-
-echo "Preliminary List: $REBUILD_LIST"
-echo "Preliminary List: $REBUILD_LIST" >> $LOG
-
-sleep 10s
-
-if ! emerge -p $(echo "$REBUILD_LIST" | sed 's:\([^ ]\+\):=\1:g') &>/dev/null; #'
-then
- # System isn't up to date, or nothing here to do...
- if [ ! -z "$LDD_LIST" ]; then
- REBUILD_LIST=`
- echo $LDD_LIST | sed 's:\([^ ]\+\):>=\1:g' | xargs emerge -p |
- grep ebuild | sed 's:.*\] \([^ ]\+\) .*:\1:'`
- fi
-fi
-
-
-
-
-echo -e "Rebuild list:\n$REBUILD_LIST"
-echo -e "Rebuild list:\n$REBUILD_LIST" >> $LOG
-
-sleep 20s
-
-if echo $REBUILD_LIST | egrep -q "no.*ebuilds to satisfy"; then
- echo "Packages are installed that no longer exist in Gentoo."
- echo "Determine what you need to do to fix this and try again."
- echo "The package may have been moved to a different category."
- echo
- echo "Easiest course of action: unmerge these by explicit versions"
- echo "and re-emerge them if they still exist."
- echo 'emerge -C \=package-version'
- echo "Notice: $REBUILD_LIST"
- exit 1
-fi
-
-if echo $REBUILD_LIST | grep -q "have been masked"; then
- echo "Masked packages are installed and need to be rebuilt..."
- echo "Either unmask them, or emerge -C them all."
- echo
- echo "Easiest course of action: check your ACCEPT_KEYWORDS in make.conf"
- echo 'emerge -C \=package-version'
- echo "Notice: $REBUILD_LIST"
- exit 1
-fi
-
-# I'm commenting out the next block. I don't think that this is necessary for the
-# perl upgrade the same way it was for the gcc upgrade - MPC
-#echo "Backing up the world file."
-#cp /var/cache/edb/world /var/cache/edb/world.update_system_backup
-#
-#
-#echo "Unmerging broken packages..."
-#emerge -Cp $ORIGINAL_LIST | tee -a $LOG
-#if ! emerge -C $ORIGINAL_LIST; then
-# echo
-# echo "There was a problem unmerging the broken packages."
-# echo "Please pass on your log file to a Gentoo Dev via bugzilla."
-# echo "Log file: $LOG"
-# echo
-# exit 1
-#fi
-#
-#env-update
-#
-#echo "Restoring world file..."
-#mv /var/cache/edb/world.update_system_backup /var/cache/edb/world
-
-REBUILD_LIST=`
- echo $LDD_LIST | sed 's:\([^ ]\+\):\\>\\=\1:g' | xargs emerge -np $(cat /var/cache/edb/world) |
- grep ebuild | sed 's:.*\] \([^ ]\+\) .*:\1:'`
-
-if echo $REBUILD_LIST | egrep -q "no.*ebuilds to satisfy"; then
- echo "Packages are installed that no longer exist in Gentoo."
- echo "Determine what you need to do to fix this and try again."
- echo "The package may have been moved to a different category."
- echo
- echo "Easiest course of action: unmerge these by explicit versions"
- echo "and re-emerge them if they still exist."
- echo 'emerge -C \=package-version'
- echo "Notice: $REBUILD_LIST"
- exit 1
-fi
-
-if echo $REBUILD_LIST | grep -q "have been masked"; then
- echo "Masked packages are installed and need to be rebuilt..."
- echo "Either unmask them, or emerge -C them all."
- echo
- echo "Easiest course of action: check your ACCEPT_KEYWORDS in make.conf"
- echo 'emerge -C \=package-version'
- echo "Notice: $REBUILD_LIST"
- exit 1
-fi
-
-#Join the perl module list and the binary list, sorting out dups
-FULL_LIST=`echo ${REBUILD_LIST} ${MODULE_LIST} | sort -u`
-
-echo -e "Complete rebuild list:\n$FULL_LIST"
-echo -e "Complete rebuild list:\n$FULL_LIST" >> $LOG
-
-
-CLEAN_FAILED=""
-MERGE_FAILED=""
-MERGE_DONE=""
-
-for PACKAGE in $FULL_LIST;
-do
- env-update
- echo "Rebuilding: $PACKAGE"
- echo "Rebuilding: $PACKAGE" >> $LOG
- if ! emerge --oneshot "=$PACKAGE"; then
- echo "emerge $PACKAGE FAILED while in rebuild."
- echo "emerge $PACKAGE FAILED while in rebuild." >> $LOG
- MERGE_FAILED="$MERGE_FAILED \n$PACKAGE"
- else
- echo "Cleaning after $PACKAGE"
- echo "Cleaning after $PACKAGE" >> $LOG
- emerge -cp 2>&1 | tee -a $LOG
- if ! emerge -c; then
- echo "FAILED cleaning after $PACKAGE while in rebuild"
- echo "FAILED cleaning after $PACKAGE while in rebuild" >> $LOG
- CLEAN_FAILED="$CLEAN_FAILED \n$PACKAGE"
- else
- echo "Done with $PACKAGE"
- echo "Done with $PACKAGE" >> $LOG
- MERGE_DONE="$MERGE_DONE \n$PACKAGE"
- fi
- fi
-done
-
-# One last pass of the modules - this is to catch those modules that dep'd a binary from above
-
-for MODULE in $MODULE_LIST;
- do
- env-update
- echo "Rebuilding: $MODULE"
- echo "Rebuilding: $MODULE" >> $LOG
- if ! emerge --oneshot "=$MODULE"; then
- echo "emerge $MODULE FAILED while in final rebuild."
- echo "emerge $MODULE FAILED while in final rebuild." >> $LOG
-
- else
- echo "Done with $MODULE"
- echo "Done with $MODULE" >> $LOG
-
-
- fi
- done
-
-
-
-
-echo
-echo "Ok... We're done (really)..."
-echo -e "The following packages merged successfully:$MERGE_DONE"
-echo -e "The following packages merged successfully:$MERGE_DONE" >> $LOG
-echo "-------------------------------------------"
-echo
-
-if [ ! -z "$MERGE_FAILED" ]; then
- echo -e "Merging failed on the following packages: $MERGE_FAILED"
- echo -e "Merging failed on the following packages: $MERGE_FAILED" >> $LOG
- echo "-----------------------------------------"
-else
- echo "All packages merged successfully."
- echo "All packages merged successfully." >> $LOG
-fi
-
-if [ ! -z "$CLEAN_FAILED" ]; then
- echo -e "Weird: the following packages failed to clean:$CLEAN_FAILED"
- echo -e "Weird: the following packages failed to clean:$CLEAN_FAILED" >> $LOG
- echo "----------------------------------------------------------"
-else
- echo "All packages cleaned successfully."
- echo "All packages cleaned successfully." >> $LOG
-fi
-
-if [ -z "$MERGE_FAILED" ] && [ -z "$CLEAN_FAILED" ]; then
- echo -e "\n\nEverything Completed Successfully."
- echo -e "Have a nice day and thank you for flying with Gentoo."
- echo -e "\n\nEverything Completed Successfully." >> $LOG
- echo -e "Have a nice day and thank you for flying with Gentoo. :)" >> $LOG
-else
- echo -e "\n\nThere were some issues... Check the log for details. :("
- echo "Some or all of the failed packages may have been cause by a"
- echo "dependancy failing earlier. Don't assume EVERYTHING is broken."
- echo "Start with the first one to fail."
- echo "Log is: $LOG"
-fi
-
diff --git a/dev-lang/perl/files/perl-5.8.4-perldoc-emptydirs.patch b/dev-lang/perl/files/perl-5.8.4-perldoc-emptydirs.patch
deleted file mode 100644
index 650248c509e8..000000000000
--- a/dev-lang/perl/files/perl-5.8.4-perldoc-emptydirs.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- lib/Pod/Perldoc.pm.orig 2003-10-22 13:02:15.000000000 -0700
-+++ lib/Pod/Perldoc.pm 2003-10-22 13:02:36.000000000 -0700
-@@ -1513,6 +1513,7 @@
- $self->{'target'} = (splitdir $s)[-1]; # XXX: why not use File::Basename?
- for ($i=0; $i<@dirs; $i++) {
- $dir = $dirs[$i];
-+ next unless -d $dir;
- ($dir = VMS::Filespec::unixpath($dir)) =~ s!/\z!! if IS_VMS;
- if ( (! $self->opt_m && ( $ret = $self->check_file($dir,"$s.pod")))
- or ( $ret = $self->check_file($dir,"$s.pm"))
diff --git a/dev-lang/perl/files/perl-5.8.4-picdl.patch b/dev-lang/perl/files/perl-5.8.4-picdl.patch
deleted file mode 100644
index f69a6800cf48..000000000000
--- a/dev-lang/perl/files/perl-5.8.4-picdl.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- Makefile.SH.orig 2003-11-29 01:16:15.000000000 -0800
-+++ Makefile.SH 2003-11-29 01:16:52.000000000 -0800
-@@ -129,8 +129,8 @@
-
- ;;
-
--*) pldlflags=''
-- static_target='static'
-+*) pldlflags="$cccdlflags"
-+ static_target='static_pic'
- ;;
- esac
-
diff --git a/dev-lang/perl/files/perl-5.8.4-prelink-lpthread.patch b/dev-lang/perl/files/perl-5.8.4-prelink-lpthread.patch
deleted file mode 100644
index d38497e0aebe..000000000000
--- a/dev-lang/perl/files/perl-5.8.4-prelink-lpthread.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- hints/linux.sh.orig 2003-02-14 18:11:50.000000000 -0800
-+++ hints/linux.sh 2003-02-14 18:12:01.000000000 -0800
-@@ -43,7 +43,7 @@
- # 'kaffe' has a /usr/lib/libnet.so which is not at all relevent for perl.
- set `echo X "$libswanted "| sed -e 's/ bsd / /' -e 's/ net / /'`
- shift
--libswanted="$*"
-+libswanted="pthread $*"
-
- # If you have glibc, then report the version for ./myconfig bug reporting.
- # (Configure doesn't need to know the specific version since it just uses
diff --git a/dev-lang/perl/files/perl-5.8.4-reorder-INC.patch b/dev-lang/perl/files/perl-5.8.4-reorder-INC.patch
deleted file mode 100644
index c934b4135a13..000000000000
--- a/dev-lang/perl/files/perl-5.8.4-reorder-INC.patch
+++ /dev/null
@@ -1,85 +0,0 @@
---- perl.c.orig 2003-07-10 22:09:00.000000000 -0700
-+++ perl.c 2003-07-10 22:30:21.000000000 -0700
-@@ -3932,9 +3932,9 @@
- incpush(APPLLIB_EXP, TRUE, TRUE, TRUE);
- #endif
-
--#ifdef ARCHLIB_EXP
-- incpush(ARCHLIB_EXP, FALSE, FALSE, TRUE);
--#endif
-+ /* for configuration where /usr is mounted ro (CPAN::Config, Net::Config) */
-+ incpush("/etc/perl", FALSE, FALSE, TRUE);
-+
- #ifdef MACOS_TRADITIONAL
- {
- Stat_t tmpstatbuf;
-@@ -3961,8 +3961,6 @@
- #endif
- #if defined(WIN32)
- incpush(PRIVLIB_EXP, TRUE, FALSE, TRUE);
--#else
-- incpush(PRIVLIB_EXP, FALSE, FALSE, TRUE);
- #endif
-
- #ifdef SITEARCH_EXP
-@@ -4006,6 +4004,60 @@
- incpush(PERL_VENDORLIB_STEM, FALSE, TRUE, TRUE);
- #endif
-
-+ incpush(ARCHLIB_EXP, FALSE, FALSE, TRUE);
-+ incpush(PRIVLIB_EXP, FALSE, FALSE, TRUE);
-+
-+ /* Non-versioned site directory for local modules and for
-+ compatability with the previous packages' site dirs */
-+
-+ incpush("/usr/local/lib/site_perl", TRUE, FALSE, TRUE);
-+
-+#ifdef PERL_INC_VERSION_LIST
-+{
-+ struct stat s;
-+
-+ /* add small buffer in case old versions are longer than the current version */
-+ char sitearch[sizeof(SITEARCH_EXP)+16] = SITEARCH_EXP;
-+ char sitelib[sizeof(SITELIB_EXP)+16] = SITELIB_EXP;
-+ char const *vers[] = { PERL_INC_VERSION_LIST };
-+ char const **p;
-+
-+ char *arch_vers = strrchr(sitearch, '/');
-+ char *lib_vers = strrchr(sitelib, '/');
-+
-+ if (arch_vers && isdigit(*++arch_vers))
-+ *arch_vers = 0;
-+ else
-+ arch_vers = 0;
-+
-+ if (lib_vers && isdigit(*++lib_vers))
-+ *lib_vers = 0;
-+ else
-+ lib_vers = 0;
-+
-+ /* there is some duplication here as incpush does something similar
-+ internally, but required as sitearch is not a subdirectory of
-+ sitelib */
-+
-+ for (p = vers; *p; p++)
-+ {
-+ if (arch_vers)
-+ {
-+ strcpy(arch_vers, *p);
-+ if (PerlLIO_stat(sitearch, &s) >= 0 && S_ISDIR(s.st_mode))
-+ incpush(sitearch, FALSE, FALSE, TRUE);
-+ }
-+
-+ if (lib_vers)
-+ {
-+ strcpy(lib_vers, *p);
-+ if (PerlLIO_stat(sitelib, &s) >= 0 && S_ISDIR(s.st_mode))
-+ incpush(sitelib, FALSE, FALSE, TRUE);
-+ }
-+ }
-+}
-+#endif
-+
- #ifdef PERL_OTHERLIBDIRS
- incpush(PERL_OTHERLIBDIRS, TRUE, TRUE, TRUE);
- #endif
diff --git a/dev-lang/perl/files/perl-5.8.5-noksh.patch b/dev-lang/perl/files/perl-5.8.5-noksh.patch
deleted file mode 100644
index 4c33b3e71b33..000000000000
--- a/dev-lang/perl/files/perl-5.8.5-noksh.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff -burN perl-5.8.4.orig/Configure perl-5.8.4/Configure
---- perl-5.8.4.orig/Configure 2004-04-01 05:48:18.000000000 -0800
-+++ perl-5.8.4/Configure 2004-06-09 12:02:54.694172368 -0700
-@@ -164,6 +164,12 @@
- ;;
- esac
-
-+# 2004.06.09 rac
-+# having $newsh persist as ksh here is bad news if ksh doesn't really
-+# exist. this causes us to toss away a perfectly good working test in
-+# bash in favour of more exotic external options. see bug 42665.
-+test -x "${newsh}" || unset newsh
-+
- : if needed set CDPATH to a harmless value that is not chatty
- : avoid bash 2.02 problems with empty CDPATH.
- case "$CDPATH" in
diff --git a/dev-lang/perl/files/perl-5.8.5-nonblock.patch b/dev-lang/perl/files/perl-5.8.5-nonblock.patch
deleted file mode 100644
index 65c0acae6e62..000000000000
--- a/dev-lang/perl/files/perl-5.8.5-nonblock.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- ext/IO/IO.xs.orig 2004-08-02 21:26:35.486883359 -0700
-+++ ext/IO/IO.xs 2004-08-02 21:26:58.285155590 -0700
-@@ -75,7 +75,7 @@
- int mode = RETVAL;
- #ifdef O_NONBLOCK
- /* POSIX style */
--#if defined(O_NDELAY) && O_NDELAY != O_NONBLOCK
-+#if defined(O_NDELAY) && O_NDELAY != O_NONBLOCK && !defined(__linux__)
- /* Ooops has O_NDELAY too - make sure we don't
- * get SysV behaviour by mistake. */
-
diff --git a/dev-lang/perl/files/perl-5.8.5-perldoc-emptydirs.patch b/dev-lang/perl/files/perl-5.8.5-perldoc-emptydirs.patch
deleted file mode 100644
index 650248c509e8..000000000000
--- a/dev-lang/perl/files/perl-5.8.5-perldoc-emptydirs.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- lib/Pod/Perldoc.pm.orig 2003-10-22 13:02:15.000000000 -0700
-+++ lib/Pod/Perldoc.pm 2003-10-22 13:02:36.000000000 -0700
-@@ -1513,6 +1513,7 @@
- $self->{'target'} = (splitdir $s)[-1]; # XXX: why not use File::Basename?
- for ($i=0; $i<@dirs; $i++) {
- $dir = $dirs[$i];
-+ next unless -d $dir;
- ($dir = VMS::Filespec::unixpath($dir)) =~ s!/\z!! if IS_VMS;
- if ( (! $self->opt_m && ( $ret = $self->check_file($dir,"$s.pod")))
- or ( $ret = $self->check_file($dir,"$s.pm"))
diff --git a/dev-lang/perl/files/perl-5.8.5-picdl.patch b/dev-lang/perl/files/perl-5.8.5-picdl.patch
deleted file mode 100644
index f69a6800cf48..000000000000
--- a/dev-lang/perl/files/perl-5.8.5-picdl.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- Makefile.SH.orig 2003-11-29 01:16:15.000000000 -0800
-+++ Makefile.SH 2003-11-29 01:16:52.000000000 -0800
-@@ -129,8 +129,8 @@
-
- ;;
-
--*) pldlflags=''
-- static_target='static'
-+*) pldlflags="$cccdlflags"
-+ static_target='static_pic'
- ;;
- esac
-
diff --git a/dev-lang/perl/files/perl-5.8.5-prelink-lpthread.patch b/dev-lang/perl/files/perl-5.8.5-prelink-lpthread.patch
deleted file mode 100644
index d38497e0aebe..000000000000
--- a/dev-lang/perl/files/perl-5.8.5-prelink-lpthread.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- hints/linux.sh.orig 2003-02-14 18:11:50.000000000 -0800
-+++ hints/linux.sh 2003-02-14 18:12:01.000000000 -0800
-@@ -43,7 +43,7 @@
- # 'kaffe' has a /usr/lib/libnet.so which is not at all relevent for perl.
- set `echo X "$libswanted "| sed -e 's/ bsd / /' -e 's/ net / /'`
- shift
--libswanted="$*"
-+libswanted="pthread $*"
-
- # If you have glibc, then report the version for ./myconfig bug reporting.
- # (Configure doesn't need to know the specific version since it just uses
diff --git a/dev-lang/perl/files/perl-5.8.5-reorder-INC.patch b/dev-lang/perl/files/perl-5.8.5-reorder-INC.patch
deleted file mode 100644
index c934b4135a13..000000000000
--- a/dev-lang/perl/files/perl-5.8.5-reorder-INC.patch
+++ /dev/null
@@ -1,85 +0,0 @@
---- perl.c.orig 2003-07-10 22:09:00.000000000 -0700
-+++ perl.c 2003-07-10 22:30:21.000000000 -0700
-@@ -3932,9 +3932,9 @@
- incpush(APPLLIB_EXP, TRUE, TRUE, TRUE);
- #endif
-
--#ifdef ARCHLIB_EXP
-- incpush(ARCHLIB_EXP, FALSE, FALSE, TRUE);
--#endif
-+ /* for configuration where /usr is mounted ro (CPAN::Config, Net::Config) */
-+ incpush("/etc/perl", FALSE, FALSE, TRUE);
-+
- #ifdef MACOS_TRADITIONAL
- {
- Stat_t tmpstatbuf;
-@@ -3961,8 +3961,6 @@
- #endif
- #if defined(WIN32)
- incpush(PRIVLIB_EXP, TRUE, FALSE, TRUE);
--#else
-- incpush(PRIVLIB_EXP, FALSE, FALSE, TRUE);
- #endif
-
- #ifdef SITEARCH_EXP
-@@ -4006,6 +4004,60 @@
- incpush(PERL_VENDORLIB_STEM, FALSE, TRUE, TRUE);
- #endif
-
-+ incpush(ARCHLIB_EXP, FALSE, FALSE, TRUE);
-+ incpush(PRIVLIB_EXP, FALSE, FALSE, TRUE);
-+
-+ /* Non-versioned site directory for local modules and for
-+ compatability with the previous packages' site dirs */
-+
-+ incpush("/usr/local/lib/site_perl", TRUE, FALSE, TRUE);
-+
-+#ifdef PERL_INC_VERSION_LIST
-+{
-+ struct stat s;
-+
-+ /* add small buffer in case old versions are longer than the current version */
-+ char sitearch[sizeof(SITEARCH_EXP)+16] = SITEARCH_EXP;
-+ char sitelib[sizeof(SITELIB_EXP)+16] = SITELIB_EXP;
-+ char const *vers[] = { PERL_INC_VERSION_LIST };
-+ char const **p;
-+
-+ char *arch_vers = strrchr(sitearch, '/');
-+ char *lib_vers = strrchr(sitelib, '/');
-+
-+ if (arch_vers && isdigit(*++arch_vers))
-+ *arch_vers = 0;
-+ else
-+ arch_vers = 0;
-+
-+ if (lib_vers && isdigit(*++lib_vers))
-+ *lib_vers = 0;
-+ else
-+ lib_vers = 0;
-+
-+ /* there is some duplication here as incpush does something similar
-+ internally, but required as sitearch is not a subdirectory of
-+ sitelib */
-+
-+ for (p = vers; *p; p++)
-+ {
-+ if (arch_vers)
-+ {
-+ strcpy(arch_vers, *p);
-+ if (PerlLIO_stat(sitearch, &s) >= 0 && S_ISDIR(s.st_mode))
-+ incpush(sitearch, FALSE, FALSE, TRUE);
-+ }
-+
-+ if (lib_vers)
-+ {
-+ strcpy(lib_vers, *p);
-+ if (PerlLIO_stat(sitelib, &s) >= 0 && S_ISDIR(s.st_mode))
-+ incpush(sitelib, FALSE, FALSE, TRUE);
-+ }
-+ }
-+}
-+#endif
-+
- #ifdef PERL_OTHERLIBDIRS
- incpush(PERL_OTHERLIBDIRS, TRUE, TRUE, TRUE);
- #endif
diff --git a/dev-lang/perl/files/perl-5.8.6-noksh.patch b/dev-lang/perl/files/perl-5.8.6-noksh.patch
deleted file mode 100644
index 4c33b3e71b33..000000000000
--- a/dev-lang/perl/files/perl-5.8.6-noksh.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff -burN perl-5.8.4.orig/Configure perl-5.8.4/Configure
---- perl-5.8.4.orig/Configure 2004-04-01 05:48:18.000000000 -0800
-+++ perl-5.8.4/Configure 2004-06-09 12:02:54.694172368 -0700
-@@ -164,6 +164,12 @@
- ;;
- esac
-
-+# 2004.06.09 rac
-+# having $newsh persist as ksh here is bad news if ksh doesn't really
-+# exist. this causes us to toss away a perfectly good working test in
-+# bash in favour of more exotic external options. see bug 42665.
-+test -x "${newsh}" || unset newsh
-+
- : if needed set CDPATH to a harmless value that is not chatty
- : avoid bash 2.02 problems with empty CDPATH.
- case "$CDPATH" in
diff --git a/dev-lang/perl/files/perl-5.8.6-perldoc-emptydirs.patch b/dev-lang/perl/files/perl-5.8.6-perldoc-emptydirs.patch
deleted file mode 100644
index 650248c509e8..000000000000
--- a/dev-lang/perl/files/perl-5.8.6-perldoc-emptydirs.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- lib/Pod/Perldoc.pm.orig 2003-10-22 13:02:15.000000000 -0700
-+++ lib/Pod/Perldoc.pm 2003-10-22 13:02:36.000000000 -0700
-@@ -1513,6 +1513,7 @@
- $self->{'target'} = (splitdir $s)[-1]; # XXX: why not use File::Basename?
- for ($i=0; $i<@dirs; $i++) {
- $dir = $dirs[$i];
-+ next unless -d $dir;
- ($dir = VMS::Filespec::unixpath($dir)) =~ s!/\z!! if IS_VMS;
- if ( (! $self->opt_m && ( $ret = $self->check_file($dir,"$s.pod")))
- or ( $ret = $self->check_file($dir,"$s.pm"))
diff --git a/dev-lang/perl/files/perl-5.8.6-picdl.patch b/dev-lang/perl/files/perl-5.8.6-picdl.patch
deleted file mode 100644
index f69a6800cf48..000000000000
--- a/dev-lang/perl/files/perl-5.8.6-picdl.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- Makefile.SH.orig 2003-11-29 01:16:15.000000000 -0800
-+++ Makefile.SH 2003-11-29 01:16:52.000000000 -0800
-@@ -129,8 +129,8 @@
-
- ;;
-
--*) pldlflags=''
-- static_target='static'
-+*) pldlflags="$cccdlflags"
-+ static_target='static_pic'
- ;;
- esac
-
diff --git a/dev-lang/perl/files/perl-5.8.6-prelink-lpthread.patch b/dev-lang/perl/files/perl-5.8.6-prelink-lpthread.patch
deleted file mode 100644
index d38497e0aebe..000000000000
--- a/dev-lang/perl/files/perl-5.8.6-prelink-lpthread.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- hints/linux.sh.orig 2003-02-14 18:11:50.000000000 -0800
-+++ hints/linux.sh 2003-02-14 18:12:01.000000000 -0800
-@@ -43,7 +43,7 @@
- # 'kaffe' has a /usr/lib/libnet.so which is not at all relevent for perl.
- set `echo X "$libswanted "| sed -e 's/ bsd / /' -e 's/ net / /'`
- shift
--libswanted="$*"
-+libswanted="pthread $*"
-
- # If you have glibc, then report the version for ./myconfig bug reporting.
- # (Configure doesn't need to know the specific version since it just uses
diff --git a/dev-lang/perl/files/perl-5.8.6-reorder-INC.patch b/dev-lang/perl/files/perl-5.8.6-reorder-INC.patch
deleted file mode 100644
index c934b4135a13..000000000000
--- a/dev-lang/perl/files/perl-5.8.6-reorder-INC.patch
+++ /dev/null
@@ -1,85 +0,0 @@
---- perl.c.orig 2003-07-10 22:09:00.000000000 -0700
-+++ perl.c 2003-07-10 22:30:21.000000000 -0700
-@@ -3932,9 +3932,9 @@
- incpush(APPLLIB_EXP, TRUE, TRUE, TRUE);
- #endif
-
--#ifdef ARCHLIB_EXP
-- incpush(ARCHLIB_EXP, FALSE, FALSE, TRUE);
--#endif
-+ /* for configuration where /usr is mounted ro (CPAN::Config, Net::Config) */
-+ incpush("/etc/perl", FALSE, FALSE, TRUE);
-+
- #ifdef MACOS_TRADITIONAL
- {
- Stat_t tmpstatbuf;
-@@ -3961,8 +3961,6 @@
- #endif
- #if defined(WIN32)
- incpush(PRIVLIB_EXP, TRUE, FALSE, TRUE);
--#else
-- incpush(PRIVLIB_EXP, FALSE, FALSE, TRUE);
- #endif
-
- #ifdef SITEARCH_EXP
-@@ -4006,6 +4004,60 @@
- incpush(PERL_VENDORLIB_STEM, FALSE, TRUE, TRUE);
- #endif
-
-+ incpush(ARCHLIB_EXP, FALSE, FALSE, TRUE);
-+ incpush(PRIVLIB_EXP, FALSE, FALSE, TRUE);
-+
-+ /* Non-versioned site directory for local modules and for
-+ compatability with the previous packages' site dirs */
-+
-+ incpush("/usr/local/lib/site_perl", TRUE, FALSE, TRUE);
-+
-+#ifdef PERL_INC_VERSION_LIST
-+{
-+ struct stat s;
-+
-+ /* add small buffer in case old versions are longer than the current version */
-+ char sitearch[sizeof(SITEARCH_EXP)+16] = SITEARCH_EXP;
-+ char sitelib[sizeof(SITELIB_EXP)+16] = SITELIB_EXP;
-+ char const *vers[] = { PERL_INC_VERSION_LIST };
-+ char const **p;
-+
-+ char *arch_vers = strrchr(sitearch, '/');
-+ char *lib_vers = strrchr(sitelib, '/');
-+
-+ if (arch_vers && isdigit(*++arch_vers))
-+ *arch_vers = 0;
-+ else
-+ arch_vers = 0;
-+
-+ if (lib_vers && isdigit(*++lib_vers))
-+ *lib_vers = 0;
-+ else
-+ lib_vers = 0;
-+
-+ /* there is some duplication here as incpush does something similar
-+ internally, but required as sitearch is not a subdirectory of
-+ sitelib */
-+
-+ for (p = vers; *p; p++)
-+ {
-+ if (arch_vers)
-+ {
-+ strcpy(arch_vers, *p);
-+ if (PerlLIO_stat(sitearch, &s) >= 0 && S_ISDIR(s.st_mode))
-+ incpush(sitearch, FALSE, FALSE, TRUE);
-+ }
-+
-+ if (lib_vers)
-+ {
-+ strcpy(lib_vers, *p);
-+ if (PerlLIO_stat(sitelib, &s) >= 0 && S_ISDIR(s.st_mode))
-+ incpush(sitelib, FALSE, FALSE, TRUE);
-+ }
-+ }
-+}
-+#endif
-+
- #ifdef PERL_OTHERLIBDIRS
- incpush(PERL_OTHERLIBDIRS, TRUE, TRUE, TRUE);
- #endif
diff --git a/dev-lang/perl/files/perl-5.8.7-CAN-2005-0448-rmtree.patch b/dev-lang/perl/files/perl-5.8.7-CAN-2005-0448-rmtree.patch
new file mode 100644
index 000000000000..0bee3e107ebf
--- /dev/null
+++ b/dev-lang/perl/files/perl-5.8.7-CAN-2005-0448-rmtree.patch
@@ -0,0 +1,263 @@
+--- lib/File/Path.pm.old 2005-06-28 17:22:21.000000000 -0400
++++ lib/File/Path.pm 2005-06-28 17:32:32.000000000 -0400
+@@ -26,9 +26,11 @@ to a list of paths to create,
+
+ =item *
+
+-a boolean value, which if TRUE will cause C<mkpath>
+-to print the name of each directory as it is created
+-(defaults to FALSE), and
++a boolean value, which if FALSE (the default for non-root users) will
++cause C<rmtree> to adjust the mode of directories (if required) prior
++to attempting to remove the contents. Note that on interruption or
++failure of C<rmtree>, directories may be left with more permissi
++modes for the owner.
+
+ =item *
+
+@@ -124,6 +126,7 @@ use File::Basename ();
+ use Exporter ();
+ use strict;
+ use warnings;
++use Cwd 'getcwd';
+
+ our $VERSION = "1.07";
+ our @ISA = qw( Exporter );
+@@ -172,111 +175,133 @@ sub mkpath {
+ @created;
+ }
+
+-sub rmtree {
+- my($roots, $verbose, $safe) = @_;
+- my(@files);
+- my($count) = 0;
+- $verbose ||= 0;
+- $safe ||= 0;
+-
+- if ( defined($roots) && length($roots) ) {
+- $roots = [$roots] unless ref $roots;
+- }
+- else {
+- carp "No root path(s) specified\n";
+- return 0;
+- }
+-
+- my($root);
+- foreach $root (@{$roots}) {
+- if ($Is_MacOS) {
+- $root = ":$root" if $root !~ /:/;
+- $root =~ s#([^:])\z#$1:#;
+- } else {
+- $root =~ s#/\z##;
+- }
+- (undef, undef, my $rp) = lstat $root or next;
+- $rp &= 07777; # don't forget setuid, setgid, sticky bits
+- if ( -d _ ) {
+- # notabene: 0700 is for making readable in the first place,
+- # it's also intended to change it to writable in case we have
+- # to recurse in which case we are better than rm -rf for
+- # subtrees with strange permissions
+- chmod($rp | 0700, ($Is_VMS ? VMS::Filespec::fileify($root) : $root))
+- or carp "Can't make directory $root read+writeable: $!"
+- unless $safe;
+-
+- if (opendir my $d, $root) {
+- no strict 'refs';
+- if (!defined ${"\cTAINT"} or ${"\cTAINT"}) {
+- # Blindly untaint dir names
+- @files = map { /^(.*)$/s ; $1 } readdir $d;
+- } else {
+- @files = readdir $d;
+- }
+- closedir $d;
+- }
+- else {
+- carp "Can't read $root: $!";
+- @files = ();
+- }
++sub _rmtree;
++sub _rmtree
++{
++
++ my ($path, $prefix, $up, $up_dev, $up_ino, $verbose, $safe) = @_;
++
++ my ($dev, $ino) = lstat $path or do {
++ carp "Can't stat $prefix$path ($!)" unless $!{ENOENT};
++ return 0;
++ };
++
++ unless (-d _)
++ {
++ print "unlink $prefix$path\n" if $verbose;
++ unless (unlink $path)
++ {
++ carp "Can't remove file $prefix$path ($!)";
++ return 0;
++ }
++ return 1;
++ }
+
+- # Deleting large numbers of files from VMS Files-11 filesystems
+- # is faster if done in reverse ASCIIbetical order
+- @files = reverse @files if $Is_VMS;
+- ($root = VMS::Filespec::unixify($root)) =~ s#\.dir\z## if $Is_VMS;
+- if ($Is_MacOS) {
+- @files = map("$root$_", @files);
+- } else {
+- @files = map("$root/$_", grep $_!~/^\.{1,2}\z/s,@files);
+- }
+- $count += rmtree(\@files,$verbose,$safe);
+- if ($safe &&
+- ($Is_VMS ? !&VMS::Filespec::candelete($root) : !-w $root)) {
+- print "skipped $root\n" if $verbose;
+- next;
+- }
+- chmod $rp | 0700, $root
+- or carp "Can't make directory $root writeable: $!"
+- if $force_writeable;
+- print "rmdir $root\n" if $verbose;
+- if (rmdir $root) {
+- ++$count;
+- }
+- else {
+- carp "Can't remove directory $root: $!";
+- chmod($rp, ($Is_VMS ? VMS::Filespec::fileify($root) : $root))
+- or carp("and can't restore permissions to "
+- . sprintf("0%o",$rp) . "\n");
+- }
+- }
+- else {
+- if ($safe &&
+- ($Is_VMS ? !&VMS::Filespec::candelete($root)
+- : !(-l $root || -w $root)))
+- {
+- print "skipped $root\n" if $verbose;
+- next;
+- }
+- chmod $rp | 0600, $root
+- or carp "Can't make file $root writeable: $!"
+- if $force_writeable;
+- print "unlink $root\n" if $verbose;
+- # delete all versions under VMS
+- for (;;) {
+- unless (unlink $root) {
+- carp "Can't unlink file $root: $!";
+- if ($force_writeable) {
+- chmod $rp, $root
+- or carp("and can't restore permissions to "
+- . sprintf("0%o",$rp) . "\n");
+- }
+- last;
+- }
+- ++$count;
+- last unless $Is_VMS && lstat $root;
+- }
+- }
++ unless (chdir $path)
++ {
++ carp "Can't chdir to $prefix$path ($!)";
++ return 0;
++ }
++
++ # avoid a race condition where a directory may be replaced by a
++ # symlink between the lstat and the chdir
++ my ($new_dev, $new_ino, $perm) = stat '.';
++ unless ("$new_dev:$new_ino" eq "$dev:$ino")
++ {
++ croak "Directory $prefix$path changed before chdir, aborting";
++ }
++
++ $perm &= 07777;
++ my $nperm = $perm | 0700;
++ unless ($safe or $nperm == $perm or chmod $nperm, '.')
++ {
++ carp "Can't make directory $prefix$path read+writeable ($!)";
++ $nperm = $perm;
++ }
++
++ my $count = 0;
++ if (opendir my $dir, '.')
++ {
++ my $entry;
++ while (defined ($entry = readdir $dir))
++ {
++ next if $entry =~ /^\.\.?$/;
++ $entry =~ /^(.*)$/s; $entry = $1; # untaint
++ $count += _rmtree $entry, "$prefix$path/", '..', $dev, $ino,
++ $verbose, $safe;
++ }
++
++ closedir $dir;
++ }
++
++ # restore directory permissions if required (in case the rmdir
++ # below fails) now, while we're still in the directory and may do
++ # so without a race via '.'
++ unless ($nperm == $perm or chmod $perm, '.')
++ {
++ carp "Can't restore permissions on directory $prefix$path ($!)";
++ }
++
++ # don't leave the caller in an unexpected directory
++ unless (chdir $up)
++ {
++ croak "Can't return to $up from $prefix$path ($!)";
++ }
++
++ # ensure that a chdir .. didn't take us somewhere other than
++ # where we expected (see CVE-2002-0435)
++ unless (($new_dev, $new_ino) = stat '.'
++ and "$new_dev:$new_ino" eq "$up_dev:$up_ino")
++ {
++ croak "Previous directory $up changed since entering $prefix$path";
++ }
++
++ print "rmdir $prefix$path\n" if $verbose;
++ if (rmdir $path)
++ {
++ $count++;
++ }
++ else
++ {
++ carp "Can't remove directory $prefix$path ($!)";
++ }
++
++ return $count;
++}
++
++sub rmtree
++{
++ my ($p, $verbose, $safe) = @_;
++ $p = [] unless defined $p and length $p;
++ $p = [ $p ] unless ref $p;
++ my @paths = grep defined && length, @$p;
++
++ # default to "unsafe" for non-root (will chmod dirs)
++ $safe = $> ? 0 : 1 unless defined $safe;
++
++ unless (@paths)
++ {
++ carp "No root path(s) specified";
++ return;
++ }
++
++ my $oldpwd = getcwd or do {
++ carp "Can't fetch initial working directory";
++ return;
++ };
++
++ my ($dev, $ino) = stat '.' or do {
++ carp "Can't stat initial working directory";
++ return;
++ };
++
++ # untaint
++ for ($oldpwd) { /^(.*)$/s; $_ = $1 }
++
++ my $count = 0;
++ for my $path (@paths)
++ {
++ $count += _rmtree $path, '', $oldpwd, $dev, $ino, $verbose, $safe;
+ }
+
+ $count;
diff --git a/dev-lang/perl/files/perl-5.8.7-tempfiles.patch b/dev-lang/perl/files/perl-5.8.7-tempfiles.patch
new file mode 100644
index 000000000000..8d8e306a72b3
--- /dev/null
+++ b/dev-lang/perl/files/perl-5.8.7-tempfiles.patch
@@ -0,0 +1,33 @@
+--- lib/ExtUtils/instmodsh.old 2005-06-28 16:57:43.000000000 -0400
++++ lib/ExtUtils/instmodsh 2005-06-28 16:59:28.000000000 -0400
+@@ -2,6 +2,7 @@
+
+ use strict;
+ use IO::File;
++use File::Temp;
+ use ExtUtils::Packlist;
+ use ExtUtils::Installed;
+
+@@ -58,16 +59,12 @@ while (1)
+ $reply =~ /^t\s*/ and do
+ {
+ my $file = (split(' ', $reply))[1];
+- my $tmp = "/tmp/inst.$$";
+- if (my $fh = IO::File->new($tmp, "w"))
+- {
+- $fh->print(join("\n", $Inst->files($module)));
+- $fh->close();
+- system("tar cvf $file -I $tmp");
+- unlink($tmp);
+- last CASE;
+- }
+- else { print("Can't open $file: $!\n"); }
++ my ($fh, $tmp) = File::Temp::tempfile(UNLINK => 1);
++ $fh->print(join("\n", $Inst->files($module)));
++ $fh->close();
++ # This used to use -I which is wrong for GNU tar.
++ system("tar cvf $file -T $tmp");
++ unlink($tmp);
+ last CASE;
+ };
+ $reply eq 'v' and do
diff --git a/dev-lang/perl/files/perl-5.8.0-RC2-special-h2ph-not-failing-on-machine_ansi_header.patch b/dev-lang/perl/files/perl-h2ph-ansi-header.patch
index c7f0d7246f03..c7f0d7246f03 100644
--- a/dev-lang/perl/files/perl-5.8.0-RC2-special-h2ph-not-failing-on-machine_ansi_header.patch
+++ b/dev-lang/perl/files/perl-h2ph-ansi-header.patch
diff --git a/dev-lang/perl/files/perl-5.8.4-noksh.patch b/dev-lang/perl/files/perl-noksh.patch
index 4c33b3e71b33..4c33b3e71b33 100644
--- a/dev-lang/perl/files/perl-5.8.4-noksh.patch
+++ b/dev-lang/perl/files/perl-noksh.patch
diff --git a/dev-lang/perl/files/perl-5.8.4-nonblock.patch b/dev-lang/perl/files/perl-nonblock.patch
index 65c0acae6e62..65c0acae6e62 100644
--- a/dev-lang/perl/files/perl-5.8.4-nonblock.patch
+++ b/dev-lang/perl/files/perl-nonblock.patch
diff --git a/dev-lang/perl/files/perl-5.8.2-perldoc-emptydirs.patch b/dev-lang/perl/files/perl-perldoc-emptydirs.patch
index 650248c509e8..650248c509e8 100644
--- a/dev-lang/perl/files/perl-5.8.2-perldoc-emptydirs.patch
+++ b/dev-lang/perl/files/perl-perldoc-emptydirs.patch
diff --git a/dev-lang/perl/files/perl-5.8.2-picdl.patch b/dev-lang/perl/files/perl-picdl.patch
index f69a6800cf48..f69a6800cf48 100644
--- a/dev-lang/perl/files/perl-5.8.2-picdl.patch
+++ b/dev-lang/perl/files/perl-picdl.patch
diff --git a/dev-lang/perl/files/perl-5.8.2-prelink-lpthread.patch b/dev-lang/perl/files/perl-prelink-lpthread.patch
index d38497e0aebe..d38497e0aebe 100644
--- a/dev-lang/perl/files/perl-5.8.2-prelink-lpthread.patch
+++ b/dev-lang/perl/files/perl-prelink-lpthread.patch
diff --git a/dev-lang/perl/files/perl-5.8.2-reorder-INC.patch b/dev-lang/perl/files/perl-reorder-INC.patch
index c934b4135a13..c934b4135a13 100644
--- a/dev-lang/perl/files/perl-5.8.2-reorder-INC.patch
+++ b/dev-lang/perl/files/perl-reorder-INC.patch
diff --git a/dev-lang/perl/files/perl-tempfiles.patch b/dev-lang/perl/files/perl-tempfiles.patch
new file mode 100644
index 000000000000..b229d6c0ca25
--- /dev/null
+++ b/dev-lang/perl/files/perl-tempfiles.patch
@@ -0,0 +1,60 @@
+diff -ur lib/ExtUtils/instmodsh.old lib/ExtUtils/instmodsh
+--- lib/ExtUtils/instmodsh.old Tue Sep 30 17:10:47 2003
++++ lib/ExtUtils/instmodsh Mon Jan 19 20:14:11 2004
+@@ -2,6 +2,7 @@
+
+ use strict;
+ use IO::File;
++use File::Temp;
+ use ExtUtils::Packlist;
+ use ExtUtils::Installed;
+
+@@ -58,16 +59,12 @@
+ $reply =~ /^t\s*/ and do
+ {
+ my $file = (split(' ', $reply))[1];
+- my $tmp = "/tmp/inst.$$";
+- if (my $fh = IO::File->new($tmp, "w"))
+- {
+- $fh->print(join("\n", $Inst->files($module)));
+- $fh->close();
+- system("tar cvf $file -I $tmp");
+- unlink($tmp);
+- last CASE;
+- }
+- else { print("Can't open $file: $!\n"); }
++ my ($fh, $tmp) = File::Temp::tempfile(UNLINK => 1);
++ $fh->print(join("\n", $Inst->files($module)));
++ $fh->close();
++ # This used to use -I which is wrong for GNU tar.
++ system("tar cvf $file -T $tmp");
++ unlink($tmp);
+ last CASE;
+ };
+ $reply eq 'v' and do
+
+diff -ur lib/perl5db.pl.old lib/perl5db.pl
+--- lib/perl5db.pl.old Mon Jan 19 18:46:25 2004
++++ lib/perl5db.pl Mon Jan 19 20:14:11 2004
+@@ -206,7 +206,7 @@
+ =item * noTTY
+
+ if set, goes in NonStop mode. On interrupt, if TTY is not set,
+-uses the value of noTTY or F</tmp/perldbtty$$> to find TTY using
++uses the value of noTTY or F</var/run/perldbtty$$> to find TTY using
+ Term::Rendezvous. Current variant is to have the name of TTY in this
+ file.
+
+@@ -5689,8 +5689,8 @@
+ else {
+ eval "require Term::Rendezvous;" or die;
+ # See if we have anything to pass to Term::Rendezvous.
+- # Use /tmp/perldbtty$$ if not.
+- my $rv = $ENV{PERLDB_NOTTY} || "/tmp/perldbtty$$";
++ # Use /var/run/perldbtty$$ if not.
++ my $rv = $ENV{PERLDB_NOTTY} || "/var/run/perldbtty$$";
+
+ # Rendezvous and get the filehandles.
+ my $term_rv = new Term::Rendezvous $rv;
+
+
diff --git a/dev-lang/perl/files/perl-5.8.2-uclibc.patch b/dev-lang/perl/files/perl-uclibc.patch
index 1e086d73879a..1e086d73879a 100644
--- a/dev-lang/perl/files/perl-5.8.2-uclibc.patch
+++ b/dev-lang/perl/files/perl-uclibc.patch
diff --git a/dev-lang/perl/files/stat.t b/dev-lang/perl/files/stat.t
deleted file mode 100644
index aabdd59c265b..000000000000
--- a/dev-lang/perl/files/stat.t
+++ /dev/null
@@ -1,289 +0,0 @@
-#!./perl
-
-# $RCSfile: stat.t,v $$Revision: 1.3 $$Date: 2003/05/31 11:19:02 $
-
-BEGIN {
- chdir 't' if -d 't';
- @INC = '../lib';
-}
-
-use Config;
-
-print "1..58\n";
-
-$Is_MSWin32 = $^O eq 'MSWin32';
-$Is_Dos = $^O eq 'dos';
-$Is_Dosish = $Is_Dos || $^O eq 'os2' || $Is_MSWin32;
-$Is_Cygwin = $^O eq 'cygwin';
-chop($cwd = ($Is_MSWin32 ? `cd` : `pwd`));
-
-$DEV = `ls -l /dev` unless $Is_Dosish or $Is_Cygwin;
-
-unlink "Op.stat.tmp";
-if (open(FOO, ">Op.stat.tmp")) {
- # hack to make Apollo update link count:
- $junk = `ls Op.stat.tmp` unless ($Is_MSWin32 || $Is_Dos);
-
- ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime,$ctime,
- $blksize,$blocks) = stat(FOO);
- if ($nlink == 1) {
- print "ok 1\n";
- }
- else {
- print "# res=$res, nlink=$nlink.\nnot ok 1\n";
- }
- if ($Is_MSWin32 or $Is_Cygwin or $Is_Dos || ($mtime && $mtime == $ctime)) {
- print "ok 2\n";
- }
- else {
- print "# |$mtime| vs |$ctime|\nnot ok 2\n";
- }
-
- my $funky_FAT_timestamps = $Is_Cygwin;
-
- sleep 3 if $funky_FAT_timestamps;
-
- print FOO "Now is the time for all good men to come to.\n";
- close(FOO);
-
- sleep 2 unless $funky_FAT_timestamps;
-
-} else {
- print "# open failed: $!\nnot ok 1\nnot ok 2\n";
-}
-
-if ($Is_Dosish) { unlink "Op.stat.tmp2"}
-else {
- `rm -f Op.stat.tmp2;ln Op.stat.tmp Op.stat.tmp2; chmod 644 Op.stat.tmp`;
-}
-
-($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime,$ctime,
- $blksize,$blocks) = stat('Op.stat.tmp');
-
-if ($Is_Dosish || $Config{dont_use_nlink})
- {print "ok 3 # skipped: no link count\n";}
-elsif ($nlink == 2)
- {print "ok 3\n";}
-else {print "# \$nlink is |$nlink|\nnot ok 3\n";}
-
-if ( $Is_Dosish
- # Solaris tmpfs bug
- || ($cwd =~ m#^/tmp# and $mtime && $mtime==$ctime && $^O eq 'solaris')
- || $cwd =~ m#/afs/#
- || $^O eq 'amigaos') {
- print "ok 4 # skipped: different semantic of mtime/ctime\n";
-}
-elsif ( ($mtime && $mtime != $ctime) ) {
- print "ok 4\n";
-}
-else {
- print "not ok 4\n";
- print "#4 If test op/stat.t fails test 4, check if you are on a tmpfs\n";
- print "#4 of some sort. Building in /tmp sometimes has this problem.\n";
- print "#4 Also building on the ClearCase VOBS filesystem may cause this failure.\n";
-}
-print "#4 :$mtime: should != :$ctime:\n";
-
-unlink "Op.stat.tmp" or print "# unlink failed: $!\n";
-if ($Is_MSWin32) { open F, '>Op.stat.tmp' and close F }
-else { `touch Op.stat.tmp` }
-
-if (-z 'Op.stat.tmp') {print "ok 5\n";} else {print "not ok 5\n";}
-if (! -s 'Op.stat.tmp') {print "ok 6\n";} else {print "not ok 6\n";}
-
-$Is_MSWin32 ? `cmd /c echo hi > Op.stat.tmp` : `echo hi >Op.stat.tmp`;
-if (! -z 'Op.stat.tmp') {print "ok 7\n";} else {print "not ok 7\n";}
-if (-s 'Op.stat.tmp') {print "ok 8\n";} else {print "not ok 8\n";}
-
-unlink 'Op.stat.tmp' or print "# unlink failed: $!\n";
-$olduid = $>; # can't test -r if uid == 0
-$Is_MSWin32 ? `cmd /c echo hi > Op.stat.tmp` : `echo hi >Op.stat.tmp`;
-chmod 0,'Op.stat.tmp';
-eval '$> = 1;'; # so switch uid (may not be implemented)
-if (!$> || $Is_Dos || ! -r 'Op.stat.tmp') {print "ok 9\n";} else {print "not ok 9\n";}
-if (!$> || ! -w 'Op.stat.tmp') {print "ok 10\n";} else {print "not ok 10\n";}
-eval '$> = $olduid;'; # switch uid back (may not be implemented)
-print "# olduid=$olduid, newuid=$>\n" unless ($> == $olduid);
-
-if (! -x 'Op.stat.tmp') {print "ok 11\n";}
-else {print "not ok 11\n";}
-
-foreach ((12,13,14,15,16,17)) {
- print "ok $_\n"; #deleted tests
-}
-
-# in ms windows, Op.stat.tmp inherits owner uid from directory
-# not sure about os/2, but chown is harmless anyway
-eval { chown $>,'Op.stat.tmp'; 1 } or print "# $@" ;
-chmod 0700,'Op.stat.tmp';
-if (-r 'Op.stat.tmp') {print "ok 18\n";} else {print "not ok 18\n";}
-if (-w 'Op.stat.tmp') {print "ok 19\n";} else {print "not ok 19\n";}
-if ($Is_Dosish) {print "ok 20 # skipped: -x by extension\n";}
-elsif (-x 'Op.stat.tmp') {print "ok 20\n";}
-else {print "not ok 20\n";}
-
-if (-f 'Op.stat.tmp') {print "ok 21\n";} else {print "not ok 21\n";}
-if (! -d 'Op.stat.tmp') {print "ok 22\n";} else {print "not ok 22\n";}
-
-if (-d '.') {print "ok 23\n";} else {print "not ok 23\n";}
-if (! -f '.') {print "ok 24\n";} else {print "not ok 24\n";}
-
-if (!$Is_Dosish and `ls -l perl` =~ /^l.*->/) {
- if (-l 'perl') {print "ok 25\n";} else {print "not ok 25\n";}
-}
-else {
- print "ok 25\n";
-}
-
-if (-o 'Op.stat.tmp') {print "ok 26\n";} else {print "not ok 26\n";}
-
-if (-e 'Op.stat.tmp') {print "ok 27\n";} else {print "not ok 27\n";}
-unlink 'Op.stat.tmp2';
-if (! -e 'Op.stat.tmp2') {print "ok 28\n";} else {print "not ok 28\n";}
-
-if ($Is_MSWin32 || $Is_Dos)
- {print "ok 29\n";}
-elsif ($DEV !~ /\nc.* (\S+)\n/)
- {print "ok 29\n";}
-elsif (-c "/dev/$1")
- {print "ok 29\n";}
-else
- {print "not ok 29\n";}
-if (! -c '.') {print "ok 30\n";} else {print "not ok 30\n";}
-
-if ($Is_MSWin32 || $Is_Dos)
- {print "ok 31\n";}
-elsif ($DEV !~ /\ns.* (\S+)\n/)
- {print "ok 31\n";}
-elsif (-S "/dev/$1")
- {print "ok 31\n";}
-else
- {print "not ok 31\n";}
-if (! -S '.') {print "ok 32\n";} else {print "not ok 32\n";}
-
-if ($Is_MSWin32 || $Is_Dos)
- {print "ok 33\n";}
-elsif ($DEV !~ /\nb.* (\S+)\n/)
- {print "ok 33\n";}
-elsif (-b "/dev/$1")
- {print "ok 33\n";}
-else
- {print "not ok 33\n";}
-if (! -b '.') {print "ok 34\n";} else {print "not ok 34\n";}
-
-if ($^O eq 'mpeix' or $^O eq 'amigaos' or $Is_Dosish or $Is_Cygwin) {
- print "ok 35 # skipped: no -u\n"; goto tty_test;
-}
-
-$cnt = $uid = 0;
-
-die "Can't run op/stat.t test 35 without pwd working" unless $cwd;
-my @bin = grep {-d} ($^O eq 'machten' ?
- qw(/usr/bin /bin) :
- qw(/sbin /usr/sbin /bin /usr/bin));
-unless (@bin) { print ("not ok 35\n"), goto tty_test; }
-for my $bin (@bin) {
- opendir BIN, $bin or die "Can't opendir $bin: $!";
- while (defined($_ = readdir BIN)) {
- $_ = "$bin/$_";
- $cnt++;
- $uid++ if -u;
- last if $uid && $uid < $cnt;
- }
-}
-closedir BIN;
-
-# I suppose this is going to fail somewhere...
-if ($uid > 0 && $uid < $cnt)
- {print "ok 35\n";}
-elsif ($uid == 0)
- {print ("not ok 35\n"), goto tty_test; }
-else
- {print "not ok 35 \n# ($uid $cnt)\n";}
-
-tty_test:
-
-# To assist in automated testing when a controlling terminal (/dev/tty)
-# may not be available (at, cron rsh etc), the PERL_SKIP_TTY_TEST env var
-# can be set to skip the tests that need a tty.
-unless($ENV{PERL_SKIP_TTY_TEST}) {
- if ($Is_MSWin32) {
- print "ok 36\n";
- print "ok 37\n";
- }
- else {
- my $TTY = "/dev/tty";
-
- $TTY = "/dev/ttyp0" if $^O eq 'rhapsody';
-
- if (defined $TTY) {
- unless (open(TTY, $TTY)) {
- print STDERR "Can't open $TTY--run t/TEST outside of make.\n";
- }
- if (-t TTY) {print "ok 36\n";} else {print "not ok 36\n";}
- if (-c TTY) {print "ok 37\n";} else {print "not ok 37\n";}
- close(TTY);
- } else { # if some platform completely undefines $TTY
- print "ok 36 # skipped\n";
- print "ok 37 # skipped\n";
- }
- }
- if (! -t TTY) {print "ok 38\n";} else {print "not ok 38\n";}
- if (-t) {print "ok 39\n";} else {print "not ok 39\n";}
-}
-else {
- print "ok 36\n";
- print "ok 37\n";
- print "ok 38\n";
- print "ok 39\n";
-}
-open(null,"/dev/null");
-if (! -t null || -e '/xenix' || $^O eq 'machten' || $Is_MSWin32)
- {print "ok 40\n";} else {print "not ok 40\n";}
-close(null);
-
-# These aren't strictly "stat" calls, but so what?
-
-if (-T 'op/stat.t') {print "ok 41\n";} else {print "not ok 41\n";}
-if (! -B 'op/stat.t') {print "ok 42\n";} else {print "not ok 42\n";}
-
-if (-B './perl' || -B './perl.exe') {print "ok 43\n";} else {print "not ok 43\n";}
-if (! -T './perl' && ! -T './perl.exe') {print "ok 44\n";} else {print "not ok 44\n";}
-
-open(FOO,'op/stat.t');
-eval { -T FOO; };
-if ($@ =~ /not implemented/) {
- print "# $@";
- for (45 .. 54) {
- print "ok $_\n";
- }
-}
-else {
- if (-T FOO) {print "ok 45\n";} else {print "not ok 45\n";}
- if (! -B FOO) {print "ok 46\n";} else {print "not ok 46\n";}
- $_ = <FOO>;
- if (/perl/) {print "ok 47\n";} else {print "not ok 47\n";}
- if (-T FOO) {print "ok 48\n";} else {print "not ok 48\n";}
- if (! -B FOO) {print "ok 49\n";} else {print "not ok 49\n";}
- close(FOO);
-
- open(FOO,'op/stat.t');
- $_ = <FOO>;
- if (/perl/) {print "ok 50\n";} else {print "not ok 50\n";}
- if (-T FOO) {print "ok 51\n";} else {print "not ok 51\n";}
- if (! -B FOO) {print "ok 52\n";} else {print "not ok 52\n";}
- seek(FOO,0,0);
- if (-T FOO) {print "ok 53\n";} else {print "not ok 53\n";}
- if (! -B FOO) {print "ok 54\n";} else {print "not ok 54\n";}
-}
-close(FOO);
-
-if (-T '/dev/null') {print "ok 55\n";} else {print "not ok 55\n";}
-if (-B '/dev/null') {print "ok 56\n";} else {print "not ok 56\n";}
-
-# and now, a few parsing tests:
-$_ = 'Op.stat.tmp';
-if (-f) {print "ok 57\n";} else {print "not ok 57\n";}
-if (-f()) {print "ok 58\n";} else {print "not ok 58\n";}
-
-unlink 'Op.stat.tmp' or print "# unlink failed: $!\n";
diff --git a/dev-lang/perl/perl-5.8.2-r4.ebuild b/dev-lang/perl/perl-5.8.2-r4.ebuild
deleted file mode 100644
index b6379568cc60..000000000000
--- a/dev-lang/perl/perl-5.8.2-r4.ebuild
+++ /dev/null
@@ -1,378 +0,0 @@
-# Copyright 1999-2005 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/perl/perl-5.8.2-r4.ebuild,v 1.10 2005/05/30 13:41:04 mcummings Exp $
-
-inherit eutils flag-o-matic toolchain-funcs
-
-# 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.gz"
-HOMEPAGE="http://www.perl.org/"
-SLOT="0"
-LIBPERL="libperl.so.${PERLSLOT}.${SHORT_PV}"
-LICENSE="Artistic GPL-2"
-KEYWORDS="x86 amd64 sparc ppc alpha mips hppa ia64 ppc64"
-IUSE="berkdb debug doc gdbm ithreads perlsuid"
-
-DEPEND="!elibc_uclibc? ( sys-apps/groff )
- berkdb? ( sys-libs/db )
- gdbm? ( >=sys-libs/gdbm-1.8.0 )
- >=sys-devel/libperl-${PV}
- !<perl-core/ExtUtils-MakeMaker-6.17
- !<perl-core/File-Spec-0.84-r1
- !<perl-core/Test-Simple-0.47-r1"
-RDEPEND=">=sys-devel/libperl-${PV}
- berkdb? ( sys-libs/db )
- gdbm? ( >=sys-libs/gdbm-1.8.0 )"
-
-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 ""
- ewarn "PLEASE NOTE: You are compiling perl-5.8 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. "
- ewarn ""
- epause 10
- else
- ewarn ""
- ewarn "PLEASE NOTE: If you want to compile perl-5.8 with"
- ewarn "threading enabled , you must restart this emerge"
- ewarn "with USE=ithreads emerge...."
- ewarn "Threading is not supported by all applications "
- ewarn "that compile against perl. You use threading at "
- ewarn "your own discretion. "
- ewarn ""
- fi
-
- if [ ! -f "${ROOT}/usr/lib/${LIBPERL}" ]
- then
- # Make sure we have libperl installed ...
- eerror "Cannot find ${ROOT}/usr/lib/${LIBPERL}! Make sure that you"
- eerror "have sys-libs/libperl installed properly ..."
- die "Cannot find /usr/lib/${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}/${P}-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}/${P}-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}/${P}-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}/${P}-picdl.patch
-
- # uclibc support
- epatch ${FILESDIR}/perl-5.8.2-uclibc.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_compile() {
- # 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
-
- export LC_ALL="C"
- local myconf=""
-
- if use ithreads
- then
- einfo "using ithreads"
- mythreading="-multi"
- myconf="-Dusethreads ${myconf}"
- myarch="${CHOST%%-*}-linux-thread"
- else
- myarch="${CHOST%%-*}-linux"
- fi
-
- if use gdbm
- then
- myconf="${myconf} -Di_gdbm"
- fi
- if use berkdb
- then
- myconf="${myconf} -Di_db"
-
- # ndbm.h is only provided by db1 (and perhaps by gdbm in
- # error). an alternate approach here would be to check for the
- # presence (or some string therein) of /usr/include/ndbm.h
- # itself.
-
- if has_version '=sys-libs/db-1*'
- then
- myconf="${myconf} -Di_ndbm"
- else
- myconf="${myconf} -Ui_ndbm"
- fi
- else
- myconf="${myconf} -Ui_db -Ui_ndbm"
- fi
- 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 debug
- then
- CFLAGS="${CFLAGS} -g"
- 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 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
-
- # These are temporary fixes. Need to edit the build so that that libraries created
- # only get compiled with -fPIC, since they get linked into shared objects, they
- # must be compiled with -fPIC. Don't have time to parse through the build system
- # at this time.
- [ "${ARCH}" = "hppa" ] && append-flags -fPIC
-# [ "${ARCH}" = "amd64" ] && append-flags -fPIC
-
- 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 \
- -Dman3ext='3pm' \
- -Dcf_by='Gentoo' \
- -Ud_csh \
- ${myconf} || die "Unable to configure"
-
- MAKEOPTS="${MAKEOPTS} -j1" emake || die "Unable to make"
-
- emake -i test CCDLFLAGS=
-}
-
-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 ../../../../${LIBPERL} ${coredir}/${LIBPERL}
- dosym ../../../../${LIBPERL} ${coredir}/libperl.so.${PERLSLOT}
- dosym ../../../../${LIBPERL} ${coredir}/libperl.so
-
- # Fix for "stupid" modules and programs
- dodir /usr/lib/perl5/site_perl/${PV}/${myarch}${mythreading}
-
- make DESTDIR="${D}" \
- INSTALLMAN1DIR="${D}/usr/share/man/man1" \
- INSTALLMAN3DIR="${D}/usr/share/man/man3" \
- install || die "Unable to make install"
-
- cp -f utils/h2ph utils/h2ph_patched
- epatch ${FILESDIR}/perl-5.8.0-RC2-special-h2ph-not-failing-on-machine_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
-
- ./perl installman \
- --destdir="${D}" --man1ext='1' --man3ext='3'
-
- # 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
-
- 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
-}
-
-pkg_postinst() {
-
- # Make sure we do not have stale/invalid libperl.so 's ...
- if [ -f "${ROOT}usr/lib/libperl.so" -a ! -L "${ROOT}usr/lib/libperl.so" ]
- then
- mv -f ${ROOT}usr/lib/libperl.so ${ROOT}usr/lib/libperl.so.old
- fi
-
- local perllib="`readlink -f ${ROOT}usr/lib/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/lib/libperl.so
- rm -f ${ROOT}usr/lib/libperl.so.${PERLSLOT}
- # Regenerate libperl.so.${PERLSLOT}
- ln -snf ${LIBPERL} ${ROOT}usr/lib/libperl.so.${PERLSLOT}
- # Create libperl.so (we use the *soname* versioned lib here ..)
- ln -snf libperl.so.${PERLSLOT} ${ROOT}usr/lib/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
- for $empty in $(find ${ROOT}/$DIR -type d); do
- rmdir $empty >/dev/null 2>&1
- done
- 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 changed versions of perl. It is recommended"
- eerror "that you run"
- eerror "dev-lang/perl/files/perl-cleaner "
- eerror "to 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 the rebuilder 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.5-r5.ebuild b/dev-lang/perl/perl-5.8.5-r5.ebuild
index ac5956e5b2b4..31853945a08b 100644
--- a/dev-lang/perl/perl-5.8.5-r5.ebuild
+++ b/dev-lang/perl/perl-5.8.5-r5.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/perl/perl-5.8.5-r5.ebuild,v 1.11 2005/05/30 13:41:04 mcummings Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/perl/perl-5.8.5-r5.ebuild,v 1.12 2005/06/29 22:14:31 mcummings Exp $
inherit eutils flag-o-matic toolchain-funcs
@@ -73,35 +73,35 @@ src_unpack() {
# 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}/${P}-prelink-lpthread.patch
+ 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}/${P}-perldoc-emptydirs.patch
+ 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}/${P}-reorder-INC.patch
+ 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}/${P}-picdl.patch
+ 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}/${P}-noksh.patch
+ cd ${S}; epatch ${FILESDIR}/${PN}-noksh.patch
# uclibc support
- epatch ${FILESDIR}/perl-5.8.2-uclibc.patch
+ 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
@@ -109,7 +109,7 @@ src_unpack() {
# code in IO.xs that checks for this sort of thing dies in LDAP on
# sparc64.
- epatch ${FILESDIR}/${P}-nonblock.patch
+ 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
@@ -283,7 +283,7 @@ src_install() {
ln -s perl${PV} ${D}/usr/bin/perl
cp -f utils/h2ph utils/h2ph_patched
- epatch ${FILESDIR}/perl-5.8.0-RC2-special-h2ph-not-failing-on-machine_ansi_header.patch
+ 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
diff --git a/dev-lang/perl/perl-5.8.6-r4.ebuild b/dev-lang/perl/perl-5.8.6-r4.ebuild
index 2523e38c436e..bb1acf823ffa 100644
--- a/dev-lang/perl/perl-5.8.6-r4.ebuild
+++ b/dev-lang/perl/perl-5.8.6-r4.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2005 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-r4.ebuild,v 1.13 2005/05/30 13:41:04 mcummings Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/perl/perl-5.8.6-r4.ebuild,v 1.14 2005/06/29 22:14:31 mcummings Exp $
inherit eutils flag-o-matic toolchain-funcs multilib
@@ -17,8 +17,8 @@ LIBPERL="libperl.so.${PERLSLOT}.${SHORT_PV}"
LICENSE="Artistic GPL-2"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
-IUSE="berkdb debug doc gdbm ithreads perlsuid"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~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="!elibc_uclibc? ( sys-apps/groff )
@@ -28,32 +28,30 @@ DEPEND="!elibc_uclibc? ( sys-apps/groff )
!<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 ""
ewarn "PLEASE NOTE: You are compiling perl-5.8 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. "
- ewarn ""
epause 10
else
- ewarn ""
- ewarn "PLEASE NOTE: If you want to compile perl-5.8 with"
- ewarn "threading enabled , you must restart this emerge"
- ewarn "with USE=ithreads emerge...."
- ewarn "Threading is not supported by all applications "
- ewarn "that compile against perl. You use threading at "
- ewarn "your own discretion. "
- ewarn ""
+ einfo "PLEASE NOTE: If you want to compile perl-5.8 with"
+ einfo "interpreter-level threading enabled , you must "
+ einfo "restart this emerge with USE=ithreads"
+ einfo "Interpreter-level threading is not supported by "
+ einfo "all applications that compile against perl."
fi
if [ ! -f "${ROOT}/usr/$(get_libdir)/${LIBPERL}" ]
@@ -61,7 +59,7 @@ pkg_setup() {
# 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 /usr/$(get_libdir)/${LIBPERL}!"
+ die "Cannot find ${ROOT}/usr/$(get_libdir)/${LIBPERL}!"
fi
}
@@ -73,35 +71,35 @@ src_unpack() {
# 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}/${P}-prelink-lpthread.patch
+ 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}/${P}-perldoc-emptydirs.patch
+ 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}/${P}-reorder-INC.patch
+ 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}/${P}-picdl.patch
+ 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}/${P}-noksh.patch
+ cd ${S}; epatch ${FILESDIR}/${PN}-noksh.patch
# uclibc support
- epatch ${FILESDIR}/perl-5.8.2-uclibc.patch
+ 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
@@ -109,7 +107,7 @@ src_unpack() {
# code in IO.xs that checks for this sort of thing dies in LDAP on
# sparc64.
- #epatch ${FILESDIR}/${P}-nonblock.patch
+ #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
@@ -145,16 +143,23 @@ src_configure() {
export LC_ALL="C"
local myconf=""
+ if [[ ${KERNEL} == "FreeBSD" && "${ELIBC}" = "FreeBSD" ]]; then
+ osname="freebsd"
+ else
+ # Default setting
+ osname="linux"
+ fi
+
if use ithreads
then
einfo "using ithreads"
mythreading="-multi"
myconf="-Dusethreads ${myconf}"
myarch=$(get_abi_CHOST)
- myarch="${myarch%%-*}-linux-thread"
+ myarch="${myarch%%-*}-${osname}-thread"
else
myarch=$(get_abi_CHOST)
- myarch="${myarch%%-*}-linux"
+ myarch="${myarch%%-*}-${osname}"
fi
local inclist=$(for v in $PERL_OLDVERSEN; do echo -n "$v $v/$myarch$mythreading "; done)
@@ -212,6 +217,8 @@ src_configure() {
[ -n "${ABI}" ] && myconf="${myconf} -Dusrinc=$(get_ml_incdir)"
+ [[ ${ELIBC} == "FreeBSD" ]] && myconf="${myconf} -Dlibc=/usr/lib/libc.a"
+
sh Configure -des \
-Darchname="${myarch}" \
-Dcccdlflags='-fPIC' \
@@ -267,7 +274,11 @@ src_install() {
# Fix for "stupid" modules and programs
dodir /usr/lib/perl5/site_perl/${PV}/${myarch}${mythreading}
- make DESTDIR="${D}" install || die "Unable to make install"
+ 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
@@ -286,7 +297,7 @@ src_install() {
ln -s perl${PV} ${D}/usr/bin/perl
cp -f utils/h2ph utils/h2ph_patched
- epatch ${FILESDIR}/perl-5.8.0-RC2-special-h2ph-not-failing-on-machine_ansi_header.patch
+ 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
@@ -343,6 +354,177 @@ EOF
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() {
@@ -383,9 +565,7 @@ pkg_postinst() {
# Silently remove the now empty dirs
for DIR in $INC; do
if [ -d ${ROOT}/$DIR ]; then
- for $empty in $(find ${ROOT}/$DIR -type d); do
- rmdir $empty >/dev/null 2>&1
- done
+ find ${ROOT}/$DIR -depth -type d | xargs -r rmdir &> /dev/null
fi
done
ebegin "Converting C header files to the corresponding Perl format"
@@ -406,10 +586,9 @@ pkg_postinst() {
}
cleaner_msg() {
- eerror "You have changed versions of perl. It is recommended"
- eerror "that you run"
- eerror "dev-lang/perl/files/perl-cleaner "
- eerror "to assist with this transition. This script is capable"
+ 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"
@@ -420,7 +599,7 @@ cleaner_msg() {
eerror "them - interruptions could leave you with unmerged"
eerror "packages before they can be remerged."
eerror ""
- eerror "If you have run the rebuilder and a package still gives"
+ 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."
diff --git a/dev-lang/perl/perl-5.8.4-r4.ebuild b/dev-lang/perl/perl-5.8.7.ebuild
index 28917d046db6..4dae564689bd 100644
--- a/dev-lang/perl/perl-5.8.4-r4.ebuild
+++ b/dev-lang/perl/perl-5.8.7.ebuild
@@ -1,8 +1,8 @@
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/perl/perl-5.8.4-r4.ebuild,v 1.10 2005/05/30 13:41:04 mcummings Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/perl/perl-5.8.7.ebuild,v 1.1 2005/06/29 22:14:31 mcummings Exp $
-inherit eutils flag-o-matic toolchain-funcs
+inherit eutils flag-o-matic toolchain-funcs multilib
# The slot of this binary compat version of libperl.so
PERLSLOT="1"
@@ -11,56 +11,55 @@ 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.gz"
+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="x86 ppc sparc mips alpha arm hppa amd64 ia64 ~ppc64 s390 sh"
-IUSE="berkdb debug doc gdbm ithreads perlsuid"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~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 5.8.6"
DEPEND="!elibc_uclibc? ( sys-apps/groff )
berkdb? ( sys-libs/db )
- gdbm? ( >=sys-libs/gdbm-1.8.0 )
+ gdbm? ( >=sys-libs/gdbm-1.8.3 )
>=sys-devel/libperl-${PV}
!<perl-core/ExtUtils-MakeMaker-6.17
- !<perl-core/File-Spec-0.84-r1
+ !<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.0 )"
+ 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 ""
ewarn "PLEASE NOTE: You are compiling perl-5.8 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. "
- ewarn ""
epause 10
else
- ewarn ""
- ewarn "PLEASE NOTE: If you want to compile perl-5.8 with"
- ewarn "threading enabled , you must restart this emerge"
- ewarn "with USE=ithreads emerge...."
- ewarn "Threading is not supported by all applications "
- ewarn "that compile against perl. You use threading at "
- ewarn "your own discretion. "
- ewarn ""
+ einfo "PLEASE NOTE: If you want to compile perl-5.8 with"
+ einfo "interpreter-level threading enabled , you must "
+ einfo "restart this emerge with USE=ithreads"
+ einfo "Interpreter-level threading is not supported by "
+ einfo "all applications that compile against perl."
fi
- if [ ! -f "${ROOT}/usr/lib/${LIBPERL}" ]
+ if [ ! -f "${ROOT}/usr/$(get_libdir)/${LIBPERL}" ]
then
# Make sure we have libperl installed ...
- eerror "Cannot find ${ROOT}/usr/lib/${LIBPERL}! Make sure that you"
+ eerror "Cannot find ${ROOT}/usr/$(get_libdir)/${LIBPERL}! Make sure that you"
eerror "have sys-libs/libperl installed properly ..."
- die "Cannot find /usr/lib/${LIBPERL}!"
+ die "Cannot find ${ROOT}/usr/$(get_libdir)/${LIBPERL}!"
fi
}
@@ -72,42 +71,32 @@ src_unpack() {
# 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}/${P}-prelink-lpthread.patch
+ 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}/${P}-perldoc-emptydirs.patch
+ 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}/${P}-reorder-INC.patch
+ 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}/${P}-picdl.patch
+ 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}/${P}-noksh.patch
-
- # see bug 52660
- # i'm not entirely thrilled with this has_version, but can't see
- # how else to handle it. attempting to link libgdbm_compat is
- # fatal on systems where it doesn't exist.
-
- has_version ">=sys-libs/gdbm-1.8.3" && epatch ${FILESDIR}/${P}-NDBM-GDBM-compat.patch
-
- # uclibc support
- epatch ${FILESDIR}/perl-5.8.2-uclibc.patch
+ 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
@@ -115,20 +104,22 @@ src_unpack() {
# code in IO.xs that checks for this sort of thing dies in LDAP on
# sparc64.
- epatch ${FILESDIR}/${P}-nonblock.patch
+ #epatch ${FILESDIR}/${PN}-nonblock.patch
- # An additional tempfile patch, bug 75696
- #epatch ${FILESDIR}/file_path_rmtree.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
- # 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
@@ -141,16 +132,27 @@ src_configure() {
export LC_ALL="C"
local myconf=""
+ if [[ ${KERNEL} == "FreeBSD" && "${ELIBC}" = "FreeBSD" ]]; then
+ osname="freebsd"
+ else
+ # Default setting
+ osname="linux"
+ fi
+
if use ithreads
then
einfo "using ithreads"
mythreading="-multi"
myconf="-Dusethreads ${myconf}"
- myarch="${CHOST%%-*}-linux-thread"
+ myarch=$(get_abi_CHOST)
+ myarch="${myarch%%-*}-${osname}-thread"
else
- myarch="${CHOST%%-*}-linux"
+ 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'
@@ -162,7 +164,6 @@ src_configure() {
mygdbm='D'
myndbm='D'
fi
-
if use berkdb
then
mydb='D'
@@ -203,12 +204,9 @@ src_configure() {
myconf="${myconf} -Ui_db -Ui_ndbm"
fi
- # These are temporary fixes. Need to edit the build so that that libraries created
- # only get compiled with -fPIC, since they get linked into shared objects, they
- # must be compiled with -fPIC. Don't have time to parse through the build system
- # at this time.
- [ "${ARCH}" = "hppa" ] && append-flags -fPIC
-# [ "${ARCH}" = "amd64" ] && append-flags -fPIC
+ [ -n "${ABI}" ] && myconf="${myconf} -Dusrinc=$(get_ml_incdir)"
+
+ [[ ${ELIBC} == "FreeBSD" ]] && myconf="${myconf} -Dlibc=/usr/lib/libc.a"
sh Configure -des \
-Darchname="${myarch}" \
@@ -229,6 +227,7 @@ src_configure() {
-Dinstallman3dir=${D}/usr/share/man/man3 \
-Dman1ext='1' \
-Dman3ext='3pm' \
+ -Dinc_version_list="$inclist" \
-Dcf_by='Gentoo' \
-Ud_csh \
${myconf} || die "Unable to configure"
@@ -242,17 +241,6 @@ src_compile() {
src_configure
emake -j1 || die "Unable to make"
-
-
- # i want people to have to take actions to disable tests, because
- # they reveal lots of important problems in clear ways. if that
- # happens, you can revisit this, but portage .51 will call
- # src_test if FEATURES=maketest is enabled, and we'll call it here
- # if it isn't.
-
- if ! hasq maketest $FEATURES; then
- src_test
- fi
}
src_test() {
@@ -268,14 +256,18 @@ src_install() {
# the library ...
local coredir="/usr/lib/perl5/${PV}/${myarch}${mythreading}/CORE"
dodir ${coredir}
- dosym ../../../../${LIBPERL} ${coredir}/${LIBPERL}
- dosym ../../../../${LIBPERL} ${coredir}/libperl.so.${PERLSLOT}
- dosym ../../../../${LIBPERL} ${coredir}/libperl.so
+ 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}
- make DESTDIR="${D}" install || die "Unable to make install"
+ 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
@@ -294,7 +286,7 @@ src_install() {
ln -s perl${PV} ${D}/usr/bin/perl
cp -f utils/h2ph utils/h2ph_patched
- epatch ${FILESDIR}/perl-5.8.0-RC2-special-h2ph-not-failing-on-machine_ansi_header.patch
+ 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
@@ -350,18 +342,188 @@ EOF
fi
cd `find ${D} -name Path.pm|sed -e 's/Path.pm//'`
# CAN patch in bug 79685
- epatch ${FILESDIR}/CAN-2005-0448-rmtree.patch
+ epatch ${FILESDIR}/${P}-CAN-2005-0448-rmtree.patch
+
+ if use minimal || use build ; then
+ src_remove_extra_files
+ fi
+
}
-pkg_postinst() {
+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/lib/libperl.so" -a ! -L "${ROOT}usr/lib/libperl.so" ]
+ if [ -f "${ROOT}usr/$(get_libdir)/libperl.so" -a ! -L "${ROOT}usr/$(get_libdir)/libperl.so" ]
then
- mv -f ${ROOT}usr/lib/libperl.so ${ROOT}usr/lib/libperl.so.old
+ mv -f ${ROOT}usr/$(get_libdir)/libperl.so ${ROOT}usr/$(get_libdir)/libperl.so.old
fi
- local perllib="`readlink -f ${ROOT}usr/lib/libperl.so | sed -e 's:^.*/::'`"
+ 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
@@ -369,12 +531,12 @@ pkg_postinst() {
if [ "${perllib}" != "${LIBPERL}" ]
then
# Delete stale symlinks
- rm -f ${ROOT}usr/lib/libperl.so
- rm -f ${ROOT}usr/lib/libperl.so.${PERLSLOT}
+ 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/lib/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/lib/libperl.so
+ 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" }')
@@ -392,9 +554,7 @@ pkg_postinst() {
# Silently remove the now empty dirs
for DIR in $INC; do
if [ -d ${ROOT}/$DIR ]; then
- for $empty in $(find ${ROOT}/$DIR -type d); do
- rmdir $empty >/dev/null 2>&1
- done
+ find ${ROOT}/$DIR -depth -type d | xargs -r rmdir &> /dev/null
fi
done
ebegin "Converting C header files to the corresponding Perl format"
@@ -403,23 +563,21 @@ pkg_postinst() {
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 changed versions of perl. It is recommended"
- eerror "that you run"
- eerror "dev-lang/perl/files/perl-cleaner "
- eerror "to assist with this transition. This script is capable"
+ 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"
@@ -430,7 +588,7 @@ cleaner_msg() {
eerror "them - interruptions could leave you with unmerged"
eerror "packages before they can be remerged."
eerror ""
- eerror "If you have run the rebuilder and a package still gives"
+ 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."