And for ssreflect, it ships a single libssreflect-coq package ; it's
shipping .v, .vo and .glob files and the html doc. It's arch-indep.
[aside: it needs updating to latest upstream.]
In both cases, the package name doesn't seem to follow a convention,
and the package name bears little link to upstream's packaging names
(stdlib for coq, mathcomp for ssreflect).
On Fri, Nov 19, 2021 at 08:04:44AM +0100, Julien Puydt wrote:
And for ssreflect, it ships a single libssreflect-coq package ;
it's
shipping .v, .vo and .glob files and the html doc. It's arch-indep.
[aside: it needs updating to latest upstream.]
In both cases, the package name doesn't seem to follow a
convention,
and the package name bears little link to upstream's packaging
names
(stdlib for coq, mathcomp for ssreflect).
sslreflect should probably be repacked. For starters, the name
"sslreflect" is due to the fact that when the package was created it
also contained the sslreflect plugin, which is now part of the coq
upstream distribution. The name should be something containing
the words "coq" and "mathcomp".
Then, there should be several binary packages. I suggest following
the organisation of the opam packages since this is what users will
find in the mathcomp documentation, I guess. Splitting of
architecture
independent packages would be plus.
Say a foobar package provides an executable, an ocaml lib and/or a coq theories lib, with documentation. Of course the source package will be foobar, but for the binaries:
- libfoobar-ocaml (ocaml runtime library, *.cma, *.cmxs)
- libfoobar-ocaml-dev (ocaml devel library, *.a, *.cmi, *.cmo, *.cmt,
*.cmx, *.cmxa, *.ml, *.mli, *.o, META, dune-package, opam)
- libfoobar-ocaml-doc (doc for the library, *html)
- foobar (executable, /usr/bin/foobar and associated manual)
- libfoobar-coq (coq theory, *.v, *.vo, *.vos, *.glob)
- libfoobar-coq-doc (coq theory doc, *html)
does that look right?
META is usually put in libfoobar-ocaml, as it contains the
information to locate the *.cma and *.cmxs files (this information is
used by anything using findlib as a lib, for example ocsigenserver).
META is usually put in libfoobar-ocaml, as it contains the
information to locate the *.cma and *.cmxs files (this information is
used by anything using findlib as a lib, for example ocsigenserver).
Indeed, that's what's the policy says.
I made the mistake with coq (I pushed a fixing commit), but since I
based my elpi & ocaml-ansi-terminal on studying other packages, those
are ok.
I won't upload coq again that soon though (unless I get a fix for bytecode-only architectures!), as I'd like to rework the packaging
quite extensively.
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 296 |
Nodes: | 16 (2 / 14) |
Uptime: | 48:13:49 |
Calls: | 6,648 |
Files: | 12,198 |
Messages: | 5,329,987 |