summaryrefslogtreecommitdiff
path: root/lang
diff options
context:
space:
mode:
authordmcmahill <dmcmahill>2007-02-06 19:12:09 +0000
committerdmcmahill <dmcmahill>2007-02-06 19:12:09 +0000
commitd3cc8532e7c838b087ec44df0994d6dc204e1349 (patch)
tree3db92c53901a8be7fc9b016eb515544b56161305 /lang
parent7d5e21979b6459988ed9a88e774286b29552bfad (diff)
downloadpkgsrc-d3cc8532e7c838b087ec44df0994d6dc204e1349.tar.gz
Commit the patch from PR pkg/35319 which should fix perl compilation on
newer versions (11) of solaris. Verified that the 'bmake test' output is unchanged on 32-bit solaris-2.9/sparc.
Diffstat (limited to 'lang')
-rw-r--r--lang/perl5/Makefile4
-rw-r--r--lang/perl5/distinfo3
-rw-r--r--lang/perl5/patches/patch-ac42
3 files changed, 46 insertions, 3 deletions
diff --git a/lang/perl5/Makefile b/lang/perl5/Makefile
index 310570ba3e0..dbdaa989fbc 100644
--- a/lang/perl5/Makefile
+++ b/lang/perl5/Makefile
@@ -1,7 +1,7 @@
-# $NetBSD: Makefile,v 1.126 2007/01/19 14:59:06 rillig Exp $
+# $NetBSD: Makefile,v 1.127 2007/02/06 19:12:09 dmcmahill Exp $
DISTNAME= perl-5.8.8
-PKGREVISION= 3
+PKGREVISION= 4
CATEGORIES= lang devel perl5
MASTER_SITES= ${MASTER_SITE_PERL_CPAN:S,/modules/by-module/$,/src/,}
EXTRACT_SUFX= .tar.bz2
diff --git a/lang/perl5/distinfo b/lang/perl5/distinfo
index 6ef111bd7fb..c5d383f57e7 100644
--- a/lang/perl5/distinfo
+++ b/lang/perl5/distinfo
@@ -1,10 +1,11 @@
-$NetBSD: distinfo,v 1.39 2006/11/03 07:09:45 joerg Exp $
+$NetBSD: distinfo,v 1.40 2007/02/06 19:12:09 dmcmahill Exp $
SHA1 (perl-5.8.8.tar.bz2) = 4aab490040727ca4419098720eca2ba4367df539
RMD160 (perl-5.8.8.tar.bz2) = e78f26d9b96e6db35f946ad4ff55e3a69385c71b
Size (perl-5.8.8.tar.bz2) = 10123359 bytes
SHA1 (patch-aa) = 9b6844635086206dc7740103747a2b54bf987941
SHA1 (patch-ab) = e32427327192f023477b16f29bc55fdf4f057410
+SHA1 (patch-ac) = 428e0757495b82a47ec092a71333fb3ec366f14f
SHA1 (patch-ae) = 044ac094cd475a16483552aa6f1bde03bd11f592
SHA1 (patch-ah) = 39b1a46a0ee5e73b4707a3d947fe17016df9630a
SHA1 (patch-am) = cf1687063d0c0542e811545aaaad291bad12d75e
diff --git a/lang/perl5/patches/patch-ac b/lang/perl5/patches/patch-ac
new file mode 100644
index 00000000000..43fbb73985a
--- /dev/null
+++ b/lang/perl5/patches/patch-ac
@@ -0,0 +1,42 @@
+$NetBSD: patch-ac,v 1.10 2007/02/06 19:12:10 dmcmahill Exp $
+
+See NetBSD PR pkg/35319
+
+It appears that the same patch has or will find its way into
+the upstream sources.
+
+--- perlio.c.orig 2006-12-25 15:11:04.108986000 +0100
++++ perlio.c
+@@ -2874,31 +2874,7 @@ PerlIOStdio_invalidate_fileno(pTHX_ FILE
+ f->_fileno = -1;
+ return 1;
+ # elif defined(__sun__)
+-# if defined(_LP64)
+- /* On solaris, if _LP64 is defined, the FILE structure is this:
+- *
+- * struct FILE {
+- * long __pad[16];
+- * };
+- *
+- * It turns out that the fd is stored in the top 32 bits of
+- * file->__pad[4]. The lower 32 bits contain flags. file->pad[5] appears
+- * to contain a pointer or offset into another structure. All the
+- * remaining fields are zero.
+- *
+- * We set the top bits to -1 (0xFFFFFFFF).
+- */
+- f->__pad[4] |= 0xffffffff00000000L;
+- assert(fileno(f) == 0xffffffff);
+-# else /* !defined(_LP64) */
+- /* _file is just a unsigned char :-(
+- Not clear why we dup() rather than using -1
+- even if that would be treated as 0xFF - so will
+- a dup fail ...
+- */
+- f->_file = PerlLIO_dup(fileno(f));
+-# endif /* defined(_LP64) */
+- return 1;
++ return 0;
+ # elif defined(__hpux)
+ f->__fileH = 0xff;
+ f->__fileL = 0xff;