Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / ocaml-modules / janestreet / 0.12.nix
blob8d7943af42b6da061cf60ba106dab980733e3208
1 { self
2 , openssl
3 }:
5 with self;
9   ocaml-compiler-libs = janePackage {
10     pname = "ocaml-compiler-libs";
11     hash = "0g9y1ljjsj1nw0lz460ivb6qmz9vhcmfl8krlmqfrni6pc7b0r6f";
12     meta.description = "OCaml compiler libraries repackaged";
13   };
15   sexplib0 = janePackage {
16     pname = "sexplib0";
17     hash = "13xdd0pvypxqn0ldwdgikmlinrp3yfh8ixknv1xrpxbx3np4qp0g";
18     meta.description = "Library containing the definition of S-expressions and some base converters";
19   };
21   base = janePackage {
22     pname = "base";
23     version = "0.12.2";
24     hash = "0gl89zpgsf3n30nb6v5cns27g2bfg4rf3s2427gqvwbkr5gcf7ri";
25     meta.description = "Full standard library replacement for OCaml";
26     propagatedBuildInputs = [ sexplib0 ];
27     buildInputs = [ dune_1 ];
28   };
30   stdio = janePackage {
31     pname = "stdio";
32     hash = "1pn8jjcb79n6crpw7dkp68s4lz2mw103lwmfslil66f05jsxhjhg";
33     meta.description = "Standard IO library for OCaml";
34     propagatedBuildInputs = [ base ];
35   };
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 ];
42   };
44   ppx_here = janePackage {
45     pname = "ppx_here";
46     hash = "07qbchwif1i9ii8z7v1bib57d3mjv0b27i8iixw78i83wnsycmdx";
47     meta.description = "Expands [%here] into its location";
48     propagatedBuildInputs = [ ppxlib ];
49   };
51   ppx_compare = janePackage {
52     pname = "ppx_compare";
53     hash = "0n1ax4k2smhps9hc2v58lc06a0fgimwvbi1aj4x78vwh5j492bys";
54     meta.description = "Generation of comparison functions from types";
55     propagatedBuildInputs = [ ppxlib ];
56   };
58   ppx_assert = janePackage {
59     pname = "ppx_assert";
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 ];
63   };
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 ];
70   };
72   ppx_custom_printf = janePackage {
73     pname = "ppx_custom_printf";
74     version = "0.12.1";
75     hash = "0q7591agvd3qy9ihhbyk4db48r0ng7yxspfj8afxxiawl7k5bas6";
76     meta.description = "Printf-style format-strings for user-defined string conversion";
77     propagatedBuildInputs = [ ppx_sexp_conv ];
78   };
80   fieldslib = janePackage {
81     pname = "fieldslib";
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 ];
85   };
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 ];
92   };
94   variantslib = janePackage {
95     pname = "variantslib";
96     hash = "1cclb5magk63gyqmkci8abhs05g2pyhyr60a2c1bvmig0faqcnsf";
97     meta.description = "Part of Jane Street's Core library";
98     propagatedBuildInputs = [ base ];
99   };
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 ];
106   };
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 ];
113   };
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 ];
120   };
122   ppx_hash = janePackage {
123     pname = "ppx_hash";
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 ];
127   };
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 ];
134   };
136   ppx_base = janePackage {
137     pname = "ppx_base";
138     hash = "0vd96rp2l084iamkwmvizzhl9625cagjb6gzzbir06czii5mlq2p";
139     meta.description = "Base set of ppx rewriters";
140     propagatedBuildInputs = [ ppx_enumerate ppx_hash ppx_js_style ];
141   };
143   ppx_bench = janePackage {
144     pname = "ppx_bench";
145     hash = "1ib81irawxzq091bmpi50z0kmpx6z2drg14k2xcgmwbb1d4063xn";
146     meta.description = "Syntax extension for writing in-line benchmarks in ocaml code";
147     propagatedBuildInputs = [ ppx_inline_test ];
148   };
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 ];
155   };
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 ];
162   };
164   ppx_let = janePackage {
165     pname = "ppx_let";
166     hash = "146dmyzkbmafa3giz69gpxccvdihg19cvk4xsg8krbbmlkvdda22";
167     meta.description = "Monadic let-bindings";
168     propagatedBuildInputs = [ ppxlib ];
169   };
171   base_quickcheck = janePackage {
172     pname = "base_quickcheck";
173     hash = "1la6qgq1zwmfyq1hqy6i337w435ym5yqgx2ygk86qip6nws0s6r3";
174     meta.description = "Randomized testing framework, designed for compatibility with Base";
175     propagatedBuildInputs = [ ppx_base ppx_fields_conv ppx_let splittable_random ];
176   };
178   ppx_stable = janePackage {
179     pname = "ppx_stable";
180     hash = "15zvf66wlkvz0yd4bkvndkpq74dj20jv1qkljp9n52hh7d0f9ykh";
181     meta.description = "Stable types conversions generator";
182     propagatedBuildInputs = [ ppxlib ];
183   };
185   bin_prot = janePackage {
186     pname = "bin_prot";
187     hash = "0hh6s7g9s004z35hsr8z6nw5phlcvcd6g2q3bj4f0s1s0anlsswm";
188     meta.description = "A binary protocol generator";
189     propagatedBuildInputs = [ ppx_compare ppx_custom_printf ppx_fields_conv ppx_variants_conv ];
190   };
192   ppx_bin_prot = janePackage {
193     pname = "ppx_bin_prot";
194     version = "0.12.1";
195     hash = "1j0kjgmv58dmg3x5dj5zrfbm920rwq21lvkkaqq493y76cd0x8xg";
196     meta.description = "Generation of bin_prot readers and writers from types";
197     propagatedBuildInputs = [ bin_prot ppx_here ];
198   };
200   ppx_fail = janePackage {
201     pname = "ppx_fail";
202     hash = "0krsv6z9gi0ifxmw5ss6gwn108qhywyhbs41an10x9d5zpgf4l1n";
203     meta.description = "Add location to calls to failwiths";
204     propagatedBuildInputs = [ ppx_here ];
205   };
207   jst-config = janePackage {
208     pname = "jst-config";
209     hash = "0yxcz13vda1mdh9ah7qqxwfxpcqang5sgdssd8721rszbwqqaw93";
210     meta.description = "Compile-time configuration for Jane Street libraries";
211     buildInputs = [ dune_1 ppx_assert ];
212   };
214   ppx_optcomp = janePackage {
215     pname = "ppx_optcomp";
216     hash = "0bdbx01kz0174g1szdhv3mcfqxqqf2frxq7hk13xaf6fsz04kwmj";
217     meta.description = "Optional compilation for OCaml";
218     propagatedBuildInputs = [ ppxlib ];
219   };
221   jane-street-headers = janePackage {
222     pname = "jane-street-headers";
223     hash = "0qa4llf812rjqa8nb63snmy8d8ny91p3anwhb50afb7vjaby8m34";
224     meta.description = "Jane Street C header files";
225   };
227   time_now = janePackage {
228     pname = "time_now";
229     hash = "169mgsb3rja4j1j9nj5xa7bbkd21p9kfpskqz0wjf9x2fpxqsniq";
230     meta.description = "Reports the current time";
231     buildInputs = [ jst-config ppx_optcomp ];
232     propagatedBuildInputs = [ jane-street-headers base ppx_base ];
233   };
235   ppx_module_timer = janePackage {
236     pname = "ppx_module_timer";
237     hash = "0yziakm7f4c894na76k1z4bp7azy82xc33mh36fj761w1j9zy3wm";
238     meta.description = "Ppx rewriter that records top-level module startup times";
239     propagatedBuildInputs = [ time_now ];
240   };
242   ppx_optional = janePackage {
243     pname = "ppx_optional";
244     hash = "07i0iipbd5xw2bc604qkwlcxmhncfpm3xmrr6svyj2ij86pyssh8";
245     meta.description = "Pattern matching on flat options";
246     propagatedBuildInputs = [ ppxlib ];
247   };
249   ppx_pipebang = janePackage {
250     pname = "ppx_pipebang";
251     hash = "1p4pdpl8h2bblbhpn5nk17ri4rxpz0aih0gffg3cl1186irkj0xj";
252     meta.description = "A ppx rewriter that inlines reverse application operators `|>` and `|!`";
253     propagatedBuildInputs = [ ppxlib ];
254   };
256   ppx_sexp_value = janePackage {
257     pname = "ppx_sexp_value";
258     hash = "1mg81834a6dx1x7x9zb9wc58438cabjjw08yhkx6i386hxfy891p";
259     meta.description = "A ppx rewriter that simplifies building s-expressions from ocaml values";
260     propagatedBuildInputs = [ ppx_here ppx_sexp_conv ];
261   };
263   typerep = janePackage {
264     pname = "typerep";
265     hash = "1psl6gsk06a62szh60y5sc1s92xpmrl1wpw3rhha09v884b7arbc";
266     meta.description = "Typerep is a library for runtime types";
267     propagatedBuildInputs = [ base ];
268   };
270   ppx_typerep_conv = janePackage {
271     pname = "ppx_typerep_conv";
272     hash = "09vik6qma1id44k8nz87y48l9wbjhqhap1ar1hpfdfkjai1hrzzq";
273     meta.description = "Generation of runtime types from type declarations";
274     propagatedBuildInputs = [ ppxlib typerep ];
275   };
277   ppx_jane = janePackage {
278     pname = "ppx_jane";
279     hash = "1a2602isqzsh640q20qbmarx0sc316mlsqc3i25ysv2kdyhh0kyw";
280     meta.description = "Standard Jane Street ppx rewriters";
281     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 ];
282   };
284   base_bigstring = janePackage {
285     pname = "base_bigstring";
286     hash = "0rbgyg511847fbnxad40prz2dyp4da6sffzyzl88j18cxqxbh1by";
287     meta.description = "String type based on [Bigarray], for use in I/O and C-bindings";
288     propagatedBuildInputs = [ ppx_jane ];
289   };
291   parsexp = janePackage {
292     pname = "parsexp";
293     hash = "1974i9s2c2n03iffxrm6ncwbd2gg6j6avz5jsxfd35scc2zxcd4l";
294     meta.description = "S-expression parsing library";
295     propagatedBuildInputs = [ base sexplib0 ];
296   };
298   sexplib = janePackage {
299     pname = "sexplib";
300     hash = "0780klc5nnv0ij6aklzra517cfnfkjdlp8ylwjrqwr8dl9rvxza2";
301     meta.description = "Library for serializing OCaml values to and from S-expressions";
302     propagatedBuildInputs = [ num parsexp ];
303   };
305   core_kernel = janePackage {
306     pname = "core_kernel";
307     version = "0.12.2";
308     hash = "0c85bjvadrb4pmjcg0gjk3bkkgka62r90pjm690mjvcbbv5zjxzj";
309     meta.description = "System-independent part of Core";
310     buildInputs = [ jst-config ];
311     propagatedBuildInputs = [ base_bigstring sexplib ];
312   };
314   spawn = janePackage {
315     pname = "spawn";
316     version = "0.13.0";
317     hash = "1w003k1kw1lmyiqlk58gkxx8rac7dchiqlz6ah7aj7bh49b36ppf";
318     meta.description = "Spawning sub-processes";
319     buildInputs = [ ppx_expect ];
320   };
322   core = janePackage {
323     pname = "core";
324     version = "0.12.3";
325     hash = "1vmjqiafkg45hqfvahx6jnlaww1q4a4215k8znbgprf0qn3zymnj";
326     meta.description = "System-independent part of Core";
327     buildInputs = [ jst-config ];
328     propagatedBuildInputs = [ core_kernel spawn ];
329   };
331   async_kernel = janePackage {
332     pname = "async_kernel";
333     hash = "1d9illx7vvpblj1i2r9y0f2yff2fbhy3rp4hhvamq1n9n3lvxmh2";
334     meta.description = "Monadic concurrency library";
335     propagatedBuildInputs = [ core_kernel ];
336   };
338   protocol_version_header = janePackage {
339     pname = "protocol_version_header";
340     hash = "14vqhx3r84rlfhcjq52gxdqksckiaswlck9s47g7y2z1lsc17v7r";
341     meta.description = "Protocol versioning";
342     propagatedBuildInputs = [ core_kernel ];
343   };
345   async_rpc_kernel = janePackage {
346     pname = "async_rpc_kernel";
347     hash = "1znhqbzx4fp58i7dbcgyv5rx7difbhb5d8cbqzv96yqvbn67lsjk";
348     meta.description = "Platform-independent core of Async RPC library";
349     propagatedBuildInputs = [ async_kernel protocol_version_header ];
350   };
352   async_unix = janePackage {
353     pname = "async_unix";
354     hash = "09h10rdyykbm88n6r9nb5a22mlb6vcxa04q6hvrcr0kys6qhhqmb";
355     meta.description = "Monadic concurrency library";
356     propagatedBuildInputs = [ async_kernel core ];
357   };
359   async_extra = janePackage {
360     pname = "async_extra";
361     hash = "10j4mwlyqvf67yrp5dwd857llqjinpnnykmlzw2gpmks9azxk6mh";
362     meta.description = "Monadic concurrency library";
363     propagatedBuildInputs = [ async_rpc_kernel async_unix ];
364   };
366   textutils = janePackage {
367     pname = "textutils";
368     hash = "0302awqihf3abib9mvzvn4g8m364hm6jxry1r3kc01hzybhy9acq";
369     meta.description = "Text output utilities";
370     propagatedBuildInputs = [ core ];
371   };
373   async = janePackage {
374     pname = "async";
375     hash = "0pk7z3h2gi21nfchvmjz2wx516bynf9vgwf84zf5qhvlvqqsmyrx";
376     meta.description = "Monadic concurrency library";
377     propagatedBuildInputs = [ async_extra textutils ];
378   };
380   async_find = janePackage {
381     pname = "async_find";
382     hash = "0qsz9f15s5rlk6za10s810v6nlkdxg2g9p1827lcpa7nhjcpi673";
383     meta.description = "Directory traversal with Async";
384     propagatedBuildInputs = [ async ];
385   };
387   re2 = janePackage {
388     pname = "re2";
389     hash = "1sw32lb0y501y971ij7287796lvfhs0nfgla895r74ymfks2rcjb";
390     meta.description = "OCaml bindings for RE2, Google's regular expression library";
391     propagatedBuildInputs = [ core_kernel ];
392     prePatch = ''
393       substituteInPlace src/re2_c/dune --replace 'CXX=g++' 'CXX=c++'
394       substituteInPlace src/dune --replace '(cxx_flags (:standard \ -pedantic) (-I re2_c/libre2))' '(cxx_flags (:standard \ -pedantic) (-I re2_c/libre2) (-x c++))'
395     '';
396   };
398   shell = janePackage {
399     pname = "shell";
400     hash = "158857rdr6qgglc5iksg0l54jgf51b5lmsw7nlazpxwdwc9fcn5n";
401     meta.description = "Yet another implementation of fork&exec and related functionality";
402     buildInputs = [ jst-config ];
403     propagatedBuildInputs = [ re2 textutils ];
404   };
406   async_shell = janePackage {
407     pname = "async_shell";
408     hash = "0cxln9hkc3cy522la9yi9p23qjwl69kqmadsq4lnjh5bxdad06sv";
409     meta.description = "Shell helpers for Async";
410     propagatedBuildInputs = [ async shell ];
411   };
413   core_bench = janePackage {
414     pname = "core_bench";
415     hash = "00hyzbbj19dkcw0vhfnc8w0ca3zkjriwwvl00ssa0a2g9mygijdm";
416     meta.description = "Benchmarking library";
417     propagatedBuildInputs = [ textutils ];
418   };
420   core_extended = janePackage {
421     pname = "core_extended";
422     hash = "1gwx66235irpf5krb1r25a3c7w52qhmass8hp7rdv89il9jn49w4";
423     meta.description = "Extra components that are not as closely vetted or as stable as Core";
424     propagatedBuildInputs = [ core ];
425   };
427   sexp_pretty = janePackage {
428     pname = "sexp_pretty";
429     hash = "06hdsaszc5cd7fphiblbn4r1sh36xgjwf2igzr2rvlzqs7jiv2v4";
430     meta.description = "S-expression pretty-printer";
431     propagatedBuildInputs = [ ppx_base re sexplib ];
432   };
434   expect_test_helpers_kernel = janePackage {
435     pname = "expect_test_helpers_kernel";
436     hash = "18ya187y2i2hfxr771sd9vy5jdsa30vhs56yjdhwk06v01b2fzbq";
437     meta.description = "Helpers for writing expectation tests";
438     buildInputs = [ ppx_jane ];
439     propagatedBuildInputs = [ core_kernel sexp_pretty ];
440   };
442   expect_test_helpers = janePackage {
443     pname = "expect_test_helpers";
444     hash = "0ixqck2lnsmz107yw0q2sr8va80skjpldx7lz4ymjiq2vsghk0rb";
445     meta.description = "Async helpers for writing expectation tests";
446     propagatedBuildInputs = [ async expect_test_helpers_kernel ];
447   };
449   patience_diff = janePackage {
450     pname = "patience_diff";
451     hash = "055kd3piadjnplip8c8q99ssh79d4irmhg2wng7aida5pbqp2p9f";
452     meta.description = "Diff library using Bram Cohen's patience diff algorithm";
453     propagatedBuildInputs = [ core_kernel ];
454   };
456   ecaml = janePackage {
457     pname = "ecaml";
458     hash = "0n9xi6agc3lgyj2nsi10cbif0xwn57xyaranad9r285rmbxrgjh7";
459     meta.description = "Library for writing Emacs plugin in OCaml";
460     propagatedBuildInputs = [ async expect_test_helpers_kernel ];
461   };
463   ### Packages at version 0.11, with dependencies at version 0.12
465   configurator = janePackage {
466     pname = "configurator";
467     version = "0.11.0";
468     hash = "0h686630cscav7pil8c3w0gbh6rj4b41dvbnwmicmlkc746q5bfk";
469     propagatedBuildInputs = [ stdio ];
470     meta.description = "Helper library for gathering system configuration";
471   };
473   ppx_core = janePackage {
474     pname = "ppx_core";
475     version = "0.11.0";
476     hash = "11hgm9mxig4cm3c827f6dns9mjv3pf8g6skf10x0gw9xnp1dmzmx";
477     propagatedBuildInputs = [ ppxlib ];
478     meta.description = "Deprecated (see ppxlib)";
479   };
481   ppx_driver = janePackage {
482     pname = "ppx_driver";
483     version = "0.11.0";
484     hash = "00kfx6js2kxk57k4v7hiqvwk7h35whgjihnxf75m82rnaf4yzvfi";
485     propagatedBuildInputs = [ ppxlib ];
486     meta.description = "Deprecated (see ppxlib)";
487   };
489   ppx_type_conv = janePackage {
490     pname = "ppx_type_conv";
491     version = "0.11.0";
492     hash = "04dbrglqqhkas25cpjz8xhjcbpk141c35qggzw66bn69izczfmaf";
493     propagatedBuildInputs = [ ppxlib ];
494     meta.description = "Deprecated (see ppxlib)";
495   };