Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ 2 self, 3 fetchpatch, 4 lib, 5 openssl, 6 zstd, 7}: 8 9with self; 10 11{ 12 13 accessor = janePackage { 14 pname = "accessor"; 15 version = "0.14.1"; 16 minimalOCamlVersion = "4.09"; 17 hash = "0wm2081kzd5zsqs516cn3f975bnnmnyynv8fa818gmfa65i6mxm8"; 18 meta.description = "A library that makes it nicer to work with nested functional data structures"; 19 propagatedBuildInputs = [ higher_kinded ]; 20 }; 21 22 accessor_async = janePackage { 23 pname = "accessor_async"; 24 version = "0.14.1"; 25 minimalOCamlVersion = "4.09"; 26 hash = "1193hzvlzm7vcl9p67fs8al2pvkw9n2wz009m2l3lp35mrx8aq1w"; 27 meta.description = "Accessors for Async types, for use with the Accessor library"; 28 propagatedBuildInputs = [ 29 accessor_core 30 async_kernel 31 ]; 32 }; 33 34 accessor_base = janePackage { 35 pname = "accessor_base"; 36 version = "0.14.1"; 37 minimalOCamlVersion = "4.09"; 38 hash = "1xjbvvijkyw4dlys47x4896y3kqm2zn0yg60cqrp57i2dwxg0nsj"; 39 meta.description = "Accessors for Base types, for use with the Accessor library"; 40 propagatedBuildInputs = [ ppx_accessor ]; 41 }; 42 43 accessor_core = janePackage { 44 minimalOCamlVersion = "4.09"; 45 pname = "accessor_core"; 46 version = "0.14.1"; 47 hash = "1cdkv34m6czhacivpbb2sasj83fgcid6gnqk30ig9i84z8nh2gw2"; 48 meta.description = "Accessors for Core types, for use with the Accessor library"; 49 meta.broken = true; # Not compatible with ppxlib ≥ 0.23 50 propagatedBuildInputs = [ 51 accessor_base 52 core_kernel 53 ]; 54 }; 55 56 async = janePackage { 57 pname = "async"; 58 hash = "086v93div4h9l02n7wzv3xx3i6xvddazydm9qlfa72ad55x3vzy0"; 59 meta.description = "Monadic concurrency library"; 60 propagatedBuildInputs = [ 61 async_rpc_kernel 62 async_unix 63 textutils 64 ]; 65 doCheck = false; # we don't have netkit_sockets 66 }; 67 68 async_extra = janePackage { 69 pname = "async_extra"; 70 hash = "16cnz9h4jkc3b0837s5z0iv92q7n5nw77g8qshq8pwq639y8ail4"; 71 meta.description = "Monadic concurrency library"; 72 propagatedBuildInputs = [ async_kernel ]; 73 }; 74 75 async_find = janePackage { 76 pname = "async_find"; 77 hash = "0vlcpdr15bgrwrmixvs6ij88kvk8vzzrijz3zm0svxih0naf8ylx"; 78 meta.description = "Directory traversal with Async"; 79 propagatedBuildInputs = [ async ]; 80 }; 81 82 async_inotify = janePackage { 83 pname = "async_inotify"; 84 hash = "0i0hf7nsir316ijixdj43qf0p3b6yapvcm2jzp7bhpf4r2kxislv"; 85 meta.description = "Async wrapper for inotify"; 86 propagatedBuildInputs = [ 87 async_find 88 inotify 89 ]; 90 }; 91 92 async_interactive = janePackage { 93 pname = "async_interactive"; 94 hash = "1cnmv9mipa6k6xd303ngdbxmiab2202f3w3pgq8l1970w8hb78il"; 95 meta.description = "Utilities for building simple command-line based user interfaces"; 96 propagatedBuildInputs = [ async ]; 97 }; 98 99 async_js = janePackage { 100 pname = "async_js"; 101 hash = "0rld8792lfwbinn9rhrgacivz49vppgy29smpqnvpga89wchjv0v"; 102 meta.description = "A small library that provide Async support for JavaScript platforms"; 103 buildInputs = [ js_of_ocaml-ppx ]; 104 propagatedBuildInputs = [ 105 async_rpc_kernel 106 js_of_ocaml 107 uri-sexp 108 ]; 109 }; 110 111 async_kernel = janePackage { 112 pname = "async_kernel"; 113 hash = "17giakwl0xhyxvxrkn12dwjdghc53q8px81z7cc3k6f102bsbdy6"; 114 meta.description = "Monadic concurrency library"; 115 propagatedBuildInputs = [ core_kernel ]; 116 }; 117 118 async_rpc_kernel = janePackage { 119 pname = "async_rpc_kernel"; 120 hash = "1bwq3gkq057dd1fhrqz9kqq8a956nn87zaxvr0qcpiczzjv3zmvm"; 121 meta.description = "Platform-independent core of Async RPC library"; 122 propagatedBuildInputs = [ 123 async_kernel 124 protocol_version_header 125 ]; 126 }; 127 128 async_sendfile = janePackage { 129 pname = "async_sendfile"; 130 hash = "1w3gwwpgfzqjhblxnxh64g64q6kgjzzxx90inswfhycc88pnvdna"; 131 meta.description = "Thin wrapper around [Linux_ext.sendfile] to send full files"; 132 propagatedBuildInputs = [ async_unix ]; 133 }; 134 135 async_shell = janePackage { 136 pname = "async_shell"; 137 hash = "1r00z620nqv2jxz2xrp2gsyc30h8dd2w9qsnys2fkqbgpxlbgdc7"; 138 meta.description = "Shell helpers for Async"; 139 propagatedBuildInputs = [ 140 async 141 shell 142 ]; 143 }; 144 145 async_smtp = janePackage { 146 pname = "async_smtp"; 147 hash = "1xf3illn7vikdxldpnc29n4z8sv9f0wsdgdvl4iv93qlvjk8gzck"; 148 meta.description = "SMTP client and server"; 149 propagatedBuildInputs = [ 150 async_extra 151 async_inotify 152 async_sendfile 153 async_shell 154 async_ssl 155 email_message 156 resource_cache 157 re2_stable 158 sexp_macro 159 ]; 160 }; 161 162 async_ssl = janePackage { 163 pname = "async_ssl"; 164 hash = "0ykys3ckpsx5crfgj26v2q3gy6wf684aq0bfb4q8p92ivwznvlzy"; 165 meta.description = "Async wrappers for SSL"; 166 meta.broken = true; 167 buildInputs = [ dune-configurator ]; 168 propagatedBuildInputs = [ 169 async 170 ctypes 171 ctypes-foreign 172 openssl 173 ]; 174 # in ctypes.foreign 0.18.0 threaded and unthreaded have been merged 175 postPatch = '' 176 substituteInPlace bindings/dune \ 177 --replace "ctypes.foreign.threaded" "ctypes.foreign" 178 ''; 179 }; 180 181 async_unix = janePackage { 182 pname = "async_unix"; 183 hash = "1wgnr0vdsknqrfnf6irmwnvyngndsnvvl1sfnj3v6fhwk4nswnrs"; 184 meta.description = "Monadic concurrency library"; 185 propagatedBuildInputs = [ 186 async_kernel 187 core 188 ]; 189 }; 190 191 base = janePackage { 192 pname = "base"; 193 version = "0.14.1"; 194 hash = "1hizjxmiqlj2zzkwplzjamw9rbnl0kh44sxgjpzdij99qnfkzylf"; 195 minimalOCamlVersion = "4.07"; 196 meta.description = "Full standard library replacement for OCaml"; 197 buildInputs = [ dune-configurator ]; 198 propagatedBuildInputs = [ sexplib0 ]; 199 checkInputs = [ alcotest ]; 200 }; 201 202 base_bigstring = janePackage { 203 pname = "base_bigstring"; 204 hash = "1ald2m7qywhxbygv58dzpgaj54p38zn0aiqd1z7i95kf3bsnsjqa"; 205 minimalOCamlVersion = "4.07"; 206 meta.description = "String type based on [Bigarray], for use in I/O and C-bindings"; 207 propagatedBuildInputs = [ ppx_jane ]; 208 }; 209 210 base_quickcheck = janePackage { 211 pname = "base_quickcheck"; 212 version = "0.14.1"; 213 hash = "0apq3d9xb0zdaqsl4cjk5skyig57ff1plndb2mh0nn3czvfhifxs"; 214 minimalOCamlVersion = "4.04.2"; 215 meta.description = "Randomized testing framework, designed for compatibility with Base"; 216 propagatedBuildInputs = [ 217 ppx_base 218 ppx_fields_conv 219 ppx_let 220 ppx_sexp_value 221 splittable_random 222 ]; 223 }; 224 225 bignum = janePackage { 226 pname = "bignum"; 227 hash = "009ygr64q810p9iq4mykzz4ci00i5mzgpmq35jiyaiqm27bjam21"; 228 propagatedBuildInputs = [ 229 core_kernel 230 zarith 231 zarith_stubs_js 232 ]; 233 meta.description = "Core-flavoured wrapper around zarith's arbitrary-precision rationals"; 234 }; 235 236 bin_prot = janePackage { 237 pname = "bin_prot"; 238 hash = "1qyqbfp4zdc2jb87370cdgancisqffhf9x60zgh2m31kqik8annr"; 239 minimalOCamlVersion = "4.04.2"; 240 meta.description = "A binary protocol generator"; 241 propagatedBuildInputs = [ 242 ppx_compare 243 ppx_custom_printf 244 ppx_fields_conv 245 ppx_optcomp 246 ppx_variants_conv 247 ]; 248 }; 249 250 bonsai = janePackage { 251 pname = "bonsai"; 252 hash = "0k4grabwqc9sy4shzp77bgfvyajvvc0l8qq89ia7cvlwvly7gv6a"; 253 meta.description = "A library for building dynamic webapps, using Js_of_ocaml"; 254 buildInputs = [ ppx_pattern_bind ]; 255 propagatedBuildInputs = [ incr_dom ]; 256 }; 257 258 cinaps = janePackage { 259 pname = "cinaps"; 260 hash = "0ms1j2kh7i5slyw9v4w9kdz52dkwl5gqcnvn89prgimhk2vmichj"; 261 minimalOCamlVersion = "4.07"; 262 meta.description = "Trivial metaprogramming tool"; 263 propagatedBuildInputs = [ re ]; 264 checkInputs = [ ppx_jane ]; 265 }; 266 267 core = janePackage { 268 pname = "core"; 269 version = "0.14.1"; 270 hash = "1isrcl07nkmdm6akqsqs9z8s6zvva2lvg47kaagy7gsbyszrqb82"; 271 meta.description = "System-independent part of Core"; 272 buildInputs = [ jst-config ]; 273 propagatedBuildInputs = [ 274 core_kernel 275 spawn 276 timezone 277 ]; 278 doCheck = false; # we don't have quickcheck_deprecated 279 }; 280 281 core_bench = janePackage { 282 pname = "core_bench"; 283 hash = "04h6hzxk347pqyrrbgqrw9576sq4yf70fgq9xam3kajrqwdh3dhx"; 284 meta.description = "Benchmarking library"; 285 propagatedBuildInputs = [ textutils ]; 286 }; 287 288 core_extended = janePackage { 289 pname = "core_extended"; 290 hash = "1pbm6xbc3h0fhrymyr1yb9b1jk7n88gfi3pylqz2cs8haxr2pb3a"; 291 meta.description = "Extra components that are not as closely vetted or as stable as Core"; 292 propagatedBuildInputs = [ core ]; 293 }; 294 295 core_kernel = janePackage { 296 pname = "core_kernel"; 297 version = "0.14.1"; 298 hash = "0pikg4ln6177gbs0jfix7xj50zlcm7058h64lxnd7wspnj7mq8sd"; 299 meta.description = "System-independent part of Core"; 300 buildInputs = [ jst-config ]; 301 propagatedBuildInputs = [ 302 base_bigstring 303 sexplib 304 ]; 305 doCheck = false; # we don't have quickcheck_deprecated 306 }; 307 308 core_unix = janePackage { 309 pname = "core_unix"; 310 hash = "0irfmpx6iksxk2r8mdizjn75h71qh4p2f1s9x2ggckzqj9y904ck"; 311 meta.description = "Unix-specific portions of Core"; 312 propagatedBuildInputs = [ core ]; 313 }; 314 315 csvfields = janePackage { 316 pname = "csvfields"; 317 hash = "09jmz6y6nwd96dcx6g8ydicxssi72v1ks276phbc9n19wwg9hkaz"; 318 propagatedBuildInputs = [ 319 core 320 num 321 ]; 322 meta.description = "Runtime support for ppx_xml_conv and ppx_csv_conv"; 323 }; 324 325 delimited_parsing = janePackage { 326 pname = "delimited_parsing"; 327 hash = "1dnr5wqacryx1kj38i9iifc3457pchr887xphzz2nhlbizq3d7qa"; 328 propagatedBuildInputs = [ 329 async 330 core_extended 331 ]; 332 meta.description = "Parsing of character (e.g., comma) separated and fixed-width values"; 333 }; 334 335 ecaml = janePackage { 336 pname = "ecaml"; 337 hash = "052qglpwzrx3c4gy3zr6dmsmfbi5gj4fs2jhx9yrsqb9hj8g36mj"; 338 meta.description = "Library for writing Emacs plugin in OCaml"; 339 propagatedBuildInputs = [ 340 async 341 expect_test_helpers_core 342 ]; 343 }; 344 345 email_message = janePackage { 346 pname = "email_message"; 347 hash = "0k8hjkq91ikl7wjxs04k523jbkhl6q4abj6v0lzlbjiybmrpp69n"; 348 meta.description = "E-mail message parser"; 349 propagatedBuildInputs = [ 350 angstrom 351 async 352 base64 353 cryptokit 354 magic-mime 355 re2 356 ]; 357 }; 358 359 expect_test_helpers_async = janePackage { 360 pname = "expect_test_helpers_async"; 361 hash = "175sjkx3b10d8vacp369rv53nxbiaxw1xhwy832g7ffk1by8l2m1"; 362 meta.description = "Async helpers for writing expectation tests"; 363 propagatedBuildInputs = [ 364 async 365 expect_test_helpers_core 366 ]; 367 }; 368 369 expect_test_helpers_core = janePackage { 370 pname = "expect_test_helpers_core"; 371 hash = "1drl15akp4jz4wf26dr2y2nblvnhz14xsnb3ai8dg45y711svs2i"; 372 meta.description = "Helpers for writing expectation tests"; 373 propagatedBuildInputs = [ 374 core_kernel 375 sexp_pretty 376 ]; 377 }; 378 379 fieldslib = janePackage { 380 pname = "fieldslib"; 381 hash = "0nxx35lrb4f6zfs5l80a7cg7azf19c6g31vn9qjjpaxf6lgkck2n"; 382 minimalOCamlVersion = "4.04.2"; 383 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"; 384 propagatedBuildInputs = [ base ]; 385 }; 386 387 higher_kinded = janePackage { 388 pname = "higher_kinded"; 389 version = "0.14.1"; 390 minimalOCamlVersion = "4.09"; 391 hash = "05jvxgqsx3j2v8rqpd91ah76dgc1q2dz38kjklmx0vms4r4gvlsx"; 392 meta.description = "A library with an encoding of higher kinded types in OCaml"; 393 propagatedBuildInputs = [ 394 base 395 ppx_jane 396 ]; 397 }; 398 399 incr_dom = janePackage { 400 pname = "incr_dom"; 401 hash = "0mi98cwi4npdh5vvcz0pb4sbb9j9dydl52s51rswwc3kn8mipxfx"; 402 meta.description = "A library for building dynamic webapps, using Js_of_ocaml"; 403 buildInputs = [ js_of_ocaml-ppx ]; 404 propagatedBuildInputs = [ 405 async_js 406 incr_map 407 incr_select 408 virtual_dom 409 ]; 410 patches = [ ./incr_dom_jsoo_4_0.patch ]; 411 }; 412 413 incr_map = janePackage { 414 pname = "incr_map"; 415 hash = "0s0s7qfydvvvnqby4v5by5jdnd5kxqsdr65mhm11w4fn125skryz"; 416 meta.description = "Helpers for incremental operations on map like data structures"; 417 buildInputs = [ ppx_pattern_bind ]; 418 propagatedBuildInputs = [ incremental ]; 419 }; 420 421 incr_select = janePackage { 422 pname = "incr_select"; 423 hash = "18ril6z57mw89gzc9zhz6p1phwm1xr6phppicvqpqmi0skvvnrg6"; 424 meta.description = "Handling of large set of incremental outputs from a single input"; 425 propagatedBuildInputs = [ incremental ]; 426 }; 427 428 incremental = janePackage { 429 pname = "incremental"; 430 hash = "0nyaiy7r2spvn2ij9z5rghd5gbjk1y3ai4jn0i8q81arp7cf6zc7"; 431 meta.description = "Library for incremental computations"; 432 propagatedBuildInputs = [ core_kernel ]; 433 }; 434 435 jane-street-headers = janePackage { 436 pname = "jane-street-headers"; 437 hash = "12n40mlgjnc09fxc0hp0npsxdlxja2w828683zpb32nrzqkg6z4c"; 438 minimalOCamlVersion = "4.04.2"; 439 meta.description = "Jane Street C header files"; 440 }; 441 442 jst-config = janePackage { 443 pname = "jst-config"; 444 hash = "0hzw0crgj0kjxsvr10wng7gqy948v98hnijh30lgq3v62jdsjra8"; 445 meta.description = "Compile-time configuration for Jane Street libraries"; 446 buildInputs = [ 447 dune-configurator 448 ppx_assert 449 stdio 450 ]; 451 }; 452 453 ocaml-compiler-libs = janePackage { 454 pname = "ocaml-compiler-libs"; 455 version = "0.12.4"; 456 minimalOCamlVersion = "4.04.1"; 457 hash = "sha256-W+KUguz55yYAriHRMcQy8gRPzh2TZSJnexG1JI8TLgI="; 458 meta.description = "OCaml compiler libraries repackaged"; 459 }; 460 461 parsexp = janePackage { 462 pname = "parsexp"; 463 version = "0.14.1"; 464 hash = "1nr0ncb8l2mkk8pqzknr7fsqw5kpz8y102kyv5bc0x7c36v0d4zy"; 465 minimalOCamlVersion = "4.04.2"; 466 meta.description = "S-expression parsing library"; 467 propagatedBuildInputs = [ 468 base 469 sexplib0 470 ]; 471 }; 472 473 patience_diff = janePackage { 474 pname = "patience_diff"; 475 hash = "1np88s226ndhbwynpdqygrycahp8m1mx28f1xk54kvds8znnq2i0"; 476 meta.description = "Diff library using Bram Cohen's patience diff algorithm"; 477 propagatedBuildInputs = [ core_kernel ]; 478 }; 479 480 posixat = janePackage { 481 pname = "posixat"; 482 hash = "0aana1lzq4514kna7hr301b5iv6gcg6zhgrx8s8vaad1q38yfp6c"; 483 minimalOCamlVersion = "4.07"; 484 propagatedBuildInputs = [ 485 ppx_optcomp 486 ppx_sexp_conv 487 ]; 488 meta.description = "Binding to the posix *at functions"; 489 }; 490 491 ppx_accessor = janePackage { 492 pname = "ppx_accessor"; 493 version = "0.14.3"; 494 minimalOCamlVersion = "4.09"; 495 hash = "sha256:1c8blzh2f34vbm1z3mnvh670c6vda70chw805n2hmkd9j46l0cll"; 496 meta.description = "[@@deriving] plugin to generate accessors for use with the Accessor libraries"; 497 propagatedBuildInputs = [ accessor ]; 498 }; 499 500 ppx_assert = janePackage { 501 pname = "ppx_assert"; 502 hash = "03mzgm4smrczp5dg3mpr6zc2v6a54n0r01k4ww820yrr25hcf8ip"; 503 minimalOCamlVersion = "4.04.2"; 504 meta.description = "Assert-like extension nodes that raise useful errors on failure"; 505 propagatedBuildInputs = [ 506 ppx_cold 507 ppx_compare 508 ppx_here 509 ppx_sexp_conv 510 ]; 511 }; 512 513 ppx_base = janePackage { 514 pname = "ppx_base"; 515 hash = "1wv3q0qyghm0c5izq03y97lv3czqk116059mg62wx6valn22a000"; 516 minimalOCamlVersion = "4.04.2"; 517 meta = { 518 description = "Base set of ppx rewriters"; 519 mainProgram = "ppx-base"; 520 }; 521 propagatedBuildInputs = [ 522 ppx_cold 523 ppx_enumerate 524 ppx_hash 525 ppx_js_style 526 ]; 527 }; 528 529 ppx_bench = janePackage { 530 pname = "ppx_bench"; 531 version = "0.14.1"; 532 hash = "12r7jgqgpb4i4cry3rgyl2nmxcscs5w7mmk06diz7i49r27p96im"; 533 minimalOCamlVersion = "4.04.2"; 534 meta.description = "Syntax extension for writing in-line benchmarks in ocaml code"; 535 propagatedBuildInputs = [ ppx_inline_test ]; 536 }; 537 538 ppx_bin_prot = janePackage { 539 pname = "ppx_bin_prot"; 540 hash = "1qryjxhyz3kn5jz5wm62j59lhjhd1mp7nbsj0np9qnbpapnnr1zg"; 541 minimalOCamlVersion = "4.04.2"; 542 meta.description = "Generation of bin_prot readers and writers from types"; 543 propagatedBuildInputs = [ 544 bin_prot 545 ppx_here 546 ]; 547 doCheck = false; # circular dependency with ppx_jane 548 }; 549 550 ppx_cold = janePackage { 551 pname = "ppx_cold"; 552 hash = "0ciqs6f9ab73gq4krj14xzzba4ydcxph214m87i1s0xp25hwxr8v"; 553 minimalOCamlVersion = "4.04.2"; 554 meta.description = "Expands [@cold] into [@inline never][@specialise never][@local never]"; 555 propagatedBuildInputs = [ ppxlib ]; 556 }; 557 558 ppx_compare = janePackage { 559 pname = "ppx_compare"; 560 hash = "11pj76dimx2f7l8m85myzp6yzx9xcg0bqi97s7ayssvkckm57390"; 561 minimalOCamlVersion = "4.04.2"; 562 meta.description = "Generation of comparison functions from types"; 563 propagatedBuildInputs = [ 564 ppxlib 565 base 566 ]; 567 doCheck = false; # test build rule broken 568 }; 569 570 ppx_custom_printf = janePackage { 571 pname = "ppx_custom_printf"; 572 version = "0.14.1"; 573 hash = "0c1m65kn27zvwmfwy7kk46ga76yw2a3ik9jygpy1b6nn6pi026w9"; 574 minimalOCamlVersion = "4.04.2"; 575 meta.description = "Printf-style format-strings for user-defined string conversion"; 576 propagatedBuildInputs = [ ppx_sexp_conv ]; 577 }; 578 579 ppx_enumerate = janePackage { 580 pname = "ppx_enumerate"; 581 hash = "1sriid4vh10p80wwvn46v1g16m646qw5r5xzwlymyz5gbvq2zf40"; 582 minimalOCamlVersion = "4.04.2"; 583 meta.description = "Generate a list containing all values of a finite type"; 584 propagatedBuildInputs = [ ppxlib ]; 585 }; 586 587 ppx_expect = janePackage { 588 pname = "ppx_expect"; 589 version = "0.14.1"; 590 hash = "0vbbnjrzpyk5p0js21lafr6fcp2wqka89p1876rdf472cmg0l7fv"; 591 minimalOCamlVersion = "4.04.2"; 592 meta.description = "Cram like framework for OCaml"; 593 propagatedBuildInputs = [ 594 ppx_here 595 ppx_inline_test 596 re 597 ]; 598 doCheck = false; # circular dependency with ppx_jane 599 }; 600 601 ppx_fields_conv = janePackage { 602 pname = "ppx_fields_conv"; 603 version = "0.14.2"; 604 hash = "1zwirwqry24b48bg7d4yc845hvcirxyymzbw95aaxdcck84d30n8"; 605 minimalOCamlVersion = "4.04.2"; 606 meta.description = "Generation of accessor and iteration functions for ocaml records"; 607 propagatedBuildInputs = [ 608 fieldslib 609 ppxlib 610 ]; 611 }; 612 613 ppx_fixed_literal = janePackage { 614 pname = "ppx_fixed_literal"; 615 hash = "0s7rb4dhz4ibhh42a9sfxjj3zbwfyfmaihr92hpdv5j9xqn3n8mi"; 616 minimalOCamlVersion = "4.04.2"; 617 meta.description = "Simpler notation for fixed point literals"; 618 propagatedBuildInputs = [ ppxlib ]; 619 }; 620 621 ppx_hash = janePackage { 622 pname = "ppx_hash"; 623 hash = "1zf03xdrg4jig7pdcrdpbabyjkdpifb31z2z1bf9wfdawybdhwkq"; 624 minimalOCamlVersion = "4.04.2"; 625 meta.description = "A ppx rewriter that generates hash functions from type expressions and definitions"; 626 propagatedBuildInputs = [ 627 ppx_compare 628 ppx_sexp_conv 629 ]; 630 }; 631 632 ppx_here = janePackage { 633 pname = "ppx_here"; 634 hash = "09zcyigaalqccs9s0h7n0535clgfmqb9s4p1jbgcqji9zj8w426s"; 635 minimalOCamlVersion = "4.04.2"; 636 meta.description = "Expands [%here] into its location"; 637 propagatedBuildInputs = [ ppxlib ]; 638 doCheck = false; # test build rules broken 639 }; 640 641 ppx_inline_test = janePackage { 642 pname = "ppx_inline_test"; 643 version = "0.14.1"; 644 hash = "1ajdna1m9l1l3nfigyy33zkfa3yarfr6s086jdw2pcfwlq1fhhl4"; 645 minimalOCamlVersion = "4.04.2"; 646 meta.description = "Syntax extension for writing in-line tests in ocaml code"; 647 propagatedBuildInputs = [ 648 ppxlib 649 time_now 650 ]; 651 doCheck = false; # test build rules broken 652 }; 653 654 ppx_jane = janePackage { 655 pname = "ppx_jane"; 656 hash = "1kk238fvrcylymwm7xwc7llbyspmx1y662ypq00vy70g112rir7j"; 657 minimalOCamlVersion = "4.04.2"; 658 meta = { 659 description = "Standard Jane Street ppx rewriters"; 660 mainProgram = "ppx-jane"; 661 }; 662 propagatedBuildInputs = [ 663 base_quickcheck 664 ppx_bin_prot 665 ppx_expect 666 ppx_fixed_literal 667 ppx_module_timer 668 ppx_optcomp 669 ppx_optional 670 ppx_pipebang 671 ppx_stable 672 ppx_string 673 ppx_typerep_conv 674 ppx_variants_conv 675 ]; 676 }; 677 678 ppx_js_style = janePackage { 679 pname = "ppx_js_style"; 680 version = "0.14.1"; 681 hash = "16ax6ww9h36xyn9acbm8zxv0ajs344sm37lgj2zd2bvgsqv24kxj"; 682 minimalOCamlVersion = "4.04.2"; 683 meta.description = "Code style checker for Jane Street Packages"; 684 propagatedBuildInputs = [ 685 octavius 686 ppxlib 687 ]; 688 }; 689 690 ppx_let = janePackage { 691 pname = "ppx_let"; 692 hash = "1jq3g88xv9g6y9im67hiig3cfn5anwwnq09mp7yn7a86ha5r9w3i"; 693 minimalOCamlVersion = "4.04.2"; 694 meta.description = "Monadic let-bindings"; 695 propagatedBuildInputs = [ ppxlib ]; 696 }; 697 698 ppx_log = janePackage { 699 pname = "ppx_log"; 700 hash = "10hnr5lpww3fw0bnidzngalbgy0j1wvz1g5ki9c9h558pnpvsazr"; 701 minimalOCamlVersion = "4.08.0"; 702 meta.description = "Ppx_sexp_message-like extension nodes for lazily rendering log messages"; 703 propagatedBuildInputs = [ 704 async_unix 705 ppx_jane 706 sexplib 707 ]; 708 }; 709 710 ppx_module_timer = janePackage { 711 pname = "ppx_module_timer"; 712 hash = "163q1rpblwv82fxwyf0p4j9zpsj0jzvkfmzb03r0l49gqhn89mp6"; 713 minimalOCamlVersion = "4.04.2"; 714 meta.description = "Ppx rewriter that records top-level module startup times"; 715 propagatedBuildInputs = [ time_now ]; 716 }; 717 718 ppx_optcomp = janePackage { 719 pname = "ppx_optcomp"; 720 version = "0.14.3"; 721 hash = "1iflgfzs23asw3k6098v84al5zqx59rx2qjw0mhvk56avlx71pkw"; 722 minimalOCamlVersion = "4.04.2"; 723 meta.description = "Optional compilation for OCaml"; 724 propagatedBuildInputs = [ ppxlib ]; 725 }; 726 727 ppx_optional = janePackage { 728 pname = "ppx_optional"; 729 hash = "1d7rsdqiccxp2w4ykb9klarddm2qrrym3brbnhzx2hm78iyj3hzv"; 730 minimalOCamlVersion = "4.04.2"; 731 meta.description = "Pattern matching on flat options"; 732 propagatedBuildInputs = [ ppxlib ]; 733 }; 734 735 ppx_pattern_bind = janePackage { 736 pname = "ppx_pattern_bind"; 737 hash = "0yxkwnn30nxgrspi191zma95bgrh134aqh2bnpj3wg0245ki55zv"; 738 minimalOCamlVersion = "4.07"; 739 meta.description = "A ppx for writing fast incremental bind nodes in a pattern match"; 740 propagatedBuildInputs = [ ppx_let ]; 741 }; 742 743 ppx_pipebang = janePackage { 744 pname = "ppx_pipebang"; 745 hash = "0450b3p2rpnnn5yyvbkcd3c33jr2z0dp8blwxddaj2lv7nzl5dzf"; 746 minimalOCamlVersion = "4.04.2"; 747 meta.description = "A ppx rewriter that inlines reverse application operators `|>` and `|!`"; 748 propagatedBuildInputs = [ ppxlib ]; 749 }; 750 751 ppx_python = janePackage { 752 pname = "ppx_python"; 753 hash = "0gk4nqz4i9v3hwjg5mvgpgwj0dfcgpyc7ikba93cafyhn6fy83zk"; 754 meta.description = "A [@@deriving] plugin to generate Python conversion functions "; 755 # Compatibility with ppxlib 0.23 756 patches = fetchpatch { 757 url = "https://github.com/janestreet/ppx_python/commit/b2fe0040cc39fa6164de868f8a20edb38d81170e.patch"; 758 sha256 = "sha256:1mrdwp0zw3dqavzx3ffrmzq5cdlninyf67ksavfzxb8gb16w6zpz"; 759 }; 760 propagatedBuildInputs = [ 761 ppx_base 762 ppxlib 763 pyml 764 ]; 765 }; 766 767 ppx_sexp_conv = janePackage { 768 pname = "ppx_sexp_conv"; 769 version = "0.14.3"; 770 minimalOCamlVersion = "4.04.2"; 771 hash = "0dbri9d00ydi0dw1cavswnqdmhjaaz80vap29ns2lr6mhhlvyjmj"; 772 meta.description = "[@@deriving] plugin to generate S-expression conversion functions"; 773 propagatedBuildInputs = [ 774 (ppxlib.override { version = "0.24.0"; }) 775 sexplib0 776 base 777 ]; 778 }; 779 780 ppx_sexp_message = janePackage { 781 pname = "ppx_sexp_message"; 782 version = "0.14.1"; 783 hash = "1lvsr0d68kakih1ll33hy6dxbjkly6lmky4q6z0h0hrcbd6z48k4"; 784 minimalOCamlVersion = "4.04.2"; 785 meta.description = "A ppx rewriter for easy construction of s-expressions"; 786 propagatedBuildInputs = [ 787 ppx_here 788 ppx_sexp_conv 789 ]; 790 }; 791 792 ppx_sexp_value = janePackage { 793 pname = "ppx_sexp_value"; 794 hash = "1d1c92pyypqkd9473d59j0sfppxvcxggbc62w8bkqnbxrdmvirn9"; 795 minimalOCamlVersion = "4.04.2"; 796 meta.description = "A ppx rewriter that simplifies building s-expressions from ocaml values"; 797 propagatedBuildInputs = [ 798 ppx_here 799 ppx_sexp_conv 800 ]; 801 }; 802 803 ppx_stable = janePackage { 804 pname = "ppx_stable"; 805 version = "0.14.1"; 806 hash = "1sp1kn23qr0pfypa4ilvhqq5y11y13xpfygfl582ra9kik5xqfa1"; 807 minimalOCamlVersion = "4.04.2"; 808 meta.description = "Stable types conversions generator"; 809 propagatedBuildInputs = [ ppxlib ]; 810 }; 811 812 ppx_string = janePackage { 813 pname = "ppx_string"; 814 version = "0.14.1"; 815 minimalOCamlVersion = "4.04.2"; 816 hash = "0a8khmg0y32kyn3q6idwgh0d6d1s6ms1w75gj3dzng0v7y4h6jx4"; 817 meta.description = "Ppx extension for string interpolation"; 818 propagatedBuildInputs = [ 819 ppx_base 820 ppxlib 821 stdio 822 ]; 823 }; 824 825 ppx_typerep_conv = janePackage { 826 pname = "ppx_typerep_conv"; 827 version = "0.14.2"; 828 minimalOCamlVersion = "4.04.2"; 829 hash = "0yk9vkpnwr8labgfncqdi4rfkj88d8mb3cr8m4gdqpi3f2r27hf0"; 830 meta.description = "Generation of runtime types from type declarations"; 831 propagatedBuildInputs = [ 832 ppxlib 833 typerep 834 ]; 835 }; 836 837 ppx_variants_conv = janePackage { 838 pname = "ppx_variants_conv"; 839 version = "0.14.2"; 840 minimalOCamlVersion = "4.04.2"; 841 hash = "1p11fiz4m160hs0xzg4g9rxchp053sz3s3d1lyciqixad1xi47a4"; 842 meta.description = "Generation of accessor and iteration functions for ocaml variant types"; 843 propagatedBuildInputs = [ 844 variantslib 845 ppxlib 846 ]; 847 }; 848 849 protocol_version_header = janePackage { 850 pname = "protocol_version_header"; 851 hash = "0lfblv2yqw01bl074ga6vxii0p9mqwlqw1g9b9z7pfdva9wqilrd"; 852 meta.description = "Protocol versioning"; 853 propagatedBuildInputs = [ core_kernel ]; 854 }; 855 856 pythonlib = janePackage { 857 pname = "pythonlib"; 858 hash = "0qr0mh9jiv1ham5zlz9i4im23a1vh6x1yp6dp2db2s4icmfph639"; 859 meta.description = "A library to help writing wrappers around ocaml code for python"; 860 meta.broken = lib.versionAtLeast ocaml.version "4.13"; 861 propagatedBuildInputs = [ 862 ppx_expect 863 ppx_let 864 ppx_python 865 stdio 866 typerep 867 ]; 868 }; 869 870 re2 = janePackage { 871 pname = "re2"; 872 hash = "1j7dizls6lkz3i9dgf8nq2fm382mfbrmz72ci066zl3hkgdq8xwc"; 873 meta.description = "OCaml bindings for RE2, Google's regular expression library"; 874 propagatedBuildInputs = [ core_kernel ]; 875 prePatch = '' 876 substituteInPlace src/re2_c/dune --replace 'CXX=g++' 'CXX=c++' 877 substituteInPlace src/dune --replace '(cxx_flags (:standard \ -pedantic) (-I re2_c/libre2))' '(cxx_flags (:standard \ -pedantic) (-I re2_c/libre2) (-x c++))' 878 ''; 879 }; 880 881 re2_stable = janePackage { 882 pname = "re2_stable"; 883 hash = "0kjc0ff6b3509s3b9n4q8ilb06d5fngdh3z58cm95vg7zkcas9w3"; 884 meta.description = "Re2_stable adds an incomplete but stable serialization of Re2"; 885 propagatedBuildInputs = [ 886 core 887 re2 888 ]; 889 }; 890 891 resource_cache = janePackage { 892 pname = "resource_cache"; 893 hash = "197z9s535q74h00365ydhggg7hyzpyqvislgwwyi69sl1vy6dr0j"; 894 meta.description = "General resource cache"; 895 propagatedBuildInputs = [ async_rpc_kernel ]; 896 }; 897 898 sexp = janePackage { 899 pname = "sexp"; 900 hash = "1x08pyrkd78233kgj70wxlc79w6jjhfrjdamm2xr7jzdc8ycfigf"; 901 propagatedBuildInputs = [ 902 async 903 core 904 csvfields 905 re2 906 sexp_diff_kernel 907 sexp_macro 908 sexp_pretty 909 sexp_select 910 ]; 911 patches = ./sexp.patch; 912 meta.description = "S-expression swiss knife"; 913 meta.broken = true; # Does not build with GCC 14 914 }; 915 916 sexp_diff_kernel = janePackage { 917 pname = "sexp_diff_kernel"; 918 hash = "1pljcs019hs2ffhhb7rjh3xz7cbrk8vsv967jzmip3rv9w21c9kh"; 919 propagatedBuildInputs = [ core_kernel ]; 920 meta.description = "Code for computing the diff of two sexps"; 921 }; 922 923 sexp_macro = janePackage { 924 pname = "sexp_macro"; 925 hash = "1ih1g7vpb1j8vhzm9a5mjrrzgqrhjqdhf6vjrg8kxfqg5i5b8nyx"; 926 propagatedBuildInputs = [ 927 async 928 sexplib 929 ]; 930 meta.description = "Sexp macros"; 931 }; 932 933 sexp_pretty = janePackage { 934 pname = "sexp_pretty"; 935 hash = "0dax0wm511zgvr7p6kcd5gygi58118by7hsv7hymy8ldfcky5cwd"; 936 minimalOCamlVersion = "4.07"; 937 meta.description = "S-expression pretty-printer"; 938 propagatedBuildInputs = [ 939 ppx_base 940 re 941 sexplib 942 ]; 943 }; 944 945 sexp_select = janePackage { 946 pname = "sexp_select"; 947 hash = "1lchhfqw4afw38fnarwylqc2qp7k6xwx3j7m9gy8ygjgd0vgd729"; 948 minimalOCamlVersion = "4.07"; 949 propagatedBuildInputs = [ 950 base 951 ppx_jane 952 ]; 953 meta.description = "A library to use CSS-style selectors to traverse sexp trees"; 954 }; 955 956 sexplib0 = janePackage { 957 pname = "sexplib0"; 958 hash = "06sb3zqhb3dwqsmn15d769hfgqwqhxnm52iqim9l767gvlwpmibb"; 959 minimalOCamlVersion = "4.04.2"; 960 meta.description = "Library containing the definition of S-expressions and some base converters"; 961 }; 962 963 sexplib = janePackage { 964 pname = "sexplib"; 965 hash = "03c3j1ihx4pjbb0x3arrcif3wvp3iva2ivnywhiak4mbbslgsnzr"; 966 minimalOCamlVersion = "4.04.2"; 967 meta.description = "Library for serializing OCaml values to and from S-expressions"; 968 propagatedBuildInputs = [ 969 num 970 parsexp 971 ]; 972 }; 973 974 shell = janePackage { 975 pname = "shell"; 976 hash = "1c4zmpf6s1lk7nficip32c324if6zhm62h9h03d84zgvhvymi0r1"; 977 meta.description = "Yet another implementation of fork&exec and related functionality"; 978 buildInputs = [ jst-config ]; 979 propagatedBuildInputs = [ textutils ]; 980 checkInputs = [ ounit ]; 981 doCheck = false; # Does not build with GCC 14 982 }; 983 984 shexp = janePackage { 985 pname = "shexp"; 986 hash = "1h6hsnbg6bk32f8iv6kd6im4mv2pjsjpd1mjsfx80p1n9273xack"; 987 minimalOCamlVersion = "4.07"; 988 propagatedBuildInputs = [ 989 posixat 990 spawn 991 ]; 992 meta.description = "Process library and s-expression based shell"; 993 }; 994 995 spawn = janePackage { 996 pname = "spawn"; 997 version = "0.13.0"; 998 minimalOCamlVersion = "4.02.3"; 999 hash = "1w003k1kw1lmyiqlk58gkxx8rac7dchiqlz6ah7aj7bh49b36ppf"; 1000 meta.description = "Spawning sub-processes"; 1001 buildInputs = [ ppx_expect ]; 1002 doCheck = false; # tests are broken on NixOS (absolute paths) 1003 }; 1004 1005 splay_tree = janePackage { 1006 pname = "splay_tree"; 1007 hash = "1xbzzbqb054hl1v1zcgfwdgzqihni3a0dmvrric9xggmgn4ycmqq"; 1008 meta.description = "A splay tree implementation"; 1009 propagatedBuildInputs = [ core_kernel ]; 1010 }; 1011 1012 splittable_random = janePackage { 1013 pname = "splittable_random"; 1014 hash = "0ax988b1wc7km8khg4s6iphbz16y1rssh7baigxfyw3ldp0agk14"; 1015 meta.description = "PRNG that can be split into independent streams"; 1016 propagatedBuildInputs = [ 1017 base 1018 ppx_assert 1019 ppx_bench 1020 ppx_sexp_message 1021 ]; 1022 }; 1023 1024 stdio = janePackage { 1025 pname = "stdio"; 1026 hash = "0vv6d8absy4hvjd1babv7avpsdlvjpnd5hq691h39d0h3pvs6l98"; 1027 minimalOCamlVersion = "4.04.2"; 1028 meta.description = "Standard IO library for OCaml"; 1029 propagatedBuildInputs = [ base ]; 1030 }; 1031 1032 textutils = janePackage { 1033 pname = "textutils"; 1034 hash = "1ggd0530lc5dkc419y3xw1wb52b4b5j3z78991gn5yxf2s50a8d4"; 1035 meta.description = "Text output utilities"; 1036 propagatedBuildInputs = [ core ]; 1037 }; 1038 1039 time_now = janePackage { 1040 pname = "time_now"; 1041 hash = "1lyq8zdz93hvpi4hpxh88kds30k5ljil8js9clcqyxrldp5n9mw0"; 1042 minimalOCamlVersion = "4.04.2"; 1043 meta.description = "Reports the current time"; 1044 buildInputs = [ 1045 jst-config 1046 ppx_optcomp 1047 ]; 1048 propagatedBuildInputs = [ 1049 jane-street-headers 1050 base 1051 ppx_base 1052 ]; 1053 }; 1054 1055 timezone = janePackage { 1056 pname = "timezone"; 1057 hash = "0zf075k94nk2wxnzpxia7pnm655damwp1b58xf2s9disia1ydxg7"; 1058 meta.description = "Time-zone handling"; 1059 propagatedBuildInputs = [ core_kernel ]; 1060 }; 1061 1062 topological_sort = janePackage { 1063 pname = "topological_sort"; 1064 hash = "17iz7956zln31p0xnm3jlhj863zi84bcx41jylzf7gk23qsm95m8"; 1065 meta.description = "Topological sort algorithm"; 1066 propagatedBuildInputs = [ 1067 ppx_jane 1068 stdio 1069 ]; 1070 }; 1071 1072 typerep = janePackage { 1073 pname = "typerep"; 1074 hash = "0wc7h853ka3s3lxxgm61ypidl0lzgc9abdkil6f72anl0c417y90"; 1075 minimalOCamlVersion = "4.04.2"; 1076 meta.description = "Typerep is a library for runtime types"; 1077 propagatedBuildInputs = [ base ]; 1078 }; 1079 1080 variantslib = janePackage { 1081 pname = "variantslib"; 1082 hash = "0vy0hpiaawmydh08nqlwjx52pasp74383yi0pshwbdxin99n9mxd"; 1083 minimalOCamlVersion = "4.04.2"; 1084 meta.description = "Part of Jane Street's Core library"; 1085 propagatedBuildInputs = [ base ]; 1086 }; 1087 1088 vcaml = janePackage { 1089 pname = "vcaml"; 1090 hash = "0ykwrn8bvwx26ad4wb36jw9xnlwsdpnnx88396laxvcfimrp13qs"; 1091 meta.description = "OCaml bindings for the Neovim API"; 1092 propagatedBuildInputs = [ 1093 angstrom-async 1094 async_extra 1095 faraday 1096 ]; 1097 }; 1098 1099 virtual_dom = janePackage { 1100 pname = "virtual_dom"; 1101 hash = "0vcydxx0jhbd5hbriahgp947mc7n3xymyrsfny1c4adk6aaq3c5w"; 1102 meta.description = "OCaml bindings for the virtual-dom library"; 1103 buildInputs = [ js_of_ocaml-ppx ]; 1104 propagatedBuildInputs = [ 1105 core_kernel 1106 js_of_ocaml 1107 lambdasoup 1108 tyxml 1109 ]; 1110 }; 1111 1112 zarith_stubs_js = janePackage { 1113 pname = "zarith_stubs_js"; 1114 hash = "16p4bn5spkrx31fr4np945v9mwdq55706v3wl19s5fy6x83gvb86"; 1115 minimalOCamlVersion = "4.04.2"; 1116 meta.description = "Javascripts stubs for the Zarith library"; 1117 doCheck = false; # requires workspace with zarith 1118 }; 1119 1120 zstandard = janePackage { 1121 pname = "zstandard"; 1122 hash = "1vf76v5m9wsh5f77w9z4i8sxm05wr5digyi95x4wvzdi7q3qg6m8"; 1123 meta.description = "OCaml bindings to Zstandard"; 1124 buildInputs = [ ppx_jane ]; 1125 propagatedBuildInputs = [ 1126 core 1127 ctypes 1128 zstd 1129 ]; 1130 }; 1131 1132}