aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Spencer <baildon.research@googlemail.com>2015-11-18 22:52:43 +0000
committerWilly Sudiarto Raharjo <willysr@slackbuilds.org>2016-01-17 09:40:16 +0700
commit27a8de224cb1655929e432a481ce87b1c51adc5d (patch)
tree84046e6aa7e9f1410b33d639a3c08905d2acba24
parent25ccacc72f00d786c2c2fc70057b2a5029230c92 (diff)
academic/Kst: Patched for gsl-2.1.
Signed-off-by: David Spencer <baildon.research@googlemail.com> Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
-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 0ab614f03d35..527bc6ba1b6e 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 000000000000..1a7db24321bd
--- /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...