uboot: (firmwareOdroidC2/C4) don't invoke patch tool, use patches = [] instead

https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh#L948
this can do it nicely.

Signed-off-by: Anton Arapov <anton@deadbeef.mx>
This commit is contained in:
Anton Arapov 2021-04-03 12:58:10 +02:00 committed by Alan Daniels
commit 56de2bcd43
30691 changed files with 3076956 additions and 0 deletions

View file

@ -0,0 +1,509 @@
{ self
, openssl
}:
with self;
{
ocaml-compiler-libs = janePackage {
pname = "ocaml-compiler-libs";
hash = "0g9y1ljjsj1nw0lz460ivb6qmz9vhcmfl8krlmqfrni6pc7b0r6f";
meta.description = "OCaml compiler libraries repackaged";
};
sexplib0 = janePackage {
pname = "sexplib0";
hash = "13xdd0pvypxqn0ldwdgikmlinrp3yfh8ixknv1xrpxbx3np4qp0g";
meta.description = "Library containing the definition of S-expressions and some base converters";
};
base = janePackage {
pname = "base";
version = "0.12.2";
hash = "0gl89zpgsf3n30nb6v5cns27g2bfg4rf3s2427gqvwbkr5gcf7ri";
meta.description = "Full standard library replacement for OCaml";
propagatedBuildInputs = [ sexplib0 ];
buildInputs = [ dune_1 ];
};
stdio = janePackage {
pname = "stdio";
hash = "1pn8jjcb79n6crpw7dkp68s4lz2mw103lwmfslil66f05jsxhjhg";
meta.description = "Standard IO library for OCaml";
propagatedBuildInputs = [ base ];
};
ppx_sexp_conv = janePackage {
pname = "ppx_sexp_conv";
hash = "0idzp1kzds0gnilschzs9ydi54if8y5xpn6ajn710vkipq26qcld";
meta.description = "[@@deriving] plugin to generate S-expression conversion functions";
propagatedBuildInputs = [ ppxlib ];
};
ppx_here = janePackage {
pname = "ppx_here";
hash = "07qbchwif1i9ii8z7v1bib57d3mjv0b27i8iixw78i83wnsycmdx";
meta.description = "Expands [%here] into its location";
propagatedBuildInputs = [ ppxlib ];
};
ppx_compare = janePackage {
pname = "ppx_compare";
hash = "0n1ax4k2smhps9hc2v58lc06a0fgimwvbi1aj4x78vwh5j492bys";
meta.description = "Generation of comparison functions from types";
propagatedBuildInputs = [ ppxlib ];
};
ppx_assert = janePackage {
pname = "ppx_assert";
hash = "0as6mzr6ki2a9d4k6132p9dskn0qssla1s7j5rkzp75bfikd0ip8";
meta.description = "Assert-like extension nodes that raise useful errors on failure";
propagatedBuildInputs = [ ppx_compare ppx_here ppx_sexp_conv ];
};
ppx_inline_test = janePackage {
pname = "ppx_inline_test";
hash = "0nyz411zim94pzbxm2l2v2l9jishcxwvxhh142792g2s18r4vn50";
meta.description = "Syntax extension for writing in-line tests in ocaml code";
propagatedBuildInputs = [ ppxlib ];
};
ppx_custom_printf = janePackage {
pname = "ppx_custom_printf";
version = "0.12.1";
hash = "0q7591agvd3qy9ihhbyk4db48r0ng7yxspfj8afxxiawl7k5bas6";
meta.description = "Printf-style format-strings for user-defined string conversion";
propagatedBuildInputs = [ ppx_sexp_conv ];
};
fieldslib = janePackage {
pname = "fieldslib";
hash = "0dlgr7cimqmjlcymk3bdcyzqzvdy12q5lqa844nqix0k2ymhyphf";
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";
propagatedBuildInputs = [ base ];
};
ppx_fields_conv = janePackage {
pname = "ppx_fields_conv";
hash = "0flrdyxdfcqcmdrbipxdjq0s3djdgs7z5pvjdycsvs6czbixz70v";
meta.description = "Generation of accessor and iteration functions for ocaml records";
propagatedBuildInputs = [ fieldslib ppxlib ];
};
variantslib = janePackage {
pname = "variantslib";
hash = "1cclb5magk63gyqmkci8abhs05g2pyhyr60a2c1bvmig0faqcnsf";
meta.description = "Part of Jane Street's Core library";
propagatedBuildInputs = [ base ];
};
ppx_variants_conv = janePackage {
pname = "ppx_variants_conv";
hash = "05j9bgra8xq6fcp12ch3z9vjrk139p2wrcjjcs4h52n5hhc8vzbz";
meta.description = "Generation of accessor and iteration functions for ocaml variant types";
propagatedBuildInputs = [ variantslib ppxlib ];
};
ppx_expect = janePackage {
pname = "ppx_expect";
hash = "1wawsbjfkri4sw52n8xqrzihxc3xfpdicv3ahz83a1rsn4lb8j5q";
meta.description = "Cram like framework for OCaml";
propagatedBuildInputs = [ ppx_assert ppx_custom_printf ppx_fields_conv ppx_inline_test ppx_variants_conv re ];
};
ppx_enumerate = janePackage {
pname = "ppx_enumerate";
hash = "08zfpq6bdm5lh7xj9k72iz9f2ihv3aznl3nypw3x78vz1chj8dqa";
meta.description = "Generate a list containing all values of a finite type";
propagatedBuildInputs = [ ppxlib ];
};
ppx_hash = janePackage {
pname = "ppx_hash";
hash = "1dfsfvhiyp1mnf24mr93svpdn432kla0y7x631lssacxxp2sadbg";
meta.description = "A ppx rewriter that generates hash functions from type expressions and definitions";
propagatedBuildInputs = [ ppx_compare ppx_sexp_conv ];
};
ppx_js_style = janePackage {
pname = "ppx_js_style";
hash = "1lz931m3qdv3yzqy6dnb8fq1d99r61w0n7cwf3b9fl9rhk0pggwh";
meta.description = "Code style checker for Jane Street Packages";
propagatedBuildInputs = [ octavius ppxlib ];
};
ppx_base = janePackage {
pname = "ppx_base";
hash = "0vd96rp2l084iamkwmvizzhl9625cagjb6gzzbir06czii5mlq2p";
meta.description = "Base set of ppx rewriters";
propagatedBuildInputs = [ ppx_enumerate ppx_hash ppx_js_style ];
};
ppx_bench = janePackage {
pname = "ppx_bench";
hash = "1ib81irawxzq091bmpi50z0kmpx6z2drg14k2xcgmwbb1d4063xn";
meta.description = "Syntax extension for writing in-line benchmarks in ocaml code";
propagatedBuildInputs = [ ppx_inline_test ];
};
ppx_sexp_message = janePackage {
pname = "ppx_sexp_message";
hash = "0yskd6v48jc6wa0nhg685kylh1n9qb6b7d1wglr9wnhl9sw990mc";
meta.description = "A ppx rewriter for easy construction of s-expressions";
propagatedBuildInputs = [ ppx_here ppx_sexp_conv ];
};
splittable_random = janePackage {
pname = "splittable_random";
hash = "1wpyz7807cgj8b50gdx4rw6f1zsznp4ni5lzjbnqdwa66na6ynr4";
meta.description = "PRNG that can be split into independent streams";
propagatedBuildInputs = [ base ppx_assert ppx_bench ppx_sexp_message ];
};
ppx_let = janePackage {
pname = "ppx_let";
hash = "146dmyzkbmafa3giz69gpxccvdihg19cvk4xsg8krbbmlkvdda22";
meta.description = "Monadic let-bindings";
propagatedBuildInputs = [ ppxlib ];
};
base_quickcheck = janePackage {
pname = "base_quickcheck";
hash = "1la6qgq1zwmfyq1hqy6i337w435ym5yqgx2ygk86qip6nws0s6r3";
meta.description = "Randomized testing framework, designed for compatibility with Base";
propagatedBuildInputs = [ ppx_base ppx_fields_conv ppx_let splittable_random ];
};
ppx_stable = janePackage {
pname = "ppx_stable";
hash = "15zvf66wlkvz0yd4bkvndkpq74dj20jv1qkljp9n52hh7d0f9ykh";
meta.description = "Stable types conversions generator";
propagatedBuildInputs = [ ppxlib ];
};
bin_prot = janePackage {
pname = "bin_prot";
hash = "0hh6s7g9s004z35hsr8z6nw5phlcvcd6g2q3bj4f0s1s0anlsswm";
meta.description = "A binary protocol generator";
propagatedBuildInputs = [ ppx_compare ppx_custom_printf ppx_fields_conv ppx_variants_conv ];
};
ppx_bin_prot = janePackage {
pname = "ppx_bin_prot";
version = "0.12.1";
hash = "1j0kjgmv58dmg3x5dj5zrfbm920rwq21lvkkaqq493y76cd0x8xg";
meta.description = "Generation of bin_prot readers and writers from types";
propagatedBuildInputs = [ bin_prot ppx_here ];
};
ppx_fail = janePackage {
pname = "ppx_fail";
hash = "0krsv6z9gi0ifxmw5ss6gwn108qhywyhbs41an10x9d5zpgf4l1n";
meta.description = "Add location to calls to failwiths";
propagatedBuildInputs = [ ppx_here ];
};
jst-config = janePackage {
pname = "jst-config";
hash = "0yxcz13vda1mdh9ah7qqxwfxpcqang5sgdssd8721rszbwqqaw93";
meta.description = "Compile-time configuration for Jane Street libraries";
buildInputs = [ dune_1 ppx_assert ];
};
ppx_optcomp = janePackage {
pname = "ppx_optcomp";
hash = "0bdbx01kz0174g1szdhv3mcfqxqqf2frxq7hk13xaf6fsz04kwmj";
meta.description = "Optional compilation for OCaml";
propagatedBuildInputs = [ ppxlib ];
};
jane-street-headers = janePackage {
pname = "jane-street-headers";
hash = "0qa4llf812rjqa8nb63snmy8d8ny91p3anwhb50afb7vjaby8m34";
meta.description = "Jane Street C header files";
};
time_now = janePackage {
pname = "time_now";
hash = "169mgsb3rja4j1j9nj5xa7bbkd21p9kfpskqz0wjf9x2fpxqsniq";
meta.description = "Reports the current time";
buildInputs = [ jst-config ppx_optcomp ];
propagatedBuildInputs = [ jane-street-headers base ppx_base ];
};
ppx_module_timer = janePackage {
pname = "ppx_module_timer";
hash = "0yziakm7f4c894na76k1z4bp7azy82xc33mh36fj761w1j9zy3wm";
meta.description = "Ppx rewriter that records top-level module startup times";
propagatedBuildInputs = [ time_now ];
};
ppx_optional = janePackage {
pname = "ppx_optional";
hash = "07i0iipbd5xw2bc604qkwlcxmhncfpm3xmrr6svyj2ij86pyssh8";
meta.description = "Pattern matching on flat options";
propagatedBuildInputs = [ ppxlib ];
};
ppx_pipebang = janePackage {
pname = "ppx_pipebang";
hash = "1p4pdpl8h2bblbhpn5nk17ri4rxpz0aih0gffg3cl1186irkj0xj";
meta.description = "A ppx rewriter that inlines reverse application operators `|>` and `|!`";
propagatedBuildInputs = [ ppxlib ];
};
ppx_sexp_value = janePackage {
pname = "ppx_sexp_value";
hash = "1mg81834a6dx1x7x9zb9wc58438cabjjw08yhkx6i386hxfy891p";
meta.description = "A ppx rewriter that simplifies building s-expressions from ocaml values";
propagatedBuildInputs = [ ppx_here ppx_sexp_conv ];
};
typerep = janePackage {
pname = "typerep";
hash = "1psl6gsk06a62szh60y5sc1s92xpmrl1wpw3rhha09v884b7arbc";
meta.description = "Typerep is a library for runtime types";
propagatedBuildInputs = [ base ];
};
ppx_typerep_conv = janePackage {
pname = "ppx_typerep_conv";
hash = "09vik6qma1id44k8nz87y48l9wbjhqhap1ar1hpfdfkjai1hrzzq";
meta.description = "Generation of runtime types from type declarations";
propagatedBuildInputs = [ ppxlib typerep ];
};
ppx_jane = janePackage {
pname = "ppx_jane";
hash = "1a2602isqzsh640q20qbmarx0sc316mlsqc3i25ysv2kdyhh0kyw";
meta.description = "Standard Jane Street ppx rewriters";
propagatedBuildInputs = [ base_quickcheck ppx_bench ppx_bin_prot ppx_expect ppx_fail ppx_module_timer ppx_optcomp ppx_optional ppx_pipebang ppx_sexp_value ppx_stable ppx_typerep_conv ];
};
base_bigstring = janePackage {
pname = "base_bigstring";
hash = "0rbgyg511847fbnxad40prz2dyp4da6sffzyzl88j18cxqxbh1by";
meta.description = "String type based on [Bigarray], for use in I/O and C-bindings";
propagatedBuildInputs = [ ppx_jane ];
};
parsexp = janePackage {
pname = "parsexp";
hash = "1974i9s2c2n03iffxrm6ncwbd2gg6j6avz5jsxfd35scc2zxcd4l";
meta.description = "S-expression parsing library";
propagatedBuildInputs = [ base sexplib0 ];
};
sexplib = janePackage {
pname = "sexplib";
hash = "0780klc5nnv0ij6aklzra517cfnfkjdlp8ylwjrqwr8dl9rvxza2";
meta.description = "Library for serializing OCaml values to and from S-expressions";
propagatedBuildInputs = [ num parsexp ];
};
core_kernel = janePackage {
pname = "core_kernel";
version = "0.12.2";
hash = "0c85bjvadrb4pmjcg0gjk3bkkgka62r90pjm690mjvcbbv5zjxzj";
meta.description = "System-independent part of Core";
buildInputs = [ jst-config ];
propagatedBuildInputs = [ base_bigstring sexplib ];
};
spawn = janePackage {
pname = "spawn";
version = "0.13.0";
hash = "1w003k1kw1lmyiqlk58gkxx8rac7dchiqlz6ah7aj7bh49b36ppf";
meta.description = "Spawning sub-processes";
buildInputs = [ ppx_expect ];
};
core = janePackage {
pname = "core";
version = "0.12.3";
hash = "1vmjqiafkg45hqfvahx6jnlaww1q4a4215k8znbgprf0qn3zymnj";
meta.description = "System-independent part of Core";
buildInputs = [ jst-config ];
propagatedBuildInputs = [ core_kernel spawn ];
};
async_kernel = janePackage {
pname = "async_kernel";
hash = "1d9illx7vvpblj1i2r9y0f2yff2fbhy3rp4hhvamq1n9n3lvxmh2";
meta.description = "Monadic concurrency library";
propagatedBuildInputs = [ core_kernel ];
};
protocol_version_header = janePackage {
pname = "protocol_version_header";
hash = "14vqhx3r84rlfhcjq52gxdqksckiaswlck9s47g7y2z1lsc17v7r";
meta.description = "Protocol versioning";
propagatedBuildInputs = [ core_kernel ];
};
async_rpc_kernel = janePackage {
pname = "async_rpc_kernel";
hash = "1znhqbzx4fp58i7dbcgyv5rx7difbhb5d8cbqzv96yqvbn67lsjk";
meta.description = "Platform-independent core of Async RPC library";
propagatedBuildInputs = [ async_kernel protocol_version_header ];
};
async_unix = janePackage {
pname = "async_unix";
hash = "09h10rdyykbm88n6r9nb5a22mlb6vcxa04q6hvrcr0kys6qhhqmb";
meta.description = "Monadic concurrency library";
propagatedBuildInputs = [ async_kernel core ];
};
async_extra = janePackage {
pname = "async_extra";
hash = "10j4mwlyqvf67yrp5dwd857llqjinpnnykmlzw2gpmks9azxk6mh";
meta.description = "Monadic concurrency library";
propagatedBuildInputs = [ async_rpc_kernel async_unix ];
};
textutils = janePackage {
pname = "textutils";
hash = "0302awqihf3abib9mvzvn4g8m364hm6jxry1r3kc01hzybhy9acq";
meta.description = "Text output utilities";
propagatedBuildInputs = [ core ];
};
async = janePackage {
pname = "async";
hash = "0pk7z3h2gi21nfchvmjz2wx516bynf9vgwf84zf5qhvlvqqsmyrx";
meta.description = "Monadic concurrency library";
propagatedBuildInputs = [ async_extra textutils ];
};
async_ssl = janePackage {
pname = "async_ssl";
hash = "02ard8x5q5c42d9jdqmyzfx624yjq8cxxmvq3zb82hf6p8cc57ml";
meta = {
description = "An Async-pipe-based interface with OpenSSL";
# ctypes no longer works with dune 1
# dune 2 no longer supports jbuild
broken = true;
};
propagatedBuildInputs = [ async ctypes openssl ];
};
async_find = janePackage {
pname = "async_find";
hash = "0qsz9f15s5rlk6za10s810v6nlkdxg2g9p1827lcpa7nhjcpi673";
meta.description = "Directory traversal with Async";
propagatedBuildInputs = [ async ];
};
re2 = janePackage {
pname = "re2";
hash = "1sw32lb0y501y971ij7287796lvfhs0nfgla895r74ymfks2rcjb";
meta.description = "OCaml bindings for RE2, Google's regular expression library";
propagatedBuildInputs = [ core_kernel ];
prePatch = ''
substituteInPlace src/re2_c/dune --replace 'CXX=g++' 'CXX=c++'
substituteInPlace src/dune --replace '(cxx_flags (:standard \ -pedantic) (-I re2_c/libre2))' '(cxx_flags (:standard \ -pedantic) (-I re2_c/libre2) (-x c++))'
'';
};
shell = janePackage {
pname = "shell";
hash = "158857rdr6qgglc5iksg0l54jgf51b5lmsw7nlazpxwdwc9fcn5n";
meta.description = "Yet another implementation of fork&exec and related functionality";
buildInputs = [ jst-config ];
propagatedBuildInputs = [ re2 textutils ];
};
async_shell = janePackage {
pname = "async_shell";
hash = "0cxln9hkc3cy522la9yi9p23qjwl69kqmadsq4lnjh5bxdad06sv";
meta.description = "Shell helpers for Async";
propagatedBuildInputs = [ async shell ];
};
core_bench = janePackage {
pname = "core_bench";
hash = "00hyzbbj19dkcw0vhfnc8w0ca3zkjriwwvl00ssa0a2g9mygijdm";
meta.description = "Benchmarking library";
propagatedBuildInputs = [ textutils ];
};
core_extended = janePackage {
pname = "core_extended";
hash = "1gwx66235irpf5krb1r25a3c7w52qhmass8hp7rdv89il9jn49w4";
meta.description = "Extra components that are not as closely vetted or as stable as Core";
propagatedBuildInputs = [ core ];
};
sexp_pretty = janePackage {
pname = "sexp_pretty";
hash = "06hdsaszc5cd7fphiblbn4r1sh36xgjwf2igzr2rvlzqs7jiv2v4";
meta.description = "S-expression pretty-printer";
propagatedBuildInputs = [ ppx_base re sexplib ];
};
expect_test_helpers_kernel = janePackage {
pname = "expect_test_helpers_kernel";
hash = "18ya187y2i2hfxr771sd9vy5jdsa30vhs56yjdhwk06v01b2fzbq";
meta.description = "Helpers for writing expectation tests";
buildInputs = [ ppx_jane ];
propagatedBuildInputs = [ core_kernel sexp_pretty ];
};
expect_test_helpers = janePackage {
pname = "expect_test_helpers";
hash = "0ixqck2lnsmz107yw0q2sr8va80skjpldx7lz4ymjiq2vsghk0rb";
meta.description = "Async helpers for writing expectation tests";
propagatedBuildInputs = [ async expect_test_helpers_kernel ];
};
patience_diff = janePackage {
pname = "patience_diff";
hash = "055kd3piadjnplip8c8q99ssh79d4irmhg2wng7aida5pbqp2p9f";
meta.description = "Diff library using Bram Cohen's patience diff algorithm";
propagatedBuildInputs = [ core_kernel ];
};
ecaml = janePackage {
pname = "ecaml";
hash = "0n9xi6agc3lgyj2nsi10cbif0xwn57xyaranad9r285rmbxrgjh7";
meta.description = "Library for writing Emacs plugin in OCaml";
propagatedBuildInputs = [ async expect_test_helpers_kernel ];
};
### Packages at version 0.11, with dependencies at version 0.12
configurator = janePackage {
pname = "configurator";
version = "0.11.0";
hash = "0h686630cscav7pil8c3w0gbh6rj4b41dvbnwmicmlkc746q5bfk";
propagatedBuildInputs = [ stdio ];
meta.description = "Helper library for gathering system configuration";
};
ppx_core = janePackage {
pname = "ppx_core";
version = "0.11.0";
hash = "11hgm9mxig4cm3c827f6dns9mjv3pf8g6skf10x0gw9xnp1dmzmx";
propagatedBuildInputs = [ ppxlib ];
meta.description = "Deprecated (see ppxlib)";
};
ppx_driver = janePackage {
pname = "ppx_driver";
version = "0.11.0";
hash = "00kfx6js2kxk57k4v7hiqvwk7h35whgjihnxf75m82rnaf4yzvfi";
propagatedBuildInputs = [ ppxlib ];
meta.description = "Deprecated (see ppxlib)";
};
ppx_type_conv = janePackage {
pname = "ppx_type_conv";
version = "0.11.0";
hash = "04dbrglqqhkas25cpjz8xhjcbpk141c35qggzw66bn69izczfmaf";
propagatedBuildInputs = [ ppxlib ];
meta.description = "Deprecated (see ppxlib)";
};
}

View file

@ -0,0 +1,902 @@
{ self
, fetchpatch
, lib
, openssl
, zstd
}:
with self;
{
accessor = janePackage {
pname = "accessor";
version = "0.14.1";
minimumOCamlVersion = "4.09";
hash = "0wm2081kzd5zsqs516cn3f975bnnmnyynv8fa818gmfa65i6mxm8";
meta.description = "A library that makes it nicer to work with nested functional data structures";
propagatedBuildInputs = [ higher_kinded ];
};
accessor_async = janePackage {
pname = "accessor_async";
version = "0.14.1";
minimumOCamlVersion = "4.09";
hash = "1193hzvlzm7vcl9p67fs8al2pvkw9n2wz009m2l3lp35mrx8aq1w";
meta.description = "Accessors for Async types, for use with the Accessor library";
propagatedBuildInputs = [ accessor_core async_kernel ];
};
accessor_base = janePackage {
pname = "accessor_base";
version = "0.14.1";
minimumOCamlVersion = "4.09";
hash = "1xjbvvijkyw4dlys47x4896y3kqm2zn0yg60cqrp57i2dwxg0nsj";
meta.description = "Accessors for Base types, for use with the Accessor library";
propagatedBuildInputs = [ ppx_accessor ];
};
accessor_core = janePackage {
minimumOCamlVersion = "4.09";
pname = "accessor_core";
version = "0.14.1";
hash = "1cdkv34m6czhacivpbb2sasj83fgcid6gnqk30ig9i84z8nh2gw2";
meta.description = "Accessors for Core types, for use with the Accessor library";
meta.broken = true; # Not compatible with ppxlib ≥ 0.23
propagatedBuildInputs = [ accessor_base core_kernel ];
};
async = janePackage {
pname = "async";
hash = "086v93div4h9l02n7wzv3xx3i6xvddazydm9qlfa72ad55x3vzy0";
meta.description = "Monadic concurrency library";
propagatedBuildInputs = [ async_rpc_kernel async_unix textutils ];
doCheck = false; # we don't have netkit_sockets
};
async_extra = janePackage {
pname = "async_extra";
hash = "16cnz9h4jkc3b0837s5z0iv92q7n5nw77g8qshq8pwq639y8ail4";
meta.description = "Monadic concurrency library";
propagatedBuildInputs = [ async_kernel ];
};
async_find = janePackage {
pname = "async_find";
hash = "0vlcpdr15bgrwrmixvs6ij88kvk8vzzrijz3zm0svxih0naf8ylx";
meta.description = "Directory traversal with Async";
propagatedBuildInputs = [ async ];
};
async_inotify = janePackage {
pname = "async_inotify";
hash = "0i0hf7nsir316ijixdj43qf0p3b6yapvcm2jzp7bhpf4r2kxislv";
meta.description = "Async wrapper for inotify";
propagatedBuildInputs = [ async_find inotify ];
};
async_interactive = janePackage {
pname = "async_interactive";
hash = "1cnmv9mipa6k6xd303ngdbxmiab2202f3w3pgq8l1970w8hb78il";
meta.description = "Utilities for building simple command-line based user interfaces";
propagatedBuildInputs = [ async ];
};
async_js = janePackage {
pname = "async_js";
hash = "0rld8792lfwbinn9rhrgacivz49vppgy29smpqnvpga89wchjv0v";
meta.description = "A small library that provide Async support for JavaScript platforms";
buildInputs = [ js_of_ocaml-ppx ];
propagatedBuildInputs = [ async_rpc_kernel js_of_ocaml uri-sexp ];
};
async_kernel = janePackage {
pname = "async_kernel";
hash = "17giakwl0xhyxvxrkn12dwjdghc53q8px81z7cc3k6f102bsbdy6";
meta.description = "Monadic concurrency library";
propagatedBuildInputs = [ core_kernel ];
};
async_rpc_kernel = janePackage {
pname = "async_rpc_kernel";
hash = "1bwq3gkq057dd1fhrqz9kqq8a956nn87zaxvr0qcpiczzjv3zmvm";
meta.description = "Platform-independent core of Async RPC library";
propagatedBuildInputs = [ async_kernel protocol_version_header ];
};
async_sendfile = janePackage {
pname = "async_sendfile";
hash = "1w3gwwpgfzqjhblxnxh64g64q6kgjzzxx90inswfhycc88pnvdna";
meta.description = "Thin wrapper around [Linux_ext.sendfile] to send full files";
propagatedBuildInputs = [ async_unix ];
};
async_shell = janePackage {
pname = "async_shell";
hash = "1r00z620nqv2jxz2xrp2gsyc30h8dd2w9qsnys2fkqbgpxlbgdc7";
meta.description = "Shell helpers for Async";
propagatedBuildInputs = [ async shell ];
};
async_smtp = janePackage {
pname = "async_smtp";
hash = "1xf3illn7vikdxldpnc29n4z8sv9f0wsdgdvl4iv93qlvjk8gzck";
meta.description = "SMTP client and server";
propagatedBuildInputs = [ async_extra async_inotify async_sendfile async_shell async_ssl email_message resource_cache re2_stable sexp_macro ];
};
async_ssl = janePackage {
pname = "async_ssl";
hash = "0ykys3ckpsx5crfgj26v2q3gy6wf684aq0bfb4q8p92ivwznvlzy";
meta.description = "Async wrappers for SSL";
buildInputs = [ dune-configurator ];
propagatedBuildInputs = [ async ctypes openssl ];
# in ctypes.foreign 0.18.0 threaded and unthreaded have been merged
postPatch = ''
substituteInPlace bindings/dune \
--replace "ctypes.foreign.threaded" "ctypes.foreign"
'';
};
async_unix = janePackage {
pname = "async_unix";
hash = "1wgnr0vdsknqrfnf6irmwnvyngndsnvvl1sfnj3v6fhwk4nswnrs";
meta.description = "Monadic concurrency library";
propagatedBuildInputs = [ async_kernel core ];
};
base = janePackage {
pname = "base";
version = "0.14.1";
hash = "1hizjxmiqlj2zzkwplzjamw9rbnl0kh44sxgjpzdij99qnfkzylf";
minimumOCamlVersion = "4.07";
meta.description = "Full standard library replacement for OCaml";
buildInputs = [ dune-configurator ];
propagatedBuildInputs = [ sexplib0 ];
checkInputs = [ alcotest ];
};
base_bigstring = janePackage {
pname = "base_bigstring";
hash = "1ald2m7qywhxbygv58dzpgaj54p38zn0aiqd1z7i95kf3bsnsjqa";
minimumOCamlVersion = "4.07";
meta.description = "String type based on [Bigarray], for use in I/O and C-bindings";
propagatedBuildInputs = [ ppx_jane ];
};
base_quickcheck = janePackage {
pname = "base_quickcheck";
version = "0.14.1";
hash = "0apq3d9xb0zdaqsl4cjk5skyig57ff1plndb2mh0nn3czvfhifxs";
minimumOCamlVersion = "4.04.2";
meta.description = "Randomized testing framework, designed for compatibility with Base";
propagatedBuildInputs = [ ppx_base ppx_fields_conv ppx_let ppx_sexp_value splittable_random ];
};
bignum = janePackage {
pname = "bignum";
hash = "009ygr64q810p9iq4mykzz4ci00i5mzgpmq35jiyaiqm27bjam21";
propagatedBuildInputs = [ core_kernel zarith zarith_stubs_js ];
meta.description = "Core-flavoured wrapper around zarith's arbitrary-precision rationals";
};
bin_prot = janePackage {
pname = "bin_prot";
hash = "1qyqbfp4zdc2jb87370cdgancisqffhf9x60zgh2m31kqik8annr";
minimumOCamlVersion = "4.04.2";
meta.description = "A binary protocol generator";
propagatedBuildInputs = [ ppx_compare ppx_custom_printf ppx_fields_conv ppx_optcomp ppx_variants_conv ];
};
bonsai = janePackage {
pname = "bonsai";
hash = "0k4grabwqc9sy4shzp77bgfvyajvvc0l8qq89ia7cvlwvly7gv6a";
meta.description = "A library for building dynamic webapps, using Js_of_ocaml";
buildInputs = [ ppx_pattern_bind ];
propagatedBuildInputs = [ incr_dom ];
};
cinaps = janePackage {
pname = "cinaps";
hash = "0ms1j2kh7i5slyw9v4w9kdz52dkwl5gqcnvn89prgimhk2vmichj";
minimumOCamlVersion = "4.07";
meta.description = "Trivial metaprogramming tool";
propagatedBuildInputs = [ re ];
checkInputs = [ ppx_jane ];
# This currently fails with dune
strictDeps = false;
};
core = janePackage {
pname = "core";
version = "0.14.1";
hash = "1isrcl07nkmdm6akqsqs9z8s6zvva2lvg47kaagy7gsbyszrqb82";
meta.description = "System-independent part of Core";
buildInputs = [ jst-config ];
propagatedBuildInputs = [ core_kernel spawn timezone ];
doCheck = false; # we don't have quickcheck_deprecated
};
core_bench = janePackage {
pname = "core_bench";
hash = "04h6hzxk347pqyrrbgqrw9576sq4yf70fgq9xam3kajrqwdh3dhx";
meta.description = "Benchmarking library";
propagatedBuildInputs = [ textutils ];
};
core_extended = janePackage {
pname = "core_extended";
hash = "1pbm6xbc3h0fhrymyr1yb9b1jk7n88gfi3pylqz2cs8haxr2pb3a";
meta.description = "Extra components that are not as closely vetted or as stable as Core";
propagatedBuildInputs = [ core ];
};
core_kernel = janePackage {
pname = "core_kernel";
version = "0.14.1";
hash = "0pikg4ln6177gbs0jfix7xj50zlcm7058h64lxnd7wspnj7mq8sd";
meta.description = "System-independent part of Core";
buildInputs = [ jst-config ];
propagatedBuildInputs = [ base_bigstring sexplib ];
doCheck = false; # we don't have quickcheck_deprecated
};
core_unix = janePackage {
pname = "core_unix";
hash = "0irfmpx6iksxk2r8mdizjn75h71qh4p2f1s9x2ggckzqj9y904ck";
meta.description = "Unix-specific portions of Core";
propagatedBuildInputs = [ core ];
};
csvfields = janePackage {
pname = "csvfields";
hash = "09jmz6y6nwd96dcx6g8ydicxssi72v1ks276phbc9n19wwg9hkaz";
propagatedBuildInputs = [ core num ];
meta.description = "Runtime support for ppx_xml_conv and ppx_csv_conv";
};
delimited_parsing = janePackage {
pname = "delimited_parsing";
hash = "1dnr5wqacryx1kj38i9iifc3457pchr887xphzz2nhlbizq3d7qa";
propagatedBuildInputs = [ async core_extended ];
meta.description = "Parsing of character (e.g., comma) separated and fixed-width values";
};
ecaml = janePackage {
pname = "ecaml";
hash = "052qglpwzrx3c4gy3zr6dmsmfbi5gj4fs2jhx9yrsqb9hj8g36mj";
meta.description = "Library for writing Emacs plugin in OCaml";
propagatedBuildInputs = [ async expect_test_helpers_core ];
};
email_message = janePackage {
pname = "email_message";
hash = "0k8hjkq91ikl7wjxs04k523jbkhl6q4abj6v0lzlbjiybmrpp69n";
meta.description = "E-mail message parser";
propagatedBuildInputs = [ angstrom async base64 cryptokit magic-mime re2 ];
};
expect_test_helpers_async = janePackage {
pname = "expect_test_helpers_async";
hash = "175sjkx3b10d8vacp369rv53nxbiaxw1xhwy832g7ffk1by8l2m1";
meta.description = "Async helpers for writing expectation tests";
propagatedBuildInputs = [ async expect_test_helpers_core ];
};
expect_test_helpers_core = janePackage {
pname = "expect_test_helpers_core";
hash = "1drl15akp4jz4wf26dr2y2nblvnhz14xsnb3ai8dg45y711svs2i";
meta.description = "Helpers for writing expectation tests";
propagatedBuildInputs = [ core_kernel sexp_pretty ];
};
fieldslib = janePackage {
pname = "fieldslib";
hash = "0nxx35lrb4f6zfs5l80a7cg7azf19c6g31vn9qjjpaxf6lgkck2n";
minimumOCamlVersion = "4.04.2";
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";
propagatedBuildInputs = [ base ];
};
higher_kinded = janePackage {
pname = "higher_kinded";
version = "0.14.1";
minimumOCamlVersion = "4.09";
hash = "05jvxgqsx3j2v8rqpd91ah76dgc1q2dz38kjklmx0vms4r4gvlsx";
meta.description = "A library with an encoding of higher kinded types in OCaml";
propagatedBuildInputs = [ base ppx_jane ];
};
incr_dom = janePackage {
pname = "incr_dom";
hash = "0mi98cwi4npdh5vvcz0pb4sbb9j9dydl52s51rswwc3kn8mipxfx";
meta.description = "A library for building dynamic webapps, using Js_of_ocaml";
buildInputs = [ js_of_ocaml-ppx ];
propagatedBuildInputs = [ async_js incr_map incr_select virtual_dom ];
patches = [ ./incr_dom_jsoo_4_0.patch ];
};
incr_map = janePackage {
pname = "incr_map";
hash = "0s0s7qfydvvvnqby4v5by5jdnd5kxqsdr65mhm11w4fn125skryz";
meta.description = "Helpers for incremental operations on map like data structures";
buildInputs = [ ppx_pattern_bind ];
propagatedBuildInputs = [ incremental ];
};
incr_select = janePackage {
pname = "incr_select";
hash = "18ril6z57mw89gzc9zhz6p1phwm1xr6phppicvqpqmi0skvvnrg6";
meta.description = "Handling of large set of incremental outputs from a single input";
propagatedBuildInputs = [ incremental ];
};
incremental = janePackage {
pname = "incremental";
hash = "0nyaiy7r2spvn2ij9z5rghd5gbjk1y3ai4jn0i8q81arp7cf6zc7";
meta.description = "Library for incremental computations";
propagatedBuildInputs = [ core_kernel ];
};
jane-street-headers = janePackage {
pname = "jane-street-headers";
hash = "12n40mlgjnc09fxc0hp0npsxdlxja2w828683zpb32nrzqkg6z4c";
minimumOCamlVersion = "4.04.2";
meta.description = "Jane Street C header files";
};
jst-config = janePackage {
pname = "jst-config";
hash = "0hzw0crgj0kjxsvr10wng7gqy948v98hnijh30lgq3v62jdsjra8";
meta.description = "Compile-time configuration for Jane Street libraries";
buildInputs = [ dune-configurator ppx_assert stdio ];
};
ocaml-compiler-libs = janePackage {
pname = "ocaml-compiler-libs";
version = "0.12.3";
minimumOCamlVersion = "4.04.1";
hash = "00nrar7h2pyflbdiq6wwwrb4k5jh9iff0jllihzm6ms8d5pspsg5";
meta.description = "OCaml compiler libraries repackaged";
};
parsexp = janePackage {
pname = "parsexp";
version = "0.14.1";
hash = "1nr0ncb8l2mkk8pqzknr7fsqw5kpz8y102kyv5bc0x7c36v0d4zy";
minimumOCamlVersion = "4.04.2";
meta.description = "S-expression parsing library";
propagatedBuildInputs = [ base sexplib0 ];
};
patience_diff = janePackage {
pname = "patience_diff";
hash = "1np88s226ndhbwynpdqygrycahp8m1mx28f1xk54kvds8znnq2i0";
meta.description = "Diff library using Bram Cohen's patience diff algorithm";
propagatedBuildInputs = [ core_kernel ];
};
posixat = janePackage {
pname = "posixat";
hash = "0aana1lzq4514kna7hr301b5iv6gcg6zhgrx8s8vaad1q38yfp6c";
minimumOCamlVersion = "4.07";
propagatedBuildInputs = [ ppx_optcomp ppx_sexp_conv ];
meta.description = "Binding to the posix *at functions";
};
ppx_accessor = janePackage {
pname = "ppx_accessor";
version = "0.14.3";
minimumOCamlVersion = "4.09";
hash = "sha256:1c8blzh2f34vbm1z3mnvh670c6vda70chw805n2hmkd9j46l0cll";
meta.description = "[@@deriving] plugin to generate accessors for use with the Accessor libraries";
propagatedBuildInputs = [ accessor ];
};
ppx_assert = janePackage {
pname = "ppx_assert";
hash = "03mzgm4smrczp5dg3mpr6zc2v6a54n0r01k4ww820yrr25hcf8ip";
minimumOCamlVersion = "4.04.2";
meta.description = "Assert-like extension nodes that raise useful errors on failure";
propagatedBuildInputs = [ ppx_cold ppx_compare ppx_here ppx_sexp_conv ];
};
ppx_base = janePackage {
pname = "ppx_base";
hash = "1wv3q0qyghm0c5izq03y97lv3czqk116059mg62wx6valn22a000";
minimumOCamlVersion = "4.04.2";
meta = {
description = "Base set of ppx rewriters";
mainProgram = "ppx-base";
};
propagatedBuildInputs = [ ppx_cold ppx_enumerate ppx_hash ppx_js_style ];
};
ppx_bench = janePackage {
pname = "ppx_bench";
version = "0.14.1";
hash = "12r7jgqgpb4i4cry3rgyl2nmxcscs5w7mmk06diz7i49r27p96im";
minimumOCamlVersion = "4.04.2";
meta.description = "Syntax extension for writing in-line benchmarks in ocaml code";
propagatedBuildInputs = [ ppx_inline_test ];
};
ppx_bin_prot = janePackage {
pname = "ppx_bin_prot";
hash = "1qryjxhyz3kn5jz5wm62j59lhjhd1mp7nbsj0np9qnbpapnnr1zg";
minimumOCamlVersion = "4.04.2";
meta.description = "Generation of bin_prot readers and writers from types";
propagatedBuildInputs = [ bin_prot ppx_here ];
doCheck = false; # circular dependency with ppx_jane
};
ppx_cold = janePackage {
pname = "ppx_cold";
hash = "0ciqs6f9ab73gq4krj14xzzba4ydcxph214m87i1s0xp25hwxr8v";
minimumOCamlVersion = "4.04.2";
meta.description = "Expands [@cold] into [@inline never][@specialise never][@local never]";
propagatedBuildInputs = [ ppxlib ];
};
ppx_compare = janePackage {
pname = "ppx_compare";
hash = "11pj76dimx2f7l8m85myzp6yzx9xcg0bqi97s7ayssvkckm57390";
minimumOCamlVersion = "4.04.2";
meta.description = "Generation of comparison functions from types";
propagatedBuildInputs = [ ppxlib base ];
doCheck = false; # test build rule broken
};
ppx_custom_printf = janePackage {
pname = "ppx_custom_printf";
version = "0.14.1";
hash = "0c1m65kn27zvwmfwy7kk46ga76yw2a3ik9jygpy1b6nn6pi026w9";
minimumOCamlVersion = "4.04.2";
meta.description = "Printf-style format-strings for user-defined string conversion";
propagatedBuildInputs = [ ppx_sexp_conv ];
};
ppx_enumerate = janePackage {
pname = "ppx_enumerate";
hash = "1sriid4vh10p80wwvn46v1g16m646qw5r5xzwlymyz5gbvq2zf40";
minimumOCamlVersion = "4.04.2";
meta.description = "Generate a list containing all values of a finite type";
propagatedBuildInputs = [ ppxlib ];
};
ppx_expect = janePackage {
pname = "ppx_expect";
version = "0.14.1";
hash = "0vbbnjrzpyk5p0js21lafr6fcp2wqka89p1876rdf472cmg0l7fv";
minimumOCamlVersion = "4.04.2";
meta.description = "Cram like framework for OCaml";
propagatedBuildInputs = [ ppx_here ppx_inline_test re ];
doCheck = false; # circular dependency with ppx_jane
};
ppx_fields_conv = janePackage {
pname = "ppx_fields_conv";
version = "0.14.2";
hash = "1zwirwqry24b48bg7d4yc845hvcirxyymzbw95aaxdcck84d30n8";
minimumOCamlVersion = "4.04.2";
meta.description = "Generation of accessor and iteration functions for ocaml records";
propagatedBuildInputs = [ fieldslib ppxlib ];
};
ppx_fixed_literal = janePackage {
pname = "ppx_fixed_literal";
hash = "0s7rb4dhz4ibhh42a9sfxjj3zbwfyfmaihr92hpdv5j9xqn3n8mi";
minimumOCamlVersion = "4.04.2";
meta.description = "Simpler notation for fixed point literals";
propagatedBuildInputs = [ ppxlib ];
};
ppx_hash = janePackage {
pname = "ppx_hash";
hash = "1zf03xdrg4jig7pdcrdpbabyjkdpifb31z2z1bf9wfdawybdhwkq";
minimumOCamlVersion = "4.04.2";
meta.description = "A ppx rewriter that generates hash functions from type expressions and definitions";
propagatedBuildInputs = [ ppx_compare ppx_sexp_conv ];
};
ppx_here = janePackage {
pname = "ppx_here";
hash = "09zcyigaalqccs9s0h7n0535clgfmqb9s4p1jbgcqji9zj8w426s";
minimumOCamlVersion = "4.04.2";
meta.description = "Expands [%here] into its location";
propagatedBuildInputs = [ ppxlib ];
doCheck = false; # test build rules broken
};
ppx_inline_test = janePackage {
pname = "ppx_inline_test";
version = "0.14.1";
hash = "1ajdna1m9l1l3nfigyy33zkfa3yarfr6s086jdw2pcfwlq1fhhl4";
minimumOCamlVersion = "4.04.2";
meta.description = "Syntax extension for writing in-line tests in ocaml code";
propagatedBuildInputs = [ ppxlib time_now ];
doCheck = false; # test build rules broken
};
ppx_jane = janePackage {
pname = "ppx_jane";
hash = "1kk238fvrcylymwm7xwc7llbyspmx1y662ypq00vy70g112rir7j";
minimumOCamlVersion = "4.04.2";
meta = {
description = "Standard Jane Street ppx rewriters";
mainProgram = "ppx-jane";
};
propagatedBuildInputs = [ base_quickcheck ppx_bin_prot ppx_expect ppx_fixed_literal ppx_module_timer ppx_optcomp ppx_optional ppx_pipebang ppx_stable ppx_string ppx_typerep_conv ppx_variants_conv ];
};
ppx_js_style = janePackage {
pname = "ppx_js_style";
version = "0.14.1";
hash = "16ax6ww9h36xyn9acbm8zxv0ajs344sm37lgj2zd2bvgsqv24kxj";
minimumOCamlVersion = "4.04.2";
meta.description = "Code style checker for Jane Street Packages";
propagatedBuildInputs = [ octavius ppxlib ];
};
ppx_let = janePackage {
pname = "ppx_let";
hash = "1jq3g88xv9g6y9im67hiig3cfn5anwwnq09mp7yn7a86ha5r9w3i";
minimumOCamlVersion = "4.04.2";
meta.description = "Monadic let-bindings";
propagatedBuildInputs = [ ppxlib ];
};
ppx_log = janePackage {
pname = "ppx_log";
hash = "10hnr5lpww3fw0bnidzngalbgy0j1wvz1g5ki9c9h558pnpvsazr";
minimumOCamlVersion = "4.08.0";
meta.description = "Ppx_sexp_message-like extension nodes for lazily rendering log messages";
propagatedBuildInputs = [ async_unix ppx_jane sexplib ];
};
ppx_module_timer = janePackage {
pname = "ppx_module_timer";
hash = "163q1rpblwv82fxwyf0p4j9zpsj0jzvkfmzb03r0l49gqhn89mp6";
minimumOCamlVersion = "4.04.2";
meta.description = "Ppx rewriter that records top-level module startup times";
propagatedBuildInputs = [ time_now ];
};
ppx_optcomp = janePackage {
pname = "ppx_optcomp";
version = "0.14.3";
hash = "1iflgfzs23asw3k6098v84al5zqx59rx2qjw0mhvk56avlx71pkw";
minimumOCamlVersion = "4.04.2";
meta.description = "Optional compilation for OCaml";
propagatedBuildInputs = [ ppxlib ];
};
ppx_optional = janePackage {
pname = "ppx_optional";
hash = "1d7rsdqiccxp2w4ykb9klarddm2qrrym3brbnhzx2hm78iyj3hzv";
minimumOCamlVersion = "4.04.2";
meta.description = "Pattern matching on flat options";
propagatedBuildInputs = [ ppxlib ];
};
ppx_pattern_bind = janePackage {
pname = "ppx_pattern_bind";
hash = "0yxkwnn30nxgrspi191zma95bgrh134aqh2bnpj3wg0245ki55zv";
minimumOCamlVersion = "4.07";
meta.description = "A ppx for writing fast incremental bind nodes in a pattern match";
propagatedBuildInputs = [ ppx_let ];
};
ppx_pipebang = janePackage {
pname = "ppx_pipebang";
hash = "0450b3p2rpnnn5yyvbkcd3c33jr2z0dp8blwxddaj2lv7nzl5dzf";
minimumOCamlVersion = "4.04.2";
meta.description = "A ppx rewriter that inlines reverse application operators `|>` and `|!`";
propagatedBuildInputs = [ ppxlib ];
};
ppx_python = janePackage {
pname = "ppx_python";
hash = "0gk4nqz4i9v3hwjg5mvgpgwj0dfcgpyc7ikba93cafyhn6fy83zk";
meta.description = "A [@@deriving] plugin to generate Python conversion functions ";
# Compatibility with ppxlib 0.23
patches = fetchpatch {
url = "https://github.com/janestreet/ppx_python/commit/b2fe0040cc39fa6164de868f8a20edb38d81170e.patch";
sha256 = "sha256:1mrdwp0zw3dqavzx3ffrmzq5cdlninyf67ksavfzxb8gb16w6zpz";
};
propagatedBuildInputs = [ ppx_base ppxlib pyml ];
};
ppx_sexp_conv = janePackage {
pname = "ppx_sexp_conv";
version = "0.14.3";
minimumOCamlVersion = "4.04.2";
hash = "0dbri9d00ydi0dw1cavswnqdmhjaaz80vap29ns2lr6mhhlvyjmj";
meta.description = "[@@deriving] plugin to generate S-expression conversion functions";
propagatedBuildInputs = [ ppxlib sexplib0 base ];
};
ppx_sexp_message = janePackage {
pname = "ppx_sexp_message";
version = "0.14.1";
hash = "1lvsr0d68kakih1ll33hy6dxbjkly6lmky4q6z0h0hrcbd6z48k4";
minimumOCamlVersion = "4.04.2";
meta.description = "A ppx rewriter for easy construction of s-expressions";
propagatedBuildInputs = [ ppx_here ppx_sexp_conv ];
};
ppx_sexp_value = janePackage {
pname = "ppx_sexp_value";
hash = "1d1c92pyypqkd9473d59j0sfppxvcxggbc62w8bkqnbxrdmvirn9";
minimumOCamlVersion = "4.04.2";
meta.description = "A ppx rewriter that simplifies building s-expressions from ocaml values";
propagatedBuildInputs = [ ppx_here ppx_sexp_conv ];
};
ppx_stable = janePackage {
pname = "ppx_stable";
version = "0.14.1";
hash = "1sp1kn23qr0pfypa4ilvhqq5y11y13xpfygfl582ra9kik5xqfa1";
minimumOCamlVersion = "4.04.2";
meta.description = "Stable types conversions generator";
propagatedBuildInputs = [ ppxlib ];
};
ppx_string = janePackage {
pname = "ppx_string";
version = "0.14.1";
minimumOCamlVersion = "4.04.2";
hash = "0a8khmg0y32kyn3q6idwgh0d6d1s6ms1w75gj3dzng0v7y4h6jx4";
meta.description = "Ppx extension for string interpolation";
propagatedBuildInputs = [ ppx_base ppxlib stdio ];
};
ppx_typerep_conv = janePackage {
pname = "ppx_typerep_conv";
version = "0.14.2";
minimumOCamlVersion = "4.04.2";
hash = "0yk9vkpnwr8labgfncqdi4rfkj88d8mb3cr8m4gdqpi3f2r27hf0";
meta.description = "Generation of runtime types from type declarations";
propagatedBuildInputs = [ ppxlib typerep ];
};
ppx_variants_conv = janePackage {
pname = "ppx_variants_conv";
version = "0.14.2";
minimumOCamlVersion = "4.04.2";
hash = "1p11fiz4m160hs0xzg4g9rxchp053sz3s3d1lyciqixad1xi47a4";
meta.description = "Generation of accessor and iteration functions for ocaml variant types";
propagatedBuildInputs = [ variantslib ppxlib ];
};
protocol_version_header = janePackage {
pname = "protocol_version_header";
hash = "0lfblv2yqw01bl074ga6vxii0p9mqwlqw1g9b9z7pfdva9wqilrd";
meta.description = "Protocol versioning";
propagatedBuildInputs = [ core_kernel ];
};
pythonlib = janePackage {
pname = "pythonlib";
hash = "0qr0mh9jiv1ham5zlz9i4im23a1vh6x1yp6dp2db2s4icmfph639";
meta.description = "A library to help writing wrappers around ocaml code for python";
meta.broken = lib.versionAtLeast ocaml.version "4.13";
propagatedBuildInputs = [ ppx_expect ppx_let ppx_python stdio typerep ];
};
re2 = janePackage {
pname = "re2";
hash = "1j7dizls6lkz3i9dgf8nq2fm382mfbrmz72ci066zl3hkgdq8xwc";
meta.description = "OCaml bindings for RE2, Google's regular expression library";
propagatedBuildInputs = [ core_kernel ];
prePatch = ''
substituteInPlace src/re2_c/dune --replace 'CXX=g++' 'CXX=c++'
substituteInPlace src/dune --replace '(cxx_flags (:standard \ -pedantic) (-I re2_c/libre2))' '(cxx_flags (:standard \ -pedantic) (-I re2_c/libre2) (-x c++))'
'';
};
re2_stable = janePackage {
pname = "re2_stable";
hash = "0kjc0ff6b3509s3b9n4q8ilb06d5fngdh3z58cm95vg7zkcas9w3";
meta.description = "Re2_stable adds an incomplete but stable serialization of Re2";
propagatedBuildInputs = [ core re2 ];
};
resource_cache = janePackage {
pname = "resource_cache";
hash = "197z9s535q74h00365ydhggg7hyzpyqvislgwwyi69sl1vy6dr0j";
meta.description = "General resource cache";
propagatedBuildInputs = [ async_rpc_kernel ];
};
sexp = janePackage {
pname = "sexp";
hash = "1x08pyrkd78233kgj70wxlc79w6jjhfrjdamm2xr7jzdc8ycfigf";
propagatedBuildInputs = [
async
core
csvfields
re2
sexp_diff_kernel
sexp_macro
sexp_pretty
sexp_select
];
patches = ./sexp.patch;
meta.description = "S-expression swiss knife";
};
sexp_diff_kernel = janePackage {
pname = "sexp_diff_kernel";
hash = "1pljcs019hs2ffhhb7rjh3xz7cbrk8vsv967jzmip3rv9w21c9kh";
propagatedBuildInputs = [ core_kernel ];
meta.description = "Code for computing the diff of two sexps";
};
sexp_macro = janePackage {
pname = "sexp_macro";
hash = "1ih1g7vpb1j8vhzm9a5mjrrzgqrhjqdhf6vjrg8kxfqg5i5b8nyx";
propagatedBuildInputs = [ async sexplib ];
meta.description = "Sexp macros";
};
sexp_pretty = janePackage {
pname = "sexp_pretty";
hash = "0dax0wm511zgvr7p6kcd5gygi58118by7hsv7hymy8ldfcky5cwd";
minimumOCamlVersion = "4.07";
meta.description = "S-expression pretty-printer";
propagatedBuildInputs = [ ppx_base re sexplib ];
};
sexp_select = janePackage {
pname = "sexp_select";
hash = "1lchhfqw4afw38fnarwylqc2qp7k6xwx3j7m9gy8ygjgd0vgd729";
minimumOCamlVersion = "4.07";
propagatedBuildInputs = [ base ppx_jane ];
meta.description = "A library to use CSS-style selectors to traverse sexp trees";
};
sexplib0 = janePackage {
pname = "sexplib0";
hash = "06sb3zqhb3dwqsmn15d769hfgqwqhxnm52iqim9l767gvlwpmibb";
minimumOCamlVersion = "4.04.2";
meta.description = "Library containing the definition of S-expressions and some base converters";
};
sexplib = janePackage {
pname = "sexplib";
hash = "03c3j1ihx4pjbb0x3arrcif3wvp3iva2ivnywhiak4mbbslgsnzr";
minimumOCamlVersion = "4.04.2";
meta.description = "Library for serializing OCaml values to and from S-expressions";
propagatedBuildInputs = [ num parsexp ];
};
shell = janePackage {
pname = "shell";
hash = "1c4zmpf6s1lk7nficip32c324if6zhm62h9h03d84zgvhvymi0r1";
meta.description = "Yet another implementation of fork&exec and related functionality";
buildInputs = [ jst-config ];
propagatedBuildInputs = [ textutils ];
checkInputs = [ ounit ];
# This currently fails with dune
strictDeps = false;
};
shexp = janePackage {
pname = "shexp";
hash = "1h6hsnbg6bk32f8iv6kd6im4mv2pjsjpd1mjsfx80p1n9273xack";
minimumOCamlVersion = "4.07";
propagatedBuildInputs = [ posixat spawn ];
meta.description = "Process library and s-expression based shell";
};
spawn = janePackage {
pname = "spawn";
version = "0.13.0";
minimumOCamlVersion = "4.02.3";
hash = "1w003k1kw1lmyiqlk58gkxx8rac7dchiqlz6ah7aj7bh49b36ppf";
meta.description = "Spawning sub-processes";
buildInputs = [ ppx_expect ];
doCheck = false; # tests are broken on NixOS (absolute paths)
};
splay_tree = janePackage {
pname = "splay_tree";
hash = "1xbzzbqb054hl1v1zcgfwdgzqihni3a0dmvrric9xggmgn4ycmqq";
meta.description = "A splay tree implementation";
propagatedBuildInputs = [ core_kernel ];
};
splittable_random = janePackage {
pname = "splittable_random";
hash = "0ax988b1wc7km8khg4s6iphbz16y1rssh7baigxfyw3ldp0agk14";
meta.description = "PRNG that can be split into independent streams";
propagatedBuildInputs = [ base ppx_assert ppx_bench ppx_sexp_message ];
};
stdio = janePackage {
pname = "stdio";
hash = "0vv6d8absy4hvjd1babv7avpsdlvjpnd5hq691h39d0h3pvs6l98";
minimumOCamlVersion = "4.04.2";
meta.description = "Standard IO library for OCaml";
propagatedBuildInputs = [ base ];
};
textutils = janePackage {
pname = "textutils";
hash = "1ggd0530lc5dkc419y3xw1wb52b4b5j3z78991gn5yxf2s50a8d4";
meta.description = "Text output utilities";
propagatedBuildInputs = [ core ];
};
time_now = janePackage {
pname = "time_now";
hash = "1lyq8zdz93hvpi4hpxh88kds30k5ljil8js9clcqyxrldp5n9mw0";
minimumOCamlVersion = "4.04.2";
meta.description = "Reports the current time";
buildInputs = [ jst-config ppx_optcomp ];
propagatedBuildInputs = [ jane-street-headers base ppx_base ];
};
timezone = janePackage {
pname = "timezone";
hash = "0zf075k94nk2wxnzpxia7pnm655damwp1b58xf2s9disia1ydxg7";
meta.description = "Time-zone handling";
propagatedBuildInputs = [ core_kernel ];
};
topological_sort = janePackage {
pname = "topological_sort";
hash = "17iz7956zln31p0xnm3jlhj863zi84bcx41jylzf7gk23qsm95m8";
meta.description = "Topological sort algorithm";
propagatedBuildInputs = [ ppx_jane stdio ];
};
typerep = janePackage {
pname = "typerep";
hash = "0wc7h853ka3s3lxxgm61ypidl0lzgc9abdkil6f72anl0c417y90";
minimumOCamlVersion = "4.04.2";
meta.description = "Typerep is a library for runtime types";
propagatedBuildInputs = [ base ];
};
variantslib = janePackage {
pname = "variantslib";
hash = "0vy0hpiaawmydh08nqlwjx52pasp74383yi0pshwbdxin99n9mxd";
minimumOCamlVersion = "4.04.2";
meta.description = "Part of Jane Street's Core library";
propagatedBuildInputs = [ base ];
};
vcaml = janePackage {
pname = "vcaml";
hash = "0ykwrn8bvwx26ad4wb36jw9xnlwsdpnnx88396laxvcfimrp13qs";
meta.description = "OCaml bindings for the Neovim API";
propagatedBuildInputs = [ angstrom-async async_extra faraday ];
};
virtual_dom = janePackage {
pname = "virtual_dom";
hash = "0vcydxx0jhbd5hbriahgp947mc7n3xymyrsfny1c4adk6aaq3c5w";
meta.description = "OCaml bindings for the virtual-dom library";
buildInputs = [ js_of_ocaml-ppx ];
propagatedBuildInputs = [ core_kernel js_of_ocaml lambdasoup tyxml ];
};
zarith_stubs_js = janePackage {
pname = "zarith_stubs_js";
hash = "16p4bn5spkrx31fr4np945v9mwdq55706v3wl19s5fy6x83gvb86";
minimumOCamlVersion = "4.04.2";
meta.description = "Javascripts stubs for the Zarith library";
doCheck = false; # requires workspace with zarith
};
zstandard = janePackage {
pname = "zstandard";
hash = "1vf76v5m9wsh5f77w9z4i8sxm05wr5digyi95x4wvzdi7q3qg6m8";
meta.description = "OCaml bindings to Zstandard";
buildInputs = [ ppx_jane ];
propagatedBuildInputs = [ core ctypes zstd ];
};
}

View file

@ -0,0 +1,601 @@
{ self
, openssl
}:
with self;
{
ocaml-compiler-libs = janePackage {
pname = "ocaml-compiler-libs";
hash = "03jds7bszh8wwpfwxb3dg0gyr1j1872wxwx1xqhry5ir0i84bg0s";
meta.description = "OCaml compiler libraries repackaged";
};
sexplib0 = janePackage {
pname = "sexplib0";
meta.description = "Library containing the definition of S-expressions and some base converters";
hash = "07v3ggyss7xhfv14bjk1n87sr42iqwj4cgjiv2lcdfkqk49i2bmi";
};
parsexp = janePackage {
pname = "parsexp";
hash = "1nyq23s5igd8cf3n4qxprjvhbmb6ighb3fy5mw7hxl0mdgsw5fvz";
propagatedBuildInputs = [ sexplib0 ];
meta.description = "S-expression parsing library";
};
sexplib = janePackage {
pname = "sexplib";
meta.description = "Library for serializing OCaml values to and from S-expressions";
hash = "1qfl0m04rpcjvc4yw1hzh6r16jpwmap0sa9ax6zjji67dz4szpyb";
propagatedBuildInputs = [ num parsexp ];
};
base = janePackage {
version = "0.11.1";
pname = "base";
hash = "0j6xb4265jr41vw4fjzak6yr8s30qrnzapnc6rl1dxy8bjai0nir";
propagatedBuildInputs = [ sexplib0 ];
meta.description = "Full standard library replacement for OCaml";
};
stdio = janePackage {
pname = "stdio";
hash = "1facajqhvq34g2wrg368y0ajxd6lrj5b3lyzyj0jhdmraxajjcwn";
propagatedBuildInputs = [ base ];
meta.description = "Standard IO library for OCaml";
};
configurator = janePackage {
pname = "configurator";
hash = "0h686630cscav7pil8c3w0gbh6rj4b41dvbnwmicmlkc746q5bfk";
propagatedBuildInputs = [ stdio ];
meta.description = "Helper library for gathering system configuration";
};
ppx_compare = janePackage {
pname = "ppx_compare";
version = "0.11.1";
hash = "06bq4m1bsm4jlx4g7wh5m99qky7xm4c2g52kaz6pv25hdn5agi2m";
buildInputs = [ ppxlib ];
propagatedBuildInputs = [ base ppx_deriving ];
meta.description = "Generation of comparison functions from types";
};
ppx_sexp_conv = janePackage {
pname = "ppx_sexp_conv";
version = "0.11.2";
hash = "0pqwnqy1xp309wvdcaax4lg02yk64lq2w03mbgfvf6ps5ry4gis9";
propagatedBuildInputs = [ sexplib0 ppxlib ppx_deriving ];
meta.description = "Generation of S-expression conversion functions from type definitions";
};
variantslib = janePackage {
pname = "variantslib";
hash = "0hbsk34ghc28h8pzbma923ma2bgnz8lzrgcqqx9bzg161jl4s4r3";
buildInputs = [ ppxlib ];
propagatedBuildInputs = [ base ];
meta.description = "OCaml variants as first class values";
};
ppx_variants_conv = janePackage {
pname = "ppx_variants_conv";
version = "0.11.1";
hash = "1yc0gsds5m2nv39zga8nnrca2n75rkqy5dz4xj1635ybz20hhbjd";
buildInputs = [ ppxlib ];
propagatedBuildInputs = [ ppx_deriving variantslib ];
meta.description = "Generation of accessor and iteration functions for OCaml variant types";
};
fieldslib = janePackage {
pname = "fieldslib";
hash = "1yvjvfax56lmn2lxbykcmhgmxypws1vp9lhnyb8bhbavsv8yc6da";
propagatedBuildInputs = [ ppxlib ];
meta.description = "OCaml record fields as first class values";
};
ppx_fields_conv = janePackage {
pname = "ppx_fields_conv";
hash = "1bb9cmn4js7p3qh8skzyik1pcz6sj1k4xkhf12fg1bjmb5fd0jx1";
propagatedBuildInputs = [ fieldslib ];
meta.description = "Generation of accessor and iteration functions for OCaml records";
};
ppx_custom_printf = janePackage {
pname = "ppx_custom_printf";
hash = "1dvjzvaxhx53jqwrrlxdckwl1azrhs9kvwb48mhgd0jnz65ny726";
propagatedBuildInputs = [ ppx_sexp_conv ];
meta.description = "Printf-style format-strings for user-defined string conversion";
};
bin_prot = janePackage {
pname = "bin_prot";
hash = "1mgbyzsr8h0y4s4j9dv7hsdrxyzhhjww5khwg2spi2my7ia95m0l";
propagatedBuildInputs = [ ppx_compare ppx_custom_printf ppx_fields_conv ppx_variants_conv ];
meta.description = "Binary protocol generator";
};
jane-street-headers = janePackage {
pname = "jane-street-headers";
hash = "0kij4c7qxrja787f3sm3z6mzr322486h2djrlyhnl66vp8hrv8si";
meta.description = "Jane Street header files";
};
ppx_here = janePackage {
pname = "ppx_here";
hash = "04njv8s4n54x9rg0012ymd6y6lrnqprnh0f0f6s0jcp79q7mv43i";
buildInputs = [ ppxlib ];
meta.description = "Expands [%here] into its location";
};
ppx_assert = janePackage {
pname = "ppx_assert";
hash = "0qbdrl0rj0midnb6sdyaz00s0d4nb8zrrdf565lcdsi1rbnyrzan";
buildInputs = [ ppx_here ];
propagatedBuildInputs = [ ppx_compare ppx_sexp_conv ];
meta.description = "Assert-like extension nodes that raise useful errors on failure";
};
ppx_hash = janePackage {
version = "0.11.1";
pname = "ppx_hash";
hash = "1p0ic6aijxlrdggpmycj12q3cy9xksbq2vq727215maz4snvlf5p";
propagatedBuildInputs = [ ppx_compare ppx_sexp_conv ];
meta.description = "A ppx rewriter that generates hash functions from type expressions and definitions";
};
ppx_inline_test = janePackage {
pname = "ppx_inline_test";
hash = "11n94fz1asjf5vqdgriv0pvsa5lbfpqcyk525c7816w23vskcvq6";
buildInputs = [ ppxlib ];
propagatedBuildInputs = [ base ];
meta.description = "Syntax extension for writing in-line tests in OCaml code";
};
ppx_sexp_message = janePackage {
pname = "ppx_sexp_message";
hash = "0d94pf0mrmyp905ncgj4w6cc6zpm4nlib6nclslhgs89pxpzg6a0";
buildInputs = [ ppx_here ];
propagatedBuildInputs = [ ppx_sexp_conv ];
meta.description = "A ppx rewriter for easy construction of s-expressions";
};
typerep = janePackage {
pname = "typerep";
hash = "00j4by75fl9niqvlpiyw6ymlmlmgfzysm8w25cj5wsfsh4yrgr74";
propagatedBuildInputs = [ base ];
meta.description = "Runtime types for OCaml";
};
ppx_typerep_conv = janePackage {
version = "0.11.1";
pname = "ppx_typerep_conv";
hash = "0a13dpfrrg0rsm8qni1bh7pqcda30l70z8r6yzi5a64bmwk7g5ah";
buildInputs = [ ppxlib ];
propagatedBuildInputs = [ ppx_deriving typerep ];
meta.description = "Generation of runtime types from type declarations";
};
ppx_js_style = janePackage {
pname = "ppx_js_style";
hash = "1cwqyrkykc8wi60grbid1w072fcvf7k0hd387jz7mxfw44qyb85g";
propagatedBuildInputs = [ ppxlib octavius ];
meta.description = "Code style checker for Jane Street Packages";
};
ppx_enumerate = janePackage {
version = "0.11.1";
pname = "ppx_enumerate";
hash = "0spx9k1v7vjjb6sigbfs69yndgq76v114jhxvzjmffw7q989cyhr";
buildInputs = [ ppxlib ];
propagatedBuildInputs = [ ppx_deriving ];
meta.description = "Generate a list containing all values of a finite type";
};
ppx_base = janePackage {
pname = "ppx_base";
hash = "079caqjbxk1d33hy69017n3dwslqy52alvzjddwpdjb04vjadlk6";
propagatedBuildInputs = [ ppx_compare ppx_enumerate ppx_hash ppx_js_style ];
meta.description = "Base set of ppx rewriters";
};
ppx_bench = janePackage {
pname = "ppx_bench";
hash = "0z98r6y4lpj6dy265m771ylx126hq3v1zjsk74yqvpwwd63gx3jz";
buildInputs = [ ppxlib ppx_inline_test ];
meta.description = "Syntax extension for writing in-line benchmarks in OCaml code";
};
ppx_bin_prot = janePackage {
version = "0.11.1";
pname = "ppx_bin_prot";
hash = "1h60i75bzvhna1axyn662gyrzhh441l79vl142d235i5x31dmnkz";
buildInputs = [ ppxlib ppx_here ];
propagatedBuildInputs = [ bin_prot ];
meta.description = "Generation of bin_prot readers and writers from types";
};
ppx_expect = janePackage {
pname = "ppx_expect";
hash = "1g0r67vfw9jr75pybiw4ysfiswlzyfpbj0gl91rx62gqdhjh1pga";
buildInputs = [ ppx_assert ppx_custom_printf ppx_fields_conv ppx_here ppx_variants_conv re ];
propagatedBuildInputs = [ fieldslib ppx_compare ppx_inline_test ppx_sexp_conv ];
meta.description = "Cram like framework for OCaml";
};
ppx_fail = janePackage {
pname = "ppx_fail";
hash = "0d0xadcl7mhp81kspcd2b0nh75h34w5a6s6j9qskjjbjif87wiix";
buildInputs = [ ppxlib ppx_here ];
meta.description = "Add location to calls to failwiths";
};
ppx_let = janePackage {
pname = "ppx_let";
hash = "1ckzwljlb78cdf6xxd24nddnmsihvjrnq75r1b255aj3xgkzsygx";
propagatedBuildInputs = [ base ppxlib ];
meta.description = "Monadic let-bindings";
};
ppx_optcomp = janePackage {
pname = "ppx_optcomp";
hash = "1rahkjq6vpffs7wdz1crgbxkdnlfkj1i3j12c2andy4fhj49glcm";
buildInputs = [ ppxlib ];
propagatedBuildInputs = [ ppx_deriving ];
meta.description = "Optional compilation for OCaml";
};
ppx_optional = janePackage {
pname = "ppx_optional";
hash = "0aw3hvrsdjpw4ik7rf15ghak31vhdr1lgpphr18mj76rnlrhirmx";
propagatedBuildInputs = [ ppxlib ];
meta.description = "Pattern matching on flat options";
};
ppx_pipebang = janePackage {
pname = "ppx_pipebang";
hash = "0smgq587amlr3hivbbg153p83dj37w30cssp9cffc0v8kg84lfhr";
buildInputs = [ ppxlib ];
meta.description = "A ppx rewriter that inlines reverse application operators |> and |!";
};
ppx_sexp_value = janePackage {
pname = "ppx_sexp_value";
hash = "107zwb580nrmc0l03dl3y3hf12s3c1vv8b8mz6sa4k5afp3s9nkl";
buildInputs = [ ppx_here ];
propagatedBuildInputs = [ ppx_sexp_conv ];
meta.description = "A ppx rewriter that simplifies building s-expressions from OCaml values";
};
ppx_jane = janePackage {
pname = "ppx_jane";
hash = "0l1p6llaa60mrc5p9400cqv9yy6h76x5wfq3z1cx5xawy0yz4vlb";
buildInputs = [ ppxlib ];
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 ];
meta.description = "Standard Jane Street ppx rewriters";
};
splittable_random = janePackage {
pname = "splittable_random";
hash = "1yrvpm6g62f8k6ihccxhfxpvmxbqxhi7p790a8jkdmyfdd1l6z73";
propagatedBuildInputs = [ ppx_jane ];
meta.description = "PRNG that can be split into independent streams";
};
core_kernel = janePackage {
version = "0.11.1";
pname = "core_kernel";
hash = "1dg7ygy7i64c5gaakb1cp1b26p9ks81vbxmb8fd7jff2q60j2z2g";
propagatedBuildInputs = [ configurator jane-street-headers sexplib splittable_random ];
meta.description = "Jane Street's standard library overlay (kernel)";
};
spawn = janePackage {
version = "0.12.0";
pname = "spawn";
hash = "0amgj7g9sjlbjivn1mg7yjdmxd21hgp4a0ak2zrm95dmm4gi846i";
meta.description = "Spawning sub-processes";
};
core = janePackage {
version = "0.11.3";
pname = "core";
hash = "0pzl8n09z4f3i7z2wq4cjxfqrr8mj6xcdp7rbg0nxap2zdhjgvrq";
propagatedBuildInputs = [ core_kernel spawn ];
meta.description = "Jane Street's standard library overlay";
};
textutils_kernel = janePackage {
pname = "textutils_kernel";
hash = "0s1ps7h54vgl76pll3y5qa1bw8f4h8wxc8mg8jq6bz8vxvl0dfv4";
propagatedBuildInputs = [ core_kernel ];
meta.description = "The subset of textutils using only core_kernel and working in javascript";
};
textutils = janePackage {
pname = "textutils";
hash = "1jmhpaihnndf4pr8xsk7ws70n4mvv34ry0ggqqpfs3wb2vkcdg6j";
propagatedBuildInputs = [ core textutils_kernel ];
meta.description = "Text output utilities";
};
re2 = janePackage {
pname = "re2";
hash = "0bl65d0nmvr7k1mkkcc4aai86l5qzgn1xxwmszshpwhaz87cqghd";
propagatedBuildInputs = [ core_kernel ];
prePatch = ''
substituteInPlace src/re2_c/jbuild --replace 'CXX=g++' 'CXX=c++'
substituteInPlace src/jbuild --replace '(cxx_flags ((:standard \ -pedantic) (-I re2_c/libre2)))' '(cxx_flags ((:standard \ -pedantic) (-I re2_c/libre2) (-x c++)))'
'';
meta.description = "OCaml bindings for RE2";
};
core_extended = janePackage {
pname = "core_extended";
hash = "1fvnr6zkpbl48dl7nn3j1dpsrr6bi00iqh282wg5lgdhcsjbc0dy";
propagatedBuildInputs = [ core re re2 textutils ];
postPatch = ''
patchShebangs src/discover.sh
'';
meta.description = "Jane Street Capital's standard library overlay";
};
async_kernel = janePackage {
version = "0.11.1";
pname = "async_kernel";
hash = "1ssv0gqbdns6by1wdjrrs35cj1c1n1qcfkxs8hj04b7x89wzvf1q";
propagatedBuildInputs = [ core_kernel ];
meta.description = "Jane Street Capital's asynchronous execution library (core)";
};
protocol_version_header = janePackage {
pname = "protocol_version_header";
hash = "159qmkb0dsfmr1lv2ly50aqszpm24bvrm3sw07n2zhkxgy6q613z";
propagatedBuildInputs = [ core_kernel ocaml-migrate-parsetree ];
meta.description = "Protocol aware version negotiation";
};
async_rpc_kernel = janePackage {
pname = "async_rpc_kernel";
hash = "0wl7kp30qxkalk91q5pja9agsvvmdjvb2q7s3m79dlvwwi11l33y";
propagatedBuildInputs = [ core_kernel async_kernel protocol_version_header ];
meta.description = "Platform-independent core of Async RPC library";
};
async_unix = janePackage {
pname = "async_unix";
hash = "1y5za5fdh0x82zdjigxci9zm9jnpfd2lfgpjcq4rih3s28f16sf7";
propagatedBuildInputs = [ core async_kernel ];
meta.description = "Jane Street Capital's asynchronous execution library (unix)";
};
async_extra = janePackage {
version = "0.11.1";
pname = "async_extra";
hash = "0dmplvqf41820rm5i0l9bx1xmmdlq8zsszi36y2rkjna8991f7s2";
propagatedBuildInputs = [ async_rpc_kernel async_unix ];
meta.description = "Jane Street's asynchronous execution library (extra)";
};
async = janePackage {
pname = "async";
hash = "1i05hzk4mhzj1mw98b2bdbxhnq03jvhkkkw4d948i6265jzrrbv5";
propagatedBuildInputs = [ async_extra ];
meta.description = "Jane Street Capital's asynchronous execution library";
};
async_find = janePackage {
pname = "async_find";
hash = "0s0qafx74ri1vr2vv3iy1j7s3p6gp7vyg0mw5g17iafk0w6lv2iq";
propagatedBuildInputs = [ async ];
meta.description = "Directory traversal with Async";
};
async_interactive = janePackage {
pname = "async_interactive";
hash = "01rlfcylpiak6a2n6q3chp73cvkhvb65n906dj0flmxmagn7dxd1";
propagatedBuildInputs = [ async ];
meta.description = "Utilities for building simple command-line based user interfaces";
};
async_parallel = janePackage {
pname = "async_parallel";
hash = "0hak8ba3rfzqhz5hz2annqmsv5bkqzdihhafp0f58ryrlskafwag";
propagatedBuildInputs = [ async ];
meta.description = "Distributed computing library";
};
async_shell = janePackage {
pname = "async_shell";
hash = "1jb01ygfnhabsy72xlcg11vp7rr37sg555sm0k3yxl4r5az3y2ay";
propagatedBuildInputs = [ core_extended async ];
meta.description = "Shell helpers for Async";
};
async_ssl = janePackage {
pname = "async_ssl";
hash = "1p83fzfla4rb820irdrz3f2hp8kq5zrhw47rqmfv6qydlca1bq64";
propagatedBuildInputs = [ async ctypes openssl ];
meta = {
description = "Async wrappers for SSL";
# ctypes no longer works with dune 1
# dune 2 no longer supports jbuild
broken = true;
};
};
sexp_pretty = janePackage {
pname = "sexp_pretty";
hash = "0xskahjggbwvvb82fn0jp1didxbgpmgks76xhwp9s3vqkhgz6918";
propagatedBuildInputs = [ ppx_base re sexplib ];
meta.description = "S-expression pretty-printer";
};
expect_test_helpers_kernel = janePackage {
pname = "expect_test_helpers_kernel";
hash = "0m113vq4m1xm3wmwa08r6qjc7p5f0y3ss8s4i2z591ycgs2fxzlj";
propagatedBuildInputs = [ core_kernel sexp_pretty ];
meta.description = "Helpers for writing expectation tests";
};
expect_test_helpers = janePackage {
pname = "expect_test_helpers";
hash = "13n6h7mimwkbsjdix96ghfrmxjd036m4h4zgl8qag00aacqclvpi";
propagatedBuildInputs = [ async expect_test_helpers_kernel ];
meta.description = "Async helpers for writing expectation tests";
};
cinaps = janePackage {
pname = "cinaps";
hash = "0f8cx4xkkk4wqpcbvva8kxdndbgawljp17dwppc6zpjpkjl8s84j";
propagatedBuildInputs = [ re ];
meta.description = "Trivial Metaprogramming tool using the OCaml toplevel";
};
command_rpc = janePackage {
pname = "command_rpc";
hash = "111v4km0ds8ixmpmwg9ck36ap97400mqzhijf57kj6wfwgzcmr2g";
propagatedBuildInputs = [ async ];
meta.description = "Utilities for Versioned RPC communication with a child process over stdin and stdout";
};
# Deprecated libraries
ppx_ast = janePackage {
pname = "ppx_ast";
hash = "125bzswcwr3nb26ss8ydh8z4218c8fi3s2kvgqp1j1fhc5wwzqgj";
propagatedBuildInputs = [ ppxlib ];
meta.description = "Deprecated (see ppxlib)";
};
ppx_core = janePackage {
pname = "ppx_core";
hash = "11hgm9mxig4cm3c827f6dns9mjv3pf8g6skf10x0gw9xnp1dmzmx";
propagatedBuildInputs = [ ppxlib ];
meta.description = "Deprecated (see ppxlib)";
};
ppx_driver = janePackage {
pname = "ppx_driver";
hash = "00kfx6js2kxk57k4v7hiqvwk7h35whgjihnxf75m82rnaf4yzvfi";
propagatedBuildInputs = [ ppxlib ];
meta.description = "Deprecated (see ppxlib)";
};
ppx_metaquot = janePackage {
pname = "ppx_metaquot";
hash = "1vz8bi56jsz8w0894vgbfsfvmdyh5k1dgv45l8vhkks0s7d3ldji";
propagatedBuildInputs = [ ppxlib ];
meta.description = "Deprecated (see ppxlib)";
};
ppx_traverse = janePackage {
pname = "ppx_traverse";
hash = "1p2n5da4mxh9fk4gvxlibc706bs5xwkbppxd1x0ip1vln5pabbq5";
propagatedBuildInputs = [ ppxlib ];
meta.description = "Deprecated (see ppxlib)";
};
ppx_traverse_builtins = janePackage {
pname = "ppx_traverse_builtins";
hash = "0qlf7i8h8k3a9h8nhb0ki3y1knr6wgbm24f1qaqni53fpvzv0pfb";
propagatedBuildInputs = [ ppxlib ];
meta.description = "Deprecated (see ppxlib)";
};
ppx_type_conv = janePackage {
pname = "ppx_type_conv";
hash = "04dbrglqqhkas25cpjz8xhjcbpk141c35qggzw66bn69izczfmaf";
propagatedBuildInputs = [ ppxlib ];
meta.description = "Deprecated (see ppxlib)";
};
# Miscellaneous Jane Street packages
core_bench = janePackage {
pname = "core_bench";
hash = "10i28ssfdqxxhq0rvnlp581lr1cq2apkhmm8j83fksjkmbxcrasc";
propagatedBuildInputs = [ core_extended ];
meta.description = "Micro-benchmarking library for OCaml";
};
csvfields = janePackage {
pname = "csvfields";
hash = "10zw4fjlniivfdzzz79lnbvcjnhk5y16m1p8mn4xbs23n6mbix0f";
propagatedBuildInputs = [ core expect_test_helpers ];
meta.description = "Runtime support for ppx_xml_conv and ppx_csv_conv";
};
ecaml = janePackage {
pname = "ecaml";
hash = "1is5156q59s427x3q5nh9wsi8h1x77670bmyilqxasy39yway7g8";
propagatedBuildInputs = [ async expect_test_helpers_kernel ];
meta.description = "Writing Emacs plugin in OCaml";
};
incremental_kernel = janePackage {
version = "0.11.1";
pname = "incremental_kernel";
hash = "1qp9dqncx2h0np0rndqaic4dna8f1dlkqnbjfcdhcim5dp2vg4x6";
propagatedBuildInputs = [ core_kernel ];
meta.description = "Library for incremental computations depending only on core_kernel";
};
incremental = janePackage {
pname = "incremental";
hash = "1xchd3v4kj56wixjrsnj7m7l0374cgkzybihs2b62mn65xf6n7ki";
propagatedBuildInputs = [ core incremental_kernel ];
meta.description = "Library for incremental computations";
};
incr_map = janePackage {
pname = "incr_map";
hash = "01vx9aldxpigz5ah9h337xcw73a7r8449v8l2xbralljhs0zglx9";
propagatedBuildInputs = [ incremental_kernel ];
meta.description = "Helpers for incremental operations on map like data structures";
};
parsexp_io = janePackage {
pname = "parsexp_io";
hash = "0rhdl40jiirvv6fhgjk50n8wzs3jly5d8dyyyfgpjgl39mwkjjnb";
propagatedBuildInputs = [ parsexp ppx_js_style ];
meta.description = "S-expression parsing library (IO functions)";
};
patience_diff = janePackage {
pname = "patience_diff";
hash = "0q7a64fgg97qcd6d8c45gyz63x5vq004axxqvvfg92b8f3x2plx4";
propagatedBuildInputs = [ core_kernel ];
meta.description = "Tool and library implementing patience diff";
};
posixat = janePackage {
pname = "posixat";
hash = "04rs4sl0r4rg9m6l9kkqkmc4n87sv4a4w9ibq4zsjk9j4n6r2df8";
propagatedBuildInputs = [ ppx_optcomp ppx_sexp_conv sexplib ];
meta.description = "Binding to the posix *at functions";
};
rpc_parallel = janePackage {
pname = "rpc_parallel";
hash = "13dx59x73i8mkwv2qkh8gx6kk8arlvghj57k1jdscdmzmyqc9gvn";
propagatedBuildInputs = [ async ];
meta.description = "Type-safe library for building parallel applications";
};
shexp = janePackage {
version = "0.11.1";
pname = "shexp";
hash = "06yssp7bsmabaxvw9bqxyrsji1gkvl7if5adba3v6h4kilqy7rqg";
propagatedBuildInputs = [ posixat spawn ];
meta.description = "Process library and s-expression based shell";
};
topological_sort = janePackage {
pname = "topological_sort";
hash = "1qnz5b1rs45lsl1ycxd1lglpmh8444gy5khhdp5fvxy987zkzklz";
propagatedBuildInputs = [ core_kernel ];
meta.description = "Topological sort algorithm";
};
}

View file

@ -0,0 +1,24 @@
diff --git a/src/js_misc.ml b/src/js_misc.ml
index 65f7b44..bfef103 100644
--- a/src/js_misc.ml
+++ b/src/js_misc.ml
@@ -28,17 +28,11 @@ type rows_or_columns =
[@@deriving sexp, bin_io, variants, compare]
let innerHeight () =
- Js.Optdef.case
- Dom_html.window##.innerHeight
- (fun () -> Dom_html.document##.documentElement##.clientHeight)
- Fn.id
+ Dom_html.window##.innerHeight
;;
let innerWidth () =
- Js.Optdef.case
- Dom_html.window##.innerWidth
- (fun () -> Dom_html.document##.documentElement##.clientWidth)
- Fn.id
+ Dom_html.window##.innerWidth
;;
let element_is_in_viewport (elt : Dom_html.element Js.t) =

View file

@ -0,0 +1,25 @@
{ lib, fetchFromGitHub, buildDunePackage, defaultVersion ? "0.11.0" }:
{ pname, version ? defaultVersion, hash, buildInputs ? [], ...}@args:
buildDunePackage (args // {
inherit version buildInputs;
useDune2 = false;
minimalOCamlVersion = "4.04";
src = fetchFromGitHub {
owner = "janestreet";
repo = pname;
rev = "v${version}";
sha256 = hash;
};
strictDeps = true;
meta = {
license = lib.licenses.asl20;
homepage = "https://github.com/janestreet/${pname}";
} // args.meta;
})

View file

@ -0,0 +1,25 @@
{ lib, fetchFromGitHub, buildDunePackage, defaultVersion ? "0.12.0" }:
{ pname, version ? defaultVersion, hash, ...}@args:
buildDunePackage (args // {
inherit version;
useDune2 = false;
minimalOCamlVersion = "4.07";
src = fetchFromGitHub {
owner = "janestreet";
repo = pname;
rev = "v${version}";
sha256 = hash;
};
strictDeps = true;
meta = {
license = lib.licenses.mit;
homepage = "https://github.com/janestreet/${pname}";
} // args.meta;
})

View file

@ -0,0 +1,31 @@
{ lib, fetchFromGitHub, buildDunePackage, defaultVersion ? "0.14.0" }:
{ pname
, version ? defaultVersion
, hash
, minimumOCamlVersion ? "4.08"
, doCheck ? true
, buildInputs ? []
, strictDeps ? true
, ...}@args:
buildDunePackage (args // {
useDune2 = true;
inherit version buildInputs strictDeps;
inherit minimumOCamlVersion;
src = fetchFromGitHub {
owner = "janestreet";
repo = pname;
rev = "v${version}";
sha256 = hash;
};
inherit doCheck;
meta = {
license = lib.licenses.mit;
homepage = "https://github.com/janestreet/${pname}";
} // args.meta;
})

View file

@ -0,0 +1,639 @@
{ self
, super
, lib
, stdenv
, openssl
}:
let
inherit (super)
janePackage
ocaml
ocamlbuild
cryptokit
ctypes
magic-mime
ocaml-migrate-parsetree
octavius
ounit
ppx_deriving
re
zarith
num
;
in
with self;
{
# Jane Street packages, up to ppx_core
sexplib = janePackage {
pname = "sexplib";
meta.description = "Automated S-expression conversion";
version = "0.10.0";
hash = "1agw649n0rnf6h4y2dr1zs1970nncxgjmf90848vbxv8y9im4yy2";
buildInputs = [ num ];
};
base = janePackage {
pname = "base";
version = "0.9.4";
hash = "0x85xi66b4zwlbdwmyc99zcmawgpp75gxqbl55rr67awavw162rw";
propagatedBuildInputs = [ sexplib ];
meta.description = "Full standard library replacement for OCaml";
};
ocaml-compiler-libs = janePackage {
pname = "ocaml-compiler-libs";
hash = "1jz3nfrb6295sj4xj1j0zld8mhfj0xy2k4vlp9yf9sh3748n090l";
meta.description = "OCaml compiler libraries repackaged";
};
ppx_ast = janePackage ({
pname = "ppx_ast";
propagatedBuildInputs = [ ocaml-compiler-libs ocaml-migrate-parsetree ];
meta.description = "OCaml AST used by Jane Street ppx rewriters";
} // (if lib.versionAtLeast ocaml.version "4.06"
then {
version = "0.9.2";
hash = "1h4qf26rg23z21rrw83fakiavw9km7174p3830pg0gg4bwakvba0";
} else {
version = "0.9.1";
hash = "0a9rxwavy2748k0yd4db3hg1ypq7mpqnwq9si5a5qdiclgkhcggw";
}
));
ppx_traverse_builtins = janePackage {
pname = "ppx_traverse_builtins";
hash = "10ajvz02ka6qimlfrq7py4ljhk8awqkga6240kn8j046b4xfyxzi";
meta.description = "Builtins for Ppx_traverse";
};
stdio = janePackage {
pname = "stdio";
version = "0.9.1";
hash = "13rj3ii0rvmklfim9ild0ib44ssdadig7a9ccjbz22m0pw84a1sx";
propagatedBuildInputs = [ base ];
meta.description = "Standard IO library for OCaml";
};
ppx_core = janePackage {
pname = "ppx_core";
hash = "15400zxxkqdimmjpdjcs36gcbxbrhylmaczlzwd6x65v1h9aydz3";
propagatedBuildInputs = [ ppx_ast ppx_traverse_builtins stdio ];
meta.description = "Jane Street's standard library for ppx rewriters";
};
# Jane Street packages, up to ppx_base
ppx_optcomp = janePackage {
pname = "ppx_optcomp";
hash = "1wfj6fnh92s81yncq7yyhmax7j6zpjj1sg1f3qa1f9c5kf4kkzrd";
propagatedBuildInputs = [ ppx_core ];
meta.description = "Optional compilation for OCaml";
};
ppx_driver = janePackage {
pname = "ppx_driver";
version = "0.9.1";
hash = "1amz49x6v4sh1v2my6618cah0zv5i7jmsapbk9ydps6419g5asay";
buildInputs = [ ocamlbuild ];
propagatedBuildInputs = [ ppx_optcomp ];
meta.description = "Feature-full driver for OCaml AST transformers";
};
ppx_metaquot = janePackage {
pname = "ppx_metaquot";
hash = "15qfd3s4x2pz006nx5316laxd3gqqi472x432qg4rfx4yh3vn31k";
propagatedBuildInputs = [ ppx_driver ];
meta.description = "Metaquotations for ppx_ast";
};
ppx_type_conv = janePackage {
pname = "ppx_type_conv";
hash = "0a0gxjvjiql9vg37k0akn8xr5724nv3xb7v37xpidv7ld927ks7p";
propagatedBuildInputs = [ ppx_metaquot ppx_deriving ];
meta.description = "Support Library for type-driven code generators";
};
ppx_sexp_conv = janePackage {
pname = "ppx_sexp_conv";
hash = "03cg2sym0wvpd5l7q4w9bclp589z5byygwsmnnq9h1ih56cmd55l";
propagatedBuildInputs = [ ppx_type_conv sexplib ];
meta.description = "Generation of S-expression conversion functions from type definitions";
};
ppx_compare = janePackage {
pname = "ppx_compare";
hash = "0wrszpvn1nms5sb5rb29p7z1wmqyd15gfzdj4ax8f843p5ywx3w9";
propagatedBuildInputs = [ ppx_type_conv ];
meta.description = "Generation of comparison functions from types";
};
ppx_enumerate = janePackage {
pname = "ppx_enumerate";
hash = "1dfy86j2z12p5n9yrwaakx1ngphs5246vxy279kz6i6j34cwxm46";
propagatedBuildInputs = [ ppx_type_conv ];
meta.description = "Generate a list containing all values of a finite type";
};
ppx_hash = janePackage {
pname = "ppx_hash";
hash = "1w1riy2sqd9i611sc5f5z2rqqgjl2gvvkzi5xibpv309nacnl01d";
propagatedBuildInputs = [ ppx_compare ppx_sexp_conv ];
meta.description = "A ppx rewriter that generates hash functions from type expressions and definitions";
};
ppx_js_style = janePackage {
pname = "ppx_js_style";
hash = "09k02b1l2r7svf9l3ls69h8xydsyiang2ziigxnny2i7gy7b0w59";
propagatedBuildInputs = [ ppx_metaquot octavius ];
meta.description = "Code style checker for Jane Street Packages";
};
ppx_base = janePackage {
pname = "ppx_base";
hash = "0qikfzbkd2wyxfrvizz6rgi6vg4ykvxkivacj4gr178dbgfl5if3";
propagatedBuildInputs = [ ppx_enumerate ppx_hash ppx_js_style ];
meta.description = "Base set of ppx rewriters";
};
# Jane Street packages, up to ppx_bin_prot
fieldslib = janePackage {
pname = "fieldslib";
hash = "1wxh59888l1bfz9ipnbcas58gwg744icaixzdbsg4v8f7wymc501";
propagatedBuildInputs = [ ppx_driver ];
meta.description = "OCaml record fields as first class values";
};
variantslib = janePackage {
pname = "variantslib";
hash = "0kj53n62193j58q9vip8lfhhyf6w9d25wyvxzc163hx5m68yw0fz";
propagatedBuildInputs = [ ppx_driver ];
meta.description = "OCaml variants as first class values";
};
ppx_traverse = janePackage {
pname = "ppx_traverse";
hash = "1sdqgwyq0w71i03vhc5jq4jk6rsbgwhvain48fnrllpkb5kj2la2";
propagatedBuildInputs = [ ppx_type_conv ];
meta.description = "Automatic generation of open recursion classes";
};
ppx_custom_printf = janePackage {
pname = "ppx_custom_printf";
hash = "0cjy2c2c5g3qxqvwx1yb6p7kbmmpnpb1hll55f7a44x215lg8x19";
propagatedBuildInputs = [ ppx_sexp_conv ppx_traverse ];
meta.description = "Printf-style format-strings for user-defined string conversion";
};
ppx_fields_conv = janePackage {
pname = "ppx_fields_conv";
hash = "0qp8zgmk58iskzrkf4g06i471kg6lrh3wqpy9klrb8pp9mg0xr9z";
propagatedBuildInputs = [ fieldslib ppx_type_conv ];
meta.description = "Generation of accessor and iteration functions for OCaml records";
};
ppx_variants_conv = janePackage {
pname = "ppx_variants_conv";
hash = "1xayhyglgbdjqvb9123kjbwjcv0a3n3302nb0j7g8gmja8w5y834";
propagatedBuildInputs = [ ppx_type_conv variantslib ];
meta.description = "Generation of accessor and iteration functions for OCaml variant types";
};
bin_prot = janePackage {
pname = "bin_prot";
version = "0.9.1";
hash = "1bgcmkgz6b5i522996x589zsaiy5b3h37887lwbqvpps8by2ayvk";
propagatedBuildInputs = [ ppx_compare ppx_custom_printf ppx_fields_conv ppx_variants_conv ];
meta.description = "Binary protocol generator";
};
ppx_here = janePackage {
pname = "ppx_here";
hash = "0pjscw5ydxgy4fcxakgsazpp09ka057w5n2fp2dpkv2k5gil6rzh";
propagatedBuildInputs = [ ppx_driver ];
meta.description = "Expands [%here] into its location";
};
ppx_bin_prot = janePackage {
pname = "ppx_bin_prot";
hash = "0qw9zqrc5yngzrzpk9awnlnd68xrb7wz5lq807c80ibxk0xvnqn3";
propagatedBuildInputs = [ ppx_here bin_prot ];
meta.description = "Generation of bin_prot readers and writers from types";
};
# Jane Street packages, up to ppx_jane
ppx_assert = janePackage {
pname = "ppx_assert";
hash = "1s5c75wkc46nlcwmgic5h7f439s26ssrzrcil501c5kpib2hlv6z";
propagatedBuildInputs = [ ppx_sexp_conv ppx_here ppx_compare ];
meta.description = "Assert-like extension nodes that raise useful errors on failure";
};
ppx_inline_test = janePackage {
pname = "ppx_inline_test";
version = "0.9.2";
hash = "17j36ihiqprbpa2bk02449k93vaidid2sly5djrk848ccjq8n5aa";
propagatedBuildInputs = [ ppx_metaquot ];
meta.description = "Syntax extension for writing in-line tests in OCaml code";
};
typerep = janePackage {
pname = "typerep";
hash = "0hlc0xiznli1k6azv2mhm1s4xghhxqqd957np7828bfp7r8n2jy3";
propagatedBuildInputs = [ base ];
meta.description = "Runtime types for OCaml";
};
ppx_bench = janePackage {
pname = "ppx_bench";
hash = "1qk4y6c2mpw7bqjppi2nam74vs2sc89wzq162j92wsqxyqsv4p93";
propagatedBuildInputs = [ ppx_inline_test ];
meta.description = "Syntax extension for writing in-line benchmarks in OCaml code";
};
ppx_expect = janePackage {
pname = "ppx_expect";
hash = "1bik53k51wcqv088f0h10n3ms9h51yvg6ha3g1s903i2bxr3xs6b";
propagatedBuildInputs = [ ppx_inline_test ppx_fields_conv ppx_custom_printf ppx_assert ppx_variants_conv re ];
meta.description = "Cram like framework for OCaml";
};
ppx_fail = janePackage {
pname = "ppx_fail";
hash = "0qz0vlazasjyg7cv3iwpzxlvsah3zmn9dzd029xxqr1bji067s32";
propagatedBuildInputs = [ ppx_here ppx_metaquot ];
meta.description = "Add location to calls to failwiths";
};
ppx_let = janePackage {
pname = "ppx_let";
hash = "1b914a5nynwxjvfx42v61yigvjhnd548m4yqjfchf38dmqi1f4nr";
propagatedBuildInputs = [ ppx_driver ];
meta.description = "Monadic let-bindings";
};
ppx_optional = janePackage {
pname = "ppx_optional";
hash = "1vknsarxba0zcp5k2jb31wfpvqrv3bpanxbahfl5s2fwspsfdc82";
propagatedBuildInputs = [ ppx_metaquot ];
meta.description = "Pattern matching on flat options";
};
ppx_pipebang = janePackage {
pname = "ppx_pipebang";
hash = "1wyfyyjvyi94ds1p90l60wdr85q2v3fq1qdf3gnv9zjfy6sb0g9h";
propagatedBuildInputs = [ ppx_metaquot ];
meta.description = "A ppx rewriter that inlines reverse application operators |> and |!";
};
ppx_sexp_message = janePackage {
pname = "ppx_sexp_message";
hash = "0r0skyr1zf2jh48xrxbs45gzywynhlivkq24xwc0qq435fmc2jqv";
propagatedBuildInputs = [ ppx_sexp_conv ppx_here ];
meta.description = "A ppx rewriter for easy construction of s-expressions";
};
ppx_sexp_value = janePackage {
pname = "ppx_sexp_value";
hash = "0hha5mmx700m8fy9g4znb8278l09chgwlpshny83vsmmzgq2jhah";
propagatedBuildInputs = [ ppx_sexp_conv ppx_here ];
meta.description = "A ppx rewriter that simplifies building s-expressions from OCaml values";
};
ppx_typerep_conv = janePackage {
pname = "ppx_typerep_conv";
hash = "0bzgfpbqijwxm8x9jq1zb4xi5sbzymk17lw5rylri3hf84p60aq1";
propagatedBuildInputs = [ ppx_type_conv typerep ];
meta.description = "Generation of runtime types from type declarations";
};
ppx_jane = janePackage {
pname = "ppx_jane";
hash = "16m5iw0qyp452nqj83kd0g0x3rw40lrz7392hwpd4di1wi6v2qzc";
propagatedBuildInputs = [ ppx_base ppx_bench ppx_bin_prot ppx_expect ppx_fail ppx_let ppx_optional ppx_pipebang ppx_sexp_message ppx_sexp_value ppx_typerep_conv ];
meta.description = "Standard Jane Street ppx rewriters";
};
# Jane Street packages, up to core
configurator = janePackage {
pname = "configurator";
version = "0.9.1";
hash = "1q0s0ghcrcrxdj6zr9zr27g7sr4qr9l14kizjphwqwwvgbzawdix";
propagatedBuildInputs = [ ppx_base ];
meta.description = "Helper library for gathering system configuration";
};
jane-street-headers = janePackage {
pname = "jane-street-headers";
hash = "0cdab6sblsidjbwvyvmspykyhqh44rpsjzi2djbfd5m4vh2h14gy";
meta.description = "Jane Street header files";
};
core_kernel = janePackage {
pname = "core_kernel";
hash = "05iwvggx9m81x7ijgv9gcv5znf5rmsmb76dg909bm9gkr3hbh7wh";
propagatedBuildInputs = [ configurator jane-street-headers ppx_jane ];
meta.description = "Jane Street's standard library overlay (kernel)";
};
spawn = janePackage {
pname = "spawn";
hash = "1w53b8ni06ajj62yaqjy0pkbm952l0m5fzr088yk15078qaxsnb5";
meta.description = "Spawning sub-processes";
};
core = janePackage {
pname = "core";
version = "0.9.1";
hash = "1643r0namsgj8xwfr9niimcdwyyq4ddiwd02d73ipb4a8710aqi8";
propagatedBuildInputs = [ core_kernel spawn ];
meta.description = "Jane Street's standard library overlay";
};
# Jane Street packages, up to core_extended
re2 = janePackage {
pname = "re2";
hash = "1qmhl3yd6y0lq401rz72b1bsbpglb0wighpxn3x8y1ixq415p4xi";
propagatedBuildInputs = [ core_kernel ];
meta = {
description = "OCaml bindings for RE2";
broken = stdenv.isDarwin;
};
};
textutils = janePackage {
pname = "textutils";
hash = "1y6j2qw7rc8d80343lfv1dygnfrhn2qllz57mx28pl5kan743f6d";
propagatedBuildInputs = [ core ];
meta.description = "Text output utilities";
};
core_extended = janePackage {
pname = "core_extended";
hash = "05cnzzj0kigz9c9gsmd6mfar82wmkbqm9qzrydb80sy2fz5b30rk";
propagatedBuildInputs = [ core re2 textutils ];
postPatch = ''
patchShebangs src/discover.sh
'';
meta = {
description = "Jane Street Capital's standard library overlay";
};
};
# Jane Street async packages
async_kernel = janePackage {
pname = "async_kernel";
hash = "1zwxhzy7f9900rcjls2fql9cpfmwrcah3fazzdz4h2i51f41w62x";
propagatedBuildInputs = [ core_kernel ];
meta.description = "Jane Street Capital's asynchronous execution library (core)";
};
async_rpc_kernel = janePackage {
pname = "async_rpc_kernel";
hash = "1xk3s6s3xkj182p10kig2cqy8md6znif3v661h9cd02n8s57c40b";
propagatedBuildInputs = [ core_kernel async_kernel ];
meta.description = "Platform-independent core of Async RPC library";
};
async_unix = janePackage {
pname = "async_unix";
hash = "0yd4z28j5vdj2zxqi0fkgh2ic1s9h740is2dk0raga0zr5a1z03d";
propagatedBuildInputs = [ core async_kernel ];
meta.description = "Jane Street Capital's asynchronous execution library (unix)";
};
async_extra = janePackage {
pname = "async_extra";
hash = "0rpy5lc5dh5mir7flq1jrppd8imby8wyw191yg4nmklg28xp5sx0";
propagatedBuildInputs = [ async_rpc_kernel async_unix ];
meta.description = "Jane Street's asynchronous execution library (extra)";
};
async = janePackage {
pname = "async";
hash = "10ykzym19srgdiikj0s74dndx5nk15hjq1r2hc61iz48f6caxkb1";
propagatedBuildInputs = [ async_extra ];
meta.description = "Jane Street Capital's asynchronous execution library";
};
async_find = janePackage {
pname = "async_find";
hash = "11dmhdzgf5kn4m0cm6zr28wpwhi2kr4lak9nmgxbrxsq28bcncxq";
propagatedBuildInputs = [ async ];
meta.description = "Directory traversal with Async";
};
async_interactive = janePackage {
pname = "async_interactive";
hash = "1mmqqp6bi2wg7bmgf0sw34jn3iyl5kbm200dax8yqq6rfprcs49j";
propagatedBuildInputs = [ async ];
meta.description = "Utilities for building simple command-line based user interfaces";
};
async_parallel = janePackage {
pname = "async_parallel";
hash = "0mdprhr1pv4g65g10gr3gaifrzknsdgarwfdbjlvhzfs86075kyn";
propagatedBuildInputs = [ async ];
meta.description = "Distributed computing library";
};
async_shell = janePackage {
pname = "async_shell";
hash = "02clpz3xv3i5avzifwalylb9gfxzpgnr8bnlfsjixxfk2m7kvsj2";
propagatedBuildInputs = [ core_extended async ];
meta = {
description = "Shell helpers for Async";
};
};
async_ssl = janePackage {
pname = "async_ssl";
hash = "01w3bg38q61lc3hfh8jsr0sy1ylyv0m6g6h9yvsk8ngj6qk70nss";
propagatedBuildInputs = [ async ctypes openssl ];
meta.description = "Async wrappers for SSL";
};
# Jane Street packages, up to expect_test_helpers
sexp_pretty = janePackage {
pname = "sexp_pretty";
hash = "1bx8va468j5b813m0vsh1jzgb6h2qnnjfmjlf2hb82sarv8lllfx";
propagatedBuildInputs = [ ppx_base re ];
meta.description = "S-expression pretty-printer";
};
expect_test_helpers_kernel = janePackage {
pname = "expect_test_helpers_kernel";
hash = "1ycqir8sqgq5nialnrfg29nqn0cqg6jjpgv24drdycdhqf5r2zg6";
propagatedBuildInputs = [ core_kernel sexp_pretty ];
meta.description = "Helpers for writing expectation tests";
};
expect_test_helpers = janePackage {
pname = "expect_test_helpers";
hash = "0rsh6rwbqfcrqisk8jp7srlnicsadbzrs02ri6zyx0p3lmznw5r2";
propagatedBuildInputs = [ async expect_test_helpers_kernel ];
meta.description = "Async helpers for writing expectation tests";
};
# Miscellaneous Jane Street packages
bignum = janePackage {
pname = "bignum";
hash = "0g80mzsi7vc1kq4mzha8y9nl95h6cd041vix3wjrqgkdvb1qd4f3";
propagatedBuildInputs = [ core_kernel zarith ];
meta.description = "Core-flavoured wrapper around zarith's arbitrary-precision rationals";
};
cinaps = janePackage {
pname = "cinaps";
hash = "02fpjiwrygkpx2q4jfldhbqh0mqxmf955wizr8k4vmsq4wsis0p5";
propagatedBuildInputs = [ re ];
meta.description = "Trivial Metaprogramming tool using the OCaml toplevel";
};
command_rpc = janePackage {
pname = "command_rpc";
hash = "0w58z9jkz5qzbvf33wrzhfshzdvnrphj6dq8dmi52ykhfvxm7824";
propagatedBuildInputs = [ async ];
meta.description = "Utilities for Versioned RPC communication with a child process over stdin and stdout";
};
core_bench = janePackage {
pname = "core_bench";
hash = "1m2q7217nmcsck29i59djkm0h6z3aj0i01niijzr5f6ilbnmyd3h";
propagatedBuildInputs = [ core_extended ];
meta = {
description = "Micro-benchmarking library for OCaml";
};
};
core_profiler = janePackage {
pname = "core_profiler";
hash = "1ir2v3wdfbf5xzqcma16asc73mkx2q6dzq5y1bx6q1rpa7iznx44";
propagatedBuildInputs = [ core_extended ];
meta = {
description = "Profiling library";
};
};
csvfields = janePackage {
pname = "csvfields";
hash = "0lbvs1kwl22ryxhw6s089f6683hj2920bn518mvr22rnv7qijy0v";
propagatedBuildInputs = [ core ];
meta.description = "Runtime support for ppx_xml_conv and ppx_csv_conv";
};
ecaml = janePackage {
pname = "ecaml";
hash = "1a2534bzbwgpm71aj3sm71sm0lkcjdfjj1mk91p1pg9kxn8c5x4i";
propagatedBuildInputs = [ async ];
meta.description = "Writing Emacs plugin in OCaml";
};
email_message = janePackage {
pname = "email_message";
hash = "0cpaf6wn5g883bxdz029bksvrfzih99m7hzbb30fhqglmpmmkniz";
propagatedBuildInputs = [ async core_extended cryptokit magic-mime ounit ];
meta = {
description = "E-mail message parser";
};
};
incremental_kernel = janePackage {
pname = "incremental_kernel";
hash = "0zq48wbgqcflh84n10iygi8aa3f0zzmgc7r0jwvsyg7i8zccgvf5";
propagatedBuildInputs = [ core_kernel ];
meta.description = "Library for incremental computations depending only on core_kernel";
};
incremental = janePackage {
pname = "incremental";
hash = "05sx8ia46v4dlvzcn7xgjcwxvbd0wmvv9r2bpvniapjnwr1nvcfh";
propagatedBuildInputs = [ core incremental_kernel ];
meta.description = "Library for incremental computations";
};
incr_map = janePackage {
pname = "incr_map";
hash = "0358qg9irxbbhn18laqww3mn43mdwvlbr0h2mvg3vdbb2c5jp4fv";
propagatedBuildInputs = [ incremental_kernel ];
meta.description = "Helpers for incremental operations on map like data structures";
};
ocaml_plugin = janePackage {
pname = "ocaml_plugin";
hash = "0q33swnlx9p1gcn1aj95501kapb7cnbzbsavid69csczwmzcxr14";
buildInputs = [ ocamlbuild ];
propagatedBuildInputs = [ async ];
meta.description = "Automatically build and dynlink ocaml source files";
};
parsexp = janePackage {
pname = "parsexp";
hash = "0brrifvnfqbfk873v6y5b2jixs2d73hpispj9r440kca5cfsv23b";
propagatedBuildInputs = [ ppx_compare ppx_fields_conv ppx_js_style ppx_sexp_value ];
meta.description = "S-expression parsing library";
};
parsexp_io = janePackage {
pname = "parsexp_io";
hash = "0gcmh4dg48xgszladq92yhk1hf492zf0smz462xrwknzlfdkz6a5";
propagatedBuildInputs = [ parsexp ];
meta.description = "S-expression parsing library (IO functions)";
};
patience_diff = janePackage {
pname = "patience_diff";
hash = "0vpx9xj1ich5qmj3m26vlmix3nsdj7pd1xzhqwbc7ad2kqwy3grg";
propagatedBuildInputs = [ core_kernel ];
meta.description = "Tool and library implementing patience diff";
};
posixat = janePackage {
pname = "posixat";
hash = "0ak93dyzi6sc6gb0j07fj85b24d8bv6g2hm7jj5xwb39kjwh51jl";
propagatedBuildInputs = [ ppx_sexp_conv ];
meta.description = "Binding to the posix *at functions";
meta.broken = lib.versionAtLeast ocaml.version "4.05";
};
rpc_parallel = janePackage {
pname = "rpc_parallel";
hash = "0s72msl2p27bz0knjlpgy5qwp0w4z76cq801ps0sab35f8jjfs38";
propagatedBuildInputs = [ async ];
meta.description = "Type-safe library for building parallel applications";
};
shexp = janePackage {
pname = "shexp";
hash = "1fkz4l9z4i0fz2kccd5blm2j9x2x4z6y1cn29wjmc3spqfxbq37y";
propagatedBuildInputs = [ posixat spawn ];
meta.description = "Process library and s-expression based shell";
};
topological_sort = janePackage {
pname = "topological_sort";
hash = "1d64fyq0clsgham9p1f5rk01z8pxalglp92xmqw2iznyw0vxhvsy";
propagatedBuildInputs = [ core_kernel ];
meta.description = "Topological sort algorithm";
};
typerep_extended = janePackage {
pname = "typerep_extended";
hash = "15gq8mrvlipd616rffr3f0wqw5d0ijnnizix610g2d5viirh0j9p";
propagatedBuildInputs = [ core_kernel ];
meta.description = "Runtime types for OCaml (Extended)";
};
}

View file

@ -0,0 +1,30 @@
diff --git a/lazy_list/src/dune b/lazy_list/src/dune
index f1650ad..df90914 100644
--- a/lazy_list/src/dune
+++ b/lazy_list/src/dune
@@ -1,2 +1,3 @@
(library (name lazy_list) (libraries core_kernel)
+ (public_name sexp.lazy_list)
(preprocess (pps ppx_jane)))
\ No newline at end of file
diff --git a/sexp_app/pattern/dune b/sexp_app/pattern/dune
index b7d2c3b..baf136b 100644
--- a/sexp_app/pattern/dune
+++ b/sexp_app/pattern/dune
@@ -1,4 +1,5 @@
(library (name sexp_app_pattern) (libraries core re2 sexplib str)
+ (public_name sexp.sexp_app_pattern)
(preprocess (pps ppx_jane)))
(ocamllex lexer)
diff --git a/sexp_app/src/dune b/sexp_app/src/dune
index b91ff40..a07a4e7 100644
--- a/sexp_app/src/dune
+++ b/sexp_app/src/dune
@@ -1,4 +1,5 @@
(library (name sexp_app) (libraries core lazy_list re2 sexplib str)
+ (public_name sexp.sexp_app)
(preprocess (pps ppx_jane -allow-unannotated-ignores)))
(ocamllex csv_lexeme)
\ No newline at end of file