Bug 2058268 - Please branch and build ocaml-menhir in epel9
Summary: Please branch and build ocaml-menhir in epel9
Keywords:
Status: ASSIGNED
Alias: None
Product: Fedora EPEL
Classification: Fedora
Component: ocaml-menhir
Version: epel9
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Richard W.M. Jones
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2022-02-24 15:40 UTC by Chung Chung
Modified: 2022-03-03 17:00 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed:
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Chung Chung 2022-02-24 15:40:44 UTC
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:

Comment 1 Jerry James 2022-02-24 21:15:09 UTC
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.

Comment 2 Chung Chung 2022-02-24 21:34:27 UTC
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

Comment 3 Jerry James 2022-02-24 21:58:41 UTC
I *think* you have permission to do it.  Please give it a try and if something doesn't work, let me know.

Comment 4 Chung Chung 2022-02-28 01:55:44 UTC
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

Comment 5 Richard W.M. Jones 2022-02-28 08:36:07 UTC
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

Comment 6 Richard W.M. Jones 2022-03-01 07:53:07 UTC
Branch creation done.

Comment 7 Richard W.M. Jones 2022-03-01 07:59:33 UTC
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)'

Comment 8 Jerry James 2022-03-01 16:11:59 UTC
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.

Comment 9 Jerry James 2022-03-01 23:40:14 UTC
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...

Comment 10 Jerry James 2022-03-02 20:56:33 UTC
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?

Comment 11 Richard W.M. Jones 2022-03-03 17:00:11 UTC
Just a note that there's a problem with EPEL:
https://lists.fedoraproject.org/archives/list/epel-devel@lists.fedoraproject.org/thread/FHC3MQZNRT72QL6TPVZCQORYBGSJZMDO/


Note You need to log in before you can comment on or make changes to this bug.