Summary: | devel/ocaml-camomile: make it builld with recent OCaml | ||||||
---|---|---|---|---|---|---|---|
Product: | Ports & Packages | Reporter: | Thierry Thomas <thierry> | ||||
Component: | Individual Port(s) | Assignee: | Alexey Dokuchaev <danfe> | ||||
Status: | Closed Overcome By Events | ||||||
Severity: | Affects Some People | CC: | freebsd, madpilot, thierry | ||||
Priority: | --- | Flags: | bugzilla:
maintainer-feedback?
(danfe) |
||||
Version: | Latest | ||||||
Hardware: | Any | ||||||
OS: | Any | ||||||
Bug Depends on: | 262781 | ||||||
Bug Blocks: | |||||||
Attachments: |
|
Description
Thierry Thomas
2022-03-25 11:16:10 UTC
Hi, https://reviews.freebsd.org/D43861 superseed this change. Somehow, the Pervasives/Stdlib changes aren't necessary anymore with 4.14. ocaml-camlp-streams is packaged in that review as well. @danfe, Would you mind having a look at the review D43861 and approving the relating camomille changes? Please me know if you have any question. Thanks a lot! (In reply to Benjamin Jacobs from comment #2) I agree with the approach of piecemeal, individual per-(port or small group of ports) commits to make transition smoother, I'll check out and pull my ports so they are ready for OCaml update. However, I'd also like to pull it up to 4.09 first as this is what we're using at work and I'd been preparing. Hi Alex, thank you for your response. While possible in theory to do a piecemeal change, in this instance the only things that touches camomille in the (Ocaml 4.14.1 upgrade) Revision that I've submitted is a 3 line diff that make dune use the camlp-caml-stream package. That's it! It is pretty straightforward. It could have been done in 2022 when Thierry proposed the patch, leaving out the Stdlib/Pervasives part out (which for some reason isn't needed anymore on 4.14.1, it wasn't even needed on 4.13). The camlp-stream is just a shim package because Stream is no longer provided by the compiler libraries. It makes your code unaware of where the Stream module comes from. Like the result package before 4.03, and all those similar compatibility packages that comes and goes. The point is that you cannot agree that all your dependencies decide to use the same compiler version at the same sime. One just needs to patch those little details. Or you use something like Opam which has a very complicated dependency solver, and can abstract all those details with finer contraints. In my experience, I've found the result of opam to be less satifying (too much inexplicable variance, e.g. in CI runs -- the oposite of the kind of stability and reliability that we are aiming for) but maybe for you it will work better ? Now it is very possible to package caml-camlp-streams on 4.08 and let you apply that patch on 4.08 first. Then the move to 4.14.1 would be transparent (just a rebuild, for the ABI). What do we gain? I cannot see, really. That beeing said, if, as you wrote, you are aware of stuffs that forces you to aim for 4.09 (released 4.5 years ago...), maybe I can fix them to work on 4.14.1 just as well... Point it to me, and I'll be happy to oblige. Cheers 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(-) |