aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenis Dupeyron <calchan@gentoo.org>2012-12-19 11:18:21 -0700
committerDenis Dupeyron <calchan@gentoo.org>2012-12-19 13:04:06 -0700
commit606b09f6249f2446ac6194f77329529ad995853f (patch)
tree09f6cf5abc45744582204d5b033fc7c17316dda0
parentMerge branch 'master' of git://git.overlays.gentoo.org/proj/sci; github.com:g... (diff)
downloadsci-606b09f6249f2446ac6194f77329529ad995853f.tar.gz
sci-606b09f6249f2446ac6194f77329529ad995853f.tar.bz2
sci-606b09f6249f2446ac6194f77329529ad995853f.zip
Add cblas-external USE flag to sci-libs/gsl
Let gsl optionally build against an external cblas implementation and disable gsl as a possible cblas alternative when doing so. Only consider sci-libs/gsl as a valid virtual/cblas implementation if the cblas-external USE flag is not set. Update sci-libs/gsl version to 1.15-r3.
-rw-r--r--sci-libs/gsl/ChangeLog9
-rw-r--r--sci-libs/gsl/files/gsl-1.15-cblas.patch283
-rw-r--r--sci-libs/gsl/gsl-1.15-r3.ebuild (renamed from sci-libs/gsl/gsl-1.15-r2.ebuild)19
-rw-r--r--sci-libs/gsl/metadata.xml4
-rw-r--r--virtual/cblas/ChangeLog6
-rw-r--r--virtual/cblas/cblas-2.0.ebuild4
6 files changed, 283 insertions, 42 deletions
diff --git a/sci-libs/gsl/ChangeLog b/sci-libs/gsl/ChangeLog
index 327c24a16..2c1ceb553 100644
--- a/sci-libs/gsl/ChangeLog
+++ b/sci-libs/gsl/ChangeLog
@@ -1,7 +1,14 @@
# ChangeLog for sci-libs/gsl
-# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
+# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/sci-libs/gsl/ChangeLog,v 1.77 2010/08/09 09:32:55 xarthisius Exp $
+*gsl-1.15-r3 (19 Dec 2012)
+
+ 19 Dec 2012; Denis Dupeyron <calchan@gentoo.org> -gsl-1.15-r2.ebuild,
+ +gsl-1.15-r3.ebuild, files/gsl-1.15-cblas.patch, metadata.xml:
+ Let gsl optionally build against an external cblas implementation and
+ disables gsl as a possible cblas alternative when doing so.
+
23 Feb 2012; Sébastien Fabbro <bicatali@gentoo.org> gsl-1.15-r2.ebuild,
files/gsl-1.15-cblas.patch, -files/gsl-1.15-pkgconfig.patch:
Fixed gsl-config/pkg-config issues
diff --git a/sci-libs/gsl/files/gsl-1.15-cblas.patch b/sci-libs/gsl/files/gsl-1.15-cblas.patch
index 2ded784dd..dd402f392 100644
--- a/sci-libs/gsl/files/gsl-1.15-cblas.patch
+++ b/sci-libs/gsl/files/gsl-1.15-cblas.patch
@@ -1,54 +1,174 @@
-diff -Nur gsl-1.15.orig/blas/Makefile.am gsl-1.15/blas/Makefile.am
---- gsl-1.15.orig/blas/Makefile.am 2010-12-26 17:57:08.000000000 +0000
-+++ gsl-1.15/blas/Makefile.am 2012-02-23 17:41:52.000000000 +0000
-@@ -5,7 +5,7 @@
- INCLUDES = -I$(top_srcdir)
-
- libgslblas_la_SOURCES = blas.c
--
-+libgslblas_la_LIBADD = $(top_builddir)/cblas/libgslcblas.la
- #check_PROGRAMS = test
- #TESTS = test
- #test_LDADD = libgslblas.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la
+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 2010-12-26 17:57:08.000000000 +0000
-+++ gsl-1.15/gsl-config.in 2012-02-23 17:47:30.000000000 +0000
-@@ -58,12 +58,11 @@
+--- 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@ $(pkg-config --cflags cblas)
++ echo @GSL_CFLAGS@ @CBLAS_CFLAGS@
;;
--libs)
- : ${GSL_CBLAS_LIB=-lgslcblas}
-- echo @GSL_LIBS@ $GSL_CBLAS_LIB @GSL_LIBM@
-+ echo $(pkg-config --libs gsl) @GSL_LIBM@
++ : ${GSL_CBLAS_LIB=@CBLAS_LIBS@}
+ echo @GSL_LIBS@ $GSL_CBLAS_LIB @GSL_LIBM@
;;
- --libs-without-cblas)
diff -Nur gsl-1.15.orig/gsl.pc.in gsl-1.15/gsl.pc.in
---- gsl-1.15.orig/gsl.pc.in 2011-01-31 16:59:17.000000000 +0000
-+++ gsl-1.15/gsl.pc.in 2012-02-23 17:40:12.000000000 +0000
-@@ -2,10 +2,11 @@
+--- 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
- Version: @VERSION@
--Libs: @GSL_LIBS@ ${GSL_CBLAS_LIB} @GSL_LIBM@ @LIBS@
-+Libs: @GSL_LIBS@
-+Private: @GSL_LIBM@ @LIBS@
- Cflags: @GSL_CFLAGS@
-+Requires: cblas
+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-04-14 16:13:48.000000000 +0100
-+++ gsl-1.15/Makefile.am 2012-02-23 17:53:10.000000000 +0000
-@@ -25,7 +25,6 @@
+--- 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
@@ -56,7 +176,7 @@ diff -Nur gsl-1.15.orig/Makefile.am gsl-1.15/Makefile.am
libgsl_la_LDFLAGS += -no-undefined
endif
-@@ -35,13 +34,13 @@
+@@ -35,10 +34,10 @@
bin_PROGRAMS = gsl-randist gsl-histogram
gsl_randist_SOURCES = gsl-randist.c
@@ -68,8 +188,99 @@ diff -Nur gsl-1.15.orig/Makefile.am gsl-1.15/Makefile.am
+gsl_histogram_LDADD = libgsl.la
check_SCRIPTS = test_gsl_histogram.sh pkgconfig.test
--TESTS = test_gsl_histogram.sh pkgconfig.test
-+TESTS = test_gsl_histogram.sh
+ 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
- #bin_PROGRAMS = main dummy
- #dummy_SOURCES = version.c
diff --git a/sci-libs/gsl/gsl-1.15-r2.ebuild b/sci-libs/gsl/gsl-1.15-r3.ebuild
index 0d45d7cf8..aecb49541 100644
--- a/sci-libs/gsl/gsl-1.15-r2.ebuild
+++ b/sci-libs/gsl/gsl-1.15-r3.ebuild
@@ -15,9 +15,22 @@ 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="static-libs"
+IUSE="cblas-external static-libs"
+
+RDEPEND="cblas-external? ( virtual/cblas )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
PATCHES=( "${FILESDIR}"/${P}-cblas.patch )
+DOCS=( AUTHORS BUGS ChangeLog NEWS README THANKS TODO )
+
+src_configure() {
+ if use cblas-external; then
+ export CBLAS_LIBS="$(pkg-config --libs cblas)"
+ export CBLAS_CFLAGS="$(pkg-config --cflags cblas)"
+ fi
+ autotools-utils_src_configure
+}
src_install() {
autotools-utils_src_install
@@ -36,7 +49,9 @@ src_install() {
EOF
insinto /usr/$(get_libdir)/pkgconfig
doins ${libname}.pc
- alternatives_for cblas gsl 0 \
+
+ # Don't add gsl as a cblas alternative if using cblas-external
+ use cblas-external || alternatives_for cblas gsl 0 \
/usr/$(get_libdir)/pkgconfig/cblas.pc ${libname}.pc \
/usr/include/cblas.h gsl/gsl_cblas.h
}
diff --git a/sci-libs/gsl/metadata.xml b/sci-libs/gsl/metadata.xml
index 7c2d3ccaf..a0ffae858 100644
--- a/sci-libs/gsl/metadata.xml
+++ b/sci-libs/gsl/metadata.xml
@@ -15,4 +15,8 @@
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>
diff --git a/virtual/cblas/ChangeLog b/virtual/cblas/ChangeLog
index 277172627..742eb39eb 100644
--- a/virtual/cblas/ChangeLog
+++ b/virtual/cblas/ChangeLog
@@ -1,7 +1,11 @@
# ChangeLog for virtual/cblas
-# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
+# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/virtual/cblas/ChangeLog,v 1.6 2010/01/11 10:56:05 ulm Exp $
+ 19 Dec 2012; Denis Dupeyron <calchan@gentoo.org> cblas-2.0.ebuild:
+ Only consider sci-libs/gsl as a valid cblas implementation if the
+ cblas-external USE flag is not set. Update sci-libs/gsl version to 1.15-r3.
+
*cblas-2.0 (24 Nov 2010)
24 Nov 2010; Sébastien Fabbro <bicatali@gentoo.org> +cblas-2.0.ebuild,
diff --git a/virtual/cblas/cblas-2.0.ebuild b/virtual/cblas/cblas-2.0.ebuild
index f0d9c9a25..3e0f93f3e 100644
--- a/virtual/cblas/cblas-2.0.ebuild
+++ b/virtual/cblas/cblas-2.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2010 Gentoo Foundation
+# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
@@ -15,7 +15,7 @@ IUSE=""
RDEPEND="|| (
>=sci-libs/cblas-reference-20110218
- >=sci-libs/gsl-1.14-r2
+ >=sci-libs/gsl-1.15-r3[-cblas-external]
>=sci-libs/gotoblas2-1.13[incblas]
>=sci-libs/atlas-3.9.34
>=sci-libs/mkl-10.3