summaryrefslogtreecommitdiffstats
path: root/abs/core/perl
diff options
context:
space:
mode:
authorJames Meyer <James.meyer@operamail.com>2008-10-02 03:19:12 (GMT)
committerJames Meyer <James.meyer@operamail.com>2008-10-02 03:19:12 (GMT)
commit0e2532d4e8f4eed5e047f1db54d5c03ba849ec0a (patch)
treec0aa2c0b53c317be87eacfcb77b63f53f1f415e7 /abs/core/perl
downloadlinhes_pkgbuild-0e2532d4e8f4eed5e047f1db54d5c03ba849ec0a.zip
linhes_pkgbuild-0e2532d4e8f4eed5e047f1db54d5c03ba849ec0a.tar.gz
linhes_pkgbuild-0e2532d4e8f4eed5e047f1db54d5c03ba849ec0a.tar.bz2
initial import
Diffstat (limited to 'abs/core/perl')
-rw-r--r--abs/core/perl/PKGBUILD102
-rw-r--r--abs/core/perl/archlinux-cpan-installdir.patch17
-rw-r--r--abs/core/perl/archlinux-inc-order.patch101
-rw-r--r--abs/core/perl/perl-5.10.0-archlinux-cpan-installdir.patch11
-rw-r--r--abs/core/perl/perl-5.10.0-archlinux-inc-order.patch101
-rw-r--r--abs/core/perl/perl-5.8.6-picdl.patch013
-rw-r--r--abs/core/perl/perl-5.8.8-gcc-4.2.0.patch10
-rw-r--r--abs/core/perl/perl-5.8.8-utf-regexes.patch59
-rw-r--r--abs/core/perl/perl.install54
-rwxr-xr-xabs/core/perl/perlbin.sh2
10 files changed, 470 insertions, 0 deletions
diff --git a/abs/core/perl/PKGBUILD b/abs/core/perl/PKGBUILD
new file mode 100644
index 0000000..5b05045
--- /dev/null
+++ b/abs/core/perl/PKGBUILD
@@ -0,0 +1,102 @@
+# $Id: PKGBUILD 8709 2008-08-16 04:12:51Z eric $
+# Maintainer: judd <jvinet@zeroflux.org>
+pkgname=perl
+pkgver=5.10.0
+pkgrel=13
+pkgdesc="Practical Extraction and Report Language"
+arch=(i686 x86_64)
+license=('GPL' 'PerlArtistic')
+url="http://www.perl.org"
+groups=('base')
+depends=('gdbm' 'db>=4.7' 'coreutils' 'glibc' 'sh')
+# for site_perl this is needed!
+#test without options=('emptydirs')
+source=(http://www.perl.com/CPAN/src/perl-${pkgver}.tar.gz
+# http://search.cpan.org/CPAN/authors/id/P/PM/PMQS/DB_File-1.814.tar.gz
+ perlbin.sh perl-5.8.6-picdl.patch0
+ perl-5.10.0-archlinux-inc-order.patch)
+install=perl.install
+provides=(
+# extra
+perl-archive-tar perl-compress-raw-zlib perl-compress-zlib
+perl-extutils-cbuilder perl-io-compress-base perl-io-compress-zlib perl-io-zlib
+perl-module-pluggable perl-pod-escapes perl-pod-simple perl-module-build
+perl-version
+
+# aur
+perl-archive-extract perl-cpanplus perl-digest-sha perl-extutils-parsexs
+perl-file-fetch perl-ipc-cmd perl-locale-maketext-simple perl-log-message
+perl-log-message-simple perl-module-corelist perl-module-load
+perl-module-load-conditional perl-module-loaded perl-module-pluggable
+perl-object-accessor perl-params-check perl-term-ui perl-time-piece
+)
+md5sums=('d2c39b002ebfd2c3c5dba589365c5a71'
+ '9c4e3e56d71f123e92a68986df5ea924'
+ '319b56a7ce715fb7a494fe4d5cb9474c'
+ '0e4853bd75ee36b8f4c70b78c707b2fa')
+
+build() {
+ cd ${startdir}/src/${pkgname}-${pkgver}
+
+ # Update some modules provided with perl:
+ # replace the old DB_File with the newest one from CPAN,
+ # since it supports sleepycat's db 4.1.x
+# cd ext
+# rm -rf DB_File
+# mv $startdir/src/DB_File-1.814 ./DB_File
+
+ cd ${startdir}/src/${pkgname}-${pkgver}
+ patch -Np0 -i ../perl-5.10.0-archlinux-inc-order.patch
+
+ if [ "${CARCH}" = "x86_64" ]; then
+ # for x86_64
+ arch_opts="-Dcccdlflags='-fPIC'"
+ patch -Np0 -i ../perl-5.8.6-picdl.patch0 || return 1
+ else
+ # for i686
+ arch_opts=""
+ fi
+ ./Configure -des -Dusethreads -Doptimize="${CFLAGS}" -Dprefix=/usr \
+ -Dinstallprefix=${startdir}/pkg/usr -Dvendorprefix=/usr \
+ -Dprivlib=/usr/share/perl5/core_perl \
+ -Darchlib=/usr/lib/perl5/core_perl \
+ -Dsitelib=/usr/share/perl5/site_perl/${pkgver} \
+ -Dsitearch=/usr/lib/perl5/site_perl/${pkgver} \
+ -Dvendorlib=/usr/share/perl5/vendor_perl \
+ -Dvendorarch=/usr/lib/perl5/vendor_perl \
+ -Dotherlibdirs=/usr/lib/perl5/current:/usr/lib/perl5/site_perl/current \
+ -Dscriptdir='/usr/bin/perlbin/core' \
+ -Dsitescript='/usr/bin/perlbin/site' \
+ -Dvendorscript='/usr/bin/perlbin/vendor' \
+ -Dman1ext=1perl -Dman3ext=3perl ${arch_opts}
+
+ make || return 1
+ make install
+
+ ### Perl Settings ###
+ # Change man page extensions for site and vendor module builds.
+ sed -e '/^man1ext=/ s/1perl/1p/' -e '/^man3ext=/ s/3perl/3pm/' \
+ -i ${startdir}/pkg/usr/lib/perl5/core_perl/Config_heavy.pl
+
+ ### CPAN Settings ###
+ # Set CPAN default config to use the site directories.
+ sed -e '/(makepl_arg =>/ s/""/"INSTALLDIRS=site"/' \
+ -e '/(mbuildpl_arg =>/ s/""/"installdirs=site"/' \
+ -i ${startdir}/pkg/usr/share/perl5/core_perl/CPAN/FirstTime.pm
+
+ ### CPANPLUS Settings ###
+ # Set CPANPLUS default config to use the site directories.
+ sed -e "/{'makemakerflags'}/ s/'';/'INSTALLDIRS=site';/" \
+ -e "/{'buildflags'}/ s/'';/'installdirs=site';/" \
+ -i ${startdir}/pkg/usr/share/perl5/core_perl/CPANPLUS/Config.pm
+
+ # Profile script so set paths to perl scripts.
+ install -D -m755 ${startdir}/src/perlbin.sh \
+ ${startdir}/pkg/etc/profile.d/perlbin.sh
+
+ (cd ${startdir}/pkg/usr/bin; mv perl${pkgver} perl)
+ (cd ${startdir}/pkg/usr/bin/perlbin/core; \
+ ln -sf c2ph pstruct; ln -sf s2p psed)
+ grep -Rl "${startdir}/pkg" ${startdir}/pkg/usr | \
+ xargs sed -i "s^${startdir}/pkg^^g"
+}
diff --git a/abs/core/perl/archlinux-cpan-installdir.patch b/abs/core/perl/archlinux-cpan-installdir.patch
new file mode 100644
index 0000000..1e005d8
--- /dev/null
+++ b/abs/core/perl/archlinux-cpan-installdir.patch
@@ -0,0 +1,17 @@
+Some modules which are included in the perl core set INSTALLDIRS => 'perl'
+explicitly in Makefile.PL. This makes sense for the normal @INC ordering but
+not for Arch Linux. Provide a sensible default.
+
+Thanks to Charles Mauch (xterminus) for his work on the initial patch.
+
+--- lib/CPAN/FirstTime.pm.orig 2007-11-04 22:35:31.000000000 -0500
++++ lib/CPAN/FirstTime.pm 2007-11-04 22:37:59.000000000 -0500
+@@ -358,7 +358,7 @@
+
+ };
+
+- $default = $CPAN::Config->{makepl_arg} || "";
++ $default = $CPAN::Config->{makepl_arg} || "INSTALLDIRS=site";
+ $CPAN::Config->{makepl_arg} =
+ prompt("Parameters for the 'perl Makefile.PL' command?
+ Typical frequently used settings:
diff --git a/abs/core/perl/archlinux-inc-order.patch b/abs/core/perl/archlinux-inc-order.patch
new file mode 100644
index 0000000..a0c7a9c
--- /dev/null
+++ b/abs/core/perl/archlinux-inc-order.patch
@@ -0,0 +1,101 @@
+Tweak @INC so that the ordering is:
+ site (5.8.8)
+ vendor (all)
+ core (5.8.8)
+ obsolete (pre-5.8.8-9) vendor builds
+
+The rationale being that an admin (via site), or module packager (vendor) can
+chose to shadow core modules when there is a newer version than is included in
+core.
+
+Thanks to Charles Mauch (xterminus) for his work on the initial patch.
+
+--- perl.c.orig 2006-01-31 07:34:47.000000000 -0500
++++ perl.c 2007-10-31 22:46:56.000000000 -0400
+@@ -4771,44 +4771,12 @@
+
+ /* Use the ~-expanded versions of APPLLIB (undocumented),
+ ARCHLIB PRIVLIB SITEARCH SITELIB VENDORARCH and VENDORLIB
++ Arch Linux: SITEARCH SITELIB VENDORARCH VENDORLIB ARCHLIB PRIVLIB OTHER
+ */
+ #ifdef APPLLIB_EXP
+ incpush(APPLLIB_EXP, TRUE, TRUE, TRUE);
+ #endif
+
+-#ifdef ARCHLIB_EXP
+- incpush(ARCHLIB_EXP, FALSE, FALSE, TRUE);
+-#endif
+-#ifdef MACOS_TRADITIONAL
+- {
+- Stat_t tmpstatbuf;
+- SV * privdir = NEWSV(55, 0);
+- char * macperl = PerlEnv_getenv("MACPERL");
+-
+- if (!macperl)
+- macperl = "";
+-
+- Perl_sv_setpvf(aTHX_ privdir, "%slib:", macperl);
+- if (PerlLIO_stat(SvPVX(privdir), &tmpstatbuf) >= 0 && S_ISDIR(tmpstatbuf.st_mode))
+- incpush(SvPVX(privdir), TRUE, FALSE, TRUE);
+- Perl_sv_setpvf(aTHX_ privdir, "%ssite_perl:", macperl);
+- if (PerlLIO_stat(SvPVX(privdir), &tmpstatbuf) >= 0 && S_ISDIR(tmpstatbuf.st_mode))
+- incpush(SvPVX(privdir), TRUE, FALSE, TRUE);
+-
+- SvREFCNT_dec(privdir);
+- }
+- if (!PL_tainting)
+- incpush(":", FALSE, FALSE, TRUE);
+-#else
+-#ifndef PRIVLIB_EXP
+-# define PRIVLIB_EXP "/usr/local/lib/perl5:/usr/local/lib/perl"
+-#endif
+-#if defined(WIN32)
+- incpush(PRIVLIB_EXP, TRUE, FALSE, TRUE);
+-#else
+- incpush(PRIVLIB_EXP, FALSE, FALSE, TRUE);
+-#endif
+-
+ #ifdef SITEARCH_EXP
+ /* sitearch is always relative to sitelib on Windows for
+ * DLL-based path intuition to work correctly */
+@@ -4850,6 +4818,40 @@
+ incpush(PERL_VENDORLIB_STEM, FALSE, TRUE, TRUE);
+ #endif
+
++/* Arch Linux: core libs after site and vendor libs. */
++#ifdef ARCHLIB_EXP
++ incpush(ARCHLIB_EXP, FALSE, FALSE, TRUE);
++#endif
++#ifdef MACOS_TRADITIONAL
++ {
++ Stat_t tmpstatbuf;
++ SV * privdir = NEWSV(55, 0);
++ char * macperl = PerlEnv_getenv("MACPERL");
++
++ if (!macperl)
++ macperl = "";
++
++ Perl_sv_setpvf(aTHX_ privdir, "%slib:", macperl);
++ if (PerlLIO_stat(SvPVX(privdir), &tmpstatbuf) >= 0 && S_ISDIR(tmpstatbuf.st_mode))
++ incpush(SvPVX(privdir), TRUE, FALSE, TRUE);
++ Perl_sv_setpvf(aTHX_ privdir, "%ssite_perl:", macperl);
++ if (PerlLIO_stat(SvPVX(privdir), &tmpstatbuf) >= 0 && S_ISDIR(tmpstatbuf.st_mode))
++ incpush(SvPVX(privdir), TRUE, FALSE, TRUE);
++
++ SvREFCNT_dec(privdir);
++ }
++ if (!PL_tainting)
++ incpush(":", FALSE, FALSE, TRUE);
++#else
++#ifndef PRIVLIB_EXP
++# define PRIVLIB_EXP "/usr/local/lib/perl5:/usr/local/lib/perl"
++#endif
++#if defined(WIN32)
++ incpush(PRIVLIB_EXP, TRUE, FALSE, TRUE);
++#else
++ incpush(PRIVLIB_EXP, FALSE, FALSE, TRUE);
++#endif
++
+ #ifdef PERL_OTHERLIBDIRS
+ incpush(PERL_OTHERLIBDIRS, TRUE, TRUE, TRUE);
+ #endif
diff --git a/abs/core/perl/perl-5.10.0-archlinux-cpan-installdir.patch b/abs/core/perl/perl-5.10.0-archlinux-cpan-installdir.patch
new file mode 100644
index 0000000..0770a5e
--- /dev/null
+++ b/abs/core/perl/perl-5.10.0-archlinux-cpan-installdir.patch
@@ -0,0 +1,11 @@
+--- lib/CPAN/FirstTime.pm.orig 2007-12-24 23:21:42.000000000 -0500
++++ lib/CPAN/FirstTime.pm 2007-12-24 23:26:04.000000000 -0500
+@@ -940,7 +940,7 @@
+ }
+
+ if (!$matcher or 'makepl_arg make_arg' =~ /$matcher/) {
+- my_dflt_prompt(makepl_arg => "", $matcher);
++ my_dflt_prompt(makepl_arg => "INSTALLDIRS=site", $matcher);
+ my_dflt_prompt(make_arg => "", $matcher);
+ }
+
diff --git a/abs/core/perl/perl-5.10.0-archlinux-inc-order.patch b/abs/core/perl/perl-5.10.0-archlinux-inc-order.patch
new file mode 100644
index 0000000..1c85eb8
--- /dev/null
+++ b/abs/core/perl/perl-5.10.0-archlinux-inc-order.patch
@@ -0,0 +1,101 @@
+Tweak @INC so that the ordering is:
+ site (5.8.8)
+ vendor (all)
+ core (5.8.8)
+ obsolete (pre-5.8.8-9) vendor builds
+
+The rationale being that an admin (via site), or module packager (vendor) can
+chose to shadow core modules when there is a newer version than is included in
+core.
+
+Thanks to Charles Mauch (xterminus) for his work on the initial patch.
+
+--- perl.c.orig 2007-12-18 05:47:08.000000000 -0500
++++ perl.c 2007-12-24 23:15:23.000000000 -0500
+@@ -4748,44 +4748,12 @@
+
+ /* Use the ~-expanded versions of APPLLIB (undocumented),
+ ARCHLIB PRIVLIB SITEARCH SITELIB VENDORARCH and VENDORLIB
++ Arch Linux: SITEARCH SITELIB VENDORARCH VENDORLIB ARCHLIB PRIVLIB OTHER
+ */
+ #ifdef APPLLIB_EXP
+ incpush(APPLLIB_EXP, TRUE, TRUE, TRUE, TRUE);
+ #endif
+
+-#ifdef ARCHLIB_EXP
+- incpush(ARCHLIB_EXP, FALSE, FALSE, TRUE, TRUE);
+-#endif
+-#ifdef MACOS_TRADITIONAL
+- {
+- Stat_t tmpstatbuf;
+- SV * privdir = newSV(0);
+- char * macperl = PerlEnv_getenv("MACPERL");
+-
+- if (!macperl)
+- macperl = "";
+-
+- Perl_sv_setpvf(aTHX_ privdir, "%slib:", macperl);
+- if (PerlLIO_stat(SvPVX(privdir), &tmpstatbuf) >= 0 && S_ISDIR(tmpstatbuf.st_mode))
+- incpush(SvPVX(privdir), TRUE, FALSE, TRUE, FALSE);
+- Perl_sv_setpvf(aTHX_ privdir, "%ssite_perl:", macperl);
+- if (PerlLIO_stat(SvPVX(privdir), &tmpstatbuf) >= 0 && S_ISDIR(tmpstatbuf.st_mode))
+- incpush(SvPVX(privdir), TRUE, FALSE, TRUE, FALSE);
+-
+- SvREFCNT_dec(privdir);
+- }
+- if (!PL_tainting)
+- incpush(":", FALSE, FALSE, TRUE, FALSE);
+-#else
+-#ifndef PRIVLIB_EXP
+-# define PRIVLIB_EXP "/usr/local/lib/perl5:/usr/local/lib/perl"
+-#endif
+-#if defined(WIN32)
+- incpush(PRIVLIB_EXP, TRUE, FALSE, TRUE, TRUE);
+-#else
+- incpush(PRIVLIB_EXP, FALSE, FALSE, TRUE, TRUE);
+-#endif
+-
+ #ifdef SITEARCH_EXP
+ /* sitearch is always relative to sitelib on Windows for
+ * DLL-based path intuition to work correctly */
+@@ -4828,6 +4796,40 @@
+ incpush(PERL_VENDORLIB_STEM, FALSE, TRUE, TRUE, TRUE);
+ #endif
+
++/* Arch Linux: core libs after site and vendor libs. */
++#ifdef ARCHLIB_EXP
++ incpush(ARCHLIB_EXP, FALSE, FALSE, TRUE, TRUE);
++#endif
++#ifdef MACOS_TRADITIONAL
++ {
++ Stat_t tmpstatbuf;
++ SV * privdir = newSV(0);
++ char * macperl = PerlEnv_getenv("MACPERL");
++
++ if (!macperl)
++ macperl = "";
++
++ Perl_sv_setpvf(aTHX_ privdir, "%slib:", macperl);
++ if (PerlLIO_stat(SvPVX(privdir), &tmpstatbuf) >= 0 && S_ISDIR(tmpstatbuf.st_mode))
++ incpush(SvPVX(privdir), TRUE, FALSE, TRUE, FALSE);
++ Perl_sv_setpvf(aTHX_ privdir, "%ssite_perl:", macperl);
++ if (PerlLIO_stat(SvPVX(privdir), &tmpstatbuf) >= 0 && S_ISDIR(tmpstatbuf.st_mode))
++ incpush(SvPVX(privdir), TRUE, FALSE, TRUE, FALSE);
++
++ SvREFCNT_dec(privdir);
++ }
++ if (!PL_tainting)
++ incpush(":", FALSE, FALSE, TRUE, FALSE);
++#else
++#ifndef PRIVLIB_EXP
++# define PRIVLIB_EXP "/usr/local/lib/perl5:/usr/local/lib/perl"
++#endif
++#if defined(WIN32)
++ incpush(PRIVLIB_EXP, TRUE, FALSE, TRUE, TRUE);
++#else
++ incpush(PRIVLIB_EXP, FALSE, FALSE, TRUE, TRUE);
++#endif
++
+ #ifdef PERL_OTHERLIBDIRS
+ incpush(PERL_OTHERLIBDIRS, TRUE, TRUE, TRUE, TRUE);
+ #endif
diff --git a/abs/core/perl/perl-5.8.6-picdl.patch0 b/abs/core/perl/perl-5.8.6-picdl.patch0
new file mode 100644
index 0000000..f69a680
--- /dev/null
+++ b/abs/core/perl/perl-5.8.6-picdl.patch0
@@ -0,0 +1,13 @@
+--- 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/abs/core/perl/perl-5.8.8-gcc-4.2.0.patch b/abs/core/perl/perl-5.8.8-gcc-4.2.0.patch
new file mode 100644
index 0000000..679a7ab
--- /dev/null
+++ b/abs/core/perl/perl-5.8.8-gcc-4.2.0.patch
@@ -0,0 +1,10 @@
+--- perl-5.8.x/makedepend.SH 2006-06-13 15:31:22.000000000 -0400
++++ perl-5.8.x-andy/makedepend.SH 2006-07-25 14:45:11.000000000 -0400
+@@ -167,6 +167,7 @@
+ -e '/^#.*<builtin>/d' \
+ -e '/^#.*<built-in>/d' \
+ -e '/^#.*<command line>/d' \
++ -e '/^#.*<command-line>/d' \
+ -e '/^#.*"-"/d' \
+ -e '/: file path prefix .* never used$/d' \
+ -e 's#\.[0-9][0-9]*\.c#'"$file.c#" \
diff --git a/abs/core/perl/perl-5.8.8-utf-regexes.patch b/abs/core/perl/perl-5.8.8-utf-regexes.patch
new file mode 100644
index 0000000..5799fff
--- /dev/null
+++ b/abs/core/perl/perl-5.8.8-utf-regexes.patch
@@ -0,0 +1,59 @@
+CVE-2007-5116 perl regular expression UTF parsing errors
+https://bugzilla.redhat.com/show_bug.cgi?id=323571
+
+--- regcomp.c 2006-01-08 12:59:27.000000000 -0800
++++ regcomp.c 2007-10-05 12:07:55.000000000 -0700
+@@ -135,7 +135,8 @@
+ I32 extralen;
+ I32 seen_zerolen;
+ I32 seen_evals;
+- I32 utf8;
++ I32 utf8; /* pattern is utf8 or not */
++ I32 orig_utf8; /* pattern was originally utf8 */
+ #if ADD_TO_REGEXEC
+ char *starttry; /* -Dr: where regtry was called. */
+ #define RExC_starttry (pRExC_state->starttry)
+@@ -161,6 +162,7 @@
+ #define RExC_seen_zerolen (pRExC_state->seen_zerolen)
+ #define RExC_seen_evals (pRExC_state->seen_evals)
+ #define RExC_utf8 (pRExC_state->utf8)
++#define RExC_orig_utf8 (pRExC_state->orig_utf8)
+
+ #define ISMULT1(c) ((c) == '*' || (c) == '+' || (c) == '?')
+ #define ISMULT2(s) ((*s) == '*' || (*s) == '+' || (*s) == '?' || \
+@@ -1749,15 +1751,17 @@
+ if (exp == NULL)
+ FAIL("NULL regexp argument");
+
+- RExC_utf8 = pm->op_pmdynflags & PMdf_CMP_UTF8;
++ RExC_orig_utf8 = RExC_utf8 = pm->op_pmdynflags & PMdf_CMP_UTF8;
+
+- RExC_precomp = exp;
+ DEBUG_r({
+ if (!PL_colorset) reginitcolors();
+ PerlIO_printf(Perl_debug_log, "%sCompiling REx%s `%s%*s%s'\n",
+ PL_colors[4],PL_colors[5],PL_colors[0],
+- (int)(xend - exp), RExC_precomp, PL_colors[1]);
++ (int)(xend - exp), exp, PL_colors[1]);
+ });
++
++redo_first_pass:
++ RExC_precomp = exp;
+ RExC_flags = pm->op_pmflags;
+ RExC_sawback = 0;
+
+@@ -1783,6 +1787,17 @@
+ RExC_precomp = Nullch;
+ return(NULL);
+ }
++ if (RExC_utf8 && !RExC_orig_utf8) {
++ STRLEN len = xend-exp;
++ DEBUG_r(PerlIO_printf(Perl_debug_log,
++ "UTF8 mismatch! Converting to utf8 for resizing and compile\n"));
++ exp = (char*)Perl_bytes_to_utf8(aTHX_ (U8*)exp, &len);
++ xend = exp + len;
++ RExC_orig_utf8 = RExC_utf8;
++ SAVEFREEPV(exp);
++ goto redo_first_pass;
++ }
++
diff --git a/abs/core/perl/perl.install b/abs/core/perl/perl.install
new file mode 100644
index 0000000..f0ff3fb
--- /dev/null
+++ b/abs/core/perl/perl.install
@@ -0,0 +1,54 @@
+# arg 1: the new package version
+post_install() {
+ for ver in 5.8.{0,1,2,3,4,5,6,7,8}; do
+ [ -h usr/lib/perl5/$ver ] && rm usr/lib/perl5/$ver
+ [ -h usr/lib/perl5/site_perl/$ver ] && rm usr/lib/perl5/site_perl/$ver
+ [ -h usr/bin/perl$ver ] && rm usr/bin/perl$ver
+ done
+
+ echo
+ echo " This version of perl follows the new perl directory hierarchy (see"
+ echo " http://wiki.archlinux.org/index.php/Perl_Policy)."
+ echo
+ echo " - The perl package and its modules install in the core_perl directories"
+ echo " - Perl modules provided by Arch Linux install in vendor_perl directories"
+ echo " - CPAN/CPANPLUS installs should be placed in site_perl directories"
+ echo " - Older modules in the 'current' directory should still work"
+ echo " - Programs with embedded perl interpreters need to be rebuilt"
+ echo
+ echo " Users of the CPAN or CPANPLUS shells should modify the configuration"
+ echo " to use the site_perl directories. Under the CPAN shell use:"
+ echo " o conf makepl_arg INSTALLDIRS=site"
+ echo " o conf mbuildpl_arg installdirs=site"
+ echo " Under the CPANPLUS shell:"
+ echo " s conf buildflags installdirs=site"
+ echo " s conf makemakerflags INSTALLDIRS=site"
+ echo " Then save the configuration."
+ echo
+ echo " The following official packages can be removed since the modules are"
+ echo " now included in the standard perl library:"
+ echo " perl-archive-tar perl-compress-raw-zlib perl-compress-zlib"
+ echo " perl-extutils-cbuilder perl-io-compress-base perl-io-compress-zlib"
+ echo " perl-io-zlib perl-module-pluggable perl-pod-escapes perl-pod-simple"
+ echo " perl-module-build perl-version"
+ echo
+ echo " These community packages are also included in the standard perl library:"
+ echo " perl-archive-extract perl-cpanplus perl-digest-sha perl-file-fetch"
+ echo " perl-extutils-parsexs perl-ipc-cmd perl-locale-maketext-simple"
+ echo " perl-log-message perl-log-message-simple perl-module-corelist"
+ echo " perl-module-load perl-module-load-conditional perl-module-loaded"
+ echo " perl-module-pluggable perl-object-accessor perl-params-check"
+ echo " perl-term-ui perl-time-piece"
+ echo
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+post_upgrade() {
+ post_install
+}
+
+op=$1
+shift
+
+$op $*
diff --git a/abs/core/perl/perlbin.sh b/abs/core/perl/perlbin.sh
new file mode 100755
index 0000000..49aeb2d
--- /dev/null
+++ b/abs/core/perl/perlbin.sh
@@ -0,0 +1,2 @@
+# Set path to perl scripts.
+export PATH="${PATH}:/usr/bin/perlbin/site:/usr/bin/perlbin/vendor:/usr/bin/perlbin/core"