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.
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.
ocaml fails to build on i386: https://pkg-status.freebsd.org/package23/data/131i386-default-foo/2023-06-20_06h28m08s/logs/errors/ocaml-4.08.1.log https://pkg-status.freebsd.org/pb2/data/124i386-default-foo/2023-06-20_06h28m00s/logs/errors/ocaml-4.08.1.log
(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.
(In reply to Guido Falsi from comment #3) No, on amd64 the exp-run is still ongoing
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!
exp-run looks fine
(In reply to Antoine Brodin from comment #6) Great and thanks a lot!
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(-)
Update committed. Thanks!