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