# Maintainer: Michele Mocciola # Contributor: Guillaume Dollé < dolle dot guillaume at gmail dot com > # Contributor: Lucas H. Gabrielli pkgname=mumps-par pkgver=5.6.2 pkgrel=1 pkgdesc="Sparse solver library using Gaussian elimination, with parmetis implementation" url="https://graal.ens-lyon.fr/MUMPS/index.php" license=("custom") depends=('lapack' 'openmpi' 'scotch' 'scalapack' 'parmetis' 'metis' 'zlib' 'bzip2') makedepends=('gcc-fortran') provides=('mumps') conflicts=('mumps') arch=('i686' 'x86_64') source=(https://graal.ens-lyon.fr/MUMPS/MUMPS_${pkgver}.tar.gz Makefile.inc) sha256sums=('13a2c1aff2bd1aa92fe84b7b35d88f43434019963ca09ef7e8c90821a8f1d59a' 'd3695d7c8f16aef345f293418bf222e5bf52968a79ea8ad44060c568d8126602') prepare() { cd "${srcdir}/MUMPS_${pkgver}" cp "${srcdir}/Makefile.inc" . } build() { cd "${srcdir}/MUMPS_${pkgver}" make all } check () { cd "${srcdir}/MUMPS_${pkgver}/examples" make all # From the README (in examples) MPIRUN="mpirun -np 3 --mca plm_rsh_agent sh --mca opal_warn_on_missing_libcuda 0 --oversubscribe" export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${srcdir}/MUMPS_${pkgver}/lib" ${MPIRUN} ./ssimpletest < input_simpletest_real ${MPIRUN} ./dsimpletest < input_simpletest_real ${MPIRUN} ./csimpletest < input_simpletest_cmplx ${MPIRUN} ./zsimpletest < input_simpletest_cmplx ${MPIRUN} ./c_example ${MPIRUN} ./multiple_arithmetics_example ${MPIRUN} ./ssimpletest_save_restore < input_simpletest_real ${MPIRUN} ./dsimpletest_save_restore < input_simpletest_real ${MPIRUN} ./csimpletest_save_restore < input_simpletest_cmplx ${MPIRUN} ./zsimpletest_save_restore < input_simpletest_cmplx ${MPIRUN} ./c_example_save_restore } package(){ # Install all headers cd "${srcdir}/MUMPS_${pkgver}/include" install -m 755 -d "${pkgdir}/usr/include" install -D -m644 *.h "${pkgdir}/usr/include" # Install all libraries cd "${srcdir}/MUMPS_${pkgver}/lib" install -m 755 -d "${pkgdir}/usr/lib" install -D -m644 lib* ${pkgdir}/usr/lib # Install libraries mpiseq cd "${srcdir}/MUMPS_${pkgver}/libseq" install -m 755 -d "${pkgdir}/usr/include/mpiseq" install -D -m644 *.h "${pkgdir}/usr/include/mpiseq" cd "${srcdir}/MUMPS_${pkgver}/libseq" install -D -m644 lib* ${pkgdir}/usr/lib # Install examples install -m 755 -d "${pkgdir}/usr/share/doc/${pkgname}/examples" cd "${srcdir}/MUMPS_${pkgver}/examples" install -m 644 * "${pkgdir}/usr/share/doc/${pkgname}/examples" install -m 644 "${srcdir}/MUMPS_${pkgver}/Makefile.inc" "${pkgdir}/usr/share/doc/${pkgname}/examples" sed -i 's_\(topdir =\).*_\1 /usr_g; s-.*\(Makefile.inc\)-include Makefile.inc-g' "${pkgdir}/usr/share/doc/${pkgname}/examples/Makefile" # Install license install -D -m644 "${srcdir}/MUMPS_${pkgver}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" }