nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 buildDunePackage,
3 dream-pure,
4 lwt_ppx,
5 camlp-streams,
6 caqti-lwt,
7 cstruct,
8 digestif,
9 dream-httpaf,
10 graphql-lwt,
11 h2-lwt-unix,
12 httpun-lwt-unix,
13 httpun-ws,
14 lambdasoup,
15 lwt_ssl,
16 magic-mime,
17 markup,
18 mirage-clock,
19 mirage-crypto-rng,
20 multipart_form-lwt,
21 ssl,
22 unstrctrd,
23 uri,
24 yojson,
25 # for mirage-crypro-rng-lwt 1.2.0
26 # It is removed from mirage-crypto 2.1.0 now.
27 fetchurl,
28 duration,
29 logs,
30 mtime,
31 lwt,
32}:
33
34let
35 mirage-crypto-rng-lwt = buildDunePackage rec {
36 pname = "mirage-crypto-rng-lwt";
37 version = "1.2.0";
38 src = fetchurl {
39 url = "https://github.com/mirage/mirage-crypto/releases/download/v${version}/mirage-crypto-${version}.tbz";
40 hash = "sha256-CVQrzZbB02j/m6iFMQX0wXgdjJTCQA3586wGEO4H5n4=";
41 };
42 doCheck = true;
43 propagatedBuildInputs = [
44 mirage-crypto-rng
45 duration
46 logs
47 mtime
48 lwt
49 ];
50 };
51in
52
53buildDunePackage {
54 pname = "dream";
55
56 inherit (dream-pure) version src;
57
58 # Compatibility with httpun 0.2.0 and h2 0.13
59 patches = [ ./httpun.patch ];
60
61 buildInputs = [ lwt_ppx ];
62
63 propagatedBuildInputs = [
64 camlp-streams
65 caqti-lwt
66 cstruct
67 digestif
68 dream-httpaf
69 dream-pure
70 graphql-lwt
71 h2-lwt-unix
72 httpun-lwt-unix
73 httpun-ws
74 lambdasoup
75 lwt_ssl
76 magic-mime
77 markup
78 mirage-clock
79 mirage-crypto-rng
80 mirage-crypto-rng-lwt
81 multipart_form-lwt
82 ssl
83 unstrctrd
84 uri
85 yojson
86 ];
87
88 meta = dream-pure.meta // {
89 description = "Tidy, feature-complete Web framework";
90 };
91}