You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

184 lines
5.9 KiB

By default, the "vendor" area is not used, so Perl's installation
procedure forgot to create its top-level paths, too. In OpenPKG we use
the "vendor" area, so make sure it is created the same way the "site"
area is.
Index: installperl
--- installperl.orig 2003-09-02 15:40:21.000000000 +0200
+++ installperl 2003-09-26 09:23:15.000000000 +0200
@@ -189,6 +189,8 @@
my $installarchlib = "$destdir$Config{installarchlib}";
my $installsitelib = "$destdir$Config{installsitelib}";
my $installsitearch = "$destdir$Config{installsitearch}";
+my $installvendorlib = "$destdir$Config{installvendorlib}";
+my $installvendorarch = "$destdir$Config{installvendorarch}";
my $installman1dir = "$destdir$Config{installman1dir}";
my $man1ext = $Config{man1ext};
my $libperl = $Config{libperl};
@@ -379,6 +381,8 @@
mkpath($installarchlib, $verbose, 0777);
mkpath($installsitelib, $verbose, 0777) if ($installsitelib);
mkpath($installsitearch, $verbose, 0777) if ($installsitearch);
+mkpath($installvendorlib, $verbose, 0777) if ($installvendorlib);
+mkpath($installvendorarch, $verbose, 0777) if ($installvendorarch);
if (chdir "lib") {
$do_installarchlib = ! samepath($installarchlib, '.');
-----------------------------------------------------------------------------
By default, the Perl module search order is "use lib, -I, PERL[5]LIB,
perl, site, vendor, other". This means that in OpenPKG both the modules
installed via CPAN shell (in "site" area) and the "perl-xxx" packages
(in "vendor" area) cannot override the (sometimes obsoleted) module
versions distributed with Perl (in "perl" area). Hence, we change
the search order to a more reasonable one for OpenPKG: "use lib, -I,
PERL[5]LIB, site, vendor, perl, other".
Index: perl.c
--- perl.c.orig 2003-09-11 23:42:33.000000000 +0200
+++ perl.c 2003-09-26 09:25:11.000000000 +0200
@@ -3978,39 +3978,6 @@
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 */
@@ -4052,6 +4019,39 @@
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
-----------------------------------------------------------------------------
Port to [Open]Darwin 6.6.2:
1. In OpenPKG, Perl does not use the vendor GCC and our GCC does not
understand "-no-cpp-precomp", so remove this build option.
2. The <sys/mman.h> indirectly includes system specific headers
which in turn have fields named "environ" while Perl uses
a define of "environ" internally. So wrap the inclusion.
3. Darwin 6 no longer accepts the non-standard "#import" statements,
so replace with "#include" and circumvent some header problem
related to the non-standard "__private_extern__" attribute.
Index: hints/darwin.sh
--- hints/darwin.sh.orig 2003-09-02 15:40:19.000000000 +0200
+++ hints/darwin.sh 2003-10-28 16:40:57.000000000 +0100
@@ -121,9 +121,6 @@
*-2147483648) ccflags="${ccflags} -DINT32_MIN_BROKEN -DINT64_MIN_BROKEN" ;;
esac
-# Avoid Apple's cpp precompiler, better for extensions
-cppflags="${cppflags} -no-cpp-precomp"
-
# This is necessary because perl's build system doesn't
# apply cppflags to cc compile lines as it should.
ccflags="${ccflags} ${cppflags}"
Index: perlio.c
--- perlio.c.orig 2003-09-24 22:50:22.000000000 +0200
+++ perlio.c 2003-10-28 17:03:59.000000000 +0100
@@ -432,7 +432,14 @@
#include <unistd.h>
#endif
#ifdef HAS_MMAP
+#ifdef PERL_DARWIN
+#define environ_safe environ
+#undef environ
#include <sys/mman.h>
+#define environ environ_safe
+#else
+#include <sys/mman.h>
+#endif
#endif
/*
Index: ext/DynaLoader/dl_dyld.xs
--- ext/DynaLoader/dl_dyld.xs.orig 2003-09-02 15:39:27.000000000 +0200
+++ ext/DynaLoader/dl_dyld.xs 2003-10-28 17:07:31.000000000 +0100
@@ -45,7 +45,13 @@
#undef environ
#undef bool
+#ifdef PERL_DARWIN
+#define __private_extern__ extern
+#include <mach-o/dyld.h>
+#undef __private_extern__
+#else
#import <mach-o/dyld.h>
+#endif
static char *dlerror()
{