aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Jacobs <freebsd@dev.thsi.be>2024-05-22 17:06:27 +0000
committerGuido Falsi <madpilot@FreeBSD.org>2024-05-22 17:16:28 +0000
commitbb2bea65dbac365184f0efd68e9b79201fe5c533 (patch)
treeb5ab1616201cd2b8dad95d0d0f6a3c52fba7a88a
parent1e1a1e9ebc2aae54c1c274ac3bbe329de54704b3 (diff)
downloadports-bb2bea65dbac365184f0efd68e9b79201fe5c533.tar.gz
ports-bb2bea65dbac365184f0efd68e9b79201fe5c533.zip
ocaml: Updates to ocaml compiler and several ocaml ports
- Update devel/ocaml to 4.14.2 [1] - Specify runtime dependency on GNU AS as full path, this fixes build on armv6 - armv7 [1] [2] - converters/ocaml-base64: Update to 3.5.1, add LICENSE, other improvements - converters/ocaml-jsonm: Strip shared objects [3] - databases/ocaml-dbm: Update to 1.3, move to gitlub, other improvements - devel/menhir: Update to 20231231 - devel/ocaml-base: Unbreak non-x86 [2] - devel/ocaml-camlp-streams: Silence patch and strip commands - devel/ocaml-ipaddr: Update to 5.5.0 - devel/ocaml-lwt: Update to 5.7.0 [4] - devel/ocaml-result: Set package version, strip shared objects [5] - devel/ocaml-sexplib: Resurrect and update to 0.16.0. - devel/ocaml-stdio: Update to 0.17.0 - security/ocaml-cryptokit: Update to 1.19, add LICENSE, other improvements - security/ocaml-ssl: Update to 0.7.0, install stublibs in package directory [6] - x11-toolkits/ocaml-graphics: Reorder Makefile, silence patch command - Bump PORTREVISION on ports requiring it after update. Adding ports: - devel/ocaml-cstruct - devel/ocaml-compiler-libs [7] - devel/ocaml-ppx_derivers [7] - devel/ocaml-ppxlib [7] - devel/ocaml-domain-name - devel/ocaml-ocplib-endian [8] - devel/ocaml-parsexp - devel/ocaml-ppx_sexp_conv - security/ocaml-lwt_ssl [9] Resetting maintainership from michipili@gmail.com due to multiple timeouts and long term unresponsiveness. Assigning maintainership of lang/ocaml to author of this patch. Many thanks to him for his work! PR: 278300 [1], 278791 [2], 277818 [3], 277781 [4], 277775 [6], 277779 [7], 277780 [8], 277782 [9] Approved by: michipili@gmail.com (maintainer timeout) [1], danfe@FreeBSD.org (maintainer timeout) [3] [4] [6], fixit, avoid breakage [5] Differential Revision: https://reviews.freebsd.org/D45254
-rw-r--r--MOVED1
-rw-r--r--archivers/ocaml-bz2/Makefile2
-rw-r--r--archivers/ocaml-zip/Makefile2
-rw-r--r--converters/ocaml-base64/Makefile44
-rw-r--r--converters/ocaml-base64/distinfo5
-rw-r--r--converters/ocaml-base64/pkg-plist31
-rw-r--r--converters/ocaml-jsonm/Makefile7
-rw-r--r--databases/ocaml-dbm/Makefile37
-rw-r--r--databases/ocaml-dbm/distinfo5
-rw-r--r--databases/ocaml-dbm/files/3bb91d6-revised-configuration127
-rw-r--r--databases/ocaml-dbm/files/patch-META10
-rw-r--r--databases/ocaml-dbm/files/patch-Makefile27
-rw-r--r--databases/ocaml-dbm/pkg-plist19
-rw-r--r--databases/ocaml-mysql/Makefile2
-rw-r--r--databases/ocaml-sqlite3/Makefile2
-rw-r--r--devel/Makefile9
-rw-r--r--devel/coccinelle/Makefile2
-rw-r--r--devel/menhir/Makefile34
-rw-r--r--devel/menhir/distinfo6
-rw-r--r--devel/menhir/pkg-plist48
-rw-r--r--devel/ocaml-annexlib/Makefile2
-rw-r--r--devel/ocaml-astring/Makefile1
-rw-r--r--devel/ocaml-base/Makefile1
-rw-r--r--devel/ocaml-base/files/patch-src_discover_discover.ml14
-rw-r--r--devel/ocaml-bos/Makefile1
-rw-r--r--devel/ocaml-calendar/Makefile2
-rw-r--r--devel/ocaml-camljava/Makefile2
-rw-r--r--devel/ocaml-camlp-streams/Makefile4
-rw-r--r--devel/ocaml-camlp4/Makefile3
-rw-r--r--devel/ocaml-camlp5/Makefile1
-rw-r--r--devel/ocaml-camomile/Makefile2
-rw-r--r--devel/ocaml-cfg/Makefile2
-rw-r--r--devel/ocaml-classes/Makefile2
-rw-r--r--devel/ocaml-cmdliner/Makefile2
-rw-r--r--devel/ocaml-compiler-libs/Makefile36
-rw-r--r--devel/ocaml-compiler-libs/distinfo3
-rw-r--r--devel/ocaml-compiler-libs/pkg-descr2
-rw-r--r--devel/ocaml-compiler-libs/pkg-plist43
-rw-r--r--devel/ocaml-cppo/Makefile2
-rw-r--r--devel/ocaml-csexp/Makefile2
-rw-r--r--devel/ocaml-cstruct/Makefile53
-rw-r--r--devel/ocaml-cstruct/distinfo3
-rw-r--r--devel/ocaml-cstruct/pkg-descr18
-rw-r--r--devel/ocaml-cstruct/pkg-plist75
-rw-r--r--devel/ocaml-domain-name/Makefile33
-rw-r--r--devel/ocaml-domain-name/distinfo3
-rw-r--r--devel/ocaml-domain-name/pkg-descr4
-rw-r--r--devel/ocaml-domain-name/pkg-plist13
-rw-r--r--devel/ocaml-dune/Makefile2
-rw-r--r--devel/ocaml-extlib/Makefile2
-rw-r--r--devel/ocaml-findlib/Makefile2
-rw-r--r--devel/ocaml-fmt/Makefile1
-rw-r--r--devel/ocaml-fpath/Makefile1
-rw-r--r--devel/ocaml-ipaddr/Makefile47
-rw-r--r--devel/ocaml-ipaddr/distinfo6
-rw-r--r--devel/ocaml-ipaddr/files/patch-lib_ipaddr.ml33
-rw-r--r--devel/ocaml-ipaddr/pkg-plist78
-rw-r--r--devel/ocaml-lacaml/Makefile2
-rw-r--r--devel/ocaml-logs/Makefile1
-rw-r--r--devel/ocaml-lwt/Makefile86
-rw-r--r--devel/ocaml-lwt/distinfo5
-rw-r--r--devel/ocaml-lwt/files/patch-src_unix_lwt__bytes.ml12
-rw-r--r--devel/ocaml-lwt/files/patch-src_unix_lwt__unix.ml10
-rw-r--r--devel/ocaml-lwt/files/patch-src_unix_lwt__unix.mli10
-rw-r--r--devel/ocaml-lwt/pkg-plist198
-rw-r--r--devel/ocaml-magic/Makefile2
-rw-r--r--devel/ocaml-mtime/Makefile1
-rw-r--r--devel/ocaml-ocamlbuild/Makefile2
-rw-r--r--devel/ocaml-ocplib-endian/Makefile34
-rw-r--r--devel/ocaml-ocplib-endian/distinfo3
-rw-r--r--devel/ocaml-ocplib-endian/pkg-descr2
-rw-r--r--devel/ocaml-ocplib-endian/pkg-plist29
-rw-r--r--devel/ocaml-ounit/Makefile2
-rw-r--r--devel/ocaml-parmap/Makefile2
-rw-r--r--devel/ocaml-parsexp/Makefile35
-rw-r--r--devel/ocaml-parsexp/distinfo3
-rw-r--r--devel/ocaml-parsexp/pkg-descr2
-rw-r--r--devel/ocaml-parsexp/pkg-plist127
-rw-r--r--devel/ocaml-pcre/Makefile2
-rw-r--r--devel/ocaml-pcre2/Makefile1
-rw-r--r--devel/ocaml-pomap/Makefile2
-rw-r--r--devel/ocaml-ppx-tools/Makefile2
-rw-r--r--devel/ocaml-ppx_derivers/Makefile33
-rw-r--r--devel/ocaml-ppx_derivers/distinfo3
-rw-r--r--devel/ocaml-ppx_derivers/pkg-descr3
-rw-r--r--devel/ocaml-ppx_derivers/pkg-plist13
-rw-r--r--devel/ocaml-ppx_sexp_conv/Makefile41
-rw-r--r--devel/ocaml-ppx_sexp_conv/distinfo3
-rw-r--r--devel/ocaml-ppx_sexp_conv/pkg-descr2
-rw-r--r--devel/ocaml-ppx_sexp_conv/pkg-plist95
-rw-r--r--devel/ocaml-ppxlib/Makefile55
-rw-r--r--devel/ocaml-ppxlib/distinfo3
-rw-r--r--devel/ocaml-ppxlib/pkg-descr9
-rw-r--r--devel/ocaml-ppxlib/pkg-plist556
-rw-r--r--devel/ocaml-re/Makefile1
-rw-r--r--devel/ocaml-react/Makefile2
-rw-r--r--devel/ocaml-res/Makefile2
-rw-r--r--devel/ocaml-result/Makefile5
-rw-r--r--devel/ocaml-result/files/patch-dune-project7
-rw-r--r--devel/ocaml-rresult/Makefile1
-rw-r--r--devel/ocaml-sdl/Makefile2
-rw-r--r--devel/ocaml-sem/Makefile2
-rw-r--r--devel/ocaml-seq/Makefile1
-rw-r--r--devel/ocaml-sexplib/Makefile41
-rw-r--r--devel/ocaml-sexplib/distinfo3
-rw-r--r--devel/ocaml-sexplib/pkg-descr2
-rw-r--r--devel/ocaml-sexplib/pkg-plist129
-rw-r--r--devel/ocaml-stdio/Makefile7
-rw-r--r--devel/ocaml-stdio/distinfo6
-rw-r--r--devel/ocaml-topkg/Makefile2
-rw-r--r--devel/ocaml-type_conv/Makefile2
-rw-r--r--devel/ocaml-uchar/Makefile2
-rw-r--r--devel/ocaml-ulex/Makefile2
-rw-r--r--devel/ocaml-uutf/Makefile2
-rw-r--r--devel/ocaml-xstr/Makefile2
-rw-r--r--devel/ocaml-xstrp4/Makefile2
-rw-r--r--ftp/ocaml-ocurl/Makefile2
-rw-r--r--graphics/ocaml-cairo/Makefile2
-rw-r--r--graphics/ocaml-images/Makefile2
-rw-r--r--graphics/ocaml-lablgl/Makefile2
-rw-r--r--lang/ocaml/Makefile6
-rw-r--r--lang/ocaml/distinfo6
-rw-r--r--math/alt-ergo/Makefile2
-rw-r--r--math/coq/Makefile2
-rw-r--r--math/facile/Makefile2
-rw-r--r--math/ocaml-num/Makefile2
-rw-r--r--math/ocaml-ocamlgraph/Makefile2
-rw-r--r--math/ocaml-zarith/Makefile2
-rw-r--r--math/ocamlgsl/Makefile4
-rw-r--r--security/Makefile1
-rw-r--r--security/ocaml-cryptgps/Makefile2
-rw-r--r--security/ocaml-cryptokit/Makefile23
-rw-r--r--security/ocaml-cryptokit/distinfo6
-rw-r--r--security/ocaml-cryptokit/pkg-plist21
-rw-r--r--security/ocaml-lwt_ssl/Makefile33
-rw-r--r--security/ocaml-lwt_ssl/distinfo3
-rw-r--r--security/ocaml-lwt_ssl/pkg-descr3
-rw-r--r--security/ocaml-lwt_ssl/pkg-plist13
-rw-r--r--security/ocaml-ssl/Makefile19
-rw-r--r--security/ocaml-ssl/distinfo6
-rw-r--r--security/ocaml-ssl/pkg-plist2
-rw-r--r--textproc/ocaml-csv/Makefile2
-rw-r--r--textproc/ocaml-expat/Makefile2
-rw-r--r--textproc/ocaml-text/Makefile2
-rw-r--r--x11-toolkits/ocaml-graphics/Makefile14
-rw-r--r--x11-toolkits/ocaml-lablgtk2/Makefile2
-rw-r--r--x11-toolkits/ocaml-lablgtk3/Makefile1
-rw-r--r--x11-toolkits/ocaml-labltk/Makefile1
148 files changed, 2356 insertions, 373 deletions
diff --git a/MOVED b/MOVED
index 05349357842d..dd093ac741bd 100644
--- a/MOVED
+++ b/MOVED
@@ -2291,7 +2291,6 @@ www/kristall||2023-07-02|Has expired: Requires older openssl
sysutils/cfengine-masterfiles318||2023-07-02|Has expired: Expire one year after cfengine-masterfiles 3.19.0 released
sysutils/cfengine318||2023-07-02|Has expired: Expire one year after cfengine 3.19.0 released
devel/linux-c7-dbus-glib||2023-07-02|Merged into devel/linux-c7-dbus-libs
-devel/ocaml-sexplib|devel/ocaml-sexplib0|2023-07-05|Project renamed
net/nuster||2023-07-08|Has expired: Does not support OpenSSL 3 and upstream last release was in 2020
devel/godot2-tools|devel/godot-tools|2023-07-08|Has expired: Requires legacy OpenSSL 1.1.1 so use devel/godot
devel/rubygem-aws-sdk-core3172|devel/rubygem-aws-sdk-core|2023-07-09|Remove obsoleted port. Use devel/rubygem-aws-sdk-core instead
diff --git a/archivers/ocaml-bz2/Makefile b/archivers/ocaml-bz2/Makefile
index cd67ff53d75e..1e4534fc2922 100644
--- a/archivers/ocaml-bz2/Makefile
+++ b/archivers/ocaml-bz2/Makefile
@@ -1,6 +1,6 @@
PORTNAME= bz2
PORTVERSION= 0.6.0
-PORTREVISION= 4
+PORTREVISION= 5
CATEGORIES= archivers
MASTER_SITES= http://forge.ocamlcore.org/frs/download.php/72/
PKGNAMEPREFIX= ocaml-
diff --git a/archivers/ocaml-zip/Makefile b/archivers/ocaml-zip/Makefile
index 9f974f6bac6b..bbeb8a4736db 100644
--- a/archivers/ocaml-zip/Makefile
+++ b/archivers/ocaml-zip/Makefile
@@ -1,6 +1,6 @@
PORTNAME= zip
PORTVERSION= 1.11
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= archivers
PKGNAMEPREFIX= ocaml-
DISTNAME= caml${PORTNAME}-${PORTVERSION}
diff --git a/converters/ocaml-base64/Makefile b/converters/ocaml-base64/Makefile
index d777b064a3b8..b3805c8efe40 100644
--- a/converters/ocaml-base64/Makefile
+++ b/converters/ocaml-base64/Makefile
@@ -1,7 +1,6 @@
PORTNAME= base64
-PORTVERSION= 2.0.0
+PORTVERSION= 3.5.1
DISTVERSIONPREFIX= v
-PORTREVISION= 2
CATEGORIES= converters
PKGNAMEPREFIX= ocaml-
@@ -9,22 +8,43 @@ MAINTAINER= ports@FreeBSD.org
COMMENT= Base64 encoding and decoding in OCaml
WWW= https://github.com/mirage/ocaml-base64
-BUILD_DEPENDS= ocamlbuild:devel/ocaml-ocamlbuild
+LICENSE= ISCL
+LICENSE_FILE= ${WRKSRC}/LICENSE.md
+BUILD_DEPENDS= ${SA_DIR}/bos/META:devel/ocaml-bos \
+ ${SA_DIR}/fmt/META:devel/ocaml-fmt \
+ ${SA_DIR}/rresult/META:devel/ocaml-rresult
+RUN_DEPENDS= ${SA_DIR}/bos/META:devel/ocaml-bos \
+ ${SA_DIR}/fmt/META:devel/ocaml-fmt \
+ ${SA_DIR}/rresult/META:devel/ocaml-rresult
+
+USES= ocaml:dune
USE_GITHUB= yes
GH_ACCOUNT= mirage
GH_PROJECT= ocaml-base64
+USE_OCAML= yes
+
+DOCSDIR= ${OCAML_DOCSDIR}/${PORTNAME}
+PORTDOCS= CHANGES.md LICENSE.md README.md
+
+OPTIONS_DEFINE= DOCS
-USES= gmake
-HAS_CONFIGURE= yes
-MAKE_JOBS_UNSAFE= yes
+SA_DIR= ${LOCALBASE}/${OCAML_SITELIBDIR}
-USE_OCAML= yes
-USE_OCAML_FINDLIB= yes
-USE_OCAMLFIND_PLIST= yes
-USE_OCAML_LDCONFIG= yes
-DOCSDIR= ${PREFIX}/share/doc/pcre-ocaml
+post-patch:
+ @${REINPLACE_CMD} \
+ -e "s/(name ${PORTNAME})/&\n (version ${PORTVERSION})/" \
+ ${WRKSRC}/dune-project
-CONFIGURE_ARGS= --destdir="${DESTDIRNAME}"
+post-install:
+ @(cd ${STAGEDIR}${PREFIX}/${OCAML_SITELIBDIR}; \
+ ${STRIP_CMD} \
+ base64/base64.cmxs \
+ base64/rfc2045/base64_rfc2045.cmxs)
+ # this port never shipped stublibs
+ # cleanup from older port's wrong USE_OCAML_LDCONFIG
+ @${ECHO_CMD} @postexec ${SED} -i "''" -e \
+ "'/^${PREFIX:S#/#\/#g}\/${OCAML_SITELIBDIR:S#/#\/#g}\/base64$$/d'" \
+ %D/${OCAML_LDCONF} >> ${TMPPLIST}
.include <bsd.port.mk>
diff --git a/converters/ocaml-base64/distinfo b/converters/ocaml-base64/distinfo
index 90df79f170b7..c47a0c185ccb 100644
--- a/converters/ocaml-base64/distinfo
+++ b/converters/ocaml-base64/distinfo
@@ -1,2 +1,3 @@
-SHA256 (mirage-ocaml-base64-v2.0.0_GH0.tar.gz) = 029b6a7af1493a077dc25c8e0f3534e5f5ff6e4260e3998a9ca3850fb7238c2c
-SIZE (mirage-ocaml-base64-v2.0.0_GH0.tar.gz) = 46084
+TIMESTAMP = 1710548595
+SHA256 (mirage-ocaml-base64-v3.5.1_GH0.tar.gz) = f3e8b9be43567689064b419fa5eefd9c758f00b864e9f731a0dbc1b9fecfc768
+SIZE (mirage-ocaml-base64-v3.5.1_GH0.tar.gz) = 18986
diff --git a/converters/ocaml-base64/pkg-plist b/converters/ocaml-base64/pkg-plist
new file mode 100644
index 000000000000..c1066460086e
--- /dev/null
+++ b/converters/ocaml-base64/pkg-plist
@@ -0,0 +1,31 @@
+%%OCAML_SITELIBDIR%%/base64/META
+%%OCAML_SITELIBDIR%%/base64/base64.a
+%%OCAML_SITELIBDIR%%/base64/base64.cma
+%%OCAML_SITELIBDIR%%/base64/base64.cmi
+%%OCAML_SITELIBDIR%%/base64/base64.cmt
+%%OCAML_SITELIBDIR%%/base64/base64.cmti
+%%OCAML_SITELIBDIR%%/base64/base64.cmx
+%%OCAML_SITELIBDIR%%/base64/base64.cmxa
+%%OCAML_SITELIBDIR%%/base64/base64.cmxs
+%%OCAML_SITELIBDIR%%/base64/base64.ml
+%%OCAML_SITELIBDIR%%/base64/base64.mli
+%%OCAML_SITELIBDIR%%/base64/base64__.cmi
+%%OCAML_SITELIBDIR%%/base64/base64__.cmt
+%%OCAML_SITELIBDIR%%/base64/base64__.cmx
+%%OCAML_SITELIBDIR%%/base64/base64__.ml
+%%OCAML_SITELIBDIR%%/base64/base64__Unsafe.cmi
+%%OCAML_SITELIBDIR%%/base64/base64__Unsafe.cmt
+%%OCAML_SITELIBDIR%%/base64/base64__Unsafe.cmx
+%%OCAML_SITELIBDIR%%/base64/dune-package
+%%OCAML_SITELIBDIR%%/base64/opam
+%%OCAML_SITELIBDIR%%/base64/rfc2045/base64_rfc2045.a
+%%OCAML_SITELIBDIR%%/base64/rfc2045/base64_rfc2045.cma
+%%OCAML_SITELIBDIR%%/base64/rfc2045/base64_rfc2045.cmi
+%%OCAML_SITELIBDIR%%/base64/rfc2045/base64_rfc2045.cmt
+%%OCAML_SITELIBDIR%%/base64/rfc2045/base64_rfc2045.cmti
+%%OCAML_SITELIBDIR%%/base64/rfc2045/base64_rfc2045.cmx
+%%OCAML_SITELIBDIR%%/base64/rfc2045/base64_rfc2045.cmxa
+%%OCAML_SITELIBDIR%%/base64/rfc2045/base64_rfc2045.cmxs
+%%OCAML_SITELIBDIR%%/base64/rfc2045/base64_rfc2045.ml
+%%OCAML_SITELIBDIR%%/base64/rfc2045/base64_rfc2045.mli
+%%OCAML_SITELIBDIR%%/base64/unsafe.ml
diff --git a/converters/ocaml-jsonm/Makefile b/converters/ocaml-jsonm/Makefile
index b048189e9da7..90c7c549c7bb 100644
--- a/converters/ocaml-jsonm/Makefile
+++ b/converters/ocaml-jsonm/Makefile
@@ -1,6 +1,6 @@
PORTNAME= jsonm
PORTVERSION= 1.0.2
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= converters
MASTER_SITES= https://erratique.ch/software/jsonm/releases/
PKGNAMEPREFIX= ocaml-
@@ -33,4 +33,9 @@ do-install:
--docdir=${OCAML_DOCSDIR:S,^${PREFIX}/,,} \
--libdir=${OCAML_SITELIBDIR} ${PORTNAME}.install
+post-install:
+ @${STRIP_CMD} \
+ ${STAGEDIR}${PREFIX}/bin/jsontrip \
+ ${STAGEDIR}${PREFIX}/${OCAML_SITELIBDIR}/jsonm/jsonm.cmxs
+
.include <bsd.port.mk>
diff --git a/databases/ocaml-dbm/Makefile b/databases/ocaml-dbm/Makefile
index d85b05101b5b..ba9edf623e9b 100644
--- a/databases/ocaml-dbm/Makefile
+++ b/databases/ocaml-dbm/Makefile
@@ -1,31 +1,40 @@
PORTNAME= dbm
-PORTVERSION= 1.0
-PORTREVISION= 2
+PORTVERSION= 1.3
+DISTVERSIONPREFIX= camldbm-
CATEGORIES= databases
-MASTER_SITES= https://forge.ocamlcore.org/frs/download.php/728/
PKGNAMEPREFIX= ocaml-
-DISTNAME= caml${PORTNAME}-${PORTVERSION}
+
+EXTRA_PATCHES= ${PATCHDIR}/3bb91d6-revised-configuration:-p1
MAINTAINER= ports@FreeBSD.org
COMMENT= OCaml binding to the NDBM and GDBM database library
-WWW= https://forge.ocamlcore.org/projects/camldbm/
+WWW= https://github.com/ocaml/dbm
-LICENSE= LGPL20
+LICENSE= LGPL20 # with a special exception to clause 6
-CONFLICTS= ocaml-[0-3]* ocaml-nox11-[0-3]*
+USE_GITHUB= yes
+USE_OCAML= yes
+GH_ACCOUNT= ocaml
+USE_OCAML_LDCONFIG= yes
-USES= tar:tgz
+DOCSDIR= ${OCAML_DOCSDIR}/${PORTNAME}
HAS_CONFIGURE= yes
-USE_OCAML= yes
-DOCSDIR= ${PREFIX}/share/doc/ocaml/${PORTNAME}
-MAKE_ENV+= DESTDIR="${STAGEDIR}"
+MAKE_ENV+= LIBDIR="${STAGEDIR}${PREFIX}/${OCAML_SITELIBDIR}/dbm" \
+ STUBLIBDIR="${STAGEDIR}${PREFIX}/${OCAML_SITELIBDIR}/dbm"
+
+post-patch:
+ @${REINPLACE_CMD} \
+ -E 's/^(LIBDIR|STUBLIBDIR)=/\1?=/' ${WRKSRC}/Makefile
+ @${REINPLACE_CMD} \
+ -e 's/^version =.*/version = "${PORTVERSION}"/' ${WRKSRC}/META
pre-install:
- @${MKDIR} ${STAGEDIR}${PREFIX}/lib/ocaml/site-lib/dbm \
- ${STAGEDIR}${PREFIX}/lib/ocaml/stublibs
+ @${MKDIR} ${STAGEDIR}${PREFIX}/${OCAML_SITELIBDIR}/dbm
post-install:
- ${INSTALL_DATA} ${WRKSRC}/META \
+ @${STRIP_CMD} \
+ ${STAGEDIR}${PREFIX}/${OCAML_SITELIBDIR}/dbm/dllcamldbm.so
+ @${INSTALL_DATA} ${WRKSRC}/META \
${STAGEDIR}${PREFIX}/lib/ocaml/site-lib/dbm
.include <bsd.port.mk>
diff --git a/databases/ocaml-dbm/distinfo b/databases/ocaml-dbm/distinfo
index 4e0c76d57473..cf6e5e81d030 100644
--- a/databases/ocaml-dbm/distinfo
+++ b/databases/ocaml-dbm/distinfo
@@ -1,2 +1,3 @@
-SHA256 (camldbm-1.0.tgz) = 19741fa7827c306ae43b18170b01f5547326ec7ea6c2f4bd80c93439b5ff538f
-SIZE (camldbm-1.0.tgz) = 14397
+TIMESTAMP = 1710705889
+SHA256 (ocaml-dbm-camldbm-1.3_GH0.tar.gz) = 126fd020be0dd13be7e8854fcd3637392ff039c8b865243bb4dad15a954a0da7
+SIZE (ocaml-dbm-camldbm-1.3_GH0.tar.gz) = 14831
diff --git a/databases/ocaml-dbm/files/3bb91d6-revised-configuration b/databases/ocaml-dbm/files/3bb91d6-revised-configuration
new file mode 100644
index 000000000000..fc1dcc2275d4
--- /dev/null
+++ b/databases/ocaml-dbm/files/3bb91d6-revised-configuration
@@ -0,0 +1,127 @@
+From 3bb91d6ffd700f9211a84dd2fc80c428bfcf5510 Mon Sep 17 00:00:00 2001
+From: Xavier Leroy <xavierleroy@users.noreply.github.com>
+Date: Wed, 20 Jul 2022 11:18:18 +0200
+Subject: [PATCH] Revised autoconfiguration (#16)
+
+- Let the C compiler find the ndbm.h or gdbm.h files
+ (instead of looking for them in specific directories).
+- Don't use the gdbm-ndbm.h compatibility mode, it no longer exists.
+---
+ cldbm.c | 4 +---
+ configure | 69 ++++++++++++++++++++++---------------------------------
+ 2 files changed, 29 insertions(+), 44 deletions(-)
+
+diff --git a/cldbm.c b/cldbm.c
+index 34e2d37..0fa4d13 100644
+--- a/cldbm.c
++++ b/cldbm.c
+@@ -21,9 +21,7 @@
+ #include <caml/fail.h>
+ #include <caml/callback.h>
+
+-#ifdef DBM_USES_GDBM_NDBM
+-#include <gdbm-ndbm.h>
+-#elif defined DBM_COMPAT
++#ifdef DBM_COMPAT
+ #include <ndbm.h>
+ #else
+ #include <gdbm.h>
+diff --git a/configure b/configure
+index 9a3d094..e049218 100755
+--- a/configure
++++ b/configure
+@@ -36,7 +36,7 @@ hasgot() {
+ fi
+ echo ' return 0;'
+ echo '}') > hasgot.c
+- ${CC:-cc} -I$1 -o hasgot.exe hasgot.c $3 $4
++ ${CC:-cc} $1 -o hasgot.exe hasgot.c $3 2>/dev/null
+ res=$?
+ rm -f hasgot.c hasgot.exe
+ return $res
+@@ -46,58 +46,45 @@ dbm_include="not found"
+ dbm_link="not found"
+ dbm_defines=""
+
+-for dir in /usr/include /usr/include/db1 /usr/include/gdbm /usr/local/include; do
+- if test -f $dir/ndbm.h; then
+- dbm_include=$dir
+- dbm_defines="-DDBM_COMPAT"
+- if hasgot $dir ndbm.h; then
+- dbm_link=""
+- elif hasgot $dir ndbm.h -lndbm; then
+- dbm_link="-lndbm"
+- elif hasgot $dir ndbm.h -ldb1; then
+- dbm_link="-ldb1"
+- elif hasgot $dir ndbm.h -lgdbm; then
+- dbm_link="-lgdbm"
+- elif hasgot $dir ndbm.h -lgdbm_compat -lgdbm; then
+- dbm_link="-lgdbm_compat -lgdbm"
++for include in \
++ "" \
++ "-I/usr/include/db1" \
++ "-I/usr/include/gdbm" \
++ "-I/usr/local/include" \
++ "-I/opt/homebrew/include" ; do
++ if hasgot "$include" ndbm.h ""; then
++ dbm_include="$include"
++ dbm_defines="-DDBM_COMPAT"
++ dbm_link=""
++ break
++ elif hasgot "$include" gdbm.h -lgdbm; then
++ dbm_include="$include"
++ dbm_link="-lgdbm"
++ break
++ elif hasgot "$include" ndbm.h -lndbm; then
++ dbm_include="$include"
++ dbm_defines="-DDBM_COMPAT"
++ dbm_link="-lndbm"
++ break
++ elif hasgot "$include" ndbm.h -ldb1; then
++ dbm_include="$include"
++ dbm_defines="-DDBM_COMPAT"
++ dbm_link="-ldb1"
++ break
+ fi
+- break
+- fi
+- if test -f $dir/gdbm-ndbm.h; then
+- dbm_include=$dir
+- dbm_defines="-DDBM_COMPAT -DDBM_USES_GDBM_NDBM"
+- if hasgot $dir gdbm-ndbm.h -lgdbm_compat -lgdbm; then
+- dbm_link="-lgdbm_compat -lgdbm"
+- fi
+- break
+- fi
+- if test -f $dir/gdbm.h; then
+- dbm_include=$dir
+- if hasgot $dir gdbm.h -lgdbm; then
+- dbm_link="-lgdbm"
+- fi
+- break
+- fi
+ done
+ if test "$dbm_include" = "not found" || test "$dbm_link" = "not found"; then
+- echo "NDBM not found, the \"camldbm\" library cannot be built."
++ echo "NDBM and GDBM not found, the \"camldbm\" library cannot be built."
+ exit 2
+ fi
+
+ echo "Configuration for the \"camldbm\" library:"
+-echo " headers found in ......... $dbm_include"
+-echo " options for compiling .... $dbm_defines"
++echo " options for compiling .... $dbm_include $dbm_defines"
+ echo " options for linking ...... $dbm_link"
+ echo
+ echo "Configuration successful"
+ echo
+
+-if test "$dbm_include" = "/usr/include"; then
+- dbm_include=""
+-else
+- dbm_include="-I$dbm_include"
+-fi
+-
+ echo "OCAML_STDLIB=$stdlib" > Makefile.config
+ echo "DBM_INCLUDES=$dbm_include" >> Makefile.config
+ echo "DBM_LINK=$dbm_link" >> Makefile.config
diff --git a/databases/ocaml-dbm/files/patch-META b/databases/ocaml-dbm/files/patch-META
deleted file mode 100644
index 861715dffc1e..000000000000
--- a/databases/ocaml-dbm/files/patch-META
+++ /dev/null
@@ -1,10 +0,0 @@
-$NetBSD: patch-META,v 1.1 2013/07/21 17:04:29 jaapb Exp $
-
-point to correct directory for library files
---- META.orig 2011-11-22 15:56:49.000000000 +0000
-+++ META
-@@ -3,3 +3,4 @@ requires = ""
- version = "1.0"
- archive(byte) = "dbm.cma"
- archive(native) = "dbm.cmxa"
-+directory = "^"
diff --git a/databases/ocaml-dbm/files/patch-Makefile b/databases/ocaml-dbm/files/patch-Makefile
deleted file mode 100644
index c1e15f46971f..000000000000
--- a/databases/ocaml-dbm/files/patch-Makefile
+++ /dev/null
@@ -1,27 +0,0 @@
-$NetBSD: patch-Makefile,v 1.1 2012/12/15 10:25:52 jaapb Exp $
-
-Install into DESTDIR
---- Makefile.orig 2011-11-22 15:56:49.000000000 +0000
-+++ Makefile
-@@ -57,13 +57,14 @@ depend:
- $(OCAMLDEP) *.ml *.mli > .depend
-
- install::
-- if test -f dllcamldbm.$(SO); then cp dllcamldbm.$(SO) $(STUBLIBDIR)/; fi
-- cp libcamldbm.$(A) $(LIBDIR)/
-- cd $(LIBDIR) && ranlib libcamldbm.$(A)
-- cp dbm.cma dbm.cmxa dbm.cmi dbm.mli $(LIBDIR)/
-- cp dbm.$(A) $(LIBDIR)/
-- cd $(LIBDIR) && ranlib dbm.$(A)
-- if test -f dbm.cmxs; then cp dbm.cmxs $(LIBDIR)/; fi
-+ if test -f dllcamldbm.$(SO); then cp dllcamldbm.$(SO) \
-+ $(DESTDIR)/$(STUBLIBDIR)/; fi
-+ cp libcamldbm.$(A) $(DESTDIR)/$(LIBDIR)/
-+ cd $(DESTDIR)/$(LIBDIR) && ranlib libcamldbm.$(A)
-+ cp dbm.cma dbm.cmxa dbm.cmi dbm.mli $(DESTDIR)/$(LIBDIR)/
-+ cp dbm.$(A) $(DESTDIR)/$(LIBDIR)/
-+ cd $(DESTDIR)/$(LIBDIR) && ranlib dbm.$(A)
-+ if test -f dbm.cmxs; then cp dbm.cmxs $(DESTDIR)/$(LIBDIR)/; fi
-
- clean::
- rm -f *.cm* *.$(O) *.$(A) *.$(SO)
diff --git a/databases/ocaml-dbm/pkg-plist b/databases/ocaml-dbm/pkg-plist
index 07d1ce85afd3..e28986fc4c85 100644
--- a/databases/ocaml-dbm/pkg-plist
+++ b/databases/ocaml-dbm/pkg-plist
@@ -1,9 +1,10 @@
-lib/ocaml/dbm.a
-lib/ocaml/dbm.cma
-lib/ocaml/dbm.cmi
-lib/ocaml/dbm.cmxa
-lib/ocaml/dbm.cmxs
-lib/ocaml/dbm.mli
-lib/ocaml/libcamldbm.a
-lib/ocaml/site-lib/dbm/META
-lib/ocaml/stublibs/dllcamldbm.so
+%%OCAML_SITELIBDIR%%/dbm/META
+%%OCAML_SITELIBDIR%%/dbm/dbm.a
+%%OCAML_SITELIBDIR%%/dbm/dbm.cma
+%%OCAML_SITELIBDIR%%/dbm/dbm.cmi
+%%OCAML_SITELIBDIR%%/dbm/dbm.cmx
+%%OCAML_SITELIBDIR%%/dbm/dbm.cmxa
+%%OCAML_SITELIBDIR%%/dbm/dbm.cmxs
+%%OCAML_SITELIBDIR%%/dbm/dbm.mli
+%%OCAML_SITELIBDIR%%/dbm/dllcamldbm.so
+%%OCAML_SITELIBDIR%%/dbm/libcamldbm.a
diff --git a/databases/ocaml-mysql/Makefile b/databases/ocaml-mysql/Makefile
index 7783983b5fb1..8767d52e7b20 100644
--- a/databases/ocaml-mysql/Makefile
+++ b/databases/ocaml-mysql/Makefile
@@ -1,6 +1,6 @@
PORTNAME= mysql
PORTVERSION= 1.2.4
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= databases
MASTER_SITES= http://ygrek.org.ua/p/release/ocaml-mysql/
PKGNAMEPREFIX= ocaml-
diff --git a/databases/ocaml-sqlite3/Makefile b/databases/ocaml-sqlite3/Makefile
index a039f89f262f..c9eb0e19baf7 100644
--- a/databases/ocaml-sqlite3/Makefile
+++ b/databases/ocaml-sqlite3/Makefile
@@ -1,7 +1,7 @@
PORTNAME= sqlite3
PORTVERSION= 4.0.5
DISTVERSIONPREFIX= v
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= databases
PKGNAMEPREFIX= ocaml-
diff --git a/devel/Makefile b/devel/Makefile
index f442b75c46e2..d16a460dc751 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -1717,8 +1717,11 @@
SUBDIR += ocaml-cfg
SUBDIR += ocaml-classes
SUBDIR += ocaml-cmdliner
+ SUBDIR += ocaml-compiler-libs
SUBDIR += ocaml-cppo
SUBDIR += ocaml-csexp
+ SUBDIR += ocaml-cstruct
+ SUBDIR += ocaml-domain-name
SUBDIR += ocaml-dune
SUBDIR += ocaml-extlib
SUBDIR += ocaml-findlib
@@ -1731,13 +1734,18 @@
SUBDIR += ocaml-magic
SUBDIR += ocaml-mtime
SUBDIR += ocaml-ocamlbuild
+ SUBDIR += ocaml-ocplib-endian
SUBDIR += ocaml-opam
SUBDIR += ocaml-ounit
SUBDIR += ocaml-parmap
+ SUBDIR += ocaml-parsexp
SUBDIR += ocaml-pcre
SUBDIR += ocaml-pcre2
SUBDIR += ocaml-pomap
+ SUBDIR += ocaml-ppx_derivers
+ SUBDIR += ocaml-ppx_sexp_conv
SUBDIR += ocaml-ppx-tools
+ SUBDIR += ocaml-ppxlib
SUBDIR += ocaml-re
SUBDIR += ocaml-react
SUBDIR += ocaml-res
@@ -1747,6 +1755,7 @@
SUBDIR += ocaml-sem
SUBDIR += ocaml-seq
SUBDIR += ocaml-sexplib0
+ SUBDIR += ocaml-sexplib
SUBDIR += ocaml-stdio
SUBDIR += ocaml-topkg
SUBDIR += ocaml-type_conv
diff --git a/devel/coccinelle/Makefile b/devel/coccinelle/Makefile
index 488e3a5d6de2..f5368a119995 100644
--- a/devel/coccinelle/Makefile
+++ b/devel/coccinelle/Makefile
@@ -1,6 +1,6 @@
PORTNAME= coccinelle
PORTVERSION= 1.1.1
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= devel
MAINTAINER= ports@FreeBSD.org
diff --git a/devel/menhir/Makefile b/devel/menhir/Makefile
index 9dbd0861326b..76edd59710d8 100644
--- a/devel/menhir/Makefile
+++ b/devel/menhir/Makefile
@@ -1,6 +1,5 @@
PORTNAME= menhir
-PORTVERSION= 20170712
-PORTREVISION= 2
+PORTVERSION= 20231231
CATEGORIES= devel
MASTER_SITES= http://cristal.inria.fr/~fpottier/menhir/
@@ -11,32 +10,23 @@ WWW= http://cristal.inria.fr/~fpottier/menhir
LICENSE= GPLv2
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= ocamlbuild:devel/ocaml-ocamlbuild
-
-USES= gmake shebangfix
+USES= ocaml:dune
+USE_GITLAB= yes
USE_OCAML= yes
-USE_OCAML_FINDLIB= yes
-USE_OCAMLFIND_PLIST= yes
-OCAML_PKGDIRS= menhirLib
-
-SHEBANG_FILES= demos/find-menhir.sh
-MAKE_JOBS_UNSAFE= yes
+GL_SITE= https://gitlab.inria.fr/
+GL_ACCOUNT= fpottier
+OCAML_PACKAGES= menhir menhirLib menhirSdk
+DUNE_INSTALL_TARGETS= ${OCAML_PACKAGES}
-DOCSDIR= ${PREFIX}/share/doc/ocaml/${PORTNAME}
-
-PORTDOCS= *
+DOCSDIR= ${OCAML_DOCSDIR}
+PORTDOCS= ${OCAML_PACKAGES:@p@$p@}
OPTIONS_DEFINE= DOCS
-post-patch:
- @${REINPLACE_CMD} -e \
- 's|doc/menhir|doc/ocaml/menhir| ; \
- s| \($$(bindir)\)| $${DESTDIR}\1| ; \
- s| \($$(libdir)\)| $${DESTDIR}\1| ; \
- s| \($$(docdir)\)| $${DESTDIR}\1| ; \
- s| \($$(mandir)\)| $${DESTDIR}\1|' ${WRKSRC}/Makefile
-
post-install:
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/menhir
+ @${STRIP_CMD} \
+ ${STAGEDIR}${PREFIX}/${OCAML_SITELIBDIR}/menhirLib/menhirLib.cmxs \
+ ${STAGEDIR}${PREFIX}/${OCAML_SITELIBDIR}/menhirSdk/menhirSdk.cmxs
.include <bsd.port.mk>
diff --git a/devel/menhir/distinfo b/devel/menhir/distinfo
index af472811c992..4930ba84d472 100644
--- a/devel/menhir/distinfo
+++ b/devel/menhir/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1500460606
-SHA256 (menhir-20170712.tar.gz) = ca482d690052343d6cb9452433248a0a92cc8bfc8fa529dc313220c9d7c0d000
-SIZE (menhir-20170712.tar.gz) = 855262
+TIMESTAMP = 1710615133
+SHA256 (menhir-20231231.tar.bz2) = fb76a37b84e28acd3ecf58efea3abc8c7a9a70987a44915837e81093a7853d3a
+SIZE (menhir-20231231.tar.bz2) = 1245465
diff --git a/devel/menhir/pkg-plist b/devel/menhir/pkg-plist
index 12784fe8b8e0..90eb3a147d50 100644
--- a/devel/menhir/pkg-plist
+++ b/devel/menhir/pkg-plist
@@ -1,8 +1,50 @@
bin/menhir
share/man/man1/menhir.1.gz
-%%DATADIR%%/standard.mly
+%%OCAML_SITELIBDIR%%/menhir/META
+%%OCAML_SITELIBDIR%%/menhir/dune-package
+%%OCAML_SITELIBDIR%%/menhirLib/META
+%%OCAML_SITELIBDIR%%/menhirLib/dune-package
+%%OCAML_SITELIBDIR%%/menhirLib/menhirLib.a
+%%OCAML_SITELIBDIR%%/menhirLib/menhirLib.cma
+%%OCAML_SITELIBDIR%%/menhirLib/menhirLib.cmi
+%%OCAML_SITELIBDIR%%/menhirLib/menhirLib.cmt
+%%OCAML_SITELIBDIR%%/menhirLib/menhirLib.cmti
+%%OCAML_SITELIBDIR%%/menhirLib/menhirLib.cmx
+%%OCAML_SITELIBDIR%%/menhirLib/menhirLib.cmxa
+%%OCAML_SITELIBDIR%%/menhirLib/menhirLib.cmxs
+%%OCAML_SITELIBDIR%%/menhirLib/menhirLib.ml
+%%OCAML_SITELIBDIR%%/menhirLib/menhirLib.mli
%%OCAML_SITELIBDIR%%/menhirSdk/META
+%%OCAML_SITELIBDIR%%/menhirSdk/cmly_api.ml
+%%OCAML_SITELIBDIR%%/menhirSdk/cmly_format.ml
+%%OCAML_SITELIBDIR%%/menhirSdk/cmly_read.ml
+%%OCAML_SITELIBDIR%%/menhirSdk/cmly_read.mli
+%%OCAML_SITELIBDIR%%/menhirSdk/dune-package
+%%OCAML_SITELIBDIR%%/menhirSdk/keyword.ml
+%%OCAML_SITELIBDIR%%/menhirSdk/keyword.mli
+%%OCAML_SITELIBDIR%%/menhirSdk/menhirSdk.a
+%%OCAML_SITELIBDIR%%/menhirSdk/menhirSdk.cma
%%OCAML_SITELIBDIR%%/menhirSdk/menhirSdk.cmi
-%%OCAML_SITELIBDIR%%/menhirSdk/menhirSdk.cmo
+%%OCAML_SITELIBDIR%%/menhirSdk/menhirSdk.cmt
%%OCAML_SITELIBDIR%%/menhirSdk/menhirSdk.cmx
-%%OCAML_SITELIBDIR%%/menhirSdk/menhirSdk.o
+%%OCAML_SITELIBDIR%%/menhirSdk/menhirSdk.cmxa
+%%OCAML_SITELIBDIR%%/menhirSdk/menhirSdk.cmxs
+%%OCAML_SITELIBDIR%%/menhirSdk/menhirSdk.ml
+%%OCAML_SITELIBDIR%%/menhirSdk/menhirSdk__Cmly_api.cmi
+%%OCAML_SITELIBDIR%%/menhirSdk/menhirSdk__Cmly_api.cmt
+%%OCAML_SITELIBDIR%%/menhirSdk/menhirSdk__Cmly_api.cmx
+%%OCAML_SITELIBDIR%%/menhirSdk/menhirSdk__Cmly_format.cmi
+%%OCAML_SITELIBDIR%%/menhirSdk/menhirSdk__Cmly_format.cmt
+%%OCAML_SITELIBDIR%%/menhirSdk/menhirSdk__Cmly_format.cmx
+%%OCAML_SITELIBDIR%%/menhirSdk/menhirSdk__Cmly_read.cmi
+%%OCAML_SITELIBDIR%%/menhirSdk/menhirSdk__Cmly_read.cmt
+%%OCAML_SITELIBDIR%%/menhirSdk/menhirSdk__Cmly_read.cmti
+%%OCAML_SITELIBDIR%%/menhirSdk/menhirSdk__Cmly_read.cmx
+%%OCAML_SITELIBDIR%%/menhirSdk/menhirSdk__Keyword.cmi
+%%OCAML_SITELIBDIR%%/menhirSdk/menhirSdk__Keyword.cmt
+%%OCAML_SITELIBDIR%%/menhirSdk/menhirSdk__Keyword.cmti
+%%OCAML_SITELIBDIR%%/menhirSdk/menhirSdk__Keyword.cmx
+%%OCAML_SITELIBDIR%%/menhirSdk/menhirSdk__Version.cmi
+%%OCAML_SITELIBDIR%%/menhirSdk/menhirSdk__Version.cmt
+%%OCAML_SITELIBDIR%%/menhirSdk/menhirSdk__Version.cmx
+%%OCAML_SITELIBDIR%%/menhirSdk/version.ml
diff --git a/devel/ocaml-annexlib/Makefile b/devel/ocaml-annexlib/Makefile
index a2f94062349c..a25d052dccb3 100644
--- a/devel/ocaml-annexlib/Makefile
+++ b/devel/ocaml-annexlib/Makefile
@@ -1,6 +1,6 @@
PORTNAME= annexlib
PORTVERSION= 0.13.2
-PORTREVISION= 5
+PORTREVISION= 6
CATEGORIES= devel
MASTER_SITES= http://raevnos.pennmush.org/code/extlib/
PKGNAMEPREFIX= ocaml-
diff --git a/devel/ocaml-astring/Makefile b/devel/ocaml-astring/Makefile
index 7166cedc78db..38579029edd3 100644
--- a/devel/ocaml-astring/Makefile
+++ b/devel/ocaml-astring/Makefile
@@ -1,5 +1,6 @@
PORTNAME= astring
PORTVERSION= 0.8.5
+PORTREVISION= 1
CATEGORIES= devel
MASTER_SITES= https://erratique.ch/software/astring/releases/
PKGNAMEPREFIX= ocaml-
diff --git a/devel/ocaml-base/Makefile b/devel/ocaml-base/Makefile
index ca035cf7cd06..162106a0d0f0 100644
--- a/devel/ocaml-base/Makefile
+++ b/devel/ocaml-base/Makefile
@@ -1,6 +1,7 @@
PORTNAME= base
PORTVERSION= 0.16.3
DISTVERSIONPREFIX= v
+PORTREVISION= 1
CATEGORIES= devel
PKGNAMEPREFIX= ocaml-
diff --git a/devel/ocaml-base/files/patch-src_discover_discover.ml b/devel/ocaml-base/files/patch-src_discover_discover.ml
new file mode 100644
index 000000000000..f2339c100a1d
--- /dev/null
+++ b/devel/ocaml-base/files/patch-src_discover_discover.ml
@@ -0,0 +1,14 @@
+--- src/discover/discover.ml.orig 2024-04-29 15:54:18 UTC
++++ src/discover/discover.ml
+@@ -4,7 +4,11 @@ int main(int argc, char ** argv)
+ {|
+ int main(int argc, char ** argv)
+ {
++#if defined(__clang__) && !defined(__x86_64__) && !defined(__i386__)
++#error "-mpopcnt is not for this arch"
++#else
+ return __builtin_popcount(argc);
++#endif
+ }
+ |}
+ ;;
diff --git a/devel/ocaml-bos/Makefile b/devel/ocaml-bos/Makefile
index 804d48e750d0..3caa24a626f6 100644
--- a/devel/ocaml-bos/Makefile
+++ b/devel/ocaml-bos/Makefile
@@ -1,5 +1,6 @@
PORTNAME= bos
PORTVERSION= 0.2.1
+PORTREVISION= 1
CATEGORIES= devel
MASTER_SITES= https://erratique.ch/software/bos/releases/
PKGNAMEPREFIX= ocaml-
diff --git a/devel/ocaml-calendar/Makefile b/devel/ocaml-calendar/Makefile
index 0e989f411b57..dd88b209b6a2 100644
--- a/devel/ocaml-calendar/Makefile
+++ b/devel/ocaml-calendar/Makefile
@@ -1,6 +1,6 @@
PORTNAME= calendar
PORTVERSION= 2.03.2
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= devel
MASTER_SITES= http://forge.ocamlcore.org/frs/download.php/915/
PKGNAMEPREFIX= ocaml-
diff --git a/devel/ocaml-camljava/Makefile b/devel/ocaml-camljava/Makefile
index 92fed506eca4..e03acf1fa01d 100644
--- a/devel/ocaml-camljava/Makefile
+++ b/devel/ocaml-camljava/Makefile
@@ -1,6 +1,6 @@
PORTNAME= camljava
PORTVERSION= 0.3
-PORTREVISION= 5
+PORTREVISION= 6
CATEGORIES= devel java
MASTER_SITES= http://caml.inria.fr/distrib/bazar-ocaml/
PKGNAMEPREFIX= ocaml-
diff --git a/devel/ocaml-camlp-streams/Makefile b/devel/ocaml-camlp-streams/Makefile
index 781bcf482bdd..0ce6a0d690ee 100644
--- a/devel/ocaml-camlp-streams/Makefile
+++ b/devel/ocaml-camlp-streams/Makefile
@@ -21,11 +21,11 @@ PORTDOCS= CHANGES.md LICENSE README.md
OPTIONS_DEFINE= DOCS
post-patch:
- ${REINPLACE_CMD} \
+ @${REINPLACE_CMD} \
-e "s/(name ${PORTNAME})/&\n (version ${PORTVERSION})/" \
${WRKSRC}/dune-project
post-install:
- ${STRIP_CMD} ${STAGEDIR}${PREFIX}/${OCAML_SITELIBDIR}/${PORTNAME}/camlp_streams.cmxs
+ @${STRIP_CMD} ${STAGEDIR}${PREFIX}/${OCAML_SITELIBDIR}/${PORTNAME}/camlp_streams.cmxs
.include <bsd.port.mk>
diff --git a/devel/ocaml-camlp4/Makefile b/devel/ocaml-camlp4/Makefile
index fb5f4d51eb6d..5d6f98a67358 100644
--- a/devel/ocaml-camlp4/Makefile
+++ b/devel/ocaml-camlp4/Makefile
@@ -1,9 +1,10 @@
PORTNAME= camlp4
PORTVERSION= 4.14+1
+PORTREVISION= 1
CATEGORIES= devel
PKGNAMEPREFIX= ocaml-
-MAINTAINER= michipili@gmail.com
+MAINTAINER= ports@FreeBSD.org
COMMENT= System for writing extensible parsers for OCaml
WWW= https://github.com/ocaml/camlp4
diff --git a/devel/ocaml-camlp5/Makefile b/devel/ocaml-camlp5/Makefile
index a4e713f0b71c..44289467f8c2 100644
--- a/devel/ocaml-camlp5/Makefile
+++ b/devel/ocaml-camlp5/Makefile
@@ -1,5 +1,6 @@
PORTNAME= camlp5
PORTVERSION= 8.02.01
+PORTREVISION= 1
CATEGORIES= devel
PKGNAMEPREFIX= ocaml-
diff --git a/devel/ocaml-camomile/Makefile b/devel/ocaml-camomile/Makefile
index fef9628df493..72b7a89a72d2 100644
--- a/devel/ocaml-camomile/Makefile
+++ b/devel/ocaml-camomile/Makefile
@@ -1,6 +1,6 @@
PORTNAME= camomile
PORTVERSION= 1.0.2
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= devel
PKGNAMEPREFIX= ocaml-
diff --git a/devel/ocaml-cfg/Makefile b/devel/ocaml-cfg/Makefile
index 6040c5242df0..a7aae5bffb5e 100644
--- a/devel/ocaml-cfg/Makefile
+++ b/devel/ocaml-cfg/Makefile
@@ -1,6 +1,6 @@
PORTNAME= cfg
PORTVERSION= 2.2.0
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= devel
PKGNAMEPREFIX= ocaml-
diff --git a/devel/ocaml-classes/Makefile b/devel/ocaml-classes/Makefile
index d849d81a3e0f..844202a2f589 100644
--- a/devel/ocaml-classes/Makefile
+++ b/devel/ocaml-classes/Makefile
@@ -1,6 +1,6 @@
PORTNAME= classes
PORTVERSION= 4.00
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= devel
MASTER_SITES= http://wwwfun.kurims.kyoto-u.ac.jp/soft/olabl/dist/
PKGNAMEPREFIX= ocaml-
diff --git a/devel/ocaml-cmdliner/Makefile b/devel/ocaml-cmdliner/Makefile
index f2f7e811ae41..4359e763de21 100644
--- a/devel/ocaml-cmdliner/Makefile
+++ b/devel/ocaml-cmdliner/Makefile
@@ -1,6 +1,6 @@
PORTNAME= cmdliner
PORTVERSION= 1.0.4
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= devel
MASTER_SITES= https://erratique.ch/software/cmdliner/releases/
PKGNAMEPREFIX= ocaml-
diff --git a/devel/ocaml-compiler-libs/Makefile b/devel/ocaml-compiler-libs/Makefile
new file mode 100644
index 000000000000..096d1fe1b49a
--- /dev/null
+++ b/devel/ocaml-compiler-libs/Makefile
@@ -0,0 +1,36 @@
+PORTNAME= ocaml-compiler-libs
+PORTVERSION= 0.12.4
+DISTVERSIONPREFIX= v
+CATEGORIES= devel
+
+MAINTAINER= freebsd@dev.thsi.be
+COMMENT= Wrapper library for OCaml internals
+WWW= https://github.com/janestreet/ocaml-compiler-libs
+
+LICENSE= MIT
+
+USES= ocaml:dune
+USE_GITHUB= yes
+GH_ACCOUNT= janestreet
+GH_PROJECT= ocaml-compiler-libs
+USE_OCAML= yes
+
+DOCSDIR= ${OCAML_DOCSDIR}/${PORTNAME}
+PORTDOCS= CHANGES.md LICENSE.md README.org
+
+OPTIONS_DEFINE= DOCS
+
+post-patch:
+ @${REINPLACE_CMD} \
+ -e "s/(name ${PORTNAME})/&\n (version ${PORTVERSION})/" \
+ ${WRKSRC}/dune-project
+
+post-install:
+ @${STRIP_CMD} \
+ ${STAGEDIR}${PREFIX}/${OCAML_SITELIBDIR}/${PORTNAME}/bytecomp/ocaml_bytecomp.cmxs \
+ ${STAGEDIR}${PREFIX}/${OCAML_SITELIBDIR}/${PORTNAME}/common/ocaml_common.cmxs \
+ ${STAGEDIR}${PREFIX}/${OCAML_SITELIBDIR}/${PORTNAME}/optcomp/ocaml_optcomp.cmxs \
+ ${STAGEDIR}${PREFIX}/${OCAML_SITELIBDIR}/${PORTNAME}/shadow/ocaml_shadow.cmxs \
+ ${STAGEDIR}${PREFIX}/${OCAML_SITELIBDIR}/${PORTNAME}/toplevel/ocaml_toplevel.cmxs
+
+.include <bsd.port.mk>
diff --git a/devel/ocaml-compiler-libs/distinfo b/devel/ocaml-compiler-libs/distinfo
new file mode 100644
index 000000000000..e8b722135959
--- /dev/null
+++ b/devel/ocaml-compiler-libs/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1709655074
+SHA256 (janestreet-ocaml-compiler-libs-v0.12.4_GH0.tar.gz) = f4c37daf975b67c1f645a5d0294ec8ca686b982da410d9f915ccd93548c6e2f1
+SIZE (janestreet-ocaml-compiler-libs-v0.12.4_GH0.tar.gz) = 5435
diff --git a/devel/ocaml-compiler-libs/pkg-descr b/devel/ocaml-compiler-libs/pkg-descr
new file mode 100644
index 000000000000..b5851ef91a31
--- /dev/null
+++ b/devel/ocaml-compiler-libs/pkg-descr
@@ -0,0 +1,2 @@
+Wraps OCaml compiler internal libraries into a reduced set of
+libraries, to reduce the pollution of the toplevel module namespace.
diff --git a/devel/ocaml-compiler-libs/pkg-plist b/devel/ocaml-compiler-libs/pkg-plist
new file mode 100644
index 000000000000..614408589b23
--- /dev/null
+++ b/devel/ocaml-compiler-libs/pkg-plist
@@ -0,0 +1,43 @@
+%%OCAML_SITELIBDIR%%/ocaml-compiler-libs/META
+%%OCAML_SITELIBDIR%%/ocaml-compiler-libs/bytecomp/ocaml_bytecomp.a
+%%OCAML_SITELIBDIR%%/ocaml-compiler-libs/bytecomp/ocaml_bytecomp.cma
+%%OCAML_SITELIBDIR%%/ocaml-compiler-libs/bytecomp/ocaml_bytecomp.cmi
+%%OCAML_SITELIBDIR%%/ocaml-compiler-libs/bytecomp/ocaml_bytecomp.cmt
+%%OCAML_SITELIBDIR%%/ocaml-compiler-libs/bytecomp/ocaml_bytecomp.cmx
+%%OCAML_SITELIBDIR%%/ocaml-compiler-libs/bytecomp/ocaml_bytecomp.cmxa
+%%OCAML_SITELIBDIR%%/ocaml-compiler-libs/bytecomp/ocaml_bytecomp.cmxs
+%%OCAML_SITELIBDIR%%/ocaml-compiler-libs/bytecomp/ocaml_bytecomp.ml
+%%OCAML_SITELIBDIR%%/ocaml-compiler-libs/common/ocaml_common.a
+%%OCAML_SITELIBDIR%%/ocaml-compiler-libs/common/ocaml_common.cma
+%%OCAML_SITELIBDIR%%/ocaml-compiler-libs/common/ocaml_common.cmi
+%%OCAML_SITELIBDIR%%/ocaml-compiler-libs/common/ocaml_common.cmt
+%%OCAML_SITELIBDIR%%/ocaml-compiler-libs/common/ocaml_common.cmx
+%%OCAML_SITELIBDIR%%/ocaml-compiler-libs/common/ocaml_common.cmxa
+%%OCAML_SITELIBDIR%%/ocaml-compiler-libs/common/ocaml_common.cmxs
+%%OCAML_SITELIBDIR%%/ocaml-compiler-libs/common/ocaml_common.ml
+%%OCAML_SITELIBDIR%%/ocaml-compiler-libs/dune-package
+%%OCAML_SITELIBDIR%%/ocaml-compiler-libs/opam
+%%OCAML_SITELIBDIR%%/ocaml-compiler-libs/optcomp/ocaml_optcomp.a
+%%OCAML_SITELIBDIR%%/ocaml-compiler-libs/optcomp/ocaml_optcomp.cma
+%%OCAML_SITELIBDIR%%/ocaml-compiler-libs/optcomp/ocaml_optcomp.cmi
+%%OCAML_SITELIBDIR%%/ocaml-compiler-libs/optcomp/ocaml_optcomp.cmt
+%%OCAML_SITELIBDIR%%/ocaml-compiler-libs/optcomp/ocaml_optcomp.cmx
+%%OCAML_SITELIBDIR%%/ocaml-compiler-libs/optcomp/ocaml_optcomp.cmxa
+%%OCAML_SITELIBDIR%%/ocaml-compiler-libs/optcomp/ocaml_optcomp.cmxs
+%%OCAML_SITELIBDIR%%/ocaml-compiler-libs/optcomp/ocaml_optcomp.ml
+%%OCAML_SITELIBDIR%%/ocaml-compiler-libs/shadow/ocaml_shadow.a
+%%OCAML_SITELIBDIR%%/ocaml-compiler-libs/shadow/ocaml_shadow.cma
+%%OCAML_SITELIBDIR%%/ocaml-compiler-libs/shadow/ocaml_shadow.cmi
+%%OCAML_SITELIBDIR%%/ocaml-compiler-libs/shadow/ocaml_shadow.cmt
+%%OCAML_SITELIBDIR%%/ocaml-compiler-libs/shadow/ocaml_shadow.cmx
+%%OCAML_SITELIBDIR%%/ocaml-compiler-libs/shadow/ocaml_shadow.cmxa
+%%OCAML_SITELIBDIR%%/ocaml-compiler-libs/shadow/ocaml_shadow.cmxs
+%%OCAML_SITELIBDIR%%/ocaml-compiler-libs/shadow/ocaml_shadow.ml
+%%OCAML_SITELIBDIR%%/ocaml-compiler-libs/toplevel/ocaml_toplevel.a
+%%OCAML_SITELIBDIR%%/ocaml-compiler-libs/toplevel/ocaml_toplevel.cma
+%%OCAML_SITELIBDIR%%/ocaml-compiler-libs/toplevel/ocaml_toplevel.cmi
+%%OCAML_SITELIBDIR%%/ocaml-compiler-libs/toplevel/ocaml_toplevel.cmt
+%%OCAML_SITELIBDIR%%/ocaml-compiler-libs/toplevel/ocaml_toplevel.cmx
+%%OCAML_SITELIBDIR%%/ocaml-compiler-libs/toplevel/ocaml_toplevel.cmxa
+%%OCAML_SITELIBDIR%%/ocaml-compiler-libs/toplevel/ocaml_toplevel.cmxs
+%%OCAML_SITELIBDIR%%/ocaml-compiler-libs/toplevel/ocaml_toplevel.ml
diff --git a/devel/ocaml-cppo/Makefile b/devel/ocaml-cppo/Makefile
index 997590c923a8..c0646f11e511 100644
--- a/devel/ocaml-cppo/Makefile
+++ b/devel/ocaml-cppo/Makefile
@@ -1,7 +1,7 @@
PORTNAME= cppo
DISTVERSIONPREFIX= v
DISTVERSION= 1.6.9
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= devel
PKGNAMEPREFIX= ocaml-
diff --git a/devel/ocaml-csexp/Makefile b/devel/ocaml-csexp/Makefile
index 6c8196f68fee..0bfc6fa07f42 100644
--- a/devel/ocaml-csexp/Makefile
+++ b/devel/ocaml-csexp/Makefile
@@ -1,6 +1,6 @@
PORTNAME= csexp
PORTVERSION= 1.5.2
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= devel
PKGNAMEPREFIX= ocaml-
diff --git a/devel/ocaml-cstruct/Makefile b/devel/ocaml-cstruct/Makefile
new file mode 100644
index 000000000000..753afd397598
--- /dev/null
+++ b/devel/ocaml-cstruct/Makefile
@@ -0,0 +1,53 @@
+PORTNAME= cstruct
+DISTVERSIONPREFIX= v
+DISTVERSION= 6.2.0
+CATEGORIES= devel
+PKGNAMEPREFIX= ocaml-
+
+MAINTAINER= freebsd@dev.thsi.be
+COMMENT= OCaml library and syntax extension to access C-like structures
+WWW= https://github.com/mirage/ocaml-cstruct
+
+LICENSE= ISCL
+LICENSE_FILE= ${WRKSRC}/LICENSE.md
+
+BUILD_DEPENDS= ${SA_DIR}/fmt/META:devel/ocaml-fmt \
+ ${SA_DIR}/lwt/META:devel/ocaml-lwt \
+ ${SA_DIR}/ppxlib/META:devel/ocaml-ppxlib \
+ ${SA_DIR}/sexplib/META:devel/ocaml-sexplib
+RUN_DEPENDS= ${SA_DIR}/fmt/META:devel/ocaml-fmt \
+ ${SA_DIR}/lwt/META:devel/ocaml-lwt \
+ ${SA_DIR}/ppxlib/META:devel/ocaml-ppxlib \
+ ${SA_DIR}/sexplib/META:devel/ocaml-sexplib
+
+USES= ocaml:dune
+USE_GITHUB= yes
+GH_ACCOUNT= mirage
+GH_PROJECT= ocaml-${PORTNAME}
+USE_OCAML= yes
+USE_OCAML_LDCONFIG= yes
+# missing ${PORTNAME}-async
+OCAML_PACKAGES= ${PORTNAME} ${PORTNAME}-lwt ${PORTNAME}-sexp \
+ ${PORTNAME}-unix ppx_${PORTNAME}
+DUNE_INSTALL_TARGETS= ${OCAML_PACKAGES}
+
+DOCSDIR= ${OCAML_DOCSDIR}
+PORTDOCS= ${OCAML_PACKAGES:@p@$p/CHANGES.md $p/LICENSE.md $p/README.md@}
+
+OPTIONS_DEFINE= DOCS
+
+SA_DIR= ${LOCALBASE}/${OCAML_SITELIBDIR}
+
+post-patch:
+ @${REINPLACE_CMD} \
+ -e "s/(name ${PORTNAME})/&\n (version ${PORTVERSION})/" \
+ ${WRKSRC}/dune-project
+
+post-install:
+ @(cd ${STAGEDIR}${PREFIX}/${OCAML_SITELIBDIR}; \
+ ${STRIP_CMD} \
+ cstruct/dllcstruct_stubs.so \
+ ppx_cstruct/ppx.exe \
+ ${OCAML_PACKAGES:@p@$p/${p:S/-/_/g}.cmxs@})
+
+.include <bsd.port.mk>
diff --git a/devel/ocaml-cstruct/distinfo b/devel/ocaml-cstruct/distinfo
new file mode 100644
index 000000000000..3a7997d31447
--- /dev/null
+++ b/devel/ocaml-cstruct/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1710533677
+SHA256 (mirage-ocaml-cstruct-v6.2.0_GH0.tar.gz) = 629a4bf17893c48c2f7b951eddc875a61de18bf190bb5a096976837198349cd4
+SIZE (mirage-ocaml-cstruct-v6.2.0_GH0.tar.gz) = 244005
diff --git a/devel/ocaml-cstruct/pkg-descr b/devel/ocaml-cstruct/pkg-descr
new file mode 100644
index 000000000000..0313414aea3e
--- /dev/null
+++ b/devel/ocaml-cstruct/pkg-descr
@@ -0,0 +1,18 @@
+This library for OCaml contains functionnality to access
+datastructures using a determined byte-layouts such as networking
+datagrams or binay file formats (e.g.).
+
+A PPX syntax extension is provided to allow the definition of
+byte-layouts in the form of "cstruct" type definitions -- looking much
+alike the well-known structure declaration of the C programming
+language (hence the name of this library) --, and to generate accessor
+functions to manipule its members.
+
+In addition to those core features, the library contains accessory
+functions allowing:
+
+- The representation of "cstruct" as S-expression;
+
+- I/O operations over the Unix OCaml library and the Lwt cooperative
+ threading library. The async integration is currently not provided
+ by this port (patch welcome!).
diff --git a/devel/ocaml-cstruct/pkg-plist b/devel/ocaml-cstruct/pkg-plist
new file mode 100644
index 000000000000..d61d08d48e79
--- /dev/null
+++ b/devel/ocaml-cstruct/pkg-plist
@@ -0,0 +1,75 @@
+%%OCAML_SITELIBDIR%%/cstruct-lwt/META
+%%OCAML_SITELIBDIR%%/cstruct-lwt/cstruct_lwt.a
+%%OCAML_SITELIBDIR%%/cstruct-lwt/cstruct_lwt.cma
+%%OCAML_SITELIBDIR%%/cstruct-lwt/cstruct_lwt.cmxa
+%%OCAML_SITELIBDIR%%/cstruct-lwt/cstruct_lwt.cmxs
+%%OCAML_SITELIBDIR%%/cstruct-lwt/dune-package
+%%OCAML_SITELIBDIR%%/cstruct-lwt/lwt_cstruct.cmi
+%%OCAML_SITELIBDIR%%/cstruct-lwt/lwt_cstruct.cmt
+%%OCAML_SITELIBDIR%%/cstruct-lwt/lwt_cstruct.cmti
+%%OCAML_SITELIBDIR%%/cstruct-lwt/lwt_cstruct.cmx
+%%OCAML_SITELIBDIR%%/cstruct-lwt/lwt_cstruct.ml
+%%OCAML_SITELIBDIR%%/cstruct-lwt/lwt_cstruct.mli
+%%OCAML_SITELIBDIR%%/cstruct-lwt/opam
+%%OCAML_SITELIBDIR%%/cstruct-sexp/META
+%%OCAML_SITELIBDIR%%/cstruct-sexp/cstruct_sexp.a
+%%OCAML_SITELIBDIR%%/cstruct-sexp/cstruct_sexp.cma
+%%OCAML_SITELIBDIR%%/cstruct-sexp/cstruct_sexp.cmi
+%%OCAML_SITELIBDIR%%/cstruct-sexp/cstruct_sexp.cmt
+%%OCAML_SITELIBDIR%%/cstruct-sexp/cstruct_sexp.cmti
+%%OCAML_SITELIBDIR%%/cstruct-sexp/cstruct_sexp.cmx
+%%OCAML_SITELIBDIR%%/cstruct-sexp/cstruct_sexp.cmxa
+%%OCAML_SITELIBDIR%%/cstruct-sexp/cstruct_sexp.cmxs
+%%OCAML_SITELIBDIR%%/cstruct-sexp/cstruct_sexp.ml
+%%OCAML_SITELIBDIR%%/cstruct-sexp/cstruct_sexp.mli
+%%OCAML_SITELIBDIR%%/cstruct-sexp/dune-package
+%%OCAML_SITELIBDIR%%/cstruct-sexp/opam
+%%OCAML_SITELIBDIR%%/cstruct-unix/META
+%%OCAML_SITELIBDIR%%/cstruct-unix/cstruct_unix.a
+%%OCAML_SITELIBDIR%%/cstruct-unix/cstruct_unix.cma
+%%OCAML_SITELIBDIR%%/cstruct-unix/cstruct_unix.cmxa
+%%OCAML_SITELIBDIR%%/cstruct-unix/cstruct_unix.cmxs
+%%OCAML_SITELIBDIR%%/cstruct-unix/dune-package
+%%OCAML_SITELIBDIR%%/cstruct-unix/opam
+%%OCAML_SITELIBDIR%%/cstruct-unix/unix_cstruct.cmi
+%%OCAML_SITELIBDIR%%/cstruct-unix/unix_cstruct.cmt
+%%OCAML_SITELIBDIR%%/cstruct-unix/unix_cstruct.cmti
+%%OCAML_SITELIBDIR%%/cstruct-unix/unix_cstruct.cmx
+%%OCAML_SITELIBDIR%%/cstruct-unix/unix_cstruct.ml
+%%OCAML_SITELIBDIR%%/cstruct-unix/unix_cstruct.mli
+%%OCAML_SITELIBDIR%%/cstruct/META
+%%OCAML_SITELIBDIR%%/cstruct/cstruct.a
+%%OCAML_SITELIBDIR%%/cstruct/cstruct.cma
+%%OCAML_SITELIBDIR%%/cstruct/cstruct.cmi
+%%OCAML_SITELIBDIR%%/cstruct/cstruct.cmt
+%%OCAML_SITELIBDIR%%/cstruct/cstruct.cmti
+%%OCAML_SITELIBDIR%%/cstruct/cstruct.cmx
+%%OCAML_SITELIBDIR%%/cstruct/cstruct.cmxa
+%%OCAML_SITELIBDIR%%/cstruct/cstruct.cmxs
+%%OCAML_SITELIBDIR%%/cstruct/cstruct.js
+%%OCAML_SITELIBDIR%%/cstruct/cstruct.ml
+%%OCAML_SITELIBDIR%%/cstruct/cstruct.mli
+%%OCAML_SITELIBDIR%%/cstruct/cstruct_cap.cmi
+%%OCAML_SITELIBDIR%%/cstruct/cstruct_cap.cmt
+%%OCAML_SITELIBDIR%%/cstruct/cstruct_cap.cmti
+%%OCAML_SITELIBDIR%%/cstruct/cstruct_cap.cmx
+%%OCAML_SITELIBDIR%%/cstruct/cstruct_cap.ml
+%%OCAML_SITELIBDIR%%/cstruct/cstruct_cap.mli
+%%OCAML_SITELIBDIR%%/cstruct/dllcstruct_stubs.so
+%%OCAML_SITELIBDIR%%/cstruct/dune-package
+%%OCAML_SITELIBDIR%%/cstruct/libcstruct_stubs.a
+%%OCAML_SITELIBDIR%%/cstruct/opam
+%%OCAML_SITELIBDIR%%/ppx_cstruct/META
+%%OCAML_SITELIBDIR%%/ppx_cstruct/dune-package
+%%OCAML_SITELIBDIR%%/ppx_cstruct/opam
+%%OCAML_SITELIBDIR%%/ppx_cstruct/ppx.exe
+%%OCAML_SITELIBDIR%%/ppx_cstruct/ppx_cstruct.a
+%%OCAML_SITELIBDIR%%/ppx_cstruct/ppx_cstruct.cma
+%%OCAML_SITELIBDIR%%/ppx_cstruct/ppx_cstruct.cmi
+%%OCAML_SITELIBDIR%%/ppx_cstruct/ppx_cstruct.cmt
+%%OCAML_SITELIBDIR%%/ppx_cstruct/ppx_cstruct.cmti
+%%OCAML_SITELIBDIR%%/ppx_cstruct/ppx_cstruct.cmx
+%%OCAML_SITELIBDIR%%/ppx_cstruct/ppx_cstruct.cmxa
+%%OCAML_SITELIBDIR%%/ppx_cstruct/ppx_cstruct.cmxs
+%%OCAML_SITELIBDIR%%/ppx_cstruct/ppx_cstruct.ml
+%%OCAML_SITELIBDIR%%/ppx_cstruct/ppx_cstruct.mli
diff --git a/devel/ocaml-domain-name/Makefile b/devel/ocaml-domain-name/Makefile
new file mode 100644
index 000000000000..dbb3c3027679
--- /dev/null
+++ b/devel/ocaml-domain-name/Makefile
@@ -0,0 +1,33 @@
+PORTNAME= domain-name
+PORTVERSION= 0.4.0
+DISTVERSIONPREFIX= v
+CATEGORIES= devel
+PKGNAMEPREFIX= ocaml-
+
+MAINTAINER= freebsd@dev.thsi.be
+COMMENT= OCaml library for representing RFC 1035 Internet domain names
+WWW= https://github.com/hannesm/domain-name
+
+LICENSE= ISCL
+LICENSE_FILE= ${WRKSRC}/LICENSE.md
+
+USES= ocaml:dune
+USE_GITHUB= yes
+GH_ACCOUNT= hannesm
+USE_OCAML= yes
+
+OPTIONS_DEFINE= DOCS
+
+DOCSDIR= ${OCAML_DOCSDIR}/${PORTNAME}
+PORTDOCS= CHANGES.md LICENSE.md README.md
+
+post-patch:
+ @${REINPLACE_CMD} \
+ -e "s/(name ${PORTNAME})/&\n (version ${PORTVERSION})/" \
+ ${WRKSRC}/dune-project
+
+post-install:
+ @${STRIP_CMD} \
+ ${STAGEDIR}${PREFIX}/${OCAML_SITELIBDIR}/domain-name/domain_name.cmxs
+
+.include <bsd.port.mk>
diff --git a/devel/ocaml-domain-name/distinfo b/devel/ocaml-domain-name/distinfo
new file mode 100644
index 000000000000..c02b55f3f643
--- /dev/null
+++ b/devel/ocaml-domain-name/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1710538537
+SHA256 (hannesm-domain-name-v0.4.0_GH0.tar.gz) = 95ab9a092b4111110b2d9c76937895766fd913042b09fe16b730321ae5183dd0
+SIZE (hannesm-domain-name-v0.4.0_GH0.tar.gz) = 9585
diff --git a/devel/ocaml-domain-name/pkg-descr b/devel/ocaml-domain-name/pkg-descr
new file mode 100644
index 000000000000..b2bc77bdb98d
--- /dev/null
+++ b/devel/ocaml-domain-name/pkg-descr
@@ -0,0 +1,4 @@
+This library provides an abstract data type to represent conformant
+internet domain names, and some functions for creating (parsing),
+canonicalize, printing, manipulating, comparing and testing properties
+of internet domain names.
diff --git a/devel/ocaml-domain-name/pkg-plist b/devel/ocaml-domain-name/pkg-plist
new file mode 100644
index 000000000000..56d69ad26154
--- /dev/null
+++ b/devel/ocaml-domain-name/pkg-plist
@@ -0,0 +1,13 @@
+%%OCAML_SITELIBDIR%%/domain-name/META
+%%OCAML_SITELIBDIR%%/domain-name/domain_name.a
+%%OCAML_SITELIBDIR%%/domain-name/domain_name.cma
+%%OCAML_SITELIBDIR%%/domain-name/domain_name.cmi
+%%OCAML_SITELIBDIR%%/domain-name/domain_name.cmt
+%%OCAML_SITELIBDIR%%/domain-name/domain_name.cmti
+%%OCAML_SITELIBDIR%%/domain-name/domain_name.cmx
+%%OCAML_SITELIBDIR%%/domain-name/domain_name.cmxa
+%%OCAML_SITELIBDIR%%/domain-name/domain_name.cmxs
+%%OCAML_SITELIBDIR%%/domain-name/domain_name.ml
+%%OCAML_SITELIBDIR%%/domain-name/domain_name.mli
+%%OCAML_SITELIBDIR%%/domain-name/dune-package
+%%OCAML_SITELIBDIR%%/domain-name/opam
diff --git a/devel/ocaml-dune/Makefile b/devel/ocaml-dune/Makefile
index bdd5ba6295f1..3173042efb21 100644
--- a/devel/ocaml-dune/Makefile
+++ b/devel/ocaml-dune/Makefile
@@ -1,6 +1,6 @@
PORTNAME= dune
PORTVERSION= 3.7.1
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= devel
PKGNAMEPREFIX= ocaml-
diff --git a/devel/ocaml-extlib/Makefile b/devel/ocaml-extlib/Makefile
index 6410ed659b03..2dc6c7cf7468 100644
--- a/devel/ocaml-extlib/Makefile
+++ b/devel/ocaml-extlib/Makefile
@@ -1,6 +1,6 @@
PORTNAME= extlib
DISTVERSION= 1.7.9
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= devel
MASTER_SITES= https://github.com/ygrek/ocaml-extlib/releases/download/${DISTVERSION}/
PKGNAMEPREFIX= ocaml-
diff --git a/devel/ocaml-findlib/Makefile b/devel/ocaml-findlib/Makefile
index f61db9ce2bce..66a8966c756c 100644
--- a/devel/ocaml-findlib/Makefile
+++ b/devel/ocaml-findlib/Makefile
@@ -1,6 +1,6 @@
PORTNAME= findlib
PORTVERSION= 1.9.6
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= devel
MASTER_SITES= http://download.camlcity.org/download/
PKGNAMEPREFIX= ocaml-
diff --git a/devel/ocaml-fmt/Makefile b/devel/ocaml-fmt/Makefile
index 47970ec861f5..9a96ef452c64 100644
--- a/devel/ocaml-fmt/Makefile
+++ b/devel/ocaml-fmt/Makefile
@@ -1,5 +1,6 @@
PORTNAME= fmt
PORTVERSION= 0.9.0
+PORTREVISION= 1
CATEGORIES= devel
MASTER_SITES= https://erratique.ch/software/fmt/releases/
PKGNAMEPREFIX= ocaml-
diff --git a/devel/ocaml-fpath/Makefile b/devel/ocaml-fpath/Makefile
index 1add595d5b39..89d7055db472 100644
--- a/devel/ocaml-fpath/Makefile
+++ b/devel/ocaml-fpath/Makefile
@@ -1,5 +1,6 @@
PORTNAME= fpath
PORTVERSION= 0.7.3
+PORTREVISION= 1
CATEGORIES= devel
MASTER_SITES= https://erratique.ch/software/fpath/releases/
PKGNAMEPREFIX= ocaml-
diff --git a/devel/ocaml-ipaddr/Makefile b/devel/ocaml-ipaddr/Makefile
index ca61059e39a1..1fdc4bdf514c 100644
--- a/devel/ocaml-ipaddr/Makefile
+++ b/devel/ocaml-ipaddr/Makefile
@@ -1,34 +1,49 @@
PORTNAME= ipaddr
+PORTVERSION= 5.5.0
DISTVERSIONPREFIX= v
-PORTVERSION= 3.1.0
-PORTREVISION= 1
CATEGORIES= devel
PKGNAMEPREFIX= ocaml-
MAINTAINER= ports@FreeBSD.org
COMMENT= OCaml library for manipulation of IP address representations
+WWW= https://github.com/mirage/ocaml-ipaddr
-BUILD_DEPENDS= ${LOCALBASE}/${OCAML_SITELIBDIR}/sexplib0/sexplib0.a:devel/ocaml-sexplib0 \
- dune:devel/ocaml-dune
-RUN_DEPENDS= ${LOCALBASE}/${OCAML_SITELIBDIR}/sexplib0/sexplib0.a:devel/ocaml-sexplib0
+LICENSE= ISCL
+LICENSE_FILE= ${WRKSRC}/LICENSE.md
+BUILD_DEPENDS= ${SA_DIR}/cstruct/META:devel/ocaml-cstruct \
+ ${SA_DIR}/domain-name/META:devel/ocaml-domain-name \
+ ${SA_DIR}/ppx_sexp_conv/META:devel/ocaml-ppx_sexp_conv
+RUN_DEPENDS= ${SA_DIR}/cstruct/META:devel/ocaml-cstruct \
+ ${SA_DIR}/domain-name/META:devel/ocaml-domain-name \
+ ${SA_DIR}/ppx_sexp_conv/META:devel/ocaml-ppx_sexp_conv
+
+USES= ocaml:dune
USE_GITHUB= yes
GH_ACCOUNT= mirage
GH_PROJECT= ocaml-ipaddr
+USE_OCAML= yes
+OCAML_PACKAGES= ipaddr ipaddr-cstruct ipaddr-sexp
+OCAML_PACKAGES+= macaddr macaddr-cstruct macaddr-sexp
-USES= gmake
+DOCSDIR= ${OCAML_DOCSDIR}
+PORTDOCS= ${OCAML_PACKAGES:@p@$p/CHANGES.md $p/LICENSE.md $p/README.md@}
-USE_OCAML= yes
-USE_OCAML_FINDLIB= yes
-USE_OCAML_CAMLP4= yes
-USE_OCAML_LDCONFIG= yes
+OPTIONS_DEFINE= DOCS
-post-patch:
- @${REINPLACE_CMD} -e '/^SETUP =/s,ocaml,& -unsafe-string,' \
- ${WRKSRC}/Makefile
+SA_DIR= ${LOCALBASE}/${OCAML_SITELIBDIR}
-do-install:
- cd ${INSTALL_WRKSRC} && dune install --destdir=${STAGEDIR} \
- --prefix=${PREFIX} --libdir=${PREFIX}/${OCAML_SITELIBDIR}
+post-patch:
+ @${REINPLACE_CMD} \
+ -e "s/(name ${PORTNAME})/&\n (version ${PORTVERSION})/" \
+ ${WRKSRC}/dune-project
+
+post-install:
+ @(cd ${STAGEDIR}${PREFIX}/${OCAML_SITELIBDIR}; \
+ ${STRIP_CMD} \
+ ipaddr/top/ipaddr_top.cmxs \
+ ipaddr/unix/ipaddr_unix.cmxs \
+ macaddr/top/macaddr_top.cmxs \
+ ${OCAML_PACKAGES:@p@$p/${p:S/-/_/g}.cmxs@})
.include <bsd.port.mk>
diff --git a/devel/ocaml-ipaddr/distinfo b/devel/ocaml-ipaddr/distinfo
index aa5952789eeb..3da72d47e37b 100644
--- a/devel/ocaml-ipaddr/distinfo
+++ b/devel/ocaml-ipaddr/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1684858044
-SHA256 (mirage-ocaml-ipaddr-v3.1.0_GH0.tar.gz) = 707d5f9bb6659ff1cb5850aa20f6424cbf60b681033264c4c2049af75bd923c2
-SIZE (mirage-ocaml-ipaddr-v3.1.0_GH0.tar.gz) = 25889
+TIMESTAMP = 1710533243
+SHA256 (mirage-ocaml-ipaddr-v5.5.0_GH0.tar.gz) = eb036ed6cb8d39244bfd3b87cbf3b516e1ce7ed15aecb3272505c1370202973b
+SIZE (mirage-ocaml-ipaddr-v5.5.0_GH0.tar.gz) = 36026
diff --git a/devel/ocaml-ipaddr/files/patch-lib_ipaddr.ml b/devel/ocaml-ipaddr/files/patch-lib_ipaddr.ml
deleted file mode 100644
index bfd7d0f2b3a4..000000000000
--- a/devel/ocaml-ipaddr/files/patch-lib_ipaddr.ml
+++ /dev/null
@@ -1,33 +0,0 @@
---- lib/ipaddr.ml.orig 2019-03-03 17:12:39 UTC
-+++ lib/ipaddr.ml
-@@ -69,9 +69,9 @@ let int_of_char c = match c with
- let char_A = int_of_char 'A'
-
- let int_of_char c = match c with
-- | '0'..'9' -> Pervasives.int_of_char c - char_0
-- | 'a'..'f' -> 10 + Pervasives.int_of_char c - char_a
-- | 'A'..'F' -> 10 + Pervasives.int_of_char c - char_A
-+ | '0'..'9' -> Stdlib.int_of_char c - char_0
-+ | 'a'..'f' -> 10 + Stdlib.int_of_char c - char_a
-+ | 'A'..'F' -> 10 + Stdlib.int_of_char c - char_A
- | _ -> -1
-
- let bad_char i s =
-@@ -258,7 +258,7 @@ module V4 = struct
-
- let compare (pre,sz) (pre',sz') =
- let c = compare pre pre' in
-- if c = 0 then Pervasives.compare sz sz' else c
-+ if c = 0 then Stdlib.compare sz sz' else c
-
- let ip = make
-
-@@ -706,7 +706,7 @@ module V6 = struct
-
- let compare (pre,sz) (pre',sz') =
- let c = compare pre pre' in
-- if c = 0 then Pervasives.compare sz sz' else c
-+ if c = 0 then Stdlib.compare sz sz' else c
-
- let ip = make
-
diff --git a/devel/ocaml-ipaddr/pkg-plist b/devel/ocaml-ipaddr/pkg-plist
index 08a422df4a53..6114e117f2ce 100644
--- a/devel/ocaml-ipaddr/pkg-plist
+++ b/devel/ocaml-ipaddr/pkg-plist
@@ -1,3 +1,29 @@
+%%OCAML_SITELIBDIR%%/ipaddr-cstruct/META
+%%OCAML_SITELIBDIR%%/ipaddr-cstruct/dune-package
+%%OCAML_SITELIBDIR%%/ipaddr-cstruct/ipaddr_cstruct.a
+%%OCAML_SITELIBDIR%%/ipaddr-cstruct/ipaddr_cstruct.cma
+%%OCAML_SITELIBDIR%%/ipaddr-cstruct/ipaddr_cstruct.cmi
+%%OCAML_SITELIBDIR%%/ipaddr-cstruct/ipaddr_cstruct.cmt
+%%OCAML_SITELIBDIR%%/ipaddr-cstruct/ipaddr_cstruct.cmti
+%%OCAML_SITELIBDIR%%/ipaddr-cstruct/ipaddr_cstruct.cmx
+%%OCAML_SITELIBDIR%%/ipaddr-cstruct/ipaddr_cstruct.cmxa
+%%OCAML_SITELIBDIR%%/ipaddr-cstruct/ipaddr_cstruct.cmxs
+%%OCAML_SITELIBDIR%%/ipaddr-cstruct/ipaddr_cstruct.ml
+%%OCAML_SITELIBDIR%%/ipaddr-cstruct/ipaddr_cstruct.mli
+%%OCAML_SITELIBDIR%%/ipaddr-cstruct/opam
+%%OCAML_SITELIBDIR%%/ipaddr-sexp/META
+%%OCAML_SITELIBDIR%%/ipaddr-sexp/dune-package
+%%OCAML_SITELIBDIR%%/ipaddr-sexp/ipaddr_sexp.a
+%%OCAML_SITELIBDIR%%/ipaddr-sexp/ipaddr_sexp.cma
+%%OCAML_SITELIBDIR%%/ipaddr-sexp/ipaddr_sexp.cmi
+%%OCAML_SITELIBDIR%%/ipaddr-sexp/ipaddr_sexp.cmt
+%%OCAML_SITELIBDIR%%/ipaddr-sexp/ipaddr_sexp.cmti
+%%OCAML_SITELIBDIR%%/ipaddr-sexp/ipaddr_sexp.cmx
+%%OCAML_SITELIBDIR%%/ipaddr-sexp/ipaddr_sexp.cmxa
+%%OCAML_SITELIBDIR%%/ipaddr-sexp/ipaddr_sexp.cmxs
+%%OCAML_SITELIBDIR%%/ipaddr-sexp/ipaddr_sexp.ml
+%%OCAML_SITELIBDIR%%/ipaddr-sexp/ipaddr_sexp.mli
+%%OCAML_SITELIBDIR%%/ipaddr-sexp/opam
%%OCAML_SITELIBDIR%%/ipaddr/META
%%OCAML_SITELIBDIR%%/ipaddr/dune-package
%%OCAML_SITELIBDIR%%/ipaddr/ipaddr.a
@@ -11,16 +37,6 @@
%%OCAML_SITELIBDIR%%/ipaddr/ipaddr.ml
%%OCAML_SITELIBDIR%%/ipaddr/ipaddr.mli
%%OCAML_SITELIBDIR%%/ipaddr/opam
-%%OCAML_SITELIBDIR%%/ipaddr/sexp/ipaddr_sexp.a
-%%OCAML_SITELIBDIR%%/ipaddr/sexp/ipaddr_sexp.cma
-%%OCAML_SITELIBDIR%%/ipaddr/sexp/ipaddr_sexp.cmi
-%%OCAML_SITELIBDIR%%/ipaddr/sexp/ipaddr_sexp.cmt
-%%OCAML_SITELIBDIR%%/ipaddr/sexp/ipaddr_sexp.cmti
-%%OCAML_SITELIBDIR%%/ipaddr/sexp/ipaddr_sexp.cmx
-%%OCAML_SITELIBDIR%%/ipaddr/sexp/ipaddr_sexp.cmxa
-%%OCAML_SITELIBDIR%%/ipaddr/sexp/ipaddr_sexp.cmxs
-%%OCAML_SITELIBDIR%%/ipaddr/sexp/ipaddr_sexp.ml
-%%OCAML_SITELIBDIR%%/ipaddr/sexp/ipaddr_sexp.mli
%%OCAML_SITELIBDIR%%/ipaddr/top/ipaddr_top.a
%%OCAML_SITELIBDIR%%/ipaddr/top/ipaddr_top.cma
%%OCAML_SITELIBDIR%%/ipaddr/top/ipaddr_top.cmi
@@ -41,6 +57,32 @@
%%OCAML_SITELIBDIR%%/ipaddr/unix/ipaddr_unix.cmxs
%%OCAML_SITELIBDIR%%/ipaddr/unix/ipaddr_unix.ml
%%OCAML_SITELIBDIR%%/ipaddr/unix/ipaddr_unix.mli
+%%OCAML_SITELIBDIR%%/macaddr-cstruct/META
+%%OCAML_SITELIBDIR%%/macaddr-cstruct/dune-package
+%%OCAML_SITELIBDIR%%/macaddr-cstruct/macaddr_cstruct.a
+%%OCAML_SITELIBDIR%%/macaddr-cstruct/macaddr_cstruct.cma
+%%OCAML_SITELIBDIR%%/macaddr-cstruct/macaddr_cstruct.cmi
+%%OCAML_SITELIBDIR%%/macaddr-cstruct/macaddr_cstruct.cmt
+%%OCAML_SITELIBDIR%%/macaddr-cstruct/macaddr_cstruct.cmti
+%%OCAML_SITELIBDIR%%/macaddr-cstruct/macaddr_cstruct.cmx
+%%OCAML_SITELIBDIR%%/macaddr-cstruct/macaddr_cstruct.cmxa
+%%OCAML_SITELIBDIR%%/macaddr-cstruct/macaddr_cstruct.cmxs
+%%OCAML_SITELIBDIR%%/macaddr-cstruct/macaddr_cstruct.ml
+%%OCAML_SITELIBDIR%%/macaddr-cstruct/macaddr_cstruct.mli
+%%OCAML_SITELIBDIR%%/macaddr-cstruct/opam
+%%OCAML_SITELIBDIR%%/macaddr-sexp/META
+%%OCAML_SITELIBDIR%%/macaddr-sexp/dune-package
+%%OCAML_SITELIBDIR%%/macaddr-sexp/macaddr_sexp.a
+%%OCAML_SITELIBDIR%%/macaddr-sexp/macaddr_sexp.cma
+%%OCAML_SITELIBDIR%%/macaddr-sexp/macaddr_sexp.cmi
+%%OCAML_SITELIBDIR%%/macaddr-sexp/macaddr_sexp.cmt
+%%OCAML_SITELIBDIR%%/macaddr-sexp/macaddr_sexp.cmti
+%%OCAML_SITELIBDIR%%/macaddr-sexp/macaddr_sexp.cmx
+%%OCAML_SITELIBDIR%%/macaddr-sexp/macaddr_sexp.cmxa
+%%OCAML_SITELIBDIR%%/macaddr-sexp/macaddr_sexp.cmxs
+%%OCAML_SITELIBDIR%%/macaddr-sexp/macaddr_sexp.ml
+%%OCAML_SITELIBDIR%%/macaddr-sexp/macaddr_sexp.mli
+%%OCAML_SITELIBDIR%%/macaddr-sexp/opam
%%OCAML_SITELIBDIR%%/macaddr/META
%%OCAML_SITELIBDIR%%/macaddr/dune-package
%%OCAML_SITELIBDIR%%/macaddr/macaddr.a
@@ -54,16 +96,6 @@
%%OCAML_SITELIBDIR%%/macaddr/macaddr.ml
%%OCAML_SITELIBDIR%%/macaddr/macaddr.mli
%%OCAML_SITELIBDIR%%/macaddr/opam
-%%OCAML_SITELIBDIR%%/macaddr/sexp/macaddr_sexp.a
-%%OCAML_SITELIBDIR%%/macaddr/sexp/macaddr_sexp.cma
-%%OCAML_SITELIBDIR%%/macaddr/sexp/macaddr_sexp.cmi
-%%OCAML_SITELIBDIR%%/macaddr/sexp/macaddr_sexp.cmt
-%%OCAML_SITELIBDIR%%/macaddr/sexp/macaddr_sexp.cmti
-%%OCAML_SITELIBDIR%%/macaddr/sexp/macaddr_sexp.cmx
-%%OCAML_SITELIBDIR%%/macaddr/sexp/macaddr_sexp.cmxa
-%%OCAML_SITELIBDIR%%/macaddr/sexp/macaddr_sexp.cmxs
-%%OCAML_SITELIBDIR%%/macaddr/sexp/macaddr_sexp.ml
-%%OCAML_SITELIBDIR%%/macaddr/sexp/macaddr_sexp.mli
%%OCAML_SITELIBDIR%%/macaddr/top/macaddr_top.a
%%OCAML_SITELIBDIR%%/macaddr/top/macaddr_top.cma
%%OCAML_SITELIBDIR%%/macaddr/top/macaddr_top.cmi
@@ -72,9 +104,3 @@
%%OCAML_SITELIBDIR%%/macaddr/top/macaddr_top.cmxa
%%OCAML_SITELIBDIR%%/macaddr/top/macaddr_top.cmxs
%%OCAML_SITELIBDIR%%/macaddr/top/macaddr_top.ml
-share/doc/ocaml/ipaddr/CHANGES.md
-share/doc/ocaml/ipaddr/LICENSE.md
-share/doc/ocaml/ipaddr/README.md
-share/doc/ocaml/macaddr/CHANGES.md
-share/doc/ocaml/macaddr/LICENSE.md
-share/doc/ocaml/macaddr/README.md
diff --git a/devel/ocaml-lacaml/Makefile b/devel/ocaml-lacaml/Makefile
index a2990756c479..2553b6f28c8a 100644
--- a/devel/ocaml-lacaml/Makefile
+++ b/devel/ocaml-lacaml/Makefile
@@ -1,6 +1,6 @@
PORTNAME= lacaml
PORTVERSION= 8.0.7
-PORTREVISION= 13
+PORTREVISION= 14
CATEGORIES= devel
MASTER_SITES= https://github.com/mmottl/lacaml/releases/download/v${PORTVERSION}/
PKGNAMEPREFIX= ocaml-
diff --git a/devel/ocaml-logs/Makefile b/devel/ocaml-logs/Makefile
index e9ad8ccf1409..c0f1b18cb582 100644
--- a/devel/ocaml-logs/Makefile
+++ b/devel/ocaml-logs/Makefile
@@ -1,5 +1,6 @@
PORTNAME= logs
PORTVERSION= 0.7.0
+PORTREVISION= 1
CATEGORIES= devel
MASTER_SITES= https://erratique.ch/software/logs/releases/
PKGNAMEPREFIX= ocaml-
diff --git a/devel/ocaml-lwt/Makefile b/devel/ocaml-lwt/Makefile
index 0df0951b8cc2..06e1332b6480 100644
--- a/devel/ocaml-lwt/Makefile
+++ b/devel/ocaml-lwt/Makefile
@@ -1,6 +1,5 @@
PORTNAME= lwt
-PORTVERSION= 2.5.2
-PORTREVISION= 2
+PORTVERSION= 5.7.0
CATEGORIES= devel
PKGNAMEPREFIX= ocaml-
@@ -9,64 +8,51 @@ COMMENT= Cooperative threading library for OCaml
LICENSE= LGPL21
-BUILD_DEPENDS= ${SA_DIR}/react/react.a:devel/ocaml-react \
- ${SA_DIR}/ssl/ssl.a:security/ocaml-ssl
-BUILD_DEPENDS+= ocamlbuild:devel/ocaml-ocamlbuild
-RUN_DEPENDS= ${SA_DIR}/react/react.a:devel/ocaml-react \
- ${SA_DIR}/ssl/ssl.a:security/ocaml-ssl
+BUILD_DEPENDS= ${SA_DIR}/ocplib-endian/META:devel/ocaml-ocplib-endian \
+ ${SA_DIR}/ppxlib/META:devel/ocaml-ppxlib \
+ ${SA_DIR}/react/react.a:devel/ocaml-react
+BUILD_DEPENDS+= cppo:devel/ocaml-cppo
+RUN_DEPENDS= ${SA_DIR}/ocplib-endian/META:devel/ocaml-ocplib-endian \
+ ${SA_DIR}/ppxlib/META:devel/ocaml-ppxlib \
+ ${SA_DIR}/react/react.a:devel/ocaml-react
+LIB_DEPENDS= libev.so:devel/libev
USE_GITHUB= yes
GH_ACCOUNT= ocsigen
-MAKE_JOBS_UNSAFE= yes
-
-USES= gmake
+USES= ocaml:dune
USE_OCAML= yes
-OCAMLC_DEPEND= ocaml>=4.14:${OCAMLC_PORT}
-USE_OCAML_FINDLIB= yes
-USE_OCAML_CAMLP4= yes
-USE_OCAMLFIND_PLIST= yes
+OCAML_PACKAGES= lwt lwt_ppx lwt_ppx_let lwt_react
USE_OCAML_LDCONFIG= yes
-HAS_CONFIGURE= yes
-CONFIGURE_ARGS= --destdir "${STAGEDIR}" \
- --prefix "${PREFIX}" \
- --enable-camlp4 \
- --enable-ssl \
- --enable-react \
- --disable-libev \
- --disable-glib
-
-DOCSDIR= ${PREFIX}/share/doc/ocaml/${PORTNAME}
-SA_DIR= ${LOCALBASE}/${OCAML_SITELIBDIR}
-OPTIONS_DEFINE= DOCS
+DOCSDIR= ${OCAML_DOCSDIR}
+PORTDOCS= lwt/CHANGES lwt/LICENSE.md lwt/README.md lwt/odoc-pages \
+ lwt_ppx/CHANGES lwt_ppx/LICENSE.md lwt_ppx/README.md \
+ lwt_ppx_let/CHANGES lwt_ppx_let/LICENSE.md lwt_ppx_let/README.md \
+ lwt_react/CHANGES lwt_react/LICENSE.md lwt_react/README.md
-DOCS_CONFIGURE_ENABLE= docs
-DOCS_CONFIGURE_ON= --docdir ${STAGEDIR}${DOCSDIR}
-# For some reason, ocaml-text is needed when building documentation
-DOCS_BUILD_DEPENDS= ${SA_DIR}/text/text.a:textproc/ocaml-text
-DOCS_RUN_DEPENDS= ${SA_DIR}/text/text.a:textproc/ocaml-text
+OPTIONS_DEFINE= DOCS
-post-patch:
- @${REINPLACE_CMD} -e 's,"install" :: findlib_name,"install" :: "-destdir ${STAGEDIR}${PREFIX}/lib/ocaml/site-lib" :: "-ldconf /dev/null" :: findlib_name,' \
- ${WRKSRC}/setup.ml
- @${REINPLACE_CMD} -e 's,| O_CLOEXEC,& | O_KEEPEXEC, \
- ; s,else Unix\.socketpair ,&?cloexec:None,' \
- ${WRKSRC}/src/unix/lwt_unix.ml \
- ${WRKSRC}/src/unix/lwt_unix.mli
- @${REINPLACE_CMD} -e 's,socket -> string,socket -> bytes,' \
- ${WRKSRC}/src/ssl/lwt_ssl.mli
+SA_DIR= ${LOCALBASE}/${OCAML_SITELIBDIR}
do-configure:
- cd ${WRKSRC}; ocaml setup.ml -configure ${CONFIGURE_ARGS}
- @${REINPLACE_CMD} -e 's%"-lev"%"-lev -L${PREFIX}/lib/ev -Wl,-R${PREFIX}/lib/ev"%' \
- ${WRKSRC}/setup.data
-
-do-build:
- cd ${WRKSRC}; ocaml setup.ml -build
-
-do-install:
- ${MKDIR} ${STAGEDIR}${PREFIX}/${OCAML_SITELIBDIR}
- cd ${WRKSRC}; ocaml setup.ml -install
+ @(cd ${WRKSRC}; \
+ ${SETENVI} ${WRK_ENV} ${SCRIPT_ENV} ${DUNE_CMD} exec \
+ --display=short --always-show-command-line \
+ --no-config -j ${MAKE_JOBS_NUMBER} --profile release \
+ --root=${DUNE_ROOT} --build-dir=${DUNE_BUILD_DIR} \
+ --promote-install-files --ignore-promoted-rules \
+ --default-target @install --require-dune-project-file \
+ --only-packages=lwt \
+ src/unix/config/discover.exe -- --save --use-libev true --libev-default true)
+
+post-install:
+ @${STRIP_CMD} \
+ ${STAGEDIR}${PREFIX}/${OCAML_SITELIBDIR}/lwt/dlllwt_unix_stubs.so \
+ ${STAGEDIR}${PREFIX}/${OCAML_SITELIBDIR}/lwt/lwt.cmxs \
+ ${STAGEDIR}${PREFIX}/${OCAML_SITELIBDIR}/lwt/unix/lwt_unix.cmxs \
+ ${STAGEDIR}${PREFIX}/${OCAML_SITELIBDIR}/lwt_ppx/ppx.exe \
+ ${STAGEDIR}${PREFIX}/${OCAML_SITELIBDIR}/lwt_ppx/ppx_lwt.cmxs \
+ ${STAGEDIR}${PREFIX}/${OCAML_SITELIBDIR}/lwt_react/lwt_react.cmxs
.include <bsd.port.mk>
diff --git a/devel/ocaml-lwt/distinfo b/devel/ocaml-lwt/distinfo
index ed04d7d0d0fc..85552befb2f8 100644
--- a/devel/ocaml-lwt/distinfo
+++ b/devel/ocaml-lwt/distinfo
@@ -1,2 +1,3 @@
-SHA256 (ocsigen-lwt-2.5.2_GH0.tar.gz) = b319514cf51656780a8f609a63ead08d3052a442546b218530ce146d37bf6331
-SIZE (ocsigen-lwt-2.5.2_GH0.tar.gz) = 268168
+TIMESTAMP = 1710429313
+SHA256 (ocsigen-lwt-5.7.0_GH0.tar.gz) = 371031c38071f6f1b1b815cbe07f436c013af8fd8c4862c57a12e37c15c8b785
+SIZE (ocsigen-lwt-5.7.0_GH0.tar.gz) = 313632
diff --git a/devel/ocaml-lwt/files/patch-src_unix_lwt__bytes.ml b/devel/ocaml-lwt/files/patch-src_unix_lwt__bytes.ml
deleted file mode 100644
index 8bb709e1ac73..000000000000
--- a/devel/ocaml-lwt/files/patch-src_unix_lwt__bytes.ml
+++ /dev/null
@@ -1,12 +0,0 @@
---- src/unix/lwt_bytes.ml.orig 2016-04-25 14:32:43 UTC
-+++ src/unix/lwt_bytes.ml
-@@ -219,7 +219,8 @@ let map_file ~fd ?pos ~shared ?(size=(-1)) () =
- +-----------------------------------------------------------------+ *)
-
- let map_file ~fd ?pos ~shared ?(size=(-1)) () =
-- Array1.map_file fd ?pos char c_layout shared size
-+ Unix.map_file fd ?pos char c_layout shared [|size|]
-+ |> Bigarray.array1_of_genarray
-
- external mapped : t -> bool = "lwt_unix_mapped" "noalloc"
-
diff --git a/devel/ocaml-lwt/files/patch-src_unix_lwt__unix.ml b/devel/ocaml-lwt/files/patch-src_unix_lwt__unix.ml
deleted file mode 100644
index bb800a8b59f2..000000000000
--- a/devel/ocaml-lwt/files/patch-src_unix_lwt__unix.ml
+++ /dev/null
@@ -1,10 +0,0 @@
---- src/unix/lwt_unix.ml.orig 2024-02-01 21:33:02 UTC
-+++ src/unix/lwt_unix.ml
-@@ -1471,6 +1471,7 @@ type socket_bool_option =
- | SO_ACCEPTCONN
- | TCP_NODELAY
- | IPV6_ONLY
-+ | SO_REUSEPORT
-
- type socket_int_option =
- Unix.socket_int_option =
diff --git a/devel/ocaml-lwt/files/patch-src_unix_lwt__unix.mli b/devel/ocaml-lwt/files/patch-src_unix_lwt__unix.mli
deleted file mode 100644
index de1c8c4a7d8b..000000000000
--- a/devel/ocaml-lwt/files/patch-src_unix_lwt__unix.mli
+++ /dev/null
@@ -1,10 +0,0 @@
---- src/unix/lwt_unix.mli.orig 2016-04-25 14:32:43 UTC
-+++ src/unix/lwt_unix.mli
-@@ -806,6 +806,7 @@ type socket_bool_option =
- | SO_ACCEPTCONN
- | TCP_NODELAY
- | IPV6_ONLY
-+ | SO_REUSEPORT
-
- type socket_int_option =
- Unix.socket_int_option =
diff --git a/devel/ocaml-lwt/pkg-plist b/devel/ocaml-lwt/pkg-plist
new file mode 100644
index 000000000000..9ed12c00d3df
--- /dev/null
+++ b/devel/ocaml-lwt/pkg-plist
@@ -0,0 +1,198 @@
+%%OCAML_SITELIBDIR%%/lwt/META
+%%OCAML_SITELIBDIR%%/lwt/dlllwt_unix_stubs.so
+%%OCAML_SITELIBDIR%%/lwt/dune-package
+%%OCAML_SITELIBDIR%%/lwt/lwt.a
+%%OCAML_SITELIBDIR%%/lwt/lwt.cma
+%%OCAML_SITELIBDIR%%/lwt/lwt.cmi
+%%OCAML_SITELIBDIR%%/lwt/lwt.cmt
+%%OCAML_SITELIBDIR%%/lwt/lwt.cmti
+%%OCAML_SITELIBDIR%%/lwt/lwt.cmx
+%%OCAML_SITELIBDIR%%/lwt/lwt.cmxa
+%%OCAML_SITELIBDIR%%/lwt/lwt.cmxs
+%%OCAML_SITELIBDIR%%/lwt/lwt.ml
+%%OCAML_SITELIBDIR%%/lwt/lwt.mli
+%%OCAML_SITELIBDIR%%/lwt/lwt_condition.cmi
+%%OCAML_SITELIBDIR%%/lwt/lwt_condition.cmt
+%%OCAML_SITELIBDIR%%/lwt/lwt_condition.cmti
+%%OCAML_SITELIBDIR%%/lwt/lwt_condition.cmx
+%%OCAML_SITELIBDIR%%/lwt/lwt_condition.ml
+%%OCAML_SITELIBDIR%%/lwt/lwt_condition.mli
+%%OCAML_SITELIBDIR%%/lwt/lwt_list.cmi
+%%OCAML_SITELIBDIR%%/lwt/lwt_list.cmt
+%%OCAML_SITELIBDIR%%/lwt/lwt_list.cmti
+%%OCAML_SITELIBDIR%%/lwt/lwt_list.cmx
+%%OCAML_SITELIBDIR%%/lwt/lwt_list.ml
+%%OCAML_SITELIBDIR%%/lwt/lwt_list.mli
+%%OCAML_SITELIBDIR%%/lwt/lwt_mutex.cmi
+%%OCAML_SITELIBDIR%%/lwt/lwt_mutex.cmt
+%%OCAML_SITELIBDIR%%/lwt/lwt_mutex.cmti
+%%OCAML_SITELIBDIR%%/lwt/lwt_mutex.cmx
+%%OCAML_SITELIBDIR%%/lwt/lwt_mutex.ml
+%%OCAML_SITELIBDIR%%/lwt/lwt_mutex.mli
+%%OCAML_SITELIBDIR%%/lwt/lwt_mvar.cmi
+%%OCAML_SITELIBDIR%%/lwt/lwt_mvar.cmt
+%%OCAML_SITELIBDIR%%/lwt/lwt_mvar.cmti
+%%OCAML_SITELIBDIR%%/lwt/lwt_mvar.cmx
+%%OCAML_SITELIBDIR%%/lwt/lwt_mvar.ml
+%%OCAML_SITELIBDIR%%/lwt/lwt_mvar.mli
+%%OCAML_SITELIBDIR%%/lwt/lwt_pool.cmi
+%%OCAML_SITELIBDIR%%/lwt/lwt_pool.cmt
+%%OCAML_SITELIBDIR%%/lwt/lwt_pool.cmti
+%%OCAML_SITELIBDIR%%/lwt/lwt_pool.cmx
+%%OCAML_SITELIBDIR%%/lwt/lwt_pool.ml
+%%OCAML_SITELIBDIR%%/lwt/lwt_pool.mli
+%%OCAML_SITELIBDIR%%/lwt/lwt_pqueue.cmi
+%%OCAML_SITELIBDIR%%/lwt/lwt_pqueue.cmt
+%%OCAML_SITELIBDIR%%/lwt/lwt_pqueue.cmti
+%%OCAML_SITELIBDIR%%/lwt/lwt_pqueue.cmx
+%%OCAML_SITELIBDIR%%/lwt/lwt_pqueue.ml
+%%OCAML_SITELIBDIR%%/lwt/lwt_pqueue.mli
+%%OCAML_SITELIBDIR%%/lwt/lwt_result.cmi
+%%OCAML_SITELIBDIR%%/lwt/lwt_result.cmt
+%%OCAML_SITELIBDIR%%/lwt/lwt_result.cmti
+%%OCAML_SITELIBDIR%%/lwt/lwt_result.cmx
+%%OCAML_SITELIBDIR%%/lwt/lwt_result.ml
+%%OCAML_SITELIBDIR%%/lwt/lwt_result.mli
+%%OCAML_SITELIBDIR%%/lwt/lwt_seq.cmi
+%%OCAML_SITELIBDIR%%/lwt/lwt_seq.cmt
+%%OCAML_SITELIBDIR%%/lwt/lwt_seq.cmti
+%%OCAML_SITELIBDIR%%/lwt/lwt_seq.cmx
+%%OCAML_SITELIBDIR%%/lwt/lwt_seq.ml
+%%OCAML_SITELIBDIR%%/lwt/lwt_seq.mli
+%%OCAML_SITELIBDIR%%/lwt/lwt_sequence.cmi
+%%OCAML_SITELIBDIR%%/lwt/lwt_sequence.cmt
+%%OCAML_SITELIBDIR%%/lwt/lwt_sequence.cmti
+%%OCAML_SITELIBDIR%%/lwt/lwt_sequence.cmx
+%%OCAML_SITELIBDIR%%/lwt/lwt_sequence.ml
+%%OCAML_SITELIBDIR%%/lwt/lwt_sequence.mli
+%%OCAML_SITELIBDIR%%/lwt/lwt_stream.cmi
+%%OCAML_SITELIBDIR%%/lwt/lwt_stream.cmt
+%%OCAML_SITELIBDIR%%/lwt/lwt_stream.cmti
+%%OCAML_SITELIBDIR%%/lwt/lwt_stream.cmx
+%%OCAML_SITELIBDIR%%/lwt/lwt_stream.ml
+%%OCAML_SITELIBDIR%%/lwt/lwt_stream.mli
+%%OCAML_SITELIBDIR%%/lwt/lwt_switch.cmi
+%%OCAML_SITELIBDIR%%/lwt/lwt_switch.cmt
+%%OCAML_SITELIBDIR%%/lwt/lwt_switch.cmti
+%%OCAML_SITELIBDIR%%/lwt/lwt_switch.cmx
+%%OCAML_SITELIBDIR%%/lwt/lwt_switch.ml
+%%OCAML_SITELIBDIR%%/lwt/lwt_switch.mli
+%%OCAML_SITELIBDIR%%/lwt/opam
+%%OCAML_SITELIBDIR%%/lwt/unix/liblwt_unix_stubs.a
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_bytes.cmi
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_bytes.cmt
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_bytes.cmti
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_bytes.cmx
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_bytes.ml
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_bytes.mli
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_config.cmi
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_config.cmt
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_config.cmx
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_config.h
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_config.ml
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_engine.cmi
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_engine.cmt
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_engine.cmti
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_engine.cmx
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_engine.ml
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_engine.mli
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_features.cmi
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_features.cmt
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_features.cmx
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_features.h
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_features.ml
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_fmt.cmi
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_fmt.cmt
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_fmt.cmti
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_fmt.cmx
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_fmt.ml
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_fmt.mli
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_gc.cmi
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_gc.cmt
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_gc.cmti
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_gc.cmx
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_gc.ml
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_gc.mli
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_io.cmi
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_io.cmt
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_io.cmti
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_io.cmx
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_io.ml
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_io.mli
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_main.cmi
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_main.cmt
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_main.cmti
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_main.cmx
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_main.ml
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_main.mli
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_preemptive.cmi
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_preemptive.cmt
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_preemptive.cmti
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_preemptive.cmx
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_preemptive.ml
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_preemptive.mli
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_process.cmi
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_process.cmt
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_process.cmti
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_process.cmx
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_process.ml
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_process.mli
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_sys.cmi
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_sys.cmt
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_sys.cmti
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_sys.cmx
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_sys.ml
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_sys.mli
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_throttle.cmi
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_throttle.cmt
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_throttle.cmti
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_throttle.cmx
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_throttle.ml
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_throttle.mli
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_timeout.cmi
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_timeout.cmt
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_timeout.cmti
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_timeout.cmx
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_timeout.ml
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_timeout.mli
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_unix.a
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_unix.cma
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_unix.cmi
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_unix.cmt
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_unix.cmti
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_unix.cmx
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_unix.cmxa
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_unix.cmxs
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_unix.h
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_unix.ml
+%%OCAML_SITELIBDIR%%/lwt/unix/lwt_unix.mli
+%%OCAML_SITELIBDIR%%/lwt_ppx/META
+%%OCAML_SITELIBDIR%%/lwt_ppx/dune-package
+%%OCAML_SITELIBDIR%%/lwt_ppx/opam
+%%OCAML_SITELIBDIR%%/lwt_ppx/ppx.exe
+%%OCAML_SITELIBDIR%%/lwt_ppx/ppx_lwt.a
+%%OCAML_SITELIBDIR%%/lwt_ppx/ppx_lwt.cma
+%%OCAML_SITELIBDIR%%/lwt_ppx/ppx_lwt.cmi
+%%OCAML_SITELIBDIR%%/lwt_ppx/ppx_lwt.cmt
+%%OCAML_SITELIBDIR%%/lwt_ppx/ppx_lwt.cmti
+%%OCAML_SITELIBDIR%%/lwt_ppx/ppx_lwt.cmx
+%%OCAML_SITELIBDIR%%/lwt_ppx/ppx_lwt.cmxa
+%%OCAML_SITELIBDIR%%/lwt_ppx/ppx_lwt.cmxs
+%%OCAML_SITELIBDIR%%/lwt_ppx/ppx_lwt.ml
+%%OCAML_SITELIBDIR%%/lwt_ppx/ppx_lwt.mli
+%%OCAML_SITELIBDIR%%/lwt_ppx_let/META
+%%OCAML_SITELIBDIR%%/lwt_ppx_let/dune-package
+%%OCAML_SITELIBDIR%%/lwt_ppx_let/opam
+%%OCAML_SITELIBDIR%%/lwt_react/META
+%%OCAML_SITELIBDIR%%/lwt_react/dune-package
+%%OCAML_SITELIBDIR%%/lwt_react/lwt_react.a
+%%OCAML_SITELIBDIR%%/lwt_react/lwt_react.cma
+%%OCAML_SITELIBDIR%%/lwt_react/lwt_react.cmi
+%%OCAML_SITELIBDIR%%/lwt_react/lwt_react.cmt
+%%OCAML_SITELIBDIR%%/lwt_react/lwt_react.cmti
+%%OCAML_SITELIBDIR%%/lwt_react/lwt_react.cmx
+%%OCAML_SITELIBDIR%%/lwt_react/lwt_react.cmxa
+%%OCAML_SITELIBDIR%%/lwt_react/lwt_react.cmxs
+%%OCAML_SITELIBDIR%%/lwt_react/lwt_react.ml
+%%OCAML_SITELIBDIR%%/lwt_react/lwt_react.mli
+%%OCAML_SITELIBDIR%%/lwt_react/opam
diff --git a/devel/ocaml-magic/Makefile b/devel/ocaml-magic/Makefile
index 8baf52fc6ade..376198661680 100644
--- a/devel/ocaml-magic/Makefile
+++ b/devel/ocaml-magic/Makefile
@@ -1,6 +1,6 @@
PORTNAME= magic
PORTVERSION= 0.7.3
-PORTREVISION= 5
+PORTREVISION= 6
CATEGORIES= devel
MASTER_SITES= SF/ocaml-${PORTNAME}/ocaml-${PORTNAME}/0.7
PKGNAMEPREFIX= ocaml-
diff --git a/devel/ocaml-mtime/Makefile b/devel/ocaml-mtime/Makefile
index 17b5851c53e7..d9e50ac4df75 100644
--- a/devel/ocaml-mtime/Makefile
+++ b/devel/ocaml-mtime/Makefile
@@ -1,5 +1,6 @@
PORTNAME= mtime
PORTVERSION= 2.0.0
+PORTREVISION= 1
CATEGORIES= devel
MASTER_SITES= https://erratique.ch/software/mtime/releases/
PKGNAMEPREFIX= ocaml-
diff --git a/devel/ocaml-ocamlbuild/Makefile b/devel/ocaml-ocamlbuild/Makefile
index 98bf668cb0e7..c4edd51eb2b1 100644
--- a/devel/ocaml-ocamlbuild/Makefile
+++ b/devel/ocaml-ocamlbuild/Makefile
@@ -1,6 +1,6 @@
PORTNAME= ocamlbuild
PORTVERSION= 0.14.2
-PORTREVISION= 4
+PORTREVISION= 5
CATEGORIES= devel
PKGNAMEPREFIX= ocaml-
diff --git a/devel/ocaml-ocplib-endian/Makefile b/devel/ocaml-ocplib-endian/Makefile
new file mode 100644
index 000000000000..eeac1f34965a
--- /dev/null
+++ b/devel/ocaml-ocplib-endian/Makefile
@@ -0,0 +1,34 @@
+PORTNAME= ocplib-endian
+PORTVERSION= 1.2
+CATEGORIES= devel
+PKGNAMEPREFIX= ocaml-
+
+MAINTAINER= freebsd@dev.thsi.be
+COMMENT= Optimized manipulation of integers over the standard byte-array types of OCaml
+WWW= https://github.com/janestreet/base
+
+LICENSE= LGPL21+ # with a special exception to clause 6
+
+BUILD_DEPENDS= cppo:devel/ocaml-cppo
+
+USES= ocaml:dune
+USE_GITHUB= yes
+GH_ACCOUNT= OCamlPro
+USE_OCAML= yes
+
+DOCSDIR= ${OCAML_DOCSDIR}/${PORTNAME}
+PORTDOCS= CHANGES.md README.md
+
+OPTIONS_DEFINE= DOCS
+
+post-patch:
+ @${REINPLACE_CMD} \
+ -e "s/(name ${PORTNAME})/&\n (version ${PORTVERSION})/" \
+ ${WRKSRC}/dune-project
+
+post-install:
+ @${STRIP_CMD} \
+ ${STAGEDIR}${PREFIX}/${OCAML_SITELIBDIR}/${PORTNAME}/bigstring/ocplib_endian_bigstring.cmxs \
+ ${STAGEDIR}${PREFIX}/${OCAML_SITELIBDIR}/${PORTNAME}/ocplib_endian.cmxs
+
+.include <bsd.port.mk>
diff --git a/devel/ocaml-ocplib-endian/distinfo b/devel/ocaml-ocplib-endian/distinfo
new file mode 100644
index 000000000000..3aef1ff89a63
--- /dev/null
+++ b/devel/ocaml-ocplib-endian/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1710446606
+SHA256 (OCamlPro-ocplib-endian-1.2_GH0.tar.gz) = 97ae74e8aeead46a0475df14af637ce78e2372c07258619ad8967506f2d4b320
+SIZE (OCamlPro-ocplib-endian-1.2_GH0.tar.gz) = 18061
diff --git a/devel/ocaml-ocplib-endian/pkg-descr b/devel/ocaml-ocplib-endian/pkg-descr
new file mode 100644
index 000000000000..71a55cbf9de2
--- /dev/null
+++ b/devel/ocaml-ocplib-endian/pkg-descr
@@ -0,0 +1,2 @@
+This OCaml library allows to read and write 8/16/32/64-bits integers
+from and to Bigstring, Bytes and String, using a specific endianness.
diff --git a/devel/ocaml-ocplib-endian/pkg-plist b/devel/ocaml-ocplib-endian/pkg-plist
new file mode 100644
index 000000000000..4bf5de42daf6
--- /dev/null
+++ b/devel/ocaml-ocplib-endian/pkg-plist
@@ -0,0 +1,29 @@
+%%OCAML_SITELIBDIR%%/ocplib-endian/META
+%%OCAML_SITELIBDIR%%/ocplib-endian/bigstring/endianBigstring.cmi
+%%OCAML_SITELIBDIR%%/ocplib-endian/bigstring/endianBigstring.cmt
+%%OCAML_SITELIBDIR%%/ocplib-endian/bigstring/endianBigstring.cmti
+%%OCAML_SITELIBDIR%%/ocplib-endian/bigstring/endianBigstring.cmx
+%%OCAML_SITELIBDIR%%/ocplib-endian/bigstring/endianBigstring.ml
+%%OCAML_SITELIBDIR%%/ocplib-endian/bigstring/endianBigstring.mli
+%%OCAML_SITELIBDIR%%/ocplib-endian/bigstring/ocplib_endian_bigstring.a
+%%OCAML_SITELIBDIR%%/ocplib-endian/bigstring/ocplib_endian_bigstring.cma
+%%OCAML_SITELIBDIR%%/ocplib-endian/bigstring/ocplib_endian_bigstring.cmxa
+%%OCAML_SITELIBDIR%%/ocplib-endian/bigstring/ocplib_endian_bigstring.cmxs
+%%OCAML_SITELIBDIR%%/ocplib-endian/dune-package
+%%OCAML_SITELIBDIR%%/ocplib-endian/endianBytes.cmi
+%%OCAML_SITELIBDIR%%/ocplib-endian/endianBytes.cmt
+%%OCAML_SITELIBDIR%%/ocplib-endian/endianBytes.cmti
+%%OCAML_SITELIBDIR%%/ocplib-endian/endianBytes.cmx
+%%OCAML_SITELIBDIR%%/ocplib-endian/endianBytes.ml
+%%OCAML_SITELIBDIR%%/ocplib-endian/endianBytes.mli
+%%OCAML_SITELIBDIR%%/ocplib-endian/endianString.cmi
+%%OCAML_SITELIBDIR%%/ocplib-endian/endianString.cmt
+%%OCAML_SITELIBDIR%%/ocplib-endian/endianString.cmti
+%%OCAML_SITELIBDIR%%/ocplib-endian/endianString.cmx
+%%OCAML_SITELIBDIR%%/ocplib-endian/endianString.ml
+%%OCAML_SITELIBDIR%%/ocplib-endian/endianString.mli
+%%OCAML_SITELIBDIR%%/ocplib-endian/ocplib_endian.a
+%%OCAML_SITELIBDIR%%/ocplib-endian/ocplib_endian.cma
+%%OCAML_SITELIBDIR%%/ocplib-endian/ocplib_endian.cmxa
+%%OCAML_SITELIBDIR%%/ocplib-endian/ocplib_endian.cmxs
+%%OCAML_SITELIBDIR%%/ocplib-endian/opam
diff --git a/devel/ocaml-ounit/Makefile b/devel/ocaml-ounit/Makefile
index e6a9c60cbd81..79475f6783fe 100644
--- a/devel/ocaml-ounit/Makefile
+++ b/devel/ocaml-ounit/Makefile
@@ -1,6 +1,6 @@
PORTNAME= ounit
PORTVERSION= 1.0.3
-PORTREVISION= 4
+PORTREVISION= 5
CATEGORIES= devel
MASTER_SITES= http://www.xs4all.nl/~mmzeeman/ocaml/
PKGNAMEPREFIX= ocaml-
diff --git a/devel/ocaml-parmap/Makefile b/devel/ocaml-parmap/Makefile
index 6eab20e552b5..d412e31400cc 100644
--- a/devel/ocaml-parmap/Makefile
+++ b/devel/ocaml-parmap/Makefile
@@ -1,6 +1,6 @@
PORTNAME= parmap
DISTVERSION= 1.2.4
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= devel
PKGNAMEPREFIX= ocaml-
diff --git a/devel/ocaml-parsexp/Makefile b/devel/ocaml-parsexp/Makefile
new file mode 100644
index 000000000000..2094b5f5ae5a
--- /dev/null
+++ b/devel/ocaml-parsexp/Makefile
@@ -0,0 +1,35 @@
+PORTNAME= parsexp
+DISTVERSIONPREFIX= v
+DISTVERSION= 0.16.0
+CATEGORIES= devel
+PKGNAMEPREFIX= ocaml-
+
+MAINTAINER= freebsd@dev.thsi.be
+COMMENT= OCaml library for parsing S-expressions
+WWW= https://janestreet.github.io/
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE.md
+
+BUILD_DEPENDS= ${SA_DIR}/sexplib0/META:devel/ocaml-sexplib0
+RUN_DEPENDS= ${SA_DIR}/sexplib0/META:devel/ocaml-sexplib0
+
+USES= ocaml:dune
+USE_GITHUB= yes
+GH_ACCOUNT= janestreet
+USE_OCAML= yes
+
+OPTIONS_DEFINE= DOCS
+
+DOCSDIR= ${OCAML_DOCSDIR}/${PORTNAME}
+PORTDOCS= CHANGES.md LICENSE.md README.org
+
+OPTIONS_DEFINE= DOCS
+
+SA_DIR= ${LOCALBASE}/${OCAML_SITELIBDIR}
+
+post-install:
+ @${STRIP_CMD} \
+ ${STAGEDIR}${PREFIX}/${OCAML_SITELIBDIR}/parsexp/parsexp.cmxs
+
+.include <bsd.port.mk>
diff --git a/devel/ocaml-parsexp/distinfo b/devel/ocaml-parsexp/distinfo
new file mode 100644
index 000000000000..f23b5893cf69
--- /dev/null
+++ b/devel/ocaml-parsexp/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1710455796
+SHA256 (janestreet-parsexp-v0.16.0_GH0.tar.gz) = 859db54b077f606ce550dfac468c399f3a14d32a4ac60da166d403fe57836e9f
+SIZE (janestreet-parsexp-v0.16.0_GH0.tar.gz) = 56904
diff --git a/devel/ocaml-parsexp/pkg-descr b/devel/ocaml-parsexp/pkg-descr
new file mode 100644
index 000000000000..7a66d665c1fc
--- /dev/null
+++ b/devel/ocaml-parsexp/pkg-descr
@@ -0,0 +1,2 @@
+This library provides generic parsers for parsing S-expressions in
+OCaml.
diff --git a/devel/ocaml-parsexp/pkg-plist b/devel/ocaml-parsexp/pkg-plist
new file mode 100644
index 000000000000..a556a74ca25d
--- /dev/null
+++ b/devel/ocaml-parsexp/pkg-plist
@@ -0,0 +1,127 @@
+%%OCAML_SITELIBDIR%%/parsexp/META
+%%OCAML_SITELIBDIR%%/parsexp/automaton.ml
+%%OCAML_SITELIBDIR%%/parsexp/automaton.mli
+%%OCAML_SITELIBDIR%%/parsexp/automaton_action.ml
+%%OCAML_SITELIBDIR%%/parsexp/automaton_action.mli
+%%OCAML_SITELIBDIR%%/parsexp/automaton_intf.ml
+%%OCAML_SITELIBDIR%%/parsexp/automaton_stack.ml
+%%OCAML_SITELIBDIR%%/parsexp/automaton_stack.mli
+%%OCAML_SITELIBDIR%%/parsexp/automaton_stack_intf.ml
+%%OCAML_SITELIBDIR%%/parsexp/automaton_state.ml
+%%OCAML_SITELIBDIR%%/parsexp/automaton_state.mli
+%%OCAML_SITELIBDIR%%/parsexp/automaton_state_intf.ml
+%%OCAML_SITELIBDIR%%/parsexp/automaton_tables.ml
+%%OCAML_SITELIBDIR%%/parsexp/automaton_tables.mli
+%%OCAML_SITELIBDIR%%/parsexp/conv.ml
+%%OCAML_SITELIBDIR%%/parsexp/conv.mli
+%%OCAML_SITELIBDIR%%/parsexp/conv_error.ml
+%%OCAML_SITELIBDIR%%/parsexp/conv_error.mli
+%%OCAML_SITELIBDIR%%/parsexp/conv_intf.ml
+%%OCAML_SITELIBDIR%%/parsexp/cst.ml
+%%OCAML_SITELIBDIR%%/parsexp/cst.mli
+%%OCAML_SITELIBDIR%%/parsexp/dune-package
+%%OCAML_SITELIBDIR%%/parsexp/import.ml
+%%OCAML_SITELIBDIR%%/parsexp/of_sexp_error.ml
+%%OCAML_SITELIBDIR%%/parsexp/of_sexp_error.mli
+%%OCAML_SITELIBDIR%%/parsexp/old_parser_cont_state.ml
+%%OCAML_SITELIBDIR%%/parsexp/old_parser_cont_state.mli
+%%OCAML_SITELIBDIR%%/parsexp/opam
+%%OCAML_SITELIBDIR%%/parsexp/parse_error.ml
+%%OCAML_SITELIBDIR%%/parsexp/parse_error.mli
+%%OCAML_SITELIBDIR%%/parsexp/parse_error_intf.ml
+%%OCAML_SITELIBDIR%%/parsexp/parser.ml
+%%OCAML_SITELIBDIR%%/parsexp/parser.mli
+%%OCAML_SITELIBDIR%%/parsexp/parser_intf.ml
+%%OCAML_SITELIBDIR%%/parsexp/parsexp.a
+%%OCAML_SITELIBDIR%%/parsexp/parsexp.cma
+%%OCAML_SITELIBDIR%%/parsexp/parsexp.cmi
+%%OCAML_SITELIBDIR%%/parsexp/parsexp.cmt
+%%OCAML_SITELIBDIR%%/parsexp/parsexp.cmti
+%%OCAML_SITELIBDIR%%/parsexp/parsexp.cmx
+%%OCAML_SITELIBDIR%%/parsexp/parsexp.cmxa
+%%OCAML_SITELIBDIR%%/parsexp/parsexp.cmxs
+%%OCAML_SITELIBDIR%%/parsexp/parsexp.ml
+%%OCAML_SITELIBDIR%%/parsexp/parsexp.mli
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__.cmi
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__.cmt
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__.cmx
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__.ml
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Automaton.cmi
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Automaton.cmt
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Automaton.cmti
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Automaton.cmx
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Automaton_action.cmi
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Automaton_action.cmt
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Automaton_action.cmti
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Automaton_action.cmx
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Automaton_intf.cmi
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Automaton_intf.cmt
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Automaton_intf.cmx
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Automaton_stack.cmi
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Automaton_stack.cmt
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Automaton_stack.cmti
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Automaton_stack.cmx
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Automaton_stack_intf.cmi
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Automaton_stack_intf.cmt
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Automaton_stack_intf.cmx
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Automaton_state.cmi
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Automaton_state.cmt
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Automaton_state.cmti
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Automaton_state.cmx
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Automaton_state_intf.cmi
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Automaton_state_intf.cmt
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Automaton_state_intf.cmx
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Automaton_tables.cmi
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Automaton_tables.cmt
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Automaton_tables.cmti
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Automaton_tables.cmx
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Conv.cmi
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Conv.cmt
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Conv.cmti
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Conv.cmx
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Conv_error.cmi
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Conv_error.cmt
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Conv_error.cmti
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Conv_error.cmx
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Conv_intf.cmi
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Conv_intf.cmt
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Conv_intf.cmx
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Cst.cmi
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Cst.cmt
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Cst.cmti
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Cst.cmx
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Import.cmi
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Import.cmt
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Import.cmx
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Of_sexp_error.cmi
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Of_sexp_error.cmt
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Of_sexp_error.cmti
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Of_sexp_error.cmx
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Old_parser_cont_state.cmi
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Old_parser_cont_state.cmt
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Old_parser_cont_state.cmti
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Old_parser_cont_state.cmx
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Parse_error.cmi
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Parse_error.cmt
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Parse_error.cmti
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Parse_error.cmx
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Parse_error_intf.cmi
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Parse_error_intf.cmt
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Parse_error_intf.cmx
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Parser.cmi
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Parser.cmt
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Parser.cmti
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Parser.cmx
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Parser_intf.cmi
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Parser_intf.cmt
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Parser_intf.cmx
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Parsexp_intf.cmi
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Parsexp_intf.cmt
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Parsexp_intf.cmx
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Positions.cmi
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Positions.cmt
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Positions.cmti
+%%OCAML_SITELIBDIR%%/parsexp/parsexp__Positions.cmx
+%%OCAML_SITELIBDIR%%/parsexp/parsexp_intf.ml
+%%OCAML_SITELIBDIR%%/parsexp/positions.ml
+%%OCAML_SITELIBDIR%%/parsexp/positions.mli
diff --git a/devel/ocaml-pcre/Makefile b/devel/ocaml-pcre/Makefile
index 0704a97d12a0..a3b036d8cdf7 100644
--- a/devel/ocaml-pcre/Makefile
+++ b/devel/ocaml-pcre/Makefile
@@ -1,7 +1,7 @@
PORTNAME= pcre
PORTVERSION= 7.2.3
DISTVERSIONPREFIX= v
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= devel
PKGNAMEPREFIX= ocaml-
diff --git a/devel/ocaml-pcre2/Makefile b/devel/ocaml-pcre2/Makefile
index 4358f5652f39..8ed222c26207 100644
--- a/devel/ocaml-pcre2/Makefile
+++ b/devel/ocaml-pcre2/Makefile
@@ -1,5 +1,6 @@
PORTNAME= pcre2
PORTVERSION= 7.5.2
+PORTREVISION= 1
CATEGORIES= devel
PKGNAMEPREFIX= ocaml-
diff --git a/devel/ocaml-pomap/Makefile b/devel/ocaml-pomap/Makefile
index 0ff463fe5814..297b752f1791 100644
--- a/devel/ocaml-pomap/Makefile
+++ b/devel/ocaml-pomap/Makefile
@@ -1,6 +1,6 @@
PORTNAME= pomap
PORTVERSION= 4.1.1
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= devel
PKGNAMEPREFIX= ocaml-
diff --git a/devel/ocaml-ppx-tools/Makefile b/devel/ocaml-ppx-tools/Makefile
index 72f367f5c73f..9f074ccecd4c 100644
--- a/devel/ocaml-ppx-tools/Makefile
+++ b/devel/ocaml-ppx-tools/Makefile
@@ -1,6 +1,6 @@
PORTNAME= ppx-tools
PORTVERSION= 6.6
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= devel
PKGNAMEPREFIX= ocaml-
diff --git a/devel/ocaml-ppx_derivers/Makefile b/devel/ocaml-ppx_derivers/Makefile
new file mode 100644
index 000000000000..d82b253dc215
--- /dev/null
+++ b/devel/ocaml-ppx_derivers/Makefile
@@ -0,0 +1,33 @@
+PORTNAME= ppx_derivers
+PORTVERSION= 1.2.1
+CATEGORIES= devel
+PKGNAMEPREFIX= ocaml-
+
+MAINTAINER= freebsd@dev.thsi.be
+COMMENT= PPX compatibility library for OCaml
+WWW= https://github.com/ocaml-ppx/ppx_derivers
+
+LICENSE= MIT
+
+USES= ocaml:dune
+USE_GITHUB= yes
+GH_ACCOUNT= ocaml-ppx
+USE_OCAML= yes
+
+DOCSDIR= ${OCAML_DOCSDIR}/ppx_derivers
+PORTDOCS= CHANGES.md LICENSE.md README.md
+
+OPTIONS_DEFINE= DOCS
+
+SA_DIR= ${LOCALBASE}/${OCAML_SITELIBDIR}
+
+post-patch:
+ @${REINPLACE_CMD} \
+ -e "s/(name ${PORTNAME})/&\n (version ${PORTVERSION})/" \
+ ${WRKSRC}/dune-project
+
+post-install:
+ @${STRIP_CMD} \
+ ${STAGEDIR}${PREFIX}/${OCAML_SITELIBDIR}/ppx_derivers/ppx_derivers.cmxs
+
+.include <bsd.port.mk>
diff --git a/devel/ocaml-ppx_derivers/distinfo b/devel/ocaml-ppx_derivers/distinfo
new file mode 100644
index 000000000000..554746fd65a6
--- /dev/null
+++ b/devel/ocaml-ppx_derivers/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1709657045
+SHA256 (ocaml-ppx-ppx_derivers-1.2.1_GH0.tar.gz) = b6595ee187dea792b31fc54a0e1524ab1e48bc6068d3066c45215a138cc73b95
+SIZE (ocaml-ppx-ppx_derivers-1.2.1_GH0.tar.gz) = 2530
diff --git a/devel/ocaml-ppx_derivers/pkg-descr b/devel/ocaml-ppx_derivers/pkg-descr
new file mode 100644
index 000000000000..94486c4e6f1d
--- /dev/null
+++ b/devel/ocaml-ppx_derivers/pkg-descr
@@ -0,0 +1,3 @@
+Legacy OCaml PPX library which allows the interoperability of
+ppx_deriving and ppx_type_conv. New code should depend on ocaml-ppxlib
+instead of depending on this library.
diff --git a/devel/ocaml-ppx_derivers/pkg-plist b/devel/ocaml-ppx_derivers/pkg-plist
new file mode 100644
index 000000000000..5f0e8f35f756
--- /dev/null
+++ b/devel/ocaml-ppx_derivers/pkg-plist
@@ -0,0 +1,13 @@
+%%OCAML_SITELIBDIR%%/ppx_derivers/META
+%%OCAML_SITELIBDIR%%/ppx_derivers/dune-package
+%%OCAML_SITELIBDIR%%/ppx_derivers/opam
+%%OCAML_SITELIBDIR%%/ppx_derivers/ppx_derivers.a
+%%OCAML_SITELIBDIR%%/ppx_derivers/ppx_derivers.cma
+%%OCAML_SITELIBDIR%%/ppx_derivers/ppx_derivers.cmi
+%%OCAML_SITELIBDIR%%/ppx_derivers/ppx_derivers.cmt
+%%OCAML_SITELIBDIR%%/ppx_derivers/ppx_derivers.cmti
+%%OCAML_SITELIBDIR%%/ppx_derivers/ppx_derivers.cmx
+%%OCAML_SITELIBDIR%%/ppx_derivers/ppx_derivers.cmxa
+%%OCAML_SITELIBDIR%%/ppx_derivers/ppx_derivers.cmxs
+%%OCAML_SITELIBDIR%%/ppx_derivers/ppx_derivers.ml
+%%OCAML_SITELIBDIR%%/ppx_derivers/ppx_derivers.mli
diff --git a/devel/ocaml-ppx_sexp_conv/Makefile b/devel/ocaml-ppx_sexp_conv/Makefile
new file mode 100644
index 000000000000..2d2fd6a23733
--- /dev/null
+++ b/devel/ocaml-ppx_sexp_conv/Makefile
@@ -0,0 +1,41 @@
+PORTNAME= ppx_sexp_conv
+DISTVERSIONPREFIX= v
+DISTVERSION= 0.16.0
+CATEGORIES= devel
+PKGNAMEPREFIX= ocaml-
+
+MAINTAINER= freebsd@dev.thsi.be
+COMMENT= Deriving PPX plugin to generate S-expression converters
+WWW= https://github.com/janestreet/ppx_sexp_conv
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE.md
+
+BUILD_DEPENDS= ${SA_DIR}/base/META:devel/ocaml-base \
+ ${SA_DIR}/sexplib0/META:devel/ocaml-sexplib0 \
+ ${SA_DIR}/ppxlib/META:devel/ocaml-ppxlib
+RUN_DEPENDS= ${SA_DIR}/base/META:devel/ocaml-base \
+ ${SA_DIR}/sexplib0/META:devel/ocaml-sexplib0 \
+ ${SA_DIR}/ppxlib/META:devel/ocaml-ppxlib
+
+USES= ocaml:dune
+USE_GITHUB= yes
+GH_ACCOUNT= janestreet
+USE_OCAML= yes
+
+OPTIONS_DEFINE= DOCS
+
+DOCSDIR= ${OCAML_DOCSDIR}/${PORTNAME}
+PORTDOCS= CHANGES.md LICENSE.md README.org
+
+OPTIONS_DEFINE= DOCS
+
+SA_DIR= ${LOCALBASE}/${OCAML_SITELIBDIR}
+
+post-install:
+ @${STRIP_CMD} \
+ ${STAGEDIR}${PREFIX}/${OCAML_SITELIBDIR}/ppx_sexp_conv/expander/ppx_sexp_conv_expander.cmxs \
+ ${STAGEDIR}${PREFIX}/${OCAML_SITELIBDIR}/ppx_sexp_conv/ppx_sexp_conv.cmxs \
+ ${STAGEDIR}${PREFIX}/${OCAML_SITELIBDIR}/ppx_sexp_conv/runtime-lib/ppx_sexp_conv_lib.cmxs
+
+.include <bsd.port.mk>
diff --git a/devel/ocaml-ppx_sexp_conv/distinfo b/devel/ocaml-ppx_sexp_conv/distinfo
new file mode 100644
index 000000000000..e051fc12362f
--- /dev/null
+++ b/devel/ocaml-ppx_sexp_conv/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1710456993
+SHA256 (janestreet-ppx_sexp_conv-v0.16.0_GH0.tar.gz) = 3b7065f4ec2f8b72df688c7b5604cea82a733fdccab4317c758a64710fc71e87
+SIZE (janestreet-ppx_sexp_conv-v0.16.0_GH0.tar.gz) = 66918
diff --git a/devel/ocaml-ppx_sexp_conv/pkg-descr b/devel/ocaml-ppx_sexp_conv/pkg-descr
new file mode 100644
index 000000000000..8b6ca2d7abf9
--- /dev/null
+++ b/devel/ocaml-ppx_sexp_conv/pkg-descr
@@ -0,0 +1,2 @@
+This library contains functionality for parsing and pretty-printing
+S-expressions.
diff --git a/devel/ocaml-ppx_sexp_conv/pkg-plist b/devel/ocaml-ppx_sexp_conv/pkg-plist
new file mode 100644
index 000000000000..842894f5a3f6
--- /dev/null
+++ b/devel/ocaml-ppx_sexp_conv/pkg-plist
@@ -0,0 +1,95 @@
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/META
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/dune-package
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/attrs.ml
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/attrs.mli
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/conversion.ml
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/conversion.mli
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/expand_of_sexp.ml
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/expand_of_sexp.mli
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/expand_sexp_of.ml
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/expand_sexp_of.mli
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/fresh_name.ml
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/fresh_name.mli
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/helpers.ml
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/helpers.mli
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/lifted.ml
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/lifted.mli
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/ppx_sexp_conv_expander.a
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/ppx_sexp_conv_expander.cma
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/ppx_sexp_conv_expander.cmi
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/ppx_sexp_conv_expander.cmt
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/ppx_sexp_conv_expander.cmti
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/ppx_sexp_conv_expander.cmx
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/ppx_sexp_conv_expander.cmxa
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/ppx_sexp_conv_expander.ml
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/ppx_sexp_conv_expander.mli
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/ppx_sexp_conv_expander__.cmi
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/ppx_sexp_conv_expander__.cmt
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/ppx_sexp_conv_expander__.cmx
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/ppx_sexp_conv_expander__.ml
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/ppx_sexp_conv_expander__Attrs.cmi
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/ppx_sexp_conv_expander__Attrs.cmt
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/ppx_sexp_conv_expander__Attrs.cmti
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/ppx_sexp_conv_expander__Attrs.cmx
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/ppx_sexp_conv_expander.cmxs
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/ppx_sexp_conv_expander__Conversion.cmi
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/ppx_sexp_conv_expander__Conversion.cmt
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/ppx_sexp_conv_expander__Conversion.cmti
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/ppx_sexp_conv_expander__Conversion.cmx
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/ppx_sexp_conv_expander__Expand_of_sexp.cmi
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/ppx_sexp_conv_expander__Expand_of_sexp.cmt
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/ppx_sexp_conv_expander__Expand_of_sexp.cmti
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/ppx_sexp_conv_expander__Expand_of_sexp.cmx
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/ppx_sexp_conv_expander__Expand_sexp_of.cmi
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/ppx_sexp_conv_expander__Expand_sexp_of.cmt
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/ppx_sexp_conv_expander__Expand_sexp_of.cmti
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/ppx_sexp_conv_expander__Expand_sexp_of.cmx
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/ppx_sexp_conv_expander__Fresh_name.cmi
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/ppx_sexp_conv_expander__Fresh_name.cmt
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/ppx_sexp_conv_expander__Fresh_name.cmti
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/ppx_sexp_conv_expander__Fresh_name.cmx
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/ppx_sexp_conv_expander__Helpers.cmi
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/ppx_sexp_conv_expander__Helpers.cmt
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/ppx_sexp_conv_expander__Helpers.cmti
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/ppx_sexp_conv_expander__Helpers.cmx
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/ppx_sexp_conv_expander__Lifted.cmi
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/ppx_sexp_conv_expander__Lifted.cmt
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/ppx_sexp_conv_expander__Lifted.cmti
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/ppx_sexp_conv_expander__Lifted.cmx
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/ppx_sexp_conv_expander__Ppx_sexp_conv_grammar.cmi
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/ppx_sexp_conv_expander__Ppx_sexp_conv_grammar.cmt
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/ppx_sexp_conv_expander__Ppx_sexp_conv_grammar.cmti
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/ppx_sexp_conv_expander__Ppx_sexp_conv_grammar.cmx
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/ppx_sexp_conv_expander__Record_field_attrs.cmi
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/ppx_sexp_conv_expander__Record_field_attrs.cmt
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/ppx_sexp_conv_expander__Record_field_attrs.cmti
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/ppx_sexp_conv_expander__Record_field_attrs.cmx
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/ppx_sexp_conv_expander__Renaming.cmi
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/ppx_sexp_conv_expander__Renaming.cmt
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/ppx_sexp_conv_expander__Renaming.cmti
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/ppx_sexp_conv_expander__Renaming.cmx
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/ppx_sexp_conv_grammar.ml
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/ppx_sexp_conv_grammar.mli
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/record_field_attrs.ml
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/record_field_attrs.mli
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/renaming.ml
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/expander/renaming.mli
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/opam
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/ppx_sexp_conv.a
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/ppx_sexp_conv.cma
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/ppx_sexp_conv.cmi
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/ppx_sexp_conv.cmt
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/ppx_sexp_conv.cmti
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/ppx_sexp_conv.cmx
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/ppx_sexp_conv.cmxa
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/ppx_sexp_conv.cmxs
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/ppx_sexp_conv.ml
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/ppx_sexp_conv.mli
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/runtime-lib/ppx_sexp_conv_lib.a
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/runtime-lib/ppx_sexp_conv_lib.cma
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/runtime-lib/ppx_sexp_conv_lib.cmi
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/runtime-lib/ppx_sexp_conv_lib.cmt
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/runtime-lib/ppx_sexp_conv_lib.cmx
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/runtime-lib/ppx_sexp_conv_lib.cmxa
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/runtime-lib/ppx_sexp_conv_lib.cmxs
+%%OCAML_SITELIBDIR%%/ppx_sexp_conv/runtime-lib/ppx_sexp_conv_lib.ml
diff --git a/devel/ocaml-ppxlib/Makefile b/devel/ocaml-ppxlib/Makefile
new file mode 100644
index 000000000000..60515907656f
--- /dev/null
+++ b/devel/ocaml-ppxlib/Makefile
@@ -0,0 +1,55 @@
+PORTNAME= ppxlib
+PORTVERSION= 0.32.0
+CATEGORIES= devel
+PKGNAMEPREFIX= ocaml-
+
+MAINTAINER= freebsd@dev.thsi.be
+COMMENT= Library to write PPX syntax extension for OCaml
+WWW= https://github.com/ocaml-ppx/ppxlib
+
+LICENSE= MIT
+
+BUILD_DEPENDS= ${SA_DIR}/ocaml-compiler-libs/META:devel/ocaml-compiler-libs \
+ ${SA_DIR}/ppx_derivers/META:devel/ocaml-ppx_derivers \
+ ${SA_DIR}/sexplib0/META:devel/ocaml-sexplib0
+RUN_DEPENDS= ${SA_DIR}/ocaml-compiler-libs/META:devel/ocaml-compiler-libs \
+ ${SA_DIR}/ppx_derivers/META:devel/ocaml-ppx_derivers \
+ ${SA_DIR}/sexplib0/META:devel/ocaml-sexplib0
+
+USES= ocaml:dune
+USE_GITHUB= yes
+GH_ACCOUNT= ocaml-ppx
+USE_OCAML= yes
+DUNE_INSTALL_TARGETS= ${PORTNAME}
+
+DOCSDIR= ${OCAML_DOCSDIR}/${PORTNAME}
+PORTDOCS= CHANGES.md LICENSE.md HISTORY.md README.md odoc-pages
+
+OPTIONS_DEFINE= DOCS
+
+SA_DIR= ${LOCALBASE}/${OCAML_SITELIBDIR}
+
+post-patch:
+ @(cd ${WRKSRC}; \
+ ${REINPLACE_CMD} -e s/stdlib-shims//g \
+ ast/dune dune-project metaquot_lifters/dune src/dune src/gen/dune \
+ stdppx/dune traverse/dune; \
+ ${REINPLACE_CMD} -e "s/(name ${PORTNAME})/&\n (version ${PORTVERSION})/" \
+ dune-project)
+
+post-install:
+ @${STRIP_CMD} \
+ ${STAGEDIR}${PREFIX}/${OCAML_SITELIBDIR}/${PORTNAME}/ast/ppxlib_ast.cmxs \
+ ${STAGEDIR}${PREFIX}/${OCAML_SITELIBDIR}/${PORTNAME}/astlib/astlib.cmxs \
+ ${STAGEDIR}${PREFIX}/${OCAML_SITELIBDIR}/${PORTNAME}/runner/ppxlib_runner.cmxs \
+ ${STAGEDIR}${PREFIX}/${OCAML_SITELIBDIR}/${PORTNAME}/metaquot/ppxlib_metaquot.cmxs \
+ ${STAGEDIR}${PREFIX}/${OCAML_SITELIBDIR}/${PORTNAME}/metaquot/ppx.exe \
+ ${STAGEDIR}${PREFIX}/${OCAML_SITELIBDIR}/${PORTNAME}/metaquot_lifters/ppxlib_metaquot_lifters.cmxs \
+ ${STAGEDIR}${PREFIX}/${OCAML_SITELIBDIR}/${PORTNAME}/runner_as_ppx/ppxlib_runner_as_ppx.cmxs \
+ ${STAGEDIR}${PREFIX}/${OCAML_SITELIBDIR}/${PORTNAME}/print_diff/ppxlib_print_diff.cmxs \
+ ${STAGEDIR}${PREFIX}/${OCAML_SITELIBDIR}/${PORTNAME}/stdppx/stdppx.cmxs \
+ ${STAGEDIR}${PREFIX}/${OCAML_SITELIBDIR}/${PORTNAME}/traverse/ppxlib_traverse.cmxs \
+ ${STAGEDIR}${PREFIX}/${OCAML_SITELIBDIR}/${PORTNAME}/traverse_builtins/ppxlib_traverse_builtins.cmxs \
+ ${STAGEDIR}${PREFIX}/${OCAML_SITELIBDIR}/${PORTNAME}/ppxlib.cmxs
+
+.include <bsd.port.mk>
diff --git a/devel/ocaml-ppxlib/distinfo b/devel/ocaml-ppxlib/distinfo
new file mode 100644
index 000000000000..e1f8e4e9daba
--- /dev/null
+++ b/devel/ocaml-ppxlib/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1709654335
+SHA256 (ocaml-ppx-ppxlib-0.32.0_GH0.tar.gz) = 2b6abac31c46a855c8ef34b4aaa433796b37ef64209f0a9b668d3de9702302fb
+SIZE (ocaml-ppx-ppxlib-0.32.0_GH0.tar.gz) = 585028
diff --git a/devel/ocaml-ppxlib/pkg-descr b/devel/ocaml-ppxlib/pkg-descr
new file mode 100644
index 000000000000..170b225db14e
--- /dev/null
+++ b/devel/ocaml-ppxlib/pkg-descr
@@ -0,0 +1,9 @@
+Library to help in writing OCaml PPX rewriters, which can be used to
+extend the syntax of an OCaml programs. PPX rewriters are a powerfull
+alternative to the older camlp4/campl5 technology, and they can also
+be composed.
+
+This PPX library provides facilities to, under other, work at the
+level of the OCaml's abstract syntax tree (AST), write driver
+front-ends for the OCaml compiler, parse an OCaml expression as an
+AST, etc.
diff --git a/devel/ocaml-ppxlib/pkg-plist b/devel/ocaml-ppxlib/pkg-plist
new file mode 100644
index 000000000000..86a522533012
--- /dev/null
+++ b/devel/ocaml-ppxlib/pkg-plist
@@ -0,0 +1,556 @@
+%%OCAML_SITELIBDIR%%/ppxlib/META
+%%OCAML_SITELIBDIR%%/ppxlib/ast/ast.ml
+%%OCAML_SITELIBDIR%%/ppxlib/ast/ast_helper_lite.ml
+%%OCAML_SITELIBDIR%%/ppxlib/ast/ast_helper_lite.mli
+%%OCAML_SITELIBDIR%%/ppxlib/ast/import.ml
+%%OCAML_SITELIBDIR%%/ppxlib/ast/location_error.ml
+%%OCAML_SITELIBDIR%%/ppxlib/ast/location_error.mli
+%%OCAML_SITELIBDIR%%/ppxlib/ast/ppxlib_ast.a
+%%OCAML_SITELIBDIR%%/ppxlib/ast/ppxlib_ast.cma
+%%OCAML_SITELIBDIR%%/ppxlib/ast/ppxlib_ast.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/ast/ppxlib_ast.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/ast/ppxlib_ast.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/ast/ppxlib_ast.cmxa
+%%OCAML_SITELIBDIR%%/ppxlib/ast/ppxlib_ast.cmxs
+%%OCAML_SITELIBDIR%%/ppxlib/ast/ppxlib_ast.ml
+%%OCAML_SITELIBDIR%%/ppxlib/ast/ppxlib_ast__.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/ast/ppxlib_ast__.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/ast/ppxlib_ast__.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/ast/ppxlib_ast__.ml
+%%OCAML_SITELIBDIR%%/ppxlib/ast/ppxlib_ast__Ast.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/ast/ppxlib_ast__Ast.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/ast/ppxlib_ast__Ast.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/ast/ppxlib_ast__Ast_helper_lite.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/ast/ppxlib_ast__Ast_helper_lite.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/ast/ppxlib_ast__Ast_helper_lite.cmti
+%%OCAML_SITELIBDIR%%/ppxlib/ast/ppxlib_ast__Ast_helper_lite.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/ast/ppxlib_ast__Import.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/ast/ppxlib_ast__Import.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/ast/ppxlib_ast__Import.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/ast/ppxlib_ast__Location_error.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/ast/ppxlib_ast__Location_error.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/ast/ppxlib_ast__Location_error.cmti
+%%OCAML_SITELIBDIR%%/ppxlib/ast/ppxlib_ast__Location_error.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/ast/ppxlib_ast__Stdlib0.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/ast/ppxlib_ast__Stdlib0.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/ast/ppxlib_ast__Stdlib0.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/ast/ppxlib_ast__Versions.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/ast/ppxlib_ast__Versions.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/ast/ppxlib_ast__Versions.cmti
+%%OCAML_SITELIBDIR%%/ppxlib/ast/ppxlib_ast__Versions.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/ast/ppxlib_ast__Warn.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/ast/ppxlib_ast__Warn.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/ast/ppxlib_ast__Warn.cmti
+%%OCAML_SITELIBDIR%%/ppxlib/ast/ppxlib_ast__Warn.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/ast/stdlib0.ml
+%%OCAML_SITELIBDIR%%/ppxlib/ast/versions.ml
+%%OCAML_SITELIBDIR%%/ppxlib/ast/versions.mli
+%%OCAML_SITELIBDIR%%/ppxlib/ast/warn.ml
+%%OCAML_SITELIBDIR%%/ppxlib/ast/warn.mli
+%%OCAML_SITELIBDIR%%/ppxlib/ast_builder.ml
+%%OCAML_SITELIBDIR%%/ppxlib/ast_builder.mli
+%%OCAML_SITELIBDIR%%/ppxlib/ast_builder_generated.ml
+%%OCAML_SITELIBDIR%%/ppxlib/ast_builder_intf.ml
+%%OCAML_SITELIBDIR%%/ppxlib/ast_pattern.ml
+%%OCAML_SITELIBDIR%%/ppxlib/ast_pattern.mli
+%%OCAML_SITELIBDIR%%/ppxlib/ast_pattern0.ml
+%%OCAML_SITELIBDIR%%/ppxlib/ast_pattern_generated.ml
+%%OCAML_SITELIBDIR%%/ppxlib/ast_traverse.ml
+%%OCAML_SITELIBDIR%%/ppxlib/ast_traverse.mli
+%%OCAML_SITELIBDIR%%/ppxlib/ast_traverse0.ml
+%%OCAML_SITELIBDIR%%/ppxlib/ast_traverse0.mli
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/ast_402.ml
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/ast_403.ml
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/ast_404.ml
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/ast_405.ml
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/ast_406.ml
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/ast_407.ml
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/ast_408.ml
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/ast_409.ml
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/ast_410.ml
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/ast_411.ml
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/ast_412.ml
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/ast_413.ml
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/ast_414.ml
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/ast_500.ml
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/ast_501.ml
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/ast_metadata.ml
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/ast_metadata.mli
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib.a
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib.cma
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib.cmxa
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib.cmxs
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib.ml
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__.ml
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Ast_402.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Ast_402.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Ast_402.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Ast_403.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Ast_403.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Ast_403.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Ast_404.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Ast_404.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Ast_404.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Ast_405.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Ast_405.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Ast_405.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Ast_406.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Ast_406.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Ast_406.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Ast_407.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Ast_407.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Ast_407.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Ast_408.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Ast_408.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Ast_408.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Ast_409.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Ast_409.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Ast_409.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Ast_410.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Ast_410.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Ast_410.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Ast_411.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Ast_411.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Ast_411.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Ast_412.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Ast_412.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Ast_412.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Ast_413.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Ast_413.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Ast_413.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Ast_414.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Ast_414.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Ast_414.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Ast_500.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Ast_500.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Ast_500.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Ast_501.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Ast_501.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Ast_501.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Ast_metadata.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Ast_metadata.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Ast_metadata.cmti
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Ast_metadata.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Config.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Config.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Config.cmti
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Config.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Keyword.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Keyword.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Keyword.cmti
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Keyword.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Location.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Location.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Location.cmti
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Location.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Longident.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Longident.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Longident.cmti
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Longident.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_402_403.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_402_403.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_402_403.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_403_402.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_403_402.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_403_402.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_403_404.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_403_404.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_403_404.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_404_403.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_404_403.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_404_403.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_404_405.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_404_405.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_404_405.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_405_404.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_405_404.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_405_404.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_405_406.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_405_406.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_405_406.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_406_405.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_406_405.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_406_405.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_406_407.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_406_407.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_406_407.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_407_406.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_407_406.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_407_406.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_407_408.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_407_408.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_407_408.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_408_407.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_408_407.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_408_407.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_408_409.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_408_409.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_408_409.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_409_408.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_409_408.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_409_408.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_409_410.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_409_410.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_409_410.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_410_409.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_410_409.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_410_409.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_410_411.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_410_411.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_410_411.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_411_410.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_411_410.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_411_410.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_411_412.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_411_412.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_411_412.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_412_411.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_412_411.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_412_411.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_412_413.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_412_413.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_412_413.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_413_412.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_413_412.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_413_412.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_413_414.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_413_414.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_413_414.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_414_413.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_414_413.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_414_413.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_414_500.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_414_500.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_414_500.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_500_414.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_500_414.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_500_414.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_500_501.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_500_501.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_500_501.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_501_500.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_501_500.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Migrate_501_500.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Parse.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Parse.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Parse.cmti
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Parse.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Pprintast.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Pprintast.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Pprintast.cmti
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Pprintast.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Stdlib0.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Stdlib0.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/astlib__Stdlib0.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/config.ml
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/config.mli
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/keyword.ml
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/keyword.mli
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/location.ml
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/location.mli
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/longident.ml
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/longident.mli
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/migrate_402_403.ml
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/migrate_403_402.ml
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/migrate_403_404.ml
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/migrate_404_403.ml
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/migrate_404_405.ml
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/migrate_405_404.ml
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/migrate_405_406.ml
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/migrate_406_405.ml
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/migrate_406_407.ml
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/migrate_407_406.ml
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/migrate_407_408.ml
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/migrate_408_407.ml
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/migrate_408_409.ml
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/migrate_409_408.ml
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/migrate_409_410.ml
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/migrate_410_409.ml
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/migrate_410_411.ml
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/migrate_411_410.ml
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/migrate_411_412.ml
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/migrate_412_411.ml
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/migrate_412_413.ml
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/migrate_413_412.ml
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/migrate_413_414.ml
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/migrate_414_413.ml
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/migrate_414_500.ml
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/migrate_500_414.ml
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/migrate_500_501.ml
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/migrate_501_500.ml
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/parse.ml
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/parse.mli
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/pprintast.ml
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/pprintast.mli
+%%OCAML_SITELIBDIR%%/ppxlib/astlib/stdlib0.ml
+%%OCAML_SITELIBDIR%%/ppxlib/attribute.ml
+%%OCAML_SITELIBDIR%%/ppxlib/attribute.mli
+%%OCAML_SITELIBDIR%%/ppxlib/caller_id.ml
+%%OCAML_SITELIBDIR%%/ppxlib/code_matcher.ml
+%%OCAML_SITELIBDIR%%/ppxlib/code_matcher.mli
+%%OCAML_SITELIBDIR%%/ppxlib/code_path.ml
+%%OCAML_SITELIBDIR%%/ppxlib/code_path.mli
+%%OCAML_SITELIBDIR%%/ppxlib/common.ml
+%%OCAML_SITELIBDIR%%/ppxlib/common.mli
+%%OCAML_SITELIBDIR%%/ppxlib/context_free.ml
+%%OCAML_SITELIBDIR%%/ppxlib/context_free.mli
+%%OCAML_SITELIBDIR%%/ppxlib/deriving.ml
+%%OCAML_SITELIBDIR%%/ppxlib/deriving.mli
+%%OCAML_SITELIBDIR%%/ppxlib/driver.ml
+%%OCAML_SITELIBDIR%%/ppxlib/driver.mli
+%%OCAML_SITELIBDIR%%/ppxlib/dune-package
+%%OCAML_SITELIBDIR%%/ppxlib/expansion_context.ml
+%%OCAML_SITELIBDIR%%/ppxlib/expansion_context.mli
+%%OCAML_SITELIBDIR%%/ppxlib/expansion_helpers.ml
+%%OCAML_SITELIBDIR%%/ppxlib/expansion_helpers.mli
+%%OCAML_SITELIBDIR%%/ppxlib/extension.ml
+%%OCAML_SITELIBDIR%%/ppxlib/extension.mli
+%%OCAML_SITELIBDIR%%/ppxlib/ignore_unused_warning.ml
+%%OCAML_SITELIBDIR%%/ppxlib/ignore_unused_warning.mli
+%%OCAML_SITELIBDIR%%/ppxlib/import.ml
+%%OCAML_SITELIBDIR%%/ppxlib/keyword.ml
+%%OCAML_SITELIBDIR%%/ppxlib/keyword.mli
+%%OCAML_SITELIBDIR%%/ppxlib/loc.ml
+%%OCAML_SITELIBDIR%%/ppxlib/loc.mli
+%%OCAML_SITELIBDIR%%/ppxlib/location.ml
+%%OCAML_SITELIBDIR%%/ppxlib/location.mli
+%%OCAML_SITELIBDIR%%/ppxlib/location_check.ml
+%%OCAML_SITELIBDIR%%/ppxlib/location_check.mli
+%%OCAML_SITELIBDIR%%/ppxlib/longident.ml
+%%OCAML_SITELIBDIR%%/ppxlib/longident.mli
+%%OCAML_SITELIBDIR%%/ppxlib/merlin_helpers.ml
+%%OCAML_SITELIBDIR%%/ppxlib/merlin_helpers.mli
+%%OCAML_SITELIBDIR%%/ppxlib/metaquot/ppx.exe
+%%OCAML_SITELIBDIR%%/ppxlib/metaquot/ppxlib_metaquot.a
+%%OCAML_SITELIBDIR%%/ppxlib/metaquot/ppxlib_metaquot.cma
+%%OCAML_SITELIBDIR%%/ppxlib/metaquot/ppxlib_metaquot.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/metaquot/ppxlib_metaquot.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/metaquot/ppxlib_metaquot.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/metaquot/ppxlib_metaquot.cmxa
+%%OCAML_SITELIBDIR%%/ppxlib/metaquot/ppxlib_metaquot.cmxs
+%%OCAML_SITELIBDIR%%/ppxlib/metaquot/ppxlib_metaquot.ml
+%%OCAML_SITELIBDIR%%/ppxlib/metaquot_lifters/ppxlib_metaquot_lifters.a
+%%OCAML_SITELIBDIR%%/ppxlib/metaquot_lifters/ppxlib_metaquot_lifters.cma
+%%OCAML_SITELIBDIR%%/ppxlib/metaquot_lifters/ppxlib_metaquot_lifters.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/metaquot_lifters/ppxlib_metaquot_lifters.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/metaquot_lifters/ppxlib_metaquot_lifters.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/metaquot_lifters/ppxlib_metaquot_lifters.cmxa
+%%OCAML_SITELIBDIR%%/ppxlib/metaquot_lifters/ppxlib_metaquot_lifters.cmxs
+%%OCAML_SITELIBDIR%%/ppxlib/metaquot_lifters/ppxlib_metaquot_lifters.ml
+%%OCAML_SITELIBDIR%%/ppxlib/name.ml
+%%OCAML_SITELIBDIR%%/ppxlib/name.mli
+%%OCAML_SITELIBDIR%%/ppxlib/opam
+%%OCAML_SITELIBDIR%%/ppxlib/options.ml
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib.a
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib.cma
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib.cmxa
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib.cmxs
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib.ml
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__.ml
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Ast_builder.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Ast_builder.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Ast_builder.cmti
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Ast_builder.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Ast_builder_generated.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Ast_builder_generated.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Ast_builder_generated.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Ast_builder_intf.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Ast_builder_intf.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Ast_builder_intf.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Ast_pattern.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Ast_pattern.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Ast_pattern.cmti
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Ast_pattern.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Ast_pattern0.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Ast_pattern0.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Ast_pattern0.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Ast_pattern_generated.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Ast_pattern_generated.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Ast_pattern_generated.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Ast_traverse.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Ast_traverse.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Ast_traverse.cmti
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Ast_traverse.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Ast_traverse0.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Ast_traverse0.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Ast_traverse0.cmti
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Ast_traverse0.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Attribute.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Attribute.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Attribute.cmti
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Attribute.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Caller_id.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Caller_id.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Caller_id.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Code_matcher.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Code_matcher.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Code_matcher.cmti
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Code_matcher.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Code_path.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Code_path.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Code_path.cmti
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Code_path.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Common.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Common.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Common.cmti
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Common.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Context_free.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Context_free.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Context_free.cmti
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Context_free.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Deriving.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Deriving.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Deriving.cmti
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Deriving.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Driver.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Driver.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Driver.cmti
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Driver.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Expansion_context.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Expansion_context.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Expansion_context.cmti
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Expansion_context.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Expansion_helpers.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Expansion_helpers.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Expansion_helpers.cmti
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Expansion_helpers.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Extension.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Extension.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Extension.cmti
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Extension.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Ignore_unused_warning.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Ignore_unused_warning.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Ignore_unused_warning.cmti
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Ignore_unused_warning.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Import.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Import.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Import.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Keyword.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Keyword.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Keyword.cmti
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Keyword.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Loc.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Loc.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Loc.cmti
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Loc.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Location.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Location.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Location.cmti
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Location.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Location_check.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Location_check.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Location_check.cmti
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Location_check.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Longident.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Longident.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Longident.cmti
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Longident.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Merlin_helpers.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Merlin_helpers.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Merlin_helpers.cmti
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Merlin_helpers.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Name.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Name.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Name.cmti
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Name.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Options.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Options.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Options.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Quoter.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Quoter.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Quoter.cmti
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Quoter.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Reconcile.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Reconcile.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Reconcile.cmti
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Reconcile.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Skip_hash_bang.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Skip_hash_bang.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Skip_hash_bang.cmti
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Skip_hash_bang.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Spellcheck.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Spellcheck.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Spellcheck.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Utils.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Utils.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Utils.cmti
+%%OCAML_SITELIBDIR%%/ppxlib/ppxlib__Utils.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/print_diff/ppxlib_print_diff.a
+%%OCAML_SITELIBDIR%%/ppxlib/print_diff/ppxlib_print_diff.cma
+%%OCAML_SITELIBDIR%%/ppxlib/print_diff/ppxlib_print_diff.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/print_diff/ppxlib_print_diff.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/print_diff/ppxlib_print_diff.cmti
+%%OCAML_SITELIBDIR%%/ppxlib/print_diff/ppxlib_print_diff.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/print_diff/ppxlib_print_diff.cmxa
+%%OCAML_SITELIBDIR%%/ppxlib/print_diff/ppxlib_print_diff.cmxs
+%%OCAML_SITELIBDIR%%/ppxlib/print_diff/ppxlib_print_diff.ml
+%%OCAML_SITELIBDIR%%/ppxlib/print_diff/ppxlib_print_diff.mli
+%%OCAML_SITELIBDIR%%/ppxlib/quoter.ml
+%%OCAML_SITELIBDIR%%/ppxlib/quoter.mli
+%%OCAML_SITELIBDIR%%/ppxlib/reconcile.ml
+%%OCAML_SITELIBDIR%%/ppxlib/reconcile.mli
+%%OCAML_SITELIBDIR%%/ppxlib/runner/ppx_driver_runner.ml
+%%OCAML_SITELIBDIR%%/ppxlib/runner/ppxlib_runner.a
+%%OCAML_SITELIBDIR%%/ppxlib/runner/ppxlib_runner.cma
+%%OCAML_SITELIBDIR%%/ppxlib/runner/ppxlib_runner.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/runner/ppxlib_runner.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/runner/ppxlib_runner.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/runner/ppxlib_runner.cmxa
+%%OCAML_SITELIBDIR%%/ppxlib/runner/ppxlib_runner.cmxs
+%%OCAML_SITELIBDIR%%/ppxlib/runner/ppxlib_runner.ml
+%%OCAML_SITELIBDIR%%/ppxlib/runner/ppxlib_runner__Ppx_driver_runner.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/runner/ppxlib_runner__Ppx_driver_runner.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/runner/ppxlib_runner__Ppx_driver_runner.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/runner_as_ppx/ppx_driver_runner_as_ppx.ml
+%%OCAML_SITELIBDIR%%/ppxlib/runner_as_ppx/ppxlib_runner_as_ppx.a
+%%OCAML_SITELIBDIR%%/ppxlib/runner_as_ppx/ppxlib_runner_as_ppx.cma
+%%OCAML_SITELIBDIR%%/ppxlib/runner_as_ppx/ppxlib_runner_as_ppx.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/runner_as_ppx/ppxlib_runner_as_ppx.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/runner_as_ppx/ppxlib_runner_as_ppx.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/runner_as_ppx/ppxlib_runner_as_ppx.cmxa
+%%OCAML_SITELIBDIR%%/ppxlib/runner_as_ppx/ppxlib_runner_as_ppx.cmxs
+%%OCAML_SITELIBDIR%%/ppxlib/runner_as_ppx/ppxlib_runner_as_ppx.ml
+%%OCAML_SITELIBDIR%%/ppxlib/runner_as_ppx/ppxlib_runner_as_ppx__Ppx_driver_runner_as_ppx.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/runner_as_ppx/ppxlib_runner_as_ppx__Ppx_driver_runner_as_ppx.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/runner_as_ppx/ppxlib_runner_as_ppx__Ppx_driver_runner_as_ppx.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/skip_hash_bang.ml
+%%OCAML_SITELIBDIR%%/ppxlib/skip_hash_bang.mli
+%%OCAML_SITELIBDIR%%/ppxlib/spellcheck.ml
+%%OCAML_SITELIBDIR%%/ppxlib/stdppx/stdppx.a
+%%OCAML_SITELIBDIR%%/ppxlib/stdppx/stdppx.cma
+%%OCAML_SITELIBDIR%%/ppxlib/stdppx/stdppx.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/stdppx/stdppx.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/stdppx/stdppx.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/stdppx/stdppx.cmxa
+%%OCAML_SITELIBDIR%%/ppxlib/stdppx/stdppx.cmxs
+%%OCAML_SITELIBDIR%%/ppxlib/stdppx/stdppx.ml
+%%OCAML_SITELIBDIR%%/ppxlib/traverse/ppxlib_traverse.a
+%%OCAML_SITELIBDIR%%/ppxlib/traverse/ppxlib_traverse.cma
+%%OCAML_SITELIBDIR%%/ppxlib/traverse/ppxlib_traverse.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/traverse/ppxlib_traverse.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/traverse/ppxlib_traverse.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/traverse/ppxlib_traverse.cmxa
+%%OCAML_SITELIBDIR%%/ppxlib/traverse/ppxlib_traverse.cmxs
+%%OCAML_SITELIBDIR%%/ppxlib/traverse/ppxlib_traverse.ml
+%%OCAML_SITELIBDIR%%/ppxlib/traverse_builtins/ppxlib_traverse_builtins.a
+%%OCAML_SITELIBDIR%%/ppxlib/traverse_builtins/ppxlib_traverse_builtins.cma
+%%OCAML_SITELIBDIR%%/ppxlib/traverse_builtins/ppxlib_traverse_builtins.cmi
+%%OCAML_SITELIBDIR%%/ppxlib/traverse_builtins/ppxlib_traverse_builtins.cmt
+%%OCAML_SITELIBDIR%%/ppxlib/traverse_builtins/ppxlib_traverse_builtins.cmx
+%%OCAML_SITELIBDIR%%/ppxlib/traverse_builtins/ppxlib_traverse_builtins.cmxa
+%%OCAML_SITELIBDIR%%/ppxlib/traverse_builtins/ppxlib_traverse_builtins.cmxs
+%%OCAML_SITELIBDIR%%/ppxlib/traverse_builtins/ppxlib_traverse_builtins.ml
+%%OCAML_SITELIBDIR%%/ppxlib/utils.ml
+%%OCAML_SITELIBDIR%%/ppxlib/utils.mli
diff --git a/devel/ocaml-re/Makefile b/devel/ocaml-re/Makefile
index f5caaef47b8f..e8a52fc2c8ba 100644
--- a/devel/ocaml-re/Makefile
+++ b/devel/ocaml-re/Makefile
@@ -1,5 +1,6 @@
PORTNAME= re
PORTVERSION= 1.11.0
+PORTREVISION= 1
CATEGORIES= devel
PKGNAMEPREFIX= ocaml-
diff --git a/devel/ocaml-react/Makefile b/devel/ocaml-react/Makefile
index 8971d62d0851..90e5084cca0b 100644
--- a/devel/ocaml-react/Makefile
+++ b/devel/ocaml-react/Makefile
@@ -1,6 +1,6 @@
PORTNAME= react
PORTVERSION= 1.2.1
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= devel
MASTER_SITES= http://erratique.ch/software/react/releases/
PKGNAMEPREFIX= ocaml-
diff --git a/devel/ocaml-res/Makefile b/devel/ocaml-res/Makefile
index 05f7fab8531b..f62fad07b1f2 100644
--- a/devel/ocaml-res/Makefile
+++ b/devel/ocaml-res/Makefile
@@ -1,6 +1,6 @@
PORTNAME= res
PORTVERSION= 5.0.1
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= devel
PKGNAMEPREFIX= ocaml-
diff --git a/devel/ocaml-result/Makefile b/devel/ocaml-result/Makefile
index f4310ece2792..6d9ea024cc71 100644
--- a/devel/ocaml-result/Makefile
+++ b/devel/ocaml-result/Makefile
@@ -1,6 +1,6 @@
PORTNAME= result
PORTVERSION= 1.5
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= devel
PKGNAMEPREFIX= ocaml-
@@ -23,4 +23,7 @@ MAKE_ENV= LIBDIR=${PREFIX}/${OCAML_SITELIBDIR}
OPTIONS_DEFINE= DOCS
+post-install:
+ @${STRIP_CMD} ${STAGEDIR}${PREFIX}/${OCAML_SITELIBDIR}/result/result.cmxs
+
.include <bsd.port.mk>
diff --git a/devel/ocaml-result/files/patch-dune-project b/devel/ocaml-result/files/patch-dune-project
new file mode 100644
index 000000000000..2678c9cf2efa
--- /dev/null
+++ b/devel/ocaml-result/files/patch-dune-project
@@ -0,0 +1,7 @@
+--- dune-project.orig 2024-03-22 15:32:03 UTC
++++ dune-project
+@@ -1,2 +1,3 @@
+-(lang dune 1.0)
++(lang dune 2.5)
+ (name result)
++(version 1.5)
diff --git a/devel/ocaml-rresult/Makefile b/devel/ocaml-rresult/Makefile
index 6298bacc6428..d1155dbc131d 100644
--- a/devel/ocaml-rresult/Makefile
+++ b/devel/ocaml-rresult/Makefile
@@ -1,5 +1,6 @@
PORTNAME= rresult
PORTVERSION= 0.7.0
+PORTREVISION= 1
CATEGORIES= devel
MASTER_SITES= https://erratique.ch/software/rresult/releases/
PKGNAMEPREFIX= ocaml-
diff --git a/devel/ocaml-sdl/Makefile b/devel/ocaml-sdl/Makefile
index 20ee67ffb511..96469597bfc8 100644
--- a/devel/ocaml-sdl/Makefile
+++ b/devel/ocaml-sdl/Makefile
@@ -1,6 +1,6 @@
PORTNAME= sdl
PORTVERSION= 0.9.1
-PORTREVISION= 6
+PORTREVISION= 7
CATEGORIES= devel
MASTER_SITES= SF/ocaml${PORTNAME}/OCamlSDL/ocaml${PORTNAME}-${PORTVERSION}
PKGNAMEPREFIX= ocaml-
diff --git a/devel/ocaml-sem/Makefile b/devel/ocaml-sem/Makefile
index ffa0e5aae9f1..b4f701d6bcf5 100644
--- a/devel/ocaml-sem/Makefile
+++ b/devel/ocaml-sem/Makefile
@@ -1,6 +1,6 @@
PORTNAME= sem
PORTVERSION= 0.0.2
-PORTREVISION= 5
+PORTREVISION= 6
CATEGORIES= devel
MASTER_SITES= http://ocaml-sem.sourceforge.net/files/ \
SF/ocaml-${PORTNAME}/${PORTNAME}/${PORTVERSION}
diff --git a/devel/ocaml-seq/Makefile b/devel/ocaml-seq/Makefile
index 12ca80077edc..e130084dbcec 100644
--- a/devel/ocaml-seq/Makefile
+++ b/devel/ocaml-seq/Makefile
@@ -1,6 +1,7 @@
PORTNAME= seq
PORTVERSION= 0.2.2
DISTVERSIONPREFIX= ${PKGNAMEPREFIX}${PORTNAME}-
+PORTREVISION= 1
CATEGORIES= devel
PKGNAMEPREFIX= ocaml-
diff --git a/devel/ocaml-sexplib/Makefile b/devel/ocaml-sexplib/Makefile
new file mode 100644
index 000000000000..beb14e602ded
--- /dev/null
+++ b/devel/ocaml-sexplib/Makefile
@@ -0,0 +1,41 @@
+PORTNAME= sexplib
+DISTVERSIONPREFIX= v
+DISTVERSION= 0.16.0
+CATEGORIES= devel
+PKGNAMEPREFIX= ocaml-
+
+MAINTAINER= freebsd@dev.thsi.be
+COMMENT= OCaml library for (de)serializing S-expressions
+WWW= https://janestreet.github.io/
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE.md
+
+BUILD_DEPENDS= ${SA_DIR}/num/META:math/ocaml-num \
+ ${SA_DIR}/parsexp/META:devel/ocaml-parsexp \
+ ${SA_DIR}/sexplib0/META:devel/ocaml-sexplib0
+RUN_DEPENDS= ${SA_DIR}/num/META:math/ocaml-num \
+ ${SA_DIR}/parsexp/META:devel/ocaml-parsexp \
+ ${SA_DIR}/sexplib0/META:devel/ocaml-sexplib0
+
+USES= ocaml:dune
+USE_GITHUB= yes
+GH_ACCOUNT= janestreet
+USE_OCAML= yes
+
+OPTIONS_DEFINE= DOCS
+
+DOCSDIR= ${OCAML_DOCSDIR}/${PORTNAME}
+PORTDOCS= CHANGES.md CHANGES.txt LICENSE.md LICENSE-Tywith.txt README.org
+
+OPTIONS_DEFINE= DOCS
+
+SA_DIR= ${LOCALBASE}/${OCAML_SITELIBDIR}
+
+post-install:
+ @${STRIP_CMD} \
+ ${STAGEDIR}${PREFIX}/${OCAML_SITELIBDIR}/sexplib/num/sexplib_num.cmxs \
+ ${STAGEDIR}${PREFIX}/${OCAML_SITELIBDIR}/sexplib/sexplib.cmxs \
+ ${STAGEDIR}${PREFIX}/${OCAML_SITELIBDIR}/sexplib/unix/sexplib_unix.cmxs
+
+.include <bsd.port.mk>
diff --git a/devel/ocaml-sexplib/distinfo b/devel/ocaml-sexplib/distinfo
new file mode 100644
index 000000000000..08e73b39b3eb
--- /dev/null
+++ b/devel/ocaml-sexplib/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1710456463
+SHA256 (janestreet-sexplib-v0.16.0_GH0.tar.gz) = 02d0542527191f99f7b2fde684386bfca086d8f8e42e8488561bcd269a6a5472
+SIZE (janestreet-sexplib-v0.16.0_GH0.tar.gz) = 55015
diff --git a/devel/ocaml-sexplib/pkg-descr b/devel/ocaml-sexplib/pkg-descr
new file mode 100644
index 000000000000..8b6ca2d7abf9
--- /dev/null
+++ b/devel/ocaml-sexplib/pkg-descr
@@ -0,0 +1,2 @@
+This library contains functionality for parsing and pretty-printing
+S-expressions.
diff --git a/devel/ocaml-sexplib/pkg-plist b/devel/ocaml-sexplib/pkg-plist
new file mode 100644
index 000000000000..bd7c292d6738
--- /dev/null
+++ b/devel/ocaml-sexplib/pkg-plist
@@ -0,0 +1,129 @@
+%%OCAML_SITELIBDIR%%/sexplib/META
+%%OCAML_SITELIBDIR%%/sexplib/conv.ml
+%%OCAML_SITELIBDIR%%/sexplib/conv.mli
+%%OCAML_SITELIBDIR%%/sexplib/conv_error.ml
+%%OCAML_SITELIBDIR%%/sexplib/dune-package
+%%OCAML_SITELIBDIR%%/sexplib/exn_magic.ml
+%%OCAML_SITELIBDIR%%/sexplib/exn_magic.mli
+%%OCAML_SITELIBDIR%%/sexplib/lexer.ml
+%%OCAML_SITELIBDIR%%/sexplib/lexer.mli
+%%OCAML_SITELIBDIR%%/sexplib/num/sexplib_num.a
+%%OCAML_SITELIBDIR%%/sexplib/num/sexplib_num.cma
+%%OCAML_SITELIBDIR%%/sexplib/num/sexplib_num.cmi
+%%OCAML_SITELIBDIR%%/sexplib/num/sexplib_num.cmt
+%%OCAML_SITELIBDIR%%/sexplib/num/sexplib_num.cmx
+%%OCAML_SITELIBDIR%%/sexplib/num/sexplib_num.cmxa
+%%OCAML_SITELIBDIR%%/sexplib/num/sexplib_num.cmxs
+%%OCAML_SITELIBDIR%%/sexplib/num/sexplib_num.ml
+%%OCAML_SITELIBDIR%%/sexplib/num/sexplib_num__Sexplib_num_conv.cmi
+%%OCAML_SITELIBDIR%%/sexplib/num/sexplib_num__Sexplib_num_conv.cmt
+%%OCAML_SITELIBDIR%%/sexplib/num/sexplib_num__Sexplib_num_conv.cmti
+%%OCAML_SITELIBDIR%%/sexplib/num/sexplib_num__Sexplib_num_conv.cmx
+%%OCAML_SITELIBDIR%%/sexplib/num/sexplib_num__Std.cmi
+%%OCAML_SITELIBDIR%%/sexplib/num/sexplib_num__Std.cmt
+%%OCAML_SITELIBDIR%%/sexplib/num/sexplib_num__Std.cmx
+%%OCAML_SITELIBDIR%%/sexplib/num/sexplib_num_conv.ml
+%%OCAML_SITELIBDIR%%/sexplib/num/sexplib_num_conv.mli
+%%OCAML_SITELIBDIR%%/sexplib/num/std.ml
+%%OCAML_SITELIBDIR%%/sexplib/opam
+%%OCAML_SITELIBDIR%%/sexplib/parser.ml
+%%OCAML_SITELIBDIR%%/sexplib/parser.mli
+%%OCAML_SITELIBDIR%%/sexplib/parser_with_layout.ml
+%%OCAML_SITELIBDIR%%/sexplib/parser_with_layout.mli
+%%OCAML_SITELIBDIR%%/sexplib/path.ml
+%%OCAML_SITELIBDIR%%/sexplib/path.mli
+%%OCAML_SITELIBDIR%%/sexplib/pre_sexp.ml
+%%OCAML_SITELIBDIR%%/sexplib/sexp.ml
+%%OCAML_SITELIBDIR%%/sexplib/sexp.mli
+%%OCAML_SITELIBDIR%%/sexplib/sexp_grammar.ml
+%%OCAML_SITELIBDIR%%/sexplib/sexp_grammar.mli
+%%OCAML_SITELIBDIR%%/sexplib/sexp_grammar_intf.ml
+%%OCAML_SITELIBDIR%%/sexplib/sexp_intf.ml
+%%OCAML_SITELIBDIR%%/sexplib/sexp_with_layout.ml
+%%OCAML_SITELIBDIR%%/sexplib/sexplib.a
+%%OCAML_SITELIBDIR%%/sexplib/sexplib.cma
+%%OCAML_SITELIBDIR%%/sexplib/sexplib.cmi
+%%OCAML_SITELIBDIR%%/sexplib/sexplib.cmt
+%%OCAML_SITELIBDIR%%/sexplib/sexplib.cmx
+%%OCAML_SITELIBDIR%%/sexplib/sexplib.cmxa
+%%OCAML_SITELIBDIR%%/sexplib/sexplib.cmxs
+%%OCAML_SITELIBDIR%%/sexplib/sexplib.ml
+%%OCAML_SITELIBDIR%%/sexplib/sexplib__Conv.cmi
+%%OCAML_SITELIBDIR%%/sexplib/sexplib__Conv.cmt
+%%OCAML_SITELIBDIR%%/sexplib/sexplib__Conv.cmti
+%%OCAML_SITELIBDIR%%/sexplib/sexplib__Conv.cmx
+%%OCAML_SITELIBDIR%%/sexplib/sexplib__Conv_error.cmi
+%%OCAML_SITELIBDIR%%/sexplib/sexplib__Conv_error.cmt
+%%OCAML_SITELIBDIR%%/sexplib/sexplib__Conv_error.cmx
+%%OCAML_SITELIBDIR%%/sexplib/sexplib__Exn_magic.cmi
+%%OCAML_SITELIBDIR%%/sexplib/sexplib__Exn_magic.cmt
+%%OCAML_SITELIBDIR%%/sexplib/sexplib__Exn_magic.cmti
+%%OCAML_SITELIBDIR%%/sexplib/sexplib__Exn_magic.cmx
+%%OCAML_SITELIBDIR%%/sexplib/sexplib__Lexer.cmi
+%%OCAML_SITELIBDIR%%/sexplib/sexplib__Lexer.cmt
+%%OCAML_SITELIBDIR%%/sexplib/sexplib__Lexer.cmti
+%%OCAML_SITELIBDIR%%/sexplib/sexplib__Lexer.cmx
+%%OCAML_SITELIBDIR%%/sexplib/sexplib__Parser.cmi
+%%OCAML_SITELIBDIR%%/sexplib/sexplib__Parser.cmt
+%%OCAML_SITELIBDIR%%/sexplib/sexplib__Parser.cmti
+%%OCAML_SITELIBDIR%%/sexplib/sexplib__Parser.cmx
+%%OCAML_SITELIBDIR%%/sexplib/sexplib__Parser_with_layout.cmi
+%%OCAML_SITELIBDIR%%/sexplib/sexplib__Parser_with_layout.cmt
+%%OCAML_SITELIBDIR%%/sexplib/sexplib__Parser_with_layout.cmti
+%%OCAML_SITELIBDIR%%/sexplib/sexplib__Parser_with_layout.cmx
+%%OCAML_SITELIBDIR%%/sexplib/sexplib__Path.cmi
+%%OCAML_SITELIBDIR%%/sexplib/sexplib__Path.cmt
+%%OCAML_SITELIBDIR%%/sexplib/sexplib__Path.cmti
+%%OCAML_SITELIBDIR%%/sexplib/sexplib__Path.cmx
+%%OCAML_SITELIBDIR%%/sexplib/sexplib__Pre_sexp.cmi
+%%OCAML_SITELIBDIR%%/sexplib/sexplib__Pre_sexp.cmt
+%%OCAML_SITELIBDIR%%/sexplib/sexplib__Pre_sexp.cmx
+%%OCAML_SITELIBDIR%%/sexplib/sexplib__Sexp.cmi
+%%OCAML_SITELIBDIR%%/sexplib/sexplib__Sexp.cmt
+%%OCAML_SITELIBDIR%%/sexplib/sexplib__Sexp.cmti
+%%OCAML_SITELIBDIR%%/sexplib/sexplib__Sexp.cmx
+%%OCAML_SITELIBDIR%%/sexplib/sexplib__Sexp_grammar.cmi
+%%OCAML_SITELIBDIR%%/sexplib/sexplib__Sexp_grammar.cmt
+%%OCAML_SITELIBDIR%%/sexplib/sexplib__Sexp_grammar.cmti
+%%OCAML_SITELIBDIR%%/sexplib/sexplib__Sexp_grammar.cmx
+%%OCAML_SITELIBDIR%%/sexplib/sexplib__Sexp_grammar_intf.cmi
+%%OCAML_SITELIBDIR%%/sexplib/sexplib__Sexp_grammar_intf.cmt
+%%OCAML_SITELIBDIR%%/sexplib/sexplib__Sexp_grammar_intf.cmx
+%%OCAML_SITELIBDIR%%/sexplib/sexplib__Sexp_intf.cmi
+%%OCAML_SITELIBDIR%%/sexplib/sexplib__Sexp_intf.cmt
+%%OCAML_SITELIBDIR%%/sexplib/sexplib__Sexp_intf.cmx
+%%OCAML_SITELIBDIR%%/sexplib/sexplib__Sexp_with_layout.cmi
+%%OCAML_SITELIBDIR%%/sexplib/sexplib__Sexp_with_layout.cmt
+%%OCAML_SITELIBDIR%%/sexplib/sexplib__Sexp_with_layout.cmx
+%%OCAML_SITELIBDIR%%/sexplib/sexplib__Src_pos.cmi
+%%OCAML_SITELIBDIR%%/sexplib/sexplib__Src_pos.cmt
+%%OCAML_SITELIBDIR%%/sexplib/sexplib__Src_pos.cmti
+%%OCAML_SITELIBDIR%%/sexplib/sexplib__Src_pos.cmx
+%%OCAML_SITELIBDIR%%/sexplib/sexplib__Std.cmi
+%%OCAML_SITELIBDIR%%/sexplib/sexplib__Std.cmt
+%%OCAML_SITELIBDIR%%/sexplib/sexplib__Std.cmx
+%%OCAML_SITELIBDIR%%/sexplib/sexplib__Type.cmi
+%%OCAML_SITELIBDIR%%/sexplib/sexplib__Type.cmt
+%%OCAML_SITELIBDIR%%/sexplib/sexplib__Type.cmx
+%%OCAML_SITELIBDIR%%/sexplib/sexplib__Type_with_layout.cmi
+%%OCAML_SITELIBDIR%%/sexplib/sexplib__Type_with_layout.cmt
+%%OCAML_SITELIBDIR%%/sexplib/sexplib__Type_with_layout.cmti
+%%OCAML_SITELIBDIR%%/sexplib/sexplib__Type_with_layout.cmx
+%%OCAML_SITELIBDIR%%/sexplib/src_pos.ml
+%%OCAML_SITELIBDIR%%/sexplib/src_pos.mli
+%%OCAML_SITELIBDIR%%/sexplib/std.ml
+%%OCAML_SITELIBDIR%%/sexplib/type.ml
+%%OCAML_SITELIBDIR%%/sexplib/type_with_layout.ml
+%%OCAML_SITELIBDIR%%/sexplib/type_with_layout.mli
+%%OCAML_SITELIBDIR%%/sexplib/unix/sexplib_unix.a
+%%OCAML_SITELIBDIR%%/sexplib/unix/sexplib_unix.cma
+%%OCAML_SITELIBDIR%%/sexplib/unix/sexplib_unix.cmi
+%%OCAML_SITELIBDIR%%/sexplib/unix/sexplib_unix.cmt
+%%OCAML_SITELIBDIR%%/sexplib/unix/sexplib_unix.cmx
+%%OCAML_SITELIBDIR%%/sexplib/unix/sexplib_unix.cmxa
+%%OCAML_SITELIBDIR%%/sexplib/unix/sexplib_unix.cmxs
+%%OCAML_SITELIBDIR%%/sexplib/unix/sexplib_unix.ml
+%%OCAML_SITELIBDIR%%/sexplib/unix/sexplib_unix__Sexplib_unix_conv.cmi
+%%OCAML_SITELIBDIR%%/sexplib/unix/sexplib_unix__Sexplib_unix_conv.cmt
+%%OCAML_SITELIBDIR%%/sexplib/unix/sexplib_unix__Sexplib_unix_conv.cmx
+%%OCAML_SITELIBDIR%%/sexplib/unix/sexplib_unix_conv.ml
diff --git a/devel/ocaml-stdio/Makefile b/devel/ocaml-stdio/Makefile
index 847e2f0eeb50..f4c8dc236907 100644
--- a/devel/ocaml-stdio/Makefile
+++ b/devel/ocaml-stdio/Makefile
@@ -1,5 +1,5 @@
PORTNAME= stdio
-PORTVERSION= 0.16.0
+PORTVERSION= 0.17.0
DISTVERSIONPREFIX= v
CATEGORIES= devel
PKGNAMEPREFIX= ocaml-
@@ -26,6 +26,11 @@ OPTIONS_DEFINE= DOCS
SA_DIR= ${LOCALBASE}/${OCAML_SITELIBDIR}
+post-patch:
+ @${REINPLACE_CMD} \
+ -e "s/(lang dune 3.11)/(lang dune 3.7)/" \
+ ${WRKSRC}/dune-project
+
post-install:
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/${OCAML_SITELIBDIR}/${PORTNAME}/${PORTNAME}.cmxs
diff --git a/devel/ocaml-stdio/distinfo b/devel/ocaml-stdio/distinfo
index 89eebc70ecd0..72ea1013e5ec 100644
--- a/devel/ocaml-stdio/distinfo
+++ b/devel/ocaml-stdio/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1706852893
-SHA256 (janestreet-stdio-v0.16.0_GH0.tar.gz) = 388561b483894ae27b5968358b7978ae6a242f426e8c26fd92b39852d68b856e
-SIZE (janestreet-stdio-v0.16.0_GH0.tar.gz) = 7836
+TIMESTAMP = 1716118626
+SHA256 (janestreet-stdio-v0.17.0_GH0.tar.gz) = e7cb473d4bffcf419f307c658cf2599fab03a2b4fe655bfd0be699f8f7af176e
+SIZE (janestreet-stdio-v0.17.0_GH0.tar.gz) = 7982
diff --git a/devel/ocaml-topkg/Makefile b/devel/ocaml-topkg/Makefile
index dba355964cf2..57899ae19177 100644
--- a/devel/ocaml-topkg/Makefile
+++ b/devel/ocaml-topkg/Makefile
@@ -1,6 +1,6 @@
PORTNAME= topkg
PORTVERSION= 1.0.7
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= devel
MASTER_SITES= https://erratique.ch/software/topkg/releases/
PKGNAMEPREFIX= ocaml-
diff --git a/devel/ocaml-type_conv/Makefile b/devel/ocaml-type_conv/Makefile
index a3cfb6591937..ac11a2ac6096 100644
--- a/devel/ocaml-type_conv/Makefile
+++ b/devel/ocaml-type_conv/Makefile
@@ -1,6 +1,6 @@
PORTNAME= type_conv
PORTVERSION= 113.00.02
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= devel
MASTER_SITES= https://ocaml.janestreet.com/ocaml-core/${PORTVERSION:R}/files/
PKGNAMEPREFIX= ocaml-
diff --git a/devel/ocaml-uchar/Makefile b/devel/ocaml-uchar/Makefile
index e7e02b570b2b..b6db15d2d698 100644
--- a/devel/ocaml-uchar/Makefile
+++ b/devel/ocaml-uchar/Makefile
@@ -1,7 +1,7 @@
PORTNAME= uchar
PORTVERSION= 0.0.2
DISTVERSIONPREFIX= v
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= devel
PKGNAMEPREFIX= ocaml-
diff --git a/devel/ocaml-ulex/Makefile b/devel/ocaml-ulex/Makefile
index ba212140c8a6..d4c5b08b3f38 100644
--- a/devel/ocaml-ulex/Makefile
+++ b/devel/ocaml-ulex/Makefile
@@ -1,6 +1,6 @@
PORTNAME= ulex
PORTVERSION= 1.1
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= devel
MASTER_SITES= http://www.cduce.org/download/
PKGNAMEPREFIX= ocaml-
diff --git a/devel/ocaml-uutf/Makefile b/devel/ocaml-uutf/Makefile
index f4e15dbc5af7..48aaf050c6f2 100644
--- a/devel/ocaml-uutf/Makefile
+++ b/devel/ocaml-uutf/Makefile
@@ -1,6 +1,6 @@
PORTNAME= uutf
PORTVERSION= 1.0.3
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= devel
MASTER_SITES= https://erratique.ch/software/uutf/releases/
PKGNAMEPREFIX= ocaml-
diff --git a/devel/ocaml-xstr/Makefile b/devel/ocaml-xstr/Makefile
index 5a1787260dc4..ef89561e560c 100644
--- a/devel/ocaml-xstr/Makefile
+++ b/devel/ocaml-xstr/Makefile
@@ -1,6 +1,6 @@
PORTNAME= xstr
PORTVERSION= 0.2.1
-PORTREVISION= 4
+PORTREVISION= 5
CATEGORIES= devel
MASTER_SITES= http://download.camlcity.org/download/
PKGNAMEPREFIX= ocaml-
diff --git a/devel/ocaml-xstrp4/Makefile b/devel/ocaml-xstrp4/Makefile
index 7737317f1fc2..1df60fd9a082 100644
--- a/devel/ocaml-xstrp4/Makefile
+++ b/devel/ocaml-xstrp4/Makefile
@@ -1,6 +1,6 @@
PORTNAME= xstrp4
PORTVERSION= 1.8.2
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= devel
MASTER_SITES= http://download.camlcity.org/download/
PKGNAMEPREFIX= ocaml-
diff --git a/ftp/ocaml-ocurl/Makefile b/ftp/ocaml-ocurl/Makefile
index 5c56b6286220..d55852e15cbe 100644
--- a/ftp/ocaml-ocurl/Makefile
+++ b/ftp/ocaml-ocurl/Makefile
@@ -1,6 +1,6 @@
PORTNAME= ocurl
PORTVERSION= 0.9.2
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= ftp
PKGNAMEPREFIX= ocaml-
diff --git a/graphics/ocaml-cairo/Makefile b/graphics/ocaml-cairo/Makefile
index d85c7179bd62..38121c07aba1 100644
--- a/graphics/ocaml-cairo/Makefile
+++ b/graphics/ocaml-cairo/Makefile
@@ -1,6 +1,6 @@
PORTNAME= cairo
PORTVERSION= 0.6.4
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics
PKGNAMEPREFIX= ocaml-
diff --git a/graphics/ocaml-images/Makefile b/graphics/ocaml-images/Makefile
index 3ccd5fe45778..df44ee7894a9 100644
--- a/graphics/ocaml-images/Makefile
+++ b/graphics/ocaml-images/Makefile
@@ -1,6 +1,6 @@
PORTNAME= images
PORTVERSION= 5.0.4
-PORTREVISION= 1
+PORTREVISION= 2
PORTEPOCH= 2
CATEGORIES= graphics
PKGNAMEPREFIX= ocaml-
diff --git a/graphics/ocaml-lablgl/Makefile b/graphics/ocaml-lablgl/Makefile
index f5f5ca506bc8..d52b51d56700 100644
--- a/graphics/ocaml-lablgl/Makefile
+++ b/graphics/ocaml-lablgl/Makefile
@@ -1,6 +1,6 @@
PORTNAME= lablgl
PORTVERSION= 1.05
-PORTREVISION= 6
+PORTREVISION= 7
PORTEPOCH= 1
CATEGORIES= graphics
MASTER_SITES= http://wwwfun.kurims.kyoto-u.ac.jp/soft/lsl/dist/ \
diff --git a/lang/ocaml/Makefile b/lang/ocaml/Makefile
index 72c02c607a64..8a00f54773f9 100644
--- a/lang/ocaml/Makefile
+++ b/lang/ocaml/Makefile
@@ -1,7 +1,7 @@
# for committer: bump PORTREVISION for math/facile whenever ocaml gets updated
PORTNAME= ocaml
-PORTVERSION= 4.14.1
+PORTVERSION= 4.14.2
CATEGORIES= lang
MASTER_SITES= http://caml.inria.fr/pub/distrib/${DISTNAME:R}/ \
GENTOO \
@@ -10,7 +10,7 @@ DISTFILES= ${DISTNAME}${EXTRACT_SUFX}
EXTRACT_ONLY= ${_DISTFILES:M*.tar.*}
PKGNAMESUFFIX= ${SFX}
-MAINTAINER= michipili@gmail.com
+MAINTAINER= freebsd@dev.thsi.be
COMMENT= Objective Caml compiler and programming environment
WWW= https://ocaml.org/
@@ -19,7 +19,7 @@ LICENSE= LGPL21
BROKEN_riscv64= fails to build: hasgot.c:3:12: use of undeclared identifier 'secure_getenv'
RUN_DEPENDS= ${RUN_DEPENDS_${ARCH}}
-RUN_DEPENDS_armv7= as:devel/binutils
+RUN_DEPENDS_armv7= ${LOCALBASE}/bin/as:devel/binutils
USES= compiler:c11 cpe gmake tar:xz
ARCH!= uname -p
diff --git a/lang/ocaml/distinfo b/lang/ocaml/distinfo
index 25ed65bd973d..b5819ba94e9a 100644
--- a/lang/ocaml/distinfo
+++ b/lang/ocaml/distinfo
@@ -1,6 +1,6 @@
-TIMESTAMP = 1706795905
-SHA256 (ocaml-4.14.1.tar.xz) = c127974d0242576cf47061b20aa9c86d17be0d6aa9687f6ec9835de67be7bb6f
-SIZE (ocaml-4.14.1.tar.xz) = 3803356
+TIMESTAMP = 1715540552
+SHA256 (ocaml-4.14.2.tar.xz) = 7819f68693e32946f93358df46a8ea6f517222681fcc6f7cb96214216cfec764
+SIZE (ocaml-4.14.2.tar.xz) = 3808412
SHA256 (ocaml-4.14-refman-html.tar.gz) = f9d20b8f3c573bbf7bfc99155731472b91b9bf084e9dd2b5539d2ae473406ca7
SIZE (ocaml-4.14-refman-html.tar.gz) = 1982462
SHA256 (ocaml-4.14-refman.pdf) = d1b61c3faab3d3ff2a2780ec98e5b7904d9c10b12798527e593cbab1821ddac6
diff --git a/math/alt-ergo/Makefile b/math/alt-ergo/Makefile
index 572358f84481..f0666bcf4d03 100644
--- a/math/alt-ergo/Makefile
+++ b/math/alt-ergo/Makefile
@@ -1,6 +1,6 @@
PORTNAME= alt-ergo
PORTVERSION= 0.95.2
-PORTREVISION= 5
+PORTREVISION= 6
CATEGORIES= math
MASTER_SITES= http://alt-ergo.ocamlpro.com/http/alt-ergo-${PORTVERSION}/
diff --git a/math/coq/Makefile b/math/coq/Makefile
index 175079bb2f73..fc2846f27cc4 100644
--- a/math/coq/Makefile
+++ b/math/coq/Makefile
@@ -1,6 +1,6 @@
PORTNAME= coq
PORTVERSION= 8.19
-PORTREVISION= 1
+PORTREVISION= 2
PORTEPOCH= 3
CATEGORIES= math
DISTVERSIONPREFIX= V
diff --git a/math/facile/Makefile b/math/facile/Makefile
index 7ed824d618fd..f66a5a0e5f83 100644
--- a/math/facile/Makefile
+++ b/math/facile/Makefile
@@ -1,6 +1,6 @@
PORTNAME= facile
PORTVERSION= 1.1.3
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= math
MASTER_SITES= http://opti.recherche.enac.fr/facile/distrib/
diff --git a/math/ocaml-num/Makefile b/math/ocaml-num/Makefile
index c762dfd61cc1..285138ec5d7e 100644
--- a/math/ocaml-num/Makefile
+++ b/math/ocaml-num/Makefile
@@ -1,7 +1,7 @@
PORTNAME= num
PORTVERSION= 1.4
DISTVERSIONPREFIX= v
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= math
PKGNAMEPREFIX= ocaml-
diff --git a/math/ocaml-ocamlgraph/Makefile b/math/ocaml-ocamlgraph/Makefile
index 34936a306992..a580c5388b1d 100644
--- a/math/ocaml-ocamlgraph/Makefile
+++ b/math/ocaml-ocamlgraph/Makefile
@@ -1,6 +1,6 @@
PORTNAME= ocamlgraph
PORTVERSION= 1.8.8
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= math
MASTER_SITES= http://ocamlgraph.lri.fr/download/ \
ftp://ftp.stack.nl/pub/users/johans/ocamlgraph/
diff --git a/math/ocaml-zarith/Makefile b/math/ocaml-zarith/Makefile
index ec8246f747b5..8b92e36cc3cb 100644
--- a/math/ocaml-zarith/Makefile
+++ b/math/ocaml-zarith/Makefile
@@ -1,7 +1,7 @@
PORTNAME= ${GH_PROJECT:tl}
PORTVERSION= 1.13
DISTVERSIONPREFIX= release-
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= math
PKGNAMEPREFIX= ocaml-
diff --git a/math/ocamlgsl/Makefile b/math/ocamlgsl/Makefile
index 48dbfef36d1f..8c6e94bed2d6 100644
--- a/math/ocamlgsl/Makefile
+++ b/math/ocamlgsl/Makefile
@@ -1,10 +1,10 @@
PORTNAME= ocaml-gsl
DISTVERSIONPREFIX=v
DISTVERSION= 1.19.1
-PORTREVISION= 7
+PORTREVISION= 8
CATEGORIES= math
-MAINTAINER= michipili@gmail.com
+MAINTAINER= ports@FreeBSD.org
COMMENT= Interface to GSL for the Objective Caml language
WWW= http://oandrieu.nerim.net/ocaml/gsl/
diff --git a/security/Makefile b/security/Makefile
index 3b655e866077..9e464693ad71 100644
--- a/security/Makefile
+++ b/security/Makefile
@@ -416,6 +416,7 @@
SUBDIR += obfs4proxy-tor
SUBDIR += ocaml-cryptgps
SUBDIR += ocaml-cryptokit
+ SUBDIR += ocaml-lwt_ssl
SUBDIR += ocaml-ssl
SUBDIR += oidentd
SUBDIR += oinkmaster
diff --git a/security/ocaml-cryptgps/Makefile b/security/ocaml-cryptgps/Makefile
index e546b892818c..09a4761317ee 100644
--- a/security/ocaml-cryptgps/Makefile
+++ b/security/ocaml-cryptgps/Makefile
@@ -1,6 +1,6 @@
PORTNAME= cryptgps
PORTVERSION= 0.2.1
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= security
MASTER_SITES= http://download.camlcity.org/download/
PKGNAMEPREFIX= ocaml-
diff --git a/security/ocaml-cryptokit/Makefile b/security/ocaml-cryptokit/Makefile
index fd9c49ca02ca..d70a11aff9f8 100644
--- a/security/ocaml-cryptokit/Makefile
+++ b/security/ocaml-cryptokit/Makefile
@@ -1,34 +1,33 @@
PORTNAME= cryptokit
-PORTVERSION= 1.11
-PORTREVISION= 1
+PORTVERSION= 1.19
CATEGORIES= security
PKGNAMEPREFIX= ocaml-
MAINTAINER= danfe@FreeBSD.org
COMMENT= Variety of cryptographic primitives for Objective Caml
-WWW= http://cristal.inria.fr/~xleroy/software.html
+WWW= https://github.com/xavierleroy/cryptokit
-BUILD_DEPENDS= ocamlbuild:devel/ocaml-ocamlbuild \
- ${LOCALBASE}/${OCAML_SITELIBDIR}/zarith/META:math/ocaml-zarith
+LICENSE= LGPL20+ # with a special exception to clause 6
+LICENSE_FILE= ${WRKSRC}/LICENSE
-DESTDIRNAME= destdir
-HAS_CONFIGURE= yes
-CONFIGURE_ARGS= --docdir ${OCAML_DOCSDIR}
+BUILD_DEPENDS= ${LOCALBASE}/${OCAML_SITELIBDIR}/zarith/META:math/ocaml-zarith
+RUN_DEPENDS= ${LOCALBASE}/${OCAML_SITELIBDIR}/zarith/META:math/ocaml-zarith
+USES= ocaml:dune
USE_GITHUB= yes
GH_ACCOUNT= xavierleroy
GH_TAGNAME= release${PORTVERSION:S/.//g}
-
USE_OCAML= yes
USE_OCAML_LDCONFIG= yes
-USE_OCAML_FINDLIB= yes
-USE_OCAMLFIND_PLIST= yes
DOCSDIR= ${OCAML_DOCSDIR}/${PORTNAME}
PORTDOCS= *
OPTIONS_DEFINE= DOCS
-DOCS_ALL_TARGET= doc
+post-install:
+ @${STRIP_CMD} \
+ ${STAGEDIR}${PREFIX}/${OCAML_SITELIBDIR}/cryptokit/dllcryptokit_stubs.so \
+ ${STAGEDIR}${PREFIX}/${OCAML_SITELIBDIR}/cryptokit/cryptokit.cmxs
.include <bsd.port.mk>
diff --git a/security/ocaml-cryptokit/distinfo b/security/ocaml-cryptokit/distinfo
index 5ffde3aa0fa0..e4bb92501ed4 100644
--- a/security/ocaml-cryptokit/distinfo
+++ b/security/ocaml-cryptokit/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1468831896
-SHA256 (xavierleroy-cryptokit-1.11-release111_GH0.tar.gz) = 8fb4c7f315cd554c53897db412731dc2288ed0cfd6d5dda6f76796aced8d23fd
-SIZE (xavierleroy-cryptokit-1.11-release111_GH0.tar.gz) = 150687
+TIMESTAMP = 1710749762
+SHA256 (xavierleroy-cryptokit-1.19-release119_GH0.tar.gz) = a7e203aac7fb86fa26fbcc5e7243c8e0f46f0d084bfaf06767d0b816fc12ccb1
+SIZE (xavierleroy-cryptokit-1.19-release119_GH0.tar.gz) = 162353
diff --git a/security/ocaml-cryptokit/pkg-plist b/security/ocaml-cryptokit/pkg-plist
new file mode 100644
index 000000000000..2f6bb5f5a778
--- /dev/null
+++ b/security/ocaml-cryptokit/pkg-plist
@@ -0,0 +1,21 @@
+%%OCAML_SITELIBDIR%%/cryptokit/META
+%%OCAML_SITELIBDIR%%/cryptokit/cryptokit.a
+%%OCAML_SITELIBDIR%%/cryptokit/cryptokit.cma
+%%OCAML_SITELIBDIR%%/cryptokit/cryptokit.cmi
+%%OCAML_SITELIBDIR%%/cryptokit/cryptokit.cmt
+%%OCAML_SITELIBDIR%%/cryptokit/cryptokit.cmti
+%%OCAML_SITELIBDIR%%/cryptokit/cryptokit.cmx
+%%OCAML_SITELIBDIR%%/cryptokit/cryptokit.cmxa
+%%OCAML_SITELIBDIR%%/cryptokit/cryptokit.cmxs
+%%OCAML_SITELIBDIR%%/cryptokit/cryptokit.ml
+%%OCAML_SITELIBDIR%%/cryptokit/cryptokit.mli
+%%OCAML_SITELIBDIR%%/cryptokit/cryptokitBignum.cmi
+%%OCAML_SITELIBDIR%%/cryptokit/cryptokitBignum.cmt
+%%OCAML_SITELIBDIR%%/cryptokit/cryptokitBignum.cmti
+%%OCAML_SITELIBDIR%%/cryptokit/cryptokitBignum.cmx
+%%OCAML_SITELIBDIR%%/cryptokit/cryptokitBignum.ml
+%%OCAML_SITELIBDIR%%/cryptokit/cryptokitBignum.mli
+%%OCAML_SITELIBDIR%%/cryptokit/dllcryptokit_stubs.so
+%%OCAML_SITELIBDIR%%/cryptokit/dune-package
+%%OCAML_SITELIBDIR%%/cryptokit/libcryptokit_stubs.a
+%%OCAML_SITELIBDIR%%/cryptokit/opam
diff --git a/security/ocaml-lwt_ssl/Makefile b/security/ocaml-lwt_ssl/Makefile
new file mode 100644
index 000000000000..455d3a8aacb8
--- /dev/null
+++ b/security/ocaml-lwt_ssl/Makefile
@@ -0,0 +1,33 @@
+PORTNAME= lwt_ssl
+PORTVERSION= 1.2.0
+CATEGORIES= security
+PKGNAMEPREFIX= ocaml-
+
+MAINTAINER= freebsd@dev.thsi.be
+COMMENT= OpenSSL asynchronously cooperative bindings for OCaml
+WWW= https://github.com/ocsigen/lwt_ssl
+
+LICENSE= LGPL21+ # with a special exception to clause 6
+
+BUILD_DEPENDS= ocaml-lwt>=5.7.0:devel/ocaml-lwt \
+ ${SA_DIR}/ssl/META:security/ocaml-ssl
+RUN_DEPENDS= ocaml-lwt>=5.7.0:devel/ocaml-lwt \
+ ${SA_DIR}/ssl/META:security/ocaml-ssl
+
+USES= ocaml:dune
+USE_GITHUB= yes
+GH_ACCOUNT= ocsigen
+USE_OCAML= yes
+
+DOCSDIR= ${OCAML_DOCSDIR}/${PORTNAME}
+PORTDOCS= CHANGES README.md
+
+OPTIONS_DEFINE= DOCS
+
+SA_DIR= ${LOCALBASE}/${OCAML_SITELIBDIR}
+
+post-install:
+ @${STRIP_CMD} \
+ ${STAGEDIR}${PREFIX}/${OCAML_SITELIBDIR}/${PORTNAME}/lwt_ssl.cmxs
+
+.include <bsd.port.mk>
diff --git a/security/ocaml-lwt_ssl/distinfo b/security/ocaml-lwt_ssl/distinfo
new file mode 100644
index 000000000000..6cbd51bebf8e
--- /dev/null
+++ b/security/ocaml-lwt_ssl/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1710454010
+SHA256 (ocsigen-lwt_ssl-1.2.0_GH0.tar.gz) = 209333cdb033676e2b1116ffd1b5e430a645d66f277d885984d46db270346174
+SIZE (ocsigen-lwt_ssl-1.2.0_GH0.tar.gz) = 14955
diff --git a/security/ocaml-lwt_ssl/pkg-descr b/security/ocaml-lwt_ssl/pkg-descr
new file mode 100644
index 000000000000..5a920cf91ddc
--- /dev/null
+++ b/security/ocaml-lwt_ssl/pkg-descr
@@ -0,0 +1,3 @@
+This OCaml library provide a non-blocking interface to OpenSSL that is
+compatible with application using the "lwt" cooperative threading
+library.
diff --git a/security/ocaml-lwt_ssl/pkg-plist b/security/ocaml-lwt_ssl/pkg-plist
new file mode 100644
index 000000000000..050bf4b5a598
--- /dev/null
+++ b/security/ocaml-lwt_ssl/pkg-plist
@@ -0,0 +1,13 @@
+%%OCAML_SITELIBDIR%%/lwt_ssl/META
+%%OCAML_SITELIBDIR%%/lwt_ssl/dune-package
+%%OCAML_SITELIBDIR%%/lwt_ssl/lwt_ssl.a
+%%OCAML_SITELIBDIR%%/lwt_ssl/lwt_ssl.cma
+%%OCAML_SITELIBDIR%%/lwt_ssl/lwt_ssl.cmi
+%%OCAML_SITELIBDIR%%/lwt_ssl/lwt_ssl.cmt
+%%OCAML_SITELIBDIR%%/lwt_ssl/lwt_ssl.cmti
+%%OCAML_SITELIBDIR%%/lwt_ssl/lwt_ssl.cmx
+%%OCAML_SITELIBDIR%%/lwt_ssl/lwt_ssl.cmxa
+%%OCAML_SITELIBDIR%%/lwt_ssl/lwt_ssl.cmxs
+%%OCAML_SITELIBDIR%%/lwt_ssl/lwt_ssl.ml
+%%OCAML_SITELIBDIR%%/lwt_ssl/lwt_ssl.mli
+%%OCAML_SITELIBDIR%%/lwt_ssl/opam
diff --git a/security/ocaml-ssl/Makefile b/security/ocaml-ssl/Makefile
index 9d096a157b62..b698f9b8c380 100644
--- a/security/ocaml-ssl/Makefile
+++ b/security/ocaml-ssl/Makefile
@@ -1,6 +1,6 @@
PORTNAME= ssl
-PORTVERSION= 0.5.13
-PORTREVISION= 1
+PORTVERSION= 0.7.0
+DISTVERSIONPREFIX= v
CATEGORIES= security devel
PKGNAMEPREFIX= ocaml-
@@ -11,28 +11,23 @@ WWW= https://github.com/savonet/ocaml-ssl
LICENSE= LGPL21+
LICENSE_FILE= ${WRKSRC}/COPYING
-BUILD_DEPENDS= dune:devel/ocaml-dune
-
-USES= ssl
+USES= ocaml:dune ssl
USE_GITHUB= yes
GH_ACCOUNT= savonet
GH_PROJECT= ocaml-ssl
USE_OCAML= yes
+USE_OCAML_LDCONFIG= yes
DOCSDIR= ${OCAML_DOCSDIR}/${PORTNAME}
EXAMPLESDIR= ${OCAML_EXAMPLESDIR}/${PORTNAME}
OPTIONS_DEFINE= DOCS EXAMPLES
-do-build:
- cd ${BUILD_WRKSRC} && dune build -p ${PORTNAME} -j ${MAKE_JOBS_NUMBER}
-
-do-install:
- cd ${INSTALL_WRKSRC} && dune install --destdir=${STAGEDIR} \
- --libdir=${PREFIX}/${OCAML_SITELIBDIR}
-
do-install-EXAMPLES-on:
@${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
${INSTALL_DATA} ${WRKSRC}/examples/* ${STAGEDIR}${EXAMPLESDIR}
+post-install:
+ @${STRIP_CMD} ${STAGEDIR}${PREFIX}/${OCAML_SITELIBDIR}/ssl/dllssl_stubs.so
+
.include <bsd.port.mk>
diff --git a/security/ocaml-ssl/distinfo b/security/ocaml-ssl/distinfo
index 3014e5484547..46de06c8b493 100644
--- a/security/ocaml-ssl/distinfo
+++ b/security/ocaml-ssl/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1684362228
-SHA256 (savonet-ocaml-ssl-0.5.13_GH0.tar.gz) = d84e1d25a60a766a9ccc30a3a46229fd83414252f502ff27acba037b473dec7c
-SIZE (savonet-ocaml-ssl-0.5.13_GH0.tar.gz) = 40604
+TIMESTAMP = 1710751348
+SHA256 (savonet-ocaml-ssl-v0.7.0_GH0.tar.gz) = efc12652cee0dc3e5abf1cba7c87cb5e55dc919c8f4093882a7a6a53ad1efaad
+SIZE (savonet-ocaml-ssl-v0.7.0_GH0.tar.gz) = 56102
diff --git a/security/ocaml-ssl/pkg-plist b/security/ocaml-ssl/pkg-plist
index 5050f84d3a6f..0c257254ab5a 100644
--- a/security/ocaml-ssl/pkg-plist
+++ b/security/ocaml-ssl/pkg-plist
@@ -18,7 +18,7 @@
%%OCAML_SITELIBDIR%%/ssl/ssl_threads.cmx
%%OCAML_SITELIBDIR%%/ssl/ssl_threads.ml
%%OCAML_SITELIBDIR%%/ssl/ssl_threads.mli
-%%OCAML_SITELIBDIR%%/stublibs/dllssl_stubs.so
+%%OCAML_SITELIBDIR%%/ssl/dllssl_stubs.so
%%PORTDOCS%%%%DOCSDIR%%/CHANGES.md
%%PORTDOCS%%%%DOCSDIR%%/README.md
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/alpn.ml
diff --git a/textproc/ocaml-csv/Makefile b/textproc/ocaml-csv/Makefile
index d3ece45f4eaa..b0c9a81b3127 100644
--- a/textproc/ocaml-csv/Makefile
+++ b/textproc/ocaml-csv/Makefile
@@ -1,6 +1,6 @@
PORTNAME= ocaml-csv
PORTVERSION= 1.2.1
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= textproc
MASTER_SITES= https://forge.ocamlcore.org/frs/download.php/420/
diff --git a/textproc/ocaml-expat/Makefile b/textproc/ocaml-expat/Makefile
index 6e24d2d687d9..88981e7441ed 100644
--- a/textproc/ocaml-expat/Makefile
+++ b/textproc/ocaml-expat/Makefile
@@ -1,6 +1,6 @@
PORTNAME= expat
PORTVERSION= 0.9.1
-PORTREVISION= 5
+PORTREVISION= 6
CATEGORIES= textproc
MASTER_SITES= http://www.xs4all.nl/~mmzeeman/ocaml/
PKGNAMEPREFIX= ocaml-
diff --git a/textproc/ocaml-text/Makefile b/textproc/ocaml-text/Makefile
index 62ae470e5616..a532c6fedaf3 100644
--- a/textproc/ocaml-text/Makefile
+++ b/textproc/ocaml-text/Makefile
@@ -1,6 +1,6 @@
PORTNAME= text
PORTVERSION= 0.8
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= textproc
PKGNAMEPREFIX= ocaml-
diff --git a/x11-toolkits/ocaml-graphics/Makefile b/x11-toolkits/ocaml-graphics/Makefile
index 8978f669d580..17081fb21597 100644
--- a/x11-toolkits/ocaml-graphics/Makefile
+++ b/x11-toolkits/ocaml-graphics/Makefile
@@ -1,6 +1,6 @@
PORTNAME= graphics
PORTVERSION= 5.1.2
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= x11-toolkits
PKGNAMEPREFIX= ocaml-
@@ -25,15 +25,15 @@ OPTIONS_DEFINE= DOCS
SA_DIR= ${LOCALBASE}/${OCAML_SITELIBDIR}
-post-install:
- @${STRIP_CMD} \
- ${STAGEDIR}${PREFIX}/${OCAML_SITELIBDIR}/${PORTNAME}/dllgraphics_stubs.so \
- ${STAGEDIR}${PREFIX}/${OCAML_SITELIBDIR}/${PORTNAME}/graphics.cmxs
-
post-patch:
- ${REINPLACE_CMD} \
+ @${REINPLACE_CMD} \
-e "s/(name graphics)/&\n (version ${PORTVERSION})/" \
-e "s/(lang dune 2.1)/(lang dune 2.5)/" \
${WRKSRC}/dune-project
+post-install:
+ @${STRIP_CMD} \
+ ${STAGEDIR}${PREFIX}/${OCAML_SITELIBDIR}/${PORTNAME}/dllgraphics_stubs.so \
+ ${STAGEDIR}${PREFIX}/${OCAML_SITELIBDIR}/${PORTNAME}/graphics.cmxs
+
.include <bsd.port.mk>
diff --git a/x11-toolkits/ocaml-lablgtk2/Makefile b/x11-toolkits/ocaml-lablgtk2/Makefile
index b8b475901d3d..25d635d53467 100644
--- a/x11-toolkits/ocaml-lablgtk2/Makefile
+++ b/x11-toolkits/ocaml-lablgtk2/Makefile
@@ -1,6 +1,6 @@
PORTNAME= lablgtk2
PORTVERSION= 2.18.13
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= x11-toolkits
PKGNAMEPREFIX= ocaml-
diff --git a/x11-toolkits/ocaml-lablgtk3/Makefile b/x11-toolkits/ocaml-lablgtk3/Makefile
index 22bd9791d93d..60e3c956a75c 100644
--- a/x11-toolkits/ocaml-lablgtk3/Makefile
+++ b/x11-toolkits/ocaml-lablgtk3/Makefile
@@ -1,5 +1,6 @@
PORTNAME= lablgtk3
PORTVERSION= 3.1.4
+PORTREVISION= 1
CATEGORIES= x11-toolkits
PKGNAMEPREFIX= ocaml-
diff --git a/x11-toolkits/ocaml-labltk/Makefile b/x11-toolkits/ocaml-labltk/Makefile
index 24c84e2e6ef8..f5a190d5a241 100644
--- a/x11-toolkits/ocaml-labltk/Makefile
+++ b/x11-toolkits/ocaml-labltk/Makefile
@@ -1,5 +1,6 @@
PORTNAME= labltk
PORTVERSION= 8.06.12
+PORTREVISION= 1
CATEGORIES= x11-toolkits
PKGNAMEPREFIX= ocaml-