Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
sci-libs/openblas: bump to 0.3.6, solving problem with gcc-9.1.0 .
Signed-off-by: Mo Zhou <cdluminate@gmail.com>
- Loading branch information
1 parent
98f811b
commit 2c65028
Showing
2 changed files
with
107 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,2 @@ | ||
DIST openblas-0.3.5.tar.gz 11853101 BLAKE2B a9b249bc397fcb1d80401d1c60c6985803016e4fd0908649fe6386ae84a09a53569814b3af65fd8fbfa92f2cdd5d4af313ba91a80f7daa7e481a7941cbb9af2c SHA512 15520c3eca79b002f1afbee64257afa24705dec667a89bd46acfcdae426e29342816fb586db98ff256fcc9d0fd744b14b347fed23995958e7646a5e3e7310cf4 | ||
DIST openblas-0.3.6.tar.gz 11923774 BLAKE2B 0133b83a4449fd7f86d6379129be4e4477df338d0a402a7787eec317838922b175315c6e6b014a2c7ed6aa1c58509a28f6b48c641e043af067434c4315f1fdb1 SHA512 e432ae8bfbdc8e8c6336553e05181ab38576164c140ef2a6ddb2a66479f724bd4e60a2c90f7bc15bf18eefa7045e7775dedae421fb71296b8d250132c2407b07 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,106 @@ | ||
# Copyright 1999-2017 Gentoo Foundation | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=7 | ||
|
||
DESCRIPTION="Optimized BLAS library based on GotoBLAS2" | ||
HOMEPAGE="http://xianyi.github.com/OpenBLAS/" | ||
SRC_URI="https://github.com/xianyi/OpenBLAS/tarball/v${PV} -> ${P}.tar.gz" | ||
|
||
LICENSE="BSD" | ||
SLOT="0" | ||
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos" | ||
IUSE="dynamic openmp pthread serial static-libs eselect-ldso" | ||
REQUIRED_USE="?? ( openmp pthread serial )" | ||
|
||
RDEPEND=" | ||
eselect-ldso? ( >=app-eselect/eselect-blas-0.2 | ||
!app-eselect/eselect-cblas | ||
>=app-eselect/eselect-lapack-0.2 ) | ||
" | ||
DEPEND="${RDEPEND} | ||
virtual/pkgconfig" | ||
|
||
PATCHES=( "${FILESDIR}/shared-blas-lapack.patch" ) | ||
|
||
openblas_flags() { | ||
local flags=() | ||
use dynamic && \ | ||
flags+=( DYNAMIC_ARCH=1 TARGET=GENERIC NUM_THREADS=64 NO_AFFINITY=1 ) | ||
if use openmp; then | ||
flags+=( USE_THREAD=1 USE_OPENMP=1 ) | ||
elif use pthread; then | ||
flags+=( USE_THREAD=1 USE_OPENMP=0 ) | ||
else | ||
flags+=( USE_THREAD=0 ) # serial | ||
fi | ||
flags+=( DESTDIR="${D}" PREFIX="${EPREFIX}/usr" ) | ||
flags+=( OPENBLAS_INCLUDE_DIR='$(PREFIX)'/include/${PN} ) | ||
flags+=( OPENBLAS_LIBRARY_DIR='$(PREFIX)'/$(get_libdir) ) | ||
echo "${flags[@]}" | ||
} | ||
|
||
src_unpack () { | ||
default | ||
find "${WORKDIR}" -maxdepth 1 -type d -name \*OpenBLAS\* && \ | ||
mv "${WORKDIR}"/*OpenBLAS* "${S}" || die | ||
} | ||
|
||
src_compile () { | ||
emake $(openblas_flags) | ||
emake -Cinterface shared-blas-lapack $(openblas_flags) | ||
} | ||
|
||
src_install () { | ||
emake install $(openblas_flags) | ||
|
||
if use eselect-ldso; then | ||
dodir /usr/$(get_libdir)/blas/openblas/ | ||
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 | ||
|
||
dodir /usr/$(get_libdir)/lapack/openblas/ | ||
insinto /usr/$(get_libdir)/lapack/openblas/ | ||
doins interface/liblapack.so.3 | ||
dosym liblapack.so.3 usr/$(get_libdir)/lapack/openblas/liblapack.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 | ||
} |