Description of problem: Please branch and build ocaml-menhir in epel9. I am happy to be a co-maintainer if you wish. Version-Release number of selected component (if applicable): How reproducible: Steps to Reproduce: 1. 2. 3. Actual results: Expected results: Additional info:
I prefer not to get involved with EPEL packaging, so I will make you a comaintainer. Note that the version of menhir currently in Rawhide has some bugs that are fixed by the next release (20220210). I haven't updated yet, because then the frama-c and why3 packages will need a rebuild, and I have some other work I want to get ready for them before moving forward with the rebuilds. Are you subscribed to the ocaml-devel mailing list? https://lists.fedoraproject.org/archives/list/ocaml-devel@lists.fedoraproject.org/ There isn't much traffic on it, but sometimes topics related to OCaml packaging come up.
Thanks! I have subscribed to the list. I am new with this, do you create the epel9 branch or I have the permission to do it? Thanks! Chung
I *think* you have permission to do it. Please give it a try and if something doesn't work, let me know.
I don't think I can. I just use fedpkg request a new branch. Thank you for your help. There are quite a few other packages that I need to request in order to get this to work for RHEL9. Thanks! Chung
I'm unclear if you already requested a new branch, but I did it just now: https://pagure.io/releng/fedora-scm-requests/issue/42595
Branch creation done.
For my reference, build failed with: DEBUG util.py:444: No matching package to install: 'coq' DEBUG util.py:444: No matching package to install: 'hevea' DEBUG util.py:444: No matching package to install: 'ocaml-dune' DEBUG util.py:444: No matching package to install: 'tex(comment.sty)' DEBUG util.py:444: No matching package to install: 'tex(moreverb.sty)'
You'll want "%bcond_with coq" at the top of the spec file. I guess we need another conditional for documentation. The dune requirement is a hard requirement, on the other hand.
I tried to separate out BuildRequires needed for different purposes and came up with this: ``` # Whether to build coq-menhirlib %bcond_with coq # Whether to build odoc-generated API documentation %bcond_with odoc # Whether to build the user manual %bcond_with manual BuildRequires: ocaml BuildRequires: ocaml-dune %if %{with coq} BuildRequires: coq BuildRequires: make %endif %if %{with odoc} BuildRequires: ocaml-odoc %endif %if %{with manual} BuildRequires: ImageMagick BuildRequires: hevea BuildRequires: tex(latex) BuildRequires: tex(comment.sty) BuildRequires: tex(moreverb.sty) %endif ``` For EPEL, you will want all three conditionals to be `%bcond_with`. But then it strikes me, Richard, that we will want all 3 to be `%bcond_with` while bootstrapping a new version of OCaml on Fedora, then all 3 to be `%bcond_without` afterwards. Maybe we only want a single conditional? Don't know what it would be called...
So I decided to stick with the existing coq conditional, and remove odoc support. As we discussed, Richard, I think I'm going to remove odoc documentation more or less universally. The result has been built in Rawhide. Hopefully, all you need now is dune to build for EPEL. Richard, it strikes me that what I did may mess with your OCaml build script. It flips that coq conditional back and forth between %bcond_with and %bcond_without, right? Well, now there are two of them in the spec file, and your script should only touch the second one. Is that a problem? If so, can you think of a better way of handling the situation?
Just a note that there's a problem with EPEL: https://lists.fedoraproject.org/archives/list/epel-devel@lists.fedoraproject.org/thread/FHC3MQZNRT72QL6TPVZCQORYBGSJZMDO/