You've already forked macports-ports
mirror of
https://github.com/macports/macports-ports.git
synced 2026-07-12 18:20:25 -07:00
80 lines
3.0 KiB
Tcl
80 lines
3.0 KiB
Tcl
# -*- 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
|
|
|
|
PortSystem 1.0
|
|
PortGroup cmake 1.1
|
|
PortGroup github 1.0
|
|
PortGroup mpi 1.0
|
|
|
|
github.setup QcmPlab SciFortran 4.10.12
|
|
name scifor
|
|
revision 0
|
|
categories science math fortran
|
|
license LGPL-3
|
|
maintainers nomaintainer
|
|
description A library of Fortran modules and routines for scientific calculations
|
|
long_description This is a unitary collection of Fortran modules and procedures \
|
|
for scientific calculations. The library aims to provide a simple \
|
|
and generic environment for any scientific or mathematic computations. \
|
|
The project is largely inspired by SciPy for Python \
|
|
and tries to closely follow its guidelines and naming convention.
|
|
homepage https://QcmPlab.github.io/SciFortran
|
|
checksums rmd160 462959d02e88351192c7615af079424c5db4d457 \
|
|
sha256 5bec76ce45f0c70bb2a3f36046e5439dfd1672c170758d0198231b1a096afd37 \
|
|
size 4113717
|
|
github.tarball_from archive
|
|
|
|
# cmake.generator Ninja
|
|
# Avoid Ninja for now due to:
|
|
# https://github.com/QcmPlab/SciFortran/issues/1
|
|
# The issue seems to affect only non-MPICH build,
|
|
# but we rather use a safer option for both.
|
|
|
|
depends_lib-append path:lib/libopenblas.dylib:OpenBLAS
|
|
|
|
patchfiles patch-prefix.diff \
|
|
patch-scifor.pc.diff
|
|
|
|
post-patch {
|
|
reinplace "s,@PREFIX@,${prefix}," ${worksrcpath}/cmake/MainConfig.cmake
|
|
reinplace "s,@PREFIX@,${prefix}," ${worksrcpath}/etc/scifor.pc.in
|
|
reinplace "s,@VERSION@,${version}," ${worksrcpath}/etc/scifor.pc.in
|
|
}
|
|
|
|
compilers.choose fc f90
|
|
mpi.setup require_fortran -g95
|
|
|
|
# Otherwise configure may pick a random BLAS implementation, like FlexiBLAS.
|
|
pre-configure {
|
|
configure.args-append \
|
|
-DBLAS_LIBRARIES=${prefix}/lib/libopenblas.dylib \
|
|
-DLAPACK_LIBRARIES=${prefix}/lib/libopenblas.dylib
|
|
}
|
|
|
|
configure.args-append \
|
|
-DWITH_BLAS_LAPACK=OFF
|
|
|
|
if {[variant_isset mpich] || [variant_isset openmpi]} {
|
|
depends_lib-append \
|
|
port:scalapack
|
|
configure.args-append \
|
|
-DUSE_MPI=ON \
|
|
-DWITH_SCALAPACK=ON
|
|
} else {
|
|
configure.args-append \
|
|
-DUSE_MPI=OFF \
|
|
-DWITH_SCALAPACK=OFF
|
|
}
|
|
|
|
# Provided install scripts are a mess, avoid them.
|
|
destroot {
|
|
copy ${build.dir}/libscifor.a ${destroot}/${prefix}/lib/
|
|
xinstall -d ${destroot}${prefix}/lib/pkgconfig
|
|
move ${worksrcpath}/etc/scifor.pc.in ${destroot}${prefix}/lib/pkgconfig/scifor.pc
|
|
xinstall -d ${destroot}${prefix}/include/${name}
|
|
fs-traverse f ${build.dir}/include {
|
|
if {[file isfile ${f}] && [file extension ${f}] == ".mod"} {
|
|
copy ${f} ${destroot}${prefix}/include/${name}/
|
|
}
|
|
}
|
|
}
|