Bug 272067 - lang/ocaml: Update to 4.08.1
Summary: lang/ocaml: Update to 4.08.1
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Guido Falsi
URL:
Keywords: patch
Depends on:
Blocks:
 
Reported: 2023-06-18 14:44 UTC by Guido Falsi
Modified: 2023-07-05 10:06 UTC (History)
6 users (show)

See Also:
madpilot: maintainer-feedback-
antoine: exp-run+


Attachments
patch v1 (306.97 KB, patch)
2023-06-18 14:44 UTC, Guido Falsi
no flags Details | Diff
patch v2 (312.44 KB, patch)
2023-06-23 09:32 UTC, Guido Falsi
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Guido Falsi freebsd_committer freebsd_triage 2023-06-18 14:44:34 UTC
Created attachment 242868 [details]
patch v1

Hi all,

I've just posted a review on phabricator to update ocaml to 4.08.1.

Details and description about the patch can be fond there:

https://reviews.freebsd.org/D40599

I'm CCing maintainers of ocaml related ports here who don't appear to have a phabricator account.

The main purpose of this bug report is to ask for an exp-run.

Attaching here the patch, which is the same I posted in the review for convenience.

Thanks in advance.
Comment 1 Guido Falsi freebsd_committer freebsd_triage 2023-06-18 15:58:43 UTC
As an information:

I'm aware of bug report updating ocaml to newer versions directly, but they tend to be old ones, with stale patches, or spread across a bunch of PRs.

I tried starting my work from one of those but was unable to get anything working. Either patches don't apply, or require major rework. In the other case patches were spread on many PRs and I ended spending a lot of time trying to apply them in the wrong order, with a lot of manual intervention required.

So I decided to start from scratch with a more incremental approach.

My plan for the future is to proceed incrementally. Once 4.08 is in the tree, some adjustment work will be required on dependencies. Some require more work to be updated, some others have gained new requirements not present in the ports tree, so ports for new libraries need to be added.

Once that is done, jumping to ocaml 4.10 or newer should be easier.

I started from this very minor upgrade to try to kickstart this process.
Comment 3 Guido Falsi freebsd_committer freebsd_triage 2023-06-20 10:05:32 UTC
(In reply to Antoine Brodin from comment #2)

Thanks for the exp[-run and the feedback.

If I understand correctly no new failure was found on amd64 though, which is good.

I'll fix the i386 issue and maybe ask for one more run.
Comment 4 Antoine Brodin freebsd_committer freebsd_triage 2023-06-20 11:24:46 UTC
(In reply to Guido Falsi from comment #3)
No,  on amd64 the exp-run is still ongoing
Comment 5 Guido Falsi freebsd_committer freebsd_triage 2023-06-23 09:32:31 UTC
Created attachment 242947 [details]
patch v2

Hi,

I've updated the patch (in the review too) to fix build on i386.

Turns out the new make system was ignoring LDFLAGS.

I'd like a new exp-run with this new patch to make sure I'm not breaking anything. I already performed some test on amd64 and i386 (this time) and it looks fine, but I'd rather have a double check.

Thanks in advance!
Comment 6 Antoine Brodin freebsd_committer freebsd_triage 2023-06-25 05:46:02 UTC
exp-run looks fine
Comment 7 Guido Falsi freebsd_committer freebsd_triage 2023-06-25 08:15:12 UTC
(In reply to Antoine Brodin from comment #6)

Great and thanks a lot!
Comment 8 commit-hook freebsd_committer freebsd_triage 2023-07-05 09:55:46 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=2b40e4609399858e2bfbddcf961bd7c947f6ed2c

commit 2b40e4609399858e2bfbddcf961bd7c947f6ed2c
Author:     Guido Falsi <madpilot@FreeBSD.org>
AuthorDate: 2023-07-05 09:51:47 +0000
Commit:     Guido Falsi <madpilot@FreeBSD.org>
CommitDate: 2023-07-05 09:55:16 +0000

    lang/ocaml: Update to 4.08.1

    This update allows (and for some requires) to also update dependencies
    to newer versions. Where possible I updated to the latest version.

    The ocaml port now is MAKE_JOBS safe.

    Changes to dependent ports included in this commit:

    - devel/ocaml-sexplib: Rename to devel/ocaml-sexplib0 adapting to
      upstream. Update to 0.16.0
    - devel/coccinelle: Update to 1.1.1, moved to github
    - devel/ocaml-camlp4: Update to 4.08+1
    - devel/ocaml-camomile: Use dune for build, adapt port
    - devel/ocaml-cppo: Fix lib files installation [1]
    - devel/ocaml-dune: Update to 3.7.1 [2]
    - devel/ocaml-findlib: Update to 1.9.6 [3]
    - devel/ocaml-ipaddr: Update to 3.1.0
    - devel/ocaml-parmap: Update to 1.2.4, use dune for build [4]
    - devel/ocaml-ppx-tools: Update to 6.6, use dune for build
    - graphics/ocaml-cairo: Update to 0.6.4
    - net-p2p/mldonkey: Update to 3.1.7-2 [2]
    - net/unison: Remove ocaml 4.07 compatibility patches
    - net/unison232: Mark broken, fails to build with newer ocaml [5]
    - security/ocaml-ssl: Update to 0.5.13 [2]
    - x11-toolkits/ocaml-labltk: Update to 8.06.7 [2]

    Dune now requires full path as argument to --libdir, so various
    ports have been patched accordingly.

    Bumping PORTREVISION for all dependent ports that were not updated.

    PR:                     272067
    Approved by:            michipili@gmail.com (maintainer timeout),
                            eduardo (maintainer timeout) [1],
                            danfe [2],
                            hrs (maintainer timeout) [3],
                            dumbbell (maintainer timeout) [4],
                            mandree (implicit) [5]
    Differential Revision:  https://reviews.freebsd.org/D40599

 MOVED                                              |    1 +
 archivers/ocaml-bz2/Makefile                       |    2 +-
 archivers/ocaml-zip/Makefile                       |    1 +
 converters/ocaml-base64/Makefile                   |    1 +
 converters/ocaml-jsonm/Makefile                    |    1 +
 databases/ocaml-dbm/Makefile                       |    1 +
 databases/ocaml-mysql/Makefile                     |    1 +
 databases/ocaml-sqlite3/Makefile                   |    1 +
 devel/Makefile                                     |    2 +-
 devel/aifad/Makefile                               |    1 +
 devel/cil/Makefile                                 |    2 +-
 devel/coccinelle/Makefile                          |    6 +-
 devel/coccinelle/distinfo                          |    6 +-
 .../files/patch-bundles_pyml_Makefile (gone)       |   26 -
 ...pyml_pyml-current_pyml__arch__freebsd.ml (gone) |   15 -
 devel/coccinelle/files/patch-stdcompat-fix (new)   |   39 +
 devel/coccinelle/pkg-plist                         |    9 -
 devel/menhir/Makefile                              |    1 +
 devel/ocaml-annexlib/Makefile                      |    2 +-
 devel/ocaml-calendar/Makefile                      |    1 +
 devel/ocaml-camljava/Makefile                      |    2 +-
 devel/ocaml-camlp4/Makefile                        |    2 +-
 devel/ocaml-camlp4/distinfo                        |    6 +-
 .../files/patch-camlp4_Camlp4_Debug.ml (new)       |   11 +
 devel/ocaml-camlp5/Makefile                        |    1 +
 devel/ocaml-camomile-examples/Makefile             |    1 +
 devel/ocaml-camomile/Makefile                      |    5 +-
 ...h-Camomile_internal_byte__labeled__dag.ml (new) |   11 +
 .../patch-Camomile_public_charEncoding.ml (new)    |   17 +
 .../patch-Camomile_public_charEncoding.mli (new)   |   17 +
 .../patch-Camomile_public_oOChannel.mli (new)      |   12 +
 .../files/patch-Camomile_public_uCS4.ml (new)      |    9 +
 .../files/patch-Camomile_public_uCol.ml (new)      |   37 +
 .../files/patch-Camomile_public_uCol.mli (new)     |   19 +
 .../files/patch-Camomile_public_uTF8.ml (new)      |   11 +
 .../files/patch-Camomile_toolslib_absCe.ml (new)   |   11 +
 devel/ocaml-camomile/pkg-plist                     |  154 +-
 devel/ocaml-cfg/Makefile                           |    3 +-
 devel/ocaml-classes/Makefile                       |    1 +
 devel/ocaml-cmdliner/Makefile                      |    2 +-
 devel/ocaml-cppo/Makefile                          |    3 +-
 devel/ocaml-cppo/pkg-plist                         |   32 +-
 devel/ocaml-dune/Makefile                          |   18 +-
 devel/ocaml-dune/distinfo                          |    6 +-
 devel/ocaml-dune/files/patch-Makefile (new)        |   29 +
 devel/ocaml-dune/files/setup.ml.in (new)           |   12 +
 devel/ocaml-dune/pkg-plist                         | 1556 +++++++++++++-------
 devel/ocaml-extlib/Makefile                        |    1 +
 devel/ocaml-findlib/Makefile                       |    2 +-
 devel/ocaml-findlib/distinfo                       |    6 +-
 devel/ocaml-findlib/files/patch-Makefile           |   61 +-
 .../files/patch-src__bytes__Makefile (gone)        |   15 -
 .../patch-src_findlib-toolbox_Makefile (gone)      |   12 -
 .../files/patch-src_findlib_Makefile (gone)        |   42 -
 devel/ocaml-findlib/pkg-plist                      |   10 +-
 devel/ocaml-ipaddr/Makefile                        |   18 +-
 devel/ocaml-ipaddr/distinfo                        |    5 +-
 devel/ocaml-ipaddr/files/patch-lib_ipaddr.ml (new) |   33 +
 devel/ocaml-ipaddr/pkg-plist (new)                 |   80 +
 devel/ocaml-lacaml/Makefile                        |    2 +-
 devel/ocaml-lwt/Makefile                           |    1 +
 .../files/patch-src_unix_lwt__bytes.ml (new)       |   12 +
 devel/ocaml-magic/Makefile                         |    2 +-
 devel/ocaml-ocamlbuild/Makefile                    |    1 +
 devel/ocaml-opam/Makefile                          |    1 +
 devel/ocaml-ounit/Makefile                         |    2 +-
 devel/ocaml-parmap/Makefile                        |   16 +-
 devel/ocaml-parmap/distinfo                        |    6 +-
 devel/ocaml-parmap/files/patch-Makefile.in (gone)  |   15 -
 devel/ocaml-parmap/pkg-plist                       |   61 +-
 devel/ocaml-pcre/Makefile                          |    2 +-
 devel/ocaml-pomap/Makefile                         |    3 +-
 devel/ocaml-ppx-tools/Makefile                     |   14 +-
 devel/ocaml-ppx-tools/distinfo                     |    6 +-
 devel/ocaml-ppx-tools/pkg-plist                    |   60 +-
 devel/ocaml-re/Makefile                            |    1 +
 devel/ocaml-react/Makefile                         |    1 +
 devel/ocaml-res/Makefile                           |    3 +-
 devel/ocaml-result/Makefile                        |    3 +-
 devel/ocaml-sdl/Makefile                           |    2 +-
 devel/ocaml-sem/Makefile                           |    2 +-
 devel/ocaml-sexplib/Makefile (gone)                |   43 -
 devel/ocaml-sexplib/distinfo (gone)                |    2 -
 devel/ocaml-sexplib/files/patch-lib_conv.ml (gone) |   54 -
 .../ocaml-sexplib/files/patch-lib_lexer.mll (gone) |   29 -
 devel/ocaml-sexplib/files/patch-lib_path.ml (gone) |   16 -
 .../files/patch-lib_pre__sexp.ml (gone)            |  139 --
 .../files/patch-lib_sexp__intf.ml (gone)           |  133 --
 devel/ocaml-sexplib0/Makefile (new)                |   47 +
 devel/ocaml-sexplib0/distinfo (new)                |    3 +
 devel/{ocaml-sexplib => ocaml-sexplib0}/pkg-descr  |    0
 devel/ocaml-topkg/Makefile                         |    1 +
 devel/ocaml-type_conv/Makefile                     |    1 +
 devel/ocaml-uchar/Makefile                         |    2 +-
 devel/ocaml-ulex/Makefile                          |    2 +-
 devel/ocaml-uutf/Makefile                          |    1 +
 devel/ocaml-xstr/Makefile                          |    2 +-
 devel/ocaml-xstrp4/Makefile                        |    1 +
 devel/omake/Makefile                               |    1 +
 ftp/ocaml-ocurl/Makefile                           |    1 +
 games/freetennis/Makefile                          |    2 +-
 graphics/ocaml-cairo/Makefile                      |    4 +-
 graphics/ocaml-cairo/distinfo                      |    6 +-
 graphics/ocaml-cairo/files/patch-issue-19 (gone)   |   64 -
 graphics/ocaml-images/Makefile                     |    2 +-
 graphics/ocaml-lablgl/Makefile                     |    2 +-
 lang/mtasc/Makefile                                |    2 +-
 lang/ocaml-autoconf/Makefile                       |    1 +
 lang/ocaml-camlidl/Makefile                        |    2 +-
 lang/ocaml/Makefile                                |   71 +-
 lang/ocaml/distinfo                                |   16 +-
 lang/ocaml/files/patch-configure                   |  171 ++-
 ...{patch-asmrun_amd64.S => patch-runtime_amd64.S} |    6 +-
 ...terun_backtrace.c => patch-runtime_backtrace.c} |    4 +-
 ...run_caml_stack.h => patch-runtime_caml_stack.h} |    6 +-
 ...{patch-asmrun_power.S => patch-runtime_power.S} |   58 +-
 ...tch-675e98a2.c => patch-runtime_startup__nat.c} |    6 +-
 ...wer.S => patch-testsuite_tools_asmgen__power.S} |    4 +-
 lang/ocaml/pkg-plist                               |  561 +++++--
 lang/ott/Makefile                                  |    1 +
 math/alt-ergo/Makefile                             |    2 +-
 math/coq/Makefile                                  |    2 +-
 math/facile/Makefile                               |    2 +-
 math/ocaml-num/Makefile                            |    1 +
 math/ocaml-ocamlgraph/Makefile                     |    1 +
 math/ocaml-zarith/Makefile                         |    1 +
 math/ocamlgsl/Makefile                             |    2 +-
 math/orpie/Makefile                                |    2 +-
 math/scilab/Makefile                               |    2 +-
 math/teyjus/Makefile                               |    1 +
 net-p2p/liberator/Makefile                         |    2 +-
 net-p2p/mldonkey-gui/Makefile                      |    1 -
 net-p2p/mldonkey/Makefile                          |   14 +-
 net-p2p/mldonkey/distinfo                          |    5 +-
 .../mldonkey/files/patch-src_utils_net_terminal.ml |    6 +-
 net/unison/Makefile                                |    1 +
 net/unison/files/patch-ocaml_4.07-compat (gone)    |  475 ------
 .../patch-ocaml_4.07-compat-copyquoterem-01 (gone) |  209 ---
 .../patch-ocaml_4.07-compat-copyquoterem-02 (gone) |   54 -
 net/unison232/Makefile                             |    2 +
 net/unison240/Makefile                             |    2 +-
 net/unison240/files/patch-ocaml8 (new)             |   52 +
 net/unison248/Makefile                             |    2 +-
 net/unison248/files/patch-ocaml8 (new)             |   52 +
 net/unison251/Makefile                             |    2 +-
 print/texvc/Makefile                               |    2 +-
 science/kalzium/Makefile                           |    1 +
 security/ocaml-cryptgps/Makefile                   |    2 +-
 security/ocaml-cryptokit/Makefile                  |    1 +
 security/ocaml-ssl/Makefile                        |    4 +-
 security/ocaml-ssl/distinfo                        |    6 +-
 security/ocaml-ssl/pkg-plist                       |    2 +-
 security/sks/Makefile                              |    1 +
 security/sks/files/patch-ocaml408 (new)            | 1001 +++++++++++++
 sysutils/ledit/Makefile                            |    1 +
 textproc/bibtex2html/Makefile                      |    1 +
 textproc/htmlc/Makefile                            |    1 +
 textproc/ocaml-csv/Makefile                        |    2 +-
 textproc/ocaml-expat/Makefile                      |    2 +-
 textproc/ocaml-text/Makefile                       |    1 +
 textproc/pdfsandwich/Makefile                      |    2 +-
 www/geneweb/Makefile                               |    2 +-
 x11-toolkits/ocaml-lablgtk2/Makefile               |    1 +
 x11-toolkits/ocaml-lablgtk3/Makefile               |    4 +-
 x11-toolkits/ocaml-labltk/Makefile                 |    6 +-
 x11-toolkits/ocaml-labltk/distinfo                 |    6 +-
 166 files changed, 3493 insertions(+), 2526 deletions(-)
Comment 9 Guido Falsi freebsd_committer freebsd_triage 2023-07-05 10:05:54 UTC
Update committed.

Thanks!