summaryrefslogtreecommitdiff
path: root/dev-ml
diff options
context:
space:
mode:
authorPalica <palica+gitlab@liguros.net>2020-06-23 22:35:08 +0200
committerPalica <palica+gitlab@liguros.net>2020-06-23 22:35:08 +0200
commitecdac123787b96ce6649f0f91da12ea6458cc2b1 (patch)
treeb89c74d9e6fe6e8aebc4c77bcbeb4ab73214127d /dev-ml
parent1be72aa41cf41dedadeecf59dca9f01de6381f5e (diff)
downloadbaldeagleos-repo-ecdac123787b96ce6649f0f91da12ea6458cc2b1.tar.gz
baldeagleos-repo-ecdac123787b96ce6649f0f91da12ea6458cc2b1.tar.xz
baldeagleos-repo-ecdac123787b96ce6649f0f91da12ea6458cc2b1.zip
Updating liguros repo
Diffstat (limited to 'dev-ml')
-rw-r--r--dev-ml/alcotest/Manifest2
-rw-r--r--dev-ml/alcotest/alcotest-0.8.1.ebuild34
-rw-r--r--dev-ml/alcotest/alcotest-0.8.2.ebuild34
-rw-r--r--dev-ml/alcotest/metadata.xml9
-rw-r--r--dev-ml/astring/Manifest1
-rw-r--r--dev-ml/astring/astring-0.8.3.ebuild25
-rw-r--r--dev-ml/astring/metadata.xml9
-rw-r--r--dev-ml/async/Manifest1
-rw-r--r--dev-ml/async/async-0.9.0.ebuild26
-rw-r--r--dev-ml/async/metadata.xml9
-rw-r--r--dev-ml/async_extra/Manifest1
-rw-r--r--dev-ml/async_extra/async_extra-0.9.0.ebuild32
-rw-r--r--dev-ml/async_extra/metadata.xml9
-rw-r--r--dev-ml/async_kernel/Manifest1
-rw-r--r--dev-ml/async_kernel/async_kernel-0.9.0.ebuild29
-rw-r--r--dev-ml/async_kernel/metadata.xml9
-rw-r--r--dev-ml/async_rpc_kernel/Manifest1
-rw-r--r--dev-ml/async_rpc_kernel/async_rpc_kernel-0.9.0.ebuild31
-rw-r--r--dev-ml/async_rpc_kernel/metadata.xml10
-rw-r--r--dev-ml/async_ssl/Manifest2
-rw-r--r--dev-ml/async_ssl/async_ssl-0.9.0.ebuild39
-rw-r--r--dev-ml/async_ssl/async_ssl-0.9.1.ebuild39
-rw-r--r--dev-ml/async_ssl/metadata.xml9
-rw-r--r--dev-ml/async_unix/Manifest1
-rw-r--r--dev-ml/async_unix/async_unix-0.9.0.ebuild33
-rw-r--r--dev-ml/async_unix/metadata.xml9
-rw-r--r--dev-ml/base/Manifest4
-rw-r--r--dev-ml/base/base-0.9.1.ebuild33
-rw-r--r--dev-ml/base/base-0.9.2.ebuild33
-rw-r--r--dev-ml/base/base-0.9.3.ebuild33
-rw-r--r--dev-ml/base/base-0.9.4.ebuild33
-rw-r--r--dev-ml/base/metadata.xml9
-rw-r--r--dev-ml/batteries/Manifest1
-rw-r--r--dev-ml/batteries/batteries-2.7.0.ebuild24
-rw-r--r--dev-ml/batteries/metadata.xml9
-rw-r--r--dev-ml/bin-prot/Manifest3
-rw-r--r--dev-ml/bin-prot/bin-prot-0.9.0.ebuild44
-rw-r--r--dev-ml/bin-prot/bin-prot-0.9.1.ebuild44
-rw-r--r--dev-ml/bin-prot/bin-prot-0.9.2.ebuild44
-rw-r--r--dev-ml/bin-prot/metadata.xml9
-rw-r--r--dev-ml/biniou/Manifest4
-rw-r--r--dev-ml/biniou/biniou-1.0.12.ebuild31
-rw-r--r--dev-ml/biniou/biniou-1.0.13.ebuild31
-rw-r--r--dev-ml/biniou/biniou-1.1.0.ebuild32
-rw-r--r--dev-ml/biniou/biniou-1.2.0.ebuild32
-rw-r--r--dev-ml/biniou/metadata.xml9
-rw-r--r--dev-ml/bos/Manifest1
-rw-r--r--dev-ml/bos/bos-0.1.6.ebuild45
-rw-r--r--dev-ml/bos/metadata.xml9
-rw-r--r--dev-ml/cairo-ocaml/Manifest1
-rw-r--r--dev-ml/cairo-ocaml/cairo-ocaml-1.2.0.ebuild81
-rw-r--r--dev-ml/cairo-ocaml/files/0001-Add-missing-libraries-used-by-the-stubs-to-CAIRO_LIB.patch26
-rw-r--r--dev-ml/cairo-ocaml/files/0002-Fix-Makefile-to-avoid-recompiling-files-in-usr.patch27
-rw-r--r--dev-ml/cairo-ocaml/files/0003-Fix-FTBFS-on-bytecode-architectures.patch39
-rw-r--r--dev-ml/cairo-ocaml/files/0004-no-automagic.patch25
-rw-r--r--dev-ml/cairo-ocaml/metadata.xml17
-rw-r--r--dev-ml/calendar/Manifest1
-rw-r--r--dev-ml/calendar/calendar-2.04.ebuild33
-rw-r--r--dev-ml/calendar/metadata.xml6
-rw-r--r--dev-ml/camlbz2/Manifest1
-rw-r--r--dev-ml/camlbz2/camlbz2-0.6.0.ebuild30
-rw-r--r--dev-ml/camlbz2/metadata.xml6
-rw-r--r--dev-ml/camldbm/Manifest1
-rw-r--r--dev-ml/camldbm/camldbm-1.0.ebuild27
-rw-r--r--dev-ml/camldbm/files/hasgotfix.patch15
-rw-r--r--dev-ml/camldbm/files/include_fix.patch15
-rw-r--r--dev-ml/camldbm/metadata.xml6
-rw-r--r--dev-ml/camlidl/Manifest1
-rw-r--r--dev-ml/camlidl/camlidl-1.05-r1.ebuild53
-rw-r--r--dev-ml/camlidl/files/META.camlidl5
-rw-r--r--dev-ml/camlidl/files/includes.patch12
-rw-r--r--dev-ml/camlidl/files/nowarn.patch13
-rw-r--r--dev-ml/camlidl/files/tests.patch36
-rw-r--r--dev-ml/camlidl/metadata.xml6
-rw-r--r--dev-ml/camlp4/Manifest3
-rw-r--r--dev-ml/camlp4/camlp4-4.04_p1.ebuild45
-rw-r--r--dev-ml/camlp4/camlp4-4.05_p1.ebuild45
-rw-r--r--dev-ml/camlp4/camlp4-4.08_p1.ebuild46
-rw-r--r--dev-ml/camlp4/files/oc409.patch13
-rw-r--r--dev-ml/camlp4/files/reload.patch13
-rw-r--r--dev-ml/camlp4/metadata.xml9
-rw-r--r--dev-ml/camlp5/Manifest1
-rw-r--r--dev-ml/camlp5/camlp5-7.11.ebuild53
-rw-r--r--dev-ml/camlp5/metadata.xml12
-rw-r--r--dev-ml/camlpdf/Manifest2
-rw-r--r--dev-ml/camlpdf/camlpdf-2.3.1.ebuild36
-rw-r--r--dev-ml/camlpdf/camlpdf-2.3.ebuild36
-rw-r--r--dev-ml/camlpdf/metadata.xml9
-rw-r--r--dev-ml/camlzip/Manifest3
-rw-r--r--dev-ml/camlzip/camlzip-1.06.ebuild34
-rw-r--r--dev-ml/camlzip/camlzip-1.07.ebuild36
-rw-r--r--dev-ml/camlzip/camlzip-1.10.ebuild42
-rw-r--r--dev-ml/camlzip/metadata.xml12
-rw-r--r--dev-ml/camomile/Manifest1
-rw-r--r--dev-ml/camomile/camomile-0.8.5-r1.ebuild41
-rw-r--r--dev-ml/camomile/files/ocaml405.patch40
-rw-r--r--dev-ml/camomile/metadata.xml9
-rw-r--r--dev-ml/cmdliner/Manifest3
-rw-r--r--dev-ml/cmdliner/cmdliner-1.0.0.ebuild44
-rw-r--r--dev-ml/cmdliner/cmdliner-1.0.1.ebuild44
-rw-r--r--dev-ml/cmdliner/cmdliner-1.0.2.ebuild44
-rw-r--r--dev-ml/cmdliner/metadata.xml6
-rw-r--r--dev-ml/configurator/Manifest1
-rw-r--r--dev-ml/configurator/configurator-0.9.1.ebuild32
-rw-r--r--dev-ml/configurator/metadata.xml9
-rw-r--r--dev-ml/core/Manifest2
-rw-r--r--dev-ml/core/core-0.9.1-r1.ebuild30
-rw-r--r--dev-ml/core/core-0.9.2.ebuild29
-rw-r--r--dev-ml/core/files/glibc225.patch12
-rw-r--r--dev-ml/core/metadata.xml18
-rw-r--r--dev-ml/core_extended/Manifest1
-rw-r--r--dev-ml/core_extended/core_extended-0.9.0.ebuild38
-rw-r--r--dev-ml/core_extended/metadata.xml9
-rw-r--r--dev-ml/core_kernel/Manifest2
-rw-r--r--dev-ml/core_kernel/core_kernel-0.9.0.ebuild47
-rw-r--r--dev-ml/core_kernel/core_kernel-0.9.1.ebuild47
-rw-r--r--dev-ml/core_kernel/metadata.xml17
-rw-r--r--dev-ml/cppo/Manifest2
-rw-r--r--dev-ml/cppo/cppo-1.4.1.ebuild31
-rw-r--r--dev-ml/cppo/cppo-1.5.0.ebuild37
-rw-r--r--dev-ml/cppo/metadata.xml9
-rw-r--r--dev-ml/cryptokit/Manifest3
-rw-r--r--dev-ml/cryptokit/cryptokit-1.10.ebuild48
-rw-r--r--dev-ml/cryptokit/cryptokit-1.11.ebuild50
-rw-r--r--dev-ml/cryptokit/cryptokit-1.12.ebuild52
-rw-r--r--dev-ml/cryptokit/metadata.xml9
-rw-r--r--dev-ml/csv/Manifest3
-rw-r--r--dev-ml/csv/csv-1.5.ebuild23
-rw-r--r--dev-ml/csv/csv-1.6.ebuild28
-rw-r--r--dev-ml/csv/csv-1.7.ebuild37
-rw-r--r--dev-ml/csv/metadata.xml12
-rw-r--r--dev-ml/cudf/Manifest1
-rw-r--r--dev-ml/cudf/cudf-0.8-r1.ebuild67
-rw-r--r--dev-ml/cudf/metadata.xml6
-rw-r--r--dev-ml/deriving/Manifest1
-rw-r--r--dev-ml/deriving/deriving-0.7.1.ebuild35
-rw-r--r--dev-ml/deriving/metadata.xml9
-rw-r--r--dev-ml/dns/Manifest1
-rw-r--r--dev-ml/dns/dns-1.0.0.ebuild43
-rw-r--r--dev-ml/dns/metadata.xml9
-rw-r--r--dev-ml/dose3/Manifest1
-rw-r--r--dev-ml/dose3/dose3-5.0.1.ebuild64
-rw-r--r--dev-ml/dose3/metadata.xml11
-rw-r--r--dev-ml/dune/Manifest1
-rw-r--r--dev-ml/dune/dune-2.1.0.ebuild32
-rw-r--r--dev-ml/dune/metadata.xml9
-rw-r--r--dev-ml/easy-format/Manifest2
-rw-r--r--dev-ml/easy-format/easy-format-1.0.2.ebuild33
-rw-r--r--dev-ml/easy-format/easy-format-1.2.0.ebuild33
-rw-r--r--dev-ml/easy-format/metadata.xml9
-rw-r--r--dev-ml/eliom/Manifest1
-rw-r--r--dev-ml/eliom/eliom-6.2.0.ebuild70
-rw-r--r--dev-ml/eliom/eliom-9999.ebuild66
-rw-r--r--dev-ml/eliom/files/lwt3.patch44
-rw-r--r--dev-ml/eliom/metadata.xml12
-rw-r--r--dev-ml/extlib/Manifest1
-rw-r--r--dev-ml/extlib/extlib-1.7.6-r1.ebuild54
-rw-r--r--dev-ml/extlib/files/ocaml409.patch13
-rw-r--r--dev-ml/facile/Manifest1
-rw-r--r--dev-ml/facile/facile-1.1.3.ebuild53
-rw-r--r--dev-ml/facile/files/facile-1.1-make.patch48
-rw-r--r--dev-ml/facile/metadata.xml9
-rw-r--r--dev-ml/fieldslib/Manifest1
-rw-r--r--dev-ml/fieldslib/fieldslib-0.9.0.ebuild29
-rw-r--r--dev-ml/fieldslib/metadata.xml15
-rw-r--r--dev-ml/findlib/Manifest4
-rw-r--r--dev-ml/findlib/files/externalmeta4.patch16
-rw-r--r--dev-ml/findlib/files/externalmeta5.patch13
-rw-r--r--dev-ml/findlib/files/externalmeta6.patch13
-rw-r--r--dev-ml/findlib/findlib-1.7.1.ebuild74
-rw-r--r--dev-ml/findlib/findlib-1.7.2.ebuild74
-rw-r--r--dev-ml/findlib/findlib-1.7.3.ebuild74
-rw-r--r--dev-ml/findlib/findlib-1.8.1.ebuild73
-rw-r--r--dev-ml/findlib/metadata.xml6
-rw-r--r--dev-ml/fmt/Manifest1
-rw-r--r--dev-ml/fmt/fmt-0.8.4.ebuild33
-rw-r--r--dev-ml/fmt/metadata.xml9
-rw-r--r--dev-ml/fpath/Manifest1
-rw-r--r--dev-ml/fpath/fpath-0.7.2.ebuild29
-rw-r--r--dev-ml/fpath/metadata.xml9
-rw-r--r--dev-ml/gen/Manifest1
-rw-r--r--dev-ml/gen/gen-0.4.0.1.ebuild24
-rw-r--r--dev-ml/gen/metadata.xml9
-rw-r--r--dev-ml/gsl-ocaml/Manifest1
-rw-r--r--dev-ml/gsl-ocaml/gsl-ocaml-1.19.1.ebuild29
-rw-r--r--dev-ml/gsl-ocaml/metadata.xml16
-rw-r--r--dev-ml/iTeML/Manifest3
-rw-r--r--dev-ml/iTeML/iTeML-2.5.ebuild30
-rw-r--r--dev-ml/iTeML/iTeML-2.6.ebuild30
-rw-r--r--dev-ml/iTeML/iTeML-2.7.ebuild30
-rw-r--r--dev-ml/iTeML/metadata.xml9
-rw-r--r--dev-ml/integers/Manifest1
-rw-r--r--dev-ml/integers/integers-0.2.2.ebuild32
-rw-r--r--dev-ml/integers/metadata.xml9
-rw-r--r--dev-ml/jane-street-headers/Manifest1
-rw-r--r--dev-ml/jane-street-headers/jane-street-headers-0.9.0.ebuild27
-rw-r--r--dev-ml/jane-street-headers/metadata.xml9
-rw-r--r--dev-ml/jbuilder/Manifest1
-rw-r--r--dev-ml/jbuilder/jbuilder-1.0_beta14.ebuild34
-rw-r--r--dev-ml/jbuilder/metadata.xml9
-rw-r--r--dev-ml/js_of_ocaml/Manifest2
-rw-r--r--dev-ml/js_of_ocaml/files/ocaml405.patch41
-rw-r--r--dev-ml/js_of_ocaml/files/ppx.patch11
-rw-r--r--dev-ml/js_of_ocaml/js_of_ocaml-2.8.4-r2.ebuild71
-rw-r--r--dev-ml/js_of_ocaml/js_of_ocaml-3.0.0.ebuild78
-rw-r--r--dev-ml/js_of_ocaml/js_of_ocaml-9999.ebuild76
-rw-r--r--dev-ml/js_of_ocaml/metadata.xml16
-rw-r--r--dev-ml/jsonm/Manifest1
-rw-r--r--dev-ml/jsonm/jsonm-1.0.1.ebuild38
-rw-r--r--dev-ml/jsonm/metadata.xml6
-rw-r--r--dev-ml/lablgl/Manifest1
-rw-r--r--dev-ml/lablgl/lablgl-1.05-r1.ebuild94
-rw-r--r--dev-ml/lablgl/metadata.xml6
-rw-r--r--dev-ml/lablgtk/Manifest3
-rw-r--r--dev-ml/lablgtk/files/lablgtk-2.18.10-cflags.patch97
-rw-r--r--dev-ml/lablgtk/lablgtk-2.18.10.ebuild77
-rw-r--r--dev-ml/lablgtk/lablgtk-2.18.5.ebuild79
-rw-r--r--dev-ml/lablgtk/lablgtk-2.18.8-r1.ebuild69
-rw-r--r--dev-ml/lablgtk/metadata.xml14
-rw-r--r--dev-ml/labltk/Manifest2
-rw-r--r--dev-ml/labltk/files/findlib.patch20
-rw-r--r--dev-ml/labltk/files/ocaml405.patch382
-rw-r--r--dev-ml/labltk/labltk-8.06.2.ebuild44
-rw-r--r--dev-ml/labltk/labltk-8.06.7.ebuild43
-rw-r--r--dev-ml/labltk/metadata.xml6
-rw-r--r--dev-ml/llvm-ocaml/Manifest4
-rw-r--r--dev-ml/llvm-ocaml/llvm-ocaml-10.0.0.ebuild125
-rw-r--r--dev-ml/llvm-ocaml/llvm-ocaml-10.0.1.9999.ebuild128
-rw-r--r--dev-ml/llvm-ocaml/llvm-ocaml-10.0.1_rc1.ebuild128
-rw-r--r--dev-ml/llvm-ocaml/llvm-ocaml-11.0.0.9999.ebuild128
-rw-r--r--dev-ml/llvm-ocaml/llvm-ocaml-8.0.1.ebuild124
-rw-r--r--dev-ml/llvm-ocaml/llvm-ocaml-9.0.1.ebuild118
-rw-r--r--dev-ml/llvm-ocaml/metadata.xml8
-rw-r--r--dev-ml/logs/Manifest1
-rw-r--r--dev-ml/logs/logs-0.6.2.ebuild55
-rw-r--r--dev-ml/logs/metadata.xml14
-rw-r--r--dev-ml/lwt/Manifest2
-rw-r--r--dev-ml/lwt/lwt-3.0.0.ebuild43
-rw-r--r--dev-ml/lwt/lwt-3.1.0.ebuild55
-rw-r--r--dev-ml/lwt/metadata.xml14
-rw-r--r--dev-ml/lwt_react/Manifest1
-rw-r--r--dev-ml/lwt_react/lwt_react-1.0.1.ebuild27
-rw-r--r--dev-ml/lwt_react/metadata.xml9
-rw-r--r--dev-ml/lwt_ssl/Manifest2
-rw-r--r--dev-ml/lwt_ssl/lwt_ssl-1.0.1.ebuild27
-rw-r--r--dev-ml/lwt_ssl/lwt_ssl-1.1.1.ebuild32
-rw-r--r--dev-ml/lwt_ssl/metadata.xml9
-rw-r--r--dev-ml/macaque/Manifest1
-rw-r--r--dev-ml/macaque/macaque-0.7.4.ebuild27
-rw-r--r--dev-ml/macaque/metadata.xml9
-rw-r--r--dev-ml/markup/Manifest1
-rw-r--r--dev-ml/markup/markup-0.7.5.ebuild39
-rw-r--r--dev-ml/markup/metadata.xml9
-rw-r--r--dev-ml/menhir/Manifest4
-rw-r--r--dev-ml/menhir/menhir-20170712.ebuild36
-rw-r--r--dev-ml/menhir/menhir-20171013.ebuild36
-rw-r--r--dev-ml/menhir/menhir-20181006.ebuild36
-rw-r--r--dev-ml/menhir/menhir-20190924.ebuild36
-rw-r--r--dev-ml/menhir/metadata.xml6
-rw-r--r--dev-ml/merlin-extend/Manifest1
-rw-r--r--dev-ml/merlin-extend/merlin-extend-0.3.ebuild25
-rw-r--r--dev-ml/merlin-extend/metadata.xml9
-rw-r--r--dev-ml/metadata.xml40
-rw-r--r--dev-ml/mtime/Manifest1
-rw-r--r--dev-ml/mtime/metadata.xml9
-rw-r--r--dev-ml/mtime/mtime-1.1.0.ebuild35
-rw-r--r--dev-ml/num/Manifest1
-rw-r--r--dev-ml/num/files/num-1.3-cflags.patch11
-rw-r--r--dev-ml/num/metadata.xml9
-rw-r--r--dev-ml/num/num-1.3.ebuild33
-rw-r--r--dev-ml/oasis/Manifest2
-rw-r--r--dev-ml/oasis/metadata.xml6
-rw-r--r--dev-ml/oasis/oasis-0.4.10.ebuild40
-rw-r--r--dev-ml/oasis/oasis-0.4.8.ebuild38
-rw-r--r--dev-ml/ocaml-augeas/Manifest1
-rw-r--r--dev-ml/ocaml-augeas/metadata.xml11
-rw-r--r--dev-ml/ocaml-augeas/ocaml-augeas-0.5.ebuild26
-rw-r--r--dev-ml/ocaml-autoconf/Manifest1
-rw-r--r--dev-ml/ocaml-autoconf/metadata.xml6
-rw-r--r--dev-ml/ocaml-autoconf/ocaml-autoconf-1.1-r1.ebuild17
-rw-r--r--dev-ml/ocaml-base64/Manifest1
-rw-r--r--dev-ml/ocaml-base64/metadata.xml9
-rw-r--r--dev-ml/ocaml-base64/ocaml-base64-2.2.0.ebuild26
-rw-r--r--dev-ml/ocaml-cohttp/Manifest1
-rw-r--r--dev-ml/ocaml-cohttp/metadata.xml13
-rw-r--r--dev-ml/ocaml-cohttp/ocaml-cohttp-0.22.0.ebuild62
-rw-r--r--dev-ml/ocaml-compiler-libs/Manifest1
-rw-r--r--dev-ml/ocaml-compiler-libs/metadata.xml9
-rw-r--r--dev-ml/ocaml-compiler-libs/ocaml-compiler-libs-0.9.0.ebuild19
-rw-r--r--dev-ml/ocaml-conduit/Manifest1
-rw-r--r--dev-ml/ocaml-conduit/metadata.xml9
-rw-r--r--dev-ml/ocaml-conduit/ocaml-conduit-0.15.4.ebuild46
-rw-r--r--dev-ml/ocaml-cstruct/Manifest1
-rw-r--r--dev-ml/ocaml-cstruct/metadata.xml14
-rw-r--r--dev-ml/ocaml-cstruct/ocaml-cstruct-3.1.1.ebuild65
-rw-r--r--dev-ml/ocaml-ctypes/Manifest4
-rw-r--r--dev-ml/ocaml-ctypes/metadata.xml9
-rw-r--r--dev-ml/ocaml-ctypes/ocaml-ctypes-0.11.2.ebuild36
-rw-r--r--dev-ml/ocaml-ctypes/ocaml-ctypes-0.11.3.ebuild36
-rw-r--r--dev-ml/ocaml-ctypes/ocaml-ctypes-0.12.1.ebuild37
-rw-r--r--dev-ml/ocaml-ctypes/ocaml-ctypes-0.13.0.ebuild37
-rw-r--r--dev-ml/ocaml-data-notation/Manifest1
-rw-r--r--dev-ml/ocaml-data-notation/metadata.xml6
-rw-r--r--dev-ml/ocaml-data-notation/ocaml-data-notation-0.0.11-r1.ebuild25
-rw-r--r--dev-ml/ocaml-dispatch/Manifest2
-rw-r--r--dev-ml/ocaml-dispatch/metadata.xml9
-rw-r--r--dev-ml/ocaml-dispatch/ocaml-dispatch-0.3.0.ebuild34
-rw-r--r--dev-ml/ocaml-dispatch/ocaml-dispatch-0.4.0.ebuild44
-rw-r--r--dev-ml/ocaml-doc/Manifest2
-rw-r--r--dev-ml/ocaml-doc/metadata.xml6
-rw-r--r--dev-ml/ocaml-doc/ocaml-doc-4.04.ebuild24
-rw-r--r--dev-ml/ocaml-doc/ocaml-doc-4.05.ebuild24
-rw-r--r--dev-ml/ocaml-expat/Manifest2
-rw-r--r--dev-ml/ocaml-expat/metadata.xml9
-rw-r--r--dev-ml/ocaml-expat/ocaml-expat-1.0.0.ebuild47
-rw-r--r--dev-ml/ocaml-expat/ocaml-expat-1.1.0.ebuild47
-rw-r--r--dev-ml/ocaml-expect/Manifest1
-rw-r--r--dev-ml/ocaml-expect/metadata.xml6
-rw-r--r--dev-ml/ocaml-expect/ocaml-expect-0.0.5.ebuild27
-rw-r--r--dev-ml/ocaml-fileutils/Manifest2
-rw-r--r--dev-ml/ocaml-fileutils/metadata.xml6
-rw-r--r--dev-ml/ocaml-fileutils/ocaml-fileutils-0.5.1.ebuild24
-rw-r--r--dev-ml/ocaml-fileutils/ocaml-fileutils-0.5.2.ebuild24
-rw-r--r--dev-ml/ocaml-gettext/Manifest2
-rw-r--r--dev-ml/ocaml-gettext/files/oc43.patch12
-rw-r--r--dev-ml/ocaml-gettext/metadata.xml9
-rw-r--r--dev-ml/ocaml-gettext/ocaml-gettext-0.3.5-r1.ebuild52
-rw-r--r--dev-ml/ocaml-gettext/ocaml-gettext-0.3.7.ebuild52
-rw-r--r--dev-ml/ocaml-hashcons/Manifest2
-rw-r--r--dev-ml/ocaml-hashcons/metadata.xml9
-rw-r--r--dev-ml/ocaml-hashcons/ocaml-hashcons-1.2.ebuild37
-rw-r--r--dev-ml/ocaml-hashcons/ocaml-hashcons-1.3.ebuild37
-rw-r--r--dev-ml/ocaml-ipaddr/Manifest1
-rw-r--r--dev-ml/ocaml-ipaddr/metadata.xml9
-rw-r--r--dev-ml/ocaml-ipaddr/ocaml-ipaddr-2.8.0.ebuild32
-rw-r--r--dev-ml/ocaml-magic-mime/Manifest2
-rw-r--r--dev-ml/ocaml-magic-mime/metadata.xml9
-rw-r--r--dev-ml/ocaml-magic-mime/ocaml-magic-mime-1.0.0.ebuild17
-rw-r--r--dev-ml/ocaml-magic-mime/ocaml-magic-mime-1.1.0.ebuild26
-rw-r--r--dev-ml/ocaml-migrate-parsetree/Manifest3
-rw-r--r--dev-ml/ocaml-migrate-parsetree/metadata.xml9
-rw-r--r--dev-ml/ocaml-migrate-parsetree/ocaml-migrate-parsetree-1.0.5.ebuild20
-rw-r--r--dev-ml/ocaml-migrate-parsetree/ocaml-migrate-parsetree-1.0.6.ebuild20
-rw-r--r--dev-ml/ocaml-migrate-parsetree/ocaml-migrate-parsetree-1.0.7.ebuild20
-rw-r--r--dev-ml/ocaml-re/Manifest1
-rw-r--r--dev-ml/ocaml-re/metadata.xml9
-rw-r--r--dev-ml/ocaml-re/ocaml-re-1.7.1.ebuild24
-rw-r--r--dev-ml/ocaml-sqlite3/Manifest4
-rw-r--r--dev-ml/ocaml-sqlite3/metadata.xml10
-rw-r--r--dev-ml/ocaml-sqlite3/ocaml-sqlite3-4.1.2.ebuild28
-rw-r--r--dev-ml/ocaml-sqlite3/ocaml-sqlite3-4.1.3.ebuild28
-rw-r--r--dev-ml/ocaml-sqlite3/ocaml-sqlite3-4.2.0.ebuild36
-rw-r--r--dev-ml/ocaml-sqlite3/ocaml-sqlite3-4.3.0.ebuild36
-rw-r--r--dev-ml/ocaml-ssl/Manifest3
-rw-r--r--dev-ml/ocaml-ssl/metadata.xml10
-rw-r--r--dev-ml/ocaml-ssl/ocaml-ssl-0.5.3.ebuild34
-rw-r--r--dev-ml/ocaml-ssl/ocaml-ssl-0.5.4.ebuild34
-rw-r--r--dev-ml/ocaml-ssl/ocaml-ssl-0.5.5.ebuild34
-rw-r--r--dev-ml/ocaml-uri/Manifest1
-rw-r--r--dev-ml/ocaml-uri/metadata.xml9
-rw-r--r--dev-ml/ocaml-uri/ocaml-uri-1.9.4.ebuild34
-rw-r--r--dev-ml/ocamlbuild/Manifest3
-rw-r--r--dev-ml/ocamlbuild/metadata.xml9
-rw-r--r--dev-ml/ocamlbuild/ocamlbuild-0.10.1.ebuild34
-rw-r--r--dev-ml/ocamlbuild/ocamlbuild-0.11.0.ebuild37
-rw-r--r--dev-ml/ocamlbuild/ocamlbuild-0.14.0.ebuild36
-rw-r--r--dev-ml/ocamlgraph/Manifest2
-rw-r--r--dev-ml/ocamlgraph/files/ocamlgraph-1.8.6-installfindlib.patch38
-rw-r--r--dev-ml/ocamlgraph/files/ocamlgraph-1.8.7-test.patch19
-rw-r--r--dev-ml/ocamlgraph/metadata.xml9
-rw-r--r--dev-ml/ocamlgraph/ocamlgraph-1.8.7.ebuild62
-rw-r--r--dev-ml/ocamlgraph/ocamlgraph-1.8.8.ebuild57
-rw-r--r--dev-ml/ocamlify/Manifest1
-rw-r--r--dev-ml/ocamlify/metadata.xml6
-rw-r--r--dev-ml/ocamlify/ocamlify-0.0.2.ebuild20
-rw-r--r--dev-ml/ocamlmod/Manifest2
-rw-r--r--dev-ml/ocamlmod/metadata.xml6
-rw-r--r--dev-ml/ocamlmod/ocamlmod-0.0.8.ebuild23
-rw-r--r--dev-ml/ocamlmod/ocamlmod-0.0.9.ebuild23
-rw-r--r--dev-ml/ocamlnet/Manifest3
-rw-r--r--dev-ml/ocamlnet/files/ocaml405.patch145
-rw-r--r--dev-ml/ocamlnet/metadata.xml10
-rw-r--r--dev-ml/ocamlnet/ocamlnet-4.1.2.ebuild76
-rw-r--r--dev-ml/ocamlnet/ocamlnet-4.1.3.ebuild72
-rw-r--r--dev-ml/ocamlnet/ocamlnet-4.1.4.ebuild72
-rw-r--r--dev-ml/ocamlsdl/Manifest1
-rw-r--r--dev-ml/ocamlsdl/files/ocamlopt.patch22
-rw-r--r--dev-ml/ocamlsdl/metadata.xml9
-rw-r--r--dev-ml/ocamlsdl/ocamlsdl-0.9.1.ebuild63
-rw-r--r--dev-ml/ocamlweb/Manifest1
-rw-r--r--dev-ml/ocamlweb/files/ocamlweb-1.37-strip.patch19
-rw-r--r--dev-ml/ocamlweb/metadata.xml6
-rw-r--r--dev-ml/ocamlweb/ocamlweb-1.39.ebuild32
-rw-r--r--dev-ml/ocplib-endian/Manifest1
-rw-r--r--dev-ml/ocplib-endian/metadata.xml9
-rw-r--r--dev-ml/ocplib-endian/ocplib-endian-1.0.ebuild24
-rw-r--r--dev-ml/ocplib-simplex/Manifest2
-rw-r--r--dev-ml/ocplib-simplex/files/ocplib-simplex-0.4-flags.patch48
-rw-r--r--dev-ml/ocplib-simplex/metadata.xml13
-rw-r--r--dev-ml/ocplib-simplex/ocplib-simplex-0.3.ebuild33
-rw-r--r--dev-ml/ocplib-simplex/ocplib-simplex-0.4.ebuild41
-rw-r--r--dev-ml/octavius/Manifest1
-rw-r--r--dev-ml/octavius/metadata.xml9
-rw-r--r--dev-ml/octavius/octavius-1.1.0.ebuild20
-rw-r--r--dev-ml/ocurl/Manifest3
-rw-r--r--dev-ml/ocurl/metadata.xml9
-rw-r--r--dev-ml/ocurl/ocurl-0.6.1.ebuild35
-rw-r--r--dev-ml/ocurl/ocurl-0.7.10.ebuild37
-rw-r--r--dev-ml/ocurl/ocurl-0.7.9.ebuild37
-rw-r--r--dev-ml/opam/Manifest1
-rw-r--r--dev-ml/opam/files/stublibs.patch13
-rw-r--r--dev-ml/opam/metadata.xml9
-rw-r--r--dev-ml/opam/opam-1.3.1-r1.ebuild56
-rw-r--r--dev-ml/optcomp/Manifest1
-rw-r--r--dev-ml/optcomp/metadata.xml9
-rw-r--r--dev-ml/optcomp/optcomp-1.6-r1.ebuild22
-rw-r--r--dev-ml/ounit/Manifest3
-rw-r--r--dev-ml/ounit/metadata.xml6
-rw-r--r--dev-ml/ounit/ounit-2.0.0.ebuild20
-rw-r--r--dev-ml/ounit/ounit-2.0.5.ebuild20
-rw-r--r--dev-ml/ounit/ounit-2.0.6.ebuild20
-rw-r--r--dev-ml/parmap/Manifest2
-rw-r--r--dev-ml/parmap/metadata.xml9
-rw-r--r--dev-ml/parmap/parmap-1.0_rc7-r1.ebuild46
-rw-r--r--dev-ml/parmap/parmap-1.0_rc8.ebuild46
-rw-r--r--dev-ml/patience_diff/Manifest1
-rw-r--r--dev-ml/patience_diff/metadata.xml9
-rw-r--r--dev-ml/patience_diff/patience_diff-0.9.0.ebuild23
-rw-r--r--dev-ml/pcre-ocaml/Manifest4
-rw-r--r--dev-ml/pcre-ocaml/metadata.xml10
-rw-r--r--dev-ml/pcre-ocaml/pcre-ocaml-7.2.3.ebuild30
-rw-r--r--dev-ml/pcre-ocaml/pcre-ocaml-7.3.0.ebuild41
-rw-r--r--dev-ml/pcre-ocaml/pcre-ocaml-7.3.2.ebuild41
-rw-r--r--dev-ml/pcre-ocaml/pcre-ocaml-7.3.3.ebuild41
-rw-r--r--dev-ml/pgocaml/Manifest1
-rw-r--r--dev-ml/pgocaml/metadata.xml9
-rw-r--r--dev-ml/pgocaml/pgocaml-2.3.ebuild32
-rw-r--r--dev-ml/ppx_assert/Manifest1
-rw-r--r--dev-ml/ppx_assert/metadata.xml9
-rw-r--r--dev-ml/ppx_assert/ppx_assert-0.9.0.ebuild31
-rw-r--r--dev-ml/ppx_ast/Manifest1
-rw-r--r--dev-ml/ppx_ast/metadata.xml9
-rw-r--r--dev-ml/ppx_ast/ppx_ast-0.9.1.ebuild23
-rw-r--r--dev-ml/ppx_base/Manifest1
-rw-r--r--dev-ml/ppx_base/metadata.xml9
-rw-r--r--dev-ml/ppx_base/ppx_base-0.9.0.ebuild28
-rw-r--r--dev-ml/ppx_bench/Manifest1
-rw-r--r--dev-ml/ppx_bench/metadata.xml9
-rw-r--r--dev-ml/ppx_bench/ppx_bench-0.9.1.ebuild26
-rw-r--r--dev-ml/ppx_bin_prot/Manifest1
-rw-r--r--dev-ml/ppx_bin_prot/metadata.xml9
-rw-r--r--dev-ml/ppx_bin_prot/ppx_bin_prot-0.9.0.ebuild28
-rw-r--r--dev-ml/ppx_compare/Manifest1
-rw-r--r--dev-ml/ppx_compare/metadata.xml9
-rw-r--r--dev-ml/ppx_compare/ppx_compare-0.9.0-r1.ebuild27
-rw-r--r--dev-ml/ppx_core/Manifest1
-rw-r--r--dev-ml/ppx_core/metadata.xml9
-rw-r--r--dev-ml/ppx_core/ppx_core-0.9.0-r1.ebuild26
-rw-r--r--dev-ml/ppx_custom_printf/Manifest1
-rw-r--r--dev-ml/ppx_custom_printf/metadata.xml9
-rw-r--r--dev-ml/ppx_custom_printf/ppx_custom_printf-0.9.0-r1.ebuild27
-rw-r--r--dev-ml/ppx_derivers/Manifest1
-rw-r--r--dev-ml/ppx_derivers/metadata.xml9
-rw-r--r--dev-ml/ppx_derivers/ppx_derivers-1.0.ebuild19
-rw-r--r--dev-ml/ppx_deriving/Manifest1
-rw-r--r--dev-ml/ppx_deriving/metadata.xml9
-rw-r--r--dev-ml/ppx_deriving/ppx_deriving-4.2-r1.ebuild52
-rw-r--r--dev-ml/ppx_driver/Manifest1
-rw-r--r--dev-ml/ppx_driver/metadata.xml9
-rw-r--r--dev-ml/ppx_driver/ppx_driver-0.9.1-r1.ebuild24
-rw-r--r--dev-ml/ppx_enumerate/Manifest1
-rw-r--r--dev-ml/ppx_enumerate/metadata.xml9
-rw-r--r--dev-ml/ppx_enumerate/ppx_enumerate-0.9.0.ebuild25
-rw-r--r--dev-ml/ppx_expect/Manifest1
-rw-r--r--dev-ml/ppx_expect/metadata.xml9
-rw-r--r--dev-ml/ppx_expect/ppx_expect-0.9.0.ebuild36
-rw-r--r--dev-ml/ppx_fail/Manifest1
-rw-r--r--dev-ml/ppx_fail/metadata.xml9
-rw-r--r--dev-ml/ppx_fail/ppx_fail-0.9.0.ebuild25
-rw-r--r--dev-ml/ppx_fields_conv/Manifest1
-rw-r--r--dev-ml/ppx_fields_conv/metadata.xml9
-rw-r--r--dev-ml/ppx_fields_conv/ppx_fields_conv-0.9.0-r1.ebuild27
-rw-r--r--dev-ml/ppx_hash/Manifest1
-rw-r--r--dev-ml/ppx_hash/metadata.xml9
-rw-r--r--dev-ml/ppx_hash/ppx_hash-0.9.0.ebuild28
-rw-r--r--dev-ml/ppx_here/Manifest1
-rw-r--r--dev-ml/ppx_here/metadata.xml9
-rw-r--r--dev-ml/ppx_here/ppx_here-0.9.1.ebuild24
-rw-r--r--dev-ml/ppx_inline_test/Manifest1
-rw-r--r--dev-ml/ppx_inline_test/metadata.xml9
-rw-r--r--dev-ml/ppx_inline_test/ppx_inline_test-0.9.2.ebuild27
-rw-r--r--dev-ml/ppx_jane/Manifest1
-rw-r--r--dev-ml/ppx_jane/metadata.xml9
-rw-r--r--dev-ml/ppx_jane/ppx_jane-0.9.0.ebuild40
-rw-r--r--dev-ml/ppx_js_style/Manifest1
-rw-r--r--dev-ml/ppx_js_style/metadata.xml9
-rw-r--r--dev-ml/ppx_js_style/ppx_js_style-0.9.0.ebuild25
-rw-r--r--dev-ml/ppx_let/Manifest1
-rw-r--r--dev-ml/ppx_let/metadata.xml9
-rw-r--r--dev-ml/ppx_let/ppx_let-0.9.0.ebuild23
-rw-r--r--dev-ml/ppx_metaquot/Manifest1
-rw-r--r--dev-ml/ppx_metaquot/metadata.xml9
-rw-r--r--dev-ml/ppx_metaquot/ppx_metaquot-0.9.0.ebuild25
-rw-r--r--dev-ml/ppx_optcomp/Manifest1
-rw-r--r--dev-ml/ppx_optcomp/metadata.xml9
-rw-r--r--dev-ml/ppx_optcomp/ppx_optcomp-0.9.0-r3.ebuild23
-rw-r--r--dev-ml/ppx_optional/Manifest1
-rw-r--r--dev-ml/ppx_optional/metadata.xml9
-rw-r--r--dev-ml/ppx_optional/ppx_optional-0.9.0.ebuild24
-rw-r--r--dev-ml/ppx_pipebang/Manifest1
-rw-r--r--dev-ml/ppx_pipebang/metadata.xml9
-rw-r--r--dev-ml/ppx_pipebang/ppx_pipebang-0.9.0.ebuild24
-rw-r--r--dev-ml/ppx_sexp_conv/Manifest1
-rw-r--r--dev-ml/ppx_sexp_conv/metadata.xml9
-rw-r--r--dev-ml/ppx_sexp_conv/ppx_sexp_conv-0.9.0-r1.ebuild28
-rw-r--r--dev-ml/ppx_sexp_message/Manifest1
-rw-r--r--dev-ml/ppx_sexp_message/metadata.xml9
-rw-r--r--dev-ml/ppx_sexp_message/ppx_sexp_message-0.9.0.ebuild27
-rw-r--r--dev-ml/ppx_sexp_value/Manifest1
-rw-r--r--dev-ml/ppx_sexp_value/metadata.xml9
-rw-r--r--dev-ml/ppx_sexp_value/ppx_sexp_value-0.9.0.ebuild27
-rw-r--r--dev-ml/ppx_tools/Manifest3
-rw-r--r--dev-ml/ppx_tools/files/ocaml404.patch47
-rw-r--r--dev-ml/ppx_tools/metadata.xml9
-rw-r--r--dev-ml/ppx_tools/ppx_tools-5.0.4.03.0.ebuild33
-rw-r--r--dev-ml/ppx_tools/ppx_tools-5.0.4.05.0.ebuild29
-rw-r--r--dev-ml/ppx_tools/ppx_tools-5.3.4.08.0.ebuild29
-rw-r--r--dev-ml/ppx_tools_versioned/Manifest1
-rw-r--r--dev-ml/ppx_tools_versioned/metadata.xml9
-rw-r--r--dev-ml/ppx_tools_versioned/ppx_tools_versioned-5.0.1.ebuild30
-rw-r--r--dev-ml/ppx_traverse/Manifest1
-rw-r--r--dev-ml/ppx_traverse/metadata.xml9
-rw-r--r--dev-ml/ppx_traverse/ppx_traverse-0.9.0.ebuild25
-rw-r--r--dev-ml/ppx_traverse_builtins/Manifest1
-rw-r--r--dev-ml/ppx_traverse_builtins/metadata.xml9
-rw-r--r--dev-ml/ppx_traverse_builtins/ppx_traverse_builtins-0.9.0.ebuild20
-rw-r--r--dev-ml/ppx_type_conv/Manifest1
-rw-r--r--dev-ml/ppx_type_conv/metadata.xml9
-rw-r--r--dev-ml/ppx_type_conv/ppx_type_conv-0.9.0.ebuild26
-rw-r--r--dev-ml/ppx_typerep_conv/Manifest1
-rw-r--r--dev-ml/ppx_typerep_conv/metadata.xml9
-rw-r--r--dev-ml/ppx_typerep_conv/ppx_typerep_conv-0.9.0.ebuild26
-rw-r--r--dev-ml/ppx_variants_conv/Manifest1
-rw-r--r--dev-ml/ppx_variants_conv/metadata.xml9
-rw-r--r--dev-ml/ppx_variants_conv/ppx_variants_conv-0.9.0.ebuild26
-rw-r--r--dev-ml/qcheck/Manifest2
-rw-r--r--dev-ml/qcheck/metadata.xml9
-rw-r--r--dev-ml/qcheck/qcheck-0.6.ebuild23
-rw-r--r--dev-ml/qcheck/qcheck-0.7.ebuild23
-rw-r--r--dev-ml/re2/Manifest2
-rw-r--r--dev-ml/re2/metadata.xml9
-rw-r--r--dev-ml/re2/re2-0.9.0.ebuild24
-rw-r--r--dev-ml/re2/re2-0.9.1.ebuild24
-rw-r--r--dev-ml/react/Manifest1
-rw-r--r--dev-ml/react/metadata.xml21
-rw-r--r--dev-ml/react/react-1.2.1.ebuild32
-rw-r--r--dev-ml/reactiveData/Manifest1
-rw-r--r--dev-ml/reactiveData/metadata.xml9
-rw-r--r--dev-ml/reactiveData/reactiveData-0.2.1.ebuild36
-rw-r--r--dev-ml/reactiveData/reactiveData-9999.ebuild36
-rw-r--r--dev-ml/result/Manifest1
-rw-r--r--dev-ml/result/metadata.xml9
-rw-r--r--dev-ml/result/result-1.2.ebuild28
-rw-r--r--dev-ml/rresult/Manifest1
-rw-r--r--dev-ml/rresult/metadata.xml9
-rw-r--r--dev-ml/rresult/rresult-0.5.0.ebuild24
-rw-r--r--dev-ml/seq/Manifest1
-rw-r--r--dev-ml/seq/files/seq-0.1-gentoo.patch10
-rw-r--r--dev-ml/seq/metadata.xml9
-rw-r--r--dev-ml/seq/seq-0.1.ebuild38
-rw-r--r--dev-ml/sexplib/Manifest2
-rw-r--r--dev-ml/sexplib/metadata.xml10
-rw-r--r--dev-ml/sexplib/sexplib-0.9.2.ebuild22
-rw-r--r--dev-ml/sexplib/sexplib-0.9.3.ebuild22
-rw-r--r--dev-ml/spawn/Manifest1
-rw-r--r--dev-ml/spawn/metadata.xml9
-rw-r--r--dev-ml/spawn/spawn-0.9.0.ebuild19
-rw-r--r--dev-ml/stdio/Manifest2
-rw-r--r--dev-ml/stdio/metadata.xml9
-rw-r--r--dev-ml/stdio/stdio-0.9.0-r1.ebuild22
-rw-r--r--dev-ml/stdio/stdio-0.9.1.ebuild22
-rw-r--r--dev-ml/stringext/Manifest2
-rw-r--r--dev-ml/stringext/metadata.xml9
-rw-r--r--dev-ml/stringext/stringext-1.4.3.ebuild26
-rw-r--r--dev-ml/stringext/stringext-1.5.0.ebuild23
-rw-r--r--dev-ml/textutils/Manifest1
-rw-r--r--dev-ml/textutils/metadata.xml9
-rw-r--r--dev-ml/textutils/textutils-0.9.0.ebuild23
-rw-r--r--dev-ml/topkg/Manifest2
-rw-r--r--dev-ml/topkg/metadata.xml9
-rw-r--r--dev-ml/topkg/topkg-0.9.0.ebuild33
-rw-r--r--dev-ml/topkg/topkg-0.9.1.ebuild33
-rw-r--r--dev-ml/type-conv/Manifest1
-rw-r--r--dev-ml/type-conv/metadata.xml6
-rw-r--r--dev-ml/type-conv/type-conv-113.00.02.ebuild27
-rw-r--r--dev-ml/typerep/Manifest1
-rw-r--r--dev-ml/typerep/metadata.xml9
-rw-r--r--dev-ml/typerep/typerep-0.9.0.ebuild19
-rw-r--r--dev-ml/tyxml/Manifest1
-rw-r--r--dev-ml/tyxml/metadata.xml13
-rw-r--r--dev-ml/tyxml/tyxml-4.1.0.ebuild36
-rw-r--r--dev-ml/uchar/Manifest1
-rw-r--r--dev-ml/uchar/metadata.xml9
-rw-r--r--dev-ml/uchar/uchar-0.0.2.ebuild41
-rw-r--r--dev-ml/uutf/Manifest1
-rw-r--r--dev-ml/uutf/metadata.xml9
-rw-r--r--dev-ml/uutf/uutf-1.0.1.ebuild56
-rw-r--r--dev-ml/variantslib/Manifest1
-rw-r--r--dev-ml/variantslib/metadata.xml10
-rw-r--r--dev-ml/variantslib/variantslib-0.9.0.ebuild22
-rw-r--r--dev-ml/xml-light/Manifest1
-rw-r--r--dev-ml/xml-light/files/01_installopt.dpatch24
-rw-r--r--dev-ml/xml-light/files/02_cmi_depends.dpatch18
-rw-r--r--dev-ml/xml-light/files/03_cflags.dpatch51
-rw-r--r--dev-ml/xml-light/files/04_dtd_trace.dpatch26
-rw-r--r--dev-ml/xml-light/metadata.xml9
-rw-r--r--dev-ml/xml-light/xml-light-2.2-r3.ebuild62
-rw-r--r--dev-ml/yojson/Manifest1
-rw-r--r--dev-ml/yojson/metadata.xml9
-rw-r--r--dev-ml/yojson/yojson-1.4.0.ebuild33
-rw-r--r--dev-ml/zarith/Manifest2
-rw-r--r--dev-ml/zarith/files/zarith-1.9.1-ar.patch11
-rw-r--r--dev-ml/zarith/metadata.xml15
-rw-r--r--dev-ml/zarith/zarith-1.7.ebuild52
-rw-r--r--dev-ml/zarith/zarith-1.9.1.ebuild58
625 files changed, 13163 insertions, 0 deletions
diff --git a/dev-ml/alcotest/Manifest b/dev-ml/alcotest/Manifest
new file mode 100644
index 000000000000..e1a56dcbf4a3
--- /dev/null
+++ b/dev-ml/alcotest/Manifest
@@ -0,0 +1,2 @@
+DIST alcotest-0.8.1.tar.gz 24358 BLAKE2B 4f905cb478183015355b7bed85b2b20de6880b64d6425a4804cf050dd95fe024e83d9c2f6b57f908bdf7eac650cd2133811219fd30de0c45fa0e66caa3178980 SHA512 76224df2d4923e666fd844a0735f2a23035454bb3c3aeb6a6f8d19376342f0f94f39a401d6225af3f90cddd2f65aa779ce87e42ee8d82e6b3ca33730d4277253
+DIST alcotest-0.8.2.tar.gz 25456 BLAKE2B 6f3362dd83d127600710a9efcf5428ce1d960a2a8798a533c3216d7c8934dadd38f672f383e45c0a0ab441e723b4c6477a3c92905e2351e81bbfda324e373e69 SHA512 df1cf5ab42e91a66cae2913504d6825f842169332b8673047faea769966f62d61cb1c288325a840211df0b22c31208566cf754b0816bfdf5d8ef34e8c5127668
diff --git a/dev-ml/alcotest/alcotest-0.8.1.ebuild b/dev-ml/alcotest/alcotest-0.8.1.ebuild
new file mode 100644
index 000000000000..b0d314768165
--- /dev/null
+++ b/dev-ml/alcotest/alcotest-0.8.1.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit opam
+
+DESCRIPTION="A lightweight and colourful test framework"
+HOMEPAGE="https://github.com/mirage/alcotest/"
+SRC_URI="https://github.com/mirage/alcotest/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="ISC"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-ml/fmt:=
+ dev-ml/astring:=
+ dev-ml/cmdliner:=
+ dev-ml/result:=
+"
+DEPEND="${RDEPEND}
+ dev-ml/jbuilder
+ dev-ml/findlib"
+
+src_compile() {
+ jbuilder build -p alcotest || die
+}
+
+src_test() {
+ jbuilder runtest -p alcotest || die
+}
diff --git a/dev-ml/alcotest/alcotest-0.8.2.ebuild b/dev-ml/alcotest/alcotest-0.8.2.ebuild
new file mode 100644
index 000000000000..b0d314768165
--- /dev/null
+++ b/dev-ml/alcotest/alcotest-0.8.2.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit opam
+
+DESCRIPTION="A lightweight and colourful test framework"
+HOMEPAGE="https://github.com/mirage/alcotest/"
+SRC_URI="https://github.com/mirage/alcotest/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="ISC"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-ml/fmt:=
+ dev-ml/astring:=
+ dev-ml/cmdliner:=
+ dev-ml/result:=
+"
+DEPEND="${RDEPEND}
+ dev-ml/jbuilder
+ dev-ml/findlib"
+
+src_compile() {
+ jbuilder build -p alcotest || die
+}
+
+src_test() {
+ jbuilder runtest -p alcotest || die
+}
diff --git a/dev-ml/alcotest/metadata.xml b/dev-ml/alcotest/metadata.xml
new file mode 100644
index 000000000000..fe1433985e66
--- /dev/null
+++ b/dev-ml/alcotest/metadata.xml
@@ -0,0 +1,9 @@
+<?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">mirage/alcotest</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/astring/Manifest b/dev-ml/astring/Manifest
new file mode 100644
index 000000000000..90ced5f53e69
--- /dev/null
+++ b/dev-ml/astring/Manifest
@@ -0,0 +1 @@
+DIST astring-0.8.3.tbz 38710 BLAKE2B 253fe07b51996eb7b5f84e18d171b0f65cbb5abba9b241a02aa679765f3190edc636c1ba989910fde374a20c7615db1887eb73d8607f3bb8311e20ab6e67f670 SHA512 c7230e47b7ef14e6040fb18284a3d5aa8da1428b721cf91a7f17104cfb853be24b9c2aaa0b118bf3e050158aa8748311435417c6cf9014d260fb4379e4ead3e1
diff --git a/dev-ml/astring/astring-0.8.3.ebuild b/dev-ml/astring/astring-0.8.3.ebuild
new file mode 100644
index 000000000000..503571633f03
--- /dev/null
+++ b/dev-ml/astring/astring-0.8.3.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit opam
+
+DESCRIPTION="Alternative String module for OCaml"
+HOMEPAGE="https://erratique.ch/software/astring https://github.com/dbuenzli/astring"
+SRC_URI="https://erratique.ch/software/astring/releases/${P}.tbz"
+
+LICENSE="ISC"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+IUSE=""
+
+RDEPEND="dev-lang/ocaml:=[ocamlopt]"
+DEPEND="${RDEPEND}
+ dev-ml/topkg
+ dev-ml/ocamlbuild
+ dev-ml/findlib"
+
+src_compile() {
+ ocaml pkg/pkg.ml build || die
+}
diff --git a/dev-ml/astring/metadata.xml b/dev-ml/astring/metadata.xml
new file mode 100644
index 000000000000..acff27d9f97b
--- /dev/null
+++ b/dev-ml/astring/metadata.xml
@@ -0,0 +1,9 @@
+<?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">dbuenzli/astring</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/async/Manifest b/dev-ml/async/Manifest
new file mode 100644
index 000000000000..d0c778ae6386
--- /dev/null
+++ b/dev-ml/async/Manifest
@@ -0,0 +1 @@
+DIST async-0.9.0.tar.gz 17856 BLAKE2B b7206641936aa430ddc35091b89c465fe0abd98883c9206f3a978372dc016a35f41a228adf906def56f894eafabdb223463a77fc690e373bbd5284c590871924 SHA512 93c0fa4d6e7d1c4dff1f460db8ec95b3eea1d7c19fda117bb9efc8711f4908d2922467c33f66659395169ead9b37931da16a85a031d6073fc9296c218f2c55bb
diff --git a/dev-ml/async/async-0.9.0.ebuild b/dev-ml/async/async-0.9.0.ebuild
new file mode 100644
index 000000000000..e1ba15eb9c98
--- /dev/null
+++ b/dev-ml/async/async-0.9.0.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit opam
+
+DESCRIPTION="Jane Street Capital's asynchronous execution library"
+HOMEPAGE="https://github.com/janestreet/async"
+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=""
+
+RDEPEND="
+ dev-ml/async_extra:=
+ dev-ml/async_kernel:=
+ dev-ml/async_unix:=
+ dev-ml/core:=
+ dev-ml/ppx_driver:=
+ dev-ml/ppx_jane:=
+ dev-ml/ocaml-migrate-parsetree:=
+"
+DEPEND="${RDEPEND} dev-ml/jbuilder"
diff --git a/dev-ml/async/metadata.xml b/dev-ml/async/metadata.xml
new file mode 100644
index 000000000000..b36c9194f57d
--- /dev/null
+++ b/dev-ml/async/metadata.xml
@@ -0,0 +1,9 @@
+<?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">janestreet/async</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/async_extra/Manifest b/dev-ml/async_extra/Manifest
new file mode 100644
index 000000000000..ded955faf4de
--- /dev/null
+++ b/dev-ml/async_extra/Manifest
@@ -0,0 +1 @@
+DIST async_extra-0.9.0.tar.gz 105722 BLAKE2B 5c371478b1507ddd63bbafb26858752f483a970cbdad174d62032a102fc8ded517ed87581a81b265cce82c9c27a85e09ca6df3209dbe86a35e71cbf35e027d39 SHA512 6f0d69a389e66e47cd0a3cf288c2b0242299e5c3befa77f7a656bc30dfb63f78e5287c4de5e80473c1ce2ee5fed038bf0b4d2b94eb73f045b20f40b14868fa1a
diff --git a/dev-ml/async_extra/async_extra-0.9.0.ebuild b/dev-ml/async_extra/async_extra-0.9.0.ebuild
new file mode 100644
index 000000000000..06c9100af230
--- /dev/null
+++ b/dev-ml/async_extra/async_extra-0.9.0.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+DESCRIPTION="Jane Street Capital's asynchronous execution library (extra)"
+HOMEPAGE="https://github.com/janestreet/async_extra"
+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=""
+
+RDEPEND=">=dev-lang/ocaml-4.02.0:=
+ dev-ml/async_kernel:=
+ dev-ml/async_rpc_kernel:=
+ dev-ml/async_unix:=
+ dev-ml/core:=
+ dev-ml/ppx_driver:=
+ dev-ml/ppx_jane:=
+ dev-ml/ocaml-migrate-parsetree:=
+"
+DEPEND="${RDEPEND} dev-ml/opam dev-ml/jbuilder"
+
+src_install() {
+ opam-installer -i \
+ --prefix="${ED}/usr" \
+ --libdir="${D}/$(ocamlc -where)" \
+ --docdir="${ED}/usr/share/doc/${PF}" \
+ ${PN}.install || die
+}
diff --git a/dev-ml/async_extra/metadata.xml b/dev-ml/async_extra/metadata.xml
new file mode 100644
index 000000000000..0dc405337008
--- /dev/null
+++ b/dev-ml/async_extra/metadata.xml
@@ -0,0 +1,9 @@
+<?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">janestreet/async_extra</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/async_kernel/Manifest b/dev-ml/async_kernel/Manifest
new file mode 100644
index 000000000000..091c80e7f7ea
--- /dev/null
+++ b/dev-ml/async_kernel/Manifest
@@ -0,0 +1 @@
+DIST async_kernel-0.9.0.tar.gz 132837 BLAKE2B cbd1748459bca8691a6051b54beb177858707e166350c9f431d48cab1379adc557a4240f66efa0557cfef9c9ffa00fb458cb8d83a5466651ac40d01228524ed7 SHA512 a2aaa28cce736509bd77041694cbce482f698274144acebabd5db9f3186e0c0bab32196634f5fb19e3921141e0a2b849df8bc0d67e843292cbe3fd301848e519
diff --git a/dev-ml/async_kernel/async_kernel-0.9.0.ebuild b/dev-ml/async_kernel/async_kernel-0.9.0.ebuild
new file mode 100644
index 000000000000..e563147731ce
--- /dev/null
+++ b/dev-ml/async_kernel/async_kernel-0.9.0.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+DESCRIPTION="Jane Street Capital's asynchronous execution library (core)"
+HOMEPAGE="https://github.com/janestreet/async_kernel"
+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=""
+
+RDEPEND=">=dev-lang/ocaml-4.02.0:=
+ dev-ml/core_kernel:=
+ dev-ml/ppx_driver:=
+ dev-ml/ppx_jane:=
+ dev-ml/ocaml-migrate-parsetree:=
+"
+DEPEND="${RDEPEND} dev-ml/opam dev-ml/jbuilder"
+
+src_install() {
+ opam-installer -i \
+ --prefix="${ED}/usr" \
+ --libdir="${D}/$(ocamlc -where)" \
+ --docdir="${ED}/usr/share/doc/${PF}" \
+ ${PN}.install || die
+}
diff --git a/dev-ml/async_kernel/metadata.xml b/dev-ml/async_kernel/metadata.xml
new file mode 100644
index 000000000000..49e8c7e92dd6
--- /dev/null
+++ b/dev-ml/async_kernel/metadata.xml
@@ -0,0 +1,9 @@
+<?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">janestreet/async_kernel</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/async_rpc_kernel/Manifest b/dev-ml/async_rpc_kernel/Manifest
new file mode 100644
index 000000000000..92905a071a71
--- /dev/null
+++ b/dev-ml/async_rpc_kernel/Manifest
@@ -0,0 +1 @@
+DIST async_rpc_kernel-0.9.0.tar.gz 57411 BLAKE2B 43d07ed0d8e529daf63bf7ee9ff109d765bba0aa2c849e72eb2b60e27d1d1f465fe41ee39b8bc883c6eb63c83c43dde8abc7d7734737bc9819a870d91de18e9e SHA512 4c93165f78a92ae4904503b18072a775ea3ab0f49e460404741bd4daf3f6c483da3dfa987f7013a41dce348a8e95664b4784d175256ccd52a2d8df8e89d3c136
diff --git a/dev-ml/async_rpc_kernel/async_rpc_kernel-0.9.0.ebuild b/dev-ml/async_rpc_kernel/async_rpc_kernel-0.9.0.ebuild
new file mode 100644
index 000000000000..efbafe69d388
--- /dev/null
+++ b/dev-ml/async_rpc_kernel/async_rpc_kernel-0.9.0.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+DESCRIPTION="Platform-independent core of Async RPC library"
+HOMEPAGE="https://github.com/janestreet/async_rpc_kernel"
+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=""
+
+RDEPEND="
+ dev-lang/ocaml:=
+ dev-ml/async_kernel:=
+ dev-ml/core_kernel:=
+ dev-ml/ppx_driver:=
+ dev-ml/ppx_jane:=
+ dev-ml/ocaml-migrate-parsetree:=
+"
+DEPEND="${RDEPEND} dev-ml/opam dev-ml/jbuilder"
+
+src_install() {
+ opam-installer -i \
+ --prefix="${ED}/usr" \
+ --libdir="${D}/$(ocamlc -where)" \
+ --docdir="${ED}/usr/share/doc/${PF}" \
+ ${PN}.install || die
+}
diff --git a/dev-ml/async_rpc_kernel/metadata.xml b/dev-ml/async_rpc_kernel/metadata.xml
new file mode 100644
index 000000000000..0a378b6b88c5
--- /dev/null
+++ b/dev-ml/async_rpc_kernel/metadata.xml
@@ -0,0 +1,10 @@
+<?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/async_rpc_kernel</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/async_ssl/Manifest b/dev-ml/async_ssl/Manifest
new file mode 100644
index 000000000000..24567712360b
--- /dev/null
+++ b/dev-ml/async_ssl/Manifest
@@ -0,0 +1,2 @@
+DIST async_ssl-0.9.0.tar.gz 28227 BLAKE2B e916e196964d085312836d773e290ac52c950c5ceb084347557d72776c7b6b9548ad2bd01c5fc6fa701d18c55fff62e48af5459bf5897478252f8d27dd6687fc SHA512 bb023e0c60f9f04368f2e2a4aea80700a60853a03fe1550fe48a9defe42ec66736a6cc0cf40c6a472cd3f8b5b30d79711e4fd714b53ebd4ba7f3f3c22eb7a15e
+DIST async_ssl-0.9.1.tar.gz 28162 BLAKE2B 74987fcad26dcb641687e044ef76531cfa88e2bb62524d0eddf5ce3fe4f4dc9c7b07f13de63e9cdddd4a5db2e7e20f2a7f3a8543b17678a342e2890ed816189a SHA512 5e20d3c2a46e81d725076a80347047de90d00d6a0956457656ffd629d80b7a65958fd8a831d407dd11e3a3583662ed1e04242e71580ab7e982dc579ee69bface
diff --git a/dev-ml/async_ssl/async_ssl-0.9.0.ebuild b/dev-ml/async_ssl/async_ssl-0.9.0.ebuild
new file mode 100644
index 000000000000..92946fd066df
--- /dev/null
+++ b/dev-ml/async_ssl/async_ssl-0.9.0.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+DESCRIPTION="An Async-pipe-based interface with OpenSSL."
+HOMEPAGE="https://github.com/janestreet/async_ssl"
+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=""
+
+RDEPEND="
+ dev-lang/ocaml:=
+ dev-ml/async:=
+ dev-ml/base:=
+ dev-ml/configurator:=
+ dev-ml/core:=
+ dev-ml/ppx_driver:=
+ dev-ml/ppx_jane:=
+ dev-ml/stdio:=
+ dev-ml/ocaml-ctypes:=
+ dev-libs/openssl:0=
+ dev-ml/ocaml-migrate-parsetree:=
+"
+DEPEND="${RDEPEND}
+ dev-ml/opam
+ dev-ml/jbuilder
+"
+
+src_install() {
+ opam-installer -i \
+ --prefix="${ED}/usr" \
+ --libdir="${D}/$(ocamlc -where)" \
+ --docdir="${ED}/usr/share/doc/${PF}" \
+ ${PN}.install || die
+}
diff --git a/dev-ml/async_ssl/async_ssl-0.9.1.ebuild b/dev-ml/async_ssl/async_ssl-0.9.1.ebuild
new file mode 100644
index 000000000000..aece7ea02729
--- /dev/null
+++ b/dev-ml/async_ssl/async_ssl-0.9.1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+DESCRIPTION="An Async-pipe-based interface with OpenSSL."
+HOMEPAGE="https://github.com/janestreet/async_ssl"
+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=""
+
+RDEPEND="
+ dev-lang/ocaml:=
+ dev-ml/async:=
+ dev-ml/base:=
+ dev-ml/configurator:=
+ dev-ml/core:=
+ dev-ml/ppx_driver:=
+ dev-ml/ppx_jane:=
+ dev-ml/stdio:=
+ dev-ml/ocaml-ctypes:=
+ dev-libs/openssl:0=
+ dev-ml/ocaml-migrate-parsetree:=
+"
+DEPEND="${RDEPEND}
+ dev-ml/opam
+ dev-ml/jbuilder
+"
+
+src_install() {
+ opam-installer -i \
+ --prefix="${ED}/usr" \
+ --libdir="${D}/$(ocamlc -where)" \
+ --docdir="${ED}/usr/share/doc/${PF}" \
+ ${PN}.install || die
+}
diff --git a/dev-ml/async_ssl/metadata.xml b/dev-ml/async_ssl/metadata.xml
new file mode 100644
index 000000000000..fa7c5ad01880
--- /dev/null
+++ b/dev-ml/async_ssl/metadata.xml
@@ -0,0 +1,9 @@
+<?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">janestreet/async_ssl</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/async_unix/Manifest b/dev-ml/async_unix/Manifest
new file mode 100644
index 000000000000..c549f2c3b3bf
--- /dev/null
+++ b/dev-ml/async_unix/Manifest
@@ -0,0 +1 @@
+DIST async_unix-0.9.0.tar.gz 156717 BLAKE2B cce40cb1074ae7a6f38fa8df80dc4787be24a500ed9576bd737fc5db8d1d3f31ccc14cad9b134bccc8257004e421201c410b7c3b19373a282b50817b3ccebd7c SHA512 cd3fb43ffcde8fe01386a0460beb52e2530786dc0abce318c5241243e123ebd57fbf4cff8c91300483f33ae5dc1c0cc591992dc55286dc6ec550be62afb33b42
diff --git a/dev-ml/async_unix/async_unix-0.9.0.ebuild b/dev-ml/async_unix/async_unix-0.9.0.ebuild
new file mode 100644
index 000000000000..aac9eccd0f0a
--- /dev/null
+++ b/dev-ml/async_unix/async_unix-0.9.0.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+DESCRIPTION="Jane Street Capital's asynchronous execution library (unix)"
+HOMEPAGE="https://github.com/janestreet/async_unix"
+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=""
+
+RDEPEND="
+ >=dev-lang/ocaml-4.02.0:=
+ dev-ml/async_kernel:=
+ dev-ml/core:=
+ dev-ml/ppx_driver:=
+ dev-ml/ppx_jane:=
+ dev-ml/ocaml-migrate-parsetree:=
+ <dev-ml/ppx_driver-100
+ <dev-ml/ppx_jane-100
+"
+DEPEND="${RDEPEND} dev-ml/opam dev-ml/jbuilder"
+
+src_install() {
+ opam-installer -i \
+ --prefix="${ED}/usr" \
+ --libdir="${D}/$(ocamlc -where)" \
+ --docdir="${ED}/usr/share/doc/${PF}" \
+ ${PN}.install || die
+}
diff --git a/dev-ml/async_unix/metadata.xml b/dev-ml/async_unix/metadata.xml
new file mode 100644
index 000000000000..9154633583ae
--- /dev/null
+++ b/dev-ml/async_unix/metadata.xml
@@ -0,0 +1,9 @@
+<?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">janestreet/async_unix</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/base/Manifest b/dev-ml/base/Manifest
new file mode 100644
index 000000000000..09f0e633b064
--- /dev/null
+++ b/dev-ml/base/Manifest
@@ -0,0 +1,4 @@
+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
+DIST base-0.9.4.tar.gz 286689 BLAKE2B adf0da9f82aaa8884a99db2d307e72a40a232dbc2517b371af65671966d488f9f77e86c32425077cd513075b8a3546727f3f596eac7c46876b25198a46ac373b SHA512 9e25caee46ec09c835aa74857f415ac61adeb1ae8d6773334fa1b28699b9ebbac9ef95a698b1f324d0ad59c27ea52fea0e0df86bf4908b6ba3e5121eb8e26076
diff --git a/dev-ml/base/base-0.9.1.ebuild b/dev-ml/base/base-0.9.1.ebuild
new file mode 100644
index 000000000000..b6a07e3d5965
--- /dev/null
+++ b/dev-ml/base/base-0.9.1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+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"
+IUSE=""
+
+RDEPEND="
+ dev-lang/ocaml:=
+ dev-ml/sexplib:=
+ <dev-ml/sexplib-100
+"
+DEPEND="${RDEPEND} dev-ml/opam dev-ml/jbuilder"
+
+src_test() {
+ jbuilder runtest || die
+}
+
+src_install() {
+ opam-installer -i \
+ --prefix="${ED}/usr" \
+ --libdir="${D}/$(ocamlc -where)" \
+ --docdir="${ED}/usr/share/doc/${PF}" \
+ ${PN}.install || die
+ dodoc ROADMAP.md README.org
+}
diff --git a/dev-ml/base/base-0.9.2.ebuild b/dev-ml/base/base-0.9.2.ebuild
new file mode 100644
index 000000000000..b6a07e3d5965
--- /dev/null
+++ b/dev-ml/base/base-0.9.2.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+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"
+IUSE=""
+
+RDEPEND="
+ dev-lang/ocaml:=
+ dev-ml/sexplib:=
+ <dev-ml/sexplib-100
+"
+DEPEND="${RDEPEND} dev-ml/opam dev-ml/jbuilder"
+
+src_test() {
+ jbuilder runtest || die
+}
+
+src_install() {
+ opam-installer -i \
+ --prefix="${ED}/usr" \
+ --libdir="${D}/$(ocamlc -where)" \
+ --docdir="${ED}/usr/share/doc/${PF}" \
+ ${PN}.install || die
+ dodoc ROADMAP.md README.org
+}
diff --git a/dev-ml/base/base-0.9.3.ebuild b/dev-ml/base/base-0.9.3.ebuild
new file mode 100644
index 000000000000..05dc737ee91d
--- /dev/null
+++ b/dev-ml/base/base-0.9.3.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+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 ~ppc ~x86"
+IUSE=""
+
+RDEPEND="
+ dev-lang/ocaml:=
+ dev-ml/sexplib:=
+ <dev-ml/sexplib-100
+"
+DEPEND="${RDEPEND} dev-ml/opam dev-ml/jbuilder"
+
+src_test() {
+ jbuilder runtest || die
+}
+
+src_install() {
+ opam-installer -i \
+ --prefix="${ED}/usr" \
+ --libdir="${D}/$(ocamlc -where)" \
+ --docdir="${ED}/usr/share/doc/${PF}" \
+ ${PN}.install || die
+ dodoc ROADMAP.md README.org
+}
diff --git a/dev-ml/base/base-0.9.4.ebuild b/dev-ml/base/base-0.9.4.ebuild
new file mode 100644
index 000000000000..05dc737ee91d
--- /dev/null
+++ b/dev-ml/base/base-0.9.4.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+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 ~ppc ~x86"
+IUSE=""
+
+RDEPEND="
+ dev-lang/ocaml:=
+ dev-ml/sexplib:=
+ <dev-ml/sexplib-100
+"
+DEPEND="${RDEPEND} dev-ml/opam dev-ml/jbuilder"
+
+src_test() {
+ jbuilder runtest || die
+}
+
+src_install() {
+ opam-installer -i \
+ --prefix="${ED}/usr" \
+ --libdir="${D}/$(ocamlc -where)" \
+ --docdir="${ED}/usr/share/doc/${PF}" \
+ ${PN}.install || die
+ dodoc ROADMAP.md README.org
+}
diff --git a/dev-ml/base/metadata.xml b/dev-ml/base/metadata.xml
new file mode 100644
index 000000000000..ea2b5e17d4fe
--- /dev/null
+++ b/dev-ml/base/metadata.xml
@@ -0,0 +1,9 @@
+<?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">janestreet/base</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/batteries/Manifest b/dev-ml/batteries/Manifest
new file mode 100644
index 000000000000..7c84971b5de6
--- /dev/null
+++ b/dev-ml/batteries/Manifest
@@ -0,0 +1 @@
+DIST batteries-2.7.0.tar.gz 768498 BLAKE2B ded30928d51bd6f6bc023803bb404a140a8bbc64d7dea3c6d63cd7ad4aacd470621a6179684772930c6e57530a57b3136711ca32df30332104db2081518f408c SHA512 ecb973c9cc535fce18db8efb1bfb9dfde73d7a7fc82cb6b0657547b6f7d173e9004015f698065ed5efeb9f89f1fcc1b548745b708139ce0d01eb6f63981421c9
diff --git a/dev-ml/batteries/batteries-2.7.0.ebuild b/dev-ml/batteries/batteries-2.7.0.ebuild
new file mode 100644
index 000000000000..fd324bf579fd
--- /dev/null
+++ b/dev-ml/batteries/batteries-2.7.0.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit oasis eutils
+
+DESCRIPTION="The community-maintained foundation library for your OCaml projects"
+HOMEPAGE="https://github.com/ocaml-batteries-team/batteries-included/"
+SRC_URI="https://github.com/ocaml-batteries-team/batteries-included/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1-with-linking-exception"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="dev-ml/camomile:="
+DEPEND="${RDEPEND}
+ test? ( dev-ml/ounit dev-ml/iTeML )"
+
+DOCS=( "ChangeLog" "FAQ" "README.folders" "README.md" )
+
+S="${WORKDIR}/${PN}-included-${PV}"
diff --git a/dev-ml/batteries/metadata.xml b/dev-ml/batteries/metadata.xml
new file mode 100644
index 000000000000..d3c17f4def3d
--- /dev/null
+++ b/dev-ml/batteries/metadata.xml
@@ -0,0 +1,9 @@
+<?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-batteries-team/batteries-included</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/bin-prot/Manifest b/dev-ml/bin-prot/Manifest
new file mode 100644
index 000000000000..56a42452c2b4
--- /dev/null
+++ b/dev-ml/bin-prot/Manifest
@@ -0,0 +1,3 @@
+DIST bin-prot-0.9.0.tar.gz 338958 BLAKE2B 78b447f42f2c75d70d17dedd855c2c08b740ea847a489bdcff860b88f4ce3fbfd05d88f87d16d761b26314715507288035f708e5bb8267125a360abf4df70850 SHA512 111e0a9d07bdf22db6e3e7e9a165d196a264a3652e4cc363ec8f49c4ef385b8b76982a9d42fa8e0954e15a4a80c35ca6876c70fe6f20d7497fd8a2d53fab24c1
+DIST bin-prot-0.9.1.tar.gz 338969 BLAKE2B 249329c0093affc082a42b5a496f0f8861d761799104ef50d788331179e3a6965cb1cd03ee6530782a608677488a4970583e85f25e5ba220d2d179d3d16908c2 SHA512 6575f51931c6dfb0f640bc6eb8bb789fd1ca4b1ca95876df906bd5d5c3320dc8aebedd44b5c6feee6b66b40007bd0077da6cc628c791daba0c8cf806d7af7b9c
+DIST bin-prot-0.9.2.tar.gz 339008 BLAKE2B 3fcad0d5a88393b49b22d42b4669da485ddd9a61938cdda4183658eca5b0369265480005945bdaeb53cc8af5c324cc7cb158b4208e4a7a7f821db5c045502910 SHA512 a4aa453ff4d2037b8ed0e53186fafa876a96ecb970ef25e99cf133afa4615b8fc53de75234454519a4f7c11f771f98e8117f8fa37682dbb8f73d4fda8a1805f7
diff --git a/dev-ml/bin-prot/bin-prot-0.9.0.ebuild b/dev-ml/bin-prot/bin-prot-0.9.0.ebuild
new file mode 100644
index 000000000000..5c2d435fef0b
--- /dev/null
+++ b/dev-ml/bin-prot/bin-prot-0.9.0.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+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=""
+
+RDEPEND="
+ dev-lang/ocaml:=
+ dev-ml/base:=
+ dev-ml/ppx_compare:=
+ dev-ml/ppx_custom_printf:=
+ dev-ml/ppx_core:=
+ dev-ml/ppx_driver:=
+ dev-ml/ppx_fields_conv:=
+ dev-ml/ppx_sexp_conv:=
+ dev-ml/ppx_type_conv:=
+ dev-ml/ppx_variants_conv:=
+ dev-ml/sexplib:=
+ dev-ml/ocaml-migrate-parsetree:=
+"
+DEPEND="${RDEPEND} dev-ml/opam dev-ml/jbuilder"
+
+S="${WORKDIR}/bin_prot-${PV}"
+
+src_test() {
+ jbuilder runtest || die
+}
+
+src_install() {
+ opam-installer -i \
+ --prefix="${ED}/usr" \
+ --libdir="${D}/$(ocamlc -where)" \
+ --docdir="${ED}/usr/share/doc/${PF}" \
+ ${PN/-/_}.install || die
+ dodoc CHANGES.md README.md
+}
diff --git a/dev-ml/bin-prot/bin-prot-0.9.1.ebuild b/dev-ml/bin-prot/bin-prot-0.9.1.ebuild
new file mode 100644
index 000000000000..5c2d435fef0b
--- /dev/null
+++ b/dev-ml/bin-prot/bin-prot-0.9.1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+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=""
+
+RDEPEND="
+ dev-lang/ocaml:=
+ dev-ml/base:=
+ dev-ml/ppx_compare:=
+ dev-ml/ppx_custom_printf:=
+ dev-ml/ppx_core:=
+ dev-ml/ppx_driver:=
+ dev-ml/ppx_fields_conv:=
+ dev-ml/ppx_sexp_conv:=
+ dev-ml/ppx_type_conv:=
+ dev-ml/ppx_variants_conv:=
+ dev-ml/sexplib:=
+ dev-ml/ocaml-migrate-parsetree:=
+"
+DEPEND="${RDEPEND} dev-ml/opam dev-ml/jbuilder"
+
+S="${WORKDIR}/bin_prot-${PV}"
+
+src_test() {
+ jbuilder runtest || die
+}
+
+src_install() {
+ opam-installer -i \
+ --prefix="${ED}/usr" \
+ --libdir="${D}/$(ocamlc -where)" \
+ --docdir="${ED}/usr/share/doc/${PF}" \
+ ${PN/-/_}.install || die
+ dodoc CHANGES.md README.md
+}
diff --git a/dev-ml/bin-prot/bin-prot-0.9.2.ebuild b/dev-ml/bin-prot/bin-prot-0.9.2.ebuild
new file mode 100644
index 000000000000..5c2d435fef0b
--- /dev/null
+++ b/dev-ml/bin-prot/bin-prot-0.9.2.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+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=""
+
+RDEPEND="
+ dev-lang/ocaml:=
+ dev-ml/base:=
+ dev-ml/ppx_compare:=
+ dev-ml/ppx_custom_printf:=
+ dev-ml/ppx_core:=
+ dev-ml/ppx_driver:=
+ dev-ml/ppx_fields_conv:=
+ dev-ml/ppx_sexp_conv:=
+ dev-ml/ppx_type_conv:=
+ dev-ml/ppx_variants_conv:=
+ dev-ml/sexplib:=
+ dev-ml/ocaml-migrate-parsetree:=
+"
+DEPEND="${RDEPEND} dev-ml/opam dev-ml/jbuilder"
+
+S="${WORKDIR}/bin_prot-${PV}"
+
+src_test() {
+ jbuilder runtest || die
+}
+
+src_install() {
+ opam-installer -i \
+ --prefix="${ED}/usr" \
+ --libdir="${D}/$(ocamlc -where)" \
+ --docdir="${ED}/usr/share/doc/${PF}" \
+ ${PN/-/_}.install || die
+ dodoc CHANGES.md README.md
+}
diff --git a/dev-ml/bin-prot/metadata.xml b/dev-ml/bin-prot/metadata.xml
new file mode 100644
index 000000000000..745476a83dc5
--- /dev/null
+++ b/dev-ml/bin-prot/metadata.xml
@@ -0,0 +1,9 @@
+<?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">janestreet/bin_prot</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/biniou/Manifest b/dev-ml/biniou/Manifest
new file mode 100644
index 000000000000..df9d861bd46d
--- /dev/null
+++ b/dev-ml/biniou/Manifest
@@ -0,0 +1,4 @@
+DIST biniou-1.0.12.tar.gz 24262 BLAKE2B c7dd3ff0d7cf47f7c464cf379fa1ac84e11c284399730c55d803d0da1e5c10ed0b974b51705d22e0a29513bf7a4774139720aacd7094a52685b6d7bc17067ad8 SHA512 df729e4064f6726efa409ceb5e6ff1987923d9cd28339d6e1c4c185a07c0738b027cafba33a139483eeb8f88e58f66fbb6a57d8e748e7355073a7622fb4d7a07
+DIST biniou-1.0.13.tar.gz 24327 BLAKE2B 19a69665805b917c9bc02ad459c8a98b8cb64f707f3664e863d5315fd1444e0cb5545549220494dab136287cf4f8ffab8d5246a2068bb154c2ea10553b63737d SHA512 2fe109e83260f546181dd26ea175d2c4f63d0f6604c6d26fa44ee31925ba1fdaac0139a436cd0271a31294de9cd8ea65f8dde0981403c652d31de721ef696788
+DIST biniou-1.1.0.tar.gz 23432 BLAKE2B 601e160c828c32f520c7cd18d5b3ca1abfe629dcb53250d83e9dc658dacafcb7f54296b5c9604dc38b8a95acbaf64d79d283d82fe345391e593023d7dfbc2933 SHA512 755e3dcfe2a967c08b86db5a7dc917f75713611f5deb64b4fe3499aecf8e698813a1d0620eb78aa1e77c404719936c5ef5088c0c394c02fc2d7fe2629e985669
+DIST biniou-1.2.0.tar.gz 23611 BLAKE2B 01f5afada666d23b74f31cf12b5f578f3622c85311d7a1b6eb319843beac4c3ebe8e8e314a47ec14ee0ef6f5c1a5b6dd849dcf24b0c3cc8a38ca6a54d89e4c4d SHA512 04c04c2dd5e3e1237106db257567ba6900bd94759b07b02ba2e0d9209d1bbdc9ed629864e06d44a8b61f72d46fbcc7a0ffc86f82feb223d9d99ca41afc625fab
diff --git a/dev-ml/biniou/biniou-1.0.12.ebuild b/dev-ml/biniou/biniou-1.0.12.ebuild
new file mode 100644
index 000000000000..81346198c7f1
--- /dev/null
+++ b/dev-ml/biniou/biniou-1.0.12.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit findlib
+
+DESCRIPTION="A binary data serialization format inspired by JSON for OCaml"
+HOMEPAGE="https://github.com/mjambon/biniou"
+SRC_URI="https://github.com/mjambon/biniou/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+SLOT="0/${PV}"
+LICENSE="BSD"
+KEYWORDS="~amd64"
+IUSE="+ocamlopt"
+
+RDEPEND=">=dev-lang/ocaml-3.11:=[ocamlopt?]
+ dev-ml/easy-format:=[ocamlopt?]
+"
+DEPEND="${RDEPEND}"
+
+src_compile() {
+ emake all
+ use ocamlopt && emake opt
+}
+
+src_install() {
+ use ocamlopt && dodir /usr/bin
+ findlib_src_install BINDIR="${ED}"/usr/bin
+ dodoc README.md Changes
+}
diff --git a/dev-ml/biniou/biniou-1.0.13.ebuild b/dev-ml/biniou/biniou-1.0.13.ebuild
new file mode 100644
index 000000000000..221435a17637
--- /dev/null
+++ b/dev-ml/biniou/biniou-1.0.13.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit findlib
+
+DESCRIPTION="A binary data serialization format inspired by JSON for OCaml"
+HOMEPAGE="https://github.com/mjambon/biniou"
+SRC_URI="https://github.com/mjambon/biniou/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+SLOT="0/${PV}"
+LICENSE="BSD"
+KEYWORDS="~amd64"
+IUSE="+ocamlopt"
+
+RDEPEND=">=dev-lang/ocaml-3.11:=[ocamlopt?]
+ dev-ml/easy-format:=[ocamlopt?]
+"
+DEPEND="${RDEPEND}"
+
+src_compile() {
+ emake all
+ use ocamlopt && emake opt
+}
+
+src_install() {
+ use ocamlopt && dodir /usr/bin
+ findlib_src_install BINDIR="${ED}"/usr/bin
+ dodoc README.md Changes
+}
diff --git a/dev-ml/biniou/biniou-1.1.0.ebuild b/dev-ml/biniou/biniou-1.1.0.ebuild
new file mode 100644
index 000000000000..6a9705355a2a
--- /dev/null
+++ b/dev-ml/biniou/biniou-1.1.0.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit findlib
+
+DESCRIPTION="A binary data serialization format inspired by JSON for OCaml"
+HOMEPAGE="https://github.com/mjambon/biniou"
+SRC_URI="https://github.com/mjambon/biniou/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+SLOT="0/${PV}"
+LICENSE="BSD"
+KEYWORDS="~amd64"
+IUSE="+ocamlopt"
+
+RDEPEND=">=dev-lang/ocaml-3.11:=[ocamlopt?]
+ dev-ml/easy-format:=[ocamlopt?]
+"
+DEPEND="${RDEPEND}
+ dev-ml/jbuilder
+ dev-ml/opam
+"
+
+src_install() {
+ opam-installer -i \
+ --prefix="${ED}/usr" \
+ --libdir="${D}/$(ocamlc -where)" \
+ --docdir="${ED}/usr/share/doc/${PF}" \
+ --mandir="${ED}/usr/share/man" \
+ ${PN}.install || die
+}
diff --git a/dev-ml/biniou/biniou-1.2.0.ebuild b/dev-ml/biniou/biniou-1.2.0.ebuild
new file mode 100644
index 000000000000..6a9705355a2a
--- /dev/null
+++ b/dev-ml/biniou/biniou-1.2.0.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit findlib
+
+DESCRIPTION="A binary data serialization format inspired by JSON for OCaml"
+HOMEPAGE="https://github.com/mjambon/biniou"
+SRC_URI="https://github.com/mjambon/biniou/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+SLOT="0/${PV}"
+LICENSE="BSD"
+KEYWORDS="~amd64"
+IUSE="+ocamlopt"
+
+RDEPEND=">=dev-lang/ocaml-3.11:=[ocamlopt?]
+ dev-ml/easy-format:=[ocamlopt?]
+"
+DEPEND="${RDEPEND}
+ dev-ml/jbuilder
+ dev-ml/opam
+"
+
+src_install() {
+ opam-installer -i \
+ --prefix="${ED}/usr" \
+ --libdir="${D}/$(ocamlc -where)" \
+ --docdir="${ED}/usr/share/doc/${PF}" \
+ --mandir="${ED}/usr/share/man" \
+ ${PN}.install || die
+}
diff --git a/dev-ml/biniou/metadata.xml b/dev-ml/biniou/metadata.xml
new file mode 100644
index 000000000000..c962d465eba5
--- /dev/null
+++ b/dev-ml/biniou/metadata.xml
@@ -0,0 +1,9 @@
+<?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">mjambon/biniou</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/bos/Manifest b/dev-ml/bos/Manifest
new file mode 100644
index 000000000000..1605b9165f82
--- /dev/null
+++ b/dev-ml/bos/Manifest
@@ -0,0 +1 @@
+DIST bos-0.1.6.tbz 39822 BLAKE2B 0e10eb14fb5d429b81c67659c936e8b700c4cd417d1f5be000c8bdb0304de8ad9130e597f6e2e7771380c29c148f4339817bacc458e72a8efa894be3b85965bf SHA512 f1f10a97a32da936a7d5a0c70632e723723ee523c79f9dfd23bc42c039a194e8d69658483e6e856c7911332b799a92bf8cabfe96cc387522d7450b8f3f8f8343
diff --git a/dev-ml/bos/bos-0.1.6.ebuild b/dev-ml/bos/bos-0.1.6.ebuild
new file mode 100644
index 000000000000..e5a1293769c4
--- /dev/null
+++ b/dev-ml/bos/bos-0.1.6.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+DESCRIPTION="Basic OS interaction for OCaml"
+HOMEPAGE="https://erratique.ch/software/bos https://github.com/dbuenzli/bos"
+SRC_URI="https://erratique.ch/software/bos/releases/${P}.tbz"
+
+LICENSE="ISC"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-lang/ocaml:=
+ dev-ml/rresult:=
+ dev-ml/astring:=
+ dev-ml/fpath:=
+ dev-ml/fmt:=
+ dev-ml/logs:=
+"
+DEPEND="${RDEPEND}
+ dev-ml/findlib
+ dev-ml/ocamlbuild
+ dev-ml/topkg
+ test? ( dev-ml/mtime )
+"
+
+src_compile() {
+ ocaml pkg/pkg.ml build --tests $(usex test true false) || die
+}
+
+src_test() {
+ ocaml pkg/pkg.ml test || die
+}
+
+src_install() {
+ opam-installer -i \
+ --prefix="${ED}/usr" \
+ --libdir="${D}/$(ocamlc -where)" \
+ --docdir="${ED}/usr/share/doc/${PF}" \
+ ${PN}.install || die
+}
diff --git a/dev-ml/bos/metadata.xml b/dev-ml/bos/metadata.xml
new file mode 100644
index 000000000000..b761d6e417f2
--- /dev/null
+++ b/dev-ml/bos/metadata.xml
@@ -0,0 +1,9 @@
+<?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">dbuenzli/bos</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/cairo-ocaml/Manifest b/dev-ml/cairo-ocaml/Manifest
new file mode 100644
index 000000000000..88a09824bf8d
--- /dev/null
+++ b/dev-ml/cairo-ocaml/Manifest
@@ -0,0 +1 @@
+DIST cairo-ocaml-1.2.0.tar.bz2 44483 BLAKE2B 49a8c811100e3167a8c32ca87a0a6c256862d276c3703082b944aa55f8def7b56d478c0ed44b9d7f5de9194603b688daa5e42949db00417b71daa7376e17410b SHA512 5cac319cf27b94d31e955885ae89b40342c2ae4ffd1aca7c52366f7c3679185f74e513e0c73bd01260f89da29d43bb420dadd059fa1cf5509997db8f935704b4
diff --git a/dev-ml/cairo-ocaml/cairo-ocaml-1.2.0.ebuild b/dev-ml/cairo-ocaml/cairo-ocaml-1.2.0.ebuild
new file mode 100644
index 000000000000..c9c07c183718
--- /dev/null
+++ b/dev-ml/cairo-ocaml/cairo-ocaml-1.2.0.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils 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}"
+
+src_prepare() {
+ # 3 patches from debian and one for automagic on libsvg-cairo
+ epatch \
+ "${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
+ 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/0001-Add-missing-libraries-used-by-the-stubs-to-CAIRO_LIB.patch b/dev-ml/cairo-ocaml/files/0001-Add-missing-libraries-used-by-the-stubs-to-CAIRO_LIB.patch
new file mode 100644
index 000000000000..6b42f6d4fd52
--- /dev/null
+++ b/dev-ml/cairo-ocaml/files/0001-Add-missing-libraries-used-by-the-stubs-to-CAIRO_LIB.patch
@@ -0,0 +1,26 @@
+From: Stephane Glondu <steph@glondu.net>
+Date: Sun, 27 Feb 2011 13:31:22 +0100
+Subject: Add missing libraries used by the stubs to CAIRO_LIBS
+
+The recent changes in DSO linking highlighted this, and were
+preventing ocaml-melt from building.
+
+Signed-off-by: Stephane Glondu <steph@glondu.net>
+---
+ configure.ac | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 6c8c4e9..0cf1f11 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -6,7 +6,7 @@ AC_CONFIG_AUX_DIR(support)
+ AC_PROG_OCAML()
+
+ # Check for cairo
+-PKG_CHECK_MODULES(CAIRO, cairo >= 1.2 freetype2)
++PKG_CHECK_MODULES(CAIRO, cairo >= 1.2 cairo-ft cairo-fc cairo-ps cairo-pdf freetype2)
+
+ # Optional GTK support (for the X11 backend)
+ AC_ARG_WITH(gtk,
+--
diff --git a/dev-ml/cairo-ocaml/files/0002-Fix-Makefile-to-avoid-recompiling-files-in-usr.patch b/dev-ml/cairo-ocaml/files/0002-Fix-Makefile-to-avoid-recompiling-files-in-usr.patch
new file mode 100644
index 000000000000..fcb0f0583227
--- /dev/null
+++ b/dev-ml/cairo-ocaml/files/0002-Fix-Makefile-to-avoid-recompiling-files-in-usr.patch
@@ -0,0 +1,27 @@
+From: Stephane Glondu <steph@glondu.net>
+Date: Tue, 2 Aug 2011 15:34:21 +0200
+Subject: Fix Makefile to avoid recompiling files in /usr
+
+The "-I /path/to/lablgtk2" option should not be used when calling
+ocamldep, otherwise files there are considered as possible targets by
+the build system.
+
+Signed-off-by: Stephane Glondu <steph@glondu.net>
+---
+ src/Makefile | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/src/Makefile b/src/Makefile
+index 46a62f6..c9c64b7 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -117,7 +117,7 @@ clean :
+
+ .depend : $(wildcard *.ml *.mli)
+ @echo "making deps"
+- @$(OCAMLDEP) $(if $(LABLGTKDIR),-I $(LABLGTKDIR)) $^ > $@
++ @$(OCAMLDEP) $^ > $@
+
+ -include .depend
+ -include .depend_c
+--
diff --git a/dev-ml/cairo-ocaml/files/0003-Fix-FTBFS-on-bytecode-architectures.patch b/dev-ml/cairo-ocaml/files/0003-Fix-FTBFS-on-bytecode-architectures.patch
new file mode 100644
index 000000000000..8882ce0a4da8
--- /dev/null
+++ b/dev-ml/cairo-ocaml/files/0003-Fix-FTBFS-on-bytecode-architectures.patch
@@ -0,0 +1,39 @@
+From: Stephane Glondu <steph@glondu.net>
+Date: Tue, 2 Aug 2011 21:35:59 +0200
+Subject: Fix FTBFS on bytecode architectures
+
+The new ocaml.m4 defines OCAMLOPT to "no" (instead of not defining
+it); adapt src/Makefile accordingly.
+
+Signed-off-by: Stephane Glondu <steph@glondu.net>
+---
+ src/Makefile | 8 ++++++--
+ 1 files changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/src/Makefile b/src/Makefile
+index c9c64b7..bc223c7 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -14,7 +14,11 @@ ifdef LIBPANGOCAIRO_CFLAGS
+ TARGETS += pangocairo
+ endif
+
+-all : $(TARGETS) $(if $(OCAMLOPT),opt)
++ifneq ($(OCAMLOPT),no)
++OPT_TARGET = opt
++endif
++
++all : $(TARGETS) $(OPT_TARGET)
+ opt : $(addsuffix .opt,$(TARGETS))
+
+ cairo : cairo.cma libmlcairo.a
+@@ -89,7 +93,7 @@ $(call mloptobjs,$(pangocairo_SRC)) : INCFLAGS=-I $(LABLGTKDIR)
+ install: all
+ mkdir -p $(DESTDIR)$(INSTALLDIR) $(DESTDIR)$(OCAMLLIB)/stublibs
+ install -m 644 *.mli *.cmi *.cma lib*.a $(DESTDIR)$(INSTALLDIR)
+-ifdef OCAMLOPT
++ifneq ($(OCAMLOPT),no)
+ install -m644 *.cmxa *.a *.cmx $(DESTDIR)$(INSTALLDIR)
+ endif
+ install -m 755 dll*.so $(DESTDIR)$(INSTALLDIR)
+--
diff --git a/dev-ml/cairo-ocaml/files/0004-no-automagic.patch b/dev-ml/cairo-ocaml/files/0004-no-automagic.patch
new file mode 100644
index 000000000000..46b70013fa3a
--- /dev/null
+++ b/dev-ml/cairo-ocaml/files/0004-no-automagic.patch
@@ -0,0 +1,25 @@
+--- cairo-ocaml-1.2.0/configure.ac.orig 2012-06-17 20:58:38.000000000 +0100
++++ cairo-ocaml-1.2.0/configure.ac 2012-06-17 21:05:49.000000000 +0100
+@@ -27,10 +27,20 @@
+ fi
+
+ # Optional libsvg-cairo support
+-PKG_CHECK_MODULES(LIBSVG_CAIRO, libsvg-cairo, use_libsvg_cairo=yes, use_libsvg_cairo=no)
++AC_ARG_WITH(svg-cairo,
++ AS_HELP_STRING([--with-svg-cairo],[libsvg-cairo support]),
++ use_libsvg_cairo=$withval, use_libsvg_cairo=no)
++if test x$use_libsvg_cairo != xno; then
++ PKG_CHECK_MODULES(LIBSVG_CAIRO, libsvg-cairo, use_libsvg_cairo=yes, use_libsvg_cairo=no)
++fi
+
+ # Optional pango-cairo support
+-PKG_CHECK_MODULES(LIBPANGOCAIRO, pangocairo, use_libpangocairo=yes, use_libpangocairo=no)
++AC_ARG_WITH(pango-cairo,
++ AS_HELP_STRING([--with-pango-cairo],[pangocairo support]),
++ use_libpangocairo=$withval, use_libpangocairo=no)
++if test x$use_libpangocairo != xno; then
++ PKG_CHECK_MODULES(LIBPANGOCAIRO, pangocairo, use_libpangocairo=yes, use_libpangocairo=no)
++ fi
+
+ echo
+ echo " GTK+ support: $use_gtk"
diff --git a/dev-ml/cairo-ocaml/metadata.xml b/dev-ml/cairo-ocaml/metadata.xml
new file mode 100644
index 000000000000..ea62d0739192
--- /dev/null
+++ b/dev-ml/cairo-ocaml/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>sci@gentoo.org</email>
+ <name>Gentoo Science Project</name>
+</maintainer>
+<longdescription lang="en">
+ This package contains all the development stuff you need to use Cairo in
+ your OCaml programs. The folowing backends are supported: PostScript,
+ PDF, PNG, In-memory images and X11.
+</longdescription>
+<use>
+ <flag name="pango">Enable support for <pkg>x11-libs/pango</pkg></flag>
+</use>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/calendar/Manifest b/dev-ml/calendar/Manifest
new file mode 100644
index 000000000000..2c3f68bfe5cc
--- /dev/null
+++ b/dev-ml/calendar/Manifest
@@ -0,0 +1 @@
+DIST calendar-2.04.tar.gz 271522 BLAKE2B e69d129324687cbee55c2217c1c7a89ce0817b60aff3eba8e26d94736e4cc771cf031c66857bc3f6438b9b389030e6f6ff54fd55d6734bef4c5ece0bc45ae419 SHA512 3941768428eda47f47912846cc2921ee82c722bda7cf6095c1c8bdcfebc19bb8f64ebb1a25475396d2a49c186b83421af63602a54a261684117b1c036a66cf3d
diff --git a/dev-ml/calendar/calendar-2.04.ebuild b/dev-ml/calendar/calendar-2.04.ebuild
new file mode 100644
index 000000000000..234cd57645b7
--- /dev/null
+++ b/dev-ml/calendar/calendar-2.04.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit findlib eutils
+
+DESCRIPTION="An Ocaml library to handle dates and time"
+HOMEPAGE="http://forge.ocamlcore.org/projects/calendar/"
+SRC_URI="http://forge.ocamlcore.org/frs/download.php/1481/${P}.tar.gz"
+
+LICENSE="LGPL-2.1-with-linking-exception"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+IUSE="doc"
+
+DEPEND=">=dev-lang/ocaml-3.12:=[ocamlopt]"
+RDEPEND="${DEPEND}"
+
+src_compile() {
+ emake
+ use doc && emake doc
+}
+
+src_test() {
+ emake tests
+}
+
+src_install() {
+ findlib_src_install
+ dodoc README CHANGES
+ use doc && dohtml -r doc
+}
diff --git a/dev-ml/calendar/metadata.xml b/dev-ml/calendar/metadata.xml
new file mode 100644
index 000000000000..d85b4252fc33
--- /dev/null
+++ b/dev-ml/calendar/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<!-- maintainer-needed -->
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/camlbz2/Manifest b/dev-ml/camlbz2/Manifest
new file mode 100644
index 000000000000..91a61a4d5f25
--- /dev/null
+++ b/dev-ml/camlbz2/Manifest
@@ -0,0 +1 @@
+DIST camlbz2-0.6.0.tar.gz 57771 BLAKE2B 5b4337ca547c37f6982c29c9b70f00ca3100983541a80bf16e8d549c2eabf64ef917ea3ba445c8bb5bbcdb1a652cc5cd586c95299d194a7abe8e68ea9f1a0599 SHA512 1052536bb08c9d9f9bdf4a063a5a01389445b55117ce423dd1732de00cd79db5e4befb4ce5c81c5db8a6d40b28a2ac4b897bb00598fdccf76ea92a2966592680
diff --git a/dev-ml/camlbz2/camlbz2-0.6.0.ebuild b/dev-ml/camlbz2/camlbz2-0.6.0.ebuild
new file mode 100644
index 000000000000..15884ba324e3
--- /dev/null
+++ b/dev-ml/camlbz2/camlbz2-0.6.0.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+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
+}
+
+src_install() {
+ findlib_src_preinst
+ emake DESTDIR="${OCAMLFIND_DESTDIR}" install
+ dodoc ChangeLog README ROADMAP BUGS
+ use doc && dohtml doc/*
+}
diff --git a/dev-ml/camlbz2/metadata.xml b/dev-ml/camlbz2/metadata.xml
new file mode 100644
index 000000000000..d85b4252fc33
--- /dev/null
+++ b/dev-ml/camlbz2/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<!-- maintainer-needed -->
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/camldbm/Manifest b/dev-ml/camldbm/Manifest
new file mode 100644
index 000000000000..8540da892688
--- /dev/null
+++ b/dev-ml/camldbm/Manifest
@@ -0,0 +1 @@
+DIST camldbm-1.0.tgz 14397 BLAKE2B 9b6971e30815ad6984254591af793819beb3859ddbf7bbd95ee744a2b09ce04968ecad9c7ff954e1606776d82988b3499f2569154586a937a61eb6d5c7b9465b SHA512 d0b752754650efb400f13f957e83fddccf1fc9ac9e1d11f453af94e9aa599546a316eb110685b3728b593c99cbf859cdc7bcf924c878cf8b6dead3dc413ccfbf
diff --git a/dev-ml/camldbm/camldbm-1.0.ebuild b/dev-ml/camldbm/camldbm-1.0.ebuild
new file mode 100644
index 000000000000..5286f0873c34
--- /dev/null
+++ b/dev-ml/camldbm/camldbm-1.0.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit base
+
+DESCRIPTION="OCaml binding to the NDBM/GDBM Unix databases"
+HOMEPAGE="http://forge.ocamlcore.org/projects/camldbm/"
+SRC_URI="http://forge.ocamlcore.org/frs/download.php/728/${P}.tgz"
+
+LICENSE="LGPL-2-with-linking-exception"
+SLOT="0/${PV}"
+KEYWORDS="amd64 arm ppc x86"
+IUSE=""
+
+DEPEND=">=sys-libs/gdbm-1.9.1-r2[berkdb]
+ >=dev-lang/ocaml-3.12:=[ocamlopt]"
+RDEPEND="${DEPEND}"
+
+PATCHES=( "${FILESDIR}/hasgotfix.patch" "${FILESDIR}/include_fix.patch" )
+
+src_install() {
+ dodir "$(ocamlc -where)/stublibs" # required and makefile does not create it
+ emake LIBDIR="${D}/$(ocamlc -where)" install
+ dodoc README Changelog
+}
diff --git a/dev-ml/camldbm/files/hasgotfix.patch b/dev-ml/camldbm/files/hasgotfix.patch
new file mode 100644
index 000000000000..840ffcbe7f0f
--- /dev/null
+++ b/dev-ml/camldbm/files/hasgotfix.patch
@@ -0,0 +1,15 @@
+https://forge.ocamlcore.org/tracker/index.php?func=detail&aid=1202&group_id=278&atid=1189
+
+Index: camldbm-1.0/configure
+===================================================================
+--- camldbm-1.0.orig/configure
++++ camldbm-1.0/configure
+@@ -35,7 +35,7 @@ hasgot() {
+ ${CC:-cc} -I$1 -o hasgot.exe hasgot.c $3 $4
+ res=$?
+ rm -f hasgot.c hasgot.exe
+- return $?
++ return $res
+ }
+
+ dbm_include="not found"
diff --git a/dev-ml/camldbm/files/include_fix.patch b/dev-ml/camldbm/files/include_fix.patch
new file mode 100644
index 000000000000..16fb6bd1e96e
--- /dev/null
+++ b/dev-ml/camldbm/files/include_fix.patch
@@ -0,0 +1,15 @@
+https://forge.ocamlcore.org/tracker/index.php?func=detail&aid=1201&group_id=278&atid=1189
+
+Index: camldbm-1.0/Makefile
+===================================================================
+--- camldbm-1.0.orig/Makefile
++++ camldbm-1.0/Makefile
+@@ -51,7 +51,7 @@ libcamldbm.$(A): cldbm.$(O)
+ $(OCAMLOPT) -c $(COMPFLAGS) $<
+
+ .c.$(O):
+- $(OCAMLC) -c -ccopt "$(DBM_INCLUDE)" -ccopt "$(DBM_DEFINES)" $<
++ $(OCAMLC) -c -ccopt "$(DBM_INCLUDES)" -ccopt "$(DBM_DEFINES)" $<
+
+ depend:
+ $(OCAMLDEP) *.ml *.mli > .depend
diff --git a/dev-ml/camldbm/metadata.xml b/dev-ml/camldbm/metadata.xml
new file mode 100644
index 000000000000..d85b4252fc33
--- /dev/null
+++ b/dev-ml/camldbm/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<!-- maintainer-needed -->
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/camlidl/Manifest b/dev-ml/camlidl/Manifest
new file mode 100644
index 000000000000..812a3761c903
--- /dev/null
+++ b/dev-ml/camlidl/Manifest
@@ -0,0 +1 @@
+DIST camlidl-1.05.tar.gz 100640 BLAKE2B 38cbcebd43ced26c44803608aabdacfbd33734357097a542ee2558223b9699d89cf7be388feba59630b10e4dc3977bffd08c669d3cf676d2136f54a6a8d52aab SHA512 e8857aca818a06f8c861e5f55dddd7e8e3ab1efae51647534460b4f092166709d86c6de1215c792a0489d668d72064ccfb7635e9a6d3854cd5a62f74541a9d18
diff --git a/dev-ml/camlidl/camlidl-1.05-r1.ebuild b/dev-ml/camlidl/camlidl-1.05-r1.ebuild
new file mode 100644
index 000000000000..6dd3e9f5d3d3
--- /dev/null
+++ b/dev-ml/camlidl/camlidl-1.05-r1.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils toolchain-funcs
+
+DESCRIPTION="CamlIDL is a stub code generator for using C/C++ libraries from O'Caml"
+HOMEPAGE="http://caml.inria.fr/camlidl/"
+SRC_URI="http://caml.inria.fr/distrib/bazar-ocaml/${P}.tar.gz"
+LICENSE="QPL-1.0 LGPL-2"
+SLOT="0/${PV}"
+KEYWORDS="amd64 ~ppc x86 ~amd64-linux ~x86-linux"
+IUSE=""
+DEPEND=">=dev-lang/ocaml-3.10.2:=[ocamlopt]"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ epatch "${FILESDIR}/tests.patch"
+ epatch "${FILESDIR}/includes.patch"
+ epatch "${FILESDIR}/nowarn.patch"
+}
+
+src_compile() {
+ # Use the UNIX makefile
+ libdir=`ocamlc -where`
+ sed -i -e "s|OCAMLLIB=.*|OCAMLLIB=${libdir}|" config/Makefile.unix
+ sed -i -e "s|BINDIR=.*|BINDIR=${EPREFIX}/usr/bin|" config/Makefile.unix
+ ln -s Makefile.unix config/Makefile
+
+ # Make
+ emake -j1
+}
+
+src_test() {
+ einfo "Running tests..."
+ cd tests
+ emake CCPP="$(tc-getCXX)"
+}
+
+src_install() {
+ libdir=`ocamlc -where`
+ dodir ${libdir#${EPREFIX}}/caml
+ dodir /usr/bin
+ # Install
+ emake BINDIR="${ED}/usr/bin" OCAMLLIB="${D}${libdir}" install
+
+ # Add package header
+ sed -e "s/@VERSION/${P}/g" "${FILESDIR}/META.camlidl" > "${D}${libdir}/META.camlidl" || die
+
+ # Documentation
+ dodoc README Changes
+}
diff --git a/dev-ml/camlidl/files/META.camlidl b/dev-ml/camlidl/files/META.camlidl
new file mode 100644
index 000000000000..b0aeaf231415
--- /dev/null
+++ b/dev-ml/camlidl/files/META.camlidl
@@ -0,0 +1,5 @@
+description = "Stub generator"
+version = "@VERSION"
+directory = "^"
+archive(byte) = "com.cma"
+archive(native) = "com.cmxa"
diff --git a/dev-ml/camlidl/files/includes.patch b/dev-ml/camlidl/files/includes.patch
new file mode 100644
index 000000000000..060aceefd0a5
--- /dev/null
+++ b/dev-ml/camlidl/files/includes.patch
@@ -0,0 +1,12 @@
+Index: camlidl-1.05/runtime/comerror.c
+===================================================================
+--- camlidl-1.05.orig/runtime/comerror.c
++++ camlidl-1.05/runtime/comerror.c
+@@ -22,6 +22,7 @@
+ #include <caml/callback.h>
+ #include <caml/fail.h>
+ #include <caml/alloc.h>
++#include <caml/printexc.h>
+ #include "camlidlruntime.h"
+ #include "comstuff.h"
+
diff --git a/dev-ml/camlidl/files/nowarn.patch b/dev-ml/camlidl/files/nowarn.patch
new file mode 100644
index 000000000000..8b457cf7ed1e
--- /dev/null
+++ b/dev-ml/camlidl/files/nowarn.patch
@@ -0,0 +1,13 @@
+Index: camlidl-1.05/compiler/Makefile
+===================================================================
+--- camlidl-1.05.orig/compiler/Makefile
++++ camlidl-1.05/compiler/Makefile
+@@ -29,7 +29,7 @@ PROG=camlidl$(EXE)
+ all: $(PROG)
+
+ $(PROG): $(OBJS)
+- $(OCAMLC) -o $(PROG) $(OBJS)
++ $(OCAMLC) -w -a -o $(PROG) $(OBJS)
+
+ clean::
+ rm -f $(PROG)
diff --git a/dev-ml/camlidl/files/tests.patch b/dev-ml/camlidl/files/tests.patch
new file mode 100644
index 000000000000..f7272424be80
--- /dev/null
+++ b/dev-ml/camlidl/files/tests.patch
@@ -0,0 +1,36 @@
+Index: camlidl-1.05/tests/unix.idl
+===================================================================
+--- camlidl-1.05.orig/tests/unix.idl
++++ camlidl-1.05/tests/unix.idl
+@@ -15,16 +15,16 @@ quote (C, "
+
+ union process_status { int code; };
+
+- enum { WEXITED, WSIGNALED, WSTOPPED };
++ enum { WEXITED2, WSIGNALED, WSTOPPED2 };
+
+ static void decode_status(int status, int * kind, union process_status * p)
+ {
+ if (WIFEXITED(status)) {
+- *kind = WEXITED; p->code = WEXITSTATUS(status);
++ *kind = WEXITED2; p->code = WEXITSTATUS(status);
+ } else if (WIFSIGNALED(status)) {
+ *kind = WSIGNALED; p->code = WTERMSIG(status);
+ } else {
+- *kind = WSTOPPED; p->code = WSTOPSIG(status);
++ *kind = WSTOPPED2; p->code = WSTOPSIG(status);
+ }
+ }
+
+@@ -59,9 +59,9 @@ int execve([in,string] char * path,
+ int fork(void);
+
+ union process_status {
+- case WEXITED: int code;
++ case WEXITED2: int code;
+ case WSIGNALED: int code;
+- case WSTOPPED: int code;
++ case WSTOPPED2: int code;
+ };
+
+ int wait([out] int * kind,
diff --git a/dev-ml/camlidl/metadata.xml b/dev-ml/camlidl/metadata.xml
new file mode 100644
index 000000000000..c99320e026bb
--- /dev/null
+++ b/dev-ml/camlidl/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/camlp4/Manifest b/dev-ml/camlp4/Manifest
new file mode 100644
index 000000000000..cc8bcfc4f3e0
--- /dev/null
+++ b/dev-ml/camlp4/Manifest
@@ -0,0 +1,3 @@
+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
diff --git a/dev-ml/camlp4/camlp4-4.04_p1.ebuild b/dev-ml/camlp4/camlp4-4.04_p1.ebuild
new file mode 100644
index 000000000000..af8352a49da7
--- /dev/null
+++ b/dev-ml/camlp4/camlp4-4.04_p1.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+MY_PV=${PV/_p/+}
+MY_P=${PN}-${MY_PV}
+
+DESCRIPTION="System for writing extensible parsers for programming languages"
+HOMEPAGE="https://github.com/ocaml/camlp4"
+SRC_URI="https://github.com/ocaml/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 sparc x86 ~amd64-linux ~x86-linux"
+IUSE="+ocamlopt"
+
+DEPEND="=dev-lang/ocaml-4.04*:=[ocamlopt?]"
+RDEPEND="${DEPEND}
+ !<dev-lang/ocaml-4.02
+ !<dev-ml/findlib-1.5.5-r1"
+DEPEND="${DEPEND}
+ dev-ml/ocamlbuild"
+
+S=${WORKDIR}/${P/_p/-}
+
+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.05_p1.ebuild b/dev-ml/camlp4/camlp4-4.05_p1.ebuild
new file mode 100644
index 000000000000..c7ad55154b10
--- /dev/null
+++ b/dev-ml/camlp4/camlp4-4.05_p1.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+MY_PV=${PV/_p/+}
+MY_P=${PN}-${MY_PV}
+
+DESCRIPTION="System for writing extensible parsers for programming languages"
+HOMEPAGE="https://github.com/ocaml/camlp4"
+SRC_URI="https://github.com/ocaml/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 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="+ocamlopt"
+
+DEPEND="=dev-lang/ocaml-4.05*:=[ocamlopt?]"
+RDEPEND="${DEPEND}
+ !<dev-lang/ocaml-4.02
+ !<dev-ml/findlib-1.5.5-r1"
+DEPEND="${DEPEND}
+ dev-ml/ocamlbuild"
+
+S=${WORKDIR}/${P/_p/-}
+
+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.08_p1.ebuild b/dev-ml/camlp4/camlp4-4.08_p1.ebuild
new file mode 100644
index 000000000000..731b5432fd93
--- /dev/null
+++ b/dev-ml/camlp4/camlp4-4.08_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/ocaml/camlp4"
+SRC_URI="https://github.com/ocaml/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 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="+ocamlopt"
+
+DEPEND=">=dev-lang/ocaml-4.09.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" "${FILESDIR}/oc409.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/files/oc409.patch b/dev-ml/camlp4/files/oc409.patch
new file mode 100644
index 000000000000..727762a64a2a
--- /dev/null
+++ b/dev-ml/camlp4/files/oc409.patch
@@ -0,0 +1,13 @@
+Index: camlp4-4.08-1/configure
+===================================================================
+--- camlp4-4.08-1.orig/configure
++++ camlp4-4.08-1/configure
+@@ -39,7 +39,7 @@ if [ $major -lt 4 -o \( $major -eq 4 -a
+ echo "The standalone Camlp4 requires OCaml >= 4.02."
+ echo "For previous versions of OCaml use the Camlp4 distributed with OCaml."
+ exit 2
+-elif [ $major -ne 4 -o $minor -ne 8 ]; then
++elif [ $major -lt 4 -o $minor -lt 8 ]; then
+ echo "This version of Camlp4 is for OCaml 4.07 but you are using OCaml $ocaml_version."
+ if [ -d .git ] ; then
+ if [ $PINNED -eq 1 ] ; then
diff --git a/dev-ml/camlp4/files/reload.patch b/dev-ml/camlp4/files/reload.patch
new file mode 100644
index 000000000000..8fbc1c05532c
--- /dev/null
+++ b/dev-ml/camlp4/files/reload.patch
@@ -0,0 +1,13 @@
+Index: camlp4-4.08-1/camlp4/Camlp4/Struct/DynLoader.ml
+===================================================================
+--- camlp4-4.08-1.orig/camlp4/Camlp4/Struct/DynLoader.ml
++++ camlp4-4.08-1/camlp4/Camlp4/Struct/DynLoader.ml
+@@ -76,7 +76,7 @@ value load =
+ [ Not_found -> raise (Error file "file not found in path") ]
+ in
+ try Dynlink.loadfile fname with
+- [ Dynlink.Error e -> raise (Error fname (Dynlink.error_message e)) ]
++ [ Dynlink.Error (Module_already_loaded _ ) -> () | Dynlink.Error e -> raise (Error fname (Dynlink.error_message e)) ]
+ };
+
+
diff --git a/dev-ml/camlp4/metadata.xml b/dev-ml/camlp4/metadata.xml
new file mode 100644
index 000000000000..a1870b7ac76f
--- /dev/null
+++ b/dev-ml/camlp4/metadata.xml
@@ -0,0 +1,9 @@
+<?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/camlp4</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/camlp5/Manifest b/dev-ml/camlp5/Manifest
new file mode 100644
index 000000000000..88a996b85b6d
--- /dev/null
+++ b/dev-ml/camlp5/Manifest
@@ -0,0 +1 @@
+DIST camlp5-7.11.tar.gz 878224 BLAKE2B f384764da43653a2f75664681a4f202ec84497720470a0a33f99fc61a1ce7b4a9d494ffe6b523c74906c122ee04ae25a08bf1fcd356145e85a11e3e3095bbf7d SHA512 109a43f0a3aaa7a3ba9bd51b1fc1273b054d32787e189b138d69b39c42642b480c13abb9e91f15e6b6e889eaf4dc422ad3ff51e4dee298fb9d8cd9a2db99c159
diff --git a/dev-ml/camlp5/camlp5-7.11.ebuild b/dev-ml/camlp5/camlp5-7.11.ebuild
new file mode 100644
index 000000000000..12f10b2cd865
--- /dev/null
+++ b/dev-ml/camlp5/camlp5-7.11.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit findlib
+
+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"
+RDEPEND="${DEPEND}"
+
+QA_FLAGS_IGNORED=(
+ /usr/bin/camlp5o.opt
+ /usr/bin/camlp5r.opt
+)
+
+DOCS="CHANGES DEVEL ICHANGES README.md UPGRADING MODE"
+
+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() {
+ use doc && HTML_DOCS="doc/*"
+
+ default
+
+ # findlib support
+ insinto "$(ocamlfind printconf destdir)/${PN}"
+ doins etc/META
+}
diff --git a/dev-ml/camlp5/metadata.xml b/dev-ml/camlp5/metadata.xml
new file mode 100644
index 000000000000..6f37af177459
--- /dev/null
+++ b/dev-ml/camlp5/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">camlp5/camlp5</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/camlpdf/Manifest b/dev-ml/camlpdf/Manifest
new file mode 100644
index 000000000000..5dc462067f44
--- /dev/null
+++ b/dev-ml/camlpdf/Manifest
@@ -0,0 +1,2 @@
+DIST camlpdf-2.3.1.tar.gz 601531 BLAKE2B 9534baf9165e7dc48ae37a3fcaabb236e437845ef4e0a60a1c08874a2b240c9b1e96de5bbd6028a3ca87992221773dea34c31b0fa24e9c143632756954baf132 SHA512 0b8d91b6090221f996aee52f22f153a4b74cb85a127bbd5f84492ede8a0a581971a2349281b3879d6c37f4d5d267da583e7e8871372d97a3d636abc3231cb007
+DIST camlpdf-2.3.tar.gz 601250 BLAKE2B 9b2a7f6a90d33a69d3a6c15c4c299e7fde4633a78cbd43e1b779f713d371ee16dc588449e024e35a83cef8c24d7059844c92f3354391381437bea37595b604a7 SHA512 dfb81692f894f071bb32634e371cdb202af17f671fb1b9c379ff3d360453a0909c3b6d9960aae45cac49e20f06aeb49ad6db276324542e7be306831ef586d255
diff --git a/dev-ml/camlpdf/camlpdf-2.3.1.ebuild b/dev-ml/camlpdf/camlpdf-2.3.1.ebuild
new file mode 100644
index 000000000000..965e0ef70c14
--- /dev/null
+++ b/dev-ml/camlpdf/camlpdf-2.3.1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit findlib
+
+DESCRIPTION="OCaml library for reading, writing, and modifying PDF files"
+HOMEPAGE="https://github.com/johnwhitington/camlpdf/"
+SRC_URI="https://github.com/johnwhitington/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+# technically LGPL-2.1+ with linking exception
+LICENSE="LGPL-2.1-with-linking-exception"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc examples"
+
+RDEPEND="dev-lang/ocaml:=[ocamlopt]"
+DEPEND="${RDEPEND}"
+
+src_compile() {
+ # parallel make bugs
+ emake -j1
+}
+
+src_install() {
+ findlib_src_install
+ dodoc Changes README.md
+
+ if use doc ; then
+ dodoc introduction_to_camlpdf.pdf
+ dodoc -r doc/camlpdf/html
+ fi
+
+ use examples && dodoc -r examples
+}
diff --git a/dev-ml/camlpdf/camlpdf-2.3.ebuild b/dev-ml/camlpdf/camlpdf-2.3.ebuild
new file mode 100644
index 000000000000..965e0ef70c14
--- /dev/null
+++ b/dev-ml/camlpdf/camlpdf-2.3.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit findlib
+
+DESCRIPTION="OCaml library for reading, writing, and modifying PDF files"
+HOMEPAGE="https://github.com/johnwhitington/camlpdf/"
+SRC_URI="https://github.com/johnwhitington/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+# technically LGPL-2.1+ with linking exception
+LICENSE="LGPL-2.1-with-linking-exception"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc examples"
+
+RDEPEND="dev-lang/ocaml:=[ocamlopt]"
+DEPEND="${RDEPEND}"
+
+src_compile() {
+ # parallel make bugs
+ emake -j1
+}
+
+src_install() {
+ findlib_src_install
+ dodoc Changes README.md
+
+ if use doc ; then
+ dodoc introduction_to_camlpdf.pdf
+ dodoc -r doc/camlpdf/html
+ fi
+
+ use examples && dodoc -r examples
+}
diff --git a/dev-ml/camlpdf/metadata.xml b/dev-ml/camlpdf/metadata.xml
new file mode 100644
index 000000000000..157c1119bf4a
--- /dev/null
+++ b/dev-ml/camlpdf/metadata.xml
@@ -0,0 +1,9 @@
+<?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">johnwhitington/camlpdf</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/camlzip/Manifest b/dev-ml/camlzip/Manifest
new file mode 100644
index 000000000000..8b3dab8a648e
--- /dev/null
+++ b/dev-ml/camlzip/Manifest
@@ -0,0 +1,3 @@
+DIST camlzip-1.06.tar.gz 26499 BLAKE2B a7a1dbe157c0dcb9847bcd6324bbb7cbaf39342d0fdbaed51d2c004ae7b03f8d655fb15da50dae6190b976675e405e28fa2d4fa35a2f4372c50519564d58f981 SHA512 5ef0172927106589620678897f12f054533503a5cf13df71bf4deda43f223d0cd6acce118977e87bce53afe289f367b851f192a8e693274c2bd13549121019dd
+DIST camlzip-1.07.tar.gz 26652 BLAKE2B f373ac0427faa9b6a846e9db8f3e48c00ec6885b8a11cc09fae96b5a7656908f172fda73dbea8ddd1b3dbfd98bcfa3e2e67ce9faf2942d1e260fc0a804813a05 SHA512 b92e9db002b9b398fd132c6ecd8098fac4cc7ddb3f770cc412990dcdf4bd62ba358c762d31fb0b5cd6b32f20d3bf4b3410ca6e86c511a438b92ece940f9831bd
+DIST camlzip-1.10.tar.gz 27335 BLAKE2B bbf24953634278589395dd9fcedf1e3becce8dad1f380393dc3ac59589143e1685dc14085ef566e12fb751c6f1a333dd368795a5083b94a43b71e058e86489f3 SHA512 5c42e0d808230e3820b2e7ef34b544ca51a7bf0a484ce4e1c8b1e4966133196bb3ff7c3ca85b9c50050aca389316eb52f0335f6e2ad60c000594a33171b9a9a9
diff --git a/dev-ml/camlzip/camlzip-1.06.ebuild b/dev-ml/camlzip/camlzip-1.06.ebuild
new file mode 100644
index 000000000000..4fed4a00664c
--- /dev/null
+++ b/dev-ml/camlzip/camlzip-1.06.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit findlib eutils
+
+IUSE="+ocamlopt"
+
+DESCRIPTION="Compressed file access ML library (ZIP, GZIP and JAR)"
+HOMEPAGE="http://forge.ocamlcore.org/projects/camlzip/"
+SRC_URI="http://forge.ocamlcore.org/frs/download.php/1616/${P}.tar.gz"
+
+SLOT="1/${PV}"
+LICENSE="LGPL-2.1"
+KEYWORDS="amd64 ppc x86"
+
+RDEPEND=">=dev-lang/ocaml-4.05:=[ocamlopt?]
+ >=sys-libs/zlib-1.1.3"
+DEPEND="${RDEPEND}"
+
+src_compile() {
+ emake all
+ if use ocamlopt; then
+ emake allopt
+ fi
+}
+
+src_install() {
+ findlib_src_preinst
+ emake DESTDIR="${D}" install-findlib
+
+ dodoc README Changes
+}
diff --git a/dev-ml/camlzip/camlzip-1.07.ebuild b/dev-ml/camlzip/camlzip-1.07.ebuild
new file mode 100644
index 000000000000..547fe00d0c83
--- /dev/null
+++ b/dev-ml/camlzip/camlzip-1.07.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit findlib eutils versionator
+
+IUSE="+ocamlopt"
+
+DESCRIPTION="Compressed file access ML library (ZIP, GZIP and JAR)"
+HOMEPAGE="https://github.com/xavierleroy/camlzip"
+SRC_URI="https://github.com/xavierleroy/camlzip/archive/rel$(delete_all_version_separators ${PV}).tar.gz -> ${P}.tar.gz"
+
+SLOT="1/${PV}"
+LICENSE="LGPL-2.1"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~x86"
+
+RDEPEND=">=dev-lang/ocaml-4.05:=[ocamlopt?]
+ >=sys-libs/zlib-1.1.3"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/${PN}-rel$(delete_all_version_separators ${PV})"
+
+src_compile() {
+ emake all
+ if use ocamlopt; then
+ emake allopt
+ fi
+}
+
+src_install() {
+ findlib_src_preinst
+ emake DESTDIR="${D}" install-findlib
+
+ dodoc README Changes
+}
diff --git a/dev-ml/camlzip/camlzip-1.10.ebuild b/dev-ml/camlzip/camlzip-1.10.ebuild
new file mode 100644
index 000000000000..3596e887407e
--- /dev/null
+++ b/dev-ml/camlzip/camlzip-1.10.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit findlib
+
+IUSE="+ocamlopt"
+
+DESCRIPTION="Compressed file access ML library (ZIP, GZIP and JAR)"
+HOMEPAGE="https://github.com/xavierleroy/camlzip"
+SRC_URI="https://github.com/xavierleroy/camlzip/archive/rel$(ver_rs 1- '').tar.gz -> ${P}.tar.gz"
+
+SLOT="1/${PV}"
+LICENSE="LGPL-2.1"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86"
+
+RDEPEND=">=dev-lang/ocaml-4.05:=[ocamlopt?]
+ >=sys-libs/zlib-1.1.3"
+DEPEND="${RDEPEND}"
+
+QA_FLAGS_IGNORED=(
+ "/usr/lib.*/ocaml/stublibs/dllcamlzip.so"
+ "/usr/lib.*/ocaml/zip/zip.cmxs"
+)
+
+S="${WORKDIR}/${PN}-rel$(ver_rs 1- '')"
+
+src_compile() {
+ emake all
+ if use ocamlopt; then
+ emake allopt
+ fi
+}
+
+src_install() {
+ findlib_src_preinst
+ emake DESTDIR="${D}" install-findlib
+ dosym zip/libcamlzip.a /usr/$(get_libdir)/ocaml/libcamlzip.a
+
+ dodoc README Changes
+}
diff --git a/dev-ml/camlzip/metadata.xml b/dev-ml/camlzip/metadata.xml
new file mode 100644
index 000000000000..312348ebfe42
--- /dev/null
+++ b/dev-ml/camlzip/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">xavierleroy/camlzip</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/camomile/Manifest b/dev-ml/camomile/Manifest
new file mode 100644
index 000000000000..23be6ef1a841
--- /dev/null
+++ b/dev-ml/camomile/Manifest
@@ -0,0 +1 @@
+DIST camomile-0.8.5.tar.bz2 2607084 BLAKE2B 5e0ff51cdd6d7ce41ee024189a793f3d3e4bec1bd9849e7c01d2722ff22ca2cb5f0d5bd5f95820e741469ebda2996edf3611827535df5fe095d3f6617ecfdd42 SHA512 ef4da32f955e69e0b2958b4b2bf12ae94e210d8aa7cee5a9030607b79ac43a884758549f3164c223fb07d987a4a50b15f0bc5083ff67120270409f7fb9928014
diff --git a/dev-ml/camomile/camomile-0.8.5-r1.ebuild b/dev-ml/camomile/camomile-0.8.5-r1.ebuild
new file mode 100644
index 000000000000..68d9d15dcc3e
--- /dev/null
+++ b/dev-ml/camomile/camomile-0.8.5-r1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit findlib eutils
+
+DESCRIPTION="Camomile is a comprehensive Unicode library for ocaml"
+HOMEPAGE="https://github.com/yoriyuki/Camomile/wiki"
+SRC_URI="https://github.com/yoriyuki/Camomile/releases/download/rel-${PV}/${P}.tar.bz2"
+
+LICENSE="LGPL-2"
+SLOT="0/${PV}"
+KEYWORDS="amd64 ppc x86"
+IUSE="debug +ocamlopt"
+
+RDEPEND="
+ >=dev-lang/ocaml-3.10.2:=[ocamlopt?]
+ dev-ml/camlp4:=
+"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ has_version '>=dev-lang/ocaml-4.05_beta' && epatch "${FILESDIR}/ocaml405.patch"
+}
+
+src_configure() {
+ econf $(use_enable debug)
+}
+
+src_compile() {
+ emake -j1 byte unidata unimaps charmap_data locale_data
+ if use ocamlopt; then
+ emake -j1 opt
+ fi
+}
+
+src_install() {
+ dodir /usr/bin
+ findlib_src_install DATADIR="${D}/usr/share" BINDIR="${D}/usr/bin"
+}
diff --git a/dev-ml/camomile/files/ocaml405.patch b/dev-ml/camomile/files/ocaml405.patch
new file mode 100644
index 000000000000..3fec6955a27c
--- /dev/null
+++ b/dev-ml/camomile/files/ocaml405.patch
@@ -0,0 +1,40 @@
+commit 0fa0a19f15998e89e4b04150dd74529bbd406f42
+Author: Gabriel Scherer <gabriel.scherer@gmail.com>
+Date: Fri Feb 24 22:30:23 2017 -0500
+
+ 4.05 compatibility: use explicit module signatures
+
+ In 4.05, checking for non-generalizable inference variable ('_a)
+ (forbidden in toplevel modules and functors) happens before checking
+ the .ml file against the .mli signature, so non-generalizable
+ variables that were previously resolved through the .mli constraint
+ are now underspecified and result in a compilation failure
+ (see MPR#7414, GPR#929). This commit adds enough annotations to avoid
+ such underspecified variables in functors.
+
+diff --git a/Camomile/internal/unimap.ml b/Camomile/internal/unimap.ml
+index b6fdbde..6a7cc30 100644
+--- a/Camomile/internal/unimap.ml
++++ b/Camomile/internal/unimap.ml
+@@ -58,7 +58,7 @@ val of_name : string -> t
+ end
+
+
+-module Make (Config : ConfigInt.Type) = struct
++module Make (Config : ConfigInt.Type) : Type = struct
+
+ type mapping = {no_char : int; tbl : Tbl31.Bytes.t}
+
+diff --git a/Camomile/public/uCharInfo.ml b/Camomile/public/uCharInfo.ml
+index 69bf141..6a0337a 100644
+--- a/Camomile/public/uCharInfo.ml
++++ b/Camomile/public/uCharInfo.ml
+@@ -298,7 +298,7 @@ val load_composition_exclusion_tbl : unit -> UCharTbl.Bool.t
+
+ end
+
+-module Make (Config : ConfigInt.Type) = struct
++module Make (Config : ConfigInt.Type) : Type = struct
+ include Unidata.Make(Config)
+
+ (* General category *)
diff --git a/dev-ml/camomile/metadata.xml b/dev-ml/camomile/metadata.xml
new file mode 100644
index 000000000000..733bc0fd7989
--- /dev/null
+++ b/dev-ml/camomile/metadata.xml
@@ -0,0 +1,9 @@
+<?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">yoriyuki/Camomile</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/cmdliner/Manifest b/dev-ml/cmdliner/Manifest
new file mode 100644
index 000000000000..a40ae258b02c
--- /dev/null
+++ b/dev-ml/cmdliner/Manifest
@@ -0,0 +1,3 @@
+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
diff --git a/dev-ml/cmdliner/cmdliner-1.0.0.ebuild b/dev-ml/cmdliner/cmdliner-1.0.0.ebuild
new file mode 100644
index 000000000000..33b960914162
--- /dev/null
+++ b/dev-ml/cmdliner/cmdliner-1.0.0.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit findlib
+
+DESCRIPTION="Declarative definition of command line interfaces for OCaml"
+HOMEPAGE="https://erratique.ch/software/cmdliner"
+SRC_URI="https://erratique.ch/software/${PN}/releases/${P}.tbz"
+
+LICENSE="ISC"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86"
+IUSE="+ocamlopt test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-lang/ocaml-4:=[ocamlopt?]
+ dev-ml/result:=
+"
+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/cmdliner-1.0.1.ebuild b/dev-ml/cmdliner/cmdliner-1.0.1.ebuild
new file mode 100644
index 000000000000..33b960914162
--- /dev/null
+++ b/dev-ml/cmdliner/cmdliner-1.0.1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit findlib
+
+DESCRIPTION="Declarative definition of command line interfaces for OCaml"
+HOMEPAGE="https://erratique.ch/software/cmdliner"
+SRC_URI="https://erratique.ch/software/${PN}/releases/${P}.tbz"
+
+LICENSE="ISC"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86"
+IUSE="+ocamlopt test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-lang/ocaml-4:=[ocamlopt?]
+ dev-ml/result:=
+"
+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/cmdliner-1.0.2.ebuild b/dev-ml/cmdliner/cmdliner-1.0.2.ebuild
new file mode 100644
index 000000000000..33b960914162
--- /dev/null
+++ b/dev-ml/cmdliner/cmdliner-1.0.2.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit findlib
+
+DESCRIPTION="Declarative definition of command line interfaces for OCaml"
+HOMEPAGE="https://erratique.ch/software/cmdliner"
+SRC_URI="https://erratique.ch/software/${PN}/releases/${P}.tbz"
+
+LICENSE="ISC"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86"
+IUSE="+ocamlopt test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-lang/ocaml-4:=[ocamlopt?]
+ dev-ml/result:=
+"
+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
new file mode 100644
index 000000000000..d85b4252fc33
--- /dev/null
+++ b/dev-ml/cmdliner/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<!-- maintainer-needed -->
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/configurator/Manifest b/dev-ml/configurator/Manifest
new file mode 100644
index 000000000000..0d0220486ac4
--- /dev/null
+++ b/dev-ml/configurator/Manifest
@@ -0,0 +1 @@
+DIST configurator-0.9.1.tar.gz 10231 BLAKE2B e80deda7cf53a6fe2ef042696c5e815576a5f846e2cbe360b8b3e938ee2bd81b4e93f51141a1e10a18bb97a7b0ae41be64409bd85a9ad85eab4595ca36889ee2 SHA512 43d864d3317241dd66829747dd956ac42614cc687bbca23e2575cb1b3ab9d0c628dfbdd8f026bcd4d76cb87cf282d955d6a90f0e69543ee1ee1f01a1efa9b54b
diff --git a/dev-ml/configurator/configurator-0.9.1.ebuild b/dev-ml/configurator/configurator-0.9.1.ebuild
new file mode 100644
index 000000000000..76c8abbab093
--- /dev/null
+++ b/dev-ml/configurator/configurator-0.9.1.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+DESCRIPTION="Helper library for gathering system configuration"
+HOMEPAGE="https://github.com/janestreet/configurator"
+SRC_URI="https://github.com/janestreet/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE=""
+
+DEPEND="
+ dev-lang/ocaml:=
+ dev-ml/base:=
+ dev-ml/ppx_base:=
+ dev-ml/ppx_driver:=
+ dev-ml/stdio:=
+ dev-ml/ocaml-migrate-parsetree:=
+ "
+RDEPEND="${DEPEND}"
+DEPEND="${DEPEND} dev-ml/opam dev-ml/jbuilder"
+
+src_install() {
+ opam-installer -i \
+ --prefix="${ED}/usr" \
+ --libdir="${D}/$(ocamlc -where)" \
+ --docdir="${ED}/usr/share/doc/${PF}" \
+ ${PN}.install || die
+}
diff --git a/dev-ml/configurator/metadata.xml b/dev-ml/configurator/metadata.xml
new file mode 100644
index 000000000000..10e41f24b083
--- /dev/null
+++ b/dev-ml/configurator/metadata.xml
@@ -0,0 +1,9 @@
+<?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">janestreet/configurator</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/core/Manifest b/dev-ml/core/Manifest
new file mode 100644
index 000000000000..8c73a7fb09a2
--- /dev/null
+++ b/dev-ml/core/Manifest
@@ -0,0 +1,2 @@
+DIST core-0.9.1.tar.gz 735006 BLAKE2B a85b66c810656aca74fbe82fda37a9d73ca295534b1ea5b2a784aef90c5efb8d571fe449d8b8d1f6c7d7365ed5d20a0a04c4d43374831e358ddc1147cc51f583 SHA512 2d4a7ff753cb0415cc6a957fff53037aad65053d3c3531070663b4bcf4462982c811a586a39ea3a223aca02cae9212c300b6788266ac60213437dc99ecc0a29a
+DIST core-0.9.2.tar.gz 735027 BLAKE2B d33b91d391446d8649ccb84d72f3533e72d2cdb5aca6359049dca0466ac6d23073dc59bc38bc1c9f7bbe47537731984d41a6ac67e4bf9f59ec7be47938bdfd71 SHA512 8cef59c353ff6f98b11bb007b99a583b64ee23f960a0de6559866c8ab59a58dd3ca4dae16275c87b780494b64ced7aaa24db8f9a6e6d309662e9d9206f04e335
diff --git a/dev-ml/core/core-0.9.1-r1.ebuild b/dev-ml/core/core-0.9.1-r1.ebuild
new file mode 100644
index 000000000000..45cc74eb4553
--- /dev/null
+++ b/dev-ml/core/core-0.9.1-r1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit opam
+
+DESCRIPTION="Jane Street's alternative to the standard library"
+HOMEPAGE="https://github.com/janestreet/core"
+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=""
+
+RDEPEND="
+ dev-ml/base:=
+ dev-ml/configurator:=
+ dev-ml/core_kernel:=
+ dev-ml/ppx_assert:=
+ dev-ml/ppx_driver:=
+ dev-ml/ppx_jane:=
+ dev-ml/sexplib:=
+ dev-ml/spawn:=
+ dev-ml/stdio:=
+ dev-ml/ocaml-migrate-parsetree:=
+"
+DEPEND="${RDEPEND} dev-ml/jbuilder"
+PATCHES=( "${FILESDIR}/glibc225.patch" )
diff --git a/dev-ml/core/core-0.9.2.ebuild b/dev-ml/core/core-0.9.2.ebuild
new file mode 100644
index 000000000000..d2dbd9555d39
--- /dev/null
+++ b/dev-ml/core/core-0.9.2.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit opam
+
+DESCRIPTION="Jane Street's alternative to the standard library"
+HOMEPAGE="https://github.com/janestreet/core"
+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=""
+
+RDEPEND="
+ dev-ml/base:=
+ dev-ml/configurator:=
+ dev-ml/core_kernel:=
+ dev-ml/ppx_assert:=
+ dev-ml/ppx_driver:=
+ dev-ml/ppx_jane:=
+ dev-ml/sexplib:=
+ dev-ml/spawn:=
+ dev-ml/stdio:=
+ dev-ml/ocaml-migrate-parsetree:=
+"
+DEPEND="${RDEPEND} dev-ml/jbuilder"
diff --git a/dev-ml/core/files/glibc225.patch b/dev-ml/core/files/glibc225.patch
new file mode 100644
index 000000000000..1dd96c8b7b4b
--- /dev/null
+++ b/dev-ml/core/files/glibc225.patch
@@ -0,0 +1,12 @@
+Index: core-0.9.1/src/unix_stubs.c
+===================================================================
+--- core-0.9.1.orig/src/unix_stubs.c
++++ core-0.9.1/src/unix_stubs.c
+@@ -40,6 +40,7 @@
+ #include <arpa/inet.h>
+ #include <netdb.h>
+ #include <ifaddrs.h>
++#include <sys/sysmacros.h>
+
+ #if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__)
+ #define stat64 stat
diff --git a/dev-ml/core/metadata.xml b/dev-ml/core/metadata.xml
new file mode 100644
index 000000000000..cebdd296894b
--- /dev/null
+++ b/dev-ml/core/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <longdescription lang="en">
+ Core is Jane Street Capital's Ocaml standard library overlay. It
+ provides tail recursive versions of non tail recursive functions in
+ the standard library, changes the signature of many of the standard
+ modules, and adds new functionality.
+
+ Core_extended adds new functionality, but is only code reviewed on an
+ ad-hoc basis.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">janestreet/core</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/core_extended/Manifest b/dev-ml/core_extended/Manifest
new file mode 100644
index 000000000000..45315d77879d
--- /dev/null
+++ b/dev-ml/core_extended/Manifest
@@ -0,0 +1 @@
+DIST core_extended-0.9.0.tar.gz 234944 BLAKE2B 9c6985b2c9a34ca3fd3bd6016240140d09ccfad2cdf264923e826d1399ead3d827674b5438c90e75dee9511ed4005d945d2e4b73bb5778475b55871c59231a50 SHA512 16e64ba2e3bbe31a6bde03c0ca65d238445f19d8f2aa1f11157efd4f4fab76adb28607329e853eafab04de549f303b033522cc46c3e179094ac68071ce797a5e
diff --git a/dev-ml/core_extended/core_extended-0.9.0.ebuild b/dev-ml/core_extended/core_extended-0.9.0.ebuild
new file mode 100644
index 000000000000..4f17a7f52f95
--- /dev/null
+++ b/dev-ml/core_extended/core_extended-0.9.0.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+DESCRIPTION="Jane Street's alternative to the standard library"
+HOMEPAGE="https://github.com/janestreet/core_extended"
+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=""
+
+RDEPEND="
+ dev-lang/ocaml:=
+ dev-ml/bin-prot:=
+ dev-ml/core:=
+ dev-ml/core_kernel:=
+ dev-ml/fieldslib:=
+ dev-ml/ppx_driver:=
+ dev-ml/ppx_jane:=
+ dev-ml/re2:=
+ dev-ml/sexplib:=
+ dev-ml/textutils:=
+ dev-ml/ocaml-migrate-parsetree:=
+ <dev-ml/ppx_jane-100
+ <dev-ml/ppx_driver-100
+ "
+DEPEND="${RDEPEND} dev-ml/opam dev-ml/jbuilder"
+
+src_install() {
+ opam-installer -i \
+ --prefix="${ED}/usr" \
+ --libdir="${D}/$(ocamlc -where)" \
+ --docdir="${ED}/usr/share/doc/${PF}" \
+ ${PN}.install || die
+}
diff --git a/dev-ml/core_extended/metadata.xml b/dev-ml/core_extended/metadata.xml
new file mode 100644
index 000000000000..334712847d4b
--- /dev/null
+++ b/dev-ml/core_extended/metadata.xml
@@ -0,0 +1,9 @@
+<?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">janestreet/core_extended</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/core_kernel/Manifest b/dev-ml/core_kernel/Manifest
new file mode 100644
index 000000000000..68e1a5aa3bd8
--- /dev/null
+++ b/dev-ml/core_kernel/Manifest
@@ -0,0 +1,2 @@
+DIST core_kernel-0.9.0.tar.gz 502937 BLAKE2B 88a4fdfae2dc0d45c794faf925bd97d7e59558231540a8614d548133d58c576eabf342d2af358ea792ba7e59a79317e4c66aad3a4ff0c2f4b94f012d73e98d7c SHA512 c262f25636d7a5105810c9588774a56e21e58cd156302781db3463898be0a42d9c8b1984ead739d0659d6f3eece4a305fc45c7cad4ed57149d26344affbdb668
+DIST core_kernel-0.9.1.tar.gz 502985 BLAKE2B c924b104f3e0c5bce84a01408f8ac773ec16eb37f6dddfd8261886355c08d8536af60e573ded56936a299af6d8a7a16f37147e9660d65fece5ac8aa7d42a7a95 SHA512 ec0c3f72c52b975ef3d28b89190e0de3d9a60a842cde13f9a71f2d90101af3ccced06b4640d061362b89127140fe761dc19733da3f7dfabab189faef78343b7b
diff --git a/dev-ml/core_kernel/core_kernel-0.9.0.ebuild b/dev-ml/core_kernel/core_kernel-0.9.0.ebuild
new file mode 100644
index 000000000000..e725deed96b8
--- /dev/null
+++ b/dev-ml/core_kernel/core_kernel-0.9.0.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+DESCRIPTION="System-independent part of Core"
+HOMEPAGE="https://github.com/janestreet/core_kernel"
+SRC_URI="https://github.com/janestreet/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1-with-linking-exception"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+IUSE=""
+
+RDEPEND="
+ dev-lang/ocaml:=
+ dev-ml/base:=
+ dev-ml/bin-prot:=
+ dev-ml/configurator:=
+ dev-ml/fieldslib:=
+ dev-ml/jane-street-headers:=
+ dev-ml/ppx_assert:=
+ dev-ml/ppx_base:=
+ dev-ml/ppx_driver:=
+ dev-ml/ppx_hash:=
+ dev-ml/ppx_inline_test:=
+ dev-ml/ppx_jane:=
+ dev-ml/ppx_sexp_conv:=
+ dev-ml/ppx_sexp_message:=
+ dev-ml/sexplib:=
+ dev-ml/stdio:=
+ dev-ml/typerep:=
+ dev-ml/variantslib:=
+ dev-ml/ocaml-migrate-parsetree:=
+"
+DEPEND="${RDEPEND}
+ dev-ml/opam
+ dev-ml/jbuilder
+"
+
+src_install() {
+ opam-installer -i \
+ --prefix="${ED}/usr" \
+ --libdir="${D}/$(ocamlc -where)" \
+ --docdir="${ED}/usr/share/doc/${PF}" \
+ ${PN}.install || die
+}
diff --git a/dev-ml/core_kernel/core_kernel-0.9.1.ebuild b/dev-ml/core_kernel/core_kernel-0.9.1.ebuild
new file mode 100644
index 000000000000..e725deed96b8
--- /dev/null
+++ b/dev-ml/core_kernel/core_kernel-0.9.1.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+DESCRIPTION="System-independent part of Core"
+HOMEPAGE="https://github.com/janestreet/core_kernel"
+SRC_URI="https://github.com/janestreet/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1-with-linking-exception"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+IUSE=""
+
+RDEPEND="
+ dev-lang/ocaml:=
+ dev-ml/base:=
+ dev-ml/bin-prot:=
+ dev-ml/configurator:=
+ dev-ml/fieldslib:=
+ dev-ml/jane-street-headers:=
+ dev-ml/ppx_assert:=
+ dev-ml/ppx_base:=
+ dev-ml/ppx_driver:=
+ dev-ml/ppx_hash:=
+ dev-ml/ppx_inline_test:=
+ dev-ml/ppx_jane:=
+ dev-ml/ppx_sexp_conv:=
+ dev-ml/ppx_sexp_message:=
+ dev-ml/sexplib:=
+ dev-ml/stdio:=
+ dev-ml/typerep:=
+ dev-ml/variantslib:=
+ dev-ml/ocaml-migrate-parsetree:=
+"
+DEPEND="${RDEPEND}
+ dev-ml/opam
+ dev-ml/jbuilder
+"
+
+src_install() {
+ opam-installer -i \
+ --prefix="${ED}/usr" \
+ --libdir="${D}/$(ocamlc -where)" \
+ --docdir="${ED}/usr/share/doc/${PF}" \
+ ${PN}.install || die
+}
diff --git a/dev-ml/core_kernel/metadata.xml b/dev-ml/core_kernel/metadata.xml
new file mode 100644
index 000000000000..a57c856a0df3
--- /dev/null
+++ b/dev-ml/core_kernel/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <longdescription lang="en">
+ Core_kernel is the system-independent part of Core. It is aimed for
+ cases when the full Core is not available, such as in Javascript. It
+ provides an overlay on the usual namespace, so the best way to use
+ Core is to start your file with:
+
+ open Core_kernel.Std
+ </longdescription>
+ <upstream>
+ <remote-id type="github">janestreet/core_kernel</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/cppo/Manifest b/dev-ml/cppo/Manifest
new file mode 100644
index 000000000000..73332ee2ac20
--- /dev/null
+++ b/dev-ml/cppo/Manifest
@@ -0,0 +1,2 @@
+DIST cppo-1.4.1.tar.gz 26547 BLAKE2B a93802fb36cfb622de32a00f6ad6d0fbc7c1022a65ab70558273654b817ca16a988fb8ce8c5dd0751e80eef066f3fcb82f25fc572edb312f346cd20830c08f5a SHA512 efbc82d2eb31b9e16c43ffbd7a2a56a5356934c32bee62205f55295a9342e4747ce13b9ad6572f3180e656b215a9255d402712ff7bae1ef9e8eccdabb2d00c16
+DIST cppo-1.5.0.tar.gz 26963 BLAKE2B 4118637bd8bcfc2edae4c7bf0d839b82ba3402c2f4df9de81bcb28685e4112ff364cb607dc9dcdc3512cc4fdf8dfb4cb85ceca945230bd7cd5d04e525d4e6587 SHA512 2cc144815b818242b6bb1dee213aa65345620eaf1afe59b25d118399d9a02d577aa9dc61dd5756661e44411acccdb2fc0320a8984e5f0d2a7390fcc816bac7e0
diff --git a/dev-ml/cppo/cppo-1.4.1.ebuild b/dev-ml/cppo/cppo-1.4.1.ebuild
new file mode 100644
index 000000000000..e9730dd44aa4
--- /dev/null
+++ b/dev-ml/cppo/cppo-1.4.1.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit findlib
+
+DESCRIPTION="An equivalent of the C preprocessor for OCaml programs"
+HOMEPAGE="http://mjambon.com/cppo.html"
+SRC_URI="https://github.com/mjambon/cppo/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+SLOT="0/${PV}"
+LICENSE="BSD"
+KEYWORDS="amd64 ~arm ppc x86"
+
+IUSE="examples"
+
+RDEPEND=">=dev-lang/ocaml-3.12:=
+ dev-ml/ocamlbuild:="
+DEPEND="${RDEPEND}"
+
+src_install() {
+ findlib_src_preinst
+ mkdir -p "${ED}"/usr/bin
+ emake PREFIX="${ED}"/usr install
+ dodoc README.md Changes
+ if use examples ; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/dev-ml/cppo/cppo-1.5.0.ebuild b/dev-ml/cppo/cppo-1.5.0.ebuild
new file mode 100644
index 000000000000..edc62efc16d9
--- /dev/null
+++ b/dev-ml/cppo/cppo-1.5.0.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit findlib
+
+DESCRIPTION="An equivalent of the C preprocessor for OCaml programs"
+HOMEPAGE="http://mjambon.com/cppo.html https://github.com/mjambon/cppo/"
+SRC_URI="https://github.com/mjambon/cppo/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+SLOT="0/${PV}"
+LICENSE="BSD"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86"
+
+IUSE="examples +ocamlopt"
+
+RDEPEND="
+ >=dev-lang/ocaml-3.12:=[ocamlopt?]
+ dev-ml/ocamlbuild:=[ocamlopt?]"
+DEPEND="${RDEPEND}"
+
+src_compile() {
+ use ocamlopt || sed -e 's/ocamlbuild_cppo.cmx/ocamlbuild_cppo.cmo/' -i Makefile
+ emake BEST="$(usex ocamlopt '.native' '.byte')" $(usex ocamlopt opt all) ocamlbuild
+}
+
+src_install() {
+ findlib_src_preinst
+ mkdir -p "${ED}"/usr/bin
+ emake PREFIX="${ED}"/usr BEST="$(usex ocamlopt '.native' '.byte')" install
+ dodoc README.md Changes
+ if use examples ; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/dev-ml/cppo/metadata.xml b/dev-ml/cppo/metadata.xml
new file mode 100644
index 000000000000..d1b8334f2dd6
--- /dev/null
+++ b/dev-ml/cppo/metadata.xml
@@ -0,0 +1,9 @@
+<?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">mjambon/cppo</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/cryptokit/Manifest b/dev-ml/cryptokit/Manifest
new file mode 100644
index 000000000000..7876c2395d34
--- /dev/null
+++ b/dev-ml/cryptokit/Manifest
@@ -0,0 +1,3 @@
+DIST cryptokit-1.10.tar.gz 152525 BLAKE2B 51c905757ad141292be89707bdab5c83a1f3e9e2665202cbf17e12b115591c57b77b759b4fa2967d1f00b4cf5bd87445a2189b4d222d5d1613e19c32e1054189 SHA512 22564e0151c492963d75fb81780b3a884a0bf613ad09380d9b5365740fd9c4bbdaa1c21fed50a1a4934dce920d90f5c86dc014f90e52677544789311f7bded4f
+DIST cryptokit-1.11.tar.gz 156905 BLAKE2B 3fc77321c0d525a32f5733d77963b5df4e618b3168f2f00aceeb1e13b16cc202e79b50afa93c0769f016b4e43061ff19851c8ba3f40ad7f8f0c9ff78a51d68e7 SHA512 cc641a05a67cd3d2e5ec481e8d426796db625ab60e89f79bde2e360730892c62f30ea2e37c4b028df16471220847e6d7ce4984deb9528fec6647a17fc4ae1b0d
+DIST cryptokit-1.12.tar.gz 157920 BLAKE2B c26d0642f02cf19502bfce043bfb542bfb7a8e80ac2c7dfbecce48b57d44eddd5f279ceec1166fd2e81e1a8446bb52fa748d89a3f7506860fe1c545784087469 SHA512 f99c50578360c7671029a0c4603b355912899596ea7baf55cb2f94e039658646396f1307417a24b3d87a535d272bed90e79d5e027af034c2c742140c44ec61ff
diff --git a/dev-ml/cryptokit/cryptokit-1.10.ebuild b/dev-ml/cryptokit/cryptokit-1.10.ebuild
new file mode 100644
index 000000000000..59e05f0f84ed
--- /dev/null
+++ b/dev-ml/cryptokit/cryptokit-1.10.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+OASIS_BUILD_DOCS=1
+OASIS_BUILD_TESTS=1
+
+inherit oasis
+
+DESCRIPTION="Cryptographic primitives library for Objective Caml"
+HOMEPAGE="http://forge.ocamlcore.org/projects/cryptokit/"
+SRC_URI="http://forge.ocamlcore.org/frs/download.php/1493/${P}.tar.gz"
+LICENSE="LGPL-2"
+SLOT="0/${PV}"
+KEYWORDS="amd64 ppc x86"
+IUSE="zlib"
+
+DEPEND="zlib? ( >=sys-libs/zlib-1.1 )"
+RDEPEND="${DEPEND}"
+
+DOCS=( "Changes" "README.txt" "AUTHORS.txt" )
+
+src_configure() {
+ oasis_configure_opts="$(use_enable zlib)" \
+ oasis_src_configure
+}
+
+pkg_postinst() {
+ elog ""
+ elog "This library uses the /dev/random device to generate "
+ elog "random data and RSA keys. The device should either be"
+ elog "built into the kernel or provided as a module. An"
+ elog "alternative is to use the Entropy Gathering Daemon"
+ elog "(http://egd.sourceforge.net). Please note that the"
+ elog "remainder of the library will still work even in the"
+ elog "absence of a one of these sources of randomness."
+ elog ""
+}
+
+src_test() {
+ echo ""
+ einfo "You must have either /dev/random or the Entropy Gathering"
+ einfo "Daemon (EGD) for this test to succeed!"
+ echo ""
+
+ oasis_src_test
+}
diff --git a/dev-ml/cryptokit/cryptokit-1.11.ebuild b/dev-ml/cryptokit/cryptokit-1.11.ebuild
new file mode 100644
index 000000000000..5fe154a01bc7
--- /dev/null
+++ b/dev-ml/cryptokit/cryptokit-1.11.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+OASIS_BUILD_DOCS=1
+OASIS_BUILD_TESTS=1
+
+inherit oasis
+
+DESCRIPTION="Cryptographic primitives library for Objective Caml"
+HOMEPAGE="http://forge.ocamlcore.org/projects/cryptokit/"
+SRC_URI="http://forge.ocamlcore.org/frs/download.php/1618/${P}.tar.gz"
+LICENSE="LGPL-2"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="zlib"
+
+DEPEND="zlib? ( >=sys-libs/zlib-1.1 )
+ dev-ml/zarith:="
+RDEPEND="${DEPEND}"
+
+DOCS=( "Changes" "README.txt" "AUTHORS.txt" )
+REQUIRED_USE="test? ( ocamlopt )"
+
+src_configure() {
+ oasis_configure_opts="$(use_enable zlib)" \
+ oasis_src_configure
+}
+
+pkg_postinst() {
+ elog ""
+ elog "This library uses the /dev/random device to generate "
+ elog "random data and RSA keys. The device should either be"
+ elog "built into the kernel or provided as a module. An"
+ elog "alternative is to use the Entropy Gathering Daemon"
+ elog "(http://egd.sourceforge.net). Please note that the"
+ elog "remainder of the library will still work even in the"
+ elog "absence of a one of these sources of randomness."
+ elog ""
+}
+
+src_test() {
+ echo ""
+ einfo "You must have either /dev/random or the Entropy Gathering"
+ einfo "Daemon (EGD) for this test to succeed!"
+ echo ""
+
+ oasis_src_test
+}
diff --git a/dev-ml/cryptokit/cryptokit-1.12.ebuild b/dev-ml/cryptokit/cryptokit-1.12.ebuild
new file mode 100644
index 000000000000..06c3f50d846f
--- /dev/null
+++ b/dev-ml/cryptokit/cryptokit-1.12.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+OASIS_BUILD_DOCS=1
+OASIS_BUILD_TESTS=1
+
+inherit oasis versionator
+
+DESCRIPTION="Cryptographic primitives library for Objective Caml"
+HOMEPAGE="https://github.com/xavierleroy/cryptokit"
+SRC_URI="https://github.com/xavierleroy/cryptokit/archive/release$(replace_all_version_separators '').tar.gz -> ${P}.tar.gz"
+LICENSE="LGPL-2"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~ppc"
+IUSE="zlib"
+
+DEPEND="zlib? ( >=sys-libs/zlib-1.1 )
+ dev-ml/zarith:="
+RDEPEND="${DEPEND}"
+
+DOCS=( "Changes" "README.txt" "AUTHORS.txt" )
+REQUIRED_USE="test? ( ocamlopt )"
+
+S="${WORKDIR}/${PN}-release$(replace_all_version_separators '')"
+
+src_configure() {
+ oasis_configure_opts="$(use_enable zlib)" \
+ oasis_src_configure
+}
+
+pkg_postinst() {
+ elog ""
+ elog "This library uses the /dev/random device to generate "
+ elog "random data and RSA keys. The device should either be"
+ elog "built into the kernel or provided as a module. An"
+ elog "alternative is to use the Entropy Gathering Daemon"
+ elog "(http://egd.sourceforge.net). Please note that the"
+ elog "remainder of the library will still work even in the"
+ elog "absence of a one of these sources of randomness."
+ elog ""
+}
+
+src_test() {
+ echo ""
+ einfo "You must have either /dev/random or the Entropy Gathering"
+ einfo "Daemon (EGD) for this test to succeed!"
+ echo ""
+
+ oasis_src_test
+}
diff --git a/dev-ml/cryptokit/metadata.xml b/dev-ml/cryptokit/metadata.xml
new file mode 100644
index 000000000000..540f2627ab8c
--- /dev/null
+++ b/dev-ml/cryptokit/metadata.xml
@@ -0,0 +1,9 @@
+<?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">xavierleroy/cryptokit</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/csv/Manifest b/dev-ml/csv/Manifest
new file mode 100644
index 000000000000..7a186cb5fe25
--- /dev/null
+++ b/dev-ml/csv/Manifest
@@ -0,0 +1,3 @@
+DIST csv-1.5.tar.gz 83642 BLAKE2B e07303a4be8c4e75964b4ecc38da59de288e12b433ecb4a5d5450b21411b2343b38853cdf2737516185867d2f3963cc374c9ec34df96332b5844bbd850fb7c89 SHA512 1c8af0ce8abd8a5710115c194eee34928399964447309ee974665cf427396def42bca4f983904bfec706f7944aea419a87bf54bc6c379cb8b7372be801be4126
+DIST csv-1.6.tar.gz 98194 BLAKE2B 1c7975ec92bcd63cdeee369e8a3507b6ef95cf646cba2f5498983a18098f8147a26d7ae57a37904a3f1cc21085e7f2f2ffc9ec7bca836d6edc31a45d2de4c0a3 SHA512 689dae2dd57ec914ca1dd5e3d34ebd352aabb7d5da8933aa6c6fc9c6ec84dc538d1df8a1c46f3e172ab09e5917e9158be76afb2423ec8a92eef489ac5dfd5175
+DIST csv-1.7.tar.gz 45160 BLAKE2B 2f51f927d9099382a227e20471e60075f8796d7753152e266c121f705e4dab7036659937630302f152cd8f28d6db1aee3d5c72c339a45477292ee03c4bc461ab SHA512 cbe3d316e6f99318b3958bbfba3308225e709afb481a333d314adb66c20683171c23ac0565fc8d8e936b9dad13b9330b5208340b9fc671b4ccddf3a7d8b82b3e
diff --git a/dev-ml/csv/csv-1.5.ebuild b/dev-ml/csv/csv-1.5.ebuild
new file mode 100644
index 000000000000..29be7c1a8b6c
--- /dev/null
+++ b/dev-ml/csv/csv-1.5.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+OASIS_BUILD_DOCS=1
+OASIS_BUILD_TESTS=1
+
+inherit oasis
+
+DESCRIPTION="A pure OCaml library to read and write CSV files"
+HOMEPAGE="https://github.com/Chris00/ocaml-csv"
+SRC_URI="https://github.com/Chris00/ocaml-csv/releases/download/${PV}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1-with-linking-exception"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+IUSE=""
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+
+DOCS=( "README.txt" "AUTHORS.txt" )
diff --git a/dev-ml/csv/csv-1.6.ebuild b/dev-ml/csv/csv-1.6.ebuild
new file mode 100644
index 000000000000..1d0efd903991
--- /dev/null
+++ b/dev-ml/csv/csv-1.6.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+OASIS_BUILD_DOCS=1
+OASIS_BUILD_TESTS=1
+
+inherit oasis
+
+DESCRIPTION="A pure OCaml library to read and write CSV files"
+HOMEPAGE="https://github.com/Chris00/ocaml-csv"
+SRC_URI="https://github.com/Chris00/ocaml-csv/releases/download/${PV}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1-with-linking-exception"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+IUSE="+lwt"
+
+DEPEND="lwt? ( dev-ml/lwt:= )"
+RDEPEND="${DEPEND}"
+
+DOCS=( "README.txt" "AUTHORS.txt" )
+
+src_configure() {
+ oasis_configure_opts="$(use_enable lwt)" \
+ oasis_src_configure
+}
diff --git a/dev-ml/csv/csv-1.7.ebuild b/dev-ml/csv/csv-1.7.ebuild
new file mode 100644
index 000000000000..817e095edb27
--- /dev/null
+++ b/dev-ml/csv/csv-1.7.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+OASIS_BUILD_DOCS=1
+OASIS_BUILD_TESTS=1
+
+inherit oasis
+
+DESCRIPTION="A pure OCaml library to read and write CSV files"
+HOMEPAGE="https://github.com/Chris00/ocaml-csv"
+SRC_URI="https://github.com/Chris00/ocaml-csv/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1-with-linking-exception"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+IUSE="+lwt"
+
+DEPEND="lwt? ( dev-ml/lwt:= )"
+RDEPEND="${DEPEND}"
+DEPEND="${DEPEND}
+ dev-ml/oasis"
+
+DOCS=( "README.txt" "AUTHORS.txt" )
+
+S="${WORKDIR}/ocaml-${P}"
+
+src_prepare() {
+ default
+ oasis setup || die
+}
+
+src_configure() {
+ oasis_configure_opts="$(use_enable lwt)" \
+ oasis_src_configure
+}
diff --git a/dev-ml/csv/metadata.xml b/dev-ml/csv/metadata.xml
new file mode 100644
index 000000000000..637a0043bb91
--- /dev/null
+++ b/dev-ml/csv/metadata.xml
@@ -0,0 +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="github">Chris00/ocaml-csv</remote-id>
+ </upstream>
+ <use>
+ <flag name="lwt">Enables the Lwt-based library for asynchronous operations.</flag>
+ </use>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/cudf/Manifest b/dev-ml/cudf/Manifest
new file mode 100644
index 000000000000..ab42e9125e18
--- /dev/null
+++ b/dev-ml/cudf/Manifest
@@ -0,0 +1 @@
+DIST cudf-0.8.tar.gz 55147 BLAKE2B c091a55e438979f73bfd5fd16f1e793ec984b24becc902e6eed856afea0f39586001174847b8626bbf162c2b51cbb98cdb60d9539c9aac0a1d651b693e686704 SHA512 cea9e51094076089b1beb657f6b2ccc6ac5f49660e06743f8ec646b277beb4c830f90156ae240a6903de55d09caee78fb0dc75efd76ca65fd2b40ab8756301e3
diff --git a/dev-ml/cudf/cudf-0.8-r1.ebuild b/dev-ml/cudf/cudf-0.8-r1.ebuild
new file mode 100644
index 000000000000..3d7e202217bc
--- /dev/null
+++ b/dev-ml/cudf/cudf-0.8-r1.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+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/34659/${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86"
+IUSE="+ocamlopt test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-lang/ocaml-3.12:=[ocamlopt?]
+ dev-ml/extlib:=
+ dev-libs/glib:2
+ dev-ml/camlp4:=
+ dev-ml/cppo:=
+"
+DEPEND="${RDEPEND}
+ test? ( dev-ml/ounit )
+ dev-ml/findlib
+ dev-ml/ocamlbuild
+ dev-lang/perl
+"
+
+src_prepare() {
+ 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 -j1 all
+ emake c-lib
+ if use ocamlopt ; then
+ emake -j1 opt
+ emake c-lib-opt
+ fi
+}
+
+src_test() {
+ emake test
+ emake c-lib-test
+}
+
+src_install() {
+ emake DESTDIR="${ED}" LIBDIR="/usr/$(get_libdir)" install
+ dodoc BUGS ChangeLog README TODO
+}
diff --git a/dev-ml/cudf/metadata.xml b/dev-ml/cudf/metadata.xml
new file mode 100644
index 000000000000..d85b4252fc33
--- /dev/null
+++ b/dev-ml/cudf/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<!-- maintainer-needed -->
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/deriving/Manifest b/dev-ml/deriving/Manifest
new file mode 100644
index 000000000000..130b75eb26a3
--- /dev/null
+++ b/dev-ml/deriving/Manifest
@@ -0,0 +1 @@
+DIST deriving-0.7.1.tar.gz 68550 BLAKE2B ded445dbc7f1b8402ae89742abd4f581754a6513aaeb0edcd08f3b0866e531e1731c235bcb50e587314929343fa6a4cfdd11aa9bd8527c03b0813c0a27949d98 SHA512 d4c4b38321f2fc5ed1a9ea7910ec4fae15b08485ae9067048a609d5b9d76188da02995cd18a034c561494cdd3aa8dbb57a1a1c69918b1f79d70f89c96a26d342
diff --git a/dev-ml/deriving/deriving-0.7.1.ebuild b/dev-ml/deriving/deriving-0.7.1.ebuild
new file mode 100644
index 000000000000..845c827a8b68
--- /dev/null
+++ b/dev-ml/deriving/deriving-0.7.1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+OASIS_BUILD_TESTS=1
+
+inherit oasis
+
+DESCRIPTION="A deriving library for Ocsigen"
+HOMEPAGE="https://github.com/ocsigen/deriving"
+SRC_URI="https://github.com/ocsigen/deriving/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+IUSE=""
+
+RDEPEND="
+ >=dev-ml/type-conv-108:=
+ dev-ml/optcomp:=
+ dev-ml/findlib:=
+ dev-ml/camlp4:=
+"
+DEPEND="${RDEPEND}
+ dev-ml/oasis"
+
+DOCS=( CHANGES README.md )
+oasis_configure_opts="--enable-tc"
+OASIS_SETUP_COMMAND="./setup.exe"
+
+src_configure() {
+ emake setup.exe
+ oasis_src_configure
+}
diff --git a/dev-ml/deriving/metadata.xml b/dev-ml/deriving/metadata.xml
new file mode 100644
index 000000000000..db4801fd8fba
--- /dev/null
+++ b/dev-ml/deriving/metadata.xml
@@ -0,0 +1,9 @@
+<?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">ocsigen/deriving</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/dns/Manifest b/dev-ml/dns/Manifest
new file mode 100644
index 000000000000..7755e3b6cb3b
--- /dev/null
+++ b/dev-ml/dns/Manifest
@@ -0,0 +1 @@
+DIST ocaml-dns-1.0.0.tar.gz 99161 BLAKE2B f0fa068296ac7eb5331ff7f5f88ee60a3010ac146f4b5bfeeffc8db014e6e5563da4f516ee1090365d290fb50b2754576b14167d55b2a33e125046103d485c1e SHA512 199653605e985851dcaafc94f1efeba5c261c29cd5e5f8eaebc9f7d25a05c43adcf7620efb291b22f9549f7c05f8ac3f6abfbcf40e0d7762bd2f7cd623ebcb1c
diff --git a/dev-ml/dns/dns-1.0.0.ebuild b/dev-ml/dns/dns-1.0.0.ebuild
new file mode 100644
index 000000000000..1780cf1361f4
--- /dev/null
+++ b/dev-ml/dns/dns-1.0.0.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit findlib opam
+
+DESCRIPTION="A pure OCaml implementation of the DNS protocol"
+HOMEPAGE="https://github.com/mirage/ocaml-dns https://mirage.io"
+SRC_URI="https://github.com/mirage/${PN}/archive/v${PV}.tar.gz -> ocaml-${P}.tar.gz"
+
+LICENSE="LGPL-2 LGPL-2.1-with-linking-exception ISC"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+IUSE=""
+
+RDEPEND="
+ >=dev-ml/ocaml-base64-2.0.0:=
+ >=dev-ml/ocaml-cstruct-3.0.2:=[ppx]
+ dev-ml/ocaml-hashcons:=
+ >=dev-ml/ocaml-ipaddr-2.6.0:=
+ dev-ml/ocaml-re:=
+ >=dev-ml/ocaml-uri-1.7.0:=
+ dev-ml/result:=
+ !dev-ml/odns
+"
+DEPEND="
+ dev-ml/jbuilder
+ ${RDEPEND}
+"
+
+# Do not work
+RESTRICT="test"
+
+S="${WORKDIR}/ocaml-${P}"
+
+src_compile() {
+ jbuilder build @install -p dns || die
+}
+
+src_test() {
+ jbuilder runtest -p dns || die
+}
diff --git a/dev-ml/dns/metadata.xml b/dev-ml/dns/metadata.xml
new file mode 100644
index 000000000000..1b2c04fab886
--- /dev/null
+++ b/dev-ml/dns/metadata.xml
@@ -0,0 +1,9 @@
+<?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">mirage/ocaml-dns</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/dose3/Manifest b/dev-ml/dose3/Manifest
new file mode 100644
index 000000000000..57bc6e62d881
--- /dev/null
+++ b/dev-ml/dose3/Manifest
@@ -0,0 +1 @@
+DIST dose3-5.0.1.tar.gz 297433 BLAKE2B 74ae954604f26398f091b4f14d2a633132ae62102f52af13284af27e41cd7c47afb1b533b0821a8921ba33fa6658e94b3bb6bf5f104f48881a50e14517cd65e2 SHA512 e66526319446054041f138ee2633043d0832089f6a554cf566a28de899d10383acfb1aa6bf1a368811602939676510933a7d2404fd34dbeba15045b458f5af84
diff --git a/dev-ml/dose3/dose3-5.0.1.ebuild b/dev-ml/dose3/dose3-5.0.1.ebuild
new file mode 100644
index 000000000000..161fafebbd3f
--- /dev/null
+++ b/dev-ml/dose3/dose3-5.0.1.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils
+
+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 ~ppc ~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/ocaml-re:=
+ dev-ml/cppo:=
+ 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
+ test? ( dev-python/pyyaml[libyaml] )
+"
+# missing test data
+RESTRICT="test"
+
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+ sed -e 's/INSTALLOPTS=-s/INSTALLOPTS=/' -i Makefile.config.in || die
+}
+
+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
+}
+
+src_install() {
+ emake DESTDIR="${D}" BINDIR="${ED}/usr/bin" install
+ dodoc CHANGES CREDITS README.architecture TODO
+}
diff --git a/dev-ml/dose3/metadata.xml b/dev-ml/dose3/metadata.xml
new file mode 100644
index 000000000000..71516831c5ff
--- /dev/null
+++ b/dev-ml/dose3/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-needed -->
+ <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>
+ <flag name="rpm4">Adds support for handling rpm4 files.</flag>
+ </use>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/dune/Manifest b/dev-ml/dune/Manifest
new file mode 100644
index 000000000000..0d61b49a65c3
--- /dev/null
+++ b/dev-ml/dune/Manifest
@@ -0,0 +1 @@
+DIST dune-2.1.0.tar.gz 1170295 BLAKE2B 16ee2c34e0183bd255d23410f70001ca008b8e82815f93ad727079da00b8592d219e7664c93bed7b97b3a1e997306d60672b7d6c45fe6dae7371b4025df06722 SHA512 24afb44e458f819dfde3775b76c3ccf43f3fa5d8ce9a14ee9bf6658c1c116f95659c21a9ea208e5711c844fabc661cc434070bce6c9307154d506b6599ffb57f
diff --git a/dev-ml/dune/dune-2.1.0.ebuild b/dev-ml/dune/dune-2.1.0.ebuild
new file mode 100644
index 000000000000..ab02564875e1
--- /dev/null
+++ b/dev-ml/dune/dune-2.1.0.ebuild
@@ -0,0 +1,32 @@
+# Copyright 2019-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() {
+ ocaml configure.ml --libdir "${EPREFIX}/usr/$(get_libdir)/ocaml" || 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
new file mode 100644
index 000000000000..b590235a5772
--- /dev/null
+++ b/dev-ml/dune/metadata.xml
@@ -0,0 +1,9 @@
+<?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/dune</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/easy-format/Manifest b/dev-ml/easy-format/Manifest
new file mode 100644
index 000000000000..ebc45c6e83bd
--- /dev/null
+++ b/dev-ml/easy-format/Manifest
@@ -0,0 +1,2 @@
+DIST easy-format-1.0.2.tar.gz 13679 BLAKE2B 5f738e521ef8eb59edbcba92f599328ab6f5e497075d8144335191835906832ecb4e4a8c6233c65f6f7aa7c4105aadd1dc1e269ad59a2c3237c54af8b3856e41 SHA512 bb12c13b33a725f4a15616672f7a268398b50e6f054575203f1d26c49aa04978564233fa9fb88eec8b701d7fecbbaeda264422e8c31a60a52d0d8e64bfc5898f
+DIST easy-format-1.2.0.tar.gz 15632 BLAKE2B 0bf20b87050330e90f3ef5cbe47470049ddc470d22357240f6b0ddd75138d3297935306c071e4355f02ed2fdd01a3155461e90a91df1346fa33180833db77b57 SHA512 375849b1ecd2e37f4b32d1ee12197a95856b17a47e3eb06a7e7320a82234c241156c3c8bfb18ce17bbe73b93d31d755675478860505470aa7ab866277a99603f
diff --git a/dev-ml/easy-format/easy-format-1.0.2.ebuild b/dev-ml/easy-format/easy-format-1.0.2.ebuild
new file mode 100644
index 000000000000..db163f33fd49
--- /dev/null
+++ b/dev-ml/easy-format/easy-format-1.0.2.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit findlib
+
+DESCRIPTION="Pretty-printing library for OCaml"
+HOMEPAGE="http://mjambon.com/easy-format.html"
+SRC_URI="http://mjambon.com/releases/${PN}/${P}.tar.gz"
+
+SLOT="0/${PV}"
+LICENSE="BSD"
+KEYWORDS="~amd64"
+
+IUSE="examples +ocamlopt"
+
+RDEPEND="dev-lang/ocaml:=[ocamlopt?]"
+DEPEND="${RDEPEND}"
+
+src_compile() {
+ emake all
+ use ocamlopt && emake opt
+}
+
+src_install() {
+ findlib_src_install
+ dodoc README.md Changes
+ if use examples ; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/dev-ml/easy-format/easy-format-1.2.0.ebuild b/dev-ml/easy-format/easy-format-1.2.0.ebuild
new file mode 100644
index 000000000000..669c69092068
--- /dev/null
+++ b/dev-ml/easy-format/easy-format-1.2.0.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit findlib
+
+DESCRIPTION="Pretty-printing library for OCaml"
+HOMEPAGE="https://github.com/mjambon/easy-format"
+SRC_URI="https://github.com/mjambon/easy-format/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+SLOT="0/${PV}"
+LICENSE="BSD"
+KEYWORDS="~amd64"
+
+IUSE="examples +ocamlopt"
+
+RDEPEND="dev-lang/ocaml:=[ocamlopt?]"
+DEPEND="${RDEPEND}"
+
+src_compile() {
+ emake all
+ use ocamlopt && emake opt
+}
+
+src_install() {
+ findlib_src_install
+ dodoc README.md Changes
+ if use examples ; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/dev-ml/easy-format/metadata.xml b/dev-ml/easy-format/metadata.xml
new file mode 100644
index 000000000000..4819f3577b64
--- /dev/null
+++ b/dev-ml/easy-format/metadata.xml
@@ -0,0 +1,9 @@
+<?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">mjambon/easy-format</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/eliom/Manifest b/dev-ml/eliom/Manifest
new file mode 100644
index 000000000000..c477e6903d23
--- /dev/null
+++ b/dev-ml/eliom/Manifest
@@ -0,0 +1 @@
+DIST eliom-6.2.0.tar.gz 724359 BLAKE2B f52805c83f71eb76e3a183637d9800690714dbe07cbe82ad1bac09ea02ac286cbae541b22dea73592bd8cfa095700264c2a8903ead5fae498e847c4f6bdc8d47 SHA512 02ea52c78470f222297dd9f82218e82427ea2d2d0c9f261d1a9c2decbe7644c0bf583b77b8cef2577d5662d363efd276755f400e7a4c29c89a2265e49ca850db
diff --git a/dev-ml/eliom/eliom-6.2.0.ebuild b/dev-ml/eliom/eliom-6.2.0.ebuild
new file mode 100644
index 000000000000..b97e4135966f
--- /dev/null
+++ b/dev-ml/eliom/eliom-6.2.0.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils multilib findlib
+
+DESCRIPTION="A web framework to program client/server applications"
+HOMEPAGE="http://ocsigen.org/eliom/"
+
+if [ "${PV#9999}" != "${PV}" ] ; then
+ inherit git-r3
+ SRC_URI=""
+ EGIT_REPO_URI="https://github.com/ocsigen/eliom"
+ KEYWORDS=""
+else
+ SRC_URI="https://github.com/ocsigen/eliom/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="LGPL-2.1-with-linking-exception"
+SLOT="0/${PV}"
+IUSE="doc +ocamlopt +ppx"
+
+RDEPEND=">=dev-lang/ocaml-4.03:=[ocamlopt?]
+ >=dev-ml/js_of_ocaml-2.8.2:=[xml]
+ >=www-servers/ocsigenserver-2.8:=
+ >=dev-ml/tyxml-4:=
+ >=dev-ml/deriving-0.6:=
+ >=dev-ml/reactiveData-0.2.1:=
+ dev-ml/ocaml-ipaddr:=
+ dev-ml/react:=
+ dev-ml/ocaml-ssl:=
+ >=dev-ml/lwt-2.5.0:=
+ dev-ml/lwt_react:=
+ dev-ml/camlp4:=
+ ppx? ( >=dev-ml/ppx_tools-0.99.3:= )"
+DEPEND="${RDEPEND}
+ dev-ml/ocamlbuild
+ dev-ml/opam"
+
+src_prepare() {
+ epatch "${FILESDIR}/lwt3.patch"
+}
+
+src_compile() {
+ if use ocamlopt ; then
+ emake PPX=$(usex ppx true false) all
+ else
+ emake PPX=$(usex ppx true false) byte
+ fi
+ use doc && emake doc
+ emake man
+}
+
+src_install() {
+ opam-installer \
+ --prefix="${ED}/usr" \
+ --libdir="${D}/$(ocamlc -where)" \
+ --docdir="${ED}/usr/share/doc/${PF}" \
+ --mandir="${ED}/usr/share/man" \
+ || die
+ dodoc CHANGES README.md
+ if use doc ; then
+ docinto client/html
+ dodoc -r _build/src/lib/client/api.docdir/*
+ docinto server/html
+ dodoc -r _build/src/lib/server/api.docdir/*
+ fi
+}
diff --git a/dev-ml/eliom/eliom-9999.ebuild b/dev-ml/eliom/eliom-9999.ebuild
new file mode 100644
index 000000000000..cffa1b2c77a6
--- /dev/null
+++ b/dev-ml/eliom/eliom-9999.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils multilib findlib
+
+DESCRIPTION="A web framework to program client/server applications"
+HOMEPAGE="http://ocsigen.org/eliom/"
+
+if [ "${PV#9999}" != "${PV}" ] ; then
+ inherit git-r3
+ SRC_URI=""
+ EGIT_REPO_URI="https://github.com/ocsigen/eliom"
+ KEYWORDS=""
+else
+ SRC_URI="https://github.com/ocsigen/eliom/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="LGPL-2.1-with-linking-exception"
+SLOT="0/${PV}"
+IUSE="doc +ocamlopt +ppx"
+
+RDEPEND=">=dev-lang/ocaml-4.03:=[ocamlopt?]
+ >=dev-ml/js_of_ocaml-2.8.2:=[xml]
+ >=www-servers/ocsigenserver-2.8:=
+ >=dev-ml/tyxml-4:=
+ >=dev-ml/deriving-0.6:=
+ >=dev-ml/reactiveData-0.2.1:=
+ dev-ml/ocaml-ipaddr:=
+ dev-ml/react:=
+ dev-ml/ocaml-ssl:=
+ >=dev-ml/lwt-2.5.0:=
+ dev-ml/lwt_react:=
+ dev-ml/camlp4:=
+ ppx? ( >=dev-ml/ppx_tools-0.99.3:= )"
+DEPEND="${RDEPEND}
+ dev-ml/ocamlbuild
+ dev-ml/opam"
+
+src_compile() {
+ if use ocamlopt ; then
+ emake PPX=$(usex ppx true false) all
+ else
+ emake PPX=$(usex ppx true false) byte
+ fi
+ use doc && emake doc
+ emake man
+}
+
+src_install() {
+ opam-installer \
+ --prefix="${ED}/usr" \
+ --libdir="${D}/$(ocamlc -where)" \
+ --docdir="${ED}/usr/share/doc/${PF}" \
+ --mandir="${ED}/usr/share/man" \
+ || die
+ dodoc CHANGES README.md
+ if use doc ; then
+ docinto client/html
+ dodoc -r _build/src/lib/client/api.docdir/*
+ docinto server/html
+ dodoc -r _build/src/lib/server/api.docdir/*
+ fi
+}
diff --git a/dev-ml/eliom/files/lwt3.patch b/dev-ml/eliom/files/lwt3.patch
new file mode 100644
index 000000000000..6b8d993fb687
--- /dev/null
+++ b/dev-ml/eliom/files/lwt3.patch
@@ -0,0 +1,44 @@
+Index: eliom-6.2.0/pkg/META
+===================================================================
+--- eliom-6.2.0.orig/pkg/META
++++ eliom-6.2.0/pkg/META
+@@ -13,7 +13,7 @@ package "server" (
+ react,
+ reactiveData,
+ tyxml,
+- lwt.react,
++ lwt_react,
+ cryptokit,
+ reactiveData"
+ archive(byte) = "server.cma"
+@@ -49,7 +49,7 @@ package "client" (
+ js_of_ocaml.tyxml,
+ js_of_ocaml.log,
+ js_of_ocaml.weak,
+- lwt.react,
++ lwt_react,
+ react,
+ reactiveData,
+ tyxml.functor"
+Index: eliom-6.2.0/src/_tags
+===================================================================
+--- eliom-6.2.0.orig/src/_tags
++++ eliom-6.2.0/src/_tags
+@@ -11,7 +11,7 @@ true:keep_locs
+
+ <lib/server/*.ml{,i}>:thread
+ <lib/server/*.ml{,i}>:package(lwt,ocsigenserver,ocsigenserver.ext,tyxml.functor)
+-<lib/server/*.ml{,i}>:package(react,js_of_ocaml)
++<lib/server/*.ml{,i}>:package(lwt_react,react,js_of_ocaml)
+
+ <lib/server/*.ml{,i}>:package(js_of_ocaml.deriving.ppx)
+
+@@ -24,7 +24,7 @@ true:keep_locs
+ <lib/client/*.ml{,i}>: eliom_ppx
+ <lib/client/*.ml{,i}>:package(ocsigenserver.cookies,ocsigenserver.polytables,ocsigenserver.baselib.base)
+ <lib/client/*.ml{,i}>:package(deriving.runtime,js_of_ocaml.deriving)
+-<lib/client/*.ml{,i}>:package(lwt.react,tyxml.functor,js_of_ocaml.tyxml)
++<lib/client/*.ml{,i}>:package(lwt_react,tyxml.functor,js_of_ocaml.tyxml)
+ <lib/client/*.ml{,i}>:package(react,js_of_ocaml,reactiveData)
+
+ <lib/client/*.ml{,i}>:package(js_of_ocaml.deriving.ppx)
diff --git a/dev-ml/eliom/metadata.xml b/dev-ml/eliom/metadata.xml
new file mode 100644
index 000000000000..f00cef9370a4
--- /dev/null
+++ b/dev-ml/eliom/metadata.xml
@@ -0,0 +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="github">ocsigen/eliom</remote-id>
+ </upstream>
+ <use>
+ <flag name="ppx">Enable PPX syntax extension support.</flag>
+ </use>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/extlib/Manifest b/dev-ml/extlib/Manifest
new file mode 100644
index 000000000000..20ee2cf3f9b7
--- /dev/null
+++ b/dev-ml/extlib/Manifest
@@ -0,0 +1 @@
+DIST extlib-1.7.6.tar.gz 88068 BLAKE2B 32376c09728ec7e7d762888ad706641b94bcc976f2e1f42f246ba79fe862b60df7ff924e1e22e89333d8f2e1d999deb71eee481c3c5919aa5d1e02731f64f323 SHA512 3065e2474fb0e480ed076aa1156584a4a6c839cd5d9e59f341e41113abb1736241354aa7ee7cb492967698bc392969522fd5bf30d1ad7f94754c4e10f376afa8
diff --git a/dev-ml/extlib/extlib-1.7.6-r1.ebuild b/dev-ml/extlib/extlib-1.7.6-r1.ebuild
new file mode 100644
index 000000000000..315070f3d892
--- /dev/null
+++ b/dev-ml/extlib/extlib-1.7.6-r1.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit findlib eutils
+
+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-3.10.2:=[ocamlopt?]
+"
+DEPEND="${RDEPEND}
+ dev-ml/cppo"
+
+S="${WORKDIR}/ocaml-${P}"
+
+src_prepare() {
+ epatch "${FILESDIR}/ocaml409.patch"
+}
+
+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/ocaml409.patch b/dev-ml/extlib/files/ocaml409.patch
new file mode 100644
index 000000000000..7f35ea4e52e2
--- /dev/null
+++ b/dev-ml/extlib/files/ocaml409.patch
@@ -0,0 +1,13 @@
+diff --git a/src/configure.ml b/src/configure.ml
+index f13d63e..f735a8c 100644
+--- a/src/configure.ml
++++ b/src/configure.ml
+@@ -7,7 +7,7 @@ let () =
+ match Sys.argv with
+ | [|_;"-cppo-args"|] ->
+ let version = Scanf.sscanf Sys.ocaml_version "%d.%d." (fun major minor -> major * 100 + minor) in
+- printf "-D \\\"OCAML %d\\\"\n" version;
++ printf "-n -D \\\"OCAML %d\\\"\n" version;
+ print_endline (if Sys.word_size = 32 then "-D WORD_SIZE_32 " else "");
+ show_bytes "-D WITH_BYTES";
+ exit 0
diff --git a/dev-ml/facile/Manifest b/dev-ml/facile/Manifest
new file mode 100644
index 000000000000..65406b20bc00
--- /dev/null
+++ b/dev-ml/facile/Manifest
@@ -0,0 +1 @@
+DIST facile-1.1.3.tar.gz 99656 BLAKE2B 19d81c48c39b96083628cc40eb9aca7e8ad7dea4ae81c884bfb22daa56135ac411698d57b68f3112829a1fc53d29612627809901c6e30eb4672776508eee57b2 SHA512 78d315188e661245eb7306b645e9baaca94db0b9511112b57dbc8597bf2f75cab5604c8f4cf850209464e802c636f592552c8b492730cb28896d2acd7f413346
diff --git a/dev-ml/facile/facile-1.1.3.ebuild b/dev-ml/facile/facile-1.1.3.ebuild
new file mode 100644
index 000000000000..9752526dbde3
--- /dev/null
+++ b/dev-ml/facile/facile-1.1.3.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+DESCRIPTION="OCaml constraint programming library on integer & integer set finite domains"
+HOMEPAGE="http://opti.recherche.enac.fr/"
+SRC_URI="http://opti.recherche.enac.fr/facile/distrib/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0/${PV}"
+
+KEYWORDS="~alpha amd64 arm64 ~hppa ~ia64 ppc ppc64 ~sparc x86"
+IUSE="+ocamlopt"
+
+RDEPEND=">=dev-lang/ocaml-4:=[ocamlopt?]"
+DEPEND="${RDEPEND}
+ sys-apps/sed
+"
+
+DOCS=( README )
+
+PATCHES=( "${FILESDIR}/${PN}"-1.1-make.patch ) # Fix building on FreeBSD
+
+src_prepare() {
+ default
+
+ # Disable building native code objects if we dont have/want ocamlopt
+ if ! use ocamlopt; then
+ sed -i -e 's/\.opt//' src/Makefile || die "failed to change native code compiler to bytecode ones"
+ sed -i -e 's/ facile\.cmxa//' src/Makefile || die "failed to remove native code objects"
+ sed -i -e 's/\.opt/.out/g' \
+ -e 's: src/facile\.cmxa::'\
+ -e 's: src/facile\.a::'\
+ -e 's:^.*facile\.cmxa::'\
+ -e 's:^.*facile\.a::' Makefile || die "failed to remove native code objects"
+ fi
+}
+
+src_configure() {
+ # This is a custom configure script and it does not support standard options
+ ./configure --faciledir "${D}"$(ocamlc -where)/facile/ || die
+}
+
+src_test() {
+ emake check
+}
+
+src_install() {
+ dodir $(ocamlc -where)
+ emake install
+ einstalldocs
+}
diff --git a/dev-ml/facile/files/facile-1.1-make.patch b/dev-ml/facile/files/facile-1.1-make.patch
new file mode 100644
index 000000000000..7b77639d2277
--- /dev/null
+++ b/dev-ml/facile/files/facile-1.1-make.patch
@@ -0,0 +1,48 @@
+diff -ur a/Makefile b/Makefile
+--- a/Makefile 2004-09-08 10:51:02 +0100
++++ b/Makefile 2007-10-23 13:11:28 +0100
+@@ -3,7 +3,7 @@
+ include config_Makefile
+
+ compile:
+- cd src; make
++ cd src; $(MAKE)
+
+ install:
+ if test -d $(FACILEDIR); then : ; else mkdir $(FACILEDIR); fi
+@@ -14,10 +14,10 @@
+ chmod a+r $(FACILEDIR)/facile.a
+
+ clean:
+- cd src; make clean
++ cd src; $(MAKE) clean
+
+ distclean uninstall:
+ rm -fr $(FACILEDIR)
+
+ check:
+- cd examples; make FACILEDIR=../src queens.opt; ./queens.opt 8
++ cd examples; $(MAKE) FACILEDIR=../src queens.opt; ./queens.opt 8
+diff -ur a/src/Makefile b/src/Makefile
+--- a/src/Makefile 2004-09-08 10:51:02 +0100
++++ b/src/Makefile 2007-10-23 13:10:34 +0100
+@@ -28,7 +28,7 @@
+ # Version of the library to be linked with the -p (profiler) option
+ facile.p.cmxa : $(CSTR)
+ rm -fr $(CSTRCMX)
+- make facile.cmxa OPTOPT=-p
++ $(MAKE) facile.cmxa OPTOPT=-p
+ rm -fr $(CSTRCMX)
+ mv facile.cmxa $@
+ mv facile.a facile.p.a
+@@ -41,8 +41,8 @@
+ # Does not work with many modules (e.g. containing class expressions
+ facile.exp.cmxa : $(CSTR)
+ rm -fr $(CSTRCMX)
+- make fcl_stak.cmx fcl_cstr.cmx fcl_inv.cmx fcl_reify.cmx fcl_arith.cmx fcl_goals.cmx fcl_fdArray.cmx fcl_gcc.cmx fcl_alldiff.cmx fcl_sorting.cmx fcl_interval.cmx facile.cmx
+- make facile.cmxa OPTOPT="-pp inline_functors"
++ $(MAKE) fcl_stak.cmx fcl_cstr.cmx fcl_inv.cmx fcl_reify.cmx fcl_arith.cmx fcl_goals.cmx fcl_fdArray.cmx fcl_gcc.cmx fcl_alldiff.cmx fcl_sorting.cmx fcl_interval.cmx facile.cmx
++ $(MAKE) facile.cmxa OPTOPT="-pp inline_functors"
+ rm -fr $(CSTRCMX)
+ mv facile.cmxa $@
+ mv facile.a facile.exp.a
diff --git a/dev-ml/facile/metadata.xml b/dev-ml/facile/metadata.xml
new file mode 100644
index 000000000000..6f87b28e3175
--- /dev/null
+++ b/dev-ml/facile/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>kde@gentoo.org</email>
+ <name>Gentoo KDE Project</name>
+ </maintainer>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/fieldslib/Manifest b/dev-ml/fieldslib/Manifest
new file mode 100644
index 000000000000..13f75a822274
--- /dev/null
+++ b/dev-ml/fieldslib/Manifest
@@ -0,0 +1 @@
+DIST fieldslib-0.9.0.tar.gz 5981 BLAKE2B 471e468bf731dfe2f8a237ba35df22dc3cfb5ee2e02c881dc0a82be577844a40607adbf807b9aadf3a120708687048e6219635b81216c92edc41c874118c8b63 SHA512 ac0ecbbb43f1d815462264ef5dd33b568aa8b479847789f0ac7eb5da5986849da6ca1c27db1c0643e64e83c625e98eb7abebb5e3045a95c4b7bf7384ea953720
diff --git a/dev-ml/fieldslib/fieldslib-0.9.0.ebuild b/dev-ml/fieldslib/fieldslib-0.9.0.ebuild
new file mode 100644
index 000000000000..9f1092e48f00
--- /dev/null
+++ b/dev-ml/fieldslib/fieldslib-0.9.0.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+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"
+IUSE=""
+
+RDEPEND="
+ dev-lang/ocaml:=
+ dev-ml/base:=
+ dev-ml/ppx_driver:=
+ dev-ml/ocaml-migrate-parsetree:=
+"
+DEPEND="${RDEPEND} dev-ml/opam dev-ml/jbuilder"
+
+src_install() {
+ opam-installer -i \
+ --prefix="${ED}/usr" \
+ --libdir="${D}/$(ocamlc -where)" \
+ --docdir="${ED}/usr/share/doc/${PF}" \
+ ${PN}.install || die
+}
diff --git a/dev-ml/fieldslib/metadata.xml b/dev-ml/fieldslib/metadata.xml
new file mode 100644
index 000000000000..5ac93f6ef523
--- /dev/null
+++ b/dev-ml/fieldslib/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <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,
+ and additional routines, to get and set record fields, iterate and fold
+ over all fields of a record and create new record values.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">janestreet/fieldslib</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/findlib/Manifest b/dev-ml/findlib/Manifest
new file mode 100644
index 000000000000..783b71374fe7
--- /dev/null
+++ b/dev-ml/findlib/Manifest
@@ -0,0 +1,4 @@
+DIST findlib-1.7.1.tar.gz 256883 BLAKE2B 7459082dee3cd04045e8dbf59bc82075eb1c24bb8daff4a58d0002d7962ab19c5635ebb0551f29f99f37f1e08acd8eaa4dcd99d213438ff7a77cfc36ddadedd1 SHA512 1c8002dc2ed1804afc78c2aa92ab55d2b6501fbb021a7ca46698b4de0dea8ad6485a64f7bf9ec5f3df888da1a420ab270efb5e26f1e408cc8b78fa3ccb981ba4
+DIST findlib-1.7.2.tar.gz 257747 BLAKE2B 826993e9d3e5a9dab9084b006347a0324c848aa50a42ba1daa0d76010a0cdbf6e1ae9f0754dd3bef84f043ee43c3bd9775284a73ee5b130b678834d14d4ddb1c SHA512 f2aadaf8630482785ebfe6788bfea6716defdd6ba94e7f4e3b743c3415fa5b169e31301d605857823e9c74f7bd2f774399ee32a8acb35e64ce0cba5e98e4dd2c
+DIST findlib-1.7.3.tar.gz 257703 BLAKE2B d69687ee4b75bd7ba514c5507bd474764cfb76f0502ef613c3dd8d8e9e92b5f12704c101b9228d71f2d9f151ab5e63b4352b759a2c7a2694f23b10b6c4e724d2 SHA512 5fc8250c123e2f019406be487134523f964668d615b51b216551d74f6ec1999de43aa7babc9c2c75ebb87293b4b8c640548d562a98a6e5a6d7f663432869c886
+DIST findlib-1.8.1.tar.gz 261544 BLAKE2B acfa9d4e0d118ebbc0dd7b03da1fe5eaa994e5fec13dc54e60ba42f643d93968469a1a43fe4f832433dca6c3902e8846616fcf460c748bf037fe16cb2f93a847 SHA512 0d8e1ff21217fcc6823aab3ac71282789691e4ae8c3607703d0393468247f93e2d084bd4e2a8795b523f2c7f193521d3aae4b8122c934ebf8b58c3185a5bc9c1
diff --git a/dev-ml/findlib/files/externalmeta4.patch b/dev-ml/findlib/files/externalmeta4.patch
new file mode 100644
index 000000000000..a2bb4945f18c
--- /dev/null
+++ b/dev-ml/findlib/files/externalmeta4.patch
@@ -0,0 +1,16 @@
+Avoid installing META files for labltk, camlp4 and ocamlbuild: Those are provided by their
+respective packages now.
+
+Index: findlib-1.7.1/configure
+===================================================================
+--- findlib-1.7.1.orig/configure
++++ findlib-1.7.1/configure
+@@ -539,7 +539,7 @@ fi
+
+ # Generate the META files now.
+
+-l="$ldbm dynlink graphics num num-top str threads unix stdlib bigarray ocamldoc $llabltk $lcamlp4 $lobuild $lcomplibs $lbytes $lspacetime"
++l="$ldbm dynlink graphics num num-top 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/files/externalmeta5.patch b/dev-ml/findlib/files/externalmeta5.patch
new file mode 100644
index 000000000000..ac90722de3b3
--- /dev/null
+++ b/dev-ml/findlib/files/externalmeta5.patch
@@ -0,0 +1,13 @@
+Index: findlib-1.7.2/configure
+===================================================================
+--- findlib-1.7.2.orig/configure
++++ findlib-1.7.2/configure
+@@ -557,7 +557,7 @@ fi
+
+ # Generate the META files now.
+
+-l="$ldbm dynlink graphics $lnum num-top str threads unix stdlib bigarray ocamldoc $llabltk $lcamlp4 $lobuild $lcomplibs $lbytes $lspacetime"
++l="$ldbm dynlink graphics $lnum num-top 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/files/externalmeta6.patch b/dev-ml/findlib/files/externalmeta6.patch
new file mode 100644
index 000000000000..7dbe9aa48e00
--- /dev/null
+++ b/dev-ml/findlib/files/externalmeta6.patch
@@ -0,0 +1,13 @@
+Index: findlib-1.7.2/configure
+===================================================================
+--- findlib-1.7.2.orig/configure
++++ findlib-1.7.2/configure
+@@ -557,7 +557,7 @@ fi
+
+ # Generate the META files now.
+
+-l="$ldbm dynlink graphics $lnum str threads unix stdlib bigarray ocamldoc $llabltk $lcamlp4 $lobuild $lcomplibs $lbytes $lspacetime"
++l="$ldbm dynlink graphics $lnum 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.7.1.ebuild b/dev-ml/findlib/findlib-1.7.1.ebuild
new file mode 100644
index 000000000000..c12ada7153a3
--- /dev/null
+++ b/dev-ml/findlib/findlib-1.7.1.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit multilib eutils
+
+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 ~hppa ~ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
+
+# it does not compile with ocaml-4.09 (bug #708696)
+DEPEND="<dev-lang/ocaml-4.09:=[ocamlopt?]
+ tk? ( dev-ml/labltk:= )"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ epatch "${FILESDIR}/externalmeta4.patch"
+ 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}}"
+
+ cd "${S}/doc"
+ dodoc QUICKSTART README DOCINFO
+ use doc && dohtml -r ref-html guide-html
+}
+
+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/findlib-1.7.2.ebuild b/dev-ml/findlib/findlib-1.7.2.ebuild
new file mode 100644
index 000000000000..895452b724a4
--- /dev/null
+++ b/dev-ml/findlib/findlib-1.7.2.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit multilib eutils
+
+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 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+
+# it does not compile with ocaml-4.09 (bug #708696)
+DEPEND="<dev-lang/ocaml-4.09:=[ocamlopt?]
+ tk? ( dev-ml/labltk:= )"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ epatch "${FILESDIR}/externalmeta5.patch"
+ 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}}"
+
+ cd "${S}/doc"
+ dodoc QUICKSTART README DOCINFO
+ use doc && dohtml -r ref-html guide-html
+}
+
+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/findlib-1.7.3.ebuild b/dev-ml/findlib/findlib-1.7.3.ebuild
new file mode 100644
index 000000000000..691a2c9519aa
--- /dev/null
+++ b/dev-ml/findlib/findlib-1.7.3.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit multilib eutils
+
+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 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+
+# it does not compile with ocaml-4.09 (bug #708696)
+DEPEND="<dev-lang/ocaml-4.09:=[ocamlopt?]
+ tk? ( dev-ml/labltk:= )"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ epatch "${FILESDIR}/externalmeta6.patch"
+ 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}}"
+
+ cd "${S}/doc"
+ dodoc QUICKSTART README DOCINFO
+ use doc && dohtml -r ref-html guide-html
+}
+
+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/findlib-1.8.1.ebuild b/dev-ml/findlib/findlib-1.8.1.ebuild
new file mode 100644
index 000000000000..50ebe38db17e
--- /dev/null
+++ b/dev-ml/findlib/findlib-1.8.1.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit multilib eutils
+
+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 ~mips ppc ppc64 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
+
+DEPEND=">=dev-lang/ocaml-4.02.3-r1:=[ocamlopt?]
+ tk? ( dev-ml/labltk:= )"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ sed -i 's/\$llabltk \$lcamlp4 \$lobuild//' configure || die "Unable to make meta external."
+ 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}}"
+
+ cd "${S}/doc"
+ dodoc QUICKSTART README DOCINFO
+ use doc && dohtml -r ref-html guide-html
+}
+
+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
new file mode 100644
index 000000000000..3d4429370ed8
--- /dev/null
+++ b/dev-ml/findlib/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/fmt/Manifest b/dev-ml/fmt/Manifest
new file mode 100644
index 000000000000..d92968186fd6
--- /dev/null
+++ b/dev-ml/fmt/Manifest
@@ -0,0 +1 @@
+DIST fmt-0.8.4.tbz 14079 BLAKE2B c4b6fc35a27734e8d878ef1abfa900b659d4acafc20757b0413aec1404378aed6e57c6a1a0e5c7dbda7e60fdd911d38fa1fecc76d670299ddf6ed14930fbcc28 SHA512 d17407f15447172ad444fa288b9a16962b0e4829cb73f62004b0f8dad2bec60a7911ad11fd05545d61d7fdb88099e53694548c73368399ba183c53383e1dfd31
diff --git a/dev-ml/fmt/fmt-0.8.4.ebuild b/dev-ml/fmt/fmt-0.8.4.ebuild
new file mode 100644
index 000000000000..e08ee4dfd3c4
--- /dev/null
+++ b/dev-ml/fmt/fmt-0.8.4.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit findlib opam
+
+DESCRIPTION="Combinators to devise OCaml Format pretty-printing functions"
+HOMEPAGE="https://erratique.ch/software/fmt https://github.com/dbuenzli/fmt"
+SRC_URI="https://erratique.ch/software/fmt/releases/${P}.tbz"
+
+LICENSE="ISC"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="dev-ml/result:=[ocamlopt]
+ dev-lang/ocaml:=[ocamlopt]
+ dev-ml/uchar:=[ocamlopt]
+ dev-ml/cmdliner:=[ocamlopt]"
+DEPEND="${RDEPEND}
+ >=dev-ml/topkg-0.9
+ dev-ml/ocamlbuild
+ dev-ml/findlib"
+
+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/fmt/metadata.xml b/dev-ml/fmt/metadata.xml
new file mode 100644
index 000000000000..6246c5ad8eab
--- /dev/null
+++ b/dev-ml/fmt/metadata.xml
@@ -0,0 +1,9 @@
+<?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">dbuenzli/fmt</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/fpath/Manifest b/dev-ml/fpath/Manifest
new file mode 100644
index 000000000000..0f8bf4b12584
--- /dev/null
+++ b/dev-ml/fpath/Manifest
@@ -0,0 +1 @@
+DIST fpath-0.7.2.tbz 24142 BLAKE2B 5aa22a33d0155c2a446c3622d6feef0748be3eaa72f07e7e2770fda1993794864072a5f50a052537b9724e39935064967c87f82d860a2da17fbc86279a1930ab SHA512 d8ab8d6f183a1742d74a3a3220cc1d62e7df38a6f3ca1c04fad18426a0897152255382305ad14d058b5b85ab55a27536c39a62deffac8d46984a730a2a18405d
diff --git a/dev-ml/fpath/fpath-0.7.2.ebuild b/dev-ml/fpath/fpath-0.7.2.ebuild
new file mode 100644
index 000000000000..e3f27b5fd02b
--- /dev/null
+++ b/dev-ml/fpath/fpath-0.7.2.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit opam
+
+DESCRIPTION="File system paths for OCaml"
+HOMEPAGE="https://erratique.ch/software/fpath https://github.com/dbuenzli/fpath"
+SRC_URI="https://erratique.ch/software/fpath/releases/${P}.tbz"
+
+LICENSE="ISC"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+IUSE=""
+
+RDEPEND="
+ dev-ml/result:=
+ dev-ml/astring:=
+"
+DEPEND="${RDEPEND}
+ dev-ml/topkg
+ dev-ml/ocamlbuild
+ dev-ml/findlib
+"
+
+src_compile() {
+ ocaml pkg/pkg.ml build || die
+}
diff --git a/dev-ml/fpath/metadata.xml b/dev-ml/fpath/metadata.xml
new file mode 100644
index 000000000000..7669cc8978d8
--- /dev/null
+++ b/dev-ml/fpath/metadata.xml
@@ -0,0 +1,9 @@
+<?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">dbuenzli/fpath</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/gen/Manifest b/dev-ml/gen/Manifest
new file mode 100644
index 000000000000..ea298131c85f
--- /dev/null
+++ b/dev-ml/gen/Manifest
@@ -0,0 +1 @@
+DIST gen-0.4.0.1.tar.gz 72415 BLAKE2B 73fa4169b6c2c3790a7f455136be4fa3bc2ce328833b17293dba793383133f5f151c6e1a2372c3422c7f827ef29eb1c3925a69a28dba787af29f7609ec8c299d SHA512 30722cca6d9b360a9a7d4a97f7553935d5425d5e3d49a7ae265bd0aee5961628a20d182775767a125cf367e1cd218ce4e782f025951468a4f95975163a1f4d76
diff --git a/dev-ml/gen/gen-0.4.0.1.ebuild b/dev-ml/gen/gen-0.4.0.1.ebuild
new file mode 100644
index 000000000000..13385f56421c
--- /dev/null
+++ b/dev-ml/gen/gen-0.4.0.1.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+OASIS_BUILD_TESTS=1
+OASIS_BUILD_DOCS=1
+
+inherit oasis
+
+DESCRIPTION="Simple, efficient iterators for OCaml"
+HOMEPAGE="https://github.com/c-cube/gen"
+SRC_URI="https://github.com/c-cube/gen/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+IUSE=""
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ test? ( dev-ml/ounit dev-ml/iTeML )
+"
+DOCS=( "README.md" "CHANGELOG.md" )
diff --git a/dev-ml/gen/metadata.xml b/dev-ml/gen/metadata.xml
new file mode 100644
index 000000000000..9f92fe9378e0
--- /dev/null
+++ b/dev-ml/gen/metadata.xml
@@ -0,0 +1,9 @@
+<?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">c-cube/gen</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/gsl-ocaml/Manifest b/dev-ml/gsl-ocaml/Manifest
new file mode 100644
index 000000000000..f544670afdc0
--- /dev/null
+++ b/dev-ml/gsl-ocaml/Manifest
@@ -0,0 +1 @@
+DIST gsl-ocaml-1.19.1.tar.gz 167549 BLAKE2B 17d559b31a2be9583fd616b273f1d5cac5a42bebc7df2cf4882ba5bf7ddf411971b4f49dc36eb3bcdb0265ea204d0ea0ba19bc6c63f49a6b8b6075715bd0a967 SHA512 be199d46479f07a16d2f667d7a29675171bc4ecc5a6e5948335bf98f72e6f12474d16455a22e6bfc73683f1d67de3a186d75f817f398f6621241b640c333e07d
diff --git a/dev-ml/gsl-ocaml/gsl-ocaml-1.19.1.ebuild b/dev-ml/gsl-ocaml/gsl-ocaml-1.19.1.ebuild
new file mode 100644
index 000000000000..7b461efb3ec0
--- /dev/null
+++ b/dev-ml/gsl-ocaml/gsl-ocaml-1.19.1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+OASIS_BUILD_DOCS=1
+OASIS_BUILD_TESTS=1
+
+inherit oasis
+
+DESCRIPTION="OCaml bindings for the GSL library (successor of dev-ml/ocamlgsl)"
+HOMEPAGE="https://github.com/mmottl/gsl-ocaml"
+SRC_URI="https://github.com/mmottl/${PN}/releases/download/v${PV}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="examples test"
+RESTRICT="!test? ( test )"
+
+DEPEND=">=sci-libs/gsl-1.19"
+RDEPEND="${DEPEND}
+ !dev-ml/ocamlgsl"
+
+DOCS=( CHANGES.txt README.md NOTES.md TODO.md )
+
+src_prepare() {
+ oasis_configure_opts="$(use_enable examples)"
+}
diff --git a/dev-ml/gsl-ocaml/metadata.xml b/dev-ml/gsl-ocaml/metadata.xml
new file mode 100644
index 000000000000..3819fedd9bd4
--- /dev/null
+++ b/dev-ml/gsl-ocaml/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ <name>Gentoo Science Project</name>
+ </maintainer>
+ <longdescription lang="en">
+GSL interface for OCaml
+ </longdescription>
+ <upstream>
+ <remote-id type="bitbucket">mmottl/gsl-ocaml</remote-id>
+ <remote-id type="github">mmottl/gsl-ocaml</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/iTeML/Manifest b/dev-ml/iTeML/Manifest
new file mode 100644
index 000000000000..a547c32355b0
--- /dev/null
+++ b/dev-ml/iTeML/Manifest
@@ -0,0 +1,3 @@
+DIST iTeML-2.5.tar.gz 33750 BLAKE2B 362dcbd0a2e44842832ec5e2307eb2f291013344e80b791f1e2c3e5ffc43633f67c7e736ad3a6545197467700d043649080b5f8889b55e460748f769ca7f404b SHA512 b8a2f842f0076bdf3f30a71983f686b931ac3f7fde73ad83041dae1d33d8bca2c7695b71dcc53ef942fbdee7422e2e4d22994f69b70d54e2b4d62bc1c64395c9
+DIST iTeML-2.6.tar.gz 34822 BLAKE2B feb7a1d7973f1710b245cb5d859d443b4c30a6128137523659768864cdd23eb18606a2b6d418d9fb37784bf2fe53fc45a4558e1565186e2402574df560a4afc5 SHA512 6c42856d8a8d6b9e76002fe94e4be0db2a108c4a033fd3d19849772a6c1db9b792beb960b0ac02973d40dc9dda4c4cf5ba13ae9f05534798cc3ccc283f8d3567
+DIST iTeML-2.7.tar.gz 34866 BLAKE2B c3d2df6901ca1c5a804b8e5becf2960f6de10a0edc88fab86fadd39ec25d35143d5ccb3765a1bb5e4d55f28d1dc8942085b964b343dc1f8622ea4438b842e9a6 SHA512 477b55332ab4f733bb225fb15741e5129314fc857900715851027b132fd87f169f8d402987762bd9a07e0a644b1d2bbd49e2f21de7cc23edbe89ff8b3f2bda65
diff --git a/dev-ml/iTeML/iTeML-2.5.ebuild b/dev-ml/iTeML/iTeML-2.5.ebuild
new file mode 100644
index 000000000000..7047a3ea4d8d
--- /dev/null
+++ b/dev-ml/iTeML/iTeML-2.5.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit findlib
+
+DESCRIPTION="Inline (Unit) Tests for OCaml"
+HOMEPAGE="https://github.com/vincent-hugot/iTeML"
+SRC_URI="https://github.com/vincent-hugot/iTeML/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND="dev-ml/ounit:=
+ dev-lang/ocaml:=[ocamlopt]
+ >=dev-ml/qcheck-0.5:=
+"
+DEPEND="${RDEPEND}
+ dev-ml/ocamlbuild
+"
+
+src_install() {
+ findlib_src_preinst
+ dodir /usr/bin
+ emake BIN="${ED}/usr/bin/" install
+ dodoc README.adoc HOWTO.adoc
+}
diff --git a/dev-ml/iTeML/iTeML-2.6.ebuild b/dev-ml/iTeML/iTeML-2.6.ebuild
new file mode 100644
index 000000000000..7047a3ea4d8d
--- /dev/null
+++ b/dev-ml/iTeML/iTeML-2.6.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit findlib
+
+DESCRIPTION="Inline (Unit) Tests for OCaml"
+HOMEPAGE="https://github.com/vincent-hugot/iTeML"
+SRC_URI="https://github.com/vincent-hugot/iTeML/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND="dev-ml/ounit:=
+ dev-lang/ocaml:=[ocamlopt]
+ >=dev-ml/qcheck-0.5:=
+"
+DEPEND="${RDEPEND}
+ dev-ml/ocamlbuild
+"
+
+src_install() {
+ findlib_src_preinst
+ dodir /usr/bin
+ emake BIN="${ED}/usr/bin/" install
+ dodoc README.adoc HOWTO.adoc
+}
diff --git a/dev-ml/iTeML/iTeML-2.7.ebuild b/dev-ml/iTeML/iTeML-2.7.ebuild
new file mode 100644
index 000000000000..7047a3ea4d8d
--- /dev/null
+++ b/dev-ml/iTeML/iTeML-2.7.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit findlib
+
+DESCRIPTION="Inline (Unit) Tests for OCaml"
+HOMEPAGE="https://github.com/vincent-hugot/iTeML"
+SRC_URI="https://github.com/vincent-hugot/iTeML/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND="dev-ml/ounit:=
+ dev-lang/ocaml:=[ocamlopt]
+ >=dev-ml/qcheck-0.5:=
+"
+DEPEND="${RDEPEND}
+ dev-ml/ocamlbuild
+"
+
+src_install() {
+ findlib_src_preinst
+ dodir /usr/bin
+ emake BIN="${ED}/usr/bin/" install
+ dodoc README.adoc HOWTO.adoc
+}
diff --git a/dev-ml/iTeML/metadata.xml b/dev-ml/iTeML/metadata.xml
new file mode 100644
index 000000000000..6cb3ea04d087
--- /dev/null
+++ b/dev-ml/iTeML/metadata.xml
@@ -0,0 +1,9 @@
+<?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">vincent-hugot/iTeML</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/integers/Manifest b/dev-ml/integers/Manifest
new file mode 100644
index 000000000000..65fc1855d930
--- /dev/null
+++ b/dev-ml/integers/Manifest
@@ -0,0 +1 @@
+DIST integers-0.2.2.tbz 9155 BLAKE2B 7dcbf0a10cdd2f65683c590dcc18ab7a67540eb39b78500506b303afaf881d6322ac8014dff9a772d7b43cb9b4765dbf85cdb2d31a3a5a78cf5a8e674f18dfea SHA512 957ec87f385916a847eeccef1142d706cf2bf9024a4f0b97120f73a2eda4c049261078bc27227db14bfed53bf014da14a93ef75b515a851af72088bd8b04081a
diff --git a/dev-ml/integers/integers-0.2.2.ebuild b/dev-ml/integers/integers-0.2.2.ebuild
new file mode 100644
index 000000000000..4c4999134304
--- /dev/null
+++ b/dev-ml/integers/integers-0.2.2.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+DESCRIPTION="Various signed and unsigned integer types for OCaml"
+HOMEPAGE="https://github.com/ocamllabs/ocaml-integers"
+SRC_URI="https://github.com/ocamllabs/ocaml-integers/releases/download/v${PV}/${P}.tbz"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE=""
+
+RDEPEND="dev-lang/ocaml:="
+DEPEND="${RDEPEND}
+ dev-ml/ocamlbuild
+ dev-ml/opam
+ dev-ml/topkg
+ dev-ml/findlib"
+
+src_compile() {
+ ocaml pkg/pkg.ml build || die
+}
+
+src_install() {
+ opam-installer -i \
+ --prefix="${ED}/usr" \
+ --libdir="${D}/$(ocamlc -where)" \
+ --docdir="${ED}/usr/share/doc/${PF}" \
+ ${PN}.install || die
+}
diff --git a/dev-ml/integers/metadata.xml b/dev-ml/integers/metadata.xml
new file mode 100644
index 000000000000..7277bd94c43c
--- /dev/null
+++ b/dev-ml/integers/metadata.xml
@@ -0,0 +1,9 @@
+<?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-integers</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/jane-street-headers/Manifest b/dev-ml/jane-street-headers/Manifest
new file mode 100644
index 000000000000..dd32a3bfc906
--- /dev/null
+++ b/dev-ml/jane-street-headers/Manifest
@@ -0,0 +1 @@
+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.9.0.ebuild b/dev-ml/jane-street-headers/jane-street-headers-0.9.0.ebuild
new file mode 100644
index 000000000000..66f7cb6cec81
--- /dev/null
+++ b/dev-ml/jane-street-headers/jane-street-headers-0.9.0.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+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"
+IUSE=""
+
+DEPEND="
+ dev-lang/ocaml:=
+ "
+RDEPEND="${DEPEND}"
+DEPEND="${DEPEND} dev-ml/opam dev-ml/jbuilder"
+
+src_install() {
+ opam-installer -i \
+ --prefix="${ED}/usr" \
+ --libdir="${D}/$(ocamlc -where)" \
+ --docdir="${ED}/usr/share/doc/${PF}" \
+ ${PN}.install || die
+}
diff --git a/dev-ml/jane-street-headers/metadata.xml b/dev-ml/jane-street-headers/metadata.xml
new file mode 100644
index 000000000000..62438dec56f7
--- /dev/null
+++ b/dev-ml/jane-street-headers/metadata.xml
@@ -0,0 +1,9 @@
+<?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">janestreet/jane-street-headers</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/jbuilder/Manifest b/dev-ml/jbuilder/Manifest
new file mode 100644
index 000000000000..d0867e24fc34
--- /dev/null
+++ b/dev-ml/jbuilder/Manifest
@@ -0,0 +1 @@
+DIST jbuilder-1.0-beta14.tar.gz 268571 BLAKE2B 509fded43004426fa0bc0d692c50ef2fcc97dc3aa22010bf306f993a3964110cc3f5b3b0ae33a0ea64d00500d70e846450f73142edfef74af75931b99977e9fd SHA512 0258067b0b48dbd22c0d25b65fcb1fe9a7e65f9389031f954fab7cccf4e0791fe2242f85d441f23e284d13a0b1a3f4485546f94008211adef7b58fd14c4091d3
diff --git a/dev-ml/jbuilder/jbuilder-1.0_beta14.ebuild b/dev-ml/jbuilder/jbuilder-1.0_beta14.ebuild
new file mode 100644
index 000000000000..895e7108354d
--- /dev/null
+++ b/dev-ml/jbuilder/jbuilder-1.0_beta14.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit opam
+
+MY_PV="${PV/_/+}"
+MY_P="${PN}-${PV/_/-}"
+
+DESCRIPTION="A composable build system for OCaml"
+HOMEPAGE="https://github.com/janestreet/jbuilder"
+SRC_URI="https://github.com/janestreet/jbuilder/archive/${MY_PV}.tar.gz -> ${MY_P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+DEPEND="${DEPEND}
+ test? ( dev-ml/menhir )
+"
+OPAMSWITCH="system"
+
+S="${WORKDIR}/${MY_P}"
+OPAMROOT="${D}"
+
+src_prepare() {
+ # Disable Werror like behavior, doesnt build with ocaml 4.05 otherwise
+ sed -i -e 's/--dev//' Makefile || die
+}
diff --git a/dev-ml/jbuilder/metadata.xml b/dev-ml/jbuilder/metadata.xml
new file mode 100644
index 000000000000..9a76aec2987b
--- /dev/null
+++ b/dev-ml/jbuilder/metadata.xml
@@ -0,0 +1,9 @@
+<?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">janestreet/jbuilder</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/js_of_ocaml/Manifest b/dev-ml/js_of_ocaml/Manifest
new file mode 100644
index 000000000000..175cbf5c7101
--- /dev/null
+++ b/dev-ml/js_of_ocaml/Manifest
@@ -0,0 +1,2 @@
+DIST js_of_ocaml-2.8.4.tar.gz 1344082 BLAKE2B f7f24e422a906d14ccf26b65de00c4d08726058cb14113c60527e337a14b6e2e65fc6dcda76dcffe3139c5fc7b5b2c1111ecb3ceaf820697581fed7cd35d097d SHA512 8dc65bac7d60f2d3534e31e0fddb061f1b97bfd8146b1a34b4a1a516574c6a39f66d115646aa9767b7e24a51ec76949b05841088601f97d76972c8899a50c4fd
+DIST js_of_ocaml-3.0.0.tar.gz 1433377 BLAKE2B c4d696adc90c8caacf725f7b691b9f57199385f6137356da8562d63b95c5089317064e36d343f524713df600e07f04d8b530b591cb5532f0dffa4ae143dd8f4b SHA512 dc4bbbfdacb43338aa7f97b7012b6de8a2eac5d7c5f535ceb9565c477c961a212ce5b2a75b1719fcd9f2d57938ee2162f6f04d3364397a469d7a13d1fe4e3908
diff --git a/dev-ml/js_of_ocaml/files/ocaml405.patch b/dev-ml/js_of_ocaml/files/ocaml405.patch
new file mode 100644
index 000000000000..552dff425c46
--- /dev/null
+++ b/dev-ml/js_of_ocaml/files/ocaml405.patch
@@ -0,0 +1,41 @@
+Index: js_of_ocaml-2.8.4/lib/ppx/ppx_js.ml
+===================================================================
+--- js_of_ocaml-2.8.4.orig/lib/ppx/ppx_js.ml
++++ js_of_ocaml-2.8.4/lib/ppx/ppx_js.ml
+@@ -162,7 +162,8 @@ let invoker ?(extra_types = []) uplift d
+ {[ fun (type res t0 t1 ..) arg1 arg2 -> e ]}
+ *)
+ let local_types =
+- res :: List.map Arg.name (extra_types @ arguments)
++ List.map Location.mknoloc
++ (res :: List.map Arg.name (extra_types @ arguments))
+ in
+ let result = List.fold_right Exp.newtype local_types invoker in
+
+@@ -210,7 +211,7 @@ let method_call ~loc obj meth args =
+ (Exp.fun_ ~loc ~attrs:[merlin_noloc] Label.nolabel None
+ (Pat.var ~loc ~attrs:[merlin_noloc] (Location.mknoloc "x"))
+ (Exp.send ~loc ~attrs:[merlin_noloc]
+- (Exp.ident ~loc:gloc (lid ~loc:gloc "x")) meth))]
++ (Exp.ident ~loc:gloc (lid ~loc:gloc "x")) (Location.mknoloc meth)))]
+ )
+
+ (* {[ obj##.prop ]} generates
+@@ -244,7 +245,7 @@ let prop_get ~loc:_ ~prop_loc obj prop =
+ (Exp.fun_ ~loc:gloc Label.nolabel None
+ (Pat.var ~loc:gloc ~attrs:[merlin_noloc] (Location.mknoloc "x"))
+ (Exp.send ~loc:prop_loc ~attrs:[merlin_noloc]
+- (Exp.ident ~loc:gloc (lid ~loc:gloc "x")) prop))
++ (Exp.ident ~loc:gloc (lid ~loc:gloc "x")) (Location.mknoloc prop)))
+ ]
+ )
+
+@@ -289,7 +290,7 @@ let prop_set ~loc ~prop_loc obj prop val
+ (Exp.fun_ ~loc Label.nolabel None
+ (Pat.var ~loc:gloc ~attrs:[merlin_noloc] (Location.mknoloc "x"))
+ (Exp.send ~loc:prop_loc ~attrs:[merlin_noloc]
+- (Exp.ident ~loc:gloc (lid ~loc:gloc "x")) prop))
++ (Exp.ident ~loc:gloc (lid ~loc:gloc "x")) (Location.mknoloc prop)))
+ ]
+ )
+
diff --git a/dev-ml/js_of_ocaml/files/ppx.patch b/dev-ml/js_of_ocaml/files/ppx.patch
new file mode 100644
index 000000000000..c46293f546da
--- /dev/null
+++ b/dev-ml/js_of_ocaml/files/ppx.patch
@@ -0,0 +1,11 @@
+Index: js_of_ocaml-2.8.4/lib/ppx_driver/ppx_js_driver.ml
+===================================================================
+--- js_of_ocaml-2.8.4.orig/lib/ppx_driver/ppx_js_driver.ml
++++ js_of_ocaml-2.8.4/lib/ppx_driver/ppx_js_driver.ml
+@@ -1,5 +1,5 @@
+ let () =
+ let js_mapper = Ppx_js.js_mapper [] in
+- Ppx_driver.register_transformation "js_of_ocaml"
++ Ppx_driver.register_transformation_using_ocaml_current_ast "js_of_ocaml"
+ ~impl:(js_mapper.Ast_mapper.structure js_mapper)
+ ~intf:(js_mapper.Ast_mapper.signature js_mapper)
diff --git a/dev-ml/js_of_ocaml/js_of_ocaml-2.8.4-r2.ebuild b/dev-ml/js_of_ocaml/js_of_ocaml-2.8.4-r2.ebuild
new file mode 100644
index 000000000000..c598fe1bdb41
--- /dev/null
+++ b/dev-ml/js_of_ocaml/js_of_ocaml-2.8.4-r2.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit findlib eutils
+
+DESCRIPTION="A compiler from OCaml bytecode to javascript"
+HOMEPAGE="http://ocsigen.org/js_of_ocaml/"
+
+if [ "${PV#9999}" != "${PV}" ] ; then
+ inherit git-r3
+ SRC_URI=""
+ EGIT_REPO_URI="https://github.com/ocsigen/js_of_ocaml"
+ KEYWORDS=""
+else
+ SRC_URI="https://github.com/ocsigen/js_of_ocaml/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="LGPL-2.1-with-linking-exception"
+SLOT="0/${PV}"
+IUSE="+ocamlopt doc +deriving +ppx +react +xml X"
+
+RDEPEND="
+ >=dev-lang/ocaml-3.12:=[ocamlopt?,X(+)?]
+ >=dev-ml/lwt-2.4.4:=[camlp4(+)]
+ react? ( dev-ml/react:= dev-ml/reactiveData:= )
+ xml? ( >=dev-ml/tyxml-4:= )
+ ppx? ( dev-ml/ppx_tools:= dev-ml/ppx_deriving:= dev-ml/ppx_driver:= )
+ dev-ml/cmdliner:=
+ dev-ml/menhir:=
+ dev-ml/ocaml-base64:=
+ dev-ml/camlp4:=
+ dev-ml/cppo:=
+ dev-ml/uchar:=
+ dev-ml/ocamlbuild:=
+ dev-ml/yojson:=
+ dev-ml/ocaml-migrate-parsetree:=
+ deriving? ( >=dev-ml/deriving-0.6:= )"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ epatch "${FILESDIR}/ppx.patch"
+ has_version '>=dev-lang/ocaml-4.05_rc' && epatch "${FILESDIR}/ocaml405.patch"
+}
+
+src_configure() {
+ printf "\n\n" >> Makefile.conf
+ use ocamlopt || echo "BEST := byte" >> Makefile.conf
+ use ocamlopt || echo "NATDYNLINK := NO" >> Makefile.conf
+ use deriving || echo "WITH_DERIVING := NO" >> Makefile.conf
+ use X || echo "WITH_GRAPHICS := NO" >> Makefile.conf
+ use react || echo "WITH_REACT := NO" >> Makefile.conf
+ use ppx || echo "WITH_PPX := NO" >> Makefile.conf
+ use ppx || echo "WITH_PPX_DERIVING := NO" >> Makefile.conf
+ use ppx || echo "WITH_PPX_DRIVER := NO" >> Makefile.conf
+ echo "WITH_ASYNC := NO" >> Makefile.conf
+}
+
+src_compile() {
+ emake -j1
+ use doc && emake doc
+}
+
+src_install() {
+ findlib_src_preinst
+ emake BINDIR="${ED}/usr/bin/" install
+ dodoc CHANGES README.md
+ use doc && dohtml -r doc/api/html/
+}
diff --git a/dev-ml/js_of_ocaml/js_of_ocaml-3.0.0.ebuild b/dev-ml/js_of_ocaml/js_of_ocaml-3.0.0.ebuild
new file mode 100644
index 000000000000..af4b80e9a5d9
--- /dev/null
+++ b/dev-ml/js_of_ocaml/js_of_ocaml-3.0.0.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit findlib eutils
+
+DESCRIPTION="A compiler from OCaml bytecode to javascript"
+HOMEPAGE="http://ocsigen.org/js_of_ocaml/"
+
+if [ "${PV#9999}" != "${PV}" ] ; then
+ inherit git-r3
+ SRC_URI=""
+ EGIT_REPO_URI="https://github.com/ocsigen/js_of_ocaml"
+ KEYWORDS=""
+else
+ SRC_URI="https://github.com/ocsigen/js_of_ocaml/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ # Breaks dev-ml/eliom dev-ml/async_js dev-ml/ocsigen-toolkit
+ KEYWORDS=""
+ #KEYWORDS="~amd64"
+fi
+
+LICENSE="LGPL-2.1-with-linking-exception"
+SLOT="0/${PV}"
+IUSE="+ocamlopt +camlp4 +lwt doc +deriving +ppx +xml test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-lang/ocaml-3.12:=[ocamlopt?]
+
+ camlp4? ( dev-ml/camlp4:= )
+
+ dev-ml/cmdliner:=
+ dev-ml/cppo:=
+
+ lwt? ( >=dev-ml/lwt-2.4.4:= )
+
+ dev-ml/ocamlbuild:=
+
+ dev-ml/ocaml-migrate-parsetree:=
+ dev-ml/ppx_tools_versioned:=
+ dev-ml/uchar:=
+
+ ppx? ( dev-ml/ppx_tools:= dev-ml/ppx_deriving:= )
+
+ xml? ( >=dev-ml/tyxml-4:= dev-ml/reactiveData:= )
+"
+DEPEND="${RDEPEND}
+ dev-ml/jbuilder
+ dev-ml/opam
+ test? ( dev-util/patdiff )
+"
+REQUIRED_USE="xml? ( ppx )"
+
+src_compile() {
+ emake
+ use doc && emake doc
+}
+
+oinstall() {
+ opam-installer -i \
+ --prefix="${ED}/usr" \
+ --libdir="${D}/$(ocamlc -where)" \
+ --docdir="${ED}/usr/share/doc/${PF}" \
+ --mandir="${ED}/usr/share/man" \
+ ${1}.install || die
+}
+
+src_install() {
+ use camlp4 && oinstall js_of_ocaml-camlp4
+ oinstall js_of_ocaml-compiler
+ use lwt && oinstall js_of_ocaml-lwt
+ oinstall js_of_ocaml-ocamlbuild
+ oinstall js_of_ocaml
+ use ppx && oinstall js_of_ocaml-ppx
+ use ppx && oinstall js_of_ocaml-toplevel
+ use xml && oinstall js_of_ocaml-tyxml
+}
diff --git a/dev-ml/js_of_ocaml/js_of_ocaml-9999.ebuild b/dev-ml/js_of_ocaml/js_of_ocaml-9999.ebuild
new file mode 100644
index 000000000000..827937bd0f40
--- /dev/null
+++ b/dev-ml/js_of_ocaml/js_of_ocaml-9999.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit findlib eutils
+
+DESCRIPTION="A compiler from OCaml bytecode to javascript"
+HOMEPAGE="http://ocsigen.org/js_of_ocaml/"
+
+if [ "${PV#9999}" != "${PV}" ] ; then
+ inherit git-r3
+ SRC_URI=""
+ EGIT_REPO_URI="https://github.com/ocsigen/js_of_ocaml"
+ KEYWORDS=""
+else
+ SRC_URI="https://github.com/ocsigen/js_of_ocaml/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="LGPL-2.1-with-linking-exception"
+SLOT="0/${PV}"
+IUSE="+ocamlopt +camlp4 +lwt doc +deriving +ppx +xml test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-lang/ocaml-3.12:=[ocamlopt?]
+
+ camlp4? ( dev-ml/camlp4:= )
+
+ dev-ml/cmdliner:=
+ dev-ml/cppo:=
+
+ lwt? ( >=dev-ml/lwt-2.4.4:= )
+
+ dev-ml/ocamlbuild:=
+
+ dev-ml/ocaml-migrate-parsetree:=
+ dev-ml/ppx_tools_versioned:=
+ dev-ml/uchar:=
+
+ ppx? ( dev-ml/ppx_tools:= dev-ml/ppx_deriving:= )
+
+ xml? ( >=dev-ml/tyxml-4:= dev-ml/reactiveData:= )
+"
+DEPEND="${RDEPEND}
+ dev-ml/jbuilder
+ dev-ml/opam
+ test? ( dev-util/patdiff )
+"
+REQUIRED_USE="xml? ( ppx )"
+
+src_compile() {
+ emake
+ use doc && emake doc
+}
+
+oinstall() {
+ opam-installer -i \
+ --prefix="${ED}/usr" \
+ --libdir="${D}/$(ocamlc -where)" \
+ --docdir="${ED}/usr/share/doc/${PF}" \
+ --mandir="${ED}/usr/share/man" \
+ ${1}.install || die
+}
+
+src_install() {
+ use camlp4 && oinstall js_of_ocaml-camlp4
+ oinstall js_of_ocaml-compiler
+ use lwt && oinstall js_of_ocaml-lwt
+ oinstall js_of_ocaml-ocamlbuild
+ oinstall js_of_ocaml
+ use ppx && oinstall js_of_ocaml-ppx
+ use ppx && oinstall js_of_ocaml-toplevel
+ use xml && oinstall js_of_ocaml-tyxml
+}
diff --git a/dev-ml/js_of_ocaml/metadata.xml b/dev-ml/js_of_ocaml/metadata.xml
new file mode 100644
index 000000000000..6390586a3a1d
--- /dev/null
+++ b/dev-ml/js_of_ocaml/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <use>
+ <flag name="camlp4">Build with camlp4 syntax extensions.</flag>
+ <flag name="deriving">Enable <pkg>dev-ml/deriving</pkg> support for improving the type safety.</flag>
+ <flag name="lwt">Enable <pkg>dev-ml/lwt</pkg> support.</flag>
+ <flag name="ppx">Enables the ppx syntax extension</flag>
+ <flag name="react">Enable functionnal reactive programming support.</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">ocsigen/js_of_ocaml</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/jsonm/Manifest b/dev-ml/jsonm/Manifest
new file mode 100644
index 000000000000..edc987b4d3cd
--- /dev/null
+++ b/dev-ml/jsonm/Manifest
@@ -0,0 +1 @@
+DIST jsonm-1.0.1.tbz 21608 BLAKE2B 4d3ce2a3430176df0876aeb6276a48bf23e51ebee2a1a46e5b25a370b26ba27c9ba09ff01365396123de4851d8f263c4c86c3176b13118910fd458ad3b23d80b SHA512 e86e225073b429f71063af14ad39b87498609db6a122b39e1a739c5b77fcde487bf6b17235b2f9742b7d22aca0f6d475fdba1b0bab2a6329cf7e681fe43d31a6
diff --git a/dev-ml/jsonm/jsonm-1.0.1.ebuild b/dev-ml/jsonm/jsonm-1.0.1.ebuild
new file mode 100644
index 000000000000..a51e2c2f0762
--- /dev/null
+++ b/dev-ml/jsonm/jsonm-1.0.1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit findlib
+
+DESCRIPTION="Non-blocking streaming JSON codec for OCaml"
+HOMEPAGE="https://erratique.ch/software/jsonm"
+SRC_URI="https://erratique.ch/software/jsonm/releases/${P}.tbz"
+
+LICENSE="ISC"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86"
+IUSE=""
+
+RDEPEND=">=dev-ml/uutf-1.0.0:=
+ dev-lang/ocaml:=
+ dev-ml/uchar:="
+DEPEND="${RDEPEND}
+ dev-ml/topkg
+ dev-ml/ocamlbuild
+ dev-ml/findlib"
+
+DOCS=( CHANGES README )
+
+src_compile() {
+ ocaml pkg/pkg.ml build || 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
+ newbin _build/test/jsontrip.native jsontrip
+ dodoc CHANGES.md TODO.md README.md
+}
diff --git a/dev-ml/jsonm/metadata.xml b/dev-ml/jsonm/metadata.xml
new file mode 100644
index 000000000000..d85b4252fc33
--- /dev/null
+++ b/dev-ml/jsonm/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<!-- maintainer-needed -->
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/lablgl/Manifest b/dev-ml/lablgl/Manifest
new file mode 100644
index 000000000000..4f9c842e5906
--- /dev/null
+++ b/dev-ml/lablgl/Manifest
@@ -0,0 +1 @@
+DIST lablgl-1.05.tar.gz 296597 BLAKE2B 01fff39607f0b4e965737c6fec53cbd3b154bb2df3528fd37626ac87c6cb46a29f97881a242206310b1bd576fb9dfc72ede1eb24cf287ddfc55194b8d55eb83d SHA512 e8bf7d993610912d50ec3a6c18a24d2ff7d0727a41fe102e745050bb83ee02a9995e8b1b8c7dbd94f6b2a8363145f22e9772e36253dced762a63ec3c6c54379d
diff --git a/dev-ml/lablgl/lablgl-1.05-r1.ebuild b/dev-ml/lablgl/lablgl-1.05-r1.ebuild
new file mode 100644
index 000000000000..f2de956777af
--- /dev/null
+++ b/dev-ml/lablgl/lablgl-1.05-r1.ebuild
@@ -0,0 +1,94 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit multilib eutils toolchain-funcs
+
+IUSE="doc glut +ocamlopt tk"
+
+DESCRIPTION="Objective CAML interface for OpenGL"
+HOMEPAGE="http://wwwfun.kurims.kyoto-u.ac.jp/soft/olabl/lablgl.html"
+LICENSE="BSD"
+
+RDEPEND="
+ >=dev-lang/ocaml-3.10.2:=[ocamlopt?]
+ x11-libs/libXext
+ x11-libs/libXmu
+ x11-libs/libX11
+ virtual/opengl
+ virtual/glu
+ dev-ml/camlp4:=
+ glut? ( media-libs/freeglut )
+ tk? (
+ >=dev-lang/tcl-8.3:0=
+ >=dev-lang/tk-8.3:0=
+ dev-ml/labltk:=
+ )
+ "
+
+DEPEND="${RDEPEND}"
+
+SRC_URI="http://wwwfun.kurims.kyoto-u.ac.jp/soft/olabl/dist/${P}.tar.gz"
+SLOT="0/${PV}"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux"
+
+src_configure() {
+ # make configuration file
+ echo "BINDIR=/usr/bin" > Makefile.config
+ echo "GLLIBS = -lGL -lGLU" >> Makefile.config
+ if use glut; then
+ echo "GLUTLIBS = -lglut" >> Makefile.config
+ else
+ echo "GLUTLIBS = " >> Makefile.config
+ fi
+ echo "XLIBS = -lXext -lXmu -lX11" >> Makefile.config
+ echo "RANLIB = $(tc-getRANLIB)" >> Makefile.config
+ echo 'COPTS = -c -O $(CFLAGS)' >> Makefile.config
+ echo 'INCLUDES = $(TKINCLUDES) $(GLINCLUDES) $(XINCLUDES)' >> Makefile.config
+}
+
+src_compile() {
+ if use tk; then
+ emake togl
+ if use ocamlopt; then
+ emake toglopt
+ fi
+ fi
+
+ emake lib
+ if use ocamlopt; then
+ emake libopt
+ fi
+
+ if use glut; then
+ emake glut
+ if use ocamlopt; then
+ emake glutopt
+ fi
+ fi
+}
+
+src_install() {
+ # Makefile do not use mkdir so the library is not installed
+ # but copied as a 'stublibs' file.
+ dodir /usr/$(get_libdir)/ocaml/stublibs
+
+ # Same for lablglut's toplevel
+ dodir /usr/bin
+
+ BINDIR=${ED}/usr/bin
+ BASE=${ED}/usr/$(get_libdir)/ocaml
+ emake BINDIR="${BINDIR}" INSTALLDIR="${BASE}/lablGL" DLLDIR="${BASE}/stublibs" install
+
+ dodoc README CHANGES
+
+ if use doc ; then
+ insinto /usr/share/doc/${PF}
+ mv Togl/examples{,.togl}
+ doins -r Togl/examples.togl
+
+ mv LablGlut/examples{,.glut}
+ doins -r LablGlut/examples.glut
+ fi
+}
diff --git a/dev-ml/lablgl/metadata.xml b/dev-ml/lablgl/metadata.xml
new file mode 100644
index 000000000000..c99320e026bb
--- /dev/null
+++ b/dev-ml/lablgl/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/lablgtk/Manifest b/dev-ml/lablgtk/Manifest
new file mode 100644
index 000000000000..614b3963cf3b
--- /dev/null
+++ b/dev-ml/lablgtk/Manifest
@@ -0,0 +1,3 @@
+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
diff --git a/dev-ml/lablgtk/files/lablgtk-2.18.10-cflags.patch b/dev-ml/lablgtk/files/lablgtk-2.18.10-cflags.patch
new file mode 100644
index 000000000000..9cbc94a8a036
--- /dev/null
+++ b/dev-ml/lablgtk/files/lablgtk-2.18.10-cflags.patch
@@ -0,0 +1,97 @@
+--- a/src/Makefile 2020-05-14 22:01:09.565870733 +0200
++++ b/src/Makefile 2020-05-14 22:06:49.081621996 +0200
+@@ -18,6 +18,7 @@
+
+ include $(CONFIG)
+ #GTKCFLAGS += -Werror -Wno-error=deprecated-declarations
++CFLAGS=
+
+ TARGETS = varcc$(XE) lablgtktop$(XE) lablgtk2$(XB) gdk_pixbuf_mlsource$(XE) \
+ $(THINITOBJS) build.ml
+@@ -45,14 +46,13 @@
+
+ ifdef DEBUG
+ COMPILER += -warn-error A-52
+-CFLAGS = -g $(GTKCFLAGS)
++OCAMLCFLAGS = $(GTKCFLAGS)
+ CUSTOM = -custom
+ #MLLINK += -cclib -lcamlrund
+ MLBYTEFLAGS = -g -dtypes
+ else
+-CFLAGS = -DG_DISABLE_ASSERT -DG_DISABLE_CAST_CHECKS $(GTKCFLAGS)
++OCAMLCFLAGS = -DG_DISABLE_ASSERT -DG_DISABLE_CAST_CHECKS $(GTKCFLAGS)
+ ifneq ($(TOOLCHAIN),msvc)
+-CFLAGS += -O
+ endif
+ endif
+
+@@ -65,9 +65,9 @@
+ THLINK = unix.cma threads.cma
+
+ ifdef USE_CC
+-CCOMPILER = $(CC) -c -I"$(LIBDIR)" $(CFLAGS)
++CCOMPILER = $(CC) -c -I"$(LIBDIR)" $(OCAMLCFLAGS) $(CFLAGS)
+ else
+-CCOMPILER = $(CAMLC) -c -ccopt '$(CFLAGS)' -verbose
++CCOMPILER = $(CAMLC) -c -ccopt '$(OCAMLCFLAGS) $(CFLAGS)' -verbose
+ endif
+
+ ifdef USE_GL
+@@ -123,7 +123,7 @@
+ CLIBS += liblablrsvg$(XA)
+ RSVGMLOBJS = rsvg.cmo
+ RSVGCOBJS = ml_rsvg$(XO)
+-$(RSVGCOBJS) : CFLAGS+=$(HAVE_SVGZ)
++$(RSVGCOBJS) : OCAMLCFLAGS+=$(HAVE_SVGZ)
+ endif
+
+ ifdef USE_GTKSPELL
+@@ -140,7 +140,7 @@
+ opt:: lablgtksourceview.cmxs
+ endif
+
+-ml_gtksourceview.o: CFLAGS=$(GTKSOURCEVIEWCFLAGS)
++ml_gtksourceview.o: OCAMLCFLAGS=$(GTKSOURCEVIEWCFLAGS)
+ GTKSOURCEVIEWMLOBJS = gtkSourceView.cmo gSourceView.cmo
+ GTKSOURCEVIEWCOBJS = ml_gtksourceview$(XO)
+ ml_gtksourceview.c: pango_tags.h
+@@ -179,7 +179,7 @@
+ endif
+
+ ifdef USE_GTKQUARTZ
+-CFLAGS += -DHAS_GTKQUARTZ
++OCAMLCFLAGS += -DHAS_GTKQUARTZ
+ endif
+ # Rules
+ .SUFFIXES: .ml .mli .cmo .cmi .cmx .cmxs .cmxa .c $(XO) .d$(XO) .var .h .opt .def .ml4
+@@ -188,7 +188,7 @@
+ .cpp$(XO):
+ $(CCOMPILER) $<
+ .c.d$(XO):
+- $(CAMLC) -c -ccopt '-MT -DCAML_DLL -Fo$@ $(CFLAGS)' $<
++ $(CAMLC) -c -ccopt '-MT -DCAML_DLL -Fo$@ $(OCAMLCFLAGS) $(CFLAGS)' $<
+ .ml.cmo:
+ $(COMPILER) $(PRINCIPAL) $<
+ .mli.cmi:
+--- a/src/ml_gdk.h 2020-05-14 22:19:59.045394874 +0200
++++ b/src/ml_gdk.h 2020-05-14 22:20:06.694277819 +0200
+@@ -102,7 +102,7 @@
+ CAMLexport int OptFlags_GdkModifier_val (value);
+ CAMLexport int Flags_GdkModifier_val (value);
+ CAMLexport int Flags_Event_mask_val (value);
+-CAMLexport lookup_info *ml_table_extension_events;
++extern lookup_info *ml_table_extension_events;
+ #define Extension_events_val(key) ml_lookup_to_c(ml_table_extension_events,key)
+
+ #define GdkDragContext_val(val) check_cast(GDK_DRAG_CONTEXT,val)
+--- a/src/ml_gdk.c 2020-05-14 22:21:39.244861128 +0200
++++ b/src/ml_gdk.c 2020-05-14 22:21:57.571580518 +0200
+@@ -55,6 +55,8 @@
+ #define GDK_WINDOW_TYPE_HINT_DOCK GDK_WINDOW_TYPE_HINT_NORMAL
+ #endif
+
++lookup_info *ml_table_extension_events;
++
+ CAMLprim void ml_raise_gdk (const char *errmsg)
+ {
+ static const value * exn = NULL;
diff --git a/dev-ml/lablgtk/lablgtk-2.18.10.ebuild b/dev-ml/lablgtk/lablgtk-2.18.10.ebuild
new file mode 100644
index 000000000000..4fcf676df352
--- /dev/null
+++ b/dev-ml/lablgtk/lablgtk-2.18.10.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="Objective CAML interface for Gtk+2"
+HOMEPAGE="http://lablgtk.forge.ocamlcore.org"
+SRC_URI="https://github.com/garrigue/lablgtk/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1-with-linking-exception examples? ( lablgtk-examples )"
+SLOT="2/${PV}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc x86 ~amd64-linux ~x86-linux"
+IUSE="debug examples glade gnomecanvas +ocamlopt sourceview spell svg"
+
+DEPEND=">=dev-lang/ocaml-4.05:=[ocamlopt?]
+ dev-ml/camlp4:=
+ x11-libs/gtk+:2
+ glade? ( gnome-base/libglade )
+ gnomecanvas? ( gnome-base/libgnomecanvas )
+ sourceview? ( x11-libs/gtksourceview:2.0 )
+ spell? ( app-text/gtkspell:2 )
+ svg? ( gnome-base/librsvg:2 )"
+RDEPEND="${DEPEND}"
+BDEPEND="dev-ml/findlib
+ virtual/pkgconfig"
+
+DOCS=( CHANGES README CHANGES.API )
+
+PATCHES=(
+ "${FILESDIR}"/${P}-cflags.patch
+)
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable debug)
+ $(use_with svg rsvg)
+ $(use_with glade)
+ --without-gnomeui
+ --without-panel
+ # relies on EOL gtkglarea
+ --without-gl
+ $(use_with spell gtkspell)
+ --without-gtksourceview
+ $(use_with sourceview gtksourceview2)
+ $(use_with gnomecanvas)
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ # parallel build crashes
+ emake -j1 all CFLAGS="${CFLAGS}"
+ if use ocamlopt; then
+ emake -j1 opt CFLAGS="${CFLAGS}"
+ fi
+}
+
+src_install() {
+ local destdir="$(ocamlfind printconf destdir || die)"
+ dodir "${destdir}/stublibs"
+ export OCAMLFIND_DESTDIR=${ED}"${destdir}"
+ export OCAMLPATH="${ED}${destdir}"
+ export OCAMLFIND_LDCONF=ignore
+
+ default
+ rm "${ED}/usr/$(get_libdir)/ocaml/ld.conf" || die
+ dosym lablgtk2/liblablgtk2.a \
+ /usr/$(get_libdir)/ocaml/liblablgtk2.a
+ dosym lablgtk2/liblablgtksourceview2.a \
+ /usr/$(get_libdir)/ocaml/liblablgtksourceview2.a
+
+ if use examples; then
+ dodoc -r examples/
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/dev-ml/lablgtk/lablgtk-2.18.5.ebuild b/dev-ml/lablgtk/lablgtk-2.18.5.ebuild
new file mode 100644
index 000000000000..3c185b571431
--- /dev/null
+++ b/dev-ml/lablgtk/lablgtk-2.18.5.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit multilib findlib
+
+IUSE="debug examples glade gnomecanvas sourceview +ocamlopt spell svg"
+
+DESCRIPTION="Objective CAML interface for Gtk+2"
+HOMEPAGE="http://lablgtk.forge.ocamlcore.org/"
+SRC_URI="https://forge.ocamlcore.org/frs/download.php/1627/${P}.tar.gz"
+LICENSE="LGPL-2.1-with-linking-exception examples? ( lablgtk-examples )"
+
+RDEPEND=">=x11-libs/gtk+-2.10:2
+ >=dev-lang/ocaml-3.10:=[ocamlopt?]
+ svg? ( >=gnome-base/librsvg-2.2:2 )
+ glade? ( >=gnome-base/libglade-2.0.1 )
+ gnomecanvas? ( >=gnome-base/libgnomecanvas-2.2 )
+ spell? ( app-text/gtkspell:2 )
+ sourceview? ( x11-libs/gtksourceview:2.0 )
+ dev-ml/camlp4:=
+ "
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+SLOT="2/${PV}"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux"
+
+src_configure() {
+ econf $(use_enable debug) \
+ $(use_with svg rsvg) \
+ $(use_with glade) \
+ --without-gnomeui \
+ --without-panel \
+ --without-gl \
+ $(use_with spell gtkspell) \
+ --without-gtksourceview \
+ $(use_with sourceview gtksourceview2) \
+ $(use_with gnomecanvas)
+}
+
+src_compile() {
+ emake -j1 all
+ if use ocamlopt; then
+ emake -j1 opt
+ fi
+}
+
+install_examples() {
+ insinto /usr/share/doc/${P}/examples
+ doins examples/*.ml examples/*.rgb examples/*.png examples/*.xpm
+
+ # Install examples for optional components
+ use gnomecanvas && insinto /usr/share/doc/${PF}/examples/canvas && doins examples/canvas/*.ml examples/canvas/*.png
+ use svg && insinto /usr/share/doc/${PF}/examples/rsvg && doins examples/rsvg/*.ml examples/rsvg/*.svg
+ use glade && insinto /usr/share/doc/${PF}/examples/glade && doins examples/glade/*.ml examples/glade/*.glade*
+ use sourceview && insinto /usr/share/doc/${PF}/examples/sourceview && doins examples/sourceview/*.ml examples/sourceview/*.lang
+
+ docompress -x /usr/share/doc/${PF}/examples
+}
+
+src_install() {
+ findlib_src_preinst
+ export OCAMLPATH="${OCAMLFIND_DESTDIR}"
+ emake install DESTDIR="${D}"
+
+ rm -f "${ED}/usr/$(get_libdir)/ocaml/ld.conf"
+
+ dodoc CHANGES README CHANGES.API
+ use examples && install_examples
+}
+
+pkg_postinst() {
+ if use examples; then
+ elog "To run the examples you can use the lablgtk2 toplevel."
+ elog "e.g: lablgtk2 /usr/share/doc/${PF}/examples/testgtk.ml"
+ fi
+}
diff --git a/dev-ml/lablgtk/lablgtk-2.18.8-r1.ebuild b/dev-ml/lablgtk/lablgtk-2.18.8-r1.ebuild
new file mode 100644
index 000000000000..92dd9af9dc69
--- /dev/null
+++ b/dev-ml/lablgtk/lablgtk-2.18.8-r1.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="Objective CAML interface for Gtk+2"
+HOMEPAGE="http://lablgtk.forge.ocamlcore.org"
+SRC_URI="https://github.com/garrigue/lablgtk/releases/download/lablgtk2188/${P}.tar.gz"
+
+LICENSE="LGPL-2.1-with-linking-exception examples? ( lablgtk-examples )"
+SLOT="2/${PV}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="debug examples glade gnomecanvas +ocamlopt sourceview spell svg"
+
+DEPEND="dev-lang/ocaml:=[ocamlopt?]
+ dev-ml/camlp4:=
+ x11-libs/gtk+:2
+ glade? ( gnome-base/libglade )
+ gnomecanvas? ( gnome-base/libgnomecanvas )
+ sourceview? ( x11-libs/gtksourceview:2.0 )
+ spell? ( app-text/gtkspell:2 )
+ svg? ( gnome-base/librsvg:2 )"
+RDEPEND="${DEPEND}"
+BDEPEND="dev-ml/findlib
+ virtual/pkgconfig"
+
+DOCS=( CHANGES README CHANGES.API )
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable debug)
+ $(use_with svg rsvg)
+ $(use_with glade)
+ --without-gnomeui
+ --without-panel
+ # relies on EOL gtkglarea
+ --without-gl
+ $(use_with spell gtkspell)
+ --without-gtksourceview
+ $(use_with sourceview gtksourceview2)
+ $(use_with gnomecanvas)
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ # parallel build crashes
+ emake -j1 all
+ if use ocamlopt; then
+ emake -j1 opt
+ fi
+}
+
+src_install() {
+ local destdir="$(ocamlfind printconf destdir || die)"
+ dodir "${destdir}/stublibs"
+ export OCAMLFIND_DESTDIR=${ED}"${destdir}"
+ export OCAMLPATH="${ED}${destdir}"
+ export OCAMLFIND_LDCONF=ignore
+
+ default
+ rm "${ED}/usr/$(get_libdir)/ocaml/ld.conf" || die
+
+ if use examples; then
+ dodoc -r examples/
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/dev-ml/lablgtk/metadata.xml b/dev-ml/lablgtk/metadata.xml
new file mode 100644
index 000000000000..8794e7526896
--- /dev/null
+++ b/dev-ml/lablgtk/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+<use>
+ <flag name="glade">Enable libglade bindings compilation.</flag>
+ <flag name="gnomecanvas">Enable libgnomecanvas bindings compilation.</flag>
+ <flag name="sourceview">Enable GtkSourceView support</flag>
+</use>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/labltk/Manifest b/dev-ml/labltk/Manifest
new file mode 100644
index 000000000000..221f5d2bf6b8
--- /dev/null
+++ b/dev-ml/labltk/Manifest
@@ -0,0 +1,2 @@
+DIST labltk-8.06.2.tar.gz 369508 BLAKE2B df0a5fb1cf352c52bf3177e83be2cadde961c2a7ba0496f45dc515141931d13715b4c253f74e5f280f9a6c310488236e6bc598c0ceffc408028ef5f524f2bcf2 SHA512 d9342d49ba8769edd7a4ed051844f6ae5d3e62a7c2c76e895bfd1162d0433c4ea54f2314b29b708551fba63daec1123553b56f0abb6412807ab00d7bb40b73d6
+DIST labltk-8.06.7.tar.gz 370870 BLAKE2B 2d836c824d9adbd4f03d0e7e81faa51669837eecb4f94f6c89c657966774fe7d6ed928459be3ccca7fd3e7cf67a54ee63f7d2d08dcc8b7e853f5ad64769b33a2 SHA512 3c7352d14bc337adfb1939e72bd2658bb5e60b463f10f3748779084d1b7a6e6225028c775b548e355d69984a8944b91580fa978ff904b20b8b762ba9046f5e7d
diff --git a/dev-ml/labltk/files/findlib.patch b/dev-ml/labltk/files/findlib.patch
new file mode 100644
index 000000000000..9b9a63bdede8
--- /dev/null
+++ b/dev-ml/labltk/files/findlib.patch
@@ -0,0 +1,20 @@
+Index: labltk-8.06.0/lib/Makefile
+===================================================================
+--- labltk-8.06.0.orig/lib/Makefile
++++ labltk-8.06.0/lib/Makefile
+@@ -84,7 +84,7 @@ install-script: $(LIBNAME)
+ install-batch:
+ cp labltk.bat $(INSTALLBINDIR)
+
+-ifeq ($USE_FINDLIB,yes)
++ifeq ($(USE_FINDLIB),yes)
+ install:
+ ocamlfind install labltk -add $(LIBNAME).cma $(LIBNAME)top$(EXE)
+ chmod 755 $(INSTALLDIR)/$(LIBNAME)top$(EXE)
+@@ -114,4 +114,4 @@ installopt:
+ cd $(INSTALLDIR); $(RANLIB) $(LIBNAME).$(A)
+ chmod 644 $(INSTALLDIR)/$(LIBNAME).cmxa
+ chmod 644 $(INSTALLDIR)/$(LIBNAME).$(A)
+-endif
+\ No newline at end of file
++endif
diff --git a/dev-ml/labltk/files/ocaml405.patch b/dev-ml/labltk/files/ocaml405.patch
new file mode 100644
index 000000000000..8503646f71ec
--- /dev/null
+++ b/dev-ml/labltk/files/ocaml405.patch
@@ -0,0 +1,382 @@
+Index: labltk-8.06.2/support/cltkCaml.c
+===================================================================
+--- labltk-8.06.2.orig/support/cltkCaml.c
++++ labltk-8.06.2/support/cltkCaml.c
+@@ -39,7 +39,7 @@ int CamlCBCmd(ClientData clientdata, Tcl
+ int id;
+ if (Tcl_GetInt(interp, argv[1], &id) != TCL_OK)
+ return TCL_ERROR;
+- callback2(*handler_code,Val_int(id),
++ caml_callback2(*handler_code,Val_int(id),
+ copy_string_list(argc - 2,(char **)&argv[2]));
+ /* Never fails (OCaml would have raised an exception) */
+ /* but result may have been set by callback */
+@@ -65,7 +65,7 @@ CAMLprim value camltk_return (value v)
+ /* Note: raise_with_string WILL copy the error message */
+ CAMLprim void tk_error(const char *errmsg)
+ {
+- raise_with_string(*tkerror_exn, errmsg);
++ caml_raise_with_string(*tkerror_exn, errmsg);
+ }
+
+
+Index: labltk-8.06.2/support/cltkDMain.c
+===================================================================
+--- labltk-8.06.2.orig/support/cltkDMain.c
++++ labltk-8.06.2/support/cltkDMain.c
+@@ -56,7 +56,7 @@ void invoke_pending_caml_signals (client
+ /* Rearm timer */
+ Tk_CreateTimerHandler(SIGNAL_INTERVAL, invoke_pending_caml_signals, NULL);
+ signal_events = 1;
+- leave_blocking_section();
++ caml_leave_blocking_section();
+ }
+ /* The following is taken from byterun/startup.c */
+ header_t atom_table[256];
+@@ -222,10 +222,10 @@ int Caml_Init(interp)
+ strcat(f, RCNAME);
+ if (0 == access(f,R_OK))
+ if (TCL_OK != Tcl_EvalFile(cltclinterp,f)) {
+- stat_free(f);
++ caml_stat_free(f);
+ tk_error(Tcl_GetStringResult(cltclinterp));
+ };
+- stat_free(f);
++ caml_stat_free(f);
+ }
+ }
+
+Index: labltk-8.06.2/support/cltkEval.c
+===================================================================
+--- labltk-8.06.2.orig/support/cltkEval.c
++++ labltk-8.06.2/support/cltkEval.c
+@@ -45,7 +45,7 @@ value copy_string_list(int argc, char **
+ for (i = argc-1; i >= 0; i--) {
+ oldres = res;
+ str = tcl_string_to_caml(argv[i]);
+- res = alloc(2, 0);
++ res = caml_alloc(2, 0);
+ Field(res, 0) = str;
+ Field(res, 1) = oldres;
+ }
+@@ -71,7 +71,7 @@ CAMLprim value camltk_tcl_eval(value str
+ Tcl_ResetResult(cltclinterp);
+ cmd = caml_string_to_tcl(str);
+ code = Tcl_Eval(cltclinterp, cmd);
+- stat_free(cmd);
++ caml_stat_free(cmd);
+
+ switch (code) {
+ case TCL_OK:
+@@ -143,8 +143,8 @@ int fill_args (char **argv, int where, v
+ fill_args(tmpargv,0,Field(v,0));
+ tmpargv[size] = NULL;
+ merged = Tcl_Merge(size,(const char *const*)tmpargv);
+- for(i = 0; i<size; i++){ stat_free(tmpargv[i]); }
+- stat_free((char *)tmpargv);
++ for(i = 0; i<size; i++){ caml_stat_free(tmpargv[i]); }
++ caml_stat_free((char *)tmpargv);
+ /* must be freed by stat_free */
+ argv[where] = (char*)caml_stat_alloc(strlen(merged)+1);
+ strcpy(argv[where], merged);
+@@ -227,10 +227,10 @@ CAMLprim value camltk_tcl_direct_eval(va
+
+ /* Free the various things we allocated */
+ for(i=0; i< size; i ++){
+- stat_free((char *) allocated[i]);
++ caml_stat_free((char *) allocated[i]);
+ }
+- stat_free((char *)argv);
+- stat_free((char *)allocated);
++ caml_stat_free((char *)argv);
++ caml_stat_free((char *)allocated);
+
+ switch (result) {
+ case TCL_OK:
+Index: labltk-8.06.2/support/cltkEvent.c
+===================================================================
+--- labltk-8.06.2.orig/support/cltkEvent.c
++++ labltk-8.06.2/support/cltkEvent.c
+@@ -49,6 +49,6 @@ CAMLprim value camltk_dooneevent(value f
+
+ CheckInit();
+
+- ret = Tk_DoOneEvent(convert_flag_list(flags, event_flag_table));
++ ret = Tk_DoOneEvent(caml_convert_flag_list(flags, event_flag_table));
+ return Val_int(ret);
+ }
+Index: labltk-8.06.2/support/cltkFile.c
+===================================================================
+--- labltk-8.06.2.orig/support/cltkFile.c
++++ labltk-8.06.2/support/cltkFile.c
+@@ -33,7 +33,7 @@
+
+ void FileProc(ClientData clientdata, int mask)
+ {
+- callback2(*handler_code,Val_int(clientdata),Val_int(0));
++ caml_callback2(*handler_code,Val_int(clientdata),Val_int(0));
+ }
+
+ /* Map Unix.file_descr values to Tcl file handles */
+Index: labltk-8.06.2/support/cltkImg.c
+===================================================================
+--- labltk-8.06.2.orig/support/cltkImg.c
++++ labltk-8.06.2/support/cltkImg.c
+@@ -47,7 +47,7 @@ CAMLprim value camltk_getimgdata (value
+
+ code = Tk_PhotoGetImage(ph,&pib); /* never fails ? */
+ size = pib.width * pib.height * pib.pixelSize;
+- res = alloc_string(size);
++ res = caml_alloc_string(size);
+
+ /* no holes, default format ? */
+ if ((pib.pixelSize == 3) &&
+Index: labltk-8.06.2/support/cltkMain.c
+===================================================================
+--- labltk-8.06.2.orig/support/cltkMain.c
++++ labltk-8.06.2/support/cltkMain.c
+@@ -51,11 +51,11 @@ int signal_events = 0; /* do we have a p
+ void invoke_pending_caml_signals (ClientData clientdata)
+ {
+ signal_events = 0;
+- enter_blocking_section(); /* triggers signal handling */
++ caml_enter_blocking_section(); /* triggers signal handling */
+ /* Rearm timer */
+ Tk_CreateTimerHandler(SIGNAL_INTERVAL, invoke_pending_caml_signals, NULL);
+ signal_events = 1;
+- leave_blocking_section();
++ caml_leave_blocking_section();
+ }
+
+ /* Now the real Tk stuff */
+@@ -77,7 +77,7 @@ CAMLprim value camltk_opentk(value argv)
+ tmp = Val_unit;
+
+ if ( argv == Val_int(0) ){
+- failwith("camltk_opentk: argv is empty");
++ caml_failwith("camltk_opentk: argv is empty");
+ }
+ argv0 = String_val( Field( argv, 0 ) );
+
+@@ -91,7 +91,7 @@ CAMLprim value camltk_opentk(value argv)
+ /* Register cltclinterp for use in other related extensions */
+ value *interp = caml_named_value("cltclinterp");
+ if (interp != NULL)
+- Store_field(*interp,0,copy_nativeint((intnat)cltclinterp));
++ Store_field(*interp,0,caml_copy_nativeint((intnat)cltclinterp));
+ }
+
+ if (Tcl_Init(cltclinterp) != TCL_OK)
+@@ -128,7 +128,7 @@ CAMLprim value camltk_opentk(value argv)
+ args = Tcl_Merge(argc, (const char *const*)tkargv); /* args must be freed by Tcl_Free */
+ Tcl_SetVar(cltclinterp, "argv", args, TCL_GLOBAL_ONLY);
+ Tcl_Free(args);
+- stat_free( tkargv );
++ caml_stat_free( tkargv );
+ }
+ }
+ if (Tk_Init(cltclinterp) != TCL_OK)
+@@ -164,10 +164,10 @@ CAMLprim value camltk_opentk(value argv)
+ strcat(f, RCNAME);
+ if (0 == access(f,R_OK))
+ if (TCL_OK != Tcl_EvalFile(cltclinterp,f)) {
+- stat_free(f);
++ caml_stat_free(f);
+ tk_error(Tcl_GetStringResult(cltclinterp));
+ };
+- stat_free(f);
++ caml_stat_free(f);
+ }
+ }
+
+Index: labltk-8.06.2/support/cltkMisc.c
+===================================================================
+--- labltk-8.06.2.orig/support/cltkMisc.c
++++ labltk-8.06.2/support/cltkMisc.c
+@@ -41,12 +41,12 @@ CAMLprim value camltk_splitlist (value v
+ { value res = copy_string_list(argc,argv);
+ Tcl_Free((char *)argv); /* only one large block was allocated */
+ /* argv points into utf: utf must be freed after argv are freed */
+- stat_free( utf );
++ caml_stat_free( utf );
+ return res;
+ }
+ case TCL_ERROR:
+ default:
+- stat_free( utf );
++ caml_stat_free( utf );
+ tk_error(Tcl_GetStringResult(cltclinterp));
+ }
+ }
+@@ -54,7 +54,7 @@ CAMLprim value camltk_splitlist (value v
+ /* Copy an OCaml string to the C heap. Should deallocate with stat_free */
+ char *string_to_c(value s)
+ {
+- int l = string_length(s);
++ int l = caml_string_length(s);
+ char *res = caml_stat_alloc(l + 1);
+ memmove (res, String_val (s), l);
+ res[l] = '\0';
+Index: labltk-8.06.2/support/cltkTimer.c
+===================================================================
+--- labltk-8.06.2.orig/support/cltkTimer.c
++++ labltk-8.06.2/support/cltkTimer.c
+@@ -26,7 +26,7 @@
+ /* Basically the same thing as FileProc */
+ void TimerProc (ClientData clientdata)
+ {
+- callback2(*handler_code,Val_long(clientdata),Val_int(0));
++ caml_callback2(*handler_code,Val_long(clientdata),Val_int(0));
+ }
+
+ CAMLprim value camltk_add_timer(value milli, value cbid)
+Index: labltk-8.06.2/support/cltkUtf.c
+===================================================================
+--- labltk-8.06.2.orig/support/cltkUtf.c
++++ labltk-8.06.2/support/cltkUtf.c
+@@ -76,14 +76,14 @@ value tcl_string_to_caml( const char *s
+ char *str;
+
+ str = utf_to_external( s );
+- res = copy_string(str);
+- stat_free(str);
++ res = caml_copy_string(str);
++ caml_stat_free(str);
+ CAMLreturn(res);
+ }
+
+ #else
+
+ char *caml_string_to_tcl(value s){ return string_to_c(s); }
+-value tcl_string_to_caml(char *s){ return copy_string(s); }
++value tcl_string_to_caml(char *s){ return caml_copy_string(s); }
+
+ #endif
+Index: labltk-8.06.2/support/cltkVar.c
+===================================================================
+--- labltk-8.06.2.orig/support/cltkVar.c
++++ labltk-8.06.2/support/cltkVar.c
+@@ -35,7 +35,7 @@ CAMLprim value camltk_getvar(value var)
+ stable_var = string_to_c(var);
+ s = (char *)Tcl_GetVar(cltclinterp,stable_var,
+ TCL_GLOBAL_ONLY|TCL_LEAVE_ERR_MSG);
+- stat_free(stable_var);
++ caml_stat_free(stable_var);
+
+ if (s == NULL)
+ tk_error(Tcl_GetStringResult(cltclinterp));
+@@ -57,11 +57,11 @@ CAMLprim value camltk_setvar(value var,
+ utf_contents = caml_string_to_tcl(contents);
+ s = (char *)Tcl_SetVar(cltclinterp,stable_var, utf_contents,
+ TCL_GLOBAL_ONLY|TCL_LEAVE_ERR_MSG);
+- stat_free(stable_var);
++ caml_stat_free(stable_var);
+ if( s == utf_contents ){
+ tk_error("camltk_setvar: Tcl_SetVar returned strange result. Call the author of mlTk!");
+ }
+- stat_free(utf_contents);
++ caml_stat_free(utf_contents);
+
+ if (s == NULL)
+ tk_error(Tcl_GetStringResult(cltclinterp));
+@@ -84,7 +84,7 @@ static char * tracevar(clientdata, inter
+ Tcl_UntraceVar2(interp, name1, name2,
+ TCL_GLOBAL_ONLY|TCL_TRACE_WRITES|TCL_TRACE_UNSETS,
+ tracevar, clientdata);
+- callback2(*handler_code,Val_int(clientdata),Val_unit);
++ caml_callback2(*handler_code,Val_int(clientdata),Val_unit);
+ return (char *)NULL;
+ }
+
+@@ -103,10 +103,10 @@ CAMLprim value camltk_trace_var(value va
+ tracevar,
+ (ClientData) (Long_val(cbid)))
+ != TCL_OK) {
+- stat_free(cvar);
++ caml_stat_free(cvar);
+ tk_error(Tcl_GetStringResult(cltclinterp));
+ };
+- stat_free(cvar);
++ caml_stat_free(cvar);
+ return Val_unit;
+ }
+
+@@ -123,6 +123,6 @@ CAMLprim value camltk_untrace_var(value
+ TCL_GLOBAL_ONLY|TCL_TRACE_WRITES|TCL_TRACE_UNSETS,
+ tracevar,
+ (ClientData) (Long_val(cbid)));
+- stat_free(cvar);
++ caml_stat_free(cvar);
+ return Val_unit;
+ }
+Index: labltk-8.06.2/support/cltkWait.c
+===================================================================
+--- labltk-8.06.2.orig/support/cltkWait.c
++++ labltk-8.06.2/support/cltkWait.c
+@@ -54,8 +54,8 @@ static void WaitVisibilityProc(clientDat
+ Tk_DeleteEventHandler(vis->win, VisibilityChangeMask,
+ WaitVisibilityProc, clientData);
+
+- stat_free((char *)vis);
+- callback2(*handler_code,cbid,Val_int(0));
++ caml_stat_free((char *)vis);
++ caml_callback2(*handler_code,cbid,Val_int(0));
+ }
+
+ /* Sets up a callback upon Visibility of a window */
+@@ -65,7 +65,7 @@ CAMLprim value camltk_wait_vis(value win
+ (struct WinCBData *)caml_stat_alloc(sizeof(struct WinCBData));
+ vis->win = Tk_NameToWindow(cltclinterp, String_val(win), cltk_mainWindow);
+ if (vis -> win == NULL) {
+- stat_free((char *)vis);
++ caml_stat_free((char *)vis);
+ tk_error(Tcl_GetStringResult(cltclinterp));
+ };
+ vis->cbid = Int_val(cbid);
+@@ -79,9 +79,9 @@ static void WaitWindowProc(ClientData cl
+ if (eventPtr->type == DestroyNotify) {
+ struct WinCBData *vis = clientData;
+ value cbid = Val_int(vis->cbid);
+- stat_free((char *)clientData);
++ caml_stat_free((char *)clientData);
+ /* The handler is destroyed by Tk itself */
+- callback2(*handler_code,cbid,Val_int(0));
++ caml_callback2(*handler_code,cbid,Val_int(0));
+ }
+ }
+
+@@ -92,7 +92,7 @@ CAMLprim value camltk_wait_des(value win
+ (struct WinCBData *)caml_stat_alloc(sizeof(struct WinCBData));
+ vis->win = Tk_NameToWindow(cltclinterp, String_val(win), cltk_mainWindow);
+ if (vis -> win == NULL) {
+- stat_free((char *)vis);
++ caml_stat_free((char *)vis);
+ tk_error(Tcl_GetStringResult(cltclinterp));
+ };
+ vis->cbid = Int_val(cbid);
+Index: labltk-8.06.2/browser/searchpos.ml
+===================================================================
+--- labltk-8.06.2.orig/browser/searchpos.ml
++++ labltk-8.06.2/browser/searchpos.ml
+@@ -782,7 +782,7 @@ and search_pos_expr ~pos exp =
+ search_pos_expr exp' ~pos
+ end;
+ search_pos_expr exp ~pos
+- | Texp_function (_, l, _) ->
++ | Texp_function { arg_label = _; param = _ ; cases = l; partial = _; } ->
+ List.iter l ~f:(search_case ~pos)
+ | Texp_apply (exp, l) ->
+ List.iter l ~f:(fun (_, x) -> Misc.may (search_pos_expr ~pos) x);
+Index: labltk-8.06.2/jpf/fileselect.ml
+===================================================================
+--- labltk-8.06.2.orig/jpf/fileselect.ml
++++ labltk-8.06.2/jpf/fileselect.ml
+@@ -55,7 +55,7 @@ let myentry_create p ~variable =
+ let subshell cmd =
+ let r,w = pipe () in
+ match fork () with
+- 0 -> close r; dup2 ~src:w ~dst:stdout;
++ 0 -> close r; dup2 ~cloexec:false ~src:w ~dst:stdout;
+ execv ~prog:"/bin/sh" ~args:[| "/bin/sh"; "-c"; cmd |]
+ | id ->
+ close w;
diff --git a/dev-ml/labltk/labltk-8.06.2.ebuild b/dev-ml/labltk/labltk-8.06.2.ebuild
new file mode 100644
index 000000000000..b406007112d4
--- /dev/null
+++ b/dev-ml/labltk/labltk-8.06.2.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit findlib eutils
+
+DESCRIPTION="OCaml interface to the Tcl/Tk GUI framework"
+HOMEPAGE="https://forge.ocamlcore.org/projects/labltk/"
+SRC_URI="https://forge.ocamlcore.org/frs/download.php/1628/${P}.tar.gz"
+
+LICENSE="QPL-1.0 LGPL-2"
+SLOT="0/${PV}"
+KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux"
+IUSE="+ocamlopt X"
+
+RDEPEND=">=dev-lang/tk-8.0.3:=
+ >=dev-lang/ocaml-4.04:=[ocamlopt?,X(+)?]"
+DEPEND="${RDEPEND}
+ >=dev-ml/findlib-1.5.5-r1"
+
+src_prepare() {
+ epatch "${FILESDIR}/findlib.patch"
+ has_version '>=dev-lang/ocaml-4.05.0_beta' && epatch "${FILESDIR}/ocaml405.patch"
+}
+
+src_configure() {
+ ./configure --use-findlib --verbose $(use X || echo "--tk-no-x11") || die "configure failed!"
+}
+
+src_compile() {
+ emake -j1
+ use ocamlopt && emake -j1 opt
+}
+
+src_install() {
+ findlib_src_preinst
+ dodir /usr/bin
+ emake \
+ INSTALLDIR="${D}$(ocamlc -where)/labltk" \
+ INSTALLBINDIR="${ED}/usr/bin/" \
+ install
+ dodoc Changes README.mlTk
+}
diff --git a/dev-ml/labltk/labltk-8.06.7.ebuild b/dev-ml/labltk/labltk-8.06.7.ebuild
new file mode 100644
index 000000000000..a97dc130cb6e
--- /dev/null
+++ b/dev-ml/labltk/labltk-8.06.7.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit findlib eutils
+
+DESCRIPTION="OCaml interface to the Tcl/Tk GUI framework"
+HOMEPAGE="https://garrigue.github.io/labltk/"
+SRC_URI="https://github.com/garrigue/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="QPL-1.0 LGPL-2"
+SLOT="0/${PV}"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~sparc x86 ~amd64-linux ~x86-linux"
+IUSE="+ocamlopt X"
+
+RDEPEND=">=dev-lang/tk-8.0.3:=
+ >=dev-lang/ocaml-4.08:=[ocamlopt?,X(+)?]"
+DEPEND="${RDEPEND}
+ >=dev-ml/findlib-1.5.5-r1"
+
+PATCHES=(
+ "${FILESDIR}/findlib.patch"
+)
+
+src_configure() {
+ ./configure --use-findlib --verbose $(usex X "--tk-x11" "--tk-no-x11") || die "configure failed!"
+}
+
+src_compile() {
+ emake -j1
+ use ocamlopt && emake -j1 opt
+}
+
+src_install() {
+ findlib_src_preinst
+ dodir /usr/bin
+ emake \
+ INSTALLDIR="${D}$(ocamlc -where)/labltk" \
+ INSTALLBINDIR="${ED}/usr/bin/" \
+ install
+ dodoc Changes README.mlTk
+}
diff --git a/dev-ml/labltk/metadata.xml b/dev-ml/labltk/metadata.xml
new file mode 100644
index 000000000000..d85b4252fc33
--- /dev/null
+++ b/dev-ml/labltk/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<!-- maintainer-needed -->
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/llvm-ocaml/Manifest b/dev-ml/llvm-ocaml/Manifest
new file mode 100644
index 000000000000..dd49441bc78c
--- /dev/null
+++ b/dev-ml/llvm-ocaml/Manifest
@@ -0,0 +1,4 @@
+DIST llvm-8.0.1.src.tar.xz 30477608 BLAKE2B 4319c837b36111401e3b0f9659b8d875c89463bcc7816df1aefe1e3ff989860bbaa92504718f8e15416cfd9f3491c13777cd5cb661877b237b342b0e515b93f5 SHA512 82e120be5cabdfd5111aebbea68a663fe229c8861d73802d6ab09a3bf48f60de333e07e61f8fb61beaa14ac2bea24fcd74fa6f761acaf62469f536b79fcb1e16
+DIST llvmorg-10.0.0.tar.gz 120804856 BLAKE2B 6b0254f5b913398cdcf2b2ec1ff219888706d2b79d5296590934714e42ac79f6a6547941ac2b1d2c4e6313dd18b6c7068e748aa6ac033e49fccbf5d355aa8191 SHA512 baa182d62fef1851836013ae8a1a00861ea89769778d67fb97b407a9de664e6c85da2af9c5b3f75d2bf34ff6b00004e531ca7e4b3115a26c0e61c575cf2303a0
+DIST llvmorg-10.0.1-rc1.tar.gz 120834583 BLAKE2B 64244ebcb6f2c171c9f606e5eb0adff2794f06c9312a0ca627fb79c107c0c898ac242cf4e92523c3265fa717322601d7e3f4d178515fac95d03ee92312082b06 SHA512 f877f66046969a4055b166ad50ef876a9c8ecaf03e2cdd7c8e1a3348eb5f5180f222fa457b1f090a6660282a0d9f7a1d39cf09a04abe0dde0a6e1e10ccf15597
+DIST llvmorg-9.0.1.tar.gz 113193320 BLAKE2B b86e405f2b8e00436045fd409fe19cdde75c797b1192c62a22b5ec75e6b4dc8e874a0f33008dc31562445e4cbe53a992b6f48c684255a6a1ef261e595b8b161f SHA512 fa88beeaae94b6d0cd9b5ba38658d0ffed8004035d7d8a4f95c3d31a709b88b581ae9bd7761333c8e5375c44b8f6be01768b5a3be901163159d7e6c43b71da59
diff --git a/dev-ml/llvm-ocaml/llvm-ocaml-10.0.0.ebuild b/dev-ml/llvm-ocaml/llvm-ocaml-10.0.0.ebuild
new file mode 100644
index 000000000000..5e415032b502
--- /dev/null
+++ b/dev-ml/llvm-ocaml/llvm-ocaml-10.0.0.ebuild
@@ -0,0 +1,125 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7,8} )
+inherit cmake-utils llvm llvm.org multiprocessing python-any-r1
+
+DESCRIPTION="OCaml bindings for LLVM"
+HOMEPAGE="https://llvm.org/"
+LLVM_COMPONENTS=( llvm )
+llvm.org_set_globals
+
+# Keep in sync with sys-devel/llvm
+ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC AVR )
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
+ NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
+ "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/?}
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="debug test ${ALL_LLVM_TARGETS[*]}"
+REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-lang/ocaml-4.00.0:0=
+ dev-ml/ocaml-ctypes:=
+ ~sys-devel/llvm-${PV}:=[${LLVM_TARGET_USEDEPS// /,},debug?]
+ !sys-devel/llvm[ocaml(-)]"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-lang/perl
+ dev-ml/findlib
+ test? ( dev-ml/ounit )
+ ${PYTHON_DEPS}"
+
+# least intrusive of all
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+pkg_setup() {
+ LLVM_MAX_SLOT=${PV%%.*} llvm_pkg_setup
+ python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ # Python is needed to run tests using lit
+ python_setup
+
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_OCAML_OUT_OF_TREE=ON
+
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ # disable various irrelevant deps and settings
+ -DLLVM_ENABLE_FFI=OFF
+ -DLLVM_ENABLE_TERMINFO=OFF
+ -DHAVE_HISTEDIT_H=NO
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ # disable go bindings
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+
+ # TODO: ocamldoc
+ )
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
+ )
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ # also: custom rules for OCaml do not work for CPPFLAGS
+ use debug || local -x CFLAGS="${CFLAGS} -DNDEBUG"
+ cmake-utils_src_configure
+
+ local llvm_libdir=$(llvm-config --libdir)
+ # an ugly hack; TODO: figure out a way to pass -L to ocaml...
+ cd "${BUILD_DIR}/${libdir}" || die
+ ln -s "${llvm_libdir}"/*.so . || die
+
+ if use test; then
+ local llvm_bindir=$(llvm-config --bindir)
+ # Force using system-installed tools.
+ sed -i -e "/llvm_tools_dir/s@\".*\"@\"${llvm_bindir}\"@" \
+ "${BUILD_DIR}"/test/lit.site.cfg.py || die
+ fi
+}
+
+src_compile() {
+ cmake-utils_src_compile ocaml_all
+}
+
+src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake-utils_src_make check-llvm-bindings-ocaml
+}
+
+src_install() {
+ DESTDIR="${D}" \
+ cmake -P "${BUILD_DIR}"/bindings/ocaml/cmake_install.cmake || die
+
+ dodoc bindings/ocaml/README.txt
+}
diff --git a/dev-ml/llvm-ocaml/llvm-ocaml-10.0.1.9999.ebuild b/dev-ml/llvm-ocaml/llvm-ocaml-10.0.1.9999.ebuild
new file mode 100644
index 000000000000..c87d9f13cf31
--- /dev/null
+++ b/dev-ml/llvm-ocaml/llvm-ocaml-10.0.1.9999.ebuild
@@ -0,0 +1,128 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7,8} )
+inherit cmake-utils llvm llvm.org multiprocessing python-any-r1
+
+DESCRIPTION="OCaml bindings for LLVM"
+HOMEPAGE="https://llvm.org/"
+LLVM_COMPONENTS=( llvm )
+llvm.org_set_globals
+
+# Keep in sync with sys-devel/llvm
+ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC AVR VE )
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
+ NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
+ "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/?}
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
+SLOT="0/${PV}"
+KEYWORDS=""
+IUSE="debug test ${ALL_LLVM_TARGETS[*]}"
+REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-lang/ocaml-4.00.0:0=
+ dev-ml/ocaml-ctypes:=
+ ~sys-devel/llvm-${PV}:=[${LLVM_TARGET_USEDEPS// /,},debug?]
+ !sys-devel/llvm[ocaml(-)]"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-lang/perl
+ dev-ml/findlib
+ test? ( dev-ml/ounit )
+ ${PYTHON_DEPS}"
+
+# least intrusive of all
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+pkg_setup() {
+ LLVM_MAX_SLOT=${PV%%.*} llvm_pkg_setup
+ python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ # Python is needed to run tests using lit
+ python_setup
+
+ # cmake eclasses suck by forcing ${S} here
+ CMAKE_USE_DIR=${S} \
+ S=${WORKDIR} \
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_OCAML_OUT_OF_TREE=ON
+
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ # disable various irrelevant deps and settings
+ -DLLVM_ENABLE_FFI=OFF
+ -DLLVM_ENABLE_TERMINFO=OFF
+ -DHAVE_HISTEDIT_H=NO
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ # disable go bindings
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+
+ # TODO: ocamldoc
+ )
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
+ )
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ # also: custom rules for OCaml do not work for CPPFLAGS
+ use debug || local -x CFLAGS="${CFLAGS} -DNDEBUG"
+ cmake-utils_src_configure
+
+ local llvm_libdir=$(llvm-config --libdir)
+ # an ugly hack; TODO: figure out a way to pass -L to ocaml...
+ cd "${BUILD_DIR}/${libdir}" || die
+ ln -s "${llvm_libdir}"/*.so . || die
+
+ if use test; then
+ local llvm_bindir=$(llvm-config --bindir)
+ # Force using system-installed tools.
+ sed -i -e "/llvm_tools_dir/s@\".*\"@\"${llvm_bindir}\"@" \
+ "${BUILD_DIR}"/test/lit.site.cfg.py || die
+ fi
+}
+
+src_compile() {
+ cmake-utils_src_compile ocaml_all
+}
+
+src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake-utils_src_make check-llvm-bindings-ocaml
+}
+
+src_install() {
+ DESTDIR="${D}" \
+ cmake -P "${BUILD_DIR}"/bindings/ocaml/cmake_install.cmake || die
+
+ dodoc bindings/ocaml/README.txt
+}
diff --git a/dev-ml/llvm-ocaml/llvm-ocaml-10.0.1_rc1.ebuild b/dev-ml/llvm-ocaml/llvm-ocaml-10.0.1_rc1.ebuild
new file mode 100644
index 000000000000..ff77167a7661
--- /dev/null
+++ b/dev-ml/llvm-ocaml/llvm-ocaml-10.0.1_rc1.ebuild
@@ -0,0 +1,128 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6..9} )
+inherit cmake llvm llvm.org multiprocessing python-any-r1
+
+DESCRIPTION="OCaml bindings for LLVM"
+HOMEPAGE="https://llvm.org/"
+LLVM_COMPONENTS=( llvm )
+llvm.org_set_globals
+
+# Keep in sync with sys-devel/llvm
+ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC AVR )
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
+ NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
+ "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/?}
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
+SLOT="0/${PV}"
+KEYWORDS=""
+IUSE="debug test ${ALL_LLVM_TARGETS[*]}"
+REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-lang/ocaml-4.00.0:0=
+ dev-ml/ocaml-ctypes:=
+ ~sys-devel/llvm-${PV}:=[${LLVM_TARGET_USEDEPS// /,},debug?]
+ !sys-devel/llvm[ocaml(-)]"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-lang/perl
+ dev-ml/findlib
+ test? ( dev-ml/ounit )
+ ${PYTHON_DEPS}"
+
+# least intrusive of all
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+pkg_setup() {
+ LLVM_MAX_SLOT=${PV%%.*} llvm_pkg_setup
+ python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ # Python is needed to run tests using lit
+ python_setup
+
+ # cmake eclasses suck by forcing ${S} here
+ CMAKE_USE_DIR=${S} \
+ S=${WORKDIR} \
+ cmake_src_prepare
+}
+
+src_configure() {
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_OCAML_OUT_OF_TREE=ON
+
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ # disable various irrelevant deps and settings
+ -DLLVM_ENABLE_FFI=OFF
+ -DLLVM_ENABLE_TERMINFO=OFF
+ -DHAVE_HISTEDIT_H=NO
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ # disable go bindings
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+
+ # TODO: ocamldoc
+ )
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
+ )
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ # also: custom rules for OCaml do not work for CPPFLAGS
+ use debug || local -x CFLAGS="${CFLAGS} -DNDEBUG"
+ cmake_src_configure
+
+ local llvm_libdir=$(llvm-config --libdir)
+ # an ugly hack; TODO: figure out a way to pass -L to ocaml...
+ cd "${BUILD_DIR}/${libdir}" || die
+ ln -s "${llvm_libdir}"/*.so . || die
+
+ if use test; then
+ local llvm_bindir=$(llvm-config --bindir)
+ # Force using system-installed tools.
+ sed -i -e "/llvm_tools_dir/s@\".*\"@\"${llvm_bindir}\"@" \
+ "${BUILD_DIR}"/test/lit.site.cfg.py || die
+ fi
+}
+
+src_compile() {
+ cmake_build ocaml_all
+}
+
+src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check-llvm-bindings-ocaml
+}
+
+src_install() {
+ DESTDIR="${D}" \
+ cmake -P "${BUILD_DIR}"/bindings/ocaml/cmake_install.cmake || die
+
+ dodoc bindings/ocaml/README.txt
+}
diff --git a/dev-ml/llvm-ocaml/llvm-ocaml-11.0.0.9999.ebuild b/dev-ml/llvm-ocaml/llvm-ocaml-11.0.0.9999.ebuild
new file mode 100644
index 000000000000..5a10d4d1de5c
--- /dev/null
+++ b/dev-ml/llvm-ocaml/llvm-ocaml-11.0.0.9999.ebuild
@@ -0,0 +1,128 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7,8} )
+inherit cmake-utils llvm llvm.org multiprocessing python-any-r1
+
+DESCRIPTION="OCaml bindings for LLVM"
+HOMEPAGE="https://llvm.org/"
+LLVM_COMPONENTS=( llvm )
+llvm.org_set_globals
+
+# Keep in sync with sys-devel/llvm
+ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC VE )
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
+ NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
+ "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/?}
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
+SLOT="0/${PV}"
+KEYWORDS=""
+IUSE="debug test ${ALL_LLVM_TARGETS[*]}"
+REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-lang/ocaml-4.00.0:0=
+ dev-ml/ocaml-ctypes:=
+ ~sys-devel/llvm-${PV}:=[${LLVM_TARGET_USEDEPS// /,},debug?]
+ !sys-devel/llvm[ocaml(-)]"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-lang/perl
+ dev-ml/findlib
+ test? ( dev-ml/ounit )
+ ${PYTHON_DEPS}"
+
+# least intrusive of all
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+pkg_setup() {
+ LLVM_MAX_SLOT=${PV%%.*} llvm_pkg_setup
+ python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ # Python is needed to run tests using lit
+ python_setup
+
+ # cmake eclasses suck by forcing ${S} here
+ CMAKE_USE_DIR=${S} \
+ S=${WORKDIR} \
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_OCAML_OUT_OF_TREE=ON
+
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ # disable various irrelevant deps and settings
+ -DLLVM_ENABLE_FFI=OFF
+ -DLLVM_ENABLE_TERMINFO=OFF
+ -DHAVE_HISTEDIT_H=NO
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ # disable go bindings
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+
+ # TODO: ocamldoc
+ )
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
+ )
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ # also: custom rules for OCaml do not work for CPPFLAGS
+ use debug || local -x CFLAGS="${CFLAGS} -DNDEBUG"
+ cmake-utils_src_configure
+
+ local llvm_libdir=$(llvm-config --libdir)
+ # an ugly hack; TODO: figure out a way to pass -L to ocaml...
+ cd "${BUILD_DIR}/${libdir}" || die
+ ln -s "${llvm_libdir}"/*.so . || die
+
+ if use test; then
+ local llvm_bindir=$(llvm-config --bindir)
+ # Force using system-installed tools.
+ sed -i -e "/llvm_tools_dir/s@\".*\"@\"${llvm_bindir}\"@" \
+ "${BUILD_DIR}"/test/lit.site.cfg.py || die
+ fi
+}
+
+src_compile() {
+ cmake-utils_src_compile ocaml_all
+}
+
+src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake-utils_src_make check-llvm-bindings-ocaml
+}
+
+src_install() {
+ DESTDIR="${D}" \
+ cmake -P "${BUILD_DIR}"/bindings/ocaml/cmake_install.cmake || die
+
+ dodoc bindings/ocaml/README.txt
+}
diff --git a/dev-ml/llvm-ocaml/llvm-ocaml-8.0.1.ebuild b/dev-ml/llvm-ocaml/llvm-ocaml-8.0.1.ebuild
new file mode 100644
index 000000000000..7781bf0cb527
--- /dev/null
+++ b/dev-ml/llvm-ocaml/llvm-ocaml-8.0.1.ebuild
@@ -0,0 +1,124 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
+# (needed due to CMAKE_BUILD_TYPE != Gentoo)
+CMAKE_MIN_VERSION=3.7.0-r1
+PYTHON_COMPAT=( python2_7 )
+
+inherit cmake-utils llvm multiprocessing python-any-r1
+
+MY_P=llvm-${PV/_/}.src
+DESCRIPTION="OCaml bindings for LLVM"
+HOMEPAGE="https://llvm.org/"
+SRC_URI="https://github.com/llvm/llvm-project/releases/download/llvmorg-${PV}/${MY_P}.tar.xz"
+
+# Keep in sync with sys-devel/llvm
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
+ NVPTX PowerPC Sparc SystemZ WebAssembly X86 XCore )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/?}
+
+LICENSE="UoI-NCSA"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="debug test ${ALL_LLVM_TARGETS[*]}"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-lang/ocaml-4.00.0:0=
+ dev-ml/ocaml-ctypes:=
+ ~sys-devel/llvm-${PV}:=[${LLVM_TARGET_USEDEPS// /,},debug?]
+ !sys-devel/llvm[ocaml(-)]"
+DEPEND="${RDEPEND}
+ dev-lang/perl
+ dev-ml/findlib
+ test? ( dev-ml/ounit )
+ ${PYTHON_DEPS}"
+
+REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
+
+S=${WORKDIR}/${MY_P}
+
+# least intrusive of all
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+pkg_setup() {
+ LLVM_MAX_SLOT=${PV%%.*} llvm_pkg_setup
+ python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ # Python is needed to run tests using lit
+ python_setup
+
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=ON
+ -DLLVM_OCAML_OUT_OF_TREE=ON
+ -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ # disable various irrelevant deps and settings
+ -DLLVM_ENABLE_FFI=OFF
+ -DLLVM_ENABLE_TERMINFO=OFF
+ -DHAVE_HISTEDIT_H=NO
+ -DWITH_POLLY=OFF
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ # disable go bindings
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+
+ # TODO: ocamldoc
+ )
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
+ )
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ # also: custom rules for OCaml do not work for CPPFLAGS
+ use debug || local -x CFLAGS="${CFLAGS} -DNDEBUG"
+ cmake-utils_src_configure
+
+ local llvm_libdir=$(llvm-config --libdir)
+ # an ugly hack; TODO: figure out a way to pass -L to ocaml...
+ cd "${BUILD_DIR}/${libdir}" || die
+ ln -s "${llvm_libdir}"/*.so . || die
+
+ if use test; then
+ local llvm_bindir=$(llvm-config --bindir)
+ # Force using system-installed tools.
+ sed -i -e "/llvm_tools_dir/s@\".*\"@\"${llvm_bindir}\"@" \
+ "${BUILD_DIR}"/test/lit.site.cfg.py || die
+ fi
+}
+
+src_compile() {
+ cmake-utils_src_compile ocaml_all
+}
+
+src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake-utils_src_make check-llvm-bindings-ocaml
+}
+
+src_install() {
+ DESTDIR="${D}" \
+ cmake -P "${BUILD_DIR}"/bindings/ocaml/cmake_install.cmake || die
+
+ dodoc bindings/ocaml/README.txt
+}
diff --git a/dev-ml/llvm-ocaml/llvm-ocaml-9.0.1.ebuild b/dev-ml/llvm-ocaml/llvm-ocaml-9.0.1.ebuild
new file mode 100644
index 000000000000..2d7234b60384
--- /dev/null
+++ b/dev-ml/llvm-ocaml/llvm-ocaml-9.0.1.ebuild
@@ -0,0 +1,118 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7} )
+inherit cmake-utils llvm llvm.org multiprocessing python-any-r1
+
+DESCRIPTION="OCaml bindings for LLVM"
+HOMEPAGE="https://llvm.org/"
+LLVM_COMPONENTS=( llvm )
+llvm.org_set_globals
+
+# Keep in sync with sys-devel/llvm
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
+ NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/?}
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="debug test ${ALL_LLVM_TARGETS[*]}"
+REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-lang/ocaml-4.00.0:0=
+ dev-ml/ocaml-ctypes:=
+ ~sys-devel/llvm-${PV}:=[${LLVM_TARGET_USEDEPS// /,},debug?]
+ !sys-devel/llvm[ocaml(-)]"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-lang/perl
+ dev-ml/findlib
+ test? ( dev-ml/ounit )
+ ${PYTHON_DEPS}"
+
+# least intrusive of all
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+pkg_setup() {
+ LLVM_MAX_SLOT=${PV%%.*} llvm_pkg_setup
+ python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ # Python is needed to run tests using lit
+ python_setup
+
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=ON
+ -DLLVM_OCAML_OUT_OF_TREE=ON
+ -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ # disable various irrelevant deps and settings
+ -DLLVM_ENABLE_FFI=OFF
+ -DLLVM_ENABLE_TERMINFO=OFF
+ -DHAVE_HISTEDIT_H=NO
+ -DWITH_POLLY=OFF
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ # disable go bindings
+ -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
+
+ # TODO: ocamldoc
+ )
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
+ )
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ # also: custom rules for OCaml do not work for CPPFLAGS
+ use debug || local -x CFLAGS="${CFLAGS} -DNDEBUG"
+ cmake-utils_src_configure
+
+ local llvm_libdir=$(llvm-config --libdir)
+ # an ugly hack; TODO: figure out a way to pass -L to ocaml...
+ cd "${BUILD_DIR}/${libdir}" || die
+ ln -s "${llvm_libdir}"/*.so . || die
+
+ if use test; then
+ local llvm_bindir=$(llvm-config --bindir)
+ # Force using system-installed tools.
+ sed -i -e "/llvm_tools_dir/s@\".*\"@\"${llvm_bindir}\"@" \
+ "${BUILD_DIR}"/test/lit.site.cfg.py || die
+ fi
+}
+
+src_compile() {
+ cmake-utils_src_compile ocaml_all
+}
+
+src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake-utils_src_make check-llvm-bindings-ocaml
+}
+
+src_install() {
+ DESTDIR="${D}" \
+ cmake -P "${BUILD_DIR}"/bindings/ocaml/cmake_install.cmake || die
+
+ dodoc bindings/ocaml/README.txt
+}
diff --git a/dev-ml/llvm-ocaml/metadata.xml b/dev-ml/llvm-ocaml/metadata.xml
new file mode 100644
index 000000000000..6b93707c9719
--- /dev/null
+++ b/dev-ml/llvm-ocaml/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>llvm@gentoo.org</email>
+ </maintainer>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/logs/Manifest b/dev-ml/logs/Manifest
new file mode 100644
index 000000000000..136aad2e16fb
--- /dev/null
+++ b/dev-ml/logs/Manifest
@@ -0,0 +1 @@
+DIST logs-0.6.2.tbz 18558 BLAKE2B 824bad0b568c3cc08343cb99eab3848d6e8f7deca548599caf12a05f5980e5ecf78978480e5fd95e938ca4b06fb94cee8b4ecf241f4a0238c3d3851c4be8c9f5 SHA512 a669e373652bac6789626ad1d58e414c6d156c646bf0706c9d55b04151850113d45a5c28077707514d1a27d46fcc0f90b39b8652ce7a3980f79675e9874db8b4
diff --git a/dev-ml/logs/logs-0.6.2.ebuild b/dev-ml/logs/logs-0.6.2.ebuild
new file mode 100644
index 000000000000..707b897d9688
--- /dev/null
+++ b/dev-ml/logs/logs-0.6.2.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit findlib
+
+DESCRIPTION="Logging infrastructure for OCaml"
+HOMEPAGE="https://erratique.ch/software/logs https://github.com/dbuenzli/logs"
+SRC_URI="https://erratique.ch/software/logs/releases/${P}.tbz"
+
+LICENSE="ISC"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+IUSE="javascript +fmt cli +lwt test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-ml/result:=[ocamlopt]
+ dev-lang/ocaml:=[ocamlopt]
+ javascript? ( dev-ml/js_of_ocaml:= )
+ fmt? ( dev-ml/fmt:= )
+ cli? ( dev-ml/cmdliner:=[ocamlopt] )
+ lwt? ( dev-ml/lwt:= )
+"
+DEPEND="${RDEPEND}
+ dev-ml/opam
+ dev-ml/topkg
+ dev-ml/ocamlbuild
+ dev-ml/findlib
+ test? ( dev-ml/mtime )
+"
+
+src_compile() {
+ ocaml pkg/pkg.ml build \
+ --with-js_of_ocaml $(usex javascript true false) \
+ --with-fmt $(usex fmt true false) \
+ --with-cmdliner $(usex cli true false) \
+ --with-lwt $(usex fmt true false) \
+ --tests $(usex test true false) \
+ || die
+}
+
+src_test() {
+ ocaml pkg/pkg.ml test || die
+}
+
+src_install() {
+ opam-installer -i \
+ --prefix="${ED}/usr" \
+ --libdir="${D}/$(ocamlc -where)" \
+ --docdir="${ED}/usr/share/doc/${PF}" \
+ ${PN}.install || die
+ dodoc CHANGES.md README.md
+}
diff --git a/dev-ml/logs/metadata.xml b/dev-ml/logs/metadata.xml
new file mode 100644
index 000000000000..86d693574529
--- /dev/null
+++ b/dev-ml/logs/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <use>
+ <flag name="cli">Enables the Logs_cli library that provides command line support for controlling Logs.</flag>
+ <flag name="fmt">Enables the Logs_fmt reporter.</flag>
+ <flag name="lwt">Enables the Logs_lwt library that provides Lwt logging functions.</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">dbuenzli/logs</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/lwt/Manifest b/dev-ml/lwt/Manifest
new file mode 100644
index 000000000000..b139eb1dc0aa
--- /dev/null
+++ b/dev-ml/lwt/Manifest
@@ -0,0 +1,2 @@
+DIST lwt-3.0.0.tar.gz 285864 BLAKE2B d14f8f8a9e71a61c57bd7c208575849667dab4a4770b56a0d94e93024b22be9b7d88d10c0fa24eb8060b67c75e72c2c8bbfa0362f3aa815c76c93575225ce056 SHA512 270a6dc2fc58950380eecf72767782c72a5d72226f4af0e9a4f9b0e70b788eeb1d2727348ab8da4411ee59374a19524a6a793b14a26fe7051d51f987ef0e42b8
+DIST lwt-3.1.0.tar.gz 285309 BLAKE2B ffc3a416491d4c7b7e7c0da67b48d9eeb5b7fa50e3637d4f0cfcd1689b75626b48c8dd6d91e87c93022047809a3774683c41ce620e07ee4d3e1409185e7f8d16 SHA512 0b2269e53f2e8a57e1ffd6f237c6b22de39a3b6b0d57276c7cb9371392aabc9fb6364b2617a6408ed0049ed64f71de0c540209cf83ce43899fd025295342eb0d
diff --git a/dev-ml/lwt/lwt-3.0.0.ebuild b/dev-ml/lwt/lwt-3.0.0.ebuild
new file mode 100644
index 000000000000..5b3a44a3d1b7
--- /dev/null
+++ b/dev-ml/lwt/lwt-3.0.0.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+OASIS_BUILD_TESTS=1
+OASIS_BUILD_DOCS=1
+
+inherit oasis
+
+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="+camlp4 +ppx"
+
+DEPEND="
+ dev-libs/libev
+ >=dev-lang/ocaml-4.02:=
+ dev-ml/result:=
+ ppx? ( dev-ml/ppx_tools:= )
+ camlp4? ( dev-ml/camlp4:= )"
+
+RDEPEND="${DEPEND}
+ !<www-servers/ocsigen-1.1"
+DEPEND="${DEPEND}
+ dev-ml/cppo"
+
+SLOT="0/${PV}"
+LICENSE="LGPL-2.1-with-linking-exception"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86"
+
+DOCS=( "CHANGES" "README.md" )
+
+src_configure() {
+ oasis_configure_opts="
+ --disable-glib
+ --disable-react
+ --disable-ssl
+ $(use_enable camlp4)
+ $(use_enable ppx)" \
+ oasis_src_configure
+}
diff --git a/dev-ml/lwt/lwt-3.1.0.ebuild b/dev-ml/lwt/lwt-3.1.0.ebuild
new file mode 100644
index 000000000000..58c19493d7b8
--- /dev/null
+++ b/dev-ml/lwt/lwt-3.1.0.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+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="+camlp4 +libev"
+
+DEPEND="
+ >=dev-lang/ocaml-4.02:=
+ dev-ml/result:=
+ dev-ml/ocaml-migrate-parsetree:=
+ dev-ml/ppx_tools_versioned:=
+ libev? ( dev-libs/libev )
+ camlp4? ( dev-ml/camlp4:= )"
+
+RDEPEND="${DEPEND}
+ !<www-servers/ocsigen-1.1"
+DEPEND="${DEPEND}
+ dev-ml/cppo
+ dev-ml/findlib
+ dev-ml/jbuilder
+ dev-ml/opam"
+
+SLOT="0/${PV}"
+LICENSE="LGPL-2.1-with-linking-exception"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86"
+
+src_configure() {
+ ocaml src/util/configure.ml \
+ -use-libev $(usex libev true false) \
+ -use-camlp4 $(usex camlp4 true false) \
+ || die
+}
+
+src_compile() {
+ jbuilder build -p lwt || die
+ ocaml src/util/install_filter.ml || die
+}
+
+src_test() {
+ jbuilder runtest -p lwt || die
+}
+
+src_install() {
+ opam-installer -i \
+ --prefix="${ED}/usr" \
+ --libdir="${D}/$(ocamlc -where)" \
+ --docdir="${ED}/usr/share/doc/${PF}" \
+ --mandir="${ED}/usr/share/man" \
+ ${PN}.install || die
+}
diff --git a/dev-ml/lwt/metadata.xml b/dev-ml/lwt/metadata.xml
new file mode 100644
index 000000000000..818ad777f2d4
--- /dev/null
+++ b/dev-ml/lwt/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <use>
+ <flag name="camlp4">Enable camlp4 syntax extension</flag>
+ <flag name="libev">Enable the <pkg>dev-libs/libev</pkg>-based backend.</flag>
+ <flag name="ppx">Enables the ppx syntax extension</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">ocsigen/lwt</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/lwt_react/Manifest b/dev-ml/lwt_react/Manifest
new file mode 100644
index 000000000000..62977612e55a
--- /dev/null
+++ b/dev-ml/lwt_react/Manifest
@@ -0,0 +1 @@
+DIST lwt_react-1.0.1.tar.gz 50329 BLAKE2B 30de048131a0b2b3cc2711efdfa3cd9832d676f7d279871e911c7cf7291dc8a30fb8351f8dc4ee42ca0d01b44fc1b370b5045aeee36dd28bae2f731f3da377f0 SHA512 cd2dcc32ca87a3d26d1771d5bf51bd9f444c75cba028f7ff71e96cb9bc12387d66d6d0c59b6c8d4bac84fb42c6e2e969c385ef1d2f6cbc8e912963304a49eda8
diff --git a/dev-ml/lwt_react/lwt_react-1.0.1.ebuild b/dev-ml/lwt_react/lwt_react-1.0.1.ebuild
new file mode 100644
index 000000000000..89316861ed22
--- /dev/null
+++ b/dev-ml/lwt_react/lwt_react-1.0.1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+OASIS_BUILD_DOCS=1
+
+LWT_VER=3.0.0
+
+inherit oasis
+
+DESCRIPTION="GLib integration for Lwt"
+SRC_URI="https://github.com/ocsigen/lwt/releases/download/${LWT_VER}/${P}.tar.gz"
+HOMEPAGE="http://ocsigen.org/lwt"
+
+IUSE=""
+
+DEPEND="
+ >=dev-ml/lwt-${LWT_VER}:=
+ >=dev-ml/react-1.2:=
+"
+
+RDEPEND="${DEPEND}"
+
+SLOT="0/${PV}"
+LICENSE="LGPL-2.1-with-linking-exception"
+KEYWORDS="~amd64 ~arm ~ppc"
diff --git a/dev-ml/lwt_react/metadata.xml b/dev-ml/lwt_react/metadata.xml
new file mode 100644
index 000000000000..2578b2b72f97
--- /dev/null
+++ b/dev-ml/lwt_react/metadata.xml
@@ -0,0 +1,9 @@
+<?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">ocsigen/lwt</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/lwt_ssl/Manifest b/dev-ml/lwt_ssl/Manifest
new file mode 100644
index 000000000000..a9120b7f2249
--- /dev/null
+++ b/dev-ml/lwt_ssl/Manifest
@@ -0,0 +1,2 @@
+DIST lwt_ssl-1.0.1.tar.gz 48964 BLAKE2B deb6b48ef0249f7ab5c9bbb4507ce7be048c547c8aeeb9421a96cd1215c4292b6a4330ee6c6aeaf6ff092e7eaba0ef7f689ff0de2e97ff68b576cd27084719bf SHA512 429e2ee6b45e53b8f3347a0ad02531fa3ee6b3842dbf6475cf079a214f3a59bbb25f3c1c882ff32f01263711db034cc8900be827e27e6a8b0562812e4bd8e52d
+DIST lwt_ssl-1.1.1.tar.gz 288603 BLAKE2B ba22a078597c71ed51142c91d215c339f5ab9aae3a4f94f8111985ad76fba7faf60878ed3e549d79983130d8203531326c408a2f18e0f902e6171b383f26abda SHA512 207ccf8ccde13d88eb58d4ff45279f7cbde90ed5c20a941e7efa9501d9c1b8a71d7655178960c826bb52c6403c348faa5053cefc0ac197ad690a96daa55d1a32
diff --git a/dev-ml/lwt_ssl/lwt_ssl-1.0.1.ebuild b/dev-ml/lwt_ssl/lwt_ssl-1.0.1.ebuild
new file mode 100644
index 000000000000..72aa5de96791
--- /dev/null
+++ b/dev-ml/lwt_ssl/lwt_ssl-1.0.1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+OASIS_BUILD_DOCS=1
+
+LWT_VER=3.0.0
+
+inherit oasis
+
+DESCRIPTION="GLib integration for Lwt"
+SRC_URI="https://github.com/ocsigen/lwt/releases/download/${LWT_VER}/${P}.tar.gz"
+HOMEPAGE="http://ocsigen.org/lwt"
+
+IUSE=""
+
+DEPEND="
+ >=dev-ml/lwt-${LWT_VER}:=
+ >=dev-ml/ocaml-ssl-0.4.0:=
+"
+
+RDEPEND="${DEPEND}"
+
+SLOT="0/${PV}"
+LICENSE="LGPL-2.1-with-linking-exception"
+KEYWORDS="~amd64 ~arm ~ppc"
diff --git a/dev-ml/lwt_ssl/lwt_ssl-1.1.1.ebuild b/dev-ml/lwt_ssl/lwt_ssl-1.1.1.ebuild
new file mode 100644
index 000000000000..9ff2b62d7433
--- /dev/null
+++ b/dev-ml/lwt_ssl/lwt_ssl-1.1.1.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit opam
+
+DESCRIPTION="GLib integration for Lwt"
+SRC_URI="https://github.com/ocsigen/lwt/archive/${P}.tar.gz"
+HOMEPAGE="http://ocsigen.org/lwt"
+
+IUSE=""
+
+RDEPEND="
+ >=dev-ml/lwt-3.1:=
+ >=dev-ml/ocaml-ssl-0.4.0:=
+"
+DEPEND="${RDEPEND}
+ dev-ml/jbuilder"
+
+SLOT="0/${PV}"
+LICENSE="LGPL-2.1-with-linking-exception"
+KEYWORDS="~amd64 ~arm ~ppc"
+S="${WORKDIR}/lwt-${P}/"
+
+src_compile() {
+ jbuilder build -p ${PN} || die
+}
+
+src_test() {
+ jbuilder runtest -p ${PN} || die
+}
diff --git a/dev-ml/lwt_ssl/metadata.xml b/dev-ml/lwt_ssl/metadata.xml
new file mode 100644
index 000000000000..2578b2b72f97
--- /dev/null
+++ b/dev-ml/lwt_ssl/metadata.xml
@@ -0,0 +1,9 @@
+<?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">ocsigen/lwt</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/macaque/Manifest b/dev-ml/macaque/Manifest
new file mode 100644
index 000000000000..30dd90e21fe0
--- /dev/null
+++ b/dev-ml/macaque/Manifest
@@ -0,0 +1 @@
+DIST macaque-0.7.4.tar.gz 64896 BLAKE2B d0a0fcb09bd468cb5de75551ee62278282f98de4d4477c71b55c065d35bc1d6483614c578ba18f609e5cdc98bd52d93943efa9948d9c01a95b8a3d1608e246bb SHA512 db664226e58ad3db2dc00e920dcc757242b0bcc8d1b6406e6743afe6cdbe789546af131a00c07a5e2e63ed39b9017c2d8e2f5bbce63a741df58bf14633aae89a
diff --git a/dev-ml/macaque/macaque-0.7.4.ebuild b/dev-ml/macaque/macaque-0.7.4.ebuild
new file mode 100644
index 000000000000..f8b8e3fb069d
--- /dev/null
+++ b/dev-ml/macaque/macaque-0.7.4.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit oasis
+
+DESCRIPTION="DSL for SQL Queries in Caml"
+HOMEPAGE="http://ocsigen.org/macaque/"
+SRC_URI="https://github.com/ocsigen/macaque/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1-with-linking-exception"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+IUSE=""
+
+RDEPEND=">=dev-ml/pgocaml-2.1:=
+ dev-ml/camlp4:="
+DEPEND="${RDEPEND}
+ dev-ml/oasis"
+DOCS=( Changelog README.md )
+OASIS_SETUP_COMMAND="./setup.exe"
+
+src_configure() {
+ emake setup.exe
+ oasis_src_configure
+}
diff --git a/dev-ml/macaque/metadata.xml b/dev-ml/macaque/metadata.xml
new file mode 100644
index 000000000000..7e0c905a9b4b
--- /dev/null
+++ b/dev-ml/macaque/metadata.xml
@@ -0,0 +1,9 @@
+<?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">ocsigen/macaque</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/markup/Manifest b/dev-ml/markup/Manifest
new file mode 100644
index 000000000000..490a2129a27d
--- /dev/null
+++ b/dev-ml/markup/Manifest
@@ -0,0 +1 @@
+DIST markup-0.7.5.tar.gz 278654 BLAKE2B 5338d4b546c74ade522c84c5a0583ad08b09e4ca3ecb96712725dd33792e401f66f076e47cf24986047f36236c53134272cadcd2abe322307377bb79055bf39a SHA512 19350df7a3a619c479fa030b8772009bc32f3e9830494f5707e05f85b9ee9ff0ddf382d292c7a11bbd3b63c8c108e6a84b2d01f5e983f49d7cdf63ee3c4545c8
diff --git a/dev-ml/markup/markup-0.7.5.ebuild b/dev-ml/markup/markup-0.7.5.ebuild
new file mode 100644
index 000000000000..68e867c0943d
--- /dev/null
+++ b/dev-ml/markup/markup-0.7.5.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit findlib eutils
+
+DESCRIPTION="Error-recovering streaming HTML5 and XML parsers"
+HOMEPAGE="https://github.com/aantron/markup.ml"
+SRC_URI="https://github.com/aantron/markup.ml/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0/${PV}p1"
+KEYWORDS="~amd64"
+IUSE="doc test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ dev-lang/ocaml:=[ocamlopt]
+ dev-ml/lwt:=[ocamlopt(+)]
+ >=dev-ml/uutf-1.0:=[ocamlopt]
+"
+RDEPEND="${DEPEND}"
+DEPEND="${DEPEND}
+ test? ( dev-ml/ounit )
+ dev-ml/ocamlbuild"
+S="${WORKDIR}/${PN}.ml-${PV}"
+
+src_compile() {
+ emake
+ use doc && emake docs
+}
+
+src_install() {
+ findlib_src_preinst
+ emake ocamlfind-install
+ dodoc README.md
+ use doc && dohtml doc/html/*
+}
diff --git a/dev-ml/markup/metadata.xml b/dev-ml/markup/metadata.xml
new file mode 100644
index 000000000000..cc192fbdb488
--- /dev/null
+++ b/dev-ml/markup/metadata.xml
@@ -0,0 +1,9 @@
+<?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">aantron/markup.ml</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/menhir/Manifest b/dev-ml/menhir/Manifest
new file mode 100644
index 000000000000..b47b351e3ff2
--- /dev/null
+++ b/dev-ml/menhir/Manifest
@@ -0,0 +1,4 @@
+DIST menhir-20170712.tar.gz 855262 BLAKE2B 259a165f30f18720ff2fb3457a8ee51dc63202860a9ad097ad6e49e2666480019b7011a11764f2c3780cf12a246c313058a35f07d100c891e07ba3ed7cb20cca SHA512 7850fa031a2bd69e9cf17db6d8f82f716ab5f9e60b34d1a53591a3ff46750fb01880f3282a7194465441abc4c2ba60f543646097f5f0eef6fe78b36266a3dbdc
+DIST menhir-20171013.tar.gz 854000 BLAKE2B d50ce48d32d3bfd588520d6e5a8af4ea628089010fb286df6f87ee3f773273427f9ac6956b4b4bc1c27592aaea1f29447f0223b6b29d9cd0533c47d10eecb318 SHA512 ba6359c471aee62c996bd6495612f444e7ac226f7aad9991a76e4daa2df00cdec2387c488c6a29246ca48079bd8199b94de09a44f1fb05465cbeddff0b39df54
+DIST menhir-20181006.tar.gz 6665871 BLAKE2B 98820922c3dc9ffa27e0f9432d683aae3a1115cd5ba7d1114c57730c7dc679a918c14ef692d1287ca851c62d32aca50a034de1d4c6d4049ddf80e4694bbbae3e SHA512 a838c0b6411345ae64e21f8649367541a7e137af7e552e1dcc3da0c2212813de3d0c359dbd863d0130be897148063b406e0757fd2f18b42d43d3964963ebd4c7
+DIST menhir-20190924.tar.gz 2491000 BLAKE2B 463825aa0f3ea41e49d9c130226bc8bbfc2b96650debf8d79422a90b93338ead58e01aa0c34b2161e4383d1c9a8d77ab58bb1da78e3187ed60b02e13f7742844 SHA512 8036eb8a65f123ceadd21739d88dafca54a2338fc168922a1301a9fbe709ac5e8e7214d95d8114f3798c15f458822e64dcedb94f7fff18ab6f9ccfb6de462e46
diff --git a/dev-ml/menhir/menhir-20170712.ebuild b/dev-ml/menhir/menhir-20170712.ebuild
new file mode 100644
index 000000000000..51e7184f445c
--- /dev/null
+++ b/dev-ml/menhir/menhir-20170712.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit findlib eutils
+
+DESCRIPTION="LR(1) parser generator for the OCaml language"
+HOMEPAGE="http://gallium.inria.fr/~fpottier/menhir/"
+SRC_URI="http://gallium.inria.fr/~fpottier/menhir/${P}.tar.gz"
+
+LICENSE="GPL-2 LGPL-2-with-linking-exception"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86"
+IUSE="examples +ocamlopt"
+
+RDEPEND=">=dev-lang/ocaml-4.02:=[ocamlopt?]"
+DEPEND="${RDEPEND}
+ dev-ml/ocamlbuild"
+
+src_configure() {
+ if ! use ocamlopt ; then
+ export TARGET=byte
+ fi
+}
+
+src_compile() {
+ emake PREFIX="${EPREFIX}"/usr -j1
+}
+
+src_install() {
+ findlib_src_preinst
+ emake PREFIX="${ED}"/usr docdir="${ED}"/usr/share/doc/"${PF}" $(use examples || echo "DOCS=manual.pdf") install
+ use examples && docompress -x /usr/share/doc/${PF}/demos
+ dodoc README.md CHANGES.md
+}
diff --git a/dev-ml/menhir/menhir-20171013.ebuild b/dev-ml/menhir/menhir-20171013.ebuild
new file mode 100644
index 000000000000..b34b8feeb563
--- /dev/null
+++ b/dev-ml/menhir/menhir-20171013.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit findlib eutils
+
+DESCRIPTION="LR(1) parser generator for the OCaml language"
+HOMEPAGE="http://gallium.inria.fr/~fpottier/menhir/"
+SRC_URI="http://gallium.inria.fr/~fpottier/menhir/${P}.tar.gz"
+
+LICENSE="GPL-2 LGPL-2-with-linking-exception"
+SLOT="0/${PV}"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~x86"
+IUSE="examples +ocamlopt"
+
+RDEPEND=">=dev-lang/ocaml-4.02:=[ocamlopt?]"
+DEPEND="${RDEPEND}
+ dev-ml/ocamlbuild"
+
+src_configure() {
+ if ! use ocamlopt ; then
+ export TARGET=byte
+ fi
+}
+
+src_compile() {
+ emake PREFIX="${EPREFIX}"/usr -j1
+}
+
+src_install() {
+ findlib_src_preinst
+ emake PREFIX="${ED}"/usr docdir="${ED}"/usr/share/doc/"${PF}" $(use examples || echo "DOCS=manual.pdf") install
+ use examples && docompress -x /usr/share/doc/${PF}/demos
+ dodoc README.md CHANGES.md
+}
diff --git a/dev-ml/menhir/menhir-20181006.ebuild b/dev-ml/menhir/menhir-20181006.ebuild
new file mode 100644
index 000000000000..00be878804ac
--- /dev/null
+++ b/dev-ml/menhir/menhir-20181006.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit findlib eutils
+
+DESCRIPTION="LR(1) parser generator for the OCaml language"
+HOMEPAGE="http://gallium.inria.fr/~fpottier/menhir/"
+SRC_URI="http://gallium.inria.fr/~fpottier/menhir/${P}.tar.gz"
+
+LICENSE="GPL-2 LGPL-2-with-linking-exception"
+SLOT="0/${PV}"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~x86"
+IUSE="examples +ocamlopt"
+
+RDEPEND=">=dev-lang/ocaml-4.02:=[ocamlopt?]"
+DEPEND="${RDEPEND}
+ dev-ml/ocamlbuild"
+
+src_configure() {
+ if ! use ocamlopt ; then
+ export TARGET=byte
+ fi
+}
+
+src_compile() {
+ emake PREFIX="${EPREFIX}"/usr -j1
+}
+
+src_install() {
+ findlib_src_preinst
+ emake PREFIX="${ED}"/usr docdir="${ED}"/usr/share/doc/"${PF}" $(use examples || echo "DOCS=manual.pdf") install
+ use examples && docompress -x /usr/share/doc/${PF}/demos
+ dodoc README.md CHANGES.md
+}
diff --git a/dev-ml/menhir/menhir-20190924.ebuild b/dev-ml/menhir/menhir-20190924.ebuild
new file mode 100644
index 000000000000..19059e47d0da
--- /dev/null
+++ b/dev-ml/menhir/menhir-20190924.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit findlib eutils
+
+DESCRIPTION="LR(1) parser generator for the OCaml language"
+HOMEPAGE="http://gallium.inria.fr/~fpottier/menhir/"
+SRC_URI="https://gitlab.inria.fr/fpottier/${PN}/-/archive/${PV}/${P}.tar.gz"
+
+LICENSE="GPL-2 LGPL-2-with-linking-exception"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86"
+IUSE="examples +ocamlopt"
+
+RDEPEND=">=dev-lang/ocaml-4.02:=[ocamlopt?]"
+DEPEND="${RDEPEND}
+ dev-ml/ocamlbuild"
+
+src_configure() {
+ if ! use ocamlopt ; then
+ export TARGET=byte
+ fi
+}
+
+src_compile() {
+ emake PREFIX="${EPREFIX}"/usr -j1
+}
+
+src_install() {
+ findlib_src_preinst
+ emake PREFIX="${ED}"/usr docdir="${ED}"/usr/share/doc/"${PF}" $(use examples || echo "DOCS=manual.pdf") install
+ use examples && docompress -x /usr/share/doc/${PF}/demos
+ dodoc README.md CHANGES.md
+}
diff --git a/dev-ml/menhir/metadata.xml b/dev-ml/menhir/metadata.xml
new file mode 100644
index 000000000000..d85b4252fc33
--- /dev/null
+++ b/dev-ml/menhir/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<!-- maintainer-needed -->
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/merlin-extend/Manifest b/dev-ml/merlin-extend/Manifest
new file mode 100644
index 000000000000..11e157fd4b58
--- /dev/null
+++ b/dev-ml/merlin-extend/Manifest
@@ -0,0 +1 @@
+DIST merlin-extend-0.3.tar.gz 15422 BLAKE2B cfd658c9afa6f4500899c342c86c75399cbbef89fe5817c2a957ec93ba02c360fff66e01b81890d19c87a89380ba1cd352a2ffdc10a2dc53c7d535e8af5f720a SHA512 1e6436299b38c7fa57ae5b681a1409795545bc6f5956d6b1c37cbfdbdabfd90da476c030067fe2e016c823d60d1e5498c4536c869bf58425e1a6ff78295efba4
diff --git a/dev-ml/merlin-extend/merlin-extend-0.3.ebuild b/dev-ml/merlin-extend/merlin-extend-0.3.ebuild
new file mode 100644
index 000000000000..66c4758edc08
--- /dev/null
+++ b/dev-ml/merlin-extend/merlin-extend-0.3.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit findlib
+
+DESCRIPTION="SDK to extend Merlin"
+HOMEPAGE="https://github.com/let-def/merlin-extend"
+SRC_URI="https://github.com/let-def/merlin-extend/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+IUSE=""
+
+DEPEND="dev-lang/ocaml:="
+RDEPEND="${DEPEND}"
+DEPEND="${DEPEND}
+ dev-ml/cppo"
+
+src_install() {
+ findlib_src_preinst
+ default
+}
diff --git a/dev-ml/merlin-extend/metadata.xml b/dev-ml/merlin-extend/metadata.xml
new file mode 100644
index 000000000000..b1c4d0af3e09
--- /dev/null
+++ b/dev-ml/merlin-extend/metadata.xml
@@ -0,0 +1,9 @@
+<?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">let-def/merlin-extend</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/metadata.xml b/dev-ml/metadata.xml
new file mode 100644
index 000000000000..54ef546c0f26
--- /dev/null
+++ b/dev-ml/metadata.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<catmetadata>
+ <longdescription lang="en">
+ The dev-ml category contains libraries and utilities relevant to the
+ ML programming language.
+ </longdescription>
+ <longdescription lang="de">
+ Die Kategorie dev-ml enthält Bibliotheken und Werkzeuge für die
+ Programmiersprache ML.
+ </longdescription>
+ <longdescription lang="es">
+ La categoría dev-ml contiene librerías y utilidades referentes al
+ lenguaje de programación ML.
+ </longdescription>
+ <longdescription lang="ja">
+ dev-ml カテゴリーにはMLプログラミング言語に関連したライブラリーと
+ ユーティリティが含まれます。
+ </longdescription>
+ <longdescription lang="nl">
+ De dev-ml categorie bevat bibliotheken en hulpmiddelen voor het gebruik
+ van de programmeertaal ML.
+ </longdescription>
+ <longdescription lang="vi">
+ Nhóm dev-ml chứa các thư viện và tiện ích liên quan
+ đến ngôn ngữ lập trình ML.
+ </longdescription>
+ <longdescription lang="it">
+ La categoría dev-ml contiene librerie ed utilità per il linguaggio di programmazione ML.
+ </longdescription>
+ <longdescription lang="pt">
+ A categoria dev-ml contém bibliotecas e utilitários referentes
+ à linguagem de programação ML.
+ </longdescription>
+ <longdescription lang="pl">
+ Kategoria dev-ml zawiera biblioteki i narzędzia związane z
+ językiem programowania ML.
+ </longdescription>
+</catmetadata>
+
diff --git a/dev-ml/mtime/Manifest b/dev-ml/mtime/Manifest
new file mode 100644
index 000000000000..5218f058d5c2
--- /dev/null
+++ b/dev-ml/mtime/Manifest
@@ -0,0 +1 @@
+DIST mtime-1.1.0.tbz 15467 BLAKE2B 975fdb01c6a4806035a5fbc256d192d6c2f45bdfb750045293b10a732c5613108d9bce897d3c1be660af60d6e9bafbf299dedbc0d872d1c09f65f47b11c9a6b6 SHA512 8ed5dae589dd27fc6e748218a9d9fb9d7d954d231fc2100d61c1b336e0ed38a215bc608cdea9965547729177c78c868c1de6a5ceac6735686a3de1c4a791746c
diff --git a/dev-ml/mtime/metadata.xml b/dev-ml/mtime/metadata.xml
new file mode 100644
index 000000000000..2fe40ee713ad
--- /dev/null
+++ b/dev-ml/mtime/metadata.xml
@@ -0,0 +1,9 @@
+<?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">dbuenzli/mtime</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/mtime/mtime-1.1.0.ebuild b/dev-ml/mtime/mtime-1.1.0.ebuild
new file mode 100644
index 000000000000..f1369810f22e
--- /dev/null
+++ b/dev-ml/mtime/mtime-1.1.0.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit eutils opam
+
+DESCRIPTION="OCaml module to access monotonic wall-clock time"
+HOMEPAGE="https://erratique.ch/software/mtime https://github.com/dbuenzli/mtime"
+SRC_URI="https://erratique.ch/software/mtime/releases/${P}.tbz"
+
+LICENSE="ISC"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+IUSE="javascript test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="dev-lang/ocaml:=[ocamlopt]
+ javascript? ( dev-ml/js_of_ocaml:= )
+"
+DEPEND="${RDEPEND}
+ dev-ml/topkg
+ dev-ml/ocamlbuild
+ dev-ml/findlib"
+
+src_compile() {
+ ocaml pkg/pkg.ml build \
+ --with-js_of_ocaml $(usex javascript true false) \
+ --tests $(usex test true false) \
+ || die
+}
+
+src_test() {
+ ocaml pkg/pkg.ml test || die
+}
diff --git a/dev-ml/num/Manifest b/dev-ml/num/Manifest
new file mode 100644
index 000000000000..944b4079b5a1
--- /dev/null
+++ b/dev-ml/num/Manifest
@@ -0,0 +1 @@
+DIST num-1.3.tar.gz 66251 BLAKE2B d6fde246693c8aef3b881a4ebc2b601392e0f0bf561dc4f4d32a5e1f835a5186deba3ffa77c88c6c05cd6e837dc836567fcabffefae99ce1ccae94e1bdfc849a SHA512 c88310f8c45700990095e6b2e9abf24c27347711b9abfd1dde75e540fbbfc6a365e6713bd69f66009af305728fcb36dc61eb37fdd0be7d73824b0e92fbe8c031
diff --git a/dev-ml/num/files/num-1.3-cflags.patch b/dev-ml/num/files/num-1.3-cflags.patch
new file mode 100644
index 000000000000..771455c4f724
--- /dev/null
+++ b/dev-ml/num/files/num-1.3-cflags.patch
@@ -0,0 +1,11 @@
+--- a/src/Makefile 2020-05-21 18:54:31.176399032 +0200
++++ b/src/Makefile 2020-05-21 18:55:27.881498310 +0200
+@@ -65,7 +65,7 @@
+ %.cmx: %.ml
+ $(OCAMLOPT) $(CAMLOPTFLAGS) -c $*.ml
+ %.$(O): %.c
+- $(OCAMLC) -ccopt -DBNG_ARCH_$(BNG_ARCH) -c $*.c
++ $(OCAMLC) -ccopt "-DBNG_ARCH_$(BNG_ARCH) $(CFLAGS)" -c $*.c
+
+ # Legacy installation: files go into OCaml's stdlib directory; only META
+ # is installed via findlib
diff --git a/dev-ml/num/metadata.xml b/dev-ml/num/metadata.xml
new file mode 100644
index 000000000000..7965efae3fd7
--- /dev/null
+++ b/dev-ml/num/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/num/num-1.3.ebuild b/dev-ml/num/num-1.3.ebuild
new file mode 100644
index 000000000000..8cea14497085
--- /dev/null
+++ b/dev-ml/num/num-1.3.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 x86"
+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/oasis/Manifest b/dev-ml/oasis/Manifest
new file mode 100644
index 000000000000..e71acdc8409a
--- /dev/null
+++ b/dev-ml/oasis/Manifest
@@ -0,0 +1,2 @@
+DIST oasis-0.4.10.tar.gz 394732 BLAKE2B 6347e532d595e33a3a62f63669625d6de0081e8be90568a0e9f334b9745a40ec2593e7c79d21174f3119728c4831393efff0a3ab6d1aeadc594a0f96e5112a72 SHA512 c173a3a774d13a7cb21ddb44f89dadef210d331ab5f3a1e7ff1705e815572f70e22815736cc3f3788b6d8f784c21a309b45c5bf5e984e583b31931847bf107fd
+DIST oasis-0.4.8.tar.gz 389565 BLAKE2B 50103f261fd4c9d11fea1d7c26abc047fd0f30ab17b871672cb1ce0a89fd47d378fd4f31d48f1a6835361ddb74761a0ad9fe4bc5ca514e470a4cf3594f30c762 SHA512 e0baf0f048647c25eac5472db0d2a22d0fcaf85fe61ebd88ec5a101c20d4916ecfa9d10fae069ba4479abb22b90c44f18312b9252727a8c7c7de4aa2d8d72663
diff --git a/dev-ml/oasis/metadata.xml b/dev-ml/oasis/metadata.xml
new file mode 100644
index 000000000000..3d4429370ed8
--- /dev/null
+++ b/dev-ml/oasis/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/oasis/oasis-0.4.10.ebuild b/dev-ml/oasis/oasis-0.4.10.ebuild
new file mode 100644
index 000000000000..86cf986a25a6
--- /dev/null
+++ b/dev-ml/oasis/oasis-0.4.10.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+OASIS_BUILD_TESTS=1
+OASIS_BUILD_DOCS=1
+
+inherit oasis
+
+MY_P=${P/_/\~}
+DESCRIPTION="Tool to integrate a configure, build and install system in OCaml project"
+HOMEPAGE="http://oasis.forge.ocamlcore.org/index.php"
+SRC_URI="http://forge.ocamlcore.org/frs/download.php/1694/${MY_P}.tar.gz"
+
+LICENSE="LGPL-2.1-with-linking-exception"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND=">=dev-ml/ocaml-data-notation-0.0.11:=
+ dev-ml/ocamlbuild:=[ocamlopt]
+ dev-ml/camlp4:=
+"
+DEPEND="${RDEPEND}
+ >=dev-ml/findlib-1.3.1
+ dev-ml/ocamlify
+ dev-ml/ocamlmod
+ !<sci-chemistry/oasis-4.0-r3
+ test? (
+ >=dev-ml/ocaml-fileutils-0.4.2
+ >=dev-ml/ounit-2.0.0
+ >=dev-ml/ocaml-expect-0.0.4
+ dev-ml/pcre-ocaml
+ dev-ml/extlib
+ )"
+
+RESTRICT+=" strip"
+S="${WORKDIR}/${MY_P}"
+DOCS=( "README.md" "TODO.txt" "AUTHORS.md" "CHANGES.txt" )
diff --git a/dev-ml/oasis/oasis-0.4.8.ebuild b/dev-ml/oasis/oasis-0.4.8.ebuild
new file mode 100644
index 000000000000..f4b70d1c6f47
--- /dev/null
+++ b/dev-ml/oasis/oasis-0.4.8.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+OASIS_BUILD_TESTS=1
+OASIS_BUILD_DOCS=1
+
+inherit oasis
+
+MY_P=${P/_/\~}
+DESCRIPTION="Tool to integrate a configure, build and install system in OCaml project"
+HOMEPAGE="http://oasis.forge.ocamlcore.org/index.php"
+SRC_URI="http://forge.ocamlcore.org/frs/download.php/1669/${MY_P}.tar.gz"
+
+LICENSE="LGPL-2.1-with-linking-exception"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND=">=dev-ml/ocaml-data-notation-0.0.11:=
+ dev-ml/ocamlbuild:=[ocamlopt]"
+DEPEND="${RDEPEND}
+ >=dev-ml/findlib-1.3.1
+ dev-ml/ocamlify
+ dev-ml/ocamlmod
+ !<sci-chemistry/oasis-4.0-r3
+ test? (
+ >=dev-ml/ocaml-fileutils-0.4.2
+ >=dev-ml/ounit-2.0.0
+ >=dev-ml/ocaml-expect-0.0.4
+ dev-ml/pcre-ocaml
+ dev-ml/extlib
+ )"
+
+RESTRICT+=" strip"
+S="${WORKDIR}/${MY_P}"
+DOCS=( "README.md" "TODO.txt" "AUTHORS.md" "CHANGES.txt" )
diff --git a/dev-ml/ocaml-augeas/Manifest b/dev-ml/ocaml-augeas/Manifest
new file mode 100644
index 000000000000..5384aa76d59c
--- /dev/null
+++ b/dev-ml/ocaml-augeas/Manifest
@@ -0,0 +1 @@
+DIST ocaml-augeas-0.5.tar.gz 59908 BLAKE2B f9f51afa0aec82e95d7bd81811e93e10587f1f2c1905338c0bbe47de61d983c24c0e5ab77aff1ca319834bf2199040a482b453177fa3c774e24ab72c3a534c14 SHA512 dfbad89790c6b5ada0e1239d002cb61a56a15350b2687d0987e0c61108d905e0c03756c08db7a3121eac3966fbeed86500e6f3c3c416cea2b974d9f50b8adabf
diff --git a/dev-ml/ocaml-augeas/metadata.xml b/dev-ml/ocaml-augeas/metadata.xml
new file mode 100644
index 000000000000..a65c35c75af5
--- /dev/null
+++ b/dev-ml/ocaml-augeas/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>prometheanfire@gentoo.org</email>
+</maintainer>
+<longdescription lang="en">
+ocaml-augeas is a set of Ocaml bindings around augeas.
+</longdescription>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/ocaml-augeas/ocaml-augeas-0.5.ebuild b/dev-ml/ocaml-augeas/ocaml-augeas-0.5.ebuild
new file mode 100644
index 000000000000..92d39261f54a
--- /dev/null
+++ b/dev-ml/ocaml-augeas/ocaml-augeas-0.5.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit findlib
+
+DESCRIPTION="Ocaml bindings for Augeas"
+HOMEPAGE="http://augeas.net/"
+#SRC_URI="http://augeas.net/download/ocaml/${P}.tar.gz"
+SRC_URI="https://people.redhat.com/~rjones/augeas/files/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="app-admin/augeas
+ dev-ml/ocaml-autoconf
+ dev-ml/findlib
+ dev-lang/ocaml[ocamlopt]"
+RDEPEND="${DEPEND}"
+
+src_install() {
+ findlib_src_install
+}
diff --git a/dev-ml/ocaml-autoconf/Manifest b/dev-ml/ocaml-autoconf/Manifest
new file mode 100644
index 000000000000..49d535a89364
--- /dev/null
+++ b/dev-ml/ocaml-autoconf/Manifest
@@ -0,0 +1 @@
+DIST ocaml-autoconf-1.1.tar.gz 10987 BLAKE2B 830a5f5055866054fe251a5e67aad51985b047c1fa8f233453cea95cbc2a41c76e89bc1cf61c56562b0f2880fd6a40695358aea8c36a13df89f7f7ece2309e54 SHA512 ee99766df98b003a3caf33d1109fb0e0c068cecd16a4ea77f39adab910df3198981de45302bdedf17d9ae6b4801a1c45ce5a5f47860d789ba06027910aeea3a5
diff --git a/dev-ml/ocaml-autoconf/metadata.xml b/dev-ml/ocaml-autoconf/metadata.xml
new file mode 100644
index 000000000000..d85b4252fc33
--- /dev/null
+++ b/dev-ml/ocaml-autoconf/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<!-- maintainer-needed -->
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/ocaml-autoconf/ocaml-autoconf-1.1-r1.ebuild b/dev-ml/ocaml-autoconf/ocaml-autoconf-1.1-r1.ebuild
new file mode 100644
index 000000000000..7b2ab99fb8e2
--- /dev/null
+++ b/dev-ml/ocaml-autoconf/ocaml-autoconf-1.1-r1.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="autoconf macros to support configuration of OCaml programs and libraries"
+HOMEPAGE="http://ocaml-autoconf.forge.ocamlcore.org/"
+SRC_URI="http://forge.ocamlcore.org/frs/download.php/282/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ppc x86"
+
+src_install() {
+ emake DESTDIR="${D}" prefix="/usr" install
+ dodoc README
+}
diff --git a/dev-ml/ocaml-base64/Manifest b/dev-ml/ocaml-base64/Manifest
new file mode 100644
index 000000000000..4f8e3c8b2635
--- /dev/null
+++ b/dev-ml/ocaml-base64/Manifest
@@ -0,0 +1 @@
+DIST ocaml-base64-2.2.0.tar.gz 5056 BLAKE2B c8a95d31646e5cad741dbece511e3f0fb736c31e5f90b560e2dffe5787810cd218966016840eef0c67517e790d0e4c67111c3382303c740791475647bac27de1 SHA512 0390c450076786777baeb596bc81bc3357074619894334a9608f958a2a10113e22afdbd3a2b368bc93c5c5636828fc2600818399847704309e2cc6092b10f3b0
diff --git a/dev-ml/ocaml-base64/metadata.xml b/dev-ml/ocaml-base64/metadata.xml
new file mode 100644
index 000000000000..5b6353bcccf8
--- /dev/null
+++ b/dev-ml/ocaml-base64/metadata.xml
@@ -0,0 +1,9 @@
+<?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">mirage/ocaml-base64</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/ocaml-base64/ocaml-base64-2.2.0.ebuild b/dev-ml/ocaml-base64/ocaml-base64-2.2.0.ebuild
new file mode 100644
index 000000000000..271b24dd32e1
--- /dev/null
+++ b/dev-ml/ocaml-base64/ocaml-base64-2.2.0.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+inherit findlib opam
+
+DESCRIPTION="Library for radix-64 representation (de)coding"
+HOMEPAGE="https://github.com/mirage/ocaml-base64"
+SRC_URI="https://github.com/mirage/ocaml-base64/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="ISC"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ dev-ml/jbuilder
+ test? ( dev-ml/rresult dev-ml/bos dev-ml/alcotest )
+"
+
+src_install() {
+ opam_src_install base64
+}
diff --git a/dev-ml/ocaml-cohttp/Manifest b/dev-ml/ocaml-cohttp/Manifest
new file mode 100644
index 000000000000..667c5207f2b2
--- /dev/null
+++ b/dev-ml/ocaml-cohttp/Manifest
@@ -0,0 +1 @@
+DIST ocaml-cohttp-0.22.0.tar.gz 194568 BLAKE2B 220c291cdf50c1720e553cc224f6b3c7723add13a637cedd33deb162d4f420a8577b716f073c2b6a630de4458bdc9ac69d8eeeb1ccd44cb310b1a1262188c680 SHA512 60ae828a3e2085d5468f5d177f50a8e7a02ed47b8036af5548996ba3d36d8eef756662259abc65035c5d1f4158c9760762ac5f85376d6bfc76a7f027f01fa5b2
diff --git a/dev-ml/ocaml-cohttp/metadata.xml b/dev-ml/ocaml-cohttp/metadata.xml
new file mode 100644
index 000000000000..081853c95fac
--- /dev/null
+++ b/dev-ml/ocaml-cohttp/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <use>
+ <flag name="async">Enables support for the <pkg>dev-ml/async</pkg> asynchronous execution library.</flag>
+ <flag name="lwt">Enables support for the <pkg>dev-ml/lwt</pkg> cooperative light-weight thread library.</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">mirage/ocaml-cohttp</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/ocaml-cohttp/ocaml-cohttp-0.22.0.ebuild b/dev-ml/ocaml-cohttp/ocaml-cohttp-0.22.0.ebuild
new file mode 100644
index 000000000000..bb00e40e1629
--- /dev/null
+++ b/dev-ml/ocaml-cohttp/ocaml-cohttp-0.22.0.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+OASIS_BUILD_TESTS=1
+OASIS_BUILD_DOCS=1
+
+inherit oasis
+
+DESCRIPTION="Very lightweight HTTP server using Lwt or Async"
+HOMEPAGE="https://github.com/mirage/ocaml-cohttp"
+SRC_URI="https://github.com/mirage/ocaml-cohttp/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="ISC"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+IUSE="async javascript +lwt"
+
+DEPEND="
+ dev-ml/ocaml-re:=
+ dev-ml/stringext:=
+ dev-ml/ocaml-uri:=
+ dev-ml/fieldslib:=
+ dev-ml/sexplib:=
+ dev-ml/ppx_fields_conv:=
+ dev-ml/ppx_sexp_conv:=
+ dev-ml/ocaml-base64:=
+ lwt? (
+ dev-ml/lwt:=
+ dev-ml/logs:=[fmt,lwt]
+ dev-ml/cmdliner:=
+ dev-ml/ocaml-conduit:=
+ dev-ml/ocaml-magic-mime:=
+ )
+ async? (
+ dev-ml/ocaml-conduit:=
+ dev-ml/logs:=[fmt]
+ dev-ml/ocaml-magic-mime:=
+ dev-ml/fmt:=
+ )
+ javascript? (
+ dev-ml/js_of_ocaml:=[ppx]
+ )
+"
+RDEPEND="${DEPEND}"
+DEPEND="${DEPEND}
+ test? (
+ dev-ml/ounit
+ dev-ml/alcotest
+ )
+"
+DOCS=( README.md CHANGES DESIGN.md TODO.md )
+
+src_configure() {
+ local oasis_configure_opts="
+ $(use_enable lwt) $(use_enable lwt lwt-unix)
+ $(use_enable async)
+ $(use_enable javascript js)
+ "
+ oasis_src_configure
+}
diff --git a/dev-ml/ocaml-compiler-libs/Manifest b/dev-ml/ocaml-compiler-libs/Manifest
new file mode 100644
index 000000000000..bc5a18b49d93
--- /dev/null
+++ b/dev-ml/ocaml-compiler-libs/Manifest
@@ -0,0 +1 @@
+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
new file mode 100644
index 000000000000..c0ff6d5d6be3
--- /dev/null
+++ b/dev-ml/ocaml-compiler-libs/metadata.xml
@@ -0,0 +1,9 @@
+<?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">janestreet/ocaml-compiler-libs</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/ocaml-compiler-libs/ocaml-compiler-libs-0.9.0.ebuild b/dev-ml/ocaml-compiler-libs/ocaml-compiler-libs-0.9.0.ebuild
new file mode 100644
index 000000000000..05a9b54ea1de
--- /dev/null
+++ b/dev-ml/ocaml-compiler-libs/ocaml-compiler-libs-0.9.0.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit opam
+
+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 ~ppc ~x86"
+IUSE=""
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ dev-ml/jbuilder"
diff --git a/dev-ml/ocaml-conduit/Manifest b/dev-ml/ocaml-conduit/Manifest
new file mode 100644
index 000000000000..be5f936e9154
--- /dev/null
+++ b/dev-ml/ocaml-conduit/Manifest
@@ -0,0 +1 @@
+DIST ocaml-conduit-0.15.4.tar.gz 38960 BLAKE2B 3f4631a6a67ab00ecc0d903f0f0b832035b61d3fceec57db50bea0f56454292b4fa3911f4eeb5e05f8fb9fb68f13ca0f9e6c3c078d3bd5d0a1bb7c4bcac18495 SHA512 12f61828c943cb60b2c9be080fb32c8fe5ba16d8bac46a8b788f2ea9b8b7a3a53563defbb05271d516365d18cddafe57051125391ac018328608c4f6537ec5b0
diff --git a/dev-ml/ocaml-conduit/metadata.xml b/dev-ml/ocaml-conduit/metadata.xml
new file mode 100644
index 000000000000..817411eaaa4e
--- /dev/null
+++ b/dev-ml/ocaml-conduit/metadata.xml
@@ -0,0 +1,9 @@
+<?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">mirage/ocaml-conduit</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/ocaml-conduit/ocaml-conduit-0.15.4.ebuild b/dev-ml/ocaml-conduit/ocaml-conduit-0.15.4.ebuild
new file mode 100644
index 000000000000..5690ccf9541d
--- /dev/null
+++ b/dev-ml/ocaml-conduit/ocaml-conduit-0.15.4.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit findlib eutils
+
+DESCRIPTION="Dereference URIs into communication channels for Async or Lwt"
+HOMEPAGE="https://github.com/mirage/ocaml-conduit"
+SRC_URI="https://github.com/mirage/ocaml-conduit/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="ISC"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+IUSE=""
+
+DEPEND="
+ dev-lang/ocaml:=
+ dev-ml/sexplib:=
+ dev-ml/stringext:=
+ dev-ml/ocaml-uri:=
+ dev-ml/logs:=
+ dev-ml/ocaml-cstruct:=
+ dev-ml/ocaml-ipaddr:=
+
+ >=dev-ml/lwt-3:=
+ dev-ml/lwt_ssl:=
+ dev-ml/async:=
+ dev-ml/dns:=
+ dev-ml/ocaml-ssl:=
+"
+RDEPEND="${DEPEND}"
+DEPEND="${DEPEND}
+ dev-ml/findlib
+ dev-ml/ocamlbuild
+ dev-ml/ppx_driver
+ dev-ml/ppx_optcomp
+ dev-ml/ppx_sexp_conv
+"
+
+DOCS=( TODO.md README.md CHANGES )
+
+src_install() {
+ findlib_src_preinst
+ default
+}
diff --git a/dev-ml/ocaml-cstruct/Manifest b/dev-ml/ocaml-cstruct/Manifest
new file mode 100644
index 000000000000..68f49f48f9e4
--- /dev/null
+++ b/dev-ml/ocaml-cstruct/Manifest
@@ -0,0 +1 @@
+DIST ocaml-cstruct-3.1.1.tar.gz 208725 BLAKE2B 2818c5695c4ab3d102cfa08a288e80e80d7fa4372a5d97aac831429f0681e21cb6b03baac245c7c1171a8efa23b8d6bca661ee74db0efe8c2649727d9be56505 SHA512 22ec8fe027dbebee537ff950c2aa9a494d0c4c000d8c4df848eae157b1c9502b73c208bb92c21fa4c13ba0291b7750de31e4c96b3a0571397402f841c3e01c21
diff --git a/dev-ml/ocaml-cstruct/metadata.xml b/dev-ml/ocaml-cstruct/metadata.xml
new file mode 100644
index 000000000000..a0c1a06ae3b5
--- /dev/null
+++ b/dev-ml/ocaml-cstruct/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <use>
+ <flag name="async">Support for asynchronous execution</flag>
+ <flag name="lwt">Enable threads via lwt</flag>
+ <flag name="ppx">Enable the ppx syntax extension</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">mirage/ocaml-cstruct</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/ocaml-cstruct/ocaml-cstruct-3.1.1.ebuild b/dev-ml/ocaml-cstruct/ocaml-cstruct-3.1.1.ebuild
new file mode 100644
index 000000000000..f766d6e0c4f8
--- /dev/null
+++ b/dev-ml/ocaml-cstruct/ocaml-cstruct-3.1.1.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit findlib opam
+
+DESCRIPTION="Map OCaml arrays onto C-like structs"
+HOMEPAGE="https://github.com/mirage/ocaml-cstruct https://mirage.io"
+SRC_URI="https://github.com/mirage/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="ISC"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+IUSE="async +lwt +ppx test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ async? (
+ dev-ml/async_kernel:=
+ dev-ml/async_unix:=
+ dev-ml/core_kernel:=
+ )
+ lwt? ( dev-ml/lwt:= )
+ ppx? (
+ dev-ml/ppx_tools:=
+ dev-ml/ocaml-migrate-parsetree:=
+ >=dev-ml/ppx_tools_versioned-5.0.1:=
+ )
+ dev-ml/ocplib-endian:=
+ dev-ml/sexplib:=
+ dev-ml/type-conv:=
+"
+DEPEND="
+ dev-ml/jbuilder
+ test? (
+ dev-ml/ounit
+ ppx? ( dev-ml/ppx_driver dev-ml/ppx_sexp_conv )
+ )
+ ${RDEPEND}
+"
+
+get_targets() {
+ local tgt="cstruct,cstruct-unix"
+ use lwt && tgt+=",cstruct-lwt"
+ use async && tgt+=",cstruct-async"
+ use ppx && tgt+=",ppx_cstruct"
+ echo "${tgt}"
+}
+
+src_compile() {
+ jbuilder build -p $(get_targets) || die
+}
+
+src_test() {
+ jbuilder runtest -p $(get_targets) || die
+}
+
+src_install() {
+ opam-install cstruct
+ opam-install cstruct-unix
+ use lwt && opam-install cstruct-lwt
+ use async && opam-install cstruct-async
+ use ppx && opam-install ppx_cstruct
+}
diff --git a/dev-ml/ocaml-ctypes/Manifest b/dev-ml/ocaml-ctypes/Manifest
new file mode 100644
index 000000000000..dca907ace49c
--- /dev/null
+++ b/dev-ml/ocaml-ctypes/Manifest
@@ -0,0 +1,4 @@
+DIST ocaml-ctypes-0.11.2.tar.gz 203564 BLAKE2B 2a8c0ee8f8dcd78c3f93b506e92f2c3476c1505d8b58be9273405b4c198500d8e5ff4b0689f76599cc3e92ebb1f5db685c025e2f6a29f590ef21e36c4ac4c3ed SHA512 f3d75e9e596f68438733090fea8c675624c3b186a77c3adf1eca8f12cc2da336f0f5b1688c2ee788726e873bbb0c4dce1d237d53d1637d78e4ad6a8eae1f912a
+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
diff --git a/dev-ml/ocaml-ctypes/metadata.xml b/dev-ml/ocaml-ctypes/metadata.xml
new file mode 100644
index 000000000000..99bb2d143730
--- /dev/null
+++ b/dev-ml/ocaml-ctypes/metadata.xml
@@ -0,0 +1,9 @@
+<?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>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/ocaml-ctypes/ocaml-ctypes-0.11.2.ebuild b/dev-ml/ocaml-ctypes/ocaml-ctypes-0.11.2.ebuild
new file mode 100644
index 000000000000..c2e1edb4209f
--- /dev/null
+++ b/dev-ml/ocaml-ctypes/ocaml-ctypes-0.11.2.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+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 x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-lang/ocaml-4.02:=[ocamlopt]
+ virtual/libffi
+"
+DEPEND="${RDEPEND}
+ test? ( dev-ml/ounit )"
+
+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-ctypes/ocaml-ctypes-0.11.3.ebuild b/dev-ml/ocaml-ctypes/ocaml-ctypes-0.11.3.ebuild
new file mode 100644
index 000000000000..7429fab28811
--- /dev/null
+++ b/dev-ml/ocaml-ctypes/ocaml-ctypes-0.11.3.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+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 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-lang/ocaml-4.02:=[ocamlopt]
+ virtual/libffi
+"
+DEPEND="${RDEPEND}
+ test? ( dev-ml/ounit )"
+
+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-ctypes/ocaml-ctypes-0.12.1.ebuild b/dev-ml/ocaml-ctypes/ocaml-ctypes-0.12.1.ebuild
new file mode 100644
index 000000000000..ea192196f12a
--- /dev/null
+++ b/dev-ml/ocaml-ctypes/ocaml-ctypes-0.12.1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+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"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-lang/ocaml-4.02:=[ocamlopt]
+ virtual/libffi
+ dev-ml/integers:=
+"
+DEPEND="${RDEPEND}
+ test? ( dev-ml/ounit dev-ml/lwt )"
+
+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-ctypes/ocaml-ctypes-0.13.0.ebuild b/dev-ml/ocaml-ctypes/ocaml-ctypes-0.13.0.ebuild
new file mode 100644
index 000000000000..ea192196f12a
--- /dev/null
+++ b/dev-ml/ocaml-ctypes/ocaml-ctypes-0.13.0.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+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"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-lang/ocaml-4.02:=[ocamlopt]
+ virtual/libffi
+ dev-ml/integers:=
+"
+DEPEND="${RDEPEND}
+ test? ( dev-ml/ounit dev-ml/lwt )"
+
+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-data-notation/Manifest b/dev-ml/ocaml-data-notation/Manifest
new file mode 100644
index 000000000000..0ee64b7f2284
--- /dev/null
+++ b/dev-ml/ocaml-data-notation/Manifest
@@ -0,0 +1 @@
+DIST ocaml-data-notation-0.0.11.tar.gz 63968 BLAKE2B bc01d71c6d98b5fa9aa2bbc5889e203f23b08e1e7b0c5bb5cd94170ad1be962aefb847ff6c263a52f93ec938a6ab2d2ebe7877b0c27e8018d8f05b170b13b67d SHA512 010c6105b0745c4dbf426186915078cd71d02d56e19ca01089a37f803c9d81c02a22e64184b9b4a42d44450834527a050ff20430f8c2d8a972610717f4c653d7
diff --git a/dev-ml/ocaml-data-notation/metadata.xml b/dev-ml/ocaml-data-notation/metadata.xml
new file mode 100644
index 000000000000..d85b4252fc33
--- /dev/null
+++ b/dev-ml/ocaml-data-notation/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<!-- maintainer-needed -->
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/ocaml-data-notation/ocaml-data-notation-0.0.11-r1.ebuild b/dev-ml/ocaml-data-notation/ocaml-data-notation-0.0.11-r1.ebuild
new file mode 100644
index 000000000000..625122a633ef
--- /dev/null
+++ b/dev-ml/ocaml-data-notation/ocaml-data-notation-0.0.11-r1.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+OASIS_BUILD_TESTS=1
+
+inherit oasis
+
+DESCRIPTION="Use type-conv to dump OCaml data structure using OCaml data notation"
+HOMEPAGE="http://forge.ocamlcore.org/projects/odn"
+SRC_URI="http://forge.ocamlcore.org/frs/download.php/1310/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND=">=dev-ml/type-conv-108.07.01:=
+ dev-ml/camlp4:=
+ "
+DEPEND="${RDEPEND}
+ test? ( >=dev-ml/ounit-2.0.0[ocamlopt?] dev-ml/ocaml-fileutils[ocamlopt?] )"
+
+DOCS=( "README.txt" "AUTHORS.txt" "CHANGES.txt" )
diff --git a/dev-ml/ocaml-dispatch/Manifest b/dev-ml/ocaml-dispatch/Manifest
new file mode 100644
index 000000000000..d6eb8d0571b6
--- /dev/null
+++ b/dev-ml/ocaml-dispatch/Manifest
@@ -0,0 +1,2 @@
+DIST ocaml-dispatch-0.3.0.tar.gz 51453 BLAKE2B bd7965396a82a9f767abd05079496a5e0c1f12c3fe02d8c1d79b41db10010eefd89edf3351d8d05f132f0df3c3ab79533902a98752e571bfd09d4f2798f1db57 SHA512 0f09eae45a2ecae27d07e247b6a47f307e074342e337e7be262f5183f77090f0aef81fb5c0bf499732bd0a711d4d51775cbcea5e463011f43a1777582d78806b
+DIST ocaml-dispatch-0.4.0.tar.gz 7554 BLAKE2B 9bbe102df8a27642cbf54ad876caa276ba966ca3b19af53ac8f957799d0ca98b030c0d5ec055cc2868b2c374d71371c6e91ef0b89f4b5a072fbe2c47133df919 SHA512 d5318bda4079c21820fce5b21d178ed88fd0535a5cdc559dd6ceeb4d06ffb08456ee5aec1e56efd40b6d4f456f7d5c7eda17dc728666e6514dc936898b605b36
diff --git a/dev-ml/ocaml-dispatch/metadata.xml b/dev-ml/ocaml-dispatch/metadata.xml
new file mode 100644
index 000000000000..c7217aecbb92
--- /dev/null
+++ b/dev-ml/ocaml-dispatch/metadata.xml
@@ -0,0 +1,9 @@
+<?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">inhabitedtype/ocaml-dispatch</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/ocaml-dispatch/ocaml-dispatch-0.3.0.ebuild b/dev-ml/ocaml-dispatch/ocaml-dispatch-0.3.0.ebuild
new file mode 100644
index 000000000000..0056e666f79f
--- /dev/null
+++ b/dev-ml/ocaml-dispatch/ocaml-dispatch-0.3.0.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+OASIS_BUILD_DOCS=1
+OASIS_BUILD_TESTS=1
+
+inherit oasis
+
+DESCRIPTION="Path-based dispatching for client- and server-side applications"
+HOMEPAGE="https://github.com/inhabitedtype/ocaml-dispatch"
+SRC_URI="https://github.com/inhabitedtype/ocaml-dispatch/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+IUSE="javascript"
+
+DEPEND="
+ javascript? ( dev-ml/js_of_ocaml:=[ppx,ocamlopt?] )
+ dev-ml/result:=[ocamlopt?]
+"
+RDEPEND="${DEPEND}"
+DEPEND="${DEPEND}
+ test? ( dev-ml/ounit[ocamlopt?] )
+"
+
+DOCS=( "README.md" )
+
+src_configure() {
+ oasis_configure_opts="$(use_enable javascript js-of-ocaml)" \
+ oasis_src_configure
+}
diff --git a/dev-ml/ocaml-dispatch/ocaml-dispatch-0.4.0.ebuild b/dev-ml/ocaml-dispatch/ocaml-dispatch-0.4.0.ebuild
new file mode 100644
index 000000000000..2e502161f235
--- /dev/null
+++ b/dev-ml/ocaml-dispatch/ocaml-dispatch-0.4.0.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit findlib
+
+DESCRIPTION="Path-based dispatching for client- and server-side applications"
+HOMEPAGE="https://github.com/inhabitedtype/ocaml-dispatch"
+SRC_URI="https://github.com/inhabitedtype/ocaml-dispatch/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ dev-ml/result:=
+ dev-lang/ocaml:=
+"
+RDEPEND="${DEPEND}"
+DEPEND="${DEPEND}
+ dev-ml/jbuilder
+ dev-ml/opam
+ test? ( dev-ml/ounit )
+"
+
+src_compile() {
+ jbuilder build -p dispatch || die
+}
+
+oinstall() {
+ opam-installer -i \
+ --prefix="${ED}/usr" \
+ --libdir="${D}/$(ocamlc -where)" \
+ --docdir="${ED}/usr/share/doc/${PF}" \
+ --mandir="${ED}/usr/share/man" \
+ ${1}.install || die
+}
+
+src_install() {
+ oinstall dispatch
+}
diff --git a/dev-ml/ocaml-doc/Manifest b/dev-ml/ocaml-doc/Manifest
new file mode 100644
index 000000000000..bb6224ca3106
--- /dev/null
+++ b/dev-ml/ocaml-doc/Manifest
@@ -0,0 +1,2 @@
+DIST ocaml-4.04-refman-html.tar.gz 833166 BLAKE2B 556534193cf23c3648c69465c139956695b68474a523ef6ca2bbfe9a40cdde86ab62a8077ab16759d3db4aa2b7e6f2bb615fc769ab0bf3aa46dc4c23231994aa SHA512 027ad5ea08488beb5ce65ec97a8aaf04197317d7d3194de771a4170dea9f8b90fc4309fd917b4176cd930dd0835c84448771b84fa92a735cfc60668ef0a6a413
+DIST ocaml-4.05-refman-html.tar.gz 882419 BLAKE2B 01ecd83c4d517a98c11564303bd31806fdd75c71f4492e25a71568941b3fb0b527944399fdd375a690557cf718c98f522577de37a946a5dfebf363d88962c944 SHA512 84688b06e61904345bc961d7244a74427025879c8e7365073887d76a560e5a373227d75c9f645f7bc16adbd05ea6a58918738beb13b5001cedc6b8289ed70bde
diff --git a/dev-ml/ocaml-doc/metadata.xml b/dev-ml/ocaml-doc/metadata.xml
new file mode 100644
index 000000000000..3d4429370ed8
--- /dev/null
+++ b/dev-ml/ocaml-doc/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/ocaml-doc/ocaml-doc-4.04.ebuild b/dev-ml/ocaml-doc/ocaml-doc-4.04.ebuild
new file mode 100644
index 000000000000..46e0e0b6687c
--- /dev/null
+++ b/dev-ml/ocaml-doc/ocaml-doc-4.04.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+DESCRIPTION="Ocaml reference manual (html)"
+HOMEPAGE="http://caml.inria.fr/pub/docs/manual-ocaml/"
+SRC_URI="http://caml.inria.fr/pub/distrib/ocaml-${PV}/ocaml-${PV}-refman-html.tar.gz"
+LICENSE="GPL-2"
+
+KEYWORDS="amd64 ~ppc x86"
+
+SLOT="0"
+IUSE=""
+
+S=${WORKDIR}/htmlman
+
+src_install() {
+ dohtml -r *
+}
+
+pkg_postinst() {
+ elog "This manual is available online at http://caml.inria.fr/pub/docs/manual-ocaml/"
+}
diff --git a/dev-ml/ocaml-doc/ocaml-doc-4.05.ebuild b/dev-ml/ocaml-doc/ocaml-doc-4.05.ebuild
new file mode 100644
index 000000000000..198cd811e65f
--- /dev/null
+++ b/dev-ml/ocaml-doc/ocaml-doc-4.05.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+DESCRIPTION="Ocaml reference manual (html)"
+HOMEPAGE="http://caml.inria.fr/pub/docs/manual-ocaml/"
+SRC_URI="http://caml.inria.fr/pub/distrib/ocaml-${PV}/ocaml-${PV}-refman-html.tar.gz"
+LICENSE="GPL-2"
+
+KEYWORDS="~amd64 ~ppc ~x86"
+
+SLOT="0"
+IUSE=""
+
+S=${WORKDIR}/htmlman
+
+src_install() {
+ dohtml -r *
+}
+
+pkg_postinst() {
+ elog "This manual is available online at http://caml.inria.fr/pub/docs/manual-ocaml/"
+}
diff --git a/dev-ml/ocaml-expat/Manifest b/dev-ml/ocaml-expat/Manifest
new file mode 100644
index 000000000000..0315886c2e43
--- /dev/null
+++ b/dev-ml/ocaml-expat/Manifest
@@ -0,0 +1,2 @@
+DIST ocaml-expat-1.0.0.tar.gz 58149 BLAKE2B 0bd99a8a5eb8f4fe1a04d1d53edc5dc662a51ae880c5297de9dbc93561896e5c3acf3db4b7edc5122a328be4c17fd924a66a2e0e08c9bd74aac704257f5dc569 SHA512 217d602ac8fabf7713dcd8fd274206b81ff467402a9bca5b15b13f3b1d68e8e5f2c2970adeafb2378c0993b39c7d98a420dee07f30ad9eb88fd40665a2f98897
+DIST ocaml-expat-1.1.0.tar.gz 58318 BLAKE2B 137bc65c5c867180ba547de17041bd0f588da395928e92eabef45cdbb76a1d139d7cd0d80d33337e1fbff92c9fa3cab2339c0f340f50f467b8fe7d64cba10b1e SHA512 9407f91f5007d6835643719294d4e4907bfc40464d054911591ce80c31d173ddcc7b06157a19c0d3ddd78775806242dc68aea7847e588ca9fd1909def1df4d23
diff --git a/dev-ml/ocaml-expat/metadata.xml b/dev-ml/ocaml-expat/metadata.xml
new file mode 100644
index 000000000000..56c39187efa7
--- /dev/null
+++ b/dev-ml/ocaml-expat/metadata.xml
@@ -0,0 +1,9 @@
+<?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>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/ocaml-expat/ocaml-expat-1.0.0.ebuild b/dev-ml/ocaml-expat/ocaml-expat-1.0.0.ebuild
new file mode 100644
index 000000000000..73386d528fc7
--- /dev/null
+++ b/dev-ml/ocaml-expat/ocaml-expat-1.0.0.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit findlib eutils
+
+IUSE="doc +ocamlopt test"
+RESTRICT="!test? ( 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/ounit )"
+
+SLOT="0/${PV}"
+LICENSE="MIT"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86"
+
+src_compile() {
+ emake depend
+ emake all
+ if use ocamlopt; then
+ emake allopt
+ fi
+}
+
+src_test() {
+ emake test
+ if use ocamlopt; then
+ emake testopt
+ fi
+}
+src_install() {
+ findlib_src_preinst
+ emake install
+
+ if use doc ; then
+ dohtml -r doc/html/*
+ fi
+ dodoc README
+}
diff --git a/dev-ml/ocaml-expat/ocaml-expat-1.1.0.ebuild b/dev-ml/ocaml-expat/ocaml-expat-1.1.0.ebuild
new file mode 100644
index 000000000000..73386d528fc7
--- /dev/null
+++ b/dev-ml/ocaml-expat/ocaml-expat-1.1.0.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit findlib eutils
+
+IUSE="doc +ocamlopt test"
+RESTRICT="!test? ( 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/ounit )"
+
+SLOT="0/${PV}"
+LICENSE="MIT"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86"
+
+src_compile() {
+ emake depend
+ emake all
+ if use ocamlopt; then
+ emake allopt
+ fi
+}
+
+src_test() {
+ emake test
+ if use ocamlopt; then
+ emake testopt
+ fi
+}
+src_install() {
+ findlib_src_preinst
+ emake install
+
+ if use doc ; then
+ dohtml -r doc/html/*
+ fi
+ dodoc README
+}
diff --git a/dev-ml/ocaml-expect/Manifest b/dev-ml/ocaml-expect/Manifest
new file mode 100644
index 000000000000..75662617cbaf
--- /dev/null
+++ b/dev-ml/ocaml-expect/Manifest
@@ -0,0 +1 @@
+DIST ocaml-expect-0.0.5.tar.gz 63245 BLAKE2B 8435db55e74f4e245c38f75a686b91b9389e1050a515f674e86308fb270a1090827af40fa9890982ab60ab3e3c5df494accf1a54c232c06c274b36a9a8a2b1f4 SHA512 fbb2ae41c12e57db4440e67d80740380d4cd7bab0f8fdf59d3b69ff91eb6e35a82ca718cf32ad2c791ae76be8a08174a5b3a95e8910351413cc98afd3105a63c
diff --git a/dev-ml/ocaml-expect/metadata.xml b/dev-ml/ocaml-expect/metadata.xml
new file mode 100644
index 000000000000..d85b4252fc33
--- /dev/null
+++ b/dev-ml/ocaml-expect/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<!-- maintainer-needed -->
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/ocaml-expect/ocaml-expect-0.0.5.ebuild b/dev-ml/ocaml-expect/ocaml-expect-0.0.5.ebuild
new file mode 100644
index 000000000000..7f9cc015a09e
--- /dev/null
+++ b/dev-ml/ocaml-expect/ocaml-expect-0.0.5.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+OASIS_BUILD_DOCS=1
+OASIS_BUILD_TESTS=1
+
+inherit oasis
+
+DESCRIPTION="Ocaml implementation of expect to help building unitary testing"
+HOMEPAGE="http://forge.ocamlcore.org/projects/ocaml-expect/"
+SRC_URI="http://forge.ocamlcore.org/frs/download.php/1372/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-ml/batteries:=
+ dev-ml/pcre-ocaml:="
+DEPEND="${RDEPEND}
+ test? ( >=dev-ml/ounit-2.0.0 )"
+
+DOCS=( "README.txt" "CHANGES.txt" "AUTHORS.txt" )
diff --git a/dev-ml/ocaml-fileutils/Manifest b/dev-ml/ocaml-fileutils/Manifest
new file mode 100644
index 000000000000..832f25999913
--- /dev/null
+++ b/dev-ml/ocaml-fileutils/Manifest
@@ -0,0 +1,2 @@
+DIST ocaml-fileutils-0.5.1.tar.gz 129639 BLAKE2B 12f4b33eb70caf3a106e87a484411f31d6924aae68c964350080698b723b39c7bae236d5a732a0546cd6a52b4215c9ddf2b46da613c171a1ef384ef5eee3d5fe SHA512 e2f60d16d9c25f43ea6bf5fcdf5810ae1722ef30a37e9ffcb6302a87bf3aa89777f3e3d43860258fb7c284861df1eafb4e5e2b6bd3f8d78d347ef8d139e460e8
+DIST ocaml-fileutils-0.5.2.tar.gz 129676 BLAKE2B 2534c28d134b297cf9f7838c6f33f6fe4a7fde6875cf7ae15990b1d2c2fd53be425ce8b37b6836642b26722fa0042f741e91d1c32211a2618e5f80345b6c63cb SHA512 264282c54ff693686ca9e60f371038f8ea9bce219d04556297dc7b6028c9f65c5a03b7cd263c3519cb212e29665200db1c95c88874bb2cb3d7b610e3b832018d
diff --git a/dev-ml/ocaml-fileutils/metadata.xml b/dev-ml/ocaml-fileutils/metadata.xml
new file mode 100644
index 000000000000..d85b4252fc33
--- /dev/null
+++ b/dev-ml/ocaml-fileutils/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<!-- maintainer-needed -->
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/ocaml-fileutils/ocaml-fileutils-0.5.1.ebuild b/dev-ml/ocaml-fileutils/ocaml-fileutils-0.5.1.ebuild
new file mode 100644
index 000000000000..9e105e66a76c
--- /dev/null
+++ b/dev-ml/ocaml-fileutils/ocaml-fileutils-0.5.1.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+OASIS_BUILD_DOCS=1
+OASIS_BUILD_TESTS=1
+
+inherit oasis
+
+DESCRIPTION="Pure OCaml functions to manipulate real file (POSIX like) and filename"
+HOMEPAGE="http://forge.ocamlcore.org/projects/ocaml-fileutils"
+SRC_URI="http://forge.ocamlcore.org/frs/download.php/1651/${P}.tar.gz"
+
+LICENSE="LGPL-2.1-with-linking-exception"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ >=dev-ml/ounit-2.0.0"
+
+DOCS=( "AUTHORS.txt" "README.txt" "CHANGELOG.txt" "TODO.txt" )
diff --git a/dev-ml/ocaml-fileutils/ocaml-fileutils-0.5.2.ebuild b/dev-ml/ocaml-fileutils/ocaml-fileutils-0.5.2.ebuild
new file mode 100644
index 000000000000..40d4d20f42d6
--- /dev/null
+++ b/dev-ml/ocaml-fileutils/ocaml-fileutils-0.5.2.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+OASIS_BUILD_DOCS=1
+OASIS_BUILD_TESTS=1
+
+inherit oasis
+
+DESCRIPTION="Pure OCaml functions to manipulate real file (POSIX like) and filename"
+HOMEPAGE="http://forge.ocamlcore.org/projects/ocaml-fileutils"
+SRC_URI="http://forge.ocamlcore.org/frs/download.php/1695/${P}.tar.gz"
+
+LICENSE="LGPL-2.1-with-linking-exception"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ >=dev-ml/ounit-2.0.0"
+
+DOCS=( "AUTHORS.txt" "README.txt" "CHANGELOG.txt" "TODO.txt" )
diff --git a/dev-ml/ocaml-gettext/Manifest b/dev-ml/ocaml-gettext/Manifest
new file mode 100644
index 000000000000..15b1d31599b0
--- /dev/null
+++ b/dev-ml/ocaml-gettext/Manifest
@@ -0,0 +1,2 @@
+DIST ocaml-gettext-0.3.5.tar.gz 165238 BLAKE2B 3da80a80cf3e722dc2a765e005bff0e7613967a5810d13c9d3c0a5b70a919b092627d398dc777775dd2b51dfc7bbe12040b844c609027b4c60cb5d23eda47198 SHA512 a60d51c09dad3076415ef24a9bb3121f84ad649d7a9fa1b9a7da719dd385e4ed7cd9ffbabefbade7ea0daf7b0a5a5eb71b1d0ed21b369914b49f66d0d918c446
+DIST ocaml-gettext-0.3.7.tar.gz 134316 BLAKE2B 9de6ef9e04afbb6001ddc5ef145a687ad88a20eef1c27d3a3e6136f81ad46100cc6496cb66e3edfbf0f7eacfa8abbccb44d846d2f676862c96b8ceb860d8f424 SHA512 1358320359b9d2f3fd97a47d69b2a619942a65605c1e5cbf25e33ef42a10273167b526bca15e6c9523b87d8ea9dfd3215334050ad8eb84a8c41d4feef880a27a
diff --git a/dev-ml/ocaml-gettext/files/oc43.patch b/dev-ml/ocaml-gettext/files/oc43.patch
new file mode 100644
index 000000000000..41996b941122
--- /dev/null
+++ b/dev-ml/ocaml-gettext/files/oc43.patch
@@ -0,0 +1,12 @@
+Index: ocaml-gettext-0.3.5/ocaml-gettext/Makefile
+===================================================================
+--- ocaml-gettext-0.3.5.orig/ocaml-gettext/Makefile
++++ ocaml-gettext-0.3.5/ocaml-gettext/Makefile
+@@ -64,7 +64,6 @@ uninstall: ocaml-xgettext-uninstall
+ ocaml-xgettext: $(BUILDBIN)
+ $(OCAMLC) \
+ -I +camlp4 dynlink.cma camlp4lib.cma \
+- unix.cma \
+ `$(OCAMLFIND) query -r -predicates byte gettext.extract -i-format` \
+ `$(OCAMLFIND) query -r -predicates byte gettext.extract -a-format` \
+ `$(OCAMLFIND) query -r -predicates byte gettext.extract -o-format` \
diff --git a/dev-ml/ocaml-gettext/metadata.xml b/dev-ml/ocaml-gettext/metadata.xml
new file mode 100644
index 000000000000..8d0c94b8d0fd
--- /dev/null
+++ b/dev-ml/ocaml-gettext/metadata.xml
@@ -0,0 +1,9 @@
+<?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">gildor478/ocaml-gettext</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/ocaml-gettext/ocaml-gettext-0.3.5-r1.ebuild b/dev-ml/ocaml-gettext/ocaml-gettext-0.3.5-r1.ebuild
new file mode 100644
index 000000000000..af60301a3390
--- /dev/null
+++ b/dev-ml/ocaml-gettext/ocaml-gettext-0.3.5-r1.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit findlib eutils
+
+DESCRIPTION="Provides support for internationalization of OCaml program"
+HOMEPAGE="http://forge.ocamlcore.org/projects/ocaml-gettext"
+SRC_URI="http://forge.ocamlcore.org/frs/download.php/1433/${P}.tar.gz"
+
+LICENSE="LGPL-2.1-with-linking-exception"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+RESTRICT="!test? ( test )"
+
+RDEPEND=">=dev-lang/ocaml-3.12.1:=
+ >=dev-ml/ocaml-fileutils-0.4.0:=
+ >=dev-ml/camomile-0.8.3:=
+ sys-devel/gettext
+ dev-ml/camlp4:=
+ "
+DEPEND="${RDEPEND}
+ doc? ( app-text/docbook-xsl-stylesheets dev-libs/libxslt )
+ test? ( dev-ml/ounit )"
+
+src_prepare() {
+ has_version '>=dev-lang/ocaml-4.03' && epatch "${FILESDIR}/oc43.patch"
+}
+
+src_configure() {
+ econf \
+ --with-docbook-stylesheet="${EPREFIX}/usr/share/sgml/docbook/xsl-stylesheets/" \
+ $(use_enable doc) \
+ $(use_enable test)
+}
+
+src_compile() {
+ emake -j1
+}
+
+src_install() {
+ findlib_src_preinst
+ emake -j1 DESTDIR="${D}" \
+ BINDIR="${ED}/usr/bin" \
+ PODIR="${ED}/usr/share/locale/" \
+ DOCDIR="${ED}/usr/share/doc/${PF}" \
+ MANDIR="${ED}/usr/share/man" \
+ install
+ dodoc CHANGELOG README THANKS TODO
+}
diff --git a/dev-ml/ocaml-gettext/ocaml-gettext-0.3.7.ebuild b/dev-ml/ocaml-gettext/ocaml-gettext-0.3.7.ebuild
new file mode 100644
index 000000000000..c6b4aeea4409
--- /dev/null
+++ b/dev-ml/ocaml-gettext/ocaml-gettext-0.3.7.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit findlib eutils autotools
+
+DESCRIPTION="Provides support for internationalization of OCaml program"
+HOMEPAGE="https://github.com/gildor478/ocaml-gettext"
+SRC_URI="https://github.com/gildor478/ocaml-gettext/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1-with-linking-exception"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+RESTRICT="!test? ( test )"
+
+RDEPEND=">=dev-lang/ocaml-3.12.1:=
+ >=dev-ml/ocaml-fileutils-0.4.0:=
+ >=dev-ml/camomile-0.8.3:=
+ sys-devel/gettext
+ dev-ml/camlp4:=
+ "
+DEPEND="${RDEPEND}
+ doc? ( app-text/docbook-xsl-stylesheets dev-libs/libxslt )
+ test? ( dev-ml/ounit )"
+
+src_prepare() {
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --with-docbook-stylesheet="${EPREFIX}/usr/share/sgml/docbook/xsl-stylesheets/" \
+ $(use_enable doc) \
+ $(use_enable test)
+}
+
+src_compile() {
+ emake -j1
+}
+
+src_install() {
+ findlib_src_preinst
+ emake -j1 DESTDIR="${D}" \
+ BINDIR="${ED}/usr/bin" \
+ PODIR="${ED}/usr/share/locale/" \
+ DOCDIR="${ED}/usr/share/doc/${PF}" \
+ MANDIR="${ED}/usr/share/man" \
+ install
+ dodoc CHANGELOG README THANKS TODO
+}
diff --git a/dev-ml/ocaml-hashcons/Manifest b/dev-ml/ocaml-hashcons/Manifest
new file mode 100644
index 000000000000..4daf113868a8
--- /dev/null
+++ b/dev-ml/ocaml-hashcons/Manifest
@@ -0,0 +1,2 @@
+DIST ocaml-hashcons-1.2.tar.gz 19775 BLAKE2B 7bef506cb7de3177168cc582245f8e2ece3ca7e9da78985ff604a32be675bcd36901ed920c7898aa0e3087251494f425c164cd1125485549de0bbfd867bdbfa6 SHA512 167ed8d74c5080ef14af0ac1232ea16faee3f0e09e0a65cd72447266939ce7ed5416f4cf6a3021e5ca8215726df129d3f05c9e0c12dcd36f845b060fd93072b2
+DIST ocaml-hashcons-1.3.tar.gz 19495 BLAKE2B 0d29a529fb1d6953e7294e3992e6f41c094e8b4ea607ed4f2f0d97c558b2c9a6e8703de0aca06727b845ad3f3989ef99c634e248f221c95fbffc2321cd73e961 SHA512 fd194d48a3231e72ca8bf3d324e5e1f6442d965da9149973a1763cf70aa82398805fa00648bdd12de3d3daada8e90bdc575c73886f949b5183e79bea75beadc8
diff --git a/dev-ml/ocaml-hashcons/metadata.xml b/dev-ml/ocaml-hashcons/metadata.xml
new file mode 100644
index 000000000000..6001727ee06f
--- /dev/null
+++ b/dev-ml/ocaml-hashcons/metadata.xml
@@ -0,0 +1,9 @@
+<?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">backtracking/ocaml-hashcons</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/ocaml-hashcons/ocaml-hashcons-1.2.ebuild b/dev-ml/ocaml-hashcons/ocaml-hashcons-1.2.ebuild
new file mode 100644
index 000000000000..e2f3672faae6
--- /dev/null
+++ b/dev-ml/ocaml-hashcons/ocaml-hashcons-1.2.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit autotools findlib
+
+DESCRIPTION="OCaml hash-consing library"
+HOMEPAGE="https://github.com/backtracking/ocaml-hashcons"
+SRC_URI="https://github.com/backtracking/ocaml-hashcons/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1-with-linking-exception"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+IUSE="+ocamlopt"
+
+RDEPEND="dev-lang/ocaml:=[ocamlopt?]"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ eautoreconf
+ sed -i -e 's/$(OCAMLFIND) remove/#/' Makefile.in || die
+}
+
+src_compile() {
+ if use ocamlopt; then
+ emake opt byte
+ else
+ emake byte
+ fi
+}
+
+src_install() {
+ dodir "$(ocamlfind printconf destdir)/hashcons"
+ emake DESTDIR="-destdir ${D}/$(ocamlfind printconf destdir)/" $(usex ocamlopt install-opt install-byte)
+ dodoc README.md CHANGES
+}
diff --git a/dev-ml/ocaml-hashcons/ocaml-hashcons-1.3.ebuild b/dev-ml/ocaml-hashcons/ocaml-hashcons-1.3.ebuild
new file mode 100644
index 000000000000..7b027961ea87
--- /dev/null
+++ b/dev-ml/ocaml-hashcons/ocaml-hashcons-1.3.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit autotools findlib
+
+DESCRIPTION="OCaml hash-consing library"
+HOMEPAGE="https://github.com/backtracking/ocaml-hashcons"
+SRC_URI="https://github.com/backtracking/ocaml-hashcons/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1-with-linking-exception"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+IUSE="+ocamlopt"
+
+RDEPEND="dev-lang/ocaml:=[ocamlopt?]"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ eautoreconf
+ sed -i -e 's/$(OCAMLFIND) remove/#/' Makefile.in || die
+}
+
+src_compile() {
+ if use ocamlopt; then
+ emake opt byte
+ else
+ emake byte
+ fi
+}
+
+src_install() {
+ dodir "$(ocamlfind printconf destdir)/hashcons"
+ emake DESTDIR="-destdir ${D}/$(ocamlfind printconf destdir)/" $(usex ocamlopt install-opt install-byte)
+ dodoc README.md CHANGES
+}
diff --git a/dev-ml/ocaml-ipaddr/Manifest b/dev-ml/ocaml-ipaddr/Manifest
new file mode 100644
index 000000000000..c088a0589139
--- /dev/null
+++ b/dev-ml/ocaml-ipaddr/Manifest
@@ -0,0 +1 @@
+DIST ocaml-ipaddr-2.8.0.tar.gz 22134 BLAKE2B b6e9d49fd6ac69bd4cd4884e97490a744e863541084270f55847768c2fe312334feb00fc9404028664864cc1dffccf8cf2df004a341429e78122dc64bfe0a087 SHA512 1714ee4d6b2afa17b987844f37a9896f01d7b674770fa6804b03222dba656130f9ee0d2d1409b67e770e21f973682c7d1d5c550abb0a5d94bc0c04a1a97e8e3c
diff --git a/dev-ml/ocaml-ipaddr/metadata.xml b/dev-ml/ocaml-ipaddr/metadata.xml
new file mode 100644
index 000000000000..c33032a2659c
--- /dev/null
+++ b/dev-ml/ocaml-ipaddr/metadata.xml
@@ -0,0 +1,9 @@
+<?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">mirage/ocaml-ipaddr</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/ocaml-ipaddr/ocaml-ipaddr-2.8.0.ebuild b/dev-ml/ocaml-ipaddr/ocaml-ipaddr-2.8.0.ebuild
new file mode 100644
index 000000000000..21a35d68fc5c
--- /dev/null
+++ b/dev-ml/ocaml-ipaddr/ocaml-ipaddr-2.8.0.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit opam
+
+DESCRIPTION="OCaml library for manipulation of IP (and MAC) address representations"
+HOMEPAGE="https://github.com/mirage/ocaml-ipaddr"
+SRC_URI="https://github.com/mirage/ocaml-ipaddr/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="ISC"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+IUSE="+ocamlopt test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="dev-ml/sexplib:=
+ dev-ml/ppx_sexp_conv:=
+ dev-ml/ppx_core:=
+ dev-ml/ppx_type_conv:=
+ dev-lang/ocaml:=[ocamlopt?]
+"
+DEPEND="${RDEPEND}
+ dev-ml/jbuilder
+ dev-ml/findlib
+ test? ( dev-ml/ounit )
+"
+
+src_install() {
+ opam_src_install ipaddr
+}
diff --git a/dev-ml/ocaml-magic-mime/Manifest b/dev-ml/ocaml-magic-mime/Manifest
new file mode 100644
index 000000000000..9a97f5e304a2
--- /dev/null
+++ b/dev-ml/ocaml-magic-mime/Manifest
@@ -0,0 +1,2 @@
+DIST ocaml-magic-mime-1.0.0.tar.gz 53937 BLAKE2B 202968b4038f66e61b458b84d6505b1c143b8994ff32cd6c2e11d7feec31a4e99af26fddb84b72d19ce1a37cc01d6dd0bcf6e9648b6434f0a1509120fabda251 SHA512 e6a050e0adc465d174083b101b66805e3261b0498cd20d19bd4d2da52859d6c792f8e13e1c787d54f81e1ff65048f4fb3c38367f1a60c8e5c94367f5f685dc8e
+DIST ocaml-magic-mime-1.1.0.tar.gz 13228 BLAKE2B 105f9fdd71a752bc5e0f660af40dc4f212a721964091e8719b55499f3ab046c6b40894b8a21defdca4cfc14ac2cbed874c189d96cb83633ad95fab7fd7e2d793 SHA512 41daa6d85a1398498f03dc54d6e5c5057c79c9c7e4063fb67e73c1b497e69a0c67796640c837fcf3715e8bea7590288f1cf84e41c7ab46d910c6d8d32156efe5
diff --git a/dev-ml/ocaml-magic-mime/metadata.xml b/dev-ml/ocaml-magic-mime/metadata.xml
new file mode 100644
index 000000000000..e29da6984648
--- /dev/null
+++ b/dev-ml/ocaml-magic-mime/metadata.xml
@@ -0,0 +1,9 @@
+<?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">mirage/ocaml-magic-mime</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/ocaml-magic-mime/ocaml-magic-mime-1.0.0.ebuild b/dev-ml/ocaml-magic-mime/ocaml-magic-mime-1.0.0.ebuild
new file mode 100644
index 000000000000..7693ae06464f
--- /dev/null
+++ b/dev-ml/ocaml-magic-mime/ocaml-magic-mime-1.0.0.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit oasis
+
+DESCRIPTION="Convert file extensions to MIME types"
+HOMEPAGE="https://github.com/mirage/ocaml-magic-mime"
+SRC_URI="https://github.com/mirage/ocaml-magic-mime/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+LICENSE="ISC"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+IUSE=""
+
+DEPEND=""
+RDEPEND="${DEPEND}"
diff --git a/dev-ml/ocaml-magic-mime/ocaml-magic-mime-1.1.0.ebuild b/dev-ml/ocaml-magic-mime/ocaml-magic-mime-1.1.0.ebuild
new file mode 100644
index 000000000000..17c16d0e2fa3
--- /dev/null
+++ b/dev-ml/ocaml-magic-mime/ocaml-magic-mime-1.1.0.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+DESCRIPTION="Convert file extensions to MIME types"
+HOMEPAGE="https://github.com/mirage/ocaml-magic-mime"
+SRC_URI="https://github.com/mirage/ocaml-magic-mime/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+LICENSE="ISC"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+IUSE=""
+
+RDEPEND="dev-lang/ocaml:="
+DEPEND="${RDEPEND}
+ dev-ml/jbuilder
+ dev-ml/opam
+"
+
+src_install() {
+ opam-installer -i \
+ --prefix="${ED}/usr" \
+ --libdir="${D}/$(ocamlc -where)" \
+ --docdir="${ED}/usr/share/doc/${PF}" \
+ magic-mime.install || die
+}
diff --git a/dev-ml/ocaml-migrate-parsetree/Manifest b/dev-ml/ocaml-migrate-parsetree/Manifest
new file mode 100644
index 000000000000..8469270d5ce0
--- /dev/null
+++ b/dev-ml/ocaml-migrate-parsetree/Manifest
@@ -0,0 +1,3 @@
+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
diff --git a/dev-ml/ocaml-migrate-parsetree/metadata.xml b/dev-ml/ocaml-migrate-parsetree/metadata.xml
new file mode 100644
index 000000000000..ed89973accd2
--- /dev/null
+++ b/dev-ml/ocaml-migrate-parsetree/metadata.xml
@@ -0,0 +1,9 @@
+<?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">let-def/ocaml-migrate-parsetree</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/ocaml-migrate-parsetree/ocaml-migrate-parsetree-1.0.5.ebuild b/dev-ml/ocaml-migrate-parsetree/ocaml-migrate-parsetree-1.0.5.ebuild
new file mode 100644
index 000000000000..da28219a5424
--- /dev/null
+++ b/dev-ml/ocaml-migrate-parsetree/ocaml-migrate-parsetree-1.0.5.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit findlib opam
+
+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 ~ppc ~x86"
+IUSE=""
+
+DEPEND="dev-ml/result:="
+RDEPEND="${DEPEND}"
+DEPEND="${DEPEND}
+ dev-ml/jbuilder"
diff --git a/dev-ml/ocaml-migrate-parsetree/ocaml-migrate-parsetree-1.0.6.ebuild b/dev-ml/ocaml-migrate-parsetree/ocaml-migrate-parsetree-1.0.6.ebuild
new file mode 100644
index 000000000000..da28219a5424
--- /dev/null
+++ b/dev-ml/ocaml-migrate-parsetree/ocaml-migrate-parsetree-1.0.6.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit findlib opam
+
+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 ~ppc ~x86"
+IUSE=""
+
+DEPEND="dev-ml/result:="
+RDEPEND="${DEPEND}"
+DEPEND="${DEPEND}
+ dev-ml/jbuilder"
diff --git a/dev-ml/ocaml-migrate-parsetree/ocaml-migrate-parsetree-1.0.7.ebuild b/dev-ml/ocaml-migrate-parsetree/ocaml-migrate-parsetree-1.0.7.ebuild
new file mode 100644
index 000000000000..da28219a5424
--- /dev/null
+++ b/dev-ml/ocaml-migrate-parsetree/ocaml-migrate-parsetree-1.0.7.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit findlib opam
+
+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 ~ppc ~x86"
+IUSE=""
+
+DEPEND="dev-ml/result:="
+RDEPEND="${DEPEND}"
+DEPEND="${DEPEND}
+ dev-ml/jbuilder"
diff --git a/dev-ml/ocaml-re/Manifest b/dev-ml/ocaml-re/Manifest
new file mode 100644
index 000000000000..88b542338d5c
--- /dev/null
+++ b/dev-ml/ocaml-re/Manifest
@@ -0,0 +1 @@
+DIST ocaml-re-1.7.1.tar.gz 132948 BLAKE2B 79a3114cb6221742e7e26187080a7029c8e17f728066ce4f4420c0b69be6377bb651f143a97f55f7976074ce9e48913489a51c586f9c79ed6adbcb6c9a595924 SHA512 0df5b0db4c8ab7017576516adbd8edf2e7774afbdca63383cbdb0f2f2b023efb7215366a6679c8810f3b70d542e0181e6b6d4a212b30531cb5d0bef0a6033747
diff --git a/dev-ml/ocaml-re/metadata.xml b/dev-ml/ocaml-re/metadata.xml
new file mode 100644
index 000000000000..1f85cfbc74a1
--- /dev/null
+++ b/dev-ml/ocaml-re/metadata.xml
@@ -0,0 +1,9 @@
+<?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/ocaml-re</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/ocaml-re/ocaml-re-1.7.1.ebuild b/dev-ml/ocaml-re/ocaml-re-1.7.1.ebuild
new file mode 100644
index 000000000000..0c28d5c302a8
--- /dev/null
+++ b/dev-ml/ocaml-re/ocaml-re-1.7.1.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+OASIS_BUILD_DOCS=1
+OASIS_BUILD_TESTS=1
+
+inherit oasis
+
+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 -> ${P}.tar.gz"
+
+LICENSE="LGPL-2-with-linking-exception"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND=">=dev-lang/ocaml-4.02:="
+DEPEND="${RDEPEND}
+ test? ( dev-ml/ounit )"
+DOCS=( "CHANGES" "TODO.txt" "README.md" )
diff --git a/dev-ml/ocaml-sqlite3/Manifest b/dev-ml/ocaml-sqlite3/Manifest
new file mode 100644
index 000000000000..13b4402a8ce3
--- /dev/null
+++ b/dev-ml/ocaml-sqlite3/Manifest
@@ -0,0 +1,4 @@
+DIST sqlite3-4.2.0.tbz 22167 BLAKE2B b5f874f592fb7873060d3f33b82ea9282fe0a04aab8683f5355a96b0a7a78e19daefc6d3f72b9e796dcc718347f8b13bc210eb4a61622cf12460b263bf088c86 SHA512 3221ba03eae64c59c3ffa57271585a1fe76848504d56edf33e953fad270929ba300b5828788f6cbb3f145acf743ad51bc019d151ac68472f6dbf7ab43263ae86
+DIST sqlite3-4.3.0.tbz 22498 BLAKE2B c57d8edbc0897229cb415d48efb02ae41dff1d87fabc667a40b984807c5c5885201dca3d7f523872435b7e18b450c15707212eeeafc0a75f1ad28d7e7671b4c7 SHA512 f09d425830ac24ea835a403bc51d257c265b6e77b1dce01367c715545cbd98f3ad2694e6dfdbc7491d590aa809c0313329e81c9614228170f90197f2a94200c9
+DIST sqlite3-ocaml-4.1.2.tar.gz 76879 BLAKE2B be02c4df79f78b69e859fc465242e3e513d0b557364614e4fe73f78b6020e77fd971f274e45e4d2b79c99ea6e110358dc23ab2f79183915e242244b9ff6a6de8 SHA512 880f82fa9eba06114695bda56305245d2d9062f8136db85675463e97fbb8aee210df310d8d65d78e9eb1f882421581a97c4b7f20a790881f699b4d494be066f5
+DIST sqlite3-ocaml-4.1.3.tar.gz 76989 BLAKE2B d5f5e5c91faaf7308c47431d2f5292952e5c6ddf8854897aa2d54946b312bd3321f4ec6ecca7455778707b082e7af676ac50ab5b16686176623058c082973cc6 SHA512 59865b4c5d99d319ee6f5e1ecb8d71b4c07bd7f77876fafb73d3c882dbf434b67313f4caf7762f2194dc819f75af9582dd4df002f0f68cb8690996b857c08a1b
diff --git a/dev-ml/ocaml-sqlite3/metadata.xml b/dev-ml/ocaml-sqlite3/metadata.xml
new file mode 100644
index 000000000000..f35d668e0dfb
--- /dev/null
+++ b/dev-ml/ocaml-sqlite3/metadata.xml
@@ -0,0 +1,10 @@
+<?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">mmottl/sqlite3-ocaml</remote-id>
+ <remote-id type="bitbucket">mmottl/sqlite3-ocaml</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/ocaml-sqlite3/ocaml-sqlite3-4.1.2.ebuild b/dev-ml/ocaml-sqlite3/ocaml-sqlite3-4.1.2.ebuild
new file mode 100644
index 000000000000..b815ace156b1
--- /dev/null
+++ b/dev-ml/ocaml-sqlite3/ocaml-sqlite3-4.1.2.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+OASIS_BUILD_TESTS=1
+OASIS_BUILD_DOCS=1
+
+inherit oasis
+
+MY_PN="sqlite3-ocaml"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="A package for ocaml that provides access to SQLite databases"
+HOMEPAGE="http://mmottl.github.io/sqlite3-ocaml/"
+SRC_URI="https://github.com/mmottl/sqlite3-ocaml/releases/download/v${PV}/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE=""
+
+DEPEND=">=dev-db/sqlite-3.3.3
+ >=dev-ml/findlib-1.3.2"
+RDEPEND="${DEPEND}"
+
+S=${WORKDIR}/${MY_P}
+DOCS=( "AUTHORS.txt" "CHANGES.txt" "README.md" "TODO.md" )
diff --git a/dev-ml/ocaml-sqlite3/ocaml-sqlite3-4.1.3.ebuild b/dev-ml/ocaml-sqlite3/ocaml-sqlite3-4.1.3.ebuild
new file mode 100644
index 000000000000..b815ace156b1
--- /dev/null
+++ b/dev-ml/ocaml-sqlite3/ocaml-sqlite3-4.1.3.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+OASIS_BUILD_TESTS=1
+OASIS_BUILD_DOCS=1
+
+inherit oasis
+
+MY_PN="sqlite3-ocaml"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="A package for ocaml that provides access to SQLite databases"
+HOMEPAGE="http://mmottl.github.io/sqlite3-ocaml/"
+SRC_URI="https://github.com/mmottl/sqlite3-ocaml/releases/download/v${PV}/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE=""
+
+DEPEND=">=dev-db/sqlite-3.3.3
+ >=dev-ml/findlib-1.3.2"
+RDEPEND="${DEPEND}"
+
+S=${WORKDIR}/${MY_P}
+DOCS=( "AUTHORS.txt" "CHANGES.txt" "README.md" "TODO.md" )
diff --git a/dev-ml/ocaml-sqlite3/ocaml-sqlite3-4.2.0.ebuild b/dev-ml/ocaml-sqlite3/ocaml-sqlite3-4.2.0.ebuild
new file mode 100644
index 000000000000..8cc25ff20034
--- /dev/null
+++ b/dev-ml/ocaml-sqlite3/ocaml-sqlite3-4.2.0.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit opam
+
+MY_PN="sqlite3"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="A package for ocaml that provides access to SQLite databases"
+HOMEPAGE="http://mmottl.github.io/sqlite3-ocaml/"
+SRC_URI="https://github.com/mmottl/sqlite3-ocaml/releases/download/${PV}/${MY_P}.tbz"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE=""
+
+RDEPEND=">=dev-db/sqlite-3.3.3"
+DEPEND="${RDEPEND}
+ dev-ml/jbuilder
+ dev-ml/base
+ dev-ml/stdio
+ dev-ml/configurator
+ >=dev-ml/findlib-1.3.2"
+
+S=${WORKDIR}/${MY_P}
+
+src_compile() {
+ jbuilder build @install || die
+}
+
+src_install() {
+ opam_src_install "${MY_PN}"
+}
diff --git a/dev-ml/ocaml-sqlite3/ocaml-sqlite3-4.3.0.ebuild b/dev-ml/ocaml-sqlite3/ocaml-sqlite3-4.3.0.ebuild
new file mode 100644
index 000000000000..8cc25ff20034
--- /dev/null
+++ b/dev-ml/ocaml-sqlite3/ocaml-sqlite3-4.3.0.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit opam
+
+MY_PN="sqlite3"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="A package for ocaml that provides access to SQLite databases"
+HOMEPAGE="http://mmottl.github.io/sqlite3-ocaml/"
+SRC_URI="https://github.com/mmottl/sqlite3-ocaml/releases/download/${PV}/${MY_P}.tbz"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE=""
+
+RDEPEND=">=dev-db/sqlite-3.3.3"
+DEPEND="${RDEPEND}
+ dev-ml/jbuilder
+ dev-ml/base
+ dev-ml/stdio
+ dev-ml/configurator
+ >=dev-ml/findlib-1.3.2"
+
+S=${WORKDIR}/${MY_P}
+
+src_compile() {
+ jbuilder build @install || die
+}
+
+src_install() {
+ opam_src_install "${MY_PN}"
+}
diff --git a/dev-ml/ocaml-ssl/Manifest b/dev-ml/ocaml-ssl/Manifest
new file mode 100644
index 000000000000..948a1bbf1e3c
--- /dev/null
+++ b/dev-ml/ocaml-ssl/Manifest
@@ -0,0 +1,3 @@
+DIST ocaml-ssl-0.5.3.tar.gz 125431 BLAKE2B e95b6757f27fcac16dda1087880bb49ad854108755719210aeeeebd0e14cfee9b6244986f21ddbf86a970ea4b4f9eb2bb8e0a5a888dafe2a7262f004194a26ba SHA512 c0dc38ab21c8adc104a42ec89b8a58de976205887a23a407f1ffee1181d526ddb8aa91877508f8a974c6df8583d6d8611558a995680e313fc78ad0cac184cf52
+DIST ocaml-ssl-0.5.4.tar.gz 125833 BLAKE2B 983f1c1301c2dd313d91c180e8654baef39b1de2f3f3688ba40d920d5c16fd1626b1cf9dc8a6f172045ab4b8cd75b4048b3956ff9835a57c534bacdb1ddce32d SHA512 4a221bd8f5c11871040f6f117d3152ec2fca28f0311dfcc2ac39d2ed55c66203e12ad3242368273d8f17f1ca87c1b5d929ab7fec8ec7a03a564c7c25ade3d289
+DIST ocaml-ssl-0.5.5.tar.gz 125778 BLAKE2B 7be315a349df7948adc69b64cce65d29ce0d7cc8b492d4f3948a3a72e64951c323b8f5d3fa48825fe0119ff5d8c94a03d95e36ec695768aae0751f5f3df4397b SHA512 4e3a78426bc2a5cec0ade43b1b324366b4bf0d93be6e7bc73f1152499f2ab0642d3edcf4484a519ea6ec0b44bc76c0c984b9bba59121f93bc065b1c0355969c0
diff --git a/dev-ml/ocaml-ssl/metadata.xml b/dev-ml/ocaml-ssl/metadata.xml
new file mode 100644
index 000000000000..180d401a7e1a
--- /dev/null
+++ b/dev-ml/ocaml-ssl/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <upstream>
+ <remote-id type="sourceforge">savonet</remote-id>
+ <remote-id type="github">savonet/ocaml-ssl</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/ocaml-ssl/ocaml-ssl-0.5.3.ebuild b/dev-ml/ocaml-ssl/ocaml-ssl-0.5.3.ebuild
new file mode 100644
index 000000000000..cc7ee2277b7b
--- /dev/null
+++ b/dev-ml/ocaml-ssl/ocaml-ssl-0.5.3.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit findlib eutils
+
+IUSE="doc"
+
+DESCRIPTION="OCaml bindings for OpenSSL"
+SRC_URI="https://github.com/savonet/ocaml-ssl/releases/download/${PV}/${P}.tar.gz"
+HOMEPAGE="https://github.com/savonet/ocaml-ssl"
+
+DEPEND="dev-libs/openssl:0=
+ >=dev-lang/ocaml-3.10:="
+RDEPEND="${DEPEND}"
+
+SLOT="0/${PV}"
+LICENSE="LGPL-2.1"
+KEYWORDS="amd64 ~arm ppc x86"
+
+src_compile() {
+ emake -j1
+}
+
+src_install() {
+ findlib_src_preinst
+ emake install
+
+ if use doc; then
+ dohtml -r doc/html/*
+ fi
+ dodoc CHANGES README.md
+}
diff --git a/dev-ml/ocaml-ssl/ocaml-ssl-0.5.4.ebuild b/dev-ml/ocaml-ssl/ocaml-ssl-0.5.4.ebuild
new file mode 100644
index 000000000000..f01f839f8aea
--- /dev/null
+++ b/dev-ml/ocaml-ssl/ocaml-ssl-0.5.4.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit findlib eutils
+
+IUSE="doc"
+
+DESCRIPTION="OCaml bindings for OpenSSL"
+SRC_URI="https://github.com/savonet/ocaml-ssl/releases/download/${PV}/${P}.tar.gz"
+HOMEPAGE="https://github.com/savonet/ocaml-ssl"
+
+DEPEND="dev-libs/openssl:0=
+ >=dev-lang/ocaml-3.10:="
+RDEPEND="${DEPEND}"
+
+SLOT="0/${PV}"
+LICENSE="LGPL-2.1"
+KEYWORDS="~amd64 ~arm ~ppc ~x86"
+
+src_compile() {
+ emake -j1
+}
+
+src_install() {
+ findlib_src_preinst
+ emake install
+
+ if use doc; then
+ dohtml -r doc/html/*
+ fi
+ dodoc CHANGES README.md
+}
diff --git a/dev-ml/ocaml-ssl/ocaml-ssl-0.5.5.ebuild b/dev-ml/ocaml-ssl/ocaml-ssl-0.5.5.ebuild
new file mode 100644
index 000000000000..f01f839f8aea
--- /dev/null
+++ b/dev-ml/ocaml-ssl/ocaml-ssl-0.5.5.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit findlib eutils
+
+IUSE="doc"
+
+DESCRIPTION="OCaml bindings for OpenSSL"
+SRC_URI="https://github.com/savonet/ocaml-ssl/releases/download/${PV}/${P}.tar.gz"
+HOMEPAGE="https://github.com/savonet/ocaml-ssl"
+
+DEPEND="dev-libs/openssl:0=
+ >=dev-lang/ocaml-3.10:="
+RDEPEND="${DEPEND}"
+
+SLOT="0/${PV}"
+LICENSE="LGPL-2.1"
+KEYWORDS="~amd64 ~arm ~ppc ~x86"
+
+src_compile() {
+ emake -j1
+}
+
+src_install() {
+ findlib_src_preinst
+ emake install
+
+ if use doc; then
+ dohtml -r doc/html/*
+ fi
+ dodoc CHANGES README.md
+}
diff --git a/dev-ml/ocaml-uri/Manifest b/dev-ml/ocaml-uri/Manifest
new file mode 100644
index 000000000000..fb9710722c65
--- /dev/null
+++ b/dev-ml/ocaml-uri/Manifest
@@ -0,0 +1 @@
+DIST ocaml-uri-1.9.4.tar.gz 213917 BLAKE2B 3b76ae2f39a7a97e581791e32e7ec302faacaf883ae82bb635497f205a7bb12b331f2ef34f834c4b22b56433fef75b6ba2c60db6b66f13997290e108f6f0f38b SHA512 c2314c55d1d89bb7824e6bd2aad57fa2bdc4889d5e6c0b4ce75f4ca33660d510d7ab125ff0f340f4688930f3ddac13193d34762f912cc70c4ce30aa206f32ddc
diff --git a/dev-ml/ocaml-uri/metadata.xml b/dev-ml/ocaml-uri/metadata.xml
new file mode 100644
index 000000000000..314ffbe04f5a
--- /dev/null
+++ b/dev-ml/ocaml-uri/metadata.xml
@@ -0,0 +1,9 @@
+<?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">mirage/ocaml-uri</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/ocaml-uri/ocaml-uri-1.9.4.ebuild b/dev-ml/ocaml-uri/ocaml-uri-1.9.4.ebuild
new file mode 100644
index 000000000000..bfa2f6bcf832
--- /dev/null
+++ b/dev-ml/ocaml-uri/ocaml-uri-1.9.4.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit findlib opam
+
+DESCRIPTION="RFC3986 URI parsing library for OCaml"
+HOMEPAGE="https://github.com/mirage/ocaml-uri https://mirage.io"
+SRC_URI="https://github.com/mirage/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="ISC"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-ml/ocaml-re:=
+ dev-ml/sexplib:=
+ dev-ml/ppx_sexp_conv:=
+ dev-ml/ppx_core:=
+ dev-ml/ppx_type_conv:=
+ dev-ml/stringext:=
+ dev-ml/type-conv:=
+"
+DEPEND="${RDEPEND}
+ test? ( >=dev-ml/ounit-1.0.2 )
+ dev-ml/jbuilder
+"
+
+src_install() {
+ opam_src_install uri
+}
diff --git a/dev-ml/ocamlbuild/Manifest b/dev-ml/ocamlbuild/Manifest
new file mode 100644
index 000000000000..2582af8317bb
--- /dev/null
+++ b/dev-ml/ocamlbuild/Manifest
@@ -0,0 +1,3 @@
+DIST ocamlbuild-0.10.1.tar.gz 193263 BLAKE2B cee82997a6b691b3df9b92055b74f05af57d7663f5dbb84701e66dffefcfe6ec00c9721e1872d546f2aea9237068e37ba7d94463d0002a8356dd4d84bc1865c0 SHA512 6d74bdce7fe147bf1a5fd570b569925b36b5f443c7251d1c13a0525e3086417b393a768722bf7d4b23a7e3178b0b3c2511499725c5a755d69783b8d555663e3b
+DIST ocamlbuild-0.11.0.tar.gz 195297 BLAKE2B 2d653c402edf58035fa6efb65c99c956fe78efc4759f29c8ddab8263310a5d243d25d37d4c1a4f0699f151afb6d4c6df4c1550f95d6e915963b3d86923877225 SHA512 14bc44cc63b6c99e711658a1145247bad8263632fbb4550238cef15e226a76b83e51b83575a7a96f16b96ec321dedd0ef23f36166c354838aec1922f58179efd
+DIST ocamlbuild-0.14.0.tar.gz 198267 BLAKE2B 355d61ba68e61b9ee18a9fc0fbb9062405f44707b180ca7ad4bfec727ca3d3d2cc08f17be118ca3a4161c7789d975e7f431812e9139d4fde85a1a27ab68c8ac3 SHA512 ae60247396399dfd35644c8c1986ef7679e5a9964df82e3388bfc6dd4c5b88a13d6869a698d14a9ac70dc48e4ce1c003f543c85426d8c862ca31dea37a554b07
diff --git a/dev-ml/ocamlbuild/metadata.xml b/dev-ml/ocamlbuild/metadata.xml
new file mode 100644
index 000000000000..2d91dc358a87
--- /dev/null
+++ b/dev-ml/ocamlbuild/metadata.xml
@@ -0,0 +1,9 @@
+<?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/ocamlbuild</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/ocamlbuild/ocamlbuild-0.10.1.ebuild b/dev-ml/ocamlbuild/ocamlbuild-0.10.1.ebuild
new file mode 100644
index 000000000000..a1e8c0d4d690
--- /dev/null
+++ b/dev-ml/ocamlbuild/ocamlbuild-0.10.1.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+DESCRIPTION="Generic build tool with built-in rules for building OCaml library and programs"
+HOMEPAGE="https://github.com/ocaml/ocamlbuild"
+SRC_URI="https://github.com/ocaml/ocamlbuild/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1-with-linking-exception"
+SLOT="0/${PV}"
+KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux"
+IUSE="+ocamlopt"
+
+# does not compile with ocaml-4.09 (bug # 708696 and #708872)
+DEPEND="<dev-lang/ocaml-4.09:=[ocamlopt?]"
+RDEPEND="${DEPEND}
+ !<dev-ml/findlib-1.6.1-r1
+"
+
+src_configure() {
+ emake -f configure.make Makefile.config \
+ PREFIX="${EPREFIX}/usr" \
+ BINDIR="${EPREFIX}/usr/bin" \
+ LIBDIR="$(ocamlc -where)" \
+ OCAML_NATIVE=$(usex ocamlopt true false) \
+ OCAML_NATIVE_TOOLS=$(usex ocamlopt true false) \
+ NATDYNLINK=$(usex ocamlopt true false)
+}
+
+src_install() {
+ emake CHECK_IF_PREINSTALLED=false DESTDIR="${D}" install
+ dodoc Changes
+}
diff --git a/dev-ml/ocamlbuild/ocamlbuild-0.11.0.ebuild b/dev-ml/ocamlbuild/ocamlbuild-0.11.0.ebuild
new file mode 100644
index 000000000000..96f238627e93
--- /dev/null
+++ b/dev-ml/ocamlbuild/ocamlbuild-0.11.0.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+DESCRIPTION="Generic build tool with built-in rules for building OCaml library and programs"
+HOMEPAGE="https://github.com/ocaml/ocamlbuild"
+SRC_URI="https://github.com/ocaml/ocamlbuild/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1-with-linking-exception"
+SLOT="0/${PV}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="+ocamlopt test"
+RESTRICT="!test? ( test )"
+
+# does not compile with ocaml-4.09 (bug # 708696 and #708872)
+DEPEND="<dev-lang/ocaml-4.09:=[ocamlopt?]"
+RDEPEND="${DEPEND}
+ !<dev-ml/findlib-1.6.1-r1
+"
+DEPEND="${DEPEND}
+ test? ( dev-ml/findlib )"
+
+src_configure() {
+ emake -f configure.make Makefile.config \
+ PREFIX="${EPREFIX}/usr" \
+ BINDIR="${EPREFIX}/usr/bin" \
+ LIBDIR="$(ocamlc -where)" \
+ OCAML_NATIVE=$(usex ocamlopt true false) \
+ OCAML_NATIVE_TOOLS=$(usex ocamlopt true false) \
+ NATDYNLINK=$(usex ocamlopt true false)
+}
+
+src_install() {
+ emake CHECK_IF_PREINSTALLED=false DESTDIR="${D}" install
+ dodoc Changes
+}
diff --git a/dev-ml/ocamlbuild/ocamlbuild-0.14.0.ebuild b/dev-ml/ocamlbuild/ocamlbuild-0.14.0.ebuild
new file mode 100644
index 000000000000..4556ac43c4db
--- /dev/null
+++ b/dev-ml/ocamlbuild/ocamlbuild-0.14.0.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+DESCRIPTION="Generic build tool with built-in rules for building OCaml library and programs"
+HOMEPAGE="https://github.com/ocaml/ocamlbuild"
+SRC_URI="https://github.com/ocaml/ocamlbuild/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1-with-linking-exception"
+SLOT="0/${PV}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="+ocamlopt test"
+RESTRICT="!test? ( test )"
+
+DEPEND=">=dev-lang/ocaml-4.02.3-r1:=[ocamlopt?]"
+RDEPEND="${DEPEND}
+ !<dev-ml/findlib-1.6.1-r1
+"
+DEPEND="${DEPEND}
+ test? ( dev-ml/findlib )"
+
+src_configure() {
+ emake -f configure.make Makefile.config \
+ PREFIX="${EPREFIX}/usr" \
+ BINDIR="${EPREFIX}/usr/bin" \
+ LIBDIR="$(ocamlc -where)" \
+ OCAML_NATIVE=$(usex ocamlopt true false) \
+ OCAML_NATIVE_TOOLS=$(usex ocamlopt true false) \
+ NATDYNLINK=$(usex ocamlopt true false)
+}
+
+src_install() {
+ emake CHECK_IF_PREINSTALLED=false DESTDIR="${D}" install
+ dodoc Changes
+}
diff --git a/dev-ml/ocamlgraph/Manifest b/dev-ml/ocamlgraph/Manifest
new file mode 100644
index 000000000000..1edb5afbb828
--- /dev/null
+++ b/dev-ml/ocamlgraph/Manifest
@@ -0,0 +1,2 @@
+DIST ocamlgraph-1.8.7.tar.gz 272625 BLAKE2B 18df3f78cfe66e2259c770cfc3671096b06a185e3f407b22eb0a21ff6e7f7df4b0b705a830d740c64f66609b88e2fb76aa91e200ca4c0fadc7ae2a1910641f3d SHA512 27559293bf576ecc9cf49090e24905c50d00ebaeb444a3c917826f3cfe1e7ceab34b43e30f98634811b1688b675d8747b590b5bb103a720d099304f5031feb2e
+DIST ocamlgraph-1.8.8.tar.gz 282729 BLAKE2B 79fdbcdd86fc5b6f36ad3399c890c31831a20fec22f0b4faf6da1fb61a12d25a54587e4b3ed8f9266ad1ce37bfffe76d66cf7a7e765e8046429943ad3c555208 SHA512 ccb07d4a7fb0c3026ad2d4563e1ca0a88483ac3cf43c9378989ae5c031961853a11c9673c06b54a16733c5755d9c0a2783c5f475afdcc7692d2bf3d4778f5bc5
diff --git a/dev-ml/ocamlgraph/files/ocamlgraph-1.8.6-installfindlib.patch b/dev-ml/ocamlgraph/files/ocamlgraph-1.8.6-installfindlib.patch
new file mode 100644
index 000000000000..cb980b6f19dc
--- /dev/null
+++ b/dev-ml/ocamlgraph/files/ocamlgraph-1.8.6-installfindlib.patch
@@ -0,0 +1,38 @@
+Index: ocamlgraph-1.8.6/Makefile.in
+===================================================================
+--- ocamlgraph-1.8.6.orig/Makefile.in
++++ ocamlgraph-1.8.6/Makefile.in
+@@ -421,21 +421,25 @@ ifdef DESTDIR
+ OCAMLFINDDEST := -destdir $(DESTDIR)
+ endif
+
++ifneq ($(WANT_OCAMLOPT),no)
++INSTALL_OPT=graph$(LIBEXT) graph.cmx $(CMXA)
++INSTALL_GTK_OPT=$(VIEWER_CMXLIB) $(VIEWER_CMXLIB:.cmx=.o) $(DGRAPH_CMXLIB) $(DGRAPH_CMXLIB:.cmx=.o) graph$(OBJEXT)
++endif
++
+ install-findlib: META
+ ifdef OCAMLFIND
+-ifeq (@LABLGNOMECANVAS@,yes)
++ifeq ($(WANT_GTK),yes)
+ $(OCAMLFIND) install $(OCAMLFINDDEST) ocamlgraph META \
+ $(SRCDIR)/*.mli $(VIEWER_DIR)/*.mli $(DGRAPH_DIR)/*.mli \
+- graph$(OBJEXT) graph$(LIBEXT) graph.cmx graph.cmo graph.cmi \
+- $(CMA) $(CMXA) \
+- $(VIEWER_CMXLIB) $(VIEWER_CMOLIB) $(VIEWER_CMILIB) \
+- $(VIEWER_CMXLIB:.cmx=.o) \
+- $(DGRAPH_CMXLIB) $(DGRAPH_CMOLIB) $(DGRAPH_CMILIB) \
+- $(DGRAPH_CMXLIB:.cmx=.o)
++ $(INSTALL_OPT) graph.cmo graph.cmi \
++ $(CMA) \
++ $(INSTALL_GTK_OPT) \
++ $(VIEWER_CMOLIB) $(VIEWER_CMILIB) \
++ $(DGRAPH_CMOLIB) $(DGRAPH_CMILIB)
+ else
+ $(OCAMLFIND) install $(OCAMLFINDDEST) ocamlgraph META \
+ $(SRCDIR)/*.mli $(VIEWER_DIR)/*.mli $(DGRAPH_DIR)/*.mli \
+- graph$(LIBEXT) graph.cmx graph.cmo graph.cmi $(CMA) $(CMXA)
++ $(INSTALL_OPT) graph.cmo graph.cmi $(CMA)
+ endif
+ endif
+
diff --git a/dev-ml/ocamlgraph/files/ocamlgraph-1.8.7-test.patch b/dev-ml/ocamlgraph/files/ocamlgraph-1.8.7-test.patch
new file mode 100644
index 000000000000..f0d370cfd94a
--- /dev/null
+++ b/dev-ml/ocamlgraph/files/ocamlgraph-1.8.7-test.patch
@@ -0,0 +1,19 @@
+commit 726e8d6e31224eb70f75655579da9a374e910b98
+Author: Jean-Christophe Filliatre <Jean-Christophe.Filliatre@lri.fr>
+Date: Mon Feb 13 08:41:58 2017 +0100
+
+ fixed 'make check'
+
+diff --git a/Makefile.in b/Makefile.in
+index 58b9e9c..9ce40df 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -360,7 +360,7 @@ bin/testunix.opt: $(CMXA) myTest/testunix.ml
+ $(OCAMLOPT) -unsafe -inline 100 -o $@ unix.cmxa $^
+
+ check: $(CMA) tests/check.ml bin/test-ts
+- ocaml $(CMA) tests/test_clique.ml tests/check.ml
++ ocaml -I . $(CMA) tests/test_clique.ml tests/check.ml
+ bin/test-ts 10
+
+ # Additional rules
diff --git a/dev-ml/ocamlgraph/metadata.xml b/dev-ml/ocamlgraph/metadata.xml
new file mode 100644
index 000000000000..ec6d1c7b68f3
--- /dev/null
+++ b/dev-ml/ocamlgraph/metadata.xml
@@ -0,0 +1,9 @@
+<?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">backtracking/ocamlgraph</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/ocamlgraph/ocamlgraph-1.8.7.ebuild b/dev-ml/ocamlgraph/ocamlgraph-1.8.7.ebuild
new file mode 100644
index 000000000000..09d0810bef2b
--- /dev/null
+++ b/dev-ml/ocamlgraph/ocamlgraph-1.8.7.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit findlib eutils
+
+DESCRIPTION="O'Caml Graph library"
+HOMEPAGE="http://ocamlgraph.lri.fr/index.en.html"
+SRC_URI="http://ocamlgraph.lri.fr/download/${P}.tar.gz"
+LICENSE="LGPL-2.1"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ppc x86"
+RDEPEND=">=dev-lang/ocaml-3.10.2:=[ocamlopt?]
+ gtk? ( dev-ml/lablgtk:=[gnomecanvas,ocamlopt?] )"
+DEPEND="${RDEPEND}
+ doc? ( dev-tex/hevea dev-ml/ocamlweb )"
+IUSE="doc examples gtk +ocamlopt"
+
+src_prepare() {
+ epatch "${FILESDIR}/${PN}-1.8.6-installfindlib.patch"
+ epatch "${FILESDIR}/${P}-test.patch"
+}
+
+src_compile() {
+ emake byte
+ use ocamlopt && emake opt
+
+ if use doc; then
+ emake doc
+ fi
+
+ if use gtk; then
+ emake OCAMLBEST=$(usex ocamlopt opt byte) viewer dgraph editor
+ fi
+}
+
+src_install() {
+ findlib_src_preinst
+ use ocamlopt || export WANT_OCAMLOPT=no
+ use gtk && export WANT_GTK=yes
+ emake install-findlib
+
+ if use gtk ; then
+ local ext=byte
+ use ocamlopt && ext=opt
+ newbin dgraph/dgraph.${ext} ${PN}-dgraph
+ newbin editor/editor.${ext} ${PN}-editor
+ newbin view_graph/viewgraph.${ext} ${PN}-viewgraph
+ fi
+
+ dodoc README.adoc CREDITS FAQ CHANGES
+ if use doc; then
+ dohtml doc/*
+ fi
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/dev-ml/ocamlgraph/ocamlgraph-1.8.8.ebuild b/dev-ml/ocamlgraph/ocamlgraph-1.8.8.ebuild
new file mode 100644
index 000000000000..b653703ff09d
--- /dev/null
+++ b/dev-ml/ocamlgraph/ocamlgraph-1.8.8.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit findlib
+
+DESCRIPTION="O'Caml Graph library"
+HOMEPAGE="http://ocamlgraph.lri.fr/index.en.html"
+SRC_URI="http://ocamlgraph.lri.fr/download/${P}.tar.gz"
+LICENSE="LGPL-2.1"
+SLOT="0/${PV}"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~x86"
+RDEPEND=">=dev-lang/ocaml-3.10.2:=[ocamlopt?]
+ gtk? ( dev-ml/lablgtk:=[gnomecanvas,ocamlopt?] )"
+DEPEND="${RDEPEND}
+ doc? ( dev-tex/hevea dev-ml/ocamlweb )"
+IUSE="doc examples gtk +ocamlopt"
+
+src_compile() {
+ emake byte
+ use ocamlopt && emake opt
+
+ if use doc; then
+ emake doc
+ fi
+
+ if use gtk; then
+ emake OCAMLBEST=$(usex ocamlopt opt byte) viewer dgraph editor
+ fi
+}
+
+src_install() {
+ findlib_src_preinst
+ use ocamlopt || export WANT_OCAMLOPT=no
+ use gtk && export WANT_GTK=yes
+ emake install-findlib
+
+ if use gtk ; then
+ local ext=byte
+ use ocamlopt && ext=opt
+ newbin dgraph/dgraph.${ext} ${PN}-dgraph
+ newbin editor/editor.${ext} ${PN}-editor
+ newbin view_graph/viewgraph.${ext} ${PN}-viewgraph
+ fi
+
+ dodoc README.adoc CREDITS FAQ CHANGES
+ if use doc; then
+ dohtml doc/*
+ fi
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/dev-ml/ocamlify/Manifest b/dev-ml/ocamlify/Manifest
new file mode 100644
index 000000000000..81c035d6fc01
--- /dev/null
+++ b/dev-ml/ocamlify/Manifest
@@ -0,0 +1 @@
+DIST ocamlify-0.0.2.tar.gz 53184 BLAKE2B fff11edce964a0552f9a7f130872f393e764a9413ac526d643dd575969a47cbc6a0f9c5040c0fcd3e5beb11c42a8a3a35fe55898eab176b11c659bdd74729b90 SHA512 e36dd09de6163be1e4d1a54944bb66871a5d461b3ead9ee8393d91a624cf6f7d038be8d8b9db36b04786adff67eb830d9aa3e81475e774dc0dee73adb985079e
diff --git a/dev-ml/ocamlify/metadata.xml b/dev-ml/ocamlify/metadata.xml
new file mode 100644
index 000000000000..d85b4252fc33
--- /dev/null
+++ b/dev-ml/ocamlify/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<!-- maintainer-needed -->
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/ocamlify/ocamlify-0.0.2.ebuild b/dev-ml/ocamlify/ocamlify-0.0.2.ebuild
new file mode 100644
index 000000000000..0f54e07a5cc1
--- /dev/null
+++ b/dev-ml/ocamlify/ocamlify-0.0.2.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit oasis
+
+DESCRIPTION="OCamlify creates OCaml code by including files into strings or string lists"
+HOMEPAGE="http://forge.ocamlcore.org/projects/ocamlify"
+SRC_URI="http://forge.ocamlcore.org/frs/download.php/1209/${P}.tar.gz"
+
+LICENSE="LGPL-2.1-with-linking-exception"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND=""
+DEPEND="${RDEPEND}"
+IUSE=""
+
+DOCS=( "README.txt" "AUTHORS.txt" )
diff --git a/dev-ml/ocamlmod/Manifest b/dev-ml/ocamlmod/Manifest
new file mode 100644
index 000000000000..5345dc401b4b
--- /dev/null
+++ b/dev-ml/ocamlmod/Manifest
@@ -0,0 +1,2 @@
+DIST ocamlmod-0.0.8.tar.gz 48985 BLAKE2B a153b172b14216b8e69a51c47a25cd796e6bb2adb5d0c45dac49a5bab8e99f0b8511e5e1818abe2bf86ea5280b9b1c19aa21db23ed686387c3414c0df6f2667c SHA512 beb64c109c241965f33a60b4868f5215e6c112742a3be214d3b7a0503b9d29494c0453fa5f2551bbc1975cd4b123d0b917116aeeba968d2a7d2c6fb9651a64f4
+DIST ocamlmod-0.0.9.tar.gz 55025 BLAKE2B 26be662e814543b65a2fb293732257a803c0cfc544550d0339617ff3c59ce1cf44f2330582e6eeca313cf8e25984d7cbfc4fc1c1a3b830fc490a16551961974e SHA512 cf0d3671cf8fa83bdbd0e4b47888a50f9eab24691c71685c0612a9a8efaf36ba9fa66cee604c928a71f2d8da40b35453d2f2d3619f73141aba0f46de3bd97537
diff --git a/dev-ml/ocamlmod/metadata.xml b/dev-ml/ocamlmod/metadata.xml
new file mode 100644
index 000000000000..d85b4252fc33
--- /dev/null
+++ b/dev-ml/ocamlmod/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<!-- maintainer-needed -->
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/ocamlmod/ocamlmod-0.0.8.ebuild b/dev-ml/ocamlmod/ocamlmod-0.0.8.ebuild
new file mode 100644
index 000000000000..d8a4b5c50ad2
--- /dev/null
+++ b/dev-ml/ocamlmod/ocamlmod-0.0.8.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+#OASIS_BUILD_TESTS=1
+
+inherit oasis
+
+DESCRIPTION="Generate OCaml modules from source files"
+HOMEPAGE="http://forge.ocamlcore.org/projects/ocamlmod/"
+SRC_URI="https://forge.ocamlcore.org/frs/download.php/1544/${P}.tar.gz"
+
+LICENSE="LGPL-2.1-with-linking-exception"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND=""
+DEPEND="${RDEPEND}"
+# test? ( >=dev-ml/ounit-2.0.0 )"
+
+DOCS=( "AUTHORS.txt" "README.txt" )
diff --git a/dev-ml/ocamlmod/ocamlmod-0.0.9.ebuild b/dev-ml/ocamlmod/ocamlmod-0.0.9.ebuild
new file mode 100644
index 000000000000..29b1d9d71889
--- /dev/null
+++ b/dev-ml/ocamlmod/ocamlmod-0.0.9.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+OASIS_BUILD_TESTS=1
+
+inherit oasis
+
+DESCRIPTION="Generate OCaml modules from source files"
+HOMEPAGE="http://forge.ocamlcore.org/projects/ocamlmod/"
+SRC_URI="http://forge.ocamlcore.org/frs/download.php/1702/${P}.tar.gz"
+
+LICENSE="LGPL-2.1-with-linking-exception"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ test? ( >=dev-ml/ounit-2.0.0 )"
+
+DOCS=( "AUTHORS.txt" "README.txt" )
diff --git a/dev-ml/ocamlnet/Manifest b/dev-ml/ocamlnet/Manifest
new file mode 100644
index 000000000000..07c535b63237
--- /dev/null
+++ b/dev-ml/ocamlnet/Manifest
@@ -0,0 +1,3 @@
+DIST ocamlnet-4.1.2.tar.gz 4623183 BLAKE2B 7e8d5cdc823b9e924258f75f00957ba185d49555377ba2a2d960c47e2ea958059e1ab62e27be63770bb4f547e1fa0cb788a54c3e698180b2b15f0097fe84455a SHA512 69f42042a54efd662db2217224da53513fc7e72c7b2313d4a4a1128f1b4624f4f6298434f5b19f354b832119ff151abc81e85eb0108d6eb24f30f82d176e0b4d
+DIST ocamlnet-4.1.3.tar.gz 4553037 BLAKE2B 177d2a3b947e6123bdef0ee180c612f832a22dfd90fe0c44b60ba2ebea3629103db9730eb1b926b7d7bf39b489934b8949b0fd08e5155c7f41e3c065c215558c SHA512 683ab6f529639c9da01478ba8ba7a1bf89a418ad3872331bb3e29067c0a75ddc0db996630ce5a5dd116967d6e3e756ade02d9a78b865bbc226f95d01af9e3956
+DIST ocamlnet-4.1.4.tar.gz 4552969 BLAKE2B 3dfedcd09eb91d1ca8e13b7a87dfe70cfb88d57d0b4fa970fe6179affa05ba3fdeaad0dfbb6ac267e7a6530c289408b1a8ad66a805226245f80fe66770addad5 SHA512 ca502444f81898ccda27d61760a357aad59624cf3c4c025d49dd1c2e7bc3ef497c199634247ba7731e016c234e5cd92d2599d1ef9ecd55c3b6e7a64fc4773ee0
diff --git a/dev-ml/ocamlnet/files/ocaml405.patch b/dev-ml/ocamlnet/files/ocaml405.patch
new file mode 100644
index 000000000000..a112d1fb4473
--- /dev/null
+++ b/dev-ml/ocamlnet/files/ocaml405.patch
@@ -0,0 +1,145 @@
+commit f3d451b81c4caa8cce7f55af6463ec685e79e227
+Author: Gerd Stolpmann <gerd@gerd-stolpmann.de>
+Date: Sun Feb 26 21:04:49 2017 +0100
+
+ ocaml-4.05: support for O_KEEPEXEC
+
+diff --git a/code/src/netsys/Makefile b/code/src/netsys/Makefile
+index cbc1ce2..cb70a09 100644
+--- a/code/src/netsys/Makefile
++++ b/code/src/netsys/Makefile
+@@ -56,7 +56,7 @@ OCAMLC_OPTIONS_FOR_netsys_c_xdr.c = -ccopt -O
+ OCAMLC_OPTIONS += $(STRING_OPTS)
+ OCAMLOPT_OPTIONS += $(STRING_OPTS)
+
+-PP_OPTIONS = -pp "$(CPPO) $(DEF_O_SHARE_DELETE) $(DEF_O_CLOEXEC) $(PP_BYTES) $(PP_DEPRECATED)"
++PP_OPTIONS = -pp "$(CPPO) $(DEF_O_SHARE_DELETE) $(DEF_O_CLOEXEC) $(DEF_O_KEEPEXEC) $(PP_BYTES) $(PP_DEPRECATED)"
+
+ INSTALL_EXTRA += netsys_c_event.h $(OOH_OBJECT)
+
+diff --git a/code/src/netsys/configure b/code/src/netsys/configure
+index 1325843..f4dbc09 100755
+--- a/code/src/netsys/configure
++++ b/code/src/netsys/configure
+@@ -437,6 +437,21 @@ else
+ echo "no"
+ fi
+
++######################################################################
++
++printf "Checking for O_KEEPEXEC... "
++mkdir -p tmp
++cat <<_EOF_ >tmp/t.ml
++let x = Unix.O_KEEPEXEC;;
++_EOF_
++
++def_o_keepexec="-D NO_O_KEEPEXEC"
++if ocaml unix.cma tmp/t.ml >/dev/null 2>/dev/null; then
++ echo "yes"
++ def_o_keepexec="-D HAVE_O_KEEPEXEC"
++else
++ echo "no"
++fi
+
+ ######################################################################
+
+@@ -445,6 +460,7 @@ cat <<EOF >Makefile.conf
+ NETSYS_LINK_OPTIONS = $netsys_link_options
+ DEF_O_SHARE_DELETE = $def_o_share_delete
+ DEF_O_CLOEXEC = $def_o_cloexec
++DEF_O_KEEPEXEC = $def_o_keepexec
+ OOH_OBJECT = $def_ooh_object
+ EOF
+
+diff --git a/code/src/netsys/netsys_c.c b/code/src/netsys/netsys_c.c
+index a8b16be..4c30873 100644
+--- a/code/src/netsys/netsys_c.c
++++ b/code/src/netsys/netsys_c.c
+@@ -448,32 +448,43 @@ static int at_flags_table[] = {
+ #ifndef O_RSYNC
+ #define O_RSYNC 0
+ #endif
+-#ifndef O_CLOEXEC
+-#define NEED_CLOEXEC_EMULATION
+-#define O_CLOEXEC 0
+-#endif
+
+ static int open_flag_table[] = {
+ O_RDONLY, O_WRONLY, O_RDWR, O_NONBLOCK, O_APPEND, O_CREAT, O_TRUNC, O_EXCL,
+- O_NOCTTY, O_DSYNC, O_SYNC, O_RSYNC, 0 /* O_SHARE_DELETE */, O_CLOEXEC
++ O_NOCTTY, O_DSYNC, O_SYNC, O_RSYNC,
++ 0 /* O_SHARE_DELETE */, 0 /* O_CLOEXEC */, 0 /* O_KEEPEXEC */
+ };
+
+-#ifdef NEED_CLOEXEC_EMULATION
++enum { CLOEXEC = 1, KEEPEXEC = 2 };
++
+ static int open_cloexec_table[] = {
+- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, CLOEXEC, KEEPEXEC
+ };
++#ifndef HAVE_O_KEEPEXEC
++#define unix_cloexec_default 0
+ #endif
++
+ #endif
+
+ CAMLprim value netsys_openat(value dirfd, value path, value flags, value perm)
+ {
+ #ifdef HAVE_AT
+ CAMLparam4(dirfd, path, flags, perm);
+- int ret, cv_flags;
++ int ret, cv_flags, clo_flags, cloexec;
+ char * p;
+
+ /* shamelessly copied from ocaml distro */
+ cv_flags = convert_flag_list(flags, open_flag_table);
++ clo_flags = convert_flag_list(flags, open_cloexec_table);
++ if (clo_flags & CLOEXEC)
++ cloexec = 1;
++ else if (clo_flags & KEEPEXEC)
++ cloexec = 0;
++ else
++ cloexec = unix_cloexec_default;
++#if defined(O_CLOEXEC)
++ if (cloexec) cv_flags |= O_CLOEXEC;
++#endif
+ p = stat_alloc(string_length(path) + 1);
+ strcpy(p, String_val(path));
+ enter_blocking_section();
+@@ -481,8 +492,8 @@ CAMLprim value netsys_openat(value dirfd, value path, value flags, value perm)
+ leave_blocking_section();
+ stat_free(p);
+ if (ret == -1) uerror("openat", path);
+-#if defined(NEED_CLOEXEC_EMULATION) && defined(FD_CLOEXEC)
+- if (convert_flag_list(flags, open_cloexec_table) != 0) {
++#if !defined(O_CLOEXEC)
++ {
+ int flags = fcntl(Int_val(dirfd), F_GETFD, 0);
+ if (flags == -1 || fcntl(Int_val(dirfd), F_SETFD, flags | FD_CLOEXEC) == -1)
+ uerror("openat", path);
+diff --git a/code/src/netsys/netsys_posix.ml b/code/src/netsys/netsys_posix.ml
+index 602ceae..3bf3e7c 100644
+--- a/code/src/netsys/netsys_posix.ml
++++ b/code/src/netsys/netsys_posix.ml
+@@ -715,6 +715,12 @@ type at_flag = AT_EACCESS | AT_SYMLINK_NOFOLLOW | AT_SYMLINK_FOLLOW |
+ AT_REMOVEDIR
+
+ (* The stubs assume these type definitions: *)
++#ifdef HAVE_O_KEEPEXEC
++type open_flag1 = Unix.open_flag =
++ O_RDONLY | O_WRONLY | O_RDWR | O_NONBLOCK | O_APPEND | O_CREAT | O_TRUNC
++ | O_EXCL | O_NOCTTY | O_DSYNC | O_SYNC | O_RSYNC | O_SHARE_DELETE
++ | O_CLOEXEC | O_KEEPEXEC
++#else
+ #ifdef HAVE_O_CLOEXEC
+ type open_flag1 = Unix.open_flag =
+ O_RDONLY | O_WRONLY | O_RDWR | O_NONBLOCK | O_APPEND | O_CREAT | O_TRUNC
+@@ -731,6 +737,7 @@ type open_flag1 = Unix.open_flag =
+ | O_EXCL | O_NOCTTY | O_DSYNC | O_SYNC | O_RSYNC
+ #endif
+ #endif
++#endif
+
+ type access_permission1 = Unix.access_permission =
+ R_OK | W_OK | X_OK | F_OK
diff --git a/dev-ml/ocamlnet/metadata.xml b/dev-ml/ocamlnet/metadata.xml
new file mode 100644
index 000000000000..c19d683aa7ee
--- /dev/null
+++ b/dev-ml/ocamlnet/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+<use>
+ <flag name="httpd">Enables net-httpd web server component</flag>
+ <flag name="zip">Enables netzip support to read/write gzip data using object channels</flag>
+</use>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/ocamlnet/ocamlnet-4.1.2.ebuild b/dev-ml/ocamlnet/ocamlnet-4.1.2.ebuild
new file mode 100644
index 000000000000..d307e7628307
--- /dev/null
+++ b/dev-ml/ocamlnet/ocamlnet-4.1.2.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit eutils findlib
+
+MY_P=${P/_beta/test}
+DESCRIPTION="Modules for OCaml application-level Internet protocols"
+HOMEPAGE="http://projects.camlcity.org/projects/ocamlnet.html"
+SRC_URI="http://download.camlcity.org/download/${MY_P}.tar.gz"
+
+LICENSE="ZLIB GPL-2+"
+SLOT="0/${PV}"
+KEYWORDS="amd64 ppc x86"
+IUSE="gtk kerberos tk httpd +ocamlopt +pcre ssl zip"
+RESTRICT="installsources strip"
+
+# the auth-dh compile flag has been disabled as well, since it depends on
+# ocaml-cryptgps, which is not available.
+
+RDEPEND=">=dev-ml/findlib-1.0
+ pcre? ( >=dev-ml/pcre-ocaml-5:= )
+ >=dev-lang/ocaml-3.10.2:=[ocamlopt?]
+ tk? ( dev-ml/labltk:= )
+ ssl? ( net-libs/gnutls:= )
+ gtk? ( >=dev-ml/lablgtk-2:= )
+ kerberos? ( virtual/krb5 )
+ zip? ( dev-ml/camlzip:= )
+ "
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+"
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ epatch "${FILESDIR}/ocaml405.patch"
+}
+
+ocamlnet_use_with() {
+ if use $1; then
+ echo "-with-$2"
+ else
+ echo "-without-$2"
+ fi
+}
+
+ocamlnet_use_enable() {
+ if use $1; then
+ echo "-enable-$2"
+ else
+ echo "-disable-$2"
+ fi
+}
+
+src_configure() {
+ ./configure \
+ -bindir /usr/bin \
+ -datadir /usr/share/${PN} \
+ $(ocamlnet_use_enable ssl gnutls) \
+ $(ocamlnet_use_enable gtk gtk2) \
+ $(ocamlnet_use_enable kerberos gssapi) \
+ $(ocamlnet_use_enable pcre pcre) \
+ $(ocamlnet_use_enable tk tcl) \
+ $(ocamlnet_use_enable zip zip) \
+ $(ocamlnet_use_with httpd nethttpd) \
+ || die "Error : econf failed!"
+}
+
+src_compile() {
+ emake -j1 all
+ if use ocamlopt; then
+ emake -j1 opt
+ fi
+}
diff --git a/dev-ml/ocamlnet/ocamlnet-4.1.3.ebuild b/dev-ml/ocamlnet/ocamlnet-4.1.3.ebuild
new file mode 100644
index 000000000000..1d38ddb0e813
--- /dev/null
+++ b/dev-ml/ocamlnet/ocamlnet-4.1.3.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit eutils findlib
+
+MY_P=${P/_beta/test}
+DESCRIPTION="Modules for OCaml application-level Internet protocols"
+HOMEPAGE="http://projects.camlcity.org/projects/ocamlnet.html"
+SRC_URI="http://download.camlcity.org/download/${MY_P}.tar.gz"
+
+LICENSE="ZLIB GPL-2+"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="gtk kerberos tk httpd +ocamlopt +pcre ssl zip"
+RESTRICT="installsources strip"
+
+# the auth-dh compile flag has been disabled as well, since it depends on
+# ocaml-cryptgps, which is not available.
+
+RDEPEND=">=dev-ml/findlib-1.0
+ pcre? ( >=dev-ml/pcre-ocaml-5:= )
+ >=dev-lang/ocaml-3.10.2:=[ocamlopt?]
+ tk? ( dev-ml/labltk:= )
+ ssl? ( net-libs/gnutls:= )
+ gtk? ( >=dev-ml/lablgtk-2:= )
+ kerberos? ( virtual/krb5 )
+ zip? ( dev-ml/camlzip:= )
+ "
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+"
+
+S=${WORKDIR}/${MY_P}
+
+ocamlnet_use_with() {
+ if use $1; then
+ echo "-with-$2"
+ else
+ echo "-without-$2"
+ fi
+}
+
+ocamlnet_use_enable() {
+ if use $1; then
+ echo "-enable-$2"
+ else
+ echo "-disable-$2"
+ fi
+}
+
+src_configure() {
+ ./configure \
+ -bindir /usr/bin \
+ -datadir /usr/share/${PN} \
+ $(ocamlnet_use_enable ssl gnutls) \
+ $(ocamlnet_use_enable gtk gtk2) \
+ $(ocamlnet_use_enable kerberos gssapi) \
+ $(ocamlnet_use_enable pcre pcre) \
+ $(ocamlnet_use_enable tk tcl) \
+ $(ocamlnet_use_enable zip zip) \
+ $(ocamlnet_use_with httpd nethttpd) \
+ || die "Error : econf failed!"
+}
+
+src_compile() {
+ emake -j1 all
+ if use ocamlopt; then
+ emake -j1 opt
+ fi
+}
diff --git a/dev-ml/ocamlnet/ocamlnet-4.1.4.ebuild b/dev-ml/ocamlnet/ocamlnet-4.1.4.ebuild
new file mode 100644
index 000000000000..1d38ddb0e813
--- /dev/null
+++ b/dev-ml/ocamlnet/ocamlnet-4.1.4.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit eutils findlib
+
+MY_P=${P/_beta/test}
+DESCRIPTION="Modules for OCaml application-level Internet protocols"
+HOMEPAGE="http://projects.camlcity.org/projects/ocamlnet.html"
+SRC_URI="http://download.camlcity.org/download/${MY_P}.tar.gz"
+
+LICENSE="ZLIB GPL-2+"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="gtk kerberos tk httpd +ocamlopt +pcre ssl zip"
+RESTRICT="installsources strip"
+
+# the auth-dh compile flag has been disabled as well, since it depends on
+# ocaml-cryptgps, which is not available.
+
+RDEPEND=">=dev-ml/findlib-1.0
+ pcre? ( >=dev-ml/pcre-ocaml-5:= )
+ >=dev-lang/ocaml-3.10.2:=[ocamlopt?]
+ tk? ( dev-ml/labltk:= )
+ ssl? ( net-libs/gnutls:= )
+ gtk? ( >=dev-ml/lablgtk-2:= )
+ kerberos? ( virtual/krb5 )
+ zip? ( dev-ml/camlzip:= )
+ "
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+"
+
+S=${WORKDIR}/${MY_P}
+
+ocamlnet_use_with() {
+ if use $1; then
+ echo "-with-$2"
+ else
+ echo "-without-$2"
+ fi
+}
+
+ocamlnet_use_enable() {
+ if use $1; then
+ echo "-enable-$2"
+ else
+ echo "-disable-$2"
+ fi
+}
+
+src_configure() {
+ ./configure \
+ -bindir /usr/bin \
+ -datadir /usr/share/${PN} \
+ $(ocamlnet_use_enable ssl gnutls) \
+ $(ocamlnet_use_enable gtk gtk2) \
+ $(ocamlnet_use_enable kerberos gssapi) \
+ $(ocamlnet_use_enable pcre pcre) \
+ $(ocamlnet_use_enable tk tcl) \
+ $(ocamlnet_use_enable zip zip) \
+ $(ocamlnet_use_with httpd nethttpd) \
+ || die "Error : econf failed!"
+}
+
+src_compile() {
+ emake -j1 all
+ if use ocamlopt; then
+ emake -j1 opt
+ fi
+}
diff --git a/dev-ml/ocamlsdl/Manifest b/dev-ml/ocamlsdl/Manifest
new file mode 100644
index 000000000000..80f100117be8
--- /dev/null
+++ b/dev-ml/ocamlsdl/Manifest
@@ -0,0 +1 @@
+DIST ocamlsdl-0.9.1.tar.gz 226085 BLAKE2B 30ee2f12cdc83344d3a8a9d1e187415b30d5ea83cfed4ac4709a0b4350e386961123e9504fc94a2b5643bb161c65d065298e3d6d8904cb55ab5436d243dfe588 SHA512 8be444a3a4d1b56919c7a28fb607cbd33446f8cf30de3768a9926f23f86690d98ebb8ce6f2fb28c167ea76ac138b670283c5c93d72ea2565aa49a0dc92de181a
diff --git a/dev-ml/ocamlsdl/files/ocamlopt.patch b/dev-ml/ocamlsdl/files/ocamlopt.patch
new file mode 100644
index 000000000000..603654dceffa
--- /dev/null
+++ b/dev-ml/ocamlsdl/files/ocamlopt.patch
@@ -0,0 +1,22 @@
+Index: ocamlsdl-0.9.1/src/Makefile
+===================================================================
+--- ocamlsdl-0.9.1.orig/src/Makefile
++++ ocamlsdl-0.9.1/src/Makefile
+@@ -17,7 +17,7 @@ gfx_MODULES = sdlgfx
+
+ TARGETS = sdl.cma $(patsubst %,sdl%.cma,$(PARTS))
+ TARGETS += libsdlstub.$(A) $(patsubst %,libsdl%stub.$(A),$(PARTS))
+-ifdef OCAMLOPT
++ifneq ($(OCAMLOPT),no)
+ TARGETS += sdl.cmxa $(patsubst %,sdl%.cmxa,$(PARTS))
+ endif
+
+@@ -87,7 +87,7 @@ ifdef OCAMLFIND
+ install-findlib :
+ $(OCAMLFIND) install sdl ../META \
+ *.cma lib*.$(A) *.cmi *.mli \
+- $(if $(OCAMLOPT),*.cmxa sdl*.$(A) *.cmx) \
++ $(if $(filter-out $(OCAMLOPT),no),*.cmxa sdl*.$(A) *.cmx) \
+ $(if $(OCAMLMKLIB),dll*.so)
+ ifeq ($(PLATFORM),Apple)
+ $(RANLIB) $$($(OCAMLFIND) printconf destdir)/sdl/*.$(A)
diff --git a/dev-ml/ocamlsdl/metadata.xml b/dev-ml/ocamlsdl/metadata.xml
new file mode 100644
index 000000000000..cd9f2e0deed9
--- /dev/null
+++ b/dev-ml/ocamlsdl/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <upstream>
+ <remote-id type="sourceforge">ocamlsdl</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/ocamlsdl/ocamlsdl-0.9.1.ebuild b/dev-ml/ocamlsdl/ocamlsdl-0.9.1.ebuild
new file mode 100644
index 000000000000..a18399af37b0
--- /dev/null
+++ b/dev-ml/ocamlsdl/ocamlsdl-0.9.1.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit findlib eutils
+
+DESCRIPTION="OCaml SDL Bindings"
+
+HOMEPAGE="http://ocamlsdl.sourceforge.net"
+SRC_URI="mirror://sourceforge/ocamlsdl/${P}.tar.gz"
+LICENSE="LGPL-2"
+
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ppc x86"
+IUSE="doc +ocamlopt opengl truetype" #noimage nomixer
+
+RDEPEND="
+ >=dev-lang/ocaml-3.12:=[ocamlopt=]
+ >=media-libs/libsdl-1.2
+ opengl? ( >=dev-ml/lablgl-0.98:= )
+ >=media-libs/sdl-mixer-1.2
+ >=media-libs/sdl-image-1.2
+ truetype? ( >=media-libs/sdl-ttf-2.0 )
+"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ epatch "${FILESDIR}/ocamlopt.patch"
+}
+
+src_configure() {
+ myconf=""
+ if use opengl; then
+ destdir=`ocamlfind printconf destdir`
+ lablgldir=`find ${destdir} -name "lablgl" -or -name "lablGL"`
+ if [ -z "${lablgldir}" ]; then
+ destdir=`ocamlc -where`
+ lablgldir=`find ${destdir} -name "lablgl" -or -name "lablGL"`
+ fi
+
+ if [ ! -z "${lablgldir}" ]; then
+ myconf="--with-lablgldir=${lablgldir}"
+ fi
+ fi
+
+ #use noimage && myconf="${myconf} --without-sdl-image"
+ #use nomixer && myconf="${myconf} --without-sdl-mixer"
+
+ econf $myconf \
+ `use_enable truetype sdl-ttf`
+}
+
+src_install() {
+ findlib_src_install
+
+ dodoc AUTHORS NEWS README
+ doinfo doc/*.info*
+
+ if use doc; then
+ dohtml doc/html/*
+ fi
+}
diff --git a/dev-ml/ocamlweb/Manifest b/dev-ml/ocamlweb/Manifest
new file mode 100644
index 000000000000..ca1439647035
--- /dev/null
+++ b/dev-ml/ocamlweb/Manifest
@@ -0,0 +1 @@
+DIST ocamlweb-1.39.tar.gz 141866 BLAKE2B 14ab9c595133d34d9711da2232fdf6a89a7b134ec2537e70d6ee6ecbfdb19a8bfb6a1a7aed6207cbb1bbe1f5e7b651d33fed35d8f26129d69e29dc5995d5c342 SHA512 f4e2d330222378b632ace70efb7062c93002a85db6dc9a821706a76a1e1c00da4d4e82e618f162584003b821bc72d2d11508ae22474db61cc4367ed528d21d50
diff --git a/dev-ml/ocamlweb/files/ocamlweb-1.37-strip.patch b/dev-ml/ocamlweb/files/ocamlweb-1.37-strip.patch
new file mode 100644
index 000000000000..393391fe52ce
--- /dev/null
+++ b/dev-ml/ocamlweb/files/ocamlweb-1.37-strip.patch
@@ -0,0 +1,19 @@
+Index: ocamlweb-1.37/Makefile.in
+===================================================================
+--- ocamlweb-1.37.orig/Makefile.in
++++ ocamlweb-1.37/Makefile.in
+@@ -61,14 +61,12 @@ byte: ocamlweb.byte
+
+ ocamlweb: $(CAML_CMX) $(CAMLLEX_CMX) $(CMX)
+ $(CAMLCOPT) $(OPTFLAGS) -o $@ $(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
new file mode 100644
index 000000000000..d85b4252fc33
--- /dev/null
+++ b/dev-ml/ocamlweb/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<!-- maintainer-needed -->
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/ocamlweb/ocamlweb-1.39.ebuild b/dev-ml/ocamlweb/ocamlweb-1.39.ebuild
new file mode 100644
index 000000000000..f4baea3a4598
--- /dev/null
+++ b/dev-ml/ocamlweb/ocamlweb-1.39.ebuild
@@ -0,0 +1,32 @@
+# 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-3.09:=
+ virtual/latex-base
+ dev-texlive/texlive-latexextra
+ "
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.37-strip.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
new file mode 100644
index 000000000000..8add618f0052
--- /dev/null
+++ b/dev-ml/ocplib-endian/Manifest
@@ -0,0 +1 @@
+DIST ocplib-endian-1.0.tar.gz 62753 BLAKE2B d343343eb22b7ff591219ad0d45502e3450cd4200d8f3cc7f8a4783bdd93752d015b686b57aa574f58344dc44cec751ba89e68f93770ca5df73a98d95a604b8d SHA512 a08fd58ec5e72510c40e8b75e0ee8327ee658f479e45dd4632bc04e3907d04aaa3684df3b993ab63fc2a6c1f1a4fb32784e9b5258730d3b89a716300522d8d7f
diff --git a/dev-ml/ocplib-endian/metadata.xml b/dev-ml/ocplib-endian/metadata.xml
new file mode 100644
index 000000000000..7974b628080e
--- /dev/null
+++ b/dev-ml/ocplib-endian/metadata.xml
@@ -0,0 +1,9 @@
+<?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>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/ocplib-endian/ocplib-endian-1.0.ebuild b/dev-ml/ocplib-endian/ocplib-endian-1.0.ebuild
new file mode 100644
index 000000000000..c3947fbc9c87
--- /dev/null
+++ b/dev-ml/ocplib-endian/ocplib-endian-1.0.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+OASIS_BUILD_TESTS=1
+
+inherit oasis
+
+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"
+IUSE=""
+
+DEPEND="
+ >=dev-lang/ocaml-4.01
+ >=dev-ml/cppo-1.1.0
+"
+RDEPEND=""
+
+DOCS=( CHANGES.md COPYING.txt README.md )
diff --git a/dev-ml/ocplib-simplex/Manifest b/dev-ml/ocplib-simplex/Manifest
new file mode 100644
index 000000000000..aba0025144b2
--- /dev/null
+++ b/dev-ml/ocplib-simplex/Manifest
@@ -0,0 +1,2 @@
+DIST ocplib-simplex-0.3.tar.gz 31013 BLAKE2B 30d1541f15bf9d2c55f51ed565f2feb63c2b0fbe0095c15849a22df0876ad992a3e6c15924dbbe5a798ab278c7e171e30cda815b1de2ec9bc19fc92bbe79ad95 SHA512 43373deb6e921a31526c27d33808c3520b4f375caf9e5237179db0e8d84b5be3bf43e061e2d991fc6de694958c64c7ede0b258400fb921c4139664e367958630
+DIST ocplib-simplex-0.4.tar.gz 31784 BLAKE2B 89ebb43ba59debc658b1400b24379dcb717f44f484742a4ea2227e1692f2d1d359469add4e3c22bd15b7a5044e4d45877994b40e80f28ec8639989bf28565d9a SHA512 5eb80f0c8ad32291d24423255c0359e139cd85e2262b0cbbfaffcab66d9a7eb66c9bf04bb9d5d5c103574ec7041a72cde5412e6cb03fc9fe4a8fd257dab49a76
diff --git a/dev-ml/ocplib-simplex/files/ocplib-simplex-0.4-flags.patch b/dev-ml/ocplib-simplex/files/ocplib-simplex-0.4-flags.patch
new file mode 100644
index 000000000000..ac76488238d4
--- /dev/null
+++ b/dev-ml/ocplib-simplex/files/ocplib-simplex-0.4-flags.patch
@@ -0,0 +1,48 @@
+--- a/Makefile.in 2020-06-13 22:27:11.971906805 +0200
++++ b/Makefile.in 2020-06-13 22:28:14.193938195 +0200
+@@ -73,19 +73,19 @@
+ opt: src/$(LIBNAME).cma src/$(LIBNAME).cmxa src/$(LIBNAME).cmxs
+
+ src/$(LIBNAME).cma: src/$(LIBNAME).cmo
+- $(OCAMLC) -a $(BFLAGS_LIGHT) -o $@ $^
++ $(OCAMLC) -a $(BFLAGS_LIGHT) -ccopt "$(CFLAGS)" -o $@ $^
+
+ src/$(LIBNAME).cmxa: src/$(LIBNAME).cmx
+- $(OCAMLOPT) -a $(OFLAGS_LIGHT) -o $@ $^
++ $(OCAMLOPT) -a $(OFLAGS_LIGHT) -ccopt "$(CFLAGS)" -o $@ $^
+
+ src/$(LIBNAME).cmxs: src/$(LIBNAME).cmx
+- $(OCAMLOPT) -shared $(OFLAGS_LIGHT) -o $@ $^
++ $(OCAMLOPT) -shared $(OFLAGS_LIGHT) -ccopt "$(CFLAGS)" -cclib "$(LDFLAGS)" -o $@ $^
+
+ src/$(LIBNAME).cmo: $(CMO) # src/$(LIBNAME).cmi
+- $(OCAMLC) $(BFLAGS_LIGHT) -pack -o src/$(LIBNAME).cmo $^
++ $(OCAMLC) $(BFLAGS_LIGHT) -ccopt "$(CFLAGS)" -pack -o src/$(LIBNAME).cmo $^
+
+ src/$(LIBNAME).cmx: $(CMX) # src/$(LIBNAME).cmi
+- $(OCAMLOPT) $(OFLAGS_LIGHT) -pack -o src/$(LIBNAME).cmx $^
++ $(OCAMLOPT) $(OFLAGS_LIGHT) -pack -ccopt "$(CFLAGS)" -o src/$(LIBNAME).cmx $^
+
+ src/extSigs.ml: src/extSigs.mli
+ cp src/extSigs.mli src/extSigs.ml
+@@ -125,16 +125,16 @@
+ .SUFFIXES: .mli .ml .cmi .cmo .cmx .mll .mly .tex .dvi .ps .html
+
+ .mli.cmi:
+- $(OCAMLC) -c $(BFLAGS) $<
++ $(OCAMLC) -c $(BFLAGS) -ccopt "$(CFLAGS)" $<
+
+ .ml.cmo:
+- $(OCAMLC) -c $(BFLAGS) $<
++ $(OCAMLC) -c $(BFLAGS) -ccopt "$(CFLAGS)" $<
+
+ .ml.o:
+- $(OCAMLOPT) -c $(OFLAGS) $<
++ $(OCAMLOPT) -c $(OFLAGS) -ccopt "$(CFLAGS)" $<
+
+ .ml.cmx:
+- $(OCAMLOPT) -c $(OFLAGS) $<
++ $(OCAMLOPT) -c $(OFLAGS) -ccopt "$(CFLAGS)" $<
+
+ .mll.ml:
+ $(OCAMLLEX) $< > /dev/null
diff --git a/dev-ml/ocplib-simplex/metadata.xml b/dev-ml/ocplib-simplex/metadata.xml
new file mode 100644
index 000000000000..951449585aae
--- /dev/null
+++ b/dev-ml/ocplib-simplex/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <longdescription lang="en">
+ A library implementing a simplex algorithm, in a functional style,
+ for solving systems of linear inequalities
+ </longdescription>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/ocplib-simplex/ocplib-simplex-0.3.ebuild b/dev-ml/ocplib-simplex/ocplib-simplex-0.3.ebuild
new file mode 100644
index 000000000000..f04ed1fed37c
--- /dev/null
+++ b/dev-ml/ocplib-simplex/ocplib-simplex-0.3.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools findlib multilib
+
+DESCRIPTION="A library implementing a simplex algorithm"
+HOMEPAGE="https://github.com/OCamlPro-Iguernlala/ocplib-simplex"
+SRC_URI="https://github.com/OCamlPro-Iguernlala/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1-with-linking-exception"
+SLOT="0"
+KEYWORDS="amd64"
+IUSE=""
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+
+DOCS="CHANGES.md README.md extra/simplex_invariants.txt extra/TODO.txt"
+
+src_prepare() {
+ default
+ mv configure.{in,ac} || die
+ sed -i -e "s:configure.in:configure.ac:g" \
+ Makefile.in
+ eautoreconf
+}
+
+src_install() {
+ findlib_src_install LIBDIR="${D}"usr/"$(get_libdir)"/ocaml
+}
diff --git a/dev-ml/ocplib-simplex/ocplib-simplex-0.4.ebuild b/dev-ml/ocplib-simplex/ocplib-simplex-0.4.ebuild
new file mode 100644
index 000000000000..d032ec5579be
--- /dev/null
+++ b/dev-ml/ocplib-simplex/ocplib-simplex-0.4.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools findlib multilib
+
+DESCRIPTION="A library implementing a simplex algorithm"
+HOMEPAGE="https://github.com/OCamlPro-Iguernlala/ocplib-simplex"
+SRC_URI="https://github.com/OCamlPro-Iguernlala/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1-with-linking-exception"
+SLOT="0"
+KEYWORDS="amd64"
+IUSE=""
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+
+DOCS="CHANGES.md README.md extra/simplex_invariants.txt extra/TODO.txt"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-flags.patch
+)
+
+QA_FLAGS_IGNORED=(
+ /usr/lib64/ocaml/ocplib-simplex/ocplibSimplex.cmxs
+)
+
+src_prepare() {
+ default
+ mv configure.{in,ac} || die
+ sed -i -e "s:configure.in:configure.ac:g" \
+ Makefile.in
+ eautoreconf
+}
+
+src_install() {
+ findlib_src_install LIBDIR="${D}"/usr/"$(get_libdir)"/ocaml
+}
diff --git a/dev-ml/octavius/Manifest b/dev-ml/octavius/Manifest
new file mode 100644
index 000000000000..43e1d879e4fa
--- /dev/null
+++ b/dev-ml/octavius/Manifest
@@ -0,0 +1 @@
+DIST octavius-1.1.0.tar.gz 13767 BLAKE2B ad6f7a252ff853eb26348ce66cfa6ce9afdc4a4655d4f0c79e0f5e1ab354bfed62da396c312ca8b402ebf116a5be70afce7b26810723c2b27be37656bc63406f SHA512 db1f7da7af07d9ff1a4b1c51dbd2861e4dddab13958e7bccdd0c42494fa95f0b4277b222652ef73198f5aeb2ac44de4204459c7d1085810864958da251d5ec09
diff --git a/dev-ml/octavius/metadata.xml b/dev-ml/octavius/metadata.xml
new file mode 100644
index 000000000000..2a53662adc1b
--- /dev/null
+++ b/dev-ml/octavius/metadata.xml
@@ -0,0 +1,9 @@
+<?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-doc/octavius</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/octavius/octavius-1.1.0.ebuild b/dev-ml/octavius/octavius-1.1.0.ebuild
new file mode 100644
index 000000000000..36135a6e9f15
--- /dev/null
+++ b/dev-ml/octavius/octavius-1.1.0.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit findlib opam
+
+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 ~ppc ~x86"
+IUSE=""
+
+RDEPEND=""
+DEPEND="${DEPEND}
+ dev-ml/jbuilder
+ dev-ml/ocamlbuild"
diff --git a/dev-ml/ocurl/Manifest b/dev-ml/ocurl/Manifest
new file mode 100644
index 000000000000..d1864ca58da1
--- /dev/null
+++ b/dev-ml/ocurl/Manifest
@@ -0,0 +1,3 @@
+DIST ocurl-0.6.1.tgz 101147 BLAKE2B db0ff240e58bc72fbbbbbb661ccc8222bf65db70e85632094c59b3edfeef63e6ff3f2b7df73e8b1662a159b4177c38714ff1a553193dd092e9aae336b90d9f9e SHA512 2c82c9b8e8d6ee26a85add7a2698ab1f61478777f9c7b0b217cacb6491067b619f508b41c22eaa54cf249147d287a77c62a00aef3b19ee6c135426c4559ab7f3
+DIST ocurl-0.7.10.tar.gz 108234 BLAKE2B 17b679e331fa266001744522457cc7f4a3656b97b4558fc9e4458c31abd8700fb0f55ce1f9049de7d95a1df41f6543aa36729bc10d9cb688e5e45c50960d5e3d SHA512 7e7adae7d32a39465d578c0e9a0b3b1d4baed76c41428337e9bdc86f7c948297db22c14bc61b58c28d02871a2f3359767e745891690663b63ee1334a839b49c8
+DIST ocurl-0.7.9.tar.gz 108242 BLAKE2B 0402757e9e08b115e322ad007d8b294127584ccd5470eeb3e1db667aba96dc269616e8a2782f1850ac4550533a51e49b58cdb82b077a8fd516f5c83e03fc616d SHA512 daa571279570fa1e4ecfa213b717149f6be3922c3c904a22912d04afcf01651702c8324b4b06cbff1fcc023a1f7663e8b1b1e7f14dc377e043ecf2ac09122877
diff --git a/dev-ml/ocurl/metadata.xml b/dev-ml/ocurl/metadata.xml
new file mode 100644
index 000000000000..b4129caa13e2
--- /dev/null
+++ b/dev-ml/ocurl/metadata.xml
@@ -0,0 +1,9 @@
+<?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">ygrek/ocurl</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/ocurl/ocurl-0.6.1.ebuild b/dev-ml/ocurl/ocurl-0.6.1.ebuild
new file mode 100644
index 000000000000..39c4fd5cab5f
--- /dev/null
+++ b/dev-ml/ocurl/ocurl-0.6.1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit findlib
+
+DESCRIPTION="OCaml interface to the libcurl library"
+HOMEPAGE="http://forge.ocamlcore.org/projects/ocurl/"
+LICENSE="MIT"
+SRC_URI="https://forge.ocamlcore.org/frs/download.php/1374/${P}.tgz"
+
+SLOT="0/${PV}"
+IUSE="examples"
+
+RDEPEND=">=net-misc/curl-7.9.8
+ >=dev-lang/ocaml-3.12:=[ocamlopt]"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+KEYWORDS="amd64 ppc ~x86"
+
+src_compile()
+{
+ emake -j1 all
+}
+
+src_install()
+{
+ findlib_src_install
+ dodoc CHANGES.txt README
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/dev-ml/ocurl/ocurl-0.7.10.ebuild b/dev-ml/ocurl/ocurl-0.7.10.ebuild
new file mode 100644
index 000000000000..a23d5e728f2d
--- /dev/null
+++ b/dev-ml/ocurl/ocurl-0.7.10.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit findlib
+
+DESCRIPTION="OCaml interface to the libcurl library"
+HOMEPAGE="http://forge.ocamlcore.org/projects/ocurl/ https://github.com/ygrek/ocurl"
+LICENSE="MIT"
+SRC_URI="https://github.com/ygrek/ocurl/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+SLOT="0/${PV}"
+IUSE="examples"
+
+RDEPEND=">=net-misc/curl-7.9.8
+ dev-ml/lwt:=
+ dev-ml/camlp4:=
+ >=dev-lang/ocaml-3.12:=[ocamlopt]"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86"
+
+src_compile()
+{
+ emake -j1 all
+}
+
+src_install()
+{
+ findlib_src_install
+ dodoc CHANGES.txt README.md
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/dev-ml/ocurl/ocurl-0.7.9.ebuild b/dev-ml/ocurl/ocurl-0.7.9.ebuild
new file mode 100644
index 000000000000..978bdea229b6
--- /dev/null
+++ b/dev-ml/ocurl/ocurl-0.7.9.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit findlib
+
+DESCRIPTION="OCaml interface to the libcurl library"
+HOMEPAGE="http://forge.ocamlcore.org/projects/ocurl/ https://github.com/ygrek/ocurl"
+LICENSE="MIT"
+SRC_URI="https://github.com/ygrek/ocurl/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+SLOT="0/${PV}"
+IUSE="examples"
+
+RDEPEND=">=net-misc/curl-7.9.8
+ dev-ml/lwt:=
+ dev-ml/camlp4:=
+ >=dev-lang/ocaml-3.12:=[ocamlopt]"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+KEYWORDS="~amd64 ~arm ~ppc ~x86"
+
+src_compile()
+{
+ emake -j1 all
+}
+
+src_install()
+{
+ findlib_src_install
+ dodoc CHANGES.txt README.md
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/dev-ml/opam/Manifest b/dev-ml/opam/Manifest
new file mode 100644
index 000000000000..360c3df63cfc
--- /dev/null
+++ b/dev-ml/opam/Manifest
@@ -0,0 +1 @@
+DIST opam-1.3.1.tar.gz 669485 BLAKE2B e1aed54175d46f5dd9fd989e56c25657370356e26df6976c01dd089e381291fa04e25da295104f85d513010cd028276d80ebf7a4a77b38f3e089e52f4e64f43a SHA512 d075c9b2c9670d712f29bd2df34b8020da52041fa2bbef599cb54a81f63554507d78bebece45ecf668d3d1d4ed514e4ab88a1d86b64088d283bca7a8e75ae582
diff --git a/dev-ml/opam/files/stublibs.patch b/dev-ml/opam/files/stublibs.patch
new file mode 100644
index 000000000000..3cb61883233a
--- /dev/null
+++ b/dev-ml/opam/files/stublibs.patch
@@ -0,0 +1,13 @@
+Index: opam-1.3.1/src/tools/opam_installer.ml
+===================================================================
+--- opam-1.3.1.orig/src/tools/opam_installer.ml
++++ opam-1.3.1/src/tools/opam_installer.ml
+@@ -312,7 +312,7 @@ let options =
+ let mandir = mk_dir mandir in
+ let libdir = mk_dir libdir in
+ let stubsdir = match mk_dir stubsdir, libdir with
+- | None, Some d -> Some OpamFilename.Op.(d / "stubslibs")
++ | None, Some d -> Some OpamFilename.Op.(d / "stublibs")
+ | d, None | (Some _ as d), _ -> d
+ in
+ let topdir = match mk_dir topdir, libdir with
diff --git a/dev-ml/opam/metadata.xml b/dev-ml/opam/metadata.xml
new file mode 100644
index 000000000000..4e5f242966a2
--- /dev/null
+++ b/dev-ml/opam/metadata.xml
@@ -0,0 +1,9 @@
+<?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>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/opam/opam-1.3.1-r1.ebuild b/dev-ml/opam/opam-1.3.1-r1.ebuild
new file mode 100644
index 000000000000..a9416d6d2d17
--- /dev/null
+++ b/dev-ml/opam/opam-1.3.1-r1.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils
+
+DESCRIPTION="A source-based package manager for OCaml"
+HOMEPAGE="http://opam.ocaml.org/"
+LICENSE="LGPL-3-with-linking-exception"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+if [[ ${PV} != 9999 ]]; then
+ SRC_URI="https://github.com/ocaml/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+else
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/ocaml/opam.git"
+fi
+
+RDEPEND="dev-lang/ocaml:=
+ || ( net-misc/wget net-misc/curl )
+ dev-ml/extlib:=
+ dev-ml/ocaml-re:=
+ dev-ml/ocamlgraph:=
+ dev-ml/cmdliner:=
+ dev-ml/cudf:=
+ >=dev-ml/dose3-5:=
+ dev-ml/uutf:=
+ dev-ml/jsonm:=
+"
+DEPEND="${RDEPEND}
+ dev-ml/findlib
+ test? ( dev-vcs/git )
+"
+
+src_prepare() {
+ epatch "${FILESDIR}/stublibs.patch"
+}
+
+src_compile() {
+ emake -j1
+ cd doc
+ emake man
+}
+
+src_test() {
+ EMAIL=foo@bar.com emake -j1 tests
+}
+
+src_install() {
+ default
+ emake DESTDIR="${D}" OPAMINSTALLER_FLAGS="--prefix=\"${ED}/usr\" --libdir=\"${D}/$(ocamlc -where)\"" libinstall
+}
diff --git a/dev-ml/optcomp/Manifest b/dev-ml/optcomp/Manifest
new file mode 100644
index 000000000000..b6c305e18737
--- /dev/null
+++ b/dev-ml/optcomp/Manifest
@@ -0,0 +1 @@
+DIST optcomp-1.6.tar.gz 56370 BLAKE2B 15a349d7ce927d69b10424329abd59108803683cba85dcea66cea19d0465a18e43f990a8031e2b63dba5e8bfb97488b28c905dd09391de0a0ff919d62926381a SHA512 19fa04a42e5ed589979647469759017442598d170bf82d49c3b720d1b1b6bbe3066ae3ffee77a3f15dcbf51be5d7a8934300873391ebce423f3a0f3878250c18
diff --git a/dev-ml/optcomp/metadata.xml b/dev-ml/optcomp/metadata.xml
new file mode 100644
index 000000000000..32f02028e031
--- /dev/null
+++ b/dev-ml/optcomp/metadata.xml
@@ -0,0 +1,9 @@
+<?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">diml/optcomp</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/optcomp/optcomp-1.6-r1.ebuild b/dev-ml/optcomp/optcomp-1.6-r1.ebuild
new file mode 100644
index 000000000000..e64a3633ee6b
--- /dev/null
+++ b/dev-ml/optcomp/optcomp-1.6-r1.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+OASIS_BUILD_DOCS=1
+
+inherit oasis
+
+DESCRIPTION="Optional compilation for OCaml with cpp-like directives"
+HOMEPAGE="https://github.com/diml/optcomp"
+SRC_URI="https://github.com/diml/optcomp/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+IUSE=""
+
+DEPEND="dev-ml/camlp4:="
+RDEPEND="${DEPEND}"
+
+DOCS=( CHANGES.md README.md )
diff --git a/dev-ml/ounit/Manifest b/dev-ml/ounit/Manifest
new file mode 100644
index 000000000000..e7322851af14
--- /dev/null
+++ b/dev-ml/ounit/Manifest
@@ -0,0 +1,3 @@
+DIST ounit-2.0.0.tar.gz 103504 BLAKE2B e936d0a3df48eb46623eadfc39a4f64a6776972c713280c388ef5e9e1b6a20d9959a68b30ce21fae7e553e4e43a7ad1cd5652d49da7aa2699ca59fc03e1f1352 SHA512 e12c8fb534ef88de7a83a34e5a578060a90abfce601d8532408412a56e843f69b89cfd6ce69bd7c5519e9a04e306d46339e9b8f13975727a3458afe20cd776d0
+DIST ounit-2.0.5.tar.gz 114285 BLAKE2B d41faf95ec11f16accb70aaa1a9005f468727ebfe01082827669d7a7afbeb44d8cd740376ea9df26a811913b3a87b8d9fb85c0d4690e0d18e6b129949c2b145f SHA512 b2414b7581ec230a949de0d7a677786bb63ef3a3ee0c3dc666d176f83705b5bc8aeab4b6e2327c98714bb26c249d71766ed831ebf572aff2b8829a33cc0e4b75
+DIST ounit-2.0.6.tar.gz 114305 BLAKE2B 94ae4e2f7ace6fe5732253d724115cdc3e24af91db2066b36439501cb17df7f44fb9230242b8400ec59a72f9317c22361f068f7f2634d29ccfdcca63cb95c275 SHA512 466ec1f691a81e0abd93f698c7328e6db4fa2d617d8f5262d9f18b57ede3d389a3ee122ed7bccc8dff20600826fbbae1d17dd88d7c1329562798792fae54417d
diff --git a/dev-ml/ounit/metadata.xml b/dev-ml/ounit/metadata.xml
new file mode 100644
index 000000000000..d85b4252fc33
--- /dev/null
+++ b/dev-ml/ounit/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<!-- maintainer-needed -->
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/ounit/ounit-2.0.0.ebuild b/dev-ml/ounit/ounit-2.0.0.ebuild
new file mode 100644
index 000000000000..8779d2f64cf7
--- /dev/null
+++ b/dev-ml/ounit/ounit-2.0.0.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+OASIS_BUILD_DOCS=1
+
+inherit oasis
+
+DESCRIPTION="Unit testing framework for OCaml"
+HOMEPAGE="http://ounit.forge.ocamlcore.org/"
+SRC_URI="http://forge.ocamlcore.org/frs/download.php/1258/${P}.tar.gz"
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="amd64 arm ~arm64 ~ppc x86"
+DEPEND=""
+RDEPEND="${DEPEND}"
+IUSE=""
+
+DOCS=( "README.txt" "AUTHORS.txt" "changelog" )
diff --git a/dev-ml/ounit/ounit-2.0.5.ebuild b/dev-ml/ounit/ounit-2.0.5.ebuild
new file mode 100644
index 000000000000..f597ba581192
--- /dev/null
+++ b/dev-ml/ounit/ounit-2.0.5.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+OASIS_BUILD_DOCS=1
+
+inherit oasis
+
+DESCRIPTION="Unit testing framework for OCaml"
+HOMEPAGE="http://ounit.forge.ocamlcore.org/"
+SRC_URI="https://forge.ocamlcore.org/frs/download.php/1719/${P}.tar.gz"
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86"
+DEPEND=""
+RDEPEND="${DEPEND}"
+IUSE=""
+
+DOCS=( "README.txt" "AUTHORS.txt" "changelog" )
diff --git a/dev-ml/ounit/ounit-2.0.6.ebuild b/dev-ml/ounit/ounit-2.0.6.ebuild
new file mode 100644
index 000000000000..0ade5f19c1e2
--- /dev/null
+++ b/dev-ml/ounit/ounit-2.0.6.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+OASIS_BUILD_DOCS=1
+
+inherit oasis
+
+DESCRIPTION="Unit testing framework for OCaml"
+HOMEPAGE="http://ounit.forge.ocamlcore.org/"
+SRC_URI="https://forge.ocamlcore.org/frs/download.php/1722/${P}.tar.gz"
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86"
+DEPEND=""
+RDEPEND="${DEPEND}"
+IUSE=""
+
+DOCS=( "README.txt" "AUTHORS.txt" "changelog" )
diff --git a/dev-ml/parmap/Manifest b/dev-ml/parmap/Manifest
new file mode 100644
index 000000000000..2962ca6370c0
--- /dev/null
+++ b/dev-ml/parmap/Manifest
@@ -0,0 +1,2 @@
+DIST parmap-1.0_rc7-ocaml-4.03.tar.gz 98262 BLAKE2B 829553c5a8a16776588b7fc74304e189945367ddc4988e529b08857fe307b8e05db58fb73819554e88afa2405d8818d2c95fc4dc96e0a47ff782bfd78b912e90 SHA512 c8b7678fede76d35b299ef0548ef3819f9ec056cde4d5498e11f2400b96149b17ce58c35d197d10dba5fd4a702b94fe78090e1f330791b0f470891f0bbf7a544
+DIST parmap-1.0_rc8.tar.gz 98699 BLAKE2B 755208d0b380c200c5fb2a38334bcd422ea3e3c86bd8a52db37e256dd45c22c05e8577a5f13ae14d4ad553d16c212ae2a1b299e0870ac71a52e0bf11ddf2ecc4 SHA512 96bbe49f06dc3611577e87d9e6f5ca32e10271d6a14a0970bd4548fcaf268f833b3143258e14328237a60578e2355687e4bff031a021903f3e2280ef1713cc65
diff --git a/dev-ml/parmap/metadata.xml b/dev-ml/parmap/metadata.xml
new file mode 100644
index 000000000000..1acb3711c233
--- /dev/null
+++ b/dev-ml/parmap/metadata.xml
@@ -0,0 +1,9 @@
+<?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">rdicosmo/parmap</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/parmap/parmap-1.0_rc7-r1.ebuild b/dev-ml/parmap/parmap-1.0_rc7-r1.ebuild
new file mode 100644
index 000000000000..442a609b95ea
--- /dev/null
+++ b/dev-ml/parmap/parmap-1.0_rc7-r1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit multilib
+
+MY_PV="${PV/_/-}-fix-for4.03+3"
+DESCRIPTION="Library to exploit multicore architectures for OCaml programs"
+HOMEPAGE="https://www.dicosmo.org/code/parmap/"
+SRC_URI="https://github.com/rdicosmo/parmap/archive/${MY_PV}.tar.gz -> ${P}-ocaml-4.03.tar.gz"
+
+LICENSE="LGPL-2-with-linking-exception"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="+ocamlopt"
+
+RDEPEND=">=dev-lang/ocaml-4.03:=[ocamlopt?]"
+DEPEND="${RDEPEND}
+ dev-ml/findlib
+ dev-ml/ocamlbuild
+ dev-ml/ocaml-autoconf"
+S="${WORKDIR}/${PN}-${MY_PV/+/-}"
+
+src_test() {
+ mkdir "${WORKDIR}/tmpinstall" || die
+ emake \
+ OCAMLLIBDIR="ocaml" \
+ DESTDIR="${WORKDIR}/tmpinstall" \
+ install
+ export OCAMLPATH="${WORKDIR}/tmpinstall/ocaml"
+ emake tests
+ cd _build/tests || die
+ for i in $(find . -type f -executable) ; do
+ ${i} || die
+ done
+}
+
+src_install() {
+ emake \
+ OCAMLLIBDIR="$(get_libdir)/ocaml" \
+ MANDIR="${ED}/usr/share/man/man3o" \
+ DESTDIR="${ED}/usr" \
+ install
+ dodoc AUTHORS Changelog README
+}
diff --git a/dev-ml/parmap/parmap-1.0_rc8.ebuild b/dev-ml/parmap/parmap-1.0_rc8.ebuild
new file mode 100644
index 000000000000..594ea9593feb
--- /dev/null
+++ b/dev-ml/parmap/parmap-1.0_rc8.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit multilib
+
+MY_PV="${PV/_/-}"
+DESCRIPTION="Library to exploit multicore architectures for OCaml programs"
+HOMEPAGE="https://www.dicosmo.org/code/parmap/"
+SRC_URI="https://github.com/rdicosmo/parmap/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2-with-linking-exception"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86"
+IUSE="+ocamlopt"
+
+RDEPEND=">=dev-lang/ocaml-4.03:=[ocamlopt?]"
+DEPEND="${RDEPEND}
+ dev-ml/findlib
+ dev-ml/ocamlbuild
+ dev-ml/ocaml-autoconf"
+S="${WORKDIR}/${PN}-${MY_PV/+/-}"
+
+src_test() {
+ mkdir "${WORKDIR}/tmpinstall" || die
+ emake \
+ OCAMLLIBDIR="ocaml" \
+ DESTDIR="${WORKDIR}/tmpinstall" \
+ install
+ export OCAMLPATH="${WORKDIR}/tmpinstall/ocaml"
+ emake tests
+ cd _build/tests || die
+ for i in $(find . -type f -executable) ; do
+ ${i} || die
+ done
+}
+
+src_install() {
+ emake \
+ OCAMLLIBDIR="$(get_libdir)/ocaml" \
+ MANDIR="${ED}/usr/share/man/man3o" \
+ DESTDIR="${ED}/usr" \
+ install
+ dodoc AUTHORS Changelog README
+}
diff --git a/dev-ml/patience_diff/Manifest b/dev-ml/patience_diff/Manifest
new file mode 100644
index 000000000000..002d157a5147
--- /dev/null
+++ b/dev-ml/patience_diff/Manifest
@@ -0,0 +1 @@
+DIST patience_diff-0.9.0.tar.gz 16520 BLAKE2B af7f93906c1f4ab70649bc41726aff21f9f099fe49b0d3a3e8bea01d85e9f01cac4bd103179e9877d79dbc997d37318382321dacd67be57a9e031fd95e0263e5 SHA512 62cc0950edd8d46d5a11cd612dbdb8dc531a9a2c71403f30e6022e20d9ee21cb2e7a531362fa8b350075003eec929f1f70481b8e160b253831966d80a8becd83
diff --git a/dev-ml/patience_diff/metadata.xml b/dev-ml/patience_diff/metadata.xml
new file mode 100644
index 000000000000..e8f0b8b7662a
--- /dev/null
+++ b/dev-ml/patience_diff/metadata.xml
@@ -0,0 +1,9 @@
+<?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">janestreet/patience_diff</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/patience_diff/patience_diff-0.9.0.ebuild b/dev-ml/patience_diff/patience_diff-0.9.0.ebuild
new file mode 100644
index 000000000000..75cd3ec4d124
--- /dev/null
+++ b/dev-ml/patience_diff/patience_diff-0.9.0.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit opam
+
+DESCRIPTION="Tool and library implementing patience diff"
+HOMEPAGE="https://github.com/janestreet/patience_diff"
+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=""
+
+RDEPEND="
+ dev-ml/core_kernel:=
+ dev-ml/ppx_driver:=
+ dev-ml/ppx_jane:=
+ dev-ml/ocaml-migrate-parsetree:=
+"
+DEPEND="${RDEPEND} dev-ml/jbuilder"
diff --git a/dev-ml/pcre-ocaml/Manifest b/dev-ml/pcre-ocaml/Manifest
new file mode 100644
index 000000000000..c951f3510c59
--- /dev/null
+++ b/dev-ml/pcre-ocaml/Manifest
@@ -0,0 +1,4 @@
+DIST pcre-ocaml-7.2.3.tar.gz 88307 BLAKE2B 1024a0d7a490fb31927f67af4c9a5e90c8d3788b3998a8af1ecaba9d6d12d1a1be91dcb2bdc1c49e6e81f0909d1dd9b6bc200f908c68427650985491f35685c9 SHA512 3df4bdbbed5e1ecf4bdf15fc461f2ea65e1556af9c1683e194c8824e21da5274dd80c22c1f6676fca203305ec4244d47e09f0ef8c601bfa95f7237bb07c1ee65
+DIST pcre-ocaml-7.3.0.tbz 38126 BLAKE2B a129f263ab623827f491f573141a3c1da033ba853c115dbc853c942c64554028ac5e9c83a17123513522bebbd56cd5533fdb6ef17545761d1fde6063021def1b SHA512 bf2a5d188183a7f73d5a7eace98f225165e6b50828b061649e88922ca4d4705022551bce15b9b8319fc91734c77ee48182677cdb1abd754ae44c6f9412bd11e3
+DIST pcre-ocaml-7.3.2.tbz 38445 BLAKE2B 1858ce78abc760e99e34e88c590a23b79f20ed2f31abdb991f60a124b2beee140ec3e712990ced3529bf5efb5e38d231190cf9ac0f9ee2d39c1a33687b770266 SHA512 727b129172c8c119fcb0d4ae249a3842109e3b9ab412e674af156e7bcdf0fce0bcb9561cbfe52d99002a668f0e5f145fa54d052b67a5c2eb30a1881ad4217767
+DIST pcre-ocaml-7.3.3.tbz 38412 BLAKE2B 3c9538f5fc8bc6dea0c6ceda3a2b30a48302943d53a83a4876c31dbe600752ac68498a4db9546698424b34bbd55c6c3254d47148233a845376887c30dc6fd429 SHA512 569e323dea83f33212a2aa9482e55f7491c8f83382fad13dfaf9fe624307ca261baf255db7c5837e1c6b5c64445daf05b64b9929cbd6d311d06278826bb788e3
diff --git a/dev-ml/pcre-ocaml/metadata.xml b/dev-ml/pcre-ocaml/metadata.xml
new file mode 100644
index 000000000000..2ec7dc7b82c5
--- /dev/null
+++ b/dev-ml/pcre-ocaml/metadata.xml
@@ -0,0 +1,10 @@
+<?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">mmottl/pcre-ocaml</remote-id>
+ <remote-id type="bitbucket">mmottl/pcre-ocaml</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/pcre-ocaml/pcre-ocaml-7.2.3.ebuild b/dev-ml/pcre-ocaml/pcre-ocaml-7.2.3.ebuild
new file mode 100644
index 000000000000..f4be028e4ee5
--- /dev/null
+++ b/dev-ml/pcre-ocaml/pcre-ocaml-7.2.3.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+OASIS_BUILD_DOCS=1
+
+inherit oasis
+
+DESCRIPTION="Perl Compatibility Regular Expressions for O'Caml"
+HOMEPAGE="http://mmottl.github.io/pcre-ocaml/ https://github.com/mmottl/pcre-ocaml"
+SRC_URI="https://github.com/mmottl/pcre-ocaml/releases/download/v${PV}/${P}.tar.gz"
+LICENSE="LGPL-2.1-with-linking-exception"
+IUSE="examples"
+SLOT="0/${PV}"
+KEYWORDS="amd64 ppc x86"
+
+RDEPEND=">=dev-libs/libpcre-4.5
+ >=dev-lang/ocaml-4:="
+DEPEND="${RDEPEND}"
+
+DOCS=( "AUTHORS.txt" "CHANGES.txt" "README.md" )
+
+src_install() {
+ oasis_src_install
+ if use examples ; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/dev-ml/pcre-ocaml/pcre-ocaml-7.3.0.ebuild b/dev-ml/pcre-ocaml/pcre-ocaml-7.3.0.ebuild
new file mode 100644
index 000000000000..47033ef2b054
--- /dev/null
+++ b/dev-ml/pcre-ocaml/pcre-ocaml-7.3.0.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit opam
+
+DESCRIPTION="Perl Compatibility Regular Expressions for O'Caml"
+HOMEPAGE="http://mmottl.github.io/pcre-ocaml/ https://github.com/mmottl/pcre-ocaml"
+SRC_URI="https://github.com/mmottl/pcre-ocaml/releases/download/${PV}/pcre-${PV}.tbz -> ${P}.tbz"
+LICENSE="LGPL-2.1-with-linking-exception"
+IUSE="examples"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~ppc ~x86"
+
+RDEPEND=">=dev-libs/libpcre-4.5"
+DEPEND="${RDEPEND}
+ dev-ml/jbuilder
+ dev-ml/base
+ dev-ml/stdio
+ dev-ml/configurator
+"
+
+S="${WORKDIR}/pcre-${PV}"
+
+src_compile() {
+ jbuilder build @install || die
+}
+
+src_test() {
+ jbuilder runtest || die
+}
+
+src_install() {
+ opam_src_install pcre
+
+ if use examples ; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/dev-ml/pcre-ocaml/pcre-ocaml-7.3.2.ebuild b/dev-ml/pcre-ocaml/pcre-ocaml-7.3.2.ebuild
new file mode 100644
index 000000000000..47033ef2b054
--- /dev/null
+++ b/dev-ml/pcre-ocaml/pcre-ocaml-7.3.2.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit opam
+
+DESCRIPTION="Perl Compatibility Regular Expressions for O'Caml"
+HOMEPAGE="http://mmottl.github.io/pcre-ocaml/ https://github.com/mmottl/pcre-ocaml"
+SRC_URI="https://github.com/mmottl/pcre-ocaml/releases/download/${PV}/pcre-${PV}.tbz -> ${P}.tbz"
+LICENSE="LGPL-2.1-with-linking-exception"
+IUSE="examples"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~ppc ~x86"
+
+RDEPEND=">=dev-libs/libpcre-4.5"
+DEPEND="${RDEPEND}
+ dev-ml/jbuilder
+ dev-ml/base
+ dev-ml/stdio
+ dev-ml/configurator
+"
+
+S="${WORKDIR}/pcre-${PV}"
+
+src_compile() {
+ jbuilder build @install || die
+}
+
+src_test() {
+ jbuilder runtest || die
+}
+
+src_install() {
+ opam_src_install pcre
+
+ if use examples ; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/dev-ml/pcre-ocaml/pcre-ocaml-7.3.3.ebuild b/dev-ml/pcre-ocaml/pcre-ocaml-7.3.3.ebuild
new file mode 100644
index 000000000000..47033ef2b054
--- /dev/null
+++ b/dev-ml/pcre-ocaml/pcre-ocaml-7.3.3.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit opam
+
+DESCRIPTION="Perl Compatibility Regular Expressions for O'Caml"
+HOMEPAGE="http://mmottl.github.io/pcre-ocaml/ https://github.com/mmottl/pcre-ocaml"
+SRC_URI="https://github.com/mmottl/pcre-ocaml/releases/download/${PV}/pcre-${PV}.tbz -> ${P}.tbz"
+LICENSE="LGPL-2.1-with-linking-exception"
+IUSE="examples"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~ppc ~x86"
+
+RDEPEND=">=dev-libs/libpcre-4.5"
+DEPEND="${RDEPEND}
+ dev-ml/jbuilder
+ dev-ml/base
+ dev-ml/stdio
+ dev-ml/configurator
+"
+
+S="${WORKDIR}/pcre-${PV}"
+
+src_compile() {
+ jbuilder build @install || die
+}
+
+src_test() {
+ jbuilder runtest || die
+}
+
+src_install() {
+ opam_src_install pcre
+
+ if use examples ; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/dev-ml/pgocaml/Manifest b/dev-ml/pgocaml/Manifest
new file mode 100644
index 000000000000..a3f8d1eb7686
--- /dev/null
+++ b/dev-ml/pgocaml/Manifest
@@ -0,0 +1 @@
+DIST pgocaml-2.3.tgz 90383 BLAKE2B 3e536b4a310846688a3fd55b7a807e1aeebd12ce5f551d66572f8f3014007058a6843da1bfaf6acf16d0c1ab8b8c61551b85c29b95a79d604e9314849c1b1e05 SHA512 f42ca8ccf31f9e03cfa9f81a9cd19c2a6010c33f5a578e76924683fd10ab4acf2727b09b71c5a8f200bc39765a5d876a289976fea367b49ae54335c007fd3ff7
diff --git a/dev-ml/pgocaml/metadata.xml b/dev-ml/pgocaml/metadata.xml
new file mode 100644
index 000000000000..c7fe80107e40
--- /dev/null
+++ b/dev-ml/pgocaml/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <use>
+ <flag name="camlp4">Enable PG'Ocaml syntax extension.</flag>
+ </use>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/pgocaml/pgocaml-2.3.ebuild b/dev-ml/pgocaml/pgocaml-2.3.ebuild
new file mode 100644
index 000000000000..121edf6351c3
--- /dev/null
+++ b/dev-ml/pgocaml/pgocaml-2.3.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+OASIS_BUILD_DOCS=1
+
+inherit oasis
+
+DESCRIPTION="PG'OCaml is a set of OCaml bindings for the PostgreSQL database"
+HOMEPAGE="http://pgocaml.forge.ocamlcore.org/"
+SRC_URI="http://forge.ocamlcore.org/frs/download.php/1597/${P}.tgz"
+
+LICENSE="LGPL-2.1-with-linking-exception"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+IUSE="+camlp4 doc"
+
+DEPEND="dev-ml/calendar:=
+ dev-ml/csv:=
+ dev-ml/ocaml-re:=
+ camlp4? ( dev-ml/camlp4:= )"
+RDEPEND="${DEPEND}"
+
+DOCS=( "README.md" "CHANGELOG.txt"
+ "doc/BUGS.txt" "doc/CONTRIBUTORS.txt"
+ "doc/HOW_IT_WORKS.txt" "doc/PROFILING.txt"
+ )
+
+src_configure() {
+ oasis_configure_opts="$(use_enable camlp4 p4)" oasis_src_configure
+}
diff --git a/dev-ml/ppx_assert/Manifest b/dev-ml/ppx_assert/Manifest
new file mode 100644
index 000000000000..c5ef535aaafb
--- /dev/null
+++ b/dev-ml/ppx_assert/Manifest
@@ -0,0 +1 @@
+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
new file mode 100644
index 000000000000..a828961a9dc5
--- /dev/null
+++ b/dev-ml/ppx_assert/metadata.xml
@@ -0,0 +1,9 @@
+<?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">janestreet/ppx_assert</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/ppx_assert/ppx_assert-0.9.0.ebuild b/dev-ml/ppx_assert/ppx_assert-0.9.0.ebuild
new file mode 100644
index 000000000000..342b0cf8e989
--- /dev/null
+++ b/dev-ml/ppx_assert/ppx_assert-0.9.0.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit opam
+
+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"
+IUSE=""
+
+DEPEND="
+ dev-ml/base:=
+ dev-ml/ppx_compare:=
+ dev-ml/ppx_core:=
+ dev-ml/ppx_driver:=
+ dev-ml/ppx_here:=
+ dev-ml/ppx_metaquot:=
+ dev-ml/ppx_sexp_conv:=
+ dev-ml/ppx_type_conv
+ dev-ml/sexplib:=
+ dev-ml/ocaml-migrate-parsetree:=
+"
+
+RDEPEND="${DEPEND}"
+DEPEND="${RDEPEND} dev-ml/jbuilder"
diff --git a/dev-ml/ppx_ast/Manifest b/dev-ml/ppx_ast/Manifest
new file mode 100644
index 000000000000..b94f512fbde7
--- /dev/null
+++ b/dev-ml/ppx_ast/Manifest
@@ -0,0 +1 @@
+DIST ppx_ast-0.9.1.tar.gz 86802 BLAKE2B 5974cbea0b2566e83d8fb4192aa7e7f802aa7b6fa02b8f638ea12ac5c617fdca1f4426e0ee3fc761c46fe0ddf2e26d4ed402eb8c21fd84ce513a60996047ca28 SHA512 4a5a9fb47282877763ecf9638e67bcd1b57110c1acfcf446703ed335b9fa5aaa1521c55a75fce6025f91e715f9c4522b695444dde4d3ffa7feed79560e399ad7
diff --git a/dev-ml/ppx_ast/metadata.xml b/dev-ml/ppx_ast/metadata.xml
new file mode 100644
index 000000000000..ebcec84e4b05
--- /dev/null
+++ b/dev-ml/ppx_ast/metadata.xml
@@ -0,0 +1,9 @@
+<?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">janestreet/ppx_ast</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/ppx_ast/ppx_ast-0.9.1.ebuild b/dev-ml/ppx_ast/ppx_ast-0.9.1.ebuild
new file mode 100644
index 000000000000..acc14d99d440
--- /dev/null
+++ b/dev-ml/ppx_ast/ppx_ast-0.9.1.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit opam
+
+DESCRIPTION="AST used in Jane Street ppx rewriters"
+HOMEPAGE="https://github.com/janestreet/ppx_ast"
+SRC_URI="https://github.com/janestreet/ppx_ast/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE=""
+
+DEPEND="
+ dev-ml/ocaml-compiler-libs:=
+ dev-ml/ocaml-migrate-parsetree:=
+"
+RDEPEND="${DEPEND}"
+DEPEND="${RDEPEND}
+ dev-ml/jbuilder"
diff --git a/dev-ml/ppx_base/Manifest b/dev-ml/ppx_base/Manifest
new file mode 100644
index 000000000000..94668780256a
--- /dev/null
+++ b/dev-ml/ppx_base/Manifest
@@ -0,0 +1 @@
+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
new file mode 100644
index 000000000000..01175384f976
--- /dev/null
+++ b/dev-ml/ppx_base/metadata.xml
@@ -0,0 +1,9 @@
+<?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">janestreet/ppx_base</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/ppx_base/ppx_base-0.9.0.ebuild b/dev-ml/ppx_base/ppx_base-0.9.0.ebuild
new file mode 100644
index 000000000000..fba5ad20e4ae
--- /dev/null
+++ b/dev-ml/ppx_base/ppx_base-0.9.0.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit opam
+
+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 ~ppc ~x86"
+IUSE=""
+
+DEPEND="
+ dev-ml/ppx_compare:=
+ dev-ml/ppx_driver:=
+ dev-ml/ppx_enumerate:=
+ dev-ml/ppx_hash:=
+ dev-ml/ppx_js_style:=
+ dev-ml/ppx_sexp_conv:=
+ dev-ml/ppx_type_conv:=
+ dev-ml/ocaml-migrate-parsetree:=
+ "
+RDEPEND="${DEPEND}"
+DEPEND="${DEPEND} dev-ml/jbuilder"
diff --git a/dev-ml/ppx_bench/Manifest b/dev-ml/ppx_bench/Manifest
new file mode 100644
index 000000000000..c69dda276198
--- /dev/null
+++ b/dev-ml/ppx_bench/Manifest
@@ -0,0 +1 @@
+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
new file mode 100644
index 000000000000..f195f8ef9dde
--- /dev/null
+++ b/dev-ml/ppx_bench/metadata.xml
@@ -0,0 +1,9 @@
+<?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">janestreet/ppx_bench</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/ppx_bench/ppx_bench-0.9.1.ebuild b/dev-ml/ppx_bench/ppx_bench-0.9.1.ebuild
new file mode 100644
index 000000000000..c17ddf31b27a
--- /dev/null
+++ b/dev-ml/ppx_bench/ppx_bench-0.9.1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit opam
+
+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=""
+
+DEPEND="
+ dev-ml/ppx_core:=
+ dev-ml/ppx_driver:=
+ dev-ml/ppx_inline_test:=
+ dev-ml/ppx_metaquot:=
+ dev-ml/ocaml-migrate-parsetree:=
+"
+
+RDEPEND="${DEPEND}"
+DEPEND="${DEPEND} dev-ml/jbuilder"
diff --git a/dev-ml/ppx_bin_prot/Manifest b/dev-ml/ppx_bin_prot/Manifest
new file mode 100644
index 000000000000..607ba8a10fe6
--- /dev/null
+++ b/dev-ml/ppx_bin_prot/Manifest
@@ -0,0 +1 @@
+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
new file mode 100644
index 000000000000..ebef959327f0
--- /dev/null
+++ b/dev-ml/ppx_bin_prot/metadata.xml
@@ -0,0 +1,9 @@
+<?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">janestreet/ppx_bin_prot</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/ppx_bin_prot/ppx_bin_prot-0.9.0.ebuild b/dev-ml/ppx_bin_prot/ppx_bin_prot-0.9.0.ebuild
new file mode 100644
index 000000000000..00230450343a
--- /dev/null
+++ b/dev-ml/ppx_bin_prot/ppx_bin_prot-0.9.0.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit opam
+
+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=""
+
+DEPEND="
+ dev-ml/bin-prot:=
+ dev-ml/ppx_core:=
+ dev-ml/ppx_driver:=
+ dev-ml/ppx_here:=
+ dev-ml/ppx_metaquot:=
+ dev-ml/ppx_type_conv:=
+ dev-ml/ocaml-migrate-parsetree:=
+ "
+
+RDEPEND="${DEPEND}"
+DEPEND="${DEPEND} dev-ml/jbuilder"
diff --git a/dev-ml/ppx_compare/Manifest b/dev-ml/ppx_compare/Manifest
new file mode 100644
index 000000000000..123942822bc3
--- /dev/null
+++ b/dev-ml/ppx_compare/Manifest
@@ -0,0 +1 @@
+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
new file mode 100644
index 000000000000..56f9fc4ff2f6
--- /dev/null
+++ b/dev-ml/ppx_compare/metadata.xml
@@ -0,0 +1,9 @@
+<?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">janestreet/ppx_compare</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/ppx_compare/ppx_compare-0.9.0-r1.ebuild b/dev-ml/ppx_compare/ppx_compare-0.9.0-r1.ebuild
new file mode 100644
index 000000000000..078afb1a0109
--- /dev/null
+++ b/dev-ml/ppx_compare/ppx_compare-0.9.0-r1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit opam
+
+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 ~ppc ~x86"
+IUSE=""
+
+DEPEND="
+ dev-ml/ppx_driver:=
+ dev-ml/ppx_type_conv:=
+ dev-ml/ppx_core:=
+ dev-ml/base:=
+ dev-ml/ocaml-migrate-parsetree:=
+ dev-ml/ppx_metaquot:=
+"
+
+RDEPEND="${DEPEND}"
+DEPEND="${DEPEND} dev-ml/jbuilder"
diff --git a/dev-ml/ppx_core/Manifest b/dev-ml/ppx_core/Manifest
new file mode 100644
index 000000000000..62a261436dec
--- /dev/null
+++ b/dev-ml/ppx_core/Manifest
@@ -0,0 +1 @@
+DIST ppx_core-0.9.0.tar.gz 44525 BLAKE2B a2d67d6ba07217446af11f0e7030197f8894fd271b9eebefefa03a01ccb8692b1d866accf192926ea9193d639e1c551b085875baf877eb396d5a75c847378ec6 SHA512 04b0e096aa545c27f040feeea8745078e0fb9dbe4816ade6d3f39b6690da669c6c786334381dbccd74dfd46514ae88c6475b14db8c3216167a6acfea79601e06
diff --git a/dev-ml/ppx_core/metadata.xml b/dev-ml/ppx_core/metadata.xml
new file mode 100644
index 000000000000..99904e54bcda
--- /dev/null
+++ b/dev-ml/ppx_core/metadata.xml
@@ -0,0 +1,9 @@
+<?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">janestreet/ppx_core</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/ppx_core/ppx_core-0.9.0-r1.ebuild b/dev-ml/ppx_core/ppx_core-0.9.0-r1.ebuild
new file mode 100644
index 000000000000..b7479abd2f4f
--- /dev/null
+++ b/dev-ml/ppx_core/ppx_core-0.9.0-r1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit opam
+
+DESCRIPTION="Standard library for ppx rewriters"
+HOMEPAGE="https://github.com/janestreet/ppx_core"
+SRC_URI="https://github.com/janestreet/ppx_core/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE=""
+
+DEPEND="
+ dev-ml/base:=
+ dev-ml/ocaml-compiler-libs:=
+ dev-ml/ppx_ast:=
+ dev-ml/ppx_traverse_builtins:=
+ dev-ml/stdio:=
+ dev-ml/ocaml-migrate-parsetree:=
+"
+RDEPEND="${DEPEND}"
+DEPEND="${DEPEND} dev-ml/jbuilder"
diff --git a/dev-ml/ppx_custom_printf/Manifest b/dev-ml/ppx_custom_printf/Manifest
new file mode 100644
index 000000000000..d71f4fa73f8c
--- /dev/null
+++ b/dev-ml/ppx_custom_printf/Manifest
@@ -0,0 +1 @@
+DIST ppx_custom_printf-0.9.0.tar.gz 11527 BLAKE2B ad1791f1bad3c8583e67ca6300e98e8a7a047f723bbaa7c80cf6224f7333e7893fce7289456c39f6959089f15cc0da20106b33689ab198b1f47f6dc0bd853c77 SHA512 7608e09aac26f4f51d124d30c25a510abb73bea606007524a5563f5bb2c0e71f1ff033edb32c48f0c69656e8c3924b57186639812b1a647ce31f7ae15dc466cb
diff --git a/dev-ml/ppx_custom_printf/metadata.xml b/dev-ml/ppx_custom_printf/metadata.xml
new file mode 100644
index 000000000000..b7241bad559d
--- /dev/null
+++ b/dev-ml/ppx_custom_printf/metadata.xml
@@ -0,0 +1,9 @@
+<?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">janestreet/ppx_custom_printf</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/ppx_custom_printf/ppx_custom_printf-0.9.0-r1.ebuild b/dev-ml/ppx_custom_printf/ppx_custom_printf-0.9.0-r1.ebuild
new file mode 100644
index 000000000000..0ed35963b467
--- /dev/null
+++ b/dev-ml/ppx_custom_printf/ppx_custom_printf-0.9.0-r1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit opam
+
+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"
+IUSE=""
+
+DEPEND="
+ dev-ml/ppx_core:=
+ dev-ml/ppx_driver:=
+ dev-ml/ppx_metaquot:=
+ dev-ml/ppx_sexp_conv:=
+ dev-ml/ppx_type_conv:=
+ dev-ml/ppx_traverse
+ dev-ml/ocaml-migrate-parsetree:=
+"
+RDEPEND="${DEPEND}"
+DEPEND="${DEPEND} dev-ml/jbuilder"
diff --git a/dev-ml/ppx_derivers/Manifest b/dev-ml/ppx_derivers/Manifest
new file mode 100644
index 000000000000..535fb7fce0c3
--- /dev/null
+++ b/dev-ml/ppx_derivers/Manifest
@@ -0,0 +1 @@
+DIST ppx_derivers-1.0.tar.gz 1467 BLAKE2B 94946c5d04e314bfbe146534fb19e88a16670dc3f5d47c15496142dd9a256ebbe4387f24a9fe31b1aee804d064bea0a9136685372399a38ac82dedafe677934a SHA512 2e2437094362088f9a1601ca3c2f0b82ec079b9a34e502234aef36158ea7a3f2236f1d2526df1a75bcb851346ebaaf717eaf72253935f7ea4024d3dc20512e85
diff --git a/dev-ml/ppx_derivers/metadata.xml b/dev-ml/ppx_derivers/metadata.xml
new file mode 100644
index 000000000000..1abbd3474f28
--- /dev/null
+++ b/dev-ml/ppx_derivers/metadata.xml
@@ -0,0 +1,9 @@
+<?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">diml/ppx_derivers</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/ppx_derivers/ppx_derivers-1.0.ebuild b/dev-ml/ppx_derivers/ppx_derivers-1.0.ebuild
new file mode 100644
index 000000000000..b991aaed688e
--- /dev/null
+++ b/dev-ml/ppx_derivers/ppx_derivers-1.0.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit opam
+
+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 ~ppc ~x86"
+IUSE=""
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ dev-ml/jbuilder"
diff --git a/dev-ml/ppx_deriving/Manifest b/dev-ml/ppx_deriving/Manifest
new file mode 100644
index 000000000000..efe85125d052
--- /dev/null
+++ b/dev-ml/ppx_deriving/Manifest
@@ -0,0 +1 @@
+DIST ppx_deriving-4.2.tar.gz 48327 BLAKE2B 8ce5ccbfb7992fbd5e9c777ad0b577f8846d92df21926a877fb8f7b6804acc4fa2fd78586fc209c3bd83b8496eb6f8e8ee37c39e0c7462fb55f39389356f3c8f SHA512 084526157d6f4b41f7ad73157c5edb54d5bb9130d706525031670d8495ede8af5545302f442c2d2c506772201b79ccc93bdc7fead9455d3a59977ddfa9c3284d
diff --git a/dev-ml/ppx_deriving/metadata.xml b/dev-ml/ppx_deriving/metadata.xml
new file mode 100644
index 000000000000..200426885e44
--- /dev/null
+++ b/dev-ml/ppx_deriving/metadata.xml
@@ -0,0 +1,9 @@
+<?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-ppx/ppx_deriving</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/ppx_deriving/ppx_deriving-4.2-r1.ebuild b/dev-ml/ppx_deriving/ppx_deriving-4.2-r1.ebuild
new file mode 100644
index 000000000000..5b315e69bee2
--- /dev/null
+++ b/dev-ml/ppx_deriving/ppx_deriving-4.2-r1.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit findlib eutils opam
+
+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 ~ppc ~x86"
+IUSE="doc +ocamlopt test"
+RESTRICT="!test? ( 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
+ test? ( dev-ml/ounit )"
+
+src_compile() {
+ cp pkg/META.in pkg/META || die
+ ocaml pkg/build.ml \
+ native=$(usex ocamlopt true false) \
+ native-dynlink=$(usex ocamlopt true false) \
+ || die
+ use doc && emake doc
+}
+
+src_test() {
+ ocamlbuild -j 0 -use-ocamlfind -classic-display \
+ src_test/test_ppx_deriving.byte -- || die
+ if use ocamlopt; then
+ ocamlbuild -j 0 -use-ocamlfind -classic-display \
+ src_test/test_ppx_deriving.native -- || die
+ fi
+}
+
+src_install() {
+ opam_src_install
+ mv "${ED}/usr/lib/ppx_deriving/ppx_deriving" "${D}/$(ocamlc -where)/ppx_deriving/" || die
+
+ use doc && dohtml api.docdir/*
+}
diff --git a/dev-ml/ppx_driver/Manifest b/dev-ml/ppx_driver/Manifest
new file mode 100644
index 000000000000..325593ac132b
--- /dev/null
+++ b/dev-ml/ppx_driver/Manifest
@@ -0,0 +1 @@
+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
new file mode 100644
index 000000000000..c953e0b5b94d
--- /dev/null
+++ b/dev-ml/ppx_driver/metadata.xml
@@ -0,0 +1,9 @@
+<?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">janestreet/ppx_driver</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/ppx_driver/ppx_driver-0.9.1-r1.ebuild b/dev-ml/ppx_driver/ppx_driver-0.9.1-r1.ebuild
new file mode 100644
index 000000000000..c950b017789c
--- /dev/null
+++ b/dev-ml/ppx_driver/ppx_driver-0.9.1-r1.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit opam
+
+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 ~ppc ~x86"
+IUSE=""
+
+DEPEND="
+ dev-ml/ppx_core:=
+ dev-ml/stdio:=
+ dev-ml/ppx_optcomp:=
+ dev-ml/ocaml-migrate-parsetree:=
+ dev-ml/ocamlbuild:="
+RDEPEND="${DEPEND}"
+DEPEND="${DEPEND} dev-ml/jbuilder"
diff --git a/dev-ml/ppx_enumerate/Manifest b/dev-ml/ppx_enumerate/Manifest
new file mode 100644
index 000000000000..425aba98d5da
--- /dev/null
+++ b/dev-ml/ppx_enumerate/Manifest
@@ -0,0 +1 @@
+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
new file mode 100644
index 000000000000..213db3e0eca3
--- /dev/null
+++ b/dev-ml/ppx_enumerate/metadata.xml
@@ -0,0 +1,9 @@
+<?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">janestreet/ppx_enumerate</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/ppx_enumerate/ppx_enumerate-0.9.0.ebuild b/dev-ml/ppx_enumerate/ppx_enumerate-0.9.0.ebuild
new file mode 100644
index 000000000000..45aac67b0624
--- /dev/null
+++ b/dev-ml/ppx_enumerate/ppx_enumerate-0.9.0.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit opam
+
+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 ~ppc ~x86"
+IUSE=""
+
+DEPEND="
+ dev-ml/ppx_core:=
+ dev-ml/ppx_driver:=
+ dev-ml/ppx_metaquot:=
+ dev-ml/ppx_type_conv:=
+ dev-ml/ocaml-migrate-parsetree:=
+"
+RDEPEND="${DEPEND}"
+DEPEND="${DEPEND} dev-ml/jbuilder"
diff --git a/dev-ml/ppx_expect/Manifest b/dev-ml/ppx_expect/Manifest
new file mode 100644
index 000000000000..4d417a085e81
--- /dev/null
+++ b/dev-ml/ppx_expect/Manifest
@@ -0,0 +1 @@
+DIST ppx_expect-0.9.0.tar.gz 33700 BLAKE2B f03d1183b12efe84016a15b6a6b45b7bef93b23bc4d470c2796361aca2be229fc9447103c0a31d95a94f6c05bbabf1cbe9d138dc3518df9f505b6b009eefb104 SHA512 b8a6941f3ac0dea2167d7fe5c61e7adf605f5399e11049b5c9f22c613182983a014d05c2fb16e7a2dc94dbccf445e1801c39a89e6d995b5599cb40ee4322148e
diff --git a/dev-ml/ppx_expect/metadata.xml b/dev-ml/ppx_expect/metadata.xml
new file mode 100644
index 000000000000..c3e713991052
--- /dev/null
+++ b/dev-ml/ppx_expect/metadata.xml
@@ -0,0 +1,9 @@
+<?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">janestreet/ppx_expect</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/ppx_expect/ppx_expect-0.9.0.ebuild b/dev-ml/ppx_expect/ppx_expect-0.9.0.ebuild
new file mode 100644
index 000000000000..3ab20bb348ff
--- /dev/null
+++ b/dev-ml/ppx_expect/ppx_expect-0.9.0.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit opam
+
+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"
+IUSE=""
+
+DEPEND="
+ dev-ml/base:=
+ dev-ml/ppx_assert:=
+ dev-ml/ppx_compare:=
+ dev-ml/ppx_core:=
+ dev-ml/ppx_custom_printf:=
+ dev-ml/ppx_driver:=
+ dev-ml/ppx_fields_conv:=
+ dev-ml/ppx_here:=
+ dev-ml/ppx_inline_test:=
+ dev-ml/ppx_metaquot:=
+ dev-ml/ppx_sexp_conv:=
+ dev-ml/ppx_traverse:=
+ dev-ml/ppx_variants_conv:=
+ dev-ml/stdio:=
+ dev-ml/ocaml-migrate-parsetree:=
+ dev-ml/ocaml-re:=
+"
+RDEPEND="${DEPEND}"
+DEPEND="${DEPEND} dev-ml/jbuilder"
diff --git a/dev-ml/ppx_fail/Manifest b/dev-ml/ppx_fail/Manifest
new file mode 100644
index 000000000000..33bc7dfacbfe
--- /dev/null
+++ b/dev-ml/ppx_fail/Manifest
@@ -0,0 +1 @@
+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
new file mode 100644
index 000000000000..7510578aad20
--- /dev/null
+++ b/dev-ml/ppx_fail/metadata.xml
@@ -0,0 +1,9 @@
+<?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">janestreet/ppx_fail</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/ppx_fail/ppx_fail-0.9.0.ebuild b/dev-ml/ppx_fail/ppx_fail-0.9.0.ebuild
new file mode 100644
index 000000000000..f394a9dcb62c
--- /dev/null
+++ b/dev-ml/ppx_fail/ppx_fail-0.9.0.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit opam
+
+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=""
+
+DEPEND="
+ dev-ml/ppx_core:=
+ dev-ml/ppx_driver:=
+ dev-ml/ppx_here:=
+ dev-ml/ppx_metaquot:=
+ dev-ml/ocaml-migrate-parsetree:=
+"
+RDEPEND="${DEPEND}"
+DEPEND="${DEPEND} dev-ml/jbuilder"
diff --git a/dev-ml/ppx_fields_conv/Manifest b/dev-ml/ppx_fields_conv/Manifest
new file mode 100644
index 000000000000..b9d9329abf20
--- /dev/null
+++ b/dev-ml/ppx_fields_conv/Manifest
@@ -0,0 +1 @@
+DIST ppx_fields_conv-0.9.0.tar.gz 15171 BLAKE2B 5a0051a1b362dcf15ddd4ec4f3f6f4df6d709a8c2709222a2d2502eb12b8728fb28ce9213a1789270d30505c6084ab8203dc7b49d7043d9820aabb0cc74c51c2 SHA512 1edcd7076c1dbba84b86f05624b3792404b24ae4414ee0c3b32dcfc998da77a2a9d52d063fefc24be21d98472d6f58880c37ac29c610fb5b8a401224fc654ec1
diff --git a/dev-ml/ppx_fields_conv/metadata.xml b/dev-ml/ppx_fields_conv/metadata.xml
new file mode 100644
index 000000000000..f280ba91f837
--- /dev/null
+++ b/dev-ml/ppx_fields_conv/metadata.xml
@@ -0,0 +1,9 @@
+<?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">janestreet/ppx_fields_conv</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/ppx_fields_conv/ppx_fields_conv-0.9.0-r1.ebuild b/dev-ml/ppx_fields_conv/ppx_fields_conv-0.9.0-r1.ebuild
new file mode 100644
index 000000000000..b0352e3866ec
--- /dev/null
+++ b/dev-ml/ppx_fields_conv/ppx_fields_conv-0.9.0-r1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit opam
+
+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"
+IUSE=""
+
+DEPEND="
+ dev-ml/ppx_core:=
+ dev-ml/ppx_driver:=
+ dev-ml/ppx_metaquot:=
+ dev-ml/ppx_type_conv:=
+ dev-ml/fieldslib:=
+ dev-ml/ocaml-migrate-parsetree:=
+ dev-ml/ppx_traverse_builtins:=
+"
+RDEPEND="${DEPEND}"
+DEPEND="${DEPEND} dev-ml/jbuilder"
diff --git a/dev-ml/ppx_hash/Manifest b/dev-ml/ppx_hash/Manifest
new file mode 100644
index 000000000000..cb31fc191d89
--- /dev/null
+++ b/dev-ml/ppx_hash/Manifest
@@ -0,0 +1 @@
+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
new file mode 100644
index 000000000000..ecec67edc679
--- /dev/null
+++ b/dev-ml/ppx_hash/metadata.xml
@@ -0,0 +1,9 @@
+<?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">janestreet/ppx_hash</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/ppx_hash/ppx_hash-0.9.0.ebuild b/dev-ml/ppx_hash/ppx_hash-0.9.0.ebuild
new file mode 100644
index 000000000000..cf6dba57d056
--- /dev/null
+++ b/dev-ml/ppx_hash/ppx_hash-0.9.0.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit opam
+
+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 ~ppc ~x86"
+IUSE=""
+
+DEPEND="
+ dev-ml/base:=
+ dev-ml/ppx_compare:=
+ dev-ml/ppx_core:=
+ dev-ml/ppx_driver:=
+ dev-ml/ppx_metaquot:=
+ dev-ml/ppx_sexp_conv:=
+ dev-ml/ppx_type_conv:=
+ dev-ml/ocaml-migrate-parsetree:=
+ "
+RDEPEND="${DEPEND}"
+DEPEND="${DEPEND} dev-ml/jbuilder"
diff --git a/dev-ml/ppx_here/Manifest b/dev-ml/ppx_here/Manifest
new file mode 100644
index 000000000000..33678cef1df2
--- /dev/null
+++ b/dev-ml/ppx_here/Manifest
@@ -0,0 +1 @@
+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
new file mode 100644
index 000000000000..0c12c4e690cf
--- /dev/null
+++ b/dev-ml/ppx_here/metadata.xml
@@ -0,0 +1,9 @@
+<?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">janestreet/ppx_here</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/ppx_here/ppx_here-0.9.1.ebuild b/dev-ml/ppx_here/ppx_here-0.9.1.ebuild
new file mode 100644
index 000000000000..972fc65d0d4b
--- /dev/null
+++ b/dev-ml/ppx_here/ppx_here-0.9.1.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit opam
+
+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"
+IUSE=""
+
+DEPEND="
+ dev-ml/ppx_core:=
+ dev-ml/ppx_driver:=
+ dev-ml/ppx_optcomp:=
+ dev-ml/ocaml-migrate-parsetree:=
+"
+RDEPEND="${DEPEND}"
+DEPEND="${RDEPEND} dev-ml/jbuilder"
diff --git a/dev-ml/ppx_inline_test/Manifest b/dev-ml/ppx_inline_test/Manifest
new file mode 100644
index 000000000000..fc73d0c13867
--- /dev/null
+++ b/dev-ml/ppx_inline_test/Manifest
@@ -0,0 +1 @@
+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
new file mode 100644
index 000000000000..436edd9655e7
--- /dev/null
+++ b/dev-ml/ppx_inline_test/metadata.xml
@@ -0,0 +1,9 @@
+<?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">janestreet/ppx_inline_test</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/ppx_inline_test/ppx_inline_test-0.9.2.ebuild b/dev-ml/ppx_inline_test/ppx_inline_test-0.9.2.ebuild
new file mode 100644
index 000000000000..16f96131b7a0
--- /dev/null
+++ b/dev-ml/ppx_inline_test/ppx_inline_test-0.9.2.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit opam
+
+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"
+IUSE=""
+
+DEPEND="
+ dev-ml/base:=
+ dev-ml/ppx_core:=
+ dev-ml/ppx_driver:=
+ dev-ml/ppx_metaquot:=
+ dev-ml/ppx_traverse_builtins:=
+ dev-ml/ocaml-migrate-parsetree:=
+"
+
+RDEPEND="${DEPEND}"
+DEPEND="${DEPEND} dev-ml/jbuilder"
diff --git a/dev-ml/ppx_jane/Manifest b/dev-ml/ppx_jane/Manifest
new file mode 100644
index 000000000000..a91554b21179
--- /dev/null
+++ b/dev-ml/ppx_jane/Manifest
@@ -0,0 +1 @@
+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
new file mode 100644
index 000000000000..8872f4ad9afe
--- /dev/null
+++ b/dev-ml/ppx_jane/metadata.xml
@@ -0,0 +1,9 @@
+<?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">janestreet/ppx_jane</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/ppx_jane/ppx_jane-0.9.0.ebuild b/dev-ml/ppx_jane/ppx_jane-0.9.0.ebuild
new file mode 100644
index 000000000000..4daefb2677a4
--- /dev/null
+++ b/dev-ml/ppx_jane/ppx_jane-0.9.0.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit opam
+
+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=""
+
+DEPEND="
+ 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_driver:=
+ dev-ml/ppx_expect:=
+ dev-ml/ppx_fail:=
+ dev-ml/ppx_fields_conv:=
+ dev-ml/ppx_here:=
+ dev-ml/ppx_inline_test:=
+ dev-ml/ppx_let:=
+ dev-ml/ppx_optional:=
+ dev-ml/ppx_pipebang:=
+ dev-ml/ppx_sexp_message:=
+ dev-ml/ppx_sexp_value:=
+ dev-ml/ppx_typerep_conv:=
+ dev-ml/ppx_type_conv:=
+ dev-ml/ppx_variants_conv:=
+ dev-ml/ocaml-migrate-parsetree:=
+"
+RDEPEND="${DEPEND}"
+DEPEND="${DEPEND} dev-ml/jbuilder"
diff --git a/dev-ml/ppx_js_style/Manifest b/dev-ml/ppx_js_style/Manifest
new file mode 100644
index 000000000000..e5e008e6d5cf
--- /dev/null
+++ b/dev-ml/ppx_js_style/Manifest
@@ -0,0 +1 @@
+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
new file mode 100644
index 000000000000..d7ec3686a35b
--- /dev/null
+++ b/dev-ml/ppx_js_style/metadata.xml
@@ -0,0 +1,9 @@
+<?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">janestreet/ppx_js_style</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/ppx_js_style/ppx_js_style-0.9.0.ebuild b/dev-ml/ppx_js_style/ppx_js_style-0.9.0.ebuild
new file mode 100644
index 000000000000..4e4459887d20
--- /dev/null
+++ b/dev-ml/ppx_js_style/ppx_js_style-0.9.0.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit opam
+
+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 ~ppc ~x86"
+IUSE=""
+
+DEPEND="
+ dev-ml/ppx_core:=
+ dev-ml/ppx_driver:=
+ dev-ml/ppx_metaquot:=
+ dev-ml/ocaml-migrate-parsetree:=
+ dev-ml/octavius:=
+ "
+RDEPEND="${DEPEND}"
+DEPEND="${DEPEND} dev-ml/jbuilder"
diff --git a/dev-ml/ppx_let/Manifest b/dev-ml/ppx_let/Manifest
new file mode 100644
index 000000000000..b18963fb4dc3
--- /dev/null
+++ b/dev-ml/ppx_let/Manifest
@@ -0,0 +1 @@
+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
new file mode 100644
index 000000000000..95820f85ed50
--- /dev/null
+++ b/dev-ml/ppx_let/metadata.xml
@@ -0,0 +1,9 @@
+<?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">janestreet/ppx_let</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/ppx_let/ppx_let-0.9.0.ebuild b/dev-ml/ppx_let/ppx_let-0.9.0.ebuild
new file mode 100644
index 000000000000..9dc54d315fe3
--- /dev/null
+++ b/dev-ml/ppx_let/ppx_let-0.9.0.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit opam
+
+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=""
+
+DEPEND="
+ dev-ml/ppx_core:=
+ dev-ml/ppx_driver:=
+ dev-ml/ocaml-migrate-parsetree:=
+"
+RDEPEND="${DEPEND}"
+DEPEND="${DEPEND} dev-ml/jbuilder"
diff --git a/dev-ml/ppx_metaquot/Manifest b/dev-ml/ppx_metaquot/Manifest
new file mode 100644
index 000000000000..7ec64ce0eca4
--- /dev/null
+++ b/dev-ml/ppx_metaquot/Manifest
@@ -0,0 +1 @@
+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
new file mode 100644
index 000000000000..05c6a034172c
--- /dev/null
+++ b/dev-ml/ppx_metaquot/metadata.xml
@@ -0,0 +1,9 @@
+<?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">janestreet/ppx_metaquot</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/ppx_metaquot/ppx_metaquot-0.9.0.ebuild b/dev-ml/ppx_metaquot/ppx_metaquot-0.9.0.ebuild
new file mode 100644
index 000000000000..2cf71db77f80
--- /dev/null
+++ b/dev-ml/ppx_metaquot/ppx_metaquot-0.9.0.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit opam
+
+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 ~ppc ~x86"
+IUSE=""
+
+DEPEND="
+ dev-ml/ppx_core:=
+ dev-ml/ppx_driver:=
+ dev-ml/ppx_traverse_builtins:=
+ dev-ml/ocaml-migrate-parsetree:=
+ <dev-ml/ppx_core-100
+ "
+RDEPEND="${DEPEND}"
+DEPEND="${DEPEND} dev-ml/jbuilder"
diff --git a/dev-ml/ppx_optcomp/Manifest b/dev-ml/ppx_optcomp/Manifest
new file mode 100644
index 000000000000..97571ab30d40
--- /dev/null
+++ b/dev-ml/ppx_optcomp/Manifest
@@ -0,0 +1 @@
+DIST ppx_optcomp-0.9.0.tar.gz 14611 BLAKE2B 6fc431fd3ed173835a48814718a05b3ae619f182f4c008415dba77c88bfeab780e6fc49c4faed2ee4e362b6a151544b1a707651dcbfdbfcdce979a2a3d6d6c02 SHA512 ce4a5049045458533b783b99b7569e72e074bd425a81315d43fcab26dbc2a4b141cfda2b2365c69b3d0251f2bf0b8c8f0d14fc8883f1a0f4edae824776565a9c
diff --git a/dev-ml/ppx_optcomp/metadata.xml b/dev-ml/ppx_optcomp/metadata.xml
new file mode 100644
index 000000000000..b2b8fcdabec8
--- /dev/null
+++ b/dev-ml/ppx_optcomp/metadata.xml
@@ -0,0 +1,9 @@
+<?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">janestreet/ppx_optcomp</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/ppx_optcomp/ppx_optcomp-0.9.0-r3.ebuild b/dev-ml/ppx_optcomp/ppx_optcomp-0.9.0-r3.ebuild
new file mode 100644
index 000000000000..698b92bbb14c
--- /dev/null
+++ b/dev-ml/ppx_optcomp/ppx_optcomp-0.9.0-r3.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit opam
+
+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 ~ppc ~x86"
+IUSE=""
+
+DEPEND="
+ dev-ml/ppx_core:=
+ dev-ml/stdio:=
+ dev-ml/ocaml-migrate-parsetree:=
+"
+RDEPEND="${DEPEND}"
+DEPEND="${DEPEND} dev-ml/jbuilder"
diff --git a/dev-ml/ppx_optional/Manifest b/dev-ml/ppx_optional/Manifest
new file mode 100644
index 000000000000..ce42d2ddd1cb
--- /dev/null
+++ b/dev-ml/ppx_optional/Manifest
@@ -0,0 +1 @@
+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
new file mode 100644
index 000000000000..2337a116b2d9
--- /dev/null
+++ b/dev-ml/ppx_optional/metadata.xml
@@ -0,0 +1,9 @@
+<?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">janestreet/ppx_optional</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/ppx_optional/ppx_optional-0.9.0.ebuild b/dev-ml/ppx_optional/ppx_optional-0.9.0.ebuild
new file mode 100644
index 000000000000..55a77ef14936
--- /dev/null
+++ b/dev-ml/ppx_optional/ppx_optional-0.9.0.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit opam
+
+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=""
+
+DEPEND="
+ dev-ml/ppx_core:=
+ dev-ml/ppx_driver:=
+ dev-ml/ppx_metaquot:=
+ dev-ml/ocaml-migrate-parsetree:=
+"
+RDEPEND="${DEPEND}"
+DEPEND="${DEPEND} dev-ml/jbuilder"
diff --git a/dev-ml/ppx_pipebang/Manifest b/dev-ml/ppx_pipebang/Manifest
new file mode 100644
index 000000000000..b1978f4cad5f
--- /dev/null
+++ b/dev-ml/ppx_pipebang/Manifest
@@ -0,0 +1 @@
+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
new file mode 100644
index 000000000000..c61891e65489
--- /dev/null
+++ b/dev-ml/ppx_pipebang/metadata.xml
@@ -0,0 +1,9 @@
+<?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">janestreet/ppx_pipebang</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/ppx_pipebang/ppx_pipebang-0.9.0.ebuild b/dev-ml/ppx_pipebang/ppx_pipebang-0.9.0.ebuild
new file mode 100644
index 000000000000..bb9d37ac7a3a
--- /dev/null
+++ b/dev-ml/ppx_pipebang/ppx_pipebang-0.9.0.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit opam
+
+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=""
+
+DEPEND="
+ dev-ml/ppx_core:=
+ dev-ml/ppx_driver:=
+ dev-ml/ppx_metaquot:=
+ dev-ml/ocaml-migrate-parsetree:=
+"
+RDEPEND="${DEPEND}"
+DEPEND="${DEPEND} dev-ml/jbuilder"
diff --git a/dev-ml/ppx_sexp_conv/Manifest b/dev-ml/ppx_sexp_conv/Manifest
new file mode 100644
index 000000000000..c2d417ec8f51
--- /dev/null
+++ b/dev-ml/ppx_sexp_conv/Manifest
@@ -0,0 +1 @@
+DIST ppx_sexp_conv-0.9.0.tar.gz 28000 BLAKE2B 2536d3ddbd4ee83baf9eade208983ce9856318079e29da9858838c985b904a7e2e1c6e3ea06bd1360cc17e619f1e952634554e89b294dd00981934679b384c3f SHA512 af3d28a3cdb7c796549a2598c218f69a69d58da715ef2d16077c3adeb22823fa7bec6bc0d8cb6caaf2a0adb56dfcb39d667975959251fb310b69d6abe8302845
diff --git a/dev-ml/ppx_sexp_conv/metadata.xml b/dev-ml/ppx_sexp_conv/metadata.xml
new file mode 100644
index 000000000000..af86d85e34e0
--- /dev/null
+++ b/dev-ml/ppx_sexp_conv/metadata.xml
@@ -0,0 +1,9 @@
+<?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">janestreet/ppx_sexp_conv</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/ppx_sexp_conv/ppx_sexp_conv-0.9.0-r1.ebuild b/dev-ml/ppx_sexp_conv/ppx_sexp_conv-0.9.0-r1.ebuild
new file mode 100644
index 000000000000..9dedc0888a68
--- /dev/null
+++ b/dev-ml/ppx_sexp_conv/ppx_sexp_conv-0.9.0-r1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit opam
+
+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 ~ppc ~x86"
+IUSE=""
+
+DEPEND="
+ dev-ml/ppx_core:=
+ dev-ml/ppx_driver:=
+ dev-ml/ppx_type_conv:=
+ dev-ml/ppx_metaquot:=
+ dev-ml/ppx_optcomp:=
+ dev-ml/sexplib:=
+ dev-ml/ocaml-migrate-parsetree:=
+ dev-ml/ppx_traverse_builtins:=
+ "
+RDEPEND="${DEPEND}"
+DEPEND="${DEPEND} dev-ml/jbuilder"
diff --git a/dev-ml/ppx_sexp_message/Manifest b/dev-ml/ppx_sexp_message/Manifest
new file mode 100644
index 000000000000..d04f619ba6bc
--- /dev/null
+++ b/dev-ml/ppx_sexp_message/Manifest
@@ -0,0 +1 @@
+DIST ppx_sexp_message-0.9.0.tar.gz 8965 BLAKE2B df59ff7f598a7ff19a16829addbc5b49f2e7dfb2b30aab43f5d220f6d45f625750ca1d63eba3187b09d494a2c06af642c2a2e4d581c6a247440ba06d6f46dae0 SHA512 38a376b23372b8699fef76085ad2ead7b5fb34b823b0c7e3e52ac90654133a44429d7a3383197b78c8f01a7b64753ce424d5138b8aef596d236ce9c798ec1887
diff --git a/dev-ml/ppx_sexp_message/metadata.xml b/dev-ml/ppx_sexp_message/metadata.xml
new file mode 100644
index 000000000000..a67578b57781
--- /dev/null
+++ b/dev-ml/ppx_sexp_message/metadata.xml
@@ -0,0 +1,9 @@
+<?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">janestreet/ppx_sexp_message</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/ppx_sexp_message/ppx_sexp_message-0.9.0.ebuild b/dev-ml/ppx_sexp_message/ppx_sexp_message-0.9.0.ebuild
new file mode 100644
index 000000000000..d240e9c58a7c
--- /dev/null
+++ b/dev-ml/ppx_sexp_message/ppx_sexp_message-0.9.0.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit opam
+
+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=""
+
+DEPEND="
+ dev-ml/ppx_core:=
+ dev-ml/ppx_driver:=
+ dev-ml/ppx_here:=
+ dev-ml/ppx_metaquot:=
+ dev-ml/ppx_sexp_conv:=
+ dev-ml/sexplib:=
+ dev-ml/ocaml-migrate-parsetree:=
+"
+RDEPEND="${DEPEND}"
+DEPEND="${DEPEND} dev-ml/jbuilder"
diff --git a/dev-ml/ppx_sexp_value/Manifest b/dev-ml/ppx_sexp_value/Manifest
new file mode 100644
index 000000000000..eb65e1812075
--- /dev/null
+++ b/dev-ml/ppx_sexp_value/Manifest
@@ -0,0 +1 @@
+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
new file mode 100644
index 000000000000..72f215d2b63f
--- /dev/null
+++ b/dev-ml/ppx_sexp_value/metadata.xml
@@ -0,0 +1,9 @@
+<?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">janestreet/ppx_sexp_value</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/ppx_sexp_value/ppx_sexp_value-0.9.0.ebuild b/dev-ml/ppx_sexp_value/ppx_sexp_value-0.9.0.ebuild
new file mode 100644
index 000000000000..5418fe3f3637
--- /dev/null
+++ b/dev-ml/ppx_sexp_value/ppx_sexp_value-0.9.0.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit opam
+
+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=""
+
+DEPEND="
+ dev-ml/ppx_core:=
+ dev-ml/ppx_driver:=
+ dev-ml/ppx_here:=
+ dev-ml/ppx_metaquot:=
+ dev-ml/ppx_sexp_conv:=
+ dev-ml/sexplib:=
+ dev-ml/ocaml-migrate-parsetree:=
+"
+RDEPEND="${DEPEND}"
+DEPEND="${DEPEND} dev-ml/jbuilder"
diff --git a/dev-ml/ppx_tools/Manifest b/dev-ml/ppx_tools/Manifest
new file mode 100644
index 000000000000..ee595bfd62d6
--- /dev/null
+++ b/dev-ml/ppx_tools/Manifest
@@ -0,0 +1,3 @@
+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
diff --git a/dev-ml/ppx_tools/files/ocaml404.patch b/dev-ml/ppx_tools/files/ocaml404.patch
new file mode 100644
index 000000000000..8a2ccee071e4
--- /dev/null
+++ b/dev-ml/ppx_tools/files/ocaml404.patch
@@ -0,0 +1,47 @@
+Index: ppx_tools-5.0-4.03.0/ast_mapper_class.ml
+===================================================================
+--- ppx_tools-5.0-4.03.0.orig/ast_mapper_class.ml
++++ ppx_tools-5.0-4.03.0/ast_mapper_class.ml
+@@ -335,6 +335,7 @@ module P = struct
+ | Ppat_unpack s -> unpack ~loc ~attrs (map_loc sub s)
+ | Ppat_exception p -> exception_ ~loc ~attrs (sub # pat p)
+ | Ppat_extension x -> extension ~loc ~attrs (sub # extension x)
++ | Ppat_open (l, p) -> open_ ~loc ~attrs (map_loc sub l) (sub # pat p)
+ end
+
+ module CE = struct
+Index: ppx_tools-5.0-4.03.0/genlifter.ml
+===================================================================
+--- ppx_tools-5.0-4.03.0.orig/genlifter.ml
++++ ppx_tools-5.0-4.03.0/genlifter.ml
+@@ -49,8 +49,8 @@ module Main : sig end = struct
+ let rec gen ty =
+ if Hashtbl.mem printed ty then ()
+ else let tylid = Longident.parse ty in
+- let (_, td) =
+- try Env.lookup_type tylid env
++ let td =
++ try Env.find_type (Env.lookup_type tylid env) env
+ with Not_found ->
+ Format.eprintf "** Cannot resolve type %s@." ty;
+ exit 2
+Index: ppx_tools-5.0-4.03.0/rewriter.ml
+===================================================================
+--- ppx_tools-5.0-4.03.0.orig/rewriter.ml
++++ ppx_tools-5.0-4.03.0/rewriter.ml
+@@ -92,13 +92,13 @@ let () =
+ | `Struct ->
+ let pstr = Parse.implementation lexer in
+ let pstr = Pparse.apply_rewriters (* ~restore:true *) ~tool_name:!tool_name
+- Config.ast_impl_magic_number pstr in
++ Pparse.Structure pstr in
+ Pprintast.structure fmt pstr;
+ Format.pp_print_newline fmt ()
+ | `Sig ->
+ let psig = Parse.interface lexer in
+ let psig = Pparse.apply_rewriters (* ~restore:true *) ~tool_name:!tool_name
+- Config.ast_intf_magic_number psig in
++ Pparse.Signature psig in
+ Pprintast.signature fmt psig;
+ Format.pp_print_newline fmt ())
+ with exn ->
diff --git a/dev-ml/ppx_tools/metadata.xml b/dev-ml/ppx_tools/metadata.xml
new file mode 100644
index 000000000000..005704247d51
--- /dev/null
+++ b/dev-ml/ppx_tools/metadata.xml
@@ -0,0 +1,9 @@
+<?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>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/ppx_tools/ppx_tools-5.0.4.03.0.ebuild b/dev-ml/ppx_tools/ppx_tools-5.0.4.03.0.ebuild
new file mode 100644
index 000000000000..d0acc2b9fac0
--- /dev/null
+++ b/dev-ml/ppx_tools/ppx_tools-5.0.4.03.0.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit findlib versionator eutils
+
+MY_PV=$(replace_version_separator 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 ~ppc ~x86"
+IUSE="+ocamlopt"
+
+DEPEND="<dev-lang/ocaml-4.09:=[ocamlopt?]"
+RDEPEND="${DEPEND}"
+S="${WORKDIR}/${PN}-$(replace_version_separator 2 '-')"
+
+src_prepare() {
+ has_version '>=dev-lang/ocaml-4.04_beta' && epatch "${FILESDIR}/ocaml404.patch"
+}
+
+src_compile() {
+ emake -j1 $(usex ocamlopt "" "ARCH=none")
+}
+
+src_install() {
+ findlib_src_install
+ dodoc README.md
+}
diff --git a/dev-ml/ppx_tools/ppx_tools-5.0.4.05.0.ebuild b/dev-ml/ppx_tools/ppx_tools-5.0.4.05.0.ebuild
new file mode 100644
index 000000000000..c2a93387105c
--- /dev/null
+++ b/dev-ml/ppx_tools/ppx_tools-5.0.4.05.0.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit findlib versionator eutils
+
+MY_PV=$(replace_version_separator 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 ~ppc ~x86"
+IUSE="+ocamlopt"
+
+DEPEND="=dev-lang/ocaml-4.05*:=[ocamlopt?]"
+RDEPEND="${DEPEND}"
+S="${WORKDIR}/${PN}-$(replace_version_separator 2 '-')"
+
+src_compile() {
+ emake -j1 $(usex ocamlopt "" "ARCH=none")
+}
+
+src_install() {
+ findlib_src_install
+ dodoc README.md
+}
diff --git a/dev-ml/ppx_tools/ppx_tools-5.3.4.08.0.ebuild b/dev-ml/ppx_tools/ppx_tools-5.3.4.08.0.ebuild
new file mode 100644
index 000000000000..7e9d0206f344
--- /dev/null
+++ b/dev-ml/ppx_tools/ppx_tools-5.3.4.08.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 findlib eutils
+
+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 ~ppc ~x86"
+IUSE="+ocamlopt"
+
+DEPEND="dev-lang/ocaml:=[ocamlopt?]"
+RDEPEND="${DEPEND}"
+S="${WORKDIR}/${PN}-$(ver_rs 2 '-')"
+
+src_compile() {
+ emake -j1 $(usex ocamlopt "" "ARCH=none")
+}
+
+src_install() {
+ findlib_src_install
+ dodoc README.md
+}
diff --git a/dev-ml/ppx_tools_versioned/Manifest b/dev-ml/ppx_tools_versioned/Manifest
new file mode 100644
index 000000000000..729534d88fa4
--- /dev/null
+++ b/dev-ml/ppx_tools_versioned/Manifest
@@ -0,0 +1 @@
+DIST ppx_tools_versioned-5.0.1.tar.gz 43741 BLAKE2B 0ff7dc5a03265a7e9fea6bebe372cee993f35d2d2ec451d5f77a1c7de51f91526bf15817882ff93033b3fcd51014efa12841a92cedf243870a22790f00807e9e SHA512 4d47f82c5a05f880dbb3d10caac6de705b9609c488d62be84eb1ebe22fa8c4e3716fad7c546035e955bd0e304d7940f23df090470f86c8d862b549b9db387acb
diff --git a/dev-ml/ppx_tools_versioned/metadata.xml b/dev-ml/ppx_tools_versioned/metadata.xml
new file mode 100644
index 000000000000..e34d39eaa412
--- /dev/null
+++ b/dev-ml/ppx_tools_versioned/metadata.xml
@@ -0,0 +1,9 @@
+<?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">let-def/ppx_tools_versioned</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/ppx_tools_versioned/ppx_tools_versioned-5.0.1.ebuild b/dev-ml/ppx_tools_versioned/ppx_tools_versioned-5.0.1.ebuild
new file mode 100644
index 000000000000..ec7f405d4dfe
--- /dev/null
+++ b/dev-ml/ppx_tools_versioned/ppx_tools_versioned-5.0.1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit findlib
+
+MY_PV=${PV/_/}
+MY_P=${PN}-${MY_PV}
+
+DESCRIPTION="Tools for authors of ppx rewriters"
+HOMEPAGE="https://github.com/let-def/ppx_tools_versioned"
+SRC_URI="https://github.com/let-def/ppx_tools_versioned/archive/${MY_PV}.tar.gz -> ${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86"
+IUSE=""
+
+DEPEND="
+ dev-lang/ocaml:=
+ dev-ml/ocaml-migrate-parsetree:=
+"
+RDEPEND="${DEPEND}"
+S="${WORKDIR}/${MY_P}"
+
+src_install() {
+ findlib_src_install
+ dodoc README.md
+}
diff --git a/dev-ml/ppx_traverse/Manifest b/dev-ml/ppx_traverse/Manifest
new file mode 100644
index 000000000000..8491aaa82c43
--- /dev/null
+++ b/dev-ml/ppx_traverse/Manifest
@@ -0,0 +1 @@
+DIST ppx_traverse-0.9.0.tar.gz 10837 BLAKE2B b0d3e9a10c5af698105fae5dec13afe8b545bb3ee2b48ec72b3d7e76466d3e2ce7ece1ecdfeeabde63855bf8d24c89a05666f8e2fa8c286621ca1c9bd35274d8 SHA512 914f79405f09ccfecd444416499b63f68f700d4b7485031c45b7ab9500a82c4bc65dad8315a6cc7b7669b2c40f51e98a6fa453869b20501a22eff5b1ffb0e441
diff --git a/dev-ml/ppx_traverse/metadata.xml b/dev-ml/ppx_traverse/metadata.xml
new file mode 100644
index 000000000000..19e7a6f150bf
--- /dev/null
+++ b/dev-ml/ppx_traverse/metadata.xml
@@ -0,0 +1,9 @@
+<?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">janestreet/ppx_traverse</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/ppx_traverse/ppx_traverse-0.9.0.ebuild b/dev-ml/ppx_traverse/ppx_traverse-0.9.0.ebuild
new file mode 100644
index 000000000000..1ea84ac585ee
--- /dev/null
+++ b/dev-ml/ppx_traverse/ppx_traverse-0.9.0.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit opam
+
+DESCRIPTION="Automatic generation of open recursion classes"
+HOMEPAGE="https://github.com/janestreet/ppx_traverse"
+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=""
+
+DEPEND="
+ dev-ml/ppx_core:=
+ dev-ml/ppx_driver:=
+ dev-ml/ppx_metaquot:=
+ dev-ml/ppx_type_conv:=
+ dev-ml/ocaml-migrate-parsetree:=
+"
+RDEPEND="${DEPEND}"
+DEPEND="${DEPEND} dev-ml/jbuilder"
diff --git a/dev-ml/ppx_traverse_builtins/Manifest b/dev-ml/ppx_traverse_builtins/Manifest
new file mode 100644
index 000000000000..c5a325ceb0c7
--- /dev/null
+++ b/dev-ml/ppx_traverse_builtins/Manifest
@@ -0,0 +1 @@
+DIST ppx_traverse_builtins-0.9.0.tar.gz 6328 BLAKE2B 1e111d97876fb97826a04dfddbd1289e4b64ca93cb09e2f8692fcd5c1b87eb09259938b31662ed712d3e3926cd3b8edecf967d85ce9846805c74b28a4359e02a SHA512 c8d77138f8fcd4d440870eb9126f5aca2d9fa917fac6bd9aa7f6dd4fb3e75f5860efbdc312ffc23b375808c33e1527726318918bf7bee61f470ef3a2cb40f6ba
diff --git a/dev-ml/ppx_traverse_builtins/metadata.xml b/dev-ml/ppx_traverse_builtins/metadata.xml
new file mode 100644
index 000000000000..59d7df57baca
--- /dev/null
+++ b/dev-ml/ppx_traverse_builtins/metadata.xml
@@ -0,0 +1,9 @@
+<?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">janestreet/ppx_traverse_builtins</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/ppx_traverse_builtins/ppx_traverse_builtins-0.9.0.ebuild b/dev-ml/ppx_traverse_builtins/ppx_traverse_builtins-0.9.0.ebuild
new file mode 100644
index 000000000000..07f2a2aa57fd
--- /dev/null
+++ b/dev-ml/ppx_traverse_builtins/ppx_traverse_builtins-0.9.0.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit opam
+
+DESCRIPTION="Builtins for ppx_traverse"
+HOMEPAGE="https://github.com/janestreet/ppx_traverse_builtins"
+SRC_URI="https://github.com/janestreet/ppx_traverse_builtins/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+DEPEND="${RDEPEND}
+ dev-ml/jbuilder"
diff --git a/dev-ml/ppx_type_conv/Manifest b/dev-ml/ppx_type_conv/Manifest
new file mode 100644
index 000000000000..e7bb605ae29e
--- /dev/null
+++ b/dev-ml/ppx_type_conv/Manifest
@@ -0,0 +1 @@
+DIST ppx_type_conv-0.9.0.tar.gz 14651 BLAKE2B 50b4ffb85062eb306bbadb3b641f9ca0318e95c614482302c4b3e001eeeb14137c4d0050abb8cf5c6e57a5fd8afe70b16a3455b4080e6f85981c88765c8ba945 SHA512 71af29d7e882652a5e101e1fc3610adb4faaba30068161b4b391e3ce7419af7feffd289070c1707cc961c593eda7b7f325609e8c98543c1168400cfafea31472
diff --git a/dev-ml/ppx_type_conv/metadata.xml b/dev-ml/ppx_type_conv/metadata.xml
new file mode 100644
index 000000000000..1dda64562909
--- /dev/null
+++ b/dev-ml/ppx_type_conv/metadata.xml
@@ -0,0 +1,9 @@
+<?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">janestreet/ppx_type_conv</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/ppx_type_conv/ppx_type_conv-0.9.0.ebuild b/dev-ml/ppx_type_conv/ppx_type_conv-0.9.0.ebuild
new file mode 100644
index 000000000000..879332244f97
--- /dev/null
+++ b/dev-ml/ppx_type_conv/ppx_type_conv-0.9.0.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit opam
+
+DESCRIPTION="Support Library for type-driven code generators"
+HOMEPAGE="https://github.com/janestreet/ppx_type_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 ~ppc ~x86"
+IUSE=""
+
+DEPEND="
+ dev-ml/ppx_driver:=
+ dev-ml/ppx_metaquot:=
+ dev-ml/ppx_core:=
+ dev-ml/ocaml-migrate-parsetree:=
+ dev-ml/ppx_deriving:=
+"
+
+RDEPEND="${DEPEND}"
+DEPEND="${DEPEND} dev-ml/jbuilder"
diff --git a/dev-ml/ppx_typerep_conv/Manifest b/dev-ml/ppx_typerep_conv/Manifest
new file mode 100644
index 000000000000..464a1925c454
--- /dev/null
+++ b/dev-ml/ppx_typerep_conv/Manifest
@@ -0,0 +1 @@
+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
new file mode 100644
index 000000000000..e14f7349fa1a
--- /dev/null
+++ b/dev-ml/ppx_typerep_conv/metadata.xml
@@ -0,0 +1,9 @@
+<?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">janestreet/ppx_typerep_conv</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/ppx_typerep_conv/ppx_typerep_conv-0.9.0.ebuild b/dev-ml/ppx_typerep_conv/ppx_typerep_conv-0.9.0.ebuild
new file mode 100644
index 000000000000..30147fc55d68
--- /dev/null
+++ b/dev-ml/ppx_typerep_conv/ppx_typerep_conv-0.9.0.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit opam
+
+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=""
+
+DEPEND="
+ dev-ml/ppx_core:=
+ dev-ml/ppx_driver:=
+ dev-ml/ppx_metaquot:=
+ dev-ml/ppx_type_conv:=
+ dev-ml/typerep:=
+ dev-ml/ocaml-migrate-parsetree:=
+ "
+RDEPEND="${DEPEND}"
+DEPEND="${DEPEND} dev-ml/jbuilder"
diff --git a/dev-ml/ppx_variants_conv/Manifest b/dev-ml/ppx_variants_conv/Manifest
new file mode 100644
index 000000000000..e3c482db930f
--- /dev/null
+++ b/dev-ml/ppx_variants_conv/Manifest
@@ -0,0 +1 @@
+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
new file mode 100644
index 000000000000..2e8c89fb20f8
--- /dev/null
+++ b/dev-ml/ppx_variants_conv/metadata.xml
@@ -0,0 +1,9 @@
+<?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">janestreet/ppx_variants_conv</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/ppx_variants_conv/ppx_variants_conv-0.9.0.ebuild b/dev-ml/ppx_variants_conv/ppx_variants_conv-0.9.0.ebuild
new file mode 100644
index 000000000000..bf5e566ce2b0
--- /dev/null
+++ b/dev-ml/ppx_variants_conv/ppx_variants_conv-0.9.0.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit opam
+
+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"
+IUSE=""
+
+DEPEND="
+ dev-ml/ppx_core:=
+ dev-ml/ppx_driver:=
+ dev-ml/ppx_metaquot:=
+ dev-ml/ppx_type_conv:=
+ dev-ml/variantslib:=
+ dev-ml/ocaml-migrate-parsetree:=
+"
+RDEPEND="${DEPEND}"
+DEPEND="${DEPEND} dev-ml/jbuilder"
diff --git a/dev-ml/qcheck/Manifest b/dev-ml/qcheck/Manifest
new file mode 100644
index 000000000000..a24d2c9f5b8d
--- /dev/null
+++ b/dev-ml/qcheck/Manifest
@@ -0,0 +1,2 @@
+DIST qcheck-0.6.tar.gz 255625 BLAKE2B 9b0e2f6c134a6c4eca37763f1ca41dcacdd8755f5ffe1b7afba2a5384edac4c9881c6849d6f6da005afe2aaaa46f956e50a5a3d00f6fc57fa1866ca486121c12 SHA512 e4298f00c49febe36ae64f287e032081bb2d7713d9412db95441d6b84fb3030f45d07519369ba00be81615a737dc45a246d609772b318084a2b2a28e77e05e1c
+DIST qcheck-0.7.tar.gz 257935 BLAKE2B a885635e555a7442f0ad7687320e3d9f45897b9167ba4ac12baf632bc60e1eca207ae5ccf4b57ff36897e418f5ef4e781f9f2bf674ec16cdab140049debcb6c6 SHA512 3082029a09d5efe3af0cb8fcd0bd08f11dd1066d5bffc6beaac16c7244b07286b3ae93931e699f22c977ad4d6ba050dff69b133ce3492455d6932a9e0cc304f7
diff --git a/dev-ml/qcheck/metadata.xml b/dev-ml/qcheck/metadata.xml
new file mode 100644
index 000000000000..f95690dc5ec0
--- /dev/null
+++ b/dev-ml/qcheck/metadata.xml
@@ -0,0 +1,9 @@
+<?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">c-cube/qcheck</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/qcheck/qcheck-0.6.ebuild b/dev-ml/qcheck/qcheck-0.6.ebuild
new file mode 100644
index 000000000000..e74600712cf7
--- /dev/null
+++ b/dev-ml/qcheck/qcheck-0.6.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+OASIS_BUILD_TESTS=1
+OASIS_BUILD_DOCS=1
+
+inherit oasis
+
+DESCRIPTION="QuickCheck inspired property-based testing for OCaml"
+HOMEPAGE="https://github.com/c-cube/qcheck/"
+SRC_URI="https://github.com/c-cube/qcheck/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND="dev-ml/ounit:=
+ !<dev-ml/iTeML-2.5"
+DEPEND="${RDEPEND}
+ dev-ml/ocamlbuild"
diff --git a/dev-ml/qcheck/qcheck-0.7.ebuild b/dev-ml/qcheck/qcheck-0.7.ebuild
new file mode 100644
index 000000000000..63578ec22400
--- /dev/null
+++ b/dev-ml/qcheck/qcheck-0.7.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+OASIS_BUILD_TESTS=1
+OASIS_BUILD_DOCS=1
+
+inherit oasis
+
+DESCRIPTION="QuickCheck inspired property-based testing for OCaml"
+HOMEPAGE="https://github.com/c-cube/qcheck/"
+SRC_URI="https://github.com/c-cube/qcheck/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND="dev-ml/ounit:=
+ !<dev-ml/iTeML-2.5"
+DEPEND="${RDEPEND}
+ dev-ml/ocamlbuild"
diff --git a/dev-ml/re2/Manifest b/dev-ml/re2/Manifest
new file mode 100644
index 000000000000..49eba6a6053c
--- /dev/null
+++ b/dev-ml/re2/Manifest
@@ -0,0 +1,2 @@
+DIST re2-0.9.0.tar.gz 388868 BLAKE2B e4a16d9c417099c0aae331adbb09a5b1da597df576232f40d991aaafb751a936f92771df4dc17b869e1b90d86800d0f4313fd51924b0fbb04c1ac8c06961704d SHA512 d11cde52c151486025e05318930253f37312eb6498698ffd3b271f4ba0c83cae0ff8c0c1a11e01b6ab333770400108f3de33fd68f73ab6df1c832e7edffb5e77
+DIST re2-0.9.1.tar.gz 388911 BLAKE2B d6d0673142e2523c0d5fed2c19439bbf7c2ace401558f4c40f0302445492ae17bf67076c4faeb0e25eeb8cc01f463f4804317d4f6a5113586be77df18ec93874 SHA512 a92dc39a1d263dd2bbfad88f0ea0936fcadd1d03cd735d9db151412919713cfb4d8329f1e0fa454917d8faa49480e8dd60af9331b0863548ab267b647bd1e192
diff --git a/dev-ml/re2/metadata.xml b/dev-ml/re2/metadata.xml
new file mode 100644
index 000000000000..24b7daecd929
--- /dev/null
+++ b/dev-ml/re2/metadata.xml
@@ -0,0 +1,9 @@
+<?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">janestreet/re2</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/re2/re2-0.9.0.ebuild b/dev-ml/re2/re2-0.9.0.ebuild
new file mode 100644
index 000000000000..e77c46fb6030
--- /dev/null
+++ b/dev-ml/re2/re2-0.9.0.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit opam
+
+DESCRIPTION="OCaml bindings for RE2"
+HOMEPAGE="https://github.com/janestreet/re2"
+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=""
+
+DEPEND="
+ dev-ml/core_kernel:=
+ dev-ml/ppx_driver:=
+ dev-ml/ppx_jane:=
+ dev-ml/ocaml-migrate-parsetree:=
+"
+RDEPEND="${DEPEND}"
+DEPEND="${DEPEND} dev-ml/jbuilder"
diff --git a/dev-ml/re2/re2-0.9.1.ebuild b/dev-ml/re2/re2-0.9.1.ebuild
new file mode 100644
index 000000000000..e77c46fb6030
--- /dev/null
+++ b/dev-ml/re2/re2-0.9.1.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit opam
+
+DESCRIPTION="OCaml bindings for RE2"
+HOMEPAGE="https://github.com/janestreet/re2"
+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=""
+
+DEPEND="
+ dev-ml/core_kernel:=
+ dev-ml/ppx_driver:=
+ dev-ml/ppx_jane:=
+ dev-ml/ocaml-migrate-parsetree:=
+"
+RDEPEND="${DEPEND}"
+DEPEND="${DEPEND} dev-ml/jbuilder"
diff --git a/dev-ml/react/Manifest b/dev-ml/react/Manifest
new file mode 100644
index 000000000000..6c88ce594eba
--- /dev/null
+++ b/dev-ml/react/Manifest
@@ -0,0 +1 @@
+DIST react-1.2.1.tbz 39184 BLAKE2B 0ad5fd576c08292011e6543462295a11b77048f59aaaf34726c078c654fba4a9b7dd0bb6a6579fad04a6cd217b29f4efc15de9b7d9b208c593b481610534d9c8 SHA512 60f8788cc820e2be5303caedc80a377c8e5deab170d0eb9df71ff99d6fc57f31357824522f973c6e0d6b3979b58272e7f90b829474a494b94565279c53e8fbb1
diff --git a/dev-ml/react/metadata.xml b/dev-ml/react/metadata.xml
new file mode 100644
index 000000000000..3c37916c1e83
--- /dev/null
+++ b/dev-ml/react/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <longdescription lang="en">
+ React is an OCaml module for functional reactive programming (FRP). It
+ provides support to program with time varying values : applicative
+ events and signals. React doesn't define any primitive event or
+ signal, this lets the client chooses the concrete timeline.
+
+ React is made of a single, independent, module and distributed under
+ the new BSD license.
+
+ Given an absolute notion of time Rtime helps you to manage a timeline
+ and provides time stamp events, delayed events and delayed signals.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">dbuenzli/react</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/react/react-1.2.1.ebuild b/dev-ml/react/react-1.2.1.ebuild
new file mode 100644
index 000000000000..6ef6b7a499ee
--- /dev/null
+++ b/dev-ml/react/react-1.2.1.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit opam
+
+DESCRIPTION="OCaml module for functional reactive programming"
+HOMEPAGE="https://erratique.ch/software/react https://github.com/dbuenzli/react"
+SRC_URI="https://erratique.ch/software/react/releases/${P}.tbz"
+
+LICENSE="BSD"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~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/reactiveData/Manifest b/dev-ml/reactiveData/Manifest
new file mode 100644
index 000000000000..163fa96fabc5
--- /dev/null
+++ b/dev-ml/reactiveData/Manifest
@@ -0,0 +1 @@
+DIST reactiveData-0.2.1.tar.gz 21219 BLAKE2B f3b1c4a4007fc3aefbc34d64ba5ffba5216aee675796719fde11c3c970a431cffbd6dccb35c8cc0192fcc68c7f80f06da91b1000d50ee9f3116efd6febc7e242 SHA512 e4dad870fd1f669566394d9c2ab52665a3d27f6b2dd3807dba245d89ca90eda08b98b266fb0795bcfa5cb4ffed7a86aa719f8db5c316b0d920ee3c342493d029
diff --git a/dev-ml/reactiveData/metadata.xml b/dev-ml/reactiveData/metadata.xml
new file mode 100644
index 000000000000..9cfe70b25b40
--- /dev/null
+++ b/dev-ml/reactiveData/metadata.xml
@@ -0,0 +1,9 @@
+<?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">ocsigen/reactiveData</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/reactiveData/reactiveData-0.2.1.ebuild b/dev-ml/reactiveData/reactiveData-0.2.1.ebuild
new file mode 100644
index 000000000000..a74fc715fcf0
--- /dev/null
+++ b/dev-ml/reactiveData/reactiveData-0.2.1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit opam
+
+DESCRIPTION="Functional reactive programming with incremental changes in data structures"
+HOMEPAGE="https://github.com/ocsigen/reactiveData"
+
+if [ "${PV#9999}" != "${PV}" ] ; then
+ inherit git-r3
+ SRC_URI=""
+ EGIT_REPO_URI="https://github.com/ocsigen/reactiveData"
+ KEYWORDS=""
+else
+ SRC_URI="https://github.com/ocsigen/reactiveData/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="LGPL-3-with-linking-exception"
+SLOT="0/${PV}"
+IUSE="+ocamlopt"
+
+RDEPEND="dev-ml/react:="
+DEPEND="${RDEPEND}
+ dev-ml/findlib
+ dev-ml/ocamlbuild
+"
+
+src_compile() {
+ ocaml pkg/build.ml \
+ native=$(usex ocamlopt true false) \
+ native-dynlink=$(usex ocamlopt true false) \
+ || die
+}
diff --git a/dev-ml/reactiveData/reactiveData-9999.ebuild b/dev-ml/reactiveData/reactiveData-9999.ebuild
new file mode 100644
index 000000000000..a74fc715fcf0
--- /dev/null
+++ b/dev-ml/reactiveData/reactiveData-9999.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit opam
+
+DESCRIPTION="Functional reactive programming with incremental changes in data structures"
+HOMEPAGE="https://github.com/ocsigen/reactiveData"
+
+if [ "${PV#9999}" != "${PV}" ] ; then
+ inherit git-r3
+ SRC_URI=""
+ EGIT_REPO_URI="https://github.com/ocsigen/reactiveData"
+ KEYWORDS=""
+else
+ SRC_URI="https://github.com/ocsigen/reactiveData/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="LGPL-3-with-linking-exception"
+SLOT="0/${PV}"
+IUSE="+ocamlopt"
+
+RDEPEND="dev-ml/react:="
+DEPEND="${RDEPEND}
+ dev-ml/findlib
+ dev-ml/ocamlbuild
+"
+
+src_compile() {
+ ocaml pkg/build.ml \
+ native=$(usex ocamlopt true false) \
+ native-dynlink=$(usex ocamlopt true false) \
+ || die
+}
diff --git a/dev-ml/result/Manifest b/dev-ml/result/Manifest
new file mode 100644
index 000000000000..f2af9475afe7
--- /dev/null
+++ b/dev-ml/result/Manifest
@@ -0,0 +1 @@
+DIST result-1.2.tar.gz 2100 BLAKE2B 9c746c85200ad6af1014dbc4959347b19f48f24448fb36a33b0b50f8d3d8cf4536f7ea3e994953d29122c8dafe87289707eeab67f7a0dc44d0bc509715169e79 SHA512 b47fe24302182642c7dfb3329a9a475518fca01ed7080fb625379abbb7ada0bec4a27e666886c101ba4b0083eeb6312740d99ef764690d38ee6e6d8960fc9b87
diff --git a/dev-ml/result/metadata.xml b/dev-ml/result/metadata.xml
new file mode 100644
index 000000000000..8dfa6f57a858
--- /dev/null
+++ b/dev-ml/result/metadata.xml
@@ -0,0 +1,9 @@
+<?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">janestreet/result</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/result/result-1.2.ebuild b/dev-ml/result/result-1.2.ebuild
new file mode 100644
index 000000000000..8c8cb8d1cd21
--- /dev/null
+++ b/dev-ml/result/result-1.2.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit findlib
+
+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 ~ppc ~x86"
+IUSE="+ocamlopt"
+
+RDEPEND="dev-lang/ocaml:=[ocamlopt?]"
+DEPEND="${RDEPEND}"
+
+src_compile() {
+ emake byte
+ use ocamlopt && emake native
+}
+
+src_install() {
+ findlib_src_install
+ dodoc README.md
+}
diff --git a/dev-ml/rresult/Manifest b/dev-ml/rresult/Manifest
new file mode 100644
index 000000000000..39071840a8c8
--- /dev/null
+++ b/dev-ml/rresult/Manifest
@@ -0,0 +1 @@
+DIST rresult-0.5.0.tbz 9185 BLAKE2B efe8d248aa3d68b13b011dccb98cb04127dfec9d659dfe8619f658b254cfcdca833e125310553dee54ef4be239c308e762d2290386f4fd08a5f2c1835faa9ef1 SHA512 45787b61adb7daedf72e4ff632cf3d4917bccb3e83613dabf93437982887d9a0ed3b6cbefb2b17cb341a825346cb0609286df581c6ff379583dc83672ee25efc
diff --git a/dev-ml/rresult/metadata.xml b/dev-ml/rresult/metadata.xml
new file mode 100644
index 000000000000..cfddba40ecde
--- /dev/null
+++ b/dev-ml/rresult/metadata.xml
@@ -0,0 +1,9 @@
+<?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">dbuenzli/rresult</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/rresult/rresult-0.5.0.ebuild b/dev-ml/rresult/rresult-0.5.0.ebuild
new file mode 100644
index 000000000000..dc85569f5066
--- /dev/null
+++ b/dev-ml/rresult/rresult-0.5.0.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit opam
+
+DESCRIPTION="Result value combinators for OCaml"
+HOMEPAGE="https://erratique.ch/software/rresult https://github.com/dbuenzli/rresult"
+SRC_URI="https://erratique.ch/software/rresult/releases/${P}.tbz"
+
+LICENSE="ISC"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+IUSE=""
+
+RDEPEND="dev-ml/result:="
+DEPEND="${RDEPEND}
+ dev-ml/topkg
+ dev-ml/ocamlbuild"
+
+src_compile() {
+ ocaml pkg/pkg.ml build || die
+}
diff --git a/dev-ml/seq/Manifest b/dev-ml/seq/Manifest
new file mode 100644
index 000000000000..ba6223385466
--- /dev/null
+++ b/dev-ml/seq/Manifest
@@ -0,0 +1 @@
+DIST seq-0.1.tar.gz 2452 BLAKE2B 4f673c3909611957fc882c548c8549cbcad1e93101e1968f001609108b89f4cee13b055a7a8e75e9c36d33074863532b7d84461f036d14c468d5baadde411295 SHA512 cf0df428408efd8f593765c419007c3b181c1234fa957bd09bd96bbbbc7950dcd329429a8a22573680fdfd46847e21befae29ade967509690428ba2b90fe83f2
diff --git a/dev-ml/seq/files/seq-0.1-gentoo.patch b/dev-ml/seq/files/seq-0.1-gentoo.patch
new file mode 100644
index 000000000000..1b3de2b9c12f
--- /dev/null
+++ b/dev-ml/seq/files/seq-0.1-gentoo.patch
@@ -0,0 +1,10 @@
+--- a/Makefile 2019-07-21 21:17:32.334645928 +0200
++++ b/Makefile 2019-07-21 21:18:28.565894767 +0200
+@@ -9,6 +9,6 @@
+ TOINSTALL=$(wildcard _build/src/*)
+
+ install:
+- ocamlfind install seq META $(TOINSTALL)
++ ocamlfind install -destdir $(DESTDIR)@LIBDIR@ seq META $(TOINSTALL)
+
+ .PHONY: build clean install
diff --git a/dev-ml/seq/metadata.xml b/dev-ml/seq/metadata.xml
new file mode 100644
index 000000000000..7965efae3fd7
--- /dev/null
+++ b/dev-ml/seq/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/seq/seq-0.1.ebuild b/dev-ml/seq/seq-0.1.ebuild
new file mode 100644
index 000000000000..74a6685d686b
--- /dev/null
+++ b/dev-ml/seq/seq-0.1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="Compatibility package for the standard OCaml iterator type"
+HOMEPAGE="https://github.com/c-cube/seq"
+SRC_URI="https://github.com/c-cube/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="dev-ml/findlib
+ dev-ml/ocamlbuild
+ dev-lang/ocaml[ocamlopt]"
+RDEPEND="${DEPEND}"
+BDEPEND=""
+
+PATCHES=( "${FILESDIR}"/${P}-gentoo.patch )
+
+QA_FLAGS_IGNORED=(
+ "usr/lib.*/ocaml/seq/seq.cmxs"
+)
+
+src_prepare() {
+ default
+ sed -i \
+ -e "s:@LIBDIR@:/usr/$(get_libdir)/ocaml:" \
+ Makefile \
+ || die
+}
+
+src_install() {
+ dodir /usr/$(get_libdir)/ocaml
+ default
+}
diff --git a/dev-ml/sexplib/Manifest b/dev-ml/sexplib/Manifest
new file mode 100644
index 000000000000..efd0978a7744
--- /dev/null
+++ b/dev-ml/sexplib/Manifest
@@ -0,0 +1,2 @@
+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
new file mode 100644
index 000000000000..322369c7dad1
--- /dev/null
+++ b/dev-ml/sexplib/metadata.xml
@@ -0,0 +1,10 @@
+<?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>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/sexplib/sexplib-0.9.2.ebuild b/dev-ml/sexplib/sexplib-0.9.2.ebuild
new file mode 100644
index 000000000000..a5ed48014b30
--- /dev/null
+++ b/dev-ml/sexplib/sexplib-0.9.2.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit opam
+
+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 ~ppc ~x86"
+IUSE=""
+
+RDEPEND=""
+DEPEND="${RDEPEND} dev-ml/jbuilder"
+
+src_test() {
+ jbuilder runtest || die
+}
diff --git a/dev-ml/sexplib/sexplib-0.9.3.ebuild b/dev-ml/sexplib/sexplib-0.9.3.ebuild
new file mode 100644
index 000000000000..a5ed48014b30
--- /dev/null
+++ b/dev-ml/sexplib/sexplib-0.9.3.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit opam
+
+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 ~ppc ~x86"
+IUSE=""
+
+RDEPEND=""
+DEPEND="${RDEPEND} dev-ml/jbuilder"
+
+src_test() {
+ jbuilder runtest || die
+}
diff --git a/dev-ml/spawn/Manifest b/dev-ml/spawn/Manifest
new file mode 100644
index 000000000000..1b2617d0cb7a
--- /dev/null
+++ b/dev-ml/spawn/Manifest
@@ -0,0 +1 @@
+DIST spawn-0.9.0.tar.gz 12689 BLAKE2B cc07c3be778b32465e78789638c5d46169d17882058a6c441b37b95c6a291cd5291af8ef1e9d48aa996cd35acddc343159d7da959136df5f84ffea4e1fb7d028 SHA512 29d8e3477d5f90bfa4d2ad874b870a9ea7e140507050e0d1d7e851af75fbd61e5ab64218a0ce00cae8a38ee8675e8ebca1faee009dfe57b8ca8f130a1b46e8c9
diff --git a/dev-ml/spawn/metadata.xml b/dev-ml/spawn/metadata.xml
new file mode 100644
index 000000000000..5453aa09e293
--- /dev/null
+++ b/dev-ml/spawn/metadata.xml
@@ -0,0 +1,9 @@
+<?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">janestreet/spawn</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/spawn/spawn-0.9.0.ebuild b/dev-ml/spawn/spawn-0.9.0.ebuild
new file mode 100644
index 000000000000..20fe4468b71d
--- /dev/null
+++ b/dev-ml/spawn/spawn-0.9.0.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit opam
+
+DESCRIPTION="Spawning sub-processes"
+HOMEPAGE="https://github.com/janestreet/spawn"
+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=""
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+DEPEND="${DEPEND} dev-ml/jbuilder"
diff --git a/dev-ml/stdio/Manifest b/dev-ml/stdio/Manifest
new file mode 100644
index 000000000000..169768ab7a6b
--- /dev/null
+++ b/dev-ml/stdio/Manifest
@@ -0,0 +1,2 @@
+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
new file mode 100644
index 000000000000..ca40c83ebbed
--- /dev/null
+++ b/dev-ml/stdio/metadata.xml
@@ -0,0 +1,9 @@
+<?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">janestreet/stdio</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/stdio/stdio-0.9.0-r1.ebuild b/dev-ml/stdio/stdio-0.9.0-r1.ebuild
new file mode 100644
index 000000000000..ea3350ffe129
--- /dev/null
+++ b/dev-ml/stdio/stdio-0.9.0-r1.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit opam
+
+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 ~ppc ~x86"
+IUSE=""
+
+RDEPEND="dev-ml/base:= dev-ml/sexplib:="
+DEPEND="${RDEPEND} dev-ml/jbuilder"
+
+src_test() {
+ jbuilder runtest || die
+}
diff --git a/dev-ml/stdio/stdio-0.9.1.ebuild b/dev-ml/stdio/stdio-0.9.1.ebuild
new file mode 100644
index 000000000000..ea3350ffe129
--- /dev/null
+++ b/dev-ml/stdio/stdio-0.9.1.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit opam
+
+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 ~ppc ~x86"
+IUSE=""
+
+RDEPEND="dev-ml/base:= dev-ml/sexplib:="
+DEPEND="${RDEPEND} dev-ml/jbuilder"
+
+src_test() {
+ jbuilder runtest || die
+}
diff --git a/dev-ml/stringext/Manifest b/dev-ml/stringext/Manifest
new file mode 100644
index 000000000000..a750484e02a6
--- /dev/null
+++ b/dev-ml/stringext/Manifest
@@ -0,0 +1,2 @@
+DIST stringext-1.4.3.tar.gz 49255 BLAKE2B a1594144be431ead57e92339fef60a4823b8d1bf77e60bdfc7f89e5bc8700c4c55afcae90980b6486284d0de62b8cb3090a1cffe2f26a276f8063329e34c8068 SHA512 f6d6ad9e6cd89fb499f2ef449eede448fe9d67912644f44ffadf4e869326bc20fd839d7e725a133e4a81ca8ba98497fd02307efb9f9f62cbad4308e18123ffb5
+DIST stringext-1.5.0.tar.gz 8007 BLAKE2B 73854adb0b44f921f6364925dbd37e2f03d795561ec36044031318a584be53e13b3963a66aedfef3517b7760541c279e75b3645c99dd9b1d1a02fa22eba8a9fa SHA512 69c744ecf86f890fb8eeba245d3b5bbf1e2cadcf4274f3525faef6be242940dae77639639e202101b19e0772214af405edd67b7d33a3e9224798ec3e53167fc9
diff --git a/dev-ml/stringext/metadata.xml b/dev-ml/stringext/metadata.xml
new file mode 100644
index 000000000000..0e6bc903a219
--- /dev/null
+++ b/dev-ml/stringext/metadata.xml
@@ -0,0 +1,9 @@
+<?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">rgrinberg/stringext</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/stringext/stringext-1.4.3.ebuild b/dev-ml/stringext/stringext-1.4.3.ebuild
new file mode 100644
index 000000000000..2d743c11f5e3
--- /dev/null
+++ b/dev-ml/stringext/stringext-1.4.3.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+OASIS_BUILD_TESTS=1
+
+inherit oasis
+
+DESCRIPTION="Extra string functions for OCaml"
+HOMEPAGE="https://github.com/rgrinberg/stringext"
+SRC_URI="https://github.com/rgrinberg/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+IUSE=""
+
+RDEPEND="
+ >=dev-lang/ocaml-4:=
+"
+DEPEND="
+ ${RDEPEND}
+ test? ( dev-ml/iTeML )
+"
+
+DOCS=( README.md )
diff --git a/dev-ml/stringext/stringext-1.5.0.ebuild b/dev-ml/stringext/stringext-1.5.0.ebuild
new file mode 100644
index 000000000000..a98b729ce2b0
--- /dev/null
+++ b/dev-ml/stringext/stringext-1.5.0.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit opam
+
+DESCRIPTION="Extra string functions for OCaml"
+HOMEPAGE="https://github.com/rgrinberg/stringext"
+SRC_URI="https://github.com/rgrinberg/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND=""
+DEPEND="
+ ${RDEPEND}
+ dev-ml/jbuilder
+ test? ( dev-ml/iTeML )
+"
diff --git a/dev-ml/textutils/Manifest b/dev-ml/textutils/Manifest
new file mode 100644
index 000000000000..8eec1f84e79d
--- /dev/null
+++ b/dev-ml/textutils/Manifest
@@ -0,0 +1 @@
+DIST textutils-0.9.0.tar.gz 19603 BLAKE2B 20e515b62fad7b17a0bb05c3a3ad45af81dcf3bf5c98617803186df0badecf369a684cb481786fc0074b177807049848b27272b6a4872e26d7b47a036ca7c98f SHA512 2a60b0add940f3584752f1add546716ad1e9e002d8fae460d9e62acda39e4b486c06a3fa27ceab754d2339dc46422a5a9534345c743950d6ed08683060cab759
diff --git a/dev-ml/textutils/metadata.xml b/dev-ml/textutils/metadata.xml
new file mode 100644
index 000000000000..de48cc1da81e
--- /dev/null
+++ b/dev-ml/textutils/metadata.xml
@@ -0,0 +1,9 @@
+<?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">janestreet/textutils</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/textutils/textutils-0.9.0.ebuild b/dev-ml/textutils/textutils-0.9.0.ebuild
new file mode 100644
index 000000000000..2ebb56bcc79c
--- /dev/null
+++ b/dev-ml/textutils/textutils-0.9.0.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit opam
+
+DESCRIPTION="Text output utilities"
+HOMEPAGE="https://github.com/janestreet/textutils"
+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=""
+
+RDEPEND="
+ dev-ml/core:=
+ dev-ml/ppx_driver:=
+ dev-ml/ppx_jane:=
+ dev-ml/ocaml-migrate-parsetree:=
+"
+DEPEND="${RDEPEND} dev-ml/jbuilder"
diff --git a/dev-ml/topkg/Manifest b/dev-ml/topkg/Manifest
new file mode 100644
index 000000000000..aa688bfebc4c
--- /dev/null
+++ b/dev-ml/topkg/Manifest
@@ -0,0 +1,2 @@
+DIST topkg-0.9.0.tar.gz 120352 BLAKE2B 1122fe8b60e3d104136810a2cec8460c24a26061eff55e80347d2ecf197afee949e8afaca94a6615da31a8c3acaf113b44b16dbf2430fda6724e440597775bb5 SHA512 823fe1abb344d7800e09411c952bd276ecea97b5d9c124d986e26b9128d03b3ad023a38560198e476ef8f949ecb456078e332bda94075e9b746e43d3059a8fdb
+DIST topkg-0.9.1.tar.gz 120943 BLAKE2B 39ac0d1d247183cf9f007c65b09d413ad6a89982d84269e99585ed5f15df4d7683de61548dba6ca5a1299f96206bfd2dc1042486410caa202938dc15e936446b SHA512 19773eb764b53a6e5110c44d7942d2557d6c8502a3037b57f7737efc08f4cc374845b431fdb1465207693d15a4b072aea3db97f8e60e069e3d24ae150e8c5c8f
diff --git a/dev-ml/topkg/metadata.xml b/dev-ml/topkg/metadata.xml
new file mode 100644
index 000000000000..7ae8c33f9227
--- /dev/null
+++ b/dev-ml/topkg/metadata.xml
@@ -0,0 +1,9 @@
+<?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">dbuenzli/topkg</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/topkg/topkg-0.9.0.ebuild b/dev-ml/topkg/topkg-0.9.0.ebuild
new file mode 100644
index 000000000000..773af719a185
--- /dev/null
+++ b/dev-ml/topkg/topkg-0.9.0.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit findlib
+
+DESCRIPTION="The transitory OCaml software packager"
+HOMEPAGE="https://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/topkg/topkg-0.9.1.ebuild b/dev-ml/topkg/topkg-0.9.1.ebuild
new file mode 100644
index 000000000000..773af719a185
--- /dev/null
+++ b/dev-ml/topkg/topkg-0.9.1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit findlib
+
+DESCRIPTION="The transitory OCaml software packager"
+HOMEPAGE="https://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/type-conv/Manifest b/dev-ml/type-conv/Manifest
new file mode 100644
index 000000000000..6beef75fe6ce
--- /dev/null
+++ b/dev-ml/type-conv/Manifest
@@ -0,0 +1 @@
+DIST type_conv-113.00.02.tar.gz 64174 BLAKE2B 23189d3b9f676657d59d0801ec0c7bde7b926e2e75c6a2316ae5fc8b5dedb3a2cda944b029e61a10d997b555ed0678dd0cb0593693c395a5bcd4df4de4a15de9 SHA512 6bc6db0e5a36fa4150941155290d137552d9e19aac7cf3aff107f0a7eaa47749c7044c4a4e475827d739784b99ef2103e9c9c03191c6aaa55c51585e71553559
diff --git a/dev-ml/type-conv/metadata.xml b/dev-ml/type-conv/metadata.xml
new file mode 100644
index 000000000000..c99320e026bb
--- /dev/null
+++ b/dev-ml/type-conv/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/type-conv/type-conv-113.00.02.ebuild b/dev-ml/type-conv/type-conv-113.00.02.ebuild
new file mode 100644
index 000000000000..088550945270
--- /dev/null
+++ b/dev-ml/type-conv/type-conv-113.00.02.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+OASIS_BUILD_DOCS=1
+
+inherit oasis
+
+MY_P=${PN/-/_}-${PV}
+DESCRIPTION="Mini library required for some other preprocessing libraries"
+HOMEPAGE="http://janestreet.github.io/"
+SRC_URI="http://ocaml.janestreet.com/ocaml-core/${PV%.*}/files/${MY_P}.tar.gz"
+
+LICENSE="LGPL-2.1-with-linking-exception"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE=""
+
+RDEPEND=">=dev-lang/ocaml-4.02[ocamlopt?]
+ dev-ml/camlp4:="
+DEPEND="${RDEPEND}
+ >=dev-ml/findlib-1.3.2"
+
+DOCS=( "README.md" "CHANGES.md" )
+
+S="${WORKDIR}/${MY_P}"
diff --git a/dev-ml/typerep/Manifest b/dev-ml/typerep/Manifest
new file mode 100644
index 000000000000..fdb39cf95717
--- /dev/null
+++ b/dev-ml/typerep/Manifest
@@ -0,0 +1 @@
+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
new file mode 100644
index 000000000000..1a0a9799e83d
--- /dev/null
+++ b/dev-ml/typerep/metadata.xml
@@ -0,0 +1,9 @@
+<?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">janestreet/typerep</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/typerep/typerep-0.9.0.ebuild b/dev-ml/typerep/typerep-0.9.0.ebuild
new file mode 100644
index 000000000000..2940a4604344
--- /dev/null
+++ b/dev-ml/typerep/typerep-0.9.0.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit opam
+
+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=""
+
+DEPEND="dev-ml/base:="
+RDEPEND="${DEPEND}"
+DEPEND="${DEPEND} dev-ml/jbuilder"
diff --git a/dev-ml/tyxml/Manifest b/dev-ml/tyxml/Manifest
new file mode 100644
index 000000000000..cb4234034574
--- /dev/null
+++ b/dev-ml/tyxml/Manifest
@@ -0,0 +1 @@
+DIST tyxml-4.1.0.tar.gz 179852 BLAKE2B d143c1291cedfb345f0773284891e17bbeb8d46eb5fa5c74df3e9ffd24adca35a8afddd60958ff3c7580bb3984c1ae2a4b077073346326c5d20a975dd42cba66 SHA512 add2b82939ea069ee74ee26ff3ee1f3ad2e361e593134da807e1acfbebff4ed546cbc23aca7ee2936a1eb8a736916d673aa2c96aeae8779706cd726bc2d07ead
diff --git a/dev-ml/tyxml/metadata.xml b/dev-ml/tyxml/metadata.xml
new file mode 100644
index 000000000000..e4db55788d99
--- /dev/null
+++ b/dev-ml/tyxml/metadata.xml
@@ -0,0 +1,13 @@
+<?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">ocsigen/tyxml</remote-id>
+ </upstream>
+ <use>
+ <flag name="camlp4">Enables the camlp4 syntax extension (deprecated)</flag>
+ <flag name="ppx">Enables the ppx syntax extension (preferred)</flag>
+ </use>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/tyxml/tyxml-4.1.0.ebuild b/dev-ml/tyxml/tyxml-4.1.0.ebuild
new file mode 100644
index 000000000000..4ddf289c7b6e
--- /dev/null
+++ b/dev-ml/tyxml/tyxml-4.1.0.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+OASIS_BUILD_DOCS=1
+# Cannot find findlib package alcotest
+# OASIS_BUILD_TESTS=1
+
+inherit oasis
+
+DESCRIPTION="A libary to build xml trees typechecked by OCaml"
+HOMEPAGE="http://ocsigen.org/tyxml/"
+SRC_URI="https://github.com/ocsigen/tyxml/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1-with-linking-exception"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+IUSE="+ppx +camlp4"
+
+DEPEND="
+ >=dev-ml/uutf-1.0:=
+ dev-ml/uchar:=
+ dev-ml/ocaml-re:=
+ ppx? ( >=dev-ml/ppx_tools-5:= dev-ml/markup:= )
+ camlp4? ( dev-ml/camlp4:= )"
+RDEPEND="${DEPEND}"
+
+DOCS=( CHANGES README.md )
+
+src_configure() {
+ oasis_configure_opts="
+ $(use_enable camlp4 syntax)
+ $(use_enable ppx)
+ " oasis_src_configure
+}
diff --git a/dev-ml/uchar/Manifest b/dev-ml/uchar/Manifest
new file mode 100644
index 000000000000..d3de1b489c67
--- /dev/null
+++ b/dev-ml/uchar/Manifest
@@ -0,0 +1 @@
+DIST uchar-0.0.2.tar.gz 21815 BLAKE2B aede9d42ac2d9ccaa7af2f40799916f30cef0d6e292b7909b5131b5d28c979362b7624a88cec8ba2e7bed1dcada60d8e512ed70d2a02dafcf4ad701c60f6faa6 SHA512 487a9706cf9dfc9b9c94442a51766cc211687d6ebcb4dd3c94d09cb1ed6d7fd61e966e91a4121fe2d1681b2fd6bfee9079d3bccccdb6d65ba2111524ab5dd1bc
diff --git a/dev-ml/uchar/metadata.xml b/dev-ml/uchar/metadata.xml
new file mode 100644
index 000000000000..0e27732b2cc7
--- /dev/null
+++ b/dev-ml/uchar/metadata.xml
@@ -0,0 +1,9 @@
+<?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/uchar</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/uchar/uchar-0.0.2.ebuild b/dev-ml/uchar/uchar-0.0.2.ebuild
new file mode 100644
index 000000000000..41c83cb4f77b
--- /dev/null
+++ b/dev-ml/uchar/uchar-0.0.2.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit findlib
+
+DESCRIPTION="Uchar compatibility library"
+HOMEPAGE="https://github.com/ocaml/uchar"
+SRC_URI="https://github.com/ocaml/uchar/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2-with-linking-exception"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86"
+IUSE="+ocamlopt"
+
+RDEPEND=">=dev-lang/ocaml-4.03:="
+DEPEND="${RDEPEND} dev-ml/ocamlbuild"
+
+# This is mostly a compat wrapper for older ocaml versions we don't support. No
+# need to test it, plus it fails when installing for the first time:
+# https://bugs.gentoo.org/show_bug.cgi?id=624144
+RESTRICT="test"
+
+src_compile() {
+ ocaml pkg/build.ml \
+ "native=$(usex ocamlopt true false)" \
+ "native-dynlink=$(usex ocamlopt true false)" || die
+}
+
+src_test() {
+ ocamlbuild -X src -use-ocamlfind -pkg uchar test/testpkg.native || die
+}
+
+src_install() {
+ # Can't use opam-installer here as it is an opam dep...
+ findlib_src_preinst
+ mv _build/pkg/META{.empty,} || die
+ ocamlfind install ${PN} _build/pkg/META || die
+ dodoc README.md CHANGES.md
+}
diff --git a/dev-ml/uutf/Manifest b/dev-ml/uutf/Manifest
new file mode 100644
index 000000000000..29cbb152037b
--- /dev/null
+++ b/dev-ml/uutf/Manifest
@@ -0,0 +1 @@
+DIST uutf-1.0.1.tbz 22215 BLAKE2B 58cbb8db94024ddaa02c213df4e5321ad33513370c6d1d54ac09f57821df8ac3b330c2659f9aeb0e78dfd15d2f50be714a5a5d6e6d3dcc3f81539c1a6c8c3771 SHA512 35cbee8c82a566f2fe4fcd549936d4c4dc67f5b71bfd3ea97ff25d7cf21cfb77cb5ee313c95ad26a2a61bb84aa48c300bbb79a1a7128c6161e9abe9c390a7d18
diff --git a/dev-ml/uutf/metadata.xml b/dev-ml/uutf/metadata.xml
new file mode 100644
index 000000000000..97493c91f880
--- /dev/null
+++ b/dev-ml/uutf/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<!-- maintainer-needed -->
+<use>
+<flag name="utftrip">Builds and install the utftrip executable: Among other things, reads unicode on stdin and rewrites it on stdout.</flag>
+</use>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/uutf/uutf-1.0.1.ebuild b/dev-ml/uutf/uutf-1.0.1.ebuild
new file mode 100644
index 000000000000..ae4e6b83565a
--- /dev/null
+++ b/dev-ml/uutf/uutf-1.0.1.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit findlib
+
+DESCRIPTION="Non-blocking streaming Unicode codec for OCaml"
+HOMEPAGE="https://erratique.ch/software/uutf"
+SRC_URI="https://erratique.ch/software/uutf/releases/${P}.tbz"
+
+LICENSE="ISC"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86"
+IUSE="doc utftrip +ocamlopt test"
+RESTRICT="!test? ( test )"
+
+RDEPEND=">=dev-lang/ocaml-3.12:=[ocamlopt?]
+ dev-ml/uchar:=
+ utftrip? ( dev-ml/cmdliner:= )"
+DEPEND="${RDEPEND}
+ dev-ml/ocamlbuild
+ dev-ml/topkg
+ test? ( dev-ml/cmdliner )"
+
+src_compile() {
+ ocaml pkg/pkg.ml build \
+ --with-cmdliner "$(usex utftrip true false)" \
+ || die
+}
+
+src_test() {
+ if use ocamlopt ; then
+ ocamlbuild -use-ocamlfind tests.otarget || die
+ pushd _build/test || die
+ ./test.native || die
+ #Rebuild to avoid mismatches between installed files, bug #604674
+ popd || die
+ ocaml pkg/pkg.ml build \
+ --with-cmdliner "$(usex utftrip true false)" \
+ || die
+ else
+ ewarn "Sorry, ${PN} tests require native support (ocamlopt)"
+ fi
+}
+
+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/uutf.cm{x,xa,xs} _build/src/uutf.a)"
+ ocamlfind install uutf _build/pkg/META _build/src/uutf.mli _build/src/uutf.cm{a,i} ${nativelibs} || die
+ use utftrip && newbin utftrip.$(usex ocamlopt native byte) utftrip
+ dodoc CHANGES.md README.md
+ use doc && dohtml -r doc/*
+}
diff --git a/dev-ml/variantslib/Manifest b/dev-ml/variantslib/Manifest
new file mode 100644
index 000000000000..af9ea63e9790
--- /dev/null
+++ b/dev-ml/variantslib/Manifest
@@ -0,0 +1 @@
+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
new file mode 100644
index 000000000000..321ac2887cd1
--- /dev/null
+++ b/dev-ml/variantslib/metadata.xml
@@ -0,0 +1,10 @@
+<?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>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/variantslib/variantslib-0.9.0.ebuild b/dev-ml/variantslib/variantslib-0.9.0.ebuild
new file mode 100644
index 000000000000..a50b4f2ef0e0
--- /dev/null
+++ b/dev-ml/variantslib/variantslib-0.9.0.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit opam
+
+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"
+IUSE=""
+
+RDEPEND="
+ dev-ml/base:=
+ dev-ml/ppx_driver:=
+ dev-ml/ocaml-migrate-parsetree:=
+"
+DEPEND="${RDEPEND} dev-ml/jbuilder"
diff --git a/dev-ml/xml-light/Manifest b/dev-ml/xml-light/Manifest
new file mode 100644
index 000000000000..12ebe504ed24
--- /dev/null
+++ b/dev-ml/xml-light/Manifest
@@ -0,0 +1 @@
+DIST xml-light-2.2.zip 22130 BLAKE2B 95b4bc23be63ef5c6faf529877aaf753e3c9fee99948dff82bab5e3206ea718a71ce1e03a2bdba17ff21c040dc8774312ce752c97450f0420681926524864f58 SHA512 b3be968db1ea8b9f8cc439fc8a685083227a7b07469af17c31993229a506f2ff6b1b0cf2097f4198a71e1d858d166f36c99bb26720136633c233a790764087ed
diff --git a/dev-ml/xml-light/files/01_installopt.dpatch b/dev-ml/xml-light/files/01_installopt.dpatch
new file mode 100644
index 000000000000..1dfb50c9e271
--- /dev/null
+++ b/dev-ml/xml-light/files/01_installopt.dpatch
@@ -0,0 +1,24 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 01_installopt.dpatch by Sylvain Le Gall <gildor@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+@DPATCH@
+diff -urNad xml-light-2.2~/Makefile xml-light-2.2/Makefile
+--- xml-light-2.2~/Makefile 2005-10-11 23:26:41.000000000 +0200
++++ xml-light-2.2/Makefile 2005-10-11 23:28:00.000000000 +0200
+@@ -11,8 +11,11 @@
+
+ opt: xml-light.cmxa test_opt.exe
+
+-install: all opt
+- cp xml-light.cmxa xml-light.a xml-light.cma xml.mli xmlParser.mli dtd.mli xml.cmi xmlParser.cmi dtd.cmi xml.cmx dtd.cmx xmlParser.cmx $(INSTALLDIR)
++install: all
++ cp xml-light.cma xml.mli xmlParser.mli dtd.mli xml.cmi xmlParser.cmi dtd.cmi $(INSTALLDIR)
++
++installopt: opt all
++ cp xml-light.a xml-light.cmxa xml.cmx dtd.cmx xmlParser.cmx $(INSTALLDIR)
+
+ doc:
+ mkdir doc
diff --git a/dev-ml/xml-light/files/02_cmi_depends.dpatch b/dev-ml/xml-light/files/02_cmi_depends.dpatch
new file mode 100644
index 000000000000..1fcf17048407
--- /dev/null
+++ b/dev-ml/xml-light/files/02_cmi_depends.dpatch
@@ -0,0 +1,18 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 02_cmi_depends.dpatch by Sylvain Le Gall <gildor@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+@DPATCH@
+diff -urNad xml-light-2.2~/Makefile xml-light-2.2/Makefile
+--- xml-light-2.2~/Makefile 2006-01-03 17:34:23.000000000 +0100
++++ xml-light-2.2/Makefile 2006-01-03 17:35:04.000000000 +0100
+@@ -82,6 +82,6 @@
+ .mll.ml:
+ ocamllex $<
+
+-.mly.ml:
++%.mli %.ml: %.mly
+ ocamlyacc $<
+
diff --git a/dev-ml/xml-light/files/03_cflags.dpatch b/dev-ml/xml-light/files/03_cflags.dpatch
new file mode 100644
index 000000000000..5dfbffe5da1f
--- /dev/null
+++ b/dev-ml/xml-light/files/03_cflags.dpatch
@@ -0,0 +1,51 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 03_cflags.dpatch by Sylvain Le Gall <gildor@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+@DPATCH@
+diff -urNad xml-light-2.2~/Makefile xml-light-2.2/Makefile
+--- xml-light-2.2~/Makefile 2006-10-26 00:22:41.000000000 +0200
++++ xml-light-2.2/Makefile 2006-10-26 00:24:45.000000000 +0200
+@@ -3,8 +3,8 @@
+ .SUFFIXES : .ml .mli .cmo .cmx .cmi .mll .mly
+
+ INSTALLDIR=`ocamlc -where`
+-CFLAGS=
+-LFLAGS= -a
++XML_LIGHT_OCAML_CFLAGS= $(OCAML_CFLAGS)
++XML_LIGHT_OCAML_LFLAGS= $(OCAML_LFLAGS) -a
+ LIBS=
+
+ all: xml-light.cma test.exe doc
+@@ -28,10 +28,10 @@
+ ocamlopt xml-light.cmxa test.ml -o test_opt.exe
+
+ xml-light.cma: xml_parser.cmo xml_lexer.cmo dtd.cmo xmlParser.cmo xml.cmo
+- ocamlc -o xml-light.cma $(LFLAGS) $(LIBS) xml_parser.cmo xml_lexer.cmo dtd.cmo xmlParser.cmo xml.cmo
++ ocamlc -o xml-light.cma $(XML_LIGHT_OCAML_LFLAGS) $(LIBS) xml_parser.cmo xml_lexer.cmo dtd.cmo xmlParser.cmo xml.cmo
+
+ xml-light.cmxa: xml_parser.cmx xml_lexer.cmx dtd.cmx xmlParser.cmx xml.cmx
+- ocamlopt -o xml-light.cmxa $(LFLAGS) $(LIBS) xml_parser.cmx xml_lexer.cmx dtd.cmx xmlParser.cmx xml.cmx
++ ocamlopt -o xml-light.cmxa $(XML_LIGHT_OCAML_LFLAGS) $(LIBS) xml_parser.cmx xml_lexer.cmx dtd.cmx xmlParser.cmx xml.cmx
+
+ dtd.cmo: xml.cmi xml_lexer.cmi dtd.cmi
+
+@@ -71,13 +71,13 @@
+
+ # SUFFIXES
+ .ml.cmo:
+- ocamlc $(CFLAGS) -c $<
++ ocamlc $(XML_LIGHT_OCAML_CFLAGS) -c $<
+
+ .ml.cmx:
+- ocamlopt $(CFLAGS) -c $<
++ ocamlopt $(XML_LIGHT_OCAML_CFLAGS) -c $<
+
+ .mli.cmi:
+- ocamlc $(CFLAGS) $<
++ ocamlc $(XML_LIGHT_OCAML_CFLAGS) $<
+
+ .mll.ml:
+ ocamllex $<
diff --git a/dev-ml/xml-light/files/04_dtd_trace.dpatch b/dev-ml/xml-light/files/04_dtd_trace.dpatch
new file mode 100644
index 000000000000..9dbea4bdf0c8
--- /dev/null
+++ b/dev-ml/xml-light/files/04_dtd_trace.dpatch
@@ -0,0 +1,26 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 04_dtd_trace.dpatch by Sylvain Le Gall <gildor@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+@DPATCH@
+diff -urNad xml-light-2.2~/dtd.ml xml-light-2.2/dtd.ml
+--- xml-light-2.2~/dtd.ml 2005-02-18 10:01:54.000000000 +0100
++++ xml-light-2.2/dtd.ml 2006-10-26 23:22:25.000000000 +0200
+@@ -267,7 +267,7 @@
+ exception TmpResult of dtd_result
+
+ let prove_child dtd tag =
+- trace dtd tag;
++ (*trace dtd tag;*)
+ match dtd.current with
+ | DTDEmpty -> raise (Prove_error EmptyExpected)
+ | DTDAny -> ()
+@@ -505,4 +505,4 @@
+ sprintf "<!ELEMENT %s %s>" tag (etype_to_string etype)
+
+ ;;
+-to_string_ref := to_string
+\ No newline at end of file
++to_string_ref := to_string
diff --git a/dev-ml/xml-light/metadata.xml b/dev-ml/xml-light/metadata.xml
new file mode 100644
index 000000000000..35527d1ae4b0
--- /dev/null
+++ b/dev-ml/xml-light/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="person">
+ <email>maksbotan@gentoo.org</email>
+ <name>Maxim Koltsov</name>
+</maintainer>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/xml-light/xml-light-2.2-r3.ebuild b/dev-ml/xml-light/xml-light-2.2-r3.ebuild
new file mode 100644
index 000000000000..f7244b272a18
--- /dev/null
+++ b/dev-ml/xml-light/xml-light-2.2-r3.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils multilib
+
+DESCRIPTION="Minimal Xml parser and printer for OCaml"
+HOMEPAGE="http://tech.motion-twin.com/xmllight.html"
+SRC_URI="http://tech.motion-twin.com/zip/${P}.zip"
+
+LICENSE="LGPL-2.1"
+SLOT="0/${PV}"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc x86"
+IUSE="doc +ocamlopt"
+
+RDEPEND="dev-lang/ocaml:=[ocamlopt?]"
+DEPEND="app-arch/unzip
+ ${RDEPEND}"
+
+S="${WORKDIR}/${PN}"
+
+src_prepare() {
+ EPATCH_FORCE=yes EPATCH_SUFFIX=dpatch EPATCH_SOURCE="${FILESDIR}" \
+ epatch
+}
+
+src_compile() {
+ emake -j1
+ if use ocamlopt; then
+ emake -j1 opt
+ fi
+ if use doc;then
+ emake doc
+ fi
+}
+
+src_test() {
+ # There are no tests...
+ :
+}
+
+src_install() {
+ dodir /usr/$(get_libdir)/ocaml/${PN}
+ emake INSTALLDIR="${D}"/usr/$(get_libdir)/ocaml/${PN} install
+ cat > "${D}"/usr/$(get_libdir)/ocaml/${PN}/META << EOF
+name="${PN}"
+version="${PV}"
+description="${DESCRIPTION}"
+requires=""
+archive(byte)="xml-light.cma"
+EOF
+ if use ocamlopt; then
+ emake INSTALLDIR="${D}"/usr/$(get_libdir)/ocaml/${PN} installopt
+ echo 'archive(native)="xml-light.cmxa"' >> "${D}"/usr/$(get_libdir)/ocaml/${PN}/META
+ fi
+ dodoc README
+ if use doc; then
+ emake doc
+ dohtml doc/*
+ fi
+}
diff --git a/dev-ml/yojson/Manifest b/dev-ml/yojson/Manifest
new file mode 100644
index 000000000000..1e6fd2ae0045
--- /dev/null
+++ b/dev-ml/yojson/Manifest
@@ -0,0 +1 @@
+DIST yojson-1.4.0.tar.gz 26197 BLAKE2B c7d1a9d47f448995b31cd7631f64dec29e65b1f141854092bfe186a58c28b96c5c7f246f7e4ab4563dfcd84776904d4af77bbcbdc4e149229fbde339bd92df9f SHA512 dc019ecf0387299282c3df9a548456d2529993241911a83acb14f2361ed14886e5ebebe415773b6bc718cb0b12a25529184f3b5b62c71b42960fbd62e1c63bf6
diff --git a/dev-ml/yojson/metadata.xml b/dev-ml/yojson/metadata.xml
new file mode 100644
index 000000000000..dade9d517c44
--- /dev/null
+++ b/dev-ml/yojson/metadata.xml
@@ -0,0 +1,9 @@
+<?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">mjambon/yojson</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/yojson/yojson-1.4.0.ebuild b/dev-ml/yojson/yojson-1.4.0.ebuild
new file mode 100644
index 000000000000..6a3ad0c2f226
--- /dev/null
+++ b/dev-ml/yojson/yojson-1.4.0.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit findlib opam
+
+DESCRIPTION="JSON parsing and pretty-printing library for OCaml"
+HOMEPAGE="https://github.com/mjambon/yojson"
+SRC_URI="https://github.com/mjambon/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+SLOT="0/${PV}"
+LICENSE="BSD"
+KEYWORDS="~amd64"
+IUSE="examples"
+
+RDEPEND=">=dev-lang/ocaml-3.11:=[ocamlopt]
+ dev-ml/easy-format:=[ocamlopt]
+ >=dev-ml/biniou-1.2:=[ocamlopt]
+"
+DEPEND="${RDEPEND}
+ dev-ml/cppo
+ dev-ml/jbuilder
+"
+
+src_install() {
+ opam_src_install
+
+ if use examples ; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/dev-ml/zarith/Manifest b/dev-ml/zarith/Manifest
new file mode 100644
index 000000000000..a4e56a3007b3
--- /dev/null
+++ b/dev-ml/zarith/Manifest
@@ -0,0 +1,2 @@
+DIST zarith-1.7.tar.gz 89617 BLAKE2B ee8a272a7421d9e723af8aa6207da8fe046585804e669058b6dec8fb47cab80e438d0520c1b61ed6c79bc279d162a7a1043fa40e74c50342b7e4d553ca8e8f5b SHA512 812b5f9b24ce7a24d3370b8728ff6eeb56e3280fa1573e694fe54e781668c29bf8ff95e94aeff59df948adc85b8acd6b4efe117fb50a124f19b4227bee78e753
+DIST zarith-1.9.1.tar.gz 92321 BLAKE2B d61def81600cb5f3ae931eabebcdf081b6025dd24b1deae46a55f5db4f2c67d44b38b9cb9d73fc7fd9bd76c81545294373e3df5969da217209079a2912a8e285 SHA512 e77620c66a59d35811acfc45c7ef3f0d50d3042194654b1f5b652a2ed5fb9d5f88e9173222e5ced286c61854434da05a4d96668089faa66ff2917afa677fc32f
diff --git a/dev-ml/zarith/files/zarith-1.9.1-ar.patch b/dev-ml/zarith/files/zarith-1.9.1-ar.patch
new file mode 100644
index 000000000000..122cf0797dbe
--- /dev/null
+++ b/dev-ml/zarith/files/zarith-1.9.1-ar.patch
@@ -0,0 +1,11 @@
+--- a/configure 2020-05-17 17:46:29.826822055 +0200
++++ b/configure 2020-05-17 17:47:37.699808615 +0200
+@@ -22,7 +22,7 @@
+ gmp='auto'
+ perf='no'
+
+-ar='ar'
++ar="${AR}"
+ ocaml='ocaml'
+ ocamlc='ocamlc'
+ ocamlopt='ocamlopt'
diff --git a/dev-ml/zarith/metadata.xml b/dev-ml/zarith/metadata.xml
new file mode 100644
index 000000000000..f4aa31a97abd
--- /dev/null
+++ b/dev-ml/zarith/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <use>
+ <flag name="mpir">Use MPIR library instead of GMP.</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">ocaml/Zarith</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ml/zarith/zarith-1.7.ebuild b/dev-ml/zarith/zarith-1.7.ebuild
new file mode 100644
index 000000000000..21ad63c4e898
--- /dev/null
+++ b/dev-ml/zarith/zarith-1.7.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit findlib eutils toolchain-funcs
+
+DESCRIPTION="Arithmetic and logic operations over arbitrary-precision integers"
+HOMEPAGE="https://github.com/ocaml/Zarith"
+SRC_URI="https://github.com/ocaml/Zarith/archive/release-${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1-with-linking-exception"
+SLOT="0/${PV}"
+KEYWORDS="amd64 ~ppc ~x86"
+IUSE="doc mpir +ocamlopt"
+
+RDEPEND="
+ >=dev-lang/ocaml-4.05:=[ocamlopt?]
+ !mpir? ( dev-libs/gmp:0= )
+ mpir? ( sci-libs/mpir )"
+
+DEPEND="${RDEPEND} dev-lang/perl"
+
+S="${WORKDIR}/Zarith-release-${PV}"
+
+src_configure() {
+ tc-export CC
+ ./configure -host "${CHOST}" \
+ -ocamllibdir "/usr/$(get_libdir)" \
+ -installdir "${ED}/usr/$(get_libdir)/ocaml" \
+ $(usex mpir "-mpir" "-gmp") || die
+}
+
+src_compile() {
+ emake HASOCAMLOPT=$(usex ocamlopt yes no) HASDYNLINK=$(usex ocamlopt yes no) all
+ use doc && emake doc
+}
+
+src_test() {
+ if use ocamlopt ; then
+ emake HASOCAMLOPT=$(usex ocamlopt yes no) HASDYNLINK=$(usex ocamlopt yes no) tests
+ else
+ ewarn "Tests require USE=ocamlopt. Skipping them."
+ fi
+}
+
+src_install() {
+ findlib_src_preinst
+ emake HASOCAMLOPT=$(usex ocamlopt yes no) HASDYNLINK=$(usex ocamlopt yes no) install
+ dodoc Changes README.md
+ use doc && dohtml html/*
+}
diff --git a/dev-ml/zarith/zarith-1.9.1.ebuild b/dev-ml/zarith/zarith-1.9.1.ebuild
new file mode 100644
index 000000000000..6f6085a8c092
--- /dev/null
+++ b/dev-ml/zarith/zarith-1.9.1.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit findlib multilib
+
+DESCRIPTION="Arithmetic and logic operations over arbitrary-precision integers"
+HOMEPAGE="https://github.com/ocaml/Zarith"
+SRC_URI="https://github.com/ocaml/Zarith/archive/release-${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1-with-linking-exception"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="doc mpir +ocamlopt"
+
+RDEPEND="
+ >=dev-lang/ocaml-4.05:=[ocamlopt?]
+ !mpir? ( dev-libs/gmp:0= )
+ mpir? ( sci-libs/mpir )"
+
+DEPEND="${RDEPEND} dev-lang/perl"
+DOCS=( README.md Changes )
+
+PATCHES=(
+ "${FILESDIR}"/${P}-ar.patch
+)
+
+S="${WORKDIR}/Zarith-release-${PV}"
+
+src_configure() {
+ tc-export CC AR
+ ./configure -host "${CHOST}" \
+ -ocamllibdir /usr/$(get_libdir)/ocaml \
+ -installdir "${ED}"/usr/$(get_libdir)/ocaml \
+ $(usex mpir "-mpir" "-gmp") || die
+}
+
+src_compile() {
+ emake -j 1 HASOCAMLOPT=$(usex ocamlopt yes no) HASDYNLINK=$(usex ocamlopt yes no) all
+ use doc && emake doc
+}
+
+src_test() {
+ if use ocamlopt ; then
+ emake HASOCAMLOPT=$(usex ocamlopt yes no) HASDYNLINK=$(usex ocamlopt yes no) tests
+ else
+ ewarn "Tests require USE=ocamlopt. Skipping them."
+ fi
+}
+
+src_install() {
+ findlib_src_preinst
+ emake HASOCAMLOPT=$(usex ocamlopt yes no) HASDYNLINK=$(usex ocamlopt yes no) install
+ dosym zarith/libzarith.a /usr/$(get_libdir)/ocaml/libzarith.a
+ use doc && HTML_DOCS=( html/* )
+ einstalldocs
+}