-
Notifications
You must be signed in to change notification settings - Fork 0
/
Dockerfile-2019.1.0
71 lines (64 loc) · 1.88 KB
/
Dockerfile-2019.1.0
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
ARG PYTHON_TAG
FROM docker.io/python:$PYTHON_TAG
ARG DEBIAN_FRONTEND=noninteractive
# dolfin
RUN apt-get update -yqq && \
apt-get install -yqq \
build-essential \
cmake \
gfortran \
liblapack3 liblapack-dev \
libblas3 libblas-dev \
libeigen3-dev \
libboost-all-dev \
petsc-dev \
slepc-dev \
&& \
apt-get -qq purge && \
apt-get -qq clean && \
rm -rf /var/lib/apt/lists/*
# fenics
ARG FENICS_VERSION=2019.1.0
ENV FENICS_VERSION=$FENICS_VERSION
RUN pip install fenics-ffc==$FENICS_VERSION
ENV PYBIND11_VERSION=2.4.3
RUN mkdir -p /tmp/src && cd /tmp/src/ && \
wget -nc --quiet https://github.com/pybind/pybind11/archive/v${PYBIND11_VERSION}.tar.gz && \
tar -xf v${PYBIND11_VERSION}.tar.gz && \
cd pybind11-${PYBIND11_VERSION} && \
mkdir build && cd build && \
cmake -DPYBIND11_TEST=off .. && make install && cd / && \
rm -rf /tmp/src/*
RUN git config --global user.email fenics@dockerhost
RUN git config --global user.name fenics
COPY *.patch /tmp/
RUN mkdir -p /tmp/src/ && cd /tmp/src && \
git clone --branch=$FENICS_VERSION https://bitbucket.org/fenics-project/dolfin && \
cd /tmp/src/dolfin && \
git am /tmp/algorithm.patch && \
git am /tmp/boost.patch && \
mkdir build && cd build && \
cmake .. && make install && cd .. && \
cd python && pip3 install . && cd / && \
rm -rf /tmp/src/*
# mshr
# RUN apt-get update -yqq && \
# apt-get install -yqq \
# libgmp-dev \
# libmpfr-dev \
# && \
# apt-get -qq purge && \
# apt-get -qq clean && \
# rm -rf /var/lib/apt/lists/*
#
# RUN mkdir -p /tmp/src/ && cd /tmp/src/ && \
# git clone --branch=$FENICS_VERSION https://bitbucket.org/fenics-project/mshr && \
# cd /tmp/src/mshr && \
# mkdir build && cd build && \
# cmake .. && make install && cd .. && \
# cd python && pip3 install . && cd / && \
# rm -rf /tmp/src/*
#
# RUN cd /tmp/src/mshr/python && \
# pip3 install .
RUN echo ". /usr/local/share/dolfin/dolfin.conf" >> /root/.bashrc