Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
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}