diff options
author | Sam James <sam@gentoo.org> | 2024-03-04 11:37:23 +0000 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2024-03-04 11:37:23 +0000 |
commit | dfaceb09f2a92eb81e7e0321df45d9088d93e0c7 (patch) | |
tree | e4ea673bfe3f7b4a8ba6113204473e65555309b9 /sci-libs/openblas | |
parent | sci-libs/arpack: drop 3.8.0-r1, 3.9.0-r1 (diff) | |
download | gentoo-dfaceb09f2a92eb81e7e0321df45d9088d93e0c7.tar.gz gentoo-dfaceb09f2a92eb81e7e0321df45d9088d93e0c7.tar.bz2 gentoo-dfaceb09f2a92eb81e7e0321df45d9088d93e0c7.zip |
sci-libs/openblas: drop 0.3.21-r1, 0.3.23
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'sci-libs/openblas')
-rw-r--r-- | sci-libs/openblas/Manifest | 2 | ||||
-rw-r--r-- | sci-libs/openblas/files/openblas-0.3.12-shared-blas-lapack.patch | 36 | ||||
-rw-r--r-- | sci-libs/openblas/files/openblas-0.3.21-clang16.patch | 581 | ||||
-rw-r--r-- | sci-libs/openblas/files/openblas-0.3.21-fix-loong.patch | 237 | ||||
-rw-r--r-- | sci-libs/openblas/files/openblas-0.3.23-parallel-make.patch | 67 | ||||
-rw-r--r-- | sci-libs/openblas/openblas-0.3.21-r1.ebuild | 197 | ||||
-rw-r--r-- | sci-libs/openblas/openblas-0.3.23.ebuild | 199 |
7 files changed, 0 insertions, 1319 deletions
diff --git a/sci-libs/openblas/Manifest b/sci-libs/openblas/Manifest index a2e94a5499c4..62f8bbbfc4b8 100644 --- a/sci-libs/openblas/Manifest +++ b/sci-libs/openblas/Manifest @@ -1,4 +1,2 @@ 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 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 -} |