aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sci-libs/gsl/Manifest1
-rw-r--r--sci-libs/gsl/gsl-2.5.ebuild78
2 files changed, 79 insertions, 0 deletions
diff --git a/sci-libs/gsl/Manifest b/sci-libs/gsl/Manifest
index fd13241e5..7b6e10425 100644
--- a/sci-libs/gsl/Manifest
+++ b/sci-libs/gsl/Manifest
@@ -2,3 +2,4 @@ DIST gsl-1.16.tar.gz 3534080 BLAKE2B 1c55a41e5ed57b57f671074240d23416aa8f23e3cc2
DIST gsl-2.1.tar.gz 3827265 BLAKE2B 2b359dc9f74ed69aa033508923cff4541894c26a6d2e5c606ee5cf4e4e95c58d270351998537c8c4f4bc8130ee5870b6f64133ede9079f20d8309d83637164f5 SHA512 d63660fdfae9c9ec9f4fd1894b0af705297cefb6169973ef10faacd0b8a3d52f537508e9c07f4f9f4253138cc48e5570bb10ef303538226d7febd92e8fd184b0
DIST gsl-2.3.tar.gz 4510731 BLAKE2B 5bc58346340a04f039405d4b256598b14f33e9b4e265c4fb159e691f5ea3372a0f9b7526b6ea6e259d5968ef8e7ce5b4d4e2465a78fb0b42f85a383fdc32d4bf SHA512 ada622079f4ac667d95f74b38aa368726fc1b18fd34555bcefe90920d3da93a9289ebff966be43325af806107001bc8973daf9f8418e6c97b866be2296b566ff
DIST gsl-2.4.tar.gz 5916715 BLAKE2B f22c07b2d5759a383e05b8bfdba70071672cc27f12ff2a8c755451fe7e10c8e2d80e3fcc601508c5e9942e4cfd05e51c43ba96666326b760e4390eb0c2552886 SHA512 12442b023dd959e8b22a9c486646b5cedec7fdba0daf2604cda365cf96d10d99aefdec2b42e59c536cc071da1525373454e5ed6f4b15293b305ca9b1dc6db130
+DIST gsl-2.5.tar.gz 7303881 BLAKE2B 7c6d10c21071a1af1f03123f83244476d2e90fcd27d05a115b03a74fe631eb7d8081f5260e534ae58ab0997c1111f980a5e4cb50d110ca626fe810c44be70180 SHA512 5b4c5c023f9029ce220f4e09aa4d0234fed94d42ac224d58fda095fe0532d54237a7c33278f8b5d0ba051f6004486edb38d0adb4fcb49337a8c1d8a18cf4a24a
diff --git a/sci-libs/gsl/gsl-2.5.ebuild b/sci-libs/gsl/gsl-2.5.ebuild
new file mode 100644
index 000000000..3dda7b878
--- /dev/null
+++ b/sci-libs/gsl/gsl-2.5.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit alternatives-2 autotools flag-o-matic multilib-build numeric toolchain-funcs
+
+DESCRIPTION="GNU Scientific Library"
+HOMEPAGE="https://www.gnu.org/software/gsl/"
+SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0/23"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="cblas-external static-libs"
+
+RDEPEND="cblas-external? ( >=virtual/cblas-2.0-r3[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+ >=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}]"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.3-cblas-external.patch
+ )
+
+src_prepare() {
+ default
+ eautoreconf
+ multilib_copy_sources
+}
+
+src_configure() {
+ gsl_configure() {
+ if use cblas-external; then
+ export CBLAS_LIBS="$($(tc-getPKG_CONFIG) --libs cblas)"
+ export CBLAS_CFLAGS="$($(tc-getPKG_CONFIG) --cflags cblas)"
+ fi
+ econf $(use_with cblas-external)
+ }
+ # fma flags, which can be enabled by -march=native, cause some tests to fail.
+ # https://github.com/gentoo/sci/pull/815
+ append-cflags $(test-flags-CC -mno-fma -mno-fma4)
+
+ multilib_foreach_abi run_in_build_dir gsl_configure
+}
+
+src_compile() {
+ multilib_foreach_abi run_in_build_dir default
+}
+
+src_test() {
+ multilib_foreach_abi run_in_build_dir default
+}
+
+src_install() {
+ gsl_install() {
+ local libname=gslcblas
+
+ create_pkgconfig \
+ --name "${libname}" \
+ --description "${PN} CBLAS implementation" \
+ --libs "-l${libname}" \
+ --libs-private "-lm" \
+ --cflags "-I\${includedir}/${PN}" \
+ --version "${PV}" \
+ --url "${HOMEPAGE}" \
+ "${libname}"
+
+ GSL_ALTERNATIVES+=( /usr/$(get_libdir)/pkgconfig/cblas.pc ${libname}.pc )
+
+ default
+ }
+ multilib_foreach_abi run_in_build_dir gsl_install
+
+ # Don't add gsl as a cblas alternative if using cblas-external
+ use cblas-external || alternatives_for cblas gsl 0 \
+ ${GSL_ALTERNATIVES[@]} \
+ /usr/include/cblas.h gsl/gsl_cblas.h
+}