9 ocaml-compiler-libs = janePackage {
10 pname = "ocaml-compiler-libs";
11 hash = "03jds7bszh8wwpfwxb3dg0gyr1j1872wxwx1xqhry5ir0i84bg0s";
12 meta.description = "OCaml compiler libraries repackaged";
15 sexplib0 = janePackage {
17 meta.description = "Library containing the definition of S-expressions and some base converters";
18 hash = "07v3ggyss7xhfv14bjk1n87sr42iqwj4cgjiv2lcdfkqk49i2bmi";
21 parsexp = janePackage {
23 hash = "1nyq23s5igd8cf3n4qxprjvhbmb6ighb3fy5mw7hxl0mdgsw5fvz";
24 propagatedBuildInputs = [ sexplib0 ];
25 meta.description = "S-expression parsing library";
28 sexplib = janePackage {
30 meta.description = "Library for serializing OCaml values to and from S-expressions";
31 hash = "1qfl0m04rpcjvc4yw1hzh6r16jpwmap0sa9ax6zjji67dz4szpyb";
32 propagatedBuildInputs = [ num parsexp ];
38 hash = "0j6xb4265jr41vw4fjzak6yr8s30qrnzapnc6rl1dxy8bjai0nir";
39 propagatedBuildInputs = [ sexplib0 ];
40 meta.description = "Full standard library replacement for OCaml";
45 hash = "1facajqhvq34g2wrg368y0ajxd6lrj5b3lyzyj0jhdmraxajjcwn";
46 propagatedBuildInputs = [ base ];
47 meta.description = "Standard IO library for OCaml";
50 configurator = janePackage {
51 pname = "configurator";
52 hash = "0h686630cscav7pil8c3w0gbh6rj4b41dvbnwmicmlkc746q5bfk";
53 propagatedBuildInputs = [ stdio ];
54 meta.description = "Helper library for gathering system configuration";
57 ppx_compare = janePackage {
58 pname = "ppx_compare";
60 hash = "06bq4m1bsm4jlx4g7wh5m99qky7xm4c2g52kaz6pv25hdn5agi2m";
61 buildInputs = [ ppxlib ];
62 propagatedBuildInputs = [ base ppx_deriving ];
63 meta.description = "Generation of comparison functions from types";
66 ppx_sexp_conv = janePackage {
67 pname = "ppx_sexp_conv";
69 hash = "0pqwnqy1xp309wvdcaax4lg02yk64lq2w03mbgfvf6ps5ry4gis9";
70 propagatedBuildInputs = [ sexplib0 ppxlib ppx_deriving ];
71 meta.description = "Generation of S-expression conversion functions from type definitions";
74 variantslib = janePackage {
75 pname = "variantslib";
76 hash = "0hbsk34ghc28h8pzbma923ma2bgnz8lzrgcqqx9bzg161jl4s4r3";
77 buildInputs = [ ppxlib ];
78 propagatedBuildInputs = [ base ];
79 meta.description = "OCaml variants as first class values";
82 ppx_variants_conv = janePackage {
83 pname = "ppx_variants_conv";
85 hash = "1yc0gsds5m2nv39zga8nnrca2n75rkqy5dz4xj1635ybz20hhbjd";
86 buildInputs = [ ppxlib ];
87 propagatedBuildInputs = [ ppx_deriving variantslib ];
88 meta.description = "Generation of accessor and iteration functions for OCaml variant types";
91 fieldslib = janePackage {
93 hash = "1yvjvfax56lmn2lxbykcmhgmxypws1vp9lhnyb8bhbavsv8yc6da";
94 propagatedBuildInputs = [ ppxlib ];
95 meta.description = "OCaml record fields as first class values";
98 ppx_fields_conv = janePackage {
99 pname = "ppx_fields_conv";
100 hash = "1bb9cmn4js7p3qh8skzyik1pcz6sj1k4xkhf12fg1bjmb5fd0jx1";
101 propagatedBuildInputs = [ fieldslib ];
102 meta.description = "Generation of accessor and iteration functions for OCaml records";
105 ppx_custom_printf = janePackage {
106 pname = "ppx_custom_printf";
107 hash = "1dvjzvaxhx53jqwrrlxdckwl1azrhs9kvwb48mhgd0jnz65ny726";
108 propagatedBuildInputs = [ ppx_sexp_conv ];
109 meta.description = "Printf-style format-strings for user-defined string conversion";
112 bin_prot = janePackage {
114 hash = "1mgbyzsr8h0y4s4j9dv7hsdrxyzhhjww5khwg2spi2my7ia95m0l";
115 propagatedBuildInputs = [ ppx_compare ppx_custom_printf ppx_fields_conv ppx_variants_conv ];
116 meta.description = "Binary protocol generator";
119 jane-street-headers = janePackage {
120 pname = "jane-street-headers";
121 hash = "0kij4c7qxrja787f3sm3z6mzr322486h2djrlyhnl66vp8hrv8si";
122 meta.description = "Jane Street header files";
125 ppx_here = janePackage {
127 hash = "04njv8s4n54x9rg0012ymd6y6lrnqprnh0f0f6s0jcp79q7mv43i";
128 buildInputs = [ ppxlib ];
129 meta.description = "Expands [%here] into its location";
132 ppx_assert = janePackage {
133 pname = "ppx_assert";
134 hash = "0qbdrl0rj0midnb6sdyaz00s0d4nb8zrrdf565lcdsi1rbnyrzan";
135 buildInputs = [ ppx_here ];
136 propagatedBuildInputs = [ ppx_compare ppx_sexp_conv ];
137 meta.description = "Assert-like extension nodes that raise useful errors on failure";
140 ppx_hash = janePackage {
143 hash = "1p0ic6aijxlrdggpmycj12q3cy9xksbq2vq727215maz4snvlf5p";
144 propagatedBuildInputs = [ ppx_compare ppx_sexp_conv ];
145 meta.description = "A ppx rewriter that generates hash functions from type expressions and definitions";
148 ppx_inline_test = janePackage {
149 pname = "ppx_inline_test";
150 hash = "11n94fz1asjf5vqdgriv0pvsa5lbfpqcyk525c7816w23vskcvq6";
151 buildInputs = [ ppxlib ];
152 propagatedBuildInputs = [ base ];
153 meta.description = "Syntax extension for writing in-line tests in OCaml code";
156 ppx_sexp_message = janePackage {
157 pname = "ppx_sexp_message";
158 hash = "0d94pf0mrmyp905ncgj4w6cc6zpm4nlib6nclslhgs89pxpzg6a0";
159 buildInputs = [ ppx_here ];
160 propagatedBuildInputs = [ ppx_sexp_conv ];
161 meta.description = "A ppx rewriter for easy construction of s-expressions";
164 typerep = janePackage {
166 hash = "00j4by75fl9niqvlpiyw6ymlmlmgfzysm8w25cj5wsfsh4yrgr74";
167 propagatedBuildInputs = [ base ];
168 meta.description = "Runtime types for OCaml";
171 ppx_typerep_conv = janePackage {
173 pname = "ppx_typerep_conv";
174 hash = "0a13dpfrrg0rsm8qni1bh7pqcda30l70z8r6yzi5a64bmwk7g5ah";
175 buildInputs = [ ppxlib ];
176 propagatedBuildInputs = [ ppx_deriving typerep ];
177 meta.description = "Generation of runtime types from type declarations";
180 ppx_js_style = janePackage {
181 pname = "ppx_js_style";
182 hash = "1cwqyrkykc8wi60grbid1w072fcvf7k0hd387jz7mxfw44qyb85g";
183 propagatedBuildInputs = [ ppxlib octavius ];
184 meta.description = "Code style checker for Jane Street Packages";
187 ppx_enumerate = janePackage {
189 pname = "ppx_enumerate";
190 hash = "0spx9k1v7vjjb6sigbfs69yndgq76v114jhxvzjmffw7q989cyhr";
191 buildInputs = [ ppxlib ];
192 propagatedBuildInputs = [ ppx_deriving ];
193 meta.description = "Generate a list containing all values of a finite type";
196 ppx_base = janePackage {
198 hash = "079caqjbxk1d33hy69017n3dwslqy52alvzjddwpdjb04vjadlk6";
199 propagatedBuildInputs = [ ppx_compare ppx_enumerate ppx_hash ppx_js_style ];
200 meta.description = "Base set of ppx rewriters";
203 ppx_bench = janePackage {
205 hash = "0z98r6y4lpj6dy265m771ylx126hq3v1zjsk74yqvpwwd63gx3jz";
206 buildInputs = [ ppxlib ppx_inline_test ];
207 meta.description = "Syntax extension for writing in-line benchmarks in OCaml code";
210 ppx_bin_prot = janePackage {
212 pname = "ppx_bin_prot";
213 hash = "1h60i75bzvhna1axyn662gyrzhh441l79vl142d235i5x31dmnkz";
214 buildInputs = [ ppxlib ppx_here ];
215 propagatedBuildInputs = [ bin_prot ];
216 meta.description = "Generation of bin_prot readers and writers from types";
219 ppx_expect = janePackage {
220 pname = "ppx_expect";
221 hash = "1g0r67vfw9jr75pybiw4ysfiswlzyfpbj0gl91rx62gqdhjh1pga";
222 buildInputs = [ ppx_assert ppx_custom_printf ppx_fields_conv ppx_here ppx_variants_conv re ];
223 propagatedBuildInputs = [ fieldslib ppx_compare ppx_inline_test ppx_sexp_conv ];
224 meta.description = "Cram like framework for OCaml";
227 ppx_fail = janePackage {
229 hash = "0d0xadcl7mhp81kspcd2b0nh75h34w5a6s6j9qskjjbjif87wiix";
230 buildInputs = [ ppxlib ppx_here ];
231 meta.description = "Add location to calls to failwiths";
234 ppx_let = janePackage {
236 hash = "1ckzwljlb78cdf6xxd24nddnmsihvjrnq75r1b255aj3xgkzsygx";
237 propagatedBuildInputs = [ base ppxlib ];
238 meta.description = "Monadic let-bindings";
241 ppx_optcomp = janePackage {
242 pname = "ppx_optcomp";
243 hash = "1rahkjq6vpffs7wdz1crgbxkdnlfkj1i3j12c2andy4fhj49glcm";
244 buildInputs = [ ppxlib ];
245 propagatedBuildInputs = [ ppx_deriving ];
246 meta.description = "Optional compilation for OCaml";
249 ppx_optional = janePackage {
250 pname = "ppx_optional";
251 hash = "0aw3hvrsdjpw4ik7rf15ghak31vhdr1lgpphr18mj76rnlrhirmx";
252 propagatedBuildInputs = [ ppxlib ];
253 meta.description = "Pattern matching on flat options";
256 ppx_pipebang = janePackage {
257 pname = "ppx_pipebang";
258 hash = "0smgq587amlr3hivbbg153p83dj37w30cssp9cffc0v8kg84lfhr";
259 buildInputs = [ ppxlib ];
260 meta.description = "A ppx rewriter that inlines reverse application operators |> and |!";
263 ppx_sexp_value = janePackage {
264 pname = "ppx_sexp_value";
265 hash = "107zwb580nrmc0l03dl3y3hf12s3c1vv8b8mz6sa4k5afp3s9nkl";
266 buildInputs = [ ppx_here ];
267 propagatedBuildInputs = [ ppx_sexp_conv ];
268 meta.description = "A ppx rewriter that simplifies building s-expressions from OCaml values";
271 ppx_jane = janePackage {
273 hash = "0l1p6llaa60mrc5p9400cqv9yy6h76x5wfq3z1cx5xawy0yz4vlb";
274 buildInputs = [ ppxlib ];
275 propagatedBuildInputs = [ ppx_assert ppx_base ppx_bench ppx_bin_prot ppx_expect ppx_fail ppx_here ppx_let ppx_optcomp ppx_optional ppx_pipebang ppx_sexp_message ppx_sexp_value ppx_typerep_conv ];
276 meta.description = "Standard Jane Street ppx rewriters";
279 splittable_random = janePackage {
280 pname = "splittable_random";
281 hash = "1yrvpm6g62f8k6ihccxhfxpvmxbqxhi7p790a8jkdmyfdd1l6z73";
282 propagatedBuildInputs = [ ppx_jane ];
283 meta.description = "PRNG that can be split into independent streams";
286 core_kernel = janePackage {
288 pname = "core_kernel";
289 hash = "1dg7ygy7i64c5gaakb1cp1b26p9ks81vbxmb8fd7jff2q60j2z2g";
290 propagatedBuildInputs = [ configurator jane-street-headers sexplib splittable_random ];
291 meta.description = "Jane Street's standard library overlay (kernel)";
294 spawn = janePackage {
297 hash = "0amgj7g9sjlbjivn1mg7yjdmxd21hgp4a0ak2zrm95dmm4gi846i";
298 meta.description = "Spawning sub-processes";
304 hash = "0pzl8n09z4f3i7z2wq4cjxfqrr8mj6xcdp7rbg0nxap2zdhjgvrq";
305 propagatedBuildInputs = [ core_kernel spawn ];
306 meta.description = "Jane Street's standard library overlay";
309 textutils_kernel = janePackage {
310 pname = "textutils_kernel";
311 hash = "0s1ps7h54vgl76pll3y5qa1bw8f4h8wxc8mg8jq6bz8vxvl0dfv4";
312 propagatedBuildInputs = [ core_kernel ];
313 meta.description = "The subset of textutils using only core_kernel and working in javascript";
316 textutils = janePackage {
318 hash = "1jmhpaihnndf4pr8xsk7ws70n4mvv34ry0ggqqpfs3wb2vkcdg6j";
319 propagatedBuildInputs = [ core textutils_kernel ];
320 meta.description = "Text output utilities";
325 hash = "0bl65d0nmvr7k1mkkcc4aai86l5qzgn1xxwmszshpwhaz87cqghd";
326 propagatedBuildInputs = [ core_kernel ];
328 substituteInPlace src/re2_c/jbuild --replace 'CXX=g++' 'CXX=c++'
329 substituteInPlace src/jbuild --replace '(cxx_flags ((:standard \ -pedantic) (-I re2_c/libre2)))' '(cxx_flags ((:standard \ -pedantic) (-I re2_c/libre2) (-x c++)))'
331 meta.description = "OCaml bindings for RE2";
334 core_extended = janePackage {
335 pname = "core_extended";
336 hash = "1fvnr6zkpbl48dl7nn3j1dpsrr6bi00iqh282wg5lgdhcsjbc0dy";
337 propagatedBuildInputs = [ core re re2 textutils ];
339 patchShebangs src/discover.sh
341 meta.description = "Jane Street Capital's standard library overlay";
344 async_kernel = janePackage {
346 pname = "async_kernel";
347 hash = "1ssv0gqbdns6by1wdjrrs35cj1c1n1qcfkxs8hj04b7x89wzvf1q";
348 propagatedBuildInputs = [ core_kernel ];
349 meta.description = "Jane Street Capital's asynchronous execution library (core)";
352 protocol_version_header = janePackage {
353 pname = "protocol_version_header";
354 hash = "159qmkb0dsfmr1lv2ly50aqszpm24bvrm3sw07n2zhkxgy6q613z";
355 propagatedBuildInputs = [ core_kernel ocaml-migrate-parsetree ];
356 meta.description = "Protocol aware version negotiation";
359 async_rpc_kernel = janePackage {
360 pname = "async_rpc_kernel";
361 hash = "0wl7kp30qxkalk91q5pja9agsvvmdjvb2q7s3m79dlvwwi11l33y";
362 propagatedBuildInputs = [ core_kernel async_kernel protocol_version_header ];
363 meta.description = "Platform-independent core of Async RPC library";
366 async_unix = janePackage {
367 pname = "async_unix";
368 hash = "1y5za5fdh0x82zdjigxci9zm9jnpfd2lfgpjcq4rih3s28f16sf7";
369 propagatedBuildInputs = [ core async_kernel ];
370 meta.description = "Jane Street Capital's asynchronous execution library (unix)";
373 async_extra = janePackage {
375 pname = "async_extra";
376 hash = "0dmplvqf41820rm5i0l9bx1xmmdlq8zsszi36y2rkjna8991f7s2";
377 propagatedBuildInputs = [ async_rpc_kernel async_unix ];
378 meta.description = "Jane Street's asynchronous execution library (extra)";
381 async = janePackage {
383 hash = "1i05hzk4mhzj1mw98b2bdbxhnq03jvhkkkw4d948i6265jzrrbv5";
384 propagatedBuildInputs = [ async_extra ];
385 meta.description = "Jane Street Capital's asynchronous execution library";
388 async_find = janePackage {
389 pname = "async_find";
390 hash = "0s0qafx74ri1vr2vv3iy1j7s3p6gp7vyg0mw5g17iafk0w6lv2iq";
391 propagatedBuildInputs = [ async ];
392 meta.description = "Directory traversal with Async";
395 async_interactive = janePackage {
396 pname = "async_interactive";
397 hash = "01rlfcylpiak6a2n6q3chp73cvkhvb65n906dj0flmxmagn7dxd1";
398 propagatedBuildInputs = [ async ];
399 meta.description = "Utilities for building simple command-line based user interfaces";
402 async_parallel = janePackage {
403 pname = "async_parallel";
404 hash = "0hak8ba3rfzqhz5hz2annqmsv5bkqzdihhafp0f58ryrlskafwag";
405 propagatedBuildInputs = [ async ];
406 meta.description = "Distributed computing library";
409 async_shell = janePackage {
410 pname = "async_shell";
411 hash = "1jb01ygfnhabsy72xlcg11vp7rr37sg555sm0k3yxl4r5az3y2ay";
412 propagatedBuildInputs = [ core_extended async ];
413 meta.description = "Shell helpers for Async";
416 sexp_pretty = janePackage {
417 pname = "sexp_pretty";
418 hash = "0xskahjggbwvvb82fn0jp1didxbgpmgks76xhwp9s3vqkhgz6918";
419 propagatedBuildInputs = [ ppx_base re sexplib ];
420 meta.description = "S-expression pretty-printer";
423 expect_test_helpers_kernel = janePackage {
424 pname = "expect_test_helpers_kernel";
425 hash = "0m113vq4m1xm3wmwa08r6qjc7p5f0y3ss8s4i2z591ycgs2fxzlj";
426 propagatedBuildInputs = [ core_kernel sexp_pretty ];
427 meta.description = "Helpers for writing expectation tests";
430 expect_test_helpers = janePackage {
431 pname = "expect_test_helpers";
432 hash = "13n6h7mimwkbsjdix96ghfrmxjd036m4h4zgl8qag00aacqclvpi";
433 propagatedBuildInputs = [ async expect_test_helpers_kernel ];
434 meta.description = "Async helpers for writing expectation tests";
437 cinaps = janePackage {
439 hash = "0f8cx4xkkk4wqpcbvva8kxdndbgawljp17dwppc6zpjpkjl8s84j";
440 propagatedBuildInputs = [ re ];
441 meta.description = "Trivial Metaprogramming tool using the OCaml toplevel";
444 command_rpc = janePackage {
445 pname = "command_rpc";
446 hash = "111v4km0ds8ixmpmwg9ck36ap97400mqzhijf57kj6wfwgzcmr2g";
447 propagatedBuildInputs = [ async ];
448 meta.description = "Utilities for Versioned RPC communication with a child process over stdin and stdout";
451 # Deprecated libraries
453 ppx_ast = janePackage {
455 hash = "125bzswcwr3nb26ss8ydh8z4218c8fi3s2kvgqp1j1fhc5wwzqgj";
456 propagatedBuildInputs = [ ppxlib ];
457 meta.description = "Deprecated (see ppxlib)";
460 ppx_core = janePackage {
462 hash = "11hgm9mxig4cm3c827f6dns9mjv3pf8g6skf10x0gw9xnp1dmzmx";
463 propagatedBuildInputs = [ ppxlib ];
464 meta.description = "Deprecated (see ppxlib)";
467 ppx_driver = janePackage {
468 pname = "ppx_driver";
469 hash = "00kfx6js2kxk57k4v7hiqvwk7h35whgjihnxf75m82rnaf4yzvfi";
470 propagatedBuildInputs = [ ppxlib ];
471 meta.description = "Deprecated (see ppxlib)";
474 ppx_metaquot = janePackage {
475 pname = "ppx_metaquot";
476 hash = "1vz8bi56jsz8w0894vgbfsfvmdyh5k1dgv45l8vhkks0s7d3ldji";
477 propagatedBuildInputs = [ ppxlib ];
478 meta.description = "Deprecated (see ppxlib)";
481 ppx_traverse = janePackage {
482 pname = "ppx_traverse";
483 hash = "1p2n5da4mxh9fk4gvxlibc706bs5xwkbppxd1x0ip1vln5pabbq5";
484 propagatedBuildInputs = [ ppxlib ];
485 meta.description = "Deprecated (see ppxlib)";
488 ppx_traverse_builtins = janePackage {
489 pname = "ppx_traverse_builtins";
490 hash = "0qlf7i8h8k3a9h8nhb0ki3y1knr6wgbm24f1qaqni53fpvzv0pfb";
491 propagatedBuildInputs = [ ppxlib ];
492 meta.description = "Deprecated (see ppxlib)";
495 ppx_type_conv = janePackage {
496 pname = "ppx_type_conv";
497 hash = "04dbrglqqhkas25cpjz8xhjcbpk141c35qggzw66bn69izczfmaf";
498 propagatedBuildInputs = [ ppxlib ];
499 meta.description = "Deprecated (see ppxlib)";
502 # Miscellaneous Jane Street packages
504 core_bench = janePackage {
505 pname = "core_bench";
506 hash = "10i28ssfdqxxhq0rvnlp581lr1cq2apkhmm8j83fksjkmbxcrasc";
507 propagatedBuildInputs = [ core_extended ];
508 meta.description = "Micro-benchmarking library for OCaml";
511 csvfields = janePackage {
513 hash = "10zw4fjlniivfdzzz79lnbvcjnhk5y16m1p8mn4xbs23n6mbix0f";
514 propagatedBuildInputs = [ core expect_test_helpers ];
515 meta.description = "Runtime support for ppx_xml_conv and ppx_csv_conv";
518 ecaml = janePackage {
520 hash = "1is5156q59s427x3q5nh9wsi8h1x77670bmyilqxasy39yway7g8";
521 propagatedBuildInputs = [ async expect_test_helpers_kernel ];
522 meta.description = "Writing Emacs plugin in OCaml";
525 incremental_kernel = janePackage {
527 pname = "incremental_kernel";
528 hash = "1qp9dqncx2h0np0rndqaic4dna8f1dlkqnbjfcdhcim5dp2vg4x6";
529 propagatedBuildInputs = [ core_kernel ];
530 meta.description = "Library for incremental computations depending only on core_kernel";
533 incremental = janePackage {
534 pname = "incremental";
535 hash = "1xchd3v4kj56wixjrsnj7m7l0374cgkzybihs2b62mn65xf6n7ki";
536 propagatedBuildInputs = [ core incremental_kernel ];
537 meta.description = "Library for incremental computations";
540 incr_map = janePackage {
542 hash = "01vx9aldxpigz5ah9h337xcw73a7r8449v8l2xbralljhs0zglx9";
543 propagatedBuildInputs = [ incremental_kernel ];
544 meta.description = "Helpers for incremental operations on map like data structures";
547 parsexp_io = janePackage {
548 pname = "parsexp_io";
549 hash = "0rhdl40jiirvv6fhgjk50n8wzs3jly5d8dyyyfgpjgl39mwkjjnb";
550 propagatedBuildInputs = [ parsexp ppx_js_style ];
551 meta.description = "S-expression parsing library (IO functions)";
554 patience_diff = janePackage {
555 pname = "patience_diff";
556 hash = "0q7a64fgg97qcd6d8c45gyz63x5vq004axxqvvfg92b8f3x2plx4";
557 propagatedBuildInputs = [ core_kernel ];
558 meta.description = "Tool and library implementing patience diff";
561 posixat = janePackage {
563 hash = "04rs4sl0r4rg9m6l9kkqkmc4n87sv4a4w9ibq4zsjk9j4n6r2df8";
564 propagatedBuildInputs = [ ppx_optcomp ppx_sexp_conv sexplib ];
565 meta.description = "Binding to the posix *at functions";
568 rpc_parallel = janePackage {
569 pname = "rpc_parallel";
570 hash = "13dx59x73i8mkwv2qkh8gx6kk8arlvghj57k1jdscdmzmyqc9gvn";
571 propagatedBuildInputs = [ async ];
572 meta.description = "Type-safe library for building parallel applications";
575 shexp = janePackage {
578 hash = "06yssp7bsmabaxvw9bqxyrsji1gkvl7if5adba3v6h4kilqy7rqg";
579 propagatedBuildInputs = [ posixat spawn ];
580 meta.description = "Process library and s-expression based shell";
583 topological_sort = janePackage {
584 pname = "topological_sort";
585 hash = "1qnz5b1rs45lsl1ycxd1lglpmh8444gy5khhdp5fvxy987zkzklz";
586 propagatedBuildInputs = [ core_kernel ];
587 meta.description = "Topological sort algorithm";