# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
PortGroup linear_algebra 1.0
maintainers sean openmaintainer
description MUltifrontal Massively Parallel sparse direct Solver
long_description MUMPS: a parallel sparse direct solver
depends_lib port:scalapack port:parmetis
homepage http://mumps.enseeiht.fr/
distname MUMPS_${version}
checksums rmd160 ca1a96752c42d603a2c4b1d28a9965d34623495a \
sha256 eb345cda145da9aea01b851d17e54e7eef08e16bfa148100ac1f7f046cd42ae9
mpi.setup require require_fortran
mpi.enforce_variant scalapack
patchfiles-append patch-shared.diff
build.args SHAREDFLAGS="-dynamiclib" PREFIX="${prefix}" SHAREDLIBEXT=".dylib"
configure.cflags -fPIC -O3 -mtune=native
configure.fflags -fPIC -O3 -mtune=native
configure.f90flags -fPIC -O3 -mtune=native
file copy ${worksrcpath}/Make.inc/Makefile.inc.generic ${worksrcpath}/Makefile.inc
reinplace "s|^\#LMETISDIR.*$|LMETISDIR = ${prefix}/lib|" ${worksrcpath}/Makefile.inc
reinplace "s|^\#IMETIS.*$|IMETIS = -I${prefix}/include|" ${worksrcpath}/Makefile.inc
reinplace "s|^\#LMETIS.*$|LMETIS = ${prefix}/lib/libparmetis.dylib ${prefix}/lib/libmetis.dylib|" ${worksrcpath}/Makefile.inc
reinplace "s|^ORDERINGSF.*$|ORDERINGSF = -Dpord -Dparmetis|" ${worksrcpath}/Makefile.inc
reinplace "s|^CC .*$|CC = ${configure.cc}|" ${worksrcpath}/Makefile.inc
reinplace "s|^FC .*$|FC = ${configure.f90}|" ${worksrcpath}/Makefile.inc
reinplace "s|^FL .*$|FL = ${configure.f90}|" ${worksrcpath}/Makefile.inc
reinplace "s|^OPTC .*$|OPTC = ${configure.cflags}|" ${worksrcpath}/Makefile.inc
reinplace "s|^OPTL .*$|OPTL = ${configure.cflags}|" ${worksrcpath}/Makefile.inc
reinplace "s|^OPTF .*$|OPTF = ${configure.f90flags}|" ${worksrcpath}/Makefile.inc
reinplace "s|^AR.*$|AR = ar cr |" ${worksrcpath}/Makefile.inc
reinplace "s|^RANLIB.*$|RANLIB = ranlib -c|" ${worksrcpath}/Makefile.inc
reinplace "s|^SCALAP.*$|SCALAP = ${prefix}/lib/libscalapack.dylib|" ${worksrcpath}/Makefile.inc
reinplace "s|^INCPAR.*$|INCPAR = -I\$(topdir)/include|" ${worksrcpath}/Makefile.inc
reinplace "s|^LIBPAR.*$|LIBPAR = \$(SCALAP)|" ${worksrcpath}/Makefile.inc