Track private executable inter-component dependencies (Was: Document new `scope` field in manual)
- Dominant language
- Haskell
- Stars
- 1.7k
- Forks
- 750
- Avg merge
- 4d 3h
- Merged PRs (30d)
- 28
Description
A new field `scope` was added via #4501
However, I don't see it mentioned anywhere in http://cabal.readthedocs.io/en/latest/cabal-projectindex.html so I have to assume it hasn't been documented yet.
I'm also wondering if this is only relevant to the old non-`new-build` paradigm, given how differently `new-build` works (executables live in the cabal nix store, and we'd probably just symlink to them, to create specific `bin/`-folder views into the store), or alternatively, how this is supposed to interact w/ the nix-style `new-build` paradigm.
/cc @DanielG
----
UPDATE:
Some bikeshedding names for the new property:
`(dist|runtime|libexec)-(tool-|exe-|)-depends`
Also, we need to implement some new `Paths_` lookup facilities; as we can *not* assume that things are locatable via the `libexec` folder due to the per-component nature of cabal's nix-style store.
Contributor guide
Research direction
Start by reviewing the `scope` field introduced in #4501 and the Cabal project index linked in the issue. Trace how private executable dependencies should work for both the old paradigm and `new-build`, including per-component store locations and the proposed `Paths_` lookup facilities. Done means the dependency behavior and naming are settled and the relevant documentation and implementation are updated.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- haskell
- Domain
- build-system
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100