dune-env.dockerfile 1.9 KB
Newer Older
1 2 3 4
FROM ubuntu:bionic
LABEL maintainer="lriedel@iup.uni-heidelberg.de"
# number of cores for parallel builds
ARG PROCNUM=1
5
# C++ compiler to be installed
6
ARG CC="gcc g++"
7 8

RUN apt-get clean && apt-get update && apt-get install -y \
9
    ${CC} \
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
    cmake \
    doxygen \
    gfortran \
    git \
    libatlas-base-dev \
    libfftw3-dev \
    libfftw3-mpi-dev \
    libfreetype6-dev \
    libhdf5-mpi-dev \
    libmetis-dev \
    libopenmpi-dev \
    libpng-dev \
    libparmetis-dev \
    libsuperlu-dev \
    libxft-dev \
    locales \
    python3-dev \
    python3-pip \
    && apt-get clean

RUN rm -rf /var/lib/apt/lists/* \
    && localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8
ENV LANG en_US.utf8

WORKDIR /opt/dune
35
RUN git clone https://gitlab.dune-project.org/staging/dune-uggrid.git -b releases/2.6 \
36
    && git clone https://gitlab.dune-project.org/oklein/dune-randomfield.git -b master \
37 38 39 40 41 42 43 44
    && git clone https://gitlab.dune-project.org/core/dune-common.git -b releases/2.6 \
    && git clone https://gitlab.dune-project.org/core/dune-geometry.git -b releases/2.6 \
    && git clone https://gitlab.dune-project.org/core/dune-grid.git -b releases/2.6 \
    && git clone https://gitlab.dune-project.org/core/dune-istl.git -b releases/2.6 \
    && git clone https://gitlab.dune-project.org/core/dune-localfunctions.git -b releases/2.6 \
    && git clone https://gitlab.dune-project.org/staging/dune-functions.git -b releases/2.6 \
    && git clone https://gitlab.dune-project.org/pdelab/dune-pdelab.git -b releases/2.6 \
    && git clone https://gitlab.dune-project.org/staging/dune-typetree.git -b releases/2.6 \
45
    && git clone https://gitlab.dune-project.org/quality/dune-testtools.git -b master
46 47 48 49 50

WORKDIR /opt/dune
RUN MAKE_FLAGS="-j ${PROCNUM}" \
    CMAKE_FLAGS="-DCMAKE_BUILD_TYPE=Release -DDUNE_PYTHON_VIRTUALENV_SETUP=True -DDUNE_PYTHON_ALLOW_GET_PIP=True" \
    ./dune-common/bin/dunecontrol all