# IT4Innovations
# LK 2023

name = 'PETSc'
version = '3.19.2'

homepage = 'https://www.mcs.anl.gov/petsc'
description = """PETSc, pronounced PET-see (the S is silent), is a suite of data structures and routines for the
 scalable (parallel) solution of scientific applications modeled by partial differential equations."""

toolchain = {'name': 'foss', 'version': '2022b'}
toolchainopts = {'openmp': True, 'usempi': True, 'pic': True}

source_urls = [
    'https://ftp.mcs.anl.gov/pub/petsc/release-snapshots/',
    'ftp://ftp.mcs.anl.gov/pub/petsc/release-snapshots/',
]
sources = [SOURCELOWER_TAR_GZ]
checksums = ['114f363f779bb16839b25c0e70f8b0ae0d947d50e72f7c6cddcb11b001079b16']

builddependencies = [('CMake', '3.24.3')]

dependencies = [
    ('Python', '3.10.8'),
    ('SciPy-bundle', '2023.02'), #Karolina failed
    ('Boost', '1.81.0'),
    ('METIS', '5.1.0'),
    ('SCOTCH', '7.0.3'),
    ('MUMPS', '5.6.1', '-metis'),
    ('SuiteSparse', '5.13.0', '-METIS-5.1.0'),
    ('Hypre', '2.27.0'),
    ('ParMETIS', '4.0.3'),
    ('SuperLU_DIST', '8.1.2'),
    ('mpi4py', '3.1.4'),
]

configopts = '--LIBS="$LIBS -lrt" --with-mpi4py=0 '

shared_libs = 1

# only required when building PETSc in a SLURM job environment
# configopts += '--with-batch=1 --known-mpi-shared-libraries=1 --known-64-bit-blas-indices=0 '
# prebuildopts = "srun ./conftest-arch-linux2-c-opt && ./reconfigure-arch-linux2-c-opt.py && "

moduleclass = 'numlib'
