diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml index cac854d85..b41fcc107 100644 --- a/.github/workflows/install.yml +++ b/.github/workflows/install.yml @@ -56,7 +56,7 @@ jobs: - macOS-latest - ubuntu-latest ocaml-version: - - 4.11.1 + - 4.12.0 runs-on: ${{ matrix.os }} steps: diff --git a/build-infer.sh b/build-infer.sh index 25a2afdc2..757d40293 100755 --- a/build-infer.sh +++ b/build-infer.sh @@ -17,10 +17,10 @@ DEPENDENCIES_DIR="$INFER_ROOT/facebook/dependencies" PLATFORM="$(uname)" SANDCASTLE=${SANDCASTLE:-} NCPU="$(getconf _NPROCESSORS_ONLN 2>/dev/null || echo 1)" -INFER_OPAM_DEFAULT_SWITCH="ocaml-variants.4.11.1+flambda" -INFER_OPAM_DEFAULT_COMPILER="$INFER_OPAM_DEFAULT_SWITCH" +INFER_OPAM_DEFAULT_SWITCH="4.12.0+flambda" +INFER_OPAM_DEFAULT_SWITCH_OPTIONS="--package=ocaml-variants.4.12.0+options,ocaml-option-flambda" INFER_OPAM_SWITCH=${INFER_OPAM_SWITCH:-$INFER_OPAM_DEFAULT_SWITCH} -INFER_OPAM_COMPILER=${INFER_OPAM_COMPILER:-$INFER_OPAM_DEFAULT_COMPILER} +INFER_OPAM_SWITCH_OPTIONS=${INFER_OPAM_SWITCH_OPTIONS:-$INFER_OPAM_DEFAULT_SWITCH_OPTIONS} PLUGIN_DIR="$INFER_ROOT/facebook-clang-plugins" PLUGIN_SETUP_SCRIPT=${PLUGIN_SETUP_SCRIPT:-setup.sh} PLUGIN_SETUP="${PLUGIN_DIR}/clang/${PLUGIN_SETUP_SCRIPT}" @@ -136,7 +136,7 @@ fi setup_opam () { opam var root 1>/dev/null 2>/dev/null || opam init --reinit --bare --no-setup && - opam_retry opam_switch_create_if_needed "$INFER_OPAM_SWITCH" "$INFER_OPAM_COMPILER" && + opam_retry opam_switch_create_if_needed "$INFER_OPAM_SWITCH" "$INFER_OPAM_SWITCH_OPTIONS" && opam switch set "$INFER_OPAM_SWITCH" } diff --git a/infer/tests/build_systems/infertop/toplevel.exp b/infer/tests/build_systems/infertop/toplevel.exp index 8bef36758..5227f7aba 100644 --- a/infer/tests/build_systems/infertop/toplevel.exp +++ b/infer/tests/build_systems/infertop/toplevel.exp @@ -7,8 +7,5 @@ Findlib has been successfully loaded. Additional directives: Topfind.reset();; to force that packages will be reloaded #thread;; to enable threads -The files [...]/extLib.cma -and [...]/infertop.bc.exe -disagree over interface Base64 n$4 false diff --git a/opam/infer.opam b/opam/infer.opam index ae0ce17fa..59f5152f7 100644 --- a/opam/infer.opam +++ b/opam/infer.opam @@ -35,7 +35,7 @@ depends: [ "memtrace" {>="0.1.2"} "mlgmpidl" {>="1.2.12"} "mtime" - "ocaml" {>="4.09.0"} + "ocaml" {>="4.12.0"} "ocamlfind" {build} "ocamlgraph" "ounit" {>="2.0.5"} diff --git a/opam/infer.opam.locked b/opam/infer.opam.locked index aead89858..caaa6d9c8 100644 --- a/opam/infer.opam.locked +++ b/opam/infer.opam.locked @@ -1,6 +1,6 @@ opam-version: "2.0" name: "infer" -version: "1.0.0" +version: "1.1.0" synopsis: "A static analyzer for Java, C, C++, and Objective-C" maintainer: "the infer team" authors: "Facebook" @@ -27,76 +27,77 @@ depends: [ "atd" {= "2.2.1"} "atdgen" {= "2.2.1"} "atdgen-runtime" {= "2.2.1"} - "base" {= "v0.14.0"} + "base" {= "v0.14.1"} "base-bigarray" {= "base"} "base-bytes" {= "base"} "base-threads" {= "base"} "base-unix" {= "base"} - "base64" {= "3.4.0"} + "base64" {= "3.5.0"} "base_bigstring" {= "v0.14.0"} - "base_quickcheck" {= "v0.14.0"} + "base_quickcheck" {= "v0.14.1"} + "bigarray-compat" {= "1.0.0"} "bin_prot" {= "v0.14.0"} "biniou" {= "1.2.1"} "camlidl" {= "1.09"} "camlzip" {= "1.10"} "cmdliner" {= "1.0.4"} "conf-autoconf" {= "0.1"} - "conf-gmp" {= "2"} - "conf-m4" {= "1"} + "conf-gmp" {= "3"} "conf-mpfr" {= "2"} "conf-perl" {= "1"} - "conf-pkg-config" {= "1.3"} + "conf-pkg-config" {= "2"} "conf-sqlite3" {= "1"} "conf-which" {= "1"} "conf-zlib" {= "1"} - "core" {= "v0.14.0"} - "core_kernel" {= "v0.14.0"} - "cppo" {= "1.6.6"} - "csexp" {= "1.3.1"} - "ctypes" {= "0.17.1"} - "dune" {= "2.7.1"} - "dune-configurator" {= "2.7.1"} + "core" {= "v0.14.1"} + "core_kernel" {= "v0.14.1"} + "cppo" {= "1.6.7"} + "csexp" {= "1.5.1"} + "ctypes" {= "0.18.0"} + "dune" {= "2.8.5"} + "dune-configurator" {= "2.8.5"} "easy-format" {= "1.3.2"} - "extlib" {= "1.7.7"} + "extlib" {= "1.7.8"} "fieldslib" {= "v0.14.0"} "integers" {= "0.4.0"} "iter" {= "1.2.1"} "jane-street-headers" {= "v0.14.0"} "javalib" {= "3.2.1"} "jst-config" {= "v0.14.0"} - "memtrace" {= "0.1.2"} - "menhir" {= "20200624"} - "menhirLib" {= "20200624"} - "menhirSdk" {= "20200624"} - "mlgmpidl" {= "1.2.12"} + "memtrace" {= "0.2.1.2"} + "menhir" {= "20210419"} + "menhirLib" {= "20210419"} + "menhirSdk" {= "20210419"} + "mlgmpidl" {= "1.2.13"} "mtime" {= "1.2.0"} - "num" {= "1.3"} - "ocaml" {= "4.11.1"} - "ocaml-compiler-libs" {= "v0.12.1"} - "ocaml-config" {= "1"} - "ocaml-migrate-parsetree" {= "1.7.3"} - "ocaml-variants" {= "4.11.1+flambda"} + "num" {= "1.4"} + "ocaml" {= "4.12.0"} + "ocaml-compiler-libs" {= "v0.12.3"} + "ocaml-config" {= "2"} + "ocaml-migrate-parsetree" {= "2.1.0"} + "ocaml-option-flambda" {= "1"} + "ocaml-variants" {= "4.12.0+options"} "ocamlbuild" {= "0.14.0"} - "ocamlfind" {= "1.8.1"} - "ocamlgraph" {= "1.8.8"} + "ocamlfind" {= "1.9.1"} + "ocamlgraph" {= "2.0.0"} "octavius" {= "1.2.2"} - "ounit" {= "2.2.3"} - "ounit2" {= "2.2.3"} - "parmap" {= "1.1.1"} + "ounit" {= "2.2.4"} + "ounit2" {= "2.2.4"} + "parmap" {= "1.2.3"} "parsexp" {= "v0.14.0"} "ppx_assert" {= "v0.14.0"} "ppx_base" {= "v0.14.0"} "ppx_bench" {= "v0.14.1"} "ppx_bin_prot" {= "v0.14.0"} - "ppx_blob" {= "0.7.0"} + "ppx_blob" {= "0.7.2"} "ppx_cold" {= "v0.14.0"} "ppx_compare" {= "v0.14.0"} - "ppx_custom_printf" {= "v0.14.0"} + "ppx_custom_printf" {= "v0.14.1"} "ppx_derivers" {= "1.2.1"} - "ppx_deriving" {= "4.5"} + "ppx_deriving" {= "5.2.1"} "ppx_enumerate" {= "v0.14.0"} - "ppx_expect" {= "v0.14.0"} - "ppx_fields_conv" {= "v0.14.1"} + "ppx_expect" {= "v0.14.1"} + "ppx_fields_conv" {= "v0.14.2"} "ppx_fixed_literal" {= "v0.14.0"} "ppx_hash" {= "v0.14.0"} "ppx_here" {= "v0.14.0"} @@ -105,21 +106,19 @@ depends: [ "ppx_js_style" {= "v0.14.0"} "ppx_let" {= "v0.14.0"} "ppx_module_timer" {= "v0.14.0"} - "ppx_optcomp" {= "v0.14.0"} + "ppx_optcomp" {= "v0.14.1"} "ppx_optional" {= "v0.14.0"} "ppx_pipebang" {= "v0.14.0"} - "ppx_sexp_conv" {= "v0.14.1"} - "ppx_sexp_message" {= "v0.14.0"} + "ppx_sexp_conv" {= "v0.14.3"} + "ppx_sexp_message" {= "v0.14.1"} "ppx_sexp_value" {= "v0.14.0"} "ppx_stable" {= "v0.14.1"} "ppx_string" {= "v0.14.1"} - "ppx_tools" {= "6.2"} - "ppx_typerep_conv" {= "v0.14.1"} + "ppx_typerep_conv" {= "v0.14.2"} "ppx_variants_conv" {= "v0.14.1"} "ppx_yojson_conv" {= "v0.14.0"} "ppx_yojson_conv_lib" {= "v0.14.0"} - "ppxfind" {= "1.4"} - "ppxlib" {= "0.15.0"} + "ppxlib" {= "0.22.0"} "protocol_version_header" {= "v0.14.0"} "re" {= "1.9.0"} "result" {= "1.5"} @@ -129,18 +128,18 @@ depends: [ "sexplib0" {= "v0.14.0"} "spawn" {= "v0.13.0"} "splittable_random" {= "v0.14.0"} - "sqlite3" {= "5.0.2"} + "sqlite3" {= "5.0.3"} "stdio" {= "v0.14.0"} - "stdlib-shims" {= "0.1.0"} + "stdlib-shims" {= "0.3.0"} "textutils" {= "v0.14.0"} "time_now" {= "v0.14.0"} "timezone" {= "v0.14.0"} - "topkg" {= "1.0.2"} + "topkg" {= "1.0.3"} "typerep" {= "v0.14.0"} "variantslib" {= "v0.14.0"} "xmlm" {= "1.3.0"} "yojson" {= "1.7.0"} - "zarith" {= "1.9.1"} + "zarith" {= "1.12"} ] depexts: [ [ ["ubuntu"] ["default-jdk"] ] diff --git a/scripts/opam_utils.sh b/scripts/opam_utils.sh index b9b11f1a2..7ad2f4055 100644 --- a/scripts/opam_utils.sh +++ b/scripts/opam_utils.sh @@ -50,7 +50,7 @@ opam_require_version_2 () { # assumes opam is available and initialized opam_switch_create_if_needed () { local switch=$1 - local compiler=$2 + local options=$2 local switch_exists=no for installed_switch in $(opam switch list --short); do if [ "$installed_switch" == "$switch" ]; then @@ -63,7 +63,7 @@ opam_switch_create_if_needed () { if [ -n "$opam_root" ]; then rm -rf "$opam_root/$switch" || true fi - opam switch create "$switch" "$compiler" + opam switch create "$switch" "$options" fi }