9 ocaml-compiler-libs = janePackage {
10 pname = "ocaml-compiler-libs";
11 hash = "0g9y1ljjsj1nw0lz460ivb6qmz9vhcmfl8krlmqfrni6pc7b0r6f";
12 meta.description = "OCaml compiler libraries repackaged";
15 sexplib0 = janePackage {
17 hash = "13xdd0pvypxqn0ldwdgikmlinrp3yfh8ixknv1xrpxbx3np4qp0g";
18 meta.description = "Library containing the definition of S-expressions and some base converters";
24 hash = "0gl89zpgsf3n30nb6v5cns27g2bfg4rf3s2427gqvwbkr5gcf7ri";
25 meta.description = "Full standard library replacement for OCaml";
26 propagatedBuildInputs = [ sexplib0 ];
27 buildInputs = [ dune-configurator ];
32 hash = "1pn8jjcb79n6crpw7dkp68s4lz2mw103lwmfslil66f05jsxhjhg";
33 meta.description = "Standard IO library for OCaml";
34 propagatedBuildInputs = [ base ];
37 ppx_sexp_conv = janePackage {
38 pname = "ppx_sexp_conv";
39 hash = "0idzp1kzds0gnilschzs9ydi54if8y5xpn6ajn710vkipq26qcld";
40 meta.description = "[@@deriving] plugin to generate S-expression conversion functions";
41 propagatedBuildInputs = [ ppxlib ];
44 ppx_here = janePackage {
46 hash = "07qbchwif1i9ii8z7v1bib57d3mjv0b27i8iixw78i83wnsycmdx";
47 meta.description = "Expands [%here] into its location";
48 propagatedBuildInputs = [ ppxlib ];
51 ppx_compare = janePackage {
52 pname = "ppx_compare";
53 hash = "0n1ax4k2smhps9hc2v58lc06a0fgimwvbi1aj4x78vwh5j492bys";
54 meta.description = "Generation of comparison functions from types";
55 propagatedBuildInputs = [ ppxlib ];
58 ppx_assert = janePackage {
60 hash = "0as6mzr6ki2a9d4k6132p9dskn0qssla1s7j5rkzp75bfikd0ip8";
61 meta.description = "Assert-like extension nodes that raise useful errors on failure";
62 propagatedBuildInputs = [ ppx_compare ppx_here ppx_sexp_conv ];
65 ppx_inline_test = janePackage {
66 pname = "ppx_inline_test";
67 hash = "0nyz411zim94pzbxm2l2v2l9jishcxwvxhh142792g2s18r4vn50";
68 meta.description = "Syntax extension for writing in-line tests in ocaml code";
69 propagatedBuildInputs = [ ppxlib ];
72 ppx_custom_printf = janePackage {
73 pname = "ppx_custom_printf";
75 hash = "0q7591agvd3qy9ihhbyk4db48r0ng7yxspfj8afxxiawl7k5bas6";
76 meta.description = "Printf-style format-strings for user-defined string conversion";
77 propagatedBuildInputs = [ ppx_sexp_conv ];
80 fieldslib = janePackage {
82 hash = "0dlgr7cimqmjlcymk3bdcyzqzvdy12q5lqa844nqix0k2ymhyphf";
83 meta.description = "Syntax extension to define first class values representing record fields, to get and set record fields, iterate and fold over all fields of a record and create new record values";
84 propagatedBuildInputs = [ base ];
87 ppx_fields_conv = janePackage {
88 pname = "ppx_fields_conv";
89 hash = "0flrdyxdfcqcmdrbipxdjq0s3djdgs7z5pvjdycsvs6czbixz70v";
90 meta.description = "Generation of accessor and iteration functions for ocaml records";
91 propagatedBuildInputs = [ fieldslib ppxlib ];
94 variantslib = janePackage {
95 pname = "variantslib";
96 hash = "1cclb5magk63gyqmkci8abhs05g2pyhyr60a2c1bvmig0faqcnsf";
97 meta.description = "Part of Jane Street's Core library";
98 propagatedBuildInputs = [ base ];
101 ppx_variants_conv = janePackage {
102 pname = "ppx_variants_conv";
103 hash = "05j9bgra8xq6fcp12ch3z9vjrk139p2wrcjjcs4h52n5hhc8vzbz";
104 meta.description = "Generation of accessor and iteration functions for ocaml variant types";
105 propagatedBuildInputs = [ variantslib ppxlib ];
108 ppx_expect = janePackage {
109 pname = "ppx_expect";
110 hash = "1wawsbjfkri4sw52n8xqrzihxc3xfpdicv3ahz83a1rsn4lb8j5q";
111 meta.description = "Cram like framework for OCaml";
112 propagatedBuildInputs = [ ppx_assert ppx_custom_printf ppx_fields_conv ppx_inline_test ppx_variants_conv re ];
115 ppx_enumerate = janePackage {
116 pname = "ppx_enumerate";
117 hash = "08zfpq6bdm5lh7xj9k72iz9f2ihv3aznl3nypw3x78vz1chj8dqa";
118 meta.description = "Generate a list containing all values of a finite type";
119 propagatedBuildInputs = [ ppxlib ];
122 ppx_hash = janePackage {
124 hash = "1dfsfvhiyp1mnf24mr93svpdn432kla0y7x631lssacxxp2sadbg";
125 meta.description = "A ppx rewriter that generates hash functions from type expressions and definitions";
126 propagatedBuildInputs = [ ppx_compare ppx_sexp_conv ];
129 ppx_js_style = janePackage {
130 pname = "ppx_js_style";
131 hash = "1lz931m3qdv3yzqy6dnb8fq1d99r61w0n7cwf3b9fl9rhk0pggwh";
132 meta.description = "Code style checker for Jane Street Packages";
133 propagatedBuildInputs = [ octavius ppxlib ];
136 ppx_base = janePackage {
138 hash = "0vd96rp2l084iamkwmvizzhl9625cagjb6gzzbir06czii5mlq2p";
139 meta.description = "Base set of ppx rewriters";
140 propagatedBuildInputs = [ ppx_enumerate ppx_hash ppx_js_style ];
143 ppx_bench = janePackage {
145 hash = "1ib81irawxzq091bmpi50z0kmpx6z2drg14k2xcgmwbb1d4063xn";
146 meta.description = "Syntax extension for writing in-line benchmarks in ocaml code";
147 propagatedBuildInputs = [ ppx_inline_test ];
150 ppx_sexp_message = janePackage {
151 pname = "ppx_sexp_message";
152 hash = "0yskd6v48jc6wa0nhg685kylh1n9qb6b7d1wglr9wnhl9sw990mc";
153 meta.description = "A ppx rewriter for easy construction of s-expressions";
154 propagatedBuildInputs = [ ppx_here ppx_sexp_conv ];
157 splittable_random = janePackage {
158 pname = "splittable_random";
159 hash = "1wpyz7807cgj8b50gdx4rw6f1zsznp4ni5lzjbnqdwa66na6ynr4";
160 meta.description = "PRNG that can be split into independent streams";
161 propagatedBuildInputs = [ base ppx_assert ppx_bench ppx_sexp_message ];
164 ppx_let = janePackage {
166 hash = "146dmyzkbmafa3giz69gpxccvdihg19cvk4xsg8krbbmlkvdda22";
167 meta.description = "Monadic let-bindings";
168 propagatedBuildInputs = [ ppxlib ];
171 base_quickcheck = janePackage {
173 pname = "base_quickcheck";
174 hash = "sha256-ABfUtOzdtGrYR6EgtVYkmxRvsH48jJwSVVOwf4Od12Y=";
175 meta.description = "Randomized testing framework, designed for compatibility with Base";
176 propagatedBuildInputs = [ ppx_base ppx_fields_conv ppx_let splittable_random ];
179 ppx_stable = janePackage {
180 pname = "ppx_stable";
181 hash = "15zvf66wlkvz0yd4bkvndkpq74dj20jv1qkljp9n52hh7d0f9ykh";
182 meta.description = "Stable types conversions generator";
183 propagatedBuildInputs = [ ppxlib ];
186 bin_prot = janePackage {
188 hash = "0hh6s7g9s004z35hsr8z6nw5phlcvcd6g2q3bj4f0s1s0anlsswm";
189 meta.description = "A binary protocol generator";
190 propagatedBuildInputs = [ ppx_compare ppx_custom_printf ppx_fields_conv ppx_variants_conv ];
193 ppx_bin_prot = janePackage {
194 pname = "ppx_bin_prot";
196 hash = "1j0kjgmv58dmg3x5dj5zrfbm920rwq21lvkkaqq493y76cd0x8xg";
197 meta.description = "Generation of bin_prot readers and writers from types";
198 propagatedBuildInputs = [ bin_prot ppx_here ];
201 ppx_fail = janePackage {
203 hash = "0krsv6z9gi0ifxmw5ss6gwn108qhywyhbs41an10x9d5zpgf4l1n";
204 meta.description = "Add location to calls to failwiths";
205 propagatedBuildInputs = [ ppx_here ];
208 jst-config = janePackage {
209 pname = "jst-config";
210 hash = "0yxcz13vda1mdh9ah7qqxwfxpcqang5sgdssd8721rszbwqqaw93";
211 meta.description = "Compile-time configuration for Jane Street libraries";
212 buildInputs = [ dune-configurator ppx_assert ];
215 ppx_optcomp = janePackage {
216 pname = "ppx_optcomp";
217 hash = "0bdbx01kz0174g1szdhv3mcfqxqqf2frxq7hk13xaf6fsz04kwmj";
218 meta.description = "Optional compilation for OCaml";
219 propagatedBuildInputs = [ ppxlib ];
222 jane-street-headers = janePackage {
223 pname = "jane-street-headers";
224 hash = "0qa4llf812rjqa8nb63snmy8d8ny91p3anwhb50afb7vjaby8m34";
225 meta.description = "Jane Street C header files";
228 time_now = janePackage {
230 hash = "169mgsb3rja4j1j9nj5xa7bbkd21p9kfpskqz0wjf9x2fpxqsniq";
231 meta.description = "Reports the current time";
232 buildInputs = [ jst-config ppx_optcomp ];
233 propagatedBuildInputs = [ jane-street-headers base ppx_base ];
236 ppx_module_timer = janePackage {
237 pname = "ppx_module_timer";
238 hash = "0yziakm7f4c894na76k1z4bp7azy82xc33mh36fj761w1j9zy3wm";
239 meta.description = "Ppx rewriter that records top-level module startup times";
240 propagatedBuildInputs = [ time_now ];
243 ppx_optional = janePackage {
244 pname = "ppx_optional";
245 hash = "07i0iipbd5xw2bc604qkwlcxmhncfpm3xmrr6svyj2ij86pyssh8";
246 meta.description = "Pattern matching on flat options";
247 propagatedBuildInputs = [ ppxlib ];
250 ppx_pipebang = janePackage {
251 pname = "ppx_pipebang";
252 hash = "1p4pdpl8h2bblbhpn5nk17ri4rxpz0aih0gffg3cl1186irkj0xj";
253 meta.description = "A ppx rewriter that inlines reverse application operators `|>` and `|!`";
254 propagatedBuildInputs = [ ppxlib ];
257 ppx_sexp_value = janePackage {
258 pname = "ppx_sexp_value";
259 hash = "1mg81834a6dx1x7x9zb9wc58438cabjjw08yhkx6i386hxfy891p";
260 meta.description = "A ppx rewriter that simplifies building s-expressions from ocaml values";
261 propagatedBuildInputs = [ ppx_here ppx_sexp_conv ];
264 typerep = janePackage {
266 hash = "1psl6gsk06a62szh60y5sc1s92xpmrl1wpw3rhha09v884b7arbc";
267 meta.description = "Typerep is a library for runtime types";
268 propagatedBuildInputs = [ base ];
271 ppx_typerep_conv = janePackage {
272 pname = "ppx_typerep_conv";
273 hash = "09vik6qma1id44k8nz87y48l9wbjhqhap1ar1hpfdfkjai1hrzzq";
274 meta.description = "Generation of runtime types from type declarations";
275 propagatedBuildInputs = [ ppxlib typerep ];
278 ppx_jane = janePackage {
280 hash = "1a2602isqzsh640q20qbmarx0sc316mlsqc3i25ysv2kdyhh0kyw";
281 meta.description = "Standard Jane Street ppx rewriters";
282 propagatedBuildInputs = [ base_quickcheck ppx_bench ppx_bin_prot ppx_expect ppx_fail ppx_module_timer ppx_optcomp ppx_optional ppx_pipebang ppx_sexp_value ppx_stable ppx_typerep_conv ];
285 base_bigstring = janePackage {
286 pname = "base_bigstring";
287 hash = "0rbgyg511847fbnxad40prz2dyp4da6sffzyzl88j18cxqxbh1by";
288 meta.description = "String type based on [Bigarray], for use in I/O and C-bindings";
289 propagatedBuildInputs = [ ppx_jane ];
292 parsexp = janePackage {
294 hash = "1974i9s2c2n03iffxrm6ncwbd2gg6j6avz5jsxfd35scc2zxcd4l";
295 meta.description = "S-expression parsing library";
296 propagatedBuildInputs = [ base sexplib0 ];
299 sexplib = janePackage {
301 hash = "0780klc5nnv0ij6aklzra517cfnfkjdlp8ylwjrqwr8dl9rvxza2";
302 meta.description = "Library for serializing OCaml values to and from S-expressions";
303 propagatedBuildInputs = [ num parsexp ];
306 core_kernel = janePackage {
307 pname = "core_kernel";
309 hash = "sha256-bDgxuOILAs4FYB8o92ysPHDdEzflZMsU/jk5hB9xfuc=";
310 meta.description = "System-independent part of Core";
311 buildInputs = [ jst-config ];
312 propagatedBuildInputs = [ base_bigstring sexplib ];
315 spawn = janePackage {
318 hash = "1w003k1kw1lmyiqlk58gkxx8rac7dchiqlz6ah7aj7bh49b36ppf";
319 meta.description = "Spawning sub-processes";
320 buildInputs = [ ppx_expect ];
326 hash = "1vmjqiafkg45hqfvahx6jnlaww1q4a4215k8znbgprf0qn3zymnj";
327 meta.description = "System-independent part of Core";
328 buildInputs = [ jst-config ];
329 propagatedBuildInputs = [ core_kernel spawn ];
332 async_kernel = janePackage {
333 pname = "async_kernel";
334 hash = "1d9illx7vvpblj1i2r9y0f2yff2fbhy3rp4hhvamq1n9n3lvxmh2";
335 meta.description = "Monadic concurrency library";
336 propagatedBuildInputs = [ core_kernel ];
339 protocol_version_header = janePackage {
340 pname = "protocol_version_header";
341 hash = "14vqhx3r84rlfhcjq52gxdqksckiaswlck9s47g7y2z1lsc17v7r";
342 meta.description = "Protocol versioning";
343 propagatedBuildInputs = [ core_kernel ];
346 async_rpc_kernel = janePackage {
347 pname = "async_rpc_kernel";
348 hash = "1znhqbzx4fp58i7dbcgyv5rx7difbhb5d8cbqzv96yqvbn67lsjk";
349 meta.description = "Platform-independent core of Async RPC library";
350 propagatedBuildInputs = [ async_kernel protocol_version_header ];
353 async_unix = janePackage {
354 pname = "async_unix";
355 hash = "09h10rdyykbm88n6r9nb5a22mlb6vcxa04q6hvrcr0kys6qhhqmb";
356 meta.description = "Monadic concurrency library";
357 propagatedBuildInputs = [ async_kernel core ];
360 async_extra = janePackage {
361 pname = "async_extra";
362 hash = "10j4mwlyqvf67yrp5dwd857llqjinpnnykmlzw2gpmks9azxk6mh";
363 meta.description = "Monadic concurrency library";
364 propagatedBuildInputs = [ async_rpc_kernel async_unix ];
367 textutils = janePackage {
369 hash = "0302awqihf3abib9mvzvn4g8m364hm6jxry1r3kc01hzybhy9acq";
370 meta.description = "Text output utilities";
371 propagatedBuildInputs = [ core ];
374 async = janePackage {
376 hash = "0pk7z3h2gi21nfchvmjz2wx516bynf9vgwf84zf5qhvlvqqsmyrx";
377 meta.description = "Monadic concurrency library";
378 propagatedBuildInputs = [ async_extra textutils ];
381 async_find = janePackage {
382 pname = "async_find";
383 hash = "0qsz9f15s5rlk6za10s810v6nlkdxg2g9p1827lcpa7nhjcpi673";
384 meta.description = "Directory traversal with Async";
385 propagatedBuildInputs = [ async ];
391 hash = "sha256-NPQKKUSwckZx4GN4wX2sc0Mn7bes6p79oZrN6xouc6o=";
392 meta.description = "OCaml bindings for RE2, Google's regular expression library";
393 propagatedBuildInputs = [ core_kernel ];
395 substituteInPlace src/re2_c/dune --replace 'CXX=g++' 'CXX=c++'
396 substituteInPlace src/dune --replace '(cxx_flags (:standard \ -pedantic) (-I re2_c/libre2))' '(cxx_flags (:standard \ -pedantic) (-I re2_c/libre2) (-x c++))'
400 shell = janePackage {
402 hash = "158857rdr6qgglc5iksg0l54jgf51b5lmsw7nlazpxwdwc9fcn5n";
403 meta.description = "Yet another implementation of fork&exec and related functionality";
404 buildInputs = [ jst-config ];
405 propagatedBuildInputs = [ re2 textutils ];
408 async_shell = janePackage {
409 pname = "async_shell";
410 hash = "0cxln9hkc3cy522la9yi9p23qjwl69kqmadsq4lnjh5bxdad06sv";
411 meta.description = "Shell helpers for Async";
412 propagatedBuildInputs = [ async shell ];
415 core_bench = janePackage {
416 pname = "core_bench";
417 hash = "00hyzbbj19dkcw0vhfnc8w0ca3zkjriwwvl00ssa0a2g9mygijdm";
418 meta.description = "Benchmarking library";
419 propagatedBuildInputs = [ textutils ];
422 core_extended = janePackage {
423 pname = "core_extended";
424 hash = "1gwx66235irpf5krb1r25a3c7w52qhmass8hp7rdv89il9jn49w4";
425 meta.description = "Extra components that are not as closely vetted or as stable as Core";
426 propagatedBuildInputs = [ core ];
429 sexp_pretty = janePackage {
430 pname = "sexp_pretty";
431 hash = "06hdsaszc5cd7fphiblbn4r1sh36xgjwf2igzr2rvlzqs7jiv2v4";
432 meta.description = "S-expression pretty-printer";
433 propagatedBuildInputs = [ ppx_base re sexplib ];
436 expect_test_helpers_kernel = janePackage {
437 pname = "expect_test_helpers_kernel";
438 hash = "18ya187y2i2hfxr771sd9vy5jdsa30vhs56yjdhwk06v01b2fzbq";
439 meta.description = "Helpers for writing expectation tests";
440 buildInputs = [ ppx_jane ];
441 propagatedBuildInputs = [ core_kernel sexp_pretty ];
444 expect_test_helpers = janePackage {
445 pname = "expect_test_helpers";
446 hash = "0ixqck2lnsmz107yw0q2sr8va80skjpldx7lz4ymjiq2vsghk0rb";
447 meta.description = "Async helpers for writing expectation tests";
448 propagatedBuildInputs = [ async expect_test_helpers_kernel ];
451 patience_diff = janePackage {
452 pname = "patience_diff";
453 hash = "055kd3piadjnplip8c8q99ssh79d4irmhg2wng7aida5pbqp2p9f";
454 meta.description = "Diff library using Bram Cohen's patience diff algorithm";
455 propagatedBuildInputs = [ core_kernel ];
458 ecaml = janePackage {
460 hash = "0n9xi6agc3lgyj2nsi10cbif0xwn57xyaranad9r285rmbxrgjh7";
461 meta.description = "Library for writing Emacs plugin in OCaml";
462 propagatedBuildInputs = [ async expect_test_helpers_kernel ];