Allow to create sublibraries named "opam"
Open
Nobody has claimed this yet.
build
- Dominant language
- OCaml
- Stars
- 1.9k
- Forks
- 500
- Avg merge
- 15h 21m
- Merged PRs (30d)
- 277
Description
Expected Behavior
Be able to have a sublibrary named opam (e.g. <pkg>.opam)
Actual Behavior & Reproduction
$ cat dune
(library
(name test)
(public_name test.opam))
$ touch test.ml test.opam
$ dune build
Error: symlink: _build/install/default/lib/test/opam/test.ml: Not a directory
Error: symlink: _build/install/default/lib/test/opam/test.cmi: Not a
directory
Error: symlink: _build/install/default/lib/test/opam/test.cmt: Not a
directory
Error: symlink: _build/install/default/lib/test/opam/test.cma: Not a
directory
Error: symlink: _build/install/default/lib/test/opam/test.cmx: Not a
directory
Error: symlink: _build/install/default/lib/test/opam/test.a: Not a directory
Error: symlink: _build/install/default/lib/test/opam/test.cmxa: Not a
directory
Error: symlink: _build/install/default/lib/test/opam/test.cmxs: Not a
directory
Specifications
- Version of
dune(output ofdune --version): 2.7.1
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 with the reported dune file and reproduce the failure using a public library named test.opam and the listed test.ml and test.opam files. Trace the installation or symlink handling that treats opam as a file rather than a directory; done means dune build succeeds and the sublibrary is installable under the expected path.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ocaml
- Domain
- build-system
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 45/100