From 9452a6e87b6c2c70513bc47a2470bf9f1168920e Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 13 Jun 2020 10:39:22 +0100 Subject: gentoo resync : 13.06.2020 --- sci-libs/openblas/Manifest | 9 +- sci-libs/openblas/files/dont-clobber-fflags.patch | 31 +++++ sci-libs/openblas/metadata.xml | 56 ++++++--- sci-libs/openblas/openblas-0.3.6.ebuild | 127 ------------------- sci-libs/openblas/openblas-0.3.7.ebuild | 127 ------------------- sci-libs/openblas/openblas-0.3.9-r1.ebuild | 141 ++++++++++++++++++++++ sci-libs/openblas/openblas-0.3.9.ebuild | 127 ------------------- 7 files changed, 211 insertions(+), 407 deletions(-) create mode 100644 sci-libs/openblas/files/dont-clobber-fflags.patch delete mode 100644 sci-libs/openblas/openblas-0.3.6.ebuild delete mode 100644 sci-libs/openblas/openblas-0.3.7.ebuild create mode 100644 sci-libs/openblas/openblas-0.3.9-r1.ebuild delete mode 100644 sci-libs/openblas/openblas-0.3.9.ebuild (limited to 'sci-libs/openblas') diff --git a/sci-libs/openblas/Manifest b/sci-libs/openblas/Manifest index 2c21b42dd6be..aea16f086ed1 100644 --- a/sci-libs/openblas/Manifest +++ b/sci-libs/openblas/Manifest @@ -1,8 +1,5 @@ +AUX dont-clobber-fflags.patch 1251 BLAKE2B 7451d67e8676be33c2070b9eea767d24d961eff708eec3f6544b68228963166138f844f51dde8d48f723412ce0fcb6d0da427d298c652156da56d34073a1c82c SHA512 d06cd469749c88c69e2bdab01b5c0c67105a756a6d4c3704842335261ad57f6e898ceb73943487396178ae99ccf2ee3e551ae5881996af54e36fb951c6be43dc AUX shared-blas-lapack.patch 5557 BLAKE2B 1e41b18e5a9c12eec9283c835e9b09e4ca89c6512f47a2f158f29c8a8a822d0365ad350177e379bec13f7c7574d8debd55a2f612027ff661c67ac7b226bb2370 SHA512 baa23f0c2bc8b7bc3384d7b8fa20eb5e095f20e1d8859badb55e680ccd435a851da6099b20aa203e46d62096ac93663ea130bea04dabf19432522e53139d393b -DIST openblas-0.3.6.tar.gz 11923774 BLAKE2B 0133b83a4449fd7f86d6379129be4e4477df338d0a402a7787eec317838922b175315c6e6b014a2c7ed6aa1c58509a28f6b48c641e043af067434c4315f1fdb1 SHA512 e432ae8bfbdc8e8c6336553e05181ab38576164c140ef2a6ddb2a66479f724bd4e60a2c90f7bc15bf18eefa7045e7775dedae421fb71296b8d250132c2407b07 -DIST openblas-0.3.7.tar.gz 11991860 BLAKE2B c4eebcbdda8c15ce384195bd2a57d3638b9a8fa9a0484dc3af9dcef0543e7bbfd8444b65ede36379f2182a9bd3df085070210d289c916dfa428da7ab6889eb43 SHA512 424d1c9c6fd97f6af4fdb7d7dce320cf5eab867a027e576531e39df934358736c4efab88782f781ec8f4afa8d992544040e3bbff3a4736c20cf4256d3a8e517d DIST openblas-0.3.9.tar.gz 12189745 BLAKE2B 3cc4c6a403d6a52845cf4ff8cef254f57587e17e3d09bfb6ed7c02ad06a6002e50b340177c73a944c2a621c12b7f494c516025751c194d019662c0b4db17f4dc SHA512 c6b8ee465f1cf53b37f21ec3ff9a28d5cafe20fec59d8c1bff5923a9e1989dfa5ae8c032a5d43988fe7722ed08c64c7957a3d30e6ae917e2e7aa2977a91e67a3 -EBUILD openblas-0.3.6.ebuild 3527 BLAKE2B b96c8f9ea59e8c485e956f234e421f4468e2be9c168dce8d9ed035ea34a87fb2bd1630595cad5f35de38f004b14eb524d2ef09e2d57e1516aa60febafc063928 SHA512 d0d36364c374348f6d19640d9025f8b23ccb78cff10290433411a1eee37345e35b6b4dd80991cf0411dac042e8151ba4f4f5a0cb724ffa80063ca3e32f778eac -EBUILD openblas-0.3.7.ebuild 3527 BLAKE2B b96c8f9ea59e8c485e956f234e421f4468e2be9c168dce8d9ed035ea34a87fb2bd1630595cad5f35de38f004b14eb524d2ef09e2d57e1516aa60febafc063928 SHA512 d0d36364c374348f6d19640d9025f8b23ccb78cff10290433411a1eee37345e35b6b4dd80991cf0411dac042e8151ba4f4f5a0cb724ffa80063ca3e32f778eac -EBUILD openblas-0.3.9.ebuild 3527 BLAKE2B b96c8f9ea59e8c485e956f234e421f4468e2be9c168dce8d9ed035ea34a87fb2bd1630595cad5f35de38f004b14eb524d2ef09e2d57e1516aa60febafc063928 SHA512 d0d36364c374348f6d19640d9025f8b23ccb78cff10290433411a1eee37345e35b6b4dd80991cf0411dac042e8151ba4f4f5a0cb724ffa80063ca3e32f778eac -MISC metadata.xml 884 BLAKE2B a2fa7ef571e7fa3a5390f73e40f58fe54b156e9a706c046e88b844de341b0689b8a5fe996fa31ea48f913bfbf064271983d065dd1ada7109212240bcb766317a SHA512 088a07f3bb464717bd8403c9547def9c361b1d0c9f3e5d3398d93c7d8f7b54b4ec47ec82b4d72409ad926a6e49fc297cdbe43b7ea199cf1d64ac27091930868d +EBUILD openblas-0.3.9-r1.ebuild 4076 BLAKE2B 672d56f31f5148e878eb6b4cd2b5200e1d844d9f3e5e8d0bd0583c3052c4b15fa42fcbf4195c6a3c3a855b6b68f2a6e20f8bb129cff40ea268895972bd3b44e4 SHA512 82087864918ad0ac4777b88d5b5ec2036b7b2040d5b30af8247d960b8f460561d7215ca459087fe012ca537e65ac6fbb98c542d5bd1f57a1a9f25c940b33dc85 +MISC metadata.xml 1460 BLAKE2B 22d1770bd4a58a0be80b7b1b04a7a6909d6bc7ff166a242c46294a1d39f5adf928c9e6f00835b79ef1c2df1747efa3b04d9b380a964581eeb963ea17e453ec9b SHA512 da3e981cab096d3bc18077ac210ccb1b91350418969549467c22f286196b18fb080eeb8a6183247b47de65cbd0a7fb67a16f2e46911aac6c5e9e9f01c193764f diff --git a/sci-libs/openblas/files/dont-clobber-fflags.patch b/sci-libs/openblas/files/dont-clobber-fflags.patch new file mode 100644 index 000000000000..21bbec4b1b3b --- /dev/null +++ b/sci-libs/openblas/files/dont-clobber-fflags.patch @@ -0,0 +1,31 @@ +From 05c96dad9b26cc1f00831661dc55139dcc9d5680 Mon Sep 17 00:00:00 2001 +From: Michael Orlitzky +Date: Thu, 11 Jun 2020 18:32:17 -0400 +Subject: [PATCH 1/1] Makefile: don't clobber fortran flags while building + lapack. + +When a user has the FFLAGS environment variable set, it clobbers the +flags used to compile lapack. This can lead to "rare and hard to +reproduce crashes" or test failures, as we have observed in Gentoo. + +Issue: https://github.com/xianyi/OpenBLAS/issues/2657 +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index a22e16ba..2bae565e 100644 +--- a/Makefile ++++ b/Makefile +@@ -248,7 +248,7 @@ prof_lapack : lapack_prebuild + lapack_prebuild : + ifeq ($(NOFORTRAN), $(filter 0,$(NOFORTRAN))) + -@echo "FC = $(FC)" > $(NETLIB_LAPACK_DIR)/make.inc +- -@echo "FFLAGS = $(LAPACK_FFLAGS)" >> $(NETLIB_LAPACK_DIR)/make.inc ++ -@echo "override FFLAGS = $(LAPACK_FFLAGS)" >> $(NETLIB_LAPACK_DIR)/make.inc + -@echo "POPTS = $(LAPACK_FPFLAGS)" >> $(NETLIB_LAPACK_DIR)/make.inc + -@echo "FFLAGS_NOOPT = -O0 $(LAPACK_NOOPT)" >> $(NETLIB_LAPACK_DIR)/make.inc + -@echo "PNOOPT = $(LAPACK_FPFLAGS) -O0" >> $(NETLIB_LAPACK_DIR)/make.inc +-- +2.26.2 + diff --git a/sci-libs/openblas/metadata.xml b/sci-libs/openblas/metadata.xml index fa16b081f106..0661dad2eee9 100644 --- a/sci-libs/openblas/metadata.xml +++ b/sci-libs/openblas/metadata.xml @@ -1,24 +1,40 @@ - - sci@gentoo.org - Gentoo Science Project - - - lumin@debian.org - Mo Zhou - - - OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version. - - - Build dynamic architecture detection at run time (for multi targets) - Enable BLAS/LAPACK runtime switching - Compile a separate INTERFACE64 OpenBLAS - Build with pthread threading model - - - xianyi/OpenBLAS - + + sci@gentoo.org + Gentoo Science Project + + + lumin@debian.org + Mo Zhou + + + OpenBLAS is an optimized Basic Linear Algebra Subprograms (BLAS) + library based on GotoBLAS2 1.13 BSD version. It was forked when + Mr. Kazushige Goto left TACC and GotoBLAS became unmaintained. In + general, BLAS is the computational kernel ("the bottom of the food + chain") in linear algebra or scientific applications. Thus, if + your BLAS implementation is highly optimized, the whole + application can substantially benefit. OpenBLAS has optimized code + for modern architectures, and has accrued many other features and + bug fixes beyond GotoBLAS. + + + + Build dynamic architecture detection at run time (for multi targets) + + + Enable BLAS/LAPACK runtime switching + + + Compile a separate INTERFACE64 OpenBLAS + + + Build with pthread threading model + + + + xianyi/OpenBLAS + diff --git a/sci-libs/openblas/openblas-0.3.6.ebuild b/sci-libs/openblas/openblas-0.3.6.ebuild deleted file mode 100644 index 9aa17003313d..000000000000 --- a/sci-libs/openblas/openblas-0.3.6.ebuild +++ /dev/null @@ -1,127 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -inherit fortran-2 toolchain-funcs - -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 eselect-ldso index-64bit openmp pthread" -REQUIRED_USE="?? ( openmp pthread )" - -RDEPEND=" - eselect-ldso? ( >=app-eselect/eselect-blas-0.2 - !app-eselect/eselect-cblas - >=app-eselect/eselect-lapack-0.2 )" - -DEPEND="virtual/pkgconfig" - -PATCHES=( "${FILESDIR}/shared-blas-lapack.patch" ) - -pkg_setup() { - fortran-2_pkg_setup - use openmp && tc-check-openmp - export CC=$(tc-getCC) FC=$(tc-getFC) - - use dynamic && \ - export DYNAMIC_ARCH=1 TARGET=GENERIC NUM_THREADS=64 NO_AFFINITY=1 - - # disable submake with -j - export MAKE_NB_JOBS=-1 - - USE_THREAD=0 - if use openmp; then - USE_THREAD=1; USE_OPENMP=1; - elif use pthread; then - USE_THREAD=1; USE_OPENMP=0; - fi - export USE_THREAD USE_OPENMP - - export PREFIX="${EPREFIX}/usr" -} - -src_unpack() { - default - mv "${WORKDIR}"/*OpenBLAS* "${S}" || die - if use index-64bit; then - cp -aL "${S}" "${S}-index-64bit" || die - fi -} - -src_compile() { - emake - emake -Cinterface 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 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 - - if use index-64bit; then - insinto /usr/$(get_libdir)/ - dolib.so "${S}-index-64bit"/libopenblas64*.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 -} diff --git a/sci-libs/openblas/openblas-0.3.7.ebuild b/sci-libs/openblas/openblas-0.3.7.ebuild deleted file mode 100644 index 9aa17003313d..000000000000 --- a/sci-libs/openblas/openblas-0.3.7.ebuild +++ /dev/null @@ -1,127 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -inherit fortran-2 toolchain-funcs - -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 eselect-ldso index-64bit openmp pthread" -REQUIRED_USE="?? ( openmp pthread )" - -RDEPEND=" - eselect-ldso? ( >=app-eselect/eselect-blas-0.2 - !app-eselect/eselect-cblas - >=app-eselect/eselect-lapack-0.2 )" - -DEPEND="virtual/pkgconfig" - -PATCHES=( "${FILESDIR}/shared-blas-lapack.patch" ) - -pkg_setup() { - fortran-2_pkg_setup - use openmp && tc-check-openmp - export CC=$(tc-getCC) FC=$(tc-getFC) - - use dynamic && \ - export DYNAMIC_ARCH=1 TARGET=GENERIC NUM_THREADS=64 NO_AFFINITY=1 - - # disable submake with -j - export MAKE_NB_JOBS=-1 - - USE_THREAD=0 - if use openmp; then - USE_THREAD=1; USE_OPENMP=1; - elif use pthread; then - USE_THREAD=1; USE_OPENMP=0; - fi - export USE_THREAD USE_OPENMP - - export PREFIX="${EPREFIX}/usr" -} - -src_unpack() { - default - mv "${WORKDIR}"/*OpenBLAS* "${S}" || die - if use index-64bit; then - cp -aL "${S}" "${S}-index-64bit" || die - fi -} - -src_compile() { - emake - emake -Cinterface 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 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 - - if use index-64bit; then - insinto /usr/$(get_libdir)/ - dolib.so "${S}-index-64bit"/libopenblas64*.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 -} diff --git a/sci-libs/openblas/openblas-0.3.9-r1.ebuild b/sci-libs/openblas/openblas-0.3.9-r1.ebuild new file mode 100644 index 000000000000..b0daf6becad6 --- /dev/null +++ b/sci-libs/openblas/openblas-0.3.9-r1.ebuild @@ -0,0 +1,141 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +inherit flag-o-matic fortran-2 toolchain-funcs + +DESCRIPTION="Optimized BLAS library based on GotoBLAS2" +HOMEPAGE="http://xianyi.github.com/OpenBLAS/" +SRC_URI="https://github.com/xianyi/OpenBLAS/archive/v${PV} -> ${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos" +IUSE="dynamic eselect-ldso index-64bit openmp pthread test" +REQUIRED_USE="?? ( openmp pthread )" +RESTRICT="!test? ( test )" + +RDEPEND=" + eselect-ldso? ( >=app-eselect/eselect-blas-0.2 + !app-eselect/eselect-cblas + >=app-eselect/eselect-lapack-0.2 )" + +DEPEND="virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}/shared-blas-lapack.patch" + "${FILESDIR}/dont-clobber-fflags.patch" +) + +pkg_setup() { + fortran-2_pkg_setup + use openmp && tc-check-openmp + + # We need to filter these while building the library, and not just + # while building the test suite. Will hopefully get fixed upstream: + # https://github.com/xianyi/OpenBLAS/issues/2657 + use test && filter-flags "-fbounds-check" "-fcheck=bounds" "-fcheck=all" + + export CC=$(tc-getCC) FC=$(tc-getFC) + + use dynamic && \ + export DYNAMIC_ARCH=1 TARGET=GENERIC NUM_THREADS=64 NO_AFFINITY=1 + + # disable submake with -j + export MAKE_NB_JOBS=-1 + + # Set these to "nothing" to prevent the default optimization flags + # from being added in Makefile.system. + export COMMON_OPT=" " FCOMMON_OPT=" " + + USE_THREAD=0 + if use openmp; then + USE_THREAD=1; USE_OPENMP=1; + elif use pthread; then + USE_THREAD=1; USE_OPENMP=0; + fi + export USE_THREAD USE_OPENMP + + export PREFIX="${EPREFIX}/usr" +} + +src_unpack() { + default + mv "${WORKDIR}"/*OpenBLAS* "${S}" || die + if use index-64bit; then + cp -aL "${S}" "${S}-index-64bit" || die + fi +} + +src_compile() { + # We have to try extra hard to override AR for now. + # https://github.com/xianyi/OpenBLAS/issues/2654 + emake AR="$(tc-getAR)" + emake AR="$(tc-getAR)" -Cinterface 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 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 + fi + + if use index-64bit; then + insinto /usr/$(get_libdir)/ + dolib.so "${S}-index-64bit"/libopenblas64*.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 +} diff --git a/sci-libs/openblas/openblas-0.3.9.ebuild b/sci-libs/openblas/openblas-0.3.9.ebuild deleted file mode 100644 index 9aa17003313d..000000000000 --- a/sci-libs/openblas/openblas-0.3.9.ebuild +++ /dev/null @@ -1,127 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -inherit fortran-2 toolchain-funcs - -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 eselect-ldso index-64bit openmp pthread" -REQUIRED_USE="?? ( openmp pthread )" - -RDEPEND=" - eselect-ldso? ( >=app-eselect/eselect-blas-0.2 - !app-eselect/eselect-cblas - >=app-eselect/eselect-lapack-0.2 )" - -DEPEND="virtual/pkgconfig" - -PATCHES=( "${FILESDIR}/shared-blas-lapack.patch" ) - -pkg_setup() { - fortran-2_pkg_setup - use openmp && tc-check-openmp - export CC=$(tc-getCC) FC=$(tc-getFC) - - use dynamic && \ - export DYNAMIC_ARCH=1 TARGET=GENERIC NUM_THREADS=64 NO_AFFINITY=1 - - # disable submake with -j - export MAKE_NB_JOBS=-1 - - USE_THREAD=0 - if use openmp; then - USE_THREAD=1; USE_OPENMP=1; - elif use pthread; then - USE_THREAD=1; USE_OPENMP=0; - fi - export USE_THREAD USE_OPENMP - - export PREFIX="${EPREFIX}/usr" -} - -src_unpack() { - default - mv "${WORKDIR}"/*OpenBLAS* "${S}" || die - if use index-64bit; then - cp -aL "${S}" "${S}-index-64bit" || die - fi -} - -src_compile() { - emake - emake -Cinterface 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 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 - - if use index-64bit; then - insinto /usr/$(get_libdir)/ - dolib.so "${S}-index-64bit"/libopenblas64*.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 -} -- cgit v1.2.3