I just saw the idea list for GSoC 2022, and “Version constraint resolution” for fpm stood out to me particularly, because I’m quite involved in the conda ecosystem**.
In particular, the version resolution is often considered one of the weakest points of
conda - the community-driven alternative
mamba (based also on
libsolv) improves the resolution speed, but the resolution errors are still not considered amazing.
As such, I wanted to bring attention to what is (to my knowledge) currently considered best-in-class, namely
pubgrub (see also announcement blog post);
mamba is also considering to improve along those lines.
I could have edited the wiki directly, but seeing that I’m a complete outsider, I felt that a thread here was more appropriate. CC @everythingfunctional @awvwgk
PS. I think the discourse link should be added to the community page on fortran-lang.org.
** Note that there is a (symbiotic) split between the Anaconda(-the-company)-run
conda and its associated package channels, and the purely open-source side of things with conda-forge providing many more packages than Anaconda (and in many cases being treated as the “upstream” to the Anaconda main channels), and
mamba as an community-driven (and compatible) equivalent to
I have seen a presentation on pubgrub at the PackagingCon (Building a flexible dependency solver in Rust :: PackagingCon :: pretalx), looked really promising. There is also a recording:
Creating Fortran bindings to pubgrub, which can be used in fpm would indeed be a useful project. Probably requires some Fortran/C and C/Rust interop knowledge to make it work reliably, but definitely something I would be interested in.
Hi @h-vetinari , I’d definitely be interested in working with you on the project. There’s a bit of preliminary work that I think needs to be done, which would make this a (IMHO) full-time size project. Namely that fpm currently doesn’t really have any version information about a package (or at least doesn’t treat it as such). It could make some educated guesses based on some conventions.
At any rate, I look forward to seeing a proposal from you, and would be happy to provide suggestions and guidance.
I think there’s been a bit of a misunderstanding
I’m not proposing to do this GSoC project myself, I just wanted to enrich the references that are being used for this project idea.
I see. My mistake. Thanks for the input anyway.