-
Notifications
You must be signed in to change notification settings - Fork 82
/
Dockerfile.testing
63 lines (57 loc) · 1.62 KB
/
Dockerfile.testing
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
#
# Dockerfile meant for build testing only.
#
# Synopsis:
# - install prerequisites from debian:stable
# - install gcc-6 from debian:testing
# - clone bamtools (NOTE: fix for gcc-6 not included in currently latest tag 2.4.0)
# - build bamtools
# - install bamtools in /usr/local
# - copy (sga/) src from Dockerfile context
# - build sga
# - install sga in /usr/local
#
FROM debian:stable
MAINTAINER Matei David <matei.david.at.oicr.on.ca>
ARG DEBIAN_FRONTEND=noninteractive
LABEL Description="Dockerfile meant for build testing only."
WORKDIR /tmp
# enable debian:testing
RUN echo 'APT::Default-Release "stable";' >/etc/apt/apt.conf.d/99defaultrelease && \
mv /etc/apt/sources.list /etc/apt/sources.list.d/stable.list && \
sed 's/stable/testing/g' </etc/apt/sources.list.d/stable.list >/etc/apt/sources.list.d/testing.list
# install prerequisites from stable
RUN apt-get update -y && \
apt-get install -y \
automake \
autotools-dev \
build-essential \
cmake \
git \
libjemalloc-dev \
libsparsehash-dev \
libz-dev \
wget
# install gcc-6 from testing
RUN apt-get install -y -t testing \
g++-6
ENV CC=gcc-6
ENV CXX=g++-6
# build bamtools
RUN git clone --depth 1 https://github.com/pezmaster31/bamtools.git && \
cd bamtools && \
mkdir build && \
cd build && \
cmake .. && \
make && \
make install
ADD src /tmp/sga/src/
RUN cd /tmp/sga/src && \
./autogen.sh && \
./configure --with-bamtools=/usr/local --with-jemalloc=/usr && \
make && \
make install
VOLUME /data
WORKDIR /data
ENTRYPOINT ["/usr/local/bin/sga"]
CMD ["--help"]