diff options
Diffstat (limited to 'Dockerfile')
-rw-r--r-- | Dockerfile | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..937fbcf --- /dev/null +++ b/Dockerfile @@ -0,0 +1,24 @@ +FROM alpine:edge AS builder + +# Install the build dependencies +RUN apk add --no-cache make m4 which patch sudo wget git pkgconfig \ + gcc g++ musl-dev linux-headers libffi libffi-dev pcre perl python3 \ + gmp-dev pcre-dev xz-dev gmp xz coreutils \ + ocaml ocaml-compiler-libs ocaml-ocamldoc opam ocaml-findlib openssh +RUN chmod +s `which bwrap` + +RUN addgroup -g 1000 -S ocaml && adduser -u 1000 -D -S ocaml -G ocaml +USER ocaml +WORKDIR /home/ocaml + +RUN opam init --auto-setup --disable-sandboxing --yes -c 4.14.2 --keep-build-dir +RUN eval `opam env --switch=4.14.2` + +RUN opam install --yes dune && eval `opam env --switch=4.14.2` + +COPY --chown=ocaml:ocaml . /tmp/build +WORKDIR /tmp/build +RUN git config --global --add safe.directory /tmp/build + +RUN opam install . --update-invariant --yes +CMD eval `opam env` && dune build --profile release |