summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAaron L. Zeng <me@bcc32.com>2022-05-23 01:18:37 -0400
committerAaron L. Zeng <me@bcc32.com>2022-07-07 00:32:11 -0400
commit4f6ddfdd23f0c3571af65465c8937b2640f988ff (patch)
tree7b5c2d29211f7686b3aa1849bed8263b30e7b456
parent99b11e4c97dc686a823f8bc5aeac32a90dd7891b (diff)
Add Jane Street ocaml packages version 0.15
- ocamlPackages.tls*: 0.15.2 -> 0.15.3 - ocamlPackages.bistro: unstable-2021-11-13 -> unstable-2022-05-07 - ocamlPackages.phylogenetics: 0.1.0 -> unstable-2022-05-06
-rw-r--r--pkgs/development/compilers/ligo/default.nix3
-rw-r--r--pkgs/development/compilers/ligo/ligo.patch134
-rw-r--r--pkgs/development/ocaml-modules/bap/default.nix10
-rw-r--r--pkgs/development/ocaml-modules/biocaml/default.nix9
-rw-r--r--pkgs/development/ocaml-modules/bistro/default.nix11
-rw-r--r--pkgs/development/ocaml-modules/cohttp/async.nix12
-rw-r--r--pkgs/development/ocaml-modules/faraday/async.nix7
-rw-r--r--pkgs/development/ocaml-modules/hack_parallel/default.nix8
-rw-r--r--pkgs/development/ocaml-modules/hack_parallel/hack_parallel.patch68
-rw-r--r--pkgs/development/ocaml-modules/janestreet/0.15.nix1000
-rw-r--r--pkgs/development/ocaml-modules/janestreet/bonsai_jsoo_4_0.patch13
-rw-r--r--pkgs/development/ocaml-modules/janestreet/janePackage_0_15.nix31
-rw-r--r--pkgs/development/ocaml-modules/janestreet/pythonlib.patch22
-rw-r--r--pkgs/development/ocaml-modules/phylogenetics/default.nix17
-rw-r--r--pkgs/development/ocaml-modules/tls/default.nix6
-rw-r--r--pkgs/development/tools/comby/comby.patch1025
-rw-r--r--pkgs/development/tools/comby/default.nix3
-rw-r--r--pkgs/tools/misc/flitter/default.nix12
-rw-r--r--pkgs/tools/misc/flitter/flitter.patch13
-rw-r--r--pkgs/tools/misc/patdiff/default.nix4
-rw-r--r--pkgs/tools/typesetting/satysfi/default.nix2
-rw-r--r--pkgs/top-level/ocaml-packages.nix11
22 files changed, 2389 insertions, 32 deletions
diff --git a/pkgs/development/compilers/ligo/default.nix b/pkgs/development/compilers/ligo/default.nix
index 36ec5bba2e20..ab61043048af 100644
--- a/pkgs/development/compilers/ligo/default.nix
+++ b/pkgs/development/compilers/ligo/default.nix
@@ -46,6 +46,7 @@ coq.ocamlPackages.buildDunePackage rec {
yojson
getopt
core
+ core_unix
pprint
linenoise
@@ -83,6 +84,8 @@ coq.ocamlPackages.buildDunePackage rec {
doCheck = false; # Tests fail, but could not determine the reason
+ patches = [ ./ligo.patch ]; # fix for core >= 0.15.0
+
meta = with lib; {
homepage = "https://ligolang.org/";
downloadPage = "https://ligolang.org/docs/intro/installation";
diff --git a/pkgs/development/compilers/ligo/ligo.patch b/pkgs/development/compilers/ligo/ligo.patch
new file mode 100644
index 000000000000..1a076cf18cee
--- /dev/null
+++ b/pkgs/development/compilers/ligo/ligo.patch
@@ -0,0 +1,134 @@
+diff --git a/ligo.opam b/ligo.opam
+index d561c74d1..3a8d34feb 100644
+--- a/ligo.opam
++++ b/ligo.opam
+@@ -10,7 +10,9 @@ license: "MIT"
+ # If you change the dependencies, run `opam lock` in the root
+ depends: [
+ # Jane Street Core
+- "core"
++ "core" { >= "v0.14.0" & < "v0.16.0" }
++ "core_kernel" { >= "v0.14.0" & "v0.16.0" }
++ "core_unix" { >= "v0.14.0" & "v0.16.0" }
+ # Tooling
+ "odoc" { build }
+ "ocamlfind" { build }
+diff --git a/ligo.opam.locked b/ligo.opam.locked
+index b4501cc76..c8ed8a41f 100644
+--- a/ligo.opam.locked
++++ b/ligo.opam.locked
+@@ -50,8 +50,9 @@ depends: [
+ "conf-rust" {= "0.1"}
+ "conf-which" {= "1"}
+ "coq" {= "8.13.2"}
+- "core" {= "v0.14.1"}
+- "core_kernel" {= "v0.14.2"}
++ "core" {= "v0.15.0"}
++ "core_kernel" {= "v0.15.0"}
++ "core_unix" {= "v0.15.0"}
+ "cppo" {= "1.6.8"}
+ "csexp" {= "1.5.1"}
+ "cstruct" {= "6.0.1"}
+diff --git a/src/bin/cli.ml b/src/bin/cli.ml
+index a6fc13e0d..ef5177868 100644
+--- a/src/bin/cli.ml
++++ b/src/bin/cli.ml
+@@ -12,7 +12,7 @@ let entry_point =
+ let source_file =
+ let name = "SOURCE_FILE" in
+ let _doc = "the path to the smart contract file." in
+- Command.Param.(anon (name %: Filename.arg_type))
++ Command.Param.(anon (name %: Filename_unix.arg_type))
+
+ let package_name =
+ let name = "PACKAGE_NAME" in
+@@ -662,7 +662,7 @@ let main = Command.group ~preserve_subcommand_order:() ~summary:"the LigoLANG co
+ ]
+
+ let run ?argv () =
+- Command.run ~version:Version.version ?argv main;
++ Command_unix.run ~version:Version.version ?argv main;
+ (* Effect to error code *)
+ match !return with
+ Done -> 0;
+@@ -677,4 +677,3 @@ let run ?argv () =
+ match exn with
+ | Failure msg -> message msg
+ | exn -> message (Exn.to_string exn)
+-
+diff --git a/src/bin/cli_helpers.ml b/src/bin/cli_helpers.ml
+index b64a17d53..8c4c43dde 100644
+--- a/src/bin/cli_helpers.ml
++++ b/src/bin/cli_helpers.ml
+@@ -66,7 +66,7 @@ let run_command (cmd : command) =
+ (fun p -> Lwt.map
+ (fun status ->
+ match status with
+- Caml.Unix.WEXITED 0 -> Ok ()
++ Caml_unix.WEXITED 0 -> Ok ()
+ | _ -> Error ("unknown error"))
+ p#status) in
+ Lwt_main.run status
+\ No newline at end of file
+diff --git a/src/bin/dune b/src/bin/dune
+index 295c056f3..08d980439 100644
+--- a/src/bin/dune
++++ b/src/bin/dune
+@@ -11,7 +11,9 @@
+ repl
+ install
+ cli_helpers
+- ligo_api)
++ ligo_api
++ core_unix.command_unix
++ core_unix.filename_unix)
+ (modules cli version))
+
+ (library
+diff --git a/src/main/interpreter/dune b/src/main/interpreter/dune
+index c55e24a88..f9762a297 100644
+--- a/src/main/interpreter/dune
++++ b/src/main/interpreter/dune
+@@ -4,4 +4,4 @@
+ (instrumentation
+ (backend bisect_ppx))
+ (libraries tezos-011-PtHangz2-test-helpers ast_aggregated ligo_interpreter
+- main_errors ligo_compile build fuzz ligo_run self_ast_typed))
++ main_errors ligo_compile build fuzz ligo_run self_ast_typed core_unix.sys_unix))
+diff --git a/src/main/interpreter/interpreter.ml b/src/main/interpreter/interpreter.ml
+index b0379029c..530e08c3a 100644
+--- a/src/main/interpreter/interpreter.ml
++++ b/src/main/interpreter/interpreter.ml
+@@ -2,6 +2,7 @@ open Simple_utils.Trace
+ open Simple_utils
+ open Ligo_interpreter.Types
+ open Ligo_interpreter.Combinators
++module Sys = Sys_unix
+
+ module AST = Ast_aggregated
+
+diff --git a/vendors/ligo-utils/simple-utils/dune b/vendors/ligo-utils/simple-utils/dune
+index ca9f2bf5c..62c39087b 100644
+--- a/vendors/ligo-utils/simple-utils/dune
++++ b/vendors/ligo-utils/simple-utils/dune
+@@ -6,6 +6,7 @@
+ (libraries
+ ;; Third party
+ core
++ core_kernel.caml_unix
+ yojson
+ result
+ unix
+diff --git a/vendors/ligo-utils/simple-utils/snippet.ml b/vendors/ligo-utils/simple-utils/snippet.ml
+index 658f115f2..f23000590 100644
+--- a/vendors/ligo-utils/simple-utils/snippet.ml
++++ b/vendors/ligo-utils/simple-utils/snippet.ml
+@@ -1,7 +1,7 @@
+ (* used to show code snippets in error messages *)
+
+ let print_code ppf (l:Region.t) (input_line: unit -> string) =
+- let dumb =String.equal (Caml.Unix.getenv "TERM") "dumb" in
++ let dumb =String.equal (Caml_unix.getenv "TERM") "dumb" in
+ let start = l#start#line in
+ let start_column = l#start#offset `Byte in
+ let stop = l#stop#line in
diff --git a/pkgs/development/ocaml-modules/bap/default.nix b/pkgs/development/ocaml-modules/bap/default.nix
index 4f87715a74ad..eaaf621900ad 100644
--- a/pkgs/development/ocaml-modules/bap/default.nix
+++ b/pkgs/development/ocaml-modules/bap/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, fetchurl
+{ lib, stdenv, fetchFromGitHub, fetchurl, fetchpatch
, ocaml, findlib, ocamlbuild, ocaml_oasis
, bitstring, camlzip, cmdliner, core_kernel, ezjsonm, fileutils, ocaml_lwt, ocamlgraph, ocurl, re, uri, zarith, piqi, piqi-ocaml, uuidm, llvm, frontc, ounit, ppx_jane, parsexp
, utop, libxml2, ncurses
@@ -64,7 +64,13 @@ stdenv.mkDerivation rec {
disableIda = "--disable-ida";
disableGhidra = "--disable-ghidra";
- patches = [ ./curses_is_ncurses.patch ];
+ patches = [
+ ./curses_is_ncurses.patch
+ (fetchpatch {
+ url = "https://github.com/BinaryAnalysisPlatform/bap/commit/8b1bba30ebb551256a5b15122e70d07f40184039.patch";
+ sha256 = "0il0ik5f6nyqyrlln3n43mz1zpqq34lfnhmp10wdsah4ck2dy75h";
+ })
+ ];
preConfigure = ''
substituteInPlace oasis/elf-loader --replace bitstring.ppx ppx_bitstring
diff --git a/pkgs/development/ocaml-modules/biocaml/default.nix b/pkgs/development/ocaml-modules/biocaml/default.nix
index 596ed6161d7b..b82ec7361791 100644
--- a/pkgs/development/ocaml-modules/biocaml/default.nix
+++ b/pkgs/development/ocaml-modules/biocaml/default.nix
@@ -4,7 +4,7 @@
buildDunePackage rec {
pname = "biocaml";
- version = "0.11.1";
+ version = "0.11.2";
useDune2 = true;
@@ -14,7 +14,12 @@ buildDunePackage rec {
owner = "biocaml";
repo = pname;
rev = "v${version}";
- sha256 = "1il84vvypgkhdyc2j5fmgh14a58069s6ijbd5dvyl2i7jdxaazji";
+ sha256 = "01yw12yixs45ya1scpb9jy2f7dw1mbj7741xib2xpq3kkc1hc21s";
+ };
+
+ patches = fetchpatch {
+ url = "https://github.com/biocaml/biocaml/commit/3ef74d0eb4bb48d2fb7dd8b66fb3ad8fe0aa4d78.patch";
+ sha256 = "0rcvf8gwq7sz15mghl9ing722rl2zpnqif9dfxrnpdxiv0rl0731";
};
buildInputs = [ ppx_jane ppx_sexp_conv ];
diff --git a/pkgs/development/ocaml-modules/bistro/default.nix b/pkgs/development/ocaml-modules/bistro/default.nix
index 348d1bb97d47..43cbd33f738c 100644
--- a/pkgs/development/ocaml-modules/bistro/default.nix
+++ b/pkgs/development/ocaml-modules/bistro/default.nix
@@ -1,10 +1,13 @@
{ lib
, ocaml
+, fetchpatch
, fetchFromGitHub
, buildDunePackage
, base64
, bos
, core
+, core_kernel
+, core_unix
, lwt_react
, ocamlgraph
, ppx_sexp_conv
@@ -15,21 +18,23 @@
buildDunePackage rec {
pname = "bistro";
- version = "unstable-2021-11-13";
+ version = "unstable-2022-05-07";
useDune2 = true;
src = fetchFromGitHub {
owner = "pveber";
repo = pname;
- rev = "fb285b2c6d8adccda3c71e2293bceb01febd6624";
- sha256 = "sha256-JChDU1WH8W9Czkppx9SHiVIu9/7QFWJy2A89oksp0Ek=";
+ rev = "d363bd2d8257babbcb6db15bd83fd6465df7c268";
+ sha256 = "0g11324j1s2631zzf7zxc8s0nqd4fwvcni0kbvfpfxg96gy2wwfm";
};
propagatedBuildInputs = [
base64
bos
core
+ core_kernel
+ core_unix
lwt_react
ocamlgraph
ppx_sexp_conv
diff --git a/pkgs/development/ocaml-modules/cohttp/async.nix b/pkgs/development/ocaml-modules/cohttp/async.nix
index 060d2c6fb6a8..50c008bf60d8 100644
--- a/pkgs/development/ocaml-modules/cohttp/async.nix
+++ b/pkgs/development/ocaml-modules/cohttp/async.nix
@@ -1,4 +1,6 @@
{ lib
+, fetchpatch
+, fetchurl
, buildDunePackage
, ppx_sexp_conv
, base
@@ -47,13 +49,21 @@ buildDunePackage {
ipaddr
];
- doCheck = true;
+ # Examples don't compile with core 0.15. See https://github.com/mirage/ocaml-cohttp/pull/864.
+ doCheck = false;
checkInputs = [
ounit
mirage-crypto
core
];
+ # Compatibility with core 0.15. No longer needed after updating cohttp to 5.0.0.
+ patches = fetchpatch {
+ url = "https://github.com/mirage/ocaml-cohttp/commit/5a7124478ed31c6b1fa6a9a50602c2ec839083b5.patch";
+ sha256 = "0i99rl8604xqwb6d0yzk9ws4dflbn0j4hv2nba2qscbqrrn22rw3";
+ };
+ patchFlags = "-p1 -F3";
+
meta = cohttp.meta // {
description = "CoHTTP implementation for the Async concurrency library";
};
diff --git a/pkgs/development/ocaml-modules/faraday/async.nix b/pkgs/development/ocaml-modules/faraday/async.nix
index 666eb684925c..05b085f92aca 100644
--- a/pkgs/development/ocaml-modules/faraday/async.nix
+++ b/pkgs/development/ocaml-modules/faraday/async.nix
@@ -1,9 +1,14 @@
-{ buildDunePackage, faraday, core, async }:
+{ buildDunePackage, fetchpatch, faraday, core, async }:
buildDunePackage rec {
pname = "faraday-async";
inherit (faraday) version src useDune2;
+ patches = fetchpatch {
+ url = "https://github.com/inhabitedtype/faraday/commit/31c3fc7f91ecca0f1deea10b40fd5e33bcd35f75.patch";
+ sha256 = "05z5gk7hxq7qvwg6f73hdhfcnx19p1dq6wqh8prx667y8zsaq2zj";
+ };
+
minimumOCamlVersion = "4.08";
propagatedBuildInputs = [ faraday core async ];
diff --git a/pkgs/development/ocaml-modules/hack_parallel/default.nix b/pkgs/development/ocaml-modules/hack_parallel/default.nix
index 122ee2149f3a..8d1414731f13 100644
--- a/pkgs/development/ocaml-modules/hack_parallel/default.nix
+++ b/pkgs/development/ocaml-modules/hack_parallel/default.nix
@@ -1,5 +1,5 @@
-{ lib, fetchFromGitHub, buildDunePackage, core, core_kernel, pkg-config, sqlite
-}:
+{ lib, fetchFromGitHub, buildDunePackage, core, core_unix, pkg-config
+, sqlite }:
buildDunePackage rec {
pname = "hack_parallel";
version = "1.0.1";
@@ -13,9 +13,11 @@ buildDunePackage rec {
sha256 = "0qjlkw35r4q2cm0n2x0i73zvx1xgrp6axaia2nm8zxpm49mid629";
};
+ patches = [ ./hack_parallel.patch ];
+
nativeBuildInputs = [ pkg-config ];
- propagatedBuildInputs = [ core core_kernel sqlite ];
+ propagatedBuildInputs = [ core core_unix sqlite ];
meta = {
description =
diff --git a/pkgs/development/ocaml-modules/hack_parallel/hack_parallel.patch b/pkgs/development/ocaml-modules/hack_parallel/hack_parallel.patch
new file mode 100644
index 000000000000..174803a34818
--- /dev/null
+++ b/pkgs/development/ocaml-modules/hack_parallel/hack_parallel.patch
@@ -0,0 +1,68 @@
+diff --git a/src/heap/sharedMem.ml b/src/heap/sharedMem.ml
+index 600e272..511b724 100644
+--- a/src/heap/sharedMem.ml
++++ b/src/heap/sharedMem.ml
+@@ -521,7 +521,7 @@ end = struct
+
+ let stack: t option ref = ref None
+
+- let has_local_changes () = Core_kernel.Option.is_some (!stack)
++ let has_local_changes () = Core.Option.is_some (!stack)
+
+ let rec mem stack_opt key =
+ match stack_opt with
+diff --git a/src/interface/memory.ml b/src/interface/memory.ml
+index 3554b17..09aa1f5 100644
+--- a/src/interface/memory.ml
++++ b/src/interface/memory.ml
+@@ -66,10 +66,10 @@ let get_heap_handle () =
+
+
+ let heap_use_ratio () =
+- Core_kernel.Float.of_int (SharedMemory.heap_size ()) /.
+- Core_kernel.Float.of_int initial_heap_size
++ Core.Float.of_int (SharedMemory.heap_size ()) /.
++ Core.Float.of_int initial_heap_size
+
+
+ let slot_use_ratio () =
+ let { SharedMemory.used_slots; slots; _ } = SharedMemory.hash_stats () in
+- Core_kernel.Float.of_int used_slots /. Core_kernel.Float.of_int slots
++ Core.Float.of_int used_slots /. Core.Float.of_int slots
+diff --git a/src/interface/scheduler.ml b/src/interface/scheduler.ml
+index 9b8282a..b5d41b5 100644
+--- a/src/interface/scheduler.ml
++++ b/src/interface/scheduler.ml
+@@ -48,7 +48,7 @@ let map_reduce
+ | Some exact_size when exact_size > 0 ->
+ (List.length work / exact_size) + 1
+ | _ ->
+- let bucket_multiplier = Core_kernel.Int.min bucket_multiplier (1 + (List.length work / 400)) in
++ let bucket_multiplier = Core.Int.min bucket_multiplier (1 + (List.length work / 400)) in
+ number_of_workers * bucket_multiplier
+ in
+ MultiWorker.call
+diff --git a/src/utils/dune b/src/utils/dune
+index 50a4c42..45e4a5a 100644
+--- a/src/utils/dune
++++ b/src/utils/dune
+@@ -15,6 +15,7 @@
+ sysinfo)
+ (libraries
+ core
++ core_unix
+ str
+ hack_parallel.collections
+ hack_parallel.disk
+diff --git a/src/utils/hh_logger.ml b/src/utils/hh_logger.ml
+index 4c99f05..8075ed5 100644
+--- a/src/utils/hh_logger.ml
++++ b/src/utils/hh_logger.ml
+@@ -9,6 +9,7 @@
+ *)
+
+ open Core
++module Unix = Core_unix
+
+ let timestamp_string () =
+ let open Unix in
diff --git a/pkgs/development/ocaml-modules/janestreet/0.15.nix b/pkgs/development/ocaml-modules/janestreet/0.15.nix
new file mode 100644
index 000000000000..bc2f2f24e0a9
--- /dev/null
+++ b/pkgs/development/ocaml-modules/janestreet/0.15.nix
@@ -0,0 +1,1000 @@
+{ self
+, fetchpatch
+, lib
+, openssl
+, patdiff
+, zstd
+}:
+
+with self;
+
+{
+
+ abstract_algebra = janePackage {
+ pname = "abstract_algebra";
+ minimumOCamlVersion = "4.08";
+ hash = "12imf6ibm7qb8r1fpqnrl20x2z14zl3ri1vzg0z8qby9l8bv2fbd";
+ meta.description = "A small library describing abstract algebra concepts";
+ propagatedBuildInputs = [ base ppx_jane ];
+ };
+
+ accessor = janePackage {
+ pname = "accessor";
+ minimumOCamlVersion = "4.09";
+ hash = "17rzf0jpc9s3yrxcnn630jhgsw5mrnrhwbfh62hqxqanascc5rxh";
+ meta.description = "A library that makes it nicer to work with nested functional data structures";
+ propagatedBuildInputs = [ higher_kinded ];
+ };
+
+ accessor_async = janePackage {
+ pname = "accessor_async";
+ minimumOCamlVersion = "4.09";
+ hash = "17r6af55ms0i496jsfx0xpdm336c2vhyf49b3s8s1gpz521wrgmc";
+ meta.description = "Accessors for Async types, for use with the Accessor library";
+ propagatedBuildInputs = [ accessor_core async_kernel ];
+ };
+
+ accessor_base = janePackage {
+ pname = "accessor_base";
+ minimumOCamlVersion = "4.09";
+ hash = "1qvq005vxf6n1c7swzb4bzcqdh471bfb9gcmdj4m57xg85xznc1n";
+ meta.description = "Accessors for Base types, for use with the Accessor library";
+ propagatedBuildInputs = [ ppx_accessor ];
+ };
+
+ accessor_core = janePackage {
+ minimumOCamlVersion = "4.09";
+ pname = "accessor_core";
+ hash = "0zrs5zbyrhfbah73g22l19bw1mmljhyb3l2mrwcxgbjq9pqp0k9v";
+ meta.description = "Accessors for Core types, for use with the Accessor library";
+ propagatedBuildInputs = [ accessor_base core_kernel ];
+ };
+
+ async = janePackage {
+ pname = "async";
+ hash = "0pykmnsil754jsnr8gss91ykyjvivngx4ii0ih3nsg1x2jl9xmy2";
+ 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 = "0pxp0b4shz9krsj8xfzajv8a1mijgf0xdgxrn2abdqrz3rvj6pig";
+ meta.description = "Monadic concurrency library";
+ propagatedBuildInputs = [ async_kernel ];
+ };
+
+ async_find = janePackage {
+ pname = "async_find";
+ hash = "119988nkcnw6l6wch4llqkvsrawv2gkbn5q4hngpdwvnw0g0aapv";
+ meta.description = "Directory traversal with Async";
+ propagatedBuildInputs = [ async ];
+ };
+
+ async_inotify = janePackage {
+ pname = "async_inotify";
+ hash = "1nxz6bijp7liy18ljrxg92v2m8v8fqcs1pmzg9kbcf0d4vij8j2p";
+ meta.description = "Async wrapper for inotify";
+ propagatedBuildInputs = [ async_find inotify ];
+ };
+
+ async_interactive = janePackage {
+ pname = "async_interactive";
+ hash = "00hr2lhs8p3hwnyllmns59rwlpimc5b7r6v4zn6cmpb1riblaxqp";
+ meta.description = "Utilities for building simple command-line based user interfaces";
+ propagatedBuildInputs = [ async ];
+ };
+
+ async_js = janePackage {
+ pname = "async_js";
+ hash = "184j077bz686k5lrqswircnrdqldb316ngpzq7xri1pcsl39sy3q";
+ 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 = "01if6c8l2h64v7sk56xr8acnmj6g9whxcjrzzzvczspq88hq2bfh";
+ meta.description = "Monadic concurrency library";
+ propagatedBuildInputs = [ core_kernel ];
+ };
+
+ async_rpc_kernel = janePackage {
+ pname = "async_rpc_kernel";
+ hash = "1b5rp5yam03ir4f1sixpzjg1zdqmkb7lvnaa82kac4fzk80gfrfr";
+ meta.description = "Platform-independent core of Async RPC library";
+ propagatedBuildInputs = [ async_kernel protocol_version_header ];
+ };
+
+ async_rpc_websocket = janePackage {
+ pname = "async_rpc_websocket";
+ hash = "1n93jhkz5r76xcc40c4i4sxcyfz1dbppz8sjfxpwcwjyi6lyhp1p";
+ meta.description = "Library to serve and dispatch Async RPCs over websockets";
+ propagatedBuildInputs = [ async_rpc_kernel async_websocket cohttp_async_websocket ];
+ };
+
+ async_sendfile = janePackage {
+ pname = "async_sendfile";
+ hash = "0lnagdxfnac4z29narphf2ab5a23ys883zmc45r96rssfx82i3fs";
+ meta.description = "Thin wrapper around [Linux_ext.sendfile] to send full files";
+ propagatedBuildInputs = [ async_unix ];
+ };
+
+ async_shell = janePackage {
+ pname = "async_shell";
+ hash = "07iwlyrc4smk6hsnz89cz2ihp670mllq0y9wbdafvagm1y1p62vx";
+ meta.description = "Shell helpers for Async";
+ propagatedBuildInputs = [ async shell ];
+ };
+
+ async_smtp = janePackage {
+ pname = "async_smtp";
+ hash = "1m00j7wcb0blipnc1m6by70gd96a1k621b4dgvgffp8as04a461r";
+ 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 = "1b7f7p3xj4jr2n2dxy2lp7a9k7944w6x2nrg6524clvcsd1ax4hn";
+ 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 = "0z4fgpn93iw0abd7l9kac28qgzgc5qr2x0s1n2zh49lsdn02n6ys";
+ meta.description = "Monadic concurrency library";
+ propagatedBuildInputs = [ async_kernel core_unix ];
+ };
+
+ async_websocket = janePackage {
+ pname = "async_websocket";
+ hash = "16ixqfnx9jp77bvx11dlzsq0pzfpyiif60hl2q06zncyswky9xgb";
+ meta.description = "A library that implements the websocket protocol on top of Async";
+ propagatedBuildInputs = [ async cryptokit ];
+ };
+
+ base = janePackage {
+ pname = "base";
+ hash = "1qyycqqr4dijvxm4hhy79c964wd91kpsfvb89kna1qwgllg0hrpj";
+ minimumOCamlVersion = "4.10";
+ meta.description = "Full standard library replacement for OCaml";
+ buildInputs = [ dune-configurator ];
+ propagatedBuildInputs = [ sexplib0 ];
+ checkInputs = [ alcotest ];
+ };
+
+ base_bigstring = janePackage {
+ pname = "base_bigstring";
+ hash = "1hv3hw2fwqmkrxms1g6rw3c18mmla1z5bva3anx45mnff903iv4q";
+ minimumOCamlVersion = "4.08";
+ meta.description = "String type based on [Bigarray], for use in I/O and C-bindings";
+ propagatedBuildInputs = [ int_repr ppx_jane ];
+ };
+
+ base_quickcheck = janePackage {
+ pname = "base_quickcheck";
+ hash = "0q73kfr67cz5wp4qn4rq3lpa922hqmvwdiinnans0js65fvlgqsi";
+ 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 = "12q3xcv78b4s9srnc17jbyn53d5drmwmyvgp62p7nk3fs4f7cr4f";
+ 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 = "1qfqglscc25wwnjx7byqmjcnjww1msnr8940gyg8h93wdq43fjnh";
+ 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 = "150zx2g1dmhyrxwqq8j7f2m3hjpmk5bk182ihx2gdbarhw1ainpm";
+ meta.description = "A library for building dynamic webapps, using Js_of_ocaml";
+ buildInputs = [ ppx_pattern_bind ];
+ nativeBuildInputs = [ js_of_ocaml-compiler ocaml-embed-file ];
+ propagatedBuildInputs = [
+ async
+ async_extra
+ async_rpc_websocket
+ cohttp-async
+ core_bench
+ fuzzy_match
+ incr_dom
+ js_of_ocaml-ppx
+ patdiff
+ ppx_css
+ ppx_typed_fields
+ profunctor
+ textutils
+ ];
+ patches = [ ./bonsai_jsoo_4_0.patch ];
+ };
+
+ cinaps = janePackage {
+ pname = "cinaps";
+ version = "0.15.1";
+ hash = "0g856cxmxg4vicwslhqldplkpwi158s2d62vwzv26xg5m6wjn9rg";
+ minimumOCamlVersion = "4.04";
+ meta.description = "Trivial metaprogramming tool";
+ propagatedBuildInputs = [ re ];
+ doCheck = false; # fails because ppx_base doesn't include ppx_js_style
+ };
+
+ cohttp_async_websocket = janePackage {
+ pname = "cohttp_async_websocket";
+ hash = "0d0smavnxpnwrmhlcf3b5a3cm3n9kz1y8fh6l28xv6zrn4sc7ik8";
+ meta.description = "Websocket library for use with cohttp and async";
+ propagatedBuildInputs = [ async_websocket cohttp-async ppx_jane uri-sexp ];
+ };
+
+ core = janePackage {
+ pname = "core";
+ hash = "1m2ybvlz9zlb2d0jc0j7wdgd18mx9sh3ds2ylkv0cfjx1pzi0l25";
+ meta.description = "Industrial strength alternative to OCaml's standard library";
+ buildInputs = [ jst-config ];
+ propagatedBuildInputs = [ base base_bigstring base_quickcheck ppx_jane time_now ];
+ doCheck = false; # circular dependency with core_kernel
+ };
+
+ core_bench = janePackage {
+ pname = "core_bench";
+ hash = "0v6lm9vz6y1qd7h8pg9l5jsy8qr74vlk1nd4qzchld4jhwq7mbdi";
+ meta.description = "Benchmarking library";
+ propagatedBuildInputs = [ textutils ];
+ };
+
+ core_extended = janePackage {
+ pname = "core_extended";
+ hash = "0sx79hc1y1daczib2p4nbyw4aqnznmdd83knrhs5q153j7lnlalx";
+ meta.description = "Extra components that are not as closely vetted or as stable as Core";
+ propagatedBuildInputs = [ core_unix record_builder ];
+ };
+
+ core_kernel = janePackage {
+ pname = "core_kernel";
+ hash = "05mb4vbf293iq1xx4acyrmi9cgcw6capwrsa54ils62alby6w6yq";
+ meta.description = "System-independent part of Core";
+ buildInputs = [ jst-config ];
+ propagatedBuildInputs = [ base_bigstring core int_repr sexplib ];
+ doCheck = false; # we don't have quickcheck_deprecated
+ };
+
+ core_unix = janePackage {
+ pname = "core_unix";
+ hash = "1xzxqzg23in5ivz0v3qshzpr4w92laayscqj9im7jylh2ar1xi0a";
+ meta.description = "Unix-specific portions of Core";
+ buildInputs = [ jst-config ];
+ propagatedBuildInputs = [ core_kernel expect_test_helpers_core ocaml_intrinsics ppx_jane timezone spawn ];
+ postPatch = ''
+ patchShebangs unix_pseudo_terminal/src/discover.sh
+ '';
+ };
+
+ csvfields = janePackage {
+ pname = "csvfields";
+ hash = "0z47pq17bw776hzvk48ypbd92ps9vlvl86mnhw3j6cqx4ahbjik3";
+ propagatedBuildInputs = [ core num ];
+ meta.description = "Runtime support for ppx_xml_conv and ppx_csv_conv";
+ };
+
+ delimited_parsing = janePackage {
+ pname = "delimited_parsing";
+ hash = "0d050v58zzi8c4qiwxbfcyrdw6zvncnnl3qj79qi0yq4xkg7820r";
+ propagatedBuildInputs = [ async core_extended ];
+ meta.description = "Parsing of character (e.g., comma) separated and fixed-width values";
+ };
+
+ ecaml = janePackage {
+ pname = "ecaml";
+ hash = "08g2bl06vkn3bkqzkmvk2646aqb6jj4a7n3wgzpcx1c2gl3iw5i6";
+ meta.description = "Library for writing Emacs plugin in OCaml";
+ propagatedBuildInputs = [ async expect_test_helpers_core ];
+ };
+
+ email_message = janePackage {
+ pname = "email_message";
+ hash = "00h66l2g5rjaay0hbyqy4v9i866g779miriwv20h9k4mliqdq7in";
+ 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 = "14v4966p5dmqgjb9sgrvnsixv0w0bagicn8v44g9mf9d88z8pfym";
+ 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 = "0bxs3g0zzym8agfcbpg5lmrh6hcb86z861bq40xhhfwqf4pzdbfa";
+ meta.description = "Helpers for writing expectation tests";
+ propagatedBuildInputs = [ core_kernel sexp_pretty ];
+ };
+
+ fieldslib = janePackage {
+ pname = "fieldslib";
+ hash = "0xwf9mdxlyr3f0vv5y82cyw2bsckwl8rwf6jm6bai1gqpgxjq756";
+ 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 ];
+ };
+
+ fuzzy_match = janePackage {
+ pname = "fuzzy_match";
+ hash = "0s5w81698b07l5m11nwx8xbjcpmp54dnf5fcrnlva22jrlsf14h4";
+ meta.description = "A library for fuzzy string matching";
+ propagatedBuildInputs = [ core ppx_jane ];
+ };
+
+ higher_kinded = janePackage {
+ pname = "higher_kinded";
+ minimumOCamlVersion = "4.09";
+ hash = "0rafxxajqswi070h8sinhjna0swh1hc6d7i3q7y099yj3wlr2y1l";
+ meta.description = "A library with an encoding of higher kinded types in OCaml";
+ propagatedBuildInputs = [ base ppx_jane ];
+ };
+
+ incr_dom = janePackage {
+ pname = "incr_dom";
+ hash = "1sija9w2im8vdp61h387w0mww9hh7jgkgsjcccps4lbv936ac7c1";
+ 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 = "0aq8wfylvq68him92vzh1fqmr7r0lfwc5cdiqr10r5x032vzpnii";
+ meta.description = "Helpers for incremental operations on map like data structures";
+ buildInputs = [ ppx_pattern_bind ];
+ propagatedBuildInputs = [ abstract_algebra incremental ];
+ };
+
+ incr_select = janePackage {
+ pname = "incr_select";
+ hash = "0qm2i4hb5jh2ra95kq881s4chkwbd2prvql1c0nahd63h829m57l";
+ meta.description = "Handling of large set of incremental outputs from a single input";
+ propagatedBuildInputs = [ incremental ];
+ };
+
+ incremental = janePackage {
+ pname = "i