-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile
55 lines (44 loc) · 1.33 KB
/
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
FROM debian:latest
RUN apt-get clean && apt-get update
RUN apt-get install -y --no-install-recommends \
software-properties-common \
build-essential \
python3.9 \
python3-pip \
python3-venv \
git-all \
cmake \
ninja-build \
zlib1g \
zlib1g-dev \
pkg-config \
ncurses-dev libreadline-dev libedit-dev \
libgoogle-perftools-dev \
libunwind-dev \
libgmp-dev \
libssl-dev \
unixodbc-dev \
libarchive-dev \
libossp-uuid-dev \
libxext-dev libice-dev libjpeg-dev libxinerama-dev libxft-dev \
libxpm-dev libxt-dev \
libdb-dev \
libpcre3-dev \
libyaml-dev \
default-jdk junit4
RUN git clone https://github.com/SWI-Prolog/swipl.git && cd swipl && git submodule update --init
COPY ./scripts/ ./scripts/
RUN chmod +x ./scripts/*.sh
RUN /scripts/git-fetch-prolog.sh
RUN /scripts/build-prolog.sh
ENV PATH "$PATH:/root/bin/"
RUN apt-get install -y --no-install-recommends curl
RUN curl https://sh.rustup.rs -sSf | sh -s -- --default-toolchain nightly -y
ENV PATH "$PATH:/root/.cargo/bin/"
RUN apt-get install -y --no-install-recommends clang
COPY ./Makefile /cpsc312-project/Makefile
COPY ./prolog /cpsc312-project/prolog
RUN cd /cpsc312-project/prolog/ && make build
ENV IN_DOCKER=1
WORKDIR "/cpsc312-project/prolog"
CMD ["swipl", "./main.pl", "launch", "5000"]