summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorCarlos Aznarán2024-03-15 08:45:01 -0500
committerCarlos Aznarán2024-03-15 08:45:01 -0500
commita1e537cf59c90f56508d36c95c512e3563bb9996 (patch)
tree3293406facade94439154ea07473f670aa784935
parent1a40f7af77309f71677e57150f10fb77e753099a (diff)
downloadaur-a1e537cf59c90f56508d36c95c512e3563bb9996.tar.gz
Overhaul: move optional dependencies available in official repositories as dependencies
-rw-r--r--.SRCINFO42
-rw-r--r--.nvchecker.toml5
-rw-r--r--PKGBUILD53
-rw-r--r--test_optdepends.sh32
4 files changed, 62 insertions, 70 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 9dc35976080b..e21c15a8b104 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,42 +1,46 @@
pkgbase = petsc-complex
pkgdesc = Portable, extensible toolkit for scientific computation (complex scalars)
pkgver = 3.20.5
- pkgrel = 1
+ pkgrel = 2
url = https://petsc.org
install = petsc.install
arch = i686
arch = x86_64
- license = custom:BSD-2-clause
- checkdepends = openssh
- makedepends = gcc
- makedepends = gcc-fortran
+ license = BSD-2-Clause
makedepends = cmake
makedepends = cython
- depends = python-numpy
- depends = openmpi
- depends = boost
+ makedepends = gcc
+ makedepends = gcc-fortran
+ depends = hdf5-openmpi
+ depends = fftw-openmpi
+ depends = gsl
depends = lapack
- optdepends = trilinos: support for zoltan
- optdepends = ptscotch: support for ptscotch sequential and parallel graph partitioning library
- optdepends = parmetis: support for parmetis parallel graph partitioning library
+ depends = libjpeg-turbo
+ depends = libyaml
+ depends = netcdf-openmpi
+ depends = python-numpy
+ depends = python-mpi4py
+ depends = superlu
+ depends = suitesparse
+ depends = zlib
+ optdepends = hypre: support for the hypre sparse system solver
+ optdepends = kokkos: support for Kokkos
optdepends = metis: support for metis graph partitioning library
+ optdepends = mumps: support for the mumps sparse solver
+ optdepends = parmetis: support for parmetis parallel graph partitioning library
optdepends = pastix: support for the pastix solver
- optdepends = superlu: support for the superlu sparse solver
+ optdepends = scalapack: support for ScaLAPACK
+ optdepends = scotch: support for Scotch
optdepends = superlu_dist: support for the superlu_dist sparse solver
- optdepends = hypre: support for the hypre sparse system solver
- optdepends = hdf5-openmpi: support for the parallel version of HDF5
- optdepends = mumps: support for the mumps sparse solver
- optdepends = fftw: support for the FFTW fast Fourier transform
optdepends = triangle: support for the two-dimensional quality mesh generator and Delaunay triangulator
- optdepends = suitesparse: support for the suitesparse sparse matrix libraries
optdepends = valgrind: support for valgrind to help find memory-management problems in programs
- optdepends = libyaml: support for YAML-formatted file
+ optdepends = zoltan: support for zoltan
provides = petsc=3.20.5
conflicts = petsc
options = staticlibs
source = https://web.cels.anl.gov/projects/petsc/download/release-snapshots/petsc-lite-3.20.5.tar.gz
source = test_optdepends.sh
sha512sums = 1e0ebdacbcc9db22dbe3803cbc13f5e0138d0412c328ff49cab024c839527c73b28983717104daf0858d482a8804b931c5c2bf20363c6b801d2be7d27219692f
- sha512sums = 68bed9f836bf362b5d528af040afc2c572e87c43fac716d257862bcba06401a212adeec1fb84080a352831c22b968c9da65aa3eb5ef9e44be38ee0c0897c4b8d
+ sha512sums = 1a790c36b1bb6b6604b4fe35f3c7fba2d8f972e7fd3c6ac1273716bee490f4dded18990b9f4aedecbe609aa6ec3d2469d44c013e18ed5cf9a43f5703f2b59db8
pkgname = petsc-complex
diff --git a/.nvchecker.toml b/.nvchecker.toml
new file mode 100644
index 000000000000..dad409f85bca
--- /dev/null
+++ b/.nvchecker.toml
@@ -0,0 +1,5 @@
+[petsc-complex]
+source = "gitlab"
+gitlab = "petsc/petsc"
+use_max_tag = true
+prefix = "v" \ No newline at end of file
diff --git a/PKGBUILD b/PKGBUILD
index dc76cfe5c4a6..56d0aa3cb4cf 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -10,41 +10,39 @@
_base=petsc
pkgname=${_base}-complex
pkgver=3.20.5
-pkgrel=1
+pkgrel=2
_config=linux-c-opt
# if --with-debugging=yes is set then PETSC_ARCH is automatically set to
#"linux-c-debug" for some things, so the _config should be changed too
#_config=linux-c-debug
pkgdesc="Portable, extensible toolkit for scientific computation (complex scalars)"
-arch=('i686' 'x86_64')
+arch=(i686 x86_64)
url="https://${_base}.org"
-license=('custom:BSD-2-clause')
+license=(BSD-2-Clause)
options=(staticlibs)
-conflicts=("${_base}")
+conflicts=(${_base})
provides=("${_base}=${pkgver}")
-depends=('python-numpy' 'openmpi' 'boost' 'lapack')
-makedepends=('gcc' 'gcc-fortran' 'cmake' 'cython')
-checkdepends=('openssh')
-optdepends=('trilinos: support for zoltan'
- 'ptscotch: support for ptscotch sequential and parallel graph partitioning library'
- 'parmetis: support for parmetis parallel graph partitioning library'
+depends=(hdf5-openmpi fftw-openmpi gsl lapack libjpeg-turbo libyaml netcdf-openmpi
+ python-numpy python-mpi4py superlu suitesparse zlib)
+makedepends=(cmake cython gcc gcc-fortran)
+checkdepends=()
+optdepends=('hypre: support for the hypre sparse system solver'
+ 'kokkos: support for Kokkos'
'metis: support for metis graph partitioning library'
+ 'mumps: support for the mumps sparse solver'
+ 'parmetis: support for parmetis parallel graph partitioning library'
'pastix: support for the pastix solver'
- 'superlu: support for the superlu sparse solver'
+ 'scalapack: support for ScaLAPACK'
+ 'scotch: support for Scotch'
'superlu_dist: support for the superlu_dist sparse solver'
- 'hypre: support for the hypre sparse system solver'
- 'hdf5-openmpi: support for the parallel version of HDF5'
- 'mumps: support for the mumps sparse solver'
- 'fftw: support for the FFTW fast Fourier transform'
'triangle: support for the two-dimensional quality mesh generator and Delaunay triangulator'
- 'suitesparse: support for the suitesparse sparse matrix libraries'
'valgrind: support for valgrind to help find memory-management problems in programs'
- 'libyaml: support for YAML-formatted file')
+ 'zoltan: support for zoltan')
install=${_base}.install
source=(https://web.cels.anl.gov/projects/${_base}/download/release-snapshots/${_base}-lite-${pkgver}.tar.gz
test_optdepends.sh)
sha512sums=('1e0ebdacbcc9db22dbe3803cbc13f5e0138d0412c328ff49cab024c839527c73b28983717104daf0858d482a8804b931c5c2bf20363c6b801d2be7d27219692f'
- '68bed9f836bf362b5d528af040afc2c572e87c43fac716d257862bcba06401a212adeec1fb84080a352831c22b968c9da65aa3eb5ef9e44be38ee0c0897c4b8d')
+ '1a790c36b1bb6b6604b4fe35f3c7fba2d8f972e7fd3c6ac1273716bee490f4dded18990b9f4aedecbe609aa6ec3d2469d44c013e18ed5cf9a43f5703f2b59db8')
_install_dir=/opt/${_base}/${_config}
_petsc_arch=arch-${_config}
@@ -58,9 +56,20 @@ build() {
OPTFLAGS='-O3 -march=native'
CONFOPTS="--with-shared-libraries=1 \
- --with-petsc4py=1 \
--with-mpi-f90module-visibility=0 \
- --with-cc=$(which mpicc) --with-cxx=$(which mpicxx) --with-fc=$(which mpifort) \
+ --with-petsc4py=1 \
+ --with-mpi-dir=/usr \
+ --with-zfp=0 \
+ --with-netcdf=1 \
+ --with-libjpeg=1 \
+ --with-yaml=1 \
+ --with-fftw=1 \
+ --with-gsl=1 \
+ --with-zlib=1 \
+ --with-superlu-lib=-lsuperlu --with-superlu-include=/usr/include/superlu \
+ --with-suitesparse-include=/usr/include/suitesparse \
+ --with-suitesparse-lib=[libamd.so,libbtf.so,libcamd.so,libccolamd.so,libcholmod.so,libcolamd.so,libcxsparse.so,libgraphblas.so,libklu.so,libklu_cholmod.so,liblagraph.so,liblagraphx.so,libldl.so,libparu.so,librbio.so,libspex.so,libspqr.so,libsuitesparse_mongoose.so,libsuitesparseconfig.so,libumfpack.so] \
+ --with-hdf5=1 --with-hdf5-fortran-bindings=1 \
--with-scalar-type=complex \
$(sh ${srcdir}/test_optdepends.sh)"
@@ -74,10 +83,6 @@ build() {
check() {
cd ${srcdir}/${_base}-${pkgver}
-
- if [ -z "$(ldconfig -p | grep libcuda.so.1)" ]; then
- export OMPI_MCA_opal_warn_on_missing_libcuda=0
- fi
PYTHONPATH=${srcdir}/tmp/${_install_dir}/lib:${PYTHONPATH} make check
}
diff --git a/test_optdepends.sh b/test_optdepends.sh
index af84472d206a..11a0d3be9b6a 100644
--- a/test_optdepends.sh
+++ b/test_optdepends.sh
@@ -9,6 +9,11 @@ CONFOPTS=""
#CONFOPTS="${CONFOPTS} --download-${external_pkg}=1"
#done
+# Kokkos
+if [ -f "/usr/lib/libkokkoscore.so" ]; then
+ CONFOPTS="${CONFOPTS} --with-kokkos=1"
+fi
+
# Add hypre support
if [ -f "/usr/lib/libHYPRE.so" ]; then
VERSION_MIN=2.14.0
@@ -27,32 +32,16 @@ if [ -f "/usr/lib/libmumps_common.so" ]; then
CONFOPTS="${CONFOPTS} --with-mumps=1"
fi
-# Add fftw support
-if [ -f "/usr/lib/libfftw3_mpi.so" ]; then
- CONFOPTS="${CONFOPTS} --with-fftw=1"
-fi
-
# Add triangle support
if [ -f "/usr/lib/libtriangle.so" ]; then
CONFOPTS="${CONFOPTS} --with-triangle=1"
fi
-# Add hdf5-openmpi support
-if [ -f "/usr/bin/h5pcc" ]; then
- CONFOPTS="${CONFOPTS} --with-hdf5=1"
-fi
-
# Add scalapack support
if [ -f "/usr/lib/pkgconfig/scalapack.pc" ]; then
CONFOPTS="${CONFOPTS} --with-scalapack=1"
fi
-# Add suitesparse support
-SUITESPARSE_DIR="/usr/include/suitesparse"
-if [ -f "/usr/include/suitesparse/umfpack.h" ]; then
- CONFOPTS="${CONFOPTS} --with-suitesparse=1 --with-suitesparse-lib=[libamd.so,libbtf.so,libcamd.so,libccolamd.so,libcholmod.so,libcolamd.so,libcxsparse.so,libgraphblas.so,libklu.so,libklu_cholmod.so,liblagraph.so,liblagraphx.so,libldl.so,libparu.so,librbio.so,libspex.so,libspqr.so,libsuitesparse_mongoose.so,libsuitesparseconfig.so,libumfpack.so] --with-suitesparse-include=${SUITESPARSE_DIR}"
-fi
-
# Add metis support
if [ -f "/usr/include/metis.h" ]; then
CONFOPTS="${CONFOPTS} --with-metis=1"
@@ -74,12 +63,6 @@ if [ -f "/usr/include/scotch.h" ]; then
CONFOPTS="${CONFOPTS} --with-ptscotch=1 --with-ptscotch-lib=${SCOTCH_LIBS} --with-ptscotch-include=${SCOTCH_DIR}"
fi
-# Add superlu support
-SUPERLU_DIR="/usr/include/superlu"
-if [ -d "${SUPERLU_DIR}" ]; then
- CONFOPTS="${CONFOPTS} --with-superlu=1 --with-superlu-lib=-lsuperlu --with-superlu-include=${SUPERLU_DIR}"
-fi
-
# Add superlu_dist support
SUPERLU_DIST_DIR="/usr/include/superlu_dist"
if [ -d "${SUPERLU_DIST_DIR}" ]; then
@@ -115,9 +98,4 @@ if [ -f "/usr/lib/pkgconfig/valgrind.pc" ]; then
CONFOPTS="${CONFOPTS} --with-valgrind=1"
fi
-# Add yaml support
-if [ -f "/usr/lib/libyaml.so" ]; then
- CONFOPTS="${CONFOPTS} --with-yaml=1"
-fi
-
echo "${CONFOPTS}"