When dependency hell freezes over
summary
Proposal: use a metadata-driven dependency manager that fetches JSON/YAML feeds over HTTP, reduces choices to implementations, encodes requirements and conflicts as clauses and solves them with Boolean satisfiability, prefers system packages and prebuilt binaries, falls back to source builds, and emits top-level CMake lists or install actions. A prototype called Ripple exists as library+tool, handles version/configuration conflicts and circular deps, but development slowed and the idea remains a working prototype rather than a finished product.
AI-written summary · about
chapters (26)
- 0:00Intro
- 0:25History
- 4:35Problem
- 6:51Example of dependency hell
- 7:41Stack Overflow
- 8:22David Cole
- 14:35Lipcott
- 15:40ZLip
- 16:25What do we need
- 18:55Goals for a package manager
- 19:27Package vs what we need
- 21:20C dependency manager
- 27:31Boolean satisfiability problem
- 36:12Conflicts
- 38:41Final workflow
- 40:55Questions
- 43:20Package management systems
- 45:28Optimal dependency solver
- 47:07Nougat
- 48:07Possible
- 49:01Developers
- 50:01Ripple and Boost
- 52:17Solutions
- 55:20Build settings
- 56:38Quick question
- 58:27Subdirectories
related talks
29mDependency Management: Where the Fork are We?
26mKnow Your Dependencies: A Guide to Automating Dependency Assurance
05mDependency Demons
41mThe future of dependency management, seen from 2022
42mDependency Updates: Before and After
38mKnow thy neighbours: dependency management done right.
08mAll About Dependencies
01h 11mThe State of Package Management in C++
