commit:     299f02ee813471fb562afe291eb3feaf46f5d4ec
Author:     Matthias Maier <tamiko <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 28 17:54:43 2025 +0000
Commit:     Matthias Maier <tamiko <AT> gentoo <DOT> org>
CommitDate: Sat Jun 28 21:51:24 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=299f02ee

sci-mathematics/petsc: drop versions

Signed-off-by: Matthias Maier <tamiko <AT> gentoo.org>

 sci-mathematics/petsc/Manifest                     |   6 -
 .../files/petsc-3.16.0-fix_sandbox_violation.patch |  15 --
 .../petsc/files/petsc-3.7.0-disable-rpath.patch    |  18 --
 sci-mathematics/petsc/petsc-3.18.2-r1.ebuild       | 235 --------------------
 sci-mathematics/petsc/petsc-3.19.1-r1.ebuild       | 235 --------------------
 sci-mathematics/petsc/petsc-3.19.2-r1.ebuild       | 235 --------------------
 sci-mathematics/petsc/petsc-3.19.4-r1.ebuild       | 240 ---------------------
 sci-mathematics/petsc/petsc-3.20.5-r1.ebuild       | 240 ---------------------
 sci-mathematics/petsc/petsc-3.21.3.ebuild          | 235 --------------------
 9 files changed, 1459 deletions(-)

diff --git a/sci-mathematics/petsc/Manifest b/sci-mathematics/petsc/Manifest
index 5adb5918f539..06a9c2bc47be 100644
--- a/sci-mathematics/petsc/Manifest
+++ b/sci-mathematics/petsc/Manifest
@@ -1,7 +1 @@
-DIST petsc-3.18.2.tar.gz 18409507 BLAKE2B 
999d4fc80dedb5f9ce58333b6052b15ff499e3d5e4fee3e37639f5e3d2c5e86b514290d01e75b71795467436254d2cb8b05dac3d6252c80db898010bbed95544
 SHA512 
a8e9757144a20d61c004f54615821df7f9dbd920af71fea4674eb0fd1bf9f0b50dbc5c89aae285fef35a23daf67ba9647e479a6e92dbcd26e53fd8302735a47b
-DIST petsc-3.19.1.tar.gz 16659061 BLAKE2B 
8c7b22e5f97756261a5d0e8b707670d55db53e209fd1e116a2adb517d42f5e8bd5ecc911c9e967b88a8dc60a2d872c1d7a279539c65064884b4cfbe856434ad3
 SHA512 
5b9b71599a95e2d82d18d5313c424a08eead0c10f27f40c82159839ef0fa8aeda88ddea693a12d58b8ac29a41c4138e8188a3c91d6af540196ee3a977cf9539d
-DIST petsc-3.19.2.tar.gz 16627765 BLAKE2B 
1267db717989c3819f32ac6a62642054af2ac49d9e9276ffd4f0846d73e31ae4a5dcca4ad794b91cdb29463b7ec68040baa4e1cad99aaef8ab910ff7b64d7478
 SHA512 
f8feeb66fa8bd2406227be0e2cc2946485238362270d40e3f07dc89491177751f6bf680f51b70696bc30b677624c0e525c3fa9784eabdeb2337697ec56f63fc1
-DIST petsc-3.19.4.tar.gz 16630006 BLAKE2B 
577655fff12f9f54570393b2023d3386e66c7d4351ef20922f4b8100cbc54eeec0fb6ce249774cb54d2d06062a610c7d755e3b44994a3e053c0c02889810adc8
 SHA512 
b32b8cf72ea6bf3d976067ce0b722a6fb2ede525bc2293b72daf5693de48c6256e50f3968c0464a5e0d3bb067b936e1d78b66b51626fd27bbef2f57322509564
-DIST petsc-3.20.5.tar.gz 17077395 BLAKE2B 
e76ff83572f7f0fcfa85b80f36301e0378d240e60726f07ab78a66b87591434bda6a96758037580370965f91c03341d95f60cfb961c2ab6707eeaafd5a7b1e1d
 SHA512 
1e0ebdacbcc9db22dbe3803cbc13f5e0138d0412c328ff49cab024c839527c73b28983717104daf0858d482a8804b931c5c2bf20363c6b801d2be7d27219692f
-DIST petsc-3.21.3.tar.gz 17334266 BLAKE2B 
6a34ae9f57b6f6c9ece4d411da8374d0b5675539f4041b8aa872c639084c7d38b7ddcf27889e7b835df453a8725869d04b4515615dba5998fb00fe28074043ec
 SHA512 
699bbf3ddfc8fe8ebd4a1cb51a04108c10cafb65d30e7a74a9bf1b1ddd0f4350f0b893b256ea8a835e076e0a2f982189902bff30a9e301b3e04b539d2d2b6f99
 DIST petsc-3.22.2.tar.gz 16753088 BLAKE2B 
6c4d63ef36fc65913322f85d63dfd037268ba957e07a3d2d4df1e71f4b5c7625cfe1ea3007a97b78886d526509ae381ebc90f9be047c2ef93edd1b250c02d59e
 SHA512 
77f4f51aea56fc254dcc0df254bc69ee2cf91a598834108bfc652b0c21dbb515e7b1000e8771fec8d2b5e4c0f56c50762aa77d0e8b36c417c0eafe6fffb213af

diff --git 
a/sci-mathematics/petsc/files/petsc-3.16.0-fix_sandbox_violation.patch 
b/sci-mathematics/petsc/files/petsc-3.16.0-fix_sandbox_violation.patch
deleted file mode 100644
index d1ed880bddfd..000000000000
--- a/sci-mathematics/petsc/files/petsc-3.16.0-fix_sandbox_violation.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- a/config/PETSc/options/installDir.py
-+++ b/config/PETSc/options/installDir.py
-@@ -40,13 +40,7 @@ class Configure(config.base.Configure):
-       self.dir = 
os.path.abspath(os.path.expanduser(self.framework.argDB['prefix']))
-       self.petscDir = self.dir
-       self.petscArch = ''
--      try:
--        os.makedirs(os.path.join(self.dir,'PETScTestDirectory'))
--        os.rmdir(os.path.join(self.dir,'PETScTestDirectory'))
--      except Exception as e:
--        self.logPrint('Error trying to to test write permissions on directory 
'+str(e))
--        self.installSudo = 'sudo '
-     else:
-       self.dir = os.path.abspath(os.path.join(self.petscdir.dir, 
self.arch.arch))
-       self.petscDir = self.petscdir.dir

diff --git a/sci-mathematics/petsc/files/petsc-3.7.0-disable-rpath.patch 
b/sci-mathematics/petsc/files/petsc-3.7.0-disable-rpath.patch
deleted file mode 100644
index 8d0d993309bc..000000000000
--- a/sci-mathematics/petsc/files/petsc-3.7.0-disable-rpath.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-diff --git a/config/BuildSystem/config/setCompilers.py 
b/config/BuildSystem/config/setCompilers.py
-index 219a35b..ad2ed8c 100644
---- a/config/BuildSystem/config/setCompilers.py
-+++ b/config/BuildSystem/config/setCompilers.py
-@@ -1385,12 +1385,7 @@ class Configure(config.base.Configure):
-     for language in languages:
-       flag = '-L'
-       self.pushLanguage(language)
--      # test '-R' before '-rpath' as sun compilers [c,fortran] don't give 
proper errors with wrong options.
--      if not Configure.isDarwin(self.log):
--        testFlags = ['-Wl,-rpath,', '-R','-rpath ' , '-Wl,-R,']
--      else:
--        testFlags = ['-Wl,-rpath,']
--      # test '-R' before '-Wl,-rpath' for SUN compilers [as cc on linux 
accepts -Wl,-rpath, but  f90 & CC do not.
-+      testFlags = []
-       if self.isSun(self.framework.getCompiler(), self.log):
-         testFlags.insert(0,'-R')
-       for testFlag in testFlags:

diff --git a/sci-mathematics/petsc/petsc-3.18.2-r1.ebuild 
b/sci-mathematics/petsc/petsc-3.18.2-r1.ebuild
deleted file mode 100644
index 00ca06c193f2..000000000000
--- a/sci-mathematics/petsc/petsc-3.18.2-r1.ebuild
+++ /dev/null
@@ -1,235 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..11} pypy3 )
-
-inherit flag-o-matic fortran-2 python-any-r1 toolchain-funcs
-
-DESCRIPTION="Portable, Extensible Toolkit for Scientific Computation"
-HOMEPAGE="https://www.mcs.anl.gov/petsc";
-SRC_URI="http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/${P}.tar.gz";
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="afterimage boost complex-scalars debug +examples fftw
-fortran hdf5 hypre int64 mpi metis mumps scotch superlu threads X"
-
-# readd sparse when suitesparse-5.6.0 is in tree
-# sparse? ( >=sci-libs/suitesparse-5.6.0 >=sci-libs/cholmod-1.7.0 )
-# $(use_with sparse suitesparse) \
-RDEPEND="
-       virtual/blas
-       virtual/lapack
-
-       afterimage? ( media-libs/libafterimage )
-       boost? ( dev-libs/boost )
-       fftw? ( sci-libs/fftw:3.0[mpi?] )
-       hdf5? ( sci-libs/hdf5:=[mpi?] )
-       hypre? ( >=sci-libs/hypre-2.18.0[int64?,mpi?] )
-       metis? ( >=sci-libs/parmetis-4 )
-       mpi? ( virtual/mpi[fortran?] )
-       mumps? ( sci-libs/mumps[mpi?] sci-libs/scalapack )
-       scotch? ( sci-libs/scotch[int64?,mpi?] )
-       superlu? ( >=sci-libs/superlu-5 )
-       X? ( x11-libs/libX11 )
-"
-DEPEND="
-       ${RDEPEND}
-       ${PYTHON_DEPS}
-"
-BDEPEND="
-       dev-build/cmake
-       virtual/pkgconfig
-"
-
-# hypre and superlu curretly exclude each other due to missing linking to hypre
-# if both are enabled
-REQUIRED_USE="
-       afterimage? ( X )
-       complex-scalars? ( !hypre !superlu )
-       fftw? ( mpi )
-       hdf5? ( mpi )
-       hypre? ( mpi !superlu )
-       mumps? ( mpi scotch )
-       scotch? ( mpi )
-       superlu? ( !hypre )
-"
-PATCHES=(
-       "${FILESDIR}/${PN}-3.7.0-disable-rpath.patch"
-       "${FILESDIR}"/${PN}-3.16.0-fix_sandbox_violation.patch
-)
-
-# petsc uses --with-blah=1 and --with-blah=0 to en/disable options
-petsc_enable() {
-       use "$1" && echo "--with-${2:-$1}=1" || echo "--with-${2:-$1}=0"
-}
-# add external library:
-# petsc_with use_flag libname libdir
-# petsc_with use_flag libname include linking_libs
-petsc_with() {
-       local myuse p=${2:-${1}}
-       if use ${1}; then
-               myuse="--with-${p}=1"
-               if [[ $# -ge 4 ]]; then
-                       myuse="${myuse} --with-${p}-include=${EPREFIX}${3}"
-                       shift 3
-                       myuse="${myuse} --with-${p}-lib=$@"
-               else
-                       myuse="${myuse} --with-${p}-dir=${EPREFIX}${3:-/usr}"
-               fi
-       else
-               myuse="--with-${p}=0"
-       fi
-       echo ${myuse}
-}
-
-# select between configure options depending on use flag
-petsc_select() {
-       use "$1" && echo "--with-$2=$3" || echo "--with-$2=$4"
-}
-
-src_configure() {
-       # bug 548498
-       # PETSc runs mpi processes during configure that result in a sandbox
-       # violation by trying to open /proc/mtrr rw. This is not easy to
-       # mitigate because it happens in libpciaccess.so called by libhwloc.so,
-       # which is used by libmpi.so.
-       addpredict /proc/mtrr
-       # if mpi is built with knem support it needs /dev/knem too
-       addpredict /dev/knem
-
-       # configureMPITypes with openmpi-2* insists on accessing the scaling
-       # governor rw.
-       addpredict /sys/devices/system/cpu/
-
-       # bug 771711
-       # configureMPIEXEC and  configureMPITypes access /dev/nvidiactl
-       addpredict /dev/nvidiactl
-
-       # bug 810841
-       addpredict /dev/kfd
-
-       local myopt
-
-       use debug && myopt="debug" || myopt="opt"
-
-       # environmental variables expected by petsc during build
-
-       export PETSC_DIR="${S}"
-       export PETSC_ARCH="linux-gnu-c-${myopt}"
-
-       if use debug; then
-               strip-flags
-               filter-flags -O*
-       fi
-
-       tc-export AR RANLIB
-
-       # C Support on CXX builds is enabled if possible i.e. when not using
-       # complex scalars (no complex type for both available at the same time)
-
-       econf \
-               scrollOutput=1 \
-               AR="${AR}" \
-               CFLAGS="${CFLAGS} -fPIC" \
-               CPPFLAGS="${CPPFLAGS}" \
-               CXXFLAGS="${CXXFLAGS} -fPIC" \
-               CXXOPTFLAGS="${CXXFLAGS} -fPIC" \
-               FCFLAGS="${FCFLAGS} -fPIC" \
-               FFLAGS="${FFLAGS} -fPIC" \
-               LDFLAGS="${LDFLAGS}" \
-               MAKEFLAGS="${MAKEFLAGS}" \
-               RANLIB="${RANLIB}" \
-               --prefix="${EPREFIX}/usr/$(get_libdir)/petscdir/" \
-               --with-blas-lapack-lib="$($(tc-getPKG_CONFIG) --libs blas 
lapack)" \
-               --with-cmake:BOOL=1 \
-               --with-gnu-compilers \
-               --with-imagemagick=0 \
-               --with-petsc-arch="${PETSC_ARCH}" \
-               --with-precision=double \
-               --with-python=0 \
-               --with-shared-libraries \
-               --with-single-library \
-               --with-windows-graphics=0 \
-               $(petsc_enable debug debugging) \
-               $(petsc_enable fortran) \
-               $(petsc_enable mpi) \
-               $(petsc_enable mpi mpi-compilers) \
-               $(petsc_enable threads pthread) \
-               $(petsc_select complex-scalars scalar-type complex real) \
-               $(petsc_select mpi cc mpicc $(tc-getCC)) \
-               $(petsc_select mpi cxx mpicxx $(tc-getCXX)) \
-               $(petsc_with afterimage afterimage /usr/include/libAfterImage 
-lAfterImage) \
-               $(petsc_with hypre hypre /usr/include/hypre -lHYPRE) \
-               $(petsc_with superlu superlu /usr/include/superlu -lsuperlu) \
-               $(petsc_with scotch ptscotch /usr/include/scotch 
[-lptesmumps,-lptscotch,-lptscotcherr,-lscotch,-lscotcherr]) \
-               $(petsc_with mumps scalapack /usr/include/scalapack 
-lscalapack) \
-               $(petsc_with mumps mumps /usr/include 
[-lcmumps,-ldmumps,-lsmumps,-lzmumps,-lmumps_common,-lpord]) \
-               $(use fortran && echo "$(petsc_select mpi fc mpif77 
$(tc-getF77))") \
-               $(use int64 && echo "--with-index-size=64") \
-               $(use_with boost) \
-               $(use_with fftw) \
-               $(use_with hdf5) \
-               $(use_with X x) \
-               $(use_with X x11)
-}
-
-src_install() {
-       emake DESTDIR="${ED}" install
-
-       #
-       # Clean up the mess:
-       #
-
-       # put all include directories under a proper subdirectory
-       mkdir "${ED}"/usr/include || die "mkdir failed (include)"
-       mv "${ED}"/usr/{$(get_libdir)/petscdir/include,include/petsc} || die 
"mv failed (include)"
-
-       # put libraries and pkconfig file into proper place
-       mv "${ED}"/usr/$(get_libdir)/petscdir/lib/{libpetsc*,pkgconfig} \
-               "${ED}/usr/$(get_libdir)" || die "mv failed (lib)"
-
-       # move share to proper location
-       mv "${ED}"/usr/{$(get_libdir)/petscdir/share,share} || die "mv failed 
(share)"
-
-       # fix pc files:
-       sed -i \
-               -e 's#include$#include/petsc#' \
-               -e "s#lib\$#$(get_libdir)#" \
-               -e "s#^prefix=.*petscdir\$#prefix=${EPREFIX}/usr#" \
-               "${ED}"/usr/$(get_libdir)/pkgconfig/*.pc || die "sed failed 
(pkgconfig)"
-
-       # recreate a "valid" petscdir:
-       for i in "${ED}"/usr/$(get_libdir)/*; do
-               [ $(basename $i) = petscdir ] && continue
-               ln -s "${EPREFIX}/usr/$(get_libdir)/$(basename $i)" \
-                       "${ED}/usr/$(get_libdir)/petscdir/lib/$(basename $i)" 
|| die "ln failed (petscdir)"
-       done
-       ln -s "${EPREFIX}"/usr/include/petsc/ \
-               "${ED}/usr/$(get_libdir)/petscdir/include" || die "ln failed 
(petscdir)"
-       mkdir "${ED}/usr/$(get_libdir)/petscdir/share" || die "mkdir fialed 
(petscdir)"
-       ln -s "${EPREFIX}"/usr/share/petsc/ \
-               "${ED}/usr/$(get_libdir)/petscdir/share/petsc" || die "ln 
failed (petscdir)"
-
-       # automatically symlink petsc matlab modules:
-       mkdir -p "${ED}"/usr/share/octave/site/m/
-       ln -s "${EPREFIX}"/usr/share/petsc/matlab 
"${ED}"/usr/share/octave/site/m/petsc || die "ln failed (matlab)"
-
-       if use examples; then
-               mkdir -p "${ED}"/usr/share/doc/${PF} || die "mkdir failed 
(examples)"
-               mv "${ED}"/usr/share/petsc/examples "${ED}"/usr/share/doc/${PF} 
|| die "mv failed (examples)"
-               ln -s "${EPREFIX}"/usr/share/doc/${PF}/examples 
"${ED}"/usr/share/petsc/examples || die "ln failed (examples)"
-               docompress -x /usr/share/doc/${PF}/examples
-       else
-               rm -r "${ED}"/usr/share/petsc/examples || die "rm failed 
(examples)"
-       fi
-
-       # add PETSC_DIR to environmental variables
-       cat >> 99petsc <<- EOF
-               PETSC_DIR=${EPREFIX}/usr/$(get_libdir)/petscdir
-       EOF
-       doenvd 99petsc
-}

diff --git a/sci-mathematics/petsc/petsc-3.19.1-r1.ebuild 
b/sci-mathematics/petsc/petsc-3.19.1-r1.ebuild
deleted file mode 100644
index 00ca06c193f2..000000000000
--- a/sci-mathematics/petsc/petsc-3.19.1-r1.ebuild
+++ /dev/null
@@ -1,235 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..11} pypy3 )
-
-inherit flag-o-matic fortran-2 python-any-r1 toolchain-funcs
-
-DESCRIPTION="Portable, Extensible Toolkit for Scientific Computation"
-HOMEPAGE="https://www.mcs.anl.gov/petsc";
-SRC_URI="http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/${P}.tar.gz";
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="afterimage boost complex-scalars debug +examples fftw
-fortran hdf5 hypre int64 mpi metis mumps scotch superlu threads X"
-
-# readd sparse when suitesparse-5.6.0 is in tree
-# sparse? ( >=sci-libs/suitesparse-5.6.0 >=sci-libs/cholmod-1.7.0 )
-# $(use_with sparse suitesparse) \
-RDEPEND="
-       virtual/blas
-       virtual/lapack
-
-       afterimage? ( media-libs/libafterimage )
-       boost? ( dev-libs/boost )
-       fftw? ( sci-libs/fftw:3.0[mpi?] )
-       hdf5? ( sci-libs/hdf5:=[mpi?] )
-       hypre? ( >=sci-libs/hypre-2.18.0[int64?,mpi?] )
-       metis? ( >=sci-libs/parmetis-4 )
-       mpi? ( virtual/mpi[fortran?] )
-       mumps? ( sci-libs/mumps[mpi?] sci-libs/scalapack )
-       scotch? ( sci-libs/scotch[int64?,mpi?] )
-       superlu? ( >=sci-libs/superlu-5 )
-       X? ( x11-libs/libX11 )
-"
-DEPEND="
-       ${RDEPEND}
-       ${PYTHON_DEPS}
-"
-BDEPEND="
-       dev-build/cmake
-       virtual/pkgconfig
-"
-
-# hypre and superlu curretly exclude each other due to missing linking to hypre
-# if both are enabled
-REQUIRED_USE="
-       afterimage? ( X )
-       complex-scalars? ( !hypre !superlu )
-       fftw? ( mpi )
-       hdf5? ( mpi )
-       hypre? ( mpi !superlu )
-       mumps? ( mpi scotch )
-       scotch? ( mpi )
-       superlu? ( !hypre )
-"
-PATCHES=(
-       "${FILESDIR}/${PN}-3.7.0-disable-rpath.patch"
-       "${FILESDIR}"/${PN}-3.16.0-fix_sandbox_violation.patch
-)
-
-# petsc uses --with-blah=1 and --with-blah=0 to en/disable options
-petsc_enable() {
-       use "$1" && echo "--with-${2:-$1}=1" || echo "--with-${2:-$1}=0"
-}
-# add external library:
-# petsc_with use_flag libname libdir
-# petsc_with use_flag libname include linking_libs
-petsc_with() {
-       local myuse p=${2:-${1}}
-       if use ${1}; then
-               myuse="--with-${p}=1"
-               if [[ $# -ge 4 ]]; then
-                       myuse="${myuse} --with-${p}-include=${EPREFIX}${3}"
-                       shift 3
-                       myuse="${myuse} --with-${p}-lib=$@"
-               else
-                       myuse="${myuse} --with-${p}-dir=${EPREFIX}${3:-/usr}"
-               fi
-       else
-               myuse="--with-${p}=0"
-       fi
-       echo ${myuse}
-}
-
-# select between configure options depending on use flag
-petsc_select() {
-       use "$1" && echo "--with-$2=$3" || echo "--with-$2=$4"
-}
-
-src_configure() {
-       # bug 548498
-       # PETSc runs mpi processes during configure that result in a sandbox
-       # violation by trying to open /proc/mtrr rw. This is not easy to
-       # mitigate because it happens in libpciaccess.so called by libhwloc.so,
-       # which is used by libmpi.so.
-       addpredict /proc/mtrr
-       # if mpi is built with knem support it needs /dev/knem too
-       addpredict /dev/knem
-
-       # configureMPITypes with openmpi-2* insists on accessing the scaling
-       # governor rw.
-       addpredict /sys/devices/system/cpu/
-
-       # bug 771711
-       # configureMPIEXEC and  configureMPITypes access /dev/nvidiactl
-       addpredict /dev/nvidiactl
-
-       # bug 810841
-       addpredict /dev/kfd
-
-       local myopt
-
-       use debug && myopt="debug" || myopt="opt"
-
-       # environmental variables expected by petsc during build
-
-       export PETSC_DIR="${S}"
-       export PETSC_ARCH="linux-gnu-c-${myopt}"
-
-       if use debug; then
-               strip-flags
-               filter-flags -O*
-       fi
-
-       tc-export AR RANLIB
-
-       # C Support on CXX builds is enabled if possible i.e. when not using
-       # complex scalars (no complex type for both available at the same time)
-
-       econf \
-               scrollOutput=1 \
-               AR="${AR}" \
-               CFLAGS="${CFLAGS} -fPIC" \
-               CPPFLAGS="${CPPFLAGS}" \
-               CXXFLAGS="${CXXFLAGS} -fPIC" \
-               CXXOPTFLAGS="${CXXFLAGS} -fPIC" \
-               FCFLAGS="${FCFLAGS} -fPIC" \
-               FFLAGS="${FFLAGS} -fPIC" \
-               LDFLAGS="${LDFLAGS}" \
-               MAKEFLAGS="${MAKEFLAGS}" \
-               RANLIB="${RANLIB}" \
-               --prefix="${EPREFIX}/usr/$(get_libdir)/petscdir/" \
-               --with-blas-lapack-lib="$($(tc-getPKG_CONFIG) --libs blas 
lapack)" \
-               --with-cmake:BOOL=1 \
-               --with-gnu-compilers \
-               --with-imagemagick=0 \
-               --with-petsc-arch="${PETSC_ARCH}" \
-               --with-precision=double \
-               --with-python=0 \
-               --with-shared-libraries \
-               --with-single-library \
-               --with-windows-graphics=0 \
-               $(petsc_enable debug debugging) \
-               $(petsc_enable fortran) \
-               $(petsc_enable mpi) \
-               $(petsc_enable mpi mpi-compilers) \
-               $(petsc_enable threads pthread) \
-               $(petsc_select complex-scalars scalar-type complex real) \
-               $(petsc_select mpi cc mpicc $(tc-getCC)) \
-               $(petsc_select mpi cxx mpicxx $(tc-getCXX)) \
-               $(petsc_with afterimage afterimage /usr/include/libAfterImage 
-lAfterImage) \
-               $(petsc_with hypre hypre /usr/include/hypre -lHYPRE) \
-               $(petsc_with superlu superlu /usr/include/superlu -lsuperlu) \
-               $(petsc_with scotch ptscotch /usr/include/scotch 
[-lptesmumps,-lptscotch,-lptscotcherr,-lscotch,-lscotcherr]) \
-               $(petsc_with mumps scalapack /usr/include/scalapack 
-lscalapack) \
-               $(petsc_with mumps mumps /usr/include 
[-lcmumps,-ldmumps,-lsmumps,-lzmumps,-lmumps_common,-lpord]) \
-               $(use fortran && echo "$(petsc_select mpi fc mpif77 
$(tc-getF77))") \
-               $(use int64 && echo "--with-index-size=64") \
-               $(use_with boost) \
-               $(use_with fftw) \
-               $(use_with hdf5) \
-               $(use_with X x) \
-               $(use_with X x11)
-}
-
-src_install() {
-       emake DESTDIR="${ED}" install
-
-       #
-       # Clean up the mess:
-       #
-
-       # put all include directories under a proper subdirectory
-       mkdir "${ED}"/usr/include || die "mkdir failed (include)"
-       mv "${ED}"/usr/{$(get_libdir)/petscdir/include,include/petsc} || die 
"mv failed (include)"
-
-       # put libraries and pkconfig file into proper place
-       mv "${ED}"/usr/$(get_libdir)/petscdir/lib/{libpetsc*,pkgconfig} \
-               "${ED}/usr/$(get_libdir)" || die "mv failed (lib)"
-
-       # move share to proper location
-       mv "${ED}"/usr/{$(get_libdir)/petscdir/share,share} || die "mv failed 
(share)"
-
-       # fix pc files:
-       sed -i \
-               -e 's#include$#include/petsc#' \
-               -e "s#lib\$#$(get_libdir)#" \
-               -e "s#^prefix=.*petscdir\$#prefix=${EPREFIX}/usr#" \
-               "${ED}"/usr/$(get_libdir)/pkgconfig/*.pc || die "sed failed 
(pkgconfig)"
-
-       # recreate a "valid" petscdir:
-       for i in "${ED}"/usr/$(get_libdir)/*; do
-               [ $(basename $i) = petscdir ] && continue
-               ln -s "${EPREFIX}/usr/$(get_libdir)/$(basename $i)" \
-                       "${ED}/usr/$(get_libdir)/petscdir/lib/$(basename $i)" 
|| die "ln failed (petscdir)"
-       done
-       ln -s "${EPREFIX}"/usr/include/petsc/ \
-               "${ED}/usr/$(get_libdir)/petscdir/include" || die "ln failed 
(petscdir)"
-       mkdir "${ED}/usr/$(get_libdir)/petscdir/share" || die "mkdir fialed 
(petscdir)"
-       ln -s "${EPREFIX}"/usr/share/petsc/ \
-               "${ED}/usr/$(get_libdir)/petscdir/share/petsc" || die "ln 
failed (petscdir)"
-
-       # automatically symlink petsc matlab modules:
-       mkdir -p "${ED}"/usr/share/octave/site/m/
-       ln -s "${EPREFIX}"/usr/share/petsc/matlab 
"${ED}"/usr/share/octave/site/m/petsc || die "ln failed (matlab)"
-
-       if use examples; then
-               mkdir -p "${ED}"/usr/share/doc/${PF} || die "mkdir failed 
(examples)"
-               mv "${ED}"/usr/share/petsc/examples "${ED}"/usr/share/doc/${PF} 
|| die "mv failed (examples)"
-               ln -s "${EPREFIX}"/usr/share/doc/${PF}/examples 
"${ED}"/usr/share/petsc/examples || die "ln failed (examples)"
-               docompress -x /usr/share/doc/${PF}/examples
-       else
-               rm -r "${ED}"/usr/share/petsc/examples || die "rm failed 
(examples)"
-       fi
-
-       # add PETSC_DIR to environmental variables
-       cat >> 99petsc <<- EOF
-               PETSC_DIR=${EPREFIX}/usr/$(get_libdir)/petscdir
-       EOF
-       doenvd 99petsc
-}

diff --git a/sci-mathematics/petsc/petsc-3.19.2-r1.ebuild 
b/sci-mathematics/petsc/petsc-3.19.2-r1.ebuild
deleted file mode 100644
index 00ca06c193f2..000000000000
--- a/sci-mathematics/petsc/petsc-3.19.2-r1.ebuild
+++ /dev/null
@@ -1,235 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..11} pypy3 )
-
-inherit flag-o-matic fortran-2 python-any-r1 toolchain-funcs
-
-DESCRIPTION="Portable, Extensible Toolkit for Scientific Computation"
-HOMEPAGE="https://www.mcs.anl.gov/petsc";
-SRC_URI="http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/${P}.tar.gz";
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="afterimage boost complex-scalars debug +examples fftw
-fortran hdf5 hypre int64 mpi metis mumps scotch superlu threads X"
-
-# readd sparse when suitesparse-5.6.0 is in tree
-# sparse? ( >=sci-libs/suitesparse-5.6.0 >=sci-libs/cholmod-1.7.0 )
-# $(use_with sparse suitesparse) \
-RDEPEND="
-       virtual/blas
-       virtual/lapack
-
-       afterimage? ( media-libs/libafterimage )
-       boost? ( dev-libs/boost )
-       fftw? ( sci-libs/fftw:3.0[mpi?] )
-       hdf5? ( sci-libs/hdf5:=[mpi?] )
-       hypre? ( >=sci-libs/hypre-2.18.0[int64?,mpi?] )
-       metis? ( >=sci-libs/parmetis-4 )
-       mpi? ( virtual/mpi[fortran?] )
-       mumps? ( sci-libs/mumps[mpi?] sci-libs/scalapack )
-       scotch? ( sci-libs/scotch[int64?,mpi?] )
-       superlu? ( >=sci-libs/superlu-5 )
-       X? ( x11-libs/libX11 )
-"
-DEPEND="
-       ${RDEPEND}
-       ${PYTHON_DEPS}
-"
-BDEPEND="
-       dev-build/cmake
-       virtual/pkgconfig
-"
-
-# hypre and superlu curretly exclude each other due to missing linking to hypre
-# if both are enabled
-REQUIRED_USE="
-       afterimage? ( X )
-       complex-scalars? ( !hypre !superlu )
-       fftw? ( mpi )
-       hdf5? ( mpi )
-       hypre? ( mpi !superlu )
-       mumps? ( mpi scotch )
-       scotch? ( mpi )
-       superlu? ( !hypre )
-"
-PATCHES=(
-       "${FILESDIR}/${PN}-3.7.0-disable-rpath.patch"
-       "${FILESDIR}"/${PN}-3.16.0-fix_sandbox_violation.patch
-)
-
-# petsc uses --with-blah=1 and --with-blah=0 to en/disable options
-petsc_enable() {
-       use "$1" && echo "--with-${2:-$1}=1" || echo "--with-${2:-$1}=0"
-}
-# add external library:
-# petsc_with use_flag libname libdir
-# petsc_with use_flag libname include linking_libs
-petsc_with() {
-       local myuse p=${2:-${1}}
-       if use ${1}; then
-               myuse="--with-${p}=1"
-               if [[ $# -ge 4 ]]; then
-                       myuse="${myuse} --with-${p}-include=${EPREFIX}${3}"
-                       shift 3
-                       myuse="${myuse} --with-${p}-lib=$@"
-               else
-                       myuse="${myuse} --with-${p}-dir=${EPREFIX}${3:-/usr}"
-               fi
-       else
-               myuse="--with-${p}=0"
-       fi
-       echo ${myuse}
-}
-
-# select between configure options depending on use flag
-petsc_select() {
-       use "$1" && echo "--with-$2=$3" || echo "--with-$2=$4"
-}
-
-src_configure() {
-       # bug 548498
-       # PETSc runs mpi processes during configure that result in a sandbox
-       # violation by trying to open /proc/mtrr rw. This is not easy to
-       # mitigate because it happens in libpciaccess.so called by libhwloc.so,
-       # which is used by libmpi.so.
-       addpredict /proc/mtrr
-       # if mpi is built with knem support it needs /dev/knem too
-       addpredict /dev/knem
-
-       # configureMPITypes with openmpi-2* insists on accessing the scaling
-       # governor rw.
-       addpredict /sys/devices/system/cpu/
-
-       # bug 771711
-       # configureMPIEXEC and  configureMPITypes access /dev/nvidiactl
-       addpredict /dev/nvidiactl
-
-       # bug 810841
-       addpredict /dev/kfd
-
-       local myopt
-
-       use debug && myopt="debug" || myopt="opt"
-
-       # environmental variables expected by petsc during build
-
-       export PETSC_DIR="${S}"
-       export PETSC_ARCH="linux-gnu-c-${myopt}"
-
-       if use debug; then
-               strip-flags
-               filter-flags -O*
-       fi
-
-       tc-export AR RANLIB
-
-       # C Support on CXX builds is enabled if possible i.e. when not using
-       # complex scalars (no complex type for both available at the same time)
-
-       econf \
-               scrollOutput=1 \
-               AR="${AR}" \
-               CFLAGS="${CFLAGS} -fPIC" \
-               CPPFLAGS="${CPPFLAGS}" \
-               CXXFLAGS="${CXXFLAGS} -fPIC" \
-               CXXOPTFLAGS="${CXXFLAGS} -fPIC" \
-               FCFLAGS="${FCFLAGS} -fPIC" \
-               FFLAGS="${FFLAGS} -fPIC" \
-               LDFLAGS="${LDFLAGS}" \
-               MAKEFLAGS="${MAKEFLAGS}" \
-               RANLIB="${RANLIB}" \
-               --prefix="${EPREFIX}/usr/$(get_libdir)/petscdir/" \
-               --with-blas-lapack-lib="$($(tc-getPKG_CONFIG) --libs blas 
lapack)" \
-               --with-cmake:BOOL=1 \
-               --with-gnu-compilers \
-               --with-imagemagick=0 \
-               --with-petsc-arch="${PETSC_ARCH}" \
-               --with-precision=double \
-               --with-python=0 \
-               --with-shared-libraries \
-               --with-single-library \
-               --with-windows-graphics=0 \
-               $(petsc_enable debug debugging) \
-               $(petsc_enable fortran) \
-               $(petsc_enable mpi) \
-               $(petsc_enable mpi mpi-compilers) \
-               $(petsc_enable threads pthread) \
-               $(petsc_select complex-scalars scalar-type complex real) \
-               $(petsc_select mpi cc mpicc $(tc-getCC)) \
-               $(petsc_select mpi cxx mpicxx $(tc-getCXX)) \
-               $(petsc_with afterimage afterimage /usr/include/libAfterImage 
-lAfterImage) \
-               $(petsc_with hypre hypre /usr/include/hypre -lHYPRE) \
-               $(petsc_with superlu superlu /usr/include/superlu -lsuperlu) \
-               $(petsc_with scotch ptscotch /usr/include/scotch 
[-lptesmumps,-lptscotch,-lptscotcherr,-lscotch,-lscotcherr]) \
-               $(petsc_with mumps scalapack /usr/include/scalapack 
-lscalapack) \
-               $(petsc_with mumps mumps /usr/include 
[-lcmumps,-ldmumps,-lsmumps,-lzmumps,-lmumps_common,-lpord]) \
-               $(use fortran && echo "$(petsc_select mpi fc mpif77 
$(tc-getF77))") \
-               $(use int64 && echo "--with-index-size=64") \
-               $(use_with boost) \
-               $(use_with fftw) \
-               $(use_with hdf5) \
-               $(use_with X x) \
-               $(use_with X x11)
-}
-
-src_install() {
-       emake DESTDIR="${ED}" install
-
-       #
-       # Clean up the mess:
-       #
-
-       # put all include directories under a proper subdirectory
-       mkdir "${ED}"/usr/include || die "mkdir failed (include)"
-       mv "${ED}"/usr/{$(get_libdir)/petscdir/include,include/petsc} || die 
"mv failed (include)"
-
-       # put libraries and pkconfig file into proper place
-       mv "${ED}"/usr/$(get_libdir)/petscdir/lib/{libpetsc*,pkgconfig} \
-               "${ED}/usr/$(get_libdir)" || die "mv failed (lib)"
-
-       # move share to proper location
-       mv "${ED}"/usr/{$(get_libdir)/petscdir/share,share} || die "mv failed 
(share)"
-
-       # fix pc files:
-       sed -i \
-               -e 's#include$#include/petsc#' \
-               -e "s#lib\$#$(get_libdir)#" \
-               -e "s#^prefix=.*petscdir\$#prefix=${EPREFIX}/usr#" \
-               "${ED}"/usr/$(get_libdir)/pkgconfig/*.pc || die "sed failed 
(pkgconfig)"
-
-       # recreate a "valid" petscdir:
-       for i in "${ED}"/usr/$(get_libdir)/*; do
-               [ $(basename $i) = petscdir ] && continue
-               ln -s "${EPREFIX}/usr/$(get_libdir)/$(basename $i)" \
-                       "${ED}/usr/$(get_libdir)/petscdir/lib/$(basename $i)" 
|| die "ln failed (petscdir)"
-       done
-       ln -s "${EPREFIX}"/usr/include/petsc/ \
-               "${ED}/usr/$(get_libdir)/petscdir/include" || die "ln failed 
(petscdir)"
-       mkdir "${ED}/usr/$(get_libdir)/petscdir/share" || die "mkdir fialed 
(petscdir)"
-       ln -s "${EPREFIX}"/usr/share/petsc/ \
-               "${ED}/usr/$(get_libdir)/petscdir/share/petsc" || die "ln 
failed (petscdir)"
-
-       # automatically symlink petsc matlab modules:
-       mkdir -p "${ED}"/usr/share/octave/site/m/
-       ln -s "${EPREFIX}"/usr/share/petsc/matlab 
"${ED}"/usr/share/octave/site/m/petsc || die "ln failed (matlab)"
-
-       if use examples; then
-               mkdir -p "${ED}"/usr/share/doc/${PF} || die "mkdir failed 
(examples)"
-               mv "${ED}"/usr/share/petsc/examples "${ED}"/usr/share/doc/${PF} 
|| die "mv failed (examples)"
-               ln -s "${EPREFIX}"/usr/share/doc/${PF}/examples 
"${ED}"/usr/share/petsc/examples || die "ln failed (examples)"
-               docompress -x /usr/share/doc/${PF}/examples
-       else
-               rm -r "${ED}"/usr/share/petsc/examples || die "rm failed 
(examples)"
-       fi
-
-       # add PETSC_DIR to environmental variables
-       cat >> 99petsc <<- EOF
-               PETSC_DIR=${EPREFIX}/usr/$(get_libdir)/petscdir
-       EOF
-       doenvd 99petsc
-}

diff --git a/sci-mathematics/petsc/petsc-3.19.4-r1.ebuild 
b/sci-mathematics/petsc/petsc-3.19.4-r1.ebuild
deleted file mode 100644
index e24eda87a3af..000000000000
--- a/sci-mathematics/petsc/petsc-3.19.4-r1.ebuild
+++ /dev/null
@@ -1,240 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..11} pypy3 )
-
-inherit flag-o-matic fortran-2 python-any-r1 toolchain-funcs
-
-DESCRIPTION="Portable, Extensible Toolkit for Scientific Computation"
-HOMEPAGE="https://www.mcs.anl.gov/petsc";
-SRC_URI="http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/${P}.tar.gz";
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="afterimage boost complex-scalars debug +examples fftw
-fortran hdf5 hypre int64 mpi metis mumps scotch superlu threads X"
-
-# readd sparse when suitesparse-5.6.0 is in tree
-# sparse? ( >=sci-libs/suitesparse-5.6.0 >=sci-libs/cholmod-1.7.0 )
-# $(use_with sparse suitesparse) \
-RDEPEND="
-       virtual/blas
-       virtual/lapack
-
-       afterimage? ( media-libs/libafterimage )
-       boost? ( dev-libs/boost )
-       fftw? ( sci-libs/fftw:3.0[mpi?] )
-       hdf5? ( sci-libs/hdf5:=[mpi?] )
-       hypre? ( >=sci-libs/hypre-2.18.0[int64?,mpi?] )
-       metis? ( >=sci-libs/parmetis-4 )
-       mpi? ( virtual/mpi[fortran?] )
-       mumps? ( sci-libs/mumps[mpi?] sci-libs/scalapack )
-       scotch? ( sci-libs/scotch[int64?,mpi?] )
-       superlu? ( >=sci-libs/superlu-5 )
-       X? ( x11-libs/libX11 )
-"
-DEPEND="
-       ${RDEPEND}
-       ${PYTHON_DEPS}
-"
-BDEPEND="
-       dev-build/cmake
-       virtual/pkgconfig
-"
-
-# hypre and superlu curretly exclude each other due to missing linking to hypre
-# if both are enabled
-REQUIRED_USE="
-       afterimage? ( X )
-       complex-scalars? ( !hypre !superlu )
-       fftw? ( mpi )
-       hdf5? ( mpi )
-       hypre? ( mpi !superlu )
-       mumps? ( mpi scotch )
-       scotch? ( mpi )
-       superlu? ( !hypre )
-"
-PATCHES=(
-       "${FILESDIR}/${PN}-3.7.0-disable-rpath.patch"
-       "${FILESDIR}"/${PN}-3.16.0-fix_sandbox_violation.patch
-)
-
-# petsc uses --with-blah=1 and --with-blah=0 to en/disable options
-petsc_enable() {
-       use "$1" && echo "--with-${2:-$1}=1" || echo "--with-${2:-$1}=0"
-}
-# add external library:
-# petsc_with use_flag libname libdir
-# petsc_with use_flag libname include linking_libs
-petsc_with() {
-       local myuse p=${2:-${1}}
-       if use ${1}; then
-               myuse="--with-${p}=1"
-               if [[ $# -ge 4 ]]; then
-                       myuse="${myuse} --with-${p}-include=${EPREFIX}${3}"
-                       shift 3
-                       myuse="${myuse} --with-${p}-lib=$@"
-               else
-                       myuse="${myuse} --with-${p}-dir=${EPREFIX}${3:-/usr}"
-               fi
-       else
-               myuse="--with-${p}=0"
-       fi
-       echo ${myuse}
-}
-
-# select between configure options depending on use flag
-petsc_select() {
-       use "$1" && echo "--with-$2=$3" || echo "--with-$2=$4"
-}
-
-src_configure() {
-       # -Werror=lto-type-mismatch
-       # https://bugs.gentoo.org/863260
-       # https://gitlab.com/petsc/petsc/-/issues/1560
-       filter-lto
-
-       # bug 548498
-       # PETSc runs mpi processes during configure that result in a sandbox
-       # violation by trying to open /proc/mtrr rw. This is not easy to
-       # mitigate because it happens in libpciaccess.so called by libhwloc.so,
-       # which is used by libmpi.so.
-       addpredict /proc/mtrr
-       # if mpi is built with knem support it needs /dev/knem too
-       addpredict /dev/knem
-
-       # configureMPITypes with openmpi-2* insists on accessing the scaling
-       # governor rw.
-       addpredict /sys/devices/system/cpu/
-
-       # bug 771711
-       # configureMPIEXEC and  configureMPITypes access /dev/nvidiactl
-       addpredict /dev/nvidiactl
-
-       # bug 810841
-       addpredict /dev/kfd
-
-       local myopt
-
-       use debug && myopt="debug" || myopt="opt"
-
-       # environmental variables expected by petsc during build
-
-       export PETSC_DIR="${S}"
-       export PETSC_ARCH="linux-gnu-c-${myopt}"
-
-       if use debug; then
-               strip-flags
-               filter-flags -O*
-       fi
-
-       tc-export AR RANLIB
-
-       # C Support on CXX builds is enabled if possible i.e. when not using
-       # complex scalars (no complex type for both available at the same time)
-
-       econf \
-               scrollOutput=1 \
-               AR="${AR}" \
-               CFLAGS="${CFLAGS} -fPIC" \
-               CPPFLAGS="${CPPFLAGS}" \
-               CXXFLAGS="${CXXFLAGS} -fPIC" \
-               CXXOPTFLAGS="${CXXFLAGS} -fPIC" \
-               FCFLAGS="${FCFLAGS} -fPIC" \
-               FFLAGS="${FFLAGS} -fPIC" \
-               LDFLAGS="${LDFLAGS}" \
-               MAKEFLAGS="${MAKEFLAGS}" \
-               RANLIB="${RANLIB}" \
-               --prefix="${EPREFIX}/usr/$(get_libdir)/petscdir/" \
-               --with-blas-lapack-lib="$($(tc-getPKG_CONFIG) --libs blas 
lapack)" \
-               --with-cmake:BOOL=1 \
-               --with-gnu-compilers \
-               --with-imagemagick=0 \
-               --with-petsc-arch="${PETSC_ARCH}" \
-               --with-precision=double \
-               --with-python=0 \
-               --with-shared-libraries \
-               --with-single-library \
-               --with-windows-graphics=0 \
-               $(petsc_enable debug debugging) \
-               $(petsc_enable fortran) \
-               $(petsc_enable mpi) \
-               $(petsc_enable mpi mpi-compilers) \
-               $(petsc_enable threads pthread) \
-               $(petsc_select complex-scalars scalar-type complex real) \
-               $(petsc_select mpi cc mpicc $(tc-getCC)) \
-               $(petsc_select mpi cxx mpicxx $(tc-getCXX)) \
-               $(petsc_with afterimage afterimage /usr/include/libAfterImage 
-lAfterImage) \
-               $(petsc_with hypre hypre /usr/include/hypre -lHYPRE) \
-               $(petsc_with superlu superlu /usr/include/superlu -lsuperlu) \
-               $(petsc_with scotch ptscotch /usr/include/scotch 
[-lptesmumps,-lptscotch,-lptscotcherr,-lscotch,-lscotcherr]) \
-               $(petsc_with mumps scalapack /usr/include/scalapack 
-lscalapack) \
-               $(petsc_with mumps mumps /usr/include 
[-lcmumps,-ldmumps,-lsmumps,-lzmumps,-lmumps_common,-lpord]) \
-               $(use fortran && echo "$(petsc_select mpi fc mpif77 
$(tc-getF77))") \
-               $(use int64 && echo "--with-index-size=64") \
-               $(use_with boost) \
-               $(use_with fftw) \
-               $(use_with hdf5) \
-               $(use_with X x) \
-               $(use_with X x11)
-}
-
-src_install() {
-       emake DESTDIR="${ED}" install
-
-       #
-       # Clean up the mess:
-       #
-
-       # put all include directories under a proper subdirectory
-       mkdir "${ED}"/usr/include || die "mkdir failed (include)"
-       mv "${ED}"/usr/{$(get_libdir)/petscdir/include,include/petsc} || die 
"mv failed (include)"
-
-       # put libraries and pkconfig file into proper place
-       mv "${ED}"/usr/$(get_libdir)/petscdir/lib/{libpetsc*,pkgconfig} \
-               "${ED}/usr/$(get_libdir)" || die "mv failed (lib)"
-
-       # move share to proper location
-       mv "${ED}"/usr/{$(get_libdir)/petscdir/share,share} || die "mv failed 
(share)"
-
-       # fix pc files:
-       sed -i \
-               -e 's#include$#include/petsc#' \
-               -e "s#lib\$#$(get_libdir)#" \
-               -e "s#^prefix=.*petscdir\$#prefix=${EPREFIX}/usr#" \
-               "${ED}"/usr/$(get_libdir)/pkgconfig/*.pc || die "sed failed 
(pkgconfig)"
-
-       # recreate a "valid" petscdir:
-       for i in "${ED}"/usr/$(get_libdir)/*; do
-               [ $(basename $i) = petscdir ] && continue
-               ln -s "${EPREFIX}/usr/$(get_libdir)/$(basename $i)" \
-                       "${ED}/usr/$(get_libdir)/petscdir/lib/$(basename $i)" 
|| die "ln failed (petscdir)"
-       done
-       ln -s "${EPREFIX}"/usr/include/petsc/ \
-               "${ED}/usr/$(get_libdir)/petscdir/include" || die "ln failed 
(petscdir)"
-       mkdir "${ED}/usr/$(get_libdir)/petscdir/share" || die "mkdir fialed 
(petscdir)"
-       ln -s "${EPREFIX}"/usr/share/petsc/ \
-               "${ED}/usr/$(get_libdir)/petscdir/share/petsc" || die "ln 
failed (petscdir)"
-
-       # automatically symlink petsc matlab modules:
-       mkdir -p "${ED}"/usr/share/octave/site/m/
-       ln -s "${EPREFIX}"/usr/share/petsc/matlab 
"${ED}"/usr/share/octave/site/m/petsc || die "ln failed (matlab)"
-
-       if use examples; then
-               mkdir -p "${ED}"/usr/share/doc/${PF} || die "mkdir failed 
(examples)"
-               mv "${ED}"/usr/share/petsc/examples "${ED}"/usr/share/doc/${PF} 
|| die "mv failed (examples)"
-               ln -s "${EPREFIX}"/usr/share/doc/${PF}/examples 
"${ED}"/usr/share/petsc/examples || die "ln failed (examples)"
-               docompress -x /usr/share/doc/${PF}/examples
-       else
-               rm -r "${ED}"/usr/share/petsc/examples || die "rm failed 
(examples)"
-       fi
-
-       # add PETSC_DIR to environmental variables
-       cat >> 99petsc <<- EOF
-               PETSC_DIR=${EPREFIX}/usr/$(get_libdir)/petscdir
-       EOF
-       doenvd 99petsc
-}

diff --git a/sci-mathematics/petsc/petsc-3.20.5-r1.ebuild 
b/sci-mathematics/petsc/petsc-3.20.5-r1.ebuild
deleted file mode 100644
index 98e1795c95fc..000000000000
--- a/sci-mathematics/petsc/petsc-3.20.5-r1.ebuild
+++ /dev/null
@@ -1,240 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..11} pypy3 )
-
-inherit flag-o-matic fortran-2 python-any-r1 toolchain-funcs
-
-DESCRIPTION="Portable, Extensible Toolkit for Scientific Computation"
-HOMEPAGE="https://petsc.org/release/";
-SRC_URI="https://web.cels.anl.gov/projects/petsc/download/release-snapshots/${P}.tar.gz";
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="afterimage boost complex-scalars debug +examples fftw
-fortran hdf5 hypre int64 mpi metis mumps scotch superlu threads X"
-
-# readd sparse when suitesparse-5.6.0 is in tree
-# sparse? ( >=sci-libs/suitesparse-5.6.0 >=sci-libs/cholmod-1.7.0 )
-# $(use_with sparse suitesparse) \
-RDEPEND="
-       virtual/blas
-       virtual/lapack
-
-       afterimage? ( media-libs/libafterimage )
-       boost? ( dev-libs/boost )
-       fftw? ( sci-libs/fftw:3.0[mpi?] )
-       hdf5? ( sci-libs/hdf5:=[mpi?] )
-       hypre? ( >=sci-libs/hypre-2.18.0[int64?,mpi?] )
-       metis? ( >=sci-libs/parmetis-4 )
-       mpi? ( virtual/mpi[fortran?] )
-       mumps? ( sci-libs/mumps[mpi?] sci-libs/scalapack )
-       scotch? ( sci-libs/scotch[int64?,mpi?] )
-       superlu? ( >=sci-libs/superlu-5 )
-       X? ( x11-libs/libX11 )
-"
-DEPEND="
-       ${RDEPEND}
-       ${PYTHON_DEPS}
-"
-BDEPEND="
-       dev-build/cmake
-       virtual/pkgconfig
-"
-
-# hypre and superlu curretly exclude each other due to missing linking to hypre
-# if both are enabled
-REQUIRED_USE="
-       afterimage? ( X )
-       complex-scalars? ( !hypre !superlu )
-       fftw? ( mpi )
-       hdf5? ( mpi )
-       hypre? ( mpi !superlu )
-       mumps? ( mpi scotch )
-       scotch? ( mpi )
-       superlu? ( !hypre )
-"
-PATCHES=(
-       "${FILESDIR}/${PN}-3.7.0-disable-rpath.patch"
-       "${FILESDIR}"/${PN}-3.16.0-fix_sandbox_violation.patch
-)
-
-# petsc uses --with-blah=1 and --with-blah=0 to en/disable options
-petsc_enable() {
-       use "$1" && echo "--with-${2:-$1}=1" || echo "--with-${2:-$1}=0"
-}
-# add external library:
-# petsc_with use_flag libname libdir
-# petsc_with use_flag libname include linking_libs
-petsc_with() {
-       local myuse p=${2:-${1}}
-       if use ${1}; then
-               myuse="--with-${p}=1"
-               if [[ $# -ge 4 ]]; then
-                       myuse="${myuse} --with-${p}-include=${EPREFIX}${3}"
-                       shift 3
-                       myuse="${myuse} --with-${p}-lib=$@"
-               else
-                       myuse="${myuse} --with-${p}-dir=${EPREFIX}${3:-/usr}"
-               fi
-       else
-               myuse="--with-${p}=0"
-       fi
-       echo ${myuse}
-}
-
-# select between configure options depending on use flag
-petsc_select() {
-       use "$1" && echo "--with-$2=$3" || echo "--with-$2=$4"
-}
-
-src_configure() {
-       # -Werror=lto-type-mismatch
-       # https://bugs.gentoo.org/863260
-       # https://gitlab.com/petsc/petsc/-/issues/1560
-       filter-lto
-
-       # bug 548498
-       # PETSc runs mpi processes during configure that result in a sandbox
-       # violation by trying to open /proc/mtrr rw. This is not easy to
-       # mitigate because it happens in libpciaccess.so called by libhwloc.so,
-       # which is used by libmpi.so.
-       addpredict /proc/mtrr
-       # if mpi is built with knem support it needs /dev/knem too
-       addpredict /dev/knem
-
-       # configureMPITypes with openmpi-2* insists on accessing the scaling
-       # governor rw.
-       addpredict /sys/devices/system/cpu/
-
-       # bug 771711
-       # configureMPIEXEC and  configureMPITypes access /dev/nvidiactl
-       addpredict /dev/nvidiactl
-
-       # bug 810841
-       addpredict /dev/kfd
-
-       local myopt
-
-       use debug && myopt="debug" || myopt="opt"
-
-       # environmental variables expected by petsc during build
-
-       export PETSC_DIR="${S}"
-       export PETSC_ARCH="linux-gnu-c-${myopt}"
-
-       if use debug; then
-               strip-flags
-               filter-flags -O*
-       fi
-
-       tc-export AR RANLIB
-
-       # C Support on CXX builds is enabled if possible i.e. when not using
-       # complex scalars (no complex type for both available at the same time)
-
-       econf \
-               scrollOutput=1 \
-               AR="${AR}" \
-               CFLAGS="${CFLAGS} -fPIC" \
-               CPPFLAGS="${CPPFLAGS}" \
-               CXXFLAGS="${CXXFLAGS} -fPIC" \
-               CXXOPTFLAGS="${CXXFLAGS} -fPIC" \
-               FCFLAGS="${FCFLAGS} -fPIC" \
-               FFLAGS="${FFLAGS} -fPIC" \
-               LDFLAGS="${LDFLAGS}" \
-               MAKEFLAGS="${MAKEFLAGS}" \
-               RANLIB="${RANLIB}" \
-               --prefix="${EPREFIX}/usr/$(get_libdir)/petscdir/" \
-               --with-blas-lapack-lib="$($(tc-getPKG_CONFIG) --libs blas 
lapack)" \
-               --with-cmake:BOOL=1 \
-               --with-gnu-compilers \
-               --with-imagemagick=0 \
-               --with-petsc-arch="${PETSC_ARCH}" \
-               --with-precision=double \
-               --with-python=0 \
-               --with-shared-libraries \
-               --with-single-library \
-               --with-windows-graphics=0 \
-               $(petsc_enable debug debugging) \
-               $(petsc_enable fortran) \
-               $(petsc_enable mpi) \
-               $(petsc_enable mpi mpi-compilers) \
-               $(petsc_enable threads pthread) \
-               $(petsc_select complex-scalars scalar-type complex real) \
-               $(petsc_select mpi cc mpicc $(tc-getCC)) \
-               $(petsc_select mpi cxx mpicxx $(tc-getCXX)) \
-               $(petsc_with afterimage afterimage /usr/include/libAfterImage 
-lAfterImage) \
-               $(petsc_with hypre hypre /usr/include/hypre -lHYPRE) \
-               $(petsc_with superlu superlu /usr/include/superlu -lsuperlu) \
-               $(petsc_with scotch ptscotch /usr/include/scotch 
[-lptesmumps,-lptscotch,-lptscotcherr,-lscotch,-lscotcherr]) \
-               $(petsc_with mumps scalapack /usr/include/scalapack 
-lscalapack) \
-               $(petsc_with mumps mumps /usr/include 
[-lcmumps,-ldmumps,-lsmumps,-lzmumps,-lmumps_common,-lpord]) \
-               $(use fortran && echo "$(petsc_select mpi fc mpif77 
$(tc-getF77))") \
-               $(use int64 && echo "--with-index-size=64") \
-               $(use_with boost) \
-               $(use_with fftw) \
-               $(use_with hdf5) \
-               $(use_with X x) \
-               $(use_with X x11)
-}
-
-src_install() {
-       emake DESTDIR="${ED}" install
-
-       #
-       # Clean up the mess:
-       #
-
-       # put all include directories under a proper subdirectory
-       mkdir "${ED}"/usr/include || die "mkdir failed (include)"
-       mv "${ED}"/usr/{$(get_libdir)/petscdir/include,include/petsc} || die 
"mv failed (include)"
-
-       # put libraries and pkconfig file into proper place
-       mv "${ED}"/usr/$(get_libdir)/petscdir/lib/{libpetsc*,pkgconfig} \
-               "${ED}/usr/$(get_libdir)" || die "mv failed (lib)"
-
-       # move share to proper location
-       mv "${ED}"/usr/{$(get_libdir)/petscdir/share,share} || die "mv failed 
(share)"
-
-       # fix pc files:
-       sed -i \
-               -e 's#include$#include/petsc#' \
-               -e "s#lib\$#$(get_libdir)#" \
-               -e "s#^prefix=.*petscdir\$#prefix=${EPREFIX}/usr#" \
-               "${ED}"/usr/$(get_libdir)/pkgconfig/*.pc || die "sed failed 
(pkgconfig)"
-
-       # recreate a "valid" petscdir:
-       for i in "${ED}"/usr/$(get_libdir)/*; do
-               [ $(basename $i) = petscdir ] && continue
-               ln -s "${EPREFIX}/usr/$(get_libdir)/$(basename $i)" \
-                       "${ED}/usr/$(get_libdir)/petscdir/lib/$(basename $i)" 
|| die "ln failed (petscdir)"
-       done
-       ln -s "${EPREFIX}"/usr/include/petsc/ \
-               "${ED}/usr/$(get_libdir)/petscdir/include" || die "ln failed 
(petscdir)"
-       mkdir "${ED}/usr/$(get_libdir)/petscdir/share" || die "mkdir fialed 
(petscdir)"
-       ln -s "${EPREFIX}"/usr/share/petsc/ \
-               "${ED}/usr/$(get_libdir)/petscdir/share/petsc" || die "ln 
failed (petscdir)"
-
-       # automatically symlink petsc matlab modules:
-       mkdir -p "${ED}"/usr/share/octave/site/m/
-       ln -s "${EPREFIX}"/usr/share/petsc/matlab 
"${ED}"/usr/share/octave/site/m/petsc || die "ln failed (matlab)"
-
-       if use examples; then
-               mkdir -p "${ED}"/usr/share/doc/${PF} || die "mkdir failed 
(examples)"
-               mv "${ED}"/usr/share/petsc/examples "${ED}"/usr/share/doc/${PF} 
|| die "mv failed (examples)"
-               ln -s "${EPREFIX}"/usr/share/doc/${PF}/examples 
"${ED}"/usr/share/petsc/examples || die "ln failed (examples)"
-               docompress -x /usr/share/doc/${PF}/examples
-       else
-               rm -r "${ED}"/usr/share/petsc/examples || die "rm failed 
(examples)"
-       fi
-
-       # add PETSC_DIR to environmental variables
-       cat >> 99petsc <<- EOF
-               PETSC_DIR=${EPREFIX}/usr/$(get_libdir)/petscdir
-       EOF
-       doenvd 99petsc
-}

diff --git a/sci-mathematics/petsc/petsc-3.21.3.ebuild 
b/sci-mathematics/petsc/petsc-3.21.3.ebuild
deleted file mode 100644
index 10be74f1f7e2..000000000000
--- a/sci-mathematics/petsc/petsc-3.21.3.ebuild
+++ /dev/null
@@ -1,235 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit flag-o-matic fortran-2 python-any-r1 toolchain-funcs
-
-DESCRIPTION="Portable, Extensible Toolkit for Scientific Computation"
-HOMEPAGE="https://petsc.org/release/";
-SRC_URI="https://web.cels.anl.gov/projects/petsc/download/release-snapshots/${P}.tar.gz";
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="afterimage boost complex-scalars debug +examples fftw
-fortran hdf5 hypre int64 mpi metis mumps scotch superlu threads X"
-
-# readd sparse when suitesparse-5.6.0 is in tree
-# sparse? ( >=sci-libs/suitesparse-5.6.0 >=sci-libs/cholmod-1.7.0 )
-# $(use_with sparse suitesparse) \
-RDEPEND="
-       virtual/blas
-       virtual/lapack
-
-       afterimage? ( media-libs/libafterimage )
-       boost? ( dev-libs/boost )
-       fftw? ( sci-libs/fftw:3.0[mpi?] )
-       hdf5? ( sci-libs/hdf5:=[mpi?] )
-       hypre? ( >=sci-libs/hypre-2.18.0[int64?,mpi?] )
-       metis? ( >=sci-libs/parmetis-4 )
-       mpi? ( virtual/mpi[fortran?] )
-       mumps? ( sci-libs/mumps[mpi?] sci-libs/scalapack )
-       scotch? ( sci-libs/scotch[int64?,mpi?] )
-       superlu? ( >=sci-libs/superlu-5 )
-       X? ( x11-libs/libX11 )
-"
-DEPEND="
-       ${RDEPEND}
-       ${PYTHON_DEPS}
-"
-BDEPEND="
-       dev-build/cmake
-       virtual/pkgconfig
-"
-
-# hypre and superlu curretly exclude each other due to missing linking to hypre
-# if both are enabled
-REQUIRED_USE="
-       afterimage? ( X )
-       complex-scalars? ( !hypre !superlu )
-       fftw? ( mpi )
-       hdf5? ( mpi )
-       hypre? ( mpi !superlu )
-       mumps? ( mpi scotch )
-       scotch? ( mpi )
-       superlu? ( !hypre )
-"
-PATCHES=(
-       "${FILESDIR}/${P}-disable-rpath.patch"
-       "${FILESDIR}"/${P}-fix_sandbox_violation.patch
-)
-
-# petsc uses --with-blah=1 and --with-blah=0 to en/disable options
-petsc_enable() {
-       use "$1" && echo "--with-${2:-$1}=1" || echo "--with-${2:-$1}=0"
-}
-# add external library:
-# petsc_with use_flag libname libdir
-# petsc_with use_flag libname include linking_libs
-petsc_with() {
-       local myuse p=${2:-${1}}
-       if use ${1}; then
-               myuse="--with-${p}=1"
-               if [[ $# -ge 4 ]]; then
-                       myuse="${myuse} --with-${p}-include=${EPREFIX}${3}"
-                       shift 3
-                       myuse="${myuse} --with-${p}-lib=$@"
-               else
-                       myuse="${myuse} --with-${p}-dir=${EPREFIX}${3:-/usr}"
-               fi
-       else
-               myuse="--with-${p}=0"
-       fi
-       echo ${myuse}
-}
-
-# select between configure options depending on use flag
-petsc_select() {
-       use "$1" && echo "--with-$2=$3" || echo "--with-$2=$4"
-}
-
-src_configure() {
-       # bug 548498
-       # PETSc runs mpi processes during configure that result in a sandbox
-       # violation by trying to open /proc/mtrr rw. This is not easy to
-       # mitigate because it happens in libpciaccess.so called by libhwloc.so,
-       # which is used by libmpi.so.
-       addpredict /proc/mtrr
-       # if mpi is built with knem support it needs /dev/knem too
-       addpredict /dev/knem
-
-       # configureMPITypes with openmpi-2* insists on accessing the scaling
-       # governor rw.
-       addpredict /sys/devices/system/cpu/
-
-       # bug 771711
-       # configureMPIEXEC and  configureMPITypes access /dev/nvidiactl
-       addpredict /dev/nvidiactl
-
-       # bug 810841
-       addpredict /dev/kfd
-
-       local myopt
-
-       use debug && myopt="debug" || myopt="opt"
-
-       # environmental variables expected by petsc during build
-
-       export PETSC_DIR="${S}"
-       export PETSC_ARCH="linux-gnu-c-${myopt}"
-
-       if use debug; then
-               strip-flags
-               filter-flags -O*
-       fi
-
-       tc-export AR RANLIB
-
-       # C Support on CXX builds is enabled if possible i.e. when not using
-       # complex scalars (no complex type for both available at the same time)
-
-       econf \
-               scrollOutput=1 \
-               AR="${AR}" \
-               CFLAGS="${CFLAGS} -fPIC" \
-               CPPFLAGS="${CPPFLAGS}" \
-               CXXFLAGS="${CXXFLAGS} -fPIC" \
-               CXXOPTFLAGS="${CXXFLAGS} -fPIC" \
-               FCFLAGS="${FCFLAGS} -fPIC" \
-               FFLAGS="${FFLAGS} -fPIC" \
-               LDFLAGS="${LDFLAGS}" \
-               MAKEFLAGS="${MAKEFLAGS}" \
-               RANLIB="${RANLIB}" \
-               --prefix="${EPREFIX}/usr/$(get_libdir)/petscdir/" \
-               --with-blas-lapack-lib="$($(tc-getPKG_CONFIG) --libs blas 
lapack)" \
-               --with-cmake:BOOL=1 \
-               --with-gnu-compilers \
-               --with-imagemagick=0 \
-               --with-petsc-arch="${PETSC_ARCH}" \
-               --with-precision=double \
-               --with-python=0 \
-               --with-shared-libraries \
-               --with-single-library \
-               --with-windows-graphics=0 \
-               $(petsc_enable debug debugging) \
-               $(petsc_enable fortran) \
-               $(petsc_enable mpi) \
-               $(petsc_enable mpi mpi-compilers) \
-               $(petsc_enable threads pthread) \
-               $(petsc_select complex-scalars scalar-type complex real) \
-               $(petsc_select mpi cc mpicc $(tc-getCC)) \
-               $(petsc_select mpi cxx mpicxx $(tc-getCXX)) \
-               $(petsc_with afterimage afterimage /usr/include/libAfterImage 
-lAfterImage) \
-               $(petsc_with hypre hypre /usr/include/hypre -lHYPRE) \
-               $(petsc_with superlu superlu /usr/include/superlu -lsuperlu) \
-               $(petsc_with scotch ptscotch /usr/include/scotch 
[-lptesmumps,-lptscotch,-lptscotcherr,-lscotch,-lscotcherr]) \
-               $(petsc_with mumps scalapack /usr/include/scalapack 
-lscalapack) \
-               $(petsc_with mumps mumps /usr/include 
[-lcmumps,-ldmumps,-lsmumps,-lzmumps,-lmumps_common,-lpord]) \
-               $(use fortran && echo "$(petsc_select mpi fc mpif77 
$(tc-getF77))") \
-               $(use int64 && echo "--with-index-size=64") \
-               $(use_with boost) \
-               $(use_with fftw) \
-               $(use_with hdf5) \
-               $(use_with X x) \
-               $(use_with X x11)
-}
-
-src_install() {
-       emake DESTDIR="${ED}" install
-
-       #
-       # Clean up the mess:
-       #
-
-       # put all include directories under a proper subdirectory
-       mkdir "${ED}"/usr/include || die "mkdir failed (include)"
-       mv "${ED}"/usr/{$(get_libdir)/petscdir/include,include/petsc} || die 
"mv failed (include)"
-
-       # put libraries and pkconfig file into proper place
-       mv "${ED}"/usr/$(get_libdir)/petscdir/lib/{libpetsc*,pkgconfig} \
-               "${ED}/usr/$(get_libdir)" || die "mv failed (lib)"
-
-       # move share to proper location
-       mv "${ED}"/usr/{$(get_libdir)/petscdir/share,share} || die "mv failed 
(share)"
-
-       # fix pc files:
-       sed -i \
-               -e 's#include$#include/petsc#' \
-               -e "s#lib\$#$(get_libdir)#" \
-               -e "s#^prefix=.*petscdir\$#prefix=${EPREFIX}/usr#" \
-               "${ED}"/usr/$(get_libdir)/pkgconfig/*.pc || die "sed failed 
(pkgconfig)"
-
-       # recreate a "valid" petscdir:
-       for i in "${ED}"/usr/$(get_libdir)/*; do
-               [ $(basename $i) = petscdir ] && continue
-               ln -s "${EPREFIX}/usr/$(get_libdir)/$(basename $i)" \
-                       "${ED}/usr/$(get_libdir)/petscdir/lib/$(basename $i)" 
|| die "ln failed (petscdir)"
-       done
-       ln -s "${EPREFIX}"/usr/include/petsc/ \
-               "${ED}/usr/$(get_libdir)/petscdir/include" || die "ln failed 
(petscdir)"
-       mkdir "${ED}/usr/$(get_libdir)/petscdir/share" || die "mkdir fialed 
(petscdir)"
-       ln -s "${EPREFIX}"/usr/share/petsc/ \
-               "${ED}/usr/$(get_libdir)/petscdir/share/petsc" || die "ln 
failed (petscdir)"
-
-       # automatically symlink petsc matlab modules:
-       mkdir -p "${ED}"/usr/share/octave/site/m/
-       ln -s "${EPREFIX}"/usr/share/petsc/matlab 
"${ED}"/usr/share/octave/site/m/petsc || die "ln failed (matlab)"
-
-       if use examples; then
-               mkdir -p "${ED}"/usr/share/doc/${PF} || die "mkdir failed 
(examples)"
-               mv "${ED}"/usr/share/petsc/examples "${ED}"/usr/share/doc/${PF} 
|| die "mv failed (examples)"
-               ln -s "${EPREFIX}"/usr/share/doc/${PF}/examples 
"${ED}"/usr/share/petsc/examples || die "ln failed (examples)"
-               docompress -x /usr/share/doc/${PF}/examples
-       else
-               rm -r "${ED}"/usr/share/petsc/examples || die "rm failed 
(examples)"
-       fi
-
-       # add PETSC_DIR to environmental variables
-       cat >> 99petsc <<- EOF
-               PETSC_DIR=${EPREFIX}/usr/$(get_libdir)/petscdir
-       EOF
-       doenvd 99petsc
-}

Reply via email to