ocaml / ocaml/dune

Dune installs empty META file for package with no library

Open
#2,353 3 comments 1 reaction 1 assignee View on GitHub

@emillon is already working on this.

Since Dec 14, 2023.

build package management
Dominant language
OCaml
Stars
1.9k
Forks
500
Avg merge
15h 21m
Merged PRs (30d)
277

Description

If a package defines executables only, Dune generates a META file containing a blank line and installs it. cppo, since its conversion to Jbuilder in v1.6.0 has had this cppo.install generated:

lib: [
  "_build/install/default/lib/cppo/META"
  "_build/install/default/lib/cppo/dune-package"
  "_build/install/default/lib/cppo/opam"
]
bin: [
  "_build/install/default/bin/cppo"
]
doc: [
  "_build/install/default/doc/cppo/LICENSE.md"
  "_build/install/default/doc/cppo/README.md"
]

but because META is empty, you get this from ocamlfind list:

cppo                (version: n/a)
cppo_ocamlbuild     (version: 1.6.6)

Dune should either not generate a META file at all or should put at least a version field in it. If META is written, then I think a synopsis field might also be wanted for executable which would go in description in the META file.

I have no opinion on whether there should be a META file at all (prior to 1.6.0, cppo didn't have one, unsurprisingly).

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.