diff --git a/devel_tools/docker/frama-c.20.0/Dockerfile b/devel_tools/docker/frama-c.20.0/Dockerfile index d73738fb95080d205a3c8a6668c246dbd41ca1a7..66dcd40c0252c89768cc13ce42210595823e1f79 100644 --- a/devel_tools/docker/frama-c.20.0/Dockerfile +++ b/devel_tools/docker/frama-c.20.0/Dockerfile @@ -1,7 +1,11 @@ FROM debian:sid as base -RUN apt update -RUN apt install opam -y +RUN apt-get update && apt-get install -y \ + cvc4 \ + opam \ + z3 \ + && rm -rf /var/lib/apt/lists/* + RUN opam init --disable-sandboxing --compiler=ocaml-base-compiler.4.05.0 -y # "RUN eval $(opam env)" does not work, so we manually set its variables @@ -11,11 +15,10 @@ ENV OCAML_TOPLEVEL_PATH "/root/.opam/ocaml-base-compiler.4.05.0/lib/toplevel" ENV MANPATH "$MANPATH:/root/.opam/ocaml-base-compiler.4.05.0/man" ENV PATH "/root/.opam/ocaml-base-compiler.4.05.0/bin:$PATH" -RUN opam update -y -RUN opam install depext -y +RUN opam update -y && opam install depext -y # Install packages from reference configuration -RUN opam depext --install -y \ +RUN apt-get update && opam update -y && opam depext --install -y --verbose \ alt-ergo.2.0.0 \ apron.20160125 \ conf-graphviz.0.1 \ @@ -26,7 +29,8 @@ RUN opam depext --install -y \ why3.1.2.0 \ yojson.1.7.0 \ zarith.1.9.1 \ - --verbose # intentionally left as last line in this RUN command + && rm -rf /var/lib/apt/lists/* + RUN why3 config --detect-provers # with_source: keep Frama-C sources @@ -47,12 +51,14 @@ RUN cd /root && \ ARG with_test=no RUN if [ "${with_test}" != "no" ]; then \ - opam depext --install -y \ + apt-get update && \ + opam update -y && opam depext --install -y \ conf-python-3.1.0.0 \ conf-time.1 \ --verbose \ && \ - apt install python -y && \ + apt-get install python -y && \ + rm -rf /var/lib/apt/lists/* && \ cd /root/frama-c-* && \ make tests; \ fi diff --git a/devel_tools/docker/frama-c.21.0/Dockerfile b/devel_tools/docker/frama-c.21.0/Dockerfile index 3a615a7bf0f9d87ec211b428dd12891c3ea4c57d..472d6dce9eb0e3f5fc718bc80fee0dba5bb0421c 100644 --- a/devel_tools/docker/frama-c.21.0/Dockerfile +++ b/devel_tools/docker/frama-c.21.0/Dockerfile @@ -1,7 +1,11 @@ FROM debian:sid as base -RUN apt update -RUN apt install opam -y +RUN apt-get update && apt-get install -y \ + cvc4 \ + opam \ + z3 \ + && rm -rf /var/lib/apt/lists/* + RUN opam init --disable-sandboxing --compiler=ocaml-base-compiler.4.07.1 -y # "RUN eval $(opam env)" does not work, so we manually set its variables @@ -11,11 +15,10 @@ ENV OCAML_TOPLEVEL_PATH "/root/.opam/ocaml-base-compiler.4.07.1/lib/toplevel" ENV MANPATH "$MANPATH:/root/.opam/ocaml-base-compiler.4.07.1/man" ENV PATH "/root/.opam/ocaml-base-compiler.4.07.1/bin:$PATH" -RUN opam update -y -RUN opam install depext -y +RUN opam update -y && opam install depext -y # Install packages from reference configuration -RUN opam depext --install -y \ +RUN apt-get update && opam update -y && opam depext --install -y --verbose \ alt-ergo.2.0.0 \ apron.v0.9.12 \ conf-graphviz.0.1 \ @@ -27,7 +30,11 @@ RUN opam depext --install -y \ yojson.1.7.0 \ zarith.1.9.1 \ zmq.5.1.3 \ - --verbose # intentionally left as last line in this RUN command + && rm -rf /var/lib/apt/lists/* + +# Install non-OCaml solvers +RUN apt install z3 cvc4 -y + RUN why3 config --full-config # with_source: keep Frama-C sources @@ -48,11 +55,13 @@ RUN cd /root && \ ARG with_test=no RUN if [ "${with_test}" != "no" ]; then \ - opam depext --install -y \ + apt-get update && \ + opam update -y && opam depext --install -y \ conf-python-3.1.0.0 \ conf-time.1 \ --verbose \ && \ + rm -rf /var/lib/apt/lists/* && \ cd /root/frama-c-* && \ make tests; \ fi diff --git a/devel_tools/docker/frama-c.21.1/Dockerfile b/devel_tools/docker/frama-c.21.1/Dockerfile index 8852ac14805bad7b5862b8b1205a5e667ab8ca8c..c37b6441aa885a8e2bdee5acb507b95443c04338 100644 --- a/devel_tools/docker/frama-c.21.1/Dockerfile +++ b/devel_tools/docker/frama-c.21.1/Dockerfile @@ -1,7 +1,11 @@ FROM debian:sid as base -RUN apt update -RUN apt install opam -y +RUN apt-get update && apt-get install -y \ + cvc4 \ + opam \ + z3 \ + && rm -rf /var/lib/apt/lists/* + RUN opam init --disable-sandboxing --compiler=ocaml-base-compiler.4.07.1 -y # "RUN eval $(opam env)" does not work, so we manually set its variables @@ -11,11 +15,10 @@ ENV OCAML_TOPLEVEL_PATH "/root/.opam/ocaml-base-compiler.4.07.1/lib/toplevel" ENV MANPATH "$MANPATH:/root/.opam/ocaml-base-compiler.4.07.1/man" ENV PATH "/root/.opam/ocaml-base-compiler.4.07.1/bin:$PATH" -RUN opam update -y -RUN opam install depext -y +RUN opam update -y && opam install depext -y # Install packages from reference configuration -RUN opam depext --install -y \ +RUN apt-get update && opam update -y && opam depext --install -y --verbose \ alt-ergo.2.0.0 \ apron.v0.9.12 \ conf-graphviz.0.1 \ @@ -27,7 +30,11 @@ RUN opam depext --install -y \ yojson.1.7.0 \ zarith.1.9.1 \ zmq.5.1.3 \ - --verbose # intentionally left as last line in this RUN command + && rm -rf /var/lib/apt/lists/* + +# Install non-OCaml solvers +RUN apt install z3 cvc4 -y + RUN why3 config --full-config # with_source: keep Frama-C sources @@ -48,11 +55,13 @@ RUN cd /root && \ ARG with_test=no RUN if [ "${with_test}" != "no" ]; then \ - opam depext --install -y \ + apt-get update && \ + opam update -y && opam depext --install -y \ conf-python-3.1.0.0 \ conf-time.1 \ --verbose \ && \ + rm -rf /var/lib/apt/lists/* && \ cd /root/frama-c-* && \ make tests; \ fi diff --git a/devel_tools/docker/frama-c.dev/Dockerfile b/devel_tools/docker/frama-c.dev/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..aa819b0a6617f4d3396392fcb00153e7327d5d52 --- /dev/null +++ b/devel_tools/docker/frama-c.dev/Dockerfile @@ -0,0 +1,65 @@ +FROM debian:sid as base + +RUN apt-get update && apt-get install -y \ + cvc4 \ + opam \ + z3 \ + && rm -rf /var/lib/apt/lists/* + +RUN opam init --disable-sandboxing --compiler=ocaml-base-compiler.4.08.1 -y + +# "RUN eval $(opam env)" does not work, so we manually set its variables +ENV OPAM_SWITCH_PREFIX "/root/.opam/ocaml-base-compiler.4.08.1" +ENV CAML_LD_LIBRARY_PATH "/root/.opam/ocaml-base-compiler.4.08.1/lib/stublibs:/root/.opam/ocaml-base-compiler.4.08.1/lib/ocaml/stublibs:/root/.opam/ocaml-base-compiler.4.08.1/lib/ocaml" +ENV OCAML_TOPLEVEL_PATH "/root/.opam/ocaml-base-compiler.4.08.1/lib/toplevel" +ENV MANPATH "$MANPATH:/root/.opam/ocaml-base-compiler.4.08.1/man" +ENV PATH "/root/.opam/ocaml-base-compiler.4.08.1/bin:$PATH" + +RUN opam update -y && opam install depext -y + +# Install packages from reference configuration +RUN apt-get update && opam update -y && opam depext --install -y --verbose \ + alt-ergo.2.0.0 \ + apron.v0.9.12 \ + conf-graphviz.0.1 \ + mlgmpidl.1.2.12 \ + ocamlfind.1.8.1 \ + ocamlgraph.1.8.8 \ + ppx_deriving_yojson.3.5.2 \ + why3.1.3.1 \ + yojson.1.7.0 \ + zarith.1.9.1 \ + zmq.5.1.3 \ + && rm -rf /var/lib/apt/lists/* + +# Install non-OCaml solvers +RUN apt install z3 cvc4 -y + +RUN why3 config --full-config + +# with_source: keep Frama-C sources +ARG with_source=no + +RUN cd /root && \ + git clone https://git.frama-c.com/pub/frama-c.git && \ + (cd frama-c && \ + autoconf && ./configure --disable-gui && \ + make -j && \ + make install \ + ) && \ + [ "${with_source}" != "no" ] || rm -rf frama-c + +# with_test: run Frama-C tests; requires "with_source=yes" +ARG with_test=no + +RUN if [ "${with_test}" != "no" ]; then \ + apt-get update && \ + opam update -y && opam depext --install -y \ + conf-python-3.1.0.0 \ + conf-time.1 \ + --verbose \ + && \ + rm -rf /var/lib/apt/lists/* && \ + cd /root/frama-c && \ + make tests; \ + fi diff --git a/nix/frama-ci.nix b/nix/frama-ci.nix index ce0e87a5dff5d1d6eb098b7e2461311249bdaf3d..7939e05dd1161d65a13c6d4093cfff78d3f3fe81 100644 --- a/nix/frama-ci.nix +++ b/nix/frama-ci.nix @@ -5,7 +5,7 @@ let src = builtins.fetchGit { "url" = "https://bobot:${password}@git.frama-c.com/frama-c/Frama-CI.git"; "name" = "Frama-CI"; - "rev" = "36e99854d59cda2c97d0b52f1f098f6beb3baf04"; + "rev" = "3e8a67b19d5923c651509070eec5db646b80ec32"; "ref" = "master"; }; in