aboutsummaryrefslogtreecommitdiff
path: root/Dockerfile
blob: 937fbcf5c625bf3b360b26719f12c5dcffd2aabd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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