Dockerfile 1.82 KB
Newer Older
CHAMONT David's avatar
CHAMONT David committed
1 2

# This image is used to pack the needed externals for Fast5x5
3
FROM gcc:6.2
CHAMONT David's avatar
CHAMONT David committed
4 5 6 7

# Ensure use of bash
SHELL ["/bin/bash","-c"]

CHAMONT David's avatar
CHAMONT David committed
8 9 10 11 12 13 14 15 16 17 18
# So to avoid debconf interactive questions
#RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections
ARG DEBIAN_FRONTEND=noninteractive

RUN apt-get update \
&& apt-get install -y apt-utils \
&& apt-get install -y vim \
&& apt-get install -y wget \
&& apt-get install -y x11-apps \
&& apt-get install -y xemacs21 \
&& apt-get install -y cmake \
CHAMONT David's avatar
CHAMONT David committed
19
&& apt-get install -y r-base \
CHAMONT David's avatar
CHAMONT David committed
20 21 22 23 24 25 26 27 28 29 30 31 32
&& rm -rf /var/lib/apt/lists/*

# boost
RUN export BOOST_VERSION="1.62.0" && export BOOST_VERSION_=${BOOST_VERSION//./_} && \
    wget -O boost-${BOOST_VERSION_}.tar.gz http://downloads.sourceforge.net/project/boost/boost/${BOOST_VERSION}/boost_${BOOST_VERSION_}.tar.gz && \
    tar xf boost-${BOOST_VERSION_}.tar.gz && \
    cd boost_${BOOST_VERSION_}/ && \
    ./bootstrap.sh --prefix=/opt/boost/ --with-libraries=program_options,test && \
    ./b2 install && \
    cd .. && rm boost-${BOOST_VERSION_}.tar.gz && rm -r boost_${BOOST_VERSION_}
ENV BOOST_ROOT /opt/boost

# bSIMD
33
RUN git clone https://github.com/NumScale/boost.simd.git -b master /opt/boost.simd
34 35
COPY boost.simd /opt/boost.simd
RUN cd /opt/boost.simd && mkdir -p build && cd build && cmake ..
CHAMONT David's avatar
CHAMONT David committed
36 37 38 39 40 41
ENV BOOST_SIMD_ROOT /opt/boost.simd

# Use of BOOST and BOOST.SIMD
ENV CPATH ${BOOST_SIMD_ROOT}/include:${BOOST_ROOT}/include

# Eigen, for test & benchmarking
CHAMONT David's avatar
CHAMONT David committed
42 43 44 45 46 47 48
RUN export EIGEN_VERSION="3.2.10" && \
    wget http://bitbucket.org/eigen/eigen/get/${EIGEN_VERSION}.tar.gz && \
    tar xf ${EIGEN_VERSION}.tar.gz && \
    mkdir -p /opt/ && \
    mv eigen-eigen-*/ /opt/eigen/ && \
    rm ${EIGEN_VERSION}.tar.gz

CHAMONT David's avatar
CHAMONT David committed
49
# Google Test, for test & benchmarking
CHAMONT David's avatar
CHAMONT David committed
50 51 52
RUN git clone https://github.com/google/googletest.git -b release-1.8.0 /opt/googletest
ENV GTEST_ROOT /opt/googletest/googletest

CHAMONT David's avatar
CHAMONT David committed
53

CHAMONT David's avatar
CHAMONT David committed
54