diff --git a/pkgs/development/ocaml-modules/ocsigen-server/conduit.patch b/pkgs/development/ocaml-modules/ocsigen-server/conduit.patch new file mode 100644 index 000000000000..5aaac2407e32 --- /dev/null +++ b/pkgs/development/ocaml-modules/ocsigen-server/conduit.patch @@ -0,0 +1,14 @@ +diff --git a/src/server/ocsigen_cohttp.ml b/src/server/ocsigen_cohttp.ml +index 66895339..edbfcbf2 100644 +--- a/src/server/ocsigen_cohttp.ml ++++ b/src/server/ocsigen_cohttp.ml +@@ -105,7 +105,8 @@ let handler ~ssl ~address ~port ~connector (flow, conn) request body = + let rec getsockname = function + | `TCP (ip, port) -> Unix.ADDR_INET (Ipaddr_unix.to_inet_addr ip, port) + | `Unix_domain_socket path -> Unix.ADDR_UNIX path +- | `TLS (_, edn) -> getsockname edn ++ | `TLS (_, edn) -> getsockname (edn :> Conduit_lwt_unix.endp) ++ | `TLS_tunnel _ -> raise (Failure "TLS tunnel not supported") + | `Unknown err -> raise (Failure ("resolution failed: " ^ err)) + | `Vchan_direct _ -> raise (Failure "VChan not supported") + | `Vchan_domain_socket _ -> raise (Failure "VChan not supported") diff --git a/pkgs/development/ocaml-modules/ocsigen-server/default.nix b/pkgs/development/ocaml-modules/ocsigen-server/default.nix index e55fd1c05088..2e758c0545bf 100644 --- a/pkgs/development/ocaml-modules/ocsigen-server/default.nix +++ b/pkgs/development/ocaml-modules/ocsigen-server/default.nix @@ -64,6 +64,8 @@ buildDunePackage rec { hash = "sha256-T3bgPZpDO6plgebLJDBtBuR2eR/bN3o24UAUv1VwgtI="; }; + patches = [ ./conduit.patch ]; + nativeBuildInputs = [ makeWrapper which