summaryrefslogtreecommitdiff
path: root/pkgs/development/ocaml-modules/cohttp
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/ocaml-modules/cohttp')
-rw-r--r--pkgs/development/ocaml-modules/cohttp/async.nix72
-rw-r--r--pkgs/development/ocaml-modules/cohttp/default.nix13
-rw-r--r--pkgs/development/ocaml-modules/cohttp/lwt-unix.nix25
-rw-r--r--pkgs/development/ocaml-modules/cohttp/lwt.nix25
-rw-r--r--pkgs/development/ocaml-modules/cohttp/mirage.nix3
5 files changed, 96 insertions, 42 deletions
diff --git a/pkgs/development/ocaml-modules/cohttp/async.nix b/pkgs/development/ocaml-modules/cohttp/async.nix
index 21e22533f1b2..060d2c6fb6a8 100644
--- a/pkgs/development/ocaml-modules/cohttp/async.nix
+++ b/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/pkgs/development/ocaml-modules/cohttp/default.nix b/pkgs/development/ocaml-modules/cohttp/default.nix
index 1cbc43bc2804..c1dc973d0eea 100644
--- a/pkgs/development/ocaml-modules/cohttp/default.nix
+++ b/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/pkgs/development/ocaml-modules/cohttp/lwt-unix.nix b/pkgs/development/ocaml-modules/cohttp/lwt-unix.nix
index 845df2a3f542..57885b0e65e0 100644
--- a/pkgs/development/ocaml-modules/cohttp/lwt-unix.nix
+++ b/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/pkgs/development/ocaml-modules/cohttp/lwt.nix b/pkgs/development/ocaml-modules/cohttp/lwt.nix
index 36831d946132..158aa3b27b26 100644
--- a/pkgs/development/ocaml-modules/cohttp/lwt.nix
+++ b/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/pkgs/development/ocaml-modules/cohttp/mirage.nix b/pkgs/development/ocaml-modules/cohttp/mirage.nix
index e7b172349cb9..d2d3e945645b 100644
--- a/pkgs/development/ocaml-modules/cohttp/mirage.nix
+++ b/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