summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--academic/Kst/Kst.SlackBuild3
-rw-r--r--academic/Kst/Kst_gsl2.patch53
2 files changed, 56 insertions, 0 deletions
diff --git a/academic/Kst/Kst.SlackBuild b/academic/Kst/Kst.SlackBuild
index 0ab614f03d..527bc6ba1b 100644
--- a/academic/Kst/Kst.SlackBuild
+++ b/academic/Kst/Kst.SlackBuild
@@ -45,6 +45,9 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+# Fix build failure with gsl-2.1 (gsl API change)
+patch -p1 < $CWD/Kst_gsl2.patch
+
sed -i "s/find_package\(PythonLibs REQUIRED\)/SET \(PythonLibs \"\/usr\/lib${LIBDIRSUFFIX}\/libpython2.7.so\"\)/" \
./cmake/pyKst/CMakeLists.txt
sed -i "s/\${NUMPY_VERSION_PATCH}/0/" ./cmake/modules/FindNumPy.cmake
diff --git a/academic/Kst/Kst_gsl2.patch b/academic/Kst/Kst_gsl2.patch
new file mode 100644
index 0000000000..1a7db24321
--- /dev/null
+++ b/academic/Kst/Kst_gsl2.patch
@@ -0,0 +1,53 @@
+diff -u -r Kst-2.0.8/src/plugins/fits/non_linear.h Kst-2.0.8-patched/src/plugins/fits/non_linear.h
+--- Kst-2.0.8/src/plugins/fits/non_linear.h 2014-02-13 09:41:44.000000000 +0000
++++ Kst-2.0.8-patched/src/plugins/fits/non_linear.h 2015-11-18 22:28:40.761417846 +0000
+@@ -18,6 +18,7 @@
+ #include <gsl/gsl_blas.h>
+ #include <gsl/gsl_multifit_nlin.h>
+ #include <gsl/gsl_statistics.h>
++#include <gsl/gsl_version.h>
+ #include "common.h"
+
+ struct data {
+@@ -177,7 +178,15 @@
+ }
+ iIterations++;
+ } while( iStatus == GSL_CONTINUE && iIterations < MAX_NUM_ITERATIONS );
++
++#if GSL_MAJOR_VERSION >=2
++ gsl_matrix *J=gsl_matrix_alloc(pSolver->fdf->n, pSolver->fdf->p);
++ gsl_multifit_fdfsolver_jac (pSolver, J);
++ gsl_multifit_covar( J, 0.0, pMatrixCovariance );
++ gsl_matrix_free(J);
++#else
+ gsl_multifit_covar( pSolver->J, 0.0, pMatrixCovariance );
++#endif
+
+ //
+ // determine the fitted values...
+diff -u -r Kst-2.0.8/src/plugins/fits/non_linear_weighted.h Kst-2.0.8-patched/src/plugins/fits/non_linear_weighted.h
+--- Kst-2.0.8/src/plugins/fits/non_linear_weighted.h 2014-02-13 09:41:44.000000000 +0000
++++ Kst-2.0.8-patched/src/plugins/fits/non_linear_weighted.h 2015-11-18 22:28:44.004399807 +0000
+@@ -18,6 +18,7 @@
+ #include <gsl/gsl_blas.h>
+ #include <gsl/gsl_multifit_nlin.h>
+ #include <gsl/gsl_statistics.h>
++#include <gsl/gsl_version.h>
+ #include "common.h"
+
+ struct data {
+@@ -193,7 +194,14 @@
+ }
+ while( iStatus == GSL_CONTINUE && iIterations < MAX_NUM_ITERATIONS );
+
++#if GSL_MAJOR_VERSION >=2
++ gsl_matrix *J=gsl_matrix_alloc(pSolver->fdf->n, pSolver->fdf->p);
++ gsl_multifit_fdfsolver_jac (pSolver, J);
++ gsl_multifit_covar( J, 0.0, pMatrixCovariance );
++ gsl_matrix_free(J);
++#else
+ gsl_multifit_covar( pSolver->J, 0.0, pMatrixCovariance );
++#endif
+
+ //
+ // determine the fitted values...