Skip to content

xyce, trilinos16: new ports for Trilinos 16 and Xyce #28221

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
73 changes: 73 additions & 0 deletions science/trilinos16/Portfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
PortSystem 1.0
PortGroup cmake 1.1
PortGroup github 1.0

name trilinos16
version 16.1.0
categories science
maintainers {gmail.com:degnan.68k @bpdegnan} \
openmaintainer
license BSD
description Scientific computing libraries including solvers and preconditioners
long_description \
Trilinos is a collection of packages for scientific computing, including \
solvers, preconditioners, nonlinear and optimization libraries, and interfaces \
to third-party libraries. It is designed for flexibility and high performance.


github.setup trilinos Trilinos trilinos-release-16-1-0
github.tarball_from archive


checksums rmd160 0464487926704ba40cc6f1b20fa631aec7512333 \
sha256 e9651c88f581049457036cfc01b527a9d3903c257338eeeab942befd7452f23a \
size 197260161

depends_lib-append port:gcc13 \
port:OpenBLAS \
port:SuiteSparse \
port:netcdf


configure.args-append \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=${prefix} \
-DCMAKE_C_COMPILER=${configure.cc} \
-DCMAKE_CXX_COMPILER=${configure.cxx} \
-DCMAKE_Fortran_COMPILER=${prefix}/bin/gfortran-mp-13 \
-DCMAKE_INSTALL_RPATH=${prefix}/lib/gcc13 \
-DCMAKE_CXX_STANDARD=17 \
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you should request a compatible compiler.

-DTrilinos_ENABLE_ALL_OPTIONAL_PACKAGES=ON \
-DTrilinos_ALLOW_DEPRECATED_PACKAGES=ON \
-DTrilinos_ENABLE_ALL_PACKAGES=OFF \
-DTrilinos_ENABLE_Epetra=ON \
-DTrilinos_ENABLE_EpetraExt=ON \
-DTrilinos_ENABLE_Teuchos=ON \
-DTrilinos_ENABLE_AztecOO=ON \
-DTrilinos_ENABLE_Ifpack=ON \
-DTrilinos_ENABLE_Belos=ON \
-DTrilinos_ENABLE_Amesos=ON \
-DAmesos_ENABLE_KLU=ON \
-DEpetraExt_BUILD_BTF=ON \
-DEpetraExt_BUILD_EXPERIMENTAL=ON \
-DEpetraExt_BUILD_GRAPH_REORDERINGS=ON \
-DTrilinos_ENABLE_COMPLEX_DOUBLE=ON \
-DTrilinos_ENABLE_Sacado=ON \
-DTrilinos_ENABLE_NOX=ON \
-DTrilinos_ENABLE_TrilinosCouplings=ON \
-DNOX_ENABLE_LOCA=ON \
-DTPL_ENABLE_BLAS=ON \
-DTPL_ENABLE_LAPACK=ON \
-DTPL_ENABLE_SuiteSparse=ON \
-DTPL_ENABLE_Netcdf=ON \
-DTPL_Netcdf_INCLUDE_DIRS=${prefix}/include \
-DTPL_Netcdf_LIBRARIES=${prefix}/lib/libnetcdf.dylib \
-DTrilinos_INSTALL_CMAKE_DIR=lib/cmake/Trilinos \
-DTPL_ENABLE_AMD=ON \
-DAMD_INCLUDE_DIRS=${prefix}/include/suitesparse \
-DAMD_LIBRARY_NAMES=amd \
-DAMD_LIBRARY_DIRS=${prefix}/lib \
-DBUILD_SHARED_LIBS=ON



80 changes: 80 additions & 0 deletions science/xyce/Portfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
PortSystem 1.0
PortGroup cmake 1.1


name xyce
version 7.9
categories science

maintainers {gmail.com:degnan.68k @bpdegnan} \
openmaintainer

license GPL-2
description Parallel SPICE-compatible analog circuit simulator
long_description \
Xyce is a SPICE-compatible, high-performance analog circuit simulator \
capable of solving extremely large circuit problems using massively \
parallel computing platforms.

homepage https://xyce.sandia.gov
master_sites https://xyce.sandia.gov/files/xyce/
distname Xyce-${version}
extract.suffix .tar.gz

checksums rmd160 298d502e49427e39a96ebcbb1f193833c9c905ec \
sha256 de2a7227b09a83d5abad36ea9b27a834e2bd2d6547417f27e6576418c80d4f8b


depends_lib-append port:fftw-3 \
port:trilinos16 \
port:SuiteSparse \
port:OpenBLAS \
port:bison \
port:flex \
port:lapack


set trilinos_component_paths [list \
${prefix}/lib/cmake/Epetra \
${prefix}/lib/cmake/EpetraExt \
${prefix}/lib/cmake/TrilinosCouplings \
${prefix}/lib/cmake/AztecOO \
${prefix}/lib/cmake/Ifpack \
${prefix}/lib/cmake/Teuchos \
${prefix}/lib/cmake/Sacado \
${prefix}/lib/cmake/NOX \
${prefix}/lib/cmake/Belos \
${prefix}/lib/cmake/Amesos \
]

configure.args-append \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=${prefix} \
-DCMAKE_C_COMPILER=${configure.cc} \
-DCMAKE_CXX_COMPILER=${configure.cxx} \
-DCMAKE_INSTALL_DOCDIR=${prefix}/share/doc/${name} \
-DCMAKE_Fortran_COMPILER=${prefix}/bin/gfortran-mp-13 \
-DCMAKE_CXX_STANDARD=17 \
-DTrilinos_DIR=${prefix} \
-DCMAKE_PREFIX_PATH="${prefix}/lib/cmake" \
-DTrilinos_DIR=${prefix}/lib/cmake/Trilinos \
-DCMAKE_PREFIX_PATH="[join $trilinos_component_paths {;}]"


#there's something weird in cmake that is making things to ${prefix}/doc
post-destroot {
set bad_doc_path ${destroot}${prefix}/doc
if {[file exists ${bad_doc_path}]} {
set good_doc_path ${destroot}${prefix}/share/doc/${name}
xinstall -m 755 -d ${good_doc_path}

# Move known files to correct place
foreach f [glob -nocomplain ${bad_doc_path}/*] {
file rename $f $good_doc_path/
}

# Remove empty /opt/local/doc
file delete -force ${bad_doc_path}
}
}