diff options
Diffstat (limited to 'nixpkgs/pkgs/development/ocaml-modules/cohttp')
5 files changed, 96 insertions, 42 deletions
diff --git a/nixpkgs/pkgs/development/ocaml-modules/cohttp/async.nix b/nixpkgs/pkgs/development/ocaml-modules/cohttp/async.nix index 21e22533f1b2..060d2c6fb6a8 100644 --- a/nixpkgs/pkgs/development/ocaml-modules/cohttp/async.nix +++ b/nixpkgs/pkgs/development/ocaml-modules/cohttp/async.nix @@ -1,22 +1,60 @@ -{ lib, buildDunePackage, async, cohttp, conduit-async, uri, ppx_sexp_conv -, logs, magic-mime }: +{ lib +, buildDunePackage +, ppx_sexp_conv +, base +, async +, async_kernel +, async_unix +, cohttp +, conduit-async +, uri +, uri-sexp +, logs +, fmt +, sexplib0 +, ipaddr +, magic-mime +, ounit +, mirage-crypto +, core +}: -if !lib.versionAtLeast cohttp.version "0.99" then - cohttp -else if !lib.versionAtLeast async.version "0.13" then - throw "cohttp-async needs async-0.13 (hence OCaml >= 4.08)" -else +buildDunePackage { + pname = "cohttp-async"; - buildDunePackage { - pname = "cohttp-async"; - useDune2 = true; - inherit (cohttp) version src; + inherit (cohttp) + version + src + minimumOCamlVersion + useDune2 + ; - buildInputs = [ ppx_sexp_conv ]; + buildInputs = [ ppx_sexp_conv ]; - propagatedBuildInputs = [ async cohttp conduit-async logs magic-mime uri ]; + propagatedBuildInputs = [ + cohttp + conduit-async + async_kernel + async_unix + async + base + magic-mime + logs + fmt + sexplib0 + uri + uri-sexp + ipaddr + ]; - meta = cohttp.meta // { - description = "CoHTTP implementation for the Async concurrency library"; - }; - } + doCheck = true; + checkInputs = [ + ounit + mirage-crypto + core + ]; + + meta = cohttp.meta // { + description = "CoHTTP implementation for the Async concurrency library"; + }; +} diff --git a/nixpkgs/pkgs/development/ocaml-modules/cohttp/default.nix b/nixpkgs/pkgs/development/ocaml-modules/cohttp/default.nix index 1cbc43bc2804..c1dc973d0eea 100644 --- a/nixpkgs/pkgs/development/ocaml-modules/cohttp/default.nix +++ b/nixpkgs/pkgs/development/ocaml-modules/cohttp/default.nix @@ -1,25 +1,24 @@ { lib, fetchurl, buildDunePackage -, ppx_fields_conv, ppx_sexp_conv, stdlib-shims -, base64, fieldslib, jsonm, re, stringext, uri-sexp +, ppx_sexp_conv, base64, jsonm, re, stringext, uri-sexp , ocaml, fmt, alcotest }: buildDunePackage rec { pname = "cohttp"; - version = "2.5.5"; + version = "4.0.0"; useDune2 = true; - minimumOCamlVersion = "4.04.1"; + minimumOCamlVersion = "4.08"; src = fetchurl { url = "https://github.com/mirage/ocaml-cohttp/releases/download/v${version}/cohttp-v${version}.tbz"; - sha256 = "0ywmql4lp6ps2gd064ixbjzsdnnn5vk3pipm005sswl553qqwaim"; + sha256 = "bd7aa4cd2c82744990ed7c49e3ee7a40324c64cb3d8509804809155e2bacd1d2"; }; - buildInputs = [ jsonm ppx_fields_conv ppx_sexp_conv ]; + buildInputs = [ jsonm ppx_sexp_conv ]; - propagatedBuildInputs = [ base64 fieldslib re stringext uri-sexp stdlib-shims ]; + propagatedBuildInputs = [ base64 re stringext uri-sexp ]; doCheck = lib.versionAtLeast ocaml.version "4.05"; checkInputs = [ fmt alcotest ]; diff --git a/nixpkgs/pkgs/development/ocaml-modules/cohttp/lwt-unix.nix b/nixpkgs/pkgs/development/ocaml-modules/cohttp/lwt-unix.nix index 845df2a3f542..57885b0e65e0 100644 --- a/nixpkgs/pkgs/development/ocaml-modules/cohttp/lwt-unix.nix +++ b/nixpkgs/pkgs/development/ocaml-modules/cohttp/lwt-unix.nix @@ -1,19 +1,28 @@ { lib, buildDunePackage, cohttp-lwt -, conduit-lwt-unix, ppx_sexp_conv -, cmdliner, fmt, magic-mime +, conduit-lwt-unix, conduit-lwt, ppx_sexp_conv +, cmdliner, fmt, logs, magic-mime +, ounit +, cacert }: -if !lib.versionAtLeast cohttp-lwt.version "0.99" -then cohttp-lwt -else - buildDunePackage { pname = "cohttp-lwt-unix"; - inherit (cohttp-lwt) version src meta; + inherit (cohttp-lwt) version src; useDune2 = true; buildInputs = [ cmdliner ppx_sexp_conv ]; - propagatedBuildInputs = [ cohttp-lwt conduit-lwt-unix fmt magic-mime ]; + propagatedBuildInputs = [ + cohttp-lwt conduit-lwt conduit-lwt-unix fmt logs magic-mime + ]; + + # TODO(@sternenseemann): fail for unknown reason + # https://github.com/mirage/ocaml-cohttp/issues/675#issuecomment-830692742 + doCheck = false; + checkInputs = [ ounit cacert ]; + + meta = cohttp-lwt.meta // { + description = "CoHTTP implementation for Unix and Windows using Lwt"; + }; } diff --git a/nixpkgs/pkgs/development/ocaml-modules/cohttp/lwt.nix b/nixpkgs/pkgs/development/ocaml-modules/cohttp/lwt.nix index 36831d946132..158aa3b27b26 100644 --- a/nixpkgs/pkgs/development/ocaml-modules/cohttp/lwt.nix +++ b/nixpkgs/pkgs/development/ocaml-modules/cohttp/lwt.nix @@ -1,16 +1,21 @@ -{ lib, buildDunePackage, cohttp, ocaml_lwt, uri, ppx_sexp_conv, logs }: - -if !lib.versionAtLeast cohttp.version "0.99" -then cohttp -else if !lib.versionAtLeast ppx_sexp_conv.version "0.13" -then throw "cohttp-lwt is not available for ppx_sexp_conv version ${ppx_sexp_conv.version}" -else +{ lib, buildDunePackage, cohttp, ocaml_lwt, uri, ppx_sexp_conv, logs, sexplib0 }: buildDunePackage { pname = "cohttp-lwt"; - inherit (cohttp) version src useDune2 meta; + inherit (cohttp) + version + src + useDune2 + minimumOCamlVersion + ; + + buildInputs = [ ppx_sexp_conv ]; - buildInputs = [ uri ppx_sexp_conv ]; + propagatedBuildInputs = [ + cohttp ocaml_lwt logs sexplib0 uri + ]; - propagatedBuildInputs = [ cohttp ocaml_lwt logs ]; + meta = cohttp.meta // { + description = "CoHTTP implementation using the Lwt concurrency library"; + }; } diff --git a/nixpkgs/pkgs/development/ocaml-modules/cohttp/mirage.nix b/nixpkgs/pkgs/development/ocaml-modules/cohttp/mirage.nix index e7b172349cb9..d2d3e945645b 100644 --- a/nixpkgs/pkgs/development/ocaml-modules/cohttp/mirage.nix +++ b/nixpkgs/pkgs/development/ocaml-modules/cohttp/mirage.nix @@ -2,6 +2,7 @@ , mirage-flow, mirage-channel, mirage-kv , conduit, conduit-mirage, lwt , astring, magic-mime +, ppx_sexp_conv }: buildDunePackage { @@ -9,6 +10,8 @@ buildDunePackage { inherit (cohttp) version src minimumOCamlVersion useDune2; + nativeBuildInputs = [ ppx_sexp_conv ]; + propagatedBuildInputs = [ mirage-flow mirage-channel conduit conduit-mirage mirage-kv lwt cohttp cohttp-lwt astring magic-mime |