dune-env.dockerfile 1.99 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 6 7
# Compilers to be used
ARG CC=gcc
ARG CXX=g++
8 9

RUN apt-get clean && apt-get update && apt-get install -y \
10
    clang \
11 12
    cmake \
    doxygen \
13 14
    gcc \
    g++ \
15 16 17 18 19 20 21 22 23 24 25 26 27
    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 \
28
    libyaml-cpp-dev \
29 30 31 32 33 34 35 36 37 38
    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
39
RUN git clone https://gitlab.dune-project.org/staging/dune-uggrid.git -b releases/2.6 \
40
    && git clone https://gitlab.dune-project.org/oklein/dune-randomfield.git -b master \
41 42 43 44 45 46 47 48
    && 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 \
49
    && git clone https://gitlab.dune-project.org/quality/dune-testtools.git -b master
50 51 52

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