Add Jane Street ocaml packages version 0.15

- ocamlPackages.tls*: 0.15.2 -> 0.15.3
- ocamlPackages.bistro: unstable-2021-11-13 -> unstable-2022-05-07
- ocamlPackages.phylogenetics: 0.1.0 -> unstable-2022-05-06
This commit is contained in:
Aaron L. Zeng 2022-05-23 01:18:37 -04:00
parent 99b11e4c97
commit 4f6ddfdd23
22 changed files with 2389 additions and 32 deletions

View File

@ -46,6 +46,7 @@ coq.ocamlPackages.buildDunePackage rec {
yojson
getopt
core
core_unix
pprint
linenoise
@ -83,6 +84,8 @@ coq.ocamlPackages.buildDunePackage rec {
doCheck = false; # Tests fail, but could not determine the reason
patches = [ ./ligo.patch ]; # fix for core >= 0.15.0
meta = with lib; {
homepage = "https://ligolang.org/";
downloadPage = "https://ligolang.org/docs/intro/installation";

View File

@ -0,0 +1,134 @@
diff --git a/ligo.opam b/ligo.opam
index d561c74d1..3a8d34feb 100644
--- a/ligo.opam
+++ b/ligo.opam
@@ -10,7 +10,9 @@ license: "MIT"
# If you change the dependencies, run `opam lock` in the root
depends: [
# Jane Street Core
- "core"
+ "core" { >= "v0.14.0" & < "v0.16.0" }
+ "core_kernel" { >= "v0.14.0" & "v0.16.0" }
+ "core_unix" { >= "v0.14.0" & "v0.16.0" }
# Tooling
"odoc" { build }
"ocamlfind" { build }
diff --git a/ligo.opam.locked b/ligo.opam.locked
index b4501cc76..c8ed8a41f 100644
--- a/ligo.opam.locked
+++ b/ligo.opam.locked
@@ -50,8 +50,9 @@ depends: [
"conf-rust" {= "0.1"}
"conf-which" {= "1"}
"coq" {= "8.13.2"}
- "core" {= "v0.14.1"}
- "core_kernel" {= "v0.14.2"}
+ "core" {= "v0.15.0"}
+ "core_kernel" {= "v0.15.0"}
+ "core_unix" {= "v0.15.0"}
"cppo" {= "1.6.8"}
"csexp" {= "1.5.1"}
"cstruct" {= "6.0.1"}
diff --git a/src/bin/cli.ml b/src/bin/cli.ml
index a6fc13e0d..ef5177868 100644
--- a/src/bin/cli.ml
+++ b/src/bin/cli.ml
@@ -12,7 +12,7 @@ let entry_point =
let source_file =
let name = "SOURCE_FILE" in
let _doc = "the path to the smart contract file." in
- Command.Param.(anon (name %: Filename.arg_type))
+ Command.Param.(anon (name %: Filename_unix.arg_type))
let package_name =
let name = "PACKAGE_NAME" in
@@ -662,7 +662,7 @@ let main = Command.group ~preserve_subcommand_order:() ~summary:"the LigoLANG co
]
let run ?argv () =
- Command.run ~version:Version.version ?argv main;
+ Command_unix.run ~version:Version.version ?argv main;
(* Effect to error code *)
match !return with
Done -> 0;
@@ -677,4 +677,3 @@ let run ?argv () =
match exn with
| Failure msg -> message msg
| exn -> message (Exn.to_string exn)
-
diff --git a/src/bin/cli_helpers.ml b/src/bin/cli_helpers.ml
index b64a17d53..8c4c43dde 100644
--- a/src/bin/cli_helpers.ml
+++ b/src/bin/cli_helpers.ml
@@ -66,7 +66,7 @@ let run_command (cmd : command) =
(fun p -> Lwt.map
(fun status ->
match status with
- Caml.Unix.WEXITED 0 -> Ok ()
+ Caml_unix.WEXITED 0 -> Ok ()
| _ -> Error ("unknown error"))
p#status) in
Lwt_main.run status
\ No newline at end of file
diff --git a/src/bin/dune b/src/bin/dune
index 295c056f3..08d980439 100644
--- a/src/bin/dune
+++ b/src/bin/dune
@@ -11,7 +11,9 @@
repl
install
cli_helpers
- ligo_api)
+ ligo_api
+ core_unix.command_unix
+ core_unix.filename_unix)
(modules cli version))
(library
diff --git a/src/main/interpreter/dune b/src/main/interpreter/dune
index c55e24a88..f9762a297 100644
--- a/src/main/interpreter/dune
+++ b/src/main/interpreter/dune
@@ -4,4 +4,4 @@
(instrumentation
(backend bisect_ppx))
(libraries tezos-011-PtHangz2-test-helpers ast_aggregated ligo_interpreter
- main_errors ligo_compile build fuzz ligo_run self_ast_typed))
+ main_errors ligo_compile build fuzz ligo_run self_ast_typed core_unix.sys_unix))
diff --git a/src/main/interpreter/interpreter.ml b/src/main/interpreter/interpreter.ml
index b0379029c..530e08c3a 100644
--- a/src/main/interpreter/interpreter.ml
+++ b/src/main/interpreter/interpreter.ml
@@ -2,6 +2,7 @@ open Simple_utils.Trace
open Simple_utils
open Ligo_interpreter.Types
open Ligo_interpreter.Combinators
+module Sys = Sys_unix
module AST = Ast_aggregated
diff --git a/vendors/ligo-utils/simple-utils/dune b/vendors/ligo-utils/simple-utils/dune
index ca9f2bf5c..62c39087b 100644
--- a/vendors/ligo-utils/simple-utils/dune
+++ b/vendors/ligo-utils/simple-utils/dune
@@ -6,6 +6,7 @@
(libraries
;; Third party
core
+ core_kernel.caml_unix
yojson
result
unix
diff --git a/vendors/ligo-utils/simple-utils/snippet.ml b/vendors/ligo-utils/simple-utils/snippet.ml
index 658f115f2..f23000590 100644
--- a/vendors/ligo-utils/simple-utils/snippet.ml
+++ b/vendors/ligo-utils/simple-utils/snippet.ml
@@ -1,7 +1,7 @@
(* used to show code snippets in error messages *)
let print_code ppf (l:Region.t) (input_line: unit -> string) =
- let dumb =String.equal (Caml.Unix.getenv "TERM") "dumb" in
+ let dumb =String.equal (Caml_unix.getenv "TERM") "dumb" in
let start = l#start#line in
let start_column = l#start#offset `Byte in
let stop = l#stop#line in

View File

@ -1,4 +1,4 @@
{ lib, stdenv, fetchFromGitHub, fetchurl
{ lib, stdenv, fetchFromGitHub, fetchurl, fetchpatch
, ocaml, findlib, ocamlbuild, ocaml_oasis
, bitstring, camlzip, cmdliner, core_kernel, ezjsonm, fileutils, ocaml_lwt, ocamlgraph, ocurl, re, uri, zarith, piqi, piqi-ocaml, uuidm, llvm, frontc, ounit, ppx_jane, parsexp
, utop, libxml2, ncurses
@ -64,7 +64,13 @@ stdenv.mkDerivation rec {
disableIda = "--disable-ida";
disableGhidra = "--disable-ghidra";
patches = [ ./curses_is_ncurses.patch ];
patches = [
./curses_is_ncurses.patch
(fetchpatch {
url = "https://github.com/BinaryAnalysisPlatform/bap/commit/8b1bba30ebb551256a5b15122e70d07f40184039.patch";
sha256 = "0il0ik5f6nyqyrlln3n43mz1zpqq34lfnhmp10wdsah4ck2dy75h";
})
];
preConfigure = ''
substituteInPlace oasis/elf-loader --replace bitstring.ppx ppx_bitstring

View File

@ -4,7 +4,7 @@
buildDunePackage rec {
pname = "biocaml";
version = "0.11.1";
version = "0.11.2";
useDune2 = true;
@ -14,7 +14,12 @@ buildDunePackage rec {
owner = "biocaml";
repo = pname;
rev = "v${version}";
sha256 = "1il84vvypgkhdyc2j5fmgh14a58069s6ijbd5dvyl2i7jdxaazji";
sha256 = "01yw12yixs45ya1scpb9jy2f7dw1mbj7741xib2xpq3kkc1hc21s";
};
patches = fetchpatch {
url = "https://github.com/biocaml/biocaml/commit/3ef74d0eb4bb48d2fb7dd8b66fb3ad8fe0aa4d78.patch";
sha256 = "0rcvf8gwq7sz15mghl9ing722rl2zpnqif9dfxrnpdxiv0rl0731";
};
buildInputs = [ ppx_jane ppx_sexp_conv ];

View File

@ -1,10 +1,13 @@
{ lib
, ocaml
, fetchpatch
, fetchFromGitHub
, buildDunePackage
, base64
, bos
, core
, core_kernel
, core_unix
, lwt_react
, ocamlgraph
, ppx_sexp_conv
@ -15,21 +18,23 @@
buildDunePackage rec {
pname = "bistro";
version = "unstable-2021-11-13";
version = "unstable-2022-05-07";
useDune2 = true;
src = fetchFromGitHub {
owner = "pveber";
repo = pname;
rev = "fb285b2c6d8adccda3c71e2293bceb01febd6624";
sha256 = "sha256-JChDU1WH8W9Czkppx9SHiVIu9/7QFWJy2A89oksp0Ek=";
rev = "d363bd2d8257babbcb6db15bd83fd6465df7c268";
sha256 = "0g11324j1s2631zzf7zxc8s0nqd4fwvcni0kbvfpfxg96gy2wwfm";
};
propagatedBuildInputs = [
base64
bos
core
core_kernel
core_unix
lwt_react
ocamlgraph
ppx_sexp_conv

View File

@ -1,4 +1,6 @@
{ lib
, fetchpatch
, fetchurl
, buildDunePackage
, ppx_sexp_conv
, base
@ -47,13 +49,21 @@ buildDunePackage {
ipaddr
];
doCheck = true;
# Examples don't compile with core 0.15. See https://github.com/mirage/ocaml-cohttp/pull/864.
doCheck = false;
checkInputs = [
ounit
mirage-crypto
core
];
# Compatibility with core 0.15. No longer needed after updating cohttp to 5.0.0.
patches = fetchpatch {
url = "https://github.com/mirage/ocaml-cohttp/commit/5a7124478ed31c6b1fa6a9a50602c2ec839083b5.patch";
sha256 = "0i99rl8604xqwb6d0yzk9ws4dflbn0j4hv2nba2qscbqrrn22rw3";
};
patchFlags = "-p1 -F3";
meta = cohttp.meta // {
description = "CoHTTP implementation for the Async concurrency library";
};

View File

@ -1,9 +1,14 @@
{ buildDunePackage, faraday, core, async }:
{ buildDunePackage, fetchpatch, faraday, core, async }:
buildDunePackage rec {
pname = "faraday-async";
inherit (faraday) version src useDune2;
patches = fetchpatch {
url = "https://github.com/inhabitedtype/faraday/commit/31c3fc7f91ecca0f1deea10b40fd5e33bcd35f75.patch";
sha256 = "05z5gk7hxq7qvwg6f73hdhfcnx19p1dq6wqh8prx667y8zsaq2zj";
};
minimumOCamlVersion = "4.08";
propagatedBuildInputs = [ faraday core async ];

View File

@ -1,5 +1,5 @@
{ lib, fetchFromGitHub, buildDunePackage, core, core_kernel, pkg-config, sqlite
}:
{ lib, fetchFromGitHub, buildDunePackage, core, core_unix, pkg-config
, sqlite }:
buildDunePackage rec {
pname = "hack_parallel";
version = "1.0.1";
@ -13,9 +13,11 @@ buildDunePackage rec {
sha256 = "0qjlkw35r4q2cm0n2x0i73zvx1xgrp6axaia2nm8zxpm49mid629";
};
patches = [ ./hack_parallel.patch ];
nativeBuildInputs = [ pkg-config ];
propagatedBuildInputs = [ core core_kernel sqlite ];
propagatedBuildInputs = [ core core_unix sqlite ];
meta = {
description =

View File

@ -0,0 +1,68 @@
diff --git a/src/heap/sharedMem.ml b/src/heap/sharedMem.ml
index 600e272..511b724 100644
--- a/src/heap/sharedMem.ml
+++ b/src/heap/sharedMem.ml
@@ -521,7 +521,7 @@ end = struct
let stack: t option ref = ref None
- let has_local_changes () = Core_kernel.Option.is_some (!stack)
+ let has_local_changes () = Core.Option.is_some (!stack)
let rec mem stack_opt key =
match stack_opt with
diff --git a/src/interface/memory.ml b/src/interface/memory.ml
index 3554b17..09aa1f5 100644
--- a/src/interface/memory.ml
+++ b/src/interface/memory.ml
@@ -66,10 +66,10 @@ let get_heap_handle () =
let heap_use_ratio () =
- Core_kernel.Float.of_int (SharedMemory.heap_size ()) /.
- Core_kernel.Float.of_int initial_heap_size
+ Core.Float.of_int (SharedMemory.heap_size ()) /.
+ Core.Float.of_int initial_heap_size
let slot_use_ratio () =
let { SharedMemory.used_slots; slots; _ } = SharedMemory.hash_stats () in
- Core_kernel.Float.of_int used_slots /. Core_kernel.Float.of_int slots
+ Core.Float.of_int used_slots /. Core.Float.of_int slots
diff --git a/src/interface/scheduler.ml b/src/interface/scheduler.ml
index 9b8282a..b5d41b5 100644
--- a/src/interface/scheduler.ml
+++ b/src/interface/scheduler.ml
@@ -48,7 +48,7 @@ let map_reduce
| Some exact_size when exact_size > 0 ->
(List.length work / exact_size) + 1
| _ ->
- let bucket_multiplier = Core_kernel.Int.min bucket_multiplier (1 + (List.length work / 400)) in
+ let bucket_multiplier = Core.Int.min bucket_multiplier (1 + (List.length work / 400)) in
number_of_workers * bucket_multiplier
in
MultiWorker.call
diff --git a/src/utils/dune b/src/utils/dune
index 50a4c42..45e4a5a 100644
--- a/src/utils/dune
+++ b/src/utils/dune
@@ -15,6 +15,7 @@
sysinfo)
(libraries
core
+ core_unix
str
hack_parallel.collections
hack_parallel.disk
diff --git a/src/utils/hh_logger.ml b/src/utils/hh_logger.ml
index 4c99f05..8075ed5 100644
--- a/src/utils/hh_logger.ml
+++ b/src/utils/hh_logger.ml
@@ -9,6 +9,7 @@
*)
open Core
+module Unix = Core_unix
let timestamp_string () =
let open Unix in

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,13 @@
diff --git a/web_ui/element_size_hooks/visibility_tracker.ml b/web_ui/element_size_hooks/visibility_tracker.ml
index 2e5dbe0..61df433 100644
--- a/web_ui/element_size_hooks/visibility_tracker.ml
+++ b/web_ui/element_size_hooks/visibility_tracker.ml
@@ -23,8 +23,6 @@ let get_conservative_vis_bounds (element : Dom_html.element Js.t) : Bounds.t opt
and client_height = client_bounds##.height
and window_height = Dom_html.window##.innerHeight
and window_width = Dom_html.window##.innerWidth in
- let%bind.Option window_height = Js.Optdef.to_option window_height in
- let%bind.Option window_width = Js.Optdef.to_option window_width in
let window_height = Float.of_int window_height
and window_width = Float.of_int window_width
and client_width = Js.Optdef.get client_width (Fn.const 0.0)

View File

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

View File

@ -0,0 +1,22 @@
diff --git a/src/type.ml b/src/type.ml
index 8a9e648..3f3b0e9 100644
--- a/src/type.ml
+++ b/src/type.ml
@@ -31,12 +31,12 @@ let of_type_desc type_desc ~env =
| Tunivar _ -> Or_error.error_string "not handled: Tunivar"
| Tvariant _ -> Or_error.error_string "not handled: Tvariant"
| Tnil -> Or_error.error_string "not handled: Tnil"
- | Tobject (_, _) -> Or_error.error_string "not handled: Tobject"
- | Tfield (_, _, _, _) -> Or_error.error_string "not handled: Tfield"
- | Tpackage (_, _, _) -> Or_error.error_string "not handled: Tpackage"
- | Tpoly (_, _) -> Or_error.error_string "not handled: Tpoly"
+ | Tobject _ -> Or_error.error_string "not handled: Tobject"
+ | Tfield _ -> Or_error.error_string "not handled: Tfield"
+ | Tpackage _ -> Or_error.error_string "not handled: Tpackage"
+ | Tpoly _ -> Or_error.error_string "not handled: Tpoly"
| Tlink e -> walk e.desc
- | Tsubst e -> walk e.desc
+ | Tsubst (e, _) -> walk e.desc
| Ttuple es ->
let%bind tuple = List.map es ~f:(fun e -> walk e.desc) |> Or_error.all in
(match tuple with

View File

@ -1,6 +1,6 @@
{ lib
, buildDunePackage
, fetchurl
, fetchFromGitHub
, ppx_deriving
, bppsuite
, alcotest
@ -16,18 +16,15 @@
buildDunePackage rec {
pname = "phylogenetics";
version = "0.1.0";
version = "unstable-2022-05-06";
src = fetchurl {
url = "https://github.com/biocaml/phylogenetics/releases/download/v${version}/${pname}-${version}.tbz";
sha256 = "sha256:064ldljzh17h8pp0c27xd1pf6c50yhccw2g3hddzhk07a95q8v16";
src = fetchFromGitHub {
owner = "biocaml";
repo = pname;
rev = "cd7c624d0f98e31b02933ca4511b9809b26d35b5";
sha256 = "sha256:0w0xyah3hj05hxg1rsa40hhma3dm1cyq0zvnjrihhf22laxap7ga";
};
# Ensure compatibility with printbox ≥ 0.6
preConfigure = ''
substituteInPlace lib/dune --replace printbox printbox-text
'';
minimalOCamlVersion = "4.08";
checkInputs = [ alcotest bppsuite ];

View File

@ -6,11 +6,11 @@
buildDunePackage rec {
pname = "tls";
version = "0.15.2";
version = "0.15.3";
src = fetchurl {
url = "https://github.com/mirleft/ocaml-tls/releases/download/v${version}/tls-v${version}.tbz";
sha256 = "b76371757249bbeabb12c333de4ea2a09c095767bdbbc83322538c0da1fc1e36";
url = "https://github.com/mirleft/ocaml-tls/releases/download/v${version}/tls-${version}.tbz";
sha256 = "0nj6fhgrirn8ky4hb24m3ilhr41ynzgk6bqmjs17g8rdibwmdd2x";
};
minimumOCamlVersion = "4.08";

File diff suppressed because it is too large Load Diff

View File

@ -26,6 +26,8 @@ let
sha256 = "0k60hj8wcrvrk0isr210vnalylkd63ria1kgz5n49inl7w1hfwpv";
};
patches = [ ./comby.patch ];
nativeBuildInputs = [
ocamlPackages.ppx_deriving
ocamlPackages.ppx_deriving_yojson
@ -35,6 +37,7 @@ let
buildInputs = [
ocamlPackages.core
ocamlPackages.core_kernel
ocamlPackages.ocaml_pcre
ocamlPackages.mparser
ocamlPackages.mparser-pcre

View File

@ -20,11 +20,17 @@ ocamlPackages.buildDunePackage rec {
sha256 = "1k3m7bjq5yrrq7vhnbdykni65dsqhq6knnv9wvwq3svb3n07z4w3";
};
# compatibility with core >= 0.15
patches = [ ./flitter.patch ];
# https://github.com/alexozer/flitter/issues/28
postPatch = ''
for f in src/colors.ml src/duration.ml src/event_loop.ml src/splits.ml; do
for f in src/*.ml; do
substituteInPlace "$f" \
--replace 'Unix.gettimeofday' 'Caml_unix.gettimeofday'
--replace 'Unix.gettimeofday' 'Caml_unix.gettimeofday' \
--replace 'Core_kernel' 'Core' \
--replace 'sexp_option' 'option[@sexp.option]' \
--replace 'sexp_list' 'list[@sexp.list]'
done
'';
@ -33,7 +39,7 @@ ocamlPackages.buildDunePackage rec {
];
buildInputs = with ocamlPackages; [
core
core_unix
lwt_ppx
sexp_pretty
color

View File

@ -0,0 +1,13 @@
diff --git a/src/dune b/src/dune
index a50b09a..54cc770 100644
--- a/src/dune
+++ b/src/dune
@@ -1,7 +1,7 @@
(library
(name flitter)
(wrapped false)
- (libraries core lwt.unix notty notty.unix re color sexp_pretty)
+ (libraries core core_kernel.caml_unix lwt.unix notty notty.unix re color sexp_pretty)
(preprocess (pps lwt_ppx ppx_sexp_conv))
)

View File

@ -4,8 +4,8 @@ with ocamlPackages;
janePackage {
pname = "patdiff";
hash = "1yslj6xxyv8rx8y5s1civ1zq8y6vvxmkszdds958zdm1p1ign54r";
buildInputs = [ core patience_diff ocaml_pcre ];
hash = "0623a7n5r659rkxbp96g361mvxkcgc6x9lcbkm3glnppplk5kxr9";
propagatedBuildInputs = [ core_unix patience_diff ocaml_pcre ];
meta = {
description = "File Diff using the Patience Diff algorithm";
};

View File

@ -50,6 +50,8 @@ in
$out/share/satysfi
'';
DUNE_PROFILE = "release";
nativeBuildInputs = [ ruby dune_2 ];
buildInputs = [ camlpdf otfm yojson-with-position ] ++ (with ocamlPackages; [

View File

@ -1535,14 +1535,21 @@ let
# Jane Street
janePackage =
if lib.versionOlder "4.08" ocaml.version
if lib.versionOlder "4.10.2" ocaml.version
then callPackage ../development/ocaml-modules/janestreet/janePackage_0_15.nix {}
else if lib.versionOlder "4.08" ocaml.version
then callPackage ../development/ocaml-modules/janestreet/janePackage_0_14.nix {}
else if lib.versionOlder "4.07" ocaml.version
then callPackage ../development/ocaml-modules/janestreet/janePackage_0_12.nix {}
else callPackage ../development/ocaml-modules/janestreet/janePackage.nix {};
janeStreet =
if lib.versionOlder "4.08" ocaml.version
if lib.versionOlder "4.10.2" ocaml.version
then import ../development/ocaml-modules/janestreet/0.15.nix {
inherit self;
inherit (pkgs) fetchpatch lib openssl patdiff zstd;
}
else if lib.versionOlder "4.08" ocaml.version
then import ../development/ocaml-modules/janestreet/0.14.nix {
inherit self;
inherit (pkgs) fetchpatch lib openssl zstd;