From 2771f79232c273bc2a57d23bf335dd81ccf6af28 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sun, 5 Dec 2021 02:47:11 +0000 Subject: gentoo resync : 05.12.2021 --- sci-libs/blis/Manifest | 3 + sci-libs/blis/blis-0.8.1.ebuild | 112 ++++++++++++++++++++++++ sci-libs/blis/files/blis-0.8.1-pkg-config.patch | 9 ++ 3 files changed, 124 insertions(+) create mode 100644 sci-libs/blis/blis-0.8.1.ebuild create mode 100644 sci-libs/blis/files/blis-0.8.1-pkg-config.patch (limited to 'sci-libs/blis') diff --git a/sci-libs/blis/Manifest b/sci-libs/blis/Manifest index 537b23ebb27b..d857e3975579 100644 --- a/sci-libs/blis/Manifest +++ b/sci-libs/blis/Manifest @@ -1,7 +1,10 @@ AUX blas.lds 204 BLAKE2B 0e24237d75a95258e8e8bb6880fa8e5ecf0b59c15d03ed94af2a75f59c13d3ac6b81e630fe488a07eea5f738664604b3e7720ebc4d1865959c05d26d367d6294 SHA512 bfe176f5a707e3698d78983fc71e9bbb36bb433584b4abdb8add9bde2ae9d159c861f3662a3d8caa6f412a3acfda243f6d8ca650f596d2d444fe77cc5df10672 AUX blis-0.6.0-blas-provider.patch 581 BLAKE2B bde52a363fa6a7b26da98ae6cf8af06311bd9fe2f5729d1759621238cc33437abb9b0fbf01d80a6f6a80a7871fd687e9fe047efcb8cc05c5a3cdc0cdf7e4a7d9 SHA512 e291becb8f5b99a11b75779f7a549681fb38cf04fe15516225caadf2672dda8ed5db9e24030c5cd3c261f5fc2b6d96d7e078aa9076e3fd46dfce39afc5681515 AUX blis-0.6.0-rpath.patch 384 BLAKE2B f5a0390384d30d2929fcb5ff22424770dc3b6a4b9e3796b675a0237d9a1971c358463d5a98aee2f4851396b81b85f67d49e8015e94ce433d2b3a6f7f17e54b15 SHA512 626acf971adfdcee9d8578283f64f2e4e5dad14da4a6d38b7198635c775823312b54cd1b11e3f4a79e79716358f1f4260d5b88be74705ae6ec4eb3fd4ce2723a +AUX blis-0.8.1-pkg-config.patch 332 BLAKE2B da0a76014ea73f251ac57fa609a20c73dc2c942104ac7cee11845084f0d5c107b5e572c4f2ee05eda6416f26f8285bf13d85865d73c9f84a35b940d884a41554 SHA512 00aabb7992bd90f508c054c23c2db3ccbee6e8db2c499b73bfc82e008a5df66eec3980d7a71935573a7905e2598bc9ae154cb4d1ff12d24df93afb8b8930e993 AUX cblas.lds 205 BLAKE2B ab2c41b571dbb9b55e36fa5afe4344ed9ef33454f6b7a5cda0726aa7f98a61dcef3065976cc02ab593aad94c5d6c0a23efce726da30673bd06cf57b64e826b93 SHA512 23008248e2b2c221a9ce36c2aca3e2acf58a6d434ffde498a058689af5d16d6e87ab56900508bb0403c5f5a1fc9366b202a7fc44a42d04c409197ec1ec164408 DIST blis-0.6.0.tar.gz 5107257 BLAKE2B cd589ad1216486e8bb0cf574cc096c1e1f2bb9587b182c2bcff44db322468d9f027323c0bf2d22ea0fabb1902dc047d2bf62253ef1c2797fc3de9ba53d7fc34a SHA512 74e9da5146f7986cbd11651d7cd0837562a1603c667b9e6d3f79b5057443de657b60d7463cb2d64daf3eff7d33fc05a64e6d8eb807f4cabe0c3121517924a206 +DIST blis-0.8.1.tar.gz 13442609 BLAKE2B cc4167aaa6461b73876f428de2ab02107803fd6d63df101bf30de4c6ca57241e29f09dfb82fe1cfec8c661b2d9efe65ab854ad7719bf36e27f8a33bf3dd4bb92 SHA512 f920e6ae699af899caca27274b55bb944c886c882dfc06bc2f66d069c08e6d4999c130626cd96297308c1b7e85e77e6552bf981cce37dbbaa5acdf0cb5078e02 EBUILD blis-0.6.0.ebuild 2655 BLAKE2B 88cfec3304d3cd5c642f738b5cbb6a3417b9b210522e66a27491e383e956f054dc46f897a0d1d3de5762cc7c1f2c2015eae01d737570453170341157f67e0d5c SHA512 ad8782822a00d827aeb1cc0f730abc7373812999f1e24071f73638107906b8b60ff87f54579adea89c6c18d6fa8a3f73d15dd63febda2aa4d5f08fe5a47c9c2f +EBUILD blis-0.8.1.ebuild 2700 BLAKE2B afe92a05b694a13709d7a4ec4f4c54cc1bb4cf4c4c3cbe5ab2dc128399ad5741d69b7ea26654b029c8479106908ac76b51cb9b555aef317b734c15b17ea3426c SHA512 f47aa66f3f62b46a45896f290ad9cfcafc452e77d967b447c74b3552f399d26f17f289fce74fe16bb348ce927be5faf84925465f59a22068ff09ebf5fc6b8b60 MISC metadata.xml 1623 BLAKE2B 03c7ba201758ab9743139857eb4a56119f45e4ba1afbb3bcf20ee44e9b4de928343ebde1cd40b957b32337f39356891e9969f426c6a49704169f33c53bb61c3e SHA512 221f8c9d86ba7795f8baaa29c176ff042df1086295da47bf1aa75b822a594f28e2b76033d2a795eb6a417eaf806292db1582980f7ebb920ba354ca1c57f1fc22 diff --git a/sci-libs/blis/blis-0.8.1.ebuild b/sci-libs/blis/blis-0.8.1.ebuild new file mode 100644 index 000000000000..e94157178cb8 --- /dev/null +++ b/sci-libs/blis/blis-0.8.1.ebuild @@ -0,0 +1,112 @@ +# Copyright 2019-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{8..10} ) +inherit python-any-r1 + +DESCRIPTION="BLAS-like Library Instantiation Software Framework" +HOMEPAGE="https://github.com/flame/blis" +SRC_URI="https://github.com/flame/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~ppc64 ~x86" +IUSE="doc eselect-ldso openmp pthread serial static-libs 64bit-index" +REQUIRED_USE=" + ?? ( openmp pthread serial ) + ?? ( eselect-ldso 64bit-index )" + +DEPEND=" + eselect-ldso? ( + !app-eselect/eselect-cblas + >=app-eselect/eselect-blas-0.2 + )" + +RDEPEND="${DEPEND}" +BDEPEND="${PYTHON_DEPS}" + +PATCHES=( + "${FILESDIR}"/${PN}-0.6.0-rpath.patch + "${FILESDIR}"/${PN}-0.6.0-blas-provider.patch + "${FILESDIR}"/${P}-pkg-config.patch +) + +src_configure() { + local BLIS_FLAGS=() + local confname + # determine flags + if use openmp; then + BLIS_FLAGS+=( -t openmp ) + elif use pthread; then + BLIS_FLAGS+=( -t pthreads ) + else + BLIS_FLAGS+=( -t no ) + fi + use 64bit-index && BLIS_FLAGS+=( -b 64 -i 64 ) + # determine config name + case "${ARCH}" in + "x86" | "amd64") + confname=auto ;; + "ppc64") + confname=generic ;; + *) + confname=generic ;; + esac + # This is not an autotools configure file. We don't use econf here. + ./configure \ + --enable-verbose-make \ + --prefix="${BROOT}"/usr \ + --libdir="${BROOT}"/usr/$(get_libdir) \ + $(use_enable static-libs static) \ + --enable-blas \ + --enable-cblas \ + "${BLIS_FLAGS[@]}" \ + --enable-shared \ + $confname || die +} + +src_compile() { + DEB_LIBBLAS=libblas.so.3 DEB_LIBCBLAS=libcblas.so.3 \ + LDS_BLAS="${FILESDIR}"/blas.lds LDS_CBLAS="${FILESDIR}"/cblas.lds \ + default +} + +src_test() { + emake check +} + +src_install() { + default + use doc && dodoc README.md docs/*.md + + if use eselect-ldso; then + insinto /usr/$(get_libdir)/blas/blis + doins lib/*/lib{c,}blas.so.3 + dosym libblas.so.3 usr/$(get_libdir)/blas/blis/libblas.so + dosym libcblas.so.3 usr/$(get_libdir)/blas/blis/libcblas.so + fi +} + +pkg_postinst() { + use eselect-ldso || return + + local libdir=$(get_libdir) me="blis" + + # 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 +} + +pkg_postrm() { + use eselect-ldso && eselect blas validate +} diff --git a/sci-libs/blis/files/blis-0.8.1-pkg-config.patch b/sci-libs/blis/files/blis-0.8.1-pkg-config.patch new file mode 100644 index 000000000000..2e1f189422a3 --- /dev/null +++ b/sci-libs/blis/files/blis-0.8.1-pkg-config.patch @@ -0,0 +1,9 @@ +diff -Nur a/blis.pc.in b/blis.pc.in +--- a/blis.pc.in 2021-11-29 13:23:43.692800836 +0800 ++++ b/blis.pc.in 2021-11-29 13:25:52.150795803 +0800 +@@ -7,5 +7,4 @@ + Description: BLAS-like Library Instantiation Software Framework + Version: @PACKAGE_VERSION@ + Libs: -L${libdir} -lblis +-Libs.private: @LDFLAGS@ + Cflags: -I${includedir}/blis -- cgit v1.2.3