Hi all,
It's been a while since I work on an OCaml spec, so I'm asking the ocaml-devel list (and because it seems inactive, cc:ing rjones and jjames since they maintain a lot of OCaml packages.
I'm working through the missing dependencies to eventually package Infer, Facebook's static analysis tool -- https://fbinfer.com/ -- which is written in OCaml.
The first such dependency is atdgen, which is part of atd: https://github.com/ahrefs/atd
Review request: https://bugzilla.redhat.com/show_bug.cgi?id=1947685
This is a single project that ends up generating several related OPAM packages. The automatic requires/provides seem to identify the modules it provides correctly, so... do I need to split the packaging to individual modules, or is it fine to ship only ocaml-atd and ocaml-atd- devel?
(My infer package can then depend on ocaml(Atdgen) instead of hardcoding the specific RPM name, so if I end up splitting the package later it is not affected)
On a related note, the packaging guidelines is rather out of date: https://docs.fedoraproject.org/en-US/packaging-guidelines/OCaml/
I have a minor PR for fixing the link back to the main guidelines: https://pagure.io/packaging-committee/pull-request/1065
but found the example spec there really obsolete; I ended up basing my spec on jjames' ocaml-menhir.
Likewise, the spec generated by `rpmdev-newspec -t ocaml` is out of date and roughly corresponds with the spec in the packaging guidelines.
Is there an interest in revamping the documentation and template? Maybe ship a separate template for ocaml-dune for projects that use dune as as its build system?
Best regards,
I am currently traveling, with only my phone for accessing email, so please pardon top posting, HTML, etc. I also have the goal of bringing Infer to Fedora, so I am happy to make common cause with you.
Are you aware of my efforts to build an OCaml spec generator? See https://pagure.io/opam2rpm. It isn't finished, but it is useful for getting started.
I can be more helpful next week when I am home & have my beloved Fedora desktop in front of me. :-)
On Thu, Apr 8, 2021, 4:02 PM Michel Alexandre Salim michel@michel-slm.name wrote:
Hi all,
It's been a while since I work on an OCaml spec, so I'm asking the ocaml-devel list (and because it seems inactive, cc:ing rjones and jjames since they maintain a lot of OCaml packages.
I'm working through the missing dependencies to eventually package Infer, Facebook's static analysis tool -- https://fbinfer.com/ -- which is written in OCaml.
The first such dependency is atdgen, which is part of atd: https://github.com/ahrefs/atd
Review request: https://bugzilla.redhat.com/show_bug.cgi?id=1947685
This is a single project that ends up generating several related OPAM packages. The automatic requires/provides seem to identify the modules it provides correctly, so... do I need to split the packaging to individual modules, or is it fine to ship only ocaml-atd and ocaml-atd- devel?
(My infer package can then depend on ocaml(Atdgen) instead of hardcoding the specific RPM name, so if I end up splitting the package later it is not affected)
On a related note, the packaging guidelines is rather out of date: https://docs.fedoraproject.org/en-US/packaging-guidelines/OCaml/
I have a minor PR for fixing the link back to the main guidelines: https://pagure.io/packaging-committee/pull-request/1065
but found the example spec there really obsolete; I ended up basing my spec on jjames' ocaml-menhir.
Likewise, the spec generated by `rpmdev-newspec -t ocaml` is out of date and roughly corresponds with the spec in the packaging guidelines.
Is there an interest in revamping the documentation and template? Maybe ship a separate template for ocaml-dune for projects that use dune as as its build system?
Best regards,
-- Michel Alexandre Salim profile: https://keyoxide.org/michel@michel-slm.name
On Thu, 2021-04-08 at 19:18 -0600, Jerry James wrote:
I am currently traveling, with only my phone for accessing email, so please pardon top posting, HTML, etc. I also have the goal of bringing Infer to Fedora, so I am happy to make common cause with you.
Are you aware of my efforts to build an OCaml spec generator? See https://pagure.io/opam2rpm. It isn't finished, but it is useful for getting started.
That looks handy, thanks! I'm halfway through packaging the next package Infer needs (camlzip) so I already wrote a manual spec file for it too, but I'll check out opam2rpm for the next dependency in line.
I can be more helpful next week when I am home & have my beloved Fedora desktop in front of me. :-)
Hope to have a set of review requests by then!
Best regards,
On Fri, 2021-04-09 at 16:04 -0700, Michel Alexandre Salim wrote:
On Thu, 2021-04-08 at 19:18 -0600, Jerry James wrote:
I am currently traveling, with only my phone for accessing email, so please pardon top posting, HTML, etc. I also have the goal of bringing Infer to Fedora, so I am happy to make common cause with you.
Are you aware of my efforts to build an OCaml spec generator? See https://pagure.io/opam2rpm. It isn't finished, but it is useful for getting started.
That looks handy, thanks! I'm halfway through packaging the next package Infer needs (camlzip) so I already wrote a manual spec file for it too, but I'll check out opam2rpm for the next dependency in line.
I can be more helpful next week when I am home & have my beloved Fedora desktop in front of me. :-)
Hope to have a set of review requests by then!
ok, the camlzip OPAM module still uses Makefiles to install, and rather than trying to make sure I override the right environment variables to get it to build correctly, I figured I'd rather fix opam2rpm to support Zip archives:
https://pagure.io/opam2rpm/pull-request/6
Best regards,
On Thu, Apr 08, 2021 at 03:02:30PM -0700, Michel Alexandre Salim wrote:
On a related note, the packaging guidelines is rather out of date: https://docs.fedoraproject.org/en-US/packaging-guidelines/OCaml/
Yes, they desperately need to be updated. At the moment it's better to look at existing practise as you have done.
I have a minor PR for fixing the link back to the main guidelines: https://pagure.io/packaging-committee/pull-request/1065
I'm not sure if I'm able to merge this. The "merge" button just shows an empty box when clicked, so maybe not. However I added a comment saying it looks OK.
but found the example spec there really obsolete; I ended up basing my spec on jjames' ocaml-menhir.
Likewise, the spec generated by `rpmdev-newspec -t ocaml` is out of date and roughly corresponds with the spec in the packaging guidelines.
Is there an interest in revamping the documentation and template? Maybe ship a separate template for ocaml-dune for projects that use dune as as its build system?
Sure.
Rich.
On Thu, Apr 08, 2021 at 03:02:30PM -0700, Michel Alexandre Salim wrote:
This is a single project that ends up generating several related OPAM packages. The automatic requires/provides seem to identify the modules it provides correctly, so... do I need to split the packaging to individual modules, or is it fine to ship only ocaml-atd and ocaml-atd- devel?
Looking at the spec it seems to be doing the right thing. As long as there is a single source (as is the case) the fact that it generates several OCaml modules is immaterial in my opinion, so this is fine.
Rich.
ocaml-devel@lists.fedoraproject.org