1{ lib
2, fetchFromGitLab
3, git
4, coq
5, ocamlPackages
6, cacert
7, ocaml-crunch
8}:
9
10ocamlPackages.buildDunePackage rec {
11 pname = "ligo";
12 version = "0.55.0";
13 src = fetchFromGitLab {
14 owner = "ligolang";
15 repo = "ligo";
16 rev = version;
17 sha256 = "sha256-GEw9OEHXdTxBvb5ATIcL71wdUCLD+X/A7CYQxwTUQWw=";
18 fetchSubmodules = true;
19 };
20
21 # The build picks this up for ligo --version
22 LIGO_VERSION = version;
23
24 duneVersion = "3";
25
26 strictDeps = true;
27
28 nativeBuildInputs = [
29 ocaml-crunch
30 git
31 coq
32 ocamlPackages.crunch
33 ocamlPackages.menhir
34 ocamlPackages.ocaml-recovery-parser
35 ];
36
37 buildInputs = with ocamlPackages; [
38 coq
39 menhir
40 menhirLib
41 qcheck
42 ocamlgraph
43 bisect_ppx
44 decompress
45 ppx_deriving
46 ppx_deriving_yojson
47 ppx_expect
48 ppx_import
49 terminal_size
50 ocaml-recovery-parser
51 yojson
52 getopt
53 core
54 core_unix
55 pprint
56 linenoise
57 crunch
58 semver
59 lambda-term
60 tar-unix
61 parse-argv
62
63 # Test helpers deps
64 qcheck
65 qcheck-alcotest
66 alcotest-lwt
67
68 # vendored tezos' deps
69 tezos-plonk
70 tezos-bls12-381-polynomial
71 ctypes
72 ctypes_stubs_js
73 class_group_vdf
74 dune-configurator
75 hacl-star
76 hacl-star-raw
77 lwt-canceler
78 ipaddr
79 bls12-381
80 bls12-381-legacy
81 bls12-381-signature
82 ptime
83 mtime
84 lwt_log
85 ringo
86 ringo-lwt
87 secp256k1-internal
88 resto
89 resto-directory
90 resto-cohttp-self-serving-client
91 irmin-pack
92 ezjsonm
93 data-encoding
94 pure-splitmix
95 zarith_stubs_js
96 ];
97
98 checkInputs = [
99 cacert
100 ocamlPackages.ca-certs
101 ];
102
103 doCheck = false; # Tests fail, but could not determine the reason
104
105 meta = with lib; {
106 homepage = "https://ligolang.org/";
107 downloadPage = "https://ligolang.org/docs/intro/installation";
108 description = "A friendly Smart Contract Language for Tezos";
109 license = licenses.mit;
110 platforms = ocamlPackages.ocaml.meta.platforms;
111 maintainers = with maintainers; [ ulrikstrid ];
112 };
113}