Project

General

Profile

Statistics
| Branch: | Tag: | Revision:

lustrec / Dockerfile.alpine @ 9b0432bc

History | View | Annotate | Download (1.39 KB)

1 9c4cc944 Corentin Lauverjat
FROM alpine:3.12 
2
3
RUN apk add --no-cache \ 
4
    make \
5
    rsync \
6
    git \ 
7
    m4 \ 
8
    patch \
9
    pkgconfig \ 
10
    libc-dev \
11
    gcc \ 
12
    ocaml ocaml-compiler-libs ocaml-ocamldoc opam ocaml-findlib \ 
13 491aa732 Corentin Lauverjat
# Needed because mlmpfr isn't automatically installed by opam depext on alpine 
14
# Also mlmpfr has a bug and we need to ask for a specific version
15
# else the bindings will not work.
16
    mpfr-dev=4.0.2-r4 
17 9c4cc944 Corentin Lauverjat
18
# Configuration de OPAM
19
RUN opam init --auto-setup -y --disable-sandboxing && opam clean
20
21
ENV PATH "$PATH:/root/.opam/default/bin"
22
23
COPY . /lustrec
24
25
WORKDIR /lustrec
26
27
RUN eval $(opam env) && \ 
28
    opam update && \
29 491aa732 Corentin Lauverjat
    # As explained above, mlmpfr version needs to match the system version of mpfr
30
    # So we pin mlmpfr to the corresponding version
31 9c4cc944 Corentin Lauverjat
    opam pin -n mlmpfr 4.0.2+dune && \
32
    opam pin -y -n . && \
33
    opam install -y depext && \
34
    opam depext --yes lustrec && \
35
    opam install -y lustrec && \
36
    #
37
    # To enable Zustre plugin, uncomment the lines below : 
38
    # opam depext --yes lustrec-enable-zustre && \
39
    # # z3 install requires a C++ compiler (g++ or clang)
40
    # apk add --no-cache g++ && \ 
41
    # opam install -y lustrec-enable-zustre && \ 
42
    # ----
43
    # To enable Tiny plugin, uncomment the lines below :
44
    # opam pin -y -n https://cavale.enseeiht.fr/git/ikocos.tiny#master && \
45
    # opam depext --yes tiny && \
46
    # opam install -y tiny && \
47
    # ---- 
48
    opam clean