1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
{ alcotest-lwt
, buildDunePackage
, ocaml
, dune-site
, fetchzip
, gluten-lwt-unix
, lib
, logs
, lwt_ssl
, magic-mime
, mrmime
, pecu
, psq
, ssl
, uri
}:
lib.throwIf (lib.versionAtLeast ocaml.version "5.0")
"piaf is not available for OCaml ${ocaml.version}"
buildDunePackage rec {
pname = "piaf";
version = "0.1.0";
src = fetchzip {
url = "https://github.com/anmonteiro/piaf/releases/download/${version}/piaf-${version}.tbz";
sha256 = "0d431kz3bkwlgdamvsv94mzd9631ppcjpv516ii91glzlfdzh5hz";
};
postPatch = ''
substituteInPlace ./vendor/dune --replace "mrmime.prettym" "prettym"
'';
propagatedBuildInputs = [
logs
magic-mime
mrmime
psq
uri
gluten-lwt-unix
];
nativeCheckInputs = [
alcotest-lwt
dune-site
];
# Check fails with OpenSSL 3
doCheck = false;
meta = {
description = "An HTTP library with HTTP/2 support written entirely in OCaml";
homepage = "https://github.com/anmonteiro/piaf";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ anmonteiro ];
};
}
|