summaryrefslogtreecommitdiff
path: root/math
diff options
context:
space:
mode:
Diffstat (limited to 'math')
-rw-r--r--math/py-gsl/Makefile8
-rw-r--r--math/py-gsl/files/patch-src_callback_odeiv.ic21
-rw-r--r--math/py-gsl/files/patch-src_init_block__helpers.c16
-rw-r--r--math/py-gsl/files/patch-src_init_initmodule.c22
-rw-r--r--math/py-gsl/files/patch-src_transform_wavelet.c37
5 files changed, 97 insertions, 7 deletions
diff --git a/math/py-gsl/Makefile b/math/py-gsl/Makefile
index d89de569e913..adf720852e34 100644
--- a/math/py-gsl/Makefile
+++ b/math/py-gsl/Makefile
@@ -25,10 +25,4 @@ PLIST_SUB= PYTHON_SITELIBDIR=${PYTHON_SITELIBDIR:S,^${LOCALBASE}/,,g}
USE_PYTHON= yes
USE_PYDISTUTILS= yes
-.include <bsd.port.pre.mk>
-
-.if ${OSVERSION} < 500000
-BROKEN= "Does not compile on FreeBSD 4.x"
-.endif
-
-.include <bsd.port.post.mk>
+.include <bsd.port.mk>
diff --git a/math/py-gsl/files/patch-src_callback_odeiv.ic b/math/py-gsl/files/patch-src_callback_odeiv.ic
new file mode 100644
index 000000000000..40158a33c09e
--- /dev/null
+++ b/math/py-gsl/files/patch-src_callback_odeiv.ic
@@ -0,0 +1,21 @@
+
+$FreeBSD$
+
+--- src/callback/odeiv.ic.orig
++++ src/callback/odeiv.ic
+@@ -397,13 +397,14 @@
+ goto fail;
+ }
+ FUNC_MESS("T_0 FLOAT");
+- int dim = 1;
++ { int dim = 1;
+ ts = (PyArrayObject *) PyGSL_New_Array(1, &dim, PyArray_DOUBLE);
+ if(ts == NULL) {
+ line = __LINE__ - 2;
+ goto fail;
+ }
+ (*(double *)(ts->data)) = v;
++ }
+ }
+ FUNC_MESS("T END");
+ if(PyGSL_STRIDE_RECALC(ts->strides[0], sizeof(double), &stride) != GSL_SUCCESS)
diff --git a/math/py-gsl/files/patch-src_init_block__helpers.c b/math/py-gsl/files/patch-src_init_block__helpers.c
new file mode 100644
index 000000000000..7530878f8bcd
--- /dev/null
+++ b/math/py-gsl/files/patch-src_init_block__helpers.c
@@ -0,0 +1,16 @@
+
+$FreeBSD$
+
+--- src/init/block_helpers.c.orig
++++ src/init/block_helpers.c
+@@ -380,8 +380,9 @@
+ goto fail;
+ }
+ FUNC_MESS("=> FLOAT");
+- int dim = 1;
++ { int dim = 1;
+ r = (PyArrayObject *) PyGSL_New_Array(1, &dim, PyArray_DOUBLE);
++ }
+ if(r == NULL) {
+ line = __LINE__ - 2;
+ goto fail;
diff --git a/math/py-gsl/files/patch-src_init_initmodule.c b/math/py-gsl/files/patch-src_init_initmodule.c
new file mode 100644
index 000000000000..5083d76a2fb7
--- /dev/null
+++ b/math/py-gsl/files/patch-src_init_initmodule.c
@@ -0,0 +1,22 @@
+
+$FreeBSD$
+
+--- src/init/initmodule.c.orig
++++ src/init/initmodule.c
+@@ -83,7 +83,7 @@
+
+ FUNC_MESS_BEGIN();
+ #if DEBUG == 1
+- PyObject *o;
++ { PyObject *o;
+ int tmp, i, max, *ptr;
+ if(!PyArg_ParseTuple(args, "i", &tmp))
+ return NULL;
+@@ -108,6 +108,7 @@
+ Py_INCREF(Py_None);
+ FUNC_MESS_END();
+ return Py_None;
++ }
+ #else
+ GSL_ERROR_NULL("PyGSL was not compiled with DEBUG = 1; Can not set DEBUG level!", GSL_EUNIMPL);
+ #endif
diff --git a/math/py-gsl/files/patch-src_transform_wavelet.c b/math/py-gsl/files/patch-src_transform_wavelet.c
new file mode 100644
index 000000000000..f6984607c4ea
--- /dev/null
+++ b/math/py-gsl/files/patch-src_transform_wavelet.c
@@ -0,0 +1,37 @@
+
+$FreeBSD$
+
+--- src/transform/wavelet.c.orig
++++ src/transform/wavelet.c
+@@ -70,6 +70,7 @@
+ { \
+ PyObject *tmp; \
+ FUNC_MESS_BEGIN(); \
++ { \
+ pygsl_transform_help_s helps;\
+ struct _pygsl_transform_help_rf_s s; \
+ helps.info = &wavelet_info; \
+@@ -79,6 +80,7 @@
+ tmp = PyGSL_transform_((PyObject *) self, args, &helps); \
+ FUNC_MESS_END(); \
+ return tmp; \
++ } \
+ }
+ PYGSL_WAVLET(forward)
+ PYGSL_WAVLET(inverse)
+@@ -89,6 +91,7 @@
+ { \
+ PyObject *tmp; \
+ FUNC_MESS_BEGIN(); \
++ { \
+ pygsl_transform_help_s helps;\
+ struct _pygsl_transform_help_rf_s s; \
+ helps.info = &wavelet_info; \
+@@ -98,6 +101,7 @@
+ tmp = PyGSL_transform_2d_((PyObject *) self, args, &helps); \
+ FUNC_MESS_END(); \
+ return tmp; \
++ } \
+ }
+ PYGSL_WAVLET2D(,forward)
+ PYGSL_WAVLET2D(,inverse)