sci-libs/blis: Remove old

Signed-off-by: Michał Górny <mgorny@gentoo.org>
This commit is contained in:
Michał Górny
2026-04-05 08:42:04 +02:00
parent ac524142dd
commit d6964ae50a
5 changed files with 0 additions and 417 deletions

View File

@@ -1,2 +1 @@
DIST blis-1.0.tar.gz 15714356 BLAKE2B 7e9b6132ab556adf7ccb2d1bff6c5195eb2f48a9193a6df57d409e25b42f1aaa64f053f97996a6467ad42cbe5848c3689f3e6c501579d5d1083523ca9ed52ce1 SHA512 91cd2a2944762e584f11cb931ba11c4b296e93040b553f105ba8579d748a49cfcb6db8ae2ce1b5a537c0ae88182c9d212a4a5daa757ca4d0a7beee552d2eb55c
DIST blis-2.0.tar.gz 15751849 BLAKE2B 386917ece022fccf373bad6a4b488b04d86097f0fb7406b72e9fdd4ecc09747ea2291ec6d56c756461541b811d7f256a1bd6103c883cca5f6479d7822faf62ae SHA512 5b1195533fe951c025b01b5f92d682217a3c8b3b5477ad20cdbf1d3163e7085167d9be7f552f59173dba7798e2dbacf8772374d4250d3db6404b7f7b9ae67916

View File

@@ -1,183 +0,0 @@
# Copyright 2019-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{11..13} )
inherit python-any-r1 toolchain-funcs
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 ~arm64 ~ppc64 ~x86"
CPU_USE=(
cpu_flags_ppc_{vsx,vsx3}
cpu_flags_arm_{neon,v7,v8,sve}
cpu_flags_x86_{ssse3,avx,fma3,fma4,avx2,avx512vl}
)
IUSE="doc eselect-ldso index64 openmp pthread serial static-libs ${CPU_USE[@]}"
REQUIRED_USE="?? ( openmp pthread serial )"
DEPEND="
eselect-ldso? (
!app-eselect/eselect-cblas
>=app-eselect/eselect-blas-0.2
)
"
RDEPEND="
${DEPEND}
"
BDEPEND="
${PYTHON_DEPS}
dev-lang/perl
"
PATCHES=(
"${FILESDIR}"/${PN}-0.6.0-blas-provider.patch
# to prevent QA Notice: pkg-config files with wrong LDFLAGS detected
"${FILESDIR}"/${PN}-0.8.1-pkg-config.patch
"${FILESDIR}"/${PN}-0.9.0-rpath.patch
"${FILESDIR}"/${PN}-1.0-no-helper-headers.patch
# https://github.com/flame/blis/pull/874
"${FILESDIR}"/${P}-gcc15.patch
)
get_confname() {
local confname=generic
if use x86 || use amd64; then
use cpu_flags_x86_ssse3 && confname=penryn
use cpu_flags_x86_avx && use cpu_flags_x86_fma3 && confname=sandybridge
use cpu_flags_x86_avx && use cpu_flags_x86_fma4 && confname=bulldozer
use cpu_flags_x86_avx && use cpu_flags_x86_fma4 && use cpu_flags_x86_fma3 && confname=piledriver
use cpu_flags_x86_avx2 && confname=haswell
use cpu_flags_x86_avx512vl && confname=skx
elif use arm || use arm64; then
use arm && confname=arm32
use arm64 && confname=arm64
use cpu_flags_arm_neon && use cpu_flags_arm_v7 && confname=cortexa9
use cpu_flags_arm_v8 && confname=cortexa53
use cpu_flags_arm_sve && confname=armsve
elif use ppc || use ppc64; then
confname=power
use cpu_flags_ppc_vsx && confname=power7
use cpu_flags_ppc_vsx3 && confname=power9
fi
echo ${confname}
}
src_configure() {
# This is not an autotools configure file. We don't use econf here.
local myconf=(
--enable-verbose-make
--prefix="${EPREFIX}/usr"
--libdir="${EPREFIX}/usr/$(get_libdir)"
$(use_enable static-libs static)
--enable-blas
--enable-cblas
--enable-shared
)
if use openmp; then
myconf+=( -t openmp )
elif use pthread; then
myconf+=( -t pthreads )
else
myconf+=( -t no )
fi
# confname must always come last
myconf+=( "$(get_confname)" )
local -x CC="$(tc-getCC)"
local -x AR="$(tc-getAR)"
local -x RANLIB="$(tc-getRANLIB)"
if use index64; then
einfo "Configuring ILP64 variant"
cp -r "${S}" "${S}-ilp64" || die
pushd "${S}-ilp64" >/dev/null || die
./configure -b 64 -i 64 "${myconf[@]}" || die
popd >/dev/null || die
fi
einfo "Configuring LP64 variant"
./configure "${myconf[@]}" || die
}
emake64() {
local overrides=(
LIBBLIS=libblis64
MK_INCL_DIR_INST="${ED}/usr/include/blis64"
)
emake -C "${S}-ilp64" "${overrides[@]}" "${@}"
}
src_compile() {
local -x DEB_LIBBLAS=libblas.so.3
local -x DEB_LIBCBLAS=libcblas.so.3
local -x LDS_BLAS="${FILESDIR}"/blas.lds
local -x LDS_CBLAS="${FILESDIR}"/cblas.lds
use index64 && emake64
emake
}
src_test() {
local -x LD_LIBRARY_PATH="lib/$(get_confname)"
emake testblis-fast
./testsuite/check-blistest.sh ./output.testsuite || die
if use index64; then
emake64 testblis-fast
./testsuite/check-blistest.sh "${S}-ilp64"/output.testsuite || die
fi
}
src_install() {
local libroot=/usr/$(get_libdir)
local install_args=(
DESTDIR="${D}"
# remove weird Makefile configs, they're incorrect for index64
# and nothing should be using them anyway
MK_SHARE_DIR_INST="${T}/discard"
# upstream installs .pc file to share, sigh
PC_SHARE_DIR_INST="${ED}${libroot}/pkgconfig"
)
emake "${install_args[@]}" install
if use index64; then
emake64 "${install_args[@]}" install
# we need to make blis64.pc with proper subst ourselves
sed -e 's:blis:&64:' "${ED}${libroot}/pkgconfig"/blis.pc \
> "${ED}${libroot}/pkgconfig"/blis64.pc || die
fi
use doc && dodoc README.md docs/*.md
if use eselect-ldso; then
insinto "${libroot}/blas/blis"
doins lib/*/lib{c,}blas.so.3
dosym libblas.so.3 "${libroot}/blas/blis/libblas.so"
dosym libcblas.so.3 "${libroot}/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}) -> [${me}]."
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
}

View File

@@ -1,139 +0,0 @@
# Copyright 2019-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{11..13} )
inherit python-any-r1 toolchain-funcs
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 ~arm64 ~ppc64 ~x86"
CPU_USE=(
cpu_flags_ppc_{vsx,vsx3}
cpu_flags_arm_{neon,v7,v8,sve}
cpu_flags_x86_{ssse3,avx,fma3,fma4,avx2,avx512vl}
)
IUSE="doc eselect-ldso openmp pthread serial static-libs 64bit-index ${CPU_USE[@]}"
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}
dev-lang/perl
"
PATCHES=(
"${FILESDIR}"/${PN}-0.6.0-blas-provider.patch
# to prevent QA Notice: pkg-config files with wrong LDFLAGS detected
"${FILESDIR}"/${PN}-0.8.1-pkg-config.patch
"${FILESDIR}"/${PN}-0.9.0-rpath.patch
"${FILESDIR}"/${PN}-1.0-no-helper-headers.patch
# https://github.com/flame/blis/pull/874
"${FILESDIR}"/${P}-gcc15.patch
)
get_confname() {
local confname=generic
if use x86 || use amd64; then
use cpu_flags_x86_ssse3 && confname=penryn
use cpu_flags_x86_avx && use cpu_flags_x86_fma3 && confname=sandybridge
use cpu_flags_x86_avx && use cpu_flags_x86_fma4 && confname=bulldozer
use cpu_flags_x86_avx && use cpu_flags_x86_fma4 && use cpu_flags_x86_fma3 && confname=piledriver
use cpu_flags_x86_avx2 && confname=haswell
use cpu_flags_x86_avx512vl && confname=skx
elif use arm || use arm64; then
use arm && confname=arm32
use arm64 && confname=arm64
use cpu_flags_arm_neon && use cpu_flags_arm_v7 && confname=cortexa9
use cpu_flags_arm_v8 && confname=cortexa53
use cpu_flags_arm_sve && confname=armsve
elif use ppc || use ppc64; then
confname=power
use cpu_flags_ppc_vsx && confname=power7
use cpu_flags_ppc_vsx3 && confname=power9
fi
echo ${confname}
}
src_configure() {
local BLIS_FLAGS=()
# 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 )
# This is not an autotools configure file. We don't use econf here.
CC="$(tc-getCC)" AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" ./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 \
$(get_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() {
LD_LIBRARY_PATH=lib/$(get_confname) emake testblis-fast
./testsuite/check-blistest.sh ./output.testsuite || die
}
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
}

View File

@@ -1,93 +0,0 @@
From 6b970700a6fa352d71e1ea14ca44c5f39ce1c770 Mon Sep 17 00:00:00 2001
From: Devin Matthews <damatthews@smu.edu>
Date: Tue, 24 Jun 2025 14:45:14 -0500
Subject: [PATCH 1/2] Apply temporary fix for gcc 15.
Details:
- As reported in #845, gcc 15 fails to build the haswell
gemmsup kernels due to the use of rbp.
- As a temporary fix, disable slp-tree-vectorization in just
the affected files.
- Thanks @loveshack for reporting and @chillenb for the suggested
fix.
- Eventually, the kernels should be rewritten to avoid using rbp.
---
kernels/haswell/3/sup/bli_gemmsup_rv_haswell_asm_d6x8m.c | 7 +++++++
kernels/haswell/3/sup/bli_gemmsup_rv_haswell_asm_d6x8n.c | 7 +++++++
kernels/haswell/3/sup/bli_gemmsup_rv_haswell_asm_s6x16m.c | 7 +++++++
kernels/haswell/3/sup/bli_gemmsup_rv_haswell_asm_s6x16n.c | 7 +++++++
4 files changed, 28 insertions(+)
diff --git a/kernels/haswell/3/sup/bli_gemmsup_rv_haswell_asm_d6x8m.c b/kernels/haswell/3/sup/bli_gemmsup_rv_haswell_asm_d6x8m.c
index 918ca6d46b..e71732de3c 100644
--- a/kernels/haswell/3/sup/bli_gemmsup_rv_haswell_asm_d6x8m.c
+++ b/kernels/haswell/3/sup/bli_gemmsup_rv_haswell_asm_d6x8m.c
@@ -33,6 +33,13 @@
*/
+// This avoids a known issue with GCC15 ("error: bp cannot be used in asm here", #845).
+// Only check for version 15 since this may be fixed in 16 (**fingers crossed**), and also
+// make sure the compiler isn't clang since it also confusingly defines __GNUC__
+#if !defined(__clang__) && defined(__GNUC__) && __GNUC__ == 15
+#pragma GCC optimize("-fno-tree-slp-vectorize")
+#endif
+
#include "blis.h"
#define BLIS_ASM_SYNTAX_ATT
diff --git a/kernels/haswell/3/sup/bli_gemmsup_rv_haswell_asm_d6x8n.c b/kernels/haswell/3/sup/bli_gemmsup_rv_haswell_asm_d6x8n.c
index 3f49068786..880af4207a 100644
--- a/kernels/haswell/3/sup/bli_gemmsup_rv_haswell_asm_d6x8n.c
+++ b/kernels/haswell/3/sup/bli_gemmsup_rv_haswell_asm_d6x8n.c
@@ -33,6 +33,13 @@
*/
+// This avoids a known issue with GCC15 ("error: bp cannot be used in asm here", #845).
+// Only check for version 15 since this may be fixed in 16 (**fingers crossed**), and also
+// make sure the compiler isn't clang since it also confusingly defines __GNUC__
+#if !defined(__clang__) && defined(__GNUC__) && __GNUC__ == 15
+#pragma GCC optimize("-fno-tree-slp-vectorize")
+#endif
+
#include "blis.h"
#define BLIS_ASM_SYNTAX_ATT
diff --git a/kernels/haswell/3/sup/bli_gemmsup_rv_haswell_asm_s6x16m.c b/kernels/haswell/3/sup/bli_gemmsup_rv_haswell_asm_s6x16m.c
index 2b4ee7a9ba..d0814d6d82 100644
--- a/kernels/haswell/3/sup/bli_gemmsup_rv_haswell_asm_s6x16m.c
+++ b/kernels/haswell/3/sup/bli_gemmsup_rv_haswell_asm_s6x16m.c
@@ -33,6 +33,13 @@
*/
+// This avoids a known issue with GCC15 ("error: bp cannot be used in asm here", #845).
+// Only check for version 15 since this may be fixed in 16 (**fingers crossed**), and also
+// make sure the compiler isn't clang since it also confusingly defines __GNUC__
+#if !defined(__clang__) && defined(__GNUC__) && __GNUC__ == 15
+#pragma GCC optimize("-fno-tree-slp-vectorize")
+#endif
+
#include "blis.h"
#define BLIS_ASM_SYNTAX_ATT
diff --git a/kernels/haswell/3/sup/bli_gemmsup_rv_haswell_asm_s6x16n.c b/kernels/haswell/3/sup/bli_gemmsup_rv_haswell_asm_s6x16n.c
index cc47db8bc1..bc2d783e3b 100644
--- a/kernels/haswell/3/sup/bli_gemmsup_rv_haswell_asm_s6x16n.c
+++ b/kernels/haswell/3/sup/bli_gemmsup_rv_haswell_asm_s6x16n.c
@@ -33,6 +33,13 @@
*/
+// This avoids a known issue with GCC15 ("error: bp cannot be used in asm here", #845).
+// Only check for version 15 since this may be fixed in 16 (**fingers crossed**), and also
+// make sure the compiler isn't clang since it also confusingly defines __GNUC__
+#if !defined(__clang__) && defined(__GNUC__) && __GNUC__ == 15
+#pragma GCC optimize("-fno-tree-slp-vectorize")
+#endif
+
#include "blis.h"
#define BLIS_ASM_SYNTAX_ATT

View File

@@ -31,6 +31,5 @@
<flag name="pthread">Use pthread threadding model</flag>
<flag name="serial">Use no threadding model</flag>
<flag name="eselect-ldso">Enable runtime library switching by eselect and ld.so.</flag>
<flag name="64bit-index">Enable 64bit array indexing, incompatible with runtime switching</flag>
</use>
</pkgmetadata>