-
Notifications
You must be signed in to change notification settings - Fork 5
/
Dockerfile
40 lines (33 loc) · 944 Bytes
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
FROM ubuntu:latest
WORKDIR /LeanEuclid
COPY . .
# Install dependencies.
RUN apt-get update && apt-get install -y curl git cmake m4 python3-venv python3-pip
# Build and Install CVC5.
RUN git clone https://github.com/cvc5/cvc5
WORKDIR cvc5
RUN ./configure.sh --auto-download
WORKDIR build
RUN make -j8
RUN make install
WORKDIR /LeanEuclid
# Build and Install Z3.
RUN git clone https://github.com/Z3Prover/z3
WORKDIR z3
RUN python3 scripts/mk_make.py
WORKDIR build
RUN make -j8
RUN make install
WORKDIR /LeanEuclid
# Install smt-portfolio in venv.
RUN python3 -m venv venv
RUN venv/bin/pip install smt-portfolio
ENV PATH="/LeanEuclid/venv/bin:${PATH}"
# Install elan.
ENV ELAN_HOME="/.elan"
ENV PATH="${ELAN_HOME}/bin:${PATH}"
RUN curl https://raw.githubusercontent.com/leanprover/elan/master/elan-init.sh -sSf | bash -s -- -y
# Build the Lean project.
RUN lake script run check
RUN lake exe cache get
RUN lake build SystemE Book UniGeo E3