Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ 2 self, 3 openssl, 4}: 5 6with self; 7 8{ 9 10 ocaml-compiler-libs = janePackage { 11 pname = "ocaml-compiler-libs"; 12 hash = "0g9y1ljjsj1nw0lz460ivb6qmz9vhcmfl8krlmqfrni6pc7b0r6f"; 13 meta.description = "OCaml compiler libraries repackaged"; 14 }; 15 16 sexplib0 = janePackage { 17 pname = "sexplib0"; 18 hash = "13xdd0pvypxqn0ldwdgikmlinrp3yfh8ixknv1xrpxbx3np4qp0g"; 19 meta.description = "Library containing the definition of S-expressions and some base converters"; 20 }; 21 22 base = janePackage { 23 pname = "base"; 24 version = "0.12.2"; 25 hash = "0gl89zpgsf3n30nb6v5cns27g2bfg4rf3s2427gqvwbkr5gcf7ri"; 26 meta.description = "Full standard library replacement for OCaml"; 27 propagatedBuildInputs = [ sexplib0 ]; 28 buildInputs = [ dune-configurator ]; 29 }; 30 31 stdio = janePackage { 32 pname = "stdio"; 33 hash = "1pn8jjcb79n6crpw7dkp68s4lz2mw103lwmfslil66f05jsxhjhg"; 34 meta.description = "Standard IO library for OCaml"; 35 propagatedBuildInputs = [ base ]; 36 }; 37 38 ppx_sexp_conv = janePackage { 39 pname = "ppx_sexp_conv"; 40 hash = "0idzp1kzds0gnilschzs9ydi54if8y5xpn6ajn710vkipq26qcld"; 41 meta.description = "[@@deriving] plugin to generate S-expression conversion functions"; 42 propagatedBuildInputs = [ ppxlib ]; 43 }; 44 45 ppx_here = janePackage { 46 pname = "ppx_here"; 47 hash = "07qbchwif1i9ii8z7v1bib57d3mjv0b27i8iixw78i83wnsycmdx"; 48 meta.description = "Expands [%here] into its location"; 49 propagatedBuildInputs = [ ppxlib ]; 50 }; 51 52 ppx_compare = janePackage { 53 pname = "ppx_compare"; 54 hash = "0n1ax4k2smhps9hc2v58lc06a0fgimwvbi1aj4x78vwh5j492bys"; 55 meta.description = "Generation of comparison functions from types"; 56 propagatedBuildInputs = [ ppxlib ]; 57 }; 58 59 ppx_assert = janePackage { 60 pname = "ppx_assert"; 61 hash = "0as6mzr6ki2a9d4k6132p9dskn0qssla1s7j5rkzp75bfikd0ip8"; 62 meta.description = "Assert-like extension nodes that raise useful errors on failure"; 63 propagatedBuildInputs = [ 64 ppx_compare 65 ppx_here 66 ppx_sexp_conv 67 ]; 68 }; 69 70 ppx_inline_test = janePackage { 71 pname = "ppx_inline_test"; 72 hash = "0nyz411zim94pzbxm2l2v2l9jishcxwvxhh142792g2s18r4vn50"; 73 meta.description = "Syntax extension for writing in-line tests in ocaml code"; 74 propagatedBuildInputs = [ ppxlib ]; 75 }; 76 77 ppx_custom_printf = janePackage { 78 pname = "ppx_custom_printf"; 79 version = "0.12.1"; 80 hash = "0q7591agvd3qy9ihhbyk4db48r0ng7yxspfj8afxxiawl7k5bas6"; 81 meta.description = "Printf-style format-strings for user-defined string conversion"; 82 propagatedBuildInputs = [ ppx_sexp_conv ]; 83 }; 84 85 fieldslib = janePackage { 86 pname = "fieldslib"; 87 hash = "0dlgr7cimqmjlcymk3bdcyzqzvdy12q5lqa844nqix0k2ymhyphf"; 88 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"; 89 propagatedBuildInputs = [ base ]; 90 }; 91 92 ppx_fields_conv = janePackage { 93 pname = "ppx_fields_conv"; 94 hash = "0flrdyxdfcqcmdrbipxdjq0s3djdgs7z5pvjdycsvs6czbixz70v"; 95 meta.description = "Generation of accessor and iteration functions for ocaml records"; 96 propagatedBuildInputs = [ 97 fieldslib 98 ppxlib 99 ]; 100 }; 101 102 variantslib = janePackage { 103 pname = "variantslib"; 104 hash = "1cclb5magk63gyqmkci8abhs05g2pyhyr60a2c1bvmig0faqcnsf"; 105 meta.description = "Part of Jane Street's Core library"; 106 propagatedBuildInputs = [ base ]; 107 }; 108 109 ppx_variants_conv = janePackage { 110 pname = "ppx_variants_conv"; 111 hash = "05j9bgra8xq6fcp12ch3z9vjrk139p2wrcjjcs4h52n5hhc8vzbz"; 112 meta.description = "Generation of accessor and iteration functions for ocaml variant types"; 113 propagatedBuildInputs = [ 114 variantslib 115 ppxlib 116 ]; 117 }; 118 119 ppx_expect = janePackage { 120 pname = "ppx_expect"; 121 hash = "1wawsbjfkri4sw52n8xqrzihxc3xfpdicv3ahz83a1rsn4lb8j5q"; 122 meta.description = "Cram like framework for OCaml"; 123 propagatedBuildInputs = [ 124 ppx_assert 125 ppx_custom_printf 126 ppx_fields_conv 127 ppx_inline_test 128 ppx_variants_conv 129 re 130 ]; 131 }; 132 133 ppx_enumerate = janePackage { 134 pname = "ppx_enumerate"; 135 hash = "08zfpq6bdm5lh7xj9k72iz9f2ihv3aznl3nypw3x78vz1chj8dqa"; 136 meta.description = "Generate a list containing all values of a finite type"; 137 propagatedBuildInputs = [ ppxlib ]; 138 }; 139 140 ppx_hash = janePackage { 141 pname = "ppx_hash"; 142 hash = "1dfsfvhiyp1mnf24mr93svpdn432kla0y7x631lssacxxp2sadbg"; 143 meta.description = "A ppx rewriter that generates hash functions from type expressions and definitions"; 144 propagatedBuildInputs = [ 145 ppx_compare 146 ppx_sexp_conv 147 ]; 148 }; 149 150 ppx_js_style = janePackage { 151 pname = "ppx_js_style"; 152 hash = "1lz931m3qdv3yzqy6dnb8fq1d99r61w0n7cwf3b9fl9rhk0pggwh"; 153 meta.description = "Code style checker for Jane Street Packages"; 154 propagatedBuildInputs = [ 155 octavius 156 ppxlib 157 ]; 158 }; 159 160 ppx_base = janePackage { 161 pname = "ppx_base"; 162 hash = "0vd96rp2l084iamkwmvizzhl9625cagjb6gzzbir06czii5mlq2p"; 163 meta.description = "Base set of ppx rewriters"; 164 propagatedBuildInputs = [ 165 ppx_enumerate 166 ppx_hash 167 ppx_js_style 168 ]; 169 }; 170 171 ppx_bench = janePackage { 172 pname = "ppx_bench"; 173 hash = "1ib81irawxzq091bmpi50z0kmpx6z2drg14k2xcgmwbb1d4063xn"; 174 meta.description = "Syntax extension for writing in-line benchmarks in ocaml code"; 175 propagatedBuildInputs = [ ppx_inline_test ]; 176 }; 177 178 ppx_sexp_message = janePackage { 179 pname = "ppx_sexp_message"; 180 hash = "0yskd6v48jc6wa0nhg685kylh1n9qb6b7d1wglr9wnhl9sw990mc"; 181 meta.description = "A ppx rewriter for easy construction of s-expressions"; 182 propagatedBuildInputs = [ 183 ppx_here 184 ppx_sexp_conv 185 ]; 186 }; 187 188 splittable_random = janePackage { 189 pname = "splittable_random"; 190 hash = "1wpyz7807cgj8b50gdx4rw6f1zsznp4ni5lzjbnqdwa66na6ynr4"; 191 meta.description = "PRNG that can be split into independent streams"; 192 propagatedBuildInputs = [ 193 base 194 ppx_assert 195 ppx_bench 196 ppx_sexp_message 197 ]; 198 }; 199 200 ppx_let = janePackage { 201 pname = "ppx_let"; 202 hash = "146dmyzkbmafa3giz69gpxccvdihg19cvk4xsg8krbbmlkvdda22"; 203 meta.description = "Monadic let-bindings"; 204 propagatedBuildInputs = [ ppxlib ]; 205 }; 206 207 base_quickcheck = janePackage { 208 version = "0.12.1"; 209 pname = "base_quickcheck"; 210 hash = "sha256-ABfUtOzdtGrYR6EgtVYkmxRvsH48jJwSVVOwf4Od12Y="; 211 meta.description = "Randomized testing framework, designed for compatibility with Base"; 212 propagatedBuildInputs = [ 213 ppx_base 214 ppx_fields_conv 215 ppx_let 216 splittable_random 217 ]; 218 }; 219 220 ppx_stable = janePackage { 221 pname = "ppx_stable"; 222 hash = "15zvf66wlkvz0yd4bkvndkpq74dj20jv1qkljp9n52hh7d0f9ykh"; 223 meta.description = "Stable types conversions generator"; 224 propagatedBuildInputs = [ ppxlib ]; 225 }; 226 227 bin_prot = janePackage { 228 pname = "bin_prot"; 229 hash = "0hh6s7g9s004z35hsr8z6nw5phlcvcd6g2q3bj4f0s1s0anlsswm"; 230 meta.description = "A binary protocol generator"; 231 propagatedBuildInputs = [ 232 ppx_compare 233 ppx_custom_printf 234 ppx_fields_conv 235 ppx_variants_conv 236 ]; 237 }; 238 239 ppx_bin_prot = janePackage { 240 pname = "ppx_bin_prot"; 241 version = "0.12.1"; 242 hash = "1j0kjgmv58dmg3x5dj5zrfbm920rwq21lvkkaqq493y76cd0x8xg"; 243 meta.description = "Generation of bin_prot readers and writers from types"; 244 propagatedBuildInputs = [ 245 bin_prot 246 ppx_here 247 ]; 248 }; 249 250 ppx_fail = janePackage { 251 pname = "ppx_fail"; 252 hash = "0krsv6z9gi0ifxmw5ss6gwn108qhywyhbs41an10x9d5zpgf4l1n"; 253 meta.description = "Add location to calls to failwiths"; 254 propagatedBuildInputs = [ ppx_here ]; 255 }; 256 257 jst-config = janePackage { 258 pname = "jst-config"; 259 hash = "0yxcz13vda1mdh9ah7qqxwfxpcqang5sgdssd8721rszbwqqaw93"; 260 meta.description = "Compile-time configuration for Jane Street libraries"; 261 buildInputs = [ 262 dune-configurator 263 ppx_assert 264 ]; 265 }; 266 267 ppx_optcomp = janePackage { 268 pname = "ppx_optcomp"; 269 hash = "0bdbx01kz0174g1szdhv3mcfqxqqf2frxq7hk13xaf6fsz04kwmj"; 270 meta.description = "Optional compilation for OCaml"; 271 propagatedBuildInputs = [ ppxlib ]; 272 }; 273 274 jane-street-headers = janePackage { 275 pname = "jane-street-headers"; 276 hash = "0qa4llf812rjqa8nb63snmy8d8ny91p3anwhb50afb7vjaby8m34"; 277 meta.description = "Jane Street C header files"; 278 }; 279 280 time_now = janePackage { 281 pname = "time_now"; 282 hash = "169mgsb3rja4j1j9nj5xa7bbkd21p9kfpskqz0wjf9x2fpxqsniq"; 283 meta.description = "Reports the current time"; 284 buildInputs = [ 285 jst-config 286 ppx_optcomp 287 ]; 288 propagatedBuildInputs = [ 289 jane-street-headers 290 base 291 ppx_base 292 ]; 293 }; 294 295 ppx_module_timer = janePackage { 296 pname = "ppx_module_timer"; 297 hash = "0yziakm7f4c894na76k1z4bp7azy82xc33mh36fj761w1j9zy3wm"; 298 meta.description = "Ppx rewriter that records top-level module startup times"; 299 propagatedBuildInputs = [ time_now ]; 300 }; 301 302 ppx_optional = janePackage { 303 pname = "ppx_optional"; 304 hash = "07i0iipbd5xw2bc604qkwlcxmhncfpm3xmrr6svyj2ij86pyssh8"; 305 meta.description = "Pattern matching on flat options"; 306 propagatedBuildInputs = [ ppxlib ]; 307 }; 308 309 ppx_pipebang = janePackage { 310 pname = "ppx_pipebang"; 311 hash = "1p4pdpl8h2bblbhpn5nk17ri4rxpz0aih0gffg3cl1186irkj0xj"; 312 meta.description = "A ppx rewriter that inlines reverse application operators `|>` and `|!`"; 313 propagatedBuildInputs = [ ppxlib ]; 314 }; 315 316 ppx_sexp_value = janePackage { 317 pname = "ppx_sexp_value"; 318 hash = "1mg81834a6dx1x7x9zb9wc58438cabjjw08yhkx6i386hxfy891p"; 319 meta.description = "A ppx rewriter that simplifies building s-expressions from ocaml values"; 320 propagatedBuildInputs = [ 321 ppx_here 322 ppx_sexp_conv 323 ]; 324 }; 325 326 typerep = janePackage { 327 pname = "typerep"; 328 hash = "1psl6gsk06a62szh60y5sc1s92xpmrl1wpw3rhha09v884b7arbc"; 329 meta.description = "Typerep is a library for runtime types"; 330 propagatedBuildInputs = [ base ]; 331 }; 332 333 ppx_typerep_conv = janePackage { 334 pname = "ppx_typerep_conv"; 335 hash = "09vik6qma1id44k8nz87y48l9wbjhqhap1ar1hpfdfkjai1hrzzq"; 336 meta.description = "Generation of runtime types from type declarations"; 337 propagatedBuildInputs = [ 338 ppxlib 339 typerep 340 ]; 341 }; 342 343 ppx_jane = janePackage { 344 pname = "ppx_jane"; 345 hash = "1a2602isqzsh640q20qbmarx0sc316mlsqc3i25ysv2kdyhh0kyw"; 346 meta.description = "Standard Jane Street ppx rewriters"; 347 propagatedBuildInputs = [ 348 base_quickcheck 349 ppx_bench 350 ppx_bin_prot 351 ppx_expect 352 ppx_fail 353 ppx_module_timer 354 ppx_optcomp 355 ppx_optional 356 ppx_pipebang 357 ppx_sexp_value 358 ppx_stable 359 ppx_typerep_conv 360 ]; 361 }; 362 363 base_bigstring = janePackage { 364 pname = "base_bigstring"; 365 hash = "0rbgyg511847fbnxad40prz2dyp4da6sffzyzl88j18cxqxbh1by"; 366 meta.description = "String type based on [Bigarray], for use in I/O and C-bindings"; 367 propagatedBuildInputs = [ ppx_jane ]; 368 }; 369 370 parsexp = janePackage { 371 pname = "parsexp"; 372 hash = "1974i9s2c2n03iffxrm6ncwbd2gg6j6avz5jsxfd35scc2zxcd4l"; 373 meta.description = "S-expression parsing library"; 374 propagatedBuildInputs = [ 375 base 376 sexplib0 377 ]; 378 }; 379 380 sexplib = janePackage { 381 pname = "sexplib"; 382 hash = "0780klc5nnv0ij6aklzra517cfnfkjdlp8ylwjrqwr8dl9rvxza2"; 383 meta.description = "Library for serializing OCaml values to and from S-expressions"; 384 propagatedBuildInputs = [ 385 num 386 parsexp 387 ]; 388 }; 389 390 core_kernel = janePackage { 391 pname = "core_kernel"; 392 version = "0.12.3"; 393 hash = "sha256-bDgxuOILAs4FYB8o92ysPHDdEzflZMsU/jk5hB9xfuc="; 394 meta.description = "System-independent part of Core"; 395 buildInputs = [ jst-config ]; 396 propagatedBuildInputs = [ 397 base_bigstring 398 sexplib 399 ]; 400 }; 401 402 spawn = janePackage { 403 pname = "spawn"; 404 version = "0.13.0"; 405 hash = "1w003k1kw1lmyiqlk58gkxx8rac7dchiqlz6ah7aj7bh49b36ppf"; 406 meta.description = "Spawning sub-processes"; 407 buildInputs = [ ppx_expect ]; 408 }; 409 410 core = janePackage { 411 pname = "core"; 412 version = "0.12.3"; 413 hash = "1vmjqiafkg45hqfvahx6jnlaww1q4a4215k8znbgprf0qn3zymnj"; 414 meta.description = "System-independent part of Core"; 415 buildInputs = [ jst-config ]; 416 propagatedBuildInputs = [ 417 core_kernel 418 spawn 419 ]; 420 }; 421 422 async_kernel = janePackage { 423 pname = "async_kernel"; 424 hash = "1d9illx7vvpblj1i2r9y0f2yff2fbhy3rp4hhvamq1n9n3lvxmh2"; 425 meta.description = "Monadic concurrency library"; 426 propagatedBuildInputs = [ core_kernel ]; 427 }; 428 429 protocol_version_header = janePackage { 430 pname = "protocol_version_header"; 431 hash = "14vqhx3r84rlfhcjq52gxdqksckiaswlck9s47g7y2z1lsc17v7r"; 432 meta.description = "Protocol versioning"; 433 propagatedBuildInputs = [ core_kernel ]; 434 }; 435 436 async_rpc_kernel = janePackage { 437 pname = "async_rpc_kernel"; 438 hash = "1znhqbzx4fp58i7dbcgyv5rx7difbhb5d8cbqzv96yqvbn67lsjk"; 439 meta.description = "Platform-independent core of Async RPC library"; 440 propagatedBuildInputs = [ 441 async_kernel 442 protocol_version_header 443 ]; 444 }; 445 446 async_unix = janePackage { 447 pname = "async_unix"; 448 hash = "09h10rdyykbm88n6r9nb5a22mlb6vcxa04q6hvrcr0kys6qhhqmb"; 449 meta.description = "Monadic concurrency library"; 450 propagatedBuildInputs = [ 451 async_kernel 452 core 453 ]; 454 }; 455 456 async_extra = janePackage { 457 pname = "async_extra"; 458 hash = "10j4mwlyqvf67yrp5dwd857llqjinpnnykmlzw2gpmks9azxk6mh"; 459 meta.description = "Monadic concurrency library"; 460 propagatedBuildInputs = [ 461 async_rpc_kernel 462 async_unix 463 ]; 464 }; 465 466 textutils = janePackage { 467 pname = "textutils"; 468 hash = "0302awqihf3abib9mvzvn4g8m364hm6jxry1r3kc01hzybhy9acq"; 469 meta.description = "Text output utilities"; 470 propagatedBuildInputs = [ core ]; 471 }; 472 473 async = janePackage { 474 pname = "async"; 475 hash = "0pk7z3h2gi21nfchvmjz2wx516bynf9vgwf84zf5qhvlvqqsmyrx"; 476 meta.description = "Monadic concurrency library"; 477 propagatedBuildInputs = [ 478 async_extra 479 textutils 480 ]; 481 }; 482 483 async_find = janePackage { 484 pname = "async_find"; 485 hash = "0qsz9f15s5rlk6za10s810v6nlkdxg2g9p1827lcpa7nhjcpi673"; 486 meta.description = "Directory traversal with Async"; 487 propagatedBuildInputs = [ async ]; 488 }; 489 490 re2 = janePackage { 491 pname = "re2"; 492 version = "0.12.1"; 493 hash = "sha256-NPQKKUSwckZx4GN4wX2sc0Mn7bes6p79oZrN6xouc6o="; 494 meta.description = "OCaml bindings for RE2, Google's regular expression library"; 495 propagatedBuildInputs = [ core_kernel ]; 496 prePatch = '' 497 substituteInPlace src/re2_c/dune --replace 'CXX=g++' 'CXX=c++' 498 substituteInPlace src/dune --replace '(cxx_flags (:standard \ -pedantic) (-I re2_c/libre2))' '(cxx_flags (:standard \ -pedantic) (-I re2_c/libre2) (-x c++))' 499 ''; 500 }; 501 502 shell = janePackage { 503 pname = "shell"; 504 hash = "158857rdr6qgglc5iksg0l54jgf51b5lmsw7nlazpxwdwc9fcn5n"; 505 meta.description = "Yet another implementation of fork&exec and related functionality"; 506 buildInputs = [ jst-config ]; 507 propagatedBuildInputs = [ 508 re2 509 textutils 510 ]; 511 }; 512 513 async_shell = janePackage { 514 pname = "async_shell"; 515 hash = "0cxln9hkc3cy522la9yi9p23qjwl69kqmadsq4lnjh5bxdad06sv"; 516 meta.description = "Shell helpers for Async"; 517 propagatedBuildInputs = [ 518 async 519 shell 520 ]; 521 }; 522 523 core_bench = janePackage { 524 pname = "core_bench"; 525 hash = "00hyzbbj19dkcw0vhfnc8w0ca3zkjriwwvl00ssa0a2g9mygijdm"; 526 meta.description = "Benchmarking library"; 527 propagatedBuildInputs = [ textutils ]; 528 }; 529 530 core_extended = janePackage { 531 pname = "core_extended"; 532 hash = "1gwx66235irpf5krb1r25a3c7w52qhmass8hp7rdv89il9jn49w4"; 533 meta.description = "Extra components that are not as closely vetted or as stable as Core"; 534 propagatedBuildInputs = [ core ]; 535 }; 536 537 sexp_pretty = janePackage { 538 pname = "sexp_pretty"; 539 hash = "06hdsaszc5cd7fphiblbn4r1sh36xgjwf2igzr2rvlzqs7jiv2v4"; 540 meta.description = "S-expression pretty-printer"; 541 propagatedBuildInputs = [ 542 ppx_base 543 re 544 sexplib 545 ]; 546 }; 547 548 expect_test_helpers_kernel = janePackage { 549 pname = "expect_test_helpers_kernel"; 550 hash = "18ya187y2i2hfxr771sd9vy5jdsa30vhs56yjdhwk06v01b2fzbq"; 551 meta.description = "Helpers for writing expectation tests"; 552 buildInputs = [ ppx_jane ]; 553 propagatedBuildInputs = [ 554 core_kernel 555 sexp_pretty 556 ]; 557 }; 558 559 expect_test_helpers = janePackage { 560 pname = "expect_test_helpers"; 561 hash = "0ixqck2lnsmz107yw0q2sr8va80skjpldx7lz4ymjiq2vsghk0rb"; 562 meta.description = "Async helpers for writing expectation tests"; 563 propagatedBuildInputs = [ 564 async 565 expect_test_helpers_kernel 566 ]; 567 }; 568 569 patience_diff = janePackage { 570 pname = "patience_diff"; 571 hash = "055kd3piadjnplip8c8q99ssh79d4irmhg2wng7aida5pbqp2p9f"; 572 meta.description = "Diff library using Bram Cohen's patience diff algorithm"; 573 propagatedBuildInputs = [ core_kernel ]; 574 }; 575 576 ecaml = janePackage { 577 pname = "ecaml"; 578 hash = "0n9xi6agc3lgyj2nsi10cbif0xwn57xyaranad9r285rmbxrgjh7"; 579 meta.description = "Library for writing Emacs plugin in OCaml"; 580 propagatedBuildInputs = [ 581 async 582 expect_test_helpers_kernel 583 ]; 584 }; 585 586}