mirror of
https://github.com/mindthemath/fenics.git
synced 2025-05-30 19:21:10 -06:00
72 lines
1.9 KiB
Plaintext
72 lines
1.9 KiB
Plaintext
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
|