summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lang/perl5-base/Makefile8
-rw-r--r--lang/perl5-base/files/patch-sum5
-rw-r--r--lang/perl5-base/patches/patch-ag28
-rw-r--r--lang/perl5-base/patches/patch-ah12
-rw-r--r--lang/perl5-base/patches/patch-ai36
5 files changed, 81 insertions, 8 deletions
diff --git a/lang/perl5-base/Makefile b/lang/perl5-base/Makefile
index a057549179e..6084776dff2 100644
--- a/lang/perl5-base/Makefile
+++ b/lang/perl5-base/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.1.1.1 2000/09/05 09:18:21 jlam Exp $
+# $NetBSD: Makefile,v 1.2 2000/11/08 08:28:00 martin Exp $
# FreeBSD Id: Makefile,v 1.20 1997/07/18 06:16:44 markm Exp
#
@@ -20,12 +20,6 @@ CONFIGURE_ARGS+= -sde -Dprefix=${PREFIX} -Doptimize="${CFLAGS}" \
-Dcc=gcc -Dusemymalloc=false
MAKE_ENV+= LD_LIBRARY_PATH=${WRKSRC}
-.if exists(/usr/libexec/ld.so) || exists(/usr/libexec/ld.elf_so)
-CONFIGURE_ARGS+= -Duseshrplib=true
-.else
-CONFIGURE_ARGS+= -Duseshrplib=false
-.endif
-
.include "../../mk/bsd.prefs.mk"
.if ${OPSYS} == "SunOS"
diff --git a/lang/perl5-base/files/patch-sum b/lang/perl5-base/files/patch-sum
index 4c50434c1d2..97acc50ca6d 100644
--- a/lang/perl5-base/files/patch-sum
+++ b/lang/perl5-base/files/patch-sum
@@ -1,4 +1,4 @@
-$NetBSD: patch-sum,v 1.1.1.1 2000/09/05 09:18:21 jlam Exp $
+$NetBSD: patch-sum,v 1.2 2000/11/08 08:28:00 martin Exp $
MD5 (patch-aa) = 22d1a3a613210ca5f129c81449eab10b
MD5 (patch-ab) = 032835dd7aaab9ee4531e7e6e83ffba5
@@ -6,3 +6,6 @@ MD5 (patch-ac) = ddd3e3b08afdc062c78f26175e4fcc44
MD5 (patch-ad) = 76f075f7badc7dcc5a315b3c2a82657c
MD5 (patch-ae) = 197b8ed09f99be86865c0d6d66927e96
MD5 (patch-af) = 16d95e0667ef104d0dba4a61531d5b11
+MD5 (patch-ag) = a2e03195dab858bf57005a63043ca355
+MD5 (patch-ah) = 450115a339f77225d07d09e8554d41a9
+MD5 (patch-ai) = 27f1ec73c9eadd3252c7a7d37f2e0e11
diff --git a/lang/perl5-base/patches/patch-ag b/lang/perl5-base/patches/patch-ag
new file mode 100644
index 00000000000..552f0fc779b
--- /dev/null
+++ b/lang/perl5-base/patches/patch-ag
@@ -0,0 +1,28 @@
+$NetBSD: patch-ag,v 1.1 2000/11/08 08:28:00 martin Exp $
+
+--- hints/netbsd.sh.orig Sun Feb 6 15:57:09 2000
++++ hints/netbsd.sh Wed Nov 8 08:26:20 2000
+@@ -63,6 +63,23 @@
+ '') usevfork=true ;;
+ esac
+
++# Using perl's malloc leads to trouble on some toolchain versions...
++test "$usemymalloc" || usemymalloc='n'
++
++# The toolchain on sparc64 is not realy production quality right now,
++# but gcc 2.96 is supposed to fix most problems.
++# The -g triggers -DDEBUGGING, which plays the real trick and circumvents
++# code generation bugs. So we add -g everywhere, to at least have a
++# realy debuggable build.
++if [ "`uname -m`" = "sparc64" ]; then
++ if $cc -v 2>&1 | grep "gcc version" | grep "2.95.2" > /dev/null; then
++ ccdlflags="-g $ccdlflags"
++ cccdlflags="-g $cccdlflags"
++ lddlflags="-g $lddlflags"
++ optimize='-g -msoft-quad-float -O2 -DGCC2952_SPARC64_WORKAROUND'
++ fi
++fi
++
+ # Pre-empt the /usr/bin/perl question of installperl.
+ installusrbinperl='n'
+
diff --git a/lang/perl5-base/patches/patch-ah b/lang/perl5-base/patches/patch-ah
new file mode 100644
index 00000000000..373b892b9db
--- /dev/null
+++ b/lang/perl5-base/patches/patch-ah
@@ -0,0 +1,12 @@
+$NetBSD: patch-ah,v 1.1 2000/11/08 08:28:01 martin Exp $
+
+--- regcomp.c.orig Tue Mar 14 23:19:44 2000
++++ regcomp.c Wed Nov 8 01:23:19 2000
+@@ -669,6 +669,7 @@
+ regnode *oscan = scan;
+ struct regnode_charclass_class this_class;
+ struct regnode_charclass_class *oclass = NULL;
++ pos_before = 1;
+
+ switch (PL_regkind[(U8)OP(scan)]) {
+ case WHILEM: /* End of (?:...)* . */
diff --git a/lang/perl5-base/patches/patch-ai b/lang/perl5-base/patches/patch-ai
new file mode 100644
index 00000000000..dfd1859610f
--- /dev/null
+++ b/lang/perl5-base/patches/patch-ai
@@ -0,0 +1,36 @@
+$NetBSD: patch-ai,v 1.1 2000/11/08 08:28:01 martin Exp $
+
+--- pp.c.orig Mon Mar 20 16:35:44 2000
++++ pp.c Mon Nov 6 23:07:51 2000
+@@ -1834,6 +1834,16 @@
+ }
+ }
+
++#ifdef GCC2952_SPARC64_WORKAROUND
++double myLocalModf(double theVal, double * theIntRes)
++{
++ double res, ret;
++ ret = modf(theVal, &res);
++ *theIntRes = res;
++ return ret;
++}
++#endif
++
+ PP(pp_int)
+ {
+ djSP; dTARGET;
+@@ -1846,8 +1856,13 @@
+ SETi(iv);
+ }
+ else {
+- if (value >= 0.0)
++ if (value >= 0.0) {
++#ifdef GCC2952_SPARC64_WORKAROUND
++ (void)myLocalModf(value, &value);
++#else
+ (void)Perl_modf(value, &value);
++#endif
++ }
+ else {
+ (void)Perl_modf(-value, &value);
+ value = -value;