86f9268481
for many "core" modules, UTF-8 and Unicode bugfixes, and ithreads bugfixes. The major changes are in the pkgsrc infrastructure to handle Perl and Perl modules. All pkgsrc-installed Perl modules are now installed in "vendor" directories, and the perl interpreter has been modifed to search for libraries in the following order: site, vendor, perl. The Perl library is stored in a directory that is named for the Perl ABI version associated with the Perl release, so any updates of Perl to newer versions can be done "in-place" as long as Perl ABI version remains the same. All Perl scripts and man pages are stored in locations that won't conflict between site, vendor, and perl modules, and a new utility perllink(1) now manages symlinks to those scripts and man pages under the usual ${LOCALBASE}/bin and ${LOCALBASE}/man/man1. PERL5_SITEPREFIX may be set to the prefix where local, site-specific modules will be installed, e.g. PERL5_SITEPREFIX=/usr/local. Note that modules installed here are completely unmanaged by pkgsrc. Update the buildlink and tool dependencies on perl to require perl>=5.8.7 to reflect the new locations for Perl modules and the Perl shared library.
91 lines
2.6 KiB
Text
91 lines
2.6 KiB
Text
$NetBSD: patch-ah,v 1.7 2005/08/06 06:18:45 jlam Exp $
|
|
|
|
--- perl.c.orig 2005-04-22 10:14:27.000000000 -0400
|
|
+++ perl.c
|
|
@@ -4391,45 +4391,12 @@ S_init_perllib(pTHX)
|
|
}
|
|
|
|
/* Use the ~-expanded versions of APPLLIB (undocumented),
|
|
- ARCHLIB PRIVLIB SITEARCH SITELIB VENDORARCH and VENDORLIB
|
|
+ SITEARCH SITELIB VENDORARCH VENDORLIB ARCHLIB and PRIVLIB
|
|
*/
|
|
#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 */
|
|
@@ -4471,6 +4438,39 @@ S_init_perllib(pTHX)
|
|
incpush(PERL_VENDORLIB_STEM, FALSE, 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 PERL_OTHERLIBDIRS
|
|
incpush(PERL_OTHERLIBDIRS, TRUE, TRUE, TRUE);
|
|
#endif
|