Bug 262781 - lang/ocaml: upgrade to 4.12.1
Summary: lang/ocaml: upgrade to 4.12.1
Status: Closed Overcome By Events
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Many People
Assignee: Port Management Team
URL:
Keywords:
Depends on: 263044 263152 263153 263203 263205 263162 263181 263206
Blocks: 262785 262786 262790 262793 262782 262783 262787 262788 262789 262791 262792
  Show dependency treegraph
 
Reported: 2022-03-25 11:15 UTC by Thierry Thomas
Modified: 2024-03-11 21:54 UTC (History)
8 users (show)

See Also:
bugzilla: maintainer-feedback? (michipili)
thierry: merge-quarterly-
thierry: exp-run?


Attachments
Upgrade OCaml to 4.12.1 and chase devel/ocaml-* ports (102.23 KB, patch)
2022-03-25 11:15 UTC, Thierry Thomas
no flags Details | Diff
Compressed global patch for OCaml related PRs (95.69 KB, application/x-bzip)
2022-03-25 11:19 UTC, Thierry Thomas
no flags Details
Upgrade OCaml to 4.12.1 and chase devel/ocaml-* ports + fix for i386 (102.97 KB, patch)
2022-03-25 16:47 UTC, Thierry Thomas
no flags Details | Diff
Compressed global patch for OCaml related PRs (with fix for i368) (95.93 KB, application/x-bzip)
2022-03-25 20:58 UTC, Thierry Thomas
no flags Details
Upgrade OCaml to 4.12.1 and chase devel/ocaml-* ports (103.66 KB, patch)
2022-04-08 16:04 UTC, Thierry Thomas
no flags Details | Diff
Upgrade OCaml to 4.12.1 and chase devel/ocaml-* ports (106.42 KB, patch)
2022-04-09 16:26 UTC, Thierry Thomas
no flags Details | Diff
Transient update to 4.07 (all ports) (52.62 KB, patch)
2022-04-13 06:55 UTC, Alexey Dokuchaev
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Thierry Thomas freebsd_committer freebsd_triage 2022-03-25 11:15:38 UTC
Created attachment 232690 [details]
Upgrade OCaml to 4.12.1 and chase devel/ocaml-* ports

The actual OCaml is too old to build some applications.

4.12.1 is not the latest release, but it seems sufficient for many use cases, and it is not too disruptive.

Release notes at <https://github.com/ocaml/ocaml/releases/tag/4.12.1>.

All tests pass on -CURRENT / amd64.

Important note: all the PR related to Ocaml ports must be committed at the same time!
Comment 1 Thierry Thomas freebsd_committer freebsd_triage 2022-03-25 11:19:41 UTC
Created attachment 232704 [details]
Compressed global patch for OCaml related PRs

Adding a global patch for the different OCaml PRs, to be more convenient.
Comment 2 Thierry Thomas freebsd_committer freebsd_triage 2022-03-25 11:21:34 UTC
An exp-run is needed. The global patch includes a bump PORTREVISION for the OCAML ports in categories ≠ devel.
Comment 4 Thierry Thomas freebsd_committer freebsd_triage 2022-03-25 16:47:57 UTC
Created attachment 232714 [details]
Upgrade OCaml to 4.12.1 and chase devel/ocaml-* ports + fix for i386

Although '-Wl,-z,notext' was set, it was not used at some places.
The attached patch fixes that.

(I shall rebuild the global patch later)
Comment 5 Thierry Thomas freebsd_committer freebsd_triage 2022-03-25 20:58:17 UTC
Created attachment 232722 [details]
Compressed global patch for OCaml related PRs (with fix for i368)

New version of the global patch: this one includes the fix for i386.
Comment 6 Antoine Brodin freebsd_committer freebsd_triage 2022-03-27 17:37:31 UTC
Some new failure logs on 12.2 amd64:

http://package18.nyi.freebsd.org/data/122amd64-default-foo/2022-03-25_13h26m13s/logs/errors/alt-ergo-0.95.2_4.log
http://package18.nyi.freebsd.org/data/122amd64-default-foo/2022-03-25_13h26m13s/logs/errors/cil-1.7.3_2.log
http://package18.nyi.freebsd.org/data/122amd64-default-foo/2022-03-25_13h26m13s/logs/errors/coccinelle-1.0.7_1.log
http://package18.nyi.freebsd.org/data/122amd64-default-foo/2022-03-25_13h26m13s/logs/errors/coq-8.6_9,3.log
http://package18.nyi.freebsd.org/data/122amd64-default-foo/2022-03-25_13h26m13s/logs/errors/coq-emacs_canna-8.6_9,3.log
http://package18.nyi.freebsd.org/data/122amd64-default-foo/2022-03-25_13h26m13s/logs/errors/coq-emacs_devel-8.6_9,3.log
http://package18.nyi.freebsd.org/data/122amd64-default-foo/2022-03-25_13h26m13s/logs/errors/coq-emacs_devel_nox-8.6_9,3.log
http://package18.nyi.freebsd.org/data/122amd64-default-foo/2022-03-25_13h26m13s/logs/errors/coq-emacs_nox-8.6_9,3.log
http://package18.nyi.freebsd.org/data/122amd64-default-foo/2022-03-25_13h26m13s/logs/errors/geneweb-6.08_2.log
http://package18.nyi.freebsd.org/data/122amd64-default-foo/2022-03-25_13h26m13s/logs/errors/ledit-2.04_1.log
http://package18.nyi.freebsd.org/data/122amd64-default-foo/2022-03-25_13h26m13s/logs/errors/mldonkey-3.1.5_5.log
http://package18.nyi.freebsd.org/data/122amd64-default-foo/2022-03-25_13h26m13s/logs/errors/mldonkey-core-3.1.5_5.log
http://package18.nyi.freebsd.org/data/122amd64-default-foo/2022-03-25_13h26m13s/logs/errors/mldonkey-gui-3.1.5_5.log
http://package18.nyi.freebsd.org/data/122amd64-default-foo/2022-03-25_13h26m13s/logs/errors/ocaml-images-4.0.1_10,2.log
http://package18.nyi.freebsd.org/data/122amd64-default-foo/2022-03-25_13h26m13s/logs/errors/ocaml-ipaddr-5.3.0.log
http://package18.nyi.freebsd.org/data/122amd64-default-foo/2022-03-25_13h26m13s/logs/errors/ocaml-nox11-4.12.1.log
http://package18.nyi.freebsd.org/data/122amd64-default-foo/2022-03-25_13h26m13s/logs/errors/ocaml-ocurl-0.8.2_1.log
http://package18.nyi.freebsd.org/data/122amd64-default-foo/2022-03-25_13h26m13s/logs/errors/ocaml-ssl-0.5.9_1.log
http://package18.nyi.freebsd.org/data/122amd64-default-foo/2022-03-25_13h26m13s/logs/errors/orpie-1.5.2_8.log
http://package18.nyi.freebsd.org/data/122amd64-default-foo/2022-03-25_13h26m13s/logs/errors/scilab-6.1.1_1.log
http://package18.nyi.freebsd.org/data/122amd64-default-foo/2022-03-25_13h26m13s/logs/errors/sks-1.1.6_1.log
http://package18.nyi.freebsd.org/data/122amd64-default-foo/2022-03-25_13h26m13s/logs/errors/teyjus-2.1.7_1.log
http://package18.nyi.freebsd.org/data/122amd64-default-foo/2022-03-25_13h26m13s/logs/errors/unison232-2.32.52_13.log
http://package18.nyi.freebsd.org/data/122amd64-default-foo/2022-03-25_13h26m13s/logs/errors/unison232-nox11-2.32.52_13.log
http://package18.nyi.freebsd.org/data/122amd64-default-foo/2022-03-25_13h26m13s/logs/errors/unison240-2.40.128_5.log
http://package18.nyi.freebsd.org/data/122amd64-default-foo/2022-03-25_13h26m13s/logs/errors/unison240-nox11-2.40.128_5.log
http://package18.nyi.freebsd.org/data/122amd64-default-foo/2022-03-25_13h26m13s/logs/errors/unison248-2.48.15_3.log
http://package18.nyi.freebsd.org/data/122amd64-default-foo/2022-03-25_13h26m13s/logs/errors/unison248-nox11-2.48.15_3.log
Comment 7 Antoine Brodin freebsd_committer freebsd_triage 2022-03-28 18:34:32 UTC
New failure logs on 13.0 i386:

http://package23.nyi.freebsd.org/data/130i386-default-foo/2022-03-25_21h15m34s/logs/errors/aifad-2.0.8.log
http://package23.nyi.freebsd.org/data/130i386-default-foo/2022-03-25_21h15m34s/logs/errors/alt-ergo-0.95.2_4.log
http://package23.nyi.freebsd.org/data/130i386-default-foo/2022-03-25_21h15m34s/logs/errors/cil-1.7.3_2.log
http://package23.nyi.freebsd.org/data/130i386-default-foo/2022-03-25_21h15m34s/logs/errors/coccinelle-1.0.7_1.log
http://package23.nyi.freebsd.org/data/130i386-default-foo/2022-03-25_21h15m34s/logs/errors/coq-8.6_9,3.log
http://package23.nyi.freebsd.org/data/130i386-default-foo/2022-03-25_21h15m34s/logs/errors/coq-emacs_canna-8.6_9,3.log
http://package23.nyi.freebsd.org/data/130i386-default-foo/2022-03-25_21h15m34s/logs/errors/coq-emacs_devel-8.6_9,3.log
http://package23.nyi.freebsd.org/data/130i386-default-foo/2022-03-25_21h15m34s/logs/errors/coq-emacs_devel_nox-8.6_9,3.log
http://package23.nyi.freebsd.org/data/130i386-default-foo/2022-03-25_21h15m34s/logs/errors/coq-emacs_nox-8.6_9,3.log
http://package23.nyi.freebsd.org/data/130i386-default-foo/2022-03-25_21h15m34s/logs/errors/geneweb-6.08_2.log
http://package23.nyi.freebsd.org/data/130i386-default-foo/2022-03-25_21h15m34s/logs/errors/ledit-2.04_1.log
http://package23.nyi.freebsd.org/data/130i386-default-foo/2022-03-25_21h15m34s/logs/errors/mldonkey-3.1.5_5.log
http://package23.nyi.freebsd.org/data/130i386-default-foo/2022-03-25_21h15m34s/logs/errors/mldonkey-core-3.1.5_5.log
http://package23.nyi.freebsd.org/data/130i386-default-foo/2022-03-25_21h15m34s/logs/errors/mldonkey-gui-3.1.5_5.log
http://package23.nyi.freebsd.org/data/130i386-default-foo/2022-03-25_21h15m34s/logs/errors/ocaml-images-4.0.1_10,2.log
http://package23.nyi.freebsd.org/data/130i386-default-foo/2022-03-25_21h15m34s/logs/errors/ocaml-ipaddr-5.3.0.log
http://package23.nyi.freebsd.org/data/130i386-default-foo/2022-03-25_21h15m34s/logs/errors/ocaml-nox11-4.12.1.log
http://package23.nyi.freebsd.org/data/130i386-default-foo/2022-03-25_21h15m34s/logs/errors/ocaml-ocurl-0.8.2_1.log
http://package23.nyi.freebsd.org/data/130i386-default-foo/2022-03-25_21h15m34s/logs/errors/ocaml-ssl-0.5.9_1.log
http://package23.nyi.freebsd.org/data/130i386-default-foo/2022-03-25_21h15m34s/logs/errors/orpie-1.5.2_8.log
http://package23.nyi.freebsd.org/data/130i386-default-foo/2022-03-25_21h15m34s/logs/errors/sks-1.1.6_1.log
http://package23.nyi.freebsd.org/data/130i386-default-foo/2022-03-25_21h15m34s/logs/errors/teyjus-2.1.7_1.log
http://package23.nyi.freebsd.org/data/130i386-default-foo/2022-03-25_21h15m34s/logs/errors/unison232-2.32.52_13.log
http://package23.nyi.freebsd.org/data/130i386-default-foo/2022-03-25_21h15m34s/logs/errors/unison232-nox11-2.32.52_13.log
http://package23.nyi.freebsd.org/data/130i386-default-foo/2022-03-25_21h15m34s/logs/errors/unison240-2.40.128_5.log
http://package23.nyi.freebsd.org/data/130i386-default-foo/2022-03-25_21h15m34s/logs/errors/unison240-nox11-2.40.128_5.log
http://package23.nyi.freebsd.org/data/130i386-default-foo/2022-03-25_21h15m34s/logs/errors/unison248-2.48.15_3.log
http://package23.nyi.freebsd.org/data/130i386-default-foo/2022-03-25_21h15m34s/logs/errors/unison248-nox11-2.48.15_3.log
Comment 8 Thierry Thomas freebsd_committer freebsd_triage 2022-04-02 15:32:30 UTC
Progress report: I have fixed some of these failures, and it was necessary to update some ports included in PR 262784.

The global will be updated eventually.
Comment 9 Thierry Thomas freebsd_committer freebsd_triage 2022-04-07 14:21:01 UTC
net-p2p/mldonkey has been patched by danfe@ in commit 69c0109b3e720f1be123618a1f9d1649e24040e8 .
Comment 10 Thierry Thomas freebsd_committer freebsd_triage 2022-04-08 16:04:21 UTC
Created attachment 233065 [details]
Upgrade OCaml to 4.12.1 and chase devel/ocaml-* ports

Remove devel/ocaml-uutf (updated to 14.0.0 in a distinct PR).
Comment 11 Thierry Thomas freebsd_committer freebsd_triage 2022-04-08 20:33:15 UTC
devel/ocaml-ipaddr should be fixed now (missing RUN_DEPENDS fixed in PR 262784).
Comment 12 Thierry Thomas freebsd_committer freebsd_triage 2022-04-09 13:50:11 UTC
ftp/ocaml-ocurl has been fixed in PR 262794.
Comment 13 Thierry Thomas freebsd_committer freebsd_triage 2022-04-09 16:26:10 UTC
Created attachment 233103 [details]
Upgrade OCaml to 4.12.1 and chase devel/ocaml-* ports

Remove the graphics bits from lang/ocaml, and remove the port lang/ocaml-nox11: actually, the graphics library is no more included, and it is available as a separate port.

See x11/ocaml-graphics in PR 262784.
Comment 14 Alexey Dokuchaev freebsd_committer freebsd_triage 2022-04-13 06:55:39 UTC
Created attachment 233187 [details]
Transient update to 4.07 (all ports)

Thierry, Antoine,

I've been working, at varying pace, on updating our OCaml stack for past several months and I believe that all consumer ports should be prepared for it now (I've tried to maintain the sensible balance between patching and updating, keeping untested version upgrades count low so the ride is least bumpy).  However, I've been targeting 4.07 as a first big step, for the following reasons:

- It is currently considered as the lowest supported version (baseline) in majority of open-source OCaml projects.  For conservative hackers among us (e.g. our small team here at $work still tracks 4.07 for compatibility with RHEL 8 which is also on it), having 4.07 in the tree, even for a short while, would allow users stick to that package (pkg lock it) and has lower impedance compared to private branches and overlays;

- It would allow to proceed with updates of several important ports, e.g. ocaml-dune, and its consumers in smaller pieces, without having to commit many things at once.  This makes identifying potential regressions much easier, allows to group related ports more flexibly, etc. paving smoother road for other ports' updates Thierry had been working recently;

- The whole update 4.05 -> 4.07 diff (attached) is considerably smaller (~1700 lines), does not include unrelated or gratuitous changes, only touches a dozen ports that must be committed together, it has been dog-fed and well-tested.

If there are no objections, may we step up to 4.07 first?  Could you exp-run it for me Antoine?
Comment 15 Antoine Brodin freebsd_committer freebsd_triage 2022-04-14 08:32:13 UTC
@Thierry, do you agree with Alexey suggestion?
Comment 16 Thierry Thomas freebsd_committer freebsd_triage 2022-04-14 16:23:47 UTC
(In reply to Antoine Brodin from comment #15)

Originally I requested this update in order to add a new port, devel/stanc3, see PR 262795, so that we could upgrade math/py-pystan (PR 262797), and finally switch Python version to 3.9 (PR 261703).

Now I have to check that Alexey's patch and OCaml 4.07 is sufficient to build Stanc3, but sorry, I have not yet got the time to do that. Please allow me one more day.
Comment 17 Thierry Thomas freebsd_committer freebsd_triage 2022-04-14 17:45:43 UTC
Alexey, devel/stanc3 requires dune ≥ 2.8 and your patch does not upgrade dune, which is still ocaml-dune-1.11.4. Do you know if it’s possible to get dune 2.8 with 4.07.1?
Comment 18 Alexey Dokuchaev freebsd_committer freebsd_triage 2022-04-15 11:50:19 UTC
(In reply to Thierry Thomas from comment #17)
> Do you know if it’s possible to get dune 2.8 with 4.07.1?
I think so, yes.  My plan was implying updating dune once we have 4.07.1 in the tree.
Comment 19 Thierry Thomas freebsd_committer freebsd_triage 2022-04-15 12:58:08 UTC
(In reply to Alexey Dokuchaev from comment #18)

According to opam, the answer is no: dune.2.8.0 requires OCaml ≥ 4.08 & <4.13.
See https://opam.ocaml.org/packages/dune/dune.2.8.0/ .

But maybe this is not a big step to upgrade OCaml from 4.07 to 4.08?
Comment 20 Alexey Dokuchaev freebsd_committer freebsd_triage 2022-04-15 13:25:11 UTC
(In reply to Thierry Thomas from comment #19)
I mean, once we have OCaml 4.07.1 in the free, the road to the newest dune (and other ports) would become much shorter, albeit it might require a couple of extra small steps.  That's why I'd really like to get 4.07.1 update landed first.
Comment 21 Thierry Thomas freebsd_committer freebsd_triage 2022-04-15 16:45:51 UTC
(In reply to Alexey Dokuchaev from comment #20)
OK, let’s go!
Comment 22 Antoine Brodin freebsd_committer freebsd_triage 2022-04-16 06:15:40 UTC
There is 1 new failure with ocaml 4.07.1:

http://package18.nyi.freebsd.org/data/123amd64-default-foo/2022-04-15_17h37m31s/logs/errors/ocaml-ppx-tools-5.0_1.log

If you fix it, no need for a 2nd exp-run (it's a leaf port)
Comment 23 Alexey Dokuchaev freebsd_committer freebsd_triage 2022-04-16 06:39:41 UTC
(In reply to Antoine Brodin from comment #22)
> If you fix it, no need for a 2nd exp-run (it's a leaf port)
Ah, sorry, it should be updated together with Ocaml itself (it's kind of tied to it), I've missed it in my patch (just a simple version bump).  Do you want me to reupload the cumulative diff?
Comment 24 Antoine Brodin freebsd_committer freebsd_triage 2022-04-16 06:40:40 UTC
(In reply to Alexey Dokuchaev from comment #23)
No need if you tested it.
Comment 25 commit-hook freebsd_committer freebsd_triage 2022-04-16 07:22:27 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=317aa0442c9942009c1f9c558f8fb6e49d4568ab

commit 317aa0442c9942009c1f9c558f8fb6e49d4568ab
Author:     Alexey Dokuchaev <danfe@FreeBSD.org>
AuthorDate: 2022-04-16 07:19:46 +0000
Commit:     Alexey Dokuchaev <danfe@FreeBSD.org>
CommitDate: 2022-04-16 07:19:46 +0000

    OCaml: transient update of the stack to version 4.07.1

    This is the first step in modernizing our OCaml ports infrastructure,
    as we had accumulated substantial technical debt over the years when
    many of its consumer ports had not received proper care and updates.

    It is currently considered as the lowest supported version (baseline)
    in majority of open-source OCaml projects, which would help to pull
    up other ports, e.g. `devel/ocaml-dune' in smaller, manageable pieces.

    For conservative hackers among us and for compatibility with RHEL 8
    which is also on it, having 4.07 in the tree would allow users stick
    to that package (pkg lock it) if needed.

    PR:             250408, 262781
    Exp-run by:     antoine

 devel/cil/Makefile                                 |   3 +-
 devel/ocaml-camlp4/Makefile                        |   2 +-
 devel/ocaml-camlp4/distinfo                        |   6 +-
 devel/ocaml-ppx-tools/Makefile                     |   5 +-
 devel/ocaml-ppx-tools/distinfo                     |   6 +-
 devel/ocaml-sexplib/Makefile                       |   1 +
 lang/ocaml/Makefile                                |  19 +-
 lang/ocaml/distinfo                                |  18 +-
 lang/ocaml/files/patch-675e98a2.c                  |  42 +-
 lang/ocaml/files/patch-configure                   |  43 +-
 .../files/patch-testsuite_tests_asmcomp_power.S    |   4 +-
 lang/ocaml/pkg-plist                               | 761 ++++++++++++---------
 math/Makefile                                      |   1 +
 math/alt-ergo/Makefile                             |   1 +
 math/coq/Makefile                                  |   3 +-
 math/ocaml-num/Makefile (new)                      |  24 +
 math/ocaml-num/distinfo (new)                      |   3 +
 math/ocaml-num/files/patch-src_Makefile (new)      |  12 +
 math/ocaml-num/files/patch-toplevel_Makefile (new) |  21 +
 math/ocaml-num/pkg-descr (new)                     |  10 +
 math/ocaml-num/pkg-plist (new)                     |  33 +
 math/orpie/Makefile                                |   1 +
 math/scilab/Makefile                               |   3 +-
 net-p2p/mldonkey/Makefile                          |   2 +
 security/sks/Makefile                              |   2 +
 x11-toolkits/ocaml-labltk/Makefile                 |   4 +-
 x11-toolkits/ocaml-labltk/distinfo                 |   6 +-
 27 files changed, 618 insertions(+), 418 deletions(-)
Comment 26 Benjamin Jacobs 2024-02-13 07:30:21 UTC
May be superseeded by https://reviews.freebsd.org/D43861
Comment 27 commit-hook freebsd_committer freebsd_triage 2024-03-11 21:52:37 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=8025aa10ceb960b62c9a826fb56eb1ac68ea1ce3

commit 8025aa10ceb960b62c9a826fb56eb1ac68ea1ce3
Author:     Benjamin Jacobs <freebsd@dev.thsi.be>
AuthorDate: 2024-03-11 21:43:46 +0000
Commit:     Guido Falsi <madpilot@FreeBSD.org>
CommitDate: 2024-03-11 21:50:58 +0000

    lang/ocaml: Update to 4.14.1

    The 'force-safe-string; setting is NOT enabled, as opposed to the
    new upstream default. OCaml users are encouraged to migrate to safe
    strings as soon as possible.

    - The X11 library isn't part of lang/ocaml anymore, users should
    install x11-toolkits/ocaml-graphics.
    - Add new 'ocaml' USES
    - Bump PORTREVISION on dependent ports, due to ABI Change.

    The update includes the following updates to existing ports (needed
    to keep them working):

    - devel/ocaml-camlp4: Updated to 4.14+1
    - devel/ocaml-camlp5: Updated to 8.02.01, homepage updated
    - devel/ocaml-dune: Patch to allow overriding the stublibs directory,
      strip binary and shared libraries
    - devel/ocaml-findlib: Improve port
    - devel/ocaml-lwt: Fix build with OCaml 4.14
    - deve/ocaml-re: Update to 1.11.0, use new dune USES
    - devel/ocaml-sdl: Fix build with new ocaml
    - games/freetennis: Fix build, tidy Makefile
    - graphics/ocaml-images: Updated to 5.0.4, new homepage, use new
      dune USES, undeprecate
    - graphics/ocaml-lablgl: Moved into site-lib, dynamic objects
      stripped, add missing GL dependencies
    - math/coq: Updated to 8.19.0
    - math/ocaml-zarith: strip shared libraries, fixed usage of
      USE_OCAML_LDCONFIG, use new dune USES
    - math/teyjus: Fix build
    - net/unison240: Fix build with new compiler
    - net/unison248: Fix build with new compiler, add MAKE_JOBS_UNSAFE
    - net-p2p/mldonkey: Fix build with new compiler, fix build on i386
    - sysutils/ledit: Updated to 2.06, install native binary, Use github,
      fix man page installation
    - www/geneweb: Build fix for OCaml and Camlp5 updates
    - x11-toolkits/ocaml-lablgtk2: Fix build with new compiler
    - x11-toolkits/ocaml-lablgtk3: Updated to 3.1.4, added ocaml-camlp-stream
      dependency, build fix patch
    - x11-toolkits/ocaml-labltk: Updated to 8.06.12, Improve Makefile

    Added the following ports:

    - devel/ocaml-astring
    - devel/ocaml-base
    - devel/ocaml-bos
    - devel/ocaml-camlp-streams
    - devel/ocaml-csexp
    - devel/ocaml-fmt
    - devel/ocaml-fpath
    - devel/ocaml-logs
    - devel/ocaml-mtime
    - devel/ocaml-pcre2
    - devel/ocaml-rresult
    - devel/ocaml-seq
    - devel/ocaml-stdio
    - x11-toolkits/ocaml-graphics

    PR:                     250408 [1], 262781 [1], 262788 [3], 262789 [1],
                            262792 [1], 263006 [1], 263162 [3], 263206 [2],
                            276893 [1], 276945 [4], 276953 [1], 277026 [5],
                            277241 [1], 277242 [1], 277243 [1], 277244 [1],
                            277245 [1], 277246 [1], 277247 [1], 277248 [1],
                            277249 [1], 277250 [1], 277251 [1], 277252 [1],
                            277253 [1], 277254 [1], 277255 [1], 277256 [4],
                            277257 [1], 277258 [1]
    Approved by:            maintainer timeout [1],
                            yuri (maintainer) [2],
                            overcome by events, fixit [3],
                            madpilot (maintainer) [4]
    Reviewed by:            madpilot
    Exp-run by:             antoine [5]
    Differential Revision:  https://reviews.freebsd.org/D43861

 Mk/Uses/ocaml.mk (new)                             |   82 +
 archivers/ocaml-bz2/Makefile                       |    2 +-
 archivers/ocaml-zip/Makefile                       |    2 +-
 converters/ocaml-base64/Makefile                   |    2 +-
 converters/ocaml-jsonm/Makefile                    |    2 +-
 databases/ocaml-dbm/Makefile                       |    2 +-
 devel/Makefile                                     |   13 +
 devel/ocaml-annexlib/Makefile                      |    2 +-
 devel/ocaml-astring/Makefile (new)                 |   54 +
 devel/ocaml-astring/distinfo (new)                 |    3 +
 devel/ocaml-astring/pkg-descr (new)                |    3 +
 devel/ocaml-astring/pkg-plist (new)                |   22 +
 devel/ocaml-base/Makefile (new)                    |   40 +
 devel/ocaml-base/distinfo (new)                    |    3 +
 devel/ocaml-base/pkg-descr (new)                   |    3 +
 devel/ocaml-base/pkg-plist (new)                   |  766 ++
 devel/ocaml-bos/Makefile (new)                     |   57 +
 devel/ocaml-bos/distinfo (new)                     |    3 +
 devel/ocaml-bos/pkg-descr (new)                    |    4 +
 devel/ocaml-bos/pkg-plist (new)                    |   36 +
 devel/ocaml-calendar/Makefile                      |    2 +-
 devel/ocaml-camljava/Makefile                      |    2 +-
 devel/ocaml-camlp-streams/Makefile (new)           |   31 +
 devel/ocaml-camlp-streams/distinfo (new)           |    3 +
 devel/ocaml-camlp-streams/pkg-descr (new)          |   10 +
 devel/ocaml-camlp-streams/pkg-plist (new)          |   19 +
 devel/ocaml-camlp4/Makefile                        |    2 +-
 devel/ocaml-camlp4/distinfo                        |    6 +-
 devel/ocaml-camlp5/Makefile                        |   21 +-
 devel/ocaml-camlp5/distinfo                        |    6 +-
 devel/ocaml-camlp5/pkg-plist                       |   30 +
 devel/ocaml-camomile/Makefile                      |    8 +-
 .../ocaml-camomile/files/patch-Camomile_dune (new) |   11 +
 .../files/patch-Camomile_tools_dune (new)          |   10 +
 devel/ocaml-cfg/Makefile                           |    2 +-
 devel/ocaml-classes/Makefile                       |    2 +-
 devel/ocaml-cmdliner/Makefile                      |    2 +-
 devel/ocaml-cppo/Makefile                          |    2 +-
 devel/ocaml-csexp/Makefile (new)                   |   32 +
 devel/ocaml-csexp/distinfo (new)                   |    3 +
 devel/ocaml-csexp/pkg-descr (new)                  |    2 +
 devel/ocaml-csexp/pkg-plist (new)                  |   13 +
 devel/ocaml-dune/Makefile                          |   37 +-
 devel/ocaml-dune/pkg-plist                         |    6 +-
 devel/ocaml-extlib/Makefile                        |    2 +-
 devel/ocaml-findlib/Makefile                       |   25 +-
 devel/ocaml-findlib/files/patch-configure (new)    |   12 +
 .../files/patch-src_findlib-toolbox_Makefile (new) |   11 +
 devel/ocaml-findlib/pkg-plist                      |    4 -
 devel/ocaml-fmt/Makefile (new)                     |   48 +
 devel/ocaml-fmt/distinfo (new)                     |    3 +
 devel/ocaml-fmt/pkg-descr (new)                    |    2 +
 devel/ocaml-fmt/pkg-plist (new)                    |   32 +
 devel/ocaml-fpath/Makefile (new)                   |   46 +
 devel/ocaml-fpath/distinfo (new)                   |    3 +
 devel/ocaml-fpath/pkg-descr (new)                  |    4 +
 devel/ocaml-fpath/pkg-plist (new)                  |   16 +
 devel/ocaml-ipaddr/Makefile                        |    1 +
 devel/ocaml-lacaml/Makefile                        |    2 +-
 devel/ocaml-logs/Makefile (new)                    |   55 +
 devel/ocaml-logs/distinfo (new)                    |    3 +
 devel/ocaml-logs/pkg-descr (new)                   |    2 +
 devel/ocaml-logs/pkg-plist (new)                   |   49 +
 devel/ocaml-lwt/Makefile                           |    4 +-
 .../files/patch-src_unix_lwt__unix.ml (new)        |   10 +
 .../files/patch-src_unix_lwt__unix.mli (new)       |   10 +
 devel/ocaml-magic/Makefile                         |    2 +-
 devel/ocaml-mtime/Makefile (new)                   |   59 +
 devel/ocaml-mtime/distinfo (new)                   |    3 +
 devel/ocaml-mtime/pkg-descr (new)                  |    5 +
 devel/ocaml-mtime/pkg-plist (new)                  |   27 +
 devel/ocaml-ocamlbuild/Makefile                    |    2 +-
 devel/ocaml-ounit/Makefile                         |    2 +-
 devel/ocaml-parmap/Makefile                        |    1 +
 devel/ocaml-pcre/Makefile                          |    2 +-
 devel/ocaml-pcre2/Makefile (new)                   |   46 +
 devel/ocaml-pcre2/distinfo (new)                   |    3 +
 devel/ocaml-pcre2/pkg-descr (new)                  |    2 +
 devel/ocaml-pcre2/pkg-plist (new)                  |   15 +
 devel/ocaml-pomap/Makefile                         |    2 +-
 devel/ocaml-ppx-tools/Makefile                     |    1 +
 devel/ocaml-re/Makefile                            |   38 +-
 devel/ocaml-re/distinfo                            |    5 +-
 devel/ocaml-re/pkg-plist (new)                     |  145 +
 devel/ocaml-rresult/Makefile (new)                 |   44 +
 devel/ocaml-rresult/distinfo (new)                 |    3 +
 devel/ocaml-rresult/pkg-descr (new)                |    7 +
 devel/ocaml-rresult/pkg-plist (new)                |   16 +
 devel/ocaml-sdl/Makefile                           |    4 +-
 devel/ocaml-sem/Makefile                           |    2 +-
 devel/ocaml-seq/Makefile (new)                     |   27 +
 devel/ocaml-seq/distinfo (new)                     |    3 +
 devel/ocaml-seq/pkg-descr (new)                    |    2 +
 devel/ocaml-seq/pkg-plist (new)                    |   13 +
 devel/ocaml-sexplib0/Makefile                      |    1 +
 devel/ocaml-stdio/Makefile (new)                   |   32 +
 devel/ocaml-stdio/distinfo (new)                   |    3 +
 devel/ocaml-stdio/pkg-descr (new)                  |    2 +
 devel/ocaml-stdio/pkg-plist (new)                  |   29 +
 devel/ocaml-topkg/Makefile                         |    2 +-
 devel/ocaml-type_conv/Makefile                     |    2 +-
 devel/ocaml-uchar/Makefile                         |    2 +-
 devel/ocaml-ulex/Makefile                          |    2 +-
 devel/ocaml-uutf/Makefile                          |    2 +-
 devel/ocaml-xstr/Makefile                          |    2 +-
 devel/ocaml-xstrp4/Makefile                        |    2 +-
 ftp/ocaml-ocurl/Makefile                           |    2 +-
 games/freetennis/Makefile                          |   27 +-
 games/freetennis/files/patch-Makefile              |    4 +-
 games/freetennis/files/patch-freetennis.ml (new)   |   63 +
 graphics/ocaml-cairo/Makefile                      |    1 +
 graphics/ocaml-images/Makefile                     |   91 +-
 graphics/ocaml-images/distinfo                     |    5 +-
 graphics/ocaml-images/files/patch-OMakefile (gone) |   46 -
 graphics/ocaml-images/files/patch-configure (gone) |   13 -
 .../ocaml-images/files/patch-src_OMakefile (gone)  |   15 -
 .../ocaml-images/files/patch-src_bitmap.ml (gone)  |   11 -
 .../ocaml-images/files/patch-src_gifread.c (gone)  |   34 -
 .../ocaml-images/files/patch-src_gifwrite.c (gone) |   55 -
 .../ocaml-images/files/patch-src_jpegread.c (gone) |   11 -
 .../ocaml-images/files/patch-src_pngread.c (gone)  |   38 -
 .../ocaml-images/files/patch-src_pngwrite.c (gone) |   20 -
 .../ocaml-images/files/patch-src_tiffread.c (gone) |   36 -
 .../files/patch-src_tiffwrite.c (gone)             |   39 -
 graphics/ocaml-images/pkg-plist                    |  471 +-
 graphics/ocaml-lablgl/Makefile                     |   24 +-
 graphics/ocaml-lablgl/pkg-plist                    |  200 +-
 lang/ocaml/Makefile                                |  120 +-
 lang/ocaml/distinfo                                |   14 +-
 lang/ocaml/files/patch-asmcomp_power_arch.ml       |    4 +-
 lang/ocaml/files/patch-configure                   |  111 +-
 lang/ocaml/files/patch-runtime_amd64.S (gone)      |   11 -
 lang/ocaml/files/patch-runtime_backtrace.c (gone)  |   12 -
 lang/ocaml/files/patch-runtime_power.S             |   62 +-
 .../files/patch-runtime_startup__nat.c (gone)      |   10 -
 .../files/patch-testsuite_tools_asmgen__power.S    |   11 +-
 lang/ocaml/pkg-plist                               | 1625 ++--
 math/coq/Makefile                                  |   91 +-
 math/coq/distinfo                                  |    6 +-
 math/coq/files/patch-Makefile.build (gone)         |   29 -
 math/coq/files/patch-Makefile.install (gone)       |   11 -
 math/coq/pkg-plist                                 | 9825 ++++++++++++++------
 math/facile/Makefile                               |    2 +-
 math/ocaml-num/Makefile                            |    2 +-
 math/ocaml-ocamlgraph/Makefile                     |    2 +-
 math/ocaml-zarith/Makefile                         |   10 +-
 math/teyjus/Makefile                               |   13 +-
 net-p2p/mldonkey/Makefile                          |    5 +
 ...patch-src_networks_donkey_donkeyClient.ml (new) |   11 +
 .../mldonkey/files/patch-src_utils_lib_CryptoPP.h  |   12 +-
 net/unison240/files/patch-Makefile.OCaml           |   15 +-
 net/unison240/files/patch-hash__compat.c (new)     |  168 +
 net/unison240/files/patch-uutil.ml (new)           |   11 +
 net/unison248/Makefile                             |    1 +
 net/unison248/files/patch-Makefile.OCaml           |   15 +-
 net/unison248/files/patch-hash__compat.c (new)     |  168 +
 net/unison248/files/patch-uutil.ml (new)           |   11 +
 security/ocaml-ssl/Makefile                        |    1 +
 sysutils/ledit/Makefile                            |   29 +-
 sysutils/ledit/distinfo                            |    6 +-
 sysutils/ledit/files/patch-go.ml (new)             |   11 +
 textproc/ocaml-text/Makefile                       |    2 +-
 www/geneweb/Makefile                               |    4 +-
 www/geneweb/files/patch-ged2gwb_Makefile (new)     |   18 +
 www/geneweb/files/patch-ged2gwb_ged2gwb.ml (new)   |   11 +
 www/geneweb/files/patch-ged2gwb_ged2gwb2.ml (new)  |   11 +
 www/geneweb/files/patch-setup_Makefile (new)       |   11 +
 www/geneweb/files/patch-src__Makefile              |    9 +
 www/geneweb/files/patch-src_dag.ml (new)           |   52 +
 www/geneweb/files/patch-src_date.ml (new)          |   26 +
 www/geneweb/files/patch-src_db2disk.ml (new)       |   20 +
 www/geneweb/files/patch-src_gwd.ml (new)           |   38 +
 www/geneweb/files/patch-src_mutil.ml (new)         |   20 +
 www/geneweb/files/patch-src_relation.ml (new)      |   16 +
 .../files/patch-tools_camlp5__comm.sh (new)        |   11 +
 www/geneweb/files/patch-wserver_Makefile (new)     |   17 +
 www/geneweb/files/patch-wserver_wserver.ml (new)   |   61 +
 x11-toolkits/Makefile                              |    1 +
 x11-toolkits/ocaml-graphics/Makefile (new)         |   39 +
 x11-toolkits/ocaml-graphics/distinfo (new)         |    3 +
 x11-toolkits/ocaml-graphics/pkg-descr (new)        |    3 +
 x11-toolkits/ocaml-graphics/pkg-plist (new)        |   21 +
 x11-toolkits/ocaml-lablgtk2/Makefile               |    3 +-
 x11-toolkits/ocaml-lablgtk3/Makefile               |    6 +-
 x11-toolkits/ocaml-lablgtk3/distinfo               |    6 +-
 .../ocaml-lablgtk3/files/patch-src_ml__gtk.c (new) |   11 +
 x11-toolkits/ocaml-labltk/Makefile                 |   38 +-
 x11-toolkits/ocaml-labltk/distinfo                 |    6 +-
 x11-toolkits/ocaml-labltk/pkg-plist                |  676 +-
 189 files changed, 11825 insertions(+), 5225 deletions(-)