|
| 1 | +FROM jupyter/minimal-notebook:da2c5a4d00fa |
| 2 | + |
| 3 | +MAINTAINER Izaak Beekman < [email protected]> |
| 4 | + |
| 5 | +USER root |
| 6 | +ENV GCC_VERSION 7.2.0 |
| 7 | + |
| 8 | +ENV NB_USER jovyan |
| 9 | +ENV NB_UID 1000 |
| 10 | +ENV HOME /home/${NB_USER} |
| 11 | + |
| 12 | +RUN DEBIAN_FRONTEND=noninteractive transientBuildDeps="file" \ |
| 13 | + && set -v \ |
| 14 | + && cat /etc/issue \ |
| 15 | + && uname -a \ |
| 16 | + && echo "${DEBIAN_FRONTEND}" \ |
| 17 | + && apt-get update -y \ |
| 18 | + && apt-get install -y \ |
| 19 | + software-properties-common \ |
| 20 | + && add-apt-repository ppa:ubuntu-toolchain-r/test -y \ |
| 21 | + && apt-get update -y \ |
| 22 | + && apt-get install -y \ |
| 23 | + build-essential \ |
| 24 | + gcc-7=${GCC_VERSION}-1ubuntu1~16.04 \ |
| 25 | + gfortran-7=${GCC_VERSION}-1ubuntu1~16.04 \ |
| 26 | + g++-7=${GCC_VERSION}-1ubuntu1~16.04 \ |
| 27 | + mpich \ |
| 28 | + ${transientBuildDeps} \ |
| 29 | + && update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 60 --slave /usr/bin/gfortran gfortran /usr/bin/gfortran-7 \ |
| 30 | + && update-alternatives --set gcc "/usr/bin/gcc-7" \ |
| 31 | + && gcc --version \ |
| 32 | + && gfortran --version \ |
| 33 | + && mpiexec --version \ |
| 34 | + && mpifort --version \ |
| 35 | + && mpicc --version \ |
| 36 | + && apt-get clean \ |
| 37 | + && apt-get purge -y --auto-remove ${transientBuildDeps} \ |
| 38 | + && rm -rf /var/lib/apt/lists/* /var/log/* /tmp/* |
| 39 | + |
| 40 | +# Build-time metadata as defined at http://label-schema.org |
| 41 | + ARG BUILD_DATE |
| 42 | + ARG VCS_REF |
| 43 | + ARG VCS_URL |
| 44 | + ARG VCS_VERSION=latest |
| 45 | + LABEL org.label-schema.schema-version="1.0" \ |
| 46 | + org.label-schema.build-date="${BUILD_DATE}" \ |
| 47 | + org.label-schema.name="" \ |
| 48 | + org.label-schema.description="Coarray Fortran compiler with GFortran ${GCC_VERSION}, OpenCoarrays and MPICH backend" \ |
| 49 | + org.label-schema.url="https://github.com/sourceryinstitute/OpenCoarrays#readme/" \ |
| 50 | + org.label-schema.vcs-ref="${VCS_REF}" \ |
| 51 | + org.label-schema.vcs-url="${VCS_URL}" \ |
| 52 | + org.label-schema.version="${VCS_VERSION}" \ |
| 53 | + org.label-schema.vendor="SourceryInstitute" \ |
| 54 | + org.label-schema.license="BSD" \ |
| 55 | + org.label-schema.docker.cmd="docker run -i -t -p 8888:8888 sourceryinstitute/opencoarrays-notebook" |
| 56 | + |
| 57 | +ARG RUN_TESTS=false |
| 58 | + |
| 59 | +RUN DEBIAN_FRONTEND=noninteractive transientBuildDeps="cmake git" \ |
| 60 | + && set -v \ |
| 61 | + && echo "${DEBIAN_FRONTEND}" \ |
| 62 | + && apt-get update && apt-get install -y \ |
| 63 | + ${transientBuildDeps} \ |
| 64 | + && cmake --version \ |
| 65 | + && gcc --version \ |
| 66 | + && gfortran --version \ |
| 67 | + && git clone --single-branch https://github.com/sourceryinstitute/OpenCoarrays \ |
| 68 | + && mkdir OpenCoarrays/build \ |
| 69 | + && cd OpenCoarrays/build \ |
| 70 | + && FC="$(which gfortran)" CC="$(which gcc)" cmake -DCMAKE_BUILD_TYPE=Release .. \ |
| 71 | + && make -j "$(nproc)" install \ |
| 72 | + && if [ "${RUN_TESTS}" = "true" ] ; then ctest --output-on-failure ; fi \ |
| 73 | + && cd ../.. \ |
| 74 | + && caf --version \ |
| 75 | + && cafrun --version \ |
| 76 | + && rm -rf OpenCoarrays \ |
| 77 | + && apt-get clean \ |
| 78 | + && apt-get purge -y --auto-remove ${transientBuildDeps} \ |
| 79 | + && rm -rf /var/lib/apt/lists/* /var/log/* /tmp/* |
0 commit comments