`%{pkg:other-pkg:installed}` and `%{pkg-self:installed}` (?) should be substituted at lock time
Open
Nobody has claimed this yet.
package management
- Dominant language
- OCaml
- Stars
- 1.9k
- Forks
- 500
- Avg merge
- 15h 17m
- Merged PRs (30d)
- 287
Description
The value can be determined at lock time.
For example uutf:
(build
(all_platforms
((action
(run
ocaml
pkg/pkg.ml
build
--dev-pkg
%{pkg-self:dev}
--with-cmdliner
%{pkg:cmdliner:installed})))))
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing how Dune handles package-variable substitution and lock-time evaluation; the issue provides the uutf example with %{pkg-self:dev} and %{pkg:cmdliner:installed}. Done means both forms are substituted at lock time, including the shown build action, with coverage for the relevant cases.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ocaml
- Domain
- build-system
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100