-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathDockerfile
51 lines (31 loc) · 1.06 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
FROM ecpe4s/llvm-doe-oneapi:2022-01-31 AS llvm_installer
USER root
RUN apt-get update && \
apt-get install -y cmake && \
apt-get install -y cloc && \
apt-get install -y mpich
RUN useradd -ms /bin/bash khepera
COPY ./src/static /home/khepera/static
RUN chown -R khepera /home/khepera/static
WORKDIR /home/khepera/static
USER khepera
ARG TO_BUILD_PASSNAME
ARG PROJECT_URL
ARG PROJECT_NAME
ARG PROJECT_BUILD_LOC
ENV passname=${TO_BUILD_PASSNAME}
ENV project_url=${PROJECT_URL}
ENV project_name=${PROJECT_NAME}
ENV project_build_loc=${PROJECT_BUILD_LOC}
RUN mkdir build; cd build; cmake ..; make ${passname}
RUN git clone ${project_url}
RUN cd ${project_build_loc}; cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON ..; mv compile_commands.json /home/khepera/static/${project_name}
FROM jupyter/datascience-notebook
USER root
WORKDIR /home/khepera/static
COPY --from=llvm_installer /home/khepera/static .
RUN pip install clang && \
pip install networkit && \
pip install distfit && \
pip install algebraic-data-types
CMD /bin/bash