summaryrefslogtreecommitdiff
path: root/lang
diff options
context:
space:
mode:
authorapb <apb@pkgsrc.org>2008-01-08 15:19:38 +0000
committerapb <apb@pkgsrc.org>2008-01-08 15:19:38 +0000
commit71e9b52b3a7ca3a263287a3d3492cca03f687e15 (patch)
tree1ec71e6c3a6234ca126f339b6c5e81b158578cbe /lang
parent2e4ede884aa938d4080a5da4dacc8ad2cd4762b9 (diff)
downloadpkgsrc-71e9b52b3a7ca3a263287a3d3492cca03f687e15.tar.gz
NetBSD's /proc/${pid}/exe is sometimes a symlink to "/" instead of to the
actual program name, so Perl's $^X or $EXECUTABLE_NAME variable was wrong. Change a test to detect this case, and fall back to using argv[0].
Diffstat (limited to 'lang')
-rw-r--r--lang/perl5/distinfo4
-rw-r--r--lang/perl5/patches/patch-ah20
2 files changed, 18 insertions, 6 deletions
diff --git a/lang/perl5/distinfo b/lang/perl5/distinfo
index 08adf5d2d5c..b8b51d517c2 100644
--- a/lang/perl5/distinfo
+++ b/lang/perl5/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.43 2007/11/06 19:54:53 drochner Exp $
+$NetBSD: distinfo,v 1.44 2008/01/08 15:19:38 apb Exp $
SHA1 (perl-5.8.8.tar.bz2) = 4aab490040727ca4419098720eca2ba4367df539
RMD160 (perl-5.8.8.tar.bz2) = e78f26d9b96e6db35f946ad4ff55e3a69385c71b
@@ -7,7 +7,7 @@ SHA1 (patch-aa) = 9b6844635086206dc7740103747a2b54bf987941
SHA1 (patch-ab) = e32427327192f023477b16f29bc55fdf4f057410
SHA1 (patch-ac) = 428e0757495b82a47ec092a71333fb3ec366f14f
SHA1 (patch-ae) = 891e8d1cfbd69a63827239b4e04d84aac8fd795c
-SHA1 (patch-ah) = 39b1a46a0ee5e73b4707a3d947fe17016df9630a
+SHA1 (patch-ah) = 25443063c26287b1b8130c53d5c9d92248d4c0d1
SHA1 (patch-am) = cf1687063d0c0542e811545aaaad291bad12d75e
SHA1 (patch-an) = 987763c3098bf4356993dd6d8741962a1ff8190d
SHA1 (patch-ap) = 178d6909a8aa6544b849c2b63530fcf1893b77ea
diff --git a/lang/perl5/patches/patch-ah b/lang/perl5/patches/patch-ah
index 1f61459b23b..1df9b22841f 100644
--- a/lang/perl5/patches/patch-ah
+++ b/lang/perl5/patches/patch-ah
@@ -1,8 +1,20 @@
-$NetBSD: patch-ah,v 1.8 2006/04/09 06:34:32 jlam Exp $
+$NetBSD: patch-ah,v 1.9 2008/01/08 15:19:39 apb Exp $
---- perl.c.orig 2006-01-31 07:34:47.000000000 -0500
+--- perl.c.orig 2006-01-31 12:34:47.000000000 +0000
+++ perl.c
-@@ -4770,45 +4770,12 @@ S_init_perllib(pTHX)
+@@ -4615,8 +4615,10 @@ S_procself_val(pTHX_ SV *sv, char *arg0)
+ to the executable (or returning an error from the readlink). Any valid
+ path has a '/' in it somewhere, so use that to validate the result.
+ See http://www.freebsd.org/cgi/query-pr.cgi?pr=35703
++
++ NetBSD's implementation sometimes returns "/"; reject that too.
+ */
+- if (len > 0 && memchr(buf, '/', len)) {
++ if (len > 1 && memchr(buf, '/', len)) {
+ sv_setpvn(sv,buf,len);
+ }
+ else {
+@@ -4770,45 +4772,12 @@ S_init_perllib(pTHX)
}
/* Use the ~-expanded versions of APPLLIB (undocumented),
@@ -49,7 +61,7 @@ $NetBSD: patch-ah,v 1.8 2006/04/09 06:34:32 jlam Exp $
#ifdef SITEARCH_EXP
/* sitearch is always relative to sitelib on Windows for
* DLL-based path intuition to work correctly */
-@@ -4850,6 +4817,39 @@ S_init_perllib(pTHX)
+@@ -4850,6 +4819,39 @@ S_init_perllib(pTHX)
incpush(PERL_VENDORLIB_STEM, FALSE, TRUE, TRUE);
#endif