dune-env.dockerfile 1.86 KB
Newer Older
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
FROM ubuntu:bionic
LABEL maintainer="lriedel@iup.uni-heidelberg.de"
# number of cores for parallel builds
ARG PROCNUM=1

RUN apt-get clean && apt-get update && apt-get install -y \
    cmake \
    doxygen \
    gcc \
    g++ \
    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
34
RUN git clone https://gitlab.dune-project.org/staging/dune-uggrid.git -b releases/2.5 \
35
    && git clone https://gitlab.dune-project.org/oklein/dune-randomfield.git -b master \
36 37 38 39 40 41 42 43
    && git clone https://gitlab.dune-project.org/core/dune-common.git -b releases/2.5 \
    && git clone https://gitlab.dune-project.org/core/dune-geometry.git -b releases/2.5 \
    && git clone https://gitlab.dune-project.org/core/dune-grid.git -b releases/2.5 \
    && git clone https://gitlab.dune-project.org/core/dune-istl.git -b releases/2.5 \
    && git clone https://gitlab.dune-project.org/core/dune-localfunctions.git -b releases/2.5 \
    && git clone https://gitlab.dune-project.org/staging/dune-functions.git -b releases/2.5 \
    && git clone https://gitlab.dune-project.org/pdelab/dune-pdelab.git -b releases/2.5 \
    && git clone https://gitlab.dune-project.org/staging/dune-typetree.git -b releases/2.5 \
44
    && git clone https://gitlab.dune-project.org/quality/dune-testtools.git -b master
45 46 47 48 49

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