summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhans <hans@pkgsrc.org>2011-03-03 18:02:53 +0000
committerhans <hans@pkgsrc.org>2011-03-03 18:02:53 +0000
commit727feac37dba4acef8de9e7dfaaa52addb5cf34d (patch)
treeeb9ad2a1b841f029c75aa5b38aa3ece49f6f5533
parente13183e61d153519baf667516ec656e8aaa3d7d3 (diff)
downloadpkgsrc-727feac37dba4acef8de9e7dfaaa52addb5cf34d.tar.gz
Add patches to fix build on NetBSD 5.99.41 and newer (pkg/44598).
Patches came from Kai-Uwe Eckhardt.
-rw-r--r--lang/gcc44/distinfo7
-rw-r--r--lang/gcc44/patches/patch-ah11
-rw-r--r--lang/gcc44/patches/patch-ai20
-rw-r--r--lang/gcc44/patches/patch-aj39
-rw-r--r--lang/gcc44/patches/patch-ak12
-rw-r--r--lang/gcc44/patches/patch-al14
6 files changed, 102 insertions, 1 deletions
diff --git a/lang/gcc44/distinfo b/lang/gcc44/distinfo
index 3c286af52e5..261e5b7414c 100644
--- a/lang/gcc44/distinfo
+++ b/lang/gcc44/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.5 2011/02/25 13:34:56 hans Exp $
+$NetBSD: distinfo,v 1.6 2011/03/03 18:02:53 hans Exp $
SHA1 (gcc-4.4.5.tar.bz2) = 2b1427a932a620c909d74f1e4821ed90c90fd350
RMD160 (gcc-4.4.5.tar.bz2) = 87d6fa77d50f23a3359e24bf5b0ddfafa7088478
@@ -10,3 +10,8 @@ SHA1 (patch-ad) = 86dc05e6ea977ad869e5d63beb493750ab01a807
SHA1 (patch-ae) = 831481496b5b5f246f51d9a4fe9314f07f81a842
SHA1 (patch-af) = 12f58f01e973f5684e8443ab402a70291bb6d621
SHA1 (patch-ag) = 077bed181ee4bad36eb23c817a1708950b69a1ad
+SHA1 (patch-ah) = f931e56bdc9aac160d5320f33c3af3b0d76c6d22
+SHA1 (patch-ai) = a7329ed9f8bb533c4bf0c2f4cc97b6c49d737148
+SHA1 (patch-aj) = 65ba5e1160a3c5934a7098db2f870fa5db63a267
+SHA1 (patch-ak) = 891dab9be4f76fef17027c70daee3afcfb720fee
+SHA1 (patch-al) = 7b21a8968302a3da1c4cfd881cfe8eac1341fa11
diff --git a/lang/gcc44/patches/patch-ah b/lang/gcc44/patches/patch-ah
new file mode 100644
index 00000000000..211cd315125
--- /dev/null
+++ b/lang/gcc44/patches/patch-ah
@@ -0,0 +1,11 @@
+--- libgfortran/intrinsics/c99_functions.c.orig 2009-04-10 01:23:07.000000000 +0200
++++ libgfortran/intrinsics/c99_functions.c
+@@ -538,7 +538,7 @@
+ if (x > DBL_MAX || x < -DBL_MAX)
+ {
+ #ifdef HAVE_NEXTAFTERL
+- static long double prechalf = nexafterl (0.5L, LDBL_MAX);
++ long double prechalf = nextafterl (0.5L, LDBL_MAX);
+ #else
+ static long double prechalf = 0.5L;
+ #endif
diff --git a/lang/gcc44/patches/patch-ai b/lang/gcc44/patches/patch-ai
new file mode 100644
index 00000000000..dacbe969345
--- /dev/null
+++ b/lang/gcc44/patches/patch-ai
@@ -0,0 +1,20 @@
+--- gcc/fortran/f95-lang.c.orig 2010-04-21 23:26:11.000000000 +0200
++++ gcc/fortran/f95-lang.c
+@@ -871,10 +871,17 @@
+
+ gfc_define_builtin ("__builtin_cabsl", func_clongdouble_longdouble,
+ BUILT_IN_CABSL, "cabsl", true);
++#if defined (__NetBSD__)
++ gfc_define_builtin ("__builtin_cabs", func_cdouble_double,
++ BUILT_IN_CABS, "__c99_cabs", true);
++ gfc_define_builtin ("__builtin_cabsf", func_cfloat_float,
++ BUILT_IN_CABSF, "__c99_cabsf", true);
++#else
+ gfc_define_builtin ("__builtin_cabs", func_cdouble_double,
+ BUILT_IN_CABS, "cabs", true);
+ gfc_define_builtin ("__builtin_cabsf", func_cfloat_float,
+ BUILT_IN_CABSF, "cabsf", true);
++#endif
+
+ gfc_define_builtin ("__builtin_copysignl", mfunc_longdouble[1],
+ BUILT_IN_COPYSIGNL, "copysignl", true);
diff --git a/lang/gcc44/patches/patch-aj b/lang/gcc44/patches/patch-aj
new file mode 100644
index 00000000000..df99ab51b12
--- /dev/null
+++ b/lang/gcc44/patches/patch-aj
@@ -0,0 +1,39 @@
+--- libstdc++-v3/config/os/bsd/netbsd/ctype_base.h.orig 2009-04-10 01:23:07.000000000 +0200
++++ libstdc++-v3/config/os/bsd/netbsd/ctype_base.h 2011-03-03 13:57:27.000000000 +0100
+@@ -30,6 +30,8 @@
+ // Full details can be found from the CVS files at:
+ // anoncvs@anoncvs.netbsd.org:/cvsroot/basesrc/include/ctype.h
+ // See www.netbsd.org for details of access.
++
++#include <sys/param.h>
+
+ _GLIBCXX_BEGIN_NAMESPACE(std)
+
+@@ -42,6 +44,19 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
+ // NB: Offsets into ctype<char>::_M_table force a particular size
+ // on the mask type. Because of this, we don't use an enum.
+ typedef unsigned char mask;
++#if __NetBSD_Version__ >= 599004100
++ static const mask upper = _CTYPE_U;
++ static const mask lower = _CTYPE_L;
++ static const mask alpha = _CTYPE_U | _CTYPE_L;
++ static const mask digit = _CTYPE_N;
++ static const mask xdigit = _CTYPE_N | _CTYPE_X;
++ static const mask space = _CTYPE_S;
++ static const mask print = _CTYPE_P | _CTYPE_U | _CTYPE_L | _CTYPE_N | _CTYPE_B;
++ static const mask graph = _CTYPE_P | _CTYPE_U | _CTYPE_L | _CTYPE_N;
++ static const mask cntrl = _CTYPE_C;
++ static const mask punct = _CTYPE_P;
++ static const mask alnum = _CTYPE_U | _CTYPE_L | _CTYPE_N;
++#else
+ static const mask upper = _U;
+ static const mask lower = _L;
+ static const mask alpha = _U | _L;
+@@ -53,6 +68,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
+ static const mask cntrl = _C;
+ static const mask punct = _P;
+ static const mask alnum = _U | _L | _N;
++#endif
+ };
+
+ _GLIBCXX_END_NAMESPACE
diff --git a/lang/gcc44/patches/patch-ak b/lang/gcc44/patches/patch-ak
new file mode 100644
index 00000000000..391ef4bf04c
--- /dev/null
+++ b/lang/gcc44/patches/patch-ak
@@ -0,0 +1,12 @@
+--- libjava/configure.host.orig 2011-02-25 16:07:42.000000000 +0100
++++ libjava/configure.host
+@@ -310,6 +310,9 @@
+ *-*-freebsd*)
+ slow_pthread_self=
+ ;;
++ *-*-netbsd*)
++ slow_pthread_self=
++ ;;
+ *-mingw*)
+ libgcj_flags="${libgcj_flags} -fno-omit-frame-pointer"
+ # FIXME: win32_exception_handler( ) in win32.cc does not do the
diff --git a/lang/gcc44/patches/patch-al b/lang/gcc44/patches/patch-al
new file mode 100644
index 00000000000..b6174a620f8
--- /dev/null
+++ b/lang/gcc44/patches/patch-al
@@ -0,0 +1,14 @@
+--- libjava/configure.ac.orig 2011-02-25 16:08:27.000000000 +0100
++++ libjava/configure.ac
+@@ -1011,6 +1011,11 @@
+ THREADLDFLAGS=-pthread
+ THREADSPEC=-lpthread
+ ;;
++ *-*-netbsd*)
++ # NetBSD should work with pthread.
++ THREADLDFLAGS=-pthread
++ THREADSPEC=-lpthread
++ ;;
+ alpha*-dec-osf* | hppa*-hp-hpux*)
+ THREADCXXFLAGS=-pthread
+ # boehm-gc needs some functions from librt, so link that too.