ldp_{curl,tls} are not compatible with cohttp 6
Failures:
```
=== ERROR while compiling ldp_curl.0.1.0 =====================================#
context 2.2.0~alpha~dev | linux/x86_64 | ocaml-base-compiler.5.0.0 | file:///home/opam/opam-repository
path ~/.opam/5.0/.opam-switch/build/ldp_curl.0.1.0
command ~/.opam/opam-init/hooks/sandbox.sh build dune build -p ldp_curl -j 127 --promote-install-files=false @install
exit-code 1
env-file ~/.opam/log/ldp_curl-8-67cf22.env
output-file ~/.opam/log/ldp_curl-8-67cf22.out
(cd _build/default && /home/opam/.opam/5.0/bin/ocamlc.opt -g -w -40 -w -6-7-9-10-27-32-33-34-35-36-50-52 -no-strict-sequence -g -bin-annot -I curl/.ldp_curl.objs/byte -I /home/opam/.opam/5.0/lib/angstrom -I /home/opam/.opam/5.0/lib/base64 -I /home/opam/.opam/5.0/lib/bigstringaf -I /home/opam/.opam/5.0/lib/bytes -I /home/opam/.opam/5.0/lib/cohttp -I /home/opam/.opam/5.0/lib/cohttp-lwt -I /home/opam/.opam/5.0/lib/curl -I /home/opam/.opam/5.0/lib/dune-build-info -I /home/opam/.opam/5.0/lib/fmt -I /home/opam/.opam/5.0/lib/gen -I /home/opam/.opam/5.0/lib/http -I /home/opam/.opam/5.0/lib/iri -I /home/opam/.opam/5.0/lib/ldp -I /home/opam/.opam/5.0/lib/logs -I /home/opam/.opam/5.0/lib/lwt -I /home/opam/.opam/5.0/lib/lwt/unix -I /home/opam/.opam/5.0/lib/menhirLib -I /home/opam/.opam/5.0/lib/ocaml/threads -I /home/opam/.opam/5.0/lib/ocaml/unix -I /home/opam/.opam/5.0/lib/ocf -I /home/opam/.opam/5.0/lib/ocplib-endian -I /home/opam/.opam/5.0/lib/ocplib-endian/bigstring -I /home/opam/.opam/5.0/lib/pcre -I /home/opam/.opam/5.0/lib/ppx_sexp_conv/runtime-lib -I /home/opam/.opam/5.0/lib/ptime -I /home/opam/.opam/5.0/lib/rdf -I /home/opam/.opam/5.0/lib/re -I /home/opam/.opam/5.0/lib/re/str -I /home/opam/.opam/5.0/lib/sedlex -I /home/opam/.opam/5.0/lib/seq -I /home/opam/.opam/5.0/lib/sexplib0 -I /home/opam/.opam/5.0/lib/stringext -I /home/opam/.opam/5.0/lib/uri -I /home/opam/.opam/5.0/lib/uri-sexp -I /home/opam/.opam/5.0/lib/uucp -I /home/opam/.opam/5.0/lib/uuidm -I /home/opam/.opam/5.0/lib/uunf -I /home/opam/.opam/5.0/lib/uunf/string -I /home/opam/.opam/5.0/lib/uutf -I /home/opam/.opam/5.0/lib/xmlm -I /home/opam/.opam/5.0/lib/yojson -intf-suffix .ml -no-alias-deps -o curl/.ldp_curl.objs/byte/ldp_curl.cmo -c -impl curl/ldp_curl.pp.ml)
File "curl/ldp_curl.ml", line 61, characters 22-42:
61 | module Response = Cohttp.Response.Make (IO)
^^^^^^^^^^^^^^^^^^^^
Alert deprecated: module Cohttp.Response.Make
This functor is not part of the public API.
File "curl/ldp_curl.ml", line 75, characters 23-40:
75 | | _ -> Response.has_body res
^^^^^^^^^^^^^^^^^
Error: Unbound value Response.has_body
(cd _build/default && /home/opam/.opam/5.0/bin/ocamlopt.opt -g -w -40 -w -6-7-9-10-27-32-33-34-35-36-50-52 -no-strict-sequence -g -I curl/.ldp_curl.objs/byte -I curl/.ldp_curl.objs/native -I /home/opam/.opam/5.0/lib/angstrom -I /home/opam/.opam/5.0/lib/base64 -I /home/opam/.opam/5.0/lib/bigstringaf -I /home/opam/.opam/5.0/lib/bytes -I /home/opam/.opam/5.0/lib/cohttp -I /home/opam/.opam/5.0/lib/cohttp-lwt -I /home/opam/.opam/5.0/lib/curl -I /home/opam/.opam/5.0/lib/dune-build-info -I /home/opam/.opam/5.0/lib/fmt -I /home/opam/.opam/5.0/lib/gen -I /home/opam/.opam/5.0/lib/http -I /home/opam/.opam/5.0/lib/http/__private__/http_bytebuffer -I /home/opam/.opam/5.0/lib/iri -I /home/opam/.opam/5.0/lib/ldp -I /home/opam/.opam/5.0/lib/logs -I /home/opam/.opam/5.0/lib/lwt -I /home/opam/.opam/5.0/lib/lwt/unix -I /home/opam/.opam/5.0/lib/menhirLib -I /home/opam/.opam/5.0/lib/ocaml/threads -I /home/opam/.opam/5.0/lib/ocaml/unix -I /home/opam/.opam/5.0/lib/ocf -I /home/opam/.opam/5.0/lib/ocplib-endian -I /home/opam/.opam/5.0/lib/ocplib-endian/bigstring -I /home/opam/.opam/5.0/lib/pcre -I /home/opam/.opam/5.0/lib/ppx_sexp_conv/runtime-lib -I /home/opam/.opam/5.0/lib/ptime -I /home/opam/.opam/5.0/lib/rdf -I /home/opam/.opam/5.0/lib/re -I /home/opam/.opam/5.0/lib/re/str -I /home/opam/.opam/5.0/lib/sedlex -I /home/opam/.opam/5.0/lib/seq -I /home/opam/.opam/5.0/lib/sexplib0 -I /home/opam/.opam/5.0/lib/stringext -I /home/opam/.opam/5.0/lib/uri -I /home/opam/.opam/5.0/lib/uri-sexp -I /home/opam/.opam/5.0/lib/uucp -I /home/opam/.opam/5.0/lib/uuidm -I /home/opam/.opam/5.0/lib/uunf -I /home/opam/.opam/5.0/lib/uunf/string -I /home/opam/.opam/5.0/lib/uutf -I /home/opam/.opam/5.0/lib/xmlm -I /home/opam/.opam/5.0/lib/yojson -intf-suffix .ml -no-alias-deps -o curl/.ldp_curl.objs/native/ldp_curl.cmx -c -impl curl/ldp_curl.pp.ml)
File "curl/ldp_curl.ml", line 61, characters 22-42:
61 | module Response = Cohttp.Response.Make (IO)
^^^^^^^^^^^^^^^^^^^^
Alert deprecated: module Cohttp.Response.Make
This functor is not part of the public API.
File "curl/ldp_curl.ml", line 75, characters 23-40:
75 | | _ -> Response.has_body res
^^^^^^^^^^^^^^^^^
Error: Unbound value Response.has_body
```
```
=== ERROR while compiling ldp_tls.0.1.0 ======================================#
context 2.2.0~alpha~dev | linux/x86_64 | ocaml-base-compiler.5.0.0 | file:///home/opam/opam-repository
path ~/.opam/5.0/.opam-switch/build/ldp_tls.0.1.0
command ~/.opam/opam-init/hooks/sandbox.sh build dune build -p ldp_tls -j 71 --promote-install-files=false @install
exit-code 1
env-file ~/.opam/log/ldp_tls-7-8780fb.env
output-file ~/.opam/log/ldp_tls-7-8780fb.out
(cd _build/default && /home/opam/.opam/5.0/bin/ocamlc.opt -g -w -40 -w -6-7-9-10-27-32-33-34-35-36-50-52 -no-strict-sequence -g -bin-annot -I tls/.ldp_tls.objs/byte -I /home/opam/.opam/5.0/lib/angstrom -I /home/opam/.opam/5.0/lib/asn1-combinators -I /home/opam/.opam/5.0/lib/base64 -I /home/opam/.opam/5.0/lib/bigstringaf -I /home/opam/.opam/5.0/lib/bytes -I /home/opam/.opam/5.0/lib/cohttp -I /home/opam/.opam/5.0/lib/cohttp-lwt -I /home/opam/.opam/5.0/lib/cstruct -I /home/opam/.opam/5.0/lib/domain-name -I /home/opam/.opam/5.0/lib/dune-build-info -I /home/opam/.opam/5.0/lib/duration -I /home/opam/.opam/5.0/lib/eqaf -I /home/opam/.opam/5.0/lib/eqaf/bigstring -I /home/opam/.opam/5.0/lib/eqaf/cstruct -I /home/opam/.opam/5.0/lib/fmt -I /home/opam/.opam/5.0/lib/gen -I /home/opam/.opam/5.0/lib/gmap -I /home/opam/.opam/5.0/lib/hkdf -I /home/opam/.opam/5.0/lib/http -I /home/opam/.opam/5.0/lib/ipaddr -I /home/opam/.opam/5.0/lib/iri -I /home/opam/.opam/5.0/lib/ldp -I /home/opam/.opam/5.0/lib/logs -I /home/opam/.opam/5.0/lib/lwt -I /home/opam/.opam/5.0/lib/lwt/unix -I /home/opam/.opam/5.0/lib/macaddr -I /home/opam/.opam/5.0/lib/menhirLib -I /home/opam/.opam/5.0/lib/mirage-crypto -I /home/opam/.opam/5.0/lib/mirage-crypto-ec -I /home/opam/.opam/5.0/lib/mirage-crypto-pk -I /home/opam/.opam/5.0/lib/mirage-crypto-rng -I /home/opam/.opam/5.0/lib/mirage-crypto-rng-lwt -I /home/opam/.opam/5.0/lib/mirage-crypto-rng/unix -I /home/opam/.opam/5.0/lib/mtime -I /home/opam/.opam/5.0/lib/mtime/clock/os -I /home/opam/.opam/5.0/lib/ocaml/threads -I /home/opam/.opam/5.0/lib/ocaml/unix -I /home/opam/.opam/5.0/lib/ocf -I /home/opam/.opam/5.0/lib/ocplib-endian -I /home/opam/.opam/5.0/lib/ocplib-endian/bigstring -I /home/opam/.opam/5.0/lib/pbkdf -I /home/opam/.opam/5.0/lib/pcre -I /home/opam/.opam/5.0/lib/ppx_sexp_conv/runtime-lib -I /home/opam/.opam/5.0/lib/ptime -I /home/opam/.opam/5.0/lib/ptime/clock/os -I /home/opam/.opam/5.0/lib/rdf -I /home/opam/.opam/5.0/lib/re -I /home/opam/.opam/5.0/lib/re/str -I /home/opam/.opam/5.0/lib/sedlex -I /home/opam/.opam/5.0/lib/seq -I /home/opam/.opam/5.0/lib/sexplib0 -I /home/opam/.opam/5.0/lib/stringext -I /home/opam/.opam/5.0/lib/tls -I /home/opam/.opam/5.0/lib/tls-lwt -I /home/opam/.opam/5.0/lib/uri -I /home/opam/.opam/5.0/lib/uri-sexp -I /home/opam/.opam/5.0/lib/uucp -I /home/opam/.opam/5.0/lib/uuidm -I /home/opam/.opam/5.0/lib/uunf -I /home/opam/.opam/5.0/lib/uunf/string -I /home/opam/.opam/5.0/lib/uutf -I /home/opam/.opam/5.0/lib/x509 -I /home/opam/.opam/5.0/lib/xmlm -I /home/opam/.opam/5.0/lib/yojson -I /home/opam/.opam/5.0/lib/zarith -intf-suffix .ml -no-alias-deps -o tls/.ldp_tls.objs/byte/ldp_tls.cmo -c -impl tls/ldp_tls.pp.ml)
File "tls/ldp_tls.ml", line 79, characters 16-53:
79 | module Client = Cohttp_lwt.Make_client (IO) (Tls_net)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Error: The functor application is ill-typed.
These arguments:
IO Tls_net
do not match these parameters:
functor (IO : Cohttp_lwt.IO) (Net : $T2) -> ...
1. Modules do not match:
IO :
sig
type 'a t = 'a Lwt.t
val ( >>= ) : 'a Lwt.t -> ('a -> 'b Lwt.t) -> 'b Lwt.t
val return : 'a -> 'a Lwt.t
type ic = Lwt_io.input_channel
type oc = Lwt_io.output_channel
type conn = ic * oc
val read_line : Lwt_io.input_channel -> string option Lwt.t
val read : Lwt_io.input_channel -> int -> string Lwt.t
val write : Lwt_io.output_channel -> string -> unit Lwt.t
val flush : Lwt_io.output_channel -> unit Lwt.t
type error = exn
val catch : (unit -> 'a Lwt.t) -> ('a, exn) result Lwt.t
val pp_error : Format.formatter -> exn -> unit
end
is not included in
Cohttp_lwt.IO
The value `refill' is required but not provided
File "cohttp/src/s.ml", line 42, characters 2-37:
Expected declaration
The value `with_input_buffer' is required but not provided
File "cohttp/src/s.ml", lines 44-45, characters 2-60:
Expected declaration
2. Modules do not match:
Tls_net :
sig
module IO = IO
type ctx = Tls.Config.client
val default_ctx : Tls.Config.client
val connect_uri :
ctx:Tls.Config.client ->
Uri.t ->
((Tls_lwt.ic * Tls_lwt.oc) * Tls_lwt.ic * Tls_lwt.oc) Lwt.t
val close_in : 'a Lwt_io.channel -> unit
val close_out : 'a Lwt_io.channel -> unit
val close : 'a Lwt_io.channel -> 'b Lwt_io.channel -> unit
val sexp_of_ctx : 'a -> 'b
end
is not included in
$T2 =
sig
module IO :
sig
type 'a t = 'a Lwt.t
val ( >>= ) : 'a t -> ('a -> 'b t) -> 'b t
val return : 'a -> 'a t
type ic = IO/2.ic
type oc = IO/2.oc
type conn = IO/2.conn
val refill : ic -> [ `Eof | `Ok ] t
val with_input_buffer :
ic -> f:(string -> pos:int -> len:int -> 'a * int) -> 'a
val read_line : ic -> string option t
val read : ic -> int -> string t
val write : oc -> string -> unit t
val flush : oc -> unit t
type error = IO/2.error
val catch : (unit -> 'a t) -> ('a, error) result t
val pp_error : Format.formatter -> error -> unit
end
type endp
type ctx
val sexp_of_ctx : ctx -> Sexplib0.Sexp.t
val default_ctx : ctx
val resolve : ctx:ctx -> Uri.t -> endp IO.t
val connect_uri :
ctx:ctx -> Uri.t -> (IO.conn * IO.ic * IO.oc) IO.t
val connect_endp :
ctx:ctx -> endp -> (IO.conn * IO.ic * IO.oc) IO.t
val close_in : IO.ic -> unit
val close_out : IO.oc -> unit
val close : IO.ic -> IO.oc -> unit
end
(cd _build/default && /home/opam/.opam/5.0/bin/ocamlopt.opt -g -w -40 -w -6-7-9-10-27-32-33-34-35-36-50-52 -no-strict-sequence -g -I tls/.ldp_tls.objs/byte -I tls/.ldp_tls.objs/native -I /home/opam/.opam/5.0/lib/angstrom -I /home/opam/.opam/5.0/lib/asn1-combinators -I /home/opam/.opam/5.0/lib/base64 -I /home/opam/.opam/5.0/lib/bigstringaf -I /home/opam/.opam/5.0/lib/bytes -I /home/opam/.opam/5.0/lib/cohttp -I /home/opam/.opam/5.0/lib/cohttp-lwt -I /home/opam/.opam/5.0/lib/cstruct -I /home/opam/.opam/5.0/lib/domain-name -I /home/opam/.opam/5.0/lib/dune-build-info -I /home/opam/.opam/5.0/lib/duration -I /home/opam/.opam/5.0/lib/eqaf -I /home/opam/.opam/5.0/lib/eqaf/bigstring -I /home/opam/.opam/5.0/lib/eqaf/cstruct -I /home/opam/.opam/5.0/lib/fmt -I /home/opam/.opam/5.0/lib/gen -I /home/opam/.opam/5.0/lib/gmap -I /home/opam/.opam/5.0/lib/hkdf -I /home/opam/.opam/5.0/lib/http -I /home/opam/.opam/5.0/lib/http/__private__/http_bytebuffer -I /home/opam/.opam/5.0/lib/ipaddr -I /home/opam/.opam/5.0/lib/iri -I /home/opam/.opam/5.0/lib/ldp -I /home/opam/.opam/5.0/lib/logs -I /home/opam/.opam/5.0/lib/lwt -I /home/opam/.opam/5.0/lib/lwt/unix -I /home/opam/.opam/5.0/lib/macaddr -I /home/opam/.opam/5.0/lib/menhirLib -I /home/opam/.opam/5.0/lib/mirage-crypto -I /home/opam/.opam/5.0/lib/mirage-crypto-ec -I /home/opam/.opam/5.0/lib/mirage-crypto-pk -I /home/opam/.opam/5.0/lib/mirage-crypto-rng -I /home/opam/.opam/5.0/lib/mirage-crypto-rng-lwt -I /home/opam/.opam/5.0/lib/mirage-crypto-rng/unix -I /home/opam/.opam/5.0/lib/mtime -I /home/opam/.opam/5.0/lib/mtime/clock/os -I /home/opam/.opam/5.0/lib/ocaml/threads -I /home/opam/.opam/5.0/lib/ocaml/unix -I /home/opam/.opam/5.0/lib/ocf -I /home/opam/.opam/5.0/lib/ocplib-endian -I /home/opam/.opam/5.0/lib/ocplib-endian/bigstring -I /home/opam/.opam/5.0/lib/pbkdf -I /home/opam/.opam/5.0/lib/pcre -I /home/opam/.opam/5.0/lib/ppx_sexp_conv/runtime-lib -I /home/opam/.opam/5.0/lib/ptime -I /home/opam/.opam/5.0/lib/ptime/clock/os -I /home/opam/.opam/5.0/lib/rdf -I /home/opam/.opam/5.0/lib/re -I /home/opam/.opam/5.0/lib/re/str -I /home/opam/.opam/5.0/lib/sedlex -I /home/opam/.opam/5.0/lib/seq -I /home/opam/.opam/5.0/lib/sexplib0 -I /home/opam/.opam/5.0/lib/stringext -I /home/opam/.opam/5.0/lib/tls -I /home/opam/.opam/5.0/lib/tls-lwt -I /home/opam/.opam/5.0/lib/uri -I /home/opam/.opam/5.0/lib/uri-sexp -I /home/opam/.opam/5.0/lib/uucp -I /home/opam/.opam/5.0/lib/uuidm -I /home/opam/.opam/5.0/lib/uunf -I /home/opam/.opam/5.0/lib/uunf/string -I /home/opam/.opam/5.0/lib/uutf -I /home/opam/.opam/5.0/lib/x509 -I /home/opam/.opam/5.0/lib/xmlm -I /home/opam/.opam/5.0/lib/yojson -I /home/opam/.opam/5.0/lib/zarith -intf-suffix .ml -no-alias-deps -o tls/.ldp_tls.objs/native/ldp_tls.cmx -c -impl tls/ldp_tls.pp.ml)
File "tls/ldp_tls.ml", line 79, characters 16-53:
79 | module Client = Cohttp_lwt.Make_client (IO) (Tls_net)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Error: The functor application is ill-typed.
These arguments:
IO Tls_net
do not match these parameters:
functor (IO : Cohttp_lwt.IO) (Net : $T2) -> ...
1. Modules do not match:
IO :
sig
type 'a t = 'a Lwt.t
val ( >>= ) : 'a Lwt.t -> ('a -> 'b Lwt.t) -> 'b Lwt.t
val return : 'a -> 'a Lwt.t
type ic = Lwt_io.input_channel
type oc = Lwt_io.output_channel
type conn = ic * oc
val read_line : Lwt_io.input_channel -> string option Lwt.t
val read : Lwt_io.input_channel -> int -> string Lwt.t
val write : Lwt_io.output_channel -> string -> unit Lwt.t
val flush : Lwt_io.output_channel -> unit Lwt.t
type error = exn
val catch : (unit -> 'a Lwt.t) -> ('a, exn) result Lwt.t
val pp_error : Format.formatter -> exn -> unit
end
is not included in
Cohttp_lwt.IO
The value `refill' is required but not provided
File "cohttp/src/s.ml", line 42, characters 2-37:
Expected declaration
The value `with_input_buffer' is required but not provided
File "cohttp/src/s.ml", lines 44-45, characters 2-60:
Expected declaration
2. Modules do not match:
Tls_net :
sig
module IO = IO
type ctx = Tls.Config.client
val default_ctx : Tls.Config.client
val connect_uri :
ctx:Tls.Config.client ->
Uri.t ->
((Tls_lwt.ic * Tls_lwt.oc) * Tls_lwt.ic * Tls_lwt.oc) Lwt.t
val close_in : 'a Lwt_io.channel -> unit
val close_out : 'a Lwt_io.channel -> unit
val close : 'a Lwt_io.channel -> 'b Lwt_io.channel -> unit
val sexp_of_ctx : 'a -> 'b
end
is not included in
$T2 =
sig
module IO :
sig
type 'a t = 'a Lwt.t
val ( >>= ) : 'a t -> ('a -> 'b t) -> 'b t
val return : 'a -> 'a t
type ic = IO/2.ic
type oc = IO/2.oc
type conn = IO/2.conn
val refill : ic -> [ `Eof | `Ok ] t
val with_input_buffer :
ic -> f:(string -> pos:int -> len:int -> 'a * int) -> 'a
val read_line : ic -> string option t
val read : ic -> int -> string t
val write : oc -> string -> unit t
val flush : oc -> unit t
type error = IO/2.error
val catch : (unit -> 'a t) -> ('a, error) result t
val pp_error : Format.formatter -> error -> unit
end
type endp
type ctx
val sexp_of_ctx : ctx -> Sexplib0.Sexp.t
val default_ctx : ctx
val resolve : ctx:ctx -> Uri.t -> endp IO.t
val connect_uri :
ctx:ctx -> Uri.t -> (IO.conn * IO.ic * IO.oc) IO.t
val connect_endp :
ctx:ctx -> endp -> (IO.conn * IO.ic * IO.oc) IO.t
val close_in : IO.ic -> unit
val close_out : IO.oc -> unit
val close : IO.ic -> IO.oc -> unit
end
```
Signed-off-by: Marcello Seri <marcello.seri@gmail.com>