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
-}