summaryrefslogtreecommitdiff
path: root/dev-ml/onanomsg
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /dev-ml/onanomsg
reinit the tree, so we can have metadata
Diffstat (limited to 'dev-ml/onanomsg')
-rw-r--r--dev-ml/onanomsg/Manifest7
-rw-r--r--dev-ml/onanomsg/files/bigstring.patch218
-rw-r--r--dev-ml/onanomsg/files/testrun.patch15
-rw-r--r--dev-ml/onanomsg/files/tests.patch12
-rw-r--r--dev-ml/onanomsg/metadata.xml14
-rw-r--r--dev-ml/onanomsg/onanomsg-1.0-r1.ebuild50
6 files changed, 316 insertions, 0 deletions
diff --git a/dev-ml/onanomsg/Manifest b/dev-ml/onanomsg/Manifest
new file mode 100644
index 000000000000..7b805570267b
--- /dev/null
+++ b/dev-ml/onanomsg/Manifest
@@ -0,0 +1,7 @@
+AUX bigstring.patch 8867 SHA256 a268bca0ad7f82637d1cbd0c8cd14bb2759dfdc4948c2301304b813b4d407280 SHA512 b64e1f718f966bb34d1e9251cf2046a9489399796f37a83e88c00a053691f153032d6339150e5bf11ee937f3cf59e460eec94498fad3bd0be938622b3fc93032 WHIRLPOOL d139cab80e8e2d599644217ea0d70edc48db9df91d1889ec2e602f93ead90923316620e98290ac9e54fc723ace086e723b4ef46d7e22975874d1acc33514d5b6
+AUX testrun.patch 538 SHA256 fc9b944656c509cb4700ce68550cfea44a04cee4fa2f3a7de6c9d54cec849a5e SHA512 e91b4f0ad106ac5c2d46898d62c58dcc9a333a47fd46c506a166947d9526c88661a9692c733df841f161a07af71e7e5cb5ba894019c8a17c9af486ce4e84bbab WHIRLPOOL d7ee0552444188e322d156b22969c7a2c2db6fd09ece14545e89211a4bfa59fe34daa21d853e02537658f4965aeddcca96ec157adc1027a11cb1b1797b5e98a2
+AUX tests.patch 382 SHA256 5c3b680cd716665e150313d5b4fb3ded03a798881833ca63143daabe0ad6aa7d SHA512 543d1e47febd980cab47b5e1901c845cbf6fc39591ddf1b70ae1f3482a9499b8cb08b400907fa7059578377273e5e9565143ce8ad9a512f5e2a7a2a2fa989186 WHIRLPOOL f0ab6bc3af1a0d1c628e34d081c968fedb450d99be707868b5f55ffa116d9907f3fb00a276047b078a7187324ac2833bd2bc535a2a480332302fb81e1da137ce
+DIST onanomsg-1.0.tar.gz 13519 SHA256 d133f8998f8c2c655ce01664b3f64b741192af76ec7ac9486b2fa0be51f51f8b SHA512 d940f842f795c9d681755795f83694aceab23eb87c7cb66f2b8f643147ca58f30b43049e8c035e3f08392d9c2f611a75254d4ba999b337cc84d7b52f8f36218f WHIRLPOOL 9f5b992cc7c1fc4d92b5aec0db2a8cfebb69da34accd13dc0193adbbeebfd4ca5f163ac61b6ccbb44f440a998fd4a0d6ede35b16fe82d5c0305f16f4728a8747
+EBUILD onanomsg-1.0-r1.ebuild 1098 SHA256 be8520314e70bff061eac02482220e572a41fb02d6c4c480ba706f4bae0dc8eb SHA512 bc44ace7fe8c8c15f82e6b63464f73c0ee2ad0bd30c888216c95a6cdd7b316f5632df591eed6b3284658f4c575a3701a1104b1c0fbe88dd3231eb4d917732269 WHIRLPOOL ded51318bb9a8c9b24b60f9ec8857f06b2561491563ccb11652aa33bb59b1555df721ee639f3419bf06d775e79d0efb2ad4368382b87171e9766b70e147584a9
+MISC ChangeLog 321 SHA256 5113f728dccbf555fb3122c136202471e70d1098c0bcbf11009a20568655eefc SHA512 eaef624bb9d6f826269850fc3a0be748c1499c190c1e8a92c0117e0f6b558a0263676468ae4a825acc856d343924dfd776e254c620d1fec6b548f460b489195a WHIRLPOOL aad232e2e200fca757d23b1047185394bd438c1a341d89eeecb3ba741c36e14f2857415f75e10b2d26de8029fe6632fb02ac31f545106ccab09b396780f7ed34
+MISC metadata.xml 392 SHA256 a6a14c1a0d739b2e02d060f4c1626fab7bd6c10d15e603c51c205d05e243bc5d SHA512 12a4fbed87e735836701a952a145fc75a10ab333c06e1d465739d91db6a429e071f89399bc17e0367d2780bce7c7580344912e2afce51541334e8d5157477034 WHIRLPOOL 36e5df229bd9822c4a5e78a7d48bce5500286e851f93bfeb0ce47b1f2b8366993068b53a6dffad698cb2ee8c24920eb923a9f4eb109170667490efb65debbd31
diff --git a/dev-ml/onanomsg/files/bigstring.patch b/dev-ml/onanomsg/files/bigstring.patch
new file mode 100644
index 000000000000..311fa2ee7495
--- /dev/null
+++ b/dev-ml/onanomsg/files/bigstring.patch
@@ -0,0 +1,218 @@
+Index: onanomsg-1.0/lib/nanomsg.ml
+===================================================================
+--- onanomsg-1.0.orig/lib/nanomsg.ml
++++ onanomsg-1.0/lib/nanomsg.ml
+@@ -209,7 +209,7 @@ let recv_fd sock =
+ (Obj.magic fd : Unix.file_descr)
+
+ let send_bigstring_buf ?(block=true) sock buf pos len =
+- if pos < 0 || len < 0 || pos + len > CCBigstring.size buf
++ if pos < 0 || len < 0 || pos + len > Bigstring.size buf
+ then invalid_arg "bounds";
+ let nn_buf = nn_allocmsg (size_of_int len) 0 in
+ match nn_buf with
+@@ -218,12 +218,12 @@ let send_bigstring_buf ?(block=true) soc
+ let nn_buf_p = Ctypes.(allocate (ptr void) nn_buf) in
+ let ba = Ctypes.(bigarray_of_ptr array1 len
+ Bigarray.char @@ from_voidp char nn_buf) in
+- CCBigstring.blit buf pos ba 0 len;
++ Bigstring.blit buf pos ba 0 len;
+ ignore @@ raise_notequal len
+ (fun () -> nn_send sock nn_buf_p nn_msg (int_of_bool block))
+
+ let send_bigstring ?(block=true) sock buf =
+- send_bigstring_buf ~block sock buf 0 @@ CCBigstring.size buf
++ send_bigstring_buf ~block sock buf 0 @@ Bigstring.size buf
+
+ let send_bytes_buf ?(block=true) sock buf pos len =
+ if pos < 0 || len < 0 || pos + len > Bytes.length buf
+@@ -235,7 +235,7 @@ let send_bytes_buf ?(block=true) sock bu
+ let nn_buf_p = Ctypes.(allocate (ptr void) nn_buf) in
+ let ba = Ctypes.(bigarray_of_ptr array1 len
+ Bigarray.char @@ from_voidp char nn_buf) in
+- CCBigstring.blit_of_bytes buf pos ba 0 len;
++ Bigstring.blit_of_bytes buf pos ba 0 len;
+ ignore @@ raise_notequal len
+ (fun () -> nn_send sock nn_buf_p nn_msg (int_of_bool block))
+
+@@ -266,16 +266,16 @@ let recv ?(block=true) sock f =
+ let recv_bytes_buf ?(block=true) sock buf pos =
+ recv ~block sock
+ (fun ba ->
+- let len = CCBigstring.size ba in
+- CCBigstring.(blit_to_bytes ba 0 buf pos len);
++ let len = Bigstring.size ba in
++ Bigstring.(blit_to_bytes ba 0 buf pos len);
+ len
+ )
+
+ let recv_bytes ?(block=true) sock =
+ recv ~block sock (fun ba ->
+- let len = CCBigstring.size ba in
++ let len = Bigstring.size ba in
+ let buf = Bytes.create len in
+- CCBigstring.blit_to_bytes ba 0 buf 0 len;
++ Bigstring.blit_to_bytes ba 0 buf 0 len;
+ buf)
+
+ let recv_string ?(block=true) sock =
+Index: onanomsg-1.0/lib/nanomsg.mli
+===================================================================
+--- onanomsg-1.0.orig/lib/nanomsg.mli
++++ onanomsg-1.0/lib/nanomsg.mli
+@@ -45,8 +45,8 @@ val close : socket -> unit
+
+ (** {2 Zero-copy I/O} *)
+
+-val send_bigstring : ?block:bool -> socket -> CCBigstring.t -> unit
+-val send_bigstring_buf : ?block:bool -> socket -> CCBigstring.t -> int -> int -> unit
++val send_bigstring : ?block:bool -> socket -> Bigstring.t -> unit
++val send_bigstring_buf : ?block:bool -> socket -> Bigstring.t -> int -> int -> unit
+
+ val send_string : ?block:bool -> socket -> string -> unit
+ val send_string_buf : ?block:bool -> socket -> string -> int -> int -> unit
+@@ -54,7 +54,7 @@ val send_string_buf : ?block:bool -> soc
+ val send_bytes : ?block:bool -> socket -> Bytes.t -> unit
+ val send_bytes_buf : ?block:bool -> socket -> Bytes.t -> int -> int -> unit
+
+-val recv : ?block:bool -> socket -> (CCBigstring.t -> 'a) -> 'a
++val recv : ?block:bool -> socket -> (Bigstring.t -> 'a) -> 'a
+ (** [recv ?block sock f] applies [f] to the received message. The
+ argument of [f] gets unallocated after [f] returns, so make sure
+ [f] {b never} let a reference to its argument escape. *)
+Index: onanomsg-1.0/lib/nanomsg_lwt.ml
+===================================================================
+--- onanomsg-1.0.orig/lib/nanomsg_lwt.ml
++++ onanomsg-1.0/lib/nanomsg_lwt.ml
+@@ -25,7 +25,7 @@ let raise_negative sock io_event f = rai
+ let raise_notequal sock io_event v f = raise_if sock io_event (fun x -> x <> v) f
+
+ let send_bigstring_buf sock buf pos len =
+- if pos < 0 || len < 0 || pos + len > CCBigstring.size buf
++ if pos < 0 || len < 0 || pos + len > Bigstring.size buf
+ then invalid_arg "bounds";
+ let nn_buf = nn_allocmsg (size_of_int len) 0 in
+ match nn_buf with
+@@ -34,14 +34,14 @@ let send_bigstring_buf sock buf pos len
+ let nn_buf_p = Ctypes.(allocate (ptr void) nn_buf) in
+ let ba = Ctypes.(bigarray_of_ptr array1 len
+ Bigarray.char @@ from_voidp char nn_buf) in
+- CCBigstring.blit buf pos ba 0 len;
++ Bigstring.blit buf pos ba 0 len;
+ raise_notequal sock Lwt_unix.Write len
+ (fun () -> nn_send (Obj.magic sock : int) nn_buf_p nn_msg
+ Symbol.(value_of_name_exn "NN_DONTWAIT")) >|= fun nb_written ->
+ ignore nb_written
+
+ let send_bigstring sock buf =
+- send_bigstring_buf sock buf 0 @@ CCBigstring.size buf
++ send_bigstring_buf sock buf 0 @@ Bigstring.size buf
+
+ let send_bytes_buf sock buf pos len =
+ if pos < 0 || len < 0 || pos + len > Bytes.length buf
+@@ -53,7 +53,7 @@ let send_bytes_buf sock buf pos len =
+ let nn_buf_p = Ctypes.(allocate (ptr void) nn_buf) in
+ let ba = Ctypes.(bigarray_of_ptr array1 len
+ Bigarray.char @@ from_voidp char nn_buf) in
+- CCBigstring.blit_of_bytes buf pos ba 0 len;
++ Bigstring.blit_of_bytes buf pos ba 0 len;
+ raise_notequal sock Lwt_unix.Write len
+ (fun () -> nn_send (Obj.magic sock : int) nn_buf_p nn_msg
+ Symbol.(value_of_name_exn "NN_DONTWAIT")) >|= fun nb_written ->
+@@ -84,16 +84,16 @@ let recv sock f =
+
+ let recv_bytes_buf sock buf pos =
+ recv sock (fun ba ->
+- let len = CCBigstring.size ba in
+- CCBigstring.blit_to_bytes ba 0 buf pos len;
++ let len = Bigstring.size ba in
++ Bigstring.blit_to_bytes ba 0 buf pos len;
+ Lwt.return len
+ )
+
+ let recv_bytes sock =
+ recv sock (fun ba ->
+- let len = CCBigstring.size ba in
++ let len = Bigstring.size ba in
+ let buf = Bytes.create len in
+- CCBigstring.blit_to_bytes ba 0 buf 0 len;
++ Bigstring.blit_to_bytes ba 0 buf 0 len;
+ Lwt.return buf
+ )
+
+Index: onanomsg-1.0/lib/nanomsg_lwt.mli
+===================================================================
+--- onanomsg-1.0.orig/lib/nanomsg_lwt.mli
++++ onanomsg-1.0/lib/nanomsg_lwt.mli
+@@ -4,8 +4,8 @@ open Nanomsg
+
+ (** {2 Zero-copy I/O} *)
+
+-val send_bigstring : socket -> CCBigstring.t -> unit Lwt.t
+-val send_bigstring_buf : socket -> CCBigstring.t -> int -> int -> unit Lwt.t
++val send_bigstring : socket -> Bigstring.t -> unit Lwt.t
++val send_bigstring_buf : socket -> Bigstring.t -> int -> int -> unit Lwt.t
+
+ val send_string : socket -> string -> unit Lwt.t
+ val send_string_buf : socket -> string -> int -> int -> unit Lwt.t
+@@ -13,7 +13,7 @@ val send_string_buf : socket -> string -
+ val send_bytes : socket -> Bytes.t -> unit Lwt.t
+ val send_bytes_buf : socket -> Bytes.t -> int -> int -> unit Lwt.t
+
+-val recv : socket -> (CCBigstring.t -> 'a Lwt.t) -> 'a Lwt.t
++val recv : socket -> (Bigstring.t -> 'a Lwt.t) -> 'a Lwt.t
+ (** [recv sock f] applies [f] to the received message. The
+ argument of [f] gets unallocated after [f] returns, so make sure
+ [f] {b never} let a reference to its argument escape. *)
+Index: onanomsg-1.0/_tags
+===================================================================
+--- onanomsg-1.0.orig/_tags
++++ onanomsg-1.0/_tags
+@@ -4,7 +4,7 @@ true: debug, bin_annot, safe_string
+ <lwt>: include
+ <lib_test>: include
+
+-<lib/nanomsg*>: package(containers.bigarray), \
++<lib/nanomsg*>: package(bigstring), \
+ package(ctypes), \
+ package(ipaddr), \
+ package(ppx_deriving.std), \
+@@ -13,7 +13,7 @@ true: debug, bin_annot, safe_string
+
+ <lib/nanomsg_lwt.*>: package(lwt.unix), package(lwt.ppx)
+
+-<lib_test/*>: package(containers.bigarray), \
++<lib_test/*>: package(bigstring), \
+ package(ctypes.foreign), \
+ package(ipaddr), \
+ package(lwt.unix), \
+@@ -21,7 +21,7 @@ true: debug, bin_annot, safe_string
+ package(oUnit), \
+ package(containers)
+
+-<examples/*>: package(containers.bigarray), \
++<examples/*>: package(bigstring), \
+ package(ctypes.foreign), \
+ package(ipaddr), \
+- package(containers)
+\ No newline at end of file
++ package(containers)
+Index: onanomsg-1.0/pkg/META
+===================================================================
+--- onanomsg-1.0.orig/pkg/META
++++ onanomsg-1.0/pkg/META
+@@ -1,6 +1,6 @@
+ version = "1.0"
+ description = "Bindings to nanomsg"
+-requires = "ctypes.foreign ipaddr ppx_deriving.std containers containers.bigarray"
++requires = "ctypes.foreign ipaddr ppx_deriving.std containers bigstring"
+ archive(byte) = "nanomsg.cma"
+ archive(byte, plugin) = "nanomsg.cma"
+ archive(native) = "nanomsg.cmxa"
+@@ -15,4 +15,4 @@ package "lwt" (
+ archive(native) = "nanomsg_lwt.cmxa"
+ archive(native, plugin) = "nanomsg_lwt.cmxs"
+ exists_if = "nanomsg_lwt.cma"
+-)
+\ No newline at end of file
++)
diff --git a/dev-ml/onanomsg/files/testrun.patch b/dev-ml/onanomsg/files/testrun.patch
new file mode 100644
index 000000000000..e78dadaf3625
--- /dev/null
+++ b/dev-ml/onanomsg/files/testrun.patch
@@ -0,0 +1,15 @@
+Drop Surveyor / Respondant tests as they fail.
+
+Index: onanomsg-1.0/lib_test/suite.ml
+===================================================================
+--- onanomsg-1.0.orig/lib_test/suite.ml
++++ onanomsg-1.0/lib_test/suite.ml
+@@ -93,7 +93,7 @@ let connect_to_string_test ctx =
+
+ let socket_test ctx =
+ let domains = [AF_SP; AF_SP_RAW] in
+- let protos = [Pair; Pub; Sub; Req; Rep; Push; Pull; Surveyor; Respondant; Bus] in
++ let protos = [Pair; Pub; Sub; Req; Rep; Push; Pull; Bus] in
+ List.iter
+ (fun d ->
+ List.iter
diff --git a/dev-ml/onanomsg/files/tests.patch b/dev-ml/onanomsg/files/tests.patch
new file mode 100644
index 000000000000..f93d0ce51260
--- /dev/null
+++ b/dev-ml/onanomsg/files/tests.patch
@@ -0,0 +1,12 @@
+Index: onanomsg-1.0/_tags
+===================================================================
+--- onanomsg-1.0.orig/_tags
++++ onanomsg-1.0/_tags
+@@ -19,6 +19,7 @@ true: debug, bin_annot, safe_string
+ package(lwt.unix), \
+ package(lwt.ppx), \
+ package(oUnit), \
++ package(ppx_deriving), \
+ package(containers)
+
+ <examples/*>: package(bigstring), \
diff --git a/dev-ml/onanomsg/metadata.xml b/dev-ml/onanomsg/metadata.xml
new file mode 100644
index 000000000000..d59abf5ddf60
--- /dev/null
+++ b/dev-ml/onanomsg/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="project">
+ <email>ml@gentoo.org</email>
+ <name>Gentoo ML Project</name>
+ </maintainer>
+ <use>
+ <flag name="lwt">Enables lwt support.</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">rgrinberg/onanomsg</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-ml/onanomsg/onanomsg-1.0-r1.ebuild b/dev-ml/onanomsg/onanomsg-1.0-r1.ebuild
new file mode 100644
index 000000000000..7e74c530acf2
--- /dev/null
+++ b/dev-ml/onanomsg/onanomsg-1.0-r1.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit opam eutils
+
+DESCRIPTION="nanomsg bindings for OCaml"
+HOMEPAGE="https://github.com/rgrinberg/onanomsg"
+SRC_URI="https://github.com/rgrinberg/onanomsg/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="WTFPL-2"
+SLOT="0/${PV}-bigstring"
+KEYWORDS="~amd64"
+IUSE="+lwt +ocamlopt test"
+
+RDEPEND="
+ dev-libs/nanomsg:=
+ dev-lang/ocaml:=[ocamlopt?]
+ dev-ml/ocaml-ctypes:=
+ dev-ml/ocaml-ipaddr:=[ocamlopt?]
+ dev-ml/ppx_deriving:=[ocamlopt?]
+ dev-ml/ocaml-containers:=[ocamlopt?]
+ dev-ml/ocaml-bigstring:=
+ lwt? ( dev-ml/lwt:=[ocamlopt(+)?] )
+"
+DEPEND="${RDEPEND}
+ test? ( dev-ml/ounit )
+"
+
+src_prepare() {
+ epatch "${FILESDIR}/bigstring.patch" \
+ "${FILESDIR}/tests.patch" \
+ "${FILESDIR}/testrun.patch"
+ default
+}
+
+src_compile() {
+ ocaml pkg/build.ml \
+ native=$(usex ocamlopt true false) \
+ native-dynlink=$(usex ocamlopt true false) \
+ lwt=$(usex lwt true false) \
+ ounit=$(usex test true false) \
+ || die
+}
+
+src_install() {
+ opam_src_install nanomsg
+ dodoc CHANGES README.md
+}