commit: 5dd6f2696efea4bb767e27f31cd0bfe8d6d02e83 Author: Alexis Ballier <aballier <AT> gentoo <DOT> org> AuthorDate: Sun May 1 15:46:49 2016 +0000 Commit: Alexis Ballier <aballier <AT> gentoo <DOT> org> CommitDate: Tue May 3 09:13:52 2016 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5dd6f269
dev-ml/ocamlnet: fix build with ocaml 4.03 Package-Manager: portage-2.2.28 Signed-off-by: Alexis Ballier <aballier <AT> gentoo.org> dev-ml/ocamlnet/files/oc43.patch | 84 +++++++++++++++++++++++++++++++++++ dev-ml/ocamlnet/ocamlnet-4.1.1.ebuild | 4 ++ 2 files changed, 88 insertions(+) diff --git a/dev-ml/ocamlnet/files/oc43.patch b/dev-ml/ocamlnet/files/oc43.patch new file mode 100644 index 0000000..93c6d3e --- /dev/null +++ b/dev-ml/ocamlnet/files/oc43.patch @@ -0,0 +1,84 @@ +commit 0893920618cec4885b1633fd2f81de84e7a8be72 +Author: Gerd Stolpmann <g...@gerd-stolpmann.de> +Date: Sun May 1 13:24:22 2016 +0200 + + Fixes for building against OCaml-4.03 + +diff --git a/code/src/equeue/uq_engines_compat.ml b/code/src/equeue/uq_engines_compat.ml +index 512811a..e779410 100644 +--- a/code/src/equeue/uq_engines_compat.ml ++++ b/code/src/equeue/uq_engines_compat.ml +@@ -7,7 +7,8 @@ class type server_socket_acceptor = server_endpoint_acceptor + class type client_socket_connector = client_endpoint_connector + + +-exception Mem_not_supported = Uq_multiplex.Mem_not_supported ++(* exception Mem_not_supported = Uq_multiplex.Mem_not_supported *) ++(* already included from Uq_engines *) + + let create_multiplex_controller_for_connected_socket = + Uq_multiplex.create_multiplex_controller_for_connected_socket +diff --git a/code/src/netstring/netasn1.ml b/code/src/netstring/netasn1.ml +index 05d5d3a..4cada35 100644 +--- a/code/src/netstring/netasn1.ml ++++ b/code/src/netstring/netasn1.ml +@@ -437,7 +437,7 @@ module Value = struct + let hour = int_of_string (Netstring_str.matched_group m 4 s) in + let minute = int_of_string (Netstring_str.matched_group m 5 s) in + let second = int_of_string (Netstring_str.matched_group m 6 s) in +- let zonestr = Netstring_str.matched_group m 8s in ++ let zonestr = Netstring_str.matched_group m 8 s in + let zone = get_zone zonestr in + if month = 0 || month > 12 || day = 0 || day > 31 || + hour > 23 || minute > 59 || second > 59 +diff --git a/code/src/netsys/netlog.ml b/code/src/netsys/netlog.ml +index 4d87c0e..4633655 100644 +--- a/code/src/netsys/netlog.ml ++++ b/code/src/netsys/netlog.ml +@@ -8,6 +8,18 @@ type level = + type logger = + level -> string -> unit + ++type timespec = float * int ++type clock_id ++type clock = ++ (* originally from Netsys_posix *) ++ | CLOCK_REALTIME ++ | CLOCK_MONOTONIC ++ | CLOCK_ID of clock_id ++ ++external clock_gettime : clock -> timespec = "netsys_clock_gettime" ++(* originally from Netsys_posix *) ++ ++ + let level_weight = + function + | `Emerg -> 0 +@@ -95,7 +107,7 @@ let current_formatter = + let channel_logger ch max_lev lev msg = + if level_weight lev <= level_weight max_lev then ( + let (sec,ns) = +- try Netsys_posix.clock_gettime Netsys_posix.CLOCK_REALTIME ++ try clock_gettime CLOCK_REALTIME + with Invalid_argument _ -> + (Unix.gettimeofday(), 0) in + let s = (* Netdate is unavailable here *) +diff --git a/code/src/netsys/netsys_posix.ml b/code/src/netsys/netsys_posix.ml +index 1062a6c..602ceae 100644 +--- a/code/src/netsys/netsys_posix.ml ++++ b/code/src/netsys/netsys_posix.ml +@@ -771,12 +771,14 @@ external readlinkat : Unix.file_descr -> string -> string + type timespec = float * int + type clock_id + type clock = ++ (* also in Netlog *) + | CLOCK_REALTIME + | CLOCK_MONOTONIC + | CLOCK_ID of clock_id + + external nanosleep : timespec -> timespec ref -> unit = "netsys_nanosleep" + external clock_gettime : clock -> timespec = "netsys_clock_gettime" ++ (* also in Netlog *) + external clock_settime : clock -> timespec -> unit = "netsys_clock_settime" + external clock_getres : clock -> timespec = "netsys_clock_getres" + external clock_getcpuclockid : int -> clock_id = "netsys_clock_getcpuclockid" diff --git a/dev-ml/ocamlnet/ocamlnet-4.1.1.ebuild b/dev-ml/ocamlnet/ocamlnet-4.1.1.ebuild index 5fe2f7a..5c042a3 100644 --- a/dev-ml/ocamlnet/ocamlnet-4.1.1.ebuild +++ b/dev-ml/ocamlnet/ocamlnet-4.1.1.ebuild @@ -35,6 +35,10 @@ DEPEND="${RDEPEND} S=${WORKDIR}/${MY_P} +src_prepare() { + has_version '>=dev-lang/ocaml-4.03' && epatch "${FILESDIR}/oc43.patch" +} + ocamlnet_use_with() { if use $1; then echo "-with-$2"