xyce, trilinos16: new ports for Trilinos 16 and Xyce
xyce: Sandia's parallel SPICE-compatible circuit simulator, which depends on trilinos16.
trilinos16: a versioned port for Trilinos 16.1.0 needed by newer scientific packages.
trilinos16 had to be versioned because the 17+ version deprecates some packages needed by xyce. For this reason, these ports are not mutually exclusive.
Type(s)
- [ ] bugfix
- [x] enhancement
- [ ] security fix
Tested on
macOS 13.7.5 22H527 x86_64 Xcode 14.3.1 14E300c
Verification
Have you
- [x] followed our Commit Message Guidelines?
- [x] squashed and minimized your commits?
- [x] checked that there aren't other open pull requests for the same change?
- [x] checked your Portfile with
port lint? - [x] tried existing tests with
sudo port test? - [x] tried a full install with
sudo port -vst install? - [x] tested basic functionality of all binary files?
I gave the portfiles a major revamp. Learned some stuff. xyce passes all of my base-line semiconductor tests.
I need an addendum. I actually fails one test, after many hours. I will look into and sort it out.
The most recent push updates both Portfiles.
I tried and tried to get flang to work. In the end, I settled on gcc13 for fortran as many other ports use it as well. CMake is new to me, and the -pipe and -m64 options were an issue because flang-mp-20 doesn't accept those flags. I could hand edit some .yaml to make it work, but it was really hacky. I tried:
configure.optflags ""
configure.universal_args-delete -m64 -pipe
configure.fc_archflags ""
configure.f90_archflags ""
configure.f77_archflags ""
but I never could get -pipe to not pass.
Here's my other notes:
-DCMAKE_INSTALL_PREFIX=${prefix} \
-DCMAKE_C_COMPILER=${configure.cc} \
-DCMAKE_CXX_COMPILER=${configure.cxx} \
These seem to be required to make CMake build Trilinos16. It was mentioned they should be default, but they need to be in the build.
The xyce binary successfully worked on my test semiconductor cases.
@bpdegnan I'll go ahead and fiddle around with this a bit more myself and push to this PR once it's working. Especially the compiler selection, fortran, MPI and stuff needs some work to conform with the way MacPorts does stuff. Stay tuned and apologies for the delay!