lol

Merge pull request #166033 from bcc32/js-015

ocamlPackages.janeStreet: 0.14 -> 0.15

authored by

Guillaume Girol and committed by
GitHub
ad77f203 0890c4ae

+2396 -32
+3
pkgs/development/compilers/ligo/default.nix
··· 46 46 yojson 47 47 getopt 48 48 core 49 + core_unix 49 50 pprint 50 51 linenoise 51 52 ··· 82 83 ]; 83 84 84 85 doCheck = false; # Tests fail, but could not determine the reason 86 + 87 + patches = [ ./ligo.patch ]; # fix for core >= 0.15.0 85 88 86 89 meta = with lib; { 87 90 homepage = "https://ligolang.org/";
+134
pkgs/development/compilers/ligo/ligo.patch
··· 1 + diff --git a/ligo.opam b/ligo.opam 2 + index d561c74d1..3a8d34feb 100644 3 + --- a/ligo.opam 4 + +++ b/ligo.opam 5 + @@ -10,7 +10,9 @@ license: "MIT" 6 + # If you change the dependencies, run `opam lock` in the root 7 + depends: [ 8 + # Jane Street Core 9 + - "core" 10 + + "core" { >= "v0.14.0" & < "v0.16.0" } 11 + + "core_kernel" { >= "v0.14.0" & "v0.16.0" } 12 + + "core_unix" { >= "v0.14.0" & "v0.16.0" } 13 + # Tooling 14 + "odoc" { build } 15 + "ocamlfind" { build } 16 + diff --git a/ligo.opam.locked b/ligo.opam.locked 17 + index b4501cc76..c8ed8a41f 100644 18 + --- a/ligo.opam.locked 19 + +++ b/ligo.opam.locked 20 + @@ -50,8 +50,9 @@ depends: [ 21 + "conf-rust" {= "0.1"} 22 + "conf-which" {= "1"} 23 + "coq" {= "8.13.2"} 24 + - "core" {= "v0.14.1"} 25 + - "core_kernel" {= "v0.14.2"} 26 + + "core" {= "v0.15.0"} 27 + + "core_kernel" {= "v0.15.0"} 28 + + "core_unix" {= "v0.15.0"} 29 + "cppo" {= "1.6.8"} 30 + "csexp" {= "1.5.1"} 31 + "cstruct" {= "6.0.1"} 32 + diff --git a/src/bin/cli.ml b/src/bin/cli.ml 33 + index a6fc13e0d..ef5177868 100644 34 + --- a/src/bin/cli.ml 35 + +++ b/src/bin/cli.ml 36 + @@ -12,7 +12,7 @@ let entry_point = 37 + let source_file = 38 + let name = "SOURCE_FILE" in 39 + let _doc = "the path to the smart contract file." in 40 + - Command.Param.(anon (name %: Filename.arg_type)) 41 + + Command.Param.(anon (name %: Filename_unix.arg_type)) 42 + 43 + let package_name = 44 + let name = "PACKAGE_NAME" in 45 + @@ -662,7 +662,7 @@ let main = Command.group ~preserve_subcommand_order:() ~summary:"the LigoLANG co 46 + ] 47 + 48 + let run ?argv () = 49 + - Command.run ~version:Version.version ?argv main; 50 + + Command_unix.run ~version:Version.version ?argv main; 51 + (* Effect to error code *) 52 + match !return with 53 + Done -> 0; 54 + @@ -677,4 +677,3 @@ let run ?argv () = 55 + match exn with 56 + | Failure msg -> message msg 57 + | exn -> message (Exn.to_string exn) 58 + - 59 + diff --git a/src/bin/cli_helpers.ml b/src/bin/cli_helpers.ml 60 + index b64a17d53..8c4c43dde 100644 61 + --- a/src/bin/cli_helpers.ml 62 + +++ b/src/bin/cli_helpers.ml 63 + @@ -66,7 +66,7 @@ let run_command (cmd : command) = 64 + (fun p -> Lwt.map 65 + (fun status -> 66 + match status with 67 + - Caml.Unix.WEXITED 0 -> Ok () 68 + + Caml_unix.WEXITED 0 -> Ok () 69 + | _ -> Error ("unknown error")) 70 + p#status) in 71 + Lwt_main.run status 72 + \ No newline at end of file 73 + diff --git a/src/bin/dune b/src/bin/dune 74 + index 295c056f3..08d980439 100644 75 + --- a/src/bin/dune 76 + +++ b/src/bin/dune 77 + @@ -11,7 +11,9 @@ 78 + repl 79 + install 80 + cli_helpers 81 + - ligo_api) 82 + + ligo_api 83 + + core_unix.command_unix 84 + + core_unix.filename_unix) 85 + (modules cli version)) 86 + 87 + (library 88 + diff --git a/src/main/interpreter/dune b/src/main/interpreter/dune 89 + index c55e24a88..f9762a297 100644 90 + --- a/src/main/interpreter/dune 91 + +++ b/src/main/interpreter/dune 92 + @@ -4,4 +4,4 @@ 93 + (instrumentation 94 + (backend bisect_ppx)) 95 + (libraries tezos-011-PtHangz2-test-helpers ast_aggregated ligo_interpreter 96 + - main_errors ligo_compile build fuzz ligo_run self_ast_typed)) 97 + + main_errors ligo_compile build fuzz ligo_run self_ast_typed core_unix.sys_unix)) 98 + diff --git a/src/main/interpreter/interpreter.ml b/src/main/interpreter/interpreter.ml 99 + index b0379029c..530e08c3a 100644 100 + --- a/src/main/interpreter/interpreter.ml 101 + +++ b/src/main/interpreter/interpreter.ml 102 + @@ -2,6 +2,7 @@ open Simple_utils.Trace 103 + open Simple_utils 104 + open Ligo_interpreter.Types 105 + open Ligo_interpreter.Combinators 106 + +module Sys = Sys_unix 107 + 108 + module AST = Ast_aggregated 109 + 110 + diff --git a/vendors/ligo-utils/simple-utils/dune b/vendors/ligo-utils/simple-utils/dune 111 + index ca9f2bf5c..62c39087b 100644 112 + --- a/vendors/ligo-utils/simple-utils/dune 113 + +++ b/vendors/ligo-utils/simple-utils/dune 114 + @@ -6,6 +6,7 @@ 115 + (libraries 116 + ;; Third party 117 + core 118 + + core_kernel.caml_unix 119 + yojson 120 + result 121 + unix 122 + diff --git a/vendors/ligo-utils/simple-utils/snippet.ml b/vendors/ligo-utils/simple-utils/snippet.ml 123 + index 658f115f2..f23000590 100644 124 + --- a/vendors/ligo-utils/simple-utils/snippet.ml 125 + +++ b/vendors/ligo-utils/simple-utils/snippet.ml 126 + @@ -1,7 +1,7 @@ 127 + (* used to show code snippets in error messages *) 128 + 129 + let print_code ppf (l:Region.t) (input_line: unit -> string) = 130 + - let dumb =String.equal (Caml.Unix.getenv "TERM") "dumb" in 131 + + let dumb =String.equal (Caml_unix.getenv "TERM") "dumb" in 132 + let start = l#start#line in 133 + let start_column = l#start#offset `Byte in 134 + let stop = l#stop#line in
+8 -2
pkgs/development/ocaml-modules/bap/default.nix
··· 1 - { lib, stdenv, fetchFromGitHub, fetchurl 1 + { lib, stdenv, fetchFromGitHub, fetchurl, fetchpatch 2 2 , ocaml, findlib, ocamlbuild, ocaml_oasis 3 3 , bitstring, camlzip, cmdliner, core_kernel, ezjsonm, fileutils, ocaml_lwt, ocamlgraph, ocurl, re, uri, zarith, piqi, piqi-ocaml, uuidm, llvm, frontc, ounit, ppx_jane, parsexp 4 4 , utop, libxml2, ncurses ··· 64 64 disableIda = "--disable-ida"; 65 65 disableGhidra = "--disable-ghidra"; 66 66 67 - patches = [ ./curses_is_ncurses.patch ]; 67 + patches = [ 68 + ./curses_is_ncurses.patch 69 + (fetchpatch { 70 + url = "https://github.com/BinaryAnalysisPlatform/bap/commit/8b1bba30ebb551256a5b15122e70d07f40184039.patch"; 71 + sha256 = "0il0ik5f6nyqyrlln3n43mz1zpqq34lfnhmp10wdsah4ck2dy75h"; 72 + }) 73 + ]; 68 74 69 75 preConfigure = '' 70 76 substituteInPlace oasis/elf-loader --replace bitstring.ppx ppx_bitstring
+7 -2
pkgs/development/ocaml-modules/biocaml/default.nix
··· 4 4 5 5 buildDunePackage rec { 6 6 pname = "biocaml"; 7 - version = "0.11.1"; 7 + version = "0.11.2"; 8 8 9 9 useDune2 = true; 10 10 ··· 14 14 owner = "biocaml"; 15 15 repo = pname; 16 16 rev = "v${version}"; 17 - sha256 = "1il84vvypgkhdyc2j5fmgh14a58069s6ijbd5dvyl2i7jdxaazji"; 17 + sha256 = "01yw12yixs45ya1scpb9jy2f7dw1mbj7741xib2xpq3kkc1hc21s"; 18 + }; 19 + 20 + patches = fetchpatch { 21 + url = "https://github.com/biocaml/biocaml/commit/3ef74d0eb4bb48d2fb7dd8b66fb3ad8fe0aa4d78.patch"; 22 + sha256 = "0rcvf8gwq7sz15mghl9ing722rl2zpnqif9dfxrnpdxiv0rl0731"; 18 23 }; 19 24 20 25 buildInputs = [ ppx_jane ppx_sexp_conv ];
+8 -3
pkgs/development/ocaml-modules/bistro/default.nix
··· 1 1 { lib 2 2 , ocaml 3 + , fetchpatch 3 4 , fetchFromGitHub 4 5 , buildDunePackage 5 6 , base64 6 7 , bos 7 8 , core 9 + , core_kernel 10 + , core_unix 8 11 , lwt_react 9 12 , ocamlgraph 10 13 , ppx_sexp_conv ··· 15 18 16 19 buildDunePackage rec { 17 20 pname = "bistro"; 18 - version = "unstable-2021-11-13"; 21 + version = "unstable-2022-05-07"; 19 22 20 23 useDune2 = true; 21 24 22 25 src = fetchFromGitHub { 23 26 owner = "pveber"; 24 27 repo = pname; 25 - rev = "fb285b2c6d8adccda3c71e2293bceb01febd6624"; 26 - sha256 = "sha256-JChDU1WH8W9Czkppx9SHiVIu9/7QFWJy2A89oksp0Ek="; 28 + rev = "d363bd2d8257babbcb6db15bd83fd6465df7c268"; 29 + sha256 = "0g11324j1s2631zzf7zxc8s0nqd4fwvcni0kbvfpfxg96gy2wwfm"; 27 30 }; 28 31 29 32 propagatedBuildInputs = [ 30 33 base64 31 34 bos 32 35 core 36 + core_kernel 37 + core_unix 33 38 lwt_react 34 39 ocamlgraph 35 40 ppx_sexp_conv
+11 -1
pkgs/development/ocaml-modules/cohttp/async.nix
··· 1 1 { lib 2 + , fetchpatch 3 + , fetchurl 2 4 , buildDunePackage 3 5 , ppx_sexp_conv 4 6 , base ··· 47 49 ipaddr 48 50 ]; 49 51 50 - doCheck = true; 52 + # Examples don't compile with core 0.15. See https://github.com/mirage/ocaml-cohttp/pull/864. 53 + doCheck = false; 51 54 checkInputs = [ 52 55 ounit 53 56 mirage-crypto 54 57 core 55 58 ]; 59 + 60 + # Compatibility with core 0.15. No longer needed after updating cohttp to 5.0.0. 61 + patches = fetchpatch { 62 + url = "https://github.com/mirage/ocaml-cohttp/commit/5a7124478ed31c6b1fa6a9a50602c2ec839083b5.patch"; 63 + sha256 = "0i99rl8604xqwb6d0yzk9ws4dflbn0j4hv2nba2qscbqrrn22rw3"; 64 + }; 65 + patchFlags = "-p1 -F3"; 56 66 57 67 meta = cohttp.meta // { 58 68 description = "CoHTTP implementation for the Async concurrency library";
+6 -1
pkgs/development/ocaml-modules/faraday/async.nix
··· 1 - { buildDunePackage, faraday, core, async }: 1 + { buildDunePackage, fetchpatch, faraday, core, async }: 2 2 3 3 buildDunePackage rec { 4 4 pname = "faraday-async"; 5 5 inherit (faraday) version src useDune2; 6 + 7 + patches = fetchpatch { 8 + url = "https://github.com/inhabitedtype/faraday/commit/31c3fc7f91ecca0f1deea10b40fd5e33bcd35f75.patch"; 9 + sha256 = "05z5gk7hxq7qvwg6f73hdhfcnx19p1dq6wqh8prx667y8zsaq2zj"; 10 + }; 6 11 7 12 minimumOCamlVersion = "4.08"; 8 13
+5 -3
pkgs/development/ocaml-modules/hack_parallel/default.nix
··· 1 - { lib, fetchFromGitHub, buildDunePackage, core, core_kernel, pkg-config, sqlite 2 - }: 1 + { lib, fetchFromGitHub, buildDunePackage, core, core_unix, pkg-config 2 + , sqlite }: 3 3 buildDunePackage rec { 4 4 pname = "hack_parallel"; 5 5 version = "1.0.1"; ··· 13 13 sha256 = "0qjlkw35r4q2cm0n2x0i73zvx1xgrp6axaia2nm8zxpm49mid629"; 14 14 }; 15 15 16 + patches = [ ./hack_parallel.patch ]; 17 + 16 18 nativeBuildInputs = [ pkg-config ]; 17 19 18 - propagatedBuildInputs = [ core core_kernel sqlite ]; 20 + propagatedBuildInputs = [ core core_unix sqlite ]; 19 21 20 22 meta = { 21 23 description =
+68
pkgs/development/ocaml-modules/hack_parallel/hack_parallel.patch
··· 1 + diff --git a/src/heap/sharedMem.ml b/src/heap/sharedMem.ml 2 + index 600e272..511b724 100644 3 + --- a/src/heap/sharedMem.ml 4 + +++ b/src/heap/sharedMem.ml 5 + @@ -521,7 +521,7 @@ end = struct 6 + 7 + let stack: t option ref = ref None 8 + 9 + - let has_local_changes () = Core_kernel.Option.is_some (!stack) 10 + + let has_local_changes () = Core.Option.is_some (!stack) 11 + 12 + let rec mem stack_opt key = 13 + match stack_opt with 14 + diff --git a/src/interface/memory.ml b/src/interface/memory.ml 15 + index 3554b17..09aa1f5 100644 16 + --- a/src/interface/memory.ml 17 + +++ b/src/interface/memory.ml 18 + @@ -66,10 +66,10 @@ let get_heap_handle () = 19 + 20 + 21 + let heap_use_ratio () = 22 + - Core_kernel.Float.of_int (SharedMemory.heap_size ()) /. 23 + - Core_kernel.Float.of_int initial_heap_size 24 + + Core.Float.of_int (SharedMemory.heap_size ()) /. 25 + + Core.Float.of_int initial_heap_size 26 + 27 + 28 + let slot_use_ratio () = 29 + let { SharedMemory.used_slots; slots; _ } = SharedMemory.hash_stats () in 30 + - Core_kernel.Float.of_int used_slots /. Core_kernel.Float.of_int slots 31 + + Core.Float.of_int used_slots /. Core.Float.of_int slots 32 + diff --git a/src/interface/scheduler.ml b/src/interface/scheduler.ml 33 + index 9b8282a..b5d41b5 100644 34 + --- a/src/interface/scheduler.ml 35 + +++ b/src/interface/scheduler.ml 36 + @@ -48,7 +48,7 @@ let map_reduce 37 + | Some exact_size when exact_size > 0 -> 38 + (List.length work / exact_size) + 1 39 + | _ -> 40 + - let bucket_multiplier = Core_kernel.Int.min bucket_multiplier (1 + (List.length work / 400)) in 41 + + let bucket_multiplier = Core.Int.min bucket_multiplier (1 + (List.length work / 400)) in 42 + number_of_workers * bucket_multiplier 43 + in 44 + MultiWorker.call 45 + diff --git a/src/utils/dune b/src/utils/dune 46 + index 50a4c42..45e4a5a 100644 47 + --- a/src/utils/dune 48 + +++ b/src/utils/dune 49 + @@ -15,6 +15,7 @@ 50 + sysinfo) 51 + (libraries 52 + core 53 + + core_unix 54 + str 55 + hack_parallel.collections 56 + hack_parallel.disk 57 + diff --git a/src/utils/hh_logger.ml b/src/utils/hh_logger.ml 58 + index 4c99f05..8075ed5 100644 59 + --- a/src/utils/hh_logger.ml 60 + +++ b/src/utils/hh_logger.ml 61 + @@ -9,6 +9,7 @@ 62 + *) 63 + 64 + open Core 65 + +module Unix = Core_unix 66 + 67 + let timestamp_string () = 68 + let open Unix in
+1007
pkgs/development/ocaml-modules/janestreet/0.15.nix
··· 1 + { self 2 + , fetchpatch 3 + , lib 4 + , openssl 5 + , patdiff 6 + , zstd 7 + }: 8 + 9 + with self; 10 + 11 + { 12 + 13 + abstract_algebra = janePackage { 14 + pname = "abstract_algebra"; 15 + minimumOCamlVersion = "4.08"; 16 + hash = "12imf6ibm7qb8r1fpqnrl20x2z14zl3ri1vzg0z8qby9l8bv2fbd"; 17 + meta.description = "A small library describing abstract algebra concepts"; 18 + propagatedBuildInputs = [ base ppx_jane ]; 19 + }; 20 + 21 + accessor = janePackage { 22 + pname = "accessor"; 23 + minimumOCamlVersion = "4.09"; 24 + hash = "17rzf0jpc9s3yrxcnn630jhgsw5mrnrhwbfh62hqxqanascc5rxh"; 25 + meta.description = "A library that makes it nicer to work with nested functional data structures"; 26 + propagatedBuildInputs = [ higher_kinded ]; 27 + }; 28 + 29 + accessor_async = janePackage { 30 + pname = "accessor_async"; 31 + minimumOCamlVersion = "4.09"; 32 + hash = "17r6af55ms0i496jsfx0xpdm336c2vhyf49b3s8s1gpz521wrgmc"; 33 + meta.description = "Accessors for Async types, for use with the Accessor library"; 34 + propagatedBuildInputs = [ accessor_core async_kernel ]; 35 + }; 36 + 37 + accessor_base = janePackage { 38 + pname = "accessor_base"; 39 + minimumOCamlVersion = "4.09"; 40 + hash = "1qvq005vxf6n1c7swzb4bzcqdh471bfb9gcmdj4m57xg85xznc1n"; 41 + meta.description = "Accessors for Base types, for use with the Accessor library"; 42 + propagatedBuildInputs = [ ppx_accessor ]; 43 + }; 44 + 45 + accessor_core = janePackage { 46 + minimumOCamlVersion = "4.09"; 47 + pname = "accessor_core"; 48 + hash = "0zrs5zbyrhfbah73g22l19bw1mmljhyb3l2mrwcxgbjq9pqp0k9v"; 49 + meta.description = "Accessors for Core types, for use with the Accessor library"; 50 + propagatedBuildInputs = [ accessor_base core_kernel ]; 51 + }; 52 + 53 + async = janePackage { 54 + pname = "async"; 55 + hash = "0pykmnsil754jsnr8gss91ykyjvivngx4ii0ih3nsg1x2jl9xmy2"; 56 + meta.description = "Monadic concurrency library"; 57 + propagatedBuildInputs = [ async_rpc_kernel async_unix textutils ]; 58 + doCheck = false; # we don't have netkit_sockets 59 + }; 60 + 61 + async_extra = janePackage { 62 + pname = "async_extra"; 63 + hash = "0pxp0b4shz9krsj8xfzajv8a1mijgf0xdgxrn2abdqrz3rvj6pig"; 64 + meta.description = "Monadic concurrency library"; 65 + propagatedBuildInputs = [ async_kernel ]; 66 + }; 67 + 68 + async_find = janePackage { 69 + pname = "async_find"; 70 + hash = "119988nkcnw6l6wch4llqkvsrawv2gkbn5q4hngpdwvnw0g0aapv"; 71 + meta.description = "Directory traversal with Async"; 72 + propagatedBuildInputs = [ async ]; 73 + }; 74 + 75 + async_inotify = janePackage { 76 + pname = "async_inotify"; 77 + hash = "1nxz6bijp7liy18ljrxg92v2m8v8fqcs1pmzg9kbcf0d4vij8j2p"; 78 + meta.description = "Async wrapper for inotify"; 79 + propagatedBuildInputs = [ async_find inotify ]; 80 + }; 81 + 82 + async_interactive = janePackage { 83 + pname = "async_interactive"; 84 + hash = "00hr2lhs8p3hwnyllmns59rwlpimc5b7r6v4zn6cmpb1riblaxqp"; 85 + meta.description = "Utilities for building simple command-line based user interfaces"; 86 + propagatedBuildInputs = [ async ]; 87 + }; 88 + 89 + async_js = janePackage { 90 + pname = "async_js"; 91 + hash = "184j077bz686k5lrqswircnrdqldb316ngpzq7xri1pcsl39sy3q"; 92 + meta.description = "A small library that provide Async support for JavaScript platforms"; 93 + buildInputs = [ js_of_ocaml-ppx ]; 94 + propagatedBuildInputs = [ async_rpc_kernel js_of_ocaml uri-sexp ]; 95 + }; 96 + 97 + async_kernel = janePackage { 98 + pname = "async_kernel"; 99 + hash = "01if6c8l2h64v7sk56xr8acnmj6g9whxcjrzzzvczspq88hq2bfh"; 100 + meta.description = "Monadic concurrency library"; 101 + propagatedBuildInputs = [ core_kernel ]; 102 + }; 103 + 104 + async_rpc_kernel = janePackage { 105 + pname = "async_rpc_kernel"; 106 + hash = "1b5rp5yam03ir4f1sixpzjg1zdqmkb7lvnaa82kac4fzk80gfrfr"; 107 + meta.description = "Platform-independent core of Async RPC library"; 108 + propagatedBuildInputs = [ async_kernel protocol_version_header ]; 109 + }; 110 + 111 + async_rpc_websocket = janePackage { 112 + pname = "async_rpc_websocket"; 113 + hash = "1n93jhkz5r76xcc40c4i4sxcyfz1dbppz8sjfxpwcwjyi6lyhp1p"; 114 + meta.description = "Library to serve and dispatch Async RPCs over websockets"; 115 + propagatedBuildInputs = [ async_rpc_kernel async_websocket cohttp_async_websocket ]; 116 + }; 117 + 118 + async_sendfile = janePackage { 119 + pname = "async_sendfile"; 120 + hash = "0lnagdxfnac4z29narphf2ab5a23ys883zmc45r96rssfx82i3fs"; 121 + meta.description = "Thin wrapper around [Linux_ext.sendfile] to send full files"; 122 + propagatedBuildInputs = [ async_unix ]; 123 + }; 124 + 125 + async_shell = janePackage { 126 + pname = "async_shell"; 127 + hash = "07iwlyrc4smk6hsnz89cz2ihp670mllq0y9wbdafvagm1y1p62vx"; 128 + meta.description = "Shell helpers for Async"; 129 + propagatedBuildInputs = [ async shell ]; 130 + }; 131 + 132 + async_smtp = janePackage { 133 + pname = "async_smtp"; 134 + hash = "1m00j7wcb0blipnc1m6by70gd96a1k621b4dgvgffp8as04a461r"; 135 + meta.description = "SMTP client and server"; 136 + propagatedBuildInputs = [ async_extra async_inotify async_sendfile async_shell async_ssl email_message resource_cache re2_stable sexp_macro ]; 137 + }; 138 + 139 + async_ssl = janePackage { 140 + pname = "async_ssl"; 141 + hash = "1b7f7p3xj4jr2n2dxy2lp7a9k7944w6x2nrg6524clvcsd1ax4hn"; 142 + meta.description = "Async wrappers for SSL"; 143 + buildInputs = [ dune-configurator ]; 144 + propagatedBuildInputs = [ async ctypes openssl ]; 145 + # in ctypes.foreign 0.18.0 threaded and unthreaded have been merged 146 + postPatch = '' 147 + substituteInPlace bindings/dune \ 148 + --replace "ctypes.foreign.threaded" "ctypes.foreign" 149 + ''; 150 + }; 151 + 152 + async_unix = janePackage { 153 + pname = "async_unix"; 154 + hash = "0z4fgpn93iw0abd7l9kac28qgzgc5qr2x0s1n2zh49lsdn02n6ys"; 155 + meta.description = "Monadic concurrency library"; 156 + propagatedBuildInputs = [ async_kernel core_unix ]; 157 + }; 158 + 159 + async_websocket = janePackage { 160 + pname = "async_websocket"; 161 + hash = "16ixqfnx9jp77bvx11dlzsq0pzfpyiif60hl2q06zncyswky9xgb"; 162 + meta.description = "A library that implements the websocket protocol on top of Async"; 163 + propagatedBuildInputs = [ async cryptokit ]; 164 + }; 165 + 166 + base = janePackage { 167 + pname = "base"; 168 + hash = "1qyycqqr4dijvxm4hhy79c964wd91kpsfvb89kna1qwgllg0hrpj"; 169 + minimumOCamlVersion = "4.10"; 170 + meta.description = "Full standard library replacement for OCaml"; 171 + buildInputs = [ dune-configurator ]; 172 + propagatedBuildInputs = [ sexplib0 ]; 173 + checkInputs = [ alcotest ]; 174 + }; 175 + 176 + base_bigstring = janePackage { 177 + pname = "base_bigstring"; 178 + hash = "1hv3hw2fwqmkrxms1g6rw3c18mmla1z5bva3anx45mnff903iv4q"; 179 + minimumOCamlVersion = "4.08"; 180 + meta.description = "String type based on [Bigarray], for use in I/O and C-bindings"; 181 + propagatedBuildInputs = [ int_repr ppx_jane ]; 182 + }; 183 + 184 + base_quickcheck = janePackage { 185 + pname = "base_quickcheck"; 186 + hash = "0q73kfr67cz5wp4qn4rq3lpa922hqmvwdiinnans0js65fvlgqsi"; 187 + minimumOCamlVersion = "4.04.2"; 188 + meta.description = "Randomized testing framework, designed for compatibility with Base"; 189 + propagatedBuildInputs = [ ppx_base ppx_fields_conv ppx_let ppx_sexp_value splittable_random ]; 190 + }; 191 + 192 + bignum = janePackage { 193 + pname = "bignum"; 194 + hash = "12q3xcv78b4s9srnc17jbyn53d5drmwmyvgp62p7nk3fs4f7cr4f"; 195 + propagatedBuildInputs = [ core_kernel zarith zarith_stubs_js ]; 196 + meta.description = "Core-flavoured wrapper around zarith's arbitrary-precision rationals"; 197 + }; 198 + 199 + bin_prot = janePackage { 200 + pname = "bin_prot"; 201 + hash = "1qfqglscc25wwnjx7byqmjcnjww1msnr8940gyg8h93wdq43fjnh"; 202 + minimumOCamlVersion = "4.04.2"; 203 + meta.description = "A binary protocol generator"; 204 + propagatedBuildInputs = [ ppx_compare ppx_custom_printf ppx_fields_conv ppx_optcomp ppx_variants_conv ]; 205 + }; 206 + 207 + bonsai = janePackage { 208 + pname = "bonsai"; 209 + hash = "150zx2g1dmhyrxwqq8j7f2m3hjpmk5bk182ihx2gdbarhw1ainpm"; 210 + meta.description = "A library for building dynamic webapps, using Js_of_ocaml"; 211 + buildInputs = [ ppx_pattern_bind ]; 212 + nativeBuildInputs = [ js_of_ocaml-compiler ocaml-embed-file ]; 213 + propagatedBuildInputs = [ 214 + async 215 + async_extra 216 + async_rpc_websocket 217 + cohttp-async 218 + core_bench 219 + fuzzy_match 220 + incr_dom 221 + js_of_ocaml-ppx 222 + patdiff 223 + ppx_css 224 + ppx_typed_fields 225 + profunctor 226 + textutils 227 + ]; 228 + patches = [ ./bonsai_jsoo_4_0.patch ]; 229 + }; 230 + 231 + cinaps = janePackage { 232 + pname = "cinaps"; 233 + version = "0.15.1"; 234 + hash = "0g856cxmxg4vicwslhqldplkpwi158s2d62vwzv26xg5m6wjn9rg"; 235 + minimumOCamlVersion = "4.04"; 236 + meta.description = "Trivial metaprogramming tool"; 237 + propagatedBuildInputs = [ re ]; 238 + doCheck = false; # fails because ppx_base doesn't include ppx_js_style 239 + }; 240 + 241 + cohttp_async_websocket = janePackage { 242 + pname = "cohttp_async_websocket"; 243 + hash = "0d0smavnxpnwrmhlcf3b5a3cm3n9kz1y8fh6l28xv6zrn4sc7ik8"; 244 + meta.description = "Websocket library for use with cohttp and async"; 245 + propagatedBuildInputs = [ async_websocket cohttp-async ppx_jane uri-sexp ]; 246 + }; 247 + 248 + core = janePackage { 249 + pname = "core"; 250 + hash = "1m2ybvlz9zlb2d0jc0j7wdgd18mx9sh3ds2ylkv0cfjx1pzi0l25"; 251 + meta.description = "Industrial strength alternative to OCaml's standard library"; 252 + buildInputs = [ jst-config ]; 253 + propagatedBuildInputs = [ base base_bigstring base_quickcheck ppx_jane time_now ]; 254 + doCheck = false; # circular dependency with core_kernel 255 + }; 256 + 257 + core_bench = janePackage { 258 + pname = "core_bench"; 259 + hash = "0v6lm9vz6y1qd7h8pg9l5jsy8qr74vlk1nd4qzchld4jhwq7mbdi"; 260 + meta.description = "Benchmarking library"; 261 + propagatedBuildInputs = [ textutils ]; 262 + }; 263 + 264 + core_extended = janePackage { 265 + pname = "core_extended"; 266 + hash = "0sx79hc1y1daczib2p4nbyw4aqnznmdd83knrhs5q153j7lnlalx"; 267 + meta.description = "Extra components that are not as closely vetted or as stable as Core"; 268 + propagatedBuildInputs = [ core_unix record_builder ]; 269 + }; 270 + 271 + core_kernel = janePackage { 272 + pname = "core_kernel"; 273 + hash = "05mb4vbf293iq1xx4acyrmi9cgcw6capwrsa54ils62alby6w6yq"; 274 + meta.description = "System-independent part of Core"; 275 + buildInputs = [ jst-config ]; 276 + propagatedBuildInputs = [ base_bigstring core int_repr sexplib ]; 277 + doCheck = false; # we don't have quickcheck_deprecated 278 + }; 279 + 280 + core_unix = janePackage { 281 + pname = "core_unix"; 282 + hash = "1xzxqzg23in5ivz0v3qshzpr4w92laayscqj9im7jylh2ar1xi0a"; 283 + meta.description = "Unix-specific portions of Core"; 284 + buildInputs = [ jst-config ]; 285 + propagatedBuildInputs = [ core_kernel expect_test_helpers_core ocaml_intrinsics ppx_jane timezone spawn ]; 286 + postPatch = '' 287 + patchShebangs unix_pseudo_terminal/src/discover.sh 288 + ''; 289 + }; 290 + 291 + csvfields = janePackage { 292 + pname = "csvfields"; 293 + hash = "0z47pq17bw776hzvk48ypbd92ps9vlvl86mnhw3j6cqx4ahbjik3"; 294 + propagatedBuildInputs = [ core num ]; 295 + meta.description = "Runtime support for ppx_xml_conv and ppx_csv_conv"; 296 + }; 297 + 298 + delimited_parsing = janePackage { 299 + pname = "delimited_parsing"; 300 + hash = "0d050v58zzi8c4qiwxbfcyrdw6zvncnnl3qj79qi0yq4xkg7820r"; 301 + propagatedBuildInputs = [ async core_extended ]; 302 + meta.description = "Parsing of character (e.g., comma) separated and fixed-width values"; 303 + }; 304 + 305 + ecaml = janePackage { 306 + pname = "ecaml"; 307 + hash = "08g2bl06vkn3bkqzkmvk2646aqb6jj4a7n3wgzpcx1c2gl3iw5i6"; 308 + meta.description = "Library for writing Emacs plugin in OCaml"; 309 + propagatedBuildInputs = [ async expect_test_helpers_core ]; 310 + }; 311 + 312 + email_message = janePackage { 313 + pname = "email_message"; 314 + hash = "00h66l2g5rjaay0hbyqy4v9i866g779miriwv20h9k4mliqdq7in"; 315 + meta.description = "E-mail message parser"; 316 + propagatedBuildInputs = [ angstrom async base64 cryptokit magic-mime re2 ]; 317 + }; 318 + 319 + expect_test_helpers_async = janePackage { 320 + pname = "expect_test_helpers_async"; 321 + hash = "14v4966p5dmqgjb9sgrvnsixv0w0bagicn8v44g9mf9d88z8pfym"; 322 + meta.description = "Async helpers for writing expectation tests"; 323 + propagatedBuildInputs = [ async expect_test_helpers_core ]; 324 + }; 325 + 326 + expect_test_helpers_core = janePackage { 327 + pname = "expect_test_helpers_core"; 328 + hash = "0bxs3g0zzym8agfcbpg5lmrh6hcb86z861bq40xhhfwqf4pzdbfa"; 329 + meta.description = "Helpers for writing expectation tests"; 330 + propagatedBuildInputs = [ core_kernel sexp_pretty ]; 331 + }; 332 + 333 + fieldslib = janePackage { 334 + pname = "fieldslib"; 335 + hash = "0xwf9mdxlyr3f0vv5y82cyw2bsckwl8rwf6jm6bai1gqpgxjq756"; 336 + minimumOCamlVersion = "4.04.2"; 337 + 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"; 338 + propagatedBuildInputs = [ base ]; 339 + }; 340 + 341 + fuzzy_match = janePackage { 342 + pname = "fuzzy_match"; 343 + hash = "0s5w81698b07l5m11nwx8xbjcpmp54dnf5fcrnlva22jrlsf14h4"; 344 + meta.description = "A library for fuzzy string matching"; 345 + propagatedBuildInputs = [ core ppx_jane ]; 346 + }; 347 + 348 + higher_kinded = janePackage { 349 + pname = "higher_kinded"; 350 + minimumOCamlVersion = "4.09"; 351 + hash = "0rafxxajqswi070h8sinhjna0swh1hc6d7i3q7y099yj3wlr2y1l"; 352 + meta.description = "A library with an encoding of higher kinded types in OCaml"; 353 + propagatedBuildInputs = [ base ppx_jane ]; 354 + }; 355 + 356 + incr_dom = janePackage { 357 + pname = "incr_dom"; 358 + hash = "1sija9w2im8vdp61h387w0mww9hh7jgkgsjcccps4lbv936ac7c1"; 359 + meta.description = "A library for building dynamic webapps, using Js_of_ocaml"; 360 + buildInputs = [ js_of_ocaml-ppx ]; 361 + propagatedBuildInputs = [ async_js incr_map incr_select virtual_dom ]; 362 + patches = [ ./incr_dom_jsoo_4_0.patch ]; 363 + }; 364 + 365 + incr_map = janePackage { 366 + pname = "incr_map"; 367 + hash = "0aq8wfylvq68him92vzh1fqmr7r0lfwc5cdiqr10r5x032vzpnii"; 368 + meta.description = "Helpers for incremental operations on map like data structures"; 369 + buildInputs = [ ppx_pattern_bind ]; 370 + propagatedBuildInputs = [ abstract_algebra incremental ]; 371 + }; 372 + 373 + incr_select = janePackage { 374 + pname = "incr_select"; 375 + hash = "0qm2i4hb5jh2ra95kq881s4chkwbd2prvql1c0nahd63h829m57l"; 376 + meta.description = "Handling of large set of incremental outputs from a single input"; 377 + propagatedBuildInputs = [ incremental ]; 378 + }; 379 + 380 + incremental = janePackage { 381 + pname = "incremental"; 382 + hash = "1dp30mhljnbcxqimydwbmxx0x4y4xnb55gyhldm1f5qrwdxdl747"; 383 + meta.description = "Library for incremental computations"; 384 + propagatedBuildInputs = [ core_kernel ]; 385 + }; 386 + 387 + int_repr = janePackage { 388 + pname = "int_repr"; 389 + hash = "0ph88ym3s9dk30n17si2xam40sp8wv1xffw5cl3bskc2vfya1nvl"; 390 + meta.description = "Integers of various widths"; 391 + propagatedBuildInputs = [ base ppx_jane ]; 392 + }; 393 + 394 + jane-street-headers = janePackage { 395 + pname = "jane-street-headers"; 396 + hash = "1lzk3w66x4429n2j75lwm55xafc46mywgdrbh9nc9jwqwgzf0wwx"; 397 + minimumOCamlVersion = "4.04.2"; 398 + meta.description = "Jane Street C header files"; 399 + }; 400 + 401 + jsonaf = janePackage { 402 + pname = "jsonaf"; 403 + hash = "1j9rn8vsvfpgmdpmdqb5qhvss5171j8n3ii1bcgnavqinchbvqa6"; 404 + meta.description = "A library for parsing, manipulating, and serializing data structured as JSON"; 405 + propagatedBuildInputs = [ base ppx_jane angstrom faraday ]; 406 + }; 407 + 408 + jst-config = janePackage { 409 + pname = "jst-config"; 410 + hash = "1lxqsj5k3v8p7g802vj1xc6bs5wrfpszh3q61xvpcd42pf3ahma9"; 411 + meta.description = "Compile-time configuration for Jane Street libraries"; 412 + buildInputs = [ dune-configurator ppx_assert stdio ]; 413 + patches = [ 414 + # remove on next release 415 + (fetchpatch { 416 + url = "https://github.com/janestreet/jst-config/commit/e5fdac6e5df9ba93e014a4d2db841fdbf209446f.patch"; 417 + sha256 = "sha256-8hVC76z5ilYD/++xRHVswy/l+zzDt63jH4hfSJ/rPaA="; 418 + }) 419 + ]; 420 + }; 421 + 422 + ocaml-compiler-libs = janePackage { 423 + pname = "ocaml-compiler-libs"; 424 + version = "0.12.4"; 425 + minimumOCamlVersion = "4.04.1"; 426 + hash = "00if2f7j9d8igdkj4rck3p74y17j6b233l91mq02drzrxj199qjv"; 427 + meta.description = "OCaml compiler libraries repackaged"; 428 + }; 429 + 430 + ocaml-embed-file = janePackage { 431 + pname = "ocaml-embed-file"; 432 + hash = "1nzgc0q05f0j3q1kwfpyhhhpgwrfjvmkqqifrkrm4y7d1i44bfnw"; 433 + propagatedBuildInputs = [ async ppx_jane ]; 434 + meta.description = "Files contents as module constants"; 435 + }; 436 + 437 + ocaml_intrinsics = janePackage { 438 + pname = "ocaml_intrinsics"; 439 + minimumOCamlVersion = "4.08"; 440 + hash = "1fdfl78b8br0j9w4046i0fmmaqn4cgl06q94rsniyagx9747pnsr"; 441 + meta.description = "Intrinsics"; 442 + buildInputs = [ dune-configurator ]; 443 + doCheck = false; # test rules broken 444 + }; 445 + 446 + parsexp = janePackage { 447 + pname = "parsexp"; 448 + hash = "1grzpxi39318vcqhwf723hqh11k68irh59zb3dyg9lw8wjn7752a"; 449 + minimumOCamlVersion = "4.04.2"; 450 + meta.description = "S-expression parsing library"; 451 + propagatedBuildInputs = [ base sexplib0 ]; 452 + }; 453 + 454 + patience_diff = janePackage { 455 + pname = "patience_diff"; 456 + hash = "17yrhn4qfi31m8g1ygb3m6i9z4fqd8f60fn6viazgx06s3x4xp3v"; 457 + meta.description = "Diff library using Bram Cohen's patience diff algorithm"; 458 + propagatedBuildInputs = [ core_kernel ]; 459 + }; 460 + 461 + posixat = janePackage { 462 + pname = "posixat"; 463 + hash = "1xgycwa0janrfn9psb7xrm0820blr82mqf1lvjy9ipqalj7v9w1f"; 464 + minimumOCamlVersion = "4.07"; 465 + propagatedBuildInputs = [ ppx_optcomp ppx_sexp_conv ]; 466 + meta.description = "Binding to the posix *at functions"; 467 + }; 468 + 469 + ppx_accessor = janePackage { 470 + pname = "ppx_accessor"; 471 + minimumOCamlVersion = "4.09"; 472 + hash = "0qv51if1nk0zff2v6q946h8ac7bpd5xa4ivyixl9g4h2mk29w4qb"; 473 + meta.description = "[@@deriving] plugin to generate accessors for use with the Accessor libraries"; 474 + propagatedBuildInputs = [ accessor ]; 475 + }; 476 + 477 + ppx_assert = janePackage { 478 + pname = "ppx_assert"; 479 + hash = "0dic250q3flrjs3i70a2qqqnhqqj75ddlixpy7hdfghjw32azw90"; 480 + minimumOCamlVersion = "4.04.2"; 481 + meta.description = "Assert-like extension nodes that raise useful errors on failure"; 482 + propagatedBuildInputs = [ ppx_cold ppx_compare ppx_here ppx_sexp_conv ]; 483 + }; 484 + 485 + ppx_base = janePackage { 486 + pname = "ppx_base"; 487 + hash = "13rfmy2fxvwi7z5l1mai474ri5anqjm8q4hs7dblplsjjd9m5ld1"; 488 + minimumOCamlVersion = "4.04.2"; 489 + meta.description = "Base set of ppx rewriters"; 490 + propagatedBuildInputs = [ ppx_cold ppx_enumerate ppx_hash ]; 491 + }; 492 + 493 + ppx_bench = janePackage { 494 + pname = "ppx_bench"; 495 + hash = "0bc0gbm922417wqisafxh35jslcp7xy1s0h0a1q32rhx0ivxx3g6"; 496 + minimumOCamlVersion = "4.04.2"; 497 + meta.description = "Syntax extension for writing in-line benchmarks in ocaml code"; 498 + propagatedBuildInputs = [ ppx_inline_test ]; 499 + }; 500 + 501 + ppx_bin_prot = janePackage { 502 + pname = "ppx_bin_prot"; 503 + hash = "1280wsls061fmvmdysjqn3lv4mnkyg400jnjf4jyfr14s33h1ad5"; 504 + minimumOCamlVersion = "4.04.2"; 505 + meta.description = "Generation of bin_prot readers and writers from types"; 506 + propagatedBuildInputs = [ bin_prot ppx_here ]; 507 + doCheck = false; # circular dependency with ppx_jane 508 + }; 509 + 510 + ppx_cold = janePackage { 511 + pname = "ppx_cold"; 512 + hash = "0x7xgpvy0l28k971xy08ibhr4w9nh8d9zvxc6jfxxx4fbfcv5gca"; 513 + minimumOCamlVersion = "4.04.2"; 514 + meta.description = "Expands [@cold] into [@inline never][@specialise never][@local never]"; 515 + propagatedBuildInputs = [ ppxlib ]; 516 + }; 517 + 518 + ppx_compare = janePackage { 519 + pname = "ppx_compare"; 520 + hash = "1wjwqkr71p61vjidbr80l93y4kkad7xsfyp04w8qfqrj7h5nm625"; 521 + minimumOCamlVersion = "4.04.2"; 522 + meta.description = "Generation of comparison functions from types"; 523 + propagatedBuildInputs = [ ppxlib base ]; 524 + }; 525 + 526 + ppx_custom_printf = janePackage { 527 + pname = "ppx_custom_printf"; 528 + hash = "1k8nmq6kwqz2wpkm9ymq749dz1vd8lxrjc711knp1wyz5935hnsv"; 529 + minimumOCamlVersion = "4.04.2"; 530 + meta.description = "Printf-style format-strings for user-defined string conversion"; 531 + propagatedBuildInputs = [ ppx_sexp_conv ]; 532 + }; 533 + 534 + ppx_css = janePackage { 535 + pname = "ppx_css"; 536 + hash = "09dpmj3f3m3z1ji9hq775iqr3cfmv5gh7q9zlblizj4wx4y0ibyi"; 537 + meta.description = "A ppx that takes in css strings and produces a module for accessing the unique names defined within"; 538 + propagatedBuildInputs = [ core_kernel ppxlib js_of_ocaml js_of_ocaml-ppx sedlex ]; 539 + }; 540 + 541 + ppx_disable_unused_warnings = janePackage { 542 + pname = "ppx_disable_unused_warnings"; 543 + hash = "0sb5i4v7p9df2bxk66rjs30k9fqdrwsq1jgykjv6wyrx2d9bv955"; 544 + minimumOCamlVersion = "4.04.2"; 545 + meta.description = "Expands [@disable_unused_warnings] into [@warning \"-20-26-32-33-34-35-36-37-38-39-60-66-67\"]"; 546 + propagatedBuildInputs = [ ppxlib ]; 547 + }; 548 + 549 + ppx_enumerate = janePackage { 550 + pname = "ppx_enumerate"; 551 + hash = "1i0f6jv5cappw3idd70wpg76d7x6mvxapa89kri1bwz47hhg4pkz"; 552 + minimumOCamlVersion = "4.04.2"; 553 + meta.description = "Generate a list containing all values of a finite type"; 554 + propagatedBuildInputs = [ ppxlib ]; 555 + }; 556 + 557 + ppx_expect = janePackage { 558 + pname = "ppx_expect"; 559 + hash = "134dl5qhjxsj2mcmrx9f3m0iys0n5mjfpz9flj8zn8d2jir43776"; 560 + minimumOCamlVersion = "4.04.2"; 561 + meta.description = "Cram like framework for OCaml"; 562 + propagatedBuildInputs = [ ppx_here ppx_inline_test re ]; 563 + doCheck = false; # test build rules broken 564 + }; 565 + 566 + ppx_fields_conv = janePackage { 567 + pname = "ppx_fields_conv"; 568 + hash = "094wsnw7fcwgl9xg6vkjb0wbgpn9scsp847yhdd184sz9v1amz14"; 569 + minimumOCamlVersion = "4.04.2"; 570 + meta.description = "Generation of accessor and iteration functions for ocaml records"; 571 + propagatedBuildInputs = [ fieldslib ppxlib ]; 572 + }; 573 + 574 + ppx_fixed_literal = janePackage { 575 + pname = "ppx_fixed_literal"; 576 + hash = "10siwcqrqa4gh0mg6fkaby0jjskc01r81pcblc67h3vmbjjh08j9"; 577 + minimumOCamlVersion = "4.04.2"; 578 + meta.description = "Simpler notation for fixed point literals"; 579 + propagatedBuildInputs = [ ppxlib ]; 580 + }; 581 + 582 + ppx_hash = janePackage { 583 + pname = "ppx_hash"; 584 + hash = "15agkwavadllzxdv4syjna02083nfnap8qs4yqf5s0adjw73fzyg"; 585 + minimumOCamlVersion = "4.04.2"; 586 + meta.description = "A ppx rewriter that generates hash functions from type expressions and definitions"; 587 + propagatedBuildInputs = [ ppx_compare ppx_sexp_conv ]; 588 + }; 589 + 590 + ppx_here = janePackage { 591 + pname = "ppx_here"; 592 + hash = "0jv81k8x18q8rxdyfwavrvx8yq9k5m3abpmgdg6zipx2ajcjzvag"; 593 + minimumOCamlVersion = "4.04.2"; 594 + meta.description = "Expands [%here] into its location"; 595 + propagatedBuildInputs = [ ppxlib ]; 596 + doCheck = false; # test build rules broken 597 + }; 598 + 599 + ppx_ignore_instrumentation = janePackage { 600 + pname = "ppx_ignore_instrumentation"; 601 + hash = "16fgig88g3jr0m3i636fr52h29h1yzhi8nhnl4029zn808kcdyj2"; 602 + minimumOCamlVersion = "4.08"; 603 + meta.description = "Ignore Jane Street specific instrumentation extensions"; 604 + propagatedBuildInputs = [ ppxlib ]; 605 + }; 606 + 607 + ppx_inline_test = janePackage { 608 + pname = "ppx_inline_test"; 609 + hash = "1a0gaj9p6gbn5j7c258mnzr7yjlq0hqi3aqqgyj1g2dbk1sxdbjz"; 610 + minimumOCamlVersion = "4.04.2"; 611 + meta.description = "Syntax extension for writing in-line tests in ocaml code"; 612 + propagatedBuildInputs = [ ppxlib time_now ]; 613 + doCheck = false; # test build rules broken 614 + }; 615 + 616 + ppx_jane = janePackage { 617 + pname = "ppx_jane"; 618 + hash = "1p6847gdfnnj6qpa4yh57s6wwpsl7rfgy0q7993chz24h9mhz5lk"; 619 + minimumOCamlVersion = "4.04.2"; 620 + meta.description = "Standard Jane Street ppx rewriters"; 621 + propagatedBuildInputs = [ base_quickcheck ppx_bin_prot ppx_disable_unused_warnings ppx_expect ppx_fixed_literal ppx_ignore_instrumentation ppx_log ppx_module_timer ppx_optcomp ppx_optional ppx_pipebang ppx_stable ppx_string ppx_typerep_conv ppx_variants_conv ]; 622 + }; 623 + 624 + ppx_js_style = janePackage { 625 + pname = "ppx_js_style"; 626 + hash = "0q2p9pvmlncgv0hprph95xiv7s6q44ynvp4yl4dckf1qx68rb3ba"; 627 + minimumOCamlVersion = "4.04.2"; 628 + meta.description = "Code style checker for Jane Street Packages"; 629 + propagatedBuildInputs = [ octavius ppxlib ]; 630 + }; 631 + 632 + ppx_let = janePackage { 633 + pname = "ppx_let"; 634 + hash = "04v3fq0vnvvavxbc7hfsrg8732pwxbyw8pjl3xfplqdqci6fj15n"; 635 + minimumOCamlVersion = "4.04.2"; 636 + meta.description = "Monadic let-bindings"; 637 + propagatedBuildInputs = [ ppxlib ppx_here ]; 638 + }; 639 + 640 + ppx_log = janePackage { 641 + pname = "ppx_log"; 642 + hash = "08i9gz3f4w3bmlrfdw7ja9awsfkhhldz03bnnc4hijfmn8sawzi0"; 643 + minimumOCamlVersion = "4.08.0"; 644 + meta.description = "Ppx_sexp_message-like extension nodes for lazily rendering log messages"; 645 + propagatedBuildInputs = [ base ppx_here ppx_sexp_conv ppx_sexp_message sexplib ]; 646 + }; 647 + 648 + ppx_module_timer = janePackage { 649 + pname = "ppx_module_timer"; 650 + hash = "0lzi5hxi10p89ddqbrc667267f888kqslal76gfhmszyk60n20av"; 651 + minimumOCamlVersion = "4.04.2"; 652 + meta.description = "Ppx rewriter that records top-level module startup times"; 653 + propagatedBuildInputs = [ time_now ]; 654 + }; 655 + 656 + ppx_optcomp = janePackage { 657 + pname = "ppx_optcomp"; 658 + hash = "0ypivfipi8fcr9pqyvl2ajpcivmr1irdwwv248i4x6mggpc2pl0b"; 659 + minimumOCamlVersion = "4.04.2"; 660 + meta.description = "Optional compilation for OCaml"; 661 + propagatedBuildInputs = [ ppxlib ]; 662 + }; 663 + 664 + ppx_optional = janePackage { 665 + pname = "ppx_optional"; 666 + hash = "0amxwxhkyzamgnxx400qhvxzqr3m4sazhhkc516lm007pynv7xq2"; 667 + minimumOCamlVersion = "4.04.2"; 668 + meta.description = "Pattern matching on flat options"; 669 + propagatedBuildInputs = [ ppxlib ]; 670 + }; 671 + 672 + ppx_pattern_bind = janePackage { 673 + pname = "ppx_pattern_bind"; 674 + hash = "01nfdk9yvk92r7sjl4ngxfsx8fyqh2dsjxz0i299nszv9jc4rn4f"; 675 + minimumOCamlVersion = "4.07"; 676 + meta.description = "A ppx for writing fast incremental bind nodes in a pattern match"; 677 + propagatedBuildInputs = [ ppx_let ]; 678 + }; 679 + 680 + ppx_pipebang = janePackage { 681 + pname = "ppx_pipebang"; 682 + hash = "0sm5dghyalhws3hy1cc2ih36az1k4q02hcgj6l26gwyma3y4irvq"; 683 + minimumOCamlVersion = "4.04.2"; 684 + meta.description = "A ppx rewriter that inlines reverse application operators `|>` and `|!`"; 685 + propagatedBuildInputs = [ ppxlib ]; 686 + }; 687 + 688 + ppx_python = janePackage { 689 + pname = "ppx_python"; 690 + hash = "1d2wf0rkvxg07q6xq2zmxh6hmvnwlsmny3mm92jsg1s7bdl39gap"; 691 + meta.description = "A [@@deriving] plugin to generate Python conversion functions "; 692 + propagatedBuildInputs = [ ppx_base ppxlib pyml ]; 693 + }; 694 + 695 + ppx_sexp_conv = janePackage { 696 + pname = "ppx_sexp_conv"; 697 + minimumOCamlVersion = "4.04.2"; 698 + hash = "1fyf7hgxprn7pj58rmmrfpv938a0avpzvvk6wzihpmfm6whgbdm8"; 699 + meta.description = "[@@deriving] plugin to generate S-expression conversion functions"; 700 + propagatedBuildInputs = [ ppxlib sexplib0 base ]; 701 + }; 702 + 703 + ppx_sexp_message = janePackage { 704 + pname = "ppx_sexp_message"; 705 + hash = "0a7hx50bkkc5n5msc3zzc4ixnp7674x3mallknb9j31jnd8l90nj"; 706 + minimumOCamlVersion = "4.04.2"; 707 + meta.description = "A ppx rewriter for easy construction of s-expressions"; 708 + propagatedBuildInputs = [ ppx_here ppx_sexp_conv ]; 709 + }; 710 + 711 + ppx_sexp_value = janePackage { 712 + pname = "ppx_sexp_value"; 713 + hash = "0kz83j9v6yz3v8c6vr9ilhkcci4hhjd6i6r6afnx72jh6i7d3hnv"; 714 + minimumOCamlVersion = "4.04.2"; 715 + meta.description = "A ppx rewriter that simplifies building s-expressions from ocaml values"; 716 + propagatedBuildInputs = [ ppx_here ppx_sexp_conv ]; 717 + }; 718 + 719 + ppx_stable = janePackage { 720 + pname = "ppx_stable"; 721 + hash = "1as0v0x8c9ilyhngax55lvwyyi4a2wshyan668v0f2s1608cwb1l"; 722 + minimumOCamlVersion = "4.04.2"; 723 + meta.description = "Stable types conversions generator"; 724 + propagatedBuildInputs = [ ppxlib ]; 725 + }; 726 + 727 + ppx_string = janePackage { 728 + pname = "ppx_string"; 729 + minimumOCamlVersion = "4.04.2"; 730 + hash = "1dp5frk6cig5m3m5rrh2alw63snyf845x7zlkkaljip02pqcbw1s"; 731 + meta.description = "Ppx extension for string interpolation"; 732 + propagatedBuildInputs = [ ppx_base ppxlib stdio ]; 733 + }; 734 + 735 + ppx_typed_fields = janePackage { 736 + pname = "ppx_typed_fields"; 737 + hash = "0hxililjgy4jh66b4xmphrfhv6qpp7dz7xbz3islp357hf18niqy"; 738 + meta.description = "GADT-based field accessors and utilities"; 739 + propagatedBuildInputs = [ core ppx_jane ppxlib ]; 740 + }; 741 + 742 + ppx_typerep_conv = janePackage { 743 + pname = "ppx_typerep_conv"; 744 + minimumOCamlVersion = "4.04.2"; 745 + hash = "1q1lzykpm83ra4l5jh4rfddhd3c96kx4s4rvx0w4b51z1qk56zam"; 746 + meta.description = "Generation of runtime types from type declarations"; 747 + propagatedBuildInputs = [ ppxlib typerep ]; 748 + }; 749 + 750 + ppx_variants_conv = janePackage { 751 + pname = "ppx_variants_conv"; 752 + minimumOCamlVersion = "4.04.2"; 753 + hash = "1dh0bw9dn246k00pymf59yjkl6x6bxd76lkk9b5xpq2692wwlc3s"; 754 + meta.description = "Generation of accessor and iteration functions for ocaml variant types"; 755 + propagatedBuildInputs = [ variantslib ppxlib ]; 756 + }; 757 + 758 + profunctor = janePackage { 759 + pname = "profunctor"; 760 + hash = "151vk0cagjwn0isnnwryn6gmvnpds4dyj1in9jvv5is8yij203gg"; 761 + meta.description = "A library providing a signature for simple profunctors and traversal of a record"; 762 + propagatedBuildInputs = [ base ppx_jane record_builder ]; 763 + }; 764 + 765 + protocol_version_header = janePackage { 766 + pname = "protocol_version_header"; 767 + hash = "0s638cwf1357gg754rc4306654hhrhzqaqm2lp3yv5vj3ml8p4qy"; 768 + meta.description = "Protocol versioning"; 769 + propagatedBuildInputs = [ core_kernel ]; 770 + }; 771 + 772 + pythonlib = janePackage { 773 + pname = "pythonlib"; 774 + hash = "0p88vmp19zmr0r58dz6sawsmbn4yi2vyymad2c82kp93kg66nm1v"; 775 + meta.description = "A library to help writing wrappers around ocaml code for python"; 776 + patches = lib.optional (lib.versionAtLeast ocaml.version "4.13") ./pythonlib.patch; 777 + propagatedBuildInputs = [ ppx_expect ppx_let ppx_python stdio typerep ]; 778 + }; 779 + 780 + re2 = janePackage { 781 + pname = "re2"; 782 + hash = "0z1cajd8abrryf3gz322jpynba79nv4a2kmmcdz0314ran5w68v3"; 783 + meta.description = "OCaml bindings for RE2, Google's regular expression library"; 784 + propagatedBuildInputs = [ core_kernel ]; 785 + prePatch = '' 786 + substituteInPlace src/re2_c/dune --replace 'CXX=g++' 'CXX=c++' 787 + substituteInPlace src/dune --replace '(cxx_flags (:standard \ -pedantic) (-I re2_c/libre2))' '(cxx_flags (:standard \ -pedantic) (-I re2_c/libre2) (-x c++))' 788 + ''; 789 + }; 790 + 791 + re2_stable = janePackage { 792 + pname = "re2_stable"; 793 + version = "0.14.0"; 794 + hash = "0kjc0ff6b3509s3b9n4q8ilb06d5fngdh3z58cm95vg7zkcas9w3"; 795 + meta.description = "Re2_stable adds an incomplete but stable serialization of Re2"; 796 + propagatedBuildInputs = [ core re2 ]; 797 + }; 798 + 799 + record_builder = janePackage { 800 + pname = "record_builder"; 801 + hash = "004nqcmwll0vy47mb3d3jlk21cc6adcjy62dkv2k966n9jkh472h"; 802 + meta.description = "A library which provides traversal of records with an applicative"; 803 + propagatedBuildInputs = [ base ppx_jane ]; 804 + }; 805 + 806 + resource_cache = janePackage { 807 + pname = "resource_cache"; 808 + hash = "13wzx8ixgbb7jj5yrps890irw2wvkchnihsn7rfrcvnvrjzzjshm"; 809 + meta.description = "General resource cache"; 810 + propagatedBuildInputs = [ async_rpc_kernel ]; 811 + }; 812 + 813 + sexp = janePackage { 814 + pname = "sexp"; 815 + hash = "00xlsymm1mpgs8cqkb6c36vh5hfw0saghvwiqh7jry65qc5nvv9z"; 816 + propagatedBuildInputs = [ 817 + async 818 + core 819 + csvfields 820 + jsonaf 821 + re2 822 + sexp_diff 823 + sexp_macro 824 + sexp_pretty 825 + sexp_select 826 + ]; 827 + meta.description = "S-expression swiss knife"; 828 + }; 829 + 830 + sexp_diff = janePackage { 831 + pname = "sexp_diff"; 832 + hash = "1p5xwhj634ij4a0m5k6a3abddi5315y7is1a6ha1lifdz3v985ll"; 833 + propagatedBuildInputs = [ core_kernel ]; 834 + meta.description = "Code for computing the diff of two sexps"; 835 + }; 836 + 837 + sexp_macro = janePackage { 838 + pname = "sexp_macro"; 839 + hash = "1l5dsv9gawmf5dg3rf8sxphp9qs3n4n038nlmf9rxzypzyn112k8"; 840 + propagatedBuildInputs = [ async sexplib ]; 841 + meta.description = "Sexp macros"; 842 + }; 843 + 844 + sexp_pretty = janePackage { 845 + pname = "sexp_pretty"; 846 + hash = "1p1jspwjvrhm8li22xl0n8wngs12d9g7nc1svk6xc32jralnxblg"; 847 + minimumOCamlVersion = "4.07"; 848 + meta.description = "S-expression pretty-printer"; 849 + propagatedBuildInputs = [ ppx_base re sexplib ]; 850 + }; 851 + 852 + sexp_select = janePackage { 853 + pname = "sexp_select"; 854 + hash = "0mmvga9w3gbb2gd1h4l8f1c3l2lrpn1zld2a8xgqyfqfff3vg31p"; 855 + minimumOCamlVersion = "4.07"; 856 + propagatedBuildInputs = [ base ppx_jane ]; 857 + meta.description = "A library to use CSS-style selectors to traverse sexp trees"; 858 + }; 859 + 860 + sexplib0 = janePackage { 861 + pname = "sexplib0"; 862 + hash = "0jag0bz2173b0n7hx013fhghydhh92arqjlrcnf5x025bw8nz66v"; 863 + minimumOCamlVersion = "4.04.2"; 864 + meta.description = "Library containing the definition of S-expressions and some base converters"; 865 + }; 866 + 867 + sexplib = janePackage { 868 + pname = "sexplib"; 869 + hash = "05h34fm3p0179xivc14bixc50pzc8zws46l5gsq310kpm37srq3c"; 870 + minimumOCamlVersion = "4.04.2"; 871 + meta.description = "Library for serializing OCaml values to and from S-expressions"; 872 + propagatedBuildInputs = [ num parsexp ]; 873 + }; 874 + 875 + shell = janePackage { 876 + pname = "shell"; 877 + hash = "1vzdif7w9y1kw2qynlfixwphdgiflrf43j0fzinjp9f56vlhghhy"; 878 + meta.description = "Yet another implementation of fork&exec and related functionality"; 879 + buildInputs = [ jst-config ]; 880 + propagatedBuildInputs = [ textutils ]; 881 + checkInputs = [ ounit ]; 882 + # This currently fails with dune 883 + strictDeps = false; 884 + }; 885 + 886 + shexp = janePackage { 887 + pname = "shexp"; 888 + hash = "05iswnhi92f4yvrh76j3254bvls6fbrdb56mv6vc6mi5f8z4l79i"; 889 + minimumOCamlVersion = "4.07"; 890 + propagatedBuildInputs = [ posixat spawn ]; 891 + meta.description = "Process library and s-expression based shell"; 892 + }; 893 + 894 + spawn = janePackage { 895 + pname = "spawn"; 896 + minimumOCamlVersion = "4.02.3"; 897 + hash = "1fjr91psas5zmk1hxvxh0dchhn0pkyzlr4gg232f5g9vdgissi0p"; 898 + meta.description = "Spawning sub-processes"; 899 + buildInputs = [ ppx_expect ]; 900 + }; 901 + 902 + splay_tree = janePackage { 903 + pname = "splay_tree"; 904 + hash = "1jxfh7f2hjrms5pm2cy1cf6ivphgiqqvyyr9hdcz8d3vi612p4dm"; 905 + meta.description = "A splay tree implementation"; 906 + propagatedBuildInputs = [ core_kernel ]; 907 + }; 908 + 909 + splittable_random = janePackage { 910 + pname = "splittable_random"; 911 + hash = "0ap5z4z1aagz4z02q9642cbl25jzws9lbc2x5xkpyjlc0qcm9v3m"; 912 + meta.description = "PRNG that can be split into independent streams"; 913 + propagatedBuildInputs = [ base ppx_assert ppx_bench ppx_sexp_message ]; 914 + }; 915 + 916 + stdio = janePackage { 917 + pname = "stdio"; 918 + hash = "0g00b00kpjcadikq2asng35w7kvd24q9ldkiylwmn3gv3lrbipa8"; 919 + minimumOCamlVersion = "4.04.2"; 920 + meta.description = "Standard IO library for OCaml"; 921 + propagatedBuildInputs = [ base ]; 922 + }; 923 + 924 + textutils = janePackage { 925 + pname = "textutils"; 926 + hash = "1wass49h645wql9b7nck2iqlkf4648dkxvlvxixr7z80zcnb5rxr"; 927 + meta.description = "Text output utilities"; 928 + propagatedBuildInputs = [ core_unix textutils_kernel ]; 929 + }; 930 + 931 + textutils_kernel = janePackage { 932 + pname = "textutils_kernel"; 933 + hash = "068g11d98wsb5a6ds0p5xybdmx5nx9bxa0k11dmh3l57kn4c169x"; 934 + meta.description = "Text output utilities"; 935 + propagatedBuildInputs = [ core ppx_jane uutf ]; 936 + }; 937 + 938 + time_now = janePackage { 939 + pname = "time_now"; 940 + hash = "1pa0hyh470j9jylii4983qagb6hq2dz6s0q2fnrcph9qbw83bc0c"; 941 + minimumOCamlVersion = "4.04.2"; 942 + meta.description = "Reports the current time"; 943 + buildInputs = [ jst-config ppx_optcomp ]; 944 + propagatedBuildInputs = [ jane-street-headers base ppx_base ]; 945 + }; 946 + 947 + timezone = janePackage { 948 + pname = "timezone"; 949 + hash = "00a007aji5rbz42kgbq1w90py6fm9k9akycs5abkcfll5rd0cbhx"; 950 + meta.description = "Time-zone handling"; 951 + propagatedBuildInputs = [ core_kernel ]; 952 + }; 953 + 954 + topological_sort = janePackage { 955 + pname = "topological_sort"; 956 + hash = "0iqhp8n6g5n1ng80brjpav54229lykm2c1fc104s58lk3rqfvj9v"; 957 + meta.description = "Topological sort algorithm"; 958 + propagatedBuildInputs = [ ppx_jane stdio ]; 959 + }; 960 + 961 + typerep = janePackage { 962 + pname = "typerep"; 963 + hash = "1qxfi01qim0hrgd6d0bgvpxg36i99mmm8cw4wqpr9kxyqvgzv26z"; 964 + minimumOCamlVersion = "4.04.2"; 965 + meta.description = "Typerep is a library for runtime types"; 966 + propagatedBuildInputs = [ base ]; 967 + }; 968 + 969 + variantslib = janePackage { 970 + pname = "variantslib"; 971 + hash = "033ns8ph6bd8g5cdfryjfcnrnzkdshppjyw5kl7cvszjfrz33ij7"; 972 + minimumOCamlVersion = "4.04.2"; 973 + meta.description = "Part of Jane Street's Core library"; 974 + propagatedBuildInputs = [ base ]; 975 + }; 976 + 977 + vcaml = janePackage { 978 + pname = "vcaml"; 979 + hash = "12fd29x9dgf4f14xrx7z4y1bm1wbfynrs3jismjbiqnckfpbqrib"; 980 + meta.description = "OCaml bindings for the Neovim API"; 981 + propagatedBuildInputs = [ angstrom-async async_extra expect_test_helpers_async faraday ]; 982 + }; 983 + 984 + virtual_dom = janePackage { 985 + pname = "virtual_dom"; 986 + hash = "15xia9v4ighzm0gv3vbqk9nvg47cvzqmfnl2zr67yxv4b98kyzv3"; 987 + meta.description = "OCaml bindings for the virtual-dom library"; 988 + buildInputs = [ js_of_ocaml-ppx ]; 989 + propagatedBuildInputs = [ core_kernel gen_js_api js_of_ocaml lambdasoup tyxml ]; 990 + }; 991 + 992 + zarith_stubs_js = janePackage { 993 + pname = "zarith_stubs_js"; 994 + hash = "119xgr3kla9q1bvs4a5z2ivbmsrz4db3a9z0gf77ryqg4i22ywvl"; 995 + minimumOCamlVersion = "4.04.2"; 996 + meta.description = "Javascripts stubs for the Zarith library"; 997 + }; 998 + 999 + zstandard = janePackage { 1000 + pname = "zstandard"; 1001 + hash = "1blkv35g5q1drkc6zmc4m027gjz6vfdadra1kw1xkp1wlc2l4v3k"; 1002 + meta.description = "OCaml bindings to Zstandard"; 1003 + buildInputs = [ ppx_jane ]; 1004 + propagatedBuildInputs = [ core_kernel ctypes zstd ]; 1005 + }; 1006 + 1007 + }
+13
pkgs/development/ocaml-modules/janestreet/bonsai_jsoo_4_0.patch
··· 1 + diff --git a/web_ui/element_size_hooks/visibility_tracker.ml b/web_ui/element_size_hooks/visibility_tracker.ml 2 + index 2e5dbe0..61df433 100644 3 + --- a/web_ui/element_size_hooks/visibility_tracker.ml 4 + +++ b/web_ui/element_size_hooks/visibility_tracker.ml 5 + @@ -23,8 +23,6 @@ let get_conservative_vis_bounds (element : Dom_html.element Js.t) : Bounds.t opt 6 + and client_height = client_bounds##.height 7 + and window_height = Dom_html.window##.innerHeight 8 + and window_width = Dom_html.window##.innerWidth in 9 + - let%bind.Option window_height = Js.Optdef.to_option window_height in 10 + - let%bind.Option window_width = Js.Optdef.to_option window_width in 11 + let window_height = Float.of_int window_height 12 + and window_width = Float.of_int window_width 13 + and client_width = Js.Optdef.get client_width (Fn.const 0.0)
+31
pkgs/development/ocaml-modules/janestreet/janePackage_0_15.nix
··· 1 + { lib, fetchFromGitHub, buildDunePackage, defaultVersion ? "0.15.0" }: 2 + 3 + { pname 4 + , version ? defaultVersion 5 + , hash 6 + , minimumOCamlVersion ? "4.11" 7 + , doCheck ? true 8 + , buildInputs ? [] 9 + , strictDeps ? true 10 + , ...}@args: 11 + 12 + buildDunePackage (args // { 13 + useDune2 = true; 14 + inherit version buildInputs strictDeps; 15 + 16 + inherit minimumOCamlVersion; 17 + 18 + src = fetchFromGitHub { 19 + owner = "janestreet"; 20 + repo = pname; 21 + rev = "v${version}"; 22 + sha256 = hash; 23 + }; 24 + 25 + inherit doCheck; 26 + 27 + meta = { 28 + license = lib.licenses.mit; 29 + homepage = "https://github.com/janestreet/${pname}"; 30 + } // args.meta; 31 + })
+22
pkgs/development/ocaml-modules/janestreet/pythonlib.patch
··· 1 + diff --git a/src/type.ml b/src/type.ml 2 + index 8a9e648..3f3b0e9 100644 3 + --- a/src/type.ml 4 + +++ b/src/type.ml 5 + @@ -31,12 +31,12 @@ let of_type_desc type_desc ~env = 6 + | Tunivar _ -> Or_error.error_string "not handled: Tunivar" 7 + | Tvariant _ -> Or_error.error_string "not handled: Tvariant" 8 + | Tnil -> Or_error.error_string "not handled: Tnil" 9 + - | Tobject (_, _) -> Or_error.error_string "not handled: Tobject" 10 + - | Tfield (_, _, _, _) -> Or_error.error_string "not handled: Tfield" 11 + - | Tpackage (_, _, _) -> Or_error.error_string "not handled: Tpackage" 12 + - | Tpoly (_, _) -> Or_error.error_string "not handled: Tpoly" 13 + + | Tobject _ -> Or_error.error_string "not handled: Tobject" 14 + + | Tfield _ -> Or_error.error_string "not handled: Tfield" 15 + + | Tpackage _ -> Or_error.error_string "not handled: Tpackage" 16 + + | Tpoly _ -> Or_error.error_string "not handled: Tpoly" 17 + | Tlink e -> walk e.desc 18 + - | Tsubst e -> walk e.desc 19 + + | Tsubst (e, _) -> walk e.desc 20 + | Ttuple es -> 21 + let%bind tuple = List.map es ~f:(fun e -> walk e.desc) |> Or_error.all in 22 + (match tuple with
+7 -10
pkgs/development/ocaml-modules/phylogenetics/default.nix
··· 1 1 { lib 2 2 , buildDunePackage 3 - , fetchurl 3 + , fetchFromGitHub 4 4 , ppx_deriving 5 5 , bppsuite 6 6 , alcotest ··· 16 16 17 17 buildDunePackage rec { 18 18 pname = "phylogenetics"; 19 - version = "0.1.0"; 19 + version = "unstable-2022-05-06"; 20 20 21 - src = fetchurl { 22 - url = "https://github.com/biocaml/phylogenetics/releases/download/v${version}/${pname}-${version}.tbz"; 23 - sha256 = "sha256:064ldljzh17h8pp0c27xd1pf6c50yhccw2g3hddzhk07a95q8v16"; 21 + src = fetchFromGitHub { 22 + owner = "biocaml"; 23 + repo = pname; 24 + rev = "cd7c624d0f98e31b02933ca4511b9809b26d35b5"; 25 + sha256 = "sha256:0w0xyah3hj05hxg1rsa40hhma3dm1cyq0zvnjrihhf22laxap7ga"; 24 26 }; 25 - 26 - # Ensure compatibility with printbox ≥ 0.6 27 - preConfigure = '' 28 - substituteInPlace lib/dune --replace printbox printbox-text 29 - ''; 30 27 31 28 minimalOCamlVersion = "4.08"; 32 29
+3 -3
pkgs/development/ocaml-modules/tls/default.nix
··· 6 6 7 7 buildDunePackage rec { 8 8 pname = "tls"; 9 - version = "0.15.2"; 9 + version = "0.15.3"; 10 10 11 11 src = fetchurl { 12 - url = "https://github.com/mirleft/ocaml-tls/releases/download/v${version}/tls-v${version}.tbz"; 13 - sha256 = "b76371757249bbeabb12c333de4ea2a09c095767bdbbc83322538c0da1fc1e36"; 12 + url = "https://github.com/mirleft/ocaml-tls/releases/download/v${version}/tls-${version}.tbz"; 13 + sha256 = "0nj6fhgrirn8ky4hb24m3ilhr41ynzgk6bqmjs17g8rdibwmdd2x"; 14 14 }; 15 15 16 16 minimumOCamlVersion = "4.08";
+1025
pkgs/development/tools/comby/comby.patch
··· 1 + diff --git a/comby-kernel.opam b/comby-kernel.opam 2 + index 828c5a3..00f6c3d 100644 3 + --- a/comby-kernel.opam 4 + +++ b/comby-kernel.opam 5 + @@ -20,7 +20,7 @@ build: [ 6 + depends: [ 7 + "dune" {>= "2.8.0"} 8 + "ocaml" {>= "4.08.1"} 9 + - "core_kernel" 10 + + "core_kernel" {>= "v0.15.0"} 11 + "mparser" {>= "1.3"} 12 + "mparser-pcre" 13 + "ppx_deriving" 14 + diff --git a/comby-semantic.opam b/comby-semantic.opam 15 + index cb9dcc7..443749f 100644 16 + --- a/comby-semantic.opam 17 + +++ b/comby-semantic.opam 18 + @@ -20,7 +20,7 @@ build: [ 19 + depends: [ 20 + "dune" {>= "2.8.0"} 21 + "ocaml" {>= "4.08.1"} 22 + - "core_kernel" 23 + + "core_kernel" {>= "v0.15.0"} 24 + "ppx_deriving" 25 + "lwt" 26 + "cohttp" 27 + diff --git a/comby.opam b/comby.opam 28 + index 98bdc19..d45892c 100644 29 + --- a/comby.opam 30 + +++ b/comby.opam 31 + @@ -31,7 +31,7 @@ depends: [ 32 + "cohttp-lwt-unix" 33 + "comby-kernel" {= "1.7.0"} 34 + "comby-semantic" {= "1.7.0"} 35 + - "core" 36 + + "core" {>= "v0.15.0"} 37 + "hack_parallel" {arch != "arm32" & arch != "arm64"} 38 + "lwt" 39 + "lwt_react" 40 + diff --git a/dune b/dune 41 + index 53b1312..a71571a 100644 42 + --- a/dune 43 + +++ b/dune 44 + @@ -1,6 +1,8 @@ 45 + (env 46 + (dev 47 + - (flags (:standard -w A-3-4-32-34-37-39-40-41-42-44-45-48-49-50-57-60-66-67))) 48 + + (flags 49 + + (:standard -w A-3-4-32-34-37-39-40-41-42-44-45-48-49-50-57-60-66-67))) 50 + (release 51 + - (flags (:standard -w A-3-4-32-34-37-39-40-41-42-44-45-48-49-50-57-60-66-67)) 52 + - (ocamlopt_flags (-O3)))) 53 + + (flags 54 + + (:standard -w A-3-4-32-34-37-39-40-41-42-44-45-48-49-50-57-60-66-67)) 55 + + (ocamlopt_flags (-O3)))) 56 + diff --git a/lib/app/configuration/command_configuration.ml b/lib/app/configuration/command_configuration.ml 57 + index eed8420..aea4dfa 100644 58 + --- a/lib/app/configuration/command_configuration.ml 59 + +++ b/lib/app/configuration/command_configuration.ml 60 + @@ -16,21 +16,21 @@ type 'a next = 61 + 62 + let fold_directory ?(sorted=false) root ~init ~f = 63 + let rec aux acc absolute_path depth = 64 + - if Sys.is_file absolute_path = `Yes then 65 + + if Sys_unix.is_file absolute_path = `Yes then 66 + match f acc ~depth ~absolute_path ~is_file:true with 67 + | Continue acc 68 + | Skip acc -> acc 69 + - else if Sys.is_directory absolute_path = `Yes then 70 + + else if Sys_unix.is_directory absolute_path = `Yes then 71 + match f acc ~depth ~absolute_path ~is_file:false with 72 + | Skip acc -> acc 73 + | Continue acc -> 74 + let dir_contents = 75 + if Option.is_some (Sys.getenv "COMBY_TEST") || sorted then 76 + - Sys.ls_dir absolute_path 77 + + Sys_unix.ls_dir absolute_path 78 + |> List.sort ~compare:String.compare 79 + |> List.rev 80 + else 81 + - Sys.ls_dir absolute_path 82 + + Sys_unix.ls_dir absolute_path 83 + in 84 + List.fold dir_contents ~init:acc ~f:(fun acc subdir -> 85 + aux acc (Filename.concat absolute_path subdir) (depth + 1)) 86 + @@ -50,8 +50,8 @@ let parse_source_directories 87 + let exact_file_paths, file_patterns = 88 + List.partition_map file_filters ~f:(fun path -> 89 + let is_exact path = 90 + - (String.contains path '/' && Sys.is_file path = `Yes) 91 + - || (Sys.is_file ("." ^/ path) = `Yes) (* See if it matches something in the current directory *) 92 + + (String.contains path '/' && Sys_unix.is_file path = `Yes) 93 + + || (Sys_unix.is_file ("." ^/ path) = `Yes) (* See if it matches something in the current directory *) 94 + in 95 + if is_exact path then Either.First path else Either.Second path) 96 + in 97 + @@ -167,8 +167,8 @@ let parse_templates ?metasyntax ?(warn_for_missing_file_in_dir = false) paths = 98 + let f acc ~depth:_ ~absolute_path ~is_file = 99 + let is_leaf_directory absolute_path = 100 + not is_file && 101 + - Sys.ls_dir absolute_path 102 + - |> List.for_all ~f:(fun path -> Sys.is_directory (absolute_path ^/ path) = `No) 103 + + Sys_unix.ls_dir absolute_path 104 + + |> List.for_all ~f:(fun path -> Sys_unix.is_directory (absolute_path ^/ path) = `No) 105 + in 106 + if is_leaf_directory absolute_path then 107 + match parse_directory absolute_path with 108 + @@ -178,7 +178,7 @@ let parse_templates ?metasyntax ?(warn_for_missing_file_in_dir = false) paths = 109 + Continue acc 110 + in 111 + List.concat_map paths ~f:(fun path -> 112 + - if Sys.is_directory path = `Yes then 113 + + if Sys_unix.is_directory path = `Yes then 114 + fold_directory path ~sorted:true ~init:[] ~f 115 + else 116 + parse_toml ?metasyntax path) 117 + @@ -421,7 +421,7 @@ let parse_metasyntax metasyntax_path = 118 + match metasyntax_path with 119 + | None -> Matchers.Metasyntax.default_metasyntax 120 + | Some metasyntax_path -> 121 + - match Sys.file_exists metasyntax_path with 122 + + match Sys_unix.file_exists metasyntax_path with 123 + | `No | `Unknown -> 124 + Format.eprintf "Could not open file: %s@." metasyntax_path; 125 + exit 1 126 + @@ -470,12 +470,12 @@ let emit_errors { input_options; output_options; _ } = 127 + ; Option.is_some input_options.directory_depth 128 + && Option.value_exn (input_options.directory_depth) < 0 129 + , "-depth must be 0 or greater." 130 + - ; Sys.is_directory input_options.target_directory = `No 131 + + ; Sys_unix.is_directory input_options.target_directory = `No 132 + , "Directory specified with -d or -directory is not a directory." 133 + ; output_options.json_only_diff && not output_options.json_lines 134 + , "-json-only-diff can only be supplied with -json-lines." 135 + ; Option.is_some output_options.interactive_review && 136 + - (not (String.equal input_options.target_directory (Sys.getcwd ()))) 137 + + (not (String.equal input_options.target_directory (Sys_unix.getcwd ()))) 138 + , "Please remove the -d option and `cd` to the directory where you want to \ 139 + review from. The -review, -editor, or -default-no options should only be run \ 140 + at the root directory of the project files to patch." 141 + @@ -483,11 +483,11 @@ let emit_errors { input_options; output_options; _ } = 142 + match input_options.templates with 143 + | Some inputs -> 144 + List.find_map inputs ~f:(fun input -> 145 + - if Sys.is_file input = `Yes then 146 + + if Sys_unix.is_file input = `Yes then 147 + (match Toml.Parser.from_filename input with 148 + | `Error (s, _) -> Some s 149 + | _ -> None) 150 + - else if not (Sys.is_directory input = `Yes) then 151 + + else if not (Sys_unix.is_directory input = `Yes) then 152 + Some (Format.sprintf "Directory %S specified with -templates is not a directory." input) 153 + else 154 + None) 155 + @@ -599,7 +599,7 @@ let filter_zip_entries file_filters exclude_directory_prefix exclude_file_prefix 156 + 157 + let syntax custom_matcher_path = 158 + match 159 + - Sys.file_exists custom_matcher_path with 160 + + Sys_unix.file_exists custom_matcher_path with 161 + | `No | `Unknown -> 162 + Format.eprintf "Could not open file: %s@." custom_matcher_path; 163 + exit 1 164 + @@ -783,7 +783,7 @@ let create 165 + | Directory -> 166 + let target_directory = 167 + if target_directory = "." then 168 + - Filename.realpath target_directory 169 + + Filename_unix.realpath target_directory 170 + else 171 + target_directory 172 + in 173 + diff --git a/lib/app/configuration/dune b/lib/app/configuration/dune 174 + index e0f9748..e417cfe 100644 175 + --- a/lib/app/configuration/dune 176 + +++ b/lib/app/configuration/dune 177 + @@ -1,6 +1,21 @@ 178 + (library 179 + - (name configuration) 180 + - (public_name comby.configuration) 181 + - (instrumentation (backend bisect_ppx)) 182 + - (preprocess (pps ppx_deriving.show ppx_sexp_conv ppx_sexp_message ppx_deriving_yojson)) 183 + - (libraries comby-kernel comby-semantic comby.patdiff comby.camlzip core yojson ppx_deriving_yojson toml lwt lwt.unix tar tar-unix)) 184 + + (name configuration) 185 + + (public_name comby.configuration) 186 + + (instrumentation 187 + + (backend bisect_ppx)) 188 + + (preprocess 189 + + (pps ppx_deriving.show ppx_sexp_conv ppx_sexp_message ppx_deriving_yojson)) 190 + + (libraries 191 + + comby-kernel 192 + + comby-semantic 193 + + comby.patdiff 194 + + comby.camlzip 195 + + core 196 + + core_unix.sys_unix 197 + + yojson 198 + + ppx_deriving_yojson 199 + + toml 200 + + lwt 201 + + lwt.unix 202 + + tar 203 + + tar-unix)) 204 + diff --git a/lib/app/configuration/external_semantic.ml b/lib/app/configuration/external_semantic.ml 205 + index bdc7051..ac69b1b 100644 206 + --- a/lib/app/configuration/external_semantic.ml 207 + +++ b/lib/app/configuration/external_semantic.ml 208 + @@ -2,13 +2,10 @@ open Core_kernel 209 + 210 + open Comby_semantic 211 + 212 + -let debug = 213 + - match Sys.getenv "DEBUG_COMBY" with 214 + - | exception Not_found -> false 215 + - | _ -> true 216 + +let debug = Sys.getenv "DEBUG_COMBY" |> Option.is_some 217 + 218 + let lsif_hover ~name:_ ~filepath ~line ~column = 219 + - String.chop_prefix_if_exists filepath ~prefix:(Sys.getcwd ()) |> fun filepath_relative_root -> 220 + + String.chop_prefix_if_exists filepath ~prefix:(Sys_unix.getcwd ()) |> fun filepath_relative_root -> 221 + if debug then Format.printf "File relative root: %s@." filepath; 222 + if debug then Format.printf "Querying type at %d::%d@." line column; 223 + let context = 224 + diff --git a/lib/app/dune b/lib/app/dune 225 + index 2ed553c..a91f826 100644 226 + --- a/lib/app/dune 227 + +++ b/lib/app/dune 228 + @@ -1,9 +1,8 @@ 229 + (library 230 + - (name comby) 231 + - (public_name comby) 232 + - (instrumentation (backend bisect_ppx)) 233 + - (preprocess (pps ppx_deriving.show ppx_deriving.eq ppx_sexp_conv)) 234 + - (libraries 235 + - core 236 + - comby-kernel 237 + - comby.pipeline)) 238 + + (name comby) 239 + + (public_name comby) 240 + + (instrumentation 241 + + (backend bisect_ppx)) 242 + + (preprocess 243 + + (pps ppx_deriving.show ppx_deriving.eq ppx_sexp_conv)) 244 + + (libraries core comby-kernel comby.pipeline)) 245 + diff --git a/lib/app/interactive/dune b/lib/app/interactive/dune 246 + index 815aff5..63c1757 100644 247 + --- a/lib/app/interactive/dune 248 + +++ b/lib/app/interactive/dune 249 + @@ -1,5 +1,12 @@ 250 + (library 251 + - (name interactive) 252 + - (public_name comby.interactive) 253 + - (preprocess (pps ppx_sexp_conv)) 254 + - (libraries comby-kernel comby.configuration core shell.filename_extended lwt lwt.unix)) 255 + + (name interactive) 256 + + (public_name comby.interactive) 257 + + (preprocess 258 + + (pps ppx_sexp_conv)) 259 + + (libraries 260 + + comby-kernel 261 + + comby.configuration 262 + + core 263 + + shell.filename_extended 264 + + lwt 265 + + lwt.unix)) 266 + diff --git a/lib/app/interactive/interactive.ml b/lib/app/interactive/interactive.ml 267 + index d4bf200..b27105a 100644 268 + --- a/lib/app/interactive/interactive.ml 269 + +++ b/lib/app/interactive/interactive.ml 270 + @@ -1,5 +1,6 @@ 271 + open Core 272 + open Lwt 273 + +module Unix = Core_unix 274 + 275 + open Configuration 276 + 277 + @@ -37,6 +38,7 @@ module Diff = struct 278 + ~big_enough:line_big_enough 279 + ~prev 280 + ~next 281 + + () 282 + | Some prog -> 283 + let compare x y = 284 + let cmd = sprintf "%s %S %S" prog x y in 285 + @@ -52,7 +54,7 @@ module Diff = struct 286 + let compare = compare 287 + end) 288 + in 289 + - P.get_hunks ~transform ~context ~big_enough:line_big_enough ~prev ~next 290 + + P.get_hunks ~transform ~context ~big_enough:line_big_enough ~prev ~next () 291 + in 292 + match float_tolerance with 293 + | None -> hunks 294 + diff --git a/lib/app/pipeline/dune b/lib/app/pipeline/dune 295 + index 3369b9e..e6ec880 100644 296 + --- a/lib/app/pipeline/dune 297 + +++ b/lib/app/pipeline/dune 298 + @@ -1,11 +1,23 @@ 299 + (library 300 + - (name pipeline) 301 + - (public_name comby.pipeline) 302 + - (instrumentation (backend bisect_ppx)) 303 + - (preprocess (pps ppx_sexp_conv ppx_deriving_yojson)) 304 + - (libraries comby-kernel comby.statistics comby.configuration comby.interactive comby.camlzip core core.uuid yojson ppx_deriving_yojson parany 305 + - (select parallel_hack.ml from 306 + - (hack_parallel -> parallel_hack.available.ml) 307 + - (!hack_parallel -> parallel_hack.parany_fallback.ml)) 308 + - )) 309 + - 310 + + (name pipeline) 311 + + (public_name comby.pipeline) 312 + + (instrumentation 313 + + (backend bisect_ppx)) 314 + + (preprocess 315 + + (pps ppx_sexp_conv ppx_deriving_yojson)) 316 + + (libraries 317 + + comby-kernel 318 + + comby.statistics 319 + + comby.configuration 320 + + comby.interactive 321 + + comby.camlzip 322 + + core 323 + + core_unix.uuid 324 + + yojson 325 + + ppx_deriving_yojson 326 + + parany 327 + + (select 328 + + parallel_hack.ml 329 + + from 330 + + (hack_parallel -> parallel_hack.available.ml) 331 + + (!hack_parallel -> parallel_hack.parany_fallback.ml)))) 332 + diff --git a/lib/app/pipeline/parallel_hack.available.ml b/lib/app/pipeline/parallel_hack.available.ml 333 + index a901eea..ad33070 100644 334 + --- a/lib/app/pipeline/parallel_hack.available.ml 335 + +++ b/lib/app/pipeline/parallel_hack.available.ml 336 + @@ -1,4 +1,5 @@ 337 + open Core 338 + +module Unix = Core_unix 339 + 340 + open Hack_parallel 341 + 342 + diff --git a/lib/app/statistics/dune b/lib/app/statistics/dune 343 + index b14d5b1..12aff7f 100644 344 + --- a/lib/app/statistics/dune 345 + +++ b/lib/app/statistics/dune 346 + @@ -1,6 +1,8 @@ 347 + (library 348 + - (name statistics) 349 + - (public_name comby.statistics) 350 + - (instrumentation (backend bisect_ppx)) 351 + - (preprocess (pps ppx_deriving_yojson)) 352 + - (libraries yojson ppx_deriving_yojson ppx_deriving_yojson.runtime)) 353 + + (name statistics) 354 + + (public_name comby.statistics) 355 + + (instrumentation 356 + + (backend bisect_ppx)) 357 + + (preprocess 358 + + (pps ppx_deriving_yojson)) 359 + + (libraries yojson ppx_deriving_yojson ppx_deriving_yojson.runtime)) 360 + diff --git a/lib/app/vendored/camlzip/dune b/lib/app/vendored/camlzip/dune 361 + index 56ea8ff..1c67be1 100644 362 + --- a/lib/app/vendored/camlzip/dune 363 + +++ b/lib/app/vendored/camlzip/dune 364 + @@ -7,7 +7,9 @@ 365 + ; as long as the unix parts are not needed, but I want it to 366 + ; compile executables for tests 367 + (libraries unix) 368 + - (foreign_stubs (language c) (names zlibstubs)) 369 + + (foreign_stubs 370 + + (language c) 371 + + (names zlibstubs)) 372 + (c_library_flags 373 + (:include c_flags.sexp) 374 + (:include c_library_flags.sexp))) 375 + @@ -21,7 +23,9 @@ 376 + 377 + (env 378 + (dev 379 + - (flags (:standard -w A-3-4-27-29-32-34-35-39-40-41-42-44-45-48-49-50-57-60))) 380 + + (flags 381 + + (:standard -w A-3-4-27-29-32-34-35-39-40-41-42-44-45-48-49-50-57-60))) 382 + (release 383 + - (flags (:standard -w A-3-4-27-29-32-34-35-39-40-41-42-44-45-48-49-50-57-60)) 384 + - (ocamlopt_flags (-O3)))) 385 + + (flags 386 + + (:standard -w A-3-4-27-29-32-34-35-39-40-41-42-44-45-48-49-50-57-60)) 387 + + (ocamlopt_flags (-O3)))) 388 + diff --git a/lib/app/vendored/patdiff/kernel/src/dune b/lib/app/vendored/patdiff/kernel/src/dune 389 + index 7a6353d..b79cba2 100644 390 + --- a/lib/app/vendored/patdiff/kernel/src/dune 391 + +++ b/lib/app/vendored/patdiff/kernel/src/dune 392 + @@ -1,3 +1,6 @@ 393 + -(library (name patdiff_kernel) (public_name comby.patdiff_kernel) 394 + +(library 395 + + (name patdiff_kernel) 396 + + (public_name comby.patdiff_kernel) 397 + (libraries core_kernel.composition_infix core_kernel patience_diff re) 398 + - (preprocess (pps ppx_jane))) 399 + + (preprocess 400 + + (pps ppx_jane))) 401 + diff --git a/lib/app/vendored/patdiff/kernel/src/patdiff_core.ml b/lib/app/vendored/patdiff/kernel/src/patdiff_core.ml 402 + index 4f53a0b..88ee0e3 100644 403 + --- a/lib/app/vendored/patdiff/kernel/src/patdiff_core.ml 404 + +++ b/lib/app/vendored/patdiff/kernel/src/patdiff_core.ml 405 + @@ -138,6 +138,7 @@ module Make (Output_impls : Output_impls) = struct 406 + ~big_enough:line_big_enough 407 + ~prev 408 + ~next 409 + + () 410 + ;; 411 + 412 + type word_or_newline = 413 + @@ -345,6 +346,7 @@ module Make (Output_impls : Output_impls) = struct 414 + ~big_enough:word_big_enough 415 + ~prev:prev_pieces 416 + ~next:next_pieces 417 + + () 418 + ;; 419 + 420 + let ranges_are_just_whitespace (ranges : _ Patience_diff.Range.t list) = 421 + diff --git a/lib/app/vendored/patdiff/lib/src/compare_core.ml b/lib/app/vendored/patdiff/lib/src/compare_core.ml 422 + index fafb201..8b40d09 100644 423 + --- a/lib/app/vendored/patdiff/lib/src/compare_core.ml 424 + +++ b/lib/app/vendored/patdiff/lib/src/compare_core.ml 425 + @@ -1,5 +1,6 @@ 426 + open! Core 427 + open! Import 428 + +module Unix = Core_unix 429 + 430 + let lines_of_contents contents = 431 + let lines = Array.of_list (String.split_lines contents) in 432 + @@ -100,6 +101,7 @@ let compare_lines (config : Configuration.t) ?prev_diff ?next_diff ~prev ~next ( 433 + ~big_enough:line_big_enough 434 + ~prev 435 + ~next 436 + + () 437 + | Some prog -> 438 + let compare x y = 439 + let cmd = sprintf "%s %S %S" prog x y in 440 + @@ -116,7 +118,7 @@ let compare_lines (config : Configuration.t) ?prev_diff ?next_diff ~prev ~next ( 441 + let compare = compare 442 + end) 443 + in 444 + - P.get_hunks ~transform ~context ~big_enough:line_big_enough ~prev ~next 445 + + P.get_hunks ~transform ~context ~big_enough:line_big_enough ~prev ~next () 446 + in 447 + let hunks = 448 + match config.float_tolerance with 449 + @@ -361,7 +363,7 @@ let rec diff_dirs_internal (config : Configuration.t) ~prev_dir ~next_dir ~file_ 450 + | None -> Fn.const true 451 + | Some file_filter -> file_filter 452 + in 453 + - Sys.ls_dir (File_name.real_name_exn dir) 454 + + Sys_unix.ls_dir (File_name.real_name_exn dir) 455 + |> List.filter ~f:(fun x -> 456 + let x = File_name.real_name_exn dir ^/ x in 457 + match Unix.stat x with 458 + diff --git a/lib/app/vendored/patdiff/lib/src/compare_core.mli b/lib/app/vendored/patdiff/lib/src/compare_core.mli 459 + index e919512..caa8dcb 100644 460 + --- a/lib/app/vendored/patdiff/lib/src/compare_core.mli 461 + +++ b/lib/app/vendored/patdiff/lib/src/compare_core.mli 462 + @@ -1,5 +1,6 @@ 463 + open! Core 464 + open! Import 465 + +module Unix = Core_unix 466 + 467 + val diff_files 468 + : Configuration.t 469 + diff --git a/lib/app/vendored/patdiff/lib/src/configuration.ml b/lib/app/vendored/patdiff/lib/src/configuration.ml 470 + index 6879daa..7d59706 100644 471 + --- a/lib/app/vendored/patdiff/lib/src/configuration.ml 472 + +++ b/lib/app/vendored/patdiff/lib/src/configuration.ml 473 + @@ -481,7 +481,7 @@ let rec load_exn' ~set config_file = 474 + | Error _another_exn -> raise exn 475 + | Ok c -> 476 + (let new_file = config_file ^ ".new" in 477 + - match Sys.file_exists new_file with 478 + + match Sys_unix.file_exists new_file with 479 + | `Yes | `Unknown -> () 480 + | `No -> 481 + (try Sexp.save_hum new_file (On_disk.V1.sexp_of_t c) with 482 + @@ -564,7 +564,7 @@ let get_config ?filename () = 483 + (* ~/.patdiff exists *) 484 + Option.bind (Sys.getenv "HOME") ~f:(fun home -> 485 + let f = home ^/ ".patdiff" in 486 + - match Sys.file_exists f with 487 + + match Sys_unix.file_exists f with 488 + | `Yes -> Some f 489 + | `No | `Unknown -> None) 490 + in 491 + diff --git a/lib/app/vendored/patdiff/lib/src/dune b/lib/app/vendored/patdiff/lib/src/dune 492 + index 007acad..b6a0f80 100644 493 + --- a/lib/app/vendored/patdiff/lib/src/dune 494 + +++ b/lib/app/vendored/patdiff/lib/src/dune 495 + @@ -1,4 +1,13 @@ 496 + -(library (name patdiff) (public_name comby.patdiff) 497 + - (libraries core_kernel.composition_infix core core.linux_ext comby.patdiff_kernel 498 + +(library 499 + + (name patdiff) 500 + + (public_name comby.patdiff) 501 + + (libraries 502 + + core_kernel.composition_infix 503 + + core 504 + + core_unix 505 + + core_unix.linux_ext 506 + + core_unix.sys_unix 507 + + comby.patdiff_kernel 508 + patience_diff) 509 + - (preprocess (pps ppx_jane))) 510 + + (preprocess 511 + + (pps ppx_jane))) 512 + diff --git a/lib/app/vendored/patdiff/lib/src/html_output.ml b/lib/app/vendored/patdiff/lib/src/html_output.ml 513 + index 3d08f91..93ae8af 100644 514 + --- a/lib/app/vendored/patdiff/lib/src/html_output.ml 515 + +++ b/lib/app/vendored/patdiff/lib/src/html_output.ml 516 + @@ -1,5 +1,6 @@ 517 + open! Core 518 + open! Import 519 + +module Unix = Core_unix 520 + 521 + include Patdiff_kernel.Html_output.Private.Make (struct 522 + let mtime file = 523 + diff --git a/lib/kernel/dune b/lib/kernel/dune 524 + index 0961dad..07a929b 100644 525 + --- a/lib/kernel/dune 526 + +++ b/lib/kernel/dune 527 + @@ -1,10 +1,12 @@ 528 + (library 529 + - (name comby_kernel) 530 + - (public_name comby-kernel) 531 + - (instrumentation (backend bisect_ppx)) 532 + - (preprocess (pps ppx_deriving.show ppx_deriving.eq ppx_sexp_conv)) 533 + - (libraries 534 + - core_kernel 535 + - comby-kernel.match 536 + - comby-kernel.matchers 537 + - comby-kernel.replacement)) 538 + + (name comby_kernel) 539 + + (public_name comby-kernel) 540 + + (instrumentation 541 + + (backend bisect_ppx)) 542 + + (preprocess 543 + + (pps ppx_deriving.show ppx_deriving.eq ppx_sexp_conv)) 544 + + (libraries 545 + + core_kernel 546 + + comby-kernel.match 547 + + comby-kernel.matchers 548 + + comby-kernel.replacement)) 549 + diff --git a/lib/kernel/match/dune b/lib/kernel/match/dune 550 + index 03b120a..4d48b61 100644 551 + --- a/lib/kernel/match/dune 552 + +++ b/lib/kernel/match/dune 553 + @@ -1,6 +1,12 @@ 554 + (library 555 + - (name match) 556 + - (public_name comby-kernel.match) 557 + - (instrumentation (backend bisect_ppx)) 558 + - (preprocess (pps ppx_deriving.eq ppx_sexp_conv ppx_deriving_yojson)) 559 + - (libraries core_kernel yojson ppx_deriving_yojson ppx_deriving_yojson.runtime)) 560 + + (name match) 561 + + (public_name comby-kernel.match) 562 + + (instrumentation 563 + + (backend bisect_ppx)) 564 + + (preprocess 565 + + (pps ppx_deriving.eq ppx_sexp_conv ppx_deriving_yojson)) 566 + + (libraries 567 + + core_kernel 568 + + yojson 569 + + ppx_deriving_yojson 570 + + ppx_deriving_yojson.runtime)) 571 + diff --git a/lib/kernel/matchers/alpha.ml b/lib/kernel/matchers/alpha.ml 572 + index e31094d..01adb52 100644 573 + --- a/lib/kernel/matchers/alpha.ml 574 + +++ b/lib/kernel/matchers/alpha.ml 575 + @@ -13,20 +13,11 @@ module R = MakeRegexp(Regexp) 576 + let configuration_ref = ref (Configuration.create ()) 577 + let weaken_delimiter_hole_matching = false 578 + 579 + -let debug = 580 + - match Sys.getenv "DEBUG_COMBY" with 581 + - | exception Not_found -> false 582 + - | _ -> true 583 + +let debug = Sys.getenv "DEBUG_COMBY" |> Option.is_some 584 + 585 + -let debug_hole = 586 + - match Sys.getenv "DEBUG_COMBY_HOLE" with 587 + - | exception Not_found -> false 588 + - | _ -> true 589 + +let debug_hole = Sys.getenv "DEBUG_COMBY_HOLE" |> Option.is_some 590 + 591 + -let debug_position = 592 + - match Sys.getenv "DEBUG_COMBY_POS" with 593 + - | exception Not_found -> false 594 + - | _ -> true 595 + +let debug_position = Sys.getenv "DEBUG_COMBY_POS" |> Option.is_some 596 + 597 + let f _ = return Types.Unit 598 + 599 + @@ -147,7 +138,7 @@ module Make (Lang : Types.Language.S) (Meta : Types.Metasyntax.S) (Ext : Types.E 600 + ] 601 + >>= fun _ -> f Types.Unit 602 + 603 + - let sequence_chain (plist : ('c, Match.t) parser sexp_list) : ('c, Match.t) parser = 604 + + let sequence_chain (plist : ('c, Match.t) parser list) : ('c, Match.t) parser = 605 + List.fold plist ~init:(return Types.Unit) ~f:(>>) 606 + 607 + let with_debug_matcher s tag = 608 + diff --git a/lib/kernel/matchers/dune b/lib/kernel/matchers/dune 609 + index 12ed326..4625458 100644 610 + --- a/lib/kernel/matchers/dune 611 + +++ b/lib/kernel/matchers/dune 612 + @@ -1,6 +1,18 @@ 613 + (library 614 + - (name matchers) 615 + - (public_name comby-kernel.matchers) 616 + - (instrumentation (backend bisect_ppx)) 617 + - (preprocess (pps ppx_here ppx_sexp_conv ppx_sexp_message ppx_deriving_yojson)) 618 + - (libraries comby-kernel.replacement comby-kernel.parsers comby-kernel.match comby-kernel.vangstrom core_kernel mparser mparser-pcre re yojson ppx_deriving_yojson)) 619 + + (name matchers) 620 + + (public_name comby-kernel.matchers) 621 + + (instrumentation 622 + + (backend bisect_ppx)) 623 + + (preprocess 624 + + (pps ppx_here ppx_sexp_conv ppx_sexp_message ppx_deriving_yojson)) 625 + + (libraries 626 + + comby-kernel.replacement 627 + + comby-kernel.parsers 628 + + comby-kernel.match 629 + + comby-kernel.vangstrom 630 + + core_kernel 631 + + mparser 632 + + mparser-pcre 633 + + re 634 + + yojson 635 + + ppx_deriving_yojson)) 636 + diff --git a/lib/kernel/matchers/evaluate.ml b/lib/kernel/matchers/evaluate.ml 637 + index 9ea71a0..288f79a 100644 638 + --- a/lib/kernel/matchers/evaluate.ml 639 + +++ b/lib/kernel/matchers/evaluate.ml 640 + @@ -3,10 +3,7 @@ open Core_kernel 641 + open Match 642 + open Types.Ast 643 + 644 + -let debug = 645 + - match Sys.getenv "DEBUG_COMBY" with 646 + - | exception Not_found -> false 647 + - | _ -> true 648 + +let debug = Sys.getenv "DEBUG_COMBY" |> Option.is_some 649 + 650 + type result = bool * Match.environment option 651 + 652 + diff --git a/lib/kernel/matchers/omega.ml b/lib/kernel/matchers/omega.ml 653 + index eeec516..1eb3ccc 100644 654 + --- a/lib/kernel/matchers/omega.ml 655 + +++ b/lib/kernel/matchers/omega.ml 656 + @@ -32,15 +32,9 @@ let push_source_ref : string ref = ref "" 657 + 658 + let filepath_ref : string option ref = ref None 659 + 660 + -let debug = 661 + - match Sys.getenv "DEBUG_COMBY" with 662 + - | exception Not_found -> false 663 + - | _ -> true 664 + +let debug = Sys.getenv "DEBUG_COMBY" |> Option.is_some 665 + 666 + -let rewrite = 667 + - match Sys.getenv "REWRITE" with 668 + - | exception Not_found -> false 669 + - | _ -> true 670 + +let rewrite = Sys.getenv "REWRITE" |> Option.is_some 671 + 672 + let actual = Buffer.create 10 673 + 674 + diff --git a/lib/kernel/matchers/preprocess.ml b/lib/kernel/matchers/preprocess.ml 675 + index 84f3ed0..b6d10e7 100644 676 + --- a/lib/kernel/matchers/preprocess.ml 677 + +++ b/lib/kernel/matchers/preprocess.ml 678 + @@ -1,9 +1,6 @@ 679 + open Core_kernel 680 + 681 + -let debug = 682 + - match Sys.getenv "DEBUG_COMBY" with 683 + - | exception Not_found -> false 684 + - | _ -> true 685 + +let debug = Sys.getenv "DEBUG_COMBY" |> Option.is_some 686 + 687 + let append_rule (module Parser : Types.Rule.S) rule parent_rule = 688 + let open Option in 689 + diff --git a/lib/kernel/matchers/regexp.ml b/lib/kernel/matchers/regexp.ml 690 + index ef0bd59..906820b 100644 691 + --- a/lib/kernel/matchers/regexp.ml 692 + +++ b/lib/kernel/matchers/regexp.ml 693 + @@ -3,7 +3,7 @@ open Vangstrom 694 + let debug = 695 + match Sys.getenv "DEBUG_COMBY" with 696 + | exception Not_found -> false 697 + - | _ -> true 698 + + | (_ : string) -> true 699 + 700 + module type Regexp_engine_intf = sig 701 + type t 702 + diff --git a/lib/kernel/matchers/rewrite.ml b/lib/kernel/matchers/rewrite.ml 703 + index 32c4740..2fc28db 100644 704 + --- a/lib/kernel/matchers/rewrite.ml 705 + +++ b/lib/kernel/matchers/rewrite.ml 706 + @@ -4,10 +4,7 @@ open Core_kernel 707 + open Match 708 + open Replacement 709 + 710 + -let debug = 711 + - match Sys.getenv "DEBUG_COMBY" with 712 + - | exception Not_found -> false 713 + - | _ -> true 714 + +let debug = Sys.getenv "DEBUG_COMBY" |> Option.is_some 715 + 716 + let counter = 717 + let uuid_for_id_counter = ref 0 in 718 + diff --git a/lib/kernel/matchers/template.ml b/lib/kernel/matchers/template.ml 719 + index 423a07f..136236c 100644 720 + --- a/lib/kernel/matchers/template.ml 721 + +++ b/lib/kernel/matchers/template.ml 722 + @@ -4,10 +4,7 @@ open Core_kernel 723 + open Match 724 + open Types.Template 725 + 726 + -let debug = 727 + - match Sys.getenv "DEBUG_COMBY" with 728 + - | exception Not_found -> false 729 + - | _ -> true 730 + +let debug = Sys.getenv "DEBUG_COMBY" |> Option.is_some 731 + 732 + module Make (Metasyntax : Types.Metasyntax.S) (External : Types.External.S) : Types.Template.S = struct 733 + 734 + diff --git a/lib/kernel/parsers/dune b/lib/kernel/parsers/dune 735 + index 28b020c..0cc1fa5 100644 736 + --- a/lib/kernel/parsers/dune 737 + +++ b/lib/kernel/parsers/dune 738 + @@ -1,6 +1,8 @@ 739 + (library 740 + - (name parsers) 741 + - (public_name comby-kernel.parsers) 742 + - (instrumentation (backend bisect_ppx)) 743 + - (preprocess (pps ppx_sexp_conv)) 744 + - (libraries core_kernel comby-kernel.vangstrom mparser)) 745 + + (name parsers) 746 + + (public_name comby-kernel.parsers) 747 + + (instrumentation 748 + + (backend bisect_ppx)) 749 + + (preprocess 750 + + (pps ppx_sexp_conv)) 751 + + (libraries core_kernel comby-kernel.vangstrom mparser)) 752 + diff --git a/lib/kernel/replacement/dune b/lib/kernel/replacement/dune 753 + index 3e62de6..485b716 100644 754 + --- a/lib/kernel/replacement/dune 755 + +++ b/lib/kernel/replacement/dune 756 + @@ -1,6 +1,13 @@ 757 + (library 758 + - (name replacement) 759 + - (public_name comby-kernel.replacement) 760 + - (instrumentation (backend bisect_ppx)) 761 + - (preprocess (pps ppx_deriving_yojson)) 762 + - (libraries comby-kernel.match core_kernel yojson ppx_deriving_yojson ppx_deriving_yojson.runtime)) 763 + + (name replacement) 764 + + (public_name comby-kernel.replacement) 765 + + (instrumentation 766 + + (backend bisect_ppx)) 767 + + (preprocess 768 + + (pps ppx_deriving_yojson)) 769 + + (libraries 770 + + comby-kernel.match 771 + + core_kernel 772 + + yojson 773 + + ppx_deriving_yojson 774 + + ppx_deriving_yojson.runtime)) 775 + diff --git a/lib/semantic/dune b/lib/semantic/dune 776 + index 9a244d3..186a2ed 100644 777 + --- a/lib/semantic/dune 778 + +++ b/lib/semantic/dune 779 + @@ -1,11 +1,8 @@ 780 + (library 781 + - (name comby_semantic) 782 + - (public_name comby-semantic) 783 + - (instrumentation (backend bisect_ppx)) 784 + - (preprocess (pps ppx_deriving.show ppx_deriving.eq ppx_sexp_conv)) 785 + - (libraries 786 + - core_kernel 787 + - lwt 788 + - cohttp 789 + - cohttp-lwt-unix 790 + - yojson)) 791 + + (name comby_semantic) 792 + + (public_name comby-semantic) 793 + + (instrumentation 794 + + (backend bisect_ppx)) 795 + + (preprocess 796 + + (pps ppx_deriving.show ppx_deriving.eq ppx_sexp_conv)) 797 + + (libraries core_kernel lwt cohttp cohttp-lwt-unix yojson)) 798 + diff --git a/lib/semantic/lsif.ml b/lib/semantic/lsif.ml 799 + index 49747bc..d6b3e19 100644 800 + --- a/lib/semantic/lsif.ml 801 + +++ b/lib/semantic/lsif.ml 802 + @@ -3,10 +3,7 @@ open Lwt 803 + open Cohttp 804 + open Cohttp_lwt_unix 805 + 806 + -let debug = 807 + - match Sys.getenv "DEBUG_COMBY" with 808 + - | exception Not_found -> false 809 + - | _ -> true 810 + +let debug = Sys.getenv "DEBUG_COMBY" |> Option.is_some 811 + 812 + module Formatting = struct 813 + type t = 814 + diff --git a/src/dune b/src/dune 815 + index 444a5a3..f006195 100644 816 + --- a/src/dune 817 + +++ b/src/dune 818 + @@ -1,10 +1,17 @@ 819 + (executables 820 + - (libraries comby core ppx_deriving_yojson ppx_deriving_yojson.runtime 821 + - (select if_hack_parallel.ml from 822 + - (hack_parallel -> if_hack_parallel.available.ml) 823 + - (!hack_parallel -> if_hack_parallel.unavailable.ml)) 824 + - ) 825 + - (preprocess (pps ppx_deriving_yojson ppx_let ppx_deriving.show ppx_sexp_conv)) 826 + + (libraries 827 + + comby 828 + + core 829 + + core_unix.command_unix 830 + + ppx_deriving_yojson 831 + + ppx_deriving_yojson.runtime 832 + + (select 833 + + if_hack_parallel.ml 834 + + from 835 + + (hack_parallel -> if_hack_parallel.available.ml) 836 + + (!hack_parallel -> if_hack_parallel.unavailable.ml))) 837 + + (preprocess 838 + + (pps ppx_deriving_yojson ppx_let ppx_deriving.show ppx_sexp_conv)) 839 + (modules main if_hack_parallel) 840 + (modes byte exe) 841 + (names main)) 842 + @@ -20,4 +27,5 @@ 843 + (install 844 + (package comby) 845 + (section bin) 846 + - (files (main.exe as comby))) 847 + + (files 848 + + (main.exe as comby))) 849 + diff --git a/src/main.ml b/src/main.ml 850 + index 5cad346..48784d1 100644 851 + --- a/src/main.ml 852 + +++ b/src/main.ml 853 + @@ -1,4 +1,5 @@ 854 + open Core 855 + +module Unix = Core_unix 856 + open Command.Let_syntax 857 + 858 + open Comby_kernel 859 + @@ -47,7 +48,7 @@ let substitute_environment_only_and_exit metasyntax_path anonymous_arguments jso 860 + match metasyntax_path with 861 + | None -> Matchers.Metasyntax.default_metasyntax 862 + | Some metasyntax_path -> 863 + - match Sys.file_exists metasyntax_path with 864 + + match Sys_unix.file_exists metasyntax_path with 865 + | `No | `Unknown -> 866 + Format.eprintf "Could not open file: %s@." metasyntax_path; 867 + exit 1 868 + @@ -95,7 +96,7 @@ let base_command_parameters : (unit -> 'result) Command.Param.t = 869 + and verbose = flag "verbose" no_arg ~doc:(Format.sprintf "Log to %s" verbose_out_file) 870 + and rule = flag "rule" (optional_with_default "where true" string) ~doc:"rule Apply rules to matches." 871 + and match_timeout = flag "timeout" (optional_with_default 3 int) ~doc:"seconds Set match timeout on a source. Default: 3 seconds" 872 + - and target_directory = flag "directory" ~aliases:["d"] (optional_with_default (Sys.getcwd ()) string) ~doc:(Format.sprintf "path Run recursively on files in a directory relative to the root. Default is current directory: %s" @@ Sys.getcwd ()) 873 + + and target_directory = flag "directory" ~aliases:["d"] (optional_with_default (Sys_unix.getcwd ()) string) ~doc:(Format.sprintf "path Run recursively on files in a directory relative to the root. Default is current directory: %s" @@ Sys_unix.getcwd ()) 874 + and directory_depth = flag "depth" (optional int) ~doc:"n Depth to recursively descend into directories" 875 + and templates = flag "templates" ~aliases:["config"; "configuration"] (optional (Arg_type.comma_separated string)) ~doc:"paths CSV of directories containing templates, or TOML configuration files" 876 + and file_filters = flag "extensions" ~aliases:["e"; "file-extensions"; "f"] (optional (Arg_type.comma_separated string)) ~doc:"extensions Comma-separated extensions to include, like \".go\" or \".c,.h\". It is just a file suffix, so you can use it to filter file names like \"main.go\". The extension will be used to infer a matcher, unless -custom-matcher or -matcher is specified" 877 + @@ -146,7 +147,7 @@ let base_command_parameters : (unit -> 'result) Command.Param.t = 878 + | l -> 879 + List.map l ~f:(fun pattern -> 880 + if String.contains pattern '/' then 881 + - match Filename.realpath pattern with 882 + + match Filename_unix.realpath pattern with 883 + | exception Unix.Unix_error _ -> 884 + Format.eprintf 885 + "No such file or directory: %s. Comby interprets \ 886 + @@ -203,7 +204,7 @@ let base_command_parameters : (unit -> 'result) Command.Param.t = 887 + let omega = omega || omega_env in 888 + let fast_offset_conversion_env = Option.is_some @@ Sys.getenv "FAST_OFFSET_CONVERSION_COMBY" in 889 + let fast_offset_conversion = fast_offset_conversion_env || fast_offset_conversion in 890 + - let arch = Unix.Utsname.machine (Core.Unix.uname ()) in 891 + + let arch = Unix.Utsname.machine (Unix.uname ()) in 892 + let compute_mode = match sequential, parany, arch with 893 + | true, _, _ -> `Sequential 894 + | _, true, _ 895 + @@ -301,7 +302,7 @@ let parse_comby_dot_file () = 896 + 897 + let () = 898 + If_hack_parallel.check_entry_point (); 899 + - Command.run default_command ~version:"1.7.1" ~extend:(fun _ -> 900 + - match Sys.file_exists ".comby" with 901 + + Command_unix.run default_command ~version:"1.7.1" ~extend:(fun _ -> 902 + + match Sys_unix.file_exists ".comby" with 903 + | `Yes -> parse_comby_dot_file () 904 + | _ -> []) 905 + diff --git a/test/alpha/dune b/test/alpha/dune 906 + index d7e5532..020677c 100644 907 + --- a/test/alpha/dune 908 + +++ b/test/alpha/dune 909 + @@ -1,17 +1,14 @@ 910 + (library 911 + (name alpha_test_integration) 912 + (package comby) 913 + - (modules 914 + - test_special_matcher_cases 915 + - test_substring_disabled) 916 + + (modules test_special_matcher_cases test_substring_disabled) 917 + (inline_tests) 918 + - (preprocess (pps ppx_expect ppx_sexp_message ppx_deriving_yojson)) 919 + - (libraries 920 + - comby 921 + - cohttp-lwt-unix 922 + - core 923 + - camlzip)) 924 + + (preprocess 925 + + (pps ppx_expect ppx_sexp_message ppx_deriving_yojson)) 926 + + (libraries comby cohttp-lwt-unix core camlzip)) 927 + 928 + (alias 929 + -(name runtest) 930 + -(deps (source_tree example) (source_tree example/src/.ignore-me))) 931 + + (name runtest) 932 + + (deps 933 + + (source_tree example) 934 + + (source_tree example/src/.ignore-me))) 935 + diff --git a/test/common/dune b/test/common/dune 936 + index aa83b0c..3793242 100644 937 + --- a/test/common/dune 938 + +++ b/test/common/dune 939 + @@ -34,16 +34,14 @@ 940 + test_regex_holes 941 + test_template_constraints 942 + test_custom_metasyntax 943 + - test_rewrite_attributes 944 + - ) 945 + + test_rewrite_attributes) 946 + (inline_tests) 947 + - (preprocess (pps ppx_expect ppx_sexp_message ppx_deriving_yojson)) 948 + - (libraries 949 + - comby 950 + - cohttp-lwt-unix 951 + - core 952 + - camlzip)) 953 + + (preprocess 954 + + (pps ppx_expect ppx_sexp_message ppx_deriving_yojson)) 955 + + (libraries comby cohttp-lwt-unix core camlzip)) 956 + 957 + (alias 958 + -(name runtest) 959 + -(deps (source_tree example) (source_tree example/src/.ignore-me))) 960 + + (name runtest) 961 + + (deps 962 + + (source_tree example) 963 + + (source_tree example/src/.ignore-me))) 964 + diff --git a/test/common/test_cli.ml b/test/common/test_cli.ml 965 + index 3606367..d5d0c0b 100644 966 + --- a/test/common/test_cli.ml 967 + +++ b/test/common/test_cli.ml 968 + @@ -1,7 +1,10 @@ 969 + open Core 970 + open Camlzip 971 + 972 + +module Filename = Filename_unix 973 + +module Sys = Sys_unix 974 + module Time = Core_kernel.Time_ns.Span 975 + +module Unix = Core_unix 976 + 977 + let binary_path = "../../../../comby" 978 + 979 + diff --git a/test/common/test_cli_helper.ml b/test/common/test_cli_helper.ml 980 + index 5791ee6..18372ae 100644 981 + --- a/test/common/test_cli_helper.ml 982 + +++ b/test/common/test_cli_helper.ml 983 + @@ -1,6 +1,7 @@ 984 + open Core 985 + 986 + module Time = Core_kernel.Time_ns.Span 987 + +module Unix = Core_unix 988 + 989 + let binary_path = "../../../../comby" 990 + 991 + diff --git a/test/omega/dune b/test/omega/dune 992 + index 3b31a7e..bf68dcb 100644 993 + --- a/test/omega/dune 994 + +++ b/test/omega/dune 995 + @@ -2,20 +2,19 @@ 996 + (name omega_test_integration) 997 + (package comby) 998 + (modules 999 + -; 1000 + -; TODO 1001 + -; 1002 + + ; 1003 + + ; TODO 1004 + + ; 1005 + test_optional_holes 1006 + test_special_matcher_cases 1007 + test_substring_disabled) 1008 + (inline_tests) 1009 + - (preprocess (pps ppx_expect ppx_sexp_message ppx_deriving_yojson)) 1010 + - (libraries 1011 + - comby 1012 + - cohttp-lwt-unix 1013 + - core 1014 + - camlzip)) 1015 + + (preprocess 1016 + + (pps ppx_expect ppx_sexp_message ppx_deriving_yojson)) 1017 + + (libraries comby cohttp-lwt-unix core camlzip)) 1018 + 1019 + (alias 1020 + -(name runtest) 1021 + -(deps (source_tree example) (source_tree example/src/.ignore-me))) 1022 + + (name runtest) 1023 + + (deps 1024 + + (source_tree example) 1025 + + (source_tree example/src/.ignore-me)))
+3
pkgs/development/tools/comby/default.nix
··· 26 26 sha256 = "0k60hj8wcrvrk0isr210vnalylkd63ria1kgz5n49inl7w1hfwpv"; 27 27 }; 28 28 29 + patches = [ ./comby.patch ]; 30 + 29 31 nativeBuildInputs = [ 30 32 ocamlPackages.ppx_deriving 31 33 ocamlPackages.ppx_deriving_yojson ··· 35 37 36 38 buildInputs = [ 37 39 ocamlPackages.core 40 + ocamlPackages.core_kernel 38 41 ocamlPackages.ocaml_pcre 39 42 ocamlPackages.mparser 40 43 ocamlPackages.mparser-pcre
+9 -3
pkgs/tools/misc/flitter/default.nix
··· 20 20 sha256 = "1k3m7bjq5yrrq7vhnbdykni65dsqhq6knnv9wvwq3svb3n07z4w3"; 21 21 }; 22 22 23 + # compatibility with core >= 0.15 24 + patches = [ ./flitter.patch ]; 25 + 23 26 # https://github.com/alexozer/flitter/issues/28 24 27 postPatch = '' 25 - for f in src/colors.ml src/duration.ml src/event_loop.ml src/splits.ml; do 28 + for f in src/*.ml; do 26 29 substituteInPlace "$f" \ 27 - --replace 'Unix.gettimeofday' 'Caml_unix.gettimeofday' 30 + --replace 'Unix.gettimeofday' 'Caml_unix.gettimeofday' \ 31 + --replace 'Core_kernel' 'Core' \ 32 + --replace 'sexp_option' 'option[@sexp.option]' \ 33 + --replace 'sexp_list' 'list[@sexp.list]' 28 34 done 29 35 ''; 30 36 ··· 33 39 ]; 34 40 35 41 buildInputs = with ocamlPackages; [ 36 - core 42 + core_unix 37 43 lwt_ppx 38 44 sexp_pretty 39 45 color
+13
pkgs/tools/misc/flitter/flitter.patch
··· 1 + diff --git a/src/dune b/src/dune 2 + index a50b09a..54cc770 100644 3 + --- a/src/dune 4 + +++ b/src/dune 5 + @@ -1,7 +1,7 @@ 6 + (library 7 + (name flitter) 8 + (wrapped false) 9 + - (libraries core lwt.unix notty notty.unix re color sexp_pretty) 10 + + (libraries core core_kernel.caml_unix lwt.unix notty notty.unix re color sexp_pretty) 11 + (preprocess (pps lwt_ppx ppx_sexp_conv)) 12 + ) 13 +
+2 -2
pkgs/tools/misc/patdiff/default.nix
··· 4 4 5 5 janePackage { 6 6 pname = "patdiff"; 7 - hash = "1yslj6xxyv8rx8y5s1civ1zq8y6vvxmkszdds958zdm1p1ign54r"; 8 - buildInputs = [ core patience_diff ocaml_pcre ]; 7 + hash = "0623a7n5r659rkxbp96g361mvxkcgc6x9lcbkm3glnppplk5kxr9"; 8 + propagatedBuildInputs = [ core_unix patience_diff ocaml_pcre ]; 9 9 meta = { 10 10 description = "File Diff using the Patience Diff algorithm"; 11 11 };
+2
pkgs/tools/typesetting/satysfi/default.nix
··· 50 50 $out/share/satysfi 51 51 ''; 52 52 53 + DUNE_PROFILE = "release"; 54 + 53 55 nativeBuildInputs = [ ruby dune_2 ]; 54 56 55 57 buildInputs = [ camlpdf otfm yojson-with-position ] ++ (with ocamlPackages; [
+9 -2
pkgs/top-level/ocaml-packages.nix
··· 1533 1533 # Jane Street 1534 1534 1535 1535 janePackage = 1536 - if lib.versionOlder "4.08" ocaml.version 1536 + if lib.versionOlder "4.10.2" ocaml.version 1537 + then callPackage ../development/ocaml-modules/janestreet/janePackage_0_15.nix {} 1538 + else if lib.versionOlder "4.08" ocaml.version 1537 1539 then callPackage ../development/ocaml-modules/janestreet/janePackage_0_14.nix {} 1538 1540 else if lib.versionOlder "4.07" ocaml.version 1539 1541 then callPackage ../development/ocaml-modules/janestreet/janePackage_0_12.nix {} 1540 1542 else callPackage ../development/ocaml-modules/janestreet/janePackage.nix {}; 1541 1543 1542 1544 janeStreet = 1543 - if lib.versionOlder "4.08" ocaml.version 1545 + if lib.versionOlder "4.10.2" ocaml.version 1546 + then import ../development/ocaml-modules/janestreet/0.15.nix { 1547 + inherit self; 1548 + inherit (pkgs) fetchpatch lib openssl patdiff zstd; 1549 + } 1550 + else if lib.versionOlder "4.08" ocaml.version 1544 1551 then import ../development/ocaml-modules/janestreet/0.14.nix { 1545 1552 inherit self; 1546 1553 inherit (pkgs) fetchpatch lib openssl zstd;