PrincetonUniversity / STELLOPT

This is the GitHub repository for STELLOPT, the state-of-the-art stellarator optimization code.
https://princetonuniversity.github.io/STELLOPT/
MIT License
67 stars 17 forks source link

Package for spack.io #166

Open alexrobomind opened 1 year ago

alexrobomind commented 1 year ago

Dear colleagues,

as part of my recent stabs at installing VMEC on my own Linux VM and on the FZJ supercomputer, I have created a STELLOPT package for the Spack HPC package manager (https://spack.io) to automate dependency management and the build process (including potential site adaptations). Currently it builds libSTELLOPT and VMEC, but I am more than happy to add additional variants for other codes as well.

I would like to publish this package to the main spack package repository, but since I am not directly affiliated with the code I wanted to check out whether this would be fine with everyone.

Best regards from Jülich,

Alex.

zhucaoxiang commented 1 year ago

I am fine with it and this sounds great! The code is open-sourced, so I assume all useful contributions are welcome. I don't think this will break the MIT license that STELLOPT currently uses.

alexrobomind commented 1 year ago

The package itself does not contain the source code, just instructions to the package manager on how to fetch, catch, and build from the source.

lazersos commented 2 months ago

Alex, Sorry this took so long to get back to. Is your Spack package available somewhere? Cheers, Sam

alexrobomind commented 2 months ago

Hi Sam,

there is a "half-done" version sitting in here: https://jugit.fz-juelich.de/a.knieps/iek4-spack-packages

If I remember correctly it did the VMEC build fine, but I never got it to a point where I found it truly worth upstreaming (with proper MPI variants, variants to select individual codes, etc.). I had real difficulties gauging which features would truly be worth including, so if you have some pointers on that I still think it can be made useful.

Best regards, Alex.

EDIT: When browsing this repository, please note that most of these packages are SEVERELY out of date when it comes to versioning, as I have in the recent years worked on a lot of monorepository builds which do better with air-gaps and Windows/Linux compatibility.

lazersos commented 21 hours ago

It seems like it would be pretty simple to bring this over into the STELLOPT package via adding just a couple of file. Maybe in the /SHARE/ directory.