aboutsummaryrefslogtreecommitdiff
path: root/dev-ml
diff options
context:
space:
mode:
authorSamuel Bernardo <samuelbernardo.mail@gmail.com>2020-01-12 21:08:22 +0000
committerSamuel Bernardo <samuelbernardo.mail@gmail.com>2020-01-12 21:08:22 +0000
commitd47b7a507ab34622004a7ca5aa87a029c3631a5b (patch)
tree7f5b9ad1f97773fdf8e509fe561a95c6663c1b46 /dev-ml
parentDisable fpermissive flag for qmake as a gcc-9 dependency (diff)
downloadssnb-d47b7a507ab34622004a7ca5aa87a029c3631a5b.tar.gz
ssnb-d47b7a507ab34622004a7ca5aa87a029c3631a5b.tar.bz2
ssnb-d47b7a507ab34622004a7ca5aa87a029c3631a5b.zip
Add necessary libs and updates for ocaml libs that are required for building gentoo tree
Signed-off-by: Samuel Bernardo <samuelbernardo.mail@gmail.com>
Diffstat (limited to 'dev-ml')
-rw-r--r--dev-ml/camomile/Manifest7
-rw-r--r--dev-ml/camomile/camomile-1.0.2.ebuild46
-rw-r--r--dev-ml/camomile/files/Makefile-1.0.2.patch19
-rw-r--r--dev-ml/camomile/files/camomile-1.0.2.patch172
-rw-r--r--dev-ml/camomile/files/dune-workspace-1.0.2.patch17
-rw-r--r--dev-ml/camomile/files/ocaml405.patch40
-rw-r--r--dev-ml/camomile/metadata.xml8
-rw-r--r--dev-ml/dune/Manifest3
-rw-r--r--dev-ml/dune/dune-1.11.4.ebuild37
-rw-r--r--dev-ml/dune/metadata.xml8
-rw-r--r--dev-ml/ocaml-fileutils/Manifest4
-rw-r--r--dev-ml/ocaml-fileutils/files/ocaml-fileutils-0.6.1.patch32
-rw-r--r--dev-ml/ocaml-fileutils/metadata.xml5
-rw-r--r--dev-ml/ocaml-fileutils/ocaml-fileutils-0.6.1.ebuild40
-rw-r--r--dev-ml/ocaml-gettext/Manifest3
-rw-r--r--dev-ml/ocaml-gettext/metadata.xml8
-rw-r--r--dev-ml/ocaml-gettext/ocaml-gettext-0.4.1.ebuild52
17 files changed, 501 insertions, 0 deletions
diff --git a/dev-ml/camomile/Manifest b/dev-ml/camomile/Manifest
new file mode 100644
index 0000000..c5ed208
--- /dev/null
+++ b/dev-ml/camomile/Manifest
@@ -0,0 +1,7 @@
+AUX Makefile-1.0.2.patch 510 BLAKE2B 21bf4c1e3b438cd34d856e8e2e52e0e3eba946558d71c3b7d16d508d4007cfa76f0b7df2847b167ab8d006972aafd9239c7606e888f02a4a421e4edd5cb82b84 SHA512 fe5d54ce9adff35fcc79dbfb689bc1b693f7aba3c34422898ef1d95c7d1681521f1f89b8c3ffe9bc8c6e8b34d22e043b5ad60dea62feeddcfb447a5f37fc17c3
+AUX camomile-1.0.2.patch 7948 BLAKE2B f0996e59b044eed564b31c584dc89261f5fddec756b02064b076bb67d5dc5abf37d38b5f106e75f016f2b53b4b34736c59128023c818c70d0dfc8568862307d7 SHA512 2caf7f092c4551e3ae4dadad79c1d642ebac13586813e61327646ea189e06a213c29ab165c4a133edfa1e3682dab16d63c2a8860481670b2e684d4c3a1db33be
+AUX dune-workspace-1.0.2.patch 636 BLAKE2B dd14a40018ceec5724b522db5453d3168158b476a518baa978cd61487d072c114fa90d7bd0a293f4c81b89f5bc044aa68a6ee14d9462b6f1b9f5e8d1055eeb67 SHA512 fd9cedc474860eacdb4cc60f83acfa6c9e00368226bb191ddd5f2c156f7852281f21b33b438f6d10c9f114c235e8e0e276c02552e9d14ad75753cc5b823c1729
+AUX ocaml405.patch 1469 BLAKE2B 06ef619b7dd82b584e192eea1818de0b95e5005a9c5492bd2c8ee4430728a6577b0f125e63ba483d40593f08ec7e885e279bbf815896d1b36d4177910a95f9bf SHA512 b8951a401ee8b4c4e49e4a144c6ea5e0cc3c50ab62c95f34a4766fd46a4a93d9eea13c5d30b00eabaee00d70a3cc82a8251d110e622e00c623c8467867cc95ba
+DIST camomile-1.0.2.tbz 4827699 BLAKE2B 34e1e5ee9e2f218fbc14a162f9e647405f308e3008a9697d98de9a6b0b80e8fc47964df66b505570f98d5aff551255366d853e892dd2382670d69bdcb1182a35 SHA512 7586422e68779476206027c6ebbe19b677fbe459153221f7c952c7fae374c5c8232249cb76fdb1f482069707aa1580be827cd39693906142988268b7f0e7f6d0
+EBUILD camomile-1.0.2.ebuild 977 BLAKE2B 09c90e8dbef2925b9e4cb2af7d3000fab452ec058ce447ba59efe1bf5ec9b21d859d237fa8a1b845e556f307326b154cf6543ef19e1728effb006ab7c48e1715 SHA512 a8b5d71d26aedf9056b1405423e28edd5c10d4f42f7f9c36b18979f3334c8ae5e37072d2e7c36dd3d17ffe4433336cf84054ee68065c8bb9752ebaec3cf6ccac
+MISC metadata.xml 254 BLAKE2B 659f90317098f9ca6081145d61e53c8f7848dd0ef86b61b73f1c4c9362495a0704e02dacaaf53533dd92ace5ad0974c39abf0fb9d45dca258f4f58476931d43e SHA512 287ad112c67330f5f9f3c6e534b1d4f46d446c5b0469bddd58f9da886d02a243b8dd215ab36af9e2b1a100186d6f7ac61e988dbe62defc5cd31450ae38c24d40
diff --git a/dev-ml/camomile/camomile-1.0.2.ebuild b/dev-ml/camomile/camomile-1.0.2.ebuild
new file mode 100644
index 0000000..f014a53
--- /dev/null
+++ b/dev-ml/camomile/camomile-1.0.2.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2020 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit findlib eutils
+
+DESCRIPTION="Camomile is a comprehensive Unicode library for ocaml"
+SRC_URI="https://github.com/yoriyuki/Camomile/releases/download/${PV}/${P}.tbz"
+
+LICENSE="LGPL-2"
+SLOT="0/${PV}"
+KEYWORDS="amd64 ppc x86"
+IUSE="+ocamlopt"
+
+RDEPEND="
+ >=dev-lang/ocaml-4.02.3:=[ocamlopt?]
+ dev-ml/camlp4:=
+"
+DEPEND="
+ ${RDEPEND}
+ >=dev-ml/dune-1.11.4
+ "
+
+src_prepare() {
+# has_version '>=dev-lang/ocaml-4.05_beta' && epatch "${FILESDIR}/ocaml405.patch"
+ epatch "${FILESDIR}/dune-workspace-${PV}.patch"
+ epatch "${FILESDIR}/Makefile-${PV}.patch"
+ epatch "${FILESDIR}/${P}.patch"
+ eapply_user
+}
+
+#src_configure() {
+# econf $(use_enable debug)
+#}
+
+src_compile() {
+ #emake -j1 all-supported-ocaml-versions
+ emake -j1 build
+}
+
+src_install() {
+ dodir /usr/bin
+ emake PREFIX=${ED} install
+ findlib_src_install DATADIR="${ED}/usr/share" BINDIR="${ED}/usr/bin"
+}
diff --git a/dev-ml/camomile/files/Makefile-1.0.2.patch b/dev-ml/camomile/files/Makefile-1.0.2.patch
new file mode 100644
index 0000000..7737f6c
--- /dev/null
+++ b/dev-ml/camomile/files/Makefile-1.0.2.patch
@@ -0,0 +1,19 @@
+diff -Naur a/Makefile b/Makefile
+--- a/Makefile 2019-08-08 08:10:33.000000000 +0100
++++ b/Makefile 2020-01-12 18:18:24.460374975 +0000
+@@ -3,6 +3,9 @@
+ all:
+ dune build @install
+
++build:
++ dune build
++
+ install:
+ dune install $(INSTALL_ARGS)
+
+@@ -21,4 +24,4 @@
+ all-supported-ocaml-versions:
+ dune build --workspace dune-workspace.dev
+
+-.PHONY: all-supported-ocaml-versions all install uninstall reinstall test clean
++.PHONY: all-supported-ocaml-versions all build install uninstall reinstall test clean
diff --git a/dev-ml/camomile/files/camomile-1.0.2.patch b/dev-ml/camomile/files/camomile-1.0.2.patch
new file mode 100644
index 0000000..ac6e89d
--- /dev/null
+++ b/dev-ml/camomile/files/camomile-1.0.2.patch
@@ -0,0 +1,172 @@
+diff -Naur a/Camomile/internal/byte_labeled_dag.ml b/Camomile/internal/byte_labeled_dag.ml
+--- a/Camomile/internal/byte_labeled_dag.ml 2019-08-08 08:10:33.000000000 +0100
++++ b/Camomile/internal/byte_labeled_dag.ml 2020-01-12 18:28:47.618918498 +0000
+@@ -87,7 +87,7 @@
+ branch.(Char.code c') <- Some node;
+ scan d c leaf branch rest
+ in
+- let comp (s1, _) (s2, _) = Pervasives.compare s1 s2 in
++ let comp (s1, _) (s2, _) = Stdlib.compare s1 s2 in
+ let vs = List.sort comp vs in
+ match vs with
+ (_, _) :: _ ->
+diff -Naur a/Camomile/public/charEncoding.ml b/Camomile/public/charEncoding.ml
+--- a/Camomile/public/charEncoding.ml 2019-08-08 08:10:33.000000000 +0100
++++ b/Camomile/public/charEncoding.ml 2020-01-12 18:28:47.632918083 +0000
+@@ -131,12 +131,12 @@
+ {!OOChannel.obj_output_channel} which
+ receives Unicode characters and outputs them to [outchan] using
+ the encoding [enc]. *)
+- class out_channel : t -> Pervasives.out_channel -> [UChar.t] obj_output_channel
++ class out_channel : t -> Stdlib.out_channel -> [UChar.t] obj_output_channel
+
+ (** [new in_channel enc inchan] creates the intput channel object
+ {!OOChannel.obj_input_channel} which
+ reads bytes from [inchan] and converts them to Unicode characters. *)
+- class in_channel : t -> Pervasives.in_channel -> [UChar.t] obj_input_channel
++ class in_channel : t -> Stdlib.in_channel -> [UChar.t] obj_input_channel
+
+ (** [ustream_of enc chars] converts the byte stream [chars]
+ to the Unicode character stream by the encoding [enc]. *)
+diff -Naur a/Camomile/public/charEncoding.mli b/Camomile/public/charEncoding.mli
+--- a/Camomile/public/charEncoding.mli 2019-08-08 08:10:33.000000000 +0100
++++ b/Camomile/public/charEncoding.mli 2020-01-12 18:28:45.995966579 +0000
+@@ -130,12 +130,12 @@
+ {!OOChannel.obj_output_channel} which
+ receives Unicode characters and outputs them to [outchan] using
+ the encoding [enc]. *)
+- class out_channel : t -> Pervasives.out_channel -> [UChar.t] obj_output_channel
++ class out_channel : t -> Stdlib.out_channel -> [UChar.t] obj_output_channel
+
+ (** [new in_channel enc inchan] creates the intput channel object
+ {!OOChannel.obj_input_channel} which
+ reads bytes from [inchan] and converts them to Unicode characters. *)
+- class in_channel : t -> Pervasives.in_channel -> [UChar.t] obj_input_channel
++ class in_channel : t -> Stdlib.in_channel -> [UChar.t] obj_input_channel
+
+ (** [ustream_of enc chars] converts the byte stream [chars]
+ to the Unicode character stream by the encoding [enc]. *)
+diff -Naur a/Camomile/public/oOChannel.mli b/Camomile/public/oOChannel.mli
+--- a/Camomile/public/oOChannel.mli 2019-08-08 08:10:33.000000000 +0100
++++ b/Camomile/public/oOChannel.mli 2020-01-12 18:28:45.996966549 +0000
+@@ -113,7 +113,7 @@
+ [char] obj_output_channel
+
+ (** Convert an OCaml input channel to an OO-based character input channel *)
+-class of_in_channel : Pervasives.in_channel -> char_input_channel
++class of_in_channel : Stdlib.in_channel -> char_input_channel
+
+ (** Convert an OCaml output channel to an OO-based character output channel *)
+-class of_out_channel : Pervasives.out_channel -> char_output_channel
++class of_out_channel : Stdlib.out_channel -> char_output_channel
+diff -Naur a/Camomile/public/uCol.ml b/Camomile/public/uCol.ml
+--- a/Camomile/public/uCol.ml 2019-08-08 08:10:33.000000000 +0100
++++ b/Camomile/public/uCol.ml 2020-01-12 18:28:47.638917905 +0000
+@@ -52,14 +52,14 @@
+ If [prec] is omitted, the maximum possible strength is used.
+ If [variable] is omitted, the default of the locale
+ (usually [`Shifted]) is used.
+- The meaning of the returned value is similar to Pervasives.compare *)
++ The meaning of the returned value is similar to Stdlib.compare *)
+ val compare :
+ ?locale:string -> ?prec:precision -> ?variable:variable_option ->
+ text -> text -> int
+
+ (** Binary comparison of sort_key gives the same result as [compare].
+ i.e.
+- [compare t1 t2 = Pervasives.compare (sort_key t1) (sort_key t2)]
++ [compare t1 t2 = Stdlib.compare (sort_key t1) (sort_key t2)]
+ If the same texts are repeatedly compared,
+ pre-computation of sort_key gives better performance. *)
+ val sort_key :
+@@ -731,7 +731,7 @@
+ | _ ->
+ let key1 = key_of_inc prec col_info x1 in
+ let key2 = key_of_inc prec col_info x2 in
+- Pervasives.compare key1 key2
++ Stdlib.compare key1 key2
+
+ let compare ?locale ?prec ?variable t1 t2 =
+ let col_info =
+@@ -782,7 +782,7 @@
+ | _ ->
+ let key = key_of_inc prec col_info x in
+ (* Printf.printf "key_of_inc %s\n" (String.escaped key);*)
+- Pervasives.compare k key
++ Stdlib.compare k key
+
+ let compare_with_key ?locale ?prec ?variable k t =
+ let col_info =
+diff -Naur a/Camomile/public/uCS4.ml b/Camomile/public/uCS4.ml
+--- a/Camomile/public/uCS4.ml 2019-08-08 08:10:33.000000000 +0100
++++ b/Camomile/public/uCS4.ml 2020-01-12 18:28:47.635917994 +0000
+@@ -140,5 +140,5 @@
+
+ let compare (a:t) (b:t) =
+ match Array1.dim a - Array1.dim b with
+- 0 -> Pervasives.compare a b
++ 0 -> Stdlib.compare a b
+ | sgn -> sgn
+diff -Naur a/Camomile/public/uTF8.ml b/Camomile/public/uTF8.ml
+--- a/Camomile/public/uTF8.ml 2019-08-08 08:10:33.000000000 +0100
++++ b/Camomile/public/uTF8.ml 2020-01-12 18:28:47.642917787 +0000
+@@ -194,7 +194,7 @@
+
+ let iter proc s = iter_aux proc s 0
+
+-let compare s1 s2 = Pervasives.compare s1 s2
++let compare s1 s2 = Stdlib.compare s1 s2
+
+ exception Malformed_code
+
+diff -Naur a/Camomile/toolslib/absCe.ml b/Camomile/toolslib/absCe.ml
+--- a/Camomile/toolslib/absCe.ml 2019-08-08 08:10:33.000000000 +0100
++++ b/Camomile/toolslib/absCe.ml 2020-01-12 18:28:47.648917609 +0000
+@@ -49,7 +49,7 @@
+ | `FirstImplicit
+ | `FirstTrailing ]
+
+-module Elt = struct type t = elt let compare = Pervasives.compare end
++module Elt = struct type t = elt let compare = Stdlib.compare end
+ module EltMap = Map.Make (Elt)
+
+ type ce = AbsOrd.point * AbsOrd.point * AbsOrd.point
+diff -Naur a/camomile-test/tester/test_uCol.ml b/camomile-test/tester/test_uCol.ml
+--- a/camomile-test/tester/test_uCol.ml 2019-08-08 08:10:33.000000000 +0100
++++ b/camomile-test/tester/test_uCol.ml 2020-01-12 18:28:47.655917402 +0000
+@@ -11,7 +11,7 @@
+ if i >= UText.length t1 then
+ if i >= UText.length t2 then 0 else ~-1
+ else if i >= UText.length t2 then 1 else
+- match Pervasives.compare (UText.get t1 i) (UText.get t2 i) with
++ match Stdlib.compare (UText.get t1 i) (UText.get t2 i) with
+ 0 -> lex_compare_aux (i + 1) t1 t2
+ | sgn -> sgn
+
+@@ -189,7 +189,7 @@
+ if Str.string_match comment_pat line 0 then () else
+ let key = UTF8Comp.sort_key ?variable ~locale line in
+ let sgn = sgn_of (UTF8Comp.compare ?variable ~locale !prev line) in
+- let sgn1 = sgn_of (Pervasives.compare !prev_key key) in
++ let sgn1 = sgn_of (Stdlib.compare !prev_key key) in
+ let sgn2 = sgn_of
+ (UTF8Comp.compare_with_key ?variable ~locale !prev_key line) in
+ let sgn3 = - sgn_of
+@@ -264,7 +264,7 @@
+ | t :: rest ->
+ let key = UTF8Comp.sort_key ?variable ~locale t in
+ let sgn = sgn_of (UTF8Comp.compare ?variable ~locale prev t) in
+- let sgn1 = sgn_of (Pervasives.compare prev_key key) in
++ let sgn1 = sgn_of (Stdlib.compare prev_key key) in
+ let sgn2 = sgn_of
+ (UTF8Comp.compare_with_key ?variable ~locale prev_key t) in
+ let sgn3 = - sgn_of
+@@ -305,7 +305,7 @@
+ t
+ (print_text_utf8 t)
+ (String.escaped key)))
+- (Pervasives.compare prev t <= 0);
++ (Stdlib.compare prev t <= 0);
+ expect_true
+ ~msg:(lazy (sprintf
+ "The comparison results differ\n\
diff --git a/dev-ml/camomile/files/dune-workspace-1.0.2.patch b/dev-ml/camomile/files/dune-workspace-1.0.2.patch
new file mode 100644
index 0000000..80f6dc0
--- /dev/null
+++ b/dev-ml/camomile/files/dune-workspace-1.0.2.patch
@@ -0,0 +1,17 @@
+diff -Naur a/dune-workspace.dev b/dune-workspace.dev
+--- a/dune-workspace.dev 2019-08-08 08:10:33.000000000 +0100
++++ b/dune-workspace.dev 2020-01-12 13:23:23.967279838 +0000
+@@ -1,3 +1,5 @@
++(lang dune 1.0)
++
+ ;; This file is used by `make all-supported-ocaml-versions`
+ (context ((switch 4.02.3)))
+ (context ((switch 4.03.0)))
+diff -Naur a/dune-workspace.dev b/dune-workspace.dev
+--- a/dune-workspace.dev 2020-01-12 13:33:56.769361114 +0000
++++ b/dune-workspace.dev 2020-01-12 13:36:31.076744402 +0000
+@@ -6,3 +6,4 @@
+ (context ((switch 4.04.2)))
+ (context ((switch 4.05.0)))
+ (context ((switch 4.06.1)))
++(context ((switch 4.09.0)))
diff --git a/dev-ml/camomile/files/ocaml405.patch b/dev-ml/camomile/files/ocaml405.patch
new file mode 100644
index 0000000..3fec695
--- /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 0000000..e037be5
--- /dev/null
+++ b/dev-ml/camomile/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-needed -->
+ <upstream>
+ <remote-id type="github">yoriyuki/Camomile</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-ml/dune/Manifest b/dev-ml/dune/Manifest
new file mode 100644
index 0000000..497c50c
--- /dev/null
+++ b/dev-ml/dune/Manifest
@@ -0,0 +1,3 @@
+DIST dune-1.11.4.tar.gz 849090 BLAKE2B 4dace2d998dd00dd8fd51fef6bf0048fd7d0c7941794b4c775f8a1a6c8f694af52ebae2bee17fb531b3f4332fe49167422508a91efcbda61f5420ffee7e89750 SHA512 0afd7ba4d66ba742b6485546d6b7e07096f38f516c12c4fc506a151b6fc97805859d736fee3a0a5dcf8008af0e2a678f1fe7286f6d0a941c999f7d3d5b9a9ccb
+EBUILD dune-1.11.4.ebuild 767 BLAKE2B 0cf0578ebc84eabf14623dfc78c1df49d02be6f377b9763978b793ee70c00b0f79b8186c0df8e2caa7ea2424a8f537d1b2ca8850709b498e000dadacc3eaf66b SHA512 7e1dc0b0524f9e0bd85e6bdd902f99dbb54567f07b8d9ccbed3768427b7f98179093c6ab531750ff0a2f831a3ec926c435fd91d1f220c8fda9beb60db341224b
+MISC metadata.xml 242 BLAKE2B cf769ef02b6c4a44259c41bd7d8a6ff26667ab728d194a15597388e9d7c651c0564b04e464dee09aea2a15e0086375444d2227171b6f7a0c5e62d85e7a27282c SHA512 8293ffa247118ebab6925fec47f3d66bfebde1d25b101c57458d11ffaead3a70cf1fe9f1ed6e028b6ff2c769047966fdd673aee0296fa8ccf91c02e005dfb41e
diff --git a/dev-ml/dune/dune-1.11.4.ebuild b/dev-ml/dune/dune-1.11.4.ebuild
new file mode 100644
index 0000000..ccf8f9e
--- /dev/null
+++ b/dev-ml/dune/dune-1.11.4.ebuild
@@ -0,0 +1,37 @@
+# Copyright 2019 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_compile() {
+ ocaml bootstrap.ml || die
+ ./boot.exe -j $(makeopts_jobs) || die
+}
+
+src_install() {
+ default
+ mv "${D}"/usr/doc "${D}"/usr/share/doc/${PF}
+ mv "${D}"/usr/man "${D}"/usr/share/man
+}
diff --git a/dev-ml/dune/metadata.xml b/dev-ml/dune/metadata.xml
new file mode 100644
index 0000000..4e0f053
--- /dev/null
+++ b/dev-ml/dune/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-needed -->
+ <upstream>
+ <remote-id type="github">ocaml/dune</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-ml/ocaml-fileutils/Manifest b/dev-ml/ocaml-fileutils/Manifest
new file mode 100644
index 0000000..09a192d
--- /dev/null
+++ b/dev-ml/ocaml-fileutils/Manifest
@@ -0,0 +1,4 @@
+AUX ocaml-fileutils-0.6.1.patch 1056 BLAKE2B 9e1a7ae69c7051c4b09971b4f71c0641558ac8642ab058047f9b776f3566f9a5ede57615f470f8db9fc6891a6df8dde963135c2284131aaa1e6f495585d4c3f2 SHA512 8a224521158c033ffb472e4506fd9bd9e789d37d5bc5dec3545bfa04a134ffb7f066b0ed19726196641417fb39ef05f2bb03ad787b0a30ba22ff465f3c4f3a45
+DIST v0.6.1.tar.gz 76173 BLAKE2B ecb214ee3fa94bf8f5d8739ec5bce02b4eee48e1b7d3185a8d5514f9daf07c460bac1634d20df684a22733b385fd7f2a207f69ac5c5f5bb24690097db0bfd02a SHA512 87634a698b21269902baad9eb54527db89be5ecf028003dc35b06b1605854375baa46e19536e5f5540e8046538d2a5a67c09fe5a779b5c4a699f778abb833981
+EBUILD ocaml-fileutils-0.6.1.ebuild 890 BLAKE2B 80fe5a85fe784b552d4ff5a7d8b10a992e4c7b4c5cb7afa7970c854bddb4d40927fecb652126b47204c826e7f82bf15bb0291bcb9786f3d6a0cf9642364dd545 SHA512 0b24cfa172c5ba6ec7592b20957c56fe10afd2e3aa92ce048d1eaefdd3279a81ce5157af2651f1ae30bac3a8c0ca79c646ea1c7d68c1da2778c839f882860126
+MISC metadata.xml 166 BLAKE2B c254f1fb642881aba57637be14fb0a89b10384f91a128feaec3a8c870d76efc2cbacb92caccc0dee2dd19a5ac5eaf8643080dafa05c4e2ac96a68568927e5afd SHA512 a56648c974a1d14dd4c18237532773c72057a13ab90c58b5da04f185e3c12a8bd8d5c21fb06053507f31766291a82dc7d87b34cd65fd94cfe2af7295c813ef84
diff --git a/dev-ml/ocaml-fileutils/files/ocaml-fileutils-0.6.1.patch b/dev-ml/ocaml-fileutils/files/ocaml-fileutils-0.6.1.patch
new file mode 100644
index 0000000..06ae703
--- /dev/null
+++ b/dev-ml/ocaml-fileutils/files/ocaml-fileutils-0.6.1.patch
@@ -0,0 +1,32 @@
+diff -Naur a/fileutils.opam b/fileutils.opam
+--- a/fileutils.opam 2019-09-14 01:08:31.000000000 +0100
++++ b/fileutils.opam 2020-01-12 19:24:24.418870965 +0000
+@@ -16,7 +16,6 @@
+ "ocaml"
+ "base-unix"
+ "base-bytes"
+- "stdlib-shims"
+ "dune" {build & >= "1.11.0"}
+ "ounit" {with-test & >= "2.0.0"}
+ ]
+diff -Naur a/src/dune b/src/dune
+--- a/src/dune 2019-09-14 01:08:31.000000000 +0100
++++ b/src/dune 2020-01-12 19:25:02.219748368 +0000
+@@ -8,7 +8,7 @@
+ fileUtilCHMOD fileUtilTEST fileUtilPWD fileUtilREADLINK fileUtilWHICH
+ fileUtilMKDIR fileUtilTOUCH fileUtilFIND fileUtilRM fileUtilCP fileUtilMV
+ fileUtilCMP fileUtilDU fileUtilLS)
+- (libraries unix bytes stdlib-shims))
++ (libraries unix bytes))
+
+ (library
+ (name fileutils_str)
+diff -Naur a/test/dune b/test/dune
+--- a/test/dune 2019-09-14 01:08:31.000000000 +0100
++++ b/test/dune 2020-01-12 19:25:12.520442463 +0000
+@@ -6,4 +6,4 @@
+ (test
+ (name test)
+ (modules test)
+- (libraries fileutils fileutils_str oUnit stdlib-shims))
++ (libraries fileutils fileutils_str oUnit))
diff --git a/dev-ml/ocaml-fileutils/metadata.xml b/dev-ml/ocaml-fileutils/metadata.xml
new file mode 100644
index 0000000..6f49eba
--- /dev/null
+++ b/dev-ml/ocaml-fileutils/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<!-- maintainer-needed -->
+</pkgmetadata>
diff --git a/dev-ml/ocaml-fileutils/ocaml-fileutils-0.6.1.ebuild b/dev-ml/ocaml-fileutils/ocaml-fileutils-0.6.1.ebuild
new file mode 100644
index 0000000..efc7a12
--- /dev/null
+++ b/dev-ml/ocaml-fileutils/ocaml-fileutils-0.6.1.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2020 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit findlib eutils autotools
+
+DESCRIPTION="Pure OCaml functions to manipulate real file (POSIX like) and filename"
+HOMEPAGE="http://forge.ocamlcore.org/projects/ocaml-fileutils"
+SRC_URI="https://github.com/gildor478/ocaml-fileutils/archive/v${PV}.tar.gz"
+
+LICENSE="LGPL-2.1-with-linking-exception"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND=">=dev-lang/ocaml-3.12.1:=
+ >=dev-ml/camomile-0.8.3:=
+ "
+DEPEND="${RDEPEND}
+ >=dev-ml/ounit-2.0.0"
+
+src_prepare() {
+ epatch "${FILESDIR}/${P}.patch"
+ eapply_user
+}
+
+src_compile() {
+ emake -j1 build all
+}
+
+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
+}
diff --git a/dev-ml/ocaml-gettext/Manifest b/dev-ml/ocaml-gettext/Manifest
new file mode 100644
index 0000000..12747fc
--- /dev/null
+++ b/dev-ml/ocaml-gettext/Manifest
@@ -0,0 +1,3 @@
+DIST ocaml-gettext-0.4.1.tar.gz 110046 BLAKE2B 814c67ce6493f7ab18eff154911a5d7b3aff8349648ad7a2d46f199dec450f00b17ef1b46f67ec079d1408d72a8881b0c0027d2b7f9dd7a5d40ff8efeced8c3f SHA512 52a48cdd00e16dcf3c191d400930e88c144c119eb730bfa825ad269f9a6785d5833f13cb32da3de544a12bfff104da78adec27a8172425f4b8fce6d05821ec31
+EBUILD ocaml-gettext-0.4.1.ebuild 1138 BLAKE2B 9b09935c69d7d8d99d4cd9692652f7c6e48b59144efce8b15e8511e63d85f4dca7ac314318bd61672f8187aa9035ba226ac0538beabfa11a09946af4131d55c8 SHA512 8ca058b62ca8591d8e3448a28a429ce557a91b45ed676d7f040030562ce117decf68ed17b00a8d409f29b127f21f29629a637dbbd9977015921856d57323a602
+MISC metadata.xml 255 BLAKE2B 9f20991c7f1da432327bc91492493455f3a029b147991795fe5e5eca1842a70342e85957766de7c6781a64f2fef770d1c8fcee6da23d87df6c5aed04cad21fbd SHA512 fbc3e6b159b378b12c4ba12e0dcf1dcf86aba2029af9959c244a9da1b4264dda7a1ff8c18655400b966bba88fcf26ba04ee371ede500e0c0c6bfc45350e954d5
diff --git a/dev-ml/ocaml-gettext/metadata.xml b/dev-ml/ocaml-gettext/metadata.xml
new file mode 100644
index 0000000..477fb23
--- /dev/null
+++ b/dev-ml/ocaml-gettext/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-needed -->
+ <upstream>
+ <remote-id type="github">gildor478/ocaml-gettext</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-ml/ocaml-gettext/ocaml-gettext-0.4.1.ebuild b/dev-ml/ocaml-gettext/ocaml-gettext-0.4.1.ebuild
new file mode 100644
index 0000000..a400273
--- /dev/null
+++ b/dev-ml/ocaml-gettext/ocaml-gettext-0.4.1.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+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/v${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 )"
+IUSE=""
+
+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 )"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ eapply_user
+}
+
+src_configure() {
+ :
+}
+
+src_compile() {
+ emake -j1 build
+}
+
+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
+
+ #findlib_src_install DATADIR="${ED}/usr/share" BINDIR="${ED}/usr/bin"
+}