[ocaml] upgrade most dependencies

Summary:
newer is better, right?

All the code changes in infer are because of core being bumped to v0.12.

Reviewed By: jberdine

Differential Revision: D16223183

fbshipit-source-id: f3c339966
master
Jules Villard 6 years ago committed by Facebook Github Bot
parent 5882c49d7d
commit 128f37985d

@ -793,7 +793,7 @@ endif
# This is a magical version number that doesn't reinstall the world when added on top of what we # This is a magical version number that doesn't reinstall the world when added on top of what we
# have in opam.locked. To upgrade this version number, manually try to install several utop versions # have in opam.locked. To upgrade this version number, manually try to install several utop versions
# until you find one that doesn't recompile the world. TODO(t20828442): get rid of magic # until you find one that doesn't recompile the world. TODO(t20828442): get rid of magic
OPAM_DEV_DEPS = ocamlformat.$$(grep version .ocamlformat | cut -d ' ' -f 3) ocp-indent merlin utop.2.2.0 webbrowser OPAM_DEV_DEPS = ocamlformat.$$(grep version .ocamlformat | cut -d ' ' -f 3) ocp-indent merlin utop.2.4.0 webbrowser
ifneq ($(EMACS),no) ifneq ($(EMACS),no)
OPAM_DEV_DEPS += tuareg OPAM_DEV_DEPS += tuareg

@ -139,7 +139,6 @@ let store ~proc_desc (attr : ProcAttributes.t) =
(Option.map proc_desc ~f:Procdesc.get_static_callees |> Option.value ~default:[]) (Option.map proc_desc ~f:Procdesc.get_static_callees |> Option.value ~default:[])
let load_defined pname = Typ.Procname.SQLite.serialize pname |> find ~defined:true let load_defined pname = Typ.Procname.SQLite.serialize pname |> find ~defined:true
let find_file_capturing_procedure pname = let find_file_capturing_procedure pname =

@ -251,7 +251,7 @@ end)
let hashqueue_of_sequence ?init s = let hashqueue_of_sequence ?init s =
let q = match init with None -> HashQueue.create () | Some q0 -> q0 in let q = match init with None -> HashQueue.create () | Some q0 -> q0 in
Sequence.iter s ~f:(fun id -> Sequence.iter s ~f:(fun id ->
let (_ : [`Key_already_present | `Ok]) = HashQueue.enqueue q id () in let (_ : [`Key_already_present | `Ok]) = HashQueue.enqueue_back q id () in
() ) ; () ) ;
q q

@ -47,6 +47,7 @@ let rename ~f {plain; mangled} =
let mangled = Option.map ~f mangled in let mangled = Option.map ~f mangled in
{plain; mangled} {plain; mangled}
module Set = Caml.Set.Make (struct module Set = Caml.Set.Make (struct
type nonrec t = t type nonrec t = t

@ -737,7 +737,7 @@ module Call = struct
-> 'marker -> 'marker
-> ('context, 'captured_types, 'markers) one_arg_matcher = -> ('context, 'captured_types, 'markers) one_arg_matcher =
fun get_m get_c marker -> fun get_m get_c marker ->
let marker_static_checker markers = Polymorphic_compare.( = ) marker (get_m markers) in let marker_static_checker markers = Poly.equal marker (get_m markers) in
let match_arg _context capt arg = Typ.equal (FuncArg.typ arg) (get_c capt) in let match_arg _context capt arg = Typ.equal (FuncArg.typ arg) (get_c capt) in
{match_arg; marker_static_checker} {match_arg; marker_static_checker}

@ -29,7 +29,7 @@ let find_json_files_in_dir dir =
let json_regex = Str.regexp_case_fold ".*\\.json$" in let json_regex = Str.regexp_case_fold ".*\\.json$" in
(not (Str.string_match json_files_to_ignore_regex path 0)) (not (Str.string_match json_files_to_ignore_regex path 0))
&& Str.string_match json_regex path 0 && Str.string_match json_regex path 0
&& Polymorphic_compare.( = ) s.st_kind Unix.S_REG && Poly.equal s.st_kind Unix.S_REG
in in
match dir_exists dir with match dir_exists dir with
| true -> | true ->

@ -257,8 +257,7 @@ let create_dir dir =
with Unix.Unix_error _ -> with Unix.Unix_error _ ->
let created_concurrently = let created_concurrently =
(* check if another process created it meanwhile *) (* check if another process created it meanwhile *)
try Polymorphic_compare.( = ) (Unix.stat dir).Unix.st_kind Unix.S_DIR try Poly.equal (Unix.stat dir).Unix.st_kind Unix.S_DIR with Unix.Unix_error _ -> false
with Unix.Unix_error _ -> false
in in
if not created_concurrently then L.(die ExternalError) "cannot create directory '%s'" dir ) if not created_concurrently then L.(die ExternalError) "cannot create directory '%s'" dir )

@ -88,9 +88,11 @@ let exp_list_match es1 sub vars es2 =
| Some (sub_acc, vars_leftover) -> | Some (sub_acc, vars_leftover) ->
exp_match e1 sub_acc vars_leftover e2 exp_match e1 sub_acc vars_leftover e2
in in
Option.find_map match List.zip es1 es2 with
~f:(fun es_combined -> List.fold ~f ~init:(Some (sub, vars)) es_combined) | Ok es_combined ->
(List.zip es1 es2) List.fold ~f ~init:(Some (sub, vars)) es_combined
| Unequal_lengths ->
None
(** Checks [sexp1 = sexp2[sub ++ sub']] for some [sub'] with (** Checks [sexp1 = sexp2[sub ++ sub']] for some [sub'] with

@ -156,7 +156,7 @@ let mk_find_duplicate_nodes : Procdesc.t -> Procdesc.Node.t -> Procdesc.NodeSet.
let s = M.find (get_key node) map in let s = M.find (get_key node) map in
let node_normalized_instrs = Procdesc.NodeMap.find node s in let node_normalized_instrs = Procdesc.NodeMap.find node s in
let collect_duplicates node' normalized_instrs' nset = let collect_duplicates node' normalized_instrs' nset =
if List.equal ~equal:Sil.equal_instr node_normalized_instrs normalized_instrs' then if List.equal Sil.equal_instr node_normalized_instrs normalized_instrs' then
Procdesc.NodeSet.add node' nset Procdesc.NodeSet.add node' nset
else nset else nset
in in

@ -336,11 +336,11 @@ let expand_formula phi map_ error_msg_ =
| false, fparams, f1 -> ( | false, fparams, f1 -> (
(* in this case it should be a defined macro *) (* in this case it should be a defined macro *)
match List.zip fparams actual_param with match List.zip fparams actual_param with
| Some sub -> | Ok sub ->
let f1_sub = apply_substitution f1 sub in let f1_sub = apply_substitution f1 sub in
let map' = ALVar.FormulaIdMap.add av (true, fparams, f1) map in let map' = ALVar.FormulaIdMap.add av (true, fparams, f1) map in
expand f1_sub map' error_msg' expand f1_sub map' error_msg'
| None -> | Unequal_lengths ->
L.(die ExternalError) L.(die ExternalError)
"Formula identifier '%s' is not called with the right number of parameters" name "Formula identifier '%s' is not called with the right number of parameters" name
) )

@ -128,7 +128,7 @@ type al_file =
; global_paths: (string * ALVar.alexp list) list ; global_paths: (string * ALVar.alexp list) list
; checkers: ctl_checker list } ; checkers: ctl_checker list }
let equal_ast_node = Poly.( = ) let equal_ast_node = Poly.equal
module Debug = struct module Debug = struct
let pp_transition fmt trans_opt = let pp_transition fmt trans_opt =
@ -817,12 +817,12 @@ let parameter_of_corresp_name method_name args name =
List.filter (String.split ~on:':' method_name) ~f:(fun label -> not (String.is_empty label)) List.filter (String.split ~on:':' method_name) ~f:(fun label -> not (String.is_empty label))
in in
match List.zip names args with match List.zip names args with
| Some names_args -> ( | Ok names_args -> (
let names_arg_opt = let names_arg_opt =
List.find names_args ~f:(fun (arg_label, _) -> ALVar.compare_str_with_alexp arg_label name) List.find names_args ~f:(fun (arg_label, _) -> ALVar.compare_str_with_alexp arg_label name)
in in
match names_arg_opt with Some (_, arg) -> Some arg | None -> None ) match names_arg_opt with Some (_, arg) -> Some arg | None -> None )
| None -> | Unequal_lengths ->
None None
@ -911,10 +911,10 @@ let field_of_corresp_name_from_init_list_expr name init_nodes (expr_info : Clang
| Some decl -> ( | Some decl -> (
let fields = transition_via_fields (Decl decl) in let fields = transition_via_fields (Decl decl) in
match List.zip init_nodes fields with match List.zip init_nodes fields with
| Some init_nodes_fields -> | Ok init_nodes_fields ->
List.filter ~f:(fun (_, field) -> field_has_name name field) init_nodes_fields List.filter ~f:(fun (_, field) -> field_has_name name field) init_nodes_fields
|> List.map ~f:(fun (node, _) -> node) |> List.map ~f:(fun (node, _) -> node)
| None -> | Unequal_lengths ->
[] ) [] )
| None -> | None ->
[] []

@ -54,7 +54,7 @@ module TypePointerOrd = struct
| _, Clang_ast_types.TypePtr.Ptr _ -> | _, Clang_ast_types.TypePtr.Ptr _ ->
-1 -1
| Builtin a, Builtin b -> | Builtin a, Builtin b ->
Polymorphic_compare.compare a b Poly.compare a b
| Builtin _, _ -> | Builtin _, _ ->
1 1
| _, Builtin _ -> | _, Builtin _ ->

@ -5,36 +5,10 @@
* LICENSE file in the root directory of this source tree. * LICENSE file in the root directory of this source tree.
*) *)
open! IStd open! IStd
module F = Format
module L = Logging module L = Logging
type compiler = Clang | Make [@@deriving compare] type compiler = Clang | Make [@@deriving compare]
let pp_extended_env fmt (env : Unix.env) =
let pp_pair fmt (var, value) = F.fprintf fmt "%s=%s" var value in
match env with
| `Replace values ->
F.fprintf fmt "@[<v>%a@]" (Pp.seq ~print_env:Pp.text_break pp_pair) values
| `Extend values ->
let is_extended s =
match String.lsplit2 s ~on:'=' with
| Some (var, _) ->
List.exists ~f:(fun (var', _) -> String.equal var var') values
| None ->
false
in
let env_not_extended =
Unix.environment () |> Array.to_list |> List.filter ~f:(Fn.non is_extended)
in
F.fprintf fmt "@[<v>%a@ %a@]"
(Pp.seq ~print_env:Pp.text_break F.pp_print_string)
env_not_extended
(Pp.seq ~print_env:Pp.text_break pp_pair)
values
| `Replace_raw values ->
F.fprintf fmt "@[<v>%a@]" (Pp.seq ~print_env:Pp.text_break F.pp_print_string) values
let capture compiler ~prog ~args = let capture compiler ~prog ~args =
match compiler with match compiler with
| Clang -> | Clang ->
@ -44,7 +18,8 @@ let capture compiler ~prog ~args =
let old_path = Option.value ~default:"" (Sys.getenv path_var) in let old_path = Option.value ~default:"" (Sys.getenv path_var) in
let new_path = Config.wrappers_dir ^ ":" ^ old_path in let new_path = Config.wrappers_dir ^ ":" ^ old_path in
let extended_env = `Extend [(path_var, new_path); ("INFER_OLD_PATH", old_path)] in let extended_env = `Extend [(path_var, new_path); ("INFER_OLD_PATH", old_path)] in
L.environment_info "Running command %s with env:@\n%a@\n@." prog pp_extended_env extended_env ; L.environment_info "Running command %s with env:@\n%s@\n@." prog
(Unix.sexp_of_env extended_env |> Sexp.to_string) ;
Unix.fork_exec ~prog ~argv:(prog :: args) ~env:extended_env () Unix.fork_exec ~prog ~argv:(prog :: args) ~env:extended_env ()
|> Unix.waitpid |> Unix.waitpid
|> function |> function

@ -26,9 +26,7 @@ type +'a t = Empty | Cons of 'a * 'a t | Snoc of 'a t * 'a | Concat of 'a t * 'a
let () = let () =
(* This is a pretty simple test to check that the runtime representation of OCaml lists is compatible with our lists and hence using [Obj.magic] for [of_list] is legit *) (* This is a pretty simple test to check that the runtime representation of OCaml lists is compatible with our lists and hence using [Obj.magic] for [of_list] is legit *)
let exception RuntimeValue in let exception RuntimeValue in
assert ( assert (Poly.(Caml.Obj.repr [RuntimeValue] = Caml.Obj.repr (Cons (RuntimeValue, Empty))))
Polymorphic_compare.(Caml.Obj.repr [RuntimeValue] = Caml.Obj.repr (Cons (RuntimeValue, Empty)))
)
(* Constructors *) (* Constructors *)

@ -70,7 +70,7 @@ end = struct
with type t = Hashing.hash_value * Obj.t ) with type t = Hashing.hash_value * Obj.t )
module HashedNoscanBlock = (val hashed_obj Polymorphic_compare.equal) module HashedNoscanBlock = (val hashed_obj Poly.equal)
module PhysEqualedHashedScannableBlock = (val hashed_obj phys_equal) module PhysEqualedHashedScannableBlock = (val hashed_obj phys_equal)

@ -7,4 +7,4 @@
open! Core open! Core
let ( = ) (v1 : [> ]) (v2 : [> ]) = Polymorphic_compare.( = ) v1 v2 let ( = ) (v1 : [> ]) (v2 : [> ]) = Poly.equal v1 v2

@ -239,7 +239,7 @@ let get_test_operator op =
Binop.Ne Binop.Ne
let is_java_native cm = Poly.( = ) cm.Javalib.cm_implementation Javalib.Native let is_java_native cm = Poly.equal cm.Javalib.cm_implementation Javalib.Native
let is_clone ms = String.equal (JBasics.ms_name ms) JConfig.clone_name let is_clone ms = String.equal (JBasics.ms_name ms) JConfig.clone_name

@ -66,7 +66,7 @@ let evaluate_static_guard label (e_fun, arg_ts) =
false false
in in
let match_args () = let match_args () =
let same_length xs ys = Option.is_some (List.zip xs ys) in let same_length xs ys = Int.equal (Caml.List.compare_lengths xs ys) 0 in
Option.value_map label.ToplAst.arguments ~f:(same_length arg_ts) ~default:true Option.value_map label.ToplAst.arguments ~f:(same_length arg_ts) ~default:true
in in
match_name () && match_args () match_name () && match_args ()

@ -85,12 +85,11 @@ let test_file_renamings_find_previous =
let test_relative_complements = let test_relative_complements =
let create_test pred (l1, l2) (expected_l1, expected_l2, expected_l3) _ = let create_test pred (l1, l2) (expected_l1, expected_l2, expected_l3) _ =
let compare = Int.compare in
let output_l1, output_l2, output_l3 = let output_l1, output_l2, output_l3 =
DifferentialFilters.VISIBLE_FOR_TESTING_DO_NOT_USE_DIRECTLY.relative_complements ~compare DifferentialFilters.VISIBLE_FOR_TESTING_DO_NOT_USE_DIRECTLY.relative_complements
~pred l1 l2 ~compare:Int.compare ~pred l1 l2
in in
let list_equal l1 l2 = List.equal ~equal:(fun v1 v2 -> Int.equal (compare v1 v2) 0) l1 l2 in let list_equal l1 l2 = List.equal Int.equal l1 l2 in
assert_equal ~pp_diff:(pp_diff_of_int_list "First list") ~cmp:list_equal expected_l1 output_l1 ; assert_equal ~pp_diff:(pp_diff_of_int_list "First list") ~cmp:list_equal expected_l1 output_l1 ;
assert_equal ~pp_diff:(pp_diff_of_int_list "Second list") ~cmp:list_equal expected_l2 output_l2 ; assert_equal ~pp_diff:(pp_diff_of_int_list "Second list") ~cmp:list_equal expected_l2 output_l2 ;
assert_equal ~pp_diff:(pp_diff_of_int_list "Third list") ~cmp:list_equal expected_l3 output_l3 assert_equal ~pp_diff:(pp_diff_of_int_list "Third list") ~cmp:list_equal expected_l3 output_l3

@ -17,7 +17,7 @@ let test_unixdiff_process_raw_directives_with_valid_input =
let actual_str = Format.asprintf "%a" (Pp.seq ~sep:"" UnixDiffTest.pp) actual in let actual_str = Format.asprintf "%a" (Pp.seq ~sep:"" UnixDiffTest.pp) actual in
Format.fprintf fmt "Expected: '%s', found: '%s'" expected_str actual_str Format.fprintf fmt "Expected: '%s', found: '%s'" expected_str actual_str
in in
assert_equal ~cmp:(List.equal ~equal:UnixDiffTest.equal) ~pp_diff expected found assert_equal ~cmp:(List.equal UnixDiffTest.equal) ~pp_diff expected found
in in
[ ( "test_unixdiff_process_raw_directives_1" [ ( "test_unixdiff_process_raw_directives_1"
, "UOOU" , "UOOU"
@ -78,7 +78,7 @@ let test_parse_directives_with_valid_input =
let actual_str = Format.asprintf "%a" (Pp.seq ~sep:", " Format.pp_print_int) actual in let actual_str = Format.asprintf "%a" (Pp.seq ~sep:", " Format.pp_print_int) actual in
Format.fprintf fmt "Expected: '%s', found: '%s'" expected_str actual_str Format.fprintf fmt "Expected: '%s', found: '%s'" expected_str actual_str
in in
assert_equal ~cmp:(List.equal ~equal:Int.equal) ~pp_diff expected found assert_equal ~cmp:(List.equal Int.equal) ~pp_diff expected found
in in
[ (* [ (*
=== test1 === === test1 ===
@ -251,7 +251,7 @@ let test_parse_unix_diff_with_valid_input =
let actual_str = Format.asprintf "%a" (Pp.seq ~sep:", " Format.pp_print_int) actual in let actual_str = Format.asprintf "%a" (Pp.seq ~sep:", " Format.pp_print_int) actual in
Format.fprintf fmt "Expected: '%s', found: '%s'" expected_str actual_str Format.fprintf fmt "Expected: '%s', found: '%s'" expected_str actual_str
in in
assert_equal ~cmp:(List.equal ~equal:Int.equal) ~pp_diff expected found assert_equal ~cmp:(List.equal Int.equal) ~pp_diff expected found
in in
[("test_parse_unix_diff_1", "OONUU", [1]); ("test_parse_unix_diff_2", "UOONUONN", [2; 4; 5])] [("test_parse_unix_diff_1", "OONUU", [1]); ("test_parse_unix_diff_2", "UOONUONN", [2; 4; 5])]
|> List.map ~f:(fun (name, test_input, expected_output) -> |> List.map ~f:(fun (name, test_input, expected_output) ->

@ -62,7 +62,7 @@ let test_jni_parse_str_with_valid_input =
Format.fprintf fmt "Expected: '%a', found: '%a'" (Format.pp_print_list T.pp) expected Format.fprintf fmt "Expected: '%a', found: '%a'" (Format.pp_print_list T.pp) expected
(Format.pp_print_list T.pp) actual (Format.pp_print_list T.pp) actual
in in
assert_equal ~cmp:(List.equal ~equal:T.equal) ~pp_diff expected found assert_equal ~cmp:(List.equal T.equal) ~pp_diff expected found
in in
[ ( "test_jni_parse_str_with_method_signature" [ ( "test_jni_parse_str_with_method_signature"
, "(IZLjava/lang/String;)[C" , "(IZLjava/lang/String;)[C"
@ -160,9 +160,7 @@ let test_jni_to_java_type_with_invalid_input =
let test_from_json_string_with_valid_input = let test_from_json_string_with_valid_input =
let create_test input expected ~use_signature _ = let create_test input expected ~use_signature _ =
let found = JavaProfilerSamples.from_json_string input ~use_signature in let found = JavaProfilerSamples.from_json_string input ~use_signature in
assert_equal assert_equal ~cmp:(List.equal JavaProfilerSamples.equal_labeled_profiler_sample) expected found
~cmp:(List.equal ~equal:JavaProfilerSamples.equal_labeled_profiler_sample)
expected found
in in
let input1 = "[{\"test\": \"label1\",\"methods\": []}]" in let input1 = "[{\"test\": \"label1\",\"methods\": []}]" in
let expected1 = [("label1", JavaProfilerSamples.ProfilerSample.of_list [])] in let expected1 = [("label1", JavaProfilerSamples.ProfilerSample.of_list [])] in

@ -65,7 +65,7 @@ let tests =
let serialized_normalized_with_sharing = Marshal.to_string normalized [] in let serialized_normalized_with_sharing = Marshal.to_string normalized [] in
assert_equal serialized_input_with_sharing serialized_normalized_with_sharing assert_equal serialized_input_with_sharing serialized_normalized_with_sharing
| `MarshalNoSharing_MustBeBetter -> | `MarshalNoSharing_MustBeBetter ->
assert_bool "equal" (Polymorphic_compare.equal input normalized) ; assert_bool "equal" (Poly.equal input normalized) ;
assert_bool "strictly less reachable words" assert_bool "strictly less reachable words"
(reachable_words_normalized < reachable_words_input) ; (reachable_words_normalized < reachable_words_input) ;
(* (*

@ -47,7 +47,7 @@ let tests =
let open OUnit2 in let open OUnit2 in
let cmp l1 l2 = let cmp l1 l2 =
let sort = List.sort ~compare:Procdesc.Node.compare in let sort = List.sort ~compare:Procdesc.Node.compare in
List.equal ~equal:Procdesc.Node.equal (sort l1) (sort l2) List.equal Procdesc.Node.equal (sort l1) (sort l2)
in in
let pp_diff fmt (actual, expected) = let pp_diff fmt (actual, expected) =
let pp_sep fmt _ = F.pp_print_char fmt ',' in let pp_sep fmt _ = F.pp_print_char fmt ',' in

@ -25,7 +25,7 @@ depends: [
"atdgen" {>="2.0.0"} "atdgen" {>="2.0.0"}
"base64" {>="3.0.0"} "base64" {>="3.0.0"}
"cmdliner" {>="1.0.0"} "cmdliner" {>="1.0.0"}
"core" {<"v0.12.0"} "core" {>="v0.12.0" & < "v0.13"}
"conf-autoconf" {build} "conf-autoconf" {build}
"conf-gmp" {build} "conf-gmp" {build}
"conf-mpfr" {build} "conf-mpfr" {build}
@ -34,7 +34,7 @@ depends: [
"ctypes" {>="0.9.2"} "ctypes" {>="0.9.2"}
"dune" {build & >="1.0"} "dune" {build & >="1.0"}
"elina" {>="1.1"} "elina" {>="1.1"}
"javalib" {>="2.3.5" & <"3.0"} "javalib" {="3.0"}
"mtime" "mtime"
"ocaml" {>="4.06.0"} "ocaml" {>="4.06.0"}
"ocamlfind" {build} "ocamlfind" {build}
@ -42,7 +42,7 @@ depends: [
"ounit" {>="2.0.5"} "ounit" {>="2.0.5"}
"parmap" {>="1.0-rc8"} "parmap" {>="1.0-rc8"}
"ppx_deriving" {>="4.1"} "ppx_deriving" {>="4.1"}
"ppx_fields_conv" {>="v0.11.0" & < "v0.12"} "ppx_fields_conv" {>="v0.12.0" & < "v0.13"}
"sawja" {>="1.5.4"} "sawja" {>="1.5.4"}
"sqlite3" "sqlite3"
"utop" {with-test} "utop" {with-test}

@ -25,19 +25,21 @@ depends: [
"atd" {= "2.0.0"} "atd" {= "2.0.0"}
"atdgen" {= "2.0.0"} "atdgen" {= "2.0.0"}
"atdgen-runtime" {= "2.0.0"} "atdgen-runtime" {= "2.0.0"}
"base" {= "v0.11.1"} "base" {= "v0.12.2"}
"base-bigarray" {= "base"} "base-bigarray" {= "base"}
"base-bytes" {= "base"} "base-bytes" {= "base"}
"base-threads" {= "base"} "base-threads" {= "base"}
"base-unix" {= "base"} "base-unix" {= "base"}
"base64" {= "3.1.0"} "base64" {= "3.2.0"}
"bin_prot" {= "v0.11.0"} "base_bigstring" {= "v0.12.0"}
"base_quickcheck" {= "v0.12.0"}
"bin_prot" {= "v0.12.0"}
"biniou" {= "1.2.0"} "biniou" {= "1.2.0"}
"camlidl" {= "1.05"} "camlidl" {= "1.05"}
"camlp4" {= "4.07+1"} "camlp4" {= "4.07+1"}
"camlzip" {= "1.07"} "camlzip" {= "1.08"}
"camomile" {= "1.0.1"} "camomile" {= "1.0.1"}
"cmdliner" {= "1.0.3"} "cmdliner" {= "1.0.4"}
"conf-autoconf" {= "0.1"} "conf-autoconf" {= "0.1"}
"conf-gmp" {= "1"} "conf-gmp" {= "1"}
"conf-m4" {= "1"} "conf-m4" {= "1"}
@ -47,78 +49,81 @@ depends: [
"conf-sqlite3" {= "1"} "conf-sqlite3" {= "1"}
"conf-which" {= "1"} "conf-which" {= "1"}
"conf-zlib" {= "1"} "conf-zlib" {= "1"}
"configurator" {= "v0.11.0"} "core" {= "v0.12.3"}
"core" {= "v0.11.3"} "core_kernel" {= "v0.12.2"}
"core_kernel" {= "v0.11.1"} "cppo" {= "1.6.6"}
"cppo" {= "1.6.5"}
"cppo_ocamlbuild" {= "1.6.0"}
"ctypes" {= "0.14.0"} "ctypes" {= "0.14.0"}
"dune" {= "1.10.0"} "dune" {= "1.10.0"}
"easy-format" {= "1.3.1"} "easy-format" {= "1.3.1"}
"elina" {= "1.1"} "elina" {= "1.1"}
"extlib" {= "1.7.5"} "extlib" {= "1.7.5"}
"fieldslib" {= "v0.11.0"} "fieldslib" {= "v0.12.0"}
"integers" {= "0.2.2"} "integers" {= "0.2.2"}
"jane-street-headers" {= "v0.11.0"} "jane-street-headers" {= "v0.12.0"}
"javalib" {= "3.0"} "javalib" {= "3.0"}
"jbuilder" {= "transition"} "jbuilder" {= "transition"}
"menhir" {= "20181113"} "jst-config" {= "v0.12.0"}
"mlgmpidl" {= "1.2.7"} "menhir" {= "20190626"}
"mlgmpidl" {= "1.2.10"}
"mtime" {= "1.1.0"} "mtime" {= "1.1.0"}
"num" {= "1.1"} "num" {= "1.2"}
"ocaml" {= "4.07.1"} "ocaml" {= "4.07.1"}
"ocaml-compiler-libs" {= "v0.11.0"} "ocaml-compiler-libs" {= "v0.12.0"}
"ocaml-config" {= "1"} "ocaml-config" {= "1"}
"ocaml-migrate-parsetree" {= "1.1.0"} "ocaml-migrate-parsetree" {= "1.4.0"}
"ocaml-variants" {= "4.07.1+flambda"} "ocaml-variants" {= "4.07.1+flambda"}
"ocamlbuild" {= "0.12.0"} "ocamlbuild" {= "0.14.0"}
"ocamlfind" {= "1.8.0"} "ocamlfind" {= "1.8.0"}
"ocamlgraph" {= "1.8.8"} "ocamlgraph" {= "1.8.8"}
"octavius" {= "1.2.0"} "octavius" {= "1.2.0"}
"ounit" {= "2.0.8"} "ounit" {= "2.0.8"}
"parmap" {= "1.0-rc10"} "parmap" {= "1.0-rc10"}
"parsexp" {= "v0.11.0"} "parsexp" {= "v0.12.0"}
"ppx_assert" {= "v0.11.0"} "ppx_assert" {= "v0.12.0"}
"ppx_base" {= "v0.11.0"} "ppx_base" {= "v0.12.0"}
"ppx_bench" {= "v0.11.0"} "ppx_bench" {= "v0.12.0"}
"ppx_bin_prot" {= "v0.11.1"} "ppx_bin_prot" {= "v0.12.1"}
"ppx_compare" {= "v0.11.1"} "ppx_compare" {= "v0.12.0"}
"ppx_custom_printf" {= "v0.11.0"} "ppx_custom_printf" {= "v0.12.1"}
"ppx_derivers" {= "1.0"} "ppx_derivers" {= "1.2.1"}
"ppx_deriving" {= "4.2.1"} "ppx_deriving" {= "4.4"}
"ppx_enumerate" {= "v0.11.1"} "ppx_enumerate" {= "v0.12.0"}
"ppx_expect" {= "v0.11.1"} "ppx_expect" {= "v0.12.0"}
"ppx_fail" {= "v0.11.0"} "ppx_fail" {= "v0.12.0"}
"ppx_fields_conv" {= "v0.11.0"} "ppx_fields_conv" {= "v0.12.0"}
"ppx_hash" {= "v0.11.1"} "ppx_hash" {= "v0.12.0"}
"ppx_here" {= "v0.11.0"} "ppx_here" {= "v0.12.0"}
"ppx_inline_test" {= "v0.11.0"} "ppx_inline_test" {= "v0.12.0"}
"ppx_jane" {= "v0.11.0"} "ppx_jane" {= "v0.12.0"}
"ppx_js_style" {= "v0.11.0"} "ppx_js_style" {= "v0.12.0"}
"ppx_let" {= "v0.11.0"} "ppx_let" {= "v0.12.0"}
"ppx_optcomp" {= "v0.11.0"} "ppx_module_timer" {= "v0.12.0"}
"ppx_optional" {= "v0.11.0"} "ppx_optcomp" {= "v0.12.0"}
"ppx_pipebang" {= "v0.11.0"} "ppx_optional" {= "v0.12.0"}
"ppx_sexp_conv" {= "v0.11.2"} "ppx_pipebang" {= "v0.12.0"}
"ppx_sexp_message" {= "v0.11.0"} "ppx_sexp_conv" {= "v0.12.0"}
"ppx_sexp_value" {= "v0.11.0"} "ppx_sexp_message" {= "v0.12.0"}
"ppx_sexp_value" {= "v0.12.0"}
"ppx_stable" {= "v0.12.0"}
"ppx_tools" {= "5.1+4.06.0"} "ppx_tools" {= "5.1+4.06.0"}
"ppx_typerep_conv" {= "v0.11.1"} "ppx_typerep_conv" {= "v0.12.0"}
"ppx_variants_conv" {= "v0.11.1"} "ppx_variants_conv" {= "v0.12.0"}
"ppxlib" {= "0.3.1"} "ppxfind" {= "1.3"}
"re" {= "1.8.0"} "ppxlib" {= "0.8.0"}
"result" {= "1.3"} "re" {= "1.9.0"}
"result" {= "1.4"}
"sawja" {= "1.5.6"} "sawja" {= "1.5.6"}
"seq" {= "base"} "seq" {= "base"}
"sexplib" {= "v0.11.0"} "sexplib" {= "v0.12.0"}
"sexplib0" {= "v0.11.0"} "sexplib0" {= "v0.12.0"}
"spawn" {= "v0.12.0"} "spawn" {= "v0.13.0"}
"splittable_random" {= "v0.11.0"} "splittable_random" {= "v0.12.0"}
"sqlite3" {= "4.4.1"} "sqlite3" {= "4.4.1"}
"stdio" {= "v0.11.0"} "stdio" {= "v0.12.0"}
"time_now" {= "v0.12.0"}
"topkg" {= "1.0.0"} "topkg" {= "1.0.0"}
"typerep" {= "v0.11.0"} "typerep" {= "v0.12.0"}
"variantslib" {= "v0.11.0"} "variantslib" {= "v0.12.0"}
"xmlm" {= "1.3.0"} "xmlm" {= "1.3.0"}
"yojson" {= "1.7.0"} "yojson" {= "1.7.0"}
"zarith" {= "1.7"} "zarith" {= "1.7"}

Loading…
Cancel
Save