Commit e2da9db
committed
feat: add PubGrub version-constraint solver
Implements Natalie Weizenbaum's PubGrub algorithm (Dart pub, 2018)
over semver.h. Given a set of (package, version, dependencies)
facts plus root dependencies, the solver picks one version per
required package that satisfies every accumulated constraint, or
reports that no such assignment exists.
Lifecycle follows the value-type idiom used by sbuf: caller-owned
header struct, opaque state pointer, init/release pairs. The
component manager wires this in through cmd/idf/component/solve.c.
Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>1 parent eaf23e6 commit e2da9db
5 files changed
Lines changed: 1256 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
190 | 190 | | |
191 | 191 | | |
192 | 192 | | |
| 193 | + | |
193 | 194 | | |
194 | 195 | | |
195 | 196 | | |
| |||
0 commit comments