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}: 10 11let 12 js_of_ocaml-compiler = self.js_of_ocaml-compiler.override { version = "5.9.1"; }; 13 js_of_ocaml = self.js_of_ocaml.override { inherit js_of_ocaml-compiler; }; 14 gen_js_api = self.gen_js_api.override { 15 inherit js_of_ocaml-compiler; 16 ojs = self.ojs.override { inherit js_of_ocaml-compiler; }; 17 }; 18 js_of_ocaml-ppx = self.js_of_ocaml-ppx.override { inherit js_of_ocaml; }; 19in 20 21with self; 22 23{ 24 25 abstract_algebra = janePackage { 26 pname = "abstract_algebra"; 27 hash = "sha256-W2rSSbppNkulCgGeTiovzP5zInPWIVfflDxWkGpEOFA="; 28 meta.description = "A small library describing abstract algebra concepts"; 29 propagatedBuildInputs = [ 30 base 31 ppx_jane 32 ]; 33 }; 34 35 accessor = janePackage { 36 pname = "accessor"; 37 hash = "sha256-1inoFwDDhnfhW+W3aAkcFNUkf5Umy8BDGDEbMty+Fts="; 38 meta.description = "A library that makes it nicer to work with nested functional data structures"; 39 propagatedBuildInputs = [ higher_kinded ]; 40 }; 41 42 accessor_async = janePackage { 43 pname = "accessor_async"; 44 hash = "sha256-EYyxZur+yshYaX1EJbWc/bCaAa9PDKiuK87fIeqhspo="; 45 meta.description = "Accessors for Async types, for use with the Accessor library"; 46 propagatedBuildInputs = [ 47 accessor_core 48 async_kernel 49 ]; 50 }; 51 52 accessor_base = janePackage { 53 pname = "accessor_base"; 54 hash = "sha256-6LJ8dKPAuaxWinArkPl4OE0eYPqvM7+Ao6jff8jhjXc="; 55 meta.description = "Accessors for Base types, for use with the Accessor library"; 56 propagatedBuildInputs = [ ppx_accessor ]; 57 }; 58 59 accessor_core = janePackage { 60 pname = "accessor_core"; 61 hash = "sha256-ku83ZfLtVI8FvQhrKcnJmhmoNlYcVMKx1tor5N8Nq7M="; 62 meta.description = "Accessors for Core types, for use with the Accessor library"; 63 propagatedBuildInputs = [ 64 accessor_base 65 core_kernel 66 ]; 67 }; 68 69 async = janePackage { 70 pname = "async"; 71 hash = "sha256-CwRPH5tFZHJqptdmNwdZvKvSJ1Qr21gV1jaxsa/vFBU="; 72 meta.description = "Monadic concurrency library"; 73 propagatedBuildInputs = [ 74 async_rpc_kernel 75 async_log 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-CAU54j3K47p4hQqAtHJYuAQ0IvZPMQZKFp5J7G+xtjM="; 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-rZUROyYrvtgnI+leTMXuGcw71MfVhqdkfp9EIhAFUnM="; 98 meta.description = "Monadic concurrency library"; 99 propagatedBuildInputs = [ async_kernel ]; 100 }; 101 102 async_find = janePackage { 103 pname = "async_find"; 104 hash = "sha256-byvLJvhq7606gKP1kjLRYe3eonkAG3Vz6wQcsjJOiOE="; 105 meta.description = "Directory traversal with Async"; 106 propagatedBuildInputs = [ async ]; 107 }; 108 109 async_inotify = janePackage { 110 pname = "async_inotify"; 111 hash = "sha256-608G8OKQxqrQdYc1Cfrd8g8WLX6QwSeMUz8ORuSbmA8="; 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-hC7mLDLtvIEMKLMeDOC5ADiAGJlJqYF35RDI+porsKA="; 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-4t7dJ04lTQ0b6clf8AvtyC8ip43vIcEBXgHJLiRbuGM="; 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-fEbo7EeOJHnBqTYvC/o2a2x69XPnANbe15v/yv29l/4="; 141 meta.description = "Monadic concurrency library"; 142 propagatedBuildInputs = [ core_kernel ]; 143 }; 144 145 async_log = janePackage { 146 pname = "async_log"; 147 hash = "sha256-XeWC3oC0n4or3EDLrNLWXMWhyhH6kcah0Mdb56rZ5lA="; 148 meta.description = "Logging library built on top of Async_unix"; 149 propagatedBuildInputs = [ 150 async_kernel 151 async_unix 152 core 153 core_kernel 154 ppx_jane 155 timezone 156 ]; 157 }; 158 159 async_rpc_kernel = janePackage { 160 pname = "async_rpc_kernel"; 161 hash = "sha256-zSqmRgybvWhS9XiNIqgxUjQU8xc9aXM69ZaBq4+r+HA="; 162 meta.description = "Platform-independent core of Async RPC library"; 163 propagatedBuildInputs = [ 164 async_kernel 165 protocol_version_header 166 ]; 167 }; 168 169 async_rpc_websocket = janePackage { 170 pname = "async_rpc_websocket"; 171 hash = "sha256-pbgG872Av6rX/CH2sOKgTVR42XpP0xhzdR/Bqoq7bSU="; 172 meta.description = "Library to serve and dispatch Async RPCs over websockets"; 173 propagatedBuildInputs = [ 174 async_rpc_kernel 175 async_websocket 176 cohttp_async_websocket 177 ]; 178 }; 179 180 async_sendfile = janePackage { 181 pname = "async_sendfile"; 182 hash = "sha256-x2chts7U9hoGW6uvyfpHMkSwCx1JXhHX601Xg92Wk3U="; 183 meta.description = "Thin wrapper around [Linux_ext.sendfile] to send full files"; 184 propagatedBuildInputs = [ async_unix ]; 185 }; 186 187 async_shell = janePackage { 188 pname = "async_shell"; 189 hash = "sha256-/wqfuKiQQufs/KhNtBn8C9AzX7GbP8s8cyWGynJ0m1M="; 190 meta.description = "Shell helpers for Async"; 191 propagatedBuildInputs = [ 192 async 193 shell 194 ]; 195 }; 196 197 async_smtp = janePackage { 198 pname = "async_smtp"; 199 hash = "sha256-RWtbg6Vpp71ock8Duya5j9Y89OUY4wRXh0pDOxM1NT4="; 200 meta.description = "SMTP client and server"; 201 propagatedBuildInputs = [ 202 async_extra 203 async_inotify 204 async_sendfile 205 async_shell 206 async_ssl 207 email_message 208 resource_cache 209 re2_stable 210 sexp_macro 211 ]; 212 }; 213 214 async_ssl = janePackage { 215 pname = "async_ssl"; 216 hash = "sha256-7obEoeckwydi2wHBkBmX0LynY1QVCb3sQ/U945eteJo="; 217 meta.description = "Async wrappers for SSL"; 218 buildInputs = [ dune-configurator ]; 219 propagatedBuildInputs = [ 220 async 221 ctypes 222 ctypes-foreign 223 openssl 224 ]; 225 patches = fetchpatch { 226 url = "https://raw.githubusercontent.com/ocaml/opam-source-archives/main/patches/async_ssl/no-incompatible-pointer-types-017.patch"; 227 hash = "sha256-bpfIi97/b1hIwsFzsmhFAZV1w8CdaMxXoi72ScSYMjY="; 228 }; 229 }; 230 231 async_unix = janePackage { 232 pname = "async_unix"; 233 hash = "sha256-fA1e5AnNe/tMTMZ60jtGUofRi4rh+MmVx81kfhfaBaQ="; 234 meta.description = "Monadic concurrency library"; 235 propagatedBuildInputs = [ 236 async_kernel 237 core_unix 238 cstruct 239 ]; 240 }; 241 242 async_websocket = janePackage { 243 pname = "async_websocket"; 244 hash = "sha256-22N+QO9hpkKHv3n9WkvtmJouxb/nuauv1UXdVV0zOGA="; 245 meta.description = "A library that implements the websocket protocol on top of Async"; 246 propagatedBuildInputs = [ 247 async 248 cryptokit 249 ]; 250 }; 251 252 babel = janePackage { 253 pname = "babel"; 254 hash = "sha256-mRSlLXtaGj8DcdDZGUZbi16qQxtfb+fXkwxz6AXxN3o="; 255 meta.description = "A library for defining Rpcs that can evolve over time without breaking backward compatibility"; 256 propagatedBuildInputs = [ 257 async_rpc_kernel 258 core 259 ppx_jane 260 streamable 261 tilde_f 262 ]; 263 }; 264 265 base = janePackage { 266 pname = "base"; 267 version = "0.17.2"; 268 hash = "sha256-GMUlo77IKXwsldZYK5uRcmjj2RyaDhdfFo1KRCJl9Dc="; 269 meta.description = "Full standard library replacement for OCaml"; 270 buildInputs = [ dune-configurator ]; 271 propagatedBuildInputs = [ 272 sexplib0 273 ocaml_intrinsics_kernel 274 ]; 275 checkInputs = [ alcotest ]; 276 }; 277 278 base_bigstring = janePackage { 279 pname = "base_bigstring"; 280 hash = "sha256-tGDtkVOU10GzNsJ4wZtbqyIMjY5lHM4+rA3+w34TYOE="; 281 meta.description = "String type based on [Bigarray], for use in I/O and C-bindings"; 282 propagatedBuildInputs = [ 283 int_repr 284 ppx_jane 285 ]; 286 }; 287 288 base_trie = janePackage { 289 pname = "base_trie"; 290 hash = "sha256-KuVDLJiEIjbvLCNI51iFLlsMli+hspWMyhrMk5pSL58="; 291 meta.description = "Trie data structure library"; 292 propagatedBuildInputs = [ 293 base 294 core 295 expect_test_helpers_core 296 ppx_jane 297 ]; 298 }; 299 300 base_quickcheck = janePackage { 301 pname = "base_quickcheck"; 302 hash = "sha256-jDxO+/9Qnntt6ZNX1xvaWvoJ0JpnPqeq8X8nsYpeqsY="; 303 meta.description = "Randomized testing framework, designed for compatibility with Base"; 304 propagatedBuildInputs = [ 305 ppx_base 306 ppx_fields_conv 307 ppx_let 308 ppx_sexp_value 309 splittable_random 310 ]; 311 }; 312 313 bidirectional_map = janePackage { 314 pname = "bidirectional_map"; 315 hash = "sha256-LnslyNdgQpa9DOAkwb0qq9/NdRvKNocUTIP+Dni6oYc="; 316 meta.description = "A library for bidirectional maps and multimaps"; 317 }; 318 319 bignum = janePackage { 320 pname = "bignum"; 321 hash = "sha256-QhVEZ97n/YUBBXYCshDa5UnZpv0BKK6xRN1kXabY3Es="; 322 propagatedBuildInputs = [ 323 core_kernel 324 zarith 325 zarith_stubs_js 326 ]; 327 meta.description = "Core-flavoured wrapper around zarith's arbitrary-precision rationals"; 328 }; 329 330 bin_prot = janePackage { 331 pname = "bin_prot"; 332 hash = "sha256-5QeK8Cdu+YjNE/MLiQps6SSf5bRJ/eYZYsJH7oYSarg="; 333 meta.description = "A binary protocol generator"; 334 propagatedBuildInputs = [ 335 ppx_compare 336 ppx_custom_printf 337 ppx_fields_conv 338 ppx_optcomp 339 ppx_stable_witness 340 ppx_variants_conv 341 ]; 342 postPatch = '' 343 patchShebangs xen/cflags.sh 344 ''; 345 }; 346 347 bonsai = janePackage { 348 pname = "bonsai"; 349 hash = "sha256-rr87o/w/a6NtCrDIIYmk2a5IZ1WJM/qJUeDqTLN1Gr4="; 350 meta.description = "A library for building dynamic webapps, using Js_of_ocaml"; 351 buildInputs = [ ppx_pattern_bind ]; 352 nativeBuildInputs = [ 353 ppx_css 354 js_of_ocaml-compiler 355 ocaml-embed-file 356 ]; 357 propagatedBuildInputs = [ 358 async 359 async_durable 360 async_extra 361 async_rpc_websocket 362 babel 363 cohttp-async 364 core_bench 365 fuzzy_match 366 incr_dom 367 indentation_buffer 368 js_of_ocaml-ppx 369 ordinal_abbreviation 370 patdiff 371 polling_state_rpc 372 ppx_css 373 ppx_quick_test 374 ppx_typed_fields 375 profunctor 376 sexp_grammar 377 textutils 378 versioned_polling_state_rpc 379 ]; 380 }; 381 382 capitalization = janePackage { 383 pname = "capitalization"; 384 hash = "sha256-wq8SO+SXF+UQhSu+ElVYv9erZ8S54G3SzJd0HX/Vwyk="; 385 meta.description = "Naming conventions for multiple-word identifiers"; 386 propagatedBuildInputs = [ 387 base 388 ppx_base 389 ]; 390 }; 391 392 cinaps = janePackage { 393 pname = "cinaps"; 394 version = "0.15.1"; 395 hash = "sha256-LycruanldSP251uYJjQqIfI76W0UQ6o5i5u8XjszBT0="; 396 meta.description = "Trivial metaprogramming tool"; 397 minimalOCamlVersion = "4.04"; 398 propagatedBuildInputs = [ re ]; 399 # doCheck fails because ppx_base doesn't include ppx_js_style, and this is 400 # needed for the ppx executable to parse `-allow-toplevel-expression` flag. 401 doCheck = false; 402 }; 403 404 codicons = janePackage { 405 pname = "codicons"; 406 hash = "sha256-S4VrMObA5+SNeL/XsWU6SoSD/0TVvuqHjthUaQCDoRU="; 407 meta.description = "Icons from VS code"; 408 propagatedBuildInputs = [ 409 core 410 ppx_jane 411 virtual_dom 412 ]; 413 }; 414 415 cohttp_async_websocket = janePackage { 416 pname = "cohttp_async_websocket"; 417 hash = "sha256-0InGCF34LWQes9S4OgbR6w+6cylThYuj1Dj0aQyTnuY="; 418 meta.description = "Websocket library for use with cohttp and async"; 419 propagatedBuildInputs = [ 420 async_ssl 421 async_websocket 422 cohttp-async 423 ppx_jane 424 uri-sexp 425 ]; 426 }; 427 428 cohttp_static_handler = janePackage { 429 pname = "cohttp_static_handler"; 430 hash = "sha256-RB/sUq1tL8A3m9YhHHx2LFqoExTX187VeZI9MRb1NeA="; 431 meta.description = "A library for easily creating a cohttp handler for static files"; 432 propagatedBuildInputs = [ cohttp-async ]; 433 }; 434 435 content_security_policy = janePackage { 436 pname = "content_security_policy"; 437 hash = "sha256-AQN2JJA+5B0PERNNOA9FXX6rIeej40bwJtQmHP6GKw4="; 438 meta.description = "A library for building content-security policies"; 439 propagatedBuildInputs = [ 440 base64 441 cryptokit 442 core 443 ppx_jane 444 ]; 445 }; 446 447 core = janePackage { 448 pname = "core"; 449 version = "0.17.1"; 450 hash = "sha256-XkABcvglVJLVnWJmvfr5eVywyclPSDqanVOLQNqdNtQ="; 451 meta.description = "Industrial strength alternative to OCaml's standard library"; 452 buildInputs = [ jst-config ]; 453 propagatedBuildInputs = [ 454 base 455 base_bigstring 456 base_quickcheck 457 ppx_diff 458 ppx_jane 459 time_now 460 ]; 461 }; 462 463 core_bench = janePackage { 464 pname = "core_bench"; 465 hash = "sha256-oXE3FuCCIbX2M0r4Ds2BMUU6g1bqe9E87lDo2CcMtMU="; 466 meta.description = "Benchmarking library"; 467 propagatedBuildInputs = [ 468 core_extended 469 delimited_parsing 470 textutils 471 ]; 472 }; 473 474 core_extended = janePackage { 475 pname = "core_extended"; 476 hash = "sha256-Xl6czD1gdnvHkXDz+qa7TWZq6dm8wlDqywxEIi2R6bI="; 477 meta.description = "Extra components that are not as closely vetted or as stable as Core"; 478 propagatedBuildInputs = [ 479 core_unix 480 record_builder 481 ]; 482 }; 483 484 core_kernel = janePackage { 485 pname = "core_kernel"; 486 hash = "sha256-l7U0edUCNHTroYMBHiEMDx5sl7opEmmmeo2Z06tCMts="; 487 meta.description = "System-independent part of Core"; 488 buildInputs = [ jst-config ]; 489 propagatedBuildInputs = [ 490 base_bigstring 491 core 492 int_repr 493 sexplib 494 uopt 495 ]; 496 doCheck = false; # we don't have quickcheck_deprecated 497 }; 498 499 core_unix = janePackage { 500 pname = "core_unix"; 501 version = "0.17.1"; 502 hash = "sha256-xJoBW6TBBnzR5n38E5LHBFYO2CRIsME7OTdEZKn8EqU="; 503 meta.description = "Unix-specific portions of Core"; 504 buildInputs = [ jst-config ]; 505 propagatedBuildInputs = [ 506 core_kernel 507 expect_test_helpers_core 508 ocaml_intrinsics 509 ppx_jane 510 timezone 511 spawn 512 ]; 513 postPatch = '' 514 patchShebangs unix_pseudo_terminal/src/discover.sh 515 ''; 516 doCheck = false; # command_validate_parsing.exe is not specified in test build deps 517 518 }; 519 520 csvfields = janePackage { 521 pname = "csvfields"; 522 hash = "sha256-hCH2NGQIRTU5U3TUOYHao6Kz5PhnLbySmzic4ytppEc="; 523 propagatedBuildInputs = [ 524 core 525 num 526 ]; 527 meta.description = "Runtime support for ppx_xml_conv and ppx_csv_conv"; 528 }; 529 530 dedent = janePackage { 531 pname = "dedent"; 532 hash = "sha256-Scir/gaIhmNowXZ0tv57M/Iv1GXQIkyDks1sU1DAoIQ="; 533 propagatedBuildInputs = [ 534 base 535 ppx_jane 536 stdio 537 ]; 538 meta.description = "A library for improving redability of multi-line string constants in code"; 539 }; 540 541 delimited_parsing = janePackage { 542 pname = "delimited_parsing"; 543 hash = "sha256-bgt99kQvaU7FPK1+K1UOAUbSaaaCB1DV23Cuo3A68M0="; 544 propagatedBuildInputs = [ 545 async 546 core_extended 547 ]; 548 meta.description = "Parsing of character (e.g., comma) separated and fixed-width values"; 549 }; 550 551 legacy_diffable = janePackage { 552 pname = "legacy_diffable"; 553 hash = "sha256-wUSG04bHCnwqXpWKgkceAORs1inxexiPKZIR9fEVmCo="; 554 propagatedBuildInputs = [ 555 core 556 ppx_jane 557 stored_reversed 558 streamable 559 ]; 560 meta.description = "An interface for diffs"; 561 }; 562 563 ecaml = janePackage { 564 pname = "ecaml"; 565 hash = "sha256-CEroXMEIAfvXD603bnIVwzcrE3KbVaOOhGZastkQcdU="; 566 meta.description = "Library for writing Emacs plugin in OCaml"; 567 propagatedBuildInputs = [ 568 async 569 expect_test_helpers_core 570 ]; 571 }; 572 573 email_message = janePackage { 574 pname = "email_message"; 575 hash = "sha256-1OJ6bQb/rdyfAgMyuKT/ylpa8qBldZV5kEm0B45Ej1w="; 576 meta.description = "E-mail message parser"; 577 propagatedBuildInputs = [ 578 angstrom 579 async 580 base64 581 cryptokit 582 magic-mime 583 re2 584 ]; 585 }; 586 587 env_config = janePackage { 588 pname = "env_config"; 589 hash = "sha256-vG309p7xqanTnrnHBwvuCO3YD4tVbTNa7F1F9sZDZE0="; 590 meta.description = "Helper library for retrieving configuration from an environment variable"; 591 propagatedBuildInputs = [ 592 async 593 core 594 core_unix 595 ppx_jane 596 ]; 597 }; 598 599 expect_test_helpers_async = janePackage { 600 pname = "expect_test_helpers_async"; 601 hash = "sha256-oInNgNISqOrmQUXVxzjDy+mS06yPEeFPGIvaKnCETjk="; 602 meta.description = "Async helpers for writing expectation tests"; 603 propagatedBuildInputs = [ 604 async 605 expect_test_helpers_core 606 ]; 607 }; 608 609 expect_test_helpers_core = janePackage { 610 pname = "expect_test_helpers_core"; 611 hash = "sha256-vnlDZ8k3JFCdN6WGiaG9OEEdQJnw0/eMogFCfTXIu2Y="; 612 meta.description = "Helpers for writing expectation tests"; 613 propagatedBuildInputs = [ 614 core_kernel 615 sexp_pretty 616 ]; 617 }; 618 619 fieldslib = janePackage { 620 pname = "fieldslib"; 621 hash = "sha256-Zfnc32SghjZYTlnSdo6JPm4WCb7BPVjrWNDfeMZHaiU="; 622 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"; 623 propagatedBuildInputs = [ base ]; 624 }; 625 626 file_path = janePackage { 627 pname = "file_path"; 628 hash = "sha256-XSLfYasn6qMZmDzAUGssOM9EX09n2W9/imTgNoSBEyk="; 629 meta.description = "A library for typed manipulation of UNIX-style file paths"; 630 propagatedBuildInputs = [ 631 async 632 core 633 core_kernel 634 core_unix 635 expect_test_helpers_async 636 expect_test_helpers_core 637 ppx_jane 638 ]; 639 }; 640 641 fuzzy_match = janePackage { 642 pname = "fuzzy_match"; 643 hash = "sha256-XB1U4mY0LcdsKYRnmV0SR4ODTIZynZetBk5X5SdHs44="; 644 meta.description = "A library for fuzzy string matching"; 645 propagatedBuildInputs = [ 646 core 647 ppx_jane 648 ]; 649 }; 650 651 fzf = janePackage { 652 pname = "fzf"; 653 hash = "sha256-yHdvC3cB5sVXsZQbtNzUZkaaqOe/7y8pDHgLwugAlQg="; 654 meta.description = "A library for running the fzf command line tool"; 655 propagatedBuildInputs = [ 656 async 657 core_kernel 658 ppx_jane 659 ]; 660 postPatch = '' 661 substituteInPlace src/fzf.ml --replace /usr/bin/fzf ${fzf}/bin/fzf 662 ''; 663 }; 664 665 gel = janePackage { 666 pname = "gel"; 667 hash = "sha256-zGDlxbJINXD1qG7EifZGDfKbQpehdHyR/WLRJRYlwUg="; 668 meta.description = "A library to mark non-record fields global"; 669 propagatedBuildInputs = [ 670 base 671 ppx_jane 672 ]; 673 }; 674 675 hex_encode = janePackage { 676 pname = "hex_encode"; 677 hash = "sha256-5DqaCJllphdEreOpzAjT61qb3M6aN9b2xhiUjHVLrvE="; 678 meta.description = "Hexadecimal encoding library"; 679 propagatedBuildInputs = [ 680 core 681 ppx_jane 682 ounit 683 ]; 684 }; 685 686 higher_kinded = janePackage { 687 pname = "higher_kinded"; 688 hash = "sha256-6aZxgGzltRs2aS4MYJh23Gpoqcko6xJxU11T6KixXno="; 689 meta.description = "A library with an encoding of higher kinded types in OCaml"; 690 propagatedBuildInputs = [ 691 base 692 ppx_jane 693 ]; 694 }; 695 696 incr_dom = janePackage { 697 pname = "incr_dom"; 698 hash = "sha256-dkF7+aq5Idw1ltDgGEjGYspdmOXjXqv8AA27b4M7U8A="; 699 meta.description = "A library for building dynamic webapps, using Js_of_ocaml"; 700 buildInputs = [ js_of_ocaml-ppx ]; 701 propagatedBuildInputs = [ 702 async_js 703 incr_map 704 incr_select 705 virtual_dom 706 ]; 707 }; 708 709 incr_map = janePackage { 710 pname = "incr_map"; 711 hash = "sha256-qNahlxe3Pe1EEcFz1bAKUw3vBaNjgDlahQeuj/+VqbI="; 712 meta.description = "Helpers for incremental operations on map like data structures"; 713 buildInputs = [ ppx_pattern_bind ]; 714 propagatedBuildInputs = [ 715 abstract_algebra 716 bignum 717 legacy_diffable 718 incremental 719 streamable 720 ]; 721 }; 722 723 incr_select = janePackage { 724 pname = "incr_select"; 725 hash = "sha256-/VCNiE8Y7LBL0OHd5V+tB/b3HGKhfSvreU6LZgurYAg="; 726 meta.description = "Handling of large set of incremental outputs from a single input"; 727 propagatedBuildInputs = [ incremental ]; 728 }; 729 730 incremental = janePackage { 731 pname = "incremental"; 732 hash = "sha256-siBN36Vv0Bktyxh+8tL6XkUGLqSYMxqvd0UWuTRgAnI="; 733 meta.description = "Library for incremental computations"; 734 propagatedBuildInputs = [ 735 core_kernel 736 lru_cache 737 ]; 738 }; 739 740 indentation_buffer = janePackage { 741 pname = "indentation_buffer"; 742 hash = "sha256-/IUZyRkcxUsddzGGIoaLpXbpCxJ1satK79GkzPxSPSc="; 743 meta.description = "A library for building strings with indentation"; 744 propagatedBuildInputs = [ 745 core 746 ppx_jane 747 ]; 748 }; 749 750 int_repr = janePackage { 751 pname = "int_repr"; 752 hash = "sha256-yeaAzw95zB1wow9Alg18CU+eemZVxjdLiO/wVRitDwE="; 753 meta.description = "Integers of various widths"; 754 propagatedBuildInputs = [ 755 base 756 ppx_jane 757 ]; 758 }; 759 760 janestreet_cpuid = janePackage { 761 pname = "janestreet_cpuid"; 762 hash = "sha256-3ZwEZQSkJJyFW5/+C9x8nW6+GrfVwccNFPlcs7qNcjQ="; 763 patches = fetchpatch { 764 url = "https://github.com/janestreet/janestreet_cpuid/commit/55223d9708388fe990553669d881f78a811979b9.patch"; 765 hash = "sha256-aggT6GGMkQj4rRkSZK4hoPRzEfpC8z9qnIROptMDf9E="; 766 }; 767 meta.description = "A library for parsing CPU capabilities out of the `cpuid` instruction"; 768 propagatedBuildInputs = [ 769 core 770 core_kernel 771 ppx_jane 772 ]; 773 }; 774 775 janestreet_csv = janePackage { 776 pname = "janestreet_csv"; 777 hash = "sha256-at7ywGDaYIDsqhxxLYJhB8a697ccfPtKKI8LvCmRgG8="; 778 propagatedBuildInputs = [ 779 async 780 bignum 781 core_kernel 782 core_unix 783 csvfields 784 delimited_parsing 785 fieldslib 786 numeric_string 787 ppx_jane 788 re2 789 textutils 790 tyxml 791 ocaml_pcre 792 ]; 793 meta.description = "Tools for working with CSVs on the command line"; 794 }; 795 796 jane_rope = janePackage { 797 pname = "jane_rope"; 798 hash = "sha256-Lo4+ZUX9R2EGrz4BN+LqdJgVXB3hQqNifgwsjFC1Hfs="; 799 meta.description = "String representation with cheap concatenation"; 800 propagatedBuildInputs = [ 801 base 802 ppx_jane 803 ]; 804 }; 805 806 jane-street-headers = janePackage { 807 pname = "jane-street-headers"; 808 hash = "sha256-nEa40utpXA3KiFhp9inWurKyDF4Jw1Jlln6fiW5MAkM="; 809 meta.description = "Jane Street C header files"; 810 }; 811 812 js_of_ocaml_patches = janePackage { 813 pname = "js_of_ocaml_patches"; 814 hash = "sha256-N61IEZLGfCU3ZX+sw35DAUqUh3u8RaCFcNlXxU1dvL8="; 815 meta.description = "Additions to js_of_ocaml's standard library that are required by Jane Street libraries"; 816 propagatedBuildInputs = [ 817 js_of_ocaml 818 js_of_ocaml-ppx 819 ]; 820 patches = [ ./js_of_ocaml_patches.patch ]; 821 }; 822 823 jsonaf = janePackage { 824 pname = "jsonaf"; 825 hash = "sha256-MMIDHc40cmPpO0n8yREIGMyFndw3NfvGUhy6vHnn40w="; 826 meta.description = "A library for parsing, manipulating, and serializing data structured as JSON"; 827 propagatedBuildInputs = [ 828 base 829 ppx_jane 830 angstrom 831 faraday 832 ]; 833 }; 834 835 jst-config = janePackage { 836 pname = "jst-config"; 837 hash = "sha256-xwQ+q2Hsduu2vWMWFcjoj3H8Es00N7Mv9LwIZG4hw7c="; 838 meta.description = "Compile-time configuration for Jane Street libraries"; 839 buildInputs = [ 840 dune-configurator 841 ppx_assert 842 stdio 843 ]; 844 }; 845 846 lru_cache = janePackage { 847 pname = "janestreet_lru_cache"; 848 hash = "sha256-/UMSccN9yGAXF7/g6ueSnsfPSnF1fm0zJIRFsThZvH8="; 849 meta.description = "An LRU Cache implementation"; 850 propagatedBuildInputs = [ 851 core_kernel 852 ppx_jane 853 ]; 854 }; 855 856 man_in_the_middle_debugger = janePackage { 857 pname = "man_in_the_middle_debugger"; 858 hash = "sha256-ImEzn/EssgW63vdGhLMp4NB/FW0SsCMQ32ZNAs7bDg4="; 859 meta.description = "Man-in-the-middle debugging library"; 860 propagatedBuildInputs = [ 861 async 862 core 863 ppx_jane 864 angstrom 865 angstrom-async 866 ]; 867 }; 868 869 n_ary = janePackage { 870 pname = "n_ary"; 871 hash = "sha256-xg4xK3m7SoO1P+rBHvPqFMLx9JXnADEeyU58UmAqW6s="; 872 meta.description = "A library for N-ary datatypes and operations"; 873 propagatedBuildInputs = [ 874 base 875 expect_test_helpers_core 876 ppx_compare 877 ppx_enumerate 878 ppx_hash 879 ppx_jane 880 ppx_sexp_conv 881 ppx_sexp_message 882 ]; 883 }; 884 885 numeric_string = janePackage { 886 pname = "numeric_string"; 887 hash = "sha256-cU5ETGfavkkiqZOjehCYg06YdDk8W+ZDqz17FGWHey8="; 888 meta.description = "A comparison function for strings that sorts numeric fragments of strings according to their numeric value"; 889 propagatedBuildInputs = [ 890 base 891 ppx_jane 892 ]; 893 }; 894 895 ocaml-compiler-libs = janePackage ( 896 { 897 pname = "ocaml-compiler-libs"; 898 minimalOCamlVersion = "4.04.1"; 899 meta.description = "OCaml compiler libraries repackaged"; 900 } 901 // ( 902 if lib.versionAtLeast ocaml.version "5.2" then 903 { 904 version = "0.17.0"; 905 hash = "sha256-QaC6BWrpFblra6X1+TrlK+J3vZxLvLJZ2b0427DiQzM="; 906 } 907 else 908 { 909 version = "0.12.4"; 910 hash = "sha256-W+KUguz55yYAriHRMcQy8gRPzh2TZSJnexG1JI8TLgI="; 911 } 912 ) 913 ); 914 915 ocaml-embed-file = janePackage { 916 pname = "ocaml-embed-file"; 917 hash = "sha256-7fyZ5DNcRHud0rd4dLUv9Vyf3lMwMVxgkl9jVUn1/lw="; 918 propagatedBuildInputs = [ 919 async 920 ppx_jane 921 ]; 922 meta.description = "Files contents as module constants"; 923 }; 924 925 ocaml_intrinsics_kernel = janePackage { 926 pname = "ocaml_intrinsics_kernel"; 927 hash = "sha256-utD9HE0P3vPgSXDW8Bz0FxgEy+lNkIAlN/+JkfDqb9A="; 928 meta.description = "A kernel library of intrinsics for OCaml"; 929 buildInputs = [ dune-configurator ]; 930 }; 931 932 ocaml_intrinsics = janePackage { 933 pname = "ocaml_intrinsics"; 934 hash = "sha256-Ndt6ZPJamBYzr1YA941BLwvRgkkbD8AEQR/JjjR38xI="; 935 meta.description = "A library of intrinsics for OCaml"; 936 buildInputs = [ 937 dune-configurator 938 ]; 939 propagatedBuildInputs = [ 940 ocaml_intrinsics_kernel 941 ]; 942 patches = [ 943 # This patch is needed because of an issue with the aarch64 CRC32 944 # intrinsics that was introduced with ocaml_intrinsics v0.17. It should 945 # be removed as soon as 946 # https://github.com/janestreet/ocaml_intrinsics/pull/11 is merged. 947 ./ocaml_intrinsics-fix-aarch64-crc32-intrinsics.patch 948 ]; 949 }; 950 951 ocaml_openapi_generator = janePackage { 952 pname = "ocaml_openapi_generator"; 953 hash = "sha256-HCq9fylcVjBMs8L6E860nw+EonWEQadlyEKpQI6mynU="; 954 meta.description = "OpenAPI 3 to OCaml client generator"; 955 buildInputs = [ 956 async 957 core 958 core_kernel 959 core_unix 960 jsonaf 961 ppx_jane 962 ppx_jsonaf_conv 963 httpaf 964 jingoo 965 uri 966 ]; 967 nativeBuildInputs = [ ocaml-embed-file ]; 968 }; 969 970 of_json = janePackage { 971 pname = "of_json"; 972 hash = "sha256-pZCiwXRwZK6ohsGz/WLacgo48ekdT35uD4VESvGxH8A="; 973 meta.description = "A friendly applicative interface for Jsonaf"; 974 buildInputs = [ 975 core 976 core_extended 977 jsonaf 978 ppx_jane 979 ]; 980 }; 981 982 ordinal_abbreviation = janePackage { 983 pname = "ordinal_abbreviation"; 984 hash = "sha256-kmTGnGbhdiUoXXw2DEAeZJL2sudEf8BRRt2RHCdL7HU="; 985 meta.description = "A minimal library for generating ordinal names of integers"; 986 buildInputs = [ 987 base 988 ppx_jane 989 ]; 990 }; 991 992 parsexp = janePackage { 993 pname = "parsexp"; 994 hash = "sha256-iKrZ6XDLM6eRl7obaniDKK6X8R7Kxry6HD7OQBwh3NU="; 995 meta.description = "S-expression parsing library"; 996 propagatedBuildInputs = [ 997 base 998 sexplib0 999 ]; 1000 }; 1001 1002 patdiff = janePackage { 1003 pname = "patdiff"; 1004 hash = "sha256-iphpQ0b8i+ItY57zM4xL9cID9GYuTCMZN7SYa7TDprI="; 1005 1006 # Used by patdiff-git-wrapper. Providing it here also causes the shebang 1007 # line to be automatically patched. 1008 buildInputs = [ bash ]; 1009 propagatedBuildInputs = [ 1010 core_unix 1011 patience_diff 1012 ocaml_pcre 1013 ]; 1014 meta = { 1015 description = "File Diff using the Patience Diff algorithm"; 1016 }; 1017 postPatch = '' 1018 patchShebangs test/bin/setup.sh 1019 ''; 1020 doCheck = false; # test rules broken 1021 }; 1022 1023 patience_diff = janePackage { 1024 pname = "patience_diff"; 1025 hash = "sha256-sn/8SvMt7kzzuYUwhB/uH/3mO1aIKHw/oRYRzA7goFU="; 1026 meta.description = "Diff library using Bram Cohen's patience diff algorithm"; 1027 propagatedBuildInputs = [ core_kernel ]; 1028 }; 1029 1030 polling_state_rpc = janePackage { 1031 pname = "polling_state_rpc"; 1032 hash = "sha256-fZKGva11ztuM+q0Lc6rr9NEH/Qo+wFmE6Rr1/TJm7rA="; 1033 meta.description = "An RPC which tracks state on the client and server so it only needs to send diffs across the wire"; 1034 propagatedBuildInputs = [ 1035 async_kernel 1036 async_rpc_kernel 1037 babel 1038 core 1039 core_kernel 1040 legacy_diffable 1041 ppx_jane 1042 ]; 1043 }; 1044 1045 posixat = janePackage { 1046 pname = "posixat"; 1047 hash = "sha256-G+5q8x1jfG3wEwNzX2tkcC2Pm4E5/ZYxQyBwCUNXIrw="; 1048 propagatedBuildInputs = [ 1049 ppx_optcomp 1050 ppx_sexp_conv 1051 ]; 1052 meta.description = "Binding to the posix *at functions"; 1053 }; 1054 1055 ppx_accessor = janePackage { 1056 pname = "ppx_accessor"; 1057 hash = "sha256-vK6lA0J98bDGtVthIdU76ckzH+rpNUD1cQ3vMzHy0Iw="; 1058 meta.description = "[@@deriving] plugin to generate accessors for use with the Accessor libraries"; 1059 propagatedBuildInputs = [ accessor ]; 1060 }; 1061 1062 ppx_assert = janePackage { 1063 pname = "ppx_assert"; 1064 hash = "sha256-o9ywdFH6+qoJ3eWb29/gGlkWkHDMuBx626mNxrT1D8A="; 1065 meta.description = "Assert-like extension nodes that raise useful errors on failure"; 1066 propagatedBuildInputs = [ 1067 ppx_cold 1068 ppx_compare 1069 ppx_here 1070 ppx_sexp_conv 1071 ]; 1072 }; 1073 1074 ppx_base = janePackage { 1075 pname = "ppx_base"; 1076 hash = "sha256-/s7c8vfLIO1pPajNldMgurBKXsSzQ8yxqFI6QZCHm5I="; 1077 meta.description = "Base set of ppx rewriters"; 1078 propagatedBuildInputs = [ 1079 ppx_cold 1080 ppx_enumerate 1081 ppx_globalize 1082 ppx_hash 1083 ]; 1084 }; 1085 1086 ppx_bench = janePackage { 1087 pname = "ppx_bench"; 1088 hash = "sha256-y4nL/wwjJUL2Fa7Ne0f7SR5flCjT1ra9M1uBHOUZWCg="; 1089 meta.description = "Syntax extension for writing in-line benchmarks in ocaml code"; 1090 propagatedBuildInputs = [ ppx_inline_test ]; 1091 }; 1092 1093 ppx_bin_prot = janePackage { 1094 pname = "ppx_bin_prot"; 1095 hash = "sha256-nQps/+Csx3+6H6KBzIm/dLCGWJ9fcRD7JxB4P2lky0o="; 1096 meta.description = "Generation of bin_prot readers and writers from types"; 1097 propagatedBuildInputs = [ 1098 bin_prot 1099 ppx_here 1100 ]; 1101 doCheck = false; # circular dependency with ppx_jane 1102 }; 1103 1104 ppx_cold = janePackage { 1105 pname = "ppx_cold"; 1106 hash = "sha256-fFZqlcbUS7D+GjnxSjGYckkQtx6ZcPNtOIsr6Rt6D9A="; 1107 meta.description = "Expands [@cold] into [@inline never][@specialise never][@local never]"; 1108 propagatedBuildInputs = [ ppxlib ]; 1109 }; 1110 1111 ppx_compare = janePackage { 1112 pname = "ppx_compare"; 1113 hash = "sha256-uAXB9cba0IBl+cA2CAuGVVxuos4HXH5jlB6Qjxx44Y0="; 1114 meta.description = "Generation of comparison functions from types"; 1115 propagatedBuildInputs = [ 1116 ppxlib 1117 ppxlib_jane 1118 base 1119 ]; 1120 }; 1121 1122 ppx_conv_func = janePackage { 1123 pname = "ppx_conv_func"; 1124 hash = "sha256-PJ8T0u8VkxefaxojwrmbMXDjqyfAIxKe92B8QqRY2JU="; 1125 meta.description = "Part of the Jane Street's PPX rewriters collection"; 1126 propagatedBuildInputs = [ 1127 ppxlib 1128 base 1129 ]; 1130 }; 1131 1132 ppx_custom_printf = janePackage { 1133 pname = "ppx_custom_printf"; 1134 hash = "sha256-DFgDb9MIFCqglYoMgPUN0zEaxkr7VJAXgLxq1yp8ap4="; 1135 meta.description = "Printf-style format-strings for user-defined string conversion"; 1136 propagatedBuildInputs = [ ppx_sexp_conv ]; 1137 }; 1138 1139 ppx_css = janePackage { 1140 pname = "ppx_css"; 1141 hash = "sha256-mzLMVtNTy9NrVaNgsRa+oQynxXnh2qlHJCfr3FLFJ2I="; 1142 meta.description = "A ppx that takes in css strings and produces a module for accessing the unique names defined within"; 1143 propagatedBuildInputs = [ 1144 async 1145 async_unix 1146 core_kernel 1147 core_unix 1148 ppxlib 1149 js_of_ocaml 1150 js_of_ocaml-ppx 1151 sedlex 1152 virtual_dom 1153 ]; 1154 meta.broken = true; # Not compatible with sedlex > 3.4 1155 }; 1156 1157 ppx_csv_conv = janePackage { 1158 pname = "ppx_csv_conv"; 1159 hash = "sha256-NtqfagLIYiuyBjEAxilAhATx8acJwD7LykHBzfr+yAc="; 1160 meta.description = "Generate functions to read/write records in csv format"; 1161 propagatedBuildInputs = [ 1162 csvfields 1163 ppx_conv_func 1164 ]; 1165 }; 1166 1167 ppx_demo = janePackage { 1168 pname = "ppx_demo"; 1169 hash = "sha256-blD96GhicOj3b6jYNniSpq6fBR+ul9Y2kn0ZmfbeVMo="; 1170 meta.description = "PPX that exposes the source code string of an expression/module structure"; 1171 propagatedBuildInputs = [ 1172 core 1173 dedent 1174 ppx_jane 1175 ppxlib 1176 ]; 1177 }; 1178 1179 ppx_derive_at_runtime = janePackage { 1180 pname = "ppx_derive_at_runtime"; 1181 hash = "sha256-Y/z4BKFRt3z1lUGdc7SznIv/ys//dZHoPSnsouj1GtI="; 1182 meta.description = "Define a new ppx deriver by naming a runtime module"; 1183 propagatedBuildInputs = [ 1184 base 1185 expect_test_helpers_core 1186 ppx_jane 1187 ppxlib 1188 ]; 1189 }; 1190 1191 ppx_diff = janePackage { 1192 pname = "ppx_diff"; 1193 hash = "sha256-MAn+vcU6vLR8g16Wq1sORyLcLgWxLsazMQY1syY6HsA="; 1194 meta.description = "Generation of diffs and update functions for ocaml types"; 1195 propagatedBuildInputs = [ 1196 base 1197 gel 1198 ppx_compare 1199 ppx_enumerate 1200 ppx_jane 1201 ]; 1202 }; 1203 1204 ppx_disable_unused_warnings = janePackage { 1205 pname = "ppx_disable_unused_warnings"; 1206 hash = "sha256-KHWIufXU+k6xCLf8l50Pp/1JZ2wFrKnKT/aQYpadlmU="; 1207 meta.description = ''Expands [@disable_unused_warnings] into [@warning "-20-26-32-33-34-35-36-37-38-39-60-66-67"]''; 1208 propagatedBuildInputs = [ ppxlib ]; 1209 }; 1210 1211 ppx_embed_file = janePackage { 1212 pname = "ppx_embed_file"; 1213 hash = "sha256-Ew6/X7oAq81ldERU37QWXQdgReEtPD/lxbku8WZNJ6A="; 1214 meta.description = "A PPX that allows embedding files directly into executables/libraries as strings or bytes"; 1215 propagatedBuildInputs = [ 1216 core 1217 ppx_jane 1218 shell 1219 ppxlib 1220 ]; 1221 }; 1222 1223 ppx_enumerate = janePackage { 1224 pname = "ppx_enumerate"; 1225 hash = "sha256-YqBrxp2fe91k8L3aQVW6egoDPj8onGSRueQkE2Icdu4="; 1226 meta.description = "Generate a list containing all values of a finite type"; 1227 propagatedBuildInputs = [ 1228 ppxlib 1229 ppxlib_jane 1230 ]; 1231 }; 1232 1233 ppx_expect = janePackage { 1234 pname = "ppx_expect"; 1235 version = "0.17.2"; 1236 hash = "sha256-na9n/+shkiHIIUQ2ZitybQ6NNsSS9gWFNAFxij+JNVo="; 1237 meta.description = "Cram like framework for OCaml"; 1238 propagatedBuildInputs = [ 1239 ppx_here 1240 ppx_inline_test 1241 re 1242 ]; 1243 doCheck = false; # test build rules broken 1244 }; 1245 1246 ppx_fields_conv = janePackage { 1247 pname = "ppx_fields_conv"; 1248 hash = "sha256-FA7hDgqJMJ2obsVwzwaGnNLPvjP0SkTec8Nh3znuNDQ="; 1249 meta.description = "Generation of accessor and iteration functions for ocaml records"; 1250 propagatedBuildInputs = [ 1251 fieldslib 1252 ppxlib 1253 ]; 1254 }; 1255 1256 ppx_fixed_literal = janePackage { 1257 pname = "ppx_fixed_literal"; 1258 hash = "sha256-Xq+btvZQ/+6bcHoH9DcrrhD5CkwpFeedn7YEFHeLzsU="; 1259 meta.description = "Simpler notation for fixed point literals"; 1260 propagatedBuildInputs = [ ppxlib ]; 1261 }; 1262 1263 ppx_globalize = janePackage { 1264 pname = "ppx_globalize"; 1265 hash = "sha256-LKV5zfaf6AXn3NzOhN2ka8NtjItPTIsfmoJVBw5bYi8="; 1266 meta.description = "A ppx rewriter that generates functions to copy local values to the global heap"; 1267 propagatedBuildInputs = [ 1268 base 1269 ppxlib 1270 ppxlib_jane 1271 ]; 1272 }; 1273 1274 ppx_hash = janePackage { 1275 pname = "ppx_hash"; 1276 hash = "sha256-GADCLoF2GjZkvAiezn0xyReCs1avrUgjJGSS/pMNq38="; 1277 meta.description = "A ppx rewriter that generates hash functions from type expressions and definitions"; 1278 propagatedBuildInputs = [ 1279 ppx_compare 1280 ppx_sexp_conv 1281 ]; 1282 }; 1283 1284 ppx_here = janePackage { 1285 pname = "ppx_here"; 1286 hash = "sha256-ybwOcv82uDRPTlfaQgaBJHVq6xBxIRUj07CXP131JsM="; 1287 meta.description = "Expands [%here] into its location"; 1288 propagatedBuildInputs = [ ppxlib ]; 1289 doCheck = false; # test build rules broken 1290 }; 1291 1292 ppx_ignore_instrumentation = janePackage { 1293 pname = "ppx_ignore_instrumentation"; 1294 hash = "sha256-73dp8XKfsLO0Z6A1p5/K7FjxgeUPMBkScx0IjfbOV+w="; 1295 meta.description = "Ignore Jane Street specific instrumentation extensions"; 1296 propagatedBuildInputs = [ ppxlib ]; 1297 }; 1298 1299 ppx_inline_test = janePackage { 1300 pname = "ppx_inline_test"; 1301 hash = "sha256-pNdrmAlT3MUbuPUcMmCRcUIXv4fZ/o/IofJmnUKf8Cs="; 1302 meta.description = "Syntax extension for writing in-line tests in ocaml code"; 1303 propagatedBuildInputs = [ 1304 ppxlib 1305 time_now 1306 ]; 1307 doCheck = false; # test build rules broken 1308 }; 1309 1310 ppx_jane = janePackage { 1311 pname = "ppx_jane"; 1312 hash = "sha256-HgIob7iJkV0HcGi6IjjSUWdKOAu2TsC3GMyzpjYS1cs="; 1313 meta.description = "Standard Jane Street ppx rewriters"; 1314 propagatedBuildInputs = [ 1315 base_quickcheck 1316 ppx_bin_prot 1317 ppx_disable_unused_warnings 1318 ppx_expect 1319 ppx_fixed_literal 1320 ppx_ignore_instrumentation 1321 ppx_log 1322 ppx_module_timer 1323 ppx_optcomp 1324 ppx_optional 1325 ppx_pipebang 1326 ppx_stable 1327 ppx_string 1328 ppx_string_conv 1329 ppx_tydi 1330 ppx_typerep_conv 1331 ppx_variants_conv 1332 ]; 1333 }; 1334 1335 ppx_jsonaf_conv = janePackage { 1336 pname = "ppx_jsonaf_conv"; 1337 hash = "sha256-v7CYOJ1g4LkqIv5De5tQjjkBWXqKHbvqfSr0X5jBUuM="; 1338 meta.description = "[@@deriving] plugin to generate Jsonaf conversion functions"; 1339 propagatedBuildInputs = [ 1340 base 1341 jsonaf 1342 ppx_jane 1343 ppxlib 1344 ]; 1345 }; 1346 1347 ppx_js_style = janePackage { 1348 pname = "ppx_js_style"; 1349 hash = "sha256-7jRzxe4bLyZ2vnHeqWiLlCUvOlNUAk0dwCfBFhrykUU="; 1350 meta.description = "Code style checker for Jane Street Packages"; 1351 propagatedBuildInputs = [ 1352 octavius 1353 ppxlib 1354 ]; 1355 }; 1356 1357 ppx_let = janePackage { 1358 pname = "ppx_let"; 1359 hash = "sha256-JkNQgbPHVDH659m4Xy9ipcZ/iqGtj5q1qQn1P+O7TUY="; 1360 meta.description = "Monadic let-bindings"; 1361 propagatedBuildInputs = [ 1362 ppxlib 1363 ppx_here 1364 ]; 1365 }; 1366 1367 ppx_log = janePackage { 1368 pname = "ppx_log"; 1369 hash = "sha256-llnjWeJH4eg5WtegILRxdwO3RWGWTFeCIKr6EbrUDI4="; 1370 meta.description = "Ppx_sexp_message-like extension nodes for lazily rendering log messages"; 1371 propagatedBuildInputs = [ 1372 base 1373 ppx_compare 1374 ppx_enumerate 1375 ppx_expect 1376 ppx_fields_conv 1377 ppx_here 1378 ppx_let 1379 ppx_sexp_conv 1380 ppx_sexp_message 1381 ppx_sexp_value 1382 ppx_string 1383 ppx_variants_conv 1384 sexplib 1385 ]; 1386 doCheck = false; # test build rules broken 1387 }; 1388 1389 ppx_module_timer = janePackage { 1390 pname = "ppx_module_timer"; 1391 hash = "sha256-OWo1Ij9JAxsk9HlTlaz9Qw2+4YCvXDmIvytAOgFCLPI="; 1392 meta.description = "Ppx rewriter that records top-level module startup times"; 1393 propagatedBuildInputs = [ time_now ]; 1394 }; 1395 1396 ppx_optcomp = janePackage { 1397 pname = "ppx_optcomp"; 1398 hash = "sha256-H9oTzhJx9IGRkcwY2YEvcvNgeJ8ETNO95qKcjTXJBwk="; 1399 meta.description = "Optional compilation for OCaml"; 1400 propagatedBuildInputs = [ ppxlib ]; 1401 }; 1402 1403 ppx_optional = janePackage { 1404 pname = "ppx_optional"; 1405 hash = "sha256-SHw2zh6lG1N9zWF2b3VWeYzRHUx4jUxyOYgHd2/N9wE="; 1406 meta.description = "Pattern matching on flat options"; 1407 propagatedBuildInputs = [ 1408 ppxlib 1409 ppxlib_jane 1410 ]; 1411 }; 1412 1413 ppx_pattern_bind = janePackage { 1414 pname = "ppx_pattern_bind"; 1415 hash = "sha256-IVDvFU9ERB2YFJOgP/glYcO4KhEH5VdQ7wCCfreboqA="; 1416 meta.description = "A ppx for writing fast incremental bind nodes in a pattern match"; 1417 propagatedBuildInputs = [ ppx_let ]; 1418 }; 1419 1420 ppx_pipebang = janePackage { 1421 pname = "ppx_pipebang"; 1422 hash = "sha256-GBa1zzNChZOQfVSHyUeDEMFxuNUT3lj/pIQi/l1J35M="; 1423 meta.description = "A ppx rewriter that inlines reverse application operators `|>` and `|!`"; 1424 propagatedBuildInputs = [ ppxlib ]; 1425 }; 1426 1427 ppx_python = janePackage { 1428 pname = "ppx_python"; 1429 hash = "sha256-WqTYH5Zz/vRak/CL1ha8oUbQ8+XRuUu9610uj8II74o="; 1430 meta.description = "A [@@deriving] plugin to generate Python conversion functions "; 1431 propagatedBuildInputs = [ 1432 ppx_base 1433 ppxlib 1434 pyml 1435 ]; 1436 doCheck = false; # test rules broken 1437 }; 1438 1439 ppx_quick_test = janePackage { 1440 pname = "ppx_quick_test"; 1441 hash = "sha256-Kxb0IJcosC4eYlUjEfZE9FhY8o1/gDHHLWD5Cby5hXY="; 1442 meta.description = "Spiritual equivalent of let%expect_test, but for property based tests"; 1443 propagatedBuildInputs = [ 1444 async 1445 async_kernel 1446 base 1447 base_quickcheck 1448 core 1449 core_kernel 1450 expect_test_helpers_core 1451 ppx_expect 1452 ppx_here 1453 ppx_jane 1454 ppx_sexp_conv 1455 ppx_sexp_message 1456 ]; 1457 }; 1458 1459 ppx_sexp_conv = janePackage { 1460 pname = "ppx_sexp_conv"; 1461 hash = "sha256-hUi0I50SODK1MpL86xy8eM8yn8f4q1Hv4LP9zFnnr70="; 1462 meta.description = "[@@deriving] plugin to generate S-expression conversion functions"; 1463 propagatedBuildInputs = [ 1464 ppxlib 1465 ppxlib_jane 1466 sexplib0 1467 base 1468 ]; 1469 }; 1470 1471 ppx_sexp_message = janePackage { 1472 pname = "ppx_sexp_message"; 1473 hash = "sha256-SNgTvsTUgFzjqHpyIYk4YuA4c5MbA9e77YUEsDaKTeA="; 1474 meta.description = "A ppx rewriter for easy construction of s-expressions"; 1475 propagatedBuildInputs = [ 1476 ppx_here 1477 ppx_sexp_conv 1478 ]; 1479 }; 1480 1481 ppx_sexp_value = janePackage { 1482 pname = "ppx_sexp_value"; 1483 hash = "sha256-f96DLNFI+s3TKsOj01i6xUoM9L+qRgAXbbepNis397I="; 1484 meta.description = "A ppx rewriter that simplifies building s-expressions from ocaml values"; 1485 propagatedBuildInputs = [ 1486 ppx_here 1487 ppx_sexp_conv 1488 ]; 1489 }; 1490 1491 ppx_stable = janePackage { 1492 pname = "ppx_stable"; 1493 hash = "sha256-N5oPjjQcLgiO9liX8Z0vg0IbQXaGZ4BqOgwvuIKSKaA="; 1494 meta.description = "Stable types conversions generator"; 1495 propagatedBuildInputs = [ ppxlib ]; 1496 }; 1497 1498 ppx_stable_witness = janePackage { 1499 pname = "ppx_stable_witness"; 1500 hash = "sha256-k45uR/OMPRsi5450CuUo592EVc82DPhO8TvBPjgJTh0="; 1501 meta.description = "Ppx extension for deriving a witness that a type is intended to be stable"; 1502 propagatedBuildInputs = [ 1503 base 1504 ppxlib 1505 ]; 1506 }; 1507 1508 ppx_string = janePackage { 1509 pname = "ppx_string"; 1510 hash = "sha256-taAvJas9DvR5CIiFf38IMdNqLJ0QJmnIdcNJAaVILgA="; 1511 meta.description = "Ppx extension for string interpolation"; 1512 propagatedBuildInputs = [ 1513 ppx_base 1514 ppxlib 1515 stdio 1516 ]; 1517 }; 1518 1519 ppx_string_conv = janePackage { 1520 pname = "ppx_string_conv"; 1521 hash = "sha256-r+XubSXjxVyCsra99D6keJ/lmXeK5SZbI6h/IFghvPQ="; 1522 meta.description = "Ppx to help derive of_string and to_string, primarily for variant types"; 1523 propagatedBuildInputs = [ 1524 capitalization 1525 ppx_let 1526 ppx_string 1527 ]; 1528 }; 1529 1530 ppx_tydi = janePackage { 1531 pname = "ppx_tydi"; 1532 hash = "sha256-PM89fP6Rb6M99HgEzQ7LfpW1W5adw6J/E1LFQJtdd0U="; 1533 meta.description = "Let expressions, inferring pattern type from expression"; 1534 propagatedBuildInputs = [ 1535 base 1536 ppxlib 1537 ]; 1538 }; 1539 1540 ppx_typed_fields = janePackage { 1541 pname = "ppx_typed_fields"; 1542 hash = "sha256-aTPEBBc1zniZkEmzubGkU064bwGnefBOjVDqTdPm2w8="; 1543 meta.description = "GADT-based field accessors and utilities"; 1544 propagatedBuildInputs = [ 1545 core 1546 ppx_jane 1547 ppxlib 1548 ]; 1549 }; 1550 1551 ppx_typerep_conv = janePackage { 1552 pname = "ppx_typerep_conv"; 1553 hash = "sha256-V9yOSy3cj5/bz9PvpO3J+aeFu1G+qGQ8AR3gSczUZbY="; 1554 meta.description = "Generation of runtime types from type declarations"; 1555 propagatedBuildInputs = [ 1556 ppxlib 1557 typerep 1558 ]; 1559 }; 1560 1561 ppx_variants_conv = janePackage { 1562 pname = "ppx_variants_conv"; 1563 hash = "sha256-Av2F699LzVCpwcdji6qG0jt5DVxCnIY4eBLaPK1JC10="; 1564 meta.description = "Generation of accessor and iteration functions for ocaml variant types"; 1565 propagatedBuildInputs = [ 1566 variantslib 1567 ppxlib 1568 ]; 1569 }; 1570 1571 ppxlib_jane = janePackage ( 1572 { 1573 pname = "ppxlib_jane"; 1574 meta.description = "A library for use in ppxes for constructing and matching on ASTs corresponding to the augmented parsetree"; 1575 propagatedBuildInputs = [ ppxlib ]; 1576 } 1577 // ( 1578 if lib.versionAtLeast ocaml.version "5.3" then 1579 { 1580 version = "0.17.2"; 1581 hash = "sha256-AQJSdKtF6p/aG5Lx8VHVEOsisH8ep+iiml6DtW+Hdik="; 1582 } 1583 else 1584 { 1585 version = "0.17.0"; 1586 hash = "sha256-8NC8CHh3pSdFuRDQCuuhc2xxU+84UAsGFJbbJoKwd0U="; 1587 } 1588 ) 1589 ); 1590 1591 profunctor = janePackage { 1592 pname = "profunctor"; 1593 hash = "sha256-WYPJLt3kYvIzh88XcPpw2xvSNjNX63/LvWwIDK+Xr0Q="; 1594 meta.description = "A library providing a signature for simple profunctors and traversal of a record"; 1595 propagatedBuildInputs = [ 1596 base 1597 ppx_jane 1598 record_builder 1599 ]; 1600 }; 1601 1602 protocol_version_header = janePackage { 1603 pname = "protocol_version_header"; 1604 hash = "sha256-WKy4vahmmj6o82/FbzvFYfJFglgNMrka0XhtCMUyct4="; 1605 meta.description = "Protocol versioning"; 1606 propagatedBuildInputs = [ core_kernel ]; 1607 }; 1608 1609 re2 = janePackage { 1610 pname = "re2"; 1611 hash = "sha256-0VCSOzrVouMRVZJumcqv0F+HQFXlFfVEFIhYq7Tfhrg="; 1612 meta.description = "OCaml bindings for RE2, Google's regular expression library"; 1613 propagatedBuildInputs = [ 1614 core_kernel 1615 jane_rope 1616 regex_parser_intf 1617 ]; 1618 prePatch = '' 1619 substituteInPlace src/re2_c/dune --replace 'CXX=g++' 'CXX=c++' 1620 substituteInPlace src/dune --replace '(cxx_flags (:standard \ -pedantic) (-I re2_c/libre2))' '(cxx_flags (:standard \ -pedantic) (-I re2_c/libre2) (-x c++))' 1621 ''; 1622 }; 1623 1624 re2_stable = janePackage { 1625 pname = "re2_stable"; 1626 version = "0.14.0"; 1627 hash = "sha256-gyet2Pzn7ZIqQ+UP2J51pRmwaESY2LSGTqCMZZwDTE4="; 1628 meta.description = "Re2_stable adds an incomplete but stable serialization of Re2"; 1629 propagatedBuildInputs = [ 1630 core 1631 re2 1632 ]; 1633 }; 1634 1635 record_builder = janePackage { 1636 pname = "record_builder"; 1637 hash = "sha256-NQ0Wizxi/wD8BCwt8hxZWnEpLBTn3XkaG+96ooOKIFE="; 1638 meta.description = "A library which provides traversal of records with an applicative"; 1639 propagatedBuildInputs = [ 1640 base 1641 ppx_jane 1642 ]; 1643 }; 1644 1645 redis-async = janePackage { 1646 pname = "redis-async"; 1647 hash = "sha256-bwKPEnK2uJq5H65BDAL1Vk3qSr5kUwaCEiFsgaCdHw8="; 1648 meta.description = "Redis client for Async applications"; 1649 propagatedBuildInputs = [ 1650 async 1651 bignum 1652 core 1653 core_kernel 1654 ppx_jane 1655 ]; 1656 }; 1657 1658 regex_parser_intf = janePackage { 1659 pname = "regex_parser_intf"; 1660 hash = "sha256-j6zWJf5c5qWphMqb9JpEAMGDDsrzV+NU2zrGmZHSAgk="; 1661 meta.description = "Interface shared by Re_parser and Re2.Parser"; 1662 propagatedBuildInputs = [ base ]; 1663 }; 1664 1665 resource_cache = janePackage { 1666 pname = "resource_cache"; 1667 hash = "sha256-1WEjvdnl47rjCCMvGxqDKAb2ny6pJDlvDfZhKp+40Jg="; 1668 meta.description = "General resource cache"; 1669 propagatedBuildInputs = [ async_rpc_kernel ]; 1670 }; 1671 1672 semantic_version = janePackage { 1673 pname = "semantic_version"; 1674 hash = "sha256-2Z2C+1bfI6W7Pw7SRYw8EkaVVwQkkm+knCrJIfsJhPE="; 1675 meta.description = "Semantic versioning"; 1676 propagatedBuildInputs = [ 1677 core 1678 ppx_jane 1679 re 1680 ]; 1681 }; 1682 1683 sexp = janePackage { 1684 pname = "sexp"; 1685 hash = "sha256-89SNb0MeJbetRRbA5qbBQPXIcLQ0QCeSf8p9v5yUTP0="; 1686 propagatedBuildInputs = [ 1687 async 1688 core 1689 csvfields 1690 jsonaf 1691 re2 1692 sexp_diff 1693 sexp_macro 1694 sexp_pretty 1695 sexp_select 1696 shell 1697 ]; 1698 meta.description = "S-expression swiss knife"; 1699 }; 1700 1701 sexp_grammar = janePackage { 1702 pname = "sexp_grammar"; 1703 hash = "sha256-yagp8bEZvc4joV81w56hAb17mUbnekuzECVcwLIvYoE="; 1704 propagatedBuildInputs = [ 1705 core 1706 ppx_bin_prot 1707 ppx_compare 1708 ppx_hash 1709 ppx_let 1710 ppx_sexp_conv 1711 ppx_sexp_message 1712 zarith 1713 ]; 1714 meta.description = "Helpers for manipulating [Sexplib.Sexp_grammar] values"; 1715 }; 1716 1717 sexp_diff = janePackage { 1718 pname = "sexp_diff"; 1719 hash = "sha256-0p1+jMa2b/GJu+JtN+XUuR04lFQchxMeu9ikfgErqMU="; 1720 propagatedBuildInputs = [ core_kernel ]; 1721 meta.description = "Code for computing the diff of two sexps"; 1722 }; 1723 1724 sexp_macro = janePackage { 1725 pname = "sexp_macro"; 1726 hash = "sha256-KXJ+6uR38ywkr8uT8n2bWk10W7vW2ntMgxgF4ZvzzWU="; 1727 propagatedBuildInputs = [ 1728 async 1729 sexplib 1730 ]; 1731 meta.description = "Sexp macros"; 1732 }; 1733 1734 sexp_pretty = janePackage { 1735 pname = "sexp_pretty"; 1736 hash = "sha256-DcgLlwp3AMC1QzFYPzi7aHA+VhnhbG6p/fLDTMx8ATc="; 1737 meta.description = "S-expression pretty-printer"; 1738 propagatedBuildInputs = [ 1739 ppx_base 1740 re 1741 sexplib 1742 ]; 1743 }; 1744 1745 sexp_select = janePackage { 1746 pname = "sexp_select"; 1747 hash = "sha256-3AUFRtNe32TEB7lItcu7XlEv+3k+4QTitcTnT0kg28Y="; 1748 propagatedBuildInputs = [ 1749 base 1750 core_kernel 1751 ppx_jane 1752 ]; 1753 meta.description = "A library to use CSS-style selectors to traverse sexp trees"; 1754 }; 1755 1756 sexplib0 = janePackage { 1757 pname = "sexplib0"; 1758 hash = "sha256-Q53wEhRet/Ou9Kr0TZNTyXT5ASQpsVLPz5n/I+Fhy+g="; 1759 minimalOCamlVersion = "4.14.0"; 1760 meta.description = "Library containing the definition of S-expressions and some base converters"; 1761 }; 1762 1763 sexplib = janePackage { 1764 pname = "sexplib"; 1765 hash = "sha256-DxTMAQbskZ87pMVQnxYc3opGGCzmUKGCZfszr/Z9TGA="; 1766 meta.description = "Library for serializing OCaml values to and from S-expressions"; 1767 propagatedBuildInputs = [ 1768 num 1769 parsexp 1770 ]; 1771 }; 1772 1773 shell = janePackage { 1774 pname = "shell"; 1775 hash = "sha256-MJerTFLGrUaR3y3mnKVrH5EQHYBXZyuVL+n2wJZ9HoU="; 1776 meta.description = "Yet another implementation of fork&exec and related functionality"; 1777 buildInputs = [ jst-config ]; 1778 propagatedBuildInputs = [ textutils ]; 1779 checkInputs = [ ounit ]; 1780 }; 1781 1782 shexp = janePackage { 1783 pname = "shexp"; 1784 hash = "sha256-tf9HqZ01gMWxfcpe3Pl3rdPTPgIEdb59iwzwThznqAc="; 1785 propagatedBuildInputs = [ 1786 posixat 1787 spawn 1788 ]; 1789 meta.description = "Process library and s-expression based shell"; 1790 }; 1791 1792 spawn = janePackage { 1793 pname = "spawn"; 1794 minimalOCamlVersion = "4.05"; 1795 version = "0.15.1"; 1796 hash = "sha256-6vAkRjTZQGiPhYBWX4MBO3GxEDmAE+18vpMWXMcvWJk="; 1797 meta.description = "Spawning sub-processes"; 1798 buildInputs = [ ppx_expect ]; 1799 }; 1800 1801 splay_tree = janePackage { 1802 pname = "splay_tree"; 1803 hash = "sha256-gRHRqUKjFEgkL1h8zSbqJkf+gHxhh61AtAT+mkPcz+k="; 1804 meta.description = "A splay tree implementation"; 1805 propagatedBuildInputs = [ core_kernel ]; 1806 }; 1807 1808 splittable_random = janePackage { 1809 pname = "splittable_random"; 1810 hash = "sha256-LlaCxL17GBZc33spn/JnunpaMQ47n+RXS8CShBlaRWA="; 1811 meta.description = "PRNG that can be split into independent streams"; 1812 propagatedBuildInputs = [ 1813 base 1814 ppx_assert 1815 ppx_bench 1816 ppx_sexp_message 1817 ]; 1818 }; 1819 1820 stdio = janePackage { 1821 pname = "stdio"; 1822 hash = "sha256-N4VMUq6zWdYiJarVECSadxnoXJKh6AsIIaChmHFSbdA="; 1823 meta.description = "Standard IO library for OCaml"; 1824 propagatedBuildInputs = [ base ]; 1825 }; 1826 1827 stored_reversed = janePackage { 1828 pname = "stored_reversed"; 1829 hash = "sha256-FPyQxXaGAzFWW6GiiqKQgU+6/lAZhEQwhNnXsmqKkzg="; 1830 meta.description = "A library for representing a list temporarily stored in reverse order"; 1831 propagatedBuildInputs = [ 1832 core 1833 ppx_jane 1834 ]; 1835 }; 1836 1837 streamable = janePackage { 1838 pname = "streamable"; 1839 hash = "sha256-FtrAX4nsacCO5HTVxwLgwwT8R2sASJ05qu4gT2ZVSDg="; 1840 meta.description = "A collection of types suitable for incremental serialization"; 1841 propagatedBuildInputs = [ 1842 async_kernel 1843 async_rpc_kernel 1844 base 1845 core 1846 core_kernel 1847 ppx_jane 1848 ppxlib 1849 ]; 1850 }; 1851 1852 textutils = janePackage { 1853 pname = "textutils"; 1854 hash = "sha256-J58sqp9fkx3JyjnH6oJLCyEC0ZvnuDfqLVl+dt3tEgA="; 1855 meta.description = "Text output utilities"; 1856 propagatedBuildInputs = [ 1857 core_unix 1858 textutils_kernel 1859 ]; 1860 }; 1861 1862 textutils_kernel = janePackage { 1863 pname = "textutils_kernel"; 1864 hash = "sha256-B5ExbKMRSw4RVJ908FVGob2soHFnJ6Ajsdn0q8lDhio="; 1865 meta.description = "Text output utilities"; 1866 propagatedBuildInputs = [ 1867 core 1868 ppx_jane 1869 uutf 1870 ]; 1871 }; 1872 1873 tilde_f = janePackage { 1874 pname = "tilde_f"; 1875 hash = "sha256-tuddvOmhk0fikB4dHNdXamBx6xfo4DCvivs44QXp5RQ="; 1876 meta.description = "Provides a let-syntax for continuation-passing style"; 1877 propagatedBuildInputs = [ 1878 base 1879 ppx_jane 1880 ]; 1881 }; 1882 1883 time_now = janePackage { 1884 pname = "time_now"; 1885 hash = "sha256-bTPWE9+x+zmdLdzLc1naDlRErPZ8m4WXDJL2iLErdqk="; 1886 meta.description = "Reports the current time"; 1887 buildInputs = [ 1888 jst-config 1889 ppx_optcomp 1890 ]; 1891 propagatedBuildInputs = [ 1892 jane-street-headers 1893 base 1894 ppx_base 1895 ]; 1896 }; 1897 1898 timezone = janePackage { 1899 pname = "timezone"; 1900 hash = "sha256-/6OLWMrkyQSVTNJ24zRy6v4DObt9q99s75QRS/VVxXE="; 1901 meta.description = "Time-zone handling"; 1902 propagatedBuildInputs = [ core_kernel ]; 1903 }; 1904 1905 topological_sort = janePackage { 1906 pname = "topological_sort"; 1907 hash = "sha256-jLkJnh5lasrphI6BUKv7oVPrKyGqNm6VIGYthNs04iU="; 1908 meta.description = "Topological sort algorithm"; 1909 propagatedBuildInputs = [ 1910 ppx_jane 1911 stdio 1912 ]; 1913 }; 1914 1915 typerep = janePackage { 1916 pname = "typerep"; 1917 version = "0.17.1"; 1918 hash = "sha256-hw03erwLx9IAbkBibyhZxofA5jIi12rFJOHNEVYpLSk="; 1919 meta.description = "Typerep is a library for runtime types"; 1920 propagatedBuildInputs = [ base ]; 1921 }; 1922 1923 uopt = janePackage { 1924 pname = "uopt"; 1925 hash = "sha256-t0SFJVF0ScyFFwziBZOYCOsmhRd6J5H3s0Kk9NKorcM="; 1926 meta.description = "An [option]-like type that incurs no allocation"; 1927 propagatedBuildInputs = [ 1928 base 1929 ppx_jane 1930 ]; 1931 }; 1932 1933 username_kernel = janePackage { 1934 pname = "username_kernel"; 1935 hash = "sha256-1lxWSv7CbmucurNw8ws18N9DYqo4ik2KZBc5GtNmmeU="; 1936 meta.description = "An identifier for a user"; 1937 propagatedBuildInputs = [ 1938 core 1939 ppx_jane 1940 ]; 1941 }; 1942 1943 variantslib = janePackage { 1944 pname = "variantslib"; 1945 hash = "sha256-v/p718POQlFsB7N7WmMCDnmQDB2sP1263pSQIuvlLt8="; 1946 meta.description = "Part of Jane Street's Core library"; 1947 propagatedBuildInputs = [ base ]; 1948 }; 1949 1950 vcaml = janePackage { 1951 pname = "vcaml"; 1952 hash = "sha256-z3v0Uqb+jE19+EN/b6qQvAx+FaK5HmbdHnxEkYGSmS8="; 1953 meta.description = "OCaml bindings for the Neovim API"; 1954 propagatedBuildInputs = [ 1955 angstrom-async 1956 async_extra 1957 base_trie 1958 expect_test_helpers_async 1959 faraday 1960 jsonaf 1961 man_in_the_middle_debugger 1962 semantic_version 1963 ]; 1964 doCheck = false; # tests depend on nvim 1965 }; 1966 1967 versioned_polling_state_rpc = janePackage { 1968 pname = "versioned_polling_state_rpc"; 1969 hash = "sha256-Ba+Pevc/cvvY9FnQ2oTUxTekxypVkEy4MfrpRKmJhZ0="; 1970 meta.description = "Helper functions for creating stable/versioned `Polling_state_rpc.t`s with babel"; 1971 propagatedBuildInputs = [ 1972 async_rpc_kernel 1973 babel 1974 core 1975 polling_state_rpc 1976 ppx_jane 1977 ]; 1978 }; 1979 1980 virtual_dom = janePackage { 1981 pname = "virtual_dom"; 1982 hash = "sha256-5T+/N1fELa1cR9mhWLUgS3Fwr1OQXJ3J6T3YaHT9q7U="; 1983 meta.description = "OCaml bindings for the virtual-dom library"; 1984 meta.broken = lib.versionAtLeast ocaml.version "5.3"; 1985 buildInputs = [ js_of_ocaml-ppx ]; 1986 propagatedBuildInputs = [ 1987 base64 1988 core_kernel 1989 gen_js_api 1990 js_of_ocaml 1991 js_of_ocaml_patches 1992 lambdasoup 1993 tyxml 1994 uri 1995 ]; 1996 }; 1997 1998 virtual_dom_toplayer = janePackage { 1999 pname = "virtual_dom_toplayer"; 2000 hash = "sha256-trTSWzWsXkV4RtQvVCyXqJN5/wftaFuooaehNekP9H0="; 2001 meta.description = "OCaml bindings for the floating positioning library for 'toplevel' virtual dom components"; 2002 propagatedBuildInputs = [ 2003 core 2004 js_of_ocaml_patches 2005 ppx_css 2006 ppx_jane 2007 virtual_dom 2008 gen_js_api 2009 js_of_ocaml 2010 js_of_ocaml-ppx 2011 ]; 2012 }; 2013 2014 zarith_stubs_js = janePackage { 2015 pname = "zarith_stubs_js"; 2016 hash = "sha256-QNhs9rHZetwgKAOftgQQa6aU8cOux8JOe3dBRrLJVh0="; 2017 meta.description = "Javascripts stubs for the Zarith library"; 2018 propagatedBuildInputs = [ ppx_jane ]; 2019 doCheck = false; # some test sources unavailable 2020 }; 2021 2022 zstandard = janePackage { 2023 pname = "zstandard"; 2024 hash = "sha256-EUI7fnN8ZaM1l0RBsgSAMWO+VXA8VoCv/lO5kcj+j4E="; 2025 meta.description = "OCaml bindings to Zstandard"; 2026 buildInputs = [ ppx_jane ]; 2027 propagatedBuildInputs = [ 2028 core_kernel 2029 ctypes 2030 zstd 2031 ]; 2032 }; 2033}