summaryrefslogtreecommitdiff
path: root/sci-libs
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2026-03-24 07:14:48 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2026-03-24 07:14:48 +0000
commit6072f8561ab9bac3afef70c3d2eded878700f382 (patch)
treec7eabc2d1e39836950ce5636448e0d4142870aed /sci-libs
parent08bd66bd0d44d4b580308e013a24ed15188da14f (diff)
downloadbaldeagleos-repo-6072f8561ab9bac3afef70c3d2eded878700f382.tar.gz
baldeagleos-repo-6072f8561ab9bac3afef70c3d2eded878700f382.tar.xz
baldeagleos-repo-6072f8561ab9bac3afef70c3d2eded878700f382.zip
Adding metadata
Diffstat (limited to 'sci-libs')
-rw-r--r--sci-libs/arprec/Manifest1
-rw-r--r--sci-libs/arprec/arprec-2.2.20.ebuild89
-rw-r--r--sci-libs/arprec/files/arprec-2.2.20-automake.patch68
-rw-r--r--sci-libs/cdf/Manifest2
-rw-r--r--sci-libs/cdf/cdf-3.9.1.ebuild148
-rw-r--r--sci-libs/cdf/files/cdf-3.9.1-respect-flags.patch85
-rw-r--r--sci-libs/openblas/Manifest1
-rw-r--r--sci-libs/openblas/openblas-0.3.32.ebuild182
8 files changed, 576 insertions, 0 deletions
diff --git a/sci-libs/arprec/Manifest b/sci-libs/arprec/Manifest
index 0a2b22bfcab1..68f28d04919d 100644
--- a/sci-libs/arprec/Manifest
+++ b/sci-libs/arprec/Manifest
@@ -1 +1,2 @@
DIST arprec-2.2.19.tar.gz 1962133 BLAKE2B a2fccc1908e791fd4759e61ff52b180fcaccbfbfa831ee1beca9b22a1a745d17d21040974ffe02ea21397a2339c819a30cd93a247738564a2b433f7cef14c9e4 SHA512 97cf090398aa169e31711077efd26dc6da1f62291ab37b241b133634838bdd44743f85b86b861a3be18d2696ae9132afb6cd1871502bedb9cc17dfb63fde2632
+DIST arprec-2.2.20.tar.gz 820282 BLAKE2B 60ec1c73d09590973857c38191397c385195e19baa5f6eff1518ab217350fa1da1a84e0c2403f83f2b38e9f3a67b7e5f30feb61fb82bad682375185e52bb1fc8 SHA512 35cc4bba6a52aafb44c4bb184233055faccfe761e699e522cca4b98ac41668fed1913bf1833ec01d9f50d5908904d348f7ed9c764a7ea88caa3298f66982e7db
diff --git a/sci-libs/arprec/arprec-2.2.20.ebuild b/sci-libs/arprec/arprec-2.2.20.ebuild
new file mode 100644
index 000000000000..bce8b61e2d84
--- /dev/null
+++ b/sci-libs/arprec/arprec-2.2.20.ebuild
@@ -0,0 +1,89 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FORTRAN_NEEDED=fortran
+FORTRAN_STANDARD=90
+
+inherit autotools fortran-2
+
+DESCRIPTION="Arbitrary precision float arithmetics and functions"
+HOMEPAGE="https://crd-legacy.lbl.gov/~dhbailey/mpdist/"
+SRC_URI="https://github.com/BL-highprecision/${PN^^}/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+S="${WORKDIR}"/${P^^}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="cpu_flags_x86_fma3 cpu_flags_x86_fma4 doc fortran qd"
+
+DEPEND="qd? ( sci-libs/qd[fortran=] )"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.2.19-ax_cxx_fma.patch #Bug 731912
+ "${FILESDIR}"/${PN}-2.2.19-narrowing.patch #Bug 731916
+ "${FILESDIR}"/${PN}-2.2.19-noregister.patch #Bug 926266
+ "${FILESDIR}"/${P}-automake.patch
+)
+
+src_prepare() {
+ default
+ sed -e '/TESTS =/s/ io//' -i tests/Makefile.am || die # bug 526960
+
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable cpu_flags_x86_fma$(usex cpu_flags_x86_fma3 3 4) fma)
+ $(use_enable fortran)
+ $(use_enable qd)
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ default
+
+ if use fortran; then
+ emake toolkit
+ cd toolkit || die
+ ./mathinit || die "mathinit failed"
+ fi
+}
+
+src_install() {
+ default
+
+ if use fortran; then
+ cd toolkit || die
+
+ exeinto /usr/libexec/${PN}
+ doexe mathtool
+
+ exeinto /usr/libexec/${PN}/.libs
+ doexe .libs/mathtool
+
+ insinto /usr/libexec/${PN}
+ doins *.dat
+
+ cat > mathtool.exe <<- _EOF_ || die
+ #!/usr/bin/env sh
+ cd "${EPREFIX}/usr/libexec/${PN}" && exec ./mathtool
+ _EOF_
+
+ newbin mathtool.exe mathtool
+ newdoc README README.mathtool
+ fi
+
+ if ! use doc; then
+ rm "${ED}"/usr/share/doc/${PF}/*.pdf || die
+ fi
+
+ if ! use static-libs; then
+ find "${D}" -type f -name '*.la' -delete || die
+ fi
+}
diff --git a/sci-libs/arprec/files/arprec-2.2.20-automake.patch b/sci-libs/arprec/files/arprec-2.2.20-automake.patch
new file mode 100644
index 000000000000..8fcf970e2c89
--- /dev/null
+++ b/sci-libs/arprec/files/arprec-2.2.20-automake.patch
@@ -0,0 +1,68 @@
+--- a/fortran/Makefile.am 2026-03-23 17:16:01.063425472 +0100
++++ b/fortran/Makefile.am 2026-03-23 17:16:51.134832997 +0100
+@@ -37,7 +37,8 @@
+ mp_modx.o: mp_mod.o
+ $(MPMODULEX): mp_modx.o
+
+-pkglib_DATA = $(MODULES)
++arpreclibdir = $(pkglibdir)
++arpreclib_DATA = $(MODULES)
+
+ DEMO = pslq1$(EXEEXT) pslq2$(EXEEXT) pslq3$(EXEEXT) pslqm1$(EXEEXT) \
+ pslqm2$(EXEEXT) pslqm3$(EXEEXT) quadgs$(EXEEXT) quaderf$(EXEEXT) \
+--- a/configure.ac 2026-03-23 18:21:46.284475297 +0100
++++ b/configure.ac 2026-03-23 18:22:31.006947491 +0100
+@@ -35,7 +35,7 @@
+
+ # Checks for command-line options
+ # --enable-inline option.
+-AC_ARG_ENABLE(enable_inline, AC_HELP_STRING(--enable-inline, [inline commonly used functions. [[default=yes]]]))
++AC_ARG_ENABLE(inline, AC_HELP_STRING(--enable-inline, [inline commonly used functions. [[default=yes]]]))
+ AC_MSG_CHECKING([if commonly used function is to be inlined])
+ if test "x$enable_inline" != "xno"; then
+ enable_inline="yes"
+@@ -44,7 +44,7 @@
+ AC_MSG_RESULT($enable_inline)
+
+ # --enable-debug
+-AC_ARG_ENABLE(enable_debug, AC_HELP_STRING(--enable-debug, [enable debugging code. [[default=no]]]))
++AC_ARG_ENABLE(debug, AC_HELP_STRING(--enable-debug, [enable debugging code. [[default=no]]]))
+ AC_MSG_CHECKING([if debugging code is to be enabled])
+ if test "x$enable_debug" = "xyes"; then
+ AC_DEFINE([ARPREC_DEBUG], [1], [Define to 1 to enable debugging code.])
+@@ -54,7 +54,7 @@
+ AC_MSG_RESULT($enable_debug)
+
+ # --enable-always-fix-fpu
+-AC_ARG_ENABLE(enable_always_fix_fpu, AC_HELP_STRING(--enable-always-fix-fpu, [Use FPU fix whenever C interface is called. [[default=no]]]))
++AC_ARG_ENABLE(always_fix_fpu, AC_HELP_STRING(--enable-always-fix-fpu, [Use FPU fix whenever C interface is called. [[default=no]]]))
+ if test "x$enable_always_fix_fpu" = "xyes"; then
+ AC_DEFINE([ALWAYS_FIX_FPU], [1], [Define to 1 to use FPU fix whenever C interface is called.])
+ else
+@@ -118,7 +118,7 @@
+ fi
+
+ # --enable-qd
+-AC_ARG_ENABLE(enable-qd, AC_HELP_STRING(--enable-qd, [Use quad-double (QD)
++AC_ARG_ENABLE(qd, AC_HELP_STRING(--enable-qd, [Use quad-double (QD)
+ library. [[default=no]]]))
+ if test "x$enable_qd" = "xyes"; then
+ AC_CHECK_QD([2.3], [CXXFLAGS="$CXXFLAGS $QD_CXXFLAGS"])
+@@ -128,7 +128,7 @@
+ fi
+
+ # --enable-fma
+-AC_ARG_ENABLE(enable_fma, AC_HELP_STRING(--enable-fma, [use fused multiply-add/subtract (auto,gnu,c99,ibm,compiler). Use this option with care. [[default=auto]]]))
++AC_ARG_ENABLE(fma, AC_HELP_STRING(--enable-fma, [use fused multiply-add/subtract (auto,gnu,c99,ibm,compiler). Use this option with care. [[default=auto]]]))
+ if test "x$enable_fma" = "x"; then
+ enable_fma="auto"
+ fi
+@@ -174,7 +174,7 @@
+ FCFLAGS="-O2"
+ fi
+ fi
+-AC_ARG_ENABLE(enable_fortran, AC_HELP_STRING(--enable-fortran, [build Fortran interfaces [[default=auto]]]))
++AC_ARG_ENABLE(fortran, AC_HELP_STRING(--enable-fortran, [build Fortran interfaces [[default=auto]]]))
+ if test "x$enable_fortran" != "xno"; then
+ AC_LANG_PUSH(Fortran)
+ AC_PROG_FC([xlf95 ifort pathf95 f95 gfortran g95 pgf95 lf95 fort ifc efc pathf90 xlf90 pgf90 epcf90 xlf f90])
diff --git a/sci-libs/cdf/Manifest b/sci-libs/cdf/Manifest
index b2a6cc5e26ba..f846ccefc8b1 100644
--- a/sci-libs/cdf/Manifest
+++ b/sci-libs/cdf/Manifest
@@ -6,4 +6,6 @@ DIST cdf390ug.pdf 1566123 BLAKE2B 639f800454e8f27286d769d505001e07e972b194d589a1
DIST cdf390vbrm.pdf 1729074 BLAKE2B d30d177202b516891dba0cb99113d6d19af41d950384469ec8a35d96dd2f7418646d1622bbf35376f02cabe686d6da0382e65b98a5beef0bcf81eb827dab5270 SHA512 98379bb4f30c8073ea1d43b7b4b75559722b6de1c7a500bb79b25162cb1bbc82afd9eec443af4645e369de6f59bf031fd097bc802896ad7310b7614a73486961
DIST cdf39_0-dist-cdf.tar.gz 1290187 BLAKE2B 03f7c7840c44514046df0d63ff6086be7263858f90225debfb8a4fe6c4d6e5b03c95faa2762f76e2ffc198ac77359b3494520258ec17678746fd7f619e362853 SHA512 e054b763d86c09c53375ef60a8690f43fcb106be1dc6fd907763379db1ab4c9677692671a63da74d955aec8ce3f866f420ddc7217a59ed68e51c4623562af387
DIST cdf39_0-dist-java.tar.gz 1162924 BLAKE2B 4e6416ec5a2a2eede428fa00906ca0e42460916506e7b2075d622e322ffe53e337a77bf81aa871e1559fb6b9339f2f49e365ca835874e060da33cd7c68e45177 SHA512 860468257c70bd6cb9592f40e495b5efb9092fc6fa3ab68c2fdc729c46d9ea4f0499a0b29904fe9c1ae07c13958e551b4e5cc8b9b71c2401ca833f2020073606
+DIST cdf39_1-dist-cdf.tar.gz 1515823 BLAKE2B a1285c9c146de75147f2b5c2ddee4ac7e6ab97472de7b869f1ff0797f738ab17690adfe42bb9e49c56c14a39c13fb9784cc91bf354c383ccc2e4c4b994e3aab4 SHA512 ae1d6284a308d1db99367c0adf5ec40d9a6f9fc95de58b48d2b940e2fe6a3f0fa046ab17cec8cf5a4fde523f8ae69684b44b72dfa50028725bad25365ef910ab
+DIST cdf39_1-dist-java.tar.gz 1166989 BLAKE2B 894aff4252a9c60abd99ce5cd522d8fde2bbee329066aaef4669c032467dff9de0e92dad2a7a8a46227a4e2e428511aa9b2a5abe2e3b40cf4c7cacc1dd4ffcf1 SHA512 53109a612570658e508ee84b36ce0eef87b67b9a890d98f602bad2b0d9b8815bba64abc7181d4fbcd40ab7204002474e560c123893d226caefd22aa13bf1fd9a
DIST cdf39ifd.pdf 656522 BLAKE2B 2ec3831f27e92fcec8191bedb1617c9f590b726732e02dd8ca317b814c369b46d50dd19e7bfc81df233e1e32ca6fb8191bf7e075ce67dda1ddd50645d5fc754b SHA512 f4de5bea46b7d1ea2621b9fa0ac1ab0f9904ada9a1625ce613f6fdb68ad25ca52398cbf75bb27902e54ba5ee7820f3ea1a563c655186047b8954cb53b4cd8197
diff --git a/sci-libs/cdf/cdf-3.9.1.ebuild b/sci-libs/cdf/cdf-3.9.1.ebuild
new file mode 100644
index 000000000000..19f17aa34f59
--- /dev/null
+++ b/sci-libs/cdf/cdf-3.9.1.ebuild
@@ -0,0 +1,148 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=9
+
+inherit flag-o-matic java-pkg-opt-2 toolchain-funcs
+
+MY_DP="${PN}$(ver_cut 1)$(ver_cut 2)"
+MY_P="${MY_DP}_$(ver_cut 3)"
+
+DESCRIPTION="Common Data Format I/O library for multi-dimensional data sets"
+HOMEPAGE="https://cdf.gsfc.nasa.gov"
+SRC_BASE="https://spdf.gsfc.nasa.gov/pub/software/${PN}/dist/${MY_P}/unix/"
+SRC_URI="
+ ${SRC_BASE}/${MY_P}-dist-${PN}.tar.gz
+ java? ( ${SRC_BASE}/${MY_P}-dist-java.tar.gz )
+ doc? (
+ ${SRC_BASE}/${MY_DP}_documentation/${MY_DP}ifd.pdf
+ ${SRC_BASE}/${MY_DP}_documentation/${MY_DP}0crm.pdf
+ ${SRC_BASE}/${MY_DP}_documentation/${MY_DP}0csrm.pdf
+ ${SRC_BASE}/${MY_DP}_documentation/${MY_DP}0frm.pdf
+ ${SRC_BASE}/${MY_DP}_documentation/${MY_DP}0prm.pdf
+ ${SRC_BASE}/${MY_DP}_documentation/${MY_DP}0ug.pdf
+ ${SRC_BASE}/${MY_DP}_documentation/${MY_DP}0vbrm.pdf
+ )
+"
+S="${WORKDIR}/${MY_P}-dist"
+
+LICENSE="CDF"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="doc examples java ncurses static-libs"
+RESTRICT="bindist"
+
+RDEPEND="
+ java? ( >=virtual/jre-1.8:= )
+ ncurses? ( sys-libs/ncurses:= )
+"
+DEPEND="
+ ${RDEPEND}
+"
+BDEPEND="
+ ncurses? ( virtual/pkgconfig )
+"
+
+PATCHES=(
+ # Respect cflags, ldflags, soname
+ "${FILESDIR}"/${PN}-3.9.1-respect-flags.patch
+)
+
+src_prepare() {
+ default
+
+ # Use proper lib dir
+ sed -i \
+ -e "s:\$(INSTALLDIR)/lib:\$(INSTALLDIR)/$(get_libdir):g" \
+ Makefile || die "sed failed"
+ # Uses the wide variant of *curses functions
+ sed -i \
+ -e "s:-I/usr/include/ncurses:$($(tc-getPKG_CONFIG) --cflags-only-I ncursesw):g" \
+ Makefile src/tools/Makefile || die "sed failed"
+}
+
+src_compile() {
+ # Reported upstream by email in 2024-03-22 (bug #862675)
+ append-flags -fno-strict-aliasing
+ filter-lto
+
+ PV_SO=${PV:0:1}
+
+ emake \
+ OS=linux \
+ AR="$(tc-getAR)" \
+ CC="$(tc-getCC)" \
+ LD="$(tc-getCC)" \
+ RANLIB="$(tc-getRANLIB)" \
+ RANLIBcmd="$(tc-getRANLIB)" \
+ ENV=gnu \
+ SHARED=yes \
+ SHAREDEXT_linux=so.${PV_SO} \
+ CURSESLIB_linux_gnu="$(usex ncurses "$($(tc-getPKG_CONFIG) --libs ncursesw)" "")" \
+ CURSES=$(usex ncurses) \
+ ${myconf} \
+ all
+
+ if use java; then
+ export CDF_BASE="${S}"
+ export CDF_LIB="${S}/src/lib"
+ cd cdfjava/jni
+ $(tc-getCC) \
+ ${CFLAGS} -fPIC \
+ -I${CDF_BASE}/src/include \
+ -I$(java-config -O)/include \
+ -I$(java-config -O)/include/linux \
+ -c cdfNativeLibrary.c \
+ -o cdfNativeLibrary.o \
+ || die "compiling java lib failed"
+ $(tc-getCC) \
+ ${LDFLAGS} \
+ -shared cdfNativeLibrary.o \
+ -Wl,-soname=libcdfNativeLibrary.so.${PV_SO} \
+ -L${CDF_LIB} -lcdf -lm \
+ -o libcdfNativeLibrary.so.${PV_SO} \
+ || die "linking java lib failed"
+ fi
+}
+
+src_test() {
+ emake -j1 test
+}
+
+src_install() {
+ dodir /usr/bin /usr/$(get_libdir)
+ # -j1 (fragile non-autotooled make)
+ emake -j1 \
+ INSTALLDIR="${ED}/usr" \
+ SHAREDEXT=so.${PV_SO} \
+ install
+ dosym libcdf.so.${PV_SO} /usr/$(get_libdir)/libcdf.so
+ use static-libs || rm "${ED}"/usr/$(get_libdir)/libcdf.a
+ dodoc Release.notes CHANGES.txt Welcome.txt
+ doenvd "${FILESDIR}"/50cdf
+
+ if use doc; then
+ dodoc "${DISTDIR}"/${MY_DP}{0{crm,csrm,frm,prm,ug,vbrm},ifd}.pdf
+ fi
+
+ if use examples; then
+ docinto examples
+ dodoc samples/*
+ fi
+
+ if use java; then
+ cd cdfjava || die
+ dolib.so jni/libcdfNativeLibrary.so.${PV_SO}
+ dosym libcdfNativeLibrary.so.${PV_SO} \
+ /usr/$(get_libdir)/libcdfNativeLibrary.so
+ java-pkg_dojar */*.jar
+ if use examples; then
+ docinto examples/java
+ dodoc examples/*
+ fi
+ fi
+
+ # move this to a better location
+ dodir "/usr/share/${PF}"
+ mv "${ED}/usr/CDFLeapSeconds.txt" "${ED}/usr/share/${PF}/" || die
+}
diff --git a/sci-libs/cdf/files/cdf-3.9.1-respect-flags.patch b/sci-libs/cdf/files/cdf-3.9.1-respect-flags.patch
new file mode 100644
index 000000000000..7c65988d968a
--- /dev/null
+++ b/sci-libs/cdf/files/cdf-3.9.1-respect-flags.patch
@@ -0,0 +1,85 @@
+--- a/Makefile
++++ b/Makefile
+@@ -1049,7 +1049,7 @@ install.tools: create.bin copy.tools
+ install.help_: create.help copy.help
+
+ install.lib: create.lib copy.lib.a
+- @if [ -f $(LIBsrcDIR)/libcdf.so ] ; then \
++ @if [ -f $(LIBsrcDIR)/libcdf.$(SHAREDEXT) ] ; then \
+ $(MAKE) $(EXTRAMAKE) MAKE=$(MAKE) "INSTALLDIR=$(INSTALLDIR)" install.lib.so ; \
+ else \
+ $(NULL) ; \
+@@ -1198,10 +1198,10 @@ copy.include:
+ cp $(INCsrcDIR)/cdftools.h $(INSTALLDIR)/include
+
+ copy.lib.so:
+- @echo cp $(LIBsrcDIR)/libcdf.so $(INSTALLDIR)/lib
+- cp $(LIBsrcDIR)/libcdf.so $(INSTALLDIR)/lib/libcdf.$(VERSION).so
+- rm -f $(INSTALLDIR)/lib/libcdf.so
+- cd $(INSTALLDIR)/lib && ln -s libcdf.$(VERSION).so libcdf.so
++ @echo cp $(LIBsrcDIR)/libcdf.$(SHAREDEXT) $(INSTALLDIR)/lib
++ cp $(LIBsrcDIR)/libcdf.$(SHAREDEXT) $(INSTALLDIR)/lib/libcdf.$(VERSION).so
++ rm -f $(INSTALLDIR)/lib/libcdf.$(SHAREDEXT)
++ cd $(INSTALLDIR)/lib && ln -s libcdf.$(VERSION).so libcdf.$(SHAREDEXT)
+
+ copy.lib.sl:
+ @echo cp $(LIBsrcDIR)/libcdf.sl $(INSTALLDIR)/lib
+--- a/src/lib/Makefile
++++ b/src/lib/Makefile
+@@ -62,9 +62,9 @@ AR=ar
+ RANLIBcmd=ranlib
+ MACos=Darwin
+
+-CFLAGS=$(COPTIONS) $(PIC) -I$(INCLUDEcdf) -I$(ZlibDIR)
++CFLAGS+=$(COPTIONS) $(PIC) -I$(INCLUDEcdf) -I$(ZlibDIR)
+ CFLAGS2=-DZ_PREFIX
+-LDFLAGS=$(LDOPTIONS)
++LDFLAGS+=$(LDOPTIONS)
+ ARFLAGS=$(AROPTIONS)
+ ZLIB=zlib
+
+@@ -108,17 +108,18 @@ ranlib.yes:
+
+ shared.yes: libcdf.$(SHAREDEXT)
+
++libcdf.$(SHAREDEXT) \
+ libcdf.so \
+ libcdf.dylib \
+ libcdf.dll \
+ libcdf.sl: $(OBJs)
+ @if [ -f $@ ] ; then rm $@ ; else $(NULL) ; fi
+- @echo $(LD) $(LDFLAGS) -o $@ $(OBJs) $(SYSLIBS)
+- $(LD) $(LDFLAGS) -o $@ $(OBJs) $(SYSLIBS)
++ @echo $(LD) $(CFLAGS) $(LDFLAGS) -Wl,-soname,libcdf.$(SHAREDEXT) -o $@ $(OBJs) $(SYSLIBS)
++ $(LD) $(CFLAGS) $(LDFLAGS) -Wl,-soname,libcdf.$(SHAREDEXT) -o $@ $(OBJs) $(SYSLIBS)
+
+ libcdf.o: $(OBJs)
+- @echo $(CC) $(LDFLAGS) -o $@ $(OBJs) $(SYSLIBS)
+- $(CC) $(LDFLAGS) -o $@ $(OBJs) $(SYSLIBS)
++ @echo $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJs) $(SYSLIBS)
++ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJs) $(SYSLIBS)
+
+ .c.o:
+ @if [ "$<" = "cdfgzip.c" ] || [ "$<" = "cdfgzip64.c" ] ; then \
+--- a/src/tools/Makefile
++++ b/src/tools/Makefile
+@@ -33,7 +33,7 @@
+ SHELL=/bin/sh
+
+ CURSES=yes
+-CCx=gcc
++CCx=$(CC)
+ LDx=
+ COPTIONS=-I/usr/include/ncurses -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -O2
+ COPTIONSld=
+@@ -45,8 +45,8 @@ MAKE=make
+ INCLUDEcdf= ../include
+
+ CC=$(CCx)
+-CFLAGS=$(COPTIONS) -I$(INCLUDEcdf)
+-CFLAGSld=$(COPTIONSld)
++CFLAGS+=$(COPTIONS) -I$(INCLUDEcdf)
++CFLAGSld+=$(COPTIONSld)
+ ifeq ($(LDx),)
+ LDx = $(CCx)
+ endif
diff --git a/sci-libs/openblas/Manifest b/sci-libs/openblas/Manifest
index 4c558875132b..d4caeaeaef99 100644
--- a/sci-libs/openblas/Manifest
+++ b/sci-libs/openblas/Manifest
@@ -1,2 +1,3 @@
DIST OpenBLAS-0.3.30.tar.gz 24699801 BLAKE2B 8a2fa304a44355bab128fd965054591570bd7fd5877a71a32420bfe6f4fe9bf6e77f3a4c363c91bcbad6862626783734d6e0111311d66a24e56f6175ae6f8799 SHA512 c726ced2d3e6ebd3ddcd0b13c255bb43fae8c12d2aec15e9ef992b0bc7099996c02cd284ccaaa7b5fac3f23f280b098063dd60f521d97a68dc183ab192fcccdb
DIST OpenBLAS-0.3.31.tar.gz 25232810 BLAKE2B d4220ebd58a70bb776e310229a85e901869a4669174607ef941ecddd794571f6dc6b3aeffdbe4d219e187cf1def18f5b9e4faea4fe55fc8ca904985ee90f0cb6 SHA512 703b84c476c148a0922a04b1c33c9c4c452f478d608d93e59204b8f0f2c516344301ff0a4dbb3750a2449db0d28cc2df001c295898e859b41ecb8381f9c2eab8
+DIST OpenBLAS-0.3.32.tar.gz 25221171 BLAKE2B fa5135a5d0f38bb15e41c9e73bb34193c3497ee4eb1745066845cde46092b4859ab98c1649552ee760571ca84ebbb97984041508e9ab6c7cbab0c77f9c2b55f8 SHA512 5aac0c41a78bca872439bcde67445dd12de27d9efd0d9db51e6e3a31dfa2d0f6a6c5ee1c1de2bf7ad2f89082259e67f27ddaeafb0553bb5f2ca9a90c8a3dde29
diff --git a/sci-libs/openblas/openblas-0.3.32.ebuild b/sci-libs/openblas/openblas-0.3.32.ebuild
new file mode 100644
index 000000000000..524b4d5050de
--- /dev/null
+++ b/sci-libs/openblas/openblas-0.3.32.ebuild
@@ -0,0 +1,182 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic fortran-2 toolchain-funcs
+
+MY_P=OpenBLAS-${PV}
+DESCRIPTION="Optimized BLAS library based on GotoBLAS2"
+HOMEPAGE="https://github.com/OpenMathLib/OpenBLAS"
+SRC_URI="https://github.com/OpenMathLib/OpenBLAS/releases/download/v${PV}/${MY_P}.tar.gz"
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86 ~x64-macos"
+IUSE="cpudetection index64 openmp pthread relapack test"
+REQUIRED_USE="?? ( openmp pthread )"
+RESTRICT="!cpudetection? ( bindist ) !test? ( test )"
+
+BDEPEND="virtual/pkgconfig"
+
+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() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+
+ fortran-2_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # TODO: Unbundle lapack like Fedora does?
+ # https://src.fedoraproject.org/rpms/openblas/blob/rawhide/f/openblas-0.2.15-system_lapack.patch
+
+ # Don't build the tests as part of "make all". We'll do
+ # it explicitly later if the test phase is enabled.
+ sed -i -e "/^all :: tests/s: tests::g" Makefile || die
+
+ # If 64bit-index is needed, create second library with LIBPREFIX=libopenblas64
+ if use index64; then
+ cp -aL "${S}" "${S}-index64" || die
+ fi
+}
+
+src_configure() {
+ # List of most configurable options is in Makefile.rule.
+
+ # Not an easy fix, https://github.com/xianyi/OpenBLAS/issues/4128
+ filter-lto
+
+ tc-export CC FC LD AR AS RANLIB
+
+ # HOSTCC is used for scripting
+ export HOSTCC="$(tc-getBUILD_CC)"
+
+ # Threading options
+ export USE_THREAD=0
+ export USE_OPENMP=0
+ if use openmp; then
+ USE_THREAD=1
+ USE_OPENMP=1
+ elif use pthread; then
+ USE_THREAD=1
+ USE_OPENMP=0
+ fi
+
+ # 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
+ if use cpudetection ; then
+ export DYNAMIC_ARCH=1 NO_AFFINITY=1 TARGET=GENERIC
+ fi
+
+ case $(tc-get-ptr-size) in
+ 4)
+ # NUM_BUFFERS = MAX(50, (2*NUM_PARALLEL*NUM_THREADS)
+ # BUFFER_SIZE = (16 << 20) (on x86)
+ # NUM_BUFFERS * BUFFER_SIZE is allocated and must be
+ # <4GiB on 32-bit arches (bug #967251).
+ #
+ # Scale down to 2*8*(16 << 20) = 256MiB for 32-bit
+ # arches. This avoids spinning in blas_memory_alloc
+ # which doesn't handle ENOMEM.
+ export NUM_PARALLEL=${OPENBLAS_NPARALLEL:-2}
+ export NUM_THREADS=${OPENBLAS_NTHREAD:-8}
+ ;;
+ 8)
+ # XXX: The current values here rely on overcommit
+ # for most systems (bug #967026).
+ export NUM_PARALLEL=${OPENBLAS_NPARALLEL:-8}
+ export NUM_THREADS=${OPENBLAS_NTHREAD:-64}
+ ;;
+ *)
+ die "Unexpected tc-get-ptr-size. Please file a bug."
+ ;;
+ esac
+
+ # Allow 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 cpudetection ; then
+ if [[ -n "${OPENBLAS_TARGET}" ]] ; then
+ export TARGET="${OPENBLAS_TARGET}"
+ elif [[ ${CBUILD} != ${CHOST} ]] ; then
+ case ${CHOST} in
+ aarch64-*)
+ export TARGET="ARMV8"
+ export BINARY="64"
+ ;;
+ powerpc64le-*)
+ export TARGET="POWER8"
+ export BUILD_BFLOAT16=1
+ export BINARY=64
+ ;;
+ esac
+ fi
+ fi
+
+ export NO_STATIC=1
+ export BUILD_RELAPACK=$(usex relapack 1 0)
+ export PREFIX="${EPREFIX}/usr"
+}
+
+emake64() {
+ emake -C "${S}-index64" \
+ INTERFACE64=1 \
+ LIBNAMESUFFIX=64 \
+ "${@}"
+}
+
+src_compile() {
+ emake shared
+
+ if use index64; then
+ emake64 shared
+ fi
+}
+
+src_test() {
+ emake tests
+
+ if use index64; then
+ emake64 tests
+ fi
+}
+
+src_install() {
+ local libdir=$(get_libdir)
+ emake install \
+ DESTDIR="${D}" \
+ OPENBLAS_INCLUDE_DIR='$(PREFIX)'/include/openblas \
+ OPENBLAS_LIBRARY_DIR='$(PREFIX)'/${libdir}
+
+ dodoc GotoBLAS_*.txt *.md Changelog.txt
+
+ if use index64; then
+ emake64 install \
+ DESTDIR="${D}" \
+ OPENBLAS_INCLUDE_DIR='$(PREFIX)'/include/openblas64 \
+ OPENBLAS_LIBRARY_DIR='$(PREFIX)'/${libdir}
+ fi
+}