summaryrefslogtreecommitdiff
path: root/dev-ml
diff options
context:
space:
mode:
Diffstat (limited to 'dev-ml')
-rw-r--r--dev-ml/base/Manifest1
-rw-r--r--dev-ml/base/base-0.14.0.ebuild21
-rw-r--r--dev-ml/base/metadata.xml5
-rw-r--r--dev-ml/base_quickcheck/Manifest1
-rw-r--r--dev-ml/base_quickcheck/base_quickcheck-0.14.0.ebuild29
-rw-r--r--dev-ml/base_quickcheck/metadata.xml11
-rw-r--r--dev-ml/bin_prot/Manifest1
-rw-r--r--dev-ml/bin_prot/bin_prot-0.14.0.ebuild26
-rw-r--r--dev-ml/bin_prot/metadata.xml11
-rw-r--r--dev-ml/cairo-ocaml/cairo-ocaml-1.2.0-r1.ebuild85
-rw-r--r--dev-ml/cairo-ocaml/files/ocaml406.patch20
-rw-r--r--dev-ml/cairo2/Manifest1
-rw-r--r--dev-ml/cairo2/cairo2-0.6.1.ebuild34
-rw-r--r--dev-ml/cairo2/files/cairo2-0.6.1-handle-safe-string.patch50
-rw-r--r--dev-ml/cairo2/metadata.xml11
-rw-r--r--dev-ml/camlbz2/camlbz2-0.6.0-r1.ebuild32
-rw-r--r--dev-ml/camlbz2/metadata.xml5
-rw-r--r--dev-ml/camlp4/Manifest2
-rw-r--r--dev-ml/camlp4/camlp4-4.10_p1.ebuild46
-rw-r--r--dev-ml/camlp4/camlp4-4.11_p1.ebuild46
-rw-r--r--dev-ml/camlp4/metadata.xml11
-rw-r--r--dev-ml/camlp5/Manifest1
-rw-r--r--dev-ml/camlp5/camlp5-7.12.ebuild61
-rw-r--r--dev-ml/camlp5/files/camlp5-7.12-destdir.patch13
-rw-r--r--dev-ml/camlp5/metadata.xml4
-rw-r--r--dev-ml/cinaps/Manifest1
-rw-r--r--dev-ml/cinaps/cinaps-0.14.0.ebuild26
-rw-r--r--dev-ml/cinaps/metadata.xml11
-rw-r--r--dev-ml/cmdliner/Manifest1
-rw-r--r--dev-ml/cmdliner/cmdliner-1.0.4.ebuild44
-rw-r--r--dev-ml/cmdliner/metadata.xml5
-rw-r--r--dev-ml/cppo/Manifest1
-rw-r--r--dev-ml/cppo/cppo-1.6.6.ebuild19
-rw-r--r--dev-ml/cppo/metadata.xml7
-rw-r--r--dev-ml/csexp/Manifest1
-rw-r--r--dev-ml/csexp/csexp-1.3.2.ebuild24
-rw-r--r--dev-ml/csexp/metadata.xml11
-rw-r--r--dev-ml/cudf/Manifest1
-rw-r--r--dev-ml/cudf/cudf-0.9.ebuild67
-rw-r--r--dev-ml/cudf/files/ounit2.patch12
-rw-r--r--dev-ml/cudf/metadata.xml5
-rw-r--r--dev-ml/dose3/dose3-5.0.1-r1.ebuild65
-rw-r--r--dev-ml/dose3/files/ocaml406.patch39
-rw-r--r--dev-ml/dose3/files/unix.patch13
-rw-r--r--dev-ml/dose3/metadata.xml5
-rw-r--r--dev-ml/dune-configurator/Manifest1
-rw-r--r--dev-ml/dune-configurator/dune-configurator-2.7.1.ebuild30
-rw-r--r--dev-ml/dune-configurator/metadata.xml11
-rw-r--r--dev-ml/dune-private-libs/Manifest1
-rw-r--r--dev-ml/dune-private-libs/dune-private-libs-2.7.1.ebuild40
-rw-r--r--dev-ml/dune-private-libs/metadata.xml11
-rw-r--r--dev-ml/dune/Manifest1
-rw-r--r--dev-ml/dune/dune-2.7.1.ebuild37
-rw-r--r--dev-ml/dune/metadata.xml5
-rw-r--r--dev-ml/extlib/Manifest1
-rw-r--r--dev-ml/extlib/extlib-1.7.7.ebuild59
-rw-r--r--dev-ml/extlib/files/extlib-1.7.7-no-git.patch9
-rw-r--r--dev-ml/extlib/metadata.xml5
-rw-r--r--dev-ml/fieldslib/Manifest1
-rw-r--r--dev-ml/fieldslib/fieldslib-0.14.0.ebuild22
-rw-r--r--dev-ml/fieldslib/metadata.xml5
-rw-r--r--dev-ml/findlib/files/externalmeta7.patch13
-rw-r--r--dev-ml/findlib/findlib-1.8.1-r1.ebuild78
-rw-r--r--dev-ml/findlib/metadata.xml5
-rw-r--r--dev-ml/integers/Manifest1
-rw-r--r--dev-ml/integers/integers-0.4.0.ebuild19
-rw-r--r--dev-ml/integers/metadata.xml5
-rw-r--r--dev-ml/jane-street-headers/Manifest1
-rw-r--r--dev-ml/jane-street-headers/jane-street-headers-0.14.0.ebuild18
-rw-r--r--dev-ml/jane-street-headers/metadata.xml5
-rw-r--r--dev-ml/jst-config/Manifest1
-rw-r--r--dev-ml/jst-config/jst-config-0.14.0.ebuild23
-rw-r--r--dev-ml/jst-config/metadata.xml11
-rw-r--r--dev-ml/lablgtk-sourceview/Manifest1
-rw-r--r--dev-ml/lablgtk-sourceview/lablgtk-sourceview-3.1.1.ebuild28
-rw-r--r--dev-ml/lablgtk-sourceview/metadata.xml11
-rw-r--r--dev-ml/lablgtk/Manifest1
-rw-r--r--dev-ml/lablgtk/lablgtk-3.1.1.ebuild27
-rw-r--r--dev-ml/lablgtk/metadata.xml4
-rw-r--r--dev-ml/lwt/Manifest1
-rw-r--r--dev-ml/lwt/files/lwt-5.3.0-ppxlib-0.18.0.patch401
-rw-r--r--dev-ml/lwt/lwt-5.3.0.ebuild37
-rw-r--r--dev-ml/lwt/metadata.xml5
-rw-r--r--dev-ml/mccs/Manifest1
-rw-r--r--dev-ml/mccs/mccs-1.1.11.ebuild29
-rw-r--r--dev-ml/mccs/metadata.xml11
-rw-r--r--dev-ml/mmap/Manifest1
-rw-r--r--dev-ml/mmap/metadata.xml11
-rw-r--r--dev-ml/mmap/mmap-1.0.2.ebuild20
-rw-r--r--dev-ml/num/metadata.xml4
-rw-r--r--dev-ml/num/num-1.3-r1.ebuild33
-rw-r--r--dev-ml/ocaml-compiler-libs/Manifest1
-rw-r--r--dev-ml/ocaml-compiler-libs/metadata.xml5
-rw-r--r--dev-ml/ocaml-compiler-libs/ocaml-compiler-libs-0.12.3.ebuild18
-rw-r--r--dev-ml/ocaml-ctypes/Manifest1
-rw-r--r--dev-ml/ocaml-ctypes/metadata.xml11
-rw-r--r--dev-ml/ocaml-ctypes/ocaml-ctypes-0.17.1.ebuild41
-rw-r--r--dev-ml/ocaml-expat/files/ounit2.patch17
-rw-r--r--dev-ml/ocaml-expat/metadata.xml11
-rw-r--r--dev-ml/ocaml-expat/ocaml-expat-1.1.0-r1.ebuild51
-rw-r--r--dev-ml/ocaml-migrate-parsetree/Manifest1
-rw-r--r--dev-ml/ocaml-migrate-parsetree/metadata.xml9
-rw-r--r--dev-ml/ocaml-migrate-parsetree/ocaml-migrate-parsetree-2.0.0.ebuild20
-rw-r--r--dev-ml/ocamlweb/Manifest1
-rw-r--r--dev-ml/ocamlweb/files/ocamlweb-1.41-ocaml-4.08.0.patch53
-rw-r--r--dev-ml/ocamlweb/files/ocamlweb-1.41-strip.patch17
-rw-r--r--dev-ml/ocamlweb/metadata.xml5
-rw-r--r--dev-ml/ocamlweb/ocamlweb-1.41.ebuild33
-rw-r--r--dev-ml/ocplib-endian/Manifest1
-rw-r--r--dev-ml/ocplib-endian/metadata.xml11
-rw-r--r--dev-ml/ocplib-endian/ocplib-endian-1.1.ebuild23
-rw-r--r--dev-ml/octavius/Manifest1
-rw-r--r--dev-ml/octavius/metadata.xml5
-rw-r--r--dev-ml/octavius/octavius-1.2.2.ebuild18
-rw-r--r--dev-ml/opam-client/Manifest1
-rw-r--r--dev-ml/opam-client/metadata.xml11
-rw-r--r--dev-ml/opam-client/opam-client-2.0.7.ebuild37
-rw-r--r--dev-ml/opam-core/Manifest1
-rw-r--r--dev-ml/opam-core/metadata.xml11
-rw-r--r--dev-ml/opam-core/opam-core-2.0.7.ebuild45
-rw-r--r--dev-ml/opam-file-format/Manifest1
-rw-r--r--dev-ml/opam-file-format/metadata.xml11
-rw-r--r--dev-ml/opam-file-format/opam-file-format-2.1.0.ebuild30
-rw-r--r--dev-ml/opam-format/Manifest1
-rw-r--r--dev-ml/opam-format/metadata.xml11
-rw-r--r--dev-ml/opam-format/opam-format-2.0.7.ebuild44
-rw-r--r--dev-ml/opam-installer/Manifest1
-rw-r--r--dev-ml/opam-installer/metadata.xml11
-rw-r--r--dev-ml/opam-installer/opam-installer-2.0.7.ebuild41
-rw-r--r--dev-ml/opam-repository/Manifest1
-rw-r--r--dev-ml/opam-repository/metadata.xml11
-rw-r--r--dev-ml/opam-repository/opam-repository-2.0.7.ebuild37
-rw-r--r--dev-ml/opam-solver/Manifest1
-rw-r--r--dev-ml/opam-solver/metadata.xml11
-rw-r--r--dev-ml/opam-solver/opam-solver-2.0.7.ebuild39
-rw-r--r--dev-ml/opam-state/Manifest1
-rw-r--r--dev-ml/opam-state/metadata.xml11
-rw-r--r--dev-ml/opam-state/opam-state-2.0.7.ebuild36
-rw-r--r--dev-ml/opam/Manifest1
-rw-r--r--dev-ml/opam/metadata.xml11
-rw-r--r--dev-ml/opam/opam-2.0.7.ebuild38
-rw-r--r--dev-ml/ounit2/Manifest1
-rw-r--r--dev-ml/ounit2/metadata.xml11
-rw-r--r--dev-ml/ounit2/ounit2-2.2.3.ebuild22
-rw-r--r--dev-ml/parsexp/Manifest1
-rw-r--r--dev-ml/parsexp/metadata.xml11
-rw-r--r--dev-ml/parsexp/parsexp-0.14.0.ebuild21
-rw-r--r--dev-ml/ppx_assert/Manifest1
-rw-r--r--dev-ml/ppx_assert/metadata.xml5
-rw-r--r--dev-ml/ppx_assert/ppx_assert-0.14.0.ebuild27
-rw-r--r--dev-ml/ppx_base/Manifest1
-rw-r--r--dev-ml/ppx_base/metadata.xml5
-rw-r--r--dev-ml/ppx_base/ppx_base-0.14.0.ebuild27
-rw-r--r--dev-ml/ppx_bench/Manifest1
-rw-r--r--dev-ml/ppx_bench/metadata.xml5
-rw-r--r--dev-ml/ppx_bench/ppx_bench-0.14.1.ebuild24
-rw-r--r--dev-ml/ppx_bin_prot/Manifest1
-rw-r--r--dev-ml/ppx_bin_prot/metadata.xml5
-rw-r--r--dev-ml/ppx_bin_prot/ppx_bin_prot-0.14.0.ebuild29
-rw-r--r--dev-ml/ppx_cold/Manifest1
-rw-r--r--dev-ml/ppx_cold/metadata.xml11
-rw-r--r--dev-ml/ppx_cold/ppx_cold-0.14.0.ebuild23
-rw-r--r--dev-ml/ppx_compare/Manifest1
-rw-r--r--dev-ml/ppx_compare/metadata.xml5
-rw-r--r--dev-ml/ppx_compare/ppx_compare-0.14.0.ebuild27
-rw-r--r--dev-ml/ppx_custom_printf/Manifest1
-rw-r--r--dev-ml/ppx_custom_printf/files/ppx_custom_printf-0.14.0-ppxlib-0.18.0.patch41
-rw-r--r--dev-ml/ppx_custom_printf/metadata.xml5
-rw-r--r--dev-ml/ppx_custom_printf/ppx_custom_printf-0.14.0.ebuild26
-rw-r--r--dev-ml/ppx_derivers/Manifest1
-rw-r--r--dev-ml/ppx_derivers/metadata.xml5
-rw-r--r--dev-ml/ppx_derivers/ppx_derivers-1.2.1.ebuild18
-rw-r--r--dev-ml/ppx_deriving/Manifest1
-rw-r--r--dev-ml/ppx_deriving/metadata.xml5
-rw-r--r--dev-ml/ppx_deriving/ppx_deriving-4.5.ebuild28
-rw-r--r--dev-ml/ppx_driver/Manifest1
-rw-r--r--dev-ml/ppx_driver/metadata.xml5
-rw-r--r--dev-ml/ppx_driver/ppx_driver-0.11.0.ebuild21
-rw-r--r--dev-ml/ppx_enumerate/Manifest1
-rw-r--r--dev-ml/ppx_enumerate/metadata.xml5
-rw-r--r--dev-ml/ppx_enumerate/ppx_enumerate-0.14.0.ebuild23
-rw-r--r--dev-ml/ppx_expect/Manifest1
-rw-r--r--dev-ml/ppx_expect/files/ppx_expect-0.14.0-ppxlib-0.18.0.patch42
-rw-r--r--dev-ml/ppx_expect/metadata.xml5
-rw-r--r--dev-ml/ppx_expect/ppx_expect-0.14.0.ebuild40
-rw-r--r--dev-ml/ppx_fail/Manifest1
-rw-r--r--dev-ml/ppx_fail/metadata.xml5
-rw-r--r--dev-ml/ppx_fail/ppx_fail-0.14.0.ebuild24
-rw-r--r--dev-ml/ppx_fields_conv/Manifest1
-rw-r--r--dev-ml/ppx_fields_conv/files/ppx_fields_conv-0.14.1-ppxlib-0.18.0.patch60
-rw-r--r--dev-ml/ppx_fields_conv/metadata.xml5
-rw-r--r--dev-ml/ppx_fields_conv/ppx_fields_conv-0.14.1.ebuild26
-rw-r--r--dev-ml/ppx_fixed_literal/Manifest1
-rw-r--r--dev-ml/ppx_fixed_literal/metadata.xml11
-rw-r--r--dev-ml/ppx_fixed_literal/ppx_fixed_literal-0.14.0.ebuild23
-rw-r--r--dev-ml/ppx_hash/Manifest1
-rw-r--r--dev-ml/ppx_hash/metadata.xml5
-rw-r--r--dev-ml/ppx_hash/ppx_hash-0.14.0.ebuild25
-rw-r--r--dev-ml/ppx_here/Manifest1
-rw-r--r--dev-ml/ppx_here/metadata.xml5
-rw-r--r--dev-ml/ppx_here/ppx_here-0.14.0.ebuild27
-rw-r--r--dev-ml/ppx_inline_test/Manifest1
-rw-r--r--dev-ml/ppx_inline_test/metadata.xml5
-rw-r--r--dev-ml/ppx_inline_test/ppx_inline_test-0.14.1.ebuild26
-rw-r--r--dev-ml/ppx_jane/Manifest1
-rw-r--r--dev-ml/ppx_jane/metadata.xml5
-rw-r--r--dev-ml/ppx_jane/ppx_jane-0.14.0.ebuild43
-rw-r--r--dev-ml/ppx_js_style/Manifest1
-rw-r--r--dev-ml/ppx_js_style/metadata.xml5
-rw-r--r--dev-ml/ppx_js_style/ppx_js_style-0.14.0.ebuild24
-rw-r--r--dev-ml/ppx_let/Manifest1
-rw-r--r--dev-ml/ppx_let/metadata.xml5
-rw-r--r--dev-ml/ppx_let/ppx_let-0.14.0.ebuild23
-rw-r--r--dev-ml/ppx_metaquot/Manifest1
-rw-r--r--dev-ml/ppx_metaquot/metadata.xml5
-rw-r--r--dev-ml/ppx_metaquot/ppx_metaquot-0.11.0.ebuild18
-rw-r--r--dev-ml/ppx_module_timer/Manifest1
-rw-r--r--dev-ml/ppx_module_timer/metadata.xml11
-rw-r--r--dev-ml/ppx_module_timer/ppx_module_timer-0.14.0.ebuild25
-rw-r--r--dev-ml/ppx_optcomp/Manifest1
-rw-r--r--dev-ml/ppx_optcomp/files/ppx_optcomp-0.14.0-ppxlib-0.18.0.patch63
-rw-r--r--dev-ml/ppx_optcomp/metadata.xml5
-rw-r--r--dev-ml/ppx_optcomp/ppx_optcomp-0.14.0.ebuild26
-rw-r--r--dev-ml/ppx_optional/Manifest1
-rw-r--r--dev-ml/ppx_optional/metadata.xml5
-rw-r--r--dev-ml/ppx_optional/ppx_optional-0.14.0.ebuild23
-rw-r--r--dev-ml/ppx_pipebang/Manifest1
-rw-r--r--dev-ml/ppx_pipebang/metadata.xml5
-rw-r--r--dev-ml/ppx_pipebang/ppx_pipebang-0.14.0.ebuild23
-rw-r--r--dev-ml/ppx_sexp_conv/Manifest1
-rw-r--r--dev-ml/ppx_sexp_conv/files/ppx_sexp_conv-0.14.1-ppxlib-0.18.0.patch41
-rw-r--r--dev-ml/ppx_sexp_conv/metadata.xml5
-rw-r--r--dev-ml/ppx_sexp_conv/ppx_sexp_conv-0.14.1.ebuild26
-rw-r--r--dev-ml/ppx_sexp_message/Manifest1
-rw-r--r--dev-ml/ppx_sexp_message/files/ppx_sexp_message-0.14.0-ppxlib-0.18.0.patch41
-rw-r--r--dev-ml/ppx_sexp_message/metadata.xml5
-rw-r--r--dev-ml/ppx_sexp_message/ppx_sexp_message-0.14.0.ebuild27
-rw-r--r--dev-ml/ppx_sexp_value/Manifest1
-rw-r--r--dev-ml/ppx_sexp_value/metadata.xml5
-rw-r--r--dev-ml/ppx_sexp_value/ppx_sexp_value-0.14.0.ebuild25
-rw-r--r--dev-ml/ppx_stable/Manifest1
-rw-r--r--dev-ml/ppx_stable/metadata.xml11
-rw-r--r--dev-ml/ppx_stable/ppx_stable-0.14.1.ebuild23
-rw-r--r--dev-ml/ppx_string/Manifest1
-rw-r--r--dev-ml/ppx_string/metadata.xml11
-rw-r--r--dev-ml/ppx_string/ppx_string-0.14.1.ebuild25
-rw-r--r--dev-ml/ppx_tools/Manifest1
-rw-r--r--dev-ml/ppx_tools/metadata.xml11
-rw-r--r--dev-ml/ppx_tools/ppx_tools-6.2.ebuild20
-rw-r--r--dev-ml/ppx_typerep_conv/Manifest1
-rw-r--r--dev-ml/ppx_typerep_conv/metadata.xml5
-rw-r--r--dev-ml/ppx_typerep_conv/ppx_typerep_conv-0.14.1.ebuild24
-rw-r--r--dev-ml/ppx_variants_conv/Manifest1
-rw-r--r--dev-ml/ppx_variants_conv/metadata.xml5
-rw-r--r--dev-ml/ppx_variants_conv/ppx_variants_conv-0.14.1.ebuild24
-rw-r--r--dev-ml/ppxfind/Manifest1
-rw-r--r--dev-ml/ppxfind/metadata.xml11
-rw-r--r--dev-ml/ppxfind/ppxfind-1.4.ebuild21
-rw-r--r--dev-ml/ppxlib/Manifest1
-rw-r--r--dev-ml/ppxlib/metadata.xml11
-rw-r--r--dev-ml/ppxlib/ppxlib-0.18.0.ebuild29
-rw-r--r--dev-ml/re/Manifest1
-rw-r--r--dev-ml/re/files/ounit2.patch11
-rw-r--r--dev-ml/re/metadata.xml11
-rw-r--r--dev-ml/re/re-1.9.0.ebuild23
-rw-r--r--dev-ml/react/react-1.2.1-r1.ebuild32
-rw-r--r--dev-ml/result/Manifest1
-rw-r--r--dev-ml/result/metadata.xml5
-rw-r--r--dev-ml/result/result-1.5.ebuild18
-rw-r--r--dev-ml/seq/files/META.seq4
-rw-r--r--dev-ml/seq/files/seq.install3
-rw-r--r--dev-ml/seq/metadata.xml7
-rw-r--r--dev-ml/seq/seq-1.ebuild26
-rw-r--r--dev-ml/sexplib/Manifest1
-rw-r--r--dev-ml/sexplib/metadata.xml13
-rw-r--r--dev-ml/sexplib/sexplib-0.14.0.ebuild23
-rw-r--r--dev-ml/sexplib0/Manifest1
-rw-r--r--dev-ml/sexplib0/metadata.xml11
-rw-r--r--dev-ml/sexplib0/sexplib0-0.14.0.ebuild18
-rw-r--r--dev-ml/splittable_random/Manifest1
-rw-r--r--dev-ml/splittable_random/metadata.xml11
-rw-r--r--dev-ml/splittable_random/splittable_random-0.14.0.ebuild24
-rw-r--r--dev-ml/stdio/Manifest1
-rw-r--r--dev-ml/stdio/metadata.xml5
-rw-r--r--dev-ml/stdio/stdio-0.14.0.ebuild20
-rw-r--r--dev-ml/stdlib-shims/stdlib-shims-0.2.0.ebuild2
-rw-r--r--dev-ml/time_now/Manifest1
-rw-r--r--dev-ml/time_now/metadata.xml11
-rw-r--r--dev-ml/time_now/time_now-0.14.0.ebuild24
-rw-r--r--dev-ml/topkg/Manifest1
-rw-r--r--dev-ml/topkg/metadata.xml5
-rw-r--r--dev-ml/topkg/topkg-1.0.3.ebuild33
-rw-r--r--dev-ml/typerep/Manifest1
-rw-r--r--dev-ml/typerep/metadata.xml5
-rw-r--r--dev-ml/typerep/typerep-0.14.0.ebuild18
-rw-r--r--dev-ml/variantslib/Manifest1
-rw-r--r--dev-ml/variantslib/metadata.xml13
-rw-r--r--dev-ml/variantslib/variantslib-0.14.0.ebuild20
298 files changed, 4591 insertions, 87 deletions
diff --git a/dev-ml/base/Manifest b/dev-ml/base/Manifest
index 09f0e633b064..b14145bd2580 100644
--- a/dev-ml/base/Manifest
+++ b/dev-ml/base/Manifest
@@ -1,3 +1,4 @@
+DIST base-0.14.0.tar.gz 385265 BLAKE2B f3a49b22bb63919bcdc522fbce14a24fd6eaddf39b921ba956cb82eb664ccc6919c9a9feb799dea318f1d8bdf1bd1983180b7ce38d9a43e118794057a9fec6a3 SHA512 c713c9aaf369bc042afb1ead53dc5a34a6eb3c97abc7fef99868e3be8e976adc6297f34d13cfc314adf2182fc64b0cde9c9a05aeeb0f51380255aa1f8e0edf16
DIST base-0.9.1.tar.gz 286498 BLAKE2B fc2b8b3894af1ee142e5f46f89fbc508aa0a57dd50624598137364f6e6c7bda33864d8131f84838840a86ed8b3dd0d14f3833484c29e6fe3a2ffabefc89cd9e9 SHA512 e1eb26eb07ee3489c8f42a886e2131bcc5eb5e965727eb29910e3aa37cdab6d23bfbf71421e16b77d9fe20a69392f9313ad6189c9618013794f0ed7df8c76c52
DIST base-0.9.2.tar.gz 286533 BLAKE2B 851472c23c5a79436ee02cf45c0f797de21efbe52b7ca0a9dd8a4244b1808ff9f14b8e364654ebbbfb6d21bd7532f9ee1df0d2728a23154601d4abf69f916dd8 SHA512 9eae093c18e4fcbc02eb970b73bb7e49a94e0ccdd3fd6509d0668035b454ad8b5894bdbd10027a83681e993b4e1dec97db213b7fdfc293cb9737bae303002e11
DIST base-0.9.3.tar.gz 286655 BLAKE2B 05a53a528a321fb627a2aba1521028b59741ce2de5e24a87cc4a448dedeb788bace907a6d7d49521ff90d56e1c302135dacfa32ff8ab4525e9f0c476fc376bd2 SHA512 7c7ca4439479230a6d338ce51b14c93225b71fd98242f47d82e06c08cbec092a33faa7385db8d21ce0302e7f4f3cf5d659a704e2d85ab3391e046c7d7ea3b62b
diff --git a/dev-ml/base/base-0.14.0.ebuild b/dev-ml/base/base-0.14.0.ebuild
new file mode 100644
index 000000000000..71eb9cb67811
--- /dev/null
+++ b/dev-ml/base/base-0.14.0.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="Standard library for OCaml"
+HOMEPAGE="https://github.com/janestreet/base"
+SRC_URI="https://github.com/janestreet/base/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="+ocamlopt"
+
+RDEPEND="
+ >=dev-ml/sexplib0-0.12:=
+ dev-ml/dune-configurator:=
+"
+DEPEND="${RDEPEND}"
diff --git a/dev-ml/base/metadata.xml b/dev-ml/base/metadata.xml
index 539c455dc3f8..2d3d3fe848fd 100644
--- a/dev-ml/base/metadata.xml
+++ b/dev-ml/base/metadata.xml
@@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
<upstream>
<remote-id type="github">janestreet/base</remote-id>
</upstream>
diff --git a/dev-ml/base_quickcheck/Manifest b/dev-ml/base_quickcheck/Manifest
new file mode 100644
index 000000000000..c6ba569c9cc2
--- /dev/null
+++ b/dev-ml/base_quickcheck/Manifest
@@ -0,0 +1 @@
+DIST base_quickcheck-0.14.0.tar.gz 66736 BLAKE2B eeaa92ec0eec4736be911128f46b8e4698034b2cb8afa131b31ee96a6edb5db0f28cfd611c101e4417305ee5a1babc2f869f4690b266218562a8fc50f5830acf SHA512 52333bee2591531665b8f8ad0fac1cdaa607b448d0a33b9b905cf98e00df5a700bf0a4ee3cdf3c06d7fcb2b5190363dd5908cc743b2854af9ce5c8d743e3fd58
diff --git a/dev-ml/base_quickcheck/base_quickcheck-0.14.0.ebuild b/dev-ml/base_quickcheck/base_quickcheck-0.14.0.ebuild
new file mode 100644
index 000000000000..e83ba35c08c4
--- /dev/null
+++ b/dev-ml/base_quickcheck/base_quickcheck-0.14.0.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="Randomized testing framework, designed for compatibility with Base "
+HOMEPAGE="https://github.com/janestreet/base_quickcheck"
+SRC_URI="https://github.com/janestreet/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+IUSE="+ocamlopt"
+
+DEPEND="
+ dev-ml/base:=
+ dev-ml/ppx_base:=
+ dev-ml/ppx_fields_conv:=
+ dev-ml/ppx_let:=
+ dev-ml/ppx_sexp_message:=
+ dev-ml/ppx_sexp_value:=
+ dev-ml/splittable_random:=
+ dev-ml/ppxlib:=
+ dev-ml/ocaml-migrate-parsetree:=
+ dev-ml/result:=
+"
+RDEPEND="${DEPEND}"
diff --git a/dev-ml/base_quickcheck/metadata.xml b/dev-ml/base_quickcheck/metadata.xml
new file mode 100644
index 000000000000..9859b7303328
--- /dev/null
+++ b/dev-ml/base_quickcheck/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">janestreet/base_quickcheck</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-ml/bin_prot/Manifest b/dev-ml/bin_prot/Manifest
new file mode 100644
index 000000000000..de449120fb0c
--- /dev/null
+++ b/dev-ml/bin_prot/Manifest
@@ -0,0 +1 @@
+DIST bin_prot-0.14.0.tar.gz 342884 BLAKE2B 9210ca230d9f42ce3dd6ad18e66b62e41eafccf83ac632a988cdc36c16f273076ccdd67ece333acb70e2604180084811319ae41decbd7ef6bba0ee16538c0cae SHA512 7e7bec7dc5ec49b7bc099687a90840620529c36d552e8985b45f2f9a2437396c8b41583081b8c6a75bf3b14bb3ab4db9134cebd12f70f2345c8fa74e1b8fa252
diff --git a/dev-ml/bin_prot/bin_prot-0.14.0.ebuild b/dev-ml/bin_prot/bin_prot-0.14.0.ebuild
new file mode 100644
index 000000000000..1f5c226b5837
--- /dev/null
+++ b/dev-ml/bin_prot/bin_prot-0.14.0.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="Binary protocol generator"
+HOMEPAGE="https://github.com/janestreet/bin_prot"
+SRC_URI="https://github.com/janestreet/bin_prot/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+IUSE="+ocamlopt"
+
+RDEPEND="
+ dev-ml/base:=
+ dev-ml/ppx_compare:=
+ dev-ml/ppx_custom_printf:=
+ dev-ml/ppx_fields_conv:=
+ dev-ml/ppx_sexp_conv:=
+ dev-ml/ppx_variants_conv:=
+ !dev-ml/bin-prot
+"
+DEPEND="${RDEPEND}"
diff --git a/dev-ml/bin_prot/metadata.xml b/dev-ml/bin_prot/metadata.xml
new file mode 100644
index 000000000000..352205a61728
--- /dev/null
+++ b/dev-ml/bin_prot/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">janestreet/bin_prot</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-ml/cairo-ocaml/cairo-ocaml-1.2.0-r1.ebuild b/dev-ml/cairo-ocaml/cairo-ocaml-1.2.0-r1.ebuild
new file mode 100644
index 000000000000..964ec3fc5b12
--- /dev/null
+++ b/dev-ml/cairo-ocaml/cairo-ocaml-1.2.0-r1.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit findlib autotools
+
+DESCRIPTION="Ocaml bindings for the cairo vector graphics library"
+HOMEPAGE="https://www.cairographics.org/cairo-ocaml/"
+SRC_URI="https://cgit.freedesktop.org/cairo-ocaml/snapshot/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples gtk pango"
+
+RDEPEND="dev-lang/ocaml:=
+ x11-libs/cairo
+ gtk? ( dev-ml/lablgtk:2= )
+ pango? ( x11-libs/pango )"
+DEPEND="${RDEPEND}"
+
+# 3 patches from debian and one for automagic on libsvg-cairo
+PATCHES=(
+ "${FILESDIR}"/0001-Add-missing-libraries-used-by-the-stubs-to-CAIRO_LIB.patch \
+ "${FILESDIR}"/0002-Fix-Makefile-to-avoid-recompiling-files-in-usr.patch \
+ "${FILESDIR}"/0003-Fix-FTBFS-on-bytecode-architectures.patch \
+ "${FILESDIR}"/0004-no-automagic.patch
+)
+
+src_prepare() {
+ default
+ has_version '>=dev-lang/ocaml-4.06.0' && eapply "${FILESDIR}"/ocaml406.patch
+ AT_M4DIR=support eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_with gtk) \
+ $(use_with pango pango-cairo) \
+ --without-svg-cairo
+}
+
+src_compile() {
+ emake -j1
+ use doc && emake doc
+}
+
+src_install() {
+ findlib_src_install
+ dodoc README ChangeLog
+ if use examples; then
+ insinto /usr/share/doc/${PF}/examples
+ doins test/*.ml
+ fi
+ # ocamlfind support
+ cat <<-EOF > META
+ name = "${PN}"
+ description = "${DESCRIPTION}"
+ requires = "bigarray"
+ version = "${PV}"
+ archive(byte) = "cairo.cma"
+ archive(native) = "cairo.cmxa"
+ EOF
+ if use gtk; then
+ cat <<-EOF >> META
+ package "lablgtk2" (
+ requires = "cairo lablgtk2"
+ archive(byte) = "cairo_lablgtk.cma"
+ archive(native) = "cairo_lablgtk.cmxa"
+ )
+ EOF
+ fi
+ if use pango; then
+ cat <<-EOF >> META
+ package "pango" (
+ requires = "cairo"
+ archive(byte) = "pango_cairo.cma"
+ archive(native) = "pango_cairo.cmxa"
+ )
+ EOF
+ fi
+ insinto /usr/$(get_libdir)/ocaml/cairo
+ doins META
+}
diff --git a/dev-ml/cairo-ocaml/files/ocaml406.patch b/dev-ml/cairo-ocaml/files/ocaml406.patch
new file mode 100644
index 000000000000..2ef9931463b0
--- /dev/null
+++ b/dev-ml/cairo-ocaml/files/ocaml406.patch
@@ -0,0 +1,20 @@
+Index: cairo-ocaml-1.2.0/src/cairo_png.ml
+===================================================================
+--- cairo-ocaml-1.2.0.orig/src/cairo_png.ml
++++ cairo-ocaml-1.2.0/src/cairo_png.ml
+@@ -7,13 +7,13 @@
+ (**************************************************************************)
+
+ external image_surface_create_from_stream_unsafe :
+- (string -> int -> unit) -> Cairo.image_surface = "ml_cairo_image_surface_create_from_png_stream_unsafe"
++ (bytes -> int -> unit) -> Cairo.image_surface = "ml_cairo_image_surface_create_from_png_stream_unsafe"
+
+ let image_surface_create_from_channel ic =
+ image_surface_create_from_stream_unsafe
+ (fun s n ->
+ for i = 0 to n - 1 do
+- String.unsafe_set s i (input_char ic)
++ Bytes.unsafe_set s i (input_char ic)
+ done)
+
+ let image_surface_create_from_file fname =
diff --git a/dev-ml/cairo2/Manifest b/dev-ml/cairo2/Manifest
new file mode 100644
index 000000000000..3be8165a41ce
--- /dev/null
+++ b/dev-ml/cairo2/Manifest
@@ -0,0 +1 @@
+DIST cairo2-0.6.1.tbz 90006 BLAKE2B 78f1a998f821aad9b2a1d2deacffd9290920e6d351e0c66b6cc2a6f4f6140fef67c0dde9c1c317e743b5930e09d68d6c1830beb554d23ac9bcc95738a4091850 SHA512 d09274624854a45cf914ffbe984f1bcdd30db6283e7a0fd73aeec2a19226ff8f68d3f7139bbab72ca5698b58b840d6fd8a35570efc228391a7c5d031421f5c1f
diff --git a/dev-ml/cairo2/cairo2-0.6.1.ebuild b/dev-ml/cairo2/cairo2-0.6.1.ebuild
new file mode 100644
index 000000000000..9466d8e1db24
--- /dev/null
+++ b/dev-ml/cairo2/cairo2-0.6.1.ebuild
@@ -0,0 +1,34 @@
+# Copyright 2019-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="Binding to Cairo, a 2D Vector Graphics Library"
+HOMEPAGE="https://github.com/Chris00/ocaml-cairo"
+SRC_URI="https://github.com/Chris00/ocaml-cairo/releases/download/${PV}/cairo2-${PV}.tbz"
+
+LICENSE="LGPL-3"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~x86"
+IUSE="+ocamlopt"
+
+DEPEND="
+ x11-libs/cairo:=
+ dev-ml/dune-configurator:=
+"
+RDEPEND="${DEPEND}
+ !dev-ml/ocaml-cairo
+"
+BDEPEND=""
+
+# >>> Test phase: dev-ml/cairo2-0.6.1
+# image_create alias tests/runtest (got signal SEGV)
+# (cd _build/default/tests && ./image_create.exe)
+# DESTROY bigarray 'data'
+# Done: 70/72 (jobs: 1) * ERROR: dev-ml/cairo2-0.6.1::x-portage failed (test phase):
+RESTRICT=test
+
+# Fix compiler warnings, from: https://github.com/Chris00/ocaml-cairo/pull/22
+PATCHES=( "${FILESDIR}"/${PN}-0.6.1-handle-safe-string.patch )
diff --git a/dev-ml/cairo2/files/cairo2-0.6.1-handle-safe-string.patch b/dev-ml/cairo2/files/cairo2-0.6.1-handle-safe-string.patch
new file mode 100644
index 000000000000..8571da4ea9fe
--- /dev/null
+++ b/dev-ml/cairo2/files/cairo2-0.6.1-handle-safe-string.patch
@@ -0,0 +1,50 @@
+commit 9881f6c861ccf1150fffd6ccdb8b93181ad14263 (HEAD -> const, origin/const)
+Author: Olaf Hering <olaf@aepfle.de>
+Date: Fri Jul 17 15:47:59 2020 +0200
+
+ handle safe-string
+
+ String_val() returns 'const char *'.
+ caml_named_value returns 'const value *'.
+
+ Signed-off-by: Olaf Hering <olaf@aepfle.de>
+
+diff --git a/src/cairo_macros.h b/src/cairo_macros.h
+index d952c10..1348b27 100644
+--- a/src/cairo_macros.h
++++ b/src/cairo_macros.h
+@@ -173,7 +173,7 @@
+
+ /* holds the pointer to the Unavailable exception; shared several
+ functions. */
+-value * caml_cairo_Unavailable = NULL;
++const value * caml_cairo_Unavailable = NULL;
+
+ #define RAISE_UNAVAILABLE(name, args ...) \
+ CAMLexport value caml_##name(args) \
+diff --git a/src/cairo_ocaml_types.h b/src/cairo_ocaml_types.h
+index b850ae2..267f657 100644
+--- a/src/cairo_ocaml_types.h
++++ b/src/cairo_ocaml_types.h
+@@ -45,7 +45,7 @@ DEFINE_CUSTOM_OPERATIONS(cairo, cairo_destroy, CAIRO_VAL)
+ /* raise [Error] if the status indicates a failure. */
+ void caml_cairo_raise_Error(cairo_status_t status)
+ {
+- static value * exn = NULL;
++ static const value * exn = NULL;
+
+ if (status != CAIRO_STATUS_SUCCESS) {
+ if (exn == NULL) {
+diff --git a/src/cairo_stubs.c b/src/cairo_stubs.c
+index de35aca..597c0bf 100644
+--- a/src/cairo_stubs.c
++++ b/src/cairo_stubs.c
+@@ -1681,7 +1681,7 @@ static cairo_status_t caml_cairo_output_string
+ CAMLlocal2(s, r);
+
+ s = caml_alloc_string(length);
+- memmove(String_val(s), data, length);
++ memmove(&Byte(String_val(s), 0), data, length);
+ r = caml_callback_exn(* ((value *) fn), s);
+ if (Is_exception_result(r))
+ CAMLreturn(CAIRO_STATUS_WRITE_ERROR);
diff --git a/dev-ml/cairo2/metadata.xml b/dev-ml/cairo2/metadata.xml
new file mode 100644
index 000000000000..f3c04171cc2c
--- /dev/null
+++ b/dev-ml/cairo2/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">Chris00/ocaml-cairo</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-ml/camlbz2/camlbz2-0.6.0-r1.ebuild b/dev-ml/camlbz2/camlbz2-0.6.0-r1.ebuild
new file mode 100644
index 000000000000..cd213ca3e52e
--- /dev/null
+++ b/dev-ml/camlbz2/camlbz2-0.6.0-r1.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit findlib
+
+DESCRIPTION="OCaml bindings for libbz (AKA, bzip2)"
+HOMEPAGE="http://camlbz2.forge.ocamlcore.org/"
+SRC_URI="http://forge.ocamlcore.org/frs/download.php/72/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86"
+IUSE="doc"
+
+DEPEND="app-arch/bzip2
+ >=dev-lang/ocaml-3.12:=[ocamlopt]"
+RDEPEND="${DEPEND}"
+
+src_compile() {
+ emake -j1
+}
+
+DOCS=( ChangeLog README ROADMAP BUGS )
+HTML_DOCS=( doc/. )
+
+src_install() {
+ findlib_src_preinst
+ emake DESTDIR="${OCAMLFIND_DESTDIR}" install
+ use doc && einstalldocs
+}
diff --git a/dev-ml/camlbz2/metadata.xml b/dev-ml/camlbz2/metadata.xml
index 6f49eba8f496..a4f6be63adba 100644
--- a/dev-ml/camlbz2/metadata.xml
+++ b/dev-ml/camlbz2/metadata.xml
@@ -1,5 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
</pkgmetadata>
diff --git a/dev-ml/camlp4/Manifest b/dev-ml/camlp4/Manifest
index cc8bcfc4f3e0..5a0713d643b4 100644
--- a/dev-ml/camlp4/Manifest
+++ b/dev-ml/camlp4/Manifest
@@ -1,3 +1,5 @@
DIST camlp4-4.04_p1.tar.gz 648320 BLAKE2B d383a366facaaa440b24184bb54a8e1c3bb22ae02387a0bc4f9ee4331ecdc60e5bf22715c1022c987041fb081eb448794a74026736df9f70e05c7213e08bfa44 SHA512 7db8eebcf3d230f60650ba62d9cb630c069394237e97b678a40b61d3dcaded752a2b7e089a50ff528f1ea0740d0291b722df123a072f2cee489cadc5201c6776
DIST camlp4-4.05_p1.tar.gz 647566 BLAKE2B 068c1016a75616811787eb480b61349a32960997f03e0bc99d63e15357a8932a6019d9e7195541fd942ef99fc1d71c067fb5fcb0fd0c2c3efb77aac494589854 SHA512 0ee9720286d0d832fb7d2d21a8877856e0e47c94c86b1b58d28f8e757a18472eecb56a16e3a04ce815f240dd5048f5d597515461d084fd1cf4da1b121f97a3fe
DIST camlp4-4.08_p1.tar.gz 649830 BLAKE2B 8dff6f82618d0f61a56acfa71ae679d4ba5ed4aea272019da7b19ea64960c80e50c55482ff9782748dad5042aa1bcd8728ff0825f8f900ff27239db0e0db3515 SHA512 1f8d6df42935ecdbed96a7b02d05564665b4bf0cbe4f5fd1800a1f292d8b3864d973df1e9e8c566c0fd00b5a55ba47ecd9bd07f134a9be83601e010b0246e075
+DIST camlp4-4.10_p1.tar.gz 650092 BLAKE2B d7a6221dba5f6ec6963fe35236c29f39b8ae8f928618b5a58f72e7b1cc1f50d716b110f9684150716b56784cf703c0d8fcbc1aad32aeab638faca9c1bf2d5b9e SHA512 7ae0e20053a43399daa4ee9b93b6f4dbebc3e17c5ee79d069c4903cdfb2bf1cfc7d6badecf92fcf62e97a5f85f3be6ed82a62eb2a311bf6398b2792eacf763d8
+DIST camlp4-4.11_p1.tar.gz 650280 BLAKE2B 6fe46b49c1f2b2e5fc87fbbbdba3ccae795c555737495c298456b84f0dca79c750aa6e4ab2c23bbc7ba4724defdfb739e370f468a78658035474d2f3ad255995 SHA512 8e572602c1c465017a234565efa2249c935ba1ad3d399a6b264bfbec345958130a96311c79e437ac995e3ead9ff7b4f2d3fe6aa4a3a82431ae0cc6257a300f4c
diff --git a/dev-ml/camlp4/camlp4-4.10_p1.ebuild b/dev-ml/camlp4/camlp4-4.10_p1.ebuild
new file mode 100644
index 000000000000..e3b30a5018b3
--- /dev/null
+++ b/dev-ml/camlp4/camlp4-4.10_p1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+MY_PV=${PV/_p/+}
+MY_P=${PN}-${MY_PV}
+
+DESCRIPTION="System for writing extensible parsers for programming languages"
+HOMEPAGE="https://github.com/camlp4/camlp4"
+SRC_URI="https://github.com/camlp4/camlp4/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2-with-linking-exception"
+SLOT="0/${PV}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="+ocamlopt"
+
+DEPEND=">=dev-lang/ocaml-4.10.0:=[ocamlopt?]"
+RDEPEND="${DEPEND}
+ !<dev-lang/ocaml-4.02
+ !<dev-ml/findlib-1.5.5-r1"
+DEPEND="${DEPEND}
+ dev-ml/ocamlbuild"
+
+S=${WORKDIR}/${P/_p/-}
+PATCHES=( "${FILESDIR}/reload.patch" )
+
+src_configure() {
+ ./configure \
+ --bindir="${EPREFIX}/usr/bin" \
+ --libdir="$(ocamlc -where)" \
+ --pkgdir="$(ocamlc -where)" \
+ || die
+}
+
+src_compile() {
+ # Increase stack limit to 11GiB to avoid stack overflow error.
+ ulimit -s 11530000
+ emake byte
+ use ocamlopt && emake native
+}
+
+src_install() {
+ emake DESTDIR="${D}" install install-META
+ dodoc CHANGES.md README.md
+}
diff --git a/dev-ml/camlp4/camlp4-4.11_p1.ebuild b/dev-ml/camlp4/camlp4-4.11_p1.ebuild
new file mode 100644
index 000000000000..35aeda06b933
--- /dev/null
+++ b/dev-ml/camlp4/camlp4-4.11_p1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+MY_PV=${PV/_p/+}
+MY_P=${PN}-${MY_PV}
+
+DESCRIPTION="System for writing extensible parsers for programming languages"
+HOMEPAGE="https://github.com/camlp4/camlp4"
+SRC_URI="https://github.com/camlp4/camlp4/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2-with-linking-exception"
+SLOT="0/${PV}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="+ocamlopt"
+
+DEPEND=">=dev-lang/ocaml-4.11.0:=[ocamlopt?]"
+RDEPEND="${DEPEND}
+ !<dev-lang/ocaml-4.02
+ !<dev-ml/findlib-1.5.5-r1"
+DEPEND="${DEPEND}
+ dev-ml/ocamlbuild"
+
+S=${WORKDIR}/${P/_p/-}
+PATCHES=( "${FILESDIR}/reload.patch" )
+
+src_configure() {
+ ./configure \
+ --bindir="${EPREFIX}/usr/bin" \
+ --libdir="$(ocamlc -where)" \
+ --pkgdir="$(ocamlc -where)" \
+ || die
+}
+
+src_compile() {
+ # Increase stack limit to 11GiB to avoid stack overflow error.
+ ulimit -s 11530000
+ emake byte
+ use ocamlopt && emake native
+}
+
+src_install() {
+ emake DESTDIR="${D}" install install-META
+ dodoc CHANGES.md README.md
+}
diff --git a/dev-ml/camlp4/metadata.xml b/dev-ml/camlp4/metadata.xml
index 33d51779cb3d..2578754c2469 100644
--- a/dev-ml/camlp4/metadata.xml
+++ b/dev-ml/camlp4/metadata.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
- <upstream>
- <remote-id type="github">camlp4/camlp4</remote-id>
- </upstream>
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">camlp4/camlp4</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-ml/camlp5/Manifest b/dev-ml/camlp5/Manifest
index 88a996b85b6d..f99200f89122 100644
--- a/dev-ml/camlp5/Manifest
+++ b/dev-ml/camlp5/Manifest
@@ -1 +1,2 @@
DIST camlp5-7.11.tar.gz 878224 BLAKE2B f384764da43653a2f75664681a4f202ec84497720470a0a33f99fc61a1ce7b4a9d494ffe6b523c74906c122ee04ae25a08bf1fcd356145e85a11e3e3095bbf7d SHA512 109a43f0a3aaa7a3ba9bd51b1fc1273b054d32787e189b138d69b39c42642b480c13abb9e91f15e6b6e889eaf4dc422ad3ff51e4dee298fb9d8cd9a2db99c159
+DIST camlp5-7.12.tar.gz 1008350 BLAKE2B 8f390f6d617a6ef029462aa74ca4d80c0e2eb267bb6957aac43fdecc425aae34dfc7f3e572c8a1f4ee6b032dd90b3b8262094f80a19ea0bb19b80a88d22d3f28 SHA512 233d973b0a968a7812b977e8a37da8e8daa0f3ef81ca7c473d83c1602380dae6c14f94daffb6bb799f8d90fab121238a46e89a233202cd6f622b0da2f728c0c0
diff --git a/dev-ml/camlp5/camlp5-7.12.ebuild b/dev-ml/camlp5/camlp5-7.12.ebuild
new file mode 100644
index 000000000000..59d3a95dc7e3
--- /dev/null
+++ b/dev-ml/camlp5/camlp5-7.12.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit findlib vcs-clean
+
+DESCRIPTION="A preprocessor-pretty-printer of ocaml"
+HOMEPAGE="https://camlp5.github.io/"
+SRC_URI="https://github.com/camlp5/camlp5/archive/rel$(ver_rs 1- '').tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-rel$(ver_rs 1- '')"
+
+LICENSE="BSD"
+SLOT="0/${PV}"
+KEYWORDS="~alpha ~amd64 ~ppc ~x86"
+IUSE="doc +ocamlopt"
+
+DEPEND="
+ >=dev-lang/ocaml-3.10:=[ocamlopt?]
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=( "${FILESDIR}/${PN}-7.12-destdir.patch" )
+
+camlp5_hack_ocaml_support() {
+ ln -s "${1}" "ocaml_stuff/${2}" || die
+ ln -s "${1}.ml" "ocaml_src/lib/versdep/${2}.ml" || die
+}
+
+src_prepare() {
+ egit_clean
+ default
+ camlp5_hack_ocaml_support 4.11.0 4.11.1
+}
+
+src_configure() {
+ ./configure \
+ --strict \
+ -prefix /usr \
+ -bindir /usr/bin \
+ -libdir /usr/$(get_libdir)/ocaml \
+ -mandir /usr/share/man || die "configure failed"
+}
+
+src_compile(){
+ emake out
+ if use ocamlopt; then
+ emake opt
+ emake opt.opt
+ fi
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ # findlib support
+ insinto "$(ocamlfind printconf destdir)/${PN}"
+ doins etc/META
+
+ dodoc -r doc/*
+ dodoc CHANGES DEVEL ICHANGES README.md UPGRADING MODE
+}
diff --git a/dev-ml/camlp5/files/camlp5-7.12-destdir.patch b/dev-ml/camlp5/files/camlp5-7.12-destdir.patch
new file mode 100644
index 000000000000..d43a29c97d3f
--- /dev/null
+++ b/dev-ml/camlp5/files/camlp5-7.12-destdir.patch
@@ -0,0 +1,13 @@
+Index: camlp5-rel712/Makefile
+===================================================================
+--- camlp5-rel712.orig/Makefile
++++ camlp5-rel712/Makefile
+@@ -57,7 +57,7 @@ install:
+ for i in $(DIRS) compile; do \
+ (cd $$i; $(MAKE) install DESTDIR=$(DESTDIR); cd ..); \
+ done
+- cp etc/topfind.camlp5 `ocamlc -where`/. || true
++ cp etc/topfind.camlp5 "$(DESTDIR)`ocamlc -where`/." || true
+
+ uninstall:
+ @if test -z "$(LIBDIR)"; then \
diff --git a/dev-ml/camlp5/metadata.xml b/dev-ml/camlp5/metadata.xml
index 7994efd51d47..cafe415ffc77 100644
--- a/dev-ml/camlp5/metadata.xml
+++ b/dev-ml/camlp5/metadata.xml
@@ -5,6 +5,10 @@
<email>tupone@gentoo.org</email>
<name>Tupone Alfredo</name>
</maintainer>
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
<upstream>
<remote-id type="github">camlp5/camlp5</remote-id>
</upstream>
diff --git a/dev-ml/cinaps/Manifest b/dev-ml/cinaps/Manifest
new file mode 100644
index 000000000000..1d75851eb9b6
--- /dev/null
+++ b/dev-ml/cinaps/Manifest
@@ -0,0 +1 @@
+DIST cinaps-0.14.0.tar.gz 9602 BLAKE2B 01d71b199dc966ac7653aca31d8a2e238102a5a29c4b6a1cf2ddd3f4624b41a4fd3e433025217951e7bd49b5eba21b6e4462217ef65a8755e6a4075683a55c5e SHA512 03f94ce7ab16d034edfc1976dd8fb83d533a1e5bc7f89dde3ea661553e05d6d8098c62c7e154013ef7814a283bb8cf535df0256891bcc6e0fdc847f6bf62aaf9
diff --git a/dev-ml/cinaps/cinaps-0.14.0.ebuild b/dev-ml/cinaps/cinaps-0.14.0.ebuild
new file mode 100644
index 000000000000..776fd0d12feb
--- /dev/null
+++ b/dev-ml/cinaps/cinaps-0.14.0.ebuild
@@ -0,0 +1,26 @@
+# Copyright 2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="Trivial metaprogramming tool"
+HOMEPAGE="https://github.com/ocaml-ppx/cinaps"
+SRC_URI="https://github.com/ocaml-ppx/cinaps/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="+ocamlopt test"
+
+DEPEND="
+ dev-ml/re:=
+"
+RDEPEND="${DEPEND}"
+BDEPEND=""
+DEPEND="${DEPEND}
+ test? (
+ dev-ml/ppx_jane
+ )
+"
diff --git a/dev-ml/cinaps/metadata.xml b/dev-ml/cinaps/metadata.xml
new file mode 100644
index 000000000000..c68adc6e3a7f
--- /dev/null
+++ b/dev-ml/cinaps/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">ocaml-ppx/cinaps</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-ml/cmdliner/Manifest b/dev-ml/cmdliner/Manifest
index a40ae258b02c..45367a4a50d6 100644
--- a/dev-ml/cmdliner/Manifest
+++ b/dev-ml/cmdliner/Manifest
@@ -1,3 +1,4 @@
DIST cmdliner-1.0.0.tbz 46542 BLAKE2B 7a667e218c298dbe4f5ba8ff034f15596e9b89b1a267fbdf7f6f811e42d61b103b08a2c8b9bd45e83bb249ae5ed078eb646630cd8a174af267354b25dc13ca54 SHA512 3fc87e49504167864ba4d81fde7bbaa01b7d58b06e2b68b36647857590f41fdc8b3bbd547418f8159b0e76628236b5c30301404b3d8d57e2ff3f082228eee73c
DIST cmdliner-1.0.1.tbz 46614 BLAKE2B 609220b8dbb0aa5ade9f504f420ed7c6ee1ad9aa1f9cd02b1edba60b86791e59a12faca0ebe6ed9cbb5fbeefdfe25b524509bf311f1611022b6c62ae38df01c1 SHA512 b792dab3a7f53f69d74d07acbb013e48235614e29a477b7e9e7d7b58013d47ff842fbaeef50acda305434185325855ef83d839d5acb0ccf460276f0ca880ee7b
DIST cmdliner-1.0.2.tbz 47350 BLAKE2B 226481c73e66fb45a69b563bef9f95c6a04b782072643fd8e66e4da4907f899a72e2b4e1217b46c3a1f417bf9e4be193c3528da09954808043e4abf47be4d5c2 SHA512 d718d9abe4fe0ea0e7453ed09e57de2a427cc450225cf2b56513d99af4b4218c3fe96ab08dcebd202b9ecf25a471bb7c67511262f35148dfe15684421be6d743
+DIST cmdliner-1.0.4.tbz 49558 BLAKE2B 8ea922a22d08fc4cce6c0aff1adff9a2fcdaee8e13b7bdfad4a08b459e8a6557761fa70c9e34100bc8baaa4113e5729f2daf297fc1f618bd8c30b9323bb87ba2 SHA512 4cd1cc0932b8bbd607160cc9816b35c12a68a358a35ffcb6827f547052dc517e871a91ddbaed0447cb1fa5fdf510cdf5d760e8e5c1e4548f82e1d523e2b3ecb3
diff --git a/dev-ml/cmdliner/cmdliner-1.0.4.ebuild b/dev-ml/cmdliner/cmdliner-1.0.4.ebuild
new file mode 100644
index 000000000000..4edb61cd912a
--- /dev/null
+++ b/dev-ml/cmdliner/cmdliner-1.0.4.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit findlib
+
+DESCRIPTION="Declarative definition of command line interfaces for OCaml"
+HOMEPAGE="http://erratique.ch/software/cmdliner"
+SRC_URI="http://erratique.ch/software/${PN}/releases/${P}.tbz"
+
+LICENSE="ISC"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86"
+IUSE="+ocamlopt test"
+
+RDEPEND="
+ >=dev-lang/ocaml-4:=[ocamlopt?]
+ dev-ml/result:=
+ dev-ml/findlib:=
+"
+DEPEND="${RDEPEND}
+ dev-ml/topkg
+ dev-ml/ocamlbuild"
+
+src_compile() {
+ ocaml pkg/pkg.ml build \
+ --tests $(usex test true false) \
+ || die
+}
+
+src_test() {
+ ocaml pkg/pkg.ml test || die
+}
+
+src_install() {
+ # Can't use opam-installer here as it is an opam dep...
+ findlib_src_preinst
+ local nativelibs=""
+ use ocamlopt && nativelibs="$(echo _build/src/cmdliner.cm{x,xa,xs} _build/src/cmdliner.a)"
+ ocamlfind install cmdliner _build/pkg/META \
+ _build/src/cmdliner.mli _build/src/cmdliner.cm{a,i} ${nativelibs} || die
+ dodoc README.md CHANGES.md
+}
diff --git a/dev-ml/cmdliner/metadata.xml b/dev-ml/cmdliner/metadata.xml
index 6f49eba8f496..a4f6be63adba 100644
--- a/dev-ml/cmdliner/metadata.xml
+++ b/dev-ml/cmdliner/metadata.xml
@@ -1,5 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
</pkgmetadata>
diff --git a/dev-ml/cppo/Manifest b/dev-ml/cppo/Manifest
index 73332ee2ac20..410e4a1dd11f 100644
--- a/dev-ml/cppo/Manifest
+++ b/dev-ml/cppo/Manifest
@@ -1,2 +1,3 @@
DIST cppo-1.4.1.tar.gz 26547 BLAKE2B a93802fb36cfb622de32a00f6ad6d0fbc7c1022a65ab70558273654b817ca16a988fb8ce8c5dd0751e80eef066f3fcb82f25fc572edb312f346cd20830c08f5a SHA512 efbc82d2eb31b9e16c43ffbd7a2a56a5356934c32bee62205f55295a9342e4747ce13b9ad6572f3180e656b215a9255d402712ff7bae1ef9e8eccdabb2d00c16
DIST cppo-1.5.0.tar.gz 26963 BLAKE2B 4118637bd8bcfc2edae4c7bf0d839b82ba3402c2f4df9de81bcb28685e4112ff364cb607dc9dcdc3512cc4fdf8dfb4cb85ceca945230bd7cd5d04e525d4e6587 SHA512 2cc144815b818242b6bb1dee213aa65345620eaf1afe59b25d118399d9a02d577aa9dc61dd5756661e44411acccdb2fc0320a8984e5f0d2a7390fcc816bac7e0
+DIST cppo-1.6.6.tar.gz 28667 BLAKE2B 57510ff824265065d4c4ba7d3da4b9aea389e005de4f2e73c1b43b230082872be0118e0b40d6c2951d4017210522a06eb089ab5cbb18fb48d29b87736fa59055 SHA512 80b0d7a5f0f5b7d9d62ddfb204ebf5e3216c2926ba7f667b9ef10981de6a51cd6d670b7062769bf6fbdd163c1c8fb5426a74c31234ddc03ec94a75645bf469da
diff --git a/dev-ml/cppo/cppo-1.6.6.ebuild b/dev-ml/cppo/cppo-1.6.6.ebuild
new file mode 100644
index 000000000000..096dc5984fc0
--- /dev/null
+++ b/dev-ml/cppo/cppo-1.6.6.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="An equivalent of the C preprocessor for OCaml programs"
+HOMEPAGE="https://github.com/ocaml-community/cppo/"
+SRC_URI="https://github.com/ocaml-community/cppo/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+SLOT="0/${PV}"
+LICENSE="BSD"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+
+IUSE="+ocamlopt"
+
+RDEPEND="dev-ml/ocamlbuild"
+DEPEND="${RDEPEND}"
diff --git a/dev-ml/cppo/metadata.xml b/dev-ml/cppo/metadata.xml
index 01532e5edac5..7ef499b5a200 100644
--- a/dev-ml/cppo/metadata.xml
+++ b/dev-ml/cppo/metadata.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
<upstream>
- <remote-id type="github">mjambon/cppo</remote-id>
+ <remote-id type="github">ocaml-community/cppo</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-ml/csexp/Manifest b/dev-ml/csexp/Manifest
new file mode 100644
index 000000000000..452d02513530
--- /dev/null
+++ b/dev-ml/csexp/Manifest
@@ -0,0 +1 @@
+DIST csexp-1.3.2.tbz 9775 BLAKE2B b1afea15558a5520abab214874653e9768ebbb22e064b51dab2f5bd5543460e357f9e1cba964341bcb24c5d53d8477de5458186e4d83db21d99a8ca45009d818 SHA512 ff1bd6a7c6bb3a73ca9ab0506c9ec1f357657deaa9ecc7eb32955817d9b0f266d976af3e2b8fc34c621cb0caf1fde55f9a609dd184e2054f500bf09afeb83026
diff --git a/dev-ml/csexp/csexp-1.3.2.ebuild b/dev-ml/csexp/csexp-1.3.2.ebuild
new file mode 100644
index 000000000000..7cca71463ddc
--- /dev/null
+++ b/dev-ml/csexp/csexp-1.3.2.ebuild
@@ -0,0 +1,24 @@
+# Copyright 2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="Parsing and printing of S-expressions in Canonical form"
+HOMEPAGE="https://github.com/ocaml-dune/csexp"
+SRC_URI="https://github.com/ocaml-dune/csexp/releases/download/${PV}/${P}.tbz"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="+ocamlopt test"
+
+DEPEND="
+ dev-ml/result:=
+"
+RDEPEND="${DEPEND}"
+BDEPEND=""
+DEPEND="${DEPEND}
+ test? ( dev-ml/ppx_expect )
+"
diff --git a/dev-ml/csexp/metadata.xml b/dev-ml/csexp/metadata.xml
new file mode 100644
index 000000000000..f197dd418645
--- /dev/null
+++ b/dev-ml/csexp/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">ocaml-dune/csexp</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-ml/cudf/Manifest b/dev-ml/cudf/Manifest
index ab42e9125e18..1eb1b7a575bb 100644
--- a/dev-ml/cudf/Manifest
+++ b/dev-ml/cudf/Manifest
@@ -1 +1,2 @@
DIST cudf-0.8.tar.gz 55147 BLAKE2B c091a55e438979f73bfd5fd16f1e793ec984b24becc902e6eed856afea0f39586001174847b8626bbf162c2b51cbb98cdb60d9539c9aac0a1d651b693e686704 SHA512 cea9e51094076089b1beb657f6b2ccc6ac5f49660e06743f8ec646b277beb4c830f90156ae240a6903de55d09caee78fb0dc75efd76ca65fd2b40ab8756301e3
+DIST cudf-0.9.tar.gz 55124 BLAKE2B 013f97d13b732674a7d0f9188590bbb8150ae9dc32ce26b56fb04848629fb27a3c850aa327e687d6aa80eb62ba6f67af2fcf86a647520e73d7f76748871a79cc SHA512 4abdd1a5a3d616273abe9dda87450a922ecd69b64d32f34d8fa3086bbd07fd23ffb01c24b128bf4d1c0c817cfa1da8029e743d33b3ad6a04e7a8f706b098c427
diff --git a/dev-ml/cudf/cudf-0.9.ebuild b/dev-ml/cudf/cudf-0.9.ebuild
new file mode 100644
index 000000000000..28ff0c29911e
--- /dev/null
+++ b/dev-ml/cudf/cudf-0.9.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit multilib toolchain-funcs
+
+DESCRIPTION="Library to parse, pretty print, and evaluate CUDF documents"
+HOMEPAGE="http://www.mancoosi.org/cudf/"
+SRC_URI="https://gforge.inria.fr/frs/download.php/file/36602/${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86"
+IUSE="+ocamlopt test"
+
+RDEPEND="
+ >=dev-lang/ocaml-3.12:=[ocamlopt?]
+ dev-ml/extlib:=
+ dev-libs/glib:2
+"
+DEPEND="${RDEPEND}
+ test? ( dev-ml/ounit2 )
+ dev-ml/findlib
+ dev-ml/ocamlbuild
+ dev-lang/perl
+"
+PATCHES=( "${FILESDIR}/ounit2.patch" )
+
+src_prepare() {
+ default
+
+ sed -i \
+ -e 's|make|$(MAKE)|g' \
+ Makefile || die
+ sed -i \
+ -e 's|-lncurses|$(shell ${PKG_CONFIG} --libs ncurses glib-2.0)|g' \
+ c-lib/Makefile || die
+ sed -i \
+ -e 's|-lcurses|$(shell ${PKG_CONFIG} --libs ncurses glib-2.0)|g' \
+ c-lib/Makefile.variants || die
+
+ tc-export CC PKG_CONFIG
+
+ sed -i \
+ -e "s|-lncurses|$( $(tc-getPKG_CONFIG) --libs ncurses)|g" \
+ c-lib/cudf.pc.in || die
+}
+
+src_compile() {
+ emake OCAMLBUILD="ocamlbuild -classic-display" -j1 all
+ emake OCAMLBUILD="ocamlbuild -classic-display" c-lib
+ if use ocamlopt ; then
+ emake OCAMLBUILD="ocamlbuild -classic-display" -j1 opt
+ emake OCAMLBUILD="ocamlbuild -classic-display" c-lib-opt
+ fi
+}
+
+src_test() {
+ emake OCAMLBUILD="ocamlbuild -classic-display" test
+ emake OCAMLBUILD="ocamlbuild -classic-display" c-lib-test
+}
+
+src_install() {
+ emake DESTDIR="${ED}" LIBDIR="/usr/$(get_libdir)" install
+ dodoc BUGS ChangeLog README TODO
+}
diff --git a/dev-ml/cudf/files/ounit2.patch b/dev-ml/cudf/files/ounit2.patch
new file mode 100644
index 000000000000..5fbedbf26edf
--- /dev/null
+++ b/dev-ml/cudf/files/ounit2.patch
@@ -0,0 +1,12 @@
+Index: cudf-0.9/_tags
+===================================================================
+--- cudf-0.9.orig/_tags
++++ cudf-0.9/_tags
+@@ -1,5 +1,5 @@
+-<test.ml> or <tests.ml> : pkg_oUnit
+-<test.byte> or <test.native> : pkg_oUnit
++<test.ml> or <tests.ml> : pkg_ounit2
++<test.byte> or <test.native> : pkg_ounit2
+
+ <*.ml> or <*.mli> : pkg_extlib
+ <*.byte> or <*.native> : pkg_extlib
diff --git a/dev-ml/cudf/metadata.xml b/dev-ml/cudf/metadata.xml
index 6f49eba8f496..a4f6be63adba 100644
--- a/dev-ml/cudf/metadata.xml
+++ b/dev-ml/cudf/metadata.xml
@@ -1,5 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
</pkgmetadata>
diff --git a/dev-ml/dose3/dose3-5.0.1-r1.ebuild b/dev-ml/dose3/dose3-5.0.1-r1.ebuild
new file mode 100644
index 000000000000..d51c16a8f83f
--- /dev/null
+++ b/dev-ml/dose3/dose3-5.0.1-r1.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+MY_P="${P/_beta/-beta}"
+DESCRIPTION="Library to perform analysis on package repositories"
+HOMEPAGE="http://www.mancoosi.org/software/ https://gforge.inria.fr/projects/dose"
+SRC_URI="https://gforge.inria.fr/frs/download.php/file/36063/${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="+ocamlopt parmap zip bzip2 xml curl rpm4 test"
+
+RDEPEND="
+ >=dev-lang/ocaml-3.12:=[ocamlopt?]
+ dev-ml/cudf:=
+ >=dev-ml/extlib-1.7.0:=
+ dev-ml/re:=
+ parmap? ( dev-ml/parmap:= )
+ zip? ( dev-ml/camlzip:= )
+ bzip2? ( dev-ml/camlbz2:= )
+ >=dev-ml/ocamlgraph-1.8.6:=
+ xml? ( dev-ml/ocaml-expat:= dev-ml/xml-light:= )
+ curl? ( dev-ml/ocurl:= )
+ rpm4? ( app-arch/rpm )
+"
+DEPEND="${RDEPEND}
+ dev-ml/findlib
+ dev-ml/ocamlbuild
+ dev-ml/cppo
+ test? ( dev-python/pyyaml[libyaml] )
+"
+# missing test data
+RESTRICT="test"
+
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+ default
+ sed -e 's/INSTALLOPTS=-s/INSTALLOPTS=/' -i Makefile.config.in || die
+ has_version '>=dev-lang/ocaml-4.06_beta' && eapply "${FILESDIR}/ocaml406.patch"
+ eapply "${FILESDIR}/unix.patch"
+}
+
+src_configure() {
+ econf \
+ $(use ocamlopt || echo "--with-bytecodeonly") \
+ $(use parmap && echo "--with-parmap") \
+ $(use zip && echo "--with-zip") \
+ $(use bzip2 && echo "--with-bz2") \
+ $(use xml && echo "--with-xml") \
+ $(use curl && echo "--with-curl") \
+ $(use rpm4 && echo "--with-rpm4")
+}
+
+src_compile() {
+ emake -j1 VERBOSE="-classic-display"
+}
+
+src_install() {
+ emake DESTDIR="${D}" BINDIR="${ED}/usr/bin" install || die
+ dodoc CHANGES CREDITS README.architecture TODO
+}
diff --git a/dev-ml/dose3/files/ocaml406.patch b/dev-ml/dose3/files/ocaml406.patch
new file mode 100644
index 000000000000..867c2ca4848c
--- /dev/null
+++ b/dev-ml/dose3/files/ocaml406.patch
@@ -0,0 +1,39 @@
+Index: dose3-5.0.1/common/criteria_lexer.mll
+===================================================================
+--- dose3-5.0.1.orig/common/criteria_lexer.mll
++++ dose3-5.0.1/common/criteria_lexer.mll
+@@ -18,7 +18,7 @@
+ let c = Lexing.lexeme_char lexbuf 2 in (* the delimiter can be any character *)
+ (* find the terminating delimiter *)
+ let endpos =
+- try String.index_from lexbuf.lex_buffer (lexbuf.lex_start_pos + 3) c with
++ try Bytes.index_from lexbuf.lex_buffer (lexbuf.lex_start_pos + 3) c with
+ |Invalid_argument _ ->
+ raise (Format822.Syntax_error (
+ Format822.error lexbuf "String too short"))
+@@ -27,9 +27,9 @@
+ Format822.error lexbuf (Printf.sprintf "cannot find: %c" c)))
+ in
+ let len = endpos - (lexbuf.lex_start_pos + 3) in
+- let s = String.sub lexbuf.lex_buffer (lexbuf.lex_start_pos + 3) len in
+- lexbuf.Lexing.lex_curr_pos <- lexbuf.Lexing.lex_start_pos + ((String.length s)+4);
+- s
++ let s = Bytes.sub lexbuf.lex_buffer (lexbuf.lex_start_pos + 3) len in
++ lexbuf.Lexing.lex_curr_pos <- lexbuf.Lexing.lex_start_pos + ((Bytes.length s)+4);
++ Bytes.to_string s
+
+ }
+
+Index: dose3-5.0.1/common/input.ml
+===================================================================
+--- dose3-5.0.1.orig/common/input.ml
++++ dose3-5.0.1/common/input.ml
+@@ -47,7 +47,7 @@ let bzip_open_file file =
+ in
+ IO.create_in
+ ~read:(fun () -> input_char ch)
+- ~input:(read ch)
++ ~input:(fun x -> read ch (Bytes.to_string x))
+ ~close:(fun () -> Bz2.close_in ch)
+ #else
+ fatal "bzip not supported. re-configure with --with-bz2"
diff --git a/dev-ml/dose3/files/unix.patch b/dev-ml/dose3/files/unix.patch
new file mode 100644
index 000000000000..c3dbfabcfbce
--- /dev/null
+++ b/dev-ml/dose3/files/unix.patch
@@ -0,0 +1,13 @@
+Index: dose3-5.0.1/META.in
+===================================================================
+--- dose3-5.0.1.orig/META.in
++++ dose3-5.0.1/META.in
+@@ -8,7 +8,7 @@ package "common" (
+ version = "@PACKAGE_VERSION@"
+ archive(byte) = "common.cma"
+ archive(native) = "common.cmxa"
+-requires = "extlib, re.pcre, cudf, @ZIP@, @BZ2@"
++requires = "extlib, re.pcre, cudf, unix, @ZIP@, @BZ2@"
+ )
+
+ package "algo" (
diff --git a/dev-ml/dose3/metadata.xml b/dev-ml/dose3/metadata.xml
index 35cab394ef66..99daf30cfd99 100644
--- a/dev-ml/dose3/metadata.xml
+++ b/dev-ml/dose3/metadata.xml
@@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
<use>
<flag name="parmap">Adds multi-core CPU support via <pkg>dev-ml/parmap</pkg>.</flag>
<flag name="zip">Adds support for handling zip files.</flag>
diff --git a/dev-ml/dune-configurator/Manifest b/dev-ml/dune-configurator/Manifest
new file mode 100644
index 000000000000..3a2231dc56b8
--- /dev/null
+++ b/dev-ml/dune-configurator/Manifest
@@ -0,0 +1 @@
+DIST dune-2.7.1.tar.gz 1290915 BLAKE2B 85a2dee92d1ead03b43b80742c291f4470dd9e1d843fdb257754c567e2329c101d11b42573da19de537f0d8591ebdacfcaab1099e0f46bdeebcd8421eb1bbcb2 SHA512 b77d0e207263107365e5a6e94423e8ab4ddbab1f920872d915e4014b7cc69915274b53fe946bb4b29dfe3de2bf5573ab3b2bffb4db8eb50b472e7dfb6cab88b7
diff --git a/dev-ml/dune-configurator/dune-configurator-2.7.1.ebuild b/dev-ml/dune-configurator/dune-configurator-2.7.1.ebuild
new file mode 100644
index 000000000000..0033b8430bb6
--- /dev/null
+++ b/dev-ml/dune-configurator/dune-configurator-2.7.1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="A composable build system for OCaml"
+HOMEPAGE="https://github.com/ocaml/dune"
+SRC_URI="https://github.com/ocaml/dune/archive/${PV}.tar.gz -> dune-${PV}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="+ocamlopt test"
+
+DEPEND="
+ dev-ml/dune-private-libs:=
+ dev-ml/csexp:=
+"
+RDEPEND="${DEPEND}"
+DEPEND="${DEPEND}
+ test? (
+ dev-ml/ppx_expect
+ )"
+S=${WORKDIR}/dune-${PV}
+
+src_configure(){
+ :
+}
diff --git a/dev-ml/dune-configurator/metadata.xml b/dev-ml/dune-configurator/metadata.xml
new file mode 100644
index 000000000000..6b935772818b
--- /dev/null
+++ b/dev-ml/dune-configurator/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">ocaml/dune</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-ml/dune-private-libs/Manifest b/dev-ml/dune-private-libs/Manifest
new file mode 100644
index 000000000000..3a2231dc56b8
--- /dev/null
+++ b/dev-ml/dune-private-libs/Manifest
@@ -0,0 +1 @@
+DIST dune-2.7.1.tar.gz 1290915 BLAKE2B 85a2dee92d1ead03b43b80742c291f4470dd9e1d843fdb257754c567e2329c101d11b42573da19de537f0d8591ebdacfcaab1099e0f46bdeebcd8421eb1bbcb2 SHA512 b77d0e207263107365e5a6e94423e8ab4ddbab1f920872d915e4014b7cc69915274b53fe946bb4b29dfe3de2bf5573ab3b2bffb4db8eb50b472e7dfb6cab88b7
diff --git a/dev-ml/dune-private-libs/dune-private-libs-2.7.1.ebuild b/dev-ml/dune-private-libs/dune-private-libs-2.7.1.ebuild
new file mode 100644
index 000000000000..a550ba2cc675
--- /dev/null
+++ b/dev-ml/dune-private-libs/dune-private-libs-2.7.1.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="A composable build system for OCaml"
+HOMEPAGE="https://github.com/ocaml/dune"
+SRC_URI="https://github.com/ocaml/dune/archive/${PV}.tar.gz -> dune-${PV}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="+ocamlopt test"
+
+DEPEND="
+ dev-ml/csexp:=
+"
+RDEPEND="${DEPEND}"
+DEPEND="${DEPEND}
+ test? (
+ dev-ml/ppx_expect
+ )"
+S=${WORKDIR}/dune-${PV}
+
+src_prepare() {
+ default
+ # remove tests that run git
+ rm -f \
+ test/blackbox-tests/test-cases/dune-project-meta/main.t/run.t \
+ test/blackbox-tests/test-cases/meta-template-version-bug.t \
+ test/blackbox-tests/test-cases/subst.t/run.t \
+ test/expect-tests/vcs_tests.ml \
+ || die
+}
+
+src_configure(){
+ :
+}
diff --git a/dev-ml/dune-private-libs/metadata.xml b/dev-ml/dune-private-libs/metadata.xml
new file mode 100644
index 000000000000..6b935772818b
--- /dev/null
+++ b/dev-ml/dune-private-libs/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">ocaml/dune</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-ml/dune/Manifest b/dev-ml/dune/Manifest
index 0d61b49a65c3..95ed327cc58d 100644
--- a/dev-ml/dune/Manifest
+++ b/dev-ml/dune/Manifest
@@ -1 +1,2 @@
DIST dune-2.1.0.tar.gz 1170295 BLAKE2B 16ee2c34e0183bd255d23410f70001ca008b8e82815f93ad727079da00b8592d219e7664c93bed7b97b3a1e997306d60672b7d6c45fe6dae7371b4025df06722 SHA512 24afb44e458f819dfde3775b76c3ccf43f3fa5d8ce9a14ee9bf6658c1c116f95659c21a9ea208e5711c844fabc661cc434070bce6c9307154d506b6599ffb57f
+DIST dune-2.7.1.tar.gz 1290915 BLAKE2B 85a2dee92d1ead03b43b80742c291f4470dd9e1d843fdb257754c567e2329c101d11b42573da19de537f0d8591ebdacfcaab1099e0f46bdeebcd8421eb1bbcb2 SHA512 b77d0e207263107365e5a6e94423e8ab4ddbab1f920872d915e4014b7cc69915274b53fe946bb4b29dfe3de2bf5573ab3b2bffb4db8eb50b472e7dfb6cab88b7
diff --git a/dev-ml/dune/dune-2.7.1.ebuild b/dev-ml/dune/dune-2.7.1.ebuild
new file mode 100644
index 000000000000..5f9e9851d52e
--- /dev/null
+++ b/dev-ml/dune/dune-2.7.1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit multiprocessing
+
+DESCRIPTION="A composable build system for OCaml"
+HOMEPAGE="https://github.com/ocaml/dune"
+SRC_URI="https://github.com/ocaml/dune/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="test"
+
+DEPEND="dev-lang/ocaml"
+RDEPEND="${DEPEND}
+ !dev-ml/jbuilder"
+BDEPEND=""
+
+RESTRICT="test"
+
+src_configure() {
+ :
+}
+
+src_compile() {
+ ocaml bootstrap.ml || die
+ ./dune.exe build -p "${PN}" --profile dune-bootstrap -j $(makeopts_jobs) || die
+}
+
+src_install() {
+ default
+ mv "${D}"/usr/doc "${D}"/usr/share/doc/${PF}
+ mv "${D}"/usr/man "${D}"/usr/share/man
+}
diff --git a/dev-ml/dune/metadata.xml b/dev-ml/dune/metadata.xml
index 4e0f053007ed..6b935772818b 100644
--- a/dev-ml/dune/metadata.xml
+++ b/dev-ml/dune/metadata.xml
@@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
<upstream>
<remote-id type="github">ocaml/dune</remote-id>
</upstream>
diff --git a/dev-ml/extlib/Manifest b/dev-ml/extlib/Manifest
index 2098ac0736a8..f20093a16fb5 100644
--- a/dev-ml/extlib/Manifest
+++ b/dev-ml/extlib/Manifest
@@ -1,3 +1,4 @@
DIST extlib-1.7.1.tar.gz 85397 BLAKE2B f2e924f651cc43ca29914c95400a26bfd062ecb4e7379d169533d394497215906b56e8f57ba29358965f0b8c125c33dcb9a0a95c09488404fd348261d075457f SHA512 42ea1be22a57ab31e5857df0c4c0f98a07e1b5958b34181cd5ab7c83ded112c208315d22cd3dd178d53e75ca109a70cb47ae479e95be8c47ea2087b1a158dc4d
DIST extlib-1.7.2.tar.gz 85934 BLAKE2B fab7f5f99be414a83f46144bc8f2f54aeb545ef9041b62f227f9dafd267a3f8608b94388ffc39903b069ec7d481b4da8a6a2e9aa289c68263613cf64aa6a45e0 SHA512 d9f34f5bbd5e94a8dccc5bdbc1ec0e5015608675469c4f513461fa587a5eb7e1398542388fd885d7656591ca85ce30c0e2a9ee26b9722a9dd65189aac35d64ed
DIST extlib-1.7.6.tar.gz 88068 BLAKE2B 32376c09728ec7e7d762888ad706641b94bcc976f2e1f42f246ba79fe862b60df7ff924e1e22e89333d8f2e1d999deb71eee481c3c5919aa5d1e02731f64f323 SHA512 3065e2474fb0e480ed076aa1156584a4a6c839cd5d9e59f341e41113abb1736241354aa7ee7cb492967698bc392969522fd5bf30d1ad7f94754c4e10f376afa8
+DIST extlib-1.7.7.tar.gz 88870 BLAKE2B fff84524ef227718d3908c5b65f4b781360cebc0dca3a8862aa11ea671499b45192c5106769e104d396118e3cdcd904ddce06df784f8fd0eadb7a2372ca3df94 SHA512 088a6c5bbe6530cd60e2276dc02592b69ad7ad685b752f0544c54b6246b8131238c6423ce7bfc81fe3ad1766f605ecf52fd3888d55cca63e22c947afedf610c5
diff --git a/dev-ml/extlib/extlib-1.7.7.ebuild b/dev-ml/extlib/extlib-1.7.7.ebuild
new file mode 100644
index 000000000000..ff4c64b84664
--- /dev/null
+++ b/dev-ml/extlib/extlib-1.7.7.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit findlib vcs-clean
+
+DESCRIPTION="Standard library extensions for O'Caml"
+HOMEPAGE="https://github.com/ygrek/ocaml-extlib"
+SRC_URI="https://github.com/ygrek/ocaml-extlib/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="doc +ocamlopt"
+
+RDEPEND="
+ dev-lang/ocaml:=[ocamlopt?]
+"
+DEPEND="${RDEPEND}
+ dev-ml/cppo"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.7.7-no-git.patch
+ )
+
+S="${WORKDIR}/ocaml-${P}"
+
+src_prepare() {
+ default
+ egit_clean
+}
+
+src_compile() {
+ cd src || die
+ emake -j1 all
+ if use ocamlopt; then
+ emake opt cmxs
+ fi
+
+ if use doc; then
+ emake doc
+ fi
+}
+
+src_test() {
+ emake -j1 test
+}
+
+src_install() {
+ findlib_src_install
+
+ # install documentation
+ dodoc README.md
+
+ if use doc; then
+ dodoc -r src/doc/
+ fi
+}
diff --git a/dev-ml/extlib/files/extlib-1.7.7-no-git.patch b/dev-ml/extlib/files/extlib-1.7.7-no-git.patch
new file mode 100644
index 000000000000..058543455bce
--- /dev/null
+++ b/dev-ml/extlib/files/extlib-1.7.7-no-git.patch
@@ -0,0 +1,9 @@
+--- ocaml-extlib-1.7.7-orig/Makefile 2020-04-25 07:55:13.000000000 +1000
++++ ocaml-extlib-1.7.7/Makefile 2020-09-26 07:17:42.141178856 +1000
+@@ -1,5 +1,5 @@
+
+-VERSION:=$(shell git --git-dir=.git describe --always --long)
++VERSION:=1.7.7-0-gbd9f453
+ RELEASE:=1.7.7
+
+ ifndef VERSION
diff --git a/dev-ml/extlib/metadata.xml b/dev-ml/extlib/metadata.xml
index 1b2e3a5aafb0..f36445f85327 100644
--- a/dev-ml/extlib/metadata.xml
+++ b/dev-ml/extlib/metadata.xml
@@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
<upstream>
<remote-id type="google-code">ocaml-extlib</remote-id>
<remote-id type="github">ygrek/ocaml-extlib</remote-id>
diff --git a/dev-ml/fieldslib/Manifest b/dev-ml/fieldslib/Manifest
index 13f75a822274..7cbfeb5dc885 100644
--- a/dev-ml/fieldslib/Manifest
+++ b/dev-ml/fieldslib/Manifest
@@ -1 +1,2 @@
+DIST fieldslib-0.14.0.tar.gz 3677 BLAKE2B 076fe0c83547a5276e6ab304409c1a636132738f8a95c4d9a4260e95f6a3c247341c3901e2cde4f63f1f4db417e3749d1e8cb128cf8c1711004e77f1d42472ef SHA512 245987817585222060c389a632fa229fa3c928090548a0b759e3b1eb06c868d06c0593b01bc41f453c209854a15115fa7650cc36888036f9e305cf2b79a5004c
DIST fieldslib-0.9.0.tar.gz 5981 BLAKE2B 471e468bf731dfe2f8a237ba35df22dc3cfb5ee2e02c881dc0a82be577844a40607adbf807b9aadf3a120708687048e6219635b81216c92edc41c874118c8b63 SHA512 ac0ecbbb43f1d815462264ef5dd33b568aa8b479847789f0ac7eb5da5986849da6ca1c27db1c0643e64e83c625e98eb7abebb5e3045a95c4b7bf7384ea953720
diff --git a/dev-ml/fieldslib/fieldslib-0.14.0.ebuild b/dev-ml/fieldslib/fieldslib-0.14.0.ebuild
new file mode 100644
index 000000000000..39789c9b3eb2
--- /dev/null
+++ b/dev-ml/fieldslib/fieldslib-0.14.0.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="Folding over record fields"
+HOMEPAGE="https://github.com/janestreet/fieldslib"
+SRC_URI="https://github.com/janestreet/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="+ocamlopt"
+
+RDEPEND="
+ dev-ml/base:=
+ dev-ml/ocaml-migrate-parsetree:=
+ dev-ml/ppxlib:=
+"
+DEPEND="${RDEPEND}"
diff --git a/dev-ml/fieldslib/metadata.xml b/dev-ml/fieldslib/metadata.xml
index 8406957e2af5..03041d90ca0d 100644
--- a/dev-ml/fieldslib/metadata.xml
+++ b/dev-ml/fieldslib/metadata.xml
@@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
<longdescription lang="en">
This library defines a syntax extension for OCaml using Camlp4 that
can be used to define first class values representing record fields,
diff --git a/dev-ml/findlib/files/externalmeta7.patch b/dev-ml/findlib/files/externalmeta7.patch
new file mode 100644
index 000000000000..8aa9fa566e59
--- /dev/null
+++ b/dev-ml/findlib/files/externalmeta7.patch
@@ -0,0 +1,13 @@
+Index: findlib-1.8.0/configure
+===================================================================
+--- findlib-1.8.0.orig/configure
++++ findlib-1.8.0/configure
+@@ -581,7 +581,7 @@ fi
+
+ # Generate the META files now.
+
+-l="$ldbm dynlink $lgraphics $lnum str threads unix stdlib bigarray ocamldoc $llabltk $lcamlp4 $lobuild $lcomplibs $lbytes $lspacetime"
++l="dynlink str threads unix stdlib bigarray ocamldoc $lcomplibs $lbytes $lspacetime"
+
+ for dir in site-lib-src/*; do
+ # We do not really know if $dir is a directory.
diff --git a/dev-ml/findlib/findlib-1.8.1-r1.ebuild b/dev-ml/findlib/findlib-1.8.1-r1.ebuild
new file mode 100644
index 000000000000..1799cc090907
--- /dev/null
+++ b/dev-ml/findlib/findlib-1.8.1-r1.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit multilib
+
+DESCRIPTION="OCaml tool to find/use non-standard packages"
+HOMEPAGE="http://projects.camlcity.org/projects/findlib.html"
+SRC_URI="http://download.camlcity.org/download/${P}.tar.gz"
+IUSE="doc +ocamlopt tk"
+
+LICENSE="MIT"
+
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+
+DEPEND=">=dev-lang/ocaml-4.08.1-r1:=[ocamlopt?]
+ tk? ( dev-ml/labltk:= )"
+RDEPEND="${DEPEND}"
+
+PATCHES=( "${FILESDIR}"/externalmeta7.patch )
+
+src_prepare() {
+ default
+ export ocamlfind_destdir="${EPREFIX}/usr/$(get_libdir)/ocaml"
+ export stublibs="${ocamlfind_destdir}/stublibs"
+}
+
+src_configure() {
+ local myconf
+ use tk && myconf="-with-toolbox"
+ ./configure -bindir "${EPREFIX}"/usr/bin -mandir "${EPREFIX}"/usr/share/man \
+ -sitelib ${ocamlfind_destdir} \
+ -config ${ocamlfind_destdir}/findlib/findlib.conf \
+ -no-custom \
+ ${myconf} || die "configure failed"
+}
+
+src_compile() {
+ emake -j1 all
+ if use ocamlopt; then
+ emake -j1 opt # optimized code
+ fi
+}
+
+src_install() {
+ emake prefix="${D}" install
+
+ dodir "${stublibs#${EPREFIX}}"
+
+ if use doc; then
+ cd "${S}/doc" || die
+ dodoc QUICKSTART README DOCINFO
+ docinto html
+ dodoc -r ref-html guide-html
+ fi
+}
+
+check_stublibs() {
+ local ocaml_stdlib=`ocamlc -where`
+ local ldconf="${ocaml_stdlib}/ld.conf"
+
+ if [ ! -e ${ldconf} ]
+ then
+ echo "${ocaml_stdlib}" > ${ldconf}
+ echo "${ocaml_stdlib}/stublibs" >> ${ldconf}
+ fi
+
+ if [ -z `grep -e ${stublibs} ${ldconf}` ]
+ then
+ echo ${stublibs} >> ${ldconf}
+ fi
+}
+
+pkg_postinst() {
+ check_stublibs
+}
diff --git a/dev-ml/findlib/metadata.xml b/dev-ml/findlib/metadata.xml
index 7a38bb900964..a4f6be63adba 100644
--- a/dev-ml/findlib/metadata.xml
+++ b/dev-ml/findlib/metadata.xml
@@ -1,5 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
</pkgmetadata>
diff --git a/dev-ml/integers/Manifest b/dev-ml/integers/Manifest
index 65fc1855d930..d75277c35802 100644
--- a/dev-ml/integers/Manifest
+++ b/dev-ml/integers/Manifest
@@ -1 +1,2 @@
DIST integers-0.2.2.tbz 9155 BLAKE2B 7dcbf0a10cdd2f65683c590dcc18ab7a67540eb39b78500506b303afaf881d6322ac8014dff9a772d7b43cb9b4765dbf85cdb2d31a3a5a78cf5a8e674f18dfea SHA512 957ec87f385916a847eeccef1142d706cf2bf9024a4f0b97120f73a2eda4c049261078bc27227db14bfed53bf014da14a93ef75b515a851af72088bd8b04081a
+DIST integers-0.4.0.tar.gz 9980 BLAKE2B ee67c39024d77f4ce20e9ba7e1564b3418397f1e98b9a5f30e238f5c161d7572701e3d824871b46d15b90887d5f3983a9ab440f46e22c4de8cbc68912daea5eb SHA512 73af64654579b27db18c612229044dba094064dc7d36a73f42ffd4ba7040ed326f859f588e7a764bce3b2fd6e9365f9e9f99330ef29bafbe77ca6dcb53d5ed79
diff --git a/dev-ml/integers/integers-0.4.0.ebuild b/dev-ml/integers/integers-0.4.0.ebuild
new file mode 100644
index 000000000000..f5d613d94d85
--- /dev/null
+++ b/dev-ml/integers/integers-0.4.0.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="Various signed and unsigned integer types for OCaml"
+HOMEPAGE="https://github.com/ocamllabs/ocaml-integers"
+SRC_URI="https://github.com/ocamllabs/ocaml-integers/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64"
+IUSE="+ocamlopt"
+
+RDEPEND=""
+DEPEND="${RDEPEND}"
+S="${WORKDIR}/ocaml-${P}"
diff --git a/dev-ml/integers/metadata.xml b/dev-ml/integers/metadata.xml
index db1b1361de5b..7c1e38b98cec 100644
--- a/dev-ml/integers/metadata.xml
+++ b/dev-ml/integers/metadata.xml
@@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
<upstream>
<remote-id type="github">ocamllabs/ocaml-integers</remote-id>
</upstream>
diff --git a/dev-ml/jane-street-headers/Manifest b/dev-ml/jane-street-headers/Manifest
index dd32a3bfc906..7575bc0466f1 100644
--- a/dev-ml/jane-street-headers/Manifest
+++ b/dev-ml/jane-street-headers/Manifest
@@ -1 +1,2 @@
+DIST jane-street-headers-0.14.0.tar.gz 4662 BLAKE2B 22a48e9c254005d28c03399dd9d9347b45b7e3def9c0efdd768162f80ff611be6249d629cd78fd8768c7e6ec5610684e9459b149f3de85da307b2f1e8525296d SHA512 9c80acc57016f98cd88455866523f2463a13d2b7e10cf0d63f5198747615321799a8b3442432b321fa4f33a051f404464e27972317d197ac9513651600673879
DIST jane-street-headers-0.9.0.tar.gz 6713 BLAKE2B fa8461922ad5e9c28fecb29bfb630d6b1578c8440ad82ab841da17c32ebdfef8ecac90ca66721aef06321a085e2b927904ced4c5a1c8ee6b3cc969dfcbf761bd SHA512 dbd1198b7eb45f06f7df6e9c5b66589b6004e9424f2ecdd50d20c3dc2f35048c42f9220f1d03b4b6564e7a79d00dbe3b3c9c767600e78d066266093b8d93ad46
diff --git a/dev-ml/jane-street-headers/jane-street-headers-0.14.0.ebuild b/dev-ml/jane-street-headers/jane-street-headers-0.14.0.ebuild
new file mode 100644
index 000000000000..bc24c70774d8
--- /dev/null
+++ b/dev-ml/jane-street-headers/jane-street-headers-0.14.0.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="Jane Street header files"
+HOMEPAGE="https://github.com/janestreet/jane-street-headers"
+SRC_URI="https://github.com/janestreet/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="+ocamlopt"
+
+DEPEND=""
+RDEPEND="${DEPEND}"
diff --git a/dev-ml/jane-street-headers/metadata.xml b/dev-ml/jane-street-headers/metadata.xml
index f2e7a5ae0bc8..c938bbaf6059 100644
--- a/dev-ml/jane-street-headers/metadata.xml
+++ b/dev-ml/jane-street-headers/metadata.xml
@@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
<upstream>
<remote-id type="github">janestreet/jane-street-headers</remote-id>
</upstream>
diff --git a/dev-ml/jst-config/Manifest b/dev-ml/jst-config/Manifest
new file mode 100644
index 000000000000..cfc8c7df8140
--- /dev/null
+++ b/dev-ml/jst-config/Manifest
@@ -0,0 +1 @@
+DIST jst-config-0.14.0.tar.gz 4916 BLAKE2B e052cf9aad6e7bef737cd39643663b4577cffe9b9a8e116a8f23ce8d92ebb172d8c66eb20976c319593c217d95de253b4b7f86c05616bf665061896989f0908c SHA512 9d76f3394490762aaef36a3fd3ced4769da05e5a62176bb215379f18a29eab5089e65f599a3a3621937a5a79fcbda22cecf189e8e290acffef5b565e1b4d3b58
diff --git a/dev-ml/jst-config/jst-config-0.14.0.ebuild b/dev-ml/jst-config/jst-config-0.14.0.ebuild
new file mode 100644
index 000000000000..767128ba3e32
--- /dev/null
+++ b/dev-ml/jst-config/jst-config-0.14.0.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="Compile-time configuration for Jane Street libraries"
+HOMEPAGE="https://github.com/janestreet/jst-config"
+SRC_URI="https://github.com/janestreet/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="+ocamlopt"
+
+DEPEND="
+ dev-ml/base:=
+ dev-ml/ppx_assert:=
+ dev-ml/stdio:=
+ dev-ml/dune-configurator:=
+"
+RDEPEND="${DEPEND}"
diff --git a/dev-ml/jst-config/metadata.xml b/dev-ml/jst-config/metadata.xml
new file mode 100644
index 000000000000..dfb62d54d092
--- /dev/null
+++ b/dev-ml/jst-config/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">janestreet/jst-config</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-ml/lablgtk-sourceview/Manifest b/dev-ml/lablgtk-sourceview/Manifest
new file mode 100644
index 000000000000..f6a40d0e2049
--- /dev/null
+++ b/dev-ml/lablgtk-sourceview/Manifest
@@ -0,0 +1 @@
+DIST lablgtk3-3.1.1.tbz 854720 BLAKE2B e6a916151fe1ca0746c14c2a66cd178f3b0c051976815a1d13daf801002f16bc76d9f4cb15625353f0cfbdc16b0a218857d72c4e57125050bbcffe67f7096ad0 SHA512 193c340d9941680869eb90bc89f5b27cc5bdf294f4635081a9ba56a99fa2982266c4ee2eb5fd04d3a3f6150082800de5df786def8c72a276a779d843d914e9e3
diff --git a/dev-ml/lablgtk-sourceview/lablgtk-sourceview-3.1.1.ebuild b/dev-ml/lablgtk-sourceview/lablgtk-sourceview-3.1.1.ebuild
new file mode 100644
index 000000000000..4370e47018fa
--- /dev/null
+++ b/dev-ml/lablgtk-sourceview/lablgtk-sourceview-3.1.1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 2019-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+MY_PN=lablgtk3
+MY_P="${MY_PN}-${PV}"
+DUNE_PKG_NAME=${MY_PN}-sourceview3
+inherit dune
+
+DESCRIPTION="OCaml bindings to GTK-3"
+HOMEPAGE="https://github.com/garrigue/lablgtk"
+SRC_URI="https://github.com/garrigue/lablgtk/releases/download/${PV}/${MY_P}.tbz"
+
+LICENSE="LGPL-2.1-with-linking-exception"
+SLOT="3/${PV}"
+KEYWORDS="~amd64 ~x86"
+IUSE="+ocamlopt"
+
+DEPEND="
+ x11-libs/gtksourceview:3.0=
+ >=dev-ml/lablgtk-${PV}:3=
+ dev-ml/cairo2:=
+"
+RDEPEND="${DEPEND}"
+BDEPEND=""
+
+S="${WORKDIR}/${MY_P}"
diff --git a/dev-ml/lablgtk-sourceview/metadata.xml b/dev-ml/lablgtk-sourceview/metadata.xml
new file mode 100644
index 000000000000..970e090f0dfd
--- /dev/null
+++ b/dev-ml/lablgtk-sourceview/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">ocaml/opam</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-ml/lablgtk/Manifest b/dev-ml/lablgtk/Manifest
index 614b3963cf3b..7f5f09e07a7c 100644
--- a/dev-ml/lablgtk/Manifest
+++ b/dev-ml/lablgtk/Manifest
@@ -1,3 +1,4 @@
DIST lablgtk-2.18.10.tar.gz 1068504 BLAKE2B 8f82cd8b31c136420bfbbeaf78ec2d7913b7c5fc16abd485c508f8de3ab587173b0b5c798cdbe851254b48754929c1f0063cfc9e3c5e0663b7cdebc380ec0e8a SHA512 73705aaa80db433d11a28df5f6f5d10bd282e477e90916152a87e71865ccfcd7dfbdbe77350ecadf61ba2ccc7a188de1c68f1e6385e20c75f167969001e8418d
DIST lablgtk-2.18.5.tar.gz 808005 BLAKE2B 279fd9f018948438b616a12ab60fca3019330504a79d8b76c58fa0a99a7b36df9bf78f57f0e60c4eea6f0bad60f94c06b26490518ec25a5a72c342e4b7c42501 SHA512 7b6ba1a4dfa82cc3bbc502082ff4fccc23cc06ee4f30d01a2e423f3f99e945a4befe450d230b5aa19c5b810e9f46f2838655099d49da2db7c8a2e52eac213024
DIST lablgtk-2.18.8.tar.gz 855263 BLAKE2B 92aeadcfac666756e50ea573c7a2119cc13eab5c2f2e033fcdf92d5c33d597d64bf2e860ff181d958b4d8e9a3d4002b3eaabbd1da7580444fee91dafaba26289 SHA512 1510b8886dd55b82fbc96f333d84779f51a4794d13b0934569d13b1975ded9ec684855b9856f636fb302fd8ff2f118d0d5f3ffb2b8086d22cdad442e963868ae
+DIST lablgtk3-3.1.1.tbz 854720 BLAKE2B e6a916151fe1ca0746c14c2a66cd178f3b0c051976815a1d13daf801002f16bc76d9f4cb15625353f0cfbdc16b0a218857d72c4e57125050bbcffe67f7096ad0 SHA512 193c340d9941680869eb90bc89f5b27cc5bdf294f4635081a9ba56a99fa2982266c4ee2eb5fd04d3a3f6150082800de5df786def8c72a276a779d843d914e9e3
diff --git a/dev-ml/lablgtk/lablgtk-3.1.1.ebuild b/dev-ml/lablgtk/lablgtk-3.1.1.ebuild
new file mode 100644
index 000000000000..095f7c620be0
--- /dev/null
+++ b/dev-ml/lablgtk/lablgtk-3.1.1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 2019-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DUNE_PKG_NAME=lablgtk3
+inherit dune
+
+DESCRIPTION="OCaml bindings to GTK-3"
+HOMEPAGE="https://github.com/garrigue/lablgtk"
+SRC_URI="https://github.com/garrigue/lablgtk/releases/download/${PV}/${DUNE_PKG_NAME}-${PV}.tbz"
+
+LICENSE="LGPL-2.1-with-linking-exception"
+SLOT="3/${PV}"
+KEYWORDS="~amd64 ~x86"
+IUSE="+ocamlopt sourceview"
+
+DEPEND="
+ app-text/gtkspell:3=
+ x11-libs/gtk+:3=
+ dev-ml/cairo2:=
+"
+RDEPEND="${DEPEND}"
+BDEPEND=""
+PDEPEND="sourceview? ( dev-ml/lablgtk-sourceview:${SLOT} )"
+
+S="${WORKDIR}/${DUNE_PKG_NAME}-${PV}"
diff --git a/dev-ml/lablgtk/metadata.xml b/dev-ml/lablgtk/metadata.xml
index 1fec605bab95..c0c9cf6b2c2b 100644
--- a/dev-ml/lablgtk/metadata.xml
+++ b/dev-ml/lablgtk/metadata.xml
@@ -5,6 +5,10 @@
<email>tupone@gentoo.org</email>
<name>Tupone Alfredo</name>
</maintainer>
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
<use>
<flag name="glade">Enable libglade bindings compilation.</flag>
<flag name="gnomecanvas">Enable libgnomecanvas bindings compilation.</flag>
diff --git a/dev-ml/lwt/Manifest b/dev-ml/lwt/Manifest
index b139eb1dc0aa..52c917dfdd05 100644
--- a/dev-ml/lwt/Manifest
+++ b/dev-ml/lwt/Manifest
@@ -1,2 +1,3 @@
DIST lwt-3.0.0.tar.gz 285864 BLAKE2B d14f8f8a9e71a61c57bd7c208575849667dab4a4770b56a0d94e93024b22be9b7d88d10c0fa24eb8060b67c75e72c2c8bbfa0362f3aa815c76c93575225ce056 SHA512 270a6dc2fc58950380eecf72767782c72a5d72226f4af0e9a4f9b0e70b788eeb1d2727348ab8da4411ee59374a19524a6a793b14a26fe7051d51f987ef0e42b8
DIST lwt-3.1.0.tar.gz 285309 BLAKE2B ffc3a416491d4c7b7e7c0da67b48d9eeb5b7fa50e3637d4f0cfcd1689b75626b48c8dd6d91e87c93022047809a3774683c41ce620e07ee4d3e1409185e7f8d16 SHA512 0b2269e53f2e8a57e1ffd6f237c6b22de39a3b6b0d57276c7cb9371392aabc9fb6364b2617a6408ed0049ed64f71de0c540209cf83ce43899fd025295342eb0d
+DIST lwt-5.3.0.tar.gz 298152 BLAKE2B a39494bf98fcca07bf4601a742f4bfdc1ea2a67e2babbab650c41d2df58296a859520509ddc080af9c4d55be76439b401174720765fb942586d7c866f80cc538 SHA512 9922c19944595b0c07da8e1bbdecb2cc7c5a7edcdc2224215efb819d9c735da8986388a2446bd0762e28533f5d9d386970f07a4f1b0d14255c6743f3a1d16cb6
diff --git a/dev-ml/lwt/files/lwt-5.3.0-ppxlib-0.18.0.patch b/dev-ml/lwt/files/lwt-5.3.0-ppxlib-0.18.0.patch
new file mode 100644
index 000000000000..0bda140294a0
--- /dev/null
+++ b/dev-ml/lwt/files/lwt-5.3.0-ppxlib-0.18.0.patch
@@ -0,0 +1,401 @@
+--- lwt-5.3.0-orig/lwt_ppx.opam 2020-04-23 16:32:55.000000000 +1000
++++ lwt-5.3.0/lwt_ppx.opam 2020-10-12 22:12:12.863159266 +1100
+@@ -20,8 +20,7 @@
+ "dune" {>= "1.8.0"}
+ "lwt"
+ "ocaml" {>= "4.02.0"}
+- "ocaml-migrate-parsetree" {>= "1.5.0"}
+- "ppx_tools_versioned" {>= "5.3.0"}
++ "ppxlib" {>= "0.16.0"}
+ ]
+
+ build: [
+--- lwt-5.3.0-orig/src/ppx/dune 2020-04-23 16:32:55.000000000 +1000
++++ lwt-5.3.0/src/ppx/dune 2020-10-12 22:11:33.844038953 +1100
+@@ -13,10 +13,10 @@
+ (public_name lwt_ppx)
+ (synopsis "Lwt PPX syntax extension")
+ (modules ppx_lwt)
+- (libraries compiler-libs.common ocaml-migrate-parsetree ppx_tools_versioned)
++ (libraries compiler-libs.common ppxlib)
+ (ppx_runtime_libraries lwt)
+ (kind ppx_rewriter)
+- (preprocess (pps ppx_tools_versioned.metaquot_410 |} ^ bisect_ppx ^ {|))
++ (preprocess (pps ppxlib.metaquot|} ^ bisect_ppx ^ {|))
+ (flags (:standard -w +A-4)))
+
+ |}
+--- lwt-5.3.0-orig/src/ppx/ppx_lwt.ml 2020-04-23 16:32:55.000000000 +1000
++++ lwt-5.3.0/src/ppx/ppx_lwt.ml 2020-10-12 22:10:11.298784433 +1100
+@@ -1,16 +1,11 @@
+-open! Migrate_parsetree
+-open! OCaml_410.Ast
+-open Ast_mapper
++open! Ppxlib
++open Ast_builder.Default
+ open! Ast_helper
+-open Asttypes
+-open Parsetree
+-
+-open Ast_convenience_410
+
+ (** {2 Convenient stuff} *)
+
+-let with_loc f {txt ; loc = _loc} =
+- (f txt) [@metaloc _loc]
++let with_loc f {txt ; loc } =
++ f ~loc txt
+
+ (** Test if a case is a catchall. *)
+ let is_catchall case =
+@@ -27,7 +22,7 @@
+ List.exists is_catchall cases
+ in
+ if not has_wildcard
+- then cases @ [Exp.case [%pat? exn] [%expr Lwt.fail exn]] [@metaloc Location.none]
++ then cases @ (let loc = Location.none in [Exp.case [%pat? exn] [%expr Lwt.fail exn]])
+ else cases
+
+ (** {3 Internal names} *)
+@@ -73,34 +68,33 @@
+ evar ~loc:binding.pvb_expr.pexp_loc (gen_name i)
+ in
+ let fun_ =
+- [%expr (fun [%p binding.pvb_pat] -> [%e aux (i+1) t])] [@metaloc e_loc]
++ let loc = e_loc in
++ [%expr (fun [%p binding.pvb_pat] -> [%e aux (i+1) t])]
+ in
+ let new_exp =
+- [%expr
+- let module Reraise = struct external reraise : exn -> 'a = "%reraise" end in
+- Lwt.backtrace_bind
+- (fun exn -> try Reraise.reraise exn with exn -> exn)
+- [%e name]
+- [%e fun_]
+- ] [@metaloc e_loc]
++ let loc = e_loc in
++ [%expr
++ let module Reraise = struct external reraise : exn -> 'a = "%reraise" end in
++ Lwt.backtrace_bind
++ (fun exn -> try Reraise.reraise exn with exn -> exn)
++ [%e name]
++ [%e fun_]
++ ]
+ in
+ { new_exp with pexp_attributes = binding.pvb_attributes }
+ in aux 0 l
+
+-(* Note: instances of [@metaloc !default_loc] below are workarounds for
+- https://github.com/ocaml-ppx/ppx_tools_versioned/issues/21. *)
+-
+ let lwt_sequence mapper ~exp ~lhs ~rhs ~ext_loc =
+- let pat= [%pat? ()][@metaloc ext_loc] in
+- let lhs, rhs = mapper.expr mapper lhs, mapper.expr mapper rhs in
+- [%expr
+- let module Reraise = struct external reraise : exn -> 'a = "%reraise" end in
+- Lwt.backtrace_bind
+- (fun exn -> try Reraise.reraise exn with exn -> exn)
+- [%e lhs]
+- (fun [%p pat] -> [%e rhs])
+- ]
+- [@metaloc exp.pexp_loc]
++ let pat= let loc = ext_loc in [%pat? ()] in
++ let lhs, rhs = mapper#expression lhs, mapper#expression rhs in
++ let loc = exp.pexp_loc in
++ [%expr
++ let module Reraise = struct external reraise : exn -> 'a = "%reraise" end in
++ Lwt.backtrace_bind
++ (fun exn -> try Reraise.reraise exn with exn -> exn)
++ [%e lhs]
++ (fun [%p pat] -> [%e rhs])
++ ]
+
+ (** For expressions only *)
+ (* We only expand the first level after a %lwt.
+@@ -121,7 +115,7 @@
+ (gen_bindings vbl)
+ (gen_binds exp.pexp_loc vbl e)
+ in
+- Some (mapper.expr mapper { new_exp with pexp_attributes })
++ Some (mapper#expression { new_exp with pexp_attributes })
+
+ (* [match%lwt $e$ with $c$] ≡ [Lwt.bind $e$ (function $c$)]
+ [match%lwt $e$ with exception $x$ | $c$] ≡
+@@ -134,11 +128,8 @@
+ | _ -> false)
+ in
+ if cases = [] then
+- raise (Location.Error (
+- Location.errorf
+- ~loc:exp.pexp_loc
+- "match%%lwt must contain at least one non-exception pattern."
+- ));
++ Location.raise_errorf ~loc:exp.pexp_loc
++ "match%%lwt must contain at least one non-exception pattern." ;
+ let exns =
+ exns |> List.map (
+ function
+@@ -150,22 +141,24 @@
+ let new_exp =
+ match exns with
+ | [] ->
+- [%expr Lwt.bind [%e e] [%e Exp.function_ cases]] [@metaloc !default_loc]
+- | _ -> [%expr Lwt.try_bind (fun () -> [%e e])
+- [%e Exp.function_ cases]
+- [%e Exp.function_ exns]]
+- [@metaloc !default_loc]
++ let loc = !default_loc in
++ [%expr Lwt.bind [%e e] [%e Exp.function_ cases]]
++ | _ ->
++ let loc = !default_loc in
++ [%expr Lwt.try_bind (fun () -> [%e e])
++ [%e Exp.function_ cases]
++ [%e Exp.function_ exns]]
+ in
+- Some (mapper.expr mapper { new_exp with pexp_attributes })
++ Some (mapper#expression { new_exp with pexp_attributes })
+
+ (* [assert%lwt $e$] ≡
+ [try Lwt.return (assert $e$) with exn -> Lwt.fail exn] *)
+ | Pexp_assert e ->
+ let new_exp =
++ let loc = !default_loc in
+ [%expr try Lwt.return (assert [%e e]) with exn -> Lwt.fail exn]
+- [@metaloc !default_loc]
+ in
+- Some (mapper.expr mapper { new_exp with pexp_attributes })
++ Some (mapper#expression { new_exp with pexp_attributes })
+
+ (* [while%lwt $cond$ do $body$ done] ≡
+ [let rec __ppx_lwt_loop () =
+@@ -175,15 +168,15 @@
+ *)
+ | Pexp_while (cond, body) ->
+ let new_exp =
++ let loc = !default_loc in
+ [%expr
+ let rec __ppx_lwt_loop () =
+ if [%e cond] then Lwt.bind [%e body] __ppx_lwt_loop
+ else Lwt.return_unit
+ in __ppx_lwt_loop ()
+ ]
+- [@metaloc !default_loc]
+ in
+- Some (mapper.expr mapper { new_exp with pexp_attributes })
++ Some (mapper#expression { new_exp with pexp_attributes })
+
+ (* [for%lwt $p$ = $start$ (to|downto) $end$ do $body$ done] ≡
+ [let __ppx_lwt_bound = $end$ in
+@@ -193,16 +186,19 @@
+ in __ppx_lwt_loop $start$]
+ *)
+ | Pexp_for ({ppat_desc = Ppat_var p_var; _} as p, start, bound, dir, body) ->
+- let comp, op = match dir with
+- | Upto -> evar ">", evar "+"
+- | Downto -> evar "<", evar "-"
++ let comp, op =
++ let loc = !default_loc in
++ match dir with
++ | Upto -> evar ~loc ">", evar ~loc "+"
++ | Downto -> evar ~loc "<", evar ~loc "-"
+ in
+- let p' = with_loc (fun s -> evar s) p_var in
++ let p' = with_loc evar p_var in
+
+- let exp_bound = [%expr __ppx_lwt_bound] [@metaloc bound.pexp_loc] in
+- let pat_bound = [%pat? __ppx_lwt_bound] [@metaloc bound.pexp_loc] in
++ let exp_bound = let loc = bound.pexp_loc in [%expr __ppx_lwt_bound] in
++ let pat_bound = let loc = bound.pexp_loc in [%pat? __ppx_lwt_bound] in
+
+ let new_exp =
++ let loc = !default_loc in
+ [%expr
+ let [%p pat_bound] : int = [%e bound] in
+ let rec __ppx_lwt_loop [%p p] =
+@@ -210,9 +206,8 @@
+ else Lwt.bind [%e body] (fun () -> __ppx_lwt_loop ([%e op] [%e p'] 1))
+ in __ppx_lwt_loop [%e start]
+ ]
+- [@metaloc !default_loc]
+ in
+- Some (mapper.expr mapper { new_exp with pexp_attributes })
++ Some (mapper#expression { new_exp with pexp_attributes })
+
+
+ (* [try%lwt $e$ with $c$] ≡
+@@ -221,6 +216,7 @@
+ | Pexp_try (expr, cases) ->
+ let cases = add_wildcard_case cases in
+ let new_exp =
++ let loc = !default_loc in
+ [%expr
+ let module Reraise = struct external reraise : exn -> 'a = "%reraise" end in
+ Lwt.backtrace_catch
+@@ -228,9 +224,8 @@
+ (fun () -> [%e expr])
+ [%e Exp.function_ cases]
+ ]
+- [@metaloc !default_loc]
+ in
+- Some (mapper.expr mapper { new_exp with pexp_attributes })
++ Some (mapper#expression { new_exp with pexp_attributes })
+
+ (* [if%lwt $c$ then $e1$ else $e2$] ≡
+ [match%lwt $c$ with true -> $e1$ | false -> $e2$]
+@@ -240,37 +235,37 @@
+ | Pexp_ifthenelse (cond, e1, e2) ->
+ let e2 =
+ match e2 with
+- | None -> [%expr Lwt.return_unit] [@metaloc !default_loc]
++ | None -> let loc = !default_loc in [%expr Lwt.return_unit]
+ | Some e -> e
+ in
+ let cases =
++ let loc = !default_loc in
+ [
+- Exp.case ([%pat? true] [@metaloc !default_loc]) e1 ;
+- Exp.case ([%pat? false] [@metaloc !default_loc]) e2 ;
++ Exp.case [%pat? true] e1 ;
++ Exp.case [%pat? false] e2 ;
+ ]
+ in
+ let new_exp =
++ let loc = !default_loc in
+ [%expr Lwt.bind [%e cond] [%e Exp.function_ cases]]
+- [@metaloc !default_loc]
+ in
+- Some (mapper.expr mapper { new_exp with pexp_attributes })
++ Some (mapper#expression { new_exp with pexp_attributes })
+
+ | _ ->
+ None
+
+ let warned = ref false
+
+-let mapper =
+- { default_mapper with
++class mapper = object (self)
++ inherit Ast_traverse.map as super
+
+- structure = begin fun mapper structure ->
+- if !warned then
+- default_mapper.structure mapper structure
++ method! structure = begin fun structure ->
++ if !warned then super#structure structure
+
+ else begin
+ warned := true;
+- let structure = default_mapper.structure mapper structure in
+- let loc = Location.in_file !Location.input_name in
++ let structure = super#structure structure in
++ let loc = Location.in_file !Ocaml_common.Location.input_name in
+
+ let warn_if condition message structure =
+ if condition then
+@@ -287,9 +282,9 @@
+ ("-no-sequence is a deprecated Lwt PPX option\n" ^
+ " See https://github.com/ocsigen/lwt/issues/495")
+ end
+- end;
++ end
+
+- expr = (fun mapper expr ->
++ method! expression = (fun expr ->
+ match expr with
+ | { pexp_desc=
+ Pexp_extension (
+@@ -297,7 +292,7 @@
+ PStr[{pstr_desc= Pstr_eval (exp, _);_}]);
+ _
+ }->
+- begin match lwt_expression mapper exp expr.pexp_attributes ext_loc with
++ begin match lwt_expression self exp expr.pexp_attributes ext_loc with
+ | Some expr' -> expr'
+ | None -> expr
+ end
+@@ -306,47 +301,45 @@
+ | [%expr [%e? exp ] [%finally [%e? finally]] ]
+ | [%expr [%e? exp ] [%lwt.finally [%e? finally]] ] ->
+ let new_exp =
+- [%expr
+- let module Reraise = struct external reraise : exn -> 'a = "%reraise" end in
+- Lwt.backtrace_finalize
+- (fun exn -> try Reraise.reraise exn with exn -> exn)
+- (fun () -> [%e exp])
+- (fun () -> [%e finally])
+- ]
+- [@metaloc !default_loc]
++ let loc = !default_loc in
++ [%expr
++ let module Reraise = struct external reraise : exn -> 'a = "%reraise" end in
++ Lwt.backtrace_finalize
++ (fun exn -> try Reraise.reraise exn with exn -> exn)
++ (fun () -> [%e exp])
++ (fun () -> [%e finally])
++ ]
+ in
+- mapper.expr mapper
++ super#expression
+ { new_exp with
+ pexp_attributes = expr.pexp_attributes @ exp.pexp_attributes
+ }
+
+ | [%expr [%finally [%e? _ ]]]
+ | [%expr [%lwt.finally [%e? _ ]]] ->
+- raise (Location.Error (
+- Location.errorf
+- ~loc:expr.pexp_loc
+- "Lwt's finally should be used only with the syntax: \"(<expr>)[%%finally ...]\"."
+- ))
++ Location.raise_errorf ~loc:expr.pexp_loc
++ "Lwt's finally should be used only with the syntax: \"(<expr>)[%%finally ...]\"."
+
+ | _ ->
+- default_mapper.expr mapper expr);
+- structure_item = (fun mapper stri ->
++ super#expression expr)
++
++ method! structure_item = (fun stri ->
+ default_loc := stri.pstr_loc;
+ match stri with
+ | [%stri let%lwt [%p? var] = [%e? exp]] ->
+ let warning =
+- str
++ estring ~loc:!default_loc
+ ("let%lwt should not be used at the module item level.\n" ^
+ "Replace let%lwt x = e by let x = Lwt_main.run (e)")
+ in
++ let loc = !default_loc in
+ [%stri
+ let [%p var] =
+ (Lwt_main.run [@ocaml.ppwarning [%e warning]])
+- [%e mapper.expr mapper exp]]
+- [@metaloc !default_loc]
++ [%e super#expression exp]]
+
+- | x -> default_mapper.structure_item mapper x);
+-}
++ | x -> super#structure_item x);
++end
+
+
+ let args =
+@@ -361,5 +354,8 @@
+ ]
+
+ let () =
+- Driver.register ~name:"ppx_lwt" ~args Versions.ocaml_410
+- (fun _config _cookies -> mapper)
++ let mapper = new mapper in
++ Driver.register_transformation "ppx_lwt"
++ ~impl:mapper#structure
++ ~intf:mapper#signature ;
++ List.iter (fun (key, spec, doc) -> Driver.add_arg key spec ~doc) args
+--- lwt-5.3.0-orig/src/ppx/ppx_lwt.mli 2020-04-23 16:32:55.000000000 +1000
++++ lwt-5.3.0/src/ppx/ppx_lwt.mli 2020-10-12 22:10:45.384889535 +1100
+@@ -161,4 +161,4 @@
+ *)
+
+
+-val mapper : Migrate_parsetree.OCaml_410.Ast.Ast_mapper.mapper
++class mapper : Ppxlib.Ast_traverse.map
diff --git a/dev-ml/lwt/lwt-5.3.0.ebuild b/dev-ml/lwt/lwt-5.3.0.ebuild
new file mode 100644
index 000000000000..417b2d5dfd1b
--- /dev/null
+++ b/dev-ml/lwt/lwt-5.3.0.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="Cooperative light-weight thread library for OCaml"
+SRC_URI="https://github.com/ocsigen/lwt/archive/${PV}.tar.gz -> ${P}.tar.gz"
+HOMEPAGE="http://ocsigen.org/lwt"
+
+IUSE="+ocamlopt"
+
+DEPEND="
+ dev-ml/seq:=
+ dev-ml/result:=
+ dev-ml/mmap:=
+ dev-ml/ocplib-endian:=
+ >=dev-ml/ppxlib-0.18.0:=
+ dev-ml/react:=
+ dev-ml/dune-configurator:=
+ dev-libs/libev"
+
+RDEPEND="${DEPEND}
+ !<www-servers/ocsigen-1.1"
+DEPEND="${DEPEND}
+ dev-ml/cppo
+ dev-ml/findlib"
+
+SLOT="0/${PV}"
+LICENSE="LGPL-2.1-with-linking-exception"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+
+# backported from https://github.com/ocsigen/lwt/pull/807
+PATCHES=(
+ "${FILESDIR}"/${PN}-5.3.0-ppxlib-0.18.0.patch
+)
diff --git a/dev-ml/lwt/metadata.xml b/dev-ml/lwt/metadata.xml
index 78de251d544a..876bdf620f96 100644
--- a/dev-ml/lwt/metadata.xml
+++ b/dev-ml/lwt/metadata.xml
@@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
<use>
<flag name="camlp4">Enable camlp4 syntax extension</flag>
<flag name="libev">Enable the <pkg>dev-libs/libev</pkg>-based backend.</flag>
diff --git a/dev-ml/mccs/Manifest b/dev-ml/mccs/Manifest
new file mode 100644
index 000000000000..191a387e9903
--- /dev/null
+++ b/dev-ml/mccs/Manifest
@@ -0,0 +1 @@
+DIST mccs-1.1.11.tar.gz 1008163 BLAKE2B 49f173b99baa1acfd96f8ef873b664ba61dc9a770ad62873f956f017e3940737be74f5d5392d4043c9ade3e74e09d9c6b11c47af7755558b25f1f62e6ab80d84 SHA512 095393ca63fb591a833a7a37117a80a2e817b437bbcd655301b376f749a3756c8aff26b2fcdebfc5f68b9c30d8971a7ba057f610117516e3e85a3fe7bd3906d0
diff --git a/dev-ml/mccs/mccs-1.1.11.ebuild b/dev-ml/mccs/mccs-1.1.11.ebuild
new file mode 100644
index 000000000000..d3f8dab35e06
--- /dev/null
+++ b/dev-ml/mccs/mccs-1.1.11.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+MY_PV=$(ver_rs 2 '+')
+
+DESCRIPTION="Multi Criteria CUDF Solver"
+HOMEPAGE="http://www.i3s.unice.fr/~cpjm/misc/ https://github.com/AltGr/ocaml-mccs/issues"
+SRC_URI="https://github.com/AltGr/ocaml-mccs/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="+ocamlopt test"
+
+RDEPEND="
+ dev-ml/cudf:=
+ sci-mathematics/glpk:=
+"
+DEPEND="${RDEPEND}
+ test? (
+ dev-ml/extlib:=
+ )
+"
+
+S=${WORKDIR}/ocaml-${PN}-$(ver_rs 2 '-')
diff --git a/dev-ml/mccs/metadata.xml b/dev-ml/mccs/metadata.xml
new file mode 100644
index 000000000000..cb477b7c6e26
--- /dev/null
+++ b/dev-ml/mccs/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">AltGr/ocaml-mccs</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-ml/mmap/Manifest b/dev-ml/mmap/Manifest
new file mode 100644
index 000000000000..698345342ed6
--- /dev/null
+++ b/dev-ml/mmap/Manifest
@@ -0,0 +1 @@
+DIST mmap-v1.0.2.tbz 14575 BLAKE2B ddc0ce540780bf362662b90ba0ba71098151bfaf2633161d747f6122b34b4cec813c0a839f5f702595fa9d81b24a4d550fcaa6600d6fdd7560947e71c87b1b6a SHA512 280afb62a0cc5b13f7e9485bb81c0fe6bff91a3838420495ce7a10709af987264590562f21b2d66e778b7e606be3f1f940ebb090e4fa0af5702f09bacab93cbe
diff --git a/dev-ml/mmap/metadata.xml b/dev-ml/mmap/metadata.xml
new file mode 100644
index 000000000000..3c0ce5319562
--- /dev/null
+++ b/dev-ml/mmap/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">mirage/mmap</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-ml/mmap/mmap-1.0.2.ebuild b/dev-ml/mmap/mmap-1.0.2.ebuild
new file mode 100644
index 000000000000..3893cb7deb34
--- /dev/null
+++ b/dev-ml/mmap/mmap-1.0.2.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="File mapping"
+HOMEPAGE="https://github.com/mirage/mmap"
+SRC_URI="https://github.com/mirage/mmap/releases/download/v${PV}/${PN}-v${PV}.tbz"
+
+LICENSE="LGPL-2.1"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="+ocamlopt"
+
+RDEPEND=""
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/${PN}-v${PV}"
diff --git a/dev-ml/num/metadata.xml b/dev-ml/num/metadata.xml
index d0e866f244f8..000cf86e43c1 100644
--- a/dev-ml/num/metadata.xml
+++ b/dev-ml/num/metadata.xml
@@ -5,4 +5,8 @@
<email>tupone@gentoo.org</email>
<name>Tupone Alfredo</name>
</maintainer>
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
</pkgmetadata>
diff --git a/dev-ml/num/num-1.3-r1.ebuild b/dev-ml/num/num-1.3-r1.ebuild
new file mode 100644
index 000000000000..5b41e68c5852
--- /dev/null
+++ b/dev-ml/num/num-1.3-r1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit multilib findlib
+
+DESCRIPTION="Library for arbitrary-precision integer and rational arithmetic"
+HOMEPAGE="https://github.com/ocaml/num"
+SRC_URI="https://github.com/ocaml/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1-with-linking-exception"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
+IUSE=""
+
+DEPEND=">=dev-lang/ocaml-4.09.0:=[ocamlopt]
+ >=dev-ml/findlib-1.8.1[ocamlopt]"
+RDEPEND="${DEPEND}"
+BDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-cflags.patch
+)
+
+src_compile() {
+ emake CFLAGS="${CFLAGS}"
+}
+
+src_install() {
+ findlib_src_preinst
+ OCAMLPATH="${OCAMLFIND_DESTDIR}" emake install DESTDIR="${D}"
+}
diff --git a/dev-ml/ocaml-compiler-libs/Manifest b/dev-ml/ocaml-compiler-libs/Manifest
index bc5a18b49d93..fc5192363d71 100644
--- a/dev-ml/ocaml-compiler-libs/Manifest
+++ b/dev-ml/ocaml-compiler-libs/Manifest
@@ -1 +1,2 @@
+DIST ocaml-compiler-libs-0.12.3.tar.gz 4982 BLAKE2B 83432cbb2707964f025b294a84cdcce77137156e409d85ce8615dd6e9a26ad085cd5de178ebeb7520cd95b19a15b3cfbf7ef9567d165b55e07850a231b68371c SHA512 748ae11fe4cedb12d153ef2e712a9899f6a7ab4a35ddb7c95c0ae25af979c3edf274046745dddb2253fc06be41d5b0029f11a5a823a17d1ee680ffb29c4bdc89
DIST ocaml-compiler-libs-0.9.0.tar.gz 6937 BLAKE2B d53a8312ffabfed0b137d435497b4d7953239f57176481f522cbb70fd49a1a8045850d7572830455aefff1a91c6c461c03f40392b386bacb03afda3f72e39005 SHA512 ee0751bcfb9cb75d272f7af4f7da184c0a8e348384a2481da9dea0245a4133de908a23d0a324e0353397a4f0c5bfd71d40a6a46dbd8e4acea922bad7cdc5ef64
diff --git a/dev-ml/ocaml-compiler-libs/metadata.xml b/dev-ml/ocaml-compiler-libs/metadata.xml
index b15fbc969a48..386b3cb8e9bc 100644
--- a/dev-ml/ocaml-compiler-libs/metadata.xml
+++ b/dev-ml/ocaml-compiler-libs/metadata.xml
@@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
<upstream>
<remote-id type="github">janestreet/ocaml-compiler-libs</remote-id>
</upstream>
diff --git a/dev-ml/ocaml-compiler-libs/ocaml-compiler-libs-0.12.3.ebuild b/dev-ml/ocaml-compiler-libs/ocaml-compiler-libs-0.12.3.ebuild
new file mode 100644
index 000000000000..dbbcd84de28f
--- /dev/null
+++ b/dev-ml/ocaml-compiler-libs/ocaml-compiler-libs-0.12.3.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="Repackage the OCaml compiler libs so they do not expose everything at toplevel"
+HOMEPAGE="https://github.com/janestreet/ocaml-compiler-libs"
+SRC_URI="https://github.com/janestreet/ocaml-compiler-libs/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="+ocamlopt"
+
+RDEPEND=""
+DEPEND="${RDEPEND}"
diff --git a/dev-ml/ocaml-ctypes/Manifest b/dev-ml/ocaml-ctypes/Manifest
index dca907ace49c..7538af6c255f 100644
--- a/dev-ml/ocaml-ctypes/Manifest
+++ b/dev-ml/ocaml-ctypes/Manifest
@@ -2,3 +2,4 @@ DIST ocaml-ctypes-0.11.2.tar.gz 203564 BLAKE2B 2a8c0ee8f8dcd78c3f93b506e92f2c347
DIST ocaml-ctypes-0.11.3.tar.gz 204959 BLAKE2B f3863e29d355479f9306c39786d56839ab05a119dfd5a64de1a784d71e8d931d5fad0f306402aadb50bc5e8147ab7668ac026b5bfbbaff2b6530d7a33f9f38cc SHA512 e7698954a6b683869a1482af8fe1bbeb5ccf693c2bb8583e2c19c5da92ed2730466e373c6f53d9ff9f09c2bdedf102da3f76b75511d7f9b7d266ac0765999f94
DIST ocaml-ctypes-0.12.1.tar.gz 199686 BLAKE2B d131bb8ebe8448c6d252d32b6a6de2e555f4c7802bec0da83f33ac402d1fd1c73db9abb97fe9f7065fbeaddc782c0976bb05ef6ee6aa80e20b46074a48c343c3 SHA512 801c66395d843c9e410736a06ab5e03bbe22851a364dc9b9444f49dc133e0f5e0b7a1c31e88de56d23a21817cb35595a1b6743c430c8c1a689b7ae12adc8856f
DIST ocaml-ctypes-0.13.0.tar.gz 200959 BLAKE2B 9f7274099924bd5502fc8115a1e5ed32f9b56902ce284f5530710c948d6d735a2abfd30affa5f1f7803edb33e062c288963946846be29977af87f19f47dd0fbe SHA512 ba2e4cd77d42cf032d823e26f94a8cc37d81ac12bafd40c5d61685d66c97e18996a286dd8d486c94ad4a34e4214e55104e6283158962871e7f0722b2144f7a7d
+DIST ocaml-ctypes-0.17.1.tar.gz 208101 BLAKE2B b9fe6632058a670c988ba9f1ae81b75aa5373de7231cef04d5e2ede61a44cbaa0324c04197a0a202847599a9bbe7dccd18fd3279f3f351493aaec4959caf3ada SHA512 1e197009f7e6b29b43944f757e987934337ebfa11bb2ff2ca8ba3ebc607e37cf1259d07a90d7faf4b91b49ee20d5c65357ad305f34ada0a8d336a3904233150e
diff --git a/dev-ml/ocaml-ctypes/metadata.xml b/dev-ml/ocaml-ctypes/metadata.xml
index 036e86e13c25..e3a65adc3e77 100644
--- a/dev-ml/ocaml-ctypes/metadata.xml
+++ b/dev-ml/ocaml-ctypes/metadata.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
- <upstream>
- <remote-id type="github">ocamllabs/ocaml-ctypes</remote-id>
- </upstream>
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">ocamllabs/ocaml-ctypes</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-ml/ocaml-ctypes/ocaml-ctypes-0.17.1.ebuild b/dev-ml/ocaml-ctypes/ocaml-ctypes-0.17.1.ebuild
new file mode 100644
index 000000000000..5370c08eb051
--- /dev/null
+++ b/dev-ml/ocaml-ctypes/ocaml-ctypes-0.17.1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit findlib
+
+DESCRIPTION="Library for binding to C libraries using pure OCaml"
+HOMEPAGE="https://github.com/ocamllabs/ocaml-ctypes"
+SRC_URI="https://github.com/ocamllabs/ocaml-ctypes/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="test"
+
+RDEPEND="
+ >=dev-lang/ocaml-4.02:=[ocamlopt]
+ >=dev-libs/libffi-3.3_rc0:0/7
+ dev-ml/integers:=
+"
+DEPEND="${RDEPEND}
+ test? ( dev-ml/ounit2 dev-ml/lwt )"
+
+src_prepare() {
+ sed -e 's/oUnit/ounit2/g' -i Makefile.tests || die
+ default
+}
+
+src_compile() {
+ emake -j1
+}
+
+src_test() {
+ emake -j1 test
+}
+
+src_install() {
+ findlib_src_install
+ dodoc CHANGES.md README.md
+}
diff --git a/dev-ml/ocaml-expat/files/ounit2.patch b/dev-ml/ocaml-expat/files/ounit2.patch
new file mode 100644
index 000000000000..5cbcc4e12b98
--- /dev/null
+++ b/dev-ml/ocaml-expat/files/ounit2.patch
@@ -0,0 +1,17 @@
+Index: ocaml-expat-1.1.0/Makefile
+===================================================================
+--- ocaml-expat-1.1.0.orig/Makefile
++++ ocaml-expat-1.1.0/Makefile
+@@ -85,10 +85,10 @@ test: unittest
+ testopt: unittest.opt
+ ./unittest.opt
+ unittest: all unittest.ml
+- $(OCAMLFIND) ocamlc -o unittest -package oUnit -ccopt -L. -linkpkg \
++ $(OCAMLFIND) ocamlc -o unittest -package ounit2 -ccopt -L. -linkpkg \
+ $(ARCHIVE) unittest.ml
+ unittest.opt: allopt unittest.ml
+- $(OCAMLFIND) ocamlopt -o unittest.opt -package oUnit -ccopt -L. -linkpkg \
++ $(OCAMLFIND) ocamlopt -o unittest.opt -package ounit2 -ccopt -L. -linkpkg \
+ $(XARCHIVE) unittest.ml
+
+ ## Cleaning up
diff --git a/dev-ml/ocaml-expat/metadata.xml b/dev-ml/ocaml-expat/metadata.xml
index b6a93442203a..f91d68f6062b 100644
--- a/dev-ml/ocaml-expat/metadata.xml
+++ b/dev-ml/ocaml-expat/metadata.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
- <upstream>
- <remote-id type="github">whitequark/ocaml-expat</remote-id>
- </upstream>
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">whitequark/ocaml-expat</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-ml/ocaml-expat/ocaml-expat-1.1.0-r1.ebuild b/dev-ml/ocaml-expat/ocaml-expat-1.1.0-r1.ebuild
new file mode 100644
index 000000000000..152a3ca7fbf3
--- /dev/null
+++ b/dev-ml/ocaml-expat/ocaml-expat-1.1.0-r1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit findlib
+
+IUSE="doc +ocamlopt test"
+
+DESCRIPTION="OCaml bindings for expat"
+SRC_URI="https://github.com/whitequark/ocaml-expat/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+HOMEPAGE="https://github.com/whitequark/ocaml-expat"
+
+RDEPEND="dev-libs/expat
+ >=dev-lang/ocaml-3.10.2:=[ocamlopt?]"
+
+DEPEND="${RDEPEND}
+ test? ( dev-ml/ounit2 )"
+
+SLOT="0/${PV}"
+LICENSE="MIT"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+PATCHES=( "${FILESDIR}/ounit2.patch" )
+
+src_compile() {
+ emake depend
+ emake all
+ if use ocamlopt; then
+ emake allopt
+ fi
+ if use doc; then
+ emake doc
+ fi
+}
+
+src_test() {
+ emake test
+ if use ocamlopt; then
+ emake testopt
+ fi
+}
+src_install() {
+ findlib_src_preinst
+ emake install
+
+ if use doc ; then
+ docinto html
+ dodoc -r doc/*
+ fi
+ dodoc README
+}
diff --git a/dev-ml/ocaml-migrate-parsetree/Manifest b/dev-ml/ocaml-migrate-parsetree/Manifest
index 8469270d5ce0..1c58aad13898 100644
--- a/dev-ml/ocaml-migrate-parsetree/Manifest
+++ b/dev-ml/ocaml-migrate-parsetree/Manifest
@@ -1,3 +1,4 @@
DIST ocaml-migrate-parsetree-1.0.5.tar.gz 209078 BLAKE2B f56bd7c142280c3da6439f2e8d72ca43a9c2f5068775fb7ae5e4b73b8f8824ead04d9646b3dfcacc1db6acef2245038b7e4dcfc927c4e7d79e1e90229b143bf5 SHA512 eff87416eeb6175820bedfa3160160fa7328bcee3d05e066b5a94db25a476299f3f5ad07db22eb192f84e5b83804cf2e3a66d77561c984d658d9255c43660b90
DIST ocaml-migrate-parsetree-1.0.6.tar.gz 209199 BLAKE2B 5682cf02ea17e53f352a9ed8d198bb5a8a8aceedac6754f3d60644a7f21e1fc9cd4daecc24cc8d65f790846cd8518daf874710a6e4ee9ef8c27aec0f7fd43162 SHA512 b44b9fc59cef787a0188245be357685fe7ecd5cc81368b5677b3389e8d09834e5e40f94a3cd7be762f3eb27657a628c0a228c4cefe4443ad1dc8ce012f2552b4
DIST ocaml-migrate-parsetree-1.0.7.tar.gz 209251 BLAKE2B ad221fd6a3a91d546d3bc75495f32914b99eb0dcdcf3fbe6f76cb80f85a46346815a21bffa872f2aefe09109ab162d19f7019a8d0441d4f9f7ce22c0ada13f2e SHA512 3ba1bfe4840b2664b5053068b3659eb6a2ca216f29ece3f4522d1e7c5d87cb643bfb59ebe0563264cafdc31b9aa572007b4261fd3df8b27607fad47ff6168892
+DIST ocaml-migrate-parsetree-2.0.0.tar.gz 150973 BLAKE2B f9cdaabfccd82ba2fcd02a044815072ac6495c46ece5cce306a108246dbe68b711f163b05702dc657cc8ee56f1080a5e83430ce2084990fa4ab2a4740fef77c2 SHA512 eba6574339225c44a1872e91fb95b3e8953031b2550038497c57832c94b02297ca3215525341bbe114fe480198519965a6a1619e6490a57ad66f65eff66d160d
diff --git a/dev-ml/ocaml-migrate-parsetree/metadata.xml b/dev-ml/ocaml-migrate-parsetree/metadata.xml
index fef8db57a990..418d2940e0c7 100644
--- a/dev-ml/ocaml-migrate-parsetree/metadata.xml
+++ b/dev-ml/ocaml-migrate-parsetree/metadata.xml
@@ -1,8 +1,11 @@
-<?xml version="1.0" encoding="UTF-8"?>
+<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
<upstream>
- <remote-id type="github">let-def/ocaml-migrate-parsetree</remote-id>
+ <remote-id type="github">ocaml-ppx/ocaml-migrate-parsetree</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-ml/ocaml-migrate-parsetree/ocaml-migrate-parsetree-2.0.0.ebuild b/dev-ml/ocaml-migrate-parsetree/ocaml-migrate-parsetree-2.0.0.ebuild
new file mode 100644
index 000000000000..2ccef7340e63
--- /dev/null
+++ b/dev-ml/ocaml-migrate-parsetree/ocaml-migrate-parsetree-2.0.0.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="Convert OCaml parsetrees between different major versions"
+HOMEPAGE="https://github.com/let-def/ocaml-migrate-parsetree"
+SRC_URI="https://github.com/let-def/ocaml-migrate-parsetree/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="+ocamlopt test"
+
+DEPEND="
+ dev-ml/ppx_derivers
+"
+RDEPEND="${DEPEND}"
diff --git a/dev-ml/ocamlweb/Manifest b/dev-ml/ocamlweb/Manifest
index ca1439647035..90aa548d5535 100644
--- a/dev-ml/ocamlweb/Manifest
+++ b/dev-ml/ocamlweb/Manifest
@@ -1 +1,2 @@
DIST ocamlweb-1.39.tar.gz 141866 BLAKE2B 14ab9c595133d34d9711da2232fdf6a89a7b134ec2537e70d6ee6ecbfdb19a8bfb6a1a7aed6207cbb1bbe1f5e7b651d33fed35d8f26129d69e29dc5995d5c342 SHA512 f4e2d330222378b632ace70efb7062c93002a85db6dc9a821706a76a1e1c00da4d4e82e618f162584003b821bc72d2d11508ae22474db61cc4367ed528d21d50
+DIST ocamlweb-1.41.tar.gz 141844 BLAKE2B b89b20bdc8b99d34069b2e32a6bd8c9684e294fba667a4b74080b34f37c6d90432c61e71e27f4f1772cda8a26891655bd99a21defa584f4a1c68ae1e0d58d454 SHA512 7a6403f8b0de3feeef9657e8aff10e6f1fe29edc400ce3f11c6435d6350314423fb74e192e4275a9ad47170019d6a960daf74f245539f0f3f2a6072cc7195442
diff --git a/dev-ml/ocamlweb/files/ocamlweb-1.41-ocaml-4.08.0.patch b/dev-ml/ocamlweb/files/ocamlweb-1.41-ocaml-4.08.0.patch
new file mode 100644
index 000000000000..b8da9e02b032
--- /dev/null
+++ b/dev-ml/ocamlweb/files/ocamlweb-1.41-ocaml-4.08.0.patch
@@ -0,0 +1,53 @@
+From: Stephane Glondu <steph@glondu.net>
+Date: Fri, 6 Sep 2019 09:53:22 +0200
+Subject: Fix compilation with OCaml 4.08.0
+
+---
+ web.ml | 18 ++++++++++--------
+ 1 file changed, 10 insertions(+), 8 deletions(-)
+
+diff --git a/web.ml b/web.ml
+index 7dc1470..6f9ca51 100644
+--- a/web.ml
++++ b/web.ml
+@@ -247,14 +247,16 @@ let norm_string s =
+
+ let alpha_string s1 s2 =
+ match what_is_first_char s1, what_is_first_char s2 with
+- | Symbol, Symbol -> s1 < s2
+- | Symbol, _ -> true
+- | _, Symbol -> false
+- | _,_ -> norm_string s1 < norm_string s2
++ | Symbol, Symbol -> compare s1 s2
++ | Symbol, _ -> -1
++ | _, Symbol -> 1
++ | _,_ -> compare (norm_string s1) (norm_string s2)
++
++let ( ++ ) c1 c2 =
++ if c1 = 0 then c2 else c1
+
+ let order_entry e1 e2 =
+- (alpha_string e1.e_name e2.e_name) ||
+- (e1.e_name = e2.e_name && e1.e_type < e2.e_type)
++ alpha_string e1.e_name e2.e_name ++ compare e1.e_type e2.e_type
+
+ (*s The following function collects all the index entries and sort them
+ using [alpha_string], returning a list. *)
+@@ -264,7 +266,7 @@ module Idset = Set.Make(struct type t = index_entry let compare = compare end)
+ let all_entries () =
+ let s = Idmap.fold (fun x _ s -> Idset.add x s) !used Idset.empty in
+ let s = Idmap.fold (fun x _ s -> Idset.add x s) !defined s in
+- Sort.list order_entry (Idset.elements s)
++ List.sort order_entry (Idset.elements s)
+
+
+ (*s When we are in \LaTeX\ style, an index entry only consists in two lists
+@@ -324,7 +326,7 @@ let list_in_table id t =
+ try
+ let l = Whereset.elements (Idmap.find id t) in
+ let l = map_succeed_nf find_where l in
+- let l = Sort.list (fun x x' -> snd x < snd x') l in
++ let l = List.sort (fun x x' -> compare (snd x) (snd x')) l in
+ uniquize l
+ with Not_found ->
+ []
diff --git a/dev-ml/ocamlweb/files/ocamlweb-1.41-strip.patch b/dev-ml/ocamlweb/files/ocamlweb-1.41-strip.patch
new file mode 100644
index 000000000000..1cb407a4a51e
--- /dev/null
+++ b/dev-ml/ocamlweb/files/ocamlweb-1.41-strip.patch
@@ -0,0 +1,17 @@
+--- ocamlweb-1.41-orig/Makefile.in 2019-01-25 20:54:14.000000000 +1100
++++ ocamlweb-1.41/Makefile.in 2020-10-12 19:49:20.490860201 +1100
+@@ -61,14 +61,12 @@
+
+ ocamlweb: $(CAML_CMX) $(CAMLLEX_CMX) $(CMX)
+ $(CAMLCOPT) $(OPTFLAGS) -o $@ -I +compiler-libs ocamloptcomp.cmxa $(CAML_CMX) $(CAMLLEX_CMX) $(CMX)
+- strip ocamlweb
+
+ ocamlweb.byte: $(CAML_CMO) $(CAMLLEX_CMO) $(CMO)
+ $(CAMLC) $(BYTEFLAGS) -o $@ $(CAML_CMO) $(CAMLLEX_CMO) $(CMO)
+
+ ocamlweb.static: $(CAML_CMX) $(CAMLLEX_CMX) $(CMX)
+ $(CAMLCOPT) $(OPTFLAGS) -cclib -static -o $@ $(CAML_CMX) $(CAMLLEX_CMX) $(CMX)
+- strip $@
+
+ debug: $(CAML_CMO) $(CAMLLEX_CMO) $(CMO)
+ $(CAMLC) $(BYTEFLAGS) -o ocamlweb-debug $(CAML_CMO) $(CAMLLEX_CMO) $(CMO)
diff --git a/dev-ml/ocamlweb/metadata.xml b/dev-ml/ocamlweb/metadata.xml
index 6f49eba8f496..a4f6be63adba 100644
--- a/dev-ml/ocamlweb/metadata.xml
+++ b/dev-ml/ocamlweb/metadata.xml
@@ -1,5 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
</pkgmetadata>
diff --git a/dev-ml/ocamlweb/ocamlweb-1.41.ebuild b/dev-ml/ocamlweb/ocamlweb-1.41.ebuild
new file mode 100644
index 000000000000..1024343cc3c3
--- /dev/null
+++ b/dev-ml/ocamlweb/ocamlweb-1.41.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit latex-package
+
+DESCRIPTION="O'Caml literate programming tool"
+HOMEPAGE="https://www.lri.fr/~filliatr/ocamlweb/"
+SRC_URI="https://www.lri.fr/~filliatr/ftp/ocamlweb/${P}.tar.gz"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86"
+
+DEPEND=">=dev-lang/ocaml-4.08.0:=
+ virtual/latex-base
+ dev-texlive/texlive-latexextra
+ "
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.41-strip.patch"
+ "${FILESDIR}/${PN}-1.41-ocaml-4.08.0.patch"
+ )
+
+src_compile() {
+ emake
+}
+
+src_install() {
+ emake UPDATETEX="" prefix="${D}/usr" MANDIR="${D}/usr/share/man" BASETEXDIR="${D}/${TEXMF}" install
+ dodoc README CHANGES
+}
diff --git a/dev-ml/ocplib-endian/Manifest b/dev-ml/ocplib-endian/Manifest
index 8add618f0052..92e1b8109075 100644
--- a/dev-ml/ocplib-endian/Manifest
+++ b/dev-ml/ocplib-endian/Manifest
@@ -1 +1,2 @@
DIST ocplib-endian-1.0.tar.gz 62753 BLAKE2B d343343eb22b7ff591219ad0d45502e3450cd4200d8f3cc7f8a4783bdd93752d015b686b57aa574f58344dc44cec751ba89e68f93770ca5df73a98d95a604b8d SHA512 a08fd58ec5e72510c40e8b75e0ee8327ee658f479e45dd4632bc04e3907d04aaa3684df3b993ab63fc2a6c1f1a4fb32784e9b5258730d3b89a716300522d8d7f
+DIST ocplib-endian-1.1.tar.gz 17544 BLAKE2B 62e4b1cb998ac00fd3cfd7178939b6c9f8c1bebe7c0dc072fbb45b79172cb07f4466e5f1e6e93b41e3fb8c3df8020d2033eb24abfec4906d3ad003fa22bdcd27 SHA512 39351c666d1394770696fa89ac62f7c137ad1697d99888bfba2cc8de2c61df05dd8b3aa327c117bf38f3e29e081026d2c575c5ad0022bde92b3d43aba577d3f9
diff --git a/dev-ml/ocplib-endian/metadata.xml b/dev-ml/ocplib-endian/metadata.xml
index 97705efc3173..79e925f71327 100644
--- a/dev-ml/ocplib-endian/metadata.xml
+++ b/dev-ml/ocplib-endian/metadata.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
- <upstream>
- <remote-id type="github">OCamlPro/ocplib-endian</remote-id>
- </upstream>
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">OCamlPro/ocplib-endian</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-ml/ocplib-endian/ocplib-endian-1.1.ebuild b/dev-ml/ocplib-endian/ocplib-endian-1.1.ebuild
new file mode 100644
index 000000000000..92a15b5de084
--- /dev/null
+++ b/dev-ml/ocplib-endian/ocplib-endian-1.1.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="Functions to read and write int16/32/64 from strings, bytes, and bigarrays"
+HOMEPAGE="https://github.com/OCamlPro/ocplib-endian"
+SRC_URI="https://github.com/OCamlPro/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1-with-linking-exception"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="+ocamlopt"
+
+# 2 of 70 tests fail
+RESTRICT=test
+
+DEPEND="
+ >=dev-ml/cppo-1.1.0
+"
+RDEPEND=""
diff --git a/dev-ml/octavius/Manifest b/dev-ml/octavius/Manifest
index 43e1d879e4fa..d3c65a9c2059 100644
--- a/dev-ml/octavius/Manifest
+++ b/dev-ml/octavius/Manifest
@@ -1 +1,2 @@
DIST octavius-1.1.0.tar.gz 13767 BLAKE2B ad6f7a252ff853eb26348ce66cfa6ce9afdc4a4655d4f0c79e0f5e1ab354bfed62da396c312ca8b402ebf116a5be70afce7b26810723c2b27be37656bc63406f SHA512 db1f7da7af07d9ff1a4b1c51dbd2861e4dddab13958e7bccdd0c42494fa95f0b4277b222652ef73198f5aeb2ac44de4204459c7d1085810864958da251d5ec09
+DIST octavius-1.2.2.tar.gz 14910 BLAKE2B ad2c6cc274e205918276ed8ab58032ce3f5fb5d564c1ad7cc33c2d73accf1952e972899bd872b9bcb190fcfa223ee4de7f74fbeba44720b3fe78725d1d4d2561 SHA512 57e40f0bd03599bf0b14d85b29bef2214f9b9393917c0a65acf60cf028fe028a730a804f3c0101fee1378cacd4feb7a4f2df3c8411ceeb6bb34d47f849b7a55e
diff --git a/dev-ml/octavius/metadata.xml b/dev-ml/octavius/metadata.xml
index fbaf2f9f38c4..365c9666dff4 100644
--- a/dev-ml/octavius/metadata.xml
+++ b/dev-ml/octavius/metadata.xml
@@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
<upstream>
<remote-id type="github">ocaml-doc/octavius</remote-id>
</upstream>
diff --git a/dev-ml/octavius/octavius-1.2.2.ebuild b/dev-ml/octavius/octavius-1.2.2.ebuild
new file mode 100644
index 000000000000..fb28159d4a13
--- /dev/null
+++ b/dev-ml/octavius/octavius-1.2.2.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="ocamldoc comment syntax parser"
+HOMEPAGE="https://github.com/ocaml-doc/octavius"
+SRC_URI="https://github.com/ocaml-doc/octavius/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="ISC"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="+ocamlopt"
+
+RDEPEND=""
+DEPEND="${DEPEND}"
diff --git a/dev-ml/opam-client/Manifest b/dev-ml/opam-client/Manifest
new file mode 100644
index 000000000000..db4db56c08eb
--- /dev/null
+++ b/dev-ml/opam-client/Manifest
@@ -0,0 +1 @@
+DIST opam-2.0.7.tar.gz 636708 BLAKE2B 2824a5c53f4103c267f99ae10f55df740b3afcc033321e888133817c0e53c4a8fc31738338df3d6d9ff8755987e85ade4a4726be98f77b06b81ffc1476d02c3d SHA512 2ade3998a94333a5a838b55e229ab0c707e678481cae892980b986fb86f39163070a9b7d3e0e87879cd57b91a33bf6a3e15f3786c3510a635e59383782218f1d
diff --git a/dev-ml/opam-client/metadata.xml b/dev-ml/opam-client/metadata.xml
new file mode 100644
index 000000000000..970e090f0dfd
--- /dev/null
+++ b/dev-ml/opam-client/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">ocaml/opam</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-ml/opam-client/opam-client-2.0.7.ebuild b/dev-ml/opam-client/opam-client-2.0.7.ebuild
new file mode 100644
index 000000000000..7932e576226b
--- /dev/null
+++ b/dev-ml/opam-client/opam-client-2.0.7.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="opam client libraries"
+HOMEPAGE="https://opam.ocaml.org/ https://github.com/ocaml/opam"
+SRC_URI="https://github.com/ocaml/opam/archive/${PV/_/-}.tar.gz -> opam-${PV}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64"
+IUSE="+ocamlopt"
+
+RDEPEND="
+ dev-ml/opam-state:=
+ dev-ml/opam-file-format:=
+ dev-ml/re:=
+ dev-ml/opam-solver:=
+ dev-ml/cmdliner:=
+"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/opam-${PV/_/-}"
+
+src_prepare() {
+ default
+ cat <<- EOF >> "${S}/dune"
+ (env
+ (dev
+ (flags (:standard -warn-error -3-9-33)))
+ (release
+ (flags (:standard -warn-error -3-9-33))))
+ EOF
+}
diff --git a/dev-ml/opam-core/Manifest b/dev-ml/opam-core/Manifest
new file mode 100644
index 000000000000..db4db56c08eb
--- /dev/null
+++ b/dev-ml/opam-core/Manifest
@@ -0,0 +1 @@
+DIST opam-2.0.7.tar.gz 636708 BLAKE2B 2824a5c53f4103c267f99ae10f55df740b3afcc033321e888133817c0e53c4a8fc31738338df3d6d9ff8755987e85ade4a4726be98f77b06b81ffc1476d02c3d SHA512 2ade3998a94333a5a838b55e229ab0c707e678481cae892980b986fb86f39163070a9b7d3e0e87879cd57b91a33bf6a3e15f3786c3510a635e59383782218f1d
diff --git a/dev-ml/opam-core/metadata.xml b/dev-ml/opam-core/metadata.xml
new file mode 100644
index 000000000000..970e090f0dfd
--- /dev/null
+++ b/dev-ml/opam-core/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">ocaml/opam</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-ml/opam-core/opam-core-2.0.7.ebuild b/dev-ml/opam-core/opam-core-2.0.7.ebuild
new file mode 100644
index 000000000000..6834f2d578d6
--- /dev/null
+++ b/dev-ml/opam-core/opam-core-2.0.7.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+# We are opam
+OPAM_INSTALLER_DEP=" "
+
+inherit opam
+
+DESCRIPTION="Core libraries for opam"
+HOMEPAGE="https://opam.ocaml.org/ https://github.com/ocaml/opam"
+SRC_URI="https://github.com/ocaml/opam/archive/${PV/_/-}.tar.gz -> opam-${PV}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE=""
+
+RDEPEND="
+ dev-ml/ocamlgraph:=
+ dev-ml/re:=
+ dev-ml/opam-file-format:=
+ dev-ml/cmdliner:=
+"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/opam-${PV/_/-}"
+OPAM_INSTALLER="${S}/opam-installer"
+
+src_prepare() {
+ default
+ cat <<- EOF >> "${S}/dune"
+ (env
+ (dev
+ (flags (:standard -warn-error -3-9)))
+ (release
+ (flags (:standard -warn-error -3-9))))
+ EOF
+}
+
+src_compile() {
+ emake -j1 opam-installer
+ emake -j1 ${PN}.install
+}
diff --git a/dev-ml/opam-file-format/Manifest b/dev-ml/opam-file-format/Manifest
new file mode 100644
index 000000000000..a0c353046409
--- /dev/null
+++ b/dev-ml/opam-file-format/Manifest
@@ -0,0 +1 @@
+DIST opam-file-format-2.1.0.tar.gz 23233 BLAKE2B 34d832c5ee13a0db43e77f3b33e7728faa7dccccc8daed50dca89630ab11d6f307413b8fecfef5a7c3e0f7ea04ef27105c8f42d8b5227d2587bdc2c2defe59d3 SHA512 b948545497de0386457a9b5772924572249e38164aa49d5ab2ac9442d1231a56a3b8132a95197d74cbbe34336a7edc04eaca351a8763c4a009a512085ca0ab25
diff --git a/dev-ml/opam-file-format/metadata.xml b/dev-ml/opam-file-format/metadata.xml
new file mode 100644
index 000000000000..bd15aa2f0672
--- /dev/null
+++ b/dev-ml/opam-file-format/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">ocaml/opam-file-format</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-ml/opam-file-format/opam-file-format-2.1.0.ebuild b/dev-ml/opam-file-format/opam-file-format-2.1.0.ebuild
new file mode 100644
index 000000000000..3adeb20ac869
--- /dev/null
+++ b/dev-ml/opam-file-format/opam-file-format-2.1.0.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit findlib
+
+MY_PV="${PV/_beta/-beta}"
+MY_PV="${MY_PV/_rc/-rc}"
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+DESCRIPTION="Parser and printer for the opam file syntax"
+HOMEPAGE="https://github.com/ocaml/opam-file-format"
+SRC_URI="https://github.com/ocaml/opam-file-format/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86"
+IUSE="+ocamlopt"
+
+DEPEND="dev-lang/ocaml:=[ocamlopt?]"
+RDEPEND="${DEPEND}"
+
+src_compile() {
+ emake byte $(usex ocamlopt native "")
+}
+
+src_install() {
+ emake DESTDIR="${D}" PREFIX="${EPREFIX}/usr" LIBDIR="$(ocamlc -where)" install
+}
diff --git a/dev-ml/opam-format/Manifest b/dev-ml/opam-format/Manifest
new file mode 100644
index 000000000000..db4db56c08eb
--- /dev/null
+++ b/dev-ml/opam-format/Manifest
@@ -0,0 +1 @@
+DIST opam-2.0.7.tar.gz 636708 BLAKE2B 2824a5c53f4103c267f99ae10f55df740b3afcc033321e888133817c0e53c4a8fc31738338df3d6d9ff8755987e85ade4a4726be98f77b06b81ffc1476d02c3d SHA512 2ade3998a94333a5a838b55e229ab0c707e678481cae892980b986fb86f39163070a9b7d3e0e87879cd57b91a33bf6a3e15f3786c3510a635e59383782218f1d
diff --git a/dev-ml/opam-format/metadata.xml b/dev-ml/opam-format/metadata.xml
new file mode 100644
index 000000000000..970e090f0dfd
--- /dev/null
+++ b/dev-ml/opam-format/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">ocaml/opam</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-ml/opam-format/opam-format-2.0.7.ebuild b/dev-ml/opam-format/opam-format-2.0.7.ebuild
new file mode 100644
index 000000000000..707e7f657954
--- /dev/null
+++ b/dev-ml/opam-format/opam-format-2.0.7.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+# We are opam
+OPAM_INSTALLER_DEP=" "
+
+inherit opam
+
+DESCRIPTION="Core libraries for opam"
+HOMEPAGE="https://opam.ocaml.org/ https://github.com/ocaml/opam"
+SRC_URI="https://github.com/ocaml/opam/archive/${PV/_/-}.tar.gz -> opam-${PV}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE=""
+
+RDEPEND="
+ dev-ml/opam-core:=
+ dev-ml/re:=
+ dev-ml/opam-file-format:=
+"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/opam-${PV/_/-}"
+OPAM_INSTALLER="${S}/opam-installer"
+
+src_prepare() {
+ default
+ cat <<- EOF >> "${S}/dune"
+ (env
+ (dev
+ (flags (:standard -warn-error -3-9)))
+ (release
+ (flags (:standard -warn-error -3-9))))
+ EOF
+}
+
+src_compile() {
+ emake -j1 opam-installer
+ emake -j1 ${PN}.install
+}
diff --git a/dev-ml/opam-installer/Manifest b/dev-ml/opam-installer/Manifest
new file mode 100644
index 000000000000..b9416004a3a1
--- /dev/null
+++ b/dev-ml/opam-installer/Manifest
@@ -0,0 +1 @@
+DIST opam-full-2.0.7.tar.gz 7929123 BLAKE2B 100acc2c31e97e47b0b584f3a153283593351d49d5e9cdaca42fdcc025b135d9538bd327927950e7e0972b20f561a0ee3d1d1b5b4b87e1e6af31761e311081e7 SHA512 670af4935bba0679c65f6592b7a52b1d429b604eb261e40b13cf72312aeb0bab0c5a76829a555fc5379a0371c352692cbabc46b460fcd9bf32b3cfebdaeceb81
diff --git a/dev-ml/opam-installer/metadata.xml b/dev-ml/opam-installer/metadata.xml
new file mode 100644
index 000000000000..970e090f0dfd
--- /dev/null
+++ b/dev-ml/opam-installer/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">ocaml/opam</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-ml/opam-installer/opam-installer-2.0.7.ebuild b/dev-ml/opam-installer/opam-installer-2.0.7.ebuild
new file mode 100644
index 000000000000..c95fa47e7079
--- /dev/null
+++ b/dev-ml/opam-installer/opam-installer-2.0.7.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+# We are opam
+OPAM_INSTALLER_DEP=" "
+OPAM_SKIP_VALIDATION=yes
+
+inherit opam
+
+DESCRIPTION="Core installer for opam packages"
+HOMEPAGE="https://opam.ocaml.org/ https://github.com/ocaml/opam"
+SRC_URI="https://github.com/ocaml/opam/releases/download/${PV}/opam-full-${PV}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86"
+IUSE=""
+
+DEPEND=">=dev-lang/ocaml-4.02.3"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/opam-full-${PV/_/-}"
+OPAM_INSTALLER="${S}/opam-installer"
+
+src_configure() {
+ econf \
+ --prefix="${EPREFIX}/usr" \
+ --with-mccs \
+ --docdir="${EPREFIX}/usr/share/doc/${PF}" \
+ --mandir="${EPREFIX}/usr/share/man"
+}
+
+src_compile() {
+ sed -e 's/DUNE = .*$/DUNE = /' -i Makefile.config
+ emake lib-ext
+ #passing -jX to the dune build leads to errors
+ #see: https://github.com/ocaml/opam/issues/3585
+ emake DUNE_PROMOTE_ARG="" -j1
+}
diff --git a/dev-ml/opam-repository/Manifest b/dev-ml/opam-repository/Manifest
new file mode 100644
index 000000000000..db4db56c08eb
--- /dev/null
+++ b/dev-ml/opam-repository/Manifest
@@ -0,0 +1 @@
+DIST opam-2.0.7.tar.gz 636708 BLAKE2B 2824a5c53f4103c267f99ae10f55df740b3afcc033321e888133817c0e53c4a8fc31738338df3d6d9ff8755987e85ade4a4726be98f77b06b81ffc1476d02c3d SHA512 2ade3998a94333a5a838b55e229ab0c707e678481cae892980b986fb86f39163070a9b7d3e0e87879cd57b91a33bf6a3e15f3786c3510a635e59383782218f1d
diff --git a/dev-ml/opam-repository/metadata.xml b/dev-ml/opam-repository/metadata.xml
new file mode 100644
index 000000000000..970e090f0dfd
--- /dev/null
+++ b/dev-ml/opam-repository/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">ocaml/opam</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-ml/opam-repository/opam-repository-2.0.7.ebuild b/dev-ml/opam-repository/opam-repository-2.0.7.ebuild
new file mode 100644
index 000000000000..c9a82d48c78c
--- /dev/null
+++ b/dev-ml/opam-repository/opam-repository-2.0.7.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="opam repository libraries"
+HOMEPAGE="https://opam.ocaml.org/ https://github.com/ocaml/opam"
+SRC_URI="https://github.com/ocaml/opam/archive/${PV/_/-}.tar.gz -> opam-${PV}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64"
+IUSE="+ocamlopt"
+
+RDEPEND="
+ dev-ml/opam-format:=
+ dev-ml/re:=
+ dev-ml/dose3:=
+ dev-ml/opam-file-format:=
+"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/opam-${PV/_/-}"
+RESTRICT="test"
+
+src_prepare() {
+ default
+ cat <<- EOF >> "${S}/dune"
+ (env
+ (dev
+ (flags (:standard -warn-error -3-9-33)))
+ (release
+ (flags (:standard -warn-error -3-9-33))))
+ EOF
+}
diff --git a/dev-ml/opam-solver/Manifest b/dev-ml/opam-solver/Manifest
new file mode 100644
index 000000000000..db4db56c08eb
--- /dev/null
+++ b/dev-ml/opam-solver/Manifest
@@ -0,0 +1 @@
+DIST opam-2.0.7.tar.gz 636708 BLAKE2B 2824a5c53f4103c267f99ae10f55df740b3afcc033321e888133817c0e53c4a8fc31738338df3d6d9ff8755987e85ade4a4726be98f77b06b81ffc1476d02c3d SHA512 2ade3998a94333a5a838b55e229ab0c707e678481cae892980b986fb86f39163070a9b7d3e0e87879cd57b91a33bf6a3e15f3786c3510a635e59383782218f1d
diff --git a/dev-ml/opam-solver/metadata.xml b/dev-ml/opam-solver/metadata.xml
new file mode 100644
index 000000000000..970e090f0dfd
--- /dev/null
+++ b/dev-ml/opam-solver/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">ocaml/opam</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-ml/opam-solver/opam-solver-2.0.7.ebuild b/dev-ml/opam-solver/opam-solver-2.0.7.ebuild
new file mode 100644
index 000000000000..392000ef9f25
--- /dev/null
+++ b/dev-ml/opam-solver/opam-solver-2.0.7.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="opam solver"
+HOMEPAGE="https://opam.ocaml.org/ https://github.com/ocaml/opam"
+SRC_URI="https://github.com/ocaml/opam/archive/${PV/_/-}.tar.gz -> opam-${PV}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64"
+IUSE="+ocamlopt test"
+
+RDEPEND="
+ dev-ml/opam-format:=
+ dev-ml/opam-file-format:=
+ dev-ml/re:=
+ >=dev-ml/mccs-1.1.4:=
+ dev-ml/dose3:=
+ dev-ml/cudf:=
+"
+DEPEND="${RDEPEND}
+ test? ( dev-ml/opam-client )"
+
+S="${WORKDIR}/opam-${PV/_/-}"
+
+src_prepare() {
+ default
+ cat <<- EOF >> "${S}/dune"
+ (env
+ (dev
+ (flags (:standard -warn-error -3-9-33)))
+ (release
+ (flags (:standard -warn-error -3-9-33))))
+ EOF
+}
diff --git a/dev-ml/opam-state/Manifest b/dev-ml/opam-state/Manifest
new file mode 100644
index 000000000000..db4db56c08eb
--- /dev/null
+++ b/dev-ml/opam-state/Manifest
@@ -0,0 +1 @@
+DIST opam-2.0.7.tar.gz 636708 BLAKE2B 2824a5c53f4103c267f99ae10f55df740b3afcc033321e888133817c0e53c4a8fc31738338df3d6d9ff8755987e85ade4a4726be98f77b06b81ffc1476d02c3d SHA512 2ade3998a94333a5a838b55e229ab0c707e678481cae892980b986fb86f39163070a9b7d3e0e87879cd57b91a33bf6a3e15f3786c3510a635e59383782218f1d
diff --git a/dev-ml/opam-state/metadata.xml b/dev-ml/opam-state/metadata.xml
new file mode 100644
index 000000000000..970e090f0dfd
--- /dev/null
+++ b/dev-ml/opam-state/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">ocaml/opam</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-ml/opam-state/opam-state-2.0.7.ebuild b/dev-ml/opam-state/opam-state-2.0.7.ebuild
new file mode 100644
index 000000000000..b7cf8888bd49
--- /dev/null
+++ b/dev-ml/opam-state/opam-state-2.0.7.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="opam state libraries"
+HOMEPAGE="https://opam.ocaml.org/ https://github.com/ocaml/opam"
+SRC_URI="https://github.com/ocaml/opam/archive/${PV/_/-}.tar.gz -> opam-${PV}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64"
+IUSE="+ocamlopt"
+
+RDEPEND="
+ dev-ml/opam-repository:=
+ dev-ml/re:=
+ dev-ml/opam-file-format:=
+"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/opam-${PV/_/-}"
+RESTRICT="test"
+
+src_prepare() {
+ default
+ cat <<- EOF >> "${S}/dune"
+ (env
+ (dev
+ (flags (:standard -warn-error -3-9-33)))
+ (release
+ (flags (:standard -warn-error -3-9-33))))
+ EOF
+}
diff --git a/dev-ml/opam/Manifest b/dev-ml/opam/Manifest
index 360c3df63cfc..9556c2492a09 100644
--- a/dev-ml/opam/Manifest
+++ b/dev-ml/opam/Manifest
@@ -1 +1,2 @@
DIST opam-1.3.1.tar.gz 669485 BLAKE2B e1aed54175d46f5dd9fd989e56c25657370356e26df6976c01dd089e381291fa04e25da295104f85d513010cd028276d80ebf7a4a77b38f3e089e52f4e64f43a SHA512 d075c9b2c9670d712f29bd2df34b8020da52041fa2bbef599cb54a81f63554507d78bebece45ecf668d3d1d4ed514e4ab88a1d86b64088d283bca7a8e75ae582
+DIST opam-2.0.7.tar.gz 636708 BLAKE2B 2824a5c53f4103c267f99ae10f55df740b3afcc033321e888133817c0e53c4a8fc31738338df3d6d9ff8755987e85ade4a4726be98f77b06b81ffc1476d02c3d SHA512 2ade3998a94333a5a838b55e229ab0c707e678481cae892980b986fb86f39163070a9b7d3e0e87879cd57b91a33bf6a3e15f3786c3510a635e59383782218f1d
diff --git a/dev-ml/opam/metadata.xml b/dev-ml/opam/metadata.xml
index 9d94a67c8e6c..970e090f0dfd 100644
--- a/dev-ml/opam/metadata.xml
+++ b/dev-ml/opam/metadata.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
- <upstream>
- <remote-id type="github">ocaml/opam</remote-id>
- </upstream>
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">ocaml/opam</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-ml/opam/opam-2.0.7.ebuild b/dev-ml/opam/opam-2.0.7.ebuild
new file mode 100644
index 000000000000..4fa567962d7a
--- /dev/null
+++ b/dev-ml/opam/opam-2.0.7.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="A source-based package manager for OCaml"
+HOMEPAGE="http://opam.ocaml.org/"
+SRC_URI="https://github.com/ocaml/opam/archive/${PV/_/-}.tar.gz -> opam-${PV}.tar.gz"
+LICENSE="LGPL-2.1-with-linking-exception"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64"
+IUSE="+ocamlopt"
+
+RDEPEND="
+ dev-ml/cmdliner:=
+ dev-ml/cudf:=
+ dev-ml/dose3:=
+ dev-ml/extlib:=
+ dev-ml/opam-client:=
+ dev-ml/opam-file-format:=
+ dev-ml/re:="
+
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/opam-${PV/_/-}"
+
+src_prepare() {
+ default
+ cat <<- EOF >> "${S}/dune"
+ (env
+ (dev
+ (flags (:standard -warn-error -3-9-33)))
+ (release
+ (flags (:standard -warn-error -3-9-33))))
+ EOF
+}
diff --git a/dev-ml/ounit2/Manifest b/dev-ml/ounit2/Manifest
new file mode 100644
index 000000000000..1110f73cdc23
--- /dev/null
+++ b/dev-ml/ounit2/Manifest
@@ -0,0 +1 @@
+DIST ounit-v2.2.3.tbz 57449 BLAKE2B cf4742c4800ff66551416e243285ae0264f94d1665f795039cd37ad717b09fa3ba5cdfb2380169dfcddea5a27a82373ae892adf11155147a081d734091bf39d8 SHA512 dff04859d263e5f80a1606156d07493d0320a2756d0a7f134c63c53078550c7b056587486922bc66a288413af30c59a7e47157636502c6dd10626cf75587f981
diff --git a/dev-ml/ounit2/metadata.xml b/dev-ml/ounit2/metadata.xml
new file mode 100644
index 000000000000..3084165d7481
--- /dev/null
+++ b/dev-ml/ounit2/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">gildor478/ounit</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-ml/ounit2/ounit2-2.2.3.ebuild b/dev-ml/ounit2/ounit2-2.2.3.ebuild
new file mode 100644
index 000000000000..cd2e966fe700
--- /dev/null
+++ b/dev-ml/ounit2/ounit2-2.2.3.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="Unit testing framework for OCaml"
+HOMEPAGE="https://github.com/gildor478/ounit"
+SRC_URI="https://github.com/gildor478/ounit/releases/download/v${PV}/ounit-v${PV}.tbz"
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+DEPEND="
+ dev-ml/lwt:=
+ dev-ml/stdlib-shims:=
+"
+RDEPEND="${DEPEND}"
+BDEPEND=""
+IUSE="+ocamlopt"
+
+S="${WORKDIR}/ounit-v${PV}"
diff --git a/dev-ml/parsexp/Manifest b/dev-ml/parsexp/Manifest
new file mode 100644
index 000000000000..36d1d62ef689
--- /dev/null
+++ b/dev-ml/parsexp/Manifest
@@ -0,0 +1 @@
+DIST parsexp-0.14.0.tar.gz 48617 BLAKE2B eba36c17f08b59ed7601c4f9906e80de45e377d0134fdee30b5536c3d91af0cb45a1cdab90333498da8bf3fcf5e5bea16a8f734e7f1a92c9b865cd3136a668c2 SHA512 d9e9ea936dcf23d700e6ddd4153a2a96df6819094eaebe15d949c4569fa5125ab308af2c10f4ba2161610d8673eeb3928dd19c10a21974c140e4c89537a86575
diff --git a/dev-ml/parsexp/metadata.xml b/dev-ml/parsexp/metadata.xml
new file mode 100644
index 000000000000..45889fd58f9d
--- /dev/null
+++ b/dev-ml/parsexp/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">janestreet/parsexp</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-ml/parsexp/parsexp-0.14.0.ebuild b/dev-ml/parsexp/parsexp-0.14.0.ebuild
new file mode 100644
index 000000000000..e8c21c548d86
--- /dev/null
+++ b/dev-ml/parsexp/parsexp-0.14.0.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="S-expression parsing library "
+HOMEPAGE="https://github.com/janestreet/parsexp"
+SRC_URI="https://github.com/janestreet/parsexp/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="+ocamlopt"
+
+RDEPEND="
+ dev-ml/sexplib0:=
+ dev-ml/base:=
+"
+DEPEND="${RDEPEND}"
diff --git a/dev-ml/ppx_assert/Manifest b/dev-ml/ppx_assert/Manifest
index c5ef535aaafb..6df7f4f0d9a9 100644
--- a/dev-ml/ppx_assert/Manifest
+++ b/dev-ml/ppx_assert/Manifest
@@ -1 +1,2 @@
+DIST ppx_assert-0.14.0.tar.gz 7239 BLAKE2B 730d1cceee88728291473e73120cc1ae19477927c8f5e20b1a455ab78e34c5917907a60e03ea7d2b898ccb99e42755f1ad918d7fa59ae64bac84fd8356af7647 SHA512 b8ae4a1f08e9110f0809f98d1e0126d50101db7c5b87aa166294aed29df420a079fd2c0797c2888718acd8cd4f2aaaa98f0c445e5fb1423325cc89801e7d52b1
DIST ppx_assert-0.9.0.tar.gz 9419 BLAKE2B 7e6ea363182ce3f057e54ae54e2d7b3236d909a748c74ee79209d97de001bf1df1934bccc95bf93e674aedd5c5f5029748747242acb1246f1f08a02f8b9b6309 SHA512 4debf617f1b0244d306b65d72cbf04f4a820a8d9433180d462ff462d2bf6eb01643897cc35de75d435fedfa1bf8266263c0e73328f02b5c957a3423eb535925f
diff --git a/dev-ml/ppx_assert/metadata.xml b/dev-ml/ppx_assert/metadata.xml
index 40b93dd331cd..b83f7118873b 100644
--- a/dev-ml/ppx_assert/metadata.xml
+++ b/dev-ml/ppx_assert/metadata.xml
@@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
<upstream>
<remote-id type="github">janestreet/ppx_assert</remote-id>
</upstream>
diff --git a/dev-ml/ppx_assert/ppx_assert-0.14.0.ebuild b/dev-ml/ppx_assert/ppx_assert-0.14.0.ebuild
new file mode 100644
index 000000000000..8b49e9bb3e83
--- /dev/null
+++ b/dev-ml/ppx_assert/ppx_assert-0.14.0.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="Assert-like extension nodes that raise useful errors on failure"
+HOMEPAGE="https://github.com/janestreet/ppx_assert"
+SRC_URI="https://github.com/janestreet/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="+ocamlopt"
+
+DEPEND="
+ dev-ml/base:=
+ dev-ml/ppx_cold:=
+ dev-ml/ppx_compare:=
+ dev-ml/ppx_here:=
+ dev-ml/ppx_sexp_conv:=
+ dev-ml/ppxlib:=
+ dev-ml/ocaml-migrate-parsetree:=
+ dev-ml/result:=
+"
+RDEPEND="${DEPEND}"
diff --git a/dev-ml/ppx_base/Manifest b/dev-ml/ppx_base/Manifest
index 94668780256a..de910581bf9c 100644
--- a/dev-ml/ppx_base/Manifest
+++ b/dev-ml/ppx_base/Manifest
@@ -1 +1,2 @@
+DIST ppx_base-0.14.0.tar.gz 2953 BLAKE2B d62187d4b359dab01f88054ffb53a434402af022849a633749f3d60b625967a30b6c2ef58b838ef2ee6261d675da60f03d062ae1dc8391d5a4f0bb9cb3d719b0 SHA512 d41f36e3ddec7bdffaa93d8ec4110a197ef4d4af4f9173e060b0f1c5d9c95a33ee13379e41dc027f1103faea3b8ec4e314387b0844a7fcb78d0770ffa44c99e8
DIST ppx_base-0.9.0.tar.gz 5255 BLAKE2B ba5d1670ba0da8c13c30dab65885cb9d406d7259ca57841867f4b2c7720f8202fb34074b5bc8f03cb0858427c79e61d4a33098c846c61ebcc98d40799ced9274 SHA512 660f6b210eb6d7bd33c279ffa8bbf01c21b9db5d7827cf6fded8c52e8d4f2f5468a76c2eab86c2b868ac859bbc81db7189c71ccc1701bf57030f82d8eda4339e
diff --git a/dev-ml/ppx_base/metadata.xml b/dev-ml/ppx_base/metadata.xml
index 7f767d650dc4..9949f15ae8cc 100644
--- a/dev-ml/ppx_base/metadata.xml
+++ b/dev-ml/ppx_base/metadata.xml
@@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
<upstream>
<remote-id type="github">janestreet/ppx_base</remote-id>
</upstream>
diff --git a/dev-ml/ppx_base/ppx_base-0.14.0.ebuild b/dev-ml/ppx_base/ppx_base-0.14.0.ebuild
new file mode 100644
index 000000000000..f5147aae0610
--- /dev/null
+++ b/dev-ml/ppx_base/ppx_base-0.14.0.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="Base set of ppx rewriters"
+HOMEPAGE="https://github.com/janestreet/ppx_base"
+SRC_URI="https://github.com/janestreet/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64"
+IUSE="+ocamlopt"
+
+DEPEND="
+ dev-ml/ppx_compare:=
+ dev-ml/ppx_enumerate:=
+ dev-ml/ppx_hash:=
+ dev-ml/ppx_js_style:=
+ dev-ml/ppx_sexp_conv:=
+ dev-ml/ppx_cold:=
+ dev-ml/ocaml-migrate-parsetree:=
+ dev-ml/ppxlib:=
+"
+RDEPEND="${DEPEND}"
diff --git a/dev-ml/ppx_bench/Manifest b/dev-ml/ppx_bench/Manifest
index c69dda276198..eeb873193712 100644
--- a/dev-ml/ppx_bench/Manifest
+++ b/dev-ml/ppx_bench/Manifest
@@ -1 +1,2 @@
+DIST ppx_bench-0.14.1.tar.gz 9132 BLAKE2B d8590c0b80bbde553ec28514017df6f5deaf93fc693f3c1f102a0ad1f7e616a9308b51d0fb2535f1f8279ddfb9760bdf6b546acaa06bf6181848b3f93771061d SHA512 f359ebf33b1efe91dad9c844a16a0629cd079423a10da39d093af1e1d3c94872328de9a9272a741bf8f4bca5945556d5bc70a0f8994886a934eb933959c5db63
DIST ppx_bench-0.9.1.tar.gz 11097 BLAKE2B cdf7cd97a1ce702c75aa87a717b5d7905931571c0b000cef5a4af29e18f15c22adbf4882ef5453ddd97def6b5ea7885835dc69237e70e13138670a5ced4c966b SHA512 1963525719178e34f50ee8dbe3cabe8582ffc08835e542d1ae593d6a250d4f841be53c96fbc203d620e11f9ad2a9f591e545656c3b254bd60db614ec1e06947d
diff --git a/dev-ml/ppx_bench/metadata.xml b/dev-ml/ppx_bench/metadata.xml
index 04fcf9da109a..8101d49c7a8c 100644
--- a/dev-ml/ppx_bench/metadata.xml
+++ b/dev-ml/ppx_bench/metadata.xml
@@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
<upstream>
<remote-id type="github">janestreet/ppx_bench</remote-id>
</upstream>
diff --git a/dev-ml/ppx_bench/ppx_bench-0.14.1.ebuild b/dev-ml/ppx_bench/ppx_bench-0.14.1.ebuild
new file mode 100644
index 000000000000..ca335f8eea76
--- /dev/null
+++ b/dev-ml/ppx_bench/ppx_bench-0.14.1.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="Syntax extension for writing in-line benchmarks in ocaml code"
+HOMEPAGE="https://github.com/janestreet/ppx_bench"
+SRC_URI="https://github.com/janestreet/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+IUSE="+ocamlopt"
+
+DEPEND="
+ dev-ml/ppx_inline_test:=
+ dev-ml/ppxlib:=
+ dev-ml/stdio:=
+ dev-ml/ocaml-migrate-parsetree:=
+ dev-ml/result:=
+"
+RDEPEND="${DEPEND}"
diff --git a/dev-ml/ppx_bin_prot/Manifest b/dev-ml/ppx_bin_prot/Manifest
index 607ba8a10fe6..becb10f7494c 100644
--- a/dev-ml/ppx_bin_prot/Manifest
+++ b/dev-ml/ppx_bin_prot/Manifest
@@ -1 +1,2 @@
+DIST ppx_bin_prot-0.14.0.tar.gz 36642 BLAKE2B 6a80f574fad5e3ba2bb1adad8e6af86a9bd463ab7ed8976901234694a56f9e17c04ccc74f0bd4a18c75f1a4ccd81848218078bb387f8ff2f5df337c5f2492226 SHA512 7d61624d18fd76daed5a5d60d16ac0a3fd658ef650ee6ae4b65346e96d1718a044deb3ca6fbb63c69176505f64d0d1b6becd8419061cfb69466d45e16964329b
DIST ppx_bin_prot-0.9.0.tar.gz 35234 BLAKE2B 883e7d8b3919d640408fd1efa22df6656d1146d2771313ee29bda287f8ec412b4acdabebb8ea3548918370a6048543b93e17b22141ac672a4b8c628d0c678844 SHA512 f900741f4caeec86ec9d73a086ffeec21789bdd99ca7b09a808a3e281038d587c9c326cc1217957fcd828c4e1da5902f6dee3bf4ba7a22feca5424573215a00c
diff --git a/dev-ml/ppx_bin_prot/metadata.xml b/dev-ml/ppx_bin_prot/metadata.xml
index 7a2f01fd7a1f..1854dc854561 100644
--- a/dev-ml/ppx_bin_prot/metadata.xml
+++ b/dev-ml/ppx_bin_prot/metadata.xml
@@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
<upstream>
<remote-id type="github">janestreet/ppx_bin_prot</remote-id>
</upstream>
diff --git a/dev-ml/ppx_bin_prot/ppx_bin_prot-0.14.0.ebuild b/dev-ml/ppx_bin_prot/ppx_bin_prot-0.14.0.ebuild
new file mode 100644
index 000000000000..942eef12f2db
--- /dev/null
+++ b/dev-ml/ppx_bin_prot/ppx_bin_prot-0.14.0.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="Generation of bin_prot readers and writers from types"
+HOMEPAGE="https://github.com/janestreet/ppx_bin_prot"
+SRC_URI="https://github.com/janestreet/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+IUSE="+ocamlopt test"
+
+DEPEND="
+ dev-ml/base:=
+ dev-ml/bin_prot:=
+ dev-ml/ppx_here:=
+ dev-ml/ppxlib:=
+ dev-ml/ocaml-migrate-parsetree:=
+ dev-ml/result:=
+ "
+RDEPEND="${DEPEND}"
+DEPEND="${DEPEND}
+ test? (
+ dev-ml/ppx_jane
+ )"
diff --git a/dev-ml/ppx_cold/Manifest b/dev-ml/ppx_cold/Manifest
new file mode 100644
index 000000000000..71ac9e7d2bb7
--- /dev/null
+++ b/dev-ml/ppx_cold/Manifest
@@ -0,0 +1 @@
+DIST ppx_cold-0.14.0.tar.gz 3778 BLAKE2B 5ae223047858ff11f90067fcb2a6541c964cd929e45fe9d43256b75a81599d6aa0aaf37fe7274e98c64b6448846ab8c64b1c092171392f74a395ea08ea0a60d8 SHA512 3655602defe6b5cd9740eb4cfcf480eded6912674df28955502adcd0d8d6901551e137b0660a389f8be2c88b3aebc830f57089d2ac1a82f7b9efdbaea358fe07
diff --git a/dev-ml/ppx_cold/metadata.xml b/dev-ml/ppx_cold/metadata.xml
new file mode 100644
index 000000000000..fce837d2f493
--- /dev/null
+++ b/dev-ml/ppx_cold/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">janestreet/ppx_cold</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-ml/ppx_cold/ppx_cold-0.14.0.ebuild b/dev-ml/ppx_cold/ppx_cold-0.14.0.ebuild
new file mode 100644
index 000000000000..ef1ca36fc0d5
--- /dev/null
+++ b/dev-ml/ppx_cold/ppx_cold-0.14.0.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="Expands [@cold] into [@inline never][@specialise never][@local never]"
+HOMEPAGE="https://github.com/janestreet/ppx_cold"
+SRC_URI="https://github.com/janestreet/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="+ocamlopt"
+
+DEPEND="
+ dev-ml/base:=
+ dev-ml/ppxlib:=
+ dev-ml/ocaml-migrate-parsetree:=
+ dev-ml/result:=
+"
+RDEPEND="${DEPEND}"
diff --git a/dev-ml/ppx_compare/Manifest b/dev-ml/ppx_compare/Manifest
index 123942822bc3..22f6d98ca857 100644
--- a/dev-ml/ppx_compare/Manifest
+++ b/dev-ml/ppx_compare/Manifest
@@ -1 +1,2 @@
+DIST ppx_compare-0.14.0.tar.gz 13614 BLAKE2B 081e91192f987095a773964b56838b05fb18ea23599eeeb28d297ac81ff7439067ffa0941cf4d64921abad68f9dca90560463b9f059f35ed3147333ba697a88c SHA512 be02c8114e0915439c04b3d796029ad124e9a2e637032d6a86a41c03b81985cb0f68f65bc43c1d12221b521f6fa10006a105b3ffe95e991ed9695692fd0763cb
DIST ppx_compare-0.9.0.tar.gz 11760 BLAKE2B 8db18a56185371e56addddeac4ec94e1260f06edc7dbc835efcf2f6788f42c36746858fd96e7fc94aaaf52b118a95581388276b90d8d489a9f4707af2c157811 SHA512 4f154bb67c2241712986247f8b3ed04b4ba874424171989f0421193a15cea45dedbf1c546408421bf33839ea45b85a45ec1cb43c034373fd80198ddb5d9045fe
diff --git a/dev-ml/ppx_compare/metadata.xml b/dev-ml/ppx_compare/metadata.xml
index beacad414601..5bc9e8d7dd51 100644
--- a/dev-ml/ppx_compare/metadata.xml
+++ b/dev-ml/ppx_compare/metadata.xml
@@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
<upstream>
<remote-id type="github">janestreet/ppx_compare</remote-id>
</upstream>
diff --git a/dev-ml/ppx_compare/ppx_compare-0.14.0.ebuild b/dev-ml/ppx_compare/ppx_compare-0.14.0.ebuild
new file mode 100644
index 000000000000..c423bee51e7b
--- /dev/null
+++ b/dev-ml/ppx_compare/ppx_compare-0.14.0.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="Generation of comparison functions from types"
+HOMEPAGE="https://github.com/janestreet/ppx_compare"
+SRC_URI="https://github.com/janestreet/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64"
+IUSE="+ocamlopt"
+
+DEPEND="
+ dev-ml/base:=
+ dev-ml/ocaml-migrate-parsetree:=
+ dev-ml/result:=
+ dev-ml/ppxlib:=
+"
+
+RDEPEND="${DEPEND}"
+
+# Error: No rule found for test/comparelib_test__Check_optims.o
+RESTRICT=test
diff --git a/dev-ml/ppx_custom_printf/Manifest b/dev-ml/ppx_custom_printf/Manifest
index d71f4fa73f8c..910e402a2a34 100644
--- a/dev-ml/ppx_custom_printf/Manifest
+++ b/dev-ml/ppx_custom_printf/Manifest
@@ -1 +1,2 @@
+DIST ppx_custom_printf-0.14.0.tar.gz 9600 BLAKE2B 7b921188e158d59a160502b410ac780709b40fd408cf2e06a0adb70952ef3e72144deaee1c40df512cc09997ce87621e0be2a32d28e8408914fb90f3416e0532 SHA512 2f607df87aa372ef602b4aeb44a2d697ff8696001161e544398c3675280ef7af402f4b34b8cfce900791129d2a9db13ccbf4e73518f58487adc47d5188c8652c
DIST ppx_custom_printf-0.9.0.tar.gz 11527 BLAKE2B ad1791f1bad3c8583e67ca6300e98e8a7a047f723bbaa7c80cf6224f7333e7893fce7289456c39f6959089f15cc0da20106b33689ab198b1f47f6dc0bd853c77 SHA512 7608e09aac26f4f51d124d30c25a510abb73bea606007524a5563f5bb2c0e71f1ff033edb32c48f0c69656e8c3924b57186639812b1a647ce31f7ae15dc466cb
diff --git a/dev-ml/ppx_custom_printf/files/ppx_custom_printf-0.14.0-ppxlib-0.18.0.patch b/dev-ml/ppx_custom_printf/files/ppx_custom_printf-0.14.0-ppxlib-0.18.0.patch
new file mode 100644
index 000000000000..95cd58aee4cd
--- /dev/null
+++ b/dev-ml/ppx_custom_printf/files/ppx_custom_printf-0.14.0-ppxlib-0.18.0.patch
@@ -0,0 +1,41 @@
+commit 50f8f706e868f8ebac4f2f1392365f994d674463 (HEAD, origin/upgrade-ppxlib-0.18.0)
+Author: Nathan Rebours <nathan.p.rebours@gmail.com>
+Date: Mon Oct 5 17:56:52 2020 +0200
+
+ Make ppx_custom_printf compatible with ppxlib.0.18.0
+
+ ppxlib.0.18.0 upgrades to the 4.11 AST which results in a change
+ in string constants representation. This PR makes ppx_custom_printf
+ compatible with the latest ppxlib.
+
+ You might want for the actual release of ppxlib.0.18.0 before merging
+ this!
+
+ Signed-off-by: Nathan Rebours <nathan.p.rebours@gmail.com>
+
+diff --git a/ppx_custom_printf.opam b/ppx_custom_printf.opam
+index 80ea710..1cc3d11 100644
+--- a/ppx_custom_printf.opam
++++ b/ppx_custom_printf.opam
+@@ -15,7 +15,7 @@ depends: [
+ "base" {>= "v0.14" & < "v0.15"}
+ "ppx_sexp_conv" {>= "v0.14" & < "v0.15"}
+ "dune" {>= "2.0.0"}
+- "ppxlib" {>= "0.11.0"}
++ "ppxlib" {>= "0.18.0"}
+ ]
+ synopsis: "Printf-style format-strings for user-defined string conversion"
+ description: "
+diff --git a/src/ppx_custom_printf.ml b/src/ppx_custom_printf.ml
+index 18ad7fd..e9ad8b3 100644
+--- a/src/ppx_custom_printf.ml
++++ b/src/ppx_custom_printf.ml
+@@ -264,7 +264,7 @@ let expand_format_string ~loc fmt_string =
+ let expand e =
+ match e.pexp_desc with
+ | Pexp_apply ({ pexp_attributes = ident_attrs; _ },
+- [ (Nolabel, { pexp_desc = Pexp_constant (Pconst_string (str, _))
++ [ (Nolabel, { pexp_desc = Pexp_constant (Pconst_string (str, _, _))
+ ; pexp_loc = loc; pexp_loc_stack = _
+ ; pexp_attributes = str_attrs }) ]) ->
+ assert_no_attributes ident_attrs;
diff --git a/dev-ml/ppx_custom_printf/metadata.xml b/dev-ml/ppx_custom_printf/metadata.xml
index db6f32d8ab1d..bd8c830ce5d7 100644
--- a/dev-ml/ppx_custom_printf/metadata.xml
+++ b/dev-ml/ppx_custom_printf/metadata.xml
@@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
<upstream>
<remote-id type="github">janestreet/ppx_custom_printf</remote-id>
</upstream>
diff --git a/dev-ml/ppx_custom_printf/ppx_custom_printf-0.14.0.ebuild b/dev-ml/ppx_custom_printf/ppx_custom_printf-0.14.0.ebuild
new file mode 100644
index 000000000000..7915067e7656
--- /dev/null
+++ b/dev-ml/ppx_custom_printf/ppx_custom_printf-0.14.0.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="Printf-style format-strings for user-defined string conversion"
+HOMEPAGE="https://github.com/janestreet/ppx_custom_printf"
+SRC_URI="https://github.com/janestreet/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="+ocamlopt"
+
+DEPEND="
+ dev-ml/base:=
+ dev-ml/ppx_sexp_conv:=
+ >=dev-ml/ppxlib-0.18.0:=
+ dev-ml/ocaml-migrate-parsetree:=
+ dev-ml/result:=
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=( "${FILESDIR}"/${P}-ppxlib-0.18.0.patch )
diff --git a/dev-ml/ppx_derivers/Manifest b/dev-ml/ppx_derivers/Manifest
index 535fb7fce0c3..45a09a38f555 100644
--- a/dev-ml/ppx_derivers/Manifest
+++ b/dev-ml/ppx_derivers/Manifest
@@ -1 +1,2 @@
DIST ppx_derivers-1.0.tar.gz 1467 BLAKE2B 94946c5d04e314bfbe146534fb19e88a16670dc3f5d47c15496142dd9a256ebbe4387f24a9fe31b1aee804d064bea0a9136685372399a38ac82dedafe677934a SHA512 2e2437094362088f9a1601ca3c2f0b82ec079b9a34e502234aef36158ea7a3f2236f1d2526df1a75bcb851346ebaaf717eaf72253935f7ea4024d3dc20512e85
+DIST ppx_derivers-1.2.1.tar.gz 2530 BLAKE2B d0a8a214e93908cfff1d418fe1b729a7ca502fb6dc983d3a837f6846aec891627457df72a610736d929c83622202bd5a00451c1c24510a642b4c133ce60416b8 SHA512 ef0796fe2592e653d34ba01d206d4b507429882a2aaadcb89c7f807c33a417f2871b0c94ade5c92aefd9487daa582e19d88ad5a5eaa631e8162ae12f4a0756c6
diff --git a/dev-ml/ppx_derivers/metadata.xml b/dev-ml/ppx_derivers/metadata.xml
index 8cefe9903afe..60ca2c998ff0 100644
--- a/dev-ml/ppx_derivers/metadata.xml
+++ b/dev-ml/ppx_derivers/metadata.xml
@@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
<upstream>
<remote-id type="github">diml/ppx_derivers</remote-id>
</upstream>
diff --git a/dev-ml/ppx_derivers/ppx_derivers-1.2.1.ebuild b/dev-ml/ppx_derivers/ppx_derivers-1.2.1.ebuild
new file mode 100644
index 000000000000..9db1aabf04a8
--- /dev/null
+++ b/dev-ml/ppx_derivers/ppx_derivers-1.2.1.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="Shared [@@deriving] plugin registry"
+HOMEPAGE="https://github.com/diml/ppx_derivers"
+SRC_URI="https://github.com/diml/ppx_derivers/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64"
+IUSE="+ocamlopt"
+
+RDEPEND=""
+DEPEND="${RDEPEND}"
diff --git a/dev-ml/ppx_deriving/Manifest b/dev-ml/ppx_deriving/Manifest
index efe85125d052..23ba45711d2c 100644
--- a/dev-ml/ppx_deriving/Manifest
+++ b/dev-ml/ppx_deriving/Manifest
@@ -1 +1,2 @@
DIST ppx_deriving-4.2.tar.gz 48327 BLAKE2B 8ce5ccbfb7992fbd5e9c777ad0b577f8846d92df21926a877fb8f7b6804acc4fa2fd78586fc209c3bd83b8496eb6f8e8ee37c39e0c7462fb55f39389356f3c8f SHA512 084526157d6f4b41f7ad73157c5edb54d5bb9130d706525031670d8495ede8af5545302f442c2d2c506772201b79ccc93bdc7fead9455d3a59977ddfa9c3284d
+DIST ppx_deriving-4.5.tar.gz 45886 BLAKE2B 257bacda986a3830e3efd55b8e97d8c633b64740a36c7954c7b13ef42578fef8795f268e709a2b7285fa3dda1297afe7cfcc277da8557ed654dda6401a550680 SHA512 f79153c5231ba1e03a3491fde95ca82ecb62fe05b60a649a374d2fbc5ea5dd9242126de7dfbe917c22fd7077c026c940e18c6b36c5ce0ec4bb6e07f11d2b710b
diff --git a/dev-ml/ppx_deriving/metadata.xml b/dev-ml/ppx_deriving/metadata.xml
index ee4d37328cad..0fea406d5fda 100644
--- a/dev-ml/ppx_deriving/metadata.xml
+++ b/dev-ml/ppx_deriving/metadata.xml
@@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
<upstream>
<remote-id type="github">ocaml-ppx/ppx_deriving</remote-id>
</upstream>
diff --git a/dev-ml/ppx_deriving/ppx_deriving-4.5.ebuild b/dev-ml/ppx_deriving/ppx_deriving-4.5.ebuild
new file mode 100644
index 000000000000..a33144c264b6
--- /dev/null
+++ b/dev-ml/ppx_deriving/ppx_deriving-4.5.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="Type-driven code generation for OCaml"
+HOMEPAGE="https://github.com/ocaml-ppx/ppx_deriving"
+SRC_URI="https://github.com/ocaml-ppx/ppx_deriving/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="+ocamlopt test"
+
+DEPEND="
+ dev-ml/ppx_tools:=
+ dev-ml/ocaml-migrate-parsetree:=
+ dev-ml/ppx_derivers:=
+ dev-ml/result:=
+"
+RDEPEND="${DEPEND}"
+DEPEND="${RDEPEND}
+ dev-ml/cppo
+ dev-ml/ppxfind
+ test? ( dev-ml/ounit2 )"
+PATCHES=( "${FILESDIR}/ounit2.patch" )
diff --git a/dev-ml/ppx_driver/Manifest b/dev-ml/ppx_driver/Manifest
index 325593ac132b..81ae2e9ea42a 100644
--- a/dev-ml/ppx_driver/Manifest
+++ b/dev-ml/ppx_driver/Manifest
@@ -1 +1,2 @@
+DIST ppx_driver-0.11.0.tar.gz 9157 BLAKE2B 053e710c3d8cb6096c893bd5308fbe2b4563dfb2de3c006402ae363aed60db31a3bb1b7656f0565ce13d88368d8b6bef68658f81190dda397562d462828618f4 SHA512 d7ef318f6f0c6e4c56537584bb50b6673b294b67ac264208b7c8b4bcc9d0ca6baf1cbea752459b12d9102bb84a392047c907c65afd23760cac1cc4465ed85ea9
DIST ppx_driver-0.9.1.tar.gz 28637 BLAKE2B d787ac91713bd750d2d2bde5830df3abb1a07be6672000d7a6de6c125a7627e7a5b94aa9f8f87e2c6c57a7a92073c44e18c7285575aad02f5db9c7b4419647d8 SHA512 1e3647e34fb9e6d44b783fae1fce21413e5591f8934c3d2ddac3d1b37019b0d95117c8d64abf14cbfe4f67147612371ec1eb76b477763b062206ffc9b46688d7
diff --git a/dev-ml/ppx_driver/metadata.xml b/dev-ml/ppx_driver/metadata.xml
index 305fe7348cce..c69342dd5815 100644
--- a/dev-ml/ppx_driver/metadata.xml
+++ b/dev-ml/ppx_driver/metadata.xml
@@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
<upstream>
<remote-id type="github">janestreet/ppx_driver</remote-id>
</upstream>
diff --git a/dev-ml/ppx_driver/ppx_driver-0.11.0.ebuild b/dev-ml/ppx_driver/ppx_driver-0.11.0.ebuild
new file mode 100644
index 000000000000..e4d80f93c0de
--- /dev/null
+++ b/dev-ml/ppx_driver/ppx_driver-0.11.0.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="Feature-full driver for OCaml AST transformers"
+HOMEPAGE="https://github.com/janestreet/ppx_driver"
+SRC_URI="https://github.com/janestreet/ppx_driver/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="+ocamlopt"
+
+DEPEND="
+ dev-ml/ppxlib:=
+ dev-ml/ocaml-migrate-parsetree:=
+"
+RDEPEND="${DEPEND}"
diff --git a/dev-ml/ppx_enumerate/Manifest b/dev-ml/ppx_enumerate/Manifest
index 425aba98d5da..8b8b6de65a95 100644
--- a/dev-ml/ppx_enumerate/Manifest
+++ b/dev-ml/ppx_enumerate/Manifest
@@ -1 +1,2 @@
+DIST ppx_enumerate-0.14.0.tar.gz 9487 BLAKE2B 7f87a1c9c2ae0b365b5fdc44b906ef5330e28586aea741ca51dcddd8b0cf591e28f59e21d4050078c42072b96a96e5c6430d5ade4334d49aeec142db058ee3fc SHA512 d7f61ba792af81395c76e51bcb81b467ae4b67fdc3022d2e55ab0682bb4710e9a96852457721567a9f13606bd4290dbac8fd34421b0dffbabdd9debd1268ecc5
DIST ppx_enumerate-0.9.0.tar.gz 10967 BLAKE2B a5e742c5009c16d07cb23d7fba8cd4d41cd3f2ec543f47fce65c3731bb81b140a601ec492c0f5f8a5a62c2ac64f41a8093a7e5c96b251ad3b85944aab19c167c SHA512 46e979528af75313fcbfee4d1437156ded90d46f7608271a77ad41bb7e087e2ea4f61f534624b23679c4edf812d2fcfe26b9b634c3fcb691e2da2388ae04950c
diff --git a/dev-ml/ppx_enumerate/metadata.xml b/dev-ml/ppx_enumerate/metadata.xml
index 42deaa7b6871..0691d2ad6671 100644
--- a/dev-ml/ppx_enumerate/metadata.xml
+++ b/dev-ml/ppx_enumerate/metadata.xml
@@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
<upstream>
<remote-id type="github">janestreet/ppx_enumerate</remote-id>
</upstream>
diff --git a/dev-ml/ppx_enumerate/ppx_enumerate-0.14.0.ebuild b/dev-ml/ppx_enumerate/ppx_enumerate-0.14.0.ebuild
new file mode 100644
index 000000000000..047e4589d631
--- /dev/null
+++ b/dev-ml/ppx_enumerate/ppx_enumerate-0.14.0.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="Generate a list containing all values of a finite type"
+HOMEPAGE="https://github.com/janestreet/ppx_enumerate"
+SRC_URI="https://github.com/janestreet/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64"
+IUSE="+ocamlopt"
+
+DEPEND="
+ dev-ml/base:=
+ dev-ml/ppxlib:=
+ dev-ml/ocaml-migrate-parsetree:=
+ dev-ml/result:=
+"
+RDEPEND="${DEPEND}"
diff --git a/dev-ml/ppx_expect/Manifest b/dev-ml/ppx_expect/Manifest
index 4d417a085e81..c6b1189dc2e0 100644
--- a/dev-ml/ppx_expect/Manifest
+++ b/dev-ml/ppx_expect/Manifest
@@ -1 +1,2 @@
+DIST ppx_expect-0.14.0.tar.gz 45661 BLAKE2B 0cba3840743d45f0f11936f090319aab3237c7a14389eb6d035a3b7cdac91e0b169c3ed84407e1bb01a00738bf97b62dba313965e93a2177388666764fe5854b SHA512 7de5d84640d16101d38140b5f621301c9935e3161a7c7d978373940be92fa7f14cad429e79eec294a20d1f379e969cf3c25d15810f1a4d3ad1bb8ba0eb7d7109
DIST ppx_expect-0.9.0.tar.gz 33700 BLAKE2B f03d1183b12efe84016a15b6a6b45b7bef93b23bc4d470c2796361aca2be229fc9447103c0a31d95a94f6c05bbabf1cbe9d138dc3518df9f505b6b009eefb104 SHA512 b8a6941f3ac0dea2167d7fe5c61e7adf605f5399e11049b5c9f22c613182983a014d05c2fb16e7a2dc94dbccf445e1801c39a89e6d995b5599cb40ee4322148e
diff --git a/dev-ml/ppx_expect/files/ppx_expect-0.14.0-ppxlib-0.18.0.patch b/dev-ml/ppx_expect/files/ppx_expect-0.14.0-ppxlib-0.18.0.patch
new file mode 100644
index 000000000000..f30da03701ba
--- /dev/null
+++ b/dev-ml/ppx_expect/files/ppx_expect-0.14.0-ppxlib-0.18.0.patch
@@ -0,0 +1,42 @@
+commit 7f46c2d22a87b99c70a220c1b13aaa34c6d217ff (HEAD, origin/upgrade-ppxlib-0.18.0)
+Author: Nathan Rebours <nathan.p.rebours@gmail.com>
+Date: Mon Oct 5 17:46:34 2020 +0200
+
+ Make ppx_expect compatible with ppxlib.0.18.0
+
+ ppxlib.0.18.0 upgrades to the 4.11 AST which results in a change
+ in string constants representation. This PR makes ppx_expect
+ compatible with the latest ppxlib.
+
+ You might want for the actual release of ppxlib.0.18.0 before merging
+ this!
+
+ Signed-off-by: Nathan Rebours <nathan.p.rebours@gmail.com>
+
+diff --git a/expect_payload/ppx_expect_payload.ml b/expect_payload/ppx_expect_payload.ml
+index 23a12e1..fd2a5bb 100644
+--- a/expect_payload/ppx_expect_payload.ml
++++ b/expect_payload/ppx_expect_payload.ml
+@@ -86,7 +86,7 @@ let make ~kind payload ~(extension_id_loc : Location.t) =
+ let pattern () =
+ Ast_pattern.(
+ map
+- (single_expr_payload (pexp_loc __ (pexp_constant (pconst_string __ __))))
+- ~f:(fun f loc s tag -> f (Some (loc, s, tag)))
++ (single_expr_payload (pexp_loc __ (pexp_constant (pconst_string __ __ __))))
++ ~f:(fun f loc s _loc tag -> f (Some (loc, s, tag)))
+ ||| map (pstr nil) ~f:(fun f -> f None))
+ ;;
+diff --git a/ppx_expect.opam b/ppx_expect.opam
+index dcce541..59adadb 100644
+--- a/ppx_expect.opam
++++ b/ppx_expect.opam
+@@ -17,7 +17,7 @@ depends: [
+ "ppx_inline_test" {>= "v0.14" & < "v0.15"}
+ "stdio" {>= "v0.14" & < "v0.15"}
+ "dune" {>= "2.0.0"}
+- "ppxlib" {>= "0.11.0"}
++ "ppxlib" {>= "0.18.0"}
+ "re" {>= "1.8.0"}
+ ]
+ synopsis: "Cram like framework for OCaml"
diff --git a/dev-ml/ppx_expect/metadata.xml b/dev-ml/ppx_expect/metadata.xml
index e40e4cf098df..ec7beb371c4d 100644
--- a/dev-ml/ppx_expect/metadata.xml
+++ b/dev-ml/ppx_expect/metadata.xml
@@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
<upstream>
<remote-id type="github">janestreet/ppx_expect</remote-id>
</upstream>
diff --git a/dev-ml/ppx_expect/ppx_expect-0.14.0.ebuild b/dev-ml/ppx_expect/ppx_expect-0.14.0.ebuild
new file mode 100644
index 000000000000..4655a60d8ef7
--- /dev/null
+++ b/dev-ml/ppx_expect/ppx_expect-0.14.0.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="Cram like framework for OCaml"
+HOMEPAGE="https://github.com/janestreet/ppx_expect"
+SRC_URI="https://github.com/janestreet/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="+ocamlopt test"
+
+DEPEND="
+ dev-ml/base:=
+ dev-ml/ppx_assert:=
+ dev-ml/ppx_compare:=
+ dev-ml/ppx_custom_printf:=
+ dev-ml/ppx_fields_conv:=
+ dev-ml/ppx_here:=
+ dev-ml/ppx_inline_test:=
+ dev-ml/ppx_sexp_conv:=
+ dev-ml/ppx_variants_conv:=
+ dev-ml/stdio:=
+ >=dev-ml/ppxlib-0.18.0:=
+ dev-ml/ocaml-compiler-libs:=
+ dev-ml/ocaml-migrate-parsetree:=
+ dev-ml/result:=
+ dev-ml/re:=
+"
+RDEPEND="${DEPEND}"
+DEPEND="${DEPEND}
+ test? (
+ dev-ml/ppx_jane
+ )"
+
+PATCHES=( "${FILESDIR}"/${P}-ppxlib-0.18.0.patch )
diff --git a/dev-ml/ppx_fail/Manifest b/dev-ml/ppx_fail/Manifest
index 33bc7dfacbfe..49b65277bb9d 100644
--- a/dev-ml/ppx_fail/Manifest
+++ b/dev-ml/ppx_fail/Manifest
@@ -1 +1,2 @@
+DIST ppx_fail-0.14.0.tar.gz 3773 BLAKE2B ef5c7a84808045a9b9ddb78556061ec0d9b04f5b08d5cb4096c353d0e38aa3bca360538efe53cf5faffad6628634d689504c063bbb563790c15a4f3d327f8c14 SHA512 a683430e5cdb50b52846b45d0e25a7b2498f14f34153319cb3ffd30e7b6e493f36790ffc5ea82ec3fbb0281a29e13bb2df10a1754ec32f0e5faad0890b6d211e
DIST ppx_fail-0.9.0.tar.gz 5908 BLAKE2B 671d6c565ffef4582600346642d64884706c9f5bbff114868b0069f82abea3241c44bd92472e40b11365a560335efac59f2a93ab993d19cf98c2a3da09c5968d SHA512 43bd13d5e41f7a297da2c67b032b9d88b94ab2ef152f756738e2bab41aa22829ec3a17d2824243e5194c4d2ee9ea567f06a638172f8c77ca7c466a641da8017a
diff --git a/dev-ml/ppx_fail/metadata.xml b/dev-ml/ppx_fail/metadata.xml
index e8071816757a..35728b324db4 100644
--- a/dev-ml/ppx_fail/metadata.xml
+++ b/dev-ml/ppx_fail/metadata.xml
@@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
<upstream>
<remote-id type="github">janestreet/ppx_fail</remote-id>
</upstream>
diff --git a/dev-ml/ppx_fail/ppx_fail-0.14.0.ebuild b/dev-ml/ppx_fail/ppx_fail-0.14.0.ebuild
new file mode 100644
index 000000000000..c13ee021e4ff
--- /dev/null
+++ b/dev-ml/ppx_fail/ppx_fail-0.14.0.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="Add location to calls to failwiths"
+HOMEPAGE="https://github.com/janestreet/ppx_fail"
+SRC_URI="https://github.com/janestreet/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+IUSE="+ocamlopt"
+
+DEPEND="
+ dev-ml/base:=
+ dev-ml/ppx_here:=
+ dev-ml/ppxlib:=
+ dev-ml/ocaml-migrate-parsetree:=
+ dev-ml/result:=
+"
+RDEPEND="${DEPEND}"
diff --git a/dev-ml/ppx_fields_conv/Manifest b/dev-ml/ppx_fields_conv/Manifest
index b9d9329abf20..61f525af8478 100644
--- a/dev-ml/ppx_fields_conv/Manifest
+++ b/dev-ml/ppx_fields_conv/Manifest
@@ -1 +1,2 @@
+DIST ppx_fields_conv-0.14.1.tar.gz 14348 BLAKE2B 09bd2db4dab314ba50bcd5566c4ba4fd834fc34ba15be2132d5cbe3c27e5c76e37b4cccd3bc4cc4a5bd930f95215f6100557b89e44d54e906e382381be1fe257 SHA512 afd0f16b851e2984e46ac1d9347268a1cdb9a9054ea18435a5030dd512ba56f97b54639cc6cc6254498ca3fd2fa4d5c0053c7f2ceddd531ebbd9afef5b5f3e3d
DIST ppx_fields_conv-0.9.0.tar.gz 15171 BLAKE2B 5a0051a1b362dcf15ddd4ec4f3f6f4df6d709a8c2709222a2d2502eb12b8728fb28ce9213a1789270d30505c6084ab8203dc7b49d7043d9820aabb0cc74c51c2 SHA512 1edcd7076c1dbba84b86f05624b3792404b24ae4414ee0c3b32dcfc998da77a2a9d52d063fefc24be21d98472d6f58880c37ac29c610fb5b8a401224fc654ec1
diff --git a/dev-ml/ppx_fields_conv/files/ppx_fields_conv-0.14.1-ppxlib-0.18.0.patch b/dev-ml/ppx_fields_conv/files/ppx_fields_conv-0.14.1-ppxlib-0.18.0.patch
new file mode 100644
index 000000000000..23b5a8be82c2
--- /dev/null
+++ b/dev-ml/ppx_fields_conv/files/ppx_fields_conv-0.14.1-ppxlib-0.18.0.patch
@@ -0,0 +1,60 @@
+commit f3c6846ad9015de0adb44f519ff010ff0ed51180 (HEAD, origin/upgrade-ppxlib-0.18.0)
+Author: Nathan Rebours <nathan.p.rebours@gmail.com>
+Date: Mon Oct 5 18:20:23 2020 +0200
+
+ Make ppx_fields_conv compatible with ppxlib.0.18.0
+
+ ppxlib.0.18.0 upgrades to the 4.11 AST which results in a change
+ in string constants representation. This PR makes ppx_fields_conv
+ compatible with the latest ppxlib.
+
+ You might want for the actual release of ppxlib.0.18.0 before merging
+ this!
+
+ Signed-off-by: Nathan Rebours <nathan.p.rebours@gmail.com>
+
+diff --git a/ppx_fields_conv.opam b/ppx_fields_conv.opam
+index 91a9692..3e2d24a 100644
+--- a/ppx_fields_conv.opam
++++ b/ppx_fields_conv.opam
+@@ -15,7 +15,7 @@ depends: [
+ "base" {>= "v0.14" & < "v0.15"}
+ "fieldslib" {>= "v0.14" & < "v0.15"}
+ "dune" {>= "2.0.0"}
+- "ppxlib" {>= "0.14.0"}
++ "ppxlib" {>= "0.18.0"}
+ ]
+ synopsis: "Generation of accessor and iteration functions for ocaml records"
+ description: "
+diff --git a/src/ppx_fields_conv.ml b/src/ppx_fields_conv.ml
+index 130e82b..87752cb 100644
+--- a/src/ppx_fields_conv.ml
++++ b/src/ppx_fields_conv.ml
+@@ -34,9 +34,6 @@ let check_no_collision =
+
+ module A = struct (* Additional AST construction helpers *)
+
+- let exp_string : (loc:Location.t -> string -> expression) = fun ~loc s ->
+- pexp_constant ~loc (Pconst_string (s,None))
+-
+ let pat_name : (loc:Location.t -> string -> pattern) = fun ~loc name ->
+ ppat_var ~loc (Loc.make name ~loc)
+
+@@ -440,7 +437,7 @@ module Gen_struct = struct
+ [%expr
+ Fieldslib.Field.Field { Fieldslib.Field.For_generated_code.
+ force_variance = (fun (_ : [%t perm]) -> ());
+- name = [%e A.exp_string ~loc name];
++ name = [%e estring ~loc name];
+ getter = [%e A.exp_name ~loc name];
+ setter = [%e setter_field];
+ fset = [%e fset];}]
+@@ -725,7 +722,7 @@ module Gen_struct = struct
+ let getter_and_setters, fields = gen_fields ~private_ ~loc labdecs in
+ let create = creation_fun ~loc record_name labdecs in
+ let simple_create = simple_creation_fun ~loc record_name labdecs in
+- let names = List.map (Inspect.field_names labdecs) ~f:(A.exp_string ~loc) in
++ let names = List.map (Inspect.field_names labdecs) ~f:(estring ~loc) in
+ let fields_module =
+ if String.equal record_name "t" then "Fields" else "Fields_of_" ^ record_name
+ in
diff --git a/dev-ml/ppx_fields_conv/metadata.xml b/dev-ml/ppx_fields_conv/metadata.xml
index 69d1f03f1b85..06458282b1c0 100644
--- a/dev-ml/ppx_fields_conv/metadata.xml
+++ b/dev-ml/ppx_fields_conv/metadata.xml
@@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
<upstream>
<remote-id type="github">janestreet/ppx_fields_conv</remote-id>
</upstream>
diff --git a/dev-ml/ppx_fields_conv/ppx_fields_conv-0.14.1.ebuild b/dev-ml/ppx_fields_conv/ppx_fields_conv-0.14.1.ebuild
new file mode 100644
index 000000000000..efa7ded5042e
--- /dev/null
+++ b/dev-ml/ppx_fields_conv/ppx_fields_conv-0.14.1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="Generation of accessor and iteration functions for ocaml records"
+HOMEPAGE="https://github.com/janestreet/ppx_fields_conv"
+SRC_URI="https://github.com/janestreet/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="+ocamlopt"
+
+DEPEND="
+ dev-ml/base:=
+ dev-ml/fieldslib:=
+ >=dev-ml/ppxlib-0.18.0:=
+ dev-ml/ocaml-migrate-parsetree:=
+ dev-ml/result:=
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=( "${FILESDIR}"/${P}-ppxlib-0.18.0.patch )
diff --git a/dev-ml/ppx_fixed_literal/Manifest b/dev-ml/ppx_fixed_literal/Manifest
new file mode 100644
index 000000000000..c228adbc79c9
--- /dev/null
+++ b/dev-ml/ppx_fixed_literal/Manifest
@@ -0,0 +1 @@
+DIST ppx_fixed_literal-0.14.0.tar.gz 3643 BLAKE2B 7b84dda448f179e778356c3fd5cfdd1dbcb479e03d4e6a9bbd6d2b47c748d0795c18605a86e13e5680bcf23f383d99513408a441fc1fba188d66dad0bd58e875 SHA512 5e30c5238c20a4b6f164ebe29b5f6d4bc074f03fb62aac30a1d129c4fb466124bb163c45e6cc95ad34385ee2e621cf3a1366d3bd9b224438fc575f862f6f73c2
diff --git a/dev-ml/ppx_fixed_literal/metadata.xml b/dev-ml/ppx_fixed_literal/metadata.xml
new file mode 100644
index 000000000000..257ae7bfeade
--- /dev/null
+++ b/dev-ml/ppx_fixed_literal/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">janestreet/ppx_fixed_literal</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-ml/ppx_fixed_literal/ppx_fixed_literal-0.14.0.ebuild b/dev-ml/ppx_fixed_literal/ppx_fixed_literal-0.14.0.ebuild
new file mode 100644
index 000000000000..07e00094a1b7
--- /dev/null
+++ b/dev-ml/ppx_fixed_literal/ppx_fixed_literal-0.14.0.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="Simpler notation for fixed point literals"
+HOMEPAGE="https://github.com/janestreet/ppx_fixed_literal"
+SRC_URI="https://github.com/janestreet/ppx_fixed_literal/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="+ocamlopt"
+
+DEPEND="
+ dev-ml/base:=
+ dev-ml/ppxlib:=
+ dev-ml/ocaml-migrate-parsetree:=
+ dev-ml/result:=
+"
+RDEPEND="${DEPEND}"
diff --git a/dev-ml/ppx_hash/Manifest b/dev-ml/ppx_hash/Manifest
index cb31fc191d89..4b6a5885e6e9 100644
--- a/dev-ml/ppx_hash/Manifest
+++ b/dev-ml/ppx_hash/Manifest
@@ -1 +1,2 @@
+DIST ppx_hash-0.14.0.tar.gz 27859 BLAKE2B 0d89eeec154e62ae42ddaff6b0ccdf827ad768e0f19dcdfd4f8b940f594856c8fc036fa02a2462666f2ee4b675e1594837d196fb92cdbb9f8bdf4e171ce90374 SHA512 21d68c0655c21fcd0cecceb8c69e45706b57db160e49c3b112e67cc874a8084946dbae8709ed99f24e7282182c7238cf95ef00bec3ac5a271409e9d5f788467c
DIST ppx_hash-0.9.0.tar.gz 26942 BLAKE2B 589b9fe1ced89c0dbbc9d3472e21c278a9d1d29c1ceaa3a19ae853727cb4fc446e67deb8b63274ccfbd95fbfa49a5e8cba764bf2a3ae26bb994c9fb16f2b9f32 SHA512 401a87f5cc357ad50fc23f2450b84d6113cd79c1d2506f6e95476795fde0f3240ca252fc3bfe083f9ee1d0511ea3909481387ecf597edef6f90f9756a5a97096
diff --git a/dev-ml/ppx_hash/metadata.xml b/dev-ml/ppx_hash/metadata.xml
index 5a09c9e93857..45d95eaf5e0f 100644
--- a/dev-ml/ppx_hash/metadata.xml
+++ b/dev-ml/ppx_hash/metadata.xml
@@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
<upstream>
<remote-id type="github">janestreet/ppx_hash</remote-id>
</upstream>
diff --git a/dev-ml/ppx_hash/ppx_hash-0.14.0.ebuild b/dev-ml/ppx_hash/ppx_hash-0.14.0.ebuild
new file mode 100644
index 000000000000..d4e20915192c
--- /dev/null
+++ b/dev-ml/ppx_hash/ppx_hash-0.14.0.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="PPX rewriter that generates hash functions from type expressions and definitions"
+HOMEPAGE="https://github.com/janestreet/ppx_hash"
+SRC_URI="https://github.com/janestreet/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64"
+IUSE="+ocamlopt"
+
+DEPEND="
+ dev-ml/base:=
+ >=dev-ml/ppx_compare-0.10.0:=
+ dev-ml/ppx_sexp_conv:=
+ dev-ml/ocaml-migrate-parsetree:=
+ dev-ml/result:=
+ dev-ml/ppxlib:=
+"
+RDEPEND="${DEPEND}"
diff --git a/dev-ml/ppx_here/Manifest b/dev-ml/ppx_here/Manifest
index 33678cef1df2..b7dd9e94e82d 100644
--- a/dev-ml/ppx_here/Manifest
+++ b/dev-ml/ppx_here/Manifest
@@ -1 +1,2 @@
+DIST ppx_here-0.14.0.tar.gz 5005 BLAKE2B 1711ec047c85af76d2343895e54889fec6e9aa29d4d188e83ff9d9ee12cecf42e4ca968a97f341a818f87efc0cc6ccb7e26f025e8af2195c341cb57325aec62b SHA512 3386e9c727f93be86de1daee2e94c9b7a22bcb4bd0ef20bd2c40ac227723ac36c9ac04fd3e16121731227a9b5256898594e0f33860864edf6f15797b98b114da
DIST ppx_here-0.9.1.tar.gz 7225 BLAKE2B 7115c77477b2bab47febfafe55d422bef03c32502d9d0064c5633d6925faf1b3a8b580f2a0974edcf86613f9b2582b0067f3e08a4ca474333f7e15c2c7adb87d SHA512 ca21fb490a4d980616349850b781e4ee02c0eb8a27e8ef9d4092d15ee235ffc504dab1b2a3db44fc6a84fa6b2cdbd67c0c4adbc41fb094b7bb9d4f710193aaf2
diff --git a/dev-ml/ppx_here/metadata.xml b/dev-ml/ppx_here/metadata.xml
index 73cffad57b88..24b631f152ae 100644
--- a/dev-ml/ppx_here/metadata.xml
+++ b/dev-ml/ppx_here/metadata.xml
@@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
<upstream>
<remote-id type="github">janestreet/ppx_here</remote-id>
</upstream>
diff --git a/dev-ml/ppx_here/ppx_here-0.14.0.ebuild b/dev-ml/ppx_here/ppx_here-0.14.0.ebuild
new file mode 100644
index 000000000000..03f95e8f529d
--- /dev/null
+++ b/dev-ml/ppx_here/ppx_here-0.14.0.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="Expands [%here] into its location"
+HOMEPAGE="https://github.com/janestreet/ppx_here"
+SRC_URI="https://github.com/janestreet/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="+ocamlopt"
+
+DEPEND="
+ dev-ml/base:=
+ dev-ml/ppxlib:=
+ dev-ml/ocaml-compiler-libs:=
+ dev-ml/ocaml-migrate-parsetree:=
+ dev-ml/result:=
+"
+RDEPEND="${DEPEND}"
+
+# Error: No rule found for test/dummy.ml.pp
+RESTRICT=test
diff --git a/dev-ml/ppx_inline_test/Manifest b/dev-ml/ppx_inline_test/Manifest
index fc73d0c13867..8342b11fde40 100644
--- a/dev-ml/ppx_inline_test/Manifest
+++ b/dev-ml/ppx_inline_test/Manifest
@@ -1 +1,2 @@
+DIST ppx_inline_test-0.14.1.tar.gz 19683 BLAKE2B f40e462d8eca18734883fd0b8777a9c69c0cc2741df8e95ade64685ea0b8d51dc614db6a4e93016fec0e2b521ea803a52b85d4b6e030239f6736f4f89da5a721 SHA512 24bda655ae8e1110d9550730281ab908a1795b1412545717a06e01143a80f92ba0a9d42cb20c4c9283f0725003a5c41c187bd46732ef2dd724a4714d9d41814e
DIST ppx_inline_test-0.9.2.tar.gz 19280 BLAKE2B 3cd354f27c69bc4fdd29b6a8b0637a08f247774127512886341ec04b8957bd2a66ed6bbfad95d1a529e4c670c815bdbfbfb80ecb9c6e02949a8d34d938d515c3 SHA512 39261a51201b2b7fbd6f4f53c72b2921da9f5a47f726479f65f976ed3979630f0a8587328f4536e42d24315d341afbe2770084ffd951569564a3145cd154be5f
diff --git a/dev-ml/ppx_inline_test/metadata.xml b/dev-ml/ppx_inline_test/metadata.xml
index d700cdb85213..b8d06ea426a3 100644
--- a/dev-ml/ppx_inline_test/metadata.xml
+++ b/dev-ml/ppx_inline_test/metadata.xml
@@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
<upstream>
<remote-id type="github">janestreet/ppx_inline_test</remote-id>
</upstream>
diff --git a/dev-ml/ppx_inline_test/ppx_inline_test-0.14.1.ebuild b/dev-ml/ppx_inline_test/ppx_inline_test-0.14.1.ebuild
new file mode 100644
index 000000000000..f3f3529dd3e3
--- /dev/null
+++ b/dev-ml/ppx_inline_test/ppx_inline_test-0.14.1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="Syntax extension for writing in-line tests in ocaml code"
+HOMEPAGE="https://github.com/janestreet/ppx_inline_test"
+SRC_URI="https://github.com/janestreet/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="+ocamlopt"
+
+DEPEND="
+ dev-ml/base:=
+ dev-ml/ocaml-migrate-parsetree:=
+ dev-ml/result:=
+ dev-ml/ppxlib:=
+ dev-ml/ocaml-compiler-libs:=
+ dev-ml/time_now:=
+"
+RDEPEND="${DEPEND}"
+RESTRICT="test"
diff --git a/dev-ml/ppx_jane/Manifest b/dev-ml/ppx_jane/Manifest
index a91554b21179..2bd30d9e9f25 100644
--- a/dev-ml/ppx_jane/Manifest
+++ b/dev-ml/ppx_jane/Manifest
@@ -1 +1,2 @@
+DIST ppx_jane-0.14.0.tar.gz 4593 BLAKE2B 787fc0701ba0361446cb210c23469881da8fbab28460262a7bdca8723af158ed8deeb4597a31c8d89a4d44e5263c74e0ebc504b83827e0a34870a503b2ea9053 SHA512 b51bef2330ebb8d361b3f856a0526a5290664b68fa56a02de7020b0e27aaf5a378f1b22fc9a24007bfc812af67eb79343b2bdc3ca550108393323b99e29c623d
DIST ppx_jane-0.9.0.tar.gz 5831 BLAKE2B 0eda7b2a71c7e80d7febea6f204aaf7ccebff321f14a423bfe289fd3144251aeba0c3a15db360cd0732196900cdf3eeb5860db14fd001215bdc29e6471c94c52 SHA512 18b09c060519b94013c78ef4673ec7c26f465453391c6ad2ea3235b6f8e23208879c5d4e69dc01915cfb694b23171397af5e4b7208556a369d191c081c86fc2a
diff --git a/dev-ml/ppx_jane/metadata.xml b/dev-ml/ppx_jane/metadata.xml
index 4f7c369b5773..1ad033b289c7 100644
--- a/dev-ml/ppx_jane/metadata.xml
+++ b/dev-ml/ppx_jane/metadata.xml
@@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
<upstream>
<remote-id type="github">janestreet/ppx_jane</remote-id>
</upstream>
diff --git a/dev-ml/ppx_jane/ppx_jane-0.14.0.ebuild b/dev-ml/ppx_jane/ppx_jane-0.14.0.ebuild
new file mode 100644
index 000000000000..d355e0a30193
--- /dev/null
+++ b/dev-ml/ppx_jane/ppx_jane-0.14.0.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="Standard Jane Street ppx rewriters"
+HOMEPAGE="https://github.com/janestreet/ppx_jane"
+SRC_URI="https://github.com/janestreet/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+IUSE="+ocamlopt"
+
+DEPEND="
+ dev-ml/base_quickcheck:=
+ dev-ml/ppx_assert:=
+ dev-ml/ppx_base:=
+ dev-ml/ppx_bench:=
+ dev-ml/ppx_bin_prot:=
+ dev-ml/ppx_custom_printf:=
+ dev-ml/ppx_expect:=
+ dev-ml/ppx_fail:=
+ dev-ml/ppx_fields_conv:=
+ dev-ml/ppx_fixed_literal:=
+ dev-ml/ppx_here:=
+ dev-ml/ppx_inline_test:=
+ dev-ml/ppx_let:=
+ dev-ml/ppx_module_timer:=
+ dev-ml/ppx_optcomp:=
+ dev-ml/ppx_optional:=
+ dev-ml/ppx_pipebang:=
+ dev-ml/ppx_sexp_message:=
+ dev-ml/ppx_sexp_value:=
+ dev-ml/ppx_stable:=
+ dev-ml/ppx_string:=
+ dev-ml/ppx_typerep_conv:=
+ dev-ml/ppx_variants_conv:=
+ dev-ml/ppxlib:=
+"
+RDEPEND="${DEPEND}"
diff --git a/dev-ml/ppx_js_style/Manifest b/dev-ml/ppx_js_style/Manifest
index e5e008e6d5cf..064c16e7f3ab 100644
--- a/dev-ml/ppx_js_style/Manifest
+++ b/dev-ml/ppx_js_style/Manifest
@@ -1 +1,2 @@
+DIST ppx_js_style-0.14.0.tar.gz 10587 BLAKE2B 8219a69526be53b9fce488f725c79ff30c451c556853aa54d8dbbd7040a76df37ac8942ae05cdcbbe6d839a64d5b471f53a2fce276e547a17e68490c1ec1ab19 SHA512 3561b7668bafc421fa82c3c80e019185924bfc8cafab6ef81299395061db78261005bdd34be5bed8a80bec84306b9294e6398a3a1ee0a269f7b8f3942953a6a4
DIST ppx_js_style-0.9.0.tar.gz 8182 BLAKE2B e2c4bffb07882d49f3839b2a402e2617b9e19147a0d4ff4c7aa4fb4a350d2208eccd76ec64828c4d56edce8f811c462396aa805ca3440b93ba22790d59c8dd23 SHA512 9790223a2d8f6db090cfa4d7ff3d3d1c8a22b07863dd3c5674216836b23cfdb3b014ebc092e173ddfe725ccf73fc7830a8a88effab1df9d80875f918b9558051
diff --git a/dev-ml/ppx_js_style/metadata.xml b/dev-ml/ppx_js_style/metadata.xml
index 3272a51e2cff..0d5d7a713ab7 100644
--- a/dev-ml/ppx_js_style/metadata.xml
+++ b/dev-ml/ppx_js_style/metadata.xml
@@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
<upstream>
<remote-id type="github">janestreet/ppx_js_style</remote-id>
</upstream>
diff --git a/dev-ml/ppx_js_style/ppx_js_style-0.14.0.ebuild b/dev-ml/ppx_js_style/ppx_js_style-0.14.0.ebuild
new file mode 100644
index 000000000000..01b6094d5562
--- /dev/null
+++ b/dev-ml/ppx_js_style/ppx_js_style-0.14.0.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="Code style checker for Jane Street Packages"
+HOMEPAGE="https://github.com/janestreet/ppx_js_style"
+SRC_URI="https://github.com/janestreet/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64"
+IUSE="+ocamlopt"
+
+DEPEND="
+ dev-ml/base:=
+ dev-ml/octavius:=
+ dev-ml/ppxlib:=
+ dev-ml/ocaml-migrate-parsetree:=
+ dev-ml/result:=
+ "
+RDEPEND="${DEPEND}"
diff --git a/dev-ml/ppx_let/Manifest b/dev-ml/ppx_let/Manifest
index b18963fb4dc3..d7ecf3f17af3 100644
--- a/dev-ml/ppx_let/Manifest
+++ b/dev-ml/ppx_let/Manifest
@@ -1 +1,2 @@
+DIST ppx_let-0.14.0.tar.gz 10822 BLAKE2B c1dc155afb0bc52bb22d65c2c19536d41d53e4cf10d39b70ebadf1cf8cfb37ff1c25d9fcfb48f9421a0c55887acc2c6ce72d531593a61654146d3196fa83499d SHA512 79f2dcf2c76308b5993d1b9dad5c961b816dcc4ae43d856c51c196a67eb21b2f51135762e52d512afa9b45aca30002abbca76036ebcc117464a4823d1c40ed0c
DIST ppx_let-0.9.0.tar.gz 9245 BLAKE2B 827efa86db6981416c07205bf520d750dea6b6a2f1789faaeb59fcc7ddff78470e9670c471c5c3e5b6929181149404b86e3bbe6e67ffa2946895a7d464079316 SHA512 545cdf341dafaab958e1dfec476f3a714ae5899dea3775ace443e36fe4d55136489ae376f2394dbecdcbcb4dbc66e41a1de147b2774c9a0c7508b827acba4250
diff --git a/dev-ml/ppx_let/metadata.xml b/dev-ml/ppx_let/metadata.xml
index 0fcc4e6ccaeb..94e867485031 100644
--- a/dev-ml/ppx_let/metadata.xml
+++ b/dev-ml/ppx_let/metadata.xml
@@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
<upstream>
<remote-id type="github">janestreet/ppx_let</remote-id>
</upstream>
diff --git a/dev-ml/ppx_let/ppx_let-0.14.0.ebuild b/dev-ml/ppx_let/ppx_let-0.14.0.ebuild
new file mode 100644
index 000000000000..10a7743ff23a
--- /dev/null
+++ b/dev-ml/ppx_let/ppx_let-0.14.0.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="Monadic let-bindings"
+HOMEPAGE="https://github.com/janestreet/ppx_let"
+SRC_URI="https://github.com/janestreet/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+IUSE="+ocamlopt"
+
+DEPEND="
+ dev-ml/base:=
+ dev-ml/ppxlib:=
+ dev-ml/ocaml-migrate-parsetree:=
+ dev-ml/result:=
+"
+RDEPEND="${DEPEND}"
diff --git a/dev-ml/ppx_metaquot/Manifest b/dev-ml/ppx_metaquot/Manifest
index 7ec64ce0eca4..19d8b13ffd84 100644
--- a/dev-ml/ppx_metaquot/Manifest
+++ b/dev-ml/ppx_metaquot/Manifest
@@ -1 +1,2 @@
+DIST ppx_metaquot-0.11.0.tar.gz 5407 BLAKE2B 610f3197e2809914232310363775bb5f0f889681fec1274071eba71617131b863f6229e85dcdf3749dbb300a980f39dfeacfe23f388f5f898d01925d07fbcc43 SHA512 59d95a5d9298d47adc9e3ca531aae59c91cfa019d90a5d8aa5e11de6bf1f3d3fcd2dbc800028a3ab999ba51257f695116b0a32a96c958bafea39761fe5db230b
DIST ppx_metaquot-0.9.0.tar.gz 6801 BLAKE2B b5629da4c2460ed064e614e0051bd104fd731526498ffd085a75039672c186f314918c4c355a9dacfee7982c06b338950de0a670b27bd061e19b688a21693c08 SHA512 7645f02f964f2a33836f947a725384f95c7724dcd88c031aa3dd2d255127a21d473e19ff77cb917f845930ab44541a4698becf56721cc1a0a0eee5912947cd22
diff --git a/dev-ml/ppx_metaquot/metadata.xml b/dev-ml/ppx_metaquot/metadata.xml
index cc4e02414d74..dac500f6bc30 100644
--- a/dev-ml/ppx_metaquot/metadata.xml
+++ b/dev-ml/ppx_metaquot/metadata.xml
@@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
<upstream>
<remote-id type="github">janestreet/ppx_metaquot</remote-id>
</upstream>
diff --git a/dev-ml/ppx_metaquot/ppx_metaquot-0.11.0.ebuild b/dev-ml/ppx_metaquot/ppx_metaquot-0.11.0.ebuild
new file mode 100644
index 000000000000..f96e27fefda5
--- /dev/null
+++ b/dev-ml/ppx_metaquot/ppx_metaquot-0.11.0.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="Write OCaml AST fragment using OCaml syntax"
+HOMEPAGE="https://github.com/janestreet/ppx_metaquot"
+SRC_URI="https://github.com/janestreet/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64"
+IUSE="+ocamlopt"
+
+DEPEND="dev-ml/ppxlib:="
+RDEPEND="${DEPEND}"
diff --git a/dev-ml/ppx_module_timer/Manifest b/dev-ml/ppx_module_timer/Manifest
new file mode 100644
index 000000000000..e07961242984
--- /dev/null
+++ b/dev-ml/ppx_module_timer/Manifest
@@ -0,0 +1 @@
+DIST ppx_module_timer-0.14.0.tar.gz 7262 BLAKE2B 6fafc6b4b449071f4a95619d078814b0c3ace3574df46585b72549e5db349ab476124c217f46c6903c7c8a059f779dc62cc8a079eb1ef6b4854646fdabdf04bf SHA512 cd9b6bbd6461b7408a31a0f6ca010a3c755db1f4a22150645c530e7b4a0a4c76a308ad0f8aeddc54914a116f6d74bd738604cfd9d9d255197f9ea18904d715e7
diff --git a/dev-ml/ppx_module_timer/metadata.xml b/dev-ml/ppx_module_timer/metadata.xml
new file mode 100644
index 000000000000..b993e4623ddc
--- /dev/null
+++ b/dev-ml/ppx_module_timer/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">janestreet/ppx_module_timer</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-ml/ppx_module_timer/ppx_module_timer-0.14.0.ebuild b/dev-ml/ppx_module_timer/ppx_module_timer-0.14.0.ebuild
new file mode 100644
index 000000000000..5becf5b05ffd
--- /dev/null
+++ b/dev-ml/ppx_module_timer/ppx_module_timer-0.14.0.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="Ppx rewriter that records top-level module startup times"
+HOMEPAGE="https://github.com/janestreet/ppx_module_timer"
+SRC_URI="https://github.com/janestreet/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+IUSE="+ocamlopt"
+
+DEPEND="
+ dev-ml/base:=
+ dev-ml/ppx_base:=
+ dev-ml/stdio:=
+ dev-ml/time_now:=
+ dev-ml/ppxlib:=
+ dev-ml/result:=
+"
+RDEPEND="${DEPEND}"
diff --git a/dev-ml/ppx_optcomp/Manifest b/dev-ml/ppx_optcomp/Manifest
index 97571ab30d40..a27b0ede003c 100644
--- a/dev-ml/ppx_optcomp/Manifest
+++ b/dev-ml/ppx_optcomp/Manifest
@@ -1 +1,2 @@
+DIST ppx_optcomp-0.14.0.tar.gz 16583 BLAKE2B 9b139708e02501245d5440a862324fe0191c9c96772e6599ed474a734263c4d2c0fa08fff666abd2efb218ec03a2b9b47c5ef6480d53a8d0f280550b741ac39a SHA512 e86b108d805500cbd7be628f41436ec8de0e8622d4218631d01bf73b0e70da0a057b8531465206baa9b8851ce9c22c5cd53921fccfae352ee46527d69964dc44
DIST ppx_optcomp-0.9.0.tar.gz 14611 BLAKE2B 6fc431fd3ed173835a48814718a05b3ae619f182f4c008415dba77c88bfeab780e6fc49c4faed2ee4e362b6a151544b1a707651dcbfdbfcdce979a2a3d6d6c02 SHA512 ce4a5049045458533b783b99b7569e72e074bd425a81315d43fcab26dbc2a4b141cfda2b2365c69b3d0251f2bf0b8c8f0d14fc8883f1a0f4edae824776565a9c
diff --git a/dev-ml/ppx_optcomp/files/ppx_optcomp-0.14.0-ppxlib-0.18.0.patch b/dev-ml/ppx_optcomp/files/ppx_optcomp-0.14.0-ppxlib-0.18.0.patch
new file mode 100644
index 000000000000..063b9df74aba
--- /dev/null
+++ b/dev-ml/ppx_optcomp/files/ppx_optcomp-0.14.0-ppxlib-0.18.0.patch
@@ -0,0 +1,63 @@
+commit a4422ecd7e0677569533b1dae07924f5d786e8f6 (HEAD, origin/upgrade-ppxlib-0.18.0)
+Author: Nathan Rebours <nathan.p.rebours@gmail.com>
+Date: Mon Oct 5 18:35:26 2020 +0200
+
+ Make ppx_optcomp compatible with ppxlib.0.18.0
+
+ ppxlib.0.18.0 upgrades to the 4.11 AST which results in a change
+ in string constants representation. This PR makes ppx_optcomp
+ compatible with the latest ppxlib.
+
+ You might want for the actual release of ppxlib.0.18.0 before merging
+ this!
+
+ Signed-off-by: Nathan Rebours <nathan.p.rebours@gmail.com>
+
+diff --git a/ppx_optcomp.opam b/ppx_optcomp.opam
+index 20eb7c5..cbe8b5c 100644
+--- a/ppx_optcomp.opam
++++ b/ppx_optcomp.opam
+@@ -15,7 +15,7 @@ depends: [
+ "base" {>= "v0.14" & < "v0.15"}
+ "stdio" {>= "v0.14" & < "v0.15"}
+ "dune" {>= "2.0.0"}
+- "ppxlib" {>= "0.11.0"}
++ "ppxlib" {>= "0.18.0"}
+ ]
+ synopsis: "Optional compilation for OCaml"
+ description: "
+diff --git a/src/interpreter.ml b/src/interpreter.ml
+index f1da14b..1c6d726 100644
+--- a/src/interpreter.ml
++++ b/src/interpreter.ml
+@@ -241,7 +241,7 @@ let rec eval env e : Value.t =
+ match e.pexp_desc with
+ | Pexp_constant (Pconst_integer (x, None)) -> Int (parse_int loc x)
+ | Pexp_constant (Pconst_char x ) -> Char x
+- | Pexp_constant (Pconst_string (x, _ )) -> String x
++ | Pexp_constant (Pconst_string (x, _, _ )) -> String x
+
+ | Pexp_construct ({ txt = Lident "true" ; _ }, None) -> Bool true
+ | Pexp_construct ({ txt = Lident "false"; _ }, None) -> Bool false
+@@ -361,7 +361,7 @@ and bind env patt value =
+
+ | Ppat_constant (Pconst_integer (x, None)), Int y when parse_int loc x = y -> env
+ | Ppat_constant (Pconst_char x ), Char y when Char.equal x y -> env
+- | Ppat_constant (Pconst_string (x, _ )), String y when String.equal x y -> env
++ | Ppat_constant (Pconst_string (x, _, _ )), String y when String.equal x y -> env
+
+ | Ppat_construct ({ txt = Lident "true" ; _ }, None), Bool true -> env
+ | Ppat_construct ({ txt = Lident "false"; _ }, None), Bool false -> env
+diff --git a/src/ppx_optcomp.ml b/src/ppx_optcomp.ml
+index a2573de..d87ea24 100644
+--- a/src/ppx_optcomp.ml
++++ b/src/ppx_optcomp.ml
+@@ -81,7 +81,7 @@ module Ast_utils = struct
+ let get_string ~loc payload =
+ let e = get_expr ~loc payload in
+ match e with
+- | { pexp_desc = Pexp_constant (Pconst_string (x, _ )); _ } -> x
++ | { pexp_desc = Pexp_constant (Pconst_string (x, _, _ )); _ } -> x
+ | _ -> Location.raise_errorf ~loc "optcomp: invalid directive syntax, expected string"
+
+ end
diff --git a/dev-ml/ppx_optcomp/metadata.xml b/dev-ml/ppx_optcomp/metadata.xml
index f45619ffca46..30b65cf1fd3a 100644
--- a/dev-ml/ppx_optcomp/metadata.xml
+++ b/dev-ml/ppx_optcomp/metadata.xml
@@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
<upstream>
<remote-id type="github">janestreet/ppx_optcomp</remote-id>
</upstream>
diff --git a/dev-ml/ppx_optcomp/ppx_optcomp-0.14.0.ebuild b/dev-ml/ppx_optcomp/ppx_optcomp-0.14.0.ebuild
new file mode 100644
index 000000000000..f1290a509500
--- /dev/null
+++ b/dev-ml/ppx_optcomp/ppx_optcomp-0.14.0.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="Optional compilation for OCaml"
+HOMEPAGE="https://github.com/janestreet/ppx_optcomp"
+SRC_URI="https://github.com/janestreet/ppx_optcomp/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="+ocamlopt"
+
+DEPEND="
+ dev-ml/base:=
+ dev-ml/stdio:=
+ >=dev-ml/ppxlib-0.18.0:=
+ dev-ml/ocaml-migrate-parsetree:=
+ dev-ml/result:=
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=( "${FILESDIR}"/${P}-ppxlib-0.18.0.patch )
diff --git a/dev-ml/ppx_optional/Manifest b/dev-ml/ppx_optional/Manifest
index ce42d2ddd1cb..7782ba09d705 100644
--- a/dev-ml/ppx_optional/Manifest
+++ b/dev-ml/ppx_optional/Manifest
@@ -1 +1,2 @@
+DIST ppx_optional-0.14.0.tar.gz 6090 BLAKE2B 99c5ed7ab6b6c555477eaf468786cc175ff8c8ac4d0c6abb8110637da57396ed599d5c10bd35f3d5ff27a41b00314ca355596e4158c4d792fcb37d547455b90d SHA512 70ed28a974ea1bbcb3fe2e54911e355da54fafd6dff3e74c471126a824c28e9a180777e96e17c4a7a52be4be507fbbc0fa3e92310346dbaf5ab8711845e92e40
DIST ppx_optional-0.9.0.tar.gz 6940 BLAKE2B 28b9ab2b8cc20f295e927533ff9eed694289987914105758d3c014d06064bd21016d44bc7ad72b331a4c887848ed9c2dd75a0a48b6d5f330de898087596d1cc3 SHA512 c341bc8e64b7caf7af5c878747697330db84b14959f22930dd6919cc861dce847983771cbad2ed7800ab8c64704e88fa0d8db3ca7c8f2924bf785a4dccd17fa0
diff --git a/dev-ml/ppx_optional/metadata.xml b/dev-ml/ppx_optional/metadata.xml
index aa510eb3b023..8a58c771030e 100644
--- a/dev-ml/ppx_optional/metadata.xml
+++ b/dev-ml/ppx_optional/metadata.xml
@@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
<upstream>
<remote-id type="github">janestreet/ppx_optional</remote-id>
</upstream>
diff --git a/dev-ml/ppx_optional/ppx_optional-0.14.0.ebuild b/dev-ml/ppx_optional/ppx_optional-0.14.0.ebuild
new file mode 100644
index 000000000000..49577612a831
--- /dev/null
+++ b/dev-ml/ppx_optional/ppx_optional-0.14.0.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="Pattern matching on flat options"
+HOMEPAGE="https://github.com/janestreet/ppx_optional"
+SRC_URI="https://github.com/janestreet/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+IUSE="+ocamlopt"
+
+DEPEND="
+ dev-ml/base:=
+ dev-ml/ppxlib:=
+ dev-ml/ocaml-migrate-parsetree:=
+ dev-ml/result:=
+"
+RDEPEND="${DEPEND}"
diff --git a/dev-ml/ppx_pipebang/Manifest b/dev-ml/ppx_pipebang/Manifest
index b1978f4cad5f..a73b6b232a80 100644
--- a/dev-ml/ppx_pipebang/Manifest
+++ b/dev-ml/ppx_pipebang/Manifest
@@ -1 +1,2 @@
+DIST ppx_pipebang-0.14.0.tar.gz 3766 BLAKE2B a2e99dd5e27ddbca5d77b1c215757d8d0d2d54b53511f0db93a09a16c25b5c5e429a08c8d42c7e4843eeb23c346649dea5700c445afe176f4b1625340901b6c1 SHA512 b07004aef0865c877f8f814068b514298568078785586933f400350d1a1dae3eb4aafe1ba4f12e17a3e2a3945297162c4a725ebfbc153e80b412c6086019959a
DIST ppx_pipebang-0.9.0.tar.gz 5964 BLAKE2B ce001d207a59b1e99f7a023c2823d1b90233762147ad377aa54f7c771041e77081f7f9b05a0f36cb9a2f6379622a9686fa5bad8974d7707dc0b22b3c704edac6 SHA512 d0e82152d257f7214e577e37046877a9c4129c6a9fd79f83912c6335455add4302d927e70117a1e9386c448686d271a7596b3fd2ef0b5f2bda8010cbb9157751
diff --git a/dev-ml/ppx_pipebang/metadata.xml b/dev-ml/ppx_pipebang/metadata.xml
index b7e3332536f9..91b6ab049cba 100644
--- a/dev-ml/ppx_pipebang/metadata.xml
+++ b/dev-ml/ppx_pipebang/metadata.xml
@@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
<upstream>
<remote-id type="github">janestreet/ppx_pipebang</remote-id>
</upstream>
diff --git a/dev-ml/ppx_pipebang/ppx_pipebang-0.14.0.ebuild b/dev-ml/ppx_pipebang/ppx_pipebang-0.14.0.ebuild
new file mode 100644
index 000000000000..669bd4848cb1
--- /dev/null
+++ b/dev-ml/ppx_pipebang/ppx_pipebang-0.14.0.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="A ppx rewriter that inlines reverse application operators |> and |!"
+HOMEPAGE="https://github.com/janestreet/ppx_pipebang"
+SRC_URI="https://github.com/janestreet/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+IUSE="+ocamlopt"
+
+DEPEND="
+ dev-ml/ppxlib:=
+ dev-ml/ocaml-migrate-parsetree:=
+ dev-ml/result:=
+ dev-ml/base:=
+"
+RDEPEND="${DEPEND}"
diff --git a/dev-ml/ppx_sexp_conv/Manifest b/dev-ml/ppx_sexp_conv/Manifest
index c2d417ec8f51..3c751982c3d5 100644
--- a/dev-ml/ppx_sexp_conv/Manifest
+++ b/dev-ml/ppx_sexp_conv/Manifest
@@ -1 +1,2 @@
+DIST ppx_sexp_conv-0.14.1.tar.gz 49857 BLAKE2B ede55963d995917bd0c4a1464b58f8584ec6be4793df706fd3be96670fe685aba82459f9a1e4c6117c594953a3f23c502cc609f1069d482d24278baf7ed87ed5 SHA512 5018abe07300f67cb2c8b8cd8242403a91ac6b7fda13fe43060b3b09635082a7ad45858c7c6442a5fcae2b6d7d398a03eec16cfcbc5fd59f7f3f5c5fd1ad56f9
DIST ppx_sexp_conv-0.9.0.tar.gz 28000 BLAKE2B 2536d3ddbd4ee83baf9eade208983ce9856318079e29da9858838c985b904a7e2e1c6e3ea06bd1360cc17e619f1e952634554e89b294dd00981934679b384c3f SHA512 af3d28a3cdb7c796549a2598c218f69a69d58da715ef2d16077c3adeb22823fa7bec6bc0d8cb6caaf2a0adb56dfcb39d667975959251fb310b69d6abe8302845
diff --git a/dev-ml/ppx_sexp_conv/files/ppx_sexp_conv-0.14.1-ppxlib-0.18.0.patch b/dev-ml/ppx_sexp_conv/files/ppx_sexp_conv-0.14.1-ppxlib-0.18.0.patch
new file mode 100644
index 000000000000..48004a4f26e2
--- /dev/null
+++ b/dev-ml/ppx_sexp_conv/files/ppx_sexp_conv-0.14.1-ppxlib-0.18.0.patch
@@ -0,0 +1,41 @@
+commit 13e9b27f5f9550b825128f8cd1f31d20dc8fa91b (HEAD, origin/upgrade-ppxlib-0.18.0)
+Author: Nathan Rebours <nathan.p.rebours@gmail.com>
+Date: Mon Oct 5 17:33:56 2020 +0200
+
+ Make ppx_sexp_conv compatible with ppxlib.0.18.0
+
+ ppxlib.0.18.0 upgrades to the 4.11 AST which results in a change
+ in string constants representation. This PR makes ppx_sexp_conv
+ compatible with the latest ppxlib.
+
+ You might want for the actual release of ppxlib.0.18.0 before merging
+ this!
+
+ Signed-off-by: Nathan Rebours <nathan.p.rebours@gmail.com>
+
+diff --git a/expander/sexp_grammar_lifter.ml b/expander/sexp_grammar_lifter.ml
+index 05005bf..17f1e73 100644
+--- a/expander/sexp_grammar_lifter.ml
++++ b/expander/sexp_grammar_lifter.ml
+@@ -28,7 +28,7 @@ type atom = Atom.t
+ type var_name = Sexp.Private.Raw_grammar.var_name
+ type type_name = Sexp.Private.Raw_grammar.type_name
+
+-let lift_string ~loc s = pexp_constant ~loc (Pconst_string (s, None))
++let lift_string ~loc s = pexp_constant ~loc (Pconst_string (s, loc, None))
+ let lift_var_name = lift_string
+ let lift_type_name = lift_string
+
+diff --git a/ppx_sexp_conv.opam b/ppx_sexp_conv.opam
+index 06fd03e..05c4182 100644
+--- a/ppx_sexp_conv.opam
++++ b/ppx_sexp_conv.opam
+@@ -15,7 +15,7 @@ depends: [
+ "base" {>= "v0.14" & < "v0.15"}
+ "sexplib0" {>= "v0.14" & < "v0.15"}
+ "dune" {>= "2.0.0"}
+- "ppxlib" {>= "0.11.0"}
++ "ppxlib" {>= "0.18.0"}
+ ]
+ synopsis: "[@@deriving] plugin to generate S-expression conversion functions"
+ description: "
diff --git a/dev-ml/ppx_sexp_conv/metadata.xml b/dev-ml/ppx_sexp_conv/metadata.xml
index 0ff7a80359e7..49e0dac594b0 100644
--- a/dev-ml/ppx_sexp_conv/metadata.xml
+++ b/dev-ml/ppx_sexp_conv/metadata.xml
@@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
<upstream>
<remote-id type="github">janestreet/ppx_sexp_conv</remote-id>
</upstream>
diff --git a/dev-ml/ppx_sexp_conv/ppx_sexp_conv-0.14.1.ebuild b/dev-ml/ppx_sexp_conv/ppx_sexp_conv-0.14.1.ebuild
new file mode 100644
index 000000000000..a8e0f48c7c3c
--- /dev/null
+++ b/dev-ml/ppx_sexp_conv/ppx_sexp_conv-0.14.1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="Support Library for type-driven code generators"
+HOMEPAGE="https://github.com/janestreet/ppx_sexp_conv"
+SRC_URI="https://github.com/janestreet/ppx_sexp_conv/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64"
+IUSE="+ocamlopt"
+
+DEPEND="
+ dev-ml/base:=
+ dev-ml/ocaml-migrate-parsetree:=
+ dev-ml/result:=
+ >=dev-ml/ppxlib-0.18.0:=
+ dev-ml/ocaml-compiler-libs:=
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=( "${FILESDIR}"/${P}-ppxlib-0.18.0.patch )
diff --git a/dev-ml/ppx_sexp_message/Manifest b/dev-ml/ppx_sexp_message/Manifest
index d04f619ba6bc..5b3b55f00d24 100644
--- a/dev-ml/ppx_sexp_message/Manifest
+++ b/dev-ml/ppx_sexp_message/Manifest
@@ -1 +1,2 @@
+DIST ppx_sexp_message-0.14.0.tar.gz 7738 BLAKE2B a00577faf55b0816991bfe6f11fdc21d9b56893c29e67036483adce56c095cb8a2ee9014f9f0768ab96bbd28fe2f46b262e8a6122cf66ccb2740af7be890db0d SHA512 627f8e52914ef228277ff31a0d2262de823767fa0b510b1a29cbfc754c7cbc84cabe7c94de3e3a72d888d19e23584ebcc46c16997ffd7cdae41378cb44b2bc23
DIST ppx_sexp_message-0.9.0.tar.gz 8965 BLAKE2B df59ff7f598a7ff19a16829addbc5b49f2e7dfb2b30aab43f5d220f6d45f625750ca1d63eba3187b09d494a2c06af642c2a2e4d581c6a247440ba06d6f46dae0 SHA512 38a376b23372b8699fef76085ad2ead7b5fb34b823b0c7e3e52ac90654133a44429d7a3383197b78c8f01a7b64753ce424d5138b8aef596d236ce9c798ec1887
diff --git a/dev-ml/ppx_sexp_message/files/ppx_sexp_message-0.14.0-ppxlib-0.18.0.patch b/dev-ml/ppx_sexp_message/files/ppx_sexp_message-0.14.0-ppxlib-0.18.0.patch
new file mode 100644
index 000000000000..a472c5ab29a1
--- /dev/null
+++ b/dev-ml/ppx_sexp_message/files/ppx_sexp_message-0.14.0-ppxlib-0.18.0.patch
@@ -0,0 +1,41 @@
+commit fd604b269398aebdb0c5fa5511d9f3c38b6ecb45 (HEAD, origin/upgrade-ppxlib-0.18.0)
+Author: Nathan Rebours <nathan.p.rebours@gmail.com>
+Date: Mon Oct 5 18:04:41 2020 +0200
+
+ Make ppx_sexp_message compatible with ppxlib.0.18.0
+
+ ppxlib.0.18.0 upgrades to the 4.11 AST which results in a change
+ in string constants representation. This PR makes ppx_sexp_message
+ compatible with the latest ppxlib.
+
+ You might want for the actual release of ppxlib.0.18.0 before merging
+ this!
+
+ Signed-off-by: Nathan Rebours <nathan.p.rebours@gmail.com>
+
+diff --git a/expander/ppx_sexp_message_expander.ml b/expander/ppx_sexp_message_expander.ml
+index e0c2477..c801cd7 100644
+--- a/expander/ppx_sexp_message_expander.ml
++++ b/expander/ppx_sexp_message_expander.ml
+@@ -97,7 +97,7 @@ let sexp_of_expr ~omit_nil e =
+ let e = rewrite_here e in
+ let loc = { e.pexp_loc with loc_ghost = true } in
+ match e.pexp_desc with
+- | Pexp_constant (Pconst_string ("", _)) -> Absent
++ | Pexp_constant (Pconst_string ("", _, _)) -> Absent
+ | Pexp_constant const ->
+ present_or_omit_nil ~loc ~omit_nil:false (sexp_of_constant ~loc const)
+ | Pexp_constraint (expr, ctyp) -> sexp_of_constraint ~omit_nil ~loc expr ctyp
+diff --git a/ppx_sexp_message.opam b/ppx_sexp_message.opam
+index d8a6d95..3d6ef41 100644
+--- a/ppx_sexp_message.opam
++++ b/ppx_sexp_message.opam
+@@ -16,7 +16,7 @@ depends: [
+ "ppx_here" {>= "v0.14" & < "v0.15"}
+ "ppx_sexp_conv" {>= "v0.14" & < "v0.15"}
+ "dune" {>= "2.0.0"}
+- "ppxlib" {>= "0.11.0"}
++ "ppxlib" {>= "0.18.0"}
+ ]
+ synopsis: "A ppx rewriter for easy construction of s-expressions"
+ description: "
diff --git a/dev-ml/ppx_sexp_message/metadata.xml b/dev-ml/ppx_sexp_message/metadata.xml
index 715559feb2c9..2f418c1a3acf 100644
--- a/dev-ml/ppx_sexp_message/metadata.xml
+++ b/dev-ml/ppx_sexp_message/metadata.xml
@@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
<upstream>
<remote-id type="github">janestreet/ppx_sexp_message</remote-id>
</upstream>
diff --git a/dev-ml/ppx_sexp_message/ppx_sexp_message-0.14.0.ebuild b/dev-ml/ppx_sexp_message/ppx_sexp_message-0.14.0.ebuild
new file mode 100644
index 000000000000..35cfea25682a
--- /dev/null
+++ b/dev-ml/ppx_sexp_message/ppx_sexp_message-0.14.0.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="A ppx rewriter for easy construction of s-expressions"
+HOMEPAGE="https://github.com/janestreet/ppx_sexp_message"
+SRC_URI="https://github.com/janestreet/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+IUSE="+ocamlopt"
+
+DEPEND="
+ dev-ml/base:=
+ dev-ml/ppx_here:=
+ dev-ml/ppx_sexp_conv:=
+ dev-ml/ocaml-migrate-parsetree:=
+ dev-ml/result:=
+ >=dev-ml/ppxlib-0.18.0:=
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=( "${FILESDIR}"/${P}-ppxlib-0.18.0.patch )
diff --git a/dev-ml/ppx_sexp_value/Manifest b/dev-ml/ppx_sexp_value/Manifest
index eb65e1812075..fa80fbff385e 100644
--- a/dev-ml/ppx_sexp_value/Manifest
+++ b/dev-ml/ppx_sexp_value/Manifest
@@ -1 +1,2 @@
+DIST ppx_sexp_value-0.14.0.tar.gz 7740 BLAKE2B f495d0b9032a73cd6a62292185e77cfe6206bb06564e663c04a20c9430dd4188da529bef6428a7a07309109ec7fc51d3909ac58d5760c1fab618f59eee8a6b63 SHA512 d33ed503025e07588a21ca6796004dd53ddfb9f67f3527d066c4767734fb8723d0a9d31082d285ba82996d8b69faecb624f116046ea8048637f05773ee3e89a8
DIST ppx_sexp_value-0.9.0.tar.gz 10666 BLAKE2B db3f3bc626b00dd6bf6c1ab1afedfd581ec48689307c1ad52767b0aa64d5c36a10556b37ac3e2e2fecf1eb5230ab1e049f458ff3c8c039cf789146f1458dbf2a SHA512 7dcb8f70a7938d26fc5a1afea2bf5e77c4996d8e82720206ab9e5a462a59182dcedfbfede49ed83ed50f2683776b75fb5bae00c53fc451b03f6a33e126566e84
diff --git a/dev-ml/ppx_sexp_value/metadata.xml b/dev-ml/ppx_sexp_value/metadata.xml
index 77efff66f4ea..8bfb2fda744c 100644
--- a/dev-ml/ppx_sexp_value/metadata.xml
+++ b/dev-ml/ppx_sexp_value/metadata.xml
@@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
<upstream>
<remote-id type="github">janestreet/ppx_sexp_value</remote-id>
</upstream>
diff --git a/dev-ml/ppx_sexp_value/ppx_sexp_value-0.14.0.ebuild b/dev-ml/ppx_sexp_value/ppx_sexp_value-0.14.0.ebuild
new file mode 100644
index 000000000000..0b8d92037c61
--- /dev/null
+++ b/dev-ml/ppx_sexp_value/ppx_sexp_value-0.14.0.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="Standard library for ppx rewriters"
+HOMEPAGE="https://github.com/janestreet/ppx_sexp_value"
+SRC_URI="https://github.com/janestreet/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+IUSE="+ocamlopt"
+
+DEPEND="
+ dev-ml/base:=
+ dev-ml/ppx_here:=
+ dev-ml/ppx_sexp_conv:=
+ dev-ml/ocaml-migrate-parsetree:=
+ dev-ml/result:=
+ dev-ml/ppxlib:=
+"
+RDEPEND="${DEPEND}"
diff --git a/dev-ml/ppx_stable/Manifest b/dev-ml/ppx_stable/Manifest
new file mode 100644
index 000000000000..4c65859c1972
--- /dev/null
+++ b/dev-ml/ppx_stable/Manifest
@@ -0,0 +1 @@
+DIST ppx_stable-0.14.1.tar.gz 12031 BLAKE2B 837a53206d3a8d651d53f665daebbcfde3a1b5d55f1ed13d3ac8feecbd9ba0fb24ad7bb1cf24a0bfa00a41a46c3ef0f84385bc8792685f42ef18facf88ce348f SHA512 1c99a61537a2ce7d40208c64efbf71c54726b228d3746f2afaf9e813b3fed9c8016bb2eb859be24993c7c922a34f574e1028db8e7ee922d4772336dc0496df74
diff --git a/dev-ml/ppx_stable/metadata.xml b/dev-ml/ppx_stable/metadata.xml
new file mode 100644
index 000000000000..b92f10916eeb
--- /dev/null
+++ b/dev-ml/ppx_stable/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">janestreet/ppx_stable</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-ml/ppx_stable/ppx_stable-0.14.1.ebuild b/dev-ml/ppx_stable/ppx_stable-0.14.1.ebuild
new file mode 100644
index 000000000000..d001ad9bbfe7
--- /dev/null
+++ b/dev-ml/ppx_stable/ppx_stable-0.14.1.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="Stable types conversions generator"
+HOMEPAGE="https://github.com/janestreet/ppx_stable"
+SRC_URI="https://github.com/janestreet/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+IUSE="+ocamlopt"
+
+DEPEND="
+ dev-ml/base:=
+ dev-ml/ppxlib:=
+ dev-ml/ocaml-migrate-parsetree:=
+ dev-ml/result:=
+"
+RDEPEND="${DEPEND}"
diff --git a/dev-ml/ppx_string/Manifest b/dev-ml/ppx_string/Manifest
new file mode 100644
index 000000000000..fb237031a530
--- /dev/null
+++ b/dev-ml/ppx_string/Manifest
@@ -0,0 +1 @@
+DIST ppx_string-0.14.1.tar.gz 4807 BLAKE2B 2ce5cf2d5dd913f05e66c24ea5be2ce4a56c59b7e5faecf003a573274bfaef3834935276e110fba1d0af3a3ef9d6ca730622dc780ab6063945a01aa3d6900a43 SHA512 2b570ca3d248f89ee1903e6ea40fbcd9c5c72809ff1f42dc67e9d41f6c297465ae47ffdbeda9f263dddf14c9c460bbbdee01243cef838d0ec49493c3b5644aee
diff --git a/dev-ml/ppx_string/metadata.xml b/dev-ml/ppx_string/metadata.xml
new file mode 100644
index 000000000000..1350c31c1a0c
--- /dev/null
+++ b/dev-ml/ppx_string/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">janestreet/ppx_string</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-ml/ppx_string/ppx_string-0.14.1.ebuild b/dev-ml/ppx_string/ppx_string-0.14.1.ebuild
new file mode 100644
index 000000000000..1dba11376c55
--- /dev/null
+++ b/dev-ml/ppx_string/ppx_string-0.14.1.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="Ppx extension for string interpolation"
+HOMEPAGE="https://github.com/janestreet/ppx_string"
+SRC_URI="https://github.com/janestreet/ppx_string/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="+ocamlopt"
+
+DEPEND="
+ dev-ml/base:=
+ dev-ml/stdio:=
+ dev-ml/ppx_base:=
+ dev-ml/ppxlib:=
+ dev-ml/ocaml-migrate-parsetree:=
+ dev-ml/result:=
+"
+RDEPEND="${DEPEND}"
diff --git a/dev-ml/ppx_tools/Manifest b/dev-ml/ppx_tools/Manifest
index ee595bfd62d6..6db93e619196 100644
--- a/dev-ml/ppx_tools/Manifest
+++ b/dev-ml/ppx_tools/Manifest
@@ -1,3 +1,4 @@
DIST ppx_tools-5.0.4.03.0.tar.gz 17209 BLAKE2B bd51e5b2482a9eab09bf9a02ac0231fa7bbc721d54a932e6cfdc1d719c106eca0fe90563b636601110e796fab439f6c6d7fccd5d2920f5bcb3c115f622d90381 SHA512 d1867b084885704757f390b6f6ca8b5d7702f0476149d99ea227f98230ab35d57f5c4aa779881231a0a77cfd1861255118fa2551a49ab85553f63e9aab9baae4
DIST ppx_tools-5.0.4.05.0.tar.gz 17893 BLAKE2B 0902f53ef19338396cf2a2319a4c2d4b7bbbfb66bbfd0fb2290c29ecebcda02ff90d2f0d0221b08d027c41c863c2bc0a02c50363d83474864c08e619641b7ad6 SHA512 33b4420500a2b5880e770f8fdf2b37ef08e52ff84f96f955c6321492de906568979feccb1b2b477b1117619ba28edd8d3e0f178c5684f0dc43c6ed56266c4d64
DIST ppx_tools-5.3.4.08.0.tar.gz 18590 BLAKE2B fac872d113ab1bf9135357dea47d468924e16a1a038b64152d5ebb27daa69a8c2d906750146157954f4d95769535f4a93c1ecc9582ca0313d601a06606196c00 SHA512 817e2688d60f013fa42ffa263cfcc15cfae820240d2e54dfedf1f4a4191f9b9fc365a190cc7eeb9082ed72fbf3c94d6ba72c38c7db3e2bcac49a17ba590d71b5
+DIST ppx_tools-6.2.tar.gz 46150 BLAKE2B f8af2a1eee81d5a1e73ac606ab79d285c8c226533bcf715ed22386aecfaf51260fb9a5075d270675f1b601cb174b68d8c85556f418031a7b6bda06c4376fe443 SHA512 fc3943c69901ef46843355c3482d5a1481d05ee94fb0a344ec04101059a02cbaa76fed5742cfae82730edf378f2e140d859a5cf590653f85359255d451f07dc8
diff --git a/dev-ml/ppx_tools/metadata.xml b/dev-ml/ppx_tools/metadata.xml
index e8d73658568c..5631f770f367 100644
--- a/dev-ml/ppx_tools/metadata.xml
+++ b/dev-ml/ppx_tools/metadata.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
- <upstream>
- <remote-id type="github">alainfrisch/ppx_tools</remote-id>
- </upstream>
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">alainfrisch/ppx_tools</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-ml/ppx_tools/ppx_tools-6.2.ebuild b/dev-ml/ppx_tools/ppx_tools-6.2.ebuild
new file mode 100644
index 000000000000..3530629b0eaa
--- /dev/null
+++ b/dev-ml/ppx_tools/ppx_tools-6.2.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+MY_PV=$(ver_rs 2 '+')
+DESCRIPTION="Tools for authors of ppx rewriters"
+HOMEPAGE="https://github.com/alainfrisch/ppx_tools"
+SRC_URI="https://github.com/alainfrisch/ppx_tools/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="+ocamlopt"
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+S="${WORKDIR}/${PN}-$(ver_rs 2 '-')"
diff --git a/dev-ml/ppx_typerep_conv/Manifest b/dev-ml/ppx_typerep_conv/Manifest
index 464a1925c454..d1b1e183b575 100644
--- a/dev-ml/ppx_typerep_conv/Manifest
+++ b/dev-ml/ppx_typerep_conv/Manifest
@@ -1 +1,2 @@
+DIST ppx_typerep_conv-0.14.1.tar.gz 9453 BLAKE2B 4acafdd51df0659746697283aa3240f1b1403e4e9f9b5fafa6c4b09f4c76f6ac645e2ccab53cba7371b5b004edba38d24198334d10b295d90c8ba5814a602a23 SHA512 6e32f6c2cf6c370fcb8d3b341dbd797c3b7c2557c8604253d744b266c9a3f4984e62ffe6ec5717044378f81e5b78e7f206a7f0f4b43c0dda97a4e7ece745d26d
DIST ppx_typerep_conv-0.9.0.tar.gz 10844 BLAKE2B 4c21e9529c587507eef26fc53ae2c1153cbecd754d6b36b73ee6e639a13d872932a421207224c392394a52767f5fde66441cf19318499c8604c2e20b9583841a SHA512 155838bf6dce45a043624845ce882eee374df344f76a9433a1170d89cc27856a634f4ca31ad28e46b28c5103d00c3d8d7d79692872c5dfc35d0b4a7eebdb3d1d
diff --git a/dev-ml/ppx_typerep_conv/metadata.xml b/dev-ml/ppx_typerep_conv/metadata.xml
index becb16a3d46c..23f2e859b2a3 100644
--- a/dev-ml/ppx_typerep_conv/metadata.xml
+++ b/dev-ml/ppx_typerep_conv/metadata.xml
@@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
<upstream>
<remote-id type="github">janestreet/ppx_typerep_conv</remote-id>
</upstream>
diff --git a/dev-ml/ppx_typerep_conv/ppx_typerep_conv-0.14.1.ebuild b/dev-ml/ppx_typerep_conv/ppx_typerep_conv-0.14.1.ebuild
new file mode 100644
index 000000000000..e1cb2971b753
--- /dev/null
+++ b/dev-ml/ppx_typerep_conv/ppx_typerep_conv-0.14.1.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="Generation of runtime types from type declarations"
+HOMEPAGE="https://github.com/janestreet/ppx_typerep_conv"
+SRC_URI="https://github.com/janestreet/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+IUSE="+ocamlopt"
+
+DEPEND="
+ dev-ml/base:=
+ dev-ml/typerep:=
+ dev-ml/ppxlib:=
+ dev-ml/ocaml-migrate-parsetree:=
+ dev-ml/result:=
+ "
+RDEPEND="${DEPEND}"
diff --git a/dev-ml/ppx_variants_conv/Manifest b/dev-ml/ppx_variants_conv/Manifest
index e3c482db930f..750cc73a0e24 100644
--- a/dev-ml/ppx_variants_conv/Manifest
+++ b/dev-ml/ppx_variants_conv/Manifest
@@ -1 +1,2 @@
+DIST ppx_variants_conv-0.14.1.tar.gz 9640 BLAKE2B a73241a8dfc1cf41d2ad184f7e321484525794e66a1e881c822616aca6f8d221e9e699464716410a71ae3cbd542eef6315e0d183447e5e0e49bdb02935876375 SHA512 2ee21751de1595e56b151d87413554af5c0aaf92053ddd2834cadea812f1f59fcd078f6f4a9e9894eca9ffbf211ed2de996df065534c84256dc9670ee8fcbed5
DIST ppx_variants_conv-0.9.0.tar.gz 10649 BLAKE2B 824405cce55213ab055fb576becba6b7c2111501ad9e2784fd4eb62c32edf1288eb66f1e8d4c0e78e6aeb8ecf4ad62819b767c4d0a7eedc5ddbd3803d60e028a SHA512 4bb7c087c835fe0c8debc25b66dab9da2da3a5ad4eef856845075a146a2fe3a2598a5b77851bd922b532b57cb821ee934336f8638d44cc0fd81faefcc56e1d89
diff --git a/dev-ml/ppx_variants_conv/metadata.xml b/dev-ml/ppx_variants_conv/metadata.xml
index eb825b2006d2..c250bb0849f9 100644
--- a/dev-ml/ppx_variants_conv/metadata.xml
+++ b/dev-ml/ppx_variants_conv/metadata.xml
@@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
<upstream>
<remote-id type="github">janestreet/ppx_variants_conv</remote-id>
</upstream>
diff --git a/dev-ml/ppx_variants_conv/ppx_variants_conv-0.14.1.ebuild b/dev-ml/ppx_variants_conv/ppx_variants_conv-0.14.1.ebuild
new file mode 100644
index 000000000000..b2e4bc1bac36
--- /dev/null
+++ b/dev-ml/ppx_variants_conv/ppx_variants_conv-0.14.1.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="Generation of accessor and iteration functions for ocaml variant types"
+HOMEPAGE="https://github.com/janestreet/ppx_variants_conv"
+SRC_URI="https://github.com/janestreet/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="+ocamlopt"
+
+DEPEND="
+ dev-ml/base:=
+ dev-ml/variantslib:=
+ dev-ml/ppxlib:=
+ dev-ml/ocaml-migrate-parsetree:=
+ dev-ml/result:=
+"
+RDEPEND="${DEPEND}"
diff --git a/dev-ml/ppxfind/Manifest b/dev-ml/ppxfind/Manifest
new file mode 100644
index 000000000000..2974266db1fe
--- /dev/null
+++ b/dev-ml/ppxfind/Manifest
@@ -0,0 +1 @@
+DIST ppxfind-1.4.tbz 4083 BLAKE2B 3661827c897a74af21f0d10c9435b74845fc4832cb1b50a510fdf7c33cd877faee5ddcb8307c65903a4692fcb58ca264e0c0b44433a34a59a12f8eb2917e12e9 SHA512 f80b0ee09fb536aa9f154da80d06a1b68ba3b10605fb7338bd6449beb5c8d00e983bf66b4a63e12659ae1410fea56d0a2c4cfd43584616438504628035bcb981
diff --git a/dev-ml/ppxfind/metadata.xml b/dev-ml/ppxfind/metadata.xml
new file mode 100644
index 000000000000..b40103350cee
--- /dev/null
+++ b/dev-ml/ppxfind/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">diml/ppxfind</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-ml/ppxfind/ppxfind-1.4.ebuild b/dev-ml/ppxfind/ppxfind-1.4.ebuild
new file mode 100644
index 000000000000..6f6e5d665075
--- /dev/null
+++ b/dev-ml/ppxfind/ppxfind-1.4.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="ocamlfind ppx tool"
+HOMEPAGE="https://github.com/diml/ppxfind"
+SRC_URI="https://github.com/diml/ppxfind/releases/download/${PV}/${P}.tbz"
+
+LICENSE="BSD"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="+ocamlopt"
+
+DEPEND="
+ dev-ml/ocaml-migrate-parsetree:=
+ dev-ml/findlib:=
+"
+RDEPEND="${DEPEND}"
diff --git a/dev-ml/ppxlib/Manifest b/dev-ml/ppxlib/Manifest
new file mode 100644
index 000000000000..c1e2284bfcf3
--- /dev/null
+++ b/dev-ml/ppxlib/Manifest
@@ -0,0 +1 @@
+DIST ppxlib-0.18.0.tar.gz 192929 BLAKE2B db14821aa77eac02038632ee8a9756ffd7a7b561c5852c4a5bb6882da531a6d2833737d4d1d372ff73251c168e2da57c7df0c724b1d9a6c4829632881aa4d2b3 SHA512 73b785eec34ca68451936c750ff68a4799b8c265cd973a587bd77b60cb933409eed4edfd4c9a4b0b1ada8d3a0bae5c5c719e4258d00cb0290a6842c67be1fd3d
diff --git a/dev-ml/ppxlib/metadata.xml b/dev-ml/ppxlib/metadata.xml
new file mode 100644
index 000000000000..c37ad7574836
--- /dev/null
+++ b/dev-ml/ppxlib/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">ocaml-ppx/ppxlib</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-ml/ppxlib/ppxlib-0.18.0.ebuild b/dev-ml/ppxlib/ppxlib-0.18.0.ebuild
new file mode 100644
index 000000000000..93be64e0890a
--- /dev/null
+++ b/dev-ml/ppxlib/ppxlib-0.18.0.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="Base library and tools for ppx rewriters "
+HOMEPAGE="https://github.com/ocaml-ppx/ppxlib"
+SRC_URI="https://github.com/ocaml-ppx/ppxlib/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="+ocamlopt test"
+
+DEPEND="
+ >=dev-ml/base-0.11.0:=
+ >=dev-ml/ocaml-compiler-libs-0.11:=
+ >=dev-ml/ocaml-migrate-parsetree-2.0.0:=
+ dev-ml/result:=
+ dev-ml/sexplib0:=
+ dev-ml/stdlib-shims:=
+ dev-ml/ppx_derivers:=
+ >=dev-ml/stdio-0.11.0:=
+"
+RDEPEND="${DEPEND}"
+DEPEND="${DEPEND}
+ test? ( dev-ml/cinaps )"
diff --git a/dev-ml/re/Manifest b/dev-ml/re/Manifest
new file mode 100644
index 000000000000..dff48b3bc245
--- /dev/null
+++ b/dev-ml/re/Manifest
@@ -0,0 +1 @@
+DIST ocaml-re-1.9.0.tar.gz 83642 BLAKE2B abcabb80ffef241fc7e8ea075f49365cc64f8749db1d1f7eb654eeb52f5be8e96756f98ae7903391a26d8537f82e105878a38a15923d7f93c61abd5c08d3ff98 SHA512 3e11c6eccf573ab5d7f43accf1f1ac9eda0d7320067e142b9f76b309315c1e30d22c5bb80c7a54b05d9c92d3518d26ea82b5093de9b48f86e3c62d6073f14eda
diff --git a/dev-ml/re/files/ounit2.patch b/dev-ml/re/files/ounit2.patch
new file mode 100644
index 000000000000..1210491bc142
--- /dev/null
+++ b/dev-ml/re/files/ounit2.patch
@@ -0,0 +1,11 @@
+Index: ocaml-re-1.9.0/lib_test/fort_unit/dune
+===================================================================
+--- ocaml-re-1.9.0.orig/lib_test/fort_unit/dune
++++ ocaml-re-1.9.0/lib_test/fort_unit/dune
+@@ -3,4 +3,4 @@
+ (library
+ (name fort_unit)
+ (wrapped false)
+- (libraries re oUnit))
+\ No newline at end of file
++ (libraries re ounit2))
diff --git a/dev-ml/re/metadata.xml b/dev-ml/re/metadata.xml
new file mode 100644
index 000000000000..5fa0f8468f55
--- /dev/null
+++ b/dev-ml/re/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">ocaml/ocaml-re</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-ml/re/re-1.9.0.ebuild b/dev-ml/re/re-1.9.0.ebuild
new file mode 100644
index 000000000000..28f3f672a069
--- /dev/null
+++ b/dev-ml/re/re-1.9.0.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="Regular expression library for OCaml"
+HOMEPAGE="https://github.com/ocaml/ocaml-re"
+SRC_URI="https://github.com/ocaml/ocaml-re/archive/${PV}.tar.gz -> ocaml-${P}.tar.gz"
+
+LICENSE="LGPL-2-with-linking-exception"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="+ocamlopt test"
+
+RDEPEND="!dev-ml/ocaml-re
+ dev-ml/seq:=
+"
+DEPEND="${RDEPEND}
+ test? ( dev-ml/ounit )"
+S="${WORKDIR}/ocaml-${P}"
+PATCHES=( "${FILESDIR}/ounit2.patch" )
diff --git a/dev-ml/react/react-1.2.1-r1.ebuild b/dev-ml/react/react-1.2.1-r1.ebuild
new file mode 100644
index 000000000000..961c0c0dde43
--- /dev/null
+++ b/dev-ml/react/react-1.2.1-r1.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit opam
+
+DESCRIPTION="OCaml module for functional reactive programming"
+HOMEPAGE="http://erratique.ch/software/react https://github.com/dbuenzli/react"
+SRC_URI="http://erratique.ch/software/react/releases/${P}.tbz"
+
+LICENSE="BSD"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ dev-ml/findlib
+ >=dev-ml/topkg-0.9
+"
+
+src_compile() {
+ ocaml pkg/pkg.ml build \
+ --tests $(usex test 'true' 'false') \
+ || die
+}
+
+src_test() {
+ ocaml pkg/pkg.ml test || die
+}
diff --git a/dev-ml/result/Manifest b/dev-ml/result/Manifest
index f2af9475afe7..a15c2e990f55 100644
--- a/dev-ml/result/Manifest
+++ b/dev-ml/result/Manifest
@@ -1 +1,2 @@
DIST result-1.2.tar.gz 2100 BLAKE2B 9c746c85200ad6af1014dbc4959347b19f48f24448fb36a33b0b50f8d3d8cf4536f7ea3e994953d29122c8dafe87289707eeab67f7a0dc44d0bc509715169e79 SHA512 b47fe24302182642c7dfb3329a9a475518fca01ed7080fb625379abbb7ada0bec4a27e666886c101ba4b0083eeb6312740d99ef764690d38ee6e6d8960fc9b87
+DIST result-1.5.tar.gz 2291 BLAKE2B 76010676aa806fac3766e9ba70b770b3bd01347b1365892beba4c33415d0942a9368f0437ee5a8339b355b939d1625b2fa9c8ad4cf774007637eb51f4b20f11b SHA512 5ca3aab3b46bff7f4fa4517b5d823de196d7a97a8b94a8e416a5e237061482f4d0030c6a339291d5aa8f68020ee11aed743b730970105a2303e6a93d26ca676a
diff --git a/dev-ml/result/metadata.xml b/dev-ml/result/metadata.xml
index 3fca8513dd2e..ffa2962f92c9 100644
--- a/dev-ml/result/metadata.xml
+++ b/dev-ml/result/metadata.xml
@@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
<upstream>
<remote-id type="github">janestreet/result</remote-id>
</upstream>
diff --git a/dev-ml/result/result-1.5.ebuild b/dev-ml/result/result-1.5.ebuild
new file mode 100644
index 000000000000..eb1d6d56a383
--- /dev/null
+++ b/dev-ml/result/result-1.5.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="Compat result type"
+HOMEPAGE="https://github.com/janestreet/result"
+SRC_URI="https://github.com/janestreet/result/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="+ocamlopt"
+
+RDEPEND=""
+DEPEND="${RDEPEND}"
diff --git a/dev-ml/seq/files/META.seq b/dev-ml/seq/files/META.seq
new file mode 100644
index 000000000000..06b95eff3f8d
--- /dev/null
+++ b/dev-ml/seq/files/META.seq
@@ -0,0 +1,4 @@
+name="seq"
+version="[distributed with OCaml 4.07 or above]"
+description="dummy backward-compatibility package for iterators"
+requires=""
diff --git a/dev-ml/seq/files/seq.install b/dev-ml/seq/files/seq.install
new file mode 100644
index 000000000000..c4d70206e13f
--- /dev/null
+++ b/dev-ml/seq/files/seq.install
@@ -0,0 +1,3 @@
+lib:[
+ "META.seq" {"META"}
+]
diff --git a/dev-ml/seq/metadata.xml b/dev-ml/seq/metadata.xml
index d0e866f244f8..85f7e8f29f42 100644
--- a/dev-ml/seq/metadata.xml
+++ b/dev-ml/seq/metadata.xml
@@ -5,4 +5,11 @@
<email>tupone@gentoo.org</email>
<name>Tupone Alfredo</name>
</maintainer>
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
+ <longdescription lang="en">
+ Compatibility package for OCaml's standard iterator type starting from 4.07.
+ </longdescription>
</pkgmetadata>
diff --git a/dev-ml/seq/seq-1.ebuild b/dev-ml/seq/seq-1.ebuild
new file mode 100644
index 000000000000..d76fea7d78bd
--- /dev/null
+++ b/dev-ml/seq/seq-1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit opam
+
+DESCRIPTION="Compatibility package for OCaml's standard iterator type starting from 4.07."
+HOMEPAGE="https://github.com/ocaml/opam-repository/blob/master/packages/seq/seq.base/opam"
+SRC_URI=""
+
+LICENSE="public-domain"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND="${DEPEND}
+"
+BDEPEND=""
+S="${WORKDIR}"
+
+src_prepare() {
+ cp "${FILESDIR}/"{seq.install,META.seq} "${S}/" || die
+ default
+}
diff --git a/dev-ml/sexplib/Manifest b/dev-ml/sexplib/Manifest
index efd0978a7744..aeaaf4465188 100644
--- a/dev-ml/sexplib/Manifest
+++ b/dev-ml/sexplib/Manifest
@@ -1,2 +1,3 @@
+DIST sexplib-0.14.0.tar.gz 54055 BLAKE2B d0ee1470fb9d28eb6d6ed3aaf0f6bd63d7c4860183ac287054f08bc54d57d0c52ebf9fe516aa991d8c66967ecc6ad95b6a6d19eb40a9f610a6f91f832d9d2e20 SHA512 e77a9ae8991e6b73de57ab6b7068d6482471dd34ff0af23b93b5ba57bd69493d15db3279d3b328280f716e531c08c2a6c39bfaa886f1934240dcc13724673684
DIST sexplib-0.9.2.tar.gz 75035 BLAKE2B c08e4285cc36fe259d5145d43c847bc466e0b4d9897c58708ce39e6b04d52c84cc5c7603f296edaf6c0752c846d9cb9b03c9610eb5d3fd9bc1b1ad67b4a046cd SHA512 d9e02ae9e7e8be4387c5d4e5c4a23222e2ebbd3355d52c26e0d6ac0ccc4f4e09653ac2852e6698d6128ff954888e65d97dd7a494b9404bad2e8349cd592bab1d
DIST sexplib-0.9.3.tar.gz 75074 BLAKE2B 60ddb336f8ff334f995399e63a12d9ab5403ed27bf62259d13159eed0a5c6b246673406ca9ed9f542cdc4e53460a5136f56fe75127ea199448e85dd55cf53ff3 SHA512 32c471b3ef2b2595fed7fa748b7bc7059491651442dec0bca5a60b93458d78b0950e4386a973c9c856ba25f3f839d6747ab9e2e88b1927f9907e8107b63b706d
diff --git a/dev-ml/sexplib/metadata.xml b/dev-ml/sexplib/metadata.xml
index 214264c2beb2..33a396fe6e79 100644
--- a/dev-ml/sexplib/metadata.xml
+++ b/dev-ml/sexplib/metadata.xml
@@ -1,9 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
- <upstream>
- <remote-id type="bitbucket">yminsky/ocaml-core</remote-id>
- <remote-id type="github">janestreet/sexplib</remote-id>
- </upstream>
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="bitbucket">yminsky/ocaml-core</remote-id>
+ <remote-id type="github">janestreet/sexplib</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-ml/sexplib/sexplib-0.14.0.ebuild b/dev-ml/sexplib/sexplib-0.14.0.ebuild
new file mode 100644
index 000000000000..c30d06dc3c12
--- /dev/null
+++ b/dev-ml/sexplib/sexplib-0.14.0.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="Library for automated conversion of OCaml-values to and from S-expressions"
+HOMEPAGE="https://github.com/janestreet/sexplib"
+SRC_URI="https://github.com/janestreet/sexplib/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="+ocamlopt"
+
+RDEPEND="
+ dev-ml/parsexp:=
+ dev-ml/base:=
+ dev-ml/sexplib0:=
+ dev-ml/num:=
+"
+DEPEND="${RDEPEND}"
diff --git a/dev-ml/sexplib0/Manifest b/dev-ml/sexplib0/Manifest
new file mode 100644
index 000000000000..56aad71a87ba
--- /dev/null
+++ b/dev-ml/sexplib0/Manifest
@@ -0,0 +1 @@
+DIST sexplib0-0.14.0.tar.gz 17677 BLAKE2B bf906491cd8c8021b6737fa6a9510ad7421a01c448bd1e136cd7244eaeb27674a4c3e739be601a66b1f23a2f6dd2f19771b66fde88a2f3e75e24111ae5ace3e5 SHA512 cfffb390809a1ed3b99d3326a7c5035e2fedf7af084d94f6c0cff98ba641056b5b2896d56d32b1b27bdde29b199bbd32d174cdee84c2e1541cb7f2e4bf00e4ed
diff --git a/dev-ml/sexplib0/metadata.xml b/dev-ml/sexplib0/metadata.xml
new file mode 100644
index 000000000000..e579604e5a49
--- /dev/null
+++ b/dev-ml/sexplib0/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">janestreet/sexplib0</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-ml/sexplib0/sexplib0-0.14.0.ebuild b/dev-ml/sexplib0/sexplib0-0.14.0.ebuild
new file mode 100644
index 000000000000..575d94f788a7
--- /dev/null
+++ b/dev-ml/sexplib0/sexplib0-0.14.0.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="Library for automated conversion of OCaml-values to and from S-expressions"
+HOMEPAGE="https://github.com/janestreet/sexplib0"
+SRC_URI="https://github.com/janestreet/sexplib0/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="+ocamlopt"
+
+RDEPEND=""
+DEPEND="${RDEPEND}"
diff --git a/dev-ml/splittable_random/Manifest b/dev-ml/splittable_random/Manifest
new file mode 100644
index 000000000000..4b4e05848579
--- /dev/null
+++ b/dev-ml/splittable_random/Manifest
@@ -0,0 +1 @@
+DIST splittable_random-0.14.0.tar.gz 9942 BLAKE2B 3147e290cbf7a6e2ce8994ce0f95f392a4f7f24f7c2b6fd1b5394ec537e8be7efbefebcb8f2794e026cdd30596e6defde86126646b19f6d299ee79dbaa4d4bb7 SHA512 c8c006bba0f74e53892d9fd364de4d822182ce5371deae4f5d881d59ad6b9a8a429ac6aca54ae95edf312565b87e89a2c2546a349b2e6de2a78ece0655a09b94
diff --git a/dev-ml/splittable_random/metadata.xml b/dev-ml/splittable_random/metadata.xml
new file mode 100644
index 000000000000..22ce63f341b2
--- /dev/null
+++ b/dev-ml/splittable_random/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">janestreet/splittable_random</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-ml/splittable_random/splittable_random-0.14.0.ebuild b/dev-ml/splittable_random/splittable_random-0.14.0.ebuild
new file mode 100644
index 000000000000..ae0ef5567b6f
--- /dev/null
+++ b/dev-ml/splittable_random/splittable_random-0.14.0.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="PRNG that can be split into independent streams"
+HOMEPAGE="https://github.com/janestreet/splittable_random"
+SRC_URI="https://github.com/janestreet/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+IUSE="+ocamlopt"
+
+RDEPEND="
+ dev-ml/base:=
+ dev-ml/ppx_assert:=
+ dev-ml/ppx_bench:=
+ dev-ml/ppx_inline_test:=
+ dev-ml/ppx_sexp_message:=
+"
+DEPEND="${RDEPEND}"
diff --git a/dev-ml/stdio/Manifest b/dev-ml/stdio/Manifest
index 169768ab7a6b..9c234297cb4c 100644
--- a/dev-ml/stdio/Manifest
+++ b/dev-ml/stdio/Manifest
@@ -1,2 +1,3 @@
+DIST stdio-0.14.0.tar.gz 7867 BLAKE2B e9aa9727489bf59350fe87323689a5c4f5bf710bb4932b0153c4ad742db5fe03a05728d86c281796cb77d1aef9ba2cc1b236630cb125d1d182c54c344a0ee335 SHA512 74cac04bd6b1be8c13f739445185286a910f66877cb61c8f22b4027dbc3f82021030d55eb7c8471bac850fc7c0f86462a8e26653c7a08c95fb7eea16512c5f61
DIST stdio-0.9.0.tar.gz 9264 BLAKE2B 1f3d7748ed07672eaad7c747c8925fb9e5204d59c05e8ee8674d689dcc44b9ae9d2da8420cfa05e8e0a58bded343cba979ff42f5f8fdae5392a1868591269f32 SHA512 a3809272c00653872d02b07b6c133215e06a70a7cbebed8c6c22ba5790ee8cbba17821da7875290c8869dfac22bf3cf248028e2aed2570195ca9b5f63b6ab75d
DIST stdio-0.9.1.tar.gz 9281 BLAKE2B fa3a5a3877aa2ab19155d865eea03458b742224de11857f9f2c1219eef3f0fbd6562cf0eafc90c59dab03053db0dcae27c19a73da4f3a73e3b6d6a9407868f3d SHA512 bfef782562af7fae790b8baf02bf5d5edae2ccff29531080a608fd9224710c7d0a1a346c3480b6eaf4d7be1a280e19d9380a4dd9072de6d68e48ac419d275716
diff --git a/dev-ml/stdio/metadata.xml b/dev-ml/stdio/metadata.xml
index ce97306373ea..07fb8f069c5a 100644
--- a/dev-ml/stdio/metadata.xml
+++ b/dev-ml/stdio/metadata.xml
@@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
<upstream>
<remote-id type="github">janestreet/stdio</remote-id>
</upstream>
diff --git a/dev-ml/stdio/stdio-0.14.0.ebuild b/dev-ml/stdio/stdio-0.14.0.ebuild
new file mode 100644
index 000000000000..d80adb8df65e
--- /dev/null
+++ b/dev-ml/stdio/stdio-0.14.0.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="Standard IO Library for OCaml"
+HOMEPAGE="https://github.com/janestreet/stdio"
+SRC_URI="https://github.com/janestreet/stdio/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="+ocamlopt"
+
+RDEPEND="
+ >=dev-ml/base-0.11.0:=
+ dev-ml/sexplib0:="
+DEPEND="${RDEPEND}"
diff --git a/dev-ml/stdlib-shims/stdlib-shims-0.2.0.ebuild b/dev-ml/stdlib-shims/stdlib-shims-0.2.0.ebuild
index bedd6b873ecc..ca9b60a4f1d7 100644
--- a/dev-ml/stdlib-shims/stdlib-shims-0.2.0.ebuild
+++ b/dev-ml/stdlib-shims/stdlib-shims-0.2.0.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/ocaml/${PN}/releases/download/${PV}/${P}.tbz"
LICENSE="LGPL-2.1-with-linking-exception"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
IUSE="ocamlopt"
DOCS=( "README.md" "CHANGES.md" "LICENSE" )
diff --git a/dev-ml/time_now/Manifest b/dev-ml/time_now/Manifest
new file mode 100644
index 000000000000..ac58278f0442
--- /dev/null
+++ b/dev-ml/time_now/Manifest
@@ -0,0 +1 @@
+DIST time_now-0.14.0.tar.gz 3666 BLAKE2B 131d4b585ac981fe306ea93f17e332cfabe86a3f8f4564a76e4dc694f9c624e91fe0f0ce26a4ada9fdf0239033fcd29065d76a37e6fb4b79927d116531c04909 SHA512 1b6d1a754e46f1756aa2aad3590e5052999f567630297491d62228ad733b189fbbfc0589b7bafd74e9f77ca0c0421093054e9062d2d5a7d7ed05930be67e9a5f
diff --git a/dev-ml/time_now/metadata.xml b/dev-ml/time_now/metadata.xml
new file mode 100644
index 000000000000..b78a86fdab86
--- /dev/null
+++ b/dev-ml/time_now/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">janestreet/time_now</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-ml/time_now/time_now-0.14.0.ebuild b/dev-ml/time_now/time_now-0.14.0.ebuild
new file mode 100644
index 000000000000..fd5dabc3a0c2
--- /dev/null
+++ b/dev-ml/time_now/time_now-0.14.0.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="Reports the current time"
+HOMEPAGE="https://github.com/janestreet/time_now"
+SRC_URI="https://github.com/janestreet/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="+ocamlopt"
+
+DEPEND="
+ dev-ml/base:=
+ dev-ml/jane-street-headers:=
+ dev-ml/jst-config:=
+ dev-ml/ppx_base:=
+ dev-ml/ppx_optcomp:=
+"
+RDEPEND="${DEPEND}"
diff --git a/dev-ml/topkg/Manifest b/dev-ml/topkg/Manifest
index aa688bfebc4c..28c8e6e433ec 100644
--- a/dev-ml/topkg/Manifest
+++ b/dev-ml/topkg/Manifest
@@ -1,2 +1,3 @@
DIST topkg-0.9.0.tar.gz 120352 BLAKE2B 1122fe8b60e3d104136810a2cec8460c24a26061eff55e80347d2ecf197afee949e8afaca94a6615da31a8c3acaf113b44b16dbf2430fda6724e440597775bb5 SHA512 823fe1abb344d7800e09411c952bd276ecea97b5d9c124d986e26b9128d03b3ad023a38560198e476ef8f949ecb456078e332bda94075e9b746e43d3059a8fdb
DIST topkg-0.9.1.tar.gz 120943 BLAKE2B 39ac0d1d247183cf9f007c65b09d413ad6a89982d84269e99585ed5f15df4d7683de61548dba6ca5a1299f96206bfd2dc1042486410caa202938dc15e936446b SHA512 19773eb764b53a6e5110c44d7942d2557d6c8502a3037b57f7737efc08f4cc374845b431fdb1465207693d15a4b072aea3db97f8e60e069e3d24ae150e8c5c8f
+DIST topkg-1.0.3.tar.gz 122302 BLAKE2B c3c583fe6d9c6602c9eeae6ba76f0b8e1eda754cb2ffed8f6a9b51eeea53a2d16ad0af5bf3bf1f257233481efd1e7fecfca7185773dcb4258f6a0a8195aaf61f SHA512 b4f3393b142c5c2d71bb4a25f5af020831bd48ad5c354b68cf5a2df2044b534024f0568da93ad26ca383c97ba4277b4878dba7ce9267146f3805c67f52950cbf
diff --git a/dev-ml/topkg/metadata.xml b/dev-ml/topkg/metadata.xml
index 5c8e10a7c535..5b0819cca142 100644
--- a/dev-ml/topkg/metadata.xml
+++ b/dev-ml/topkg/metadata.xml
@@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
<upstream>
<remote-id type="github">dbuenzli/topkg</remote-id>
</upstream>
diff --git a/dev-ml/topkg/topkg-1.0.3.ebuild b/dev-ml/topkg/topkg-1.0.3.ebuild
new file mode 100644
index 000000000000..904be8296bff
--- /dev/null
+++ b/dev-ml/topkg/topkg-1.0.3.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit findlib
+
+DESCRIPTION="The transitory OCaml software packager"
+HOMEPAGE="http://erratique.ch/software/topkg https://github.com/dbuenzli/topkg"
+SRC_URI="https://github.com/dbuenzli/topkg/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="ISC"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86"
+IUSE=""
+
+RDEPEND="dev-ml/result:=
+ dev-ml/ocamlbuild:=
+ dev-ml/findlib:=
+ dev-lang/ocaml:="
+DEPEND="${RDEPEND}"
+
+src_compile() {
+ ocaml pkg/pkg.ml build --pkg-name ${PN} || die
+}
+
+src_install() {
+ # Can't use opam-installer here as it is an opam dep...
+ findlib_src_preinst
+ local nativelibs="$(echo _build/src/${PN}*.cm{x,xa,xs,ti} _build/src/${PN}.a)"
+ ocamlfind install ${PN} _build/pkg/META _build/src/${PN}.mli _build/src/${PN}.cm{a,i} ${nativelibs} || die
+ dodoc CHANGES.md DEVEL.md README.md
+}
diff --git a/dev-ml/typerep/Manifest b/dev-ml/typerep/Manifest
index fdb39cf95717..1731337c5df1 100644
--- a/dev-ml/typerep/Manifest
+++ b/dev-ml/typerep/Manifest
@@ -1 +1,2 @@
+DIST typerep-0.14.0.tar.gz 22936 BLAKE2B 353a42f0f14bf6cbfc88670ca3d42af5873db1fcf805c30d03e95990ccd6d5fe2f5604931dc213fa921683de639717d288b2eac620cc2a4981cb792a65736e8d SHA512 53b719ee06d06d7833cbe57811fe54d57a36055fa8e4255909273a267000e20628b8b8f6d27c22385753ea461d461f87a1eb1fc9711c52405a89d1493f54f37f
DIST typerep-0.9.0.tar.gz 24934 BLAKE2B 83e0cd9419c11a1b8dbce6730404dbe4b00597e441943d8315ad5a583ff50376c95413695e327996b07557b1b481df8ab15db5b37c3ac4c8396b7ed51aa822ea SHA512 f71fa3968ff5e93c384a97e2d39af0de33f4889643a7e43d70a777214dc4c7f35b3fac0864ffee99334cf03866a695f7afd1a907d5c7f3cec0d472b729adf9cc
diff --git a/dev-ml/typerep/metadata.xml b/dev-ml/typerep/metadata.xml
index 39191cd86181..f3f7dc32a8b3 100644
--- a/dev-ml/typerep/metadata.xml
+++ b/dev-ml/typerep/metadata.xml
@@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
<upstream>
<remote-id type="github">janestreet/typerep</remote-id>
</upstream>
diff --git a/dev-ml/typerep/typerep-0.14.0.ebuild b/dev-ml/typerep/typerep-0.14.0.ebuild
new file mode 100644
index 000000000000..6669dd8700f9
--- /dev/null
+++ b/dev-ml/typerep/typerep-0.14.0.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="Library for creating runtime representation of OCaml types"
+HOMEPAGE="https://github.com/janestreet/typerep"
+SRC_URI="https://github.com/janestreet/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+IUSE="+ocamlopt"
+
+DEPEND="dev-ml/base:="
+RDEPEND="${DEPEND}"
diff --git a/dev-ml/variantslib/Manifest b/dev-ml/variantslib/Manifest
index af9ea63e9790..b5ae755776b8 100644
--- a/dev-ml/variantslib/Manifest
+++ b/dev-ml/variantslib/Manifest
@@ -1 +1,2 @@
+DIST variantslib-0.14.0.tar.gz 2951 BLAKE2B a3197f7e06d4340ae73d76d477fd1e0ce038b4829aa3a9d0e0ea3e5251f9ca7c43798005138993a16c860ebf4d08a7e54621359c2a030f3866b62a02de4c326f SHA512 0cb18475668eb8e6091f8a779587f0d643dd0325b0f8518e53469dd12769a3ed6fa4f9c2651a21f8b07992d7b29f6664c4d3bf49f46ed6d7002de07b5014e4f3
DIST variantslib-0.9.0.tar.gz 5590 BLAKE2B 8b6b4c1e1d21e7f6c9bdc1813ea811dc4680506a2a8b2f8c869d8ba2583f07e99d717c0f6a984f6ca3c2e809c9eb2e7c497dcde1f0085e054de383b032f3e94e SHA512 2fd28063d307396da866be70480ba7f953d90ec32a55d31dad649eadb6141572e428f055cad02787654477c4a308313ecb7be4b9b80828af9d9870ad325b9f4d
diff --git a/dev-ml/variantslib/metadata.xml b/dev-ml/variantslib/metadata.xml
index 0abb370a4464..fa46caee57a0 100644
--- a/dev-ml/variantslib/metadata.xml
+++ b/dev-ml/variantslib/metadata.xml
@@ -1,9 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
- <upstream>
- <remote-id type="bitbucket">yminsky/ocaml-core</remote-id>
- <remote-id type="github">janestreet/variantslib</remote-id>
- </upstream>
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="bitbucket">yminsky/ocaml-core</remote-id>
+ <remote-id type="github">janestreet/variantslib</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-ml/variantslib/variantslib-0.14.0.ebuild b/dev-ml/variantslib/variantslib-0.14.0.ebuild
new file mode 100644
index 000000000000..7d9224c80bd9
--- /dev/null
+++ b/dev-ml/variantslib/variantslib-0.14.0.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune
+
+DESCRIPTION="OCaml variants as first class values"
+HOMEPAGE="https://github.com/janestreet/variantslib"
+SRC_URI="https://github.com/janestreet/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="+ocamlopt"
+
+RDEPEND="
+ dev-ml/base:=
+"
+DEPEND="${RDEPEND}"