Closed AndrewLister-STFC closed 5 months ago
@AndrewLister-STFC
Any suggestions on the best way to define a different set of dependencies for the archive and full versions?
It is possible to set different dependencies with when
:
depends_on("dependency1", when="@:2.21") # Versions up to 2.21 get dependency1
depends_on("dependency2", when="@2.22:") # Versions since 2.22 get dependency2
Does this answer your question?
@AndrewLister-STFC
Any suggestions on the best way to define a different set of dependencies for the archive and full versions?
It is possible to set different dependencies with
when
:depends_on("dependency1", when="@:2.21") # Versions up to 2.21 get dependency1 depends_on("dependency2", when="@2.22:") # Versions since 2.22 get dependency2
Does this answer your question?
I ended up using something like this, although I now have a very odd versioning scheme to accommodate it:
archive-2023.11.17
archive-...
2014.01.10 -\
2014.01.17 |
2015.06.23 |- legacy builds (on autotools)
2019.05.21 -/
2023.11.17
...
Anything before "b" or after "2022" can use meson, anything before "b" doesn't need any deps, anything after "2022" has deps (blas, lapack, metis). The legacy autotools build that was already in the recipe is in the middle.
Ideally this would be in a different order but all I could find was operations on the ranges. I'd like the order to be:
2014.01.10 -\
2014.01.17 |
2015.06.23 |- legacy builds (on autotools)
2019.05.21 -/
2023.11.17-archive
2023.11.17
...
Having tested this, we've found an issue in the meson build system with the libmetis_path argument. I'll have to put in a new release and skip some versions in the spack recipe to make it work with the spack location of metis. I should have some time to work on this next week.
I can rebase and squash the commits on this if that's preferred for the repo
The current recipe for CoinHSL is outdated and only supports versions that are no longer available to download. This PR adds support for the Meson build system that newer versions require while maintaining backwards compatibility.
There are 2 types of version for CoinHSL, a partial version (referred to as "archive") with reduced support but less restrictive licence, and a full version. The archive version has no dependencies, although I'm not sure how best to capture that in the recipe.
Q by @AndrewLister-STFC: Any suggestions on the best way to define a different set of dependencies for the archive and full versions? A by @bernhardkaindl: It is possible to set different dependencies with
when
:Does this answer your question?