1{
2 self,
3 openssl,
4}:
5
6with self;
7
8{
9
10 ocaml-compiler-libs = janePackage {
11 pname = "ocaml-compiler-libs";
12 hash = "0g9y1ljjsj1nw0lz460ivb6qmz9vhcmfl8krlmqfrni6pc7b0r6f";
13 meta.description = "OCaml compiler libraries repackaged";
14 };
15
16 sexplib0 = janePackage {
17 pname = "sexplib0";
18 hash = "13xdd0pvypxqn0ldwdgikmlinrp3yfh8ixknv1xrpxbx3np4qp0g";
19 meta.description = "Library containing the definition of S-expressions and some base converters";
20 };
21
22 base = janePackage {
23 pname = "base";
24 version = "0.12.2";
25 hash = "0gl89zpgsf3n30nb6v5cns27g2bfg4rf3s2427gqvwbkr5gcf7ri";
26 meta.description = "Full standard library replacement for OCaml";
27 propagatedBuildInputs = [ sexplib0 ];
28 buildInputs = [ dune-configurator ];
29 };
30
31 stdio = janePackage {
32 pname = "stdio";
33 hash = "1pn8jjcb79n6crpw7dkp68s4lz2mw103lwmfslil66f05jsxhjhg";
34 meta.description = "Standard IO library for OCaml";
35 propagatedBuildInputs = [ base ];
36 };
37
38 ppx_sexp_conv = janePackage {
39 pname = "ppx_sexp_conv";
40 hash = "0idzp1kzds0gnilschzs9ydi54if8y5xpn6ajn710vkipq26qcld";
41 meta.description = "[@@deriving] plugin to generate S-expression conversion functions";
42 propagatedBuildInputs = [ ppxlib ];
43 };
44
45 ppx_here = janePackage {
46 pname = "ppx_here";
47 hash = "07qbchwif1i9ii8z7v1bib57d3mjv0b27i8iixw78i83wnsycmdx";
48 meta.description = "Expands [%here] into its location";
49 propagatedBuildInputs = [ ppxlib ];
50 };
51
52 ppx_compare = janePackage {
53 pname = "ppx_compare";
54 hash = "0n1ax4k2smhps9hc2v58lc06a0fgimwvbi1aj4x78vwh5j492bys";
55 meta.description = "Generation of comparison functions from types";
56 propagatedBuildInputs = [ ppxlib ];
57 };
58
59 ppx_assert = janePackage {
60 pname = "ppx_assert";
61 hash = "0as6mzr6ki2a9d4k6132p9dskn0qssla1s7j5rkzp75bfikd0ip8";
62 meta.description = "Assert-like extension nodes that raise useful errors on failure";
63 propagatedBuildInputs = [
64 ppx_compare
65 ppx_here
66 ppx_sexp_conv
67 ];
68 };
69
70 ppx_inline_test = janePackage {
71 pname = "ppx_inline_test";
72 hash = "0nyz411zim94pzbxm2l2v2l9jishcxwvxhh142792g2s18r4vn50";
73 meta.description = "Syntax extension for writing in-line tests in ocaml code";
74 propagatedBuildInputs = [ ppxlib ];
75 };
76
77 ppx_custom_printf = janePackage {
78 pname = "ppx_custom_printf";
79 version = "0.12.1";
80 hash = "0q7591agvd3qy9ihhbyk4db48r0ng7yxspfj8afxxiawl7k5bas6";
81 meta.description = "Printf-style format-strings for user-defined string conversion";
82 propagatedBuildInputs = [ ppx_sexp_conv ];
83 };
84
85 fieldslib = janePackage {
86 pname = "fieldslib";
87 hash = "0dlgr7cimqmjlcymk3bdcyzqzvdy12q5lqa844nqix0k2ymhyphf";
88 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";
89 propagatedBuildInputs = [ base ];
90 };
91
92 ppx_fields_conv = janePackage {
93 pname = "ppx_fields_conv";
94 hash = "0flrdyxdfcqcmdrbipxdjq0s3djdgs7z5pvjdycsvs6czbixz70v";
95 meta.description = "Generation of accessor and iteration functions for ocaml records";
96 propagatedBuildInputs = [
97 fieldslib
98 ppxlib
99 ];
100 };
101
102 variantslib = janePackage {
103 pname = "variantslib";
104 hash = "1cclb5magk63gyqmkci8abhs05g2pyhyr60a2c1bvmig0faqcnsf";
105 meta.description = "Part of Jane Street's Core library";
106 propagatedBuildInputs = [ base ];
107 };
108
109 ppx_variants_conv = janePackage {
110 pname = "ppx_variants_conv";
111 hash = "05j9bgra8xq6fcp12ch3z9vjrk139p2wrcjjcs4h52n5hhc8vzbz";
112 meta.description = "Generation of accessor and iteration functions for ocaml variant types";
113 propagatedBuildInputs = [
114 variantslib
115 ppxlib
116 ];
117 };
118
119 ppx_expect = janePackage {
120 pname = "ppx_expect";
121 hash = "1wawsbjfkri4sw52n8xqrzihxc3xfpdicv3ahz83a1rsn4lb8j5q";
122 meta.description = "Cram like framework for OCaml";
123 propagatedBuildInputs = [
124 ppx_assert
125 ppx_custom_printf
126 ppx_fields_conv
127 ppx_inline_test
128 ppx_variants_conv
129 re
130 ];
131 };
132
133 ppx_enumerate = janePackage {
134 pname = "ppx_enumerate";
135 hash = "08zfpq6bdm5lh7xj9k72iz9f2ihv3aznl3nypw3x78vz1chj8dqa";
136 meta.description = "Generate a list containing all values of a finite type";
137 propagatedBuildInputs = [ ppxlib ];
138 };
139
140 ppx_hash = janePackage {
141 pname = "ppx_hash";
142 hash = "1dfsfvhiyp1mnf24mr93svpdn432kla0y7x631lssacxxp2sadbg";
143 meta.description = "A ppx rewriter that generates hash functions from type expressions and definitions";
144 propagatedBuildInputs = [
145 ppx_compare
146 ppx_sexp_conv
147 ];
148 };
149
150 ppx_js_style = janePackage {
151 pname = "ppx_js_style";
152 hash = "1lz931m3qdv3yzqy6dnb8fq1d99r61w0n7cwf3b9fl9rhk0pggwh";
153 meta.description = "Code style checker for Jane Street Packages";
154 propagatedBuildInputs = [
155 octavius
156 ppxlib
157 ];
158 };
159
160 ppx_base = janePackage {
161 pname = "ppx_base";
162 hash = "0vd96rp2l084iamkwmvizzhl9625cagjb6gzzbir06czii5mlq2p";
163 meta.description = "Base set of ppx rewriters";
164 propagatedBuildInputs = [
165 ppx_enumerate
166 ppx_hash
167 ppx_js_style
168 ];
169 };
170
171 ppx_bench = janePackage {
172 pname = "ppx_bench";
173 hash = "1ib81irawxzq091bmpi50z0kmpx6z2drg14k2xcgmwbb1d4063xn";
174 meta.description = "Syntax extension for writing in-line benchmarks in ocaml code";
175 propagatedBuildInputs = [ ppx_inline_test ];
176 };
177
178 ppx_sexp_message = janePackage {
179 pname = "ppx_sexp_message";
180 hash = "0yskd6v48jc6wa0nhg685kylh1n9qb6b7d1wglr9wnhl9sw990mc";
181 meta.description = "A ppx rewriter for easy construction of s-expressions";
182 propagatedBuildInputs = [
183 ppx_here
184 ppx_sexp_conv
185 ];
186 };
187
188 splittable_random = janePackage {
189 pname = "splittable_random";
190 hash = "1wpyz7807cgj8b50gdx4rw6f1zsznp4ni5lzjbnqdwa66na6ynr4";
191 meta.description = "PRNG that can be split into independent streams";
192 propagatedBuildInputs = [
193 base
194 ppx_assert
195 ppx_bench
196 ppx_sexp_message
197 ];
198 };
199
200 ppx_let = janePackage {
201 pname = "ppx_let";
202 hash = "146dmyzkbmafa3giz69gpxccvdihg19cvk4xsg8krbbmlkvdda22";
203 meta.description = "Monadic let-bindings";
204 propagatedBuildInputs = [ ppxlib ];
205 };
206
207 base_quickcheck = janePackage {
208 version = "0.12.1";
209 pname = "base_quickcheck";
210 hash = "sha256-ABfUtOzdtGrYR6EgtVYkmxRvsH48jJwSVVOwf4Od12Y=";
211 meta.description = "Randomized testing framework, designed for compatibility with Base";
212 propagatedBuildInputs = [
213 ppx_base
214 ppx_fields_conv
215 ppx_let
216 splittable_random
217 ];
218 };
219
220 ppx_stable = janePackage {
221 pname = "ppx_stable";
222 hash = "15zvf66wlkvz0yd4bkvndkpq74dj20jv1qkljp9n52hh7d0f9ykh";
223 meta.description = "Stable types conversions generator";
224 propagatedBuildInputs = [ ppxlib ];
225 };
226
227 bin_prot = janePackage {
228 pname = "bin_prot";
229 hash = "0hh6s7g9s004z35hsr8z6nw5phlcvcd6g2q3bj4f0s1s0anlsswm";
230 meta.description = "A binary protocol generator";
231 propagatedBuildInputs = [
232 ppx_compare
233 ppx_custom_printf
234 ppx_fields_conv
235 ppx_variants_conv
236 ];
237 };
238
239 ppx_bin_prot = janePackage {
240 pname = "ppx_bin_prot";
241 version = "0.12.1";
242 hash = "1j0kjgmv58dmg3x5dj5zrfbm920rwq21lvkkaqq493y76cd0x8xg";
243 meta.description = "Generation of bin_prot readers and writers from types";
244 propagatedBuildInputs = [
245 bin_prot
246 ppx_here
247 ];
248 };
249
250 ppx_fail = janePackage {
251 pname = "ppx_fail";
252 hash = "0krsv6z9gi0ifxmw5ss6gwn108qhywyhbs41an10x9d5zpgf4l1n";
253 meta.description = "Add location to calls to failwiths";
254 propagatedBuildInputs = [ ppx_here ];
255 };
256
257 jst-config = janePackage {
258 pname = "jst-config";
259 hash = "0yxcz13vda1mdh9ah7qqxwfxpcqang5sgdssd8721rszbwqqaw93";
260 meta.description = "Compile-time configuration for Jane Street libraries";
261 buildInputs = [
262 dune-configurator
263 ppx_assert
264 ];
265 };
266
267 ppx_optcomp = janePackage {
268 pname = "ppx_optcomp";
269 hash = "0bdbx01kz0174g1szdhv3mcfqxqqf2frxq7hk13xaf6fsz04kwmj";
270 meta.description = "Optional compilation for OCaml";
271 propagatedBuildInputs = [ ppxlib ];
272 };
273
274 jane-street-headers = janePackage {
275 pname = "jane-street-headers";
276 hash = "0qa4llf812rjqa8nb63snmy8d8ny91p3anwhb50afb7vjaby8m34";
277 meta.description = "Jane Street C header files";
278 };
279
280 time_now = janePackage {
281 pname = "time_now";
282 hash = "169mgsb3rja4j1j9nj5xa7bbkd21p9kfpskqz0wjf9x2fpxqsniq";
283 meta.description = "Reports the current time";
284 buildInputs = [
285 jst-config
286 ppx_optcomp
287 ];
288 propagatedBuildInputs = [
289 jane-street-headers
290 base
291 ppx_base
292 ];
293 };
294
295 ppx_module_timer = janePackage {
296 pname = "ppx_module_timer";
297 hash = "0yziakm7f4c894na76k1z4bp7azy82xc33mh36fj761w1j9zy3wm";
298 meta.description = "Ppx rewriter that records top-level module startup times";
299 propagatedBuildInputs = [ time_now ];
300 };
301
302 ppx_optional = janePackage {
303 pname = "ppx_optional";
304 hash = "07i0iipbd5xw2bc604qkwlcxmhncfpm3xmrr6svyj2ij86pyssh8";
305 meta.description = "Pattern matching on flat options";
306 propagatedBuildInputs = [ ppxlib ];
307 };
308
309 ppx_pipebang = janePackage {
310 pname = "ppx_pipebang";
311 hash = "1p4pdpl8h2bblbhpn5nk17ri4rxpz0aih0gffg3cl1186irkj0xj";
312 meta.description = "A ppx rewriter that inlines reverse application operators `|>` and `|!`";
313 propagatedBuildInputs = [ ppxlib ];
314 };
315
316 ppx_sexp_value = janePackage {
317 pname = "ppx_sexp_value";
318 hash = "1mg81834a6dx1x7x9zb9wc58438cabjjw08yhkx6i386hxfy891p";
319 meta.description = "A ppx rewriter that simplifies building s-expressions from ocaml values";
320 propagatedBuildInputs = [
321 ppx_here
322 ppx_sexp_conv
323 ];
324 };
325
326 typerep = janePackage {
327 pname = "typerep";
328 hash = "1psl6gsk06a62szh60y5sc1s92xpmrl1wpw3rhha09v884b7arbc";
329 meta.description = "Typerep is a library for runtime types";
330 propagatedBuildInputs = [ base ];
331 };
332
333 ppx_typerep_conv = janePackage {
334 pname = "ppx_typerep_conv";
335 hash = "09vik6qma1id44k8nz87y48l9wbjhqhap1ar1hpfdfkjai1hrzzq";
336 meta.description = "Generation of runtime types from type declarations";
337 propagatedBuildInputs = [
338 ppxlib
339 typerep
340 ];
341 };
342
343 ppx_jane = janePackage {
344 pname = "ppx_jane";
345 hash = "1a2602isqzsh640q20qbmarx0sc316mlsqc3i25ysv2kdyhh0kyw";
346 meta.description = "Standard Jane Street ppx rewriters";
347 propagatedBuildInputs = [
348 base_quickcheck
349 ppx_bench
350 ppx_bin_prot
351 ppx_expect
352 ppx_fail
353 ppx_module_timer
354 ppx_optcomp
355 ppx_optional
356 ppx_pipebang
357 ppx_sexp_value
358 ppx_stable
359 ppx_typerep_conv
360 ];
361 };
362
363 base_bigstring = janePackage {
364 pname = "base_bigstring";
365 hash = "0rbgyg511847fbnxad40prz2dyp4da6sffzyzl88j18cxqxbh1by";
366 meta.description = "String type based on [Bigarray], for use in I/O and C-bindings";
367 propagatedBuildInputs = [ ppx_jane ];
368 };
369
370 parsexp = janePackage {
371 pname = "parsexp";
372 hash = "1974i9s2c2n03iffxrm6ncwbd2gg6j6avz5jsxfd35scc2zxcd4l";
373 meta.description = "S-expression parsing library";
374 propagatedBuildInputs = [
375 base
376 sexplib0
377 ];
378 };
379
380 sexplib = janePackage {
381 pname = "sexplib";
382 hash = "0780klc5nnv0ij6aklzra517cfnfkjdlp8ylwjrqwr8dl9rvxza2";
383 meta.description = "Library for serializing OCaml values to and from S-expressions";
384 propagatedBuildInputs = [
385 num
386 parsexp
387 ];
388 };
389
390 core_kernel = janePackage {
391 pname = "core_kernel";
392 version = "0.12.3";
393 hash = "sha256-bDgxuOILAs4FYB8o92ysPHDdEzflZMsU/jk5hB9xfuc=";
394 meta.description = "System-independent part of Core";
395 buildInputs = [ jst-config ];
396 propagatedBuildInputs = [
397 base_bigstring
398 sexplib
399 ];
400 };
401
402 spawn = janePackage {
403 pname = "spawn";
404 version = "0.13.0";
405 hash = "1w003k1kw1lmyiqlk58gkxx8rac7dchiqlz6ah7aj7bh49b36ppf";
406 meta.description = "Spawning sub-processes";
407 buildInputs = [ ppx_expect ];
408 };
409
410 core = janePackage {
411 pname = "core";
412 version = "0.12.3";
413 hash = "1vmjqiafkg45hqfvahx6jnlaww1q4a4215k8znbgprf0qn3zymnj";
414 meta.description = "System-independent part of Core";
415 buildInputs = [ jst-config ];
416 propagatedBuildInputs = [
417 core_kernel
418 spawn
419 ];
420 };
421
422 async_kernel = janePackage {
423 pname = "async_kernel";
424 hash = "1d9illx7vvpblj1i2r9y0f2yff2fbhy3rp4hhvamq1n9n3lvxmh2";
425 meta.description = "Monadic concurrency library";
426 propagatedBuildInputs = [ core_kernel ];
427 };
428
429 protocol_version_header = janePackage {
430 pname = "protocol_version_header";
431 hash = "14vqhx3r84rlfhcjq52gxdqksckiaswlck9s47g7y2z1lsc17v7r";
432 meta.description = "Protocol versioning";
433 propagatedBuildInputs = [ core_kernel ];
434 };
435
436 async_rpc_kernel = janePackage {
437 pname = "async_rpc_kernel";
438 hash = "1znhqbzx4fp58i7dbcgyv5rx7difbhb5d8cbqzv96yqvbn67lsjk";
439 meta.description = "Platform-independent core of Async RPC library";
440 propagatedBuildInputs = [
441 async_kernel
442 protocol_version_header
443 ];
444 };
445
446 async_unix = janePackage {
447 pname = "async_unix";
448 hash = "09h10rdyykbm88n6r9nb5a22mlb6vcxa04q6hvrcr0kys6qhhqmb";
449 meta.description = "Monadic concurrency library";
450 propagatedBuildInputs = [
451 async_kernel
452 core
453 ];
454 };
455
456 async_extra = janePackage {
457 pname = "async_extra";
458 hash = "10j4mwlyqvf67yrp5dwd857llqjinpnnykmlzw2gpmks9azxk6mh";
459 meta.description = "Monadic concurrency library";
460 propagatedBuildInputs = [
461 async_rpc_kernel
462 async_unix
463 ];
464 };
465
466 textutils = janePackage {
467 pname = "textutils";
468 hash = "0302awqihf3abib9mvzvn4g8m364hm6jxry1r3kc01hzybhy9acq";
469 meta.description = "Text output utilities";
470 propagatedBuildInputs = [ core ];
471 };
472
473 async = janePackage {
474 pname = "async";
475 hash = "0pk7z3h2gi21nfchvmjz2wx516bynf9vgwf84zf5qhvlvqqsmyrx";
476 meta.description = "Monadic concurrency library";
477 propagatedBuildInputs = [
478 async_extra
479 textutils
480 ];
481 };
482
483 async_find = janePackage {
484 pname = "async_find";
485 hash = "0qsz9f15s5rlk6za10s810v6nlkdxg2g9p1827lcpa7nhjcpi673";
486 meta.description = "Directory traversal with Async";
487 propagatedBuildInputs = [ async ];
488 };
489
490 re2 = janePackage {
491 pname = "re2";
492 version = "0.12.1";
493 hash = "sha256-NPQKKUSwckZx4GN4wX2sc0Mn7bes6p79oZrN6xouc6o=";
494 meta.description = "OCaml bindings for RE2, Google's regular expression library";
495 propagatedBuildInputs = [ core_kernel ];
496 prePatch = ''
497 substituteInPlace src/re2_c/dune --replace 'CXX=g++' 'CXX=c++'
498 substituteInPlace src/dune --replace '(cxx_flags (:standard \ -pedantic) (-I re2_c/libre2))' '(cxx_flags (:standard \ -pedantic) (-I re2_c/libre2) (-x c++))'
499 '';
500 };
501
502 shell = janePackage {
503 pname = "shell";
504 hash = "158857rdr6qgglc5iksg0l54jgf51b5lmsw7nlazpxwdwc9fcn5n";
505 meta.description = "Yet another implementation of fork&exec and related functionality";
506 buildInputs = [ jst-config ];
507 propagatedBuildInputs = [
508 re2
509 textutils
510 ];
511 };
512
513 async_shell = janePackage {
514 pname = "async_shell";
515 hash = "0cxln9hkc3cy522la9yi9p23qjwl69kqmadsq4lnjh5bxdad06sv";
516 meta.description = "Shell helpers for Async";
517 propagatedBuildInputs = [
518 async
519 shell
520 ];
521 };
522
523 core_bench = janePackage {
524 pname = "core_bench";
525 hash = "00hyzbbj19dkcw0vhfnc8w0ca3zkjriwwvl00ssa0a2g9mygijdm";
526 meta.description = "Benchmarking library";
527 propagatedBuildInputs = [ textutils ];
528 };
529
530 core_extended = janePackage {
531 pname = "core_extended";
532 hash = "1gwx66235irpf5krb1r25a3c7w52qhmass8hp7rdv89il9jn49w4";
533 meta.description = "Extra components that are not as closely vetted or as stable as Core";
534 propagatedBuildInputs = [ core ];
535 };
536
537 sexp_pretty = janePackage {
538 pname = "sexp_pretty";
539 hash = "06hdsaszc5cd7fphiblbn4r1sh36xgjwf2igzr2rvlzqs7jiv2v4";
540 meta.description = "S-expression pretty-printer";
541 propagatedBuildInputs = [
542 ppx_base
543 re
544 sexplib
545 ];
546 };
547
548 expect_test_helpers_kernel = janePackage {
549 pname = "expect_test_helpers_kernel";
550 hash = "18ya187y2i2hfxr771sd9vy5jdsa30vhs56yjdhwk06v01b2fzbq";
551 meta.description = "Helpers for writing expectation tests";
552 buildInputs = [ ppx_jane ];
553 propagatedBuildInputs = [
554 core_kernel
555 sexp_pretty
556 ];
557 };
558
559 expect_test_helpers = janePackage {
560 pname = "expect_test_helpers";
561 hash = "0ixqck2lnsmz107yw0q2sr8va80skjpldx7lz4ymjiq2vsghk0rb";
562 meta.description = "Async helpers for writing expectation tests";
563 propagatedBuildInputs = [
564 async
565 expect_test_helpers_kernel
566 ];
567 };
568
569 patience_diff = janePackage {
570 pname = "patience_diff";
571 hash = "055kd3piadjnplip8c8q99ssh79d4irmhg2wng7aida5pbqp2p9f";
572 meta.description = "Diff library using Bram Cohen's patience diff algorithm";
573 propagatedBuildInputs = [ core_kernel ];
574 };
575
576 ecaml = janePackage {
577 pname = "ecaml";
578 hash = "0n9xi6agc3lgyj2nsi10cbif0xwn57xyaranad9r285rmbxrgjh7";
579 meta.description = "Library for writing Emacs plugin in OCaml";
580 propagatedBuildInputs = [
581 async
582 expect_test_helpers_kernel
583 ];
584 };
585
586}