Global source-repository-packages
- Dominant language
- Haskell
- Stars
- 1.7k
- Forks
- 750
- Avg merge
- 4d 3h
- Merged PRs (30d)
- 28
Description
### Summary
When overriding dependencies using `source-repository-package`, the overridden packages become local packages.
This means that neither the source code or build results get cached between projects.
It also makes it difficult for `nix` tooling (or similar) to provide pre-cached packages as cabal-install will be reluctant to use a version of a package coming from a package database provided by this tooling.
### Proposal
Add a setting to `source-repository-package` stanzas that allow setting it to be local or global.
Default this to local if it depends on a local package, ie, to enforce a local package transitive closure property.
I think this default would work well for I think the two main use cases:
- overriding an external dependency (global)
- bringing in a tightly coupled sibling package (local)
Contributor guide
Assessment
This issue has not been assessed yet.