CUDF support #418
Replies: 4 comments 1 reply
-
So far we got around dealing with dependency resolution in general. If Nim does not have a tool yet that can create a lockfile, then implementing your own resolver might be worthwhile. Currently dream2nix can only act as an addon to dependency management. It relies on other tools maintaining lock files. It cannot work standalone, because there is no dependency resolver. So if you can solve that, that would be great ;) |
Beta Was this translation helpful? Give feedback.
-
Hey, I finally took a closer look at this and I'm quite hyped about this experiment.
I'd love to find out. pypi-deps-db could be used as a data source. It contains most of the 4 million package releases from pypi.org.
Node can, but python cannot. The CUDF Primer mentions:
Hm, it seems like the tooling around CUDF is not super well maintained. Did you look into any alternatives so far, like for example libsolv ? |
Beta Was this translation helpful? Give feedback.
-
At least spammer called your attention 🤣
SAT Solver geeks are proud of how fast theirs software 'solve large problem sets', I am not sure if is the case here, but there is a hope.
aspcud at least is in use by OCaml community, they are migration to own solution, that is why we have it in nixpkgs.
No because, CUDF + aspcud solution was too simple like readFile (
runCommand "resolv-deps" {
cudfRequest = "request: \ninstall: myDependency\n";
passAsFile = ["cudfRequest"];
buildInputs = [ aspcud ];
}
''
aspcud <(cat ${nimPkgsCudfIndex} $cudfRequestPath) $out
''
) |
Beta Was this translation helpful? Give feedback.
-
It can be used as data source. Now you need the reverse mapping. |
Beta Was this translation helpful? Give feedback.
-
Hi,
I'm currently creating an alternative for flake-nimble.
My first attempt was let nix flakes locks handle locks, it didn't work well.
My second attempt was, use lock tool from ecosystem, but it is too slow.
And the current approach is indexing all and use head, isn't ideal, so I'm looking for alternatives to dependency resolution.
I was looking for SAT/SMT solutions, and found aspcud it uses cudf to resolve dependencies.
And I'm wondering if it makes sense to add CUDF support to dream2nix.
I'm also open to ear about other options, like does dream2nix solve this?
Beta Was this translation helpful? Give feedback.
All reactions