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
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
FROM ubuntu:focal as base
LABEL authors="Christoph Garth <garth@cs.uni-kl.de>, Robin G. C. Maack <maack@rptu.de>"

ENV DEBIAN_FRONTEND=noninteractive

# --------------------------------------------------------------------------

FROM base as build-base

ENV CMAKE_BUILD_TYPE=MinSizeRel \
    CMAKE_GENERATOR=Ninja

# bring in additional apt sources
RUN apt-get update \ 
 && apt-get install --no-install-recommends -yqq ca-certificates \
 && echo "deb [trusted=yes] https://apt.kitware.com/ubuntu/ focal main" > /etc/apt/sources.list.d/kitware.list \
 && apt-get update

# install base development env
RUN apt-get install --no-install-recommends -yqq \
    build-essential \
    ninja-build \
    cmake \
    dlocate \
    file \
    curl

# --------------------------------------------------------------------------

FROM build-base as builder

COPY install-helper /usr/bin

# install OSPRay + dependencies
COPY pkg/ispc.sh /tmp
RUN  install-helper /tmp/ispc.sh

COPY pkg/tbb.sh /tmp
RUN  install-helper /tmp/tbb.sh

COPY pkg/embree.sh /tmp
RUN  install-helper /tmp/embree.sh

COPY pkg/rkcommon.sh /tmp
RUN  install-helper /tmp/rkcommon.sh

COPY pkg/openimagedenoise.sh /tmp
RUN  install-helper /tmp/openimagedenoise.sh

COPY pkg/openvkl.sh /tmp
RUN  install-helper /tmp/openvkl.sh

COPY pkg/ospray.sh /tmp
RUN  install-helper /tmp/ospray.sh

# install OSMesa
COPY pkg/mesa.sh /tmp
RUN  install-helper /tmp/mesa.sh

# install ZFP
COPY pkg/zfp.sh /tmp
RUN  install-helper /tmp/zfp.sh

# install Spectra
COPY pkg/spectra.sh /tmp
RUN  install-helper /tmp/spectra.sh

# install ParaView
ARG paraview=5.10.1
ENV PARAVIEW_VERSION=${paraview}

COPY pkg/paraview.sh /tmp
RUN  install-helper /tmp/paraview.sh

# --------------------------------------------------------------------------

FROM builder as builder-ttk

# install TTK
ARG ttk=dev
ENV TTK_VERSION=${ttk}

ENV DEV=""

COPY pkg/ttk.sh /tmp
RUN  install-helper /tmp/ttk.sh

# --------------------------------------------------------------------------

#FROM builder-ttk as ttk-dev
FROM builder as ttk-dev

#COPY --from=builder-ttk /usr/local /usr/local

RUN apt-get update \
 && apt-get -yqq --no-install-recommends install $(cat /usr/local/.pkgs) gdb \
 && apt-get clean \
 && rm -rf /var/cache/apt/lists

ENV DEV="True"

COPY pkg/ttk.sh /tmp
RUN  install-helper /tmp/ttk.sh
  
# --------------------------------------------------------------------------

FROM base as ttk

COPY --from=builder-ttk /usr/local /usr/local

RUN apt-get update \
 && apt-get -yqq --no-install-recommends install $(cat /usr/local/.pkgs) \
 && apt-get clean \
 && rm -rf /var/cache/apt/lists

# add current path to output result
COPY noisyTerrain.vtu /home
COPY noisyTerrainMSS.py /home

# run pvpython to generate examplle image
RUN pvpython /home/noisyTerrainMSS.py