summaryrefslogtreecommitdiff
path: root/sci-libs
diff options
context:
space:
mode:
Diffstat (limited to 'sci-libs')
-rw-r--r--sci-libs/Manifest.gzbin45144 -> 45141 bytes
-rw-r--r--sci-libs/arpack/Manifest5
-rw-r--r--sci-libs/arpack/arpack-3.9.1.ebuild65
-rw-r--r--sci-libs/arpack/arpack-9999.ebuild14
-rw-r--r--sci-libs/arpack/files/arpack-3.9.1-bashism-configure.patch42
-rw-r--r--sci-libs/openblas/Manifest2
-rw-r--r--sci-libs/openblas/openblas-0.3.25.ebuild197
7 files changed, 318 insertions, 7 deletions
diff --git a/sci-libs/Manifest.gz b/sci-libs/Manifest.gz
index f07bd030caf7..9d8e909ca04a 100644
--- a/sci-libs/Manifest.gz
+++ b/sci-libs/Manifest.gz
Binary files differ
diff --git a/sci-libs/arpack/Manifest b/sci-libs/arpack/Manifest
index 8f6bdc3b7a3d..6d046ec32eb3 100644
--- a/sci-libs/arpack/Manifest
+++ b/sci-libs/arpack/Manifest
@@ -1,8 +1,11 @@
+AUX arpack-3.9.1-bashism-configure.patch 1561 BLAKE2B 51c67c03323678f7f828410c1220ee0016654eeb4a5cc134b55923f57c34f1801e24ec14a7a988c37ff100d03ec81fef74b1c55381e65d504168cc43ceb0c158 SHA512 58bdac870cb462f0cf2c4f5cb67f32fb4dfd762a3455b577797bfbe3b76065c7cba8cf9bffacda1a16255981dbed498f556c63ad1df4d4dfe48e663630ddbe90
DIST arpack-3.8.0.tar.gz 1014494 BLAKE2B 6daf8a237fdfce527935d777292df150b2f78892d9975f8696a37024fcb78174b29afd300e7abca2684c1907eeda658eb4478f09f580835896c0e10d106cdbbd SHA512 8969c74c4c0459ea2d29ea49d5260f668fd33f73886df0da78a42a94aea93c9f5fb70f5df035266db68807ab09a92c13487a7a4e6ca64922145aade8a148a2de
DIST arpack-3.9.0.tar.gz 1015328 BLAKE2B fc9960025140a9d6a570ee0359c16055c826482fe1ee58c2dc7727cd0ead04fbb940da0e08a6f11e05205d239b1059c93af0e08bf2b6e0cfee61d73f1d0d9816 SHA512 fbcaa2179dd1aa5a39fc3e7d80f377ec90ddf16ef93184a88e6ecfc464ed97e5659f2cf578294ac3e0b0c0da6408c86acf5bbdce533e1e9d2a3121848340d282
+DIST arpack-3.9.1.tar.gz 1020208 BLAKE2B dd1b5b16cc5304bb16ab68055939c8f3c11f761eff69bcfc22b3cb9605b477929f54513649a7becb152e91275bfccdc868d3ccf464fb876732c7ec23a83fe71e SHA512 1ca590a8c4f75aa74402f9bd62e63851039687f4cb11afa8acb05fce1f22a512bff5fd1709ea85fdbea90b344fbbc01e3944c770b5ddc4d1aabc98ac334f78d2
DIST tutorial.ps.gz 105599 BLAKE2B 99570e6a0cc1c020b9c271e8ce1cc224f69ff5333cc818c10b063dc8ffbaf66a9f5c6ede99541b4212286d422146b1c4e332eba7e1635c99efa0e4c2620f0630 SHA512 a7b8fefd1a572ed477ae208d49094c1c65c9368990d12de9b3528e33fed546c947659f74e54a810d04154b4a1b0f9a94bcba4db0cf59d379e20786a261066aa4
DIST ug.ps.gz 248543 BLAKE2B ac010aef470060636fa00360636ba093f0d24d219fa927c79fb1726b798160eda74fa8b4be6c7dff94f5759efcf30afa99ad310e7959115e028738beb8aa125d SHA512 3349117fb10b07207ffbab2ffa31b406d026855ea4c16e8649b14c7d70bc94e11b5730672e34acd654817799136d4bd76569ac50ec78d787df5582d18ed61328
EBUILD arpack-3.8.0-r1.ebuild 1453 BLAKE2B 961ce259165a0088f4b7c474cd0de4d8eeae29938b2a6933e2c53b7cf6efbcfc8c3a18ee726611062d111152f2f0469ba60d85a8ee03ed3aa905733f63573247 SHA512 71f1d53988d140dfc71ec330383878468c65bb1a554bf21a34d3435d7065cbdb4f8f6bc626117306525572a28c19747dd1240e018332fb454ce359666fd2b1a6
EBUILD arpack-3.9.0-r1.ebuild 1369 BLAKE2B 49a19289bbebd6310f9cf72a617737d2718432ab6b381f95e6324d051a7cec0c08b1a5d31fc6c0be9e6879d073e381a0c092733e49340ed2611139d9d28fa03b SHA512 02d9a67298e89266ccb0723b0c56da3fc8a95f8fcf42c201eebf0b615c4e730e74698dd9c35c0548e8787cde3722bb8f628bbffa9fa0a9d6f1ff65111aa449d1
-EBUILD arpack-9999.ebuild 1369 BLAKE2B 49a19289bbebd6310f9cf72a617737d2718432ab6b381f95e6324d051a7cec0c08b1a5d31fc6c0be9e6879d073e381a0c092733e49340ed2611139d9d28fa03b SHA512 02d9a67298e89266ccb0723b0c56da3fc8a95f8fcf42c201eebf0b615c4e730e74698dd9c35c0548e8787cde3722bb8f628bbffa9fa0a9d6f1ff65111aa449d1
+EBUILD arpack-3.9.1.ebuild 1442 BLAKE2B 7ccb6479332b17cb9b594804c925bb8ddad7713017a06c8f2dbe01fa081f2b51a415e60f300e27f8c8613359a6dec57eb7e480c4b18f487fd4c0681029c2545e SHA512 59fdcb9b88d3c744f6bd2f7a6acf51b2f58a49472405338d741e6c908064f374942235770d0bae596a4abd259e9ead76cd3c5b7b411895cb23407c6a88924e3f
+EBUILD arpack-9999.ebuild 1378 BLAKE2B a5c4c35b0d4bb7ec6143bc1f20651496ccd1cbcc3af4c8a57f6a31087371a3e52b37f99452be692d2b81f4f71d2fa7796c6096da93bde0da8c996f9ae0951222 SHA512 d810efed61a3e763cf323e056cce1f072b8847035f5def31243ebc79fd92162575427de733e970e5bb8c322108155245ce7eb67616e93b852ff81a5b264567db
MISC metadata.xml 975 BLAKE2B c586f5c76637d89b4221fc7bde670e0f32b35e3ef73f212a3ebb87893d6741a65e0c95ca981375a0c17231aeb1655c89f4263d6fac869ee29fe8e4e9b026ad06 SHA512 e296ebe68dd0b8a02bc92fdf43057ee2df61f5ff9d04fbc323be7c7b8aaccbb4fe4627d0f1815efe010a0c6f36367dd48417f092303561b4c8e81ac051bfc0bb
diff --git a/sci-libs/arpack/arpack-3.9.1.ebuild b/sci-libs/arpack/arpack-3.9.1.ebuild
new file mode 100644
index 000000000000..6fafe6af781b
--- /dev/null
+++ b/sci-libs/arpack/arpack-3.9.1.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools fortran-2 toolchain-funcs
+
+DESCRIPTION="Arnoldi package library to solve large scale eigenvalue problems"
+HOMEPAGE="http://www.caam.rice.edu/software/ARPACK/ https://github.com/opencollab/arpack-ng"
+
+if [[ ${PV} == *9999 ]]; then
+ EGIT_REPO_URI="https://github.com/opencollab/arpack-ng"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/opencollab/${PN}-ng/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+ S="${WORKDIR}/${PN}-ng-${PV}"
+fi
+
+LICENSE="BSD"
+SLOT="0"
+IUSE="examples mpi"
+
+RDEPEND="
+ virtual/blas
+ virtual/lapack
+ mpi? ( virtual/mpi[fortran] )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.9.1-bashism-configure.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --disable-static \
+ --enable-icb \
+ --with-blas="$($(tc-getPKG_CONFIG) --libs blas)" \
+ --with-lapack="$($(tc-getPKG_CONFIG) --libs lapack)" \
+ $(use_enable mpi)
+}
+
+src_install() {
+ default
+
+ dodoc DOCUMENTS/*.doc
+ newdoc DOCUMENTS/README README.doc
+ if use examples; then
+ dodoc -r EXAMPLES
+ if use mpi; then
+ docinto EXAMPLES/PARPACK
+ dodoc -r PARPACK/EXAMPLES/MPI
+ fi
+ fi
+
+ # no static archives
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/sci-libs/arpack/arpack-9999.ebuild b/sci-libs/arpack/arpack-9999.ebuild
index 543b592a542d..8164bd0bd747 100644
--- a/sci-libs/arpack/arpack-9999.ebuild
+++ b/sci-libs/arpack/arpack-9999.ebuild
@@ -1,21 +1,22 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit autotools fortran-2 toolchain-funcs
+DESCRIPTION="Arnoldi package library to solve large scale eigenvalue problems"
+HOMEPAGE="http://www.caam.rice.edu/software/ARPACK/ https://github.com/opencollab/arpack-ng"
+
if [[ ${PV} == *9999 ]]; then
- inherit git-r3
EGIT_REPO_URI="https://github.com/opencollab/arpack-ng"
+ inherit git-r3
else
SRC_URI="https://github.com/opencollab/${PN}-ng/archive/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
S="${WORKDIR}/${PN}-ng-${PV}"
fi
-DESCRIPTION="Arnoldi package library to solve large scale eigenvalue problems"
-HOMEPAGE="http://www.caam.rice.edu/software/ARPACK/ https://github.com/opencollab/arpack-ng"
LICENSE="BSD"
SLOT="0"
IUSE="examples mpi"
@@ -23,7 +24,8 @@ IUSE="examples mpi"
RDEPEND="
virtual/blas
virtual/lapack
- mpi? ( virtual/mpi[fortran] )"
+ mpi? ( virtual/mpi[fortran] )
+"
DEPEND="${RDEPEND}"
BDEPEND="virtual/pkgconfig"
diff --git a/sci-libs/arpack/files/arpack-3.9.1-bashism-configure.patch b/sci-libs/arpack/files/arpack-3.9.1-bashism-configure.patch
new file mode 100644
index 000000000000..074a43b3ee1d
--- /dev/null
+++ b/sci-libs/arpack/files/arpack-3.9.1-bashism-configure.patch
@@ -0,0 +1,42 @@
+https://github.com/opencollab/arpack-ng/pull/441
+
+From a3beacc11e2acbe0baf8b301cb47938dcf01e71d Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Mon, 13 Nov 2023 02:38:46 +0000
+Subject: [PATCH] configure.ac: fix bashisms
+
+configure scripts need to be runnable with a POSIX-compliant /bin/sh.
+
+On many (but not all!) systems, /bin/sh is provided by Bash, so errors
+like this aren't spotted. Notably Debian defaults to /bin/sh provided
+by dash which doesn't tolerate such bashisms as '=='.
+
+This retains compatibility with bash.
+
+Fixes configure warnings/errors like:
+```
+checking for cheev_ in -llapack... yes
+./configure: 8590: test: x: unexpected operator
+checking how to print strings... printf
+```
+--- a/configure.ac
++++ b/configure.ac
+@@ -20,7 +20,7 @@ dnl Check for LAPACK libraries
+ AX_LAPACK([], [AC_MSG_ERROR([cannot find LAPACK libraries])])
+
+ AC_ARG_VAR(INTERFACE64, [set to 1 to use the 64-bit integer interface (ILP64) for ARPACK, BLAS and LAPACK])
+-if test x"$INTERFACE64" == x"1"; then
++if test x"$INTERFACE64" = x"1"; then
+ AC_LANG_PUSH([Fortran 77])
+ AX_CHECK_COMPILE_FLAG(-fdefault-integer-8, FFLAGS="$FFLAGS -fdefault-integer-8",
+ AX_CHECK_COMPILE_FLAG(-i8, FFLAGS="$FFLAGS -i8",
+@@ -191,7 +191,7 @@ AS_IF([test x"$enable_mpi" != x"no"], [
+ ])
+
+ dnl TODO: this needs full re-write of parpack to support ILP64...
+-if test x"$INTERFACE64" == x"1"; then
++if test x"$INTERFACE64" = x"1"; then
+ if test x"$enable_mpi" != x"no"; then
+ AC_MSG_ERROR([Parallel arpack does not support ILP64.])
+ fi
+
diff --git a/sci-libs/openblas/Manifest b/sci-libs/openblas/Manifest
index 49e906992574..feb9a2ad506b 100644
--- a/sci-libs/openblas/Manifest
+++ b/sci-libs/openblas/Manifest
@@ -3,8 +3,10 @@ AUX openblas-0.3.21-clang16.patch 17596 BLAKE2B 29a6d2716e31ad65de3252375c1a11b7
AUX openblas-0.3.21-fix-loong.patch 7341 BLAKE2B 33bd86e61b8a9d5d7130a4dd3a2d03f2e4ddd9703a3c2d6cf8e31e0af7499ea6128a1b7979f0a347b813292af2dca507d9b06e9ced6ab4e821d5f33ee03e5054 SHA512 c1c19e8965794658baff61bdc9082981b9e69b487c4221837ef10f176b12ee152bad0e37bbd0c347722ee2daf83adb016e75b149dad2b140ad4c631646290642
AUX openblas-0.3.23-parallel-make.patch 1985 BLAKE2B 044edd52499453a46478ab91676e34e97e4ea94ebd7f155bcba8df205a5bb7450f431cf5f4ce2d326a50479ce243687317752c8abcf6d4c95a3f99952f8b0874 SHA512 85473ecbecfb9612089e370087f3a1d7db353e86302f389065cdec96e49b84b57a4cce635c986ac7dc15daee0fe676e55ea5e2856113807e401bd9fb50bb27ff
AUX openblas-0.3.23-shared-blas-lapack.patch 2128 BLAKE2B 42e6ac46c9d62609731e3d7efd57569712325fb4f35b0bc1b119f51babf9b728acc569216c784e30980e20accee70baee20850b5600c7e0800ff04f19415cf08 SHA512 c6358b9682e358082bd862bbc376412c5b33bc967153f544fa2514205bcb4841cfbbc61e93932fcd4b0653ded2d5f853d62ac05081fc970fb541f4cc7281768f
+DIST OpenBLAS-0.3.25.tar.gz 24073168 BLAKE2B c2a173b50f6931e7782c7d429487abd4b1a4ed05aec4f08febbc5cc73b9ed5cb36c9e308bf7cb89ce116b1c25556615d2384087cf7d1b489a4784901951558bc SHA512 69bcf8082575b01ce1734fc9d33454314964a7e81ff29a7c1a764af3083ac0dc24289fd72bbe22c9583398bda7b658d6e4ab1d5036e43412745f0be3c2185b3c
DIST openblas-0.3.21.tar.gz 23729571 BLAKE2B 678bfb13ead69045e7d4d840bbcaed884d9ebedded5425cfa1f55e3d85bda31a3eb43dbbf9f07099d0d198f97ae68ef3b3b2b78aa1bd5b4999dd729dc08f7e28 SHA512 4625c8e6ccfa9120281fd714d3f6b7c3ba2265470c1be76121d6b25dc3dacb899d26e5d9a417ddc616d23909f1411495aa995ef8d8d6df8511cd5cefbabcb1c5
DIST openblas-0.3.23.tar.gz 23950794 BLAKE2B 8394e09c682bba10450248cbbe090bb81c26661eac7d238942055ae0eecce752c8a3481af905de9efe20fe635f2c4a0e06af83bb64c998ab410e4cdc56751a47 SHA512 ea64c693e57eb63cc2a88e4d6ab2d8cf9ab84ae6a15048fb12090a3570dd41053e62e99c1ff9d3e02dd67ca93233591ab41b8c017d06585d0a69222e1ad3023f
EBUILD openblas-0.3.21-r1.ebuild 5639 BLAKE2B 9f42f3af66c8d65d208cff75c03df80df9f9337c55a8c52557e9c6fecbc732cf10a47b36d341bafc0960550fbdc989f263d2aa07a04d7cc1911682ec3953c1b4 SHA512 4a663034ad381724dcaaaabe292d5f5c527c0d66c10f8b7f674ec6d66976d75f072299a90162e04379e6426ca0b4a3967b8ca253e0f125053911b37325f2ad9f
EBUILD openblas-0.3.23.ebuild 5764 BLAKE2B f12334cd767a6261178a04718f7e58d05e43c4d2e97c3973ea3bd844e65041858d5db1b3641eef733faeade0f41d86c12bcdd9f502dae705f39f9605d7769d69 SHA512 368c95b48c89a424fa0ef07520c3e46e2e3c9bb5eb796a45df3e70d7e41b970a9883c346f711d34617cb88a63a2080e63cffb9ddafb082f56efe61345c0afac9
+EBUILD openblas-0.3.25.ebuild 5900 BLAKE2B faa42541b5ac6face1fc7e677364164277faf782c94f58724d611dc89677f8c7e14d403013c64e32c6cc6423e4bfade8f3d2126fa134993244e54693590f04a0 SHA512 6b2a11aea1face9cc40a2290d8e12874bb5a30a01aaca6365fe498d9b514e66243d6ba1c60e2a94801a3ff9c3e48ba538903dc9076d992593383dfd62494d252
MISC metadata.xml 1561 BLAKE2B 5ba7ec66dd8ba7ca8bc29bc0193b48b6a82b4949bb79bab461400040667aa66aac3cfd2ad9c7323798048fd43d18ac96a562d53b68f3f7ae8bf8505ac7a04691 SHA512 05272eb56480ff82b240d0f430df3df03981e24b971dbd37c13d464f4f4b334bac19b54915446a09326a334aa76249bb79a4fa389d26150365f21389992f9a48
diff --git a/sci-libs/openblas/openblas-0.3.25.ebuild b/sci-libs/openblas/openblas-0.3.25.ebuild
new file mode 100644
index 000000000000..904044a4d4ff
--- /dev/null
+++ b/sci-libs/openblas/openblas-0.3.25.ebuild
@@ -0,0 +1,197 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic fortran-2 toolchain-funcs
+
+MY_P=OpenBLAS-${PV}
+DESCRIPTION="Optimized BLAS library based on GotoBLAS2"
+HOMEPAGE="https://github.com/xianyi/OpenBLAS"
+SRC_URI="https://github.com/OpenMathLib/OpenBLAS/releases/download/v${PV}/${MY_P}.tar.gz"
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE="dynamic eselect-ldso index-64bit openmp pthread relapack test"
+REQUIRED_USE="?? ( openmp pthread )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ eselect-ldso? (
+ >=app-eselect/eselect-blas-0.2
+ >=app-eselect/eselect-lapack-0.2
+ )
+"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.3.23-shared-blas-lapack.patch"
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+
+ elog "This software has a massive number of options that"
+ elog "are configurable and it is *impossible* for all of"
+ elog "those to fit inside any manageable ebuild."
+ elog "The Gentoo provided package has enough to build"
+ elog "a fully optimized library for your targeted CPU."
+ elog "You can set the CPU target using the environment"
+ elog "variable - OPENBLAS_TARGET or it will be detected"
+ elog "automatically from the target toolchain (supports"
+ elog "cross compilation toolchains)."
+ elog "You can control the maximum number of threads"
+ elog "using OPENBLAS_NTHREAD, default=64 and number of "
+ elog "parallel calls to allow before further calls wait"
+ elog "using OPENBLAS_NPARALLEL, default=8."
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+
+ fortran-2_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # TODO: Unbundle lapack like Fedora does?
+ # https://src.fedoraproject.org/rpms/openblas/blob/rawhide/f/openblas-0.2.15-system_lapack.patch
+
+ # Don't build the tests as part of "make all". We'll do
+ # it explicitly later if the test phase is enabled.
+ sed -i -e "/^all :: tests/s: tests::g" Makefile || die
+
+ # If 64bit-index is needed, create second library with LIBPREFIX=libopenblas64
+ if use index-64bit; then
+ cp -aL "${S}" "${S}-index-64bit" || die
+ fi
+}
+
+src_configure() {
+ # List of most configurable options is in Makefile.rule.
+
+ # Not an easy fix, https://github.com/xianyi/OpenBLAS/issues/4128
+ filter-lto
+
+ tc-export CC FC LD AR AS RANLIB
+
+ # HOSTCC is used for scripting
+ export HOSTCC="$(tc-getBUILD_CC)"
+
+ # Threading options
+ export USE_THREAD=0
+ export USE_OPENMP=0
+ if use openmp; then
+ USE_THREAD=1
+ USE_OPENMP=1
+ elif use pthread; then
+ USE_THREAD=1
+ USE_OPENMP=0
+ fi
+
+ # Disable submake with -j and default optimization flags in Makefile.system
+ # Makefile.rule says to not modify COMMON_OPT/FCOMMON_OPT...
+ export MAKE_NB_JOBS=-1 COMMON_OPT=" " FCOMMON_OPT=" "
+
+ # Target CPU ARCH options generally detected automatically from cross toolchain
+ #
+ # TODO: Rename USE=dynamic -> USE=cpudetection like dev-libs/gmp, media-video/ffmpeg?
+ # (may want to then restrict bindist w/ USE=-cpudetection.)
+ if use dynamic ; then
+ export DYNAMIC_ARCH=1 NO_AFFINITY=1 TARGET=GENERIC
+ fi
+
+ export NUM_PARALLEL=${OPENBLAS_NPARALLEL:-8} NUM_THREADS=${OPENBLAS_NTHREAD:-64}
+
+ # Allow setting OPENBLAS_TARGET to override auto detection in case the
+ # toolchain is not enough to detect.
+ # https://github.com/xianyi/OpenBLAS/blob/develop/TargetList.txt
+ if ! use dynamic && [[ ! -z "${OPENBLAS_TARGET}" ]] ; then
+ export TARGET="${OPENBLAS_TARGET}"
+ fi
+
+ export NO_STATIC=1
+ export BUILD_RELAPACK=$(usex relapack 1 0)
+ export PREFIX="${EPREFIX}/usr"
+}
+
+src_compile() {
+ emake shared
+
+ use eselect-ldso && emake -C interface shared-blas-lapack
+
+ if use index-64bit; then
+ emake -C "${S}-index-64bit" \
+ INTERFACE64=1 \
+ LIBPREFIX=libopenblas64
+ fi
+}
+
+src_test() {
+ emake tests
+}
+
+src_install() {
+ emake install DESTDIR="${D}" \
+ OPENBLAS_INCLUDE_DIR='$(PREFIX)'/include/${PN} \
+ OPENBLAS_LIBRARY_DIR='$(PREFIX)'/$(get_libdir)
+
+ dodoc GotoBLAS_*.txt *.md Changelog.txt
+
+ if use index-64bit; then
+ dolib.so "${S}-index-64bit"/libopenblas64*.so*
+ fi
+
+ if use eselect-ldso; then
+ insinto /usr/$(get_libdir)/blas/openblas/
+ doins interface/libblas.so.3
+ dosym libblas.so.3 usr/$(get_libdir)/blas/openblas/libblas.so
+ doins interface/libcblas.so.3
+ dosym libcblas.so.3 usr/$(get_libdir)/blas/openblas/libcblas.so
+
+ insinto /usr/$(get_libdir)/lapack/openblas/
+ doins interface/liblapack.so.3
+ dosym liblapack.so.3 usr/$(get_libdir)/lapack/openblas/liblapack.so
+ doins interface/liblapacke.so.3
+ dosym liblapacke.so.3 usr/$(get_libdir)/lapack/openblas/liblapacke.so
+ fi
+}
+
+pkg_postinst() {
+ use eselect-ldso || return
+ local libdir=$(get_libdir) me="openblas"
+
+ # check blas
+ eselect blas add ${libdir} "${EROOT}"/usr/${libdir}/blas/${me} ${me}
+ local current_blas=$(eselect blas show ${libdir} | cut -d' ' -f2)
+ if [[ ${current_blas} == "${me}" || -z ${current_blas} ]]; then
+ eselect blas set ${libdir} ${me}
+ elog "Current eselect: BLAS/CBLAS ($libdir) -> [${current_blas}]."
+ else
+ elog "Current eselect: BLAS/CBLAS ($libdir) -> [${current_blas}]."
+ elog "To use blas [${me}] implementation, you have to issue (as root):"
+ elog "\t eselect blas set ${libdir} ${me}"
+ fi
+
+ # check lapack
+ eselect lapack add ${libdir} "${EROOT}"/usr/${libdir}/lapack/${me} ${me}
+ local current_lapack=$(eselect lapack show ${libdir} | cut -d' ' -f2)
+ if [[ ${current_lapack} == "${me}" || -z ${current_lapack} ]]; then
+ eselect lapack set ${libdir} ${me}
+ elog "Current eselect: LAPACK ($libdir) -> [${current_lapack}]."
+ else
+ elog "Current eselect: LAPACK ($libdir) -> [${current_lapack}]."
+ elog "To use lapack [${me}] implementation, you have to issue (as root):"
+ elog "\t eselect lapack set ${libdir} ${me}"
+ fi
+}
+
+pkg_postrm() {
+ if use eselect-ldso; then
+ eselect blas validate
+ eselect lapack validate
+ fi
+}