# Maintainer: Josh Hoffer < hoffer dot joshua at gmail dot com > # Maintainer: Carlos Aznarán # Contributor: Lukas Böger pkgname=dune-istl _tarver=2.9.1 _tar="${_tarver}/${pkgname}-${_tarver}.tar.gz" pkgver="${_tarver}" pkgrel=1 pkgdesc="Iterative Solver Template Library" arch=(x86_64) url="https://dune-project.org/modules/${pkgname}" license=('custom:GPL2 with runtime exception') depends=("dune-common>=${pkgver}" arpack) makedepends=(texlive-latexextra biber doxygen graphviz python-scikit-build) optdepends=('vc: C++ Vectorization library' 'doxygen: Generate the class documentation from C++ sources' 'graphviz: Graph visualization software' 'parmetis: Parallel Graph Partitioning and Fill-reducing Matrix Ordering' 'scotch: Software package and libraries for graph, mesh and hypergraph partitioning, static mapping, and sparse matrix block ordering' 'superlu: Set of subroutines to solve a sparse linear system' 'arpackpp: C++ interface to ARPACK' 'suitesparse: A collection of sparse matrix libraries') source=(https://dune-project.org/download/${_tar}{,.asc}) sha512sums=('d2b00d3e16f5420f0999699aa09288da10cf5cf2d89fd59ca0657cb28ada1154af2622ed54484da887d322244a5537a3c7716f9375f14d480dc92f5316326616' 'SKIP') validpgpkeys=('2AA99AA4E2D6214E6EA01C9A4AF42916F6E5B1CF') # Christoph Grüninger prepare() { cd ${pkgname}-${pkgver} export _pyversion=$(python -c "import sys; print(f'{sys.version_info.major}.{sys.version_info.minor}')") # install header for run test/linear/test_linearsolver.cc in dumux sed -i '115 a install(FILES anisotropic.hh DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dune/istl/paamg/test)' dune/istl/paamg/test/CMakeLists.txt sed -i '8 a BUILD_ON_INSTALL' doc/CMakeLists.txt # https://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/blob/master/patches/istl-2.6.patch sed -i 's/*coarseSmoother_, 1E-2, 1000, 0/*coarseSmoother_, 1E-12, 1000, 0/' dune/istl/paamg/amg.hh python -m venv --system-site-packages _skbuild/linux-${CARCH}-${_pyversion}/cmake-build/dune-env } build() { cd ${pkgname}-${pkgver} XDG_CACHE_HOME="${PWD}" \ python setup.py build \ --build-type=None \ -G 'Unix Makefiles' \ -DBUILD_SHARED_LIBS=TRUE \ -DCMAKE_CXX_STANDARD=17 \ -DCMAKE_C_COMPILER=gcc \ -DCMAKE_CXX_COMPILER=g++ \ -DCMAKE_C_FLAGS='-Wall -fdiagnostics-color=always' \ -DCMAKE_CXX_FLAGS="-O2 -Wall -fdiagnostics-color=always -mavx" \ -DCMAKE_POSITION_INDEPENDENT_CODE=TRUE \ -DALLOW_CXXFLAGS_OVERWRITE=ON \ -DCMAKE_DISABLE_FIND_PACKAGE_LATEX=FALSE \ -DCMAKE_DISABLE_FIND_PACKAGE_Doxygen=FALSE \ -DCMAKE_DISABLE_FIND_PACKAGE_Vc=TRUE \ -DENABLE_HEADERCHECK=ON \ -DDUNE_ENABLE_PYTHONBINDINGS=ON \ -DDUNE_PYTHON_INSTALL_LOCATION='none' \ -DDUNE_PYTHON_WHEELHOUSE="dist" } package() { cd ${pkgname}-${pkgver} PYTHONPYCACHEPREFIX="${PWD}/.cache/cpython/" python setup.py --skip-cmake install --prefix=/usr --root="${pkgdir}" --optimize=1 --skip-build install -Dm 644 COPYING -t "${pkgdir}/usr/share/licenses/${pkgname}" find "${pkgdir}" -type d -empty -delete }