Lightning Talk – Package manager integration with Bazel
summary
Demonstrates integrating existing package managers into Bazel by wrapping cabal and stack rather than reimplementing dependency resolution, producing cabal_rules build targets and a stack_snapshot repository rule that generates Bazel targets. Uses rules_haskell and rules_sh to support Haskell packages and shell toolchains. Tested on roughly 100 external dependencies, works with Bazel caching and parallelism but gives coarser package-level graph and can invalidate many externals on updates.
AI-written summary · about
chapters (12)
- 0:00Package manager integration
- 1:05Handling dependencies
- 2:28rules_haskell evolution
- 3:33Cabal and Stack with Bazel
- 4:37Dependency graph example
- 5:40Best practices
- 6:43Q&A: Large dependencies
- 7:45Q&A: Caching dependencies
- 8:07Q&A: rules_sh
- 8:49Q&A: Trimming dependencies
- 9:11Q&A: Version pinning
- 10:36Closing remarks
related talks
09mBuilding a Hermetic Python Environment with Conda in Bazel
18mReproducible Builds with Bazel
30mThrough the lens of Haskell: exploring new ideas for library design
20mA modern Python ruleset
27mPython in Bazel
09mPython and Bazel: Aspect’s rules_py
01h 01mLightning Talks
02mIntervista a Francisco Fernández Castaño
