diff --git a/app-text/cmark-gfm/Manifest b/app-text/cmark-gfm/Manifest
index af15e3e58e..330d4c25d2 100644
--- a/app-text/cmark-gfm/Manifest
+++ b/app-text/cmark-gfm/Manifest
@@ -1 +1 @@
-DIST cmark-gfm-0.29.0.3.tar.gz 289222 BLAKE2B 7df6031eb873bd52e92d35385666323b28f16c71196aadede07dbbf3edf951ff417e173c469454dfb57ada2b89febfae9e630aa6205aa11375f520258f54c1eb SHA512 2d7d7160e477bee6050618145d20448604e36c8b3ac97c7c3ece19c1f7fe94087e1dee2396bdc8038d62e961dd63dfd08f63426320e2026dae9f1ae96558d336
+DIST cmark-gfm-0.29.0.13.tar.gz 300086 BLAKE2B 909cb5dec9e2ce5a2d2a8df8d65e282b940e5b2c8c01ce246c8a089e38b1d6f618102a434b7381dcd76a16b8339c5a7a68f0e70127090ff37e926cc9f51a0fe5 SHA512 435298fcf782dfc5b64c578ac839759b9d5cd0c08eb90d6702f26278062a0f4887c65c18e89e2c9f6be23f10dd835c769a7e0f8c934be068b6754dcca30cdd7c
diff --git a/app-text/cmark-gfm/cmark-gfm-0.29.0.3.ebuild b/app-text/cmark-gfm/cmark-gfm-0.29.0.13.ebuild
similarity index 95%
rename from app-text/cmark-gfm/cmark-gfm-0.29.0.3.ebuild
rename to app-text/cmark-gfm/cmark-gfm-0.29.0.13.ebuild
index 479034d997..b5cef6276a 100644
--- a/app-text/cmark-gfm/cmark-gfm-0.29.0.3.ebuild
+++ b/app-text/cmark-gfm/cmark-gfm-0.29.0.13.ebuild
@@ -4,7 +4,7 @@
EAPI=8
MYPV="$(ver_rs 3 '.gfm.')"
-PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit cmake python-any-r1
diff --git a/app-text/cmark-gfm/metadata.xml b/app-text/cmark-gfm/metadata.xml
index 4a4c6f551f..3a779341fc 100644
--- a/app-text/cmark-gfm/metadata.xml
+++ b/app-text/cmark-gfm/metadata.xml
@@ -5,6 +5,10 @@
lssndrbarbieri@gmail.com
Alessandro Barbieri
+
+ dev@dyama.net
+ Daichi Yamamoto
+
github/cmark-gfm
diff --git a/dev-ml/afl-persistent/metadata.xml b/dev-ml/afl-persistent/metadata.xml
index 74059b7a11..e64c54370e 100644
--- a/dev-ml/afl-persistent/metadata.xml
+++ b/dev-ml/afl-persistent/metadata.xml
@@ -2,9 +2,8 @@
- co-maintainers welcome
- lssndrbarbieri@gmail.com
- Alessandro Barbieri
+ fogti@ytrizja.de
+ Alain Emilia Anna Zscheile
afl-fuzz normally works by repeatedly fork()ing the program being
tested. using this package, you can run afl-fuzz in 'persistent mode',
diff --git a/dev-ml/bheap/bheap-2.0.0.ebuild b/dev-ml/bheap/bheap-2.0.0.ebuild
index e4f6753027..c5481c7241 100644
--- a/dev-ml/bheap/bheap-2.0.0.ebuild
+++ b/dev-ml/bheap/bheap-2.0.0.ebuild
@@ -14,9 +14,7 @@ SLOT="0/${PV}"
KEYWORDS="~amd64"
IUSE="ocamlopt test"
-RDEPEND=""
DEPEND="
- ${RDEPEND}
test? ( dev-ml/stdlib-shims )
"
diff --git a/dev-ml/bigstringaf/metadata.xml b/dev-ml/bigstringaf/metadata.xml
index 7c48d570fc..195daf44e6 100644
--- a/dev-ml/bigstringaf/metadata.xml
+++ b/dev-ml/bigstringaf/metadata.xml
@@ -2,9 +2,8 @@
- co-maintainers welcome
- lssndrbarbieri@gmail.com
- Alessandro Barbieri
+ fogti@ytrizja.de
+ Alain Emilia Anna Zscheile
Bigstring intrinsics and fast blits based on memcpy/memmove
diff --git a/dev-ml/cdrom/cdrom-0.9.4.ebuild b/dev-ml/cdrom/cdrom-0.9.4.ebuild
index ba6d2086eb..0b974a3aeb 100644
--- a/dev-ml/cdrom/cdrom-0.9.4.ebuild
+++ b/dev-ml/cdrom/cdrom-0.9.4.ebuild
@@ -13,6 +13,3 @@ LICENSE="LGPL-2.1-with-linking-exception"
SLOT="0/${PV}"
KEYWORDS="~amd64"
IUSE="ocamlopt"
-
-DEPEND=""
-RDEPEND="${DEPEND}"
diff --git a/dev-ml/crowbar/metadata.xml b/dev-ml/crowbar/metadata.xml
index a47ab22314..1093a6bc2d 100644
--- a/dev-ml/crowbar/metadata.xml
+++ b/dev-ml/crowbar/metadata.xml
@@ -2,9 +2,8 @@
- co-maintainers welcome
- lssndrbarbieri@gmail.com
- Alessandro Barbieri
+ fogti@ytrizja.de
+ Alain Emilia Anna Zscheile
Crowbar is a library for testing code, combining QuickCheck-style
property-based testing and the magical bug-finding powers of
diff --git a/dev-ml/cstruct/Manifest b/dev-ml/cstruct/Manifest
index 15faa7e157..81ece4a90c 100644
--- a/dev-ml/cstruct/Manifest
+++ b/dev-ml/cstruct/Manifest
@@ -1,2 +1,3 @@
DIST cstruct-6.0.1.tar.gz 243082 BLAKE2B 874ba34583bbc8b53c5b50ba038e2aa423fd704711194dcf99899239015d5fb383242b1d4654c1be2705fd80465e6da7e8eaa5265eceebca7b09dc036d4ebf40 SHA512 2f696b9dca1426d57f60fd4e997ee0c89b1af1a49e186e08c16911ceb03e9f89518a63faf4407b4a7e3c5f391d51979019e47a77f33961624d767a9e36146ca4
DIST cstruct-6.1.0.tar.gz 242509 BLAKE2B b41eb9b86830b7aef775f9bbfd0f08c29b495a032351ec38dd4553fb944e67a4875b7c2b7175761d78336a20782812148fd473075f4a3519b019f37a2c2ea7dc SHA512 eb1bcb6a35650f726f888c396f3ca64796ad16c1a7146130f8826004c3cac7e5bef2453821ca95844eaef4b4beab25e3db713e6a1a93f86986fb526f75a4e245
+DIST cstruct-6.2.0.tar.gz 244005 BLAKE2B bf6f63250eae360b842cbaa02ab23c287a2e44442cfc2a9cee69acc272cad16c23232375579e1123d46d389c627a995f8d04af56774cb91a7908b3b80d9ccb03 SHA512 064ea4a0ae039b9d177223e2bc886d6d3b16ab8e03a5cba3ef5f4d441bb2ef8e652971a467e592120a1bcb0a3fb74e1429664ee5017d707300a5723ba51d050f
diff --git a/dev-ml/cstruct/cstruct-6.2.0.ebuild b/dev-ml/cstruct/cstruct-6.2.0.ebuild
new file mode 100644
index 0000000000..070bd7937f
--- /dev/null
+++ b/dev-ml/cstruct/cstruct-6.2.0.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit dune multiprocessing
+
+DESCRIPTION="Map OCaml arrays onto C-like structs"
+HOMEPAGE="
+ https://github.com/mirage/ocaml-cstruct
+ https://opam.ocaml.org/packages/cstruct/
+"
+SRC_URI="https://github.com/mirage/ocaml-cstruct/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/ocaml-${P}"
+
+LICENSE="ISC"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+IUSE="async lwt ocamlopt ppx sexp test unix"
+
+RDEPEND="
+ >=dev-lang/ocaml-4.08.0:=[ocamlopt?]
+ >=dev-ml/fmt-0.8.9:=
+
+ async? (
+ >=dev-ml/async-0.9.0:=
+ >=dev-ml/async_unix-0.9.0:=
+ >=dev-ml/core-0.9.0:=
+ )
+ lwt? ( dev-ml/lwt:= )
+ ppx? (
+ >=dev-ml/ppxlib-0.16.0:=
+ dev-ml/stdlib-shims:=
+ )
+ sexp? ( >=dev-ml/sexplib-0.9.0:= )
+"
+DEPEND="
+ ${RDEPEND}
+ test? (
+ dev-ml/alcotest
+ dev-ml/crowbar
+ dev-ml/ppx_sexp_conv
+ dev-ml/cppo
+ >=dev-ml/lwt-2.0.2
+ )
+"
+
+RESTRICT="!test? ( test )"
+REQUIRED_USE="
+ ppx? ( sexp )
+ test? ( sexp ppx )
+"
+
+PATCHES=(
+ "${FILESDIR}/6.2-ocaml-5.1.patch"
+)
+
+src_compile() {
+ local pkgs="cstruct"
+ use ppx && pkgs="${pkgs},ppx_cstruct"
+ for u in async lwt sexp unix ; do
+ if use ${u} ; then
+ pkgs="${pkgs},cstruct-${u}"
+ fi
+ done
+ dune build -p "${pkgs}" -j $(makeopts_jobs) || die
+}
+
+src_install() {
+ dune_src_install cstruct
+ for u in async lwt sexp unix ; do
+ if use ${u} ; then
+ dune_src_install "cstruct-${u}"
+ fi
+ done
+ use ppx && dune_src_install ppx_cstruct
+}
diff --git a/dev-ml/cstruct/files/6.2-ocaml-5.1.patch b/dev-ml/cstruct/files/6.2-ocaml-5.1.patch
new file mode 100644
index 0000000000..ad0f08521e
--- /dev/null
+++ b/dev-ml/cstruct/files/6.2-ocaml-5.1.patch
@@ -0,0 +1,25 @@
+diff --git a/ppx_cstruct.opam b/ppx_cstruct.opam
+index 264ad41..5c622fc 100644
+--- a/ppx_cstruct.opam
++++ b/ppx_cstruct.opam
+@@ -26,7 +26,6 @@ depends: [
+ "cstruct-sexp" {with-test}
+ "cppo" {with-test}
+ "cstruct-unix" {with-test & =version}
+- "ocaml-migrate-parsetree" {>= "2.1.0" & with-test}
+ "lwt_ppx" {>= "2.0.2" & with-test}
+ ]
+ synopsis: "Access C-like structures directly from OCaml"
+diff --git a/ppx_test/errors/dune b/ppx_test/errors/dune
+index ed51ce0..0712dc9 100644
+--- a/ppx_test/errors/dune
++++ b/ppx_test/errors/dune
+@@ -4,7 +4,7 @@
+ (preprocess
+ (action
+ (run %{bin:cppo} -V OCAML:%{ocaml_version} %{input-file})))
+- (libraries ppx_cstruct ocaml-migrate-parsetree))
++ (libraries ppx_cstruct))
+
+ (executable
+ (name gen_tests)
diff --git a/dev-ml/cstruct/metadata.xml b/dev-ml/cstruct/metadata.xml
index 82eed1b8b6..e2c17c336c 100644
--- a/dev-ml/cstruct/metadata.xml
+++ b/dev-ml/cstruct/metadata.xml
@@ -2,9 +2,8 @@
- co-maintainers welcome
- lssndrbarbieri@gmail.com
- Alessandro Barbieri
+ fogti@ytrizja.de
+ Alain Emilia Anna Zscheile