aboutsummaryrefslogtreecommitdiff
path: root/lang
diff options
context:
space:
mode:
authorDmitry Marakasov <amdmi3@FreeBSD.org>2009-03-18 12:29:53 +0000
committerDmitry Marakasov <amdmi3@FreeBSD.org>2009-03-18 12:29:53 +0000
commit666567ceba66d51a36e1b189fe107ae4e6cc52d5 (patch)
tree31a8b788cdcf98a5dc6e9b80b71dd979d14ee94a /lang
parentbe3a678fba94518cbe70ea5b0d95a79719b85b70 (diff)
downloadports-666567ceba66d51a36e1b189fe107ae4e6cc52d5.tar.gz
ports-666567ceba66d51a36e1b189fe107ae4e6cc52d5.zip
Notes
Diffstat (limited to 'lang')
-rw-r--r--lang/gdc/Makefile4
-rw-r--r--lang/gdc/files/extra-patch-gcc-d-phobos-std-math.d76
2 files changed, 78 insertions, 2 deletions
diff --git a/lang/gdc/Makefile b/lang/gdc/Makefile
index e6578574cabc..cf2478b0e3a5 100644
--- a/lang/gdc/Makefile
+++ b/lang/gdc/Makefile
@@ -49,8 +49,8 @@ GDC_INC= ${PREFIX}/include/d/${GCC_VERSION}
.include <bsd.port.pre.mk>
-.if ${OSVERSION} >= 800000
-BROKEN= fails to link any executables on 8.x
+.if ${OSVERSION} >= 800041
+EXTRA_PATCHES+= ${FILESDIR}/extra-patch-gcc-d-phobos-std-math.d
.endif
.ifndef TARGET_GCC
diff --git a/lang/gdc/files/extra-patch-gcc-d-phobos-std-math.d b/lang/gdc/files/extra-patch-gcc-d-phobos-std-math.d
new file mode 100644
index 000000000000..a0afce7c7080
--- /dev/null
+++ b/lang/gdc/files/extra-patch-gcc-d-phobos-std-math.d
@@ -0,0 +1,76 @@
+--- gcc/d/phobos/std/math.d.orig 2007-03-09 05:02:35.000000000 +0300
++++ gcc/d/phobos/std/math.d 2009-03-18 05:04:19.000000000 +0300
+@@ -638,8 +638,6 @@
+ * )
+ */
+
+-version (GNU_msvcrt_math) { /* nothing */ } else
+-real expm1(real x) { return std.c.math.expm1l(x); }
+
+
+ /*********************************************************************
+@@ -842,7 +840,6 @@
+ * )
+ */
+
+-real log1p(real x) { return std.c.math.log1pl(x); }
+
+ /***************************************
+ * Calculates the base-2 logarithm of x:
+@@ -922,7 +919,6 @@
+ * <tr> <td> &plusmn;&infin; <td> &plusmn;&infin; <td> no
+ * )
+ */
+-real cbrt(real x) { return std.c.math.cbrtl(x); }
+
+
+ /*******************************
+@@ -1066,16 +1062,12 @@
+ *
+ * <img src="erf.gif" alt="error function">
+ */
+-version (GNU_msvcrt_math) { /* nothing */ } else
+-real erf(real x) { return std.c.math.erfl(x); }
+
+ /**********************************
+ * Returns the complementary error function of x, which is 1 - erf(x).
+ *
+ * <img src="erfc.gif" alt="complementary error function">
+ */
+-version (GNU_msvcrt_math) { /* nothing */ } else
+-real erfc(real x) { return std.c.math.erfcl(x); }
+
+ /***********************************
+ * Natural logarithm of gamma function.
+@@ -1093,12 +1085,6 @@
+ * )
+ */
+ /* Documentation prepared by Don Clugston */
+-real lgamma(real x)
+-{
+- return std.c.math.lgammal(x);
+-
+- // Use etc.gamma.lgamma for those C systems that are missing it
+-}
+
+ /***********************************
+ * The Gamma function, $(GAMMA)(x)
+@@ -1125,18 +1111,6 @@
+ * $(LINK http://www.netlib.org/cephes/ldoubdoc.html#gamma)
+ */
+ /* Documentation prepared by Don Clugston */
+-version (GNU_Need_tgamma)
+-{
+- private import etc.gamma;
+- alias etc.gamma.tgamma tgamma;
+-}
+-else
+-real tgamma(real x)
+-{
+- return std.c.math.tgammal(x);
+-
+- // Use etc.gamma.tgamma for those C systems that are missing it
+-}
+
+ /**************************************
+ * Returns the value of x rounded upward to the next integer