summaryrefslogtreecommitdiff
path: root/sci-libs/openblas
diff options
context:
space:
mode:
Diffstat (limited to 'sci-libs/openblas')
-rw-r--r--sci-libs/openblas/Manifest8
-rw-r--r--sci-libs/openblas/files/openblas-0.3.12-shared-blas-lapack.patch36
-rw-r--r--sci-libs/openblas/files/openblas-0.3.21-clang16.patch581
-rw-r--r--sci-libs/openblas/files/openblas-0.3.21-fix-loong.patch237
-rw-r--r--sci-libs/openblas/files/openblas-0.3.23-parallel-make.patch67
-rw-r--r--sci-libs/openblas/openblas-0.3.21-r1.ebuild197
-rw-r--r--sci-libs/openblas/openblas-0.3.23.ebuild199
7 files changed, 0 insertions, 1325 deletions
diff --git a/sci-libs/openblas/Manifest b/sci-libs/openblas/Manifest
index 1cca24d01c68..fc60b0613306 100644
--- a/sci-libs/openblas/Manifest
+++ b/sci-libs/openblas/Manifest
@@ -1,14 +1,6 @@
-AUX openblas-0.3.12-shared-blas-lapack.patch 2008 BLAKE2B 2d3a4a90d8144cbf149b7711b67364176a94287f26448930b5a4fd29fe761fb250e9007c580fb1ffa8148c477e2f4057f9cd8d7aa07efeb85caa842802d358fd SHA512 3f0d4b480549565c838eba6371e0990c162f56a226f9d26e1639e012ae3f39809f8c6badcf8fdfbb1258f45367dbaff9c4c611b8b44bac27d341aea954f0133e
-AUX openblas-0.3.21-clang16.patch 17596 BLAKE2B 29a6d2716e31ad65de3252375c1a11b769c59924d09df190fd458a85dcb4c03fda041255b4239b6f41b9b799805e67bf4940f93e5baced5674eacb141eb6f711 SHA512 2e488295b282a267f5a49aa077331cfd2b35552d6099d22d8f37beb5521ebc1d4d08ba512b3b6d863f42a5f1c25153c74d83dc56be687f32e095fe1ff248bef6
-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.26.tar.gz 24404912 BLAKE2B d72f02492b3ce58c5012943ea84190cb8a8efdfe438fb4fe945a713e4abbcb77f3a0603ca266df234efe8e6d6e4bab4a7386ac02b95512281165bf7ae2f9181d SHA512 01d3a536fbfa62f276fd6b1ad0e218fb3d91f41545fc83ddc74979fa26372d8389f0baa20334badfe0adacd77bd944c50a47ac920577373fcc1d495553084373
-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 5763 BLAKE2B 219de2d1aee0946e4d075287c14ea5910b43f1ac3d012a1289facbd524cd96bfb9e2ab9df218c284e3c148c49e87f7fd4dd689c938f659a961375f57d9105139 SHA512 e14516dee85e9d9b91c33532d6218e67c277cd2a4c24f659a66ce04f55f3f73cddf0c875f622da3a79d69113794417942d05149d56488ef528eb35ed857ac91b
EBUILD openblas-0.3.25-r1.ebuild 5998 BLAKE2B b34389f4c292ab5ac1506616c31d0be394e256206c2db8ded4574626a0298a5ee0d0d745c96fd9c68d063543b7be51e9a980f6a2f4a73c6c9c23f83f01770de5 SHA512 d0fb3979242ba04ccbf437a97e77ef4780d57b102c92c1596e6455e13581fc03c5bdc2b03a25a01385ef0cdbb9ef01cd3e4cd30215a8237fa440f6be8fd483e9
EBUILD openblas-0.3.26.ebuild 5999 BLAKE2B cc659bbc1ba9856927e05dd331848a0c58214d513ad49cf168a52498c0ec81fe305e8e3e681d70e2a4da577f16ccee1cdbd2e1eba0cb7757d4c1018190373f69 SHA512 efa071a6469fa258c200c2548bd6c3b0cd6842898c7ac40d1b0dff36ee8d6165b83a4abbafa4b887ae30d3aa7a002516c2f647f38bbd98c26ee6f0b1ae58db6a
MISC metadata.xml 1561 BLAKE2B 5ba7ec66dd8ba7ca8bc29bc0193b48b6a82b4949bb79bab461400040667aa66aac3cfd2ad9c7323798048fd43d18ac96a562d53b68f3f7ae8bf8505ac7a04691 SHA512 05272eb56480ff82b240d0f430df3df03981e24b971dbd37c13d464f4f4b334bac19b54915446a09326a334aa76249bb79a4fa389d26150365f21389992f9a48
diff --git a/sci-libs/openblas/files/openblas-0.3.12-shared-blas-lapack.patch b/sci-libs/openblas/files/openblas-0.3.12-shared-blas-lapack.patch
deleted file mode 100644
index 55fb7d7c66ca..000000000000
--- a/sci-libs/openblas/files/openblas-0.3.12-shared-blas-lapack.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-diff --git a/interface/Makefile b/interface/Makefile
-index 6b247b4..1297c73 100644
---- a/interface/Makefile
-+++ b/interface/Makefile
-@@ -330,7 +330,7 @@ CCBLAS3OBJS = \
- cblas_chemm.$(SUFFIX) cblas_cherk.$(SUFFIX) cblas_cher2k.$(SUFFIX) \
- cblas_comatcopy.$(SUFFIX) cblas_cimatcopy.$(SUFFIX)\
- cblas_cgeadd.$(SUFFIX)
--
-+
- CXERBLAOBJ = \
- cblas_xerbla.$(SUFFIX)
-
-@@ -2310,3 +2310,22 @@ cblas_zgeadd.$(SUFFIX) cblas_zgeadd.$(PSUFFIX) : zgeadd.c
- cblas_xerbla.$(SUFFIX) cblas_xerbla.$(PSUFFIX) : xerbla.c
- $(CC) -c $(CFLAGS) -DCBLAS $< -o $(@F)
-
-+#####
-+shared-blas-lapack: libblas.so.3 libcblas.so.3 liblapack.so.3 liblapacke.so.3
-+
-+# The list of prerequisite is created by comparing with NETLIB BLAS public API.
-+libblas.so.3: $(SBLAS1OBJS) $(SBLAS2OBJS) $(SBLAS3OBJS) $(DBLAS1OBJS) $(DBLAS2OBJS) $(DBLAS3OBJS) $(CBLAS1OBJS) $(CBLAS2OBJS) $(CBLAS3OBJS) $(ZBLAS1OBJS) $(ZBLAS2OBJS) $(ZBLAS3OBJS) ../kernel/lsame.o ../kernel/scabs1.o ../kernel/dcabs1.o ../driver/others/xerbla.o
-+ $(CC) $(LDFLAGS) -shared -o $@ $^ -Wl,-soname,libblas.so.3 -L.. -lopenblas $(EXTRALIB)
-+
-+libcblas.so.3: $(CSBLAS1OBJS) $(CSBLAS2OBJS) $(CSBLAS3OBJS) $(CDBLAS1OBJS) $(CDBLAS2OBJS) $(CDBLAS3OBJS) $(CCBLAS1OBJS) $(CCBLAS2OBJS) $(CCBLAS3OBJS) $(CZBLAS1OBJS) $(CZBLAS2OBJS) $(CZBLAS3OBJS) ../kernel/lsame.o ../kernel/scabs1.o ../kernel/dcabs1.o ../driver/others/xerbla.o
-+ $(CC) $(LDFLAGS) -shared -o $@ $^ -Wl,-soname,libcblas.so.3 -L.. -lopenblas $(EXTRALIB)
-+
-+# The prerequisites must match the symbols deleted in target delete-duplicate-lapack-objects
-+liblapack.so.3: $(SLAPACKOBJS) $(DLAPACKOBJS) $(CLAPACKOBJS) $(ZLAPACKOBJS) ../kernel/lsame.o ../driver/others/xerbla.o
-+ $(CC) $(LDFLAGS) -shared -o $@ $^ ../lapack-netlib/SRC/*.o -Wl,-soname,liblapack.so.3 -L.. -lopenblas $(EXTRALIB)
-+
-+liblapacke.so.3: liblapack.so.3
-+ $(CC) $(LDFLAGS) -shared -o $@ `find ../lapack-netlib/LAPACKE -name "*.o"` -Wl,-soname,liblapacke.so.3 -L.. -lopenblas $(EXTRALIB)
-+
-+clean::
-+ rm -f libblas.so.3 libcblas.so.3 liblapack.so.3
diff --git a/sci-libs/openblas/files/openblas-0.3.21-clang16.patch b/sci-libs/openblas/files/openblas-0.3.21-clang16.patch
deleted file mode 100644
index 051966b0a870..000000000000
--- a/sci-libs/openblas/files/openblas-0.3.21-clang16.patch
+++ /dev/null
@@ -1,581 +0,0 @@
-https://github.com/xianyi/OpenBLAS/commit/f703846ad9400a8ea175cb8dd43e18c152aeab93
-https://github.com/xianyi/OpenBLAS/commit/515cf269291bec0d43651fe7bf99a71fb074a0ad
-https://github.com/xianyi/OpenBLAS/commit/91110f92d218492d0efbdc1fdf34277ca45f4b36
-https://github.com/xianyi/OpenBLAS/commit/9402df5604e69f86f58953e3883f33f98c930baf
-https://github.com/xianyi/OpenBLAS/commit/101a2c77c3f3610933f450cefca3e312edab2186
-https://src.fedoraproject.org/rpms/openblas/c/5f27d51cebe1c1bb6598d38326ece8dc0ac71ec7?branch=rawhide
-
-From f703846ad9400a8ea175cb8dd43e18c152aeab93 Mon Sep 17 00:00:00 2001
-From: Martin Kroeker <martin@ruby.chemie.uni-freiburg.de>
-Date: Sat, 13 Aug 2022 11:38:27 +0200
-Subject: [PATCH] Add function prototypes
-
---- a/exports/gensymbol
-+++ b/exports/gensymbol
-@@ -4000,6 +4000,22 @@ case "$p1" in
- no_underscore_objs="$no_underscore_objs $misc_common_objs"
-
- printf 'int main(void){\n'
-+ for obj in $underscore_objs; do
-+ [ "$obj" != "xerbla" ] && printf 'extern void %s%s%s%s();\n' \
-+ "$symbolprefix" "$obj" "$bu" "$symbolsuffix"
-+ done
-+
-+ for obj in $need_2underscore_objs; do
-+ printf 'extern void %s%s%s%s%s();\n' \
-+ "$symbolprefix" "$obj" "$bu" "$bu" "$symbolsuffix"
-+ done
-+
-+ for obj in $no_underscore_objs; do
-+ printf 'extern void %s%s%s();\n' \
-+ "$symbolprefix" "$obj" "$symbolsuffix"
-+ done
-+
-+ printf '\n'
- for obj in $underscore_objs; do
- [ "$obj" != "xerbla" ] && printf '%s%s%s%s();\n' \
- "$symbolprefix" "$obj" "$bu" "$symbolsuffix"
---- a/exports/gensymbol.pl
-+++ b/exports/gensymbol.pl
-@@ -3955,6 +3955,18 @@
- @no_underscore_objs = (@no_underscore_objs, @misc_common_objs);
-
- print "int main(void){\n";
-+ foreach $objs (@underscore_objs) {
-+ print "extern void ", $symbolprefix, $objs, $bu, $symbolsuffix, "();\n" if $objs ne "xerbla";
-+ }
-+
-+ foreach $objs (@need_2underscore_objs) {
-+ print "extern void ", $symbolprefix, $objs, $bu, $bu, $symbolsuffix, "();\n";
-+ }
-+
-+ foreach $objs (@no_underscore_objs) {
-+ print "extern void ", $symbolprefix, $objs, $symbolsuffix, "();\n";
-+ }
-+
- foreach $objs (@underscore_objs) {
- print $symbolprefix, $objs, $bu, $symbolsuffix, "();\n" if $objs ne "xerbla";
- }
-
-From 515cf269291bec0d43651fe7bf99a71fb074a0ad Mon Sep 17 00:00:00 2001
-From: Martin Kroeker <martin@ruby.chemie.uni-freiburg.de>
-Date: Wed, 14 Sep 2022 11:48:36 +0200
-Subject: [PATCH] Fix pointer/integer argument mismatch in calls to pow()
-
---- a/lapack-netlib/SRC/claed0.c
-+++ b/lapack-netlib/SRC/claed0.c
-@@ -796,10 +796,10 @@ f"> */
-
- temp = log((real) (*n)) / log(2.f);
- lgn = (integer) temp;
-- if (pow_ii(&c__2, &lgn) < *n) {
-+ if (pow_ii(c__2, lgn) < *n) {
- ++lgn;
- }
-- if (pow_ii(&c__2, &lgn) < *n) {
-+ if (pow_ii(c__2, lgn) < *n) {
- ++lgn;
- }
- iprmpt = indxq + *n + 1;
---- a/lapack-netlib/SRC/claed7.c
-+++ b/lapack-netlib/SRC/claed7.c
-@@ -864,11 +864,11 @@ f"> */
- /* Form the z-vector which consists of the last row of Q_1 and the */
- /* first row of Q_2. */
-
-- ptr = pow_ii(&c__2, tlvls) + 1;
-+ ptr = pow_ii(c__2, *tlvls) + 1;
- i__1 = *curlvl - 1;
- for (i__ = 1; i__ <= i__1; ++i__) {
- i__2 = *tlvls - i__;
-- ptr += pow_ii(&c__2, &i__2);
-+ ptr += pow_ii(c__2, i__2);
- /* L10: */
- }
- curr = ptr + *curpbm;
---- a/lapack-netlib/SRC/clalsa.c
-+++ b/lapack-netlib/SRC/clalsa.c
-@@ -1051,7 +1051,7 @@ f"> */
- /* Finally go through the left singular vector matrices of all */
- /* the other subproblems bottom-up on the tree. */
-
-- j = pow_ii(&c__2, &nlvl);
-+ j = pow_ii(c__2, nlvl);
- sqre = 0;
-
- for (lvl = nlvl; lvl >= 1; --lvl) {
-@@ -1065,7 +1065,7 @@ f"> */
- ll = 1;
- } else {
- i__1 = lvl - 1;
-- lf = pow_ii(&c__2, &i__1);
-+ lf = pow_ii(c__2, i__1);
- ll = (lf << 1) - 1;
- }
- i__1 = ll;
-@@ -1110,7 +1110,7 @@ f"> */
- ll = 1;
- } else {
- i__2 = lvl - 1;
-- lf = pow_ii(&c__2, &i__2);
-+ lf = pow_ii(c__2, i__2);
- ll = (lf << 1) - 1;
- }
- i__2 = lf;
---- a/lapack-netlib/SRC/cstedc.c
-+++ b/lapack-netlib/SRC/cstedc.c
-@@ -836,10 +836,10 @@ f"> */
- lrwmin = *n - 1 << 1;
- } else if (icompz == 1) {
- lgn = (integer) (log((real) (*n)) / log(2.f));
-- if (pow_ii(&c__2, &lgn) < *n) {
-+ if (pow_ii(c__2, lgn) < *n) {
- ++lgn;
- }
-- if (pow_ii(&c__2, &lgn) < *n) {
-+ if (pow_ii(c__2, lgn) < *n) {
- ++lgn;
- }
- lwmin = *n * *n;
---- a/lapack-netlib/SRC/dlaed0.c
-+++ b/lapack-netlib/SRC/dlaed0.c
-@@ -827,10 +827,10 @@ f"> */
-
- temp = log((doublereal) (*n)) / log(2.);
- lgn = (integer) temp;
-- if (pow_ii(&c__2, &lgn) < *n) {
-+ if (pow_ii(c__2, lgn) < *n) {
- ++lgn;
- }
-- if (pow_ii(&c__2, &lgn) < *n) {
-+ if (pow_ii(c__2, lgn) < *n) {
- ++lgn;
- }
- iprmpt = indxq + *n + 1;
---- a/lapack-netlib/SRC/dlaed7.c
-+++ b/lapack-netlib/SRC/dlaed7.c
-@@ -885,11 +885,11 @@ f"> */
- /* Form the z-vector which consists of the last row of Q_1 and the */
- /* first row of Q_2. */
-
-- ptr = pow_ii(&c__2, tlvls) + 1;
-+ ptr = pow_ii(c__2, *tlvls) + 1;
- i__1 = *curlvl - 1;
- for (i__ = 1; i__ <= i__1; ++i__) {
- i__2 = *tlvls - i__;
-- ptr += pow_ii(&c__2, &i__2);
-+ ptr += pow_ii(c__2, i__2);
- /* L10: */
- }
- curr = ptr + *curpbm;
---- a/lapack-netlib/SRC/dlaeda.c
-+++ b/lapack-netlib/SRC/dlaeda.c
-@@ -754,7 +754,7 @@ f"> */
- /* scheme */
-
- i__1 = *curlvl - 1;
-- curr = ptr + *curpbm * pow_ii(&c__2, curlvl) + pow_ii(&c__2, &i__1) - 1;
-+ curr = ptr + *curpbm * pow_ii(c__2, *curlvl) + pow_ii(c__2, i__1) - 1;
-
- /* Determine size of these matrices. We add HALF to the value of */
- /* the SQRT in case the machine underestimates one of these square */
-@@ -781,12 +781,12 @@ f"> */
- /* rotations and permutation and then multiplying the center matrices */
- /* against the current Z. */
-
-- ptr = pow_ii(&c__2, tlvls) + 1;
-+ ptr = pow_ii(c__2, *tlvls) + 1;
- i__1 = *curlvl - 1;
- for (k = 1; k <= i__1; ++k) {
- i__2 = *curlvl - k;
- i__3 = *curlvl - k - 1;
-- curr = ptr + *curpbm * pow_ii(&c__2, &i__2) + pow_ii(&c__2, &i__3) -
-+ curr = ptr + *curpbm * pow_ii(c__2, i__2) + pow_ii(c__2, i__3) -
- 1;
- psiz1 = prmptr[curr + 1] - prmptr[curr];
- psiz2 = prmptr[curr + 2] - prmptr[curr + 1];
-@@ -847,7 +847,7 @@ f"> */
- c__1);
-
- i__2 = *tlvls - k;
-- ptr += pow_ii(&c__2, &i__2);
-+ ptr += pow_ii(c__2, i__2);
- /* L70: */
- }
-
---- a/lapack-netlib/SRC/dlalsa.c
-+++ b/lapack-netlib/SRC/dlalsa.c
-@@ -951,7 +951,7 @@ f"> */
- /* Finally go through the left singular vector matrices of all */
- /* the other subproblems bottom-up on the tree. */
-
-- j = pow_ii(&c__2, &nlvl);
-+ j = pow_ii(c__2, nlvl);
- sqre = 0;
-
- for (lvl = nlvl; lvl >= 1; --lvl) {
-@@ -965,7 +965,7 @@ f"> */
- ll = 1;
- } else {
- i__1 = lvl - 1;
-- lf = pow_ii(&c__2, &i__1);
-+ lf = pow_ii(c__2, i__1);
- ll = (lf << 1) - 1;
- }
- i__1 = ll;
-@@ -1010,7 +1010,7 @@ f"> */
- ll = 1;
- } else {
- i__2 = lvl - 1;
-- lf = pow_ii(&c__2, &i__2);
-+ lf = pow_ii(c__2, i__2);
- ll = (lf << 1) - 1;
- }
- i__2 = lf;
---- a/lapack-netlib/SRC/dlasd0.c
-+++ b/lapack-netlib/SRC/dlasd0.c
-@@ -824,7 +824,7 @@ f"> */
- ll = 1;
- } else {
- i__1 = lvl - 1;
-- lf = pow_ii(&c__2, &i__1);
-+ lf = pow_ii(c__2, i__1);
- ll = (lf << 1) - 1;
- }
- i__1 = ll;
---- a/lapack-netlib/SRC/dlasda.c
-+++ b/lapack-netlib/SRC/dlasda.c
-@@ -1027,7 +1027,7 @@ f"> */
-
- /* Now conquer each subproblem bottom-up. */
-
-- j = pow_ii(&c__2, &nlvl);
-+ j = pow_ii(c__2, nlvl);
- for (lvl = nlvl; lvl >= 1; --lvl) {
- lvl2 = (lvl << 1) - 1;
-
-@@ -1039,7 +1039,7 @@ f"> */
- ll = 1;
- } else {
- i__1 = lvl - 1;
-- lf = pow_ii(&c__2, &i__1);
-+ lf = pow_ii(c__2, i__1);
- ll = (lf << 1) - 1;
- }
- i__1 = ll;
---- a/lapack-netlib/SRC/dstedc.c
-+++ b/lapack-netlib/SRC/dstedc.c
-@@ -806,10 +806,10 @@ f"> */
- lwmin = *n - 1 << 1;
- } else {
- lgn = (integer) (log((doublereal) (*n)) / log(2.));
-- if (pow_ii(&c__2, &lgn) < *n) {
-+ if (pow_ii(c__2, lgn) < *n) {
- ++lgn;
- }
-- if (pow_ii(&c__2, &lgn) < *n) {
-+ if (pow_ii(c__2, lgn) < *n) {
- ++lgn;
- }
- if (icompz == 1) {
---- a/lapack-netlib/SRC/slaed0.c
-+++ b/lapack-netlib/SRC/slaed0.c
-@@ -823,10 +823,10 @@ f"> */
-
- temp = log((real) (*n)) / log(2.f);
- lgn = (integer) temp;
-- if (pow_ii(&c__2, &lgn) < *n) {
-+ if (pow_ii(c__2, lgn) < *n) {
- ++lgn;
- }
-- if (pow_ii(&c__2, &lgn) < *n) {
-+ if (pow_ii(c__2, lgn) < *n) {
- ++lgn;
- }
- iprmpt = indxq + *n + 1;
---- a/lapack-netlib/SRC/slaed7.c
-+++ b/lapack-netlib/SRC/slaed7.c
-@@ -883,11 +883,11 @@ f"> */
- /* Form the z-vector which consists of the last row of Q_1 and the */
- /* first row of Q_2. */
-
-- ptr = pow_ii(&c__2, tlvls) + 1;
-+ ptr = pow_ii(c__2, *tlvls) + 1;
- i__1 = *curlvl - 1;
- for (i__ = 1; i__ <= i__1; ++i__) {
- i__2 = *tlvls - i__;
-- ptr += pow_ii(&c__2, &i__2);
-+ ptr += pow_ii(c__2, i__2);
- /* L10: */
- }
- curr = ptr + *curpbm;
---- a/lapack-netlib/SRC/slaeda.c
-+++ b/lapack-netlib/SRC/slaeda.c
-@@ -753,7 +753,7 @@ f"> */
- /* scheme */
-
- i__1 = *curlvl - 1;
-- curr = ptr + *curpbm * pow_ii(&c__2, curlvl) + pow_ii(&c__2, &i__1) - 1;
-+ curr = ptr + *curpbm * pow_ii(c__2, *curlvl) + pow_ii(c__2, i__1) - 1;
-
- /* Determine size of these matrices. We add HALF to the value of */
- /* the SQRT in case the machine underestimates one of these square */
-@@ -779,12 +779,12 @@ f"> */
- /* rotations and permutation and then multiplying the center matrices */
- /* against the current Z. */
-
-- ptr = pow_ii(&c__2, tlvls) + 1;
-+ ptr = pow_ii(c__2, *tlvls) + 1;
- i__1 = *curlvl - 1;
- for (k = 1; k <= i__1; ++k) {
- i__2 = *curlvl - k;
- i__3 = *curlvl - k - 1;
-- curr = ptr + *curpbm * pow_ii(&c__2, &i__2) + pow_ii(&c__2, &i__3) -
-+ curr = ptr + *curpbm * pow_ii(c__2, i__2) + pow_ii(c__2, i__3) -
- 1;
- psiz1 = prmptr[curr + 1] - prmptr[curr];
- psiz2 = prmptr[curr + 2] - prmptr[curr + 1];
-@@ -844,7 +844,7 @@ f"> */
- c__1);
-
- i__2 = *tlvls - k;
-- ptr += pow_ii(&c__2, &i__2);
-+ ptr += pow_ii(c__2, i__2);
- /* L70: */
- }
-
---- a/lapack-netlib/SRC/slalsa.c
-+++ b/lapack-netlib/SRC/slalsa.c
-@@ -946,7 +946,7 @@ f"> */
- /* Finally go through the left singular vector matrices of all */
- /* the other subproblems bottom-up on the tree. */
-
-- j = pow_ii(&c__2, &nlvl);
-+ j = pow_ii(c__2, nlvl);
- sqre = 0;
-
- for (lvl = nlvl; lvl >= 1; --lvl) {
-@@ -960,7 +960,7 @@ f"> */
- ll = 1;
- } else {
- i__1 = lvl - 1;
-- lf = pow_ii(&c__2, &i__1);
-+ lf = pow_ii(c__2, i__1);
- ll = (lf << 1) - 1;
- }
- i__1 = ll;
-@@ -1005,7 +1005,7 @@ f"> */
- ll = 1;
- } else {
- i__2 = lvl - 1;
-- lf = pow_ii(&c__2, &i__2);
-+ lf = pow_ii(c__2, i__2);
- ll = (lf << 1) - 1;
- }
- i__2 = lf;
---- a/lapack-netlib/SRC/slasd0.c
-+++ b/lapack-netlib/SRC/slasd0.c
-@@ -821,7 +821,7 @@ f"> */
- ll = 1;
- } else {
- i__1 = lvl - 1;
-- lf = pow_ii(&c__2, &i__1);
-+ lf = pow_ii(c__2, i__1);
- ll = (lf << 1) - 1;
- }
- i__1 = ll;
---- a/lapack-netlib/SRC/slasda.c
-+++ b/lapack-netlib/SRC/slasda.c
-@@ -1023,7 +1023,7 @@ f"> */
-
- /* Now conquer each subproblem bottom-up. */
-
-- j = pow_ii(&c__2, &nlvl);
-+ j = pow_ii(c__2, nlvl);
- for (lvl = nlvl; lvl >= 1; --lvl) {
- lvl2 = (lvl << 1) - 1;
-
-@@ -1035,7 +1035,7 @@ f"> */
- ll = 1;
- } else {
- i__1 = lvl - 1;
-- lf = pow_ii(&c__2, &i__1);
-+ lf = pow_ii(c__2, i__1);
- ll = (lf << 1) - 1;
- }
- i__1 = ll;
---- a/lapack-netlib/SRC/sstedc.c
-+++ b/lapack-netlib/SRC/sstedc.c
-@@ -804,10 +804,10 @@ f"> */
- lwmin = *n - 1 << 1;
- } else {
- lgn = (integer) (log((real) (*n)) / log(2.f));
-- if (pow_ii(&c__2, &lgn) < *n) {
-+ if (pow_ii(c__2, lgn) < *n) {
- ++lgn;
- }
-- if (pow_ii(&c__2, &lgn) < *n) {
-+ if (pow_ii(c__2, lgn) < *n) {
- ++lgn;
- }
- if (icompz == 1) {
---- a/lapack-netlib/SRC/zlaed0.c
-+++ b/lapack-netlib/SRC/zlaed0.c
-@@ -793,10 +793,10 @@ f"> */
-
- temp = log((doublereal) (*n)) / log(2.);
- lgn = (integer) temp;
-- if (pow_ii(&c__2, &lgn) < *n) {
-+ if (pow_ii(c__2, lgn) < *n) {
- ++lgn;
- }
-- if (pow_ii(&c__2, &lgn) < *n) {
-+ if (pow_ii(c__2, lgn) < *n) {
- ++lgn;
- }
- iprmpt = indxq + *n + 1;
---- a/lapack-netlib/SRC/zlaed7.c
-+++ b/lapack-netlib/SRC/zlaed7.c
-@@ -864,11 +864,11 @@ f"> */
- /* Form the z-vector which consists of the last row of Q_1 and the */
- /* first row of Q_2. */
-
-- ptr = pow_ii(&c__2, tlvls) + 1;
-+ ptr = pow_ii(c__2, *tlvls) + 1;
- i__1 = *curlvl - 1;
- for (i__ = 1; i__ <= i__1; ++i__) {
- i__2 = *tlvls - i__;
-- ptr += pow_ii(&c__2, &i__2);
-+ ptr += pow_ii(c__2, i__2);
- /* L10: */
- }
- curr = ptr + *curpbm;
---- a/lapack-netlib/SRC/zlalsa.c
-+++ b/lapack-netlib/SRC/zlalsa.c
-@@ -1051,7 +1051,7 @@ f"> */
- /* Finally go through the left singular vector matrices of all */
- /* the other subproblems bottom-up on the tree. */
-
-- j = pow_ii(&c__2, &nlvl);
-+ j = pow_ii(c__2, nlvl);
- sqre = 0;
-
- for (lvl = nlvl; lvl >= 1; --lvl) {
-@@ -1065,7 +1065,7 @@ f"> */
- ll = 1;
- } else {
- i__1 = lvl - 1;
-- lf = pow_ii(&c__2, &i__1);
-+ lf = pow_ii(c__2, i__1);
- ll = (lf << 1) - 1;
- }
- i__1 = ll;
-@@ -1110,7 +1110,7 @@ f"> */
- ll = 1;
- } else {
- i__2 = lvl - 1;
-- lf = pow_ii(&c__2, &i__2);
-+ lf = pow_ii(c__2, i__2);
- ll = (lf << 1) - 1;
- }
- i__2 = lf;
---- a/lapack-netlib/SRC/zstedc.c
-+++ b/lapack-netlib/SRC/zstedc.c
-@@ -836,10 +836,10 @@ f"> */
- lrwmin = *n - 1 << 1;
- } else if (icompz == 1) {
- lgn = (integer) (log((doublereal) (*n)) / log(2.));
-- if (pow_ii(&c__2, &lgn) < *n) {
-+ if (pow_ii(c__2, lgn) < *n) {
- ++lgn;
- }
-- if (pow_ii(&c__2, &lgn) < *n) {
-+ if (pow_ii(c__2, lgn) < *n) {
- ++lgn;
- }
- lwmin = *n * *n;
-
-From 91110f92d218492d0efbdc1fdf34277ca45f4b36 Mon Sep 17 00:00:00 2001
-From: Martin Kroeker <martin@ruby.chemie.uni-freiburg.de>
-Date: Wed, 14 Sep 2022 14:03:31 +0200
-Subject: [PATCH] fix missing return type in function declaration
-
---- a/ctest/c_sblat1c.c
-+++ b/ctest/c_sblat1c.c
-@@ -969,7 +969,7 @@ real *sfac;
- 1.17 };
-
- /* Local variables */
-- extern /* Subroutine */ srottest_();
-+ extern /* Subroutine */ void srottest_();
- static integer i__, k, ksize;
- extern /* Subroutine */ int stest_(), srotmtest_();
- static integer ki, kn;
-
-From 9402df5604e69f86f58953e3883f33f98c930baf Mon Sep 17 00:00:00 2001
-From: Martin Kroeker <martin@ruby.chemie.uni-freiburg.de>
-Date: Wed, 14 Sep 2022 21:44:34 +0200
-Subject: [PATCH] Fix missing external declaration
-
---- a/driver/others/blas_server_omp.c
-+++ b/driver/others/blas_server_omp.c
-@@ -69,6 +69,8 @@
-
- int blas_server_avail = 0;
-
-+extern int openblas_omp_adaptive_env();
-+
- static void * blas_thread_buffer[MAX_PARALLEL_NUMBER][MAX_CPU_NUMBER];
- #ifdef HAVE_C11
- static atomic_bool blas_buffer_inuse[MAX_PARALLEL_NUMBER];
-
-From 101a2c77c3f3610933f450cefca3e312edab2186 Mon Sep 17 00:00:00 2001
-From: Martin Kroeker <martin@ruby.chemie.uni-freiburg.de>
-Date: Thu, 15 Sep 2022 09:19:19 +0200
-Subject: [PATCH] Fix warnings
-
---- a/kernel/x86_64/dgemm_ncopy_8_skylakex.c
-+++ b/kernel/x86_64/dgemm_ncopy_8_skylakex.c
-@@ -52,18 +52,18 @@ int CNAME(BLASLONG m, BLASLONG n, FLOAT * __restrict a, BLASLONG lda, FLOAT * __
- FLOAT ctemp05, ctemp06, ctemp07, ctemp08;
- FLOAT ctemp09, ctemp10, ctemp11, ctemp12;
- FLOAT ctemp13, ctemp14, ctemp15, ctemp16;
-- FLOAT ctemp17, ctemp18, ctemp19, ctemp20;
-- FLOAT ctemp21, ctemp22, ctemp23, ctemp24;
-- FLOAT ctemp25, ctemp26, ctemp27, ctemp28;
-- FLOAT ctemp29, ctemp30, ctemp31, ctemp32;
-- FLOAT ctemp33, ctemp34, ctemp35, ctemp36;
-- FLOAT ctemp37, ctemp38, ctemp39, ctemp40;
-- FLOAT ctemp41, ctemp42, ctemp43, ctemp44;
-- FLOAT ctemp45, ctemp46, ctemp47, ctemp48;
-- FLOAT ctemp49, ctemp50, ctemp51, ctemp52;
-- FLOAT ctemp53, ctemp54, ctemp55, ctemp56;
-- FLOAT ctemp57, ctemp58, ctemp59, ctemp60;
-- FLOAT ctemp61, ctemp62, ctemp63, ctemp64;
-+ FLOAT ctemp17 /*, ctemp18, ctemp19, ctemp20*/ ;
-+ FLOAT /*ctemp21, ctemp22,*/ ctemp23, ctemp24;
-+ FLOAT ctemp25 /*, ctemp26, ctemp27, ctemp28*/ ;
-+ FLOAT /*ctemp29, ctemp30,*/ ctemp31, ctemp32;
-+ FLOAT ctemp33 /*, ctemp34, ctemp35, ctemp36*/ ;
-+ FLOAT /*ctemp37, ctemp38,*/ ctemp39, ctemp40;
-+ FLOAT ctemp41 /*, ctemp42, ctemp43, ctemp44*/ ;
-+ FLOAT /*ctemp45, ctemp46,*/ ctemp47, ctemp48;
-+ FLOAT ctemp49 /*, ctemp50, ctemp51, ctemp52*/ ;
-+ FLOAT /*ctemp53, ctemp54,*/ ctemp55, ctemp56;
-+ FLOAT ctemp57 /*, ctemp58, ctemp59, ctemp60*/ ;
-+ FLOAT /*ctemp61, ctemp62,*/ ctemp63, ctemp64;
-
-
- aoffset = a;
---- a/kernel/x86_64/omatcopy_rt.c
-+++ b/kernel/x86_64/omatcopy_rt.c
-@@ -142,7 +142,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- ,"xmm0","xmm1","xmm2","xmm3","xmm4","xmm5","xmm6","xmm7","xmm8","xmm9","xmm10","xmm11","xmm12","xmm13","xmm14","xmm15");\
- }
- int CNAME(BLASLONG rows, BLASLONG cols, FLOAT alpha, FLOAT *a, BLASLONG lda, FLOAT *b, BLASLONG ldb){
-- float *src, *dst, *dst_tmp, *src_base, *dst_base;
-+ float *src, *dst, *dst_tmp=0, *src_base, *dst_base;
- uint64_t src_ld_bytes = (uint64_t)lda * sizeof(float), dst_ld_bytes = (uint64_t)ldb * sizeof(float), num_rows = 0;
- BLASLONG cols_left, rows_done; float ALPHA = alpha;
- if(ALPHA==0.0){
-
diff --git a/sci-libs/openblas/files/openblas-0.3.21-fix-loong.patch b/sci-libs/openblas/files/openblas-0.3.21-fix-loong.patch
deleted file mode 100644
index ed112d62380b..000000000000
--- a/sci-libs/openblas/files/openblas-0.3.21-fix-loong.patch
+++ /dev/null
@@ -1,237 +0,0 @@
-https://github.com/xianyi/OpenBLAS/pull/3626
-
-From 5af7b8638b3b972bd0e25597ec07927fffd52108 Mon Sep 17 00:00:00 2001
-From: WANG Xuerui <xen0n@gentoo.org>
-Date: Fri, 13 May 2022 15:26:33 +0800
-Subject: [PATCH 1/3] Move LoongArch make rules to Makefile.loongarch64
-
----
- Makefile.loongarch64 | 5 +++--
- Makefile.system | 5 -----
- 2 files changed, 3 insertions(+), 7 deletions(-)
-
-diff --git a/Makefile.loongarch64 b/Makefile.loongarch64
-index 05ea9c679d..fced1a9462 100644
---- a/Makefile.loongarch64
-+++ b/Makefile.loongarch64
-@@ -1,3 +1,4 @@
--ifdef BINARY64
--else
-+ifeq ($(CORE), LOONGSON3R5)
-+CCOMMON_OPT += -march=loongarch64 -mabi=lp64
-+FCOMMON_OPT += -march=loongarch64 -mabi=lp64
- endif
-diff --git a/Makefile.system b/Makefile.system
-index 3be5efa0c2..9c91425b0f 100644
---- a/Makefile.system
-+++ b/Makefile.system
-@@ -895,11 +895,6 @@ ifeq ($(OSNAME), AIX)
- BINARY_DEFINED = 1
- endif
-
--ifeq ($(ARCH), loongarch64)
--CCOMMON_OPT += -march=loongarch64 -mabi=lp64
--FCOMMON_OPT += -march=loongarch64 -mabi=lp64
--endif
--
- endif
-
- ifndef BINARY_DEFINED
-
-From 869061c783d60ba0b799fab643952c493b57fb0a Mon Sep 17 00:00:00 2001
-From: WANG Xuerui <xen0n@gentoo.org>
-Date: Fri, 13 May 2022 15:53:22 +0800
-Subject: [PATCH 2/3] Probe for old-world LASX flavor on LoongArch and use
- generic DGEMM kernel otherwise
-
-See: https://bugs.gentoo.org/844013
----
- Makefile.system | 1 +
- c_check | 27 ++++++++++++++++++++++++++-
- kernel/loongarch64/KERNEL.LOONGSON3R5 | 5 +++++
- 3 files changed, 32 insertions(+), 1 deletion(-)
-
-diff --git a/Makefile.system b/Makefile.system
-index 9c91425b0f..b86aafbddb 100644
---- a/Makefile.system
-+++ b/Makefile.system
-@@ -1702,6 +1702,7 @@ export TARGET_CORE
- export NO_AVX512
- export NO_AVX2
- export BUILD_BFLOAT16
-+export NO_LASX
-
- export SBGEMM_UNROLL_M
- export SBGEMM_UNROLL_N
-diff --git a/c_check b/c_check
-index 01d4f4a7cf..a37e91f82c 100755
---- a/c_check
-+++ b/c_check
-@@ -112,7 +112,7 @@ case "$architecture" in
- defined=1
- ;;
- arm|arm64) defined=1 ;;
-- zarch|e2k|alpha|ia64|riscv64|loonarch64)
-+ zarch|e2k|alpha|ia64|riscv64|loongarch64)
- defined=1
- BINARY=64
- ;;
-@@ -240,6 +240,29 @@ if [ "$architecture" = "riscv64" ]; then
- rm -rf "$tmpd"
- fi
-
-+no_lasx=0
-+if [ "$architecture" = "loongarch64" ]; then
-+ tmpd=`mktemp -d`
-+ tmpf="$tmpd/a.c"
-+ # Old-world assembly flavor: LASX registers named "$xrNN", different
-+ # from the ISA manual which suggests "$xNN". This is the flavor we
-+ # currently support.
-+ #
-+ # As the LASX ISA manual is not out yet, we cannot predict what the
-+ # new-world flavor would look like, so do not probe flavor for now.
-+ # The compiler flags are also unsuitable for new-world gcc.
-+ code='"xvld $xr0, $a0, 0\n"'
-+ printf "int main(void){ __asm__ volatile(%s); }\n" "$code" >> "$tmpf"
-+ args=" -march=loongarch64 -mabi=lp64 -mlasx -c -o $tmpf.o $tmpf"
-+ no_lasx=0
-+ {
-+ $compiler_name $flags $args >/dev/null 2>&1
-+ } || {
-+ no_lasx=1
-+ }
-+ rm -rf "$tmpd"
-+fi
-+
- c11_atomics=0
- case "$data" in
- *HAVE_C11*)
-@@ -350,6 +373,7 @@ done
-
- [ "$makefile" = "-" ] && {
- [ "$no_rv64gv" -eq 1 ] && printf "NO_RV64GV=1\n"
-+ [ "$no_lasx" -eq 1 ] && printf "NO_LASX=1\n"
- [ "$no_avx512" -eq 1 ] && printf "NO_AVX512=1\n"
- [ "$no_avx2" -eq 1 ] && printf "NO_AVX2=1\n"
- [ "$oldgcc" -eq 1 ] && printf "OLDGCC=1\n"
-@@ -380,6 +404,7 @@ done
- printf "MSA_FLAGS=%s\n" "$msa_flags"
- }
- [ "$no_rv64gv" -eq 1 ] && printf "NO_RV64GV=1\n"
-+ [ "$no_lasx" -eq 1 ] && printf "NO_LASX=1\n"
- [ "$no_avx512" -eq 1 ] && printf "NO_AVX512=1\n"
- [ "$no_avx2" -eq 1 ] && printf "NO_AVX2=1\n"
- [ "$oldgcc" -eq 1 ] && printf "OLDGCC=1\n"
-diff --git a/kernel/loongarch64/KERNEL.LOONGSON3R5 b/kernel/loongarch64/KERNEL.LOONGSON3R5
-index cda3590402..79b57d1e4d 100644
---- a/kernel/loongarch64/KERNEL.LOONGSON3R5
-+++ b/kernel/loongarch64/KERNEL.LOONGSON3R5
-@@ -1,3 +1,7 @@
-+ifeq ($(NO_LASX), 1)
-+# No LASX support in compiler, unable to consume the optimized version
-+# leave out DGEMMKERNEL to pull in the generic version
-+else
- DGEMMKERNEL = dgemm_kernel_16x4.S
- DGEMMINCOPY = dgemm_ncopy_16.S
- DGEMMITCOPY = dgemm_tcopy_16.S
-@@ -7,6 +11,7 @@ DGEMMINCOPYOBJ = dgemm_incopy$(TSUFFIX).$(SUFFIX)
- DGEMMITCOPYOBJ = dgemm_itcopy$(TSUFFIX).$(SUFFIX)
- DGEMMONCOPYOBJ = dgemm_oncopy$(TSUFFIX).$(SUFFIX)
- DGEMMOTCOPYOBJ = dgemm_otcopy$(TSUFFIX).$(SUFFIX)
-+endif
-
- DTRSMKERNEL_LN = ../generic/trsm_kernel_LN.c
- DTRSMKERNEL_LT = ../generic/trsm_kernel_LT.c
-
-From 699c57d3767c9a5a5a69262a4b70a1f80e0bb2e2 Mon Sep 17 00:00:00 2001
-From: WANG Xuerui <xen0n@gentoo.org>
-Date: Fri, 13 May 2022 16:23:46 +0800
-Subject: [PATCH 3/3] Fix ABI CFLAGS setting on new-world LoongArch
-
-See: https://bugs.gentoo.org/844013
----
- Makefile.loongarch64 | 13 +++++++++++--
- Makefile.system | 1 +
- c_check | 14 ++++++++++++++
- 3 files changed, 26 insertions(+), 2 deletions(-)
-
-diff --git a/Makefile.loongarch64 b/Makefile.loongarch64
-index fced1a9462..d6cbe848cd 100644
---- a/Makefile.loongarch64
-+++ b/Makefile.loongarch64
-@@ -1,4 +1,13 @@
- ifeq ($(CORE), LOONGSON3R5)
--CCOMMON_OPT += -march=loongarch64 -mabi=lp64
--FCOMMON_OPT += -march=loongarch64 -mabi=lp64
-+CCOMMON_OPT += -march=loongarch64
-+FCOMMON_OPT += -march=loongarch64
-+
-+ifeq ($(LOONGARCH_CC_FLAVOR), NEW)
-+CCOMMON_OPT += -mabi=lp64d
-+FCOMMON_OPT += -mabi=lp64d
-+endif
-+ifeq ($(LOONGARCH_CC_FLAVOR), OLD)
-+CCOMMON_OPT += -mabi=lp64
-+FCOMMON_OPT += -mabi=lp64
-+endif
- endif
-diff --git a/Makefile.system b/Makefile.system
-index b86aafbddb..4360a861cb 100644
---- a/Makefile.system
-+++ b/Makefile.system
-@@ -1702,6 +1702,7 @@ export TARGET_CORE
- export NO_AVX512
- export NO_AVX2
- export BUILD_BFLOAT16
-+export LOONGARCH_CC_FLAVOR
- export NO_LASX
-
- export SBGEMM_UNROLL_M
-diff --git a/c_check b/c_check
-index a37e91f82c..573f0e52fd 100755
---- a/c_check
-+++ b/c_check
-@@ -240,8 +240,19 @@ if [ "$architecture" = "riscv64" ]; then
- rm -rf "$tmpd"
- fi
-
-+loongarch_cc_flavor=""
- no_lasx=0
- if [ "$architecture" = "loongarch64" ]; then
-+ # Currently there are only 2 flavors: new-world and old-world.
-+ # They differ in ABI names accepted, so check it to avoid creating temp
-+ # files.
-+ loongarch_cc_flavor="NEW"
-+ {
-+ $compiler_name -mabi=lp64d -E -o - /dev/null >/dev/null 2>&1
-+ } || {
-+ loongarch_cc_flavor="OLD"
-+ }
-+
- tmpd=`mktemp -d`
- tmpf="$tmpd/a.c"
- # Old-world assembly flavor: LASX registers named "$xrNN", different
-@@ -260,6 +271,7 @@ if [ "$architecture" = "loongarch64" ]; then
- } || {
- no_lasx=1
- }
-+
- rm -rf "$tmpd"
- fi
-
-@@ -377,6 +389,7 @@ done
- [ "$no_avx512" -eq 1 ] && printf "NO_AVX512=1\n"
- [ "$no_avx2" -eq 1 ] && printf "NO_AVX2=1\n"
- [ "$oldgcc" -eq 1 ] && printf "OLDGCC=1\n"
-+ [ -n "$loongarch_cc_flavor" ] && printf "LOONGARCH_CC_FLAVOR=%s\n" "$loongarch_cc_flavor"
- exit 0
- }
-
-@@ -408,6 +421,7 @@ done
- [ "$no_avx512" -eq 1 ] && printf "NO_AVX512=1\n"
- [ "$no_avx2" -eq 1 ] && printf "NO_AVX2=1\n"
- [ "$oldgcc" -eq 1 ] && printf "OLDGCC=1\n"
-+ [ -n "$loongarch_cc_flavor" ] && printf "LOONGARCH_CC_FLAVOR=%s\n" "$loongarch_cc_flavor"
- } >> "$makefile"
-
- os=`echo "$os" | tr '[[:lower:]]' '[[:upper:]]'/ `
diff --git a/sci-libs/openblas/files/openblas-0.3.23-parallel-make.patch b/sci-libs/openblas/files/openblas-0.3.23-parallel-make.patch
deleted file mode 100644
index ce0487a6b2c0..000000000000
--- a/sci-libs/openblas/files/openblas-0.3.23-parallel-make.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-From 281e834566a06f1c756d262dc31e809faaf8933f Mon Sep 17 00:00:00 2001
-From: Guillaume Horel <guillaume.horel@gmail.com>
-Date: Thu, 30 Mar 2023 15:15:25 -0400
-Subject: [PATCH 1/2] do not pass -j flag to the MAKE variable
-
----
- getarch.c | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/getarch.c b/getarch.c
-index 937a8db68c..87384c0840 100644
---- a/getarch.c
-+++ b/getarch.c
-@@ -1930,15 +1930,15 @@ printf("ELF_VERSION=2\n");
-
- #ifdef MAKE_NB_JOBS
- #if MAKE_NB_JOBS > 0
-- printf("MAKE += -j %d\n", MAKE_NB_JOBS);
-+ printf("MAKEFLAGS += -j %d\n", MAKE_NB_JOBS);
- #else
- // Let make use parent -j argument or -j1 if there
- // is no make parent
- #endif
- #elif NO_PARALLEL_MAKE==1
-- printf("MAKE += -j 1\n");
-+ printf("MAKEFLAGS += -j 1\n");
- #else
-- printf("MAKE += -j %d\n", get_num_cores());
-+ printf("MAKEFLAGS += -j %d\n", get_num_cores());
- #endif
-
- break;
-
-From 397108fba299c87ce17957452d57469af914f516 Mon Sep 17 00:00:00 2001
-From: Guillaume Horel <guillaume.horel@gmail.com>
-Date: Fri, 31 Mar 2023 09:22:40 -0400
-Subject: [PATCH 2/2] serialize shared prerequisites
-
----
- Makefile | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index 144b3400db..3c4b8948af 100644
---- a/Makefile
-+++ b/Makefile
-@@ -40,9 +40,9 @@ LAPACK_NOOPT := $(filter-out -O0 -O1 -O2 -O3 -Ofast -O -Og -Os,$(LAPACK_FFLAGS))
- SUBDIRS_ALL = $(SUBDIRS) test ctest utest exports benchmark ../laswp ../bench cpp_thread_test
-
- .PHONY : all libs netlib $(RELA) test ctest shared install
--.NOTPARALLEL : all libs $(RELA) prof lapack-test install blas-test
-+.NOTPARALLEL : shared
-
--all :: libs netlib $(RELA) tests shared
-+all :: tests
- @echo
- @echo " OpenBLAS build complete. ($(LIB_COMPONENTS))"
- @echo
-@@ -150,7 +150,7 @@ ifeq ($(OSNAME), CYGWIN_NT)
- endif
- endif
-
--tests : libs netlib $(RELA) shared
-+tests : shared
- ifeq ($(NOFORTRAN), $(filter 0,$(NOFORTRAN)))
- touch $(LIBNAME)
- ifndef NO_FBLAS
diff --git a/sci-libs/openblas/openblas-0.3.21-r1.ebuild b/sci-libs/openblas/openblas-0.3.21-r1.ebuild
deleted file mode 100644
index c5a1707e33da..000000000000
--- a/sci-libs/openblas/openblas-0.3.21-r1.ebuild
+++ /dev/null
@@ -1,197 +0,0 @@
-# Copyright 1999-2023 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="https://github.com/xianyi/OpenBLAS"
-SRC_URI="https://github.com/xianyi/OpenBLAS/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}"/OpenBLAS-${PV}
-
-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.12-shared-blas-lapack.patch"
- "${FILESDIR}/${PN}-0.3.21-fix-loong.patch"
- "${FILESDIR}/${P}-clang16.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() {
- fortran-2_pkg_setup
-
- # List of most configurable options - Makefile.rule
-
- # https://github.com/xianyi/OpenBLAS/pull/2663
- tc-export CC FC LD AR AS RANLIB
-
- # HOSTCC is used for scripting
- export HOSTCC="$(tc-getBUILD_CC)"
-
- # threading options
- [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
- 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
-
- # 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
- use dynamic && \
- export DYNAMIC_ARCH=1 \
- NO_AFFINITY=1 \
- TARGET=GENERIC
-
- export NUM_PARALLEL=${OPENBLAS_NPARALLEL:-8} \
- NUM_THREADS=${OPENBLAS_NTHREAD:-64}
-
- # 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
-
- BUILD_RELAPACK=1
- if ! use relapack; then
- BUILD_RELAPACK=0
- fi
-
- export PREFIX="${EPREFIX}/usr" BUILD_RELAPACK
-}
-
-src_prepare() {
- default
-
- # Don't build the tests as part of "make all". We'll do
- # it explicitly later if the test phase is enabled.
- sed -e "/^all ::/s/tests //" -i 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_compile() {
- default
- cd interface || die
- emake 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
-}
diff --git a/sci-libs/openblas/openblas-0.3.23.ebuild b/sci-libs/openblas/openblas-0.3.23.ebuild
deleted file mode 100644
index 77e8c99cc2f2..000000000000
--- a/sci-libs/openblas/openblas-0.3.23.ebuild
+++ /dev/null
@@ -1,199 +0,0 @@
-# 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
-
-DESCRIPTION="Optimized BLAS library based on GotoBLAS2"
-HOMEPAGE="https://github.com/xianyi/OpenBLAS"
-SRC_URI="https://github.com/xianyi/OpenBLAS/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}"/OpenBLAS-${PV}
-
-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"
- "${FILESDIR}/${PN}-0.3.21-fix-loong.patch"
- "${FILESDIR}/${PN}-0.3.23-parallel-make.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() {
- fortran-2_pkg_setup
-
- # List of most configurable options - Makefile.rule
-
- # not an easy fix, https://github.com/xianyi/OpenBLAS/issues/4128
- filter-lto
-
- # https://github.com/xianyi/OpenBLAS/pull/2663
- tc-export CC FC LD AR AS RANLIB
-
- # HOSTCC is used for scripting
- export HOSTCC="$(tc-getBUILD_CC)"
-
- # threading options
- [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
- 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
-
- # 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
- use dynamic && \
- export DYNAMIC_ARCH=1 \
- NO_AFFINITY=1 \
- TARGET=GENERIC
-
- export NUM_PARALLEL=${OPENBLAS_NPARALLEL:-8} \
- NUM_THREADS=${OPENBLAS_NTHREAD:-64}
-
- # 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
-
- BUILD_RELAPACK=1
- if ! use relapack; then
- BUILD_RELAPACK=0
- fi
-
- export PREFIX="${EPREFIX}/usr" BUILD_RELAPACK
-}
-
-src_prepare() {
- default
-
- # Don't build the tests as part of "make all". We'll do
- # it explicitly later if the test phase is enabled.
- sed -e "/^all ::/s/tests //" -i 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_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
-}