sci-libs/gsl: Version Bump
authorJustin Lecher <jlec@gentoo.org>
Fri, 12 Feb 2016 08:15:38 +0000 (09:15 +0100)
committerJustin Lecher <jlec@gentoo.org>
Fri, 12 Feb 2016 09:24:32 +0000 (10:24 +0100)
Gentoo-Bug: https://bugs.gentoo.org/show_bug.cgi?id=574402

Package-Manager: portage-2.2.27
Signed-off-by: Justin Lecher <jlec@gentoo.org>
sci-libs/gsl/Manifest
sci-libs/gsl/files/gsl-2.1-cblas.patch [new file with mode: 0644]
sci-libs/gsl/gsl-2.1.ebuild [new file with mode: 0644]

index ef0c40f3aab1a677c54f0571ff29007c2c2aa723..c1ca4bcbbb791e96009aac2fc131d9497c1dd25a 100644 (file)
@@ -1,2 +1,3 @@
 DIST gsl-1.14.tar.gz 3128269 SHA256 3d4a47afd9a1e7c73b97791b4180d8cc4d5f0e5db6027fe06437f1f3f957fafb SHA512 ac8d9ba4d6e3f5d698e86130af4b4218d36b22525e966ba5d7b47d44f7ad1bef19287efa05f6ad63a81e676179bd3a0bd19461f8383e85a4d674835ff69fcc42 WHIRLPOOL ddc6637b95ad5b2c3943f067f9979fc3070204a04a85e82365c8fd6aec6685a2827bea7056138139893f7bb6cc449318797d235dfe5fee525b1b519927148b0b
 DIST gsl-1.16.tar.gz 3534080 SHA256 73bc2f51b90d2a780e6d266d43e487b3dbd78945dd0b04b14ca5980fe28d2f53 SHA512 94e998953f30d701e1cd0a5e05d572c5cca7b6f40f0533aa85394ba4218946826408093ffe3049a0ab13d6ba87034fcec1a7d52a67d0b8860dc02b5fd4feb8eb WHIRLPOOL 46bf814c882ca36600d258097642a734b6a6483302cc64c14cab55c0c056ae6116c204495b3b81c57fec1871e145fbc5aa3900006e52e494e9e2fcd34ec06301
+DIST gsl-2.1.tar.gz 3827265 SHA256 59ad06837397617f698975c494fe7b2b698739a59e2fcf830b776428938a0c66 SHA512 d63660fdfae9c9ec9f4fd1894b0af705297cefb6169973ef10faacd0b8a3d52f537508e9c07f4f9f4253138cc48e5570bb10ef303538226d7febd92e8fd184b0 WHIRLPOOL 60aa8ea8d19bc88ace49fcb807f63877d3bd32ff5c9bbca0db9d45b55b3929bba93756f82ce8777be852ca9b015e425540b33091a58ea7edac0d74560cbe39a5
diff --git a/sci-libs/gsl/files/gsl-2.1-cblas.patch b/sci-libs/gsl/files/gsl-2.1-cblas.patch
new file mode 100644 (file)
index 0000000..54cc880
--- /dev/null
@@ -0,0 +1,326 @@
+ Makefile.am               |  8 +++---
+ ax_cblas.m4               | 69 +++++++++++++++++++++++++++++++++++++++++++++++
+ bspline/Makefile.am       |  2 +-
+ configure.ac              | 10 +++++++
+ eigen/Makefile.am         |  2 +-
+ gsl-config.in             |  4 +--
+ gsl.pc.in                 |  2 +-
+ interpolation/Makefile.am |  2 +-
+ linalg/Makefile.am        |  2 +-
+ multifit/Makefile.am      |  4 +--
+ multimin/Makefile.am      |  4 +--
+ multiroots/Makefile.am    |  2 +-
+ ode-initval/Makefile.am   |  2 +-
+ poly/Makefile.am          |  2 +-
+ specfunc/Makefile.am      |  2 +-
+ wavelet/Makefile.am       |  2 +-
+ 16 files changed, 100 insertions(+), 19 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 278dcd9..a75418c 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -19,7 +19,7 @@ EXTRA_DIST = autogen.sh gsl-config.in gsl.pc.in configure.ac THANKS BUGS gsl.spe
+ lib_LTLIBRARIES = libgsl.la
+ libgsl_la_SOURCES = version.c
+-libgsl_la_LIBADD = $(GSL_LIBADD) $(SUBLIBS)
++libgsl_la_LIBADD = $(GSL_LIBADD) $(SUBLIBS) @CBLAS_LINK_LIBS@
+ libgsl_la_LDFLAGS = $(GSL_LDFLAGS) -version-info $(GSL_LT_VERSION)
+ noinst_HEADERS = templates_on.h templates_off.h build.h
+@@ -29,10 +29,10 @@ m4data_DATA = gsl.m4
+ bin_PROGRAMS = gsl-randist gsl-histogram
+ gsl_randist_SOURCES = gsl-randist.c
+-gsl_randist_LDADD = libgsl.la cblas/libgslcblas.la
++gsl_randist_LDADD = libgsl.la
+ gsl_histogram_SOURCES = gsl-histogram.c
+-gsl_histogram_LDADD = libgsl.la cblas/libgslcblas.la
++gsl_histogram_LDADD = libgsl.la
+ check_SCRIPTS = test_gsl_histogram.sh pkgconfig.test
+ TESTS = test_gsl_histogram.sh pkgconfig.test
+@@ -51,6 +51,8 @@ edit = $(SED) \
+       -e 's|@GSL_CFLAGS[@]|$(GSL_CFLAGS)|g' \
+       -e 's|@GSL_LIBM[@]|$(GSL_LIBM)|g' \
+       -e 's|@GSL_LIBS[@]|$(GSL_LIBS)|g' \
++      -e 's|@CBLAS_CFLAGS[@]|$(CBLAS_CFLAGS)|g' \
++      -e 's|@CBLAS_LIBS[@]|$(CBLAS_LIBS)|g' \
+       -e 's|@LIBS[@]|$(LIBS)|g' \
+       -e 's|@VERSION[@]|$(VERSION)|g'
+diff --git a/ax_cblas.m4 b/ax_cblas.m4
+new file mode 100644
+index 0000000..6ef143a
+--- /dev/null
++++ b/ax_cblas.m4
+@@ -0,0 +1,69 @@
++AC_DEFUN([AX_CBLAS],[
++
++  ext_cblas=no
++  ext_cblas_libs="-lcblas"
++  ext_cblas_cflags=""
++
++  AC_ARG_WITH(cblas-external,
++      [AS_HELP_STRING([--with-cblas-external], 
++                      [Use external CBLAS library (default is no)])],
++      [with_ext_cblas=$withval],
++      [with_ext_cblas=no])
++
++  case $with_ext_cblas in
++      no) ext_cblas=no ;;
++      yes) ext_cblas=yes ;;
++      -* | */* | *.a | *.so | *.so.* | *.o) 
++         ext_cblas=yes
++         ext_cblas_libs="$with_cblas" ;;
++      *) ext_cblas=yes
++         ext_cblas_libs="-l$with_cblas" ;;
++  esac
++
++  AC_ARG_WITH(cblas-external-libs,
++      [AS_HELP_STRING([--with-cblas-external-libs=<libs>],
++                      [External cblas libraries to link with (default is "$ext_cblas_libs")])],
++      [ext_cblas_libs=$withval],
++      [])
++
++  AC_ARG_WITH(cblas-external-cflags,
++      [AS_HELP_STRING([--with-cblas-external-cflags=<flags>],
++                      [Pre-processing flags to compile with external cblas ("-I<dir>")])],
++      [ext_cblas_cflags=$withval],
++      [])
++
++  if test x$ext_cblas != xno; then
++      if test "x$CBLAS_LIBS" = x; then
++         CBLAS_LIBS="$ext_cblas_libs"
++      fi
++      if test "x$CBLAS_CFLAGS" = x; then
++                 CBLAS_CFLAGS="$ext_cblas_cflags"
++      fi
++
++      CFLAGS_sav="$CFLAGS"
++      CFLAGS="$CFLAGS $CBLAS_CFLAGS"
++      AC_CHECK_HEADER(cblas.h, ,
++              [AC_MSG_ERROR([
++              *** Header file cblas.h not found.
++              *** If you installed cblas header in a non standard place,
++              *** specify its install prefix using the following option
++              ***  --with-cblas-external-cflags="-I<include_dir>"])
++              ])
++      CFLAGS="$CFLAGS_sav"
++
++      LIBS_sav="$LIBS"
++      LIBS="$LIBS $CBLAS_LIBS -lm"
++      AC_MSG_CHECKING([for cblas_sgemm in $CBLAS_LIBS])
++      AC_TRY_LINK_FUNC(cblas_sgemm, [ext_cblas=yes],
++              [AC_MSG_ERROR([
++              *** Linking with cblas with $LIBS failed.
++                      *** If you installed cblas library in a non standard place,
++              *** specify its install prefix using the following option
++              ***  --with-cblas-external-libs="-L<lib_dir> -l<lib>"])
++              ])
++      AC_MSG_RESULT($ext_cblas)
++      LIBS="$LIBS_sav"
++      AC_SUBST([CBLAS_CFLAGS])
++      AC_SUBST([CBLAS_LIBS])
++ fi
++])
+diff --git a/bspline/Makefile.am b/bspline/Makefile.am
+index 3f4f950..d413036 100644
+--- a/bspline/Makefile.am
++++ b/bspline/Makefile.am
+@@ -12,6 +12,6 @@ check_PROGRAMS = test
+ TESTS = $(check_PROGRAMS)
+-test_LDADD = libgslbspline.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../cblas/libgslcblas.la ../ieee-utils/libgslieeeutils.la  ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la ../statistics/libgslstatistics.la
++test_LDADD = libgslbspline.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la @CBLAS_LINK_LIBS@ ../ieee-utils/libgslieeeutils.la  ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la ../statistics/libgslstatistics.la
+ test_SOURCES = test.c
+diff --git a/configure.ac b/configure.ac
+index d6b673f..c642454 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -205,6 +205,16 @@ if test "x$LIBS" = "x" ; then
+   AC_CHECK_LIB(m, cos)
+ fi
++sinclude(ax_cblas.m4)
++AX_CBLAS
++if test "x$CBLAS_LIBS" != "x"; then
++   CBLAS_LINK_LIBS="$CBLAS_LIBS"
++else
++   CBLAS_LINK_LIBS="\$(top_builddir)/cblas/libgslcblas.la"
++   CBLAS_LIBS="-lgslcblas"
++fi
++AC_SUBST(CBLAS_LINK_LIBS)
++
+ dnl Remember to put a definition in acconfig.h for each of these
+ AC_CHECK_DECLS(feenableexcept,,,[#define _GNU_SOURCE 1
+ #include <fenv.h>]) 
+diff --git a/eigen/Makefile.am b/eigen/Makefile.am
+index c28bfde..14197a4 100644
+--- a/eigen/Makefile.am
++++ b/eigen/Makefile.am
+@@ -11,7 +11,7 @@ noinst_HEADERS =  qrstep.c
+ TESTS = $(check_PROGRAMS)
+-test_LDADD = libgsleigen.la  ../test/libgsltest.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la  ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../sys/libgslsys.la ../err/libgslerr.la ../utils/libutils.la ../rng/libgslrng.la ../sort/libgslsort.la
++test_LDADD = libgsleigen.la  ../test/libgsltest.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la  ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../sys/libgslsys.la ../err/libgslerr.la ../utils/libutils.la ../rng/libgslrng.la ../sort/libgslsort.la
+ test_SOURCES = test.c
+diff --git a/gsl-config.in b/gsl-config.in
+old mode 100755
+new mode 100644
+index 3f3fa61..c9c4262
+--- a/gsl-config.in
++++ b/gsl-config.in
+@@ -58,11 +58,11 @@ while test $# -gt 0; do
+       ;;
+     --cflags)
+-              echo @GSL_CFLAGS@ 
++              echo @GSL_CFLAGS@ @CBLAS_CFLAGS@ 
+               ;;
+     --libs)
+-        : ${GSL_CBLAS_LIB=-lgslcblas}
++        : ${GSL_CBLAS_LIB=@CBLAS_LIBS@}
+       echo @GSL_LIBS@ $GSL_CBLAS_LIB @GSL_LIBM@
+               ;;
+diff --git a/gsl.pc.in b/gsl.pc.in
+index 5e9ef21..5a7a0f3 100644
+--- a/gsl.pc.in
++++ b/gsl.pc.in
+@@ -2,7 +2,7 @@ prefix=@prefix@
+ exec_prefix=@exec_prefix@
+ libdir=@libdir@
+ includedir=@includedir@
+-GSL_CBLAS_LIB=-lgslcblas
++GSL_CBLAS_LIB=@CBLAS_LIBS@
+ Name: GSL
+ Description: GNU Scientific Library
+diff --git a/interpolation/Makefile.am b/interpolation/Makefile.am
+index 1d80755..e45bd51 100644
+--- a/interpolation/Makefile.am
++++ b/interpolation/Makefile.am
+@@ -12,7 +12,7 @@ AM_CPPFLAGS = -I$(top_srcdir)
+ TESTS = $(check_PROGRAMS)
+-test_LDADD = libgslinterpolation.la ../poly/libgslpoly.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../cblas/libgslcblas.la ../ieee-utils/libgslieeeutils.la  ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
++test_LDADD = libgslinterpolation.la ../poly/libgslpoly.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la @CBLAS_LINK_LIBS@ ../ieee-utils/libgslieeeutils.la  ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
+ test_SOURCES = test.c
+diff --git a/linalg/Makefile.am b/linalg/Makefile.am
+index 8fb6e7c..90d22e0 100644
+--- a/linalg/Makefile.am
++++ b/linalg/Makefile.am
+@@ -12,7 +12,7 @@ TESTS = $(check_PROGRAMS)
+ check_PROGRAMS = test
+-test_LDADD = libgsllinalg.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../permutation/libgslpermutation.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
++test_LDADD = libgsllinalg.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../permutation/libgslpermutation.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
+ test_SOURCES = test.c
+diff --git a/multifit/Makefile.am b/multifit/Makefile.am
+index 891964b..b33f71e 100644
+--- a/multifit/Makefile.am
++++ b/multifit/Makefile.am
+@@ -67,8 +67,8 @@ check_PROGRAMS = test #demo
+ TESTS = $(check_PROGRAMS)
+ test_SOURCES = test.c
+-test_LDADD = libgslmultifit.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../matrix/libgslmatrix.la ../sort/libgslsort.la ../statistics/libgslstatistics.la ../vector/libgslvector.la ../block/libgslblock.la  ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../utils/libutils.la ../sys/libgslsys.la ../rng/libgslrng.la ../specfunc/libgslspecfunc.la
++test_LDADD = libgslmultifit.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../matrix/libgslmatrix.la ../sort/libgslsort.la ../statistics/libgslstatistics.la ../vector/libgslvector.la ../block/libgslblock.la  ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../utils/libutils.la ../sys/libgslsys.la ../rng/libgslrng.la ../specfunc/libgslspecfunc.la
+ #demo_SOURCES = demo.c
+-#demo_LDADD = libgslmultifit.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../randist/libgslrandist.la ../rng/libgslrng.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../utils/libutils.la ../sys/libgslsys.la
++#demo_LDADD = libgslmultifit.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../randist/libgslrandist.la ../rng/libgslrng.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../utils/libutils.la ../sys/libgslsys.la
+diff --git a/multimin/Makefile.am b/multimin/Makefile.am
+index 7071359..65a488a 100644
+--- a/multimin/Makefile.am
++++ b/multimin/Makefile.am
+@@ -13,8 +13,8 @@ check_PROGRAMS = test #demo
+ TESTS = $(check_PROGRAMS) 
+ test_SOURCES = test.c test_funcs.c test_funcs.h
+-test_LDADD = libgslmultimin.la ../min/libgslmin.la ../poly/libgslpoly.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
++test_LDADD = libgslmultimin.la ../min/libgslmin.la ../poly/libgslpoly.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
+ #demo_SOURCES = demo.c 
+-#demo_LDADD = libgslmultimin.la ../min/libgslmin.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../linalg/libgsllinalg.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
++#demo_LDADD = libgslmultimin.la ../min/libgslmin.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../linalg/libgsllinalg.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
+diff --git a/multiroots/Makefile.am b/multiroots/Makefile.am
+index a351c3f..6178448 100644
+--- a/multiroots/Makefile.am
++++ b/multiroots/Makefile.am
+@@ -15,5 +15,5 @@ check_PROGRAMS = test
+ TESTS = $(check_PROGRAMS)
+ test_SOURCES = test.c test_funcs.c test_funcs.h
+-test_LDADD = libgslmultiroots.la ../linalg/libgsllinalg.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../permutation/libgslpermutation.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la  ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
++test_LDADD = libgslmultiroots.la ../linalg/libgsllinalg.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../permutation/libgslpermutation.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la  ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
+diff --git a/ode-initval/Makefile.am b/ode-initval/Makefile.am
+index 9c774b5..346c381 100644
+--- a/ode-initval/Makefile.am
++++ b/ode-initval/Makefile.am
+@@ -12,7 +12,7 @@ check_PROGRAMS = test
+ TESTS = $(check_PROGRAMS)
+-test_LDADD = libgslodeiv.la ../linalg/libgsllinalg.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../matrix/libgslmatrix.la ../permutation/libgslpermutation.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la  ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la 
++test_LDADD = libgslodeiv.la ../linalg/libgsllinalg.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../matrix/libgslmatrix.la ../permutation/libgslpermutation.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la  ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la 
+ test_SOURCES = test.c
+diff --git a/poly/Makefile.am b/poly/Makefile.am
+index f1dae5d..e0f8e83 100644
+--- a/poly/Makefile.am
++++ b/poly/Makefile.am
+@@ -10,7 +10,7 @@ noinst_HEADERS = balance.c companion.c qr.c
+ TESTS = $(check_PROGRAMS)
+-check_PROGRAMS = test
++#check_PROGRAMS = test
+ test_SOURCES = test.c
+ test_LDADD = libgslpoly.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la ../sort/libgslsort.la
+diff --git a/specfunc/Makefile.am b/specfunc/Makefile.am
+index 0a7e672..d1361d0 100644
+--- a/specfunc/Makefile.am
++++ b/specfunc/Makefile.am
+@@ -12,7 +12,7 @@ TESTS = $(check_PROGRAMS)
+ check_PROGRAMS = test
+-test_LDADD = libgslspecfunc.la ../eigen/libgsleigen.la ../linalg/libgsllinalg.la  ../sort/libgslsort.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la  ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
++test_LDADD = libgslspecfunc.la ../eigen/libgsleigen.la ../linalg/libgsllinalg.la  ../sort/libgslsort.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la  ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
+ test_SOURCES = test_sf.c test_sf.h test_airy.c test_bessel.c test_coulomb.c test_dilog.c test_gamma.c test_hyperg.c test_legendre.c test_mathieu.c
+   
+diff --git a/wavelet/Makefile.am b/wavelet/Makefile.am
+index 9da20d8..8cdbd77 100644
+--- a/wavelet/Makefile.am
++++ b/wavelet/Makefile.am
+@@ -10,7 +10,7 @@ check_PROGRAMS = test
+ TESTS = $(check_PROGRAMS)
+-test_LDADD = libgslwavelet.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../ieee-utils/libgslieeeutils.la  ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
++test_LDADD = libgslwavelet.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../ieee-utils/libgslieeeutils.la  ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
+ test_SOURCES = test.c
diff --git a/sci-libs/gsl/gsl-2.1.ebuild b/sci-libs/gsl/gsl-2.1.ebuild
new file mode 100644 (file)
index 0000000..cb9fb30
--- /dev/null
@@ -0,0 +1,109 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+inherit autotools eutils flag-o-matic toolchain-funcs
+
+DESCRIPTION="The GNU Scientific Library"
+HOMEPAGE="https://www.gnu.org/software/gsl/"
+SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0/19"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~x86-macos ~sparc-solaris ~x86-solaris"
+IUSE="cblas-external static-libs"
+
+RDEPEND="cblas-external? ( virtual/cblas )"
+DEPEND="${RDEPEND}
+       app-eselect/eselect-cblas
+       virtual/pkgconfig"
+
+PATCHES=( "${FILESDIR}"/${P}-cblas.patch )
+
+pkg_pretend() {
+       # prevent to use external cblas from a previously installed gsl
+       local current_lib
+       if use cblas-external; then
+               current_lib=$(eselect cblas show | cut -d' ' -f2)
+               if [[ ${current_lib} == gsl ]]; then
+                       ewarn "USE flag cblas-external is set: linking gsl with an external cblas."
+                       ewarn "However the current selected external cblas is gsl."
+                       ewarn "Please install and/or eselect another cblas"
+                       die "Circular gsl dependency"
+               fi
+       fi
+}
+
+src_prepare() {
+       ESELECT_PROF="gsl"
+
+       # bug 349005
+       [[ $(tc-getCC)$ == *gcc* ]] && \
+               [[ $(tc-getCC)$ != *apple* ]] && \
+               [[ $(gcc-major-version)$(gcc-minor-version) -eq 44 ]] \
+               && filter-mfpmath sse
+       filter-flags -ffast-math
+
+       default
+       eautoreconf
+
+       cp "${FILESDIR}"/eselect.cblas.gsl "${T}"/
+       sed -i -e "s:/usr:${EPREFIX}/usr:" "${T}"/eselect.cblas.gsl || die
+       if [[ ${CHOST} == *-darwin* ]] ; then
+               sed -i -e 's/\.so\([\.0-9]\+\)\?/\1.dylib/g' \
+                       "${T}"/eselect.cblas.gsl || die
+       fi
+}
+
+src_configure() {
+       if use cblas-external; then
+               export CBLAS_LIBS="$($(tc-getPKG_CONFIG) --libs cblas)"
+               export CBLAS_CFLAGS="$($(tc-getPKG_CONFIG) --cflags cblas)"
+       fi
+       econf \
+               --enable-shared \
+               $(use_with cblas-external) \
+               $(use_enable static-libs static)
+}
+
+src_test() {
+       local MAKEOPTS="${MAKEOPTS} -j1"
+       default
+}
+
+src_install() {
+       default
+
+       find "${ED}" -name '*.la' -exec rm -f {} +
+
+       # take care of pkgconfig file for cblas implementation.
+       sed \
+               -e "s/@LIBDIR@/$(get_libdir)/" \
+               -e "s/@PV@/${PV}/" \
+               -e "/^prefix=/s:=:=${EPREFIX}:" \
+               -e "/^libdir=/s:=:=${EPREFIX}:" \
+               "${FILESDIR}"/cblas.pc.in > cblas.pc \
+               || die "sed cblas.pc failed"
+       insinto /usr/$(get_libdir)/blas/gsl
+       doins cblas.pc
+       eselect cblas add $(get_libdir) "${T}"/eselect.cblas.gsl \
+               ${ESELECT_PROF}
+}
+
+pkg_postinst() {
+       local p=cblas
+       local current_lib=$(eselect ${p} show | cut -d' ' -f2)
+       if [[ ${current_lib} == ${ESELECT_PROF} || -z ${current_lib} ]]; then
+               # work around eselect bug #189942
+               local configfile="${EROOT}"/etc/env.d/${p}/$(get_libdir)/config
+               [[ -e ${configfile} ]] && rm -f ${configfile}
+               eselect ${p} set ${ESELECT_PROF}
+               elog "${p} has been eselected to ${ESELECT_PROF}"
+       else
+               elog "Current eselected ${p} is ${current_lib}"
+               elog "To use ${p} ${ESELECT_PROF} implementation, you have to issue (as root):"
+               elog "\t eselect ${p} set ${ESELECT_PROF}"
+       fi
+}