# -*- 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 mpi 1.0 PortGroup muniversal 1.0 name slepc version 3.15.0 revision 1 categories math science maintainers {mcalhoun @MarcusCalhoun-Lopez} openmaintainer license BSD description Scalable Library for Eigenvalue Problem Computations long_description SLEPc is a software library for the solution of large \ scale sparse eigenvalue problems on parallel computers. It is an \ extension of PETSc and can be used for either standard or generalized \ eigenproblems, with real or complex arithmetic. It can also be used for \ computing a partial SVD of a large, sparse, rectangular matrix. notes "Add the following lines to your .bash_profile if you plan to\ use the PETSC/SLEPC makefile rules in ${prefix}/lib/petsc/conf:\n\ \texport PETSC_DIR=${prefix}/lib/petsc\n\ \texport SLEPC_DIR=${prefix}/lib/slepc" platforms darwin homepage https://slepc.upv.es master_sites https://slepc.upv.es/download/distrib/ checksums rmd160 76c818bd5e4cd14b7c738d5f765592316a77d409 \ sha256 e53783ae13acadce274ea65c67186b5ab12332cf17125a694e21d598aa6b5f00 \ size 5191730 mpi.setup default mpi.enforce_variant petsc depends_lib-append port:petsc use_parallel_build no set python.version 39 set python_ver_dot [join [split ${python.version} {}] "."] depends_build-append port:sowing \ port:python${python.version} # allow configure script to find MacPorts Python configure.env-append PATH=${frameworks_dir}/Python.framework/Versions/${python_ver_dot}/bin:$env(PATH) configure.pre_args --prefix=${prefix}/lib/slepc if {!${universal_possible} || ![variant_isset universal]} { configure.env-append PETSC_DIR=${prefix}/lib/petsc build.env-append PETSC_DIR=${prefix}/lib/petsc destroot.env-append PETSC_DIR=${prefix}/lib/petsc } else { foreach arch ${configure.universal_archs} { if {${arch} eq ${build_arch}} { set merger_configure_env(${arch}) PETSC_DIR=${prefix}/lib/petsc set merger_build_env(${arch}) PETSC_DIR=${prefix}/lib/petsc set merger_destroot_env(${arch}) PETSC_DIR=${prefix}/lib/petsc } else { set merger_configure_env(${arch}) PETSC_DIR=${prefix}/lib/petsc/${arch} set merger_build_env(${arch}) PETSC_DIR=${prefix}/lib/petsc/${arch} set merger_destroot_env(${arch}) PETSC_DIR=${prefix}/lib/petsc/${arch} } } } configure.universal_args-delete --disable-dependency-tracking if {${universal_possible} && [variant_isset universal]} { merger-post-destroot { foreach arch ${configure.universal_archs} { if {${arch} ne ${build_arch}} { xinstall -d -m 0755 ${destroot}-${arch}${prefix}/lib/${arch} fs-traverse fl ${destroot}-${arch}${prefix}/lib/slepc { set trg [string map "${destroot}-${arch}${prefix}/lib/slepc ${prefix}/lib/slepc" ${fl}] set sfl [string map "${destroot}-${arch}${prefix}/lib/slepc ${destroot}-${arch}${prefix}/lib/${arch}" ${fl}] if {[file isdir ${fl}]} { xinstall -d -m 0755 ${sfl} } elseif {[file extension ${fl}] eq ".pc"} { # do nothing } elseif {[file extension ${fl}] eq ".mod"} { move ${fl} ${sfl} } elseif {[file tail ${fl}] eq "uninstall.py"} { move ${fl} ${sfl} } else { ln -s ${trg} ${sfl} } } move \ ${destroot}-${arch}${prefix}/lib/${arch} \ ${destroot}-${arch}${prefix}/lib/slepc/ } } } } variant arpack description {compile with ARPACK support} { mpi.enforce_variant arpack pre-fetch { if {![file exists ${prefix}/lib/libparpack.a]} { return -code error "Please install a mpi variant of arpack first." } } depends_lib-append port:arpack configure.args-append --with-arpack-dir=${prefix} \ --with-arpack-flags=-lparpack,-larpack } post-destroot { move ${destroot}${prefix}/lib/${name}/lib/pkgconfig/slepc.pc ${destroot}${prefix}/lib/pkgconfig/ } livecheck.url https://slepc.upv.es/download