summaryrefslogtreecommitdiff
path: root/sci-libs/gsl
diff options
context:
space:
mode:
authorBlackNoxis <steven.darklight@gmail.com>2014-02-15 23:24:26 +0200
committerBlackNoxis <steven.darklight@gmail.com>2014-02-15 23:24:26 +0200
commit7224c1253228e5c29c78cb3f0f26ce34770f2356 (patch)
tree1684924656132935256e034f35f92abee6623265 /sci-libs/gsl
Added ebuilds for kogaion desktop
Diffstat (limited to 'sci-libs/gsl')
-rw-r--r--sci-libs/gsl/Manifest1
-rw-r--r--sci-libs/gsl/files/cblas.pc.in12
-rw-r--r--sci-libs/gsl/files/eselect.cblas.gsl5
-rw-r--r--sci-libs/gsl/files/gsl-1.15-cblas.patch286
-rw-r--r--sci-libs/gsl/gsl-1.15.ebuild109
-rw-r--r--sci-libs/gsl/metadata.xml22
6 files changed, 435 insertions, 0 deletions
diff --git a/sci-libs/gsl/Manifest b/sci-libs/gsl/Manifest
new file mode 100644
index 00000000..c29b99c1
--- /dev/null
+++ b/sci-libs/gsl/Manifest
@@ -0,0 +1 @@
+DIST gsl-1.15.tar.gz 3281134 SHA256 85b907e57902e2b7606ef3aef960302ffdd13bd9dc5b8fcbfa75e4f0bf340ea3 SHA512 dcea557bcd34d4ee6d2c52741c2f95702e5e6110a99f033b412489b1930d21a40ead29392f754656375801d706df01199878263e856ca3081f9a514dc3299185 WHIRLPOOL 06ffffb83ea56cf6306878063770a117e096352dda3c3dd4a7526153bc770969f61e38fa08c02ec01335bd812581db15e4e5164a7da2363741179268cb393478
diff --git a/sci-libs/gsl/files/cblas.pc.in b/sci-libs/gsl/files/cblas.pc.in
new file mode 100644
index 00000000..a2580f85
--- /dev/null
+++ b/sci-libs/gsl/files/cblas.pc.in
@@ -0,0 +1,12 @@
+prefix=/usr
+exec_prefix=${prefix}
+libdir=/usr/@LIBDIR@
+includedir=${prefix}/include
+
+Name: cblas
+Description: GSL C Implementation of the Basic Linear Algebra Subprograms
+Version: @PV@
+URL: http://www.gnu.org/software/gsl
+Libs: -L${libdir} -lcblas
+Libs.private: -lm
+Cflags: -I${includedir}
diff --git a/sci-libs/gsl/files/eselect.cblas.gsl b/sci-libs/gsl/files/eselect.cblas.gsl
new file mode 100644
index 00000000..af6fee51
--- /dev/null
+++ b/sci-libs/gsl/files/eselect.cblas.gsl
@@ -0,0 +1,5 @@
+libgslcblas.so /usr/@LIBDIR@/libcblas.so
+libgslcblas.so.0 /usr/@LIBDIR@/libcblas.so.0
+libgslcblas.a /usr/@LIBDIR@/libcblas.a
+../blas/gsl/cblas.pc /usr/@LIBDIR@/pkgconfig/cblas.pc
+gsl/gsl_cblas.h /usr/include/cblas.h
diff --git a/sci-libs/gsl/files/gsl-1.15-cblas.patch b/sci-libs/gsl/files/gsl-1.15-cblas.patch
new file mode 100644
index 00000000..dd402f39
--- /dev/null
+++ b/sci-libs/gsl/files/gsl-1.15-cblas.patch
@@ -0,0 +1,286 @@
+diff -Nur gsl-1.15.orig/acx_cblas.m4 gsl-1.15/acx_cblas.m4
+--- gsl-1.15.orig/acx_cblas.m4 1970-01-01 01:00:00.000000000 +0100
++++ gsl-1.15/acx_cblas.m4 2011-07-28 22:16:03.000000000 +0100
+@@ -0,0 +1,60 @@
++AC_DEFUN([ACX_CBLAS],[
++ use_cblas=no
++ use_cblas_libs="-lcblas -lblas"
++ use_cblas_cflags=""
++
++ AC_ARG_WITH(cblas,
++ [AS_HELP_STRING([--with-cblas], [use external CBLAS library (default is no)])])
++
++ case $with_cblas in
++ yes) use_cblas=yes ;;
++ no | "" ) use_cblas=no ;;
++ -* | */* | *.a | *.so | *.so.* | *.o) use_cblas_libs="$with_cblas" ;;
++ *) use_cblas_libs="-l$with_cblas" ;;
++ esac
++
++ AC_ARG_WITH(cblas-libs,
++ [AS_HELP_STRING([--with-cblas-libs=<libs>],
++ [external cblas libraries to link with (default is "$use_cblas_libs")])],
++ [use_cblas_libs=$withval], [])
++
++ AC_ARG_WITH(cblas-cflags,
++ [AS_HELP_STRING([--with-cblas-cflags=<flags>],
++ [extra cflags to compile with external cblas ("-I<dir>")])],
++ [use_cblas_cflags=$withval], [])
++
++ if test x$use_cblas != xno; then
++ if test "x$CBLAS_LIBS" = x; then
++ CBLAS_LIBS="$use_cblas_libs"
++ fi
++ if test "x$CBLAS_FLAGS" = x; then
++ CBLAS_CFLAGS="$use_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-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, [use_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-libs="-L<lib_dir> -l<lib>"])
++ ])
++ AC_MSG_RESULT($use_cblas)
++ LIBS="$LIBS_sav"
++ AC_SUBST(CBLAS_CFLAGS)
++ AC_SUBST(CBLAS_LIBS)
++ fi
++])
+diff -Nur gsl-1.15.orig/bspline/Makefile.am gsl-1.15/bspline/Makefile.am
+--- gsl-1.15.orig/bspline/Makefile.am 2011-07-28 22:15:49.000000000 +0100
++++ gsl-1.15/bspline/Makefile.am 2011-07-28 22:16:03.000000000 +0100
+@@ -12,6 +12,6 @@
+
+ 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 -Nur gsl-1.15.orig/configure.ac gsl-1.15/configure.ac
+--- gsl-1.15.orig/configure.ac 2011-07-28 22:15:49.000000000 +0100
++++ gsl-1.15/configure.ac 2011-07-28 22:16:03.000000000 +0100
+@@ -190,6 +190,16 @@
+ AC_CHECK_LIB(m, cos)
+ fi
+
++sinclude(acx_cblas.m4)
++ACX_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 -Nur gsl-1.15.orig/eigen/Makefile.am gsl-1.15/eigen/Makefile.am
+--- gsl-1.15.orig/eigen/Makefile.am 2011-07-28 22:15:49.000000000 +0100
++++ gsl-1.15/eigen/Makefile.am 2011-07-28 22:16:03.000000000 +0100
+@@ -11,7 +11,7 @@
+
+ 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 -Nur gsl-1.15.orig/gsl-config.in gsl-1.15/gsl-config.in
+--- gsl-1.15.orig/gsl-config.in 2011-07-28 22:15:49.000000000 +0100
++++ gsl-1.15/gsl-config.in 2011-07-28 22:16:03.000000000 +0100
+@@ -58,11 +58,11 @@
+ ;;
+
+ --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 -Nur gsl-1.15.orig/gsl.pc.in gsl-1.15/gsl.pc.in
+--- gsl-1.15.orig/gsl.pc.in 2011-07-28 22:15:49.000000000 +0100
++++ gsl-1.15/gsl.pc.in 2011-07-28 22:20:14.000000000 +0100
+@@ -2,7 +2,7 @@
+ exec_prefix=@exec_prefix@
+ libdir=@libdir@
+ includedir=@includedir@
+-GSL_CBLAS_LIB=-lgslcblas
++GSL_CBLAS_LIB=@CBLAS_LIBS@
+
+ Name: GSL
+ Description: GNU Scientific Library
+diff -Nur gsl-1.15.orig/interpolation/Makefile.am gsl-1.15/interpolation/Makefile.am
+--- gsl-1.15.orig/interpolation/Makefile.am 2011-07-28 22:15:49.000000000 +0100
++++ gsl-1.15/interpolation/Makefile.am 2011-07-28 22:16:03.000000000 +0100
+@@ -10,7 +10,7 @@
+
+ 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 -Nur gsl-1.15.orig/linalg/Makefile.am gsl-1.15/linalg/Makefile.am
+--- gsl-1.15.orig/linalg/Makefile.am 2011-07-28 22:15:49.000000000 +0100
++++ gsl-1.15/linalg/Makefile.am 2011-07-28 22:16:03.000000000 +0100
+@@ -12,7 +12,7 @@
+
+ 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 -Nur gsl-1.15.orig/Makefile.am gsl-1.15/Makefile.am
+--- gsl-1.15.orig/Makefile.am 2011-07-28 22:15:49.000000000 +0100
++++ gsl-1.15/Makefile.am 2011-07-28 22:16:03.000000000 +0100
+@@ -19,13 +19,12 @@
+
+ lib_LTLIBRARIES = libgsl.la
+ libgsl_la_SOURCES = version.c
+-libgsl_la_LIBADD = $(SUBLIBS)
++libgsl_la_LIBADD = $(SUBLIBS) @CBLAS_LINK_LIBS@
+ libgsl_la_LDFLAGS = -version-info $(GSL_LT_VERSION)
+ noinst_HEADERS = templates_on.h templates_off.h build.h
+
+ MINGW32_HOST = @MINGW32_HOST@
+ if MINGW32_HOST
+-libgsl_la_LIBADD += cblas/libgslcblas.la
+ libgsl_la_LDFLAGS += -no-undefined
+ endif
+
+@@ -35,10 +34,10 @@
+ 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
+@@ -57,6 +56,8 @@
+ -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 -Nur gsl-1.15.orig/multifit/Makefile.am gsl-1.15/multifit/Makefile.am
+--- gsl-1.15.orig/multifit/Makefile.am 2011-07-28 22:15:49.000000000 +0100
++++ gsl-1.15/multifit/Makefile.am 2011-07-28 22:16:03.000000000 +0100
+@@ -13,8 +13,8 @@
+ 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 ../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
++test_LDADD = libgslmultifit.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 ../err/libgslerr.la ../test/libgsltest.la ../utils/libutils.la ../sys/libgslsys.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 -Nur gsl-1.15.orig/multimin/Makefile.am gsl-1.15/multimin/Makefile.am
+--- gsl-1.15.orig/multimin/Makefile.am 2011-07-28 22:15:49.000000000 +0100
++++ gsl-1.15/multimin/Makefile.am 2011-07-28 22:16:03.000000000 +0100
+@@ -13,8 +13,8 @@
+ 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 -Nur gsl-1.15.orig/multiroots/Makefile.am gsl-1.15/multiroots/Makefile.am
+--- gsl-1.15.orig/multiroots/Makefile.am 2011-07-28 22:15:49.000000000 +0100
++++ gsl-1.15/multiroots/Makefile.am 2011-07-28 22:16:03.000000000 +0100
+@@ -15,5 +15,5 @@
+ 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 -Nur gsl-1.15.orig/ode-initval/Makefile.am gsl-1.15/ode-initval/Makefile.am
+--- gsl-1.15.orig/ode-initval/Makefile.am 2011-07-28 22:15:49.000000000 +0100
++++ gsl-1.15/ode-initval/Makefile.am 2011-07-28 22:16:03.000000000 +0100
+@@ -12,7 +12,7 @@
+
+ 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 -Nur gsl-1.15.orig/poly/Makefile.am gsl-1.15/poly/Makefile.am
+--- gsl-1.15.orig/poly/Makefile.am 2011-07-28 22:15:49.000000000 +0100
++++ gsl-1.15/poly/Makefile.am 2011-07-28 22:16:03.000000000 +0100
+@@ -10,7 +10,7 @@
+
+ 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
+diff -Nur gsl-1.15.orig/specfunc/Makefile.am gsl-1.15/specfunc/Makefile.am
+--- gsl-1.15.orig/specfunc/Makefile.am 2011-07-28 22:15:49.000000000 +0100
++++ gsl-1.15/specfunc/Makefile.am 2011-07-28 22:16:03.000000000 +0100
+@@ -12,7 +12,7 @@
+
+ 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 -Nur gsl-1.15.orig/wavelet/Makefile.am gsl-1.15/wavelet/Makefile.am
+--- gsl-1.15.orig/wavelet/Makefile.am 2011-07-28 22:15:49.000000000 +0100
++++ gsl-1.15/wavelet/Makefile.am 2011-07-28 22:16:03.000000000 +0100
+@@ -10,7 +10,7 @@
+
+ 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-1.15.ebuild b/sci-libs/gsl/gsl-1.15.ebuild
new file mode 100644
index 00000000..ef216e67
--- /dev/null
+++ b/sci-libs/gsl/gsl-1.15.ebuild
@@ -0,0 +1,109 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=4
+
+inherit eutils flag-o-matic autotools toolchain-funcs
+
+DESCRIPTION="The GNU Scientific Library"
+HOMEPAGE="http://www.gnu.org/software/gsl/"
+SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+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-admin/eselect-cblas
+ virtual/pkgconfig"
+
+DOCS=( AUTHORS BUGS ChangeLog NEWS README THANKS TODO )
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ # 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
+ fi
+}
+
+pkg_setup() {
+ ESELECT_PROF="gsl"
+
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ # bug 349005
+ [[ $(tc-getCC)$ == *gcc* ]] && \
+ [[ $(tc-getCC)$ != *apple* ]] && \
+ [[ $(gcc-major-version)$(gcc-minor-version) -eq 44 ]] \
+ && filter-mfpmath sse
+ filter-flags -ffast-math
+ fi
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-cblas.patch
+ 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 cblas) \
+ $(use_enable static-libs static)
+}
+
+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 || die "installing cblas.pc failed"
+ 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
+}
diff --git a/sci-libs/gsl/metadata.xml b/sci-libs/gsl/metadata.xml
new file mode 100644
index 00000000..7ab2ed03
--- /dev/null
+++ b/sci-libs/gsl/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ The GNU Scientific Library (GSL) is a collection of routines for
+ numerical analysis. The routines are written from scratch by the GSL
+ team in C, and present a modern API for C programmers, while allowing
+ wrappers to be written for very high level languages.
+
+ GSL includes data types and routines for complex numbers, vectors,
+ matrices, basic linear algebra subroutines (BLAS), eigensystems,
+ simulated annealing, minimization, root finding, pseudo-random
+ numbers, least-squares fitting, fast Fourier transforms (FFT),
+ differential equations, quadrature, Monte Carlo integration, special
+ functions, physical constants, and much more.
+</longdescription>
+ <use>
+ <flag name="cblas-external">Link gsl with external cblas provided by
+ (<pkg>virtual/cblas</pkg>) instead of shipped internal version</flag>
+ </use>
+</pkgmetadata>