1{
2 self,
3 bash,
4 fetchpatch,
5 fzf,
6 lib,
7 openssl,
8 zstd,
9 krb5,
10}:
11
12let
13 js_of_ocaml-compiler = self.js_of_ocaml-compiler.override { version = "5.9.1"; };
14 js_of_ocaml = self.js_of_ocaml.override { inherit js_of_ocaml-compiler; };
15 gen_js_api = self.gen_js_api.override {
16 inherit js_of_ocaml-compiler;
17 ojs = self.ojs.override { inherit js_of_ocaml-compiler; };
18 };
19 js_of_ocaml-ppx = self.js_of_ocaml-ppx.override { inherit js_of_ocaml; };
20in
21
22with self;
23
24{
25
26 abstract_algebra = janePackage {
27 pname = "abstract_algebra";
28 hash = "sha256-hAZzc2ypbGE/8mxxk4GZqr17JlIYv71gZJMQ4plsK38=";
29 meta.description = "A small library describing abstract algebra concepts";
30 propagatedBuildInputs = [
31 base
32 ppx_jane
33 ];
34 };
35
36 accessor = janePackage {
37 pname = "accessor";
38 hash = "sha256-yClfUXqwVoipF4WqbqC6VBVYc6t8MZYVoHGjchH7XQA=";
39 meta.description = "A library that makes it nicer to work with nested functional data structures";
40 propagatedBuildInputs = [ higher_kinded ];
41 };
42
43 accessor_async = janePackage {
44 pname = "accessor_async";
45 hash = "sha256-kGT7aFNOgU8/2ez9L/lefb2LN7I87+WthZHnb+dY9PE=";
46 meta.description = "Accessors for Async types, for use with the Accessor library";
47 propagatedBuildInputs = [
48 accessor_core
49 async_kernel
50 ];
51 };
52
53 accessor_base = janePackage {
54 pname = "accessor_base";
55 hash = "sha256-idnSNP6kfoV3I8QAMJ2YoUrewBpyte+0/C371aMTIxo=";
56 meta.description = "Accessors for Base types, for use with the Accessor library";
57 propagatedBuildInputs = [ ppx_accessor ];
58 };
59
60 accessor_core = janePackage {
61 pname = "accessor_core";
62 hash = "sha256-f4s/I+xDi/aca1WgaE+P3CD4e80jenS0WHg4T1Stcbg=";
63 meta.description = "Accessors for Core types, for use with the Accessor library";
64 propagatedBuildInputs = [
65 accessor_base
66 core_kernel
67 ];
68 };
69
70 async = janePackage {
71 pname = "async";
72 hash = "sha256-TpsC9sn8noiNI0aYbMalUUv3xlC2LMERsv6Gr928Vzc=";
73 meta.description = "Monadic concurrency library";
74 propagatedBuildInputs = [
75 async_rpc_kernel
76 async_unix
77 textutils
78 ];
79 doCheck = false; # we don't have netkit_sockets
80 };
81
82 async_durable = janePackage {
83 pname = "async_durable";
84 hash = "sha256-PImYpM9xNFUWeWRld4jFwWBRowUP1iXzdxkK/fP/rHE=";
85 meta.description = "Durable connections for use with async";
86 propagatedBuildInputs = [
87 async_kernel
88 async_rpc_kernel
89 core
90 core_kernel
91 ppx_jane
92 ];
93 };
94
95 async_extra = janePackage {
96 pname = "async_extra";
97 hash = "sha256-Y+gTlJuKmwvEEPuMPu7v0iYeNQtlzP8QiS0PSgoYrrI=";
98 meta.description = "Monadic concurrency library";
99 propagatedBuildInputs = [ async_kernel ];
100 };
101
102 async_find = janePackage {
103 pname = "async_find";
104 hash = "sha256-PG6BJx9tfP+zcDaG+7WdHiv4jUqsUH2TvHV6UXdzPAg=";
105 meta.description = "Directory traversal with Async";
106 propagatedBuildInputs = [ async ];
107 };
108
109 async_inotify = janePackage {
110 pname = "async_inotify";
111 hash = "sha256-seFbs06w3T+B49sw3nOjpXpoJbJ+IJ3qN5LnufrsE48=";
112 meta.description = "Async wrapper for inotify";
113 propagatedBuildInputs = [
114 async_find
115 inotify
116 ];
117 };
118
119 async_interactive = janePackage {
120 pname = "async_interactive";
121 hash = "sha256-xZKVT8L2rOLBeg7wK0tD6twhkDfwQp5ZKy4DPp1UWq8=";
122 meta.description = "Utilities for building simple command-line based user interfaces";
123 propagatedBuildInputs = [ async ];
124 };
125
126 async_js = janePackage {
127 pname = "async_js";
128 hash = "sha256-JyF1busOv9JWxp55oaxBozIQyCKlmAY3csBA4/98qy0=";
129 meta.description = "A small library that provide Async support for JavaScript platforms";
130 buildInputs = [ js_of_ocaml-ppx ];
131 propagatedBuildInputs = [
132 async_rpc_kernel
133 js_of_ocaml
134 uri-sexp
135 ];
136 };
137
138 async_kernel = janePackage {
139 pname = "async_kernel";
140 hash = "sha256-EDgdZc6GRyiiFtnElNE9jGPEjPIUniP9uB/JoySkZz8=";
141 meta.description = "Monadic concurrency library";
142 propagatedBuildInputs = [ core_kernel ];
143 };
144
145 async_rpc_kernel = janePackage {
146 pname = "async_rpc_kernel";
147 hash = "sha256-OccFMfhTRSQwx1LJcN8OkDpA62KabsyWn2hox84jqow=";
148 meta.description = "Platform-independent core of Async RPC library";
149 propagatedBuildInputs = [
150 async_kernel
151 protocol_version_header
152 ];
153 };
154
155 async_rpc_websocket = janePackage {
156 pname = "async_rpc_websocket";
157 hash = "sha256-S3xIw/mew9YhtenWfp8ZD82WtOQSzJHtreT1+kRivus=";
158 meta.description = "Library to serve and dispatch Async RPCs over websockets";
159 propagatedBuildInputs = [
160 async_rpc_kernel
161 async_websocket
162 cohttp_async_websocket
163 ];
164 };
165
166 async_sendfile = janePackage {
167 pname = "async_sendfile";
168 hash = "sha256-ykl87/De56gz6JRQfTIeWrU823PT2fnFJr08GxuDYic=";
169 meta.description = "Thin wrapper around [Linux_ext.sendfile] to send full files";
170 propagatedBuildInputs = [ async_unix ];
171 };
172
173 async_shell = janePackage {
174 pname = "async_shell";
175 hash = "sha256-DjIbadCjPymnkDsnonmxKumCWf5P9XO3ZaAwOaYRnbk=";
176 meta.description = "Shell helpers for Async";
177 propagatedBuildInputs = [
178 async
179 shell
180 ];
181 };
182
183 async_smtp = janePackage {
184 pname = "async_smtp";
185 hash = "sha256-X0eegZMMU9EnC9Oi+6DjtwNmyzQYr3EKi1duNzEAfkk=";
186 meta.description = "SMTP client and server";
187 propagatedBuildInputs = [
188 async_extra
189 async_inotify
190 async_sendfile
191 async_shell
192 async_ssl
193 email_message
194 resource_cache
195 re2_stable
196 sexp_macro
197 ];
198 };
199
200 async_ssl = janePackage {
201 version = "0.16.1";
202 pname = "async_ssl";
203 hash = "sha256-83YKxvVb/JwBnQG4R/R1Ztik9T/hO4cbiNTfFnErpG4=";
204 patches = fetchpatch {
205 url = "https://raw.githubusercontent.com/ocaml/opam-source-archives/d7f046579bfc7cfe77ce12f57fd11c206e7e9f30/patches/async_ssl/no-incompatible-pointer-types-0161.patch";
206 hash = "sha256-NcQX9eZ97kaQCOVAuYgR8NlFD3ZrGbT/2QqCjYf9Xnw=";
207 };
208 meta.description = "Async wrappers for SSL";
209 buildInputs = [ dune-configurator ];
210 propagatedBuildInputs = [
211 async
212 ctypes
213 ctypes-foreign
214 openssl
215 ];
216 };
217
218 async_unix = janePackage {
219 pname = "async_unix";
220 hash = "sha256-dT+yJC73sxS4NPR/GC/FyVLbWtYpM9DqKykVk8PEEWU=";
221 meta.description = "Monadic concurrency library";
222 propagatedBuildInputs = [
223 async_kernel
224 core_unix
225 ];
226 };
227
228 async_websocket = janePackage {
229 pname = "async_websocket";
230 hash = "sha256-Qy+A8ee6u5Vr05FNeaH/6Sdp9bcq3cnaDYO9OU06VW0=";
231 meta.description = "A library that implements the websocket protocol on top of Async";
232 propagatedBuildInputs = [
233 async
234 cryptokit
235 ];
236 };
237
238 babel = janePackage {
239 pname = "babel";
240 hash = "sha256-nnMliU0d6vtHTYEy9uMi8nMaHvAsEXKN6uNByqZ28+c=";
241 meta.description = "A library for defining Rpcs that can evolve over time without breaking backward compatibility";
242 propagatedBuildInputs = [
243 async_rpc_kernel
244 core
245 ppx_jane
246 streamable
247 tilde_f
248 ];
249 };
250
251 base = janePackage {
252 pname = "base";
253 version = "0.16.2";
254 hash = "sha256-8OvZe+aiWipJ6busBufx3OqERmqxBva55UOLjL8KoPc=";
255 meta.description = "Full standard library replacement for OCaml";
256 buildInputs = [ dune-configurator ];
257 propagatedBuildInputs = [ sexplib0 ];
258 checkInputs = [ alcotest ];
259 };
260
261 base_bigstring = janePackage {
262 pname = "base_bigstring";
263 hash = "sha256-gQbzdr05DEowzd0k9JBTF0gGMwlaVwTVJuoKZ0u9voU=";
264 meta.description = "String type based on [Bigarray], for use in I/O and C-bindings";
265 propagatedBuildInputs = [
266 int_repr
267 ppx_jane
268 ];
269 };
270
271 base_trie = janePackage {
272 pname = "base_trie";
273 hash = "sha256-KV/k3B0h/4rE+MY6f4qDnlaObMmewUS+NAN2M7sb+yw=";
274 meta.description = "Trie data structure library";
275 propagatedBuildInputs = [
276 base
277 core
278 expect_test_helpers_core
279 ppx_jane
280 ];
281 };
282
283 base_quickcheck = janePackage {
284 pname = "base_quickcheck";
285 hash = "sha256-9Flg8vAoT6f+3lw9wETQhsaA1fSsQiqKeEhzo0qtDu4=";
286 meta.description = "Randomized testing framework, designed for compatibility with Base";
287 propagatedBuildInputs = [
288 ppx_base
289 ppx_fields_conv
290 ppx_let
291 ppx_sexp_value
292 splittable_random
293 ];
294 };
295
296 bidirectional_map = janePackage {
297 pname = "bidirectional_map";
298 hash = "sha256-YEzOdzanBJaskI2/xN9E3ozWnBXDyxJvY3g/qEE73yI=";
299 meta.description = "A library for bidirectional maps and multimaps";
300 };
301
302 bignum = janePackage {
303 pname = "bignum";
304 hash = "sha256-PmvqGImF1Nrr6swx5q3+9mCfSbieC3RvWuz8oCTkSgg=";
305 propagatedBuildInputs = [
306 core_kernel
307 zarith
308 zarith_stubs_js
309 ];
310 meta.description = "Core-flavoured wrapper around zarith's arbitrary-precision rationals";
311 };
312
313 bin_prot = janePackage {
314 pname = "bin_prot";
315 hash = "sha256-qFkM6TrTLnnFKmzQHktBb68HpBTMYhiURvnRKEoAevk=";
316 meta.description = "A binary protocol generator";
317 propagatedBuildInputs = [
318 ppx_compare
319 ppx_custom_printf
320 ppx_fields_conv
321 ppx_optcomp
322 ppx_stable_witness
323 ppx_variants_conv
324 ];
325 };
326
327 bonsai = janePackage {
328 pname = "bonsai";
329 hash = "sha256-YJ+qkVG5PLBmioa1gP7y6jwn82smyyYDIwHwhDqNeWM=";
330 meta.description = "A library for building dynamic webapps, using Js_of_ocaml";
331 buildInputs = [ ppx_pattern_bind ];
332 nativeBuildInputs = [
333 ppx_css
334 js_of_ocaml-compiler
335 ocaml-embed-file
336 ];
337 propagatedBuildInputs = [
338 async
339 async_durable
340 async_extra
341 async_rpc_websocket
342 babel
343 cohttp-async
344 core_bench
345 fuzzy_match
346 incr_dom
347 indentation_buffer
348 js_of_ocaml-ppx
349 ordinal_abbreviation
350 patdiff
351 polling_state_rpc
352 ppx_css
353 ppx_typed_fields
354 profunctor
355 sexp_grammar
356 textutils
357 ];
358 };
359
360 cinaps = janePackage {
361 pname = "cinaps";
362 version = "0.15.1";
363 hash = "sha256-LycruanldSP251uYJjQqIfI76W0UQ6o5i5u8XjszBT0=";
364 meta.description = "Trivial metaprogramming tool";
365 minimalOCamlVersion = "4.04";
366 propagatedBuildInputs = [ re ];
367 doCheck = false; # fails because ppx_base doesn't include ppx_js_style
368 };
369
370 cohttp_async_websocket = janePackage {
371 pname = "cohttp_async_websocket";
372 hash = "sha256-OBtyKMyvfz0KNG4SWmvoTMVPnVTpO12N38q+kEbegJE=";
373 meta.description = "Websocket library for use with cohttp and async";
374 propagatedBuildInputs = [
375 async_ssl
376 async_websocket
377 cohttp-async
378 ppx_jane
379 uri-sexp
380 ];
381 };
382
383 cohttp_static_handler = janePackage {
384 pname = "cohttp_static_handler";
385 hash = "sha256-7NCnJVArudBEvWARQUGlJuEq3kSCjpn5YtsLsL04bf4=";
386 meta.description = "A library for easily creating a cohttp handler for static files";
387 propagatedBuildInputs = [ cohttp-async ];
388 };
389
390 content_security_policy = janePackage {
391 pname = "content_security_policy";
392 hash = "sha256-q/J+ZzeC6txyuRQzR8Hmu7cYJCQbxaMlVEmK8fj0hus=";
393 meta.description = "A library for building content-security policies";
394 propagatedBuildInputs = [
395 core
396 ppx_jane
397 ];
398 };
399
400 core = janePackage {
401 pname = "core";
402 version = "0.16.2";
403 hash = "sha256-cyOU++XJJkU2YMHfn8saFOxLoQSFhF7kARJi/9unbFQ=";
404 meta.description = "Industrial strength alternative to OCaml's standard library";
405 buildInputs = [ jst-config ];
406 propagatedBuildInputs = [
407 base
408 base_bigstring
409 base_quickcheck
410 ppx_jane
411 time_now
412 ];
413 doCheck = false; # circular dependency with core_kernel
414 };
415
416 core_bench = janePackage {
417 pname = "core_bench";
418 hash = "sha256-ASdu3ZUk+nkdNX9UbBQxKRdXBa073mWMDRW+Ceu3/t4=";
419 meta.description = "Benchmarking library";
420 propagatedBuildInputs = [ textutils ];
421 };
422
423 core_extended = janePackage {
424 pname = "core_extended";
425 hash = "sha256-hcjmFDdVKCHK8u6D4Qn2a/HYTEZOvkXHcB6BTpbjF/s=";
426 meta.description = "Extra components that are not as closely vetted or as stable as Core";
427 propagatedBuildInputs = [
428 core_unix
429 record_builder
430 ];
431 };
432
433 core_kernel = janePackage {
434 pname = "core_kernel";
435 hash = "sha256-YB3WMNLePrOKu+mmVedNo0pWN9x5fIaBxJsby56TFJU=";
436 meta.description = "System-independent part of Core";
437 buildInputs = [ jst-config ];
438 propagatedBuildInputs = [
439 base_bigstring
440 core
441 int_repr
442 sexplib
443 ];
444 doCheck = false; # we don't have quickcheck_deprecated
445 };
446
447 core_unix = janePackage {
448 pname = "core_unix";
449 hash = "sha256-mePpxjbUumMemHDKhRgACilchgS6QHZEV1ghYtT3flg=";
450 meta.description = "Unix-specific portions of Core";
451 buildInputs = [ jst-config ];
452 propagatedBuildInputs = [
453 core_kernel
454 expect_test_helpers_core
455 ocaml_intrinsics
456 ppx_jane
457 timezone
458 spawn
459 ];
460 postPatch = ''
461 patchShebangs unix_pseudo_terminal/src/discover.sh
462 '';
463 };
464
465 csvfields = janePackage {
466 pname = "csvfields";
467 hash = "sha256-FEkjRmLeqNvauBlrY2xtLZfxVfnFWU8w8noEArPUieo=";
468 propagatedBuildInputs = [
469 core
470 num
471 ];
472 meta.description = "Runtime support for ppx_xml_conv and ppx_csv_conv";
473 };
474
475 dedent = janePackage {
476 pname = "dedent";
477 hash = "sha256-fzytLr3tVr2vPmykUBzNFMxnyMcIeeo8S9BydsTKnQw=";
478 propagatedBuildInputs = [
479 base
480 ppx_jane
481 stdio
482 ];
483 meta.description = "A library for improving redability of multi-line string constants in code";
484 };
485
486 delimited_parsing = janePackage {
487 pname = "delimited_parsing";
488 hash = "sha256-XyO3hzPz48i1cnMTJvZfarM6HC7qdHqdftp9SnCjPEU=";
489 propagatedBuildInputs = [
490 async
491 core_extended
492 ];
493 meta.description = "Parsing of character (e.g., comma) separated and fixed-width values";
494 };
495
496 diffable = janePackage {
497 pname = "diffable";
498 hash = "sha256-ascQUbxzvRR8XrroaupyFZ2YNQMvlXn4PemumYTwRF4=";
499 propagatedBuildInputs = [
500 core
501 ppx_jane
502 stored_reversed
503 streamable
504 ];
505 meta.description = "An interface for diffs";
506 };
507
508 ecaml = janePackage {
509 pname = "ecaml";
510 hash = "sha256-VS7eTTD85ci3mJIXd2pG1Y/ygT9dCIvfzU2HtOufW6U=";
511 meta.description = "Library for writing Emacs plugin in OCaml";
512 propagatedBuildInputs = [
513 async
514 expect_test_helpers_core
515 ];
516 };
517
518 email_message = janePackage {
519 pname = "email_message";
520 hash = "sha256-eso68owbAspjaVgj/wGFQ7VQYlAwyYV3oNitLQWiRPA=";
521 meta.description = "E-mail message parser";
522 propagatedBuildInputs = [
523 angstrom
524 async
525 base64
526 cryptokit
527 magic-mime
528 re2
529 ];
530 };
531
532 env_config = janePackage {
533 pname = "env_config";
534 hash = "sha256-CvvpKI7F40DVC7iByrzCqW1ilPiIhdDPYaJrDoUZVSs=";
535 meta.description = "Helper library for retrieving configuration from an environment variable";
536 propagatedBuildInputs = [
537 async
538 core
539 core_unix
540 ppx_jane
541 ];
542 };
543
544 expect_test_helpers_async = janePackage {
545 pname = "expect_test_helpers_async";
546 hash = "sha256-dEvOMb1aCEt05XtkKIC9jWoIQ/2zM0Gj+K/ZN3bFjeI=";
547 meta.description = "Async helpers for writing expectation tests";
548 propagatedBuildInputs = [
549 async
550 expect_test_helpers_core
551 ];
552 };
553
554 expect_test_helpers_core = janePackage {
555 pname = "expect_test_helpers_core";
556 hash = "sha256-8DsMwk9WhQQ7iMNYSFBglfbcgvE5dySt4J4qjzJ3dJk=";
557 meta.description = "Helpers for writing expectation tests";
558 propagatedBuildInputs = [
559 core_kernel
560 sexp_pretty
561 ];
562 };
563
564 fieldslib = janePackage {
565 pname = "fieldslib";
566 hash = "sha256-dwkO65sBsPfTF0F2FKrnttEjhAY2OMbJetSgOfUXk3A=";
567 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";
568 propagatedBuildInputs = [ base ];
569 };
570
571 file_path = janePackage {
572 pname = "file_path";
573 hash = "sha256-EEpDZNgUgyeqivRhZgQWWlerl+7OOcvAbjjQ3e1NYOQ=";
574 meta.description = "A library for typed manipulation of UNIX-style file paths";
575 propagatedBuildInputs = [
576 async
577 core
578 core_kernel
579 core_unix
580 expect_test_helpers_async
581 expect_test_helpers_core
582 ppx_jane
583 ];
584 };
585
586 fuzzy_match = janePackage {
587 pname = "fuzzy_match";
588 hash = "sha256-M3yOqP0/OZFbqZZpgDdhJ/FZU3MhKwIXbWjwuMlxe2Q=";
589 meta.description = "A library for fuzzy string matching";
590 propagatedBuildInputs = [
591 core
592 ppx_jane
593 ];
594 };
595
596 fzf = janePackage {
597 pname = "fzf";
598 hash = "sha256-IQ2wze34LlOutecDOrPhj3U7MFVJTSjQW+If3QyHoes=";
599 meta.description = "A library for running the fzf command line tool";
600 propagatedBuildInputs = [
601 async
602 core_kernel
603 ppx_jane
604 ];
605 postPatch = ''
606 substituteInPlace src/fzf.ml --replace /usr/bin/fzf ${fzf}/bin/fzf
607 '';
608 };
609
610 hex_encode = janePackage {
611 pname = "hex_encode";
612 hash = "sha256-jnsf5T1D1++AUdrato/NO3gTVXu14klXozHFIG9HH/o=";
613 meta.description = "Hexadecimal encoding library";
614 propagatedBuildInputs = [
615 core
616 ppx_jane
617 ounit
618 ];
619 };
620
621 higher_kinded = janePackage {
622 pname = "higher_kinded";
623 hash = "sha256-aCpYc7f4mrPsGp038YabEyw72cA6GbCKsok+5Hej5P0=";
624 meta.description = "A library with an encoding of higher kinded types in OCaml";
625 propagatedBuildInputs = [
626 base
627 ppx_jane
628 ];
629 };
630
631 incr_dom = janePackage {
632 pname = "incr_dom";
633 hash = "sha256-fnD/YnaGK6MIy/fL6bDwcoGDJhHo2+1l8dCXxwN28kg=";
634 meta.description = "A library for building dynamic webapps, using Js_of_ocaml";
635 buildInputs = [ js_of_ocaml-ppx ];
636 propagatedBuildInputs = [
637 async_js
638 incr_map
639 incr_select
640 virtual_dom
641 ];
642 };
643
644 incr_map = janePackage {
645 pname = "incr_map";
646 hash = "sha256-D3ZD0C4YfZOfXw+3CtqL8DKcz+b06UL8AF7Rf9x+hps=";
647 meta.description = "Helpers for incremental operations on map like data structures";
648 buildInputs = [ ppx_pattern_bind ];
649 propagatedBuildInputs = [
650 abstract_algebra
651 bignum
652 diffable
653 incremental
654 streamable
655 ];
656 };
657
658 incr_select = janePackage {
659 pname = "incr_select";
660 hash = "sha256-gRUF0QsDaZfHU7Mexl5nR8xCN+65v28/r/ciueR5NdE=";
661 meta.description = "Handling of large set of incremental outputs from a single input";
662 propagatedBuildInputs = [ incremental ];
663 };
664
665 incremental = janePackage {
666 pname = "incremental";
667 hash = "sha256-PXGY0M2xeVWDLeS3SrqXy1dqsyeKgndGT6NpuiyNQQQ=";
668 meta.description = "Library for incremental computations";
669 propagatedBuildInputs = [
670 core_kernel
671 lru_cache
672 ];
673 };
674
675 indentation_buffer = janePackage {
676 pname = "indentation_buffer";
677 hash = "sha256-5ayWs7yUnuxh5S3Dp0GbYTkGXttDMomfZak4MHePFbk=";
678 meta.description = "A library for building strings with indentation";
679 propagatedBuildInputs = [
680 core
681 ppx_jane
682 ];
683 };
684
685 int_repr = janePackage {
686 pname = "int_repr";
687 hash = "sha256-lghu2U1JwZaR4dkd9PcJEW3pZSPoaFhUluIDwFAYFK0=";
688 meta.description = "Integers of various widths";
689 propagatedBuildInputs = [
690 base
691 ppx_jane
692 ];
693 };
694
695 janestreet_cpuid = janePackage {
696 pname = "janestreet_cpuid";
697 hash = "sha256-lN8+8uhcVn3AoApWzqeCe/It1G6f0VgZzFcwFEckejk=";
698 meta.description = "A library for parsing CPU capabilities out of the `cpuid` instruction";
699 propagatedBuildInputs = [
700 core
701 core_kernel
702 ppx_jane
703 ];
704 };
705
706 janestreet_csv = janePackage {
707 pname = "janestreet_csv";
708 hash = "sha256-XLyHxVlgBvMIBrG2wzOudbKqy+N12Boheb3K+6o9y1o=";
709 propagatedBuildInputs = [
710 async
711 bignum
712 core_kernel
713 core_unix
714 csvfields
715 delimited_parsing
716 fieldslib
717 numeric_string
718 ppx_jane
719 re2
720 textutils
721 tyxml
722 ocaml_pcre
723 ];
724 meta.description = "Tools for working with CSVs on the command line";
725 };
726
727 jane_rope = janePackage {
728 pname = "jane_rope";
729 hash = "sha256-MpjbwV+VS3qRuW8kxhjGzsITEdrPeWyr0V+LiKR6U8U=";
730 meta.description = "String representation with cheap concatenation";
731 propagatedBuildInputs = [
732 base
733 ppx_jane
734 ];
735 };
736
737 jane-street-headers = janePackage {
738 pname = "jane-street-headers";
739 hash = "sha256-vS6tPg8LJolte/zI5KHFYCtNuZjn//cmd94Wls3bLCU=";
740 meta.description = "Jane Street C header files";
741 };
742
743 js_of_ocaml_patches = janePackage {
744 pname = "js_of_ocaml_patches";
745 hash = "sha256-Uj+X/0XUP5Za8NKfHGo9OZnqzKCiuurYJyluD6b0wOQ=";
746 meta.description = "Additions to js_of_ocaml's standard library that are required by Jane Street libraries";
747 propagatedBuildInputs = [
748 js_of_ocaml
749 js_of_ocaml-ppx
750 ];
751 };
752
753 jsonaf = janePackage {
754 pname = "jsonaf";
755 hash = "sha256-Gn54NUg4YOyrXY5kXCZhHFz24CfUT9c55cJ2sOsNVw8=";
756 meta.description = "A library for parsing, manipulating, and serializing data structured as JSON";
757 propagatedBuildInputs = [
758 base
759 ppx_jane
760 angstrom
761 faraday
762 ];
763 };
764
765 jst-config = janePackage {
766 pname = "jst-config";
767 hash = "sha256-GviY+zYza7UNYOlAnfAz0aH4LH2B5xA+7iELLuZLgQQ=";
768 meta.description = "Compile-time configuration for Jane Street libraries";
769 buildInputs = [
770 dune-configurator
771 ppx_assert
772 stdio
773 ];
774 };
775
776 krb = janePackage {
777 pname = "krb";
778 hash = "sha256-+XwYKwpl668fZ23YEbL1wW9PlaIIjbP/hHwNanf3dAY=";
779 meta.description = "A library for using Kerberos for both Rpc and Tcp communication";
780 propagatedBuildInputs = [
781 async
782 base
783 core
784 env_config
785 hex_encode
786 ppx_jane
787 protocol_version_header
788 username_kernel
789 dune-configurator
790 krb5
791 ];
792 };
793
794 lru_cache = janePackage {
795 pname = "lru_cache";
796 hash = "sha256-FqOBC4kBL9IuFIL4JrVU7iF1AUu+1R/CchR52eyEsa8=";
797 meta.description = "An LRU Cache implementation";
798 propagatedBuildInputs = [
799 core_kernel
800 ppx_jane
801 ];
802 };
803
804 man_in_the_middle_debugger = janePackage {
805 pname = "man_in_the_middle_debugger";
806 hash = "sha256-b2A/ITf9gx3thSdEY2n7jxKrMOVDpzx4JkSMB3aTyE4=";
807 meta.description = "Man-in-the-middle debugging library";
808 propagatedBuildInputs = [
809 async
810 core
811 ppx_jane
812 angstrom
813 angstrom-async
814 ];
815 };
816
817 n_ary = janePackage {
818 pname = "n_ary";
819 hash = "sha256-ofstQs5R25NTP4EtBIzDE/Mzg9ZzAJKfAF838uu0zuE=";
820 meta.description = "A library for N-ary datatypes and operations";
821 propagatedBuildInputs = [
822 base
823 expect_test_helpers_core
824 ppx_compare
825 ppx_enumerate
826 ppx_hash
827 ppx_jane
828 ppx_sexp_conv
829 ppx_sexp_message
830 ];
831 };
832
833 numeric_string = janePackage {
834 pname = "numeric_string";
835 hash = "sha256-MzRPXMR4Pi07mfJQgOV6R1Z22y2tvQTCq22+00aY1ik=";
836 meta.description = "A comparison function for strings that sorts numeric fragments of strings according to their numeric value";
837 propagatedBuildInputs = [
838 base
839 ppx_jane
840 ];
841 };
842
843 ocaml-compiler-libs = janePackage (
844 {
845 pname = "ocaml-compiler-libs";
846 minimalOCamlVersion = "4.04.1";
847 meta.description = "OCaml compiler libraries repackaged";
848 }
849 // (
850 if lib.versionAtLeast ocaml.version "5.2" then
851 {
852 version = "0.17.0";
853 hash = "sha256-QaC6BWrpFblra6X1+TrlK+J3vZxLvLJZ2b0427DiQzM=";
854 }
855 else
856 {
857 version = "0.12.4";
858 hash = "00if2f7j9d8igdkj4rck3p74y17j6b233l91mq02drzrxj199qjv";
859 }
860 )
861 );
862
863 ocaml-embed-file = janePackage {
864 pname = "ocaml-embed-file";
865 hash = "sha256-rs+68VATumUgZQ9QrG+By5yNc8cy7avL0BDeqwix0co=";
866 propagatedBuildInputs = [
867 async
868 ppx_jane
869 ];
870 meta.description = "Files contents as module constants";
871 };
872
873 ocaml_intrinsics = janePackage {
874 pname = "ocaml_intrinsics";
875 hash = "sha256-fbFXTakzxQEeCONSXRXh8FX3HD6h49LZHVsH62Zu3PA=";
876 meta.description = "Intrinsics";
877 buildInputs = [ dune-configurator ];
878 doCheck = false; # test rules broken
879 };
880
881 of_json = janePackage {
882 pname = "of_json";
883 hash = "sha256-qh9mX03Fk9Jb8yox7mZ/CGbWecszK15oaygKbJVDqa0=";
884 meta.description = "A friendly applicative interface for Jsonaf";
885 buildInputs = [
886 core
887 core_extended
888 jsonaf
889 ppx_jane
890 ];
891 };
892
893 ordinal_abbreviation = janePackage {
894 pname = "ordinal_abbreviation";
895 hash = "sha256-bGlzFcM6Yw8fcuovrv11WNtAB4mVYv4BjuMlkhsHomQ=";
896 meta.description = "A minimal library for generating ordinal names of integers";
897 buildInputs = [
898 base
899 ppx_jane
900 ];
901 };
902
903 parsexp = janePackage {
904 pname = "parsexp";
905 hash = "sha256-oc2ASDtUyRBB68tjAoblryAcXF+u3XP1mkQPO5hNbKo=";
906 meta.description = "S-expression parsing library";
907 propagatedBuildInputs = [
908 base
909 sexplib0
910 ];
911 };
912
913 patdiff = janePackage {
914 pname = "patdiff";
915 hash = "sha256-iVRYKgVBBJws3ZlUwnZt52bIydMtzV7a2R5mjksQAps=";
916
917 # Used by patdiff-git-wrapper. Providing it here also causes the shebang
918 # line to be automatically patched.
919 buildInputs = [ bash ];
920 propagatedBuildInputs = [
921 core_unix
922 patience_diff
923 ocaml_pcre
924 ];
925 meta = {
926 description = "File Diff using the Patience Diff algorithm";
927 };
928 };
929
930 patience_diff = janePackage {
931 pname = "patience_diff";
932 hash = "sha256-JZd99bwLUNhFHng55d77yXSw9u50ahugepesXVdUl04=";
933 meta.description = "Diff library using Bram Cohen's patience diff algorithm";
934 propagatedBuildInputs = [ core_kernel ];
935 };
936
937 polling_state_rpc = janePackage {
938 pname = "polling_state_rpc";
939 hash = "sha256-l7SMFI+U2rde2OSUNOXPb9NBsvjPrBcxStNooxMgVB8=";
940 meta.description = "An RPC which tracks state on the client and server so it only needs to send diffs across the wire";
941 propagatedBuildInputs = [
942 async_kernel
943 async_rpc_kernel
944 core
945 core_kernel
946 diffable
947 ppx_jane
948 ];
949 };
950
951 posixat = janePackage {
952 pname = "posixat";
953 hash = "sha256-Nhp5jiK/TTwQXY5Bm4TTeH+xDTdXtvkSq5CS/Sr1UgA=";
954 propagatedBuildInputs = [
955 ppx_optcomp
956 ppx_sexp_conv
957 ];
958 meta.description = "Binding to the posix *at functions";
959 };
960
961 ppx_accessor = janePackage {
962 version = "0.16.1";
963 pname = "ppx_accessor";
964 hash = "sha256-o70q8eSbPeuGkIcCnKoK0BpaqPhy/NS7x2YYR6wfki8=";
965 meta.description = "[@@deriving] plugin to generate accessors for use with the Accessor libraries";
966 propagatedBuildInputs = [ accessor ];
967 };
968
969 ppx_assert = janePackage {
970 pname = "ppx_assert";
971 hash = "sha256-LrpKE0BlFC3QseSXf5WhI71blshUzhH8yo2nXjAtiB8=";
972 meta.description = "Assert-like extension nodes that raise useful errors on failure";
973 propagatedBuildInputs = [
974 ppx_cold
975 ppx_compare
976 ppx_here
977 ppx_sexp_conv
978 ];
979 };
980
981 ppx_base = janePackage {
982 pname = "ppx_base";
983 hash = "sha256-Ak+7+33qEGYwZWbES032SdkFOsae0+tWtR/DV+xrB10=";
984 meta.description = "Base set of ppx rewriters";
985 propagatedBuildInputs = [
986 ppx_cold
987 ppx_enumerate
988 ppx_globalize
989 ppx_hash
990 ];
991 };
992
993 ppx_bench = janePackage {
994 pname = "ppx_bench";
995 hash = "sha256-NZlzEMruf89NsI4jfQJLSPhjk/PN47hLbJzGEN8GPl8=";
996 meta.description = "Syntax extension for writing in-line benchmarks in ocaml code";
997 propagatedBuildInputs = [ ppx_inline_test ];
998 };
999
1000 ppx_bin_prot = janePackage {
1001 pname = "ppx_bin_prot";
1002 hash = "sha256-ktfa4umCnLd9oY2WWX/5R7vPB/g7DJX8x3nF9fYLNCQ=";
1003 meta.description = "Generation of bin_prot readers and writers from types";
1004 propagatedBuildInputs = [
1005 bin_prot
1006 ppx_here
1007 ];
1008 doCheck = false; # circular dependency with ppx_jane
1009 };
1010
1011 ppx_cold = janePackage {
1012 pname = "ppx_cold";
1013 hash = "sha256-boP07qHPbzf4ntLdV18oyID09ZUOfkIn9ZdQ0DvtrUA=";
1014 meta.description = "Expands [@cold] into [@inline never][@specialise never][@local never]";
1015 propagatedBuildInputs = [ ppxlib ];
1016 };
1017
1018 ppx_compare = janePackage {
1019 pname = "ppx_compare";
1020 hash = "sha256-4bZdhyfnzTjH4E303O6GO2jW968ftuXwoE4/x854JOo=";
1021 meta.description = "Generation of comparison functions from types";
1022 propagatedBuildInputs = [
1023 ppxlib
1024 base
1025 ];
1026 };
1027
1028 ppx_conv_func = janePackage {
1029 pname = "ppx_conv_func";
1030 hash = "sha256-HPHSZHdR9ll+7EbWc36shTdRPFYB0lkApidk+XL3clI=";
1031 meta.description = "Part of the Jane Street's PPX rewriters collection";
1032 propagatedBuildInputs = [
1033 ppxlib
1034 base
1035 ];
1036 };
1037
1038 ppx_custom_printf = janePackage {
1039 pname = "ppx_custom_printf";
1040 hash = "sha256-V30ijRgcma/rwysPxNAFnuJIb7XFrfi7mfjJxN+rSak=";
1041 meta.description = "Printf-style format-strings for user-defined string conversion";
1042 propagatedBuildInputs = [ ppx_sexp_conv ];
1043 };
1044
1045 ppx_css = janePackage {
1046 pname = "ppx_css";
1047 hash = "sha256-spT/dJW8YJtG4pOku9r6VVlBAMwGakTrr1euiABeqsU=";
1048 meta.description = "A ppx that takes in css strings and produces a module for accessing the unique names defined within";
1049 propagatedBuildInputs = [
1050 async
1051 async_unix
1052 core_kernel
1053 core_unix
1054 ppxlib
1055 js_of_ocaml
1056 js_of_ocaml-ppx
1057 sedlex
1058 virtual_dom
1059 ];
1060 meta.broken = true; # Not compatible with sedlex > 3.4
1061 };
1062
1063 ppx_csv_conv = janePackage {
1064 pname = "ppx_csv_conv";
1065 hash = "sha256-RdPcDPLzoSf45Zeon3f4HcEvlwB6Q6sAINX3LHmjmj8=";
1066 meta.description = "Generate functions to read/write records in csv format";
1067 propagatedBuildInputs = [
1068 csvfields
1069 ppx_conv_func
1070 ];
1071 };
1072
1073 ppx_demo = janePackage {
1074 pname = "ppx_demo";
1075 hash = "sha256-t/jz94YpwmorhWlcuflIZe0l85cESE62L9I7NMASVWM=";
1076 meta.description = "PPX that exposes the source code string of an expression/module structure";
1077 propagatedBuildInputs = [
1078 core
1079 dedent
1080 ppx_jane
1081 ppxlib
1082 ];
1083 };
1084
1085 ppx_derive_at_runtime = janePackage {
1086 pname = "ppx_derive_at_runtime";
1087 hash = "sha256-UESWOkyWTHJlsE6KZkty9P+iHI3oY1rLve3raRAqMbk=";
1088 meta.description = "Define a new ppx deriver by naming a runtime module";
1089 propagatedBuildInputs = [
1090 base
1091 expect_test_helpers_core
1092 ppx_jane
1093 ppxlib
1094 ];
1095 };
1096
1097 ppx_disable_unused_warnings = janePackage {
1098 pname = "ppx_disable_unused_warnings";
1099 hash = "sha256-jVNXmAy/Ti7MZmbdBjFuDwbmIILJB57flmmB6MoyCtY=";
1100 meta.description = "Expands [@disable_unused_warnings] into [@warning \"-20-26-32-33-34-35-36-37-38-39-60-66-67\"]";
1101 propagatedBuildInputs = [ ppxlib ];
1102 };
1103
1104 ppx_enumerate = janePackage {
1105 pname = "ppx_enumerate";
1106 hash = "sha256-v5JPu+qEXoZ1+mu/yTZW2sfCzU0K60/sInG/Ox1D35s=";
1107 meta.description = "Generate a list containing all values of a finite type";
1108 propagatedBuildInputs = [ ppxlib ];
1109 };
1110
1111 ppx_expect = janePackage {
1112 pname = "ppx_expect";
1113 hash = "sha256-H5ybRHufycdyCxKu370+QZAMUPQsHVD+6nD93tzvLn8=";
1114 meta.description = "Cram like framework for OCaml";
1115 propagatedBuildInputs = [
1116 ppx_here
1117 ppx_inline_test
1118 re
1119 ];
1120 doCheck = false; # test build rules broken
1121 };
1122
1123 ppx_fields_conv = janePackage {
1124 pname = "ppx_fields_conv";
1125 hash = "sha256-kl0JZocMWo2KNciCWkT4nIbJZbh56ijZmlZWbxV8Qj0=";
1126 meta.description = "Generation of accessor and iteration functions for ocaml records";
1127 propagatedBuildInputs = [
1128 fieldslib
1129 ppxlib
1130 ];
1131 };
1132
1133 ppx_fixed_literal = janePackage {
1134 pname = "ppx_fixed_literal";
1135 hash = "sha256-vS2KcCO0fVCmiIBkUBgK6qnqdjREj57QCujHERcJTyo=";
1136 meta.description = "Simpler notation for fixed point literals";
1137 propagatedBuildInputs = [ ppxlib ];
1138 };
1139
1140 ppx_globalize = janePackage {
1141 pname = "ppx_globalize";
1142 hash = "sha256-SG7710YPwWmhRVl7wN3ZQz3ZMTw3cpoywVSeVQAI3Zc=";
1143 meta.description = "A ppx rewriter that generates functions to copy local values to the global heap";
1144 propagatedBuildInputs = [
1145 base
1146 ppxlib
1147 ];
1148 };
1149
1150 ppx_hash = janePackage {
1151 pname = "ppx_hash";
1152 hash = "sha256-ZmdW+q7fak8iG42jRQgZ6chmjHHwrDSy9wg7pq/6zwk=";
1153 meta.description = "A ppx rewriter that generates hash functions from type expressions and definitions";
1154 propagatedBuildInputs = [
1155 ppx_compare
1156 ppx_sexp_conv
1157 ];
1158 };
1159
1160 ppx_here = janePackage {
1161 pname = "ppx_here";
1162 hash = "sha256-ULEom0pTusxf2k2hduv+5NVp7pW5doA/e3QGQNJfGoM=";
1163 meta.description = "Expands [%here] into its location";
1164 propagatedBuildInputs = [ ppxlib ];
1165 doCheck = false; # test build rules broken
1166 };
1167
1168 ppx_ignore_instrumentation = janePackage {
1169 pname = "ppx_ignore_instrumentation";
1170 hash = "sha256-rAdxCgAKz0jNR8ppRJO4oAEvgXbcU4J4mpreAyeGe6k=";
1171 meta.description = "Ignore Jane Street specific instrumentation extensions";
1172 propagatedBuildInputs = [ ppxlib ];
1173 };
1174
1175 ppx_inline_test = janePackage {
1176 pname = "ppx_inline_test";
1177 hash = "sha256-Ql0/80KitKvW3xffeCapYREmZvlg+QWCb2JM2T4Rjlc=";
1178 meta.description = "Syntax extension for writing in-line tests in ocaml code";
1179 propagatedBuildInputs = [
1180 ppxlib
1181 time_now
1182 ];
1183 doCheck = false; # test build rules broken
1184 };
1185
1186 ppx_jane = janePackage {
1187 pname = "ppx_jane";
1188 hash = "sha256-v+/wdEGaXdMWDBa0eJO0uR18G/pDwHjsjaskoEuLusA=";
1189 meta.description = "Standard Jane Street ppx rewriters";
1190 propagatedBuildInputs = [
1191 base_quickcheck
1192 ppx_bin_prot
1193 ppx_disable_unused_warnings
1194 ppx_expect
1195 ppx_fixed_literal
1196 ppx_ignore_instrumentation
1197 ppx_log
1198 ppx_module_timer
1199 ppx_optcomp
1200 ppx_optional
1201 ppx_pipebang
1202 ppx_stable
1203 ppx_string
1204 ppx_tydi
1205 ppx_typerep_conv
1206 ppx_variants_conv
1207 ];
1208 };
1209
1210 ppx_jsonaf_conv = janePackage {
1211 pname = "ppx_jsonaf_conv";
1212 hash = "sha256-GWDhSLtr2+VG3XFIbHgWUcLJFniC7/z90ndiE919CBo=";
1213 meta.description = "[@@deriving] plugin to generate Jsonaf conversion functions";
1214 propagatedBuildInputs = [
1215 base
1216 jsonaf
1217 ppx_jane
1218 ppxlib
1219 ];
1220 };
1221
1222 ppx_js_style = janePackage {
1223 pname = "ppx_js_style";
1224 hash = "sha256-q5CLyeu+5qjegLrJkQVMnId3HMvZ8j3c0PqEa2vTBtU=";
1225 meta.description = "Code style checker for Jane Street Packages";
1226 propagatedBuildInputs = [
1227 octavius
1228 ppxlib
1229 ];
1230 };
1231
1232 ppx_let = janePackage {
1233 pname = "ppx_let";
1234 hash = "sha256-/kEkYXFZ5OyTM4i/WWViaxKvigpoKKoiWtUWuEMkgBE=";
1235 meta.description = "Monadic let-bindings";
1236 propagatedBuildInputs = [
1237 ppxlib
1238 ppx_here
1239 ];
1240 };
1241
1242 ppx_log = janePackage {
1243 pname = "ppx_log";
1244 hash = "sha256-/HwoxBWKuVqTDYe4u0cYNGqg2Lj0h49U2VrFa4cpE2g=";
1245 meta.description = "Ppx_sexp_message-like extension nodes for lazily rendering log messages";
1246 propagatedBuildInputs = [
1247 base
1248 ppx_here
1249 ppx_sexp_conv
1250 ppx_sexp_message
1251 sexplib
1252 ];
1253 };
1254
1255 ppx_module_timer = janePackage {
1256 pname = "ppx_module_timer";
1257 hash = "sha256-AfG+ZnacrR6p7MOvtktVKVLrMBpNMkX9b2+eqNZNRF4=";
1258 meta.description = "Ppx rewriter that records top-level module startup times";
1259 propagatedBuildInputs = [ time_now ];
1260 };
1261
1262 ppx_optcomp = janePackage {
1263 pname = "ppx_optcomp";
1264 hash = "sha256-TONxBQq/b0kc89f3+jItHd9SnerNx8xa2AjO7HOW+xQ=";
1265 meta.description = "Optional compilation for OCaml";
1266 propagatedBuildInputs = [ ppxlib ];
1267 };
1268
1269 ppx_optional = janePackage {
1270 pname = "ppx_optional";
1271 hash = "sha256-1GpKEEH1Ul+W0k4/8Mra/qYlyFpeMfZ3xrmB3X7uve0=";
1272 meta.description = "Pattern matching on flat options";
1273 propagatedBuildInputs = [ ppxlib ];
1274 };
1275
1276 ppx_pattern_bind = janePackage {
1277 pname = "ppx_pattern_bind";
1278 hash = "sha256-ShR8N71a7sz5XaKDyybsy+K0Uu7sYMgvpMADVxmrI/g=";
1279 meta.description = "A ppx for writing fast incremental bind nodes in a pattern match";
1280 propagatedBuildInputs = [ ppx_let ];
1281 };
1282
1283 ppx_pipebang = janePackage {
1284 pname = "ppx_pipebang";
1285 hash = "sha256-gSS+vfsYw3FFOFZ8/iRnP3rxokKAU7EPa1wXq7SbJBk=";
1286 meta.description = "A ppx rewriter that inlines reverse application operators `|>` and `|!`";
1287 propagatedBuildInputs = [ ppxlib ];
1288 };
1289
1290 ppx_python = janePackage {
1291 pname = "ppx_python";
1292 hash = "sha256-lpc6F+Scc5ECdOXPWowKSWRnFSzKbmE8oHs7zCjq3j8=";
1293 meta.description = "A [@@deriving] plugin to generate Python conversion functions ";
1294 propagatedBuildInputs = [
1295 ppx_base
1296 ppxlib
1297 pyml
1298 ];
1299 };
1300
1301 ppx_sexp_conv = janePackage {
1302 pname = "ppx_sexp_conv";
1303 hash = "sha256-eCQfYAxZZmfNTbPrFW0sqrj63kIdIQ1MAlImCaMop68=";
1304 meta.description = "[@@deriving] plugin to generate S-expression conversion functions";
1305 propagatedBuildInputs = [
1306 ppxlib
1307 sexplib0
1308 base
1309 ];
1310 };
1311
1312 ppx_sexp_message = janePackage {
1313 pname = "ppx_sexp_message";
1314 hash = "sha256-4g3Fjrjqhw+XNkCyxrXkgZDEa3e+ytPsEtQA2xSv+jA=";
1315 meta.description = "A ppx rewriter for easy construction of s-expressions";
1316 propagatedBuildInputs = [
1317 ppx_here
1318 ppx_sexp_conv
1319 ];
1320 };
1321
1322 ppx_sexp_value = janePackage {
1323 pname = "ppx_sexp_value";
1324 hash = "sha256-LsP+deeFYxB38xXw7LLB3gOMGZiUOFRYklGVY7DMmvE=";
1325 meta.description = "A ppx rewriter that simplifies building s-expressions from ocaml values";
1326 propagatedBuildInputs = [
1327 ppx_here
1328 ppx_sexp_conv
1329 ];
1330 };
1331
1332 ppx_stable = janePackage {
1333 pname = "ppx_stable";
1334 hash = "sha256-DFCBJY+Q8LjXSF9vHwPpUJLNyMoAXdDwQZrvhl+9g0U=";
1335 meta.description = "Stable types conversions generator";
1336 propagatedBuildInputs = [ ppxlib ];
1337 };
1338
1339 ppx_stable_witness = janePackage {
1340 pname = "ppx_stable_witness";
1341 hash = "sha256-W1CN4xspM8NJiXfi7OsngfzWnLEUmBs+IRLwHfxX9d4=";
1342 meta.description = "Ppx extension for deriving a witness that a type is intended to be stable";
1343 propagatedBuildInputs = [
1344 base
1345 ppxlib
1346 ];
1347 };
1348
1349 ppx_string = janePackage {
1350 pname = "ppx_string";
1351 hash = "sha256-GQlgiaES8wc6Y7rTgmPrf9UfMfu125VoNGEbdc7kFsk=";
1352 meta.description = "Ppx extension for string interpolation";
1353 propagatedBuildInputs = [
1354 ppx_base
1355 ppxlib
1356 stdio
1357 ];
1358 };
1359
1360 ppx_tydi = janePackage {
1361 pname = "ppx_tydi";
1362 hash = "sha256-neu2Z7TgQdBzf8UtYDRhnGp3Iggfd90Fr+gQuwVTMOo=";
1363 meta.description = "Let expressions, inferring pattern type from expression";
1364 propagatedBuildInputs = [
1365 base
1366 ppxlib
1367 ];
1368 };
1369
1370 ppx_typed_fields = janePackage {
1371 pname = "ppx_typed_fields";
1372 hash = "sha256-l4lCQ4n5FLPS82sb3FgW+HF2OEY/kY10sNfr+aQF8x8=";
1373 meta.description = "GADT-based field accessors and utilities";
1374 propagatedBuildInputs = [
1375 core
1376 ppx_jane
1377 ppxlib
1378 ];
1379 };
1380
1381 ppx_typerep_conv = janePackage {
1382 pname = "ppx_typerep_conv";
1383 hash = "sha256-DxjgwZee0jOea7qyPfEhRrdcKWQb2jtjrowiJszS+Fs=";
1384 meta.description = "Generation of runtime types from type declarations";
1385 propagatedBuildInputs = [
1386 ppxlib
1387 typerep
1388 ];
1389 };
1390
1391 ppx_variants_conv = janePackage {
1392 pname = "ppx_variants_conv";
1393 hash = "sha256-Q/CCcMrD+XN5YRMzKvXuiQHfcwXwI773s8x150/eMzs=";
1394 meta.description = "Generation of accessor and iteration functions for ocaml variant types";
1395 propagatedBuildInputs = [
1396 variantslib
1397 ppxlib
1398 ];
1399 };
1400
1401 pythonlib = janePackage {
1402 pname = "pythonlib";
1403 version = "0.16";
1404 hash = "sha256-HrsdtwPSDSaMB9CDIR9P5iaAmLihUrReuNAPIYa+s3Y=";
1405 meta.description = "A library to help writing wrappers around ocaml code for python";
1406 propagatedBuildInputs = [
1407 base
1408 core
1409 expect_test_helpers_core
1410 ppx_compare
1411 ppx_expect
1412 ppx_here
1413 ppx_let
1414 ppx_python
1415 ppx_string
1416 stdio
1417 typerep
1418 pyml
1419 ];
1420 meta.broken = lib.versionAtLeast ocaml.version "4.14";
1421 };
1422
1423 profunctor = janePackage {
1424 pname = "profunctor";
1425 hash = "sha256-CFHMtCuBnrlr+B2cdJm2Tamt0A/e+f3SnjEavvE31xQ=";
1426 meta.description = "A library providing a signature for simple profunctors and traversal of a record";
1427 propagatedBuildInputs = [
1428 base
1429 ppx_jane
1430 record_builder
1431 ];
1432 };
1433
1434 protocol_version_header = janePackage {
1435 pname = "protocol_version_header";
1436 hash = "sha256-GVjnwne6ksjY9ptLOpbsgG0La6eiCJf1w4teYEtgJrA=";
1437 meta.description = "Protocol versioning";
1438 propagatedBuildInputs = [ core_kernel ];
1439 };
1440
1441 re2 = janePackage {
1442 pname = "re2";
1443 hash = "sha256-ZRJ7ooXtatEEh0sPL8M9OZ+6s7xNdTuw0Ot6txiG16I=";
1444 meta.description = "OCaml bindings for RE2, Google's regular expression library";
1445 propagatedBuildInputs = [
1446 core_kernel
1447 jane_rope
1448 regex_parser_intf
1449 ];
1450 prePatch = ''
1451 substituteInPlace src/re2_c/dune --replace 'CXX=g++' 'CXX=c++'
1452 substituteInPlace src/dune --replace '(cxx_flags (:standard \ -pedantic) (-I re2_c/libre2))' '(cxx_flags (:standard \ -pedantic) (-I re2_c/libre2) (-x c++))'
1453 '';
1454 };
1455
1456 re2_stable = janePackage {
1457 pname = "re2_stable";
1458 version = "0.14.0";
1459 hash = "sha256-gyet2Pzn7ZIqQ+UP2J51pRmwaESY2LSGTqCMZZwDTE4=";
1460 meta.description = "Re2_stable adds an incomplete but stable serialization of Re2";
1461 propagatedBuildInputs = [
1462 core
1463 re2
1464 ];
1465 };
1466
1467 record_builder = janePackage {
1468 pname = "record_builder";
1469 hash = "sha256-46zGgN9RlDjoSbi8RimuQVrMhy65Gpic0YPZpHOeoo0=";
1470 meta.description = "A library which provides traversal of records with an applicative";
1471 propagatedBuildInputs = [
1472 base
1473 ppx_jane
1474 ];
1475 };
1476
1477 redis-async = janePackage {
1478 pname = "redis-async";
1479 hash = "sha256-5msIS2m8nkaprR8NEBfKFWZBWaDJiUtjHbfPelg9/os=";
1480 meta.description = "Redis client for Async applications";
1481 propagatedBuildInputs = [
1482 async
1483 bignum
1484 core
1485 core_kernel
1486 ppx_jane
1487 ];
1488 };
1489
1490 regex_parser_intf = janePackage {
1491 pname = "regex_parser_intf";
1492 hash = "sha256-huzHtUIIVRd5pE7VU1oUjN20S55L6+WCvoLlQ0FCD7A=";
1493 meta.description = "Interface shared by Re_parser and Re2.Parser";
1494 propagatedBuildInputs = [ base ];
1495 };
1496
1497 resource_cache = janePackage {
1498 pname = "resource_cache";
1499 hash = "sha256-dN4skSHswgRYLZqN/tqhFFTfgoN8H/LgTgoe+5ZI5zE=";
1500 meta.description = "General resource cache";
1501 propagatedBuildInputs = [ async_rpc_kernel ];
1502 };
1503
1504 semantic_version = janePackage {
1505 pname = "semantic_version";
1506 hash = "sha256-KJanaDUW56ndvnTlnPeQgh0C7zsRqXJ328gcEiVDrmc=";
1507 meta.description = "Semantic versioning";
1508 propagatedBuildInputs = [
1509 core
1510 ppx_jane
1511 re
1512 ];
1513 };
1514
1515 sexp = janePackage {
1516 pname = "sexp";
1517 hash = "sha256-JWRYi5lX9UOKg+RGvW6FO61t2HlnJKXhzctOHXe0bCM=";
1518 propagatedBuildInputs = [
1519 async
1520 core
1521 csvfields
1522 jsonaf
1523 re2
1524 sexp_diff
1525 sexp_macro
1526 sexp_pretty
1527 sexp_select
1528 shell
1529 ];
1530 meta.description = "S-expression swiss knife";
1531 };
1532
1533 sexp_grammar = janePackage {
1534 pname = "sexp_grammar";
1535 hash = "sha256-Y/abRingL4+3qvaKgW9jH46E9uq7jYE2+kgr8ERKqfI=";
1536 propagatedBuildInputs = [
1537 core
1538 ppx_bin_prot
1539 ppx_compare
1540 ppx_hash
1541 ppx_let
1542 ppx_sexp_conv
1543 ppx_sexp_message
1544 zarith
1545 ];
1546 meta.description = "Helpers for manipulating [Sexplib.Sexp_grammar] values";
1547 };
1548
1549 sexp_diff = janePackage {
1550 pname = "sexp_diff";
1551 hash = "sha256-2dMBKf7eUbKZtvV7Ol2mPMzYJOCDHuOm9xFZ8vkmp/0=";
1552 propagatedBuildInputs = [ core_kernel ];
1553 meta.description = "Code for computing the diff of two sexps";
1554 };
1555
1556 sexp_macro = janePackage {
1557 pname = "sexp_macro";
1558 hash = "sha256-x9WsFFrV7wUqgPUw8KkfyzOxLrS5h5++OSK8QljeQqg=";
1559 propagatedBuildInputs = [
1560 async
1561 sexplib
1562 ];
1563 meta.description = "Sexp macros";
1564 };
1565
1566 sexp_pretty = janePackage {
1567 pname = "sexp_pretty";
1568 hash = "sha256-tcWdYZ717LkGowRSRoEcUNY7VCMX64uhCaY3bXhWxKM=";
1569 meta.description = "S-expression pretty-printer";
1570 propagatedBuildInputs = [
1571 ppx_base
1572 re
1573 sexplib
1574 ];
1575 };
1576
1577 sexp_select = janePackage {
1578 pname = "sexp_select";
1579 hash = "sha256-HEzZowojeK9yDOoTY/l01fYLUdolzQGlMO9u3phV8so=";
1580 propagatedBuildInputs = [
1581 base
1582 ppx_jane
1583 ];
1584 meta.description = "A library to use CSS-style selectors to traverse sexp trees";
1585 };
1586
1587 sexplib0 = janePackage {
1588 pname = "sexplib0";
1589 hash = "sha256-wRr1M243Bqu/XLSsr5IVPH5RTVWeVgZjxkKOrm+PW5E=";
1590 minimalOCamlVersion = "4.08.0";
1591 meta.description = "Library containing the definition of S-expressions and some base converters";
1592 };
1593
1594 sexplib = janePackage {
1595 pname = "sexplib";
1596 hash = "sha256-6MwggpjHo4FmKF88fP56LN9OHi2uIJc13TvKx4T7gEI=";
1597 meta.description = "Library for serializing OCaml values to and from S-expressions";
1598 propagatedBuildInputs = [
1599 num
1600 parsexp
1601 ];
1602 };
1603
1604 shell = janePackage {
1605 pname = "shell";
1606 hash = "sha256-pK434+ToeYURQHRV+gK57rC7BFvznWEvIu5NAib2ZTU=";
1607 meta.description = "Yet another implementation of fork&exec and related functionality";
1608 buildInputs = [ jst-config ];
1609 propagatedBuildInputs = [ textutils ];
1610 checkInputs = [ ounit ];
1611 };
1612
1613 shexp = janePackage {
1614 pname = "shexp";
1615 hash = "sha256-npIcrxMOcIgsecdUEx5XHYp0KVrXiMzMLi8jskAp4vo=";
1616 propagatedBuildInputs = [
1617 posixat
1618 spawn
1619 ];
1620 meta.description = "Process library and s-expression based shell";
1621 };
1622
1623 spawn = janePackage {
1624 pname = "spawn";
1625 minimalOCamlVersion = "4.02.3";
1626 version = "0.15.0";
1627 hash = "1fjr91psas5zmk1hxvxh0dchhn0pkyzlr4gg232f5g9vdgissi0p";
1628 meta.description = "Spawning sub-processes";
1629 buildInputs = [ ppx_expect ];
1630 };
1631
1632 splay_tree = janePackage {
1633 pname = "splay_tree";
1634 hash = "sha256-Ag6yqTofEZ3v0qF+Z7xpXQOh7+HWtvRLlY+iAYqcReg=";
1635 meta.description = "A splay tree implementation";
1636 propagatedBuildInputs = [ core_kernel ];
1637 };
1638
1639 splittable_random = janePackage {
1640 pname = "splittable_random";
1641 hash = "sha256-wMmLuzhKmnS2iTYVTPUx5Rv2LhL/ygmWmb9t2pUjz+E=";
1642 meta.description = "PRNG that can be split into independent streams";
1643 propagatedBuildInputs = [
1644 base
1645 ppx_assert
1646 ppx_bench
1647 ppx_sexp_message
1648 ];
1649 };
1650
1651 stdio = janePackage {
1652 pname = "stdio";
1653 hash = "sha256-+QgxqSMqO4VGoMWWJ3QoXdtJKcVpxlSQ/OI7dmcNqjw=";
1654 meta.description = "Standard IO library for OCaml";
1655 propagatedBuildInputs = [ base ];
1656 };
1657
1658 stored_reversed = janePackage {
1659 pname = "stored_reversed";
1660 hash = "sha256-ef11f0qifEvxKChM49Hnfk6J6hL+b0tMlm0iDLd5Y0Q=";
1661 meta.description = "A library for representing a list temporarily stored in reverse order";
1662 propagatedBuildInputs = [
1663 core
1664 ppx_jane
1665 ];
1666 };
1667
1668 streamable = janePackage {
1669 version = "0.16.1";
1670 pname = "streamable";
1671 hash = "sha256-3djrUW2tPKaEmoOIpdjN6ok7U9i07yreqbi1kP+6pnY=";
1672 meta.description = "A collection of types suitable for incremental serialization";
1673 propagatedBuildInputs = [
1674 async_kernel
1675 async_rpc_kernel
1676 base
1677 core
1678 core_kernel
1679 ppx_jane
1680 ppxlib
1681 ];
1682 };
1683
1684 textutils = janePackage {
1685 pname = "textutils";
1686 hash = "sha256-2qy99MUMpkuNCvCYlk36k4kN6cPjrEILbwEUv4DyNYw=";
1687 meta.description = "Text output utilities";
1688 propagatedBuildInputs = [
1689 core_unix
1690 textutils_kernel
1691 ];
1692 };
1693
1694 textutils_kernel = janePackage {
1695 pname = "textutils_kernel";
1696 hash = "sha256-DiXemANj5ONmvMzp+tly3AJud5u9i7HdaHmn8aVQS48=";
1697 meta.description = "Text output utilities";
1698 propagatedBuildInputs = [
1699 core
1700 ppx_jane
1701 uutf
1702 ];
1703 };
1704
1705 tilde_f = janePackage {
1706 pname = "tilde_f";
1707 hash = "sha256-qLjM9liJfMIh2fqRPBdnmtUf4xhzk2MY8dFNdON3Aew=";
1708 meta.description = "Provides a let-syntax for continuation-passing style";
1709 propagatedBuildInputs = [
1710 base
1711 ppx_jane
1712 ];
1713 };
1714
1715 time_now = janePackage {
1716 pname = "time_now";
1717 hash = "sha256-DjSrx/HgwCYS0Xzm2gFvWUVLD7a1KuFVIyVrJjBi8Tc=";
1718 meta.description = "Reports the current time";
1719 buildInputs = [
1720 jst-config
1721 ppx_optcomp
1722 ];
1723 propagatedBuildInputs = [
1724 jane-street-headers
1725 base
1726 ppx_base
1727 ];
1728 };
1729
1730 timezone = janePackage {
1731 pname = "timezone";
1732 hash = "sha256-pmXUMvLfgAwP6TV/aP9wMlOs0KfwEWtaJfdjUFLbOu0=";
1733 meta.description = "Time-zone handling";
1734 propagatedBuildInputs = [ core_kernel ];
1735 };
1736
1737 topological_sort = janePackage {
1738 pname = "topological_sort";
1739 hash = "sha256-um5++60mR++iHAruKqoQfd4EbQ1kb3L+cPOWhs9sIHI=";
1740 meta.description = "Topological sort algorithm";
1741 propagatedBuildInputs = [
1742 ppx_jane
1743 stdio
1744 ];
1745 };
1746
1747 typerep = janePackage {
1748 pname = "typerep";
1749 hash = "sha256-iJnIjWZYCTaH29x7nFviCrbnTmHRChZkkj6E5sgi4mU=";
1750 meta.description = "Typerep is a library for runtime types";
1751 propagatedBuildInputs = [ base ];
1752 };
1753
1754 username_kernel = janePackage {
1755 pname = "username_kernel";
1756 hash = "sha256-UvFL/M9OsD+SOs9MYMKiKzZilLJHzriop6SPA4bOhZQ=";
1757 meta.description = "An identifier for a user";
1758 propagatedBuildInputs = [
1759 core
1760 ppx_jane
1761 ];
1762 };
1763
1764 variantslib = janePackage {
1765 pname = "variantslib";
1766 hash = "sha256-8NoNkyIP7iEEiei+Q1zrPoJjnWwhCsLsY1vgua22gnw=";
1767 meta.description = "Part of Jane Street's Core library";
1768 propagatedBuildInputs = [ base ];
1769 };
1770
1771 vcaml = janePackage {
1772 pname = "vcaml";
1773 hash = "sha256-pmEKi24+22T76SzI3RpBmQF7ZrQwlngrpFYLoBdLwe0=";
1774 meta.description = "OCaml bindings for the Neovim API";
1775 propagatedBuildInputs = [
1776 angstrom-async
1777 async_extra
1778 expect_test_helpers_async
1779 faraday
1780 jsonaf
1781 man_in_the_middle_debugger
1782 semantic_version
1783 ];
1784 patches = [ ./vcaml.patch ];
1785 };
1786
1787 virtual_dom = janePackage {
1788 pname = "virtual_dom";
1789 hash = "sha256-nXW9cDHQVugriR0+GkayuV4S3HKothQAoNJef02iALM=";
1790 meta.description = "OCaml bindings for the virtual-dom library";
1791 buildInputs = [ js_of_ocaml-ppx ];
1792 propagatedBuildInputs = [
1793 base64
1794 core_kernel
1795 gen_js_api
1796 js_of_ocaml
1797 js_of_ocaml_patches
1798 lambdasoup
1799 tyxml
1800 uri
1801 ];
1802 };
1803
1804 zarith_stubs_js = janePackage {
1805 pname = "zarith_stubs_js";
1806 hash = "sha256-oKD+JE08Mgvk5l8XFHSZ7xqiWPaOvKC87+zHLaQ/7q0=";
1807 meta.description = "Javascripts stubs for the Zarith library";
1808 };
1809
1810 zstandard = janePackage {
1811 pname = "zstandard";
1812 hash = "sha256-QcYqlOpCAr0owmO6sLDJhki8lUnNvtkaxldKb5I5AF0=";
1813 meta.description = "OCaml bindings to Zstandard";
1814 buildInputs = [ ppx_jane ];
1815 propagatedBuildInputs = [
1816 core_kernel
1817 ctypes
1818 zstd
1819 ];
1820 };
1821
1822}