Skip to content

Commit 3ea5e4f

Browse files
authored
Merge pull request #1970 from CAS-Atlantic/vtr_Dockerfile_fix
Fixed root Dockerfile for building vtr container
2 parents 8302844 + 7271f68 commit 3ea5e4f

File tree

1 file changed

+25
-84
lines changed

1 file changed

+25
-84
lines changed

Dockerfile

Lines changed: 25 additions & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -1,88 +1,29 @@
1-
FROM ubuntu:trusty as builder
2-
3-
RUN apt-get update
4-
RUN apt-get install -y \
5-
software-properties-common
6-
7-
# add auto gpg key other lauchpad ppa
8-
RUN add-apt-repository ppa:nilarimogard/webupd8
9-
RUN apt-get update && apt-get install -y \
10-
launchpad-getkeys
11-
12-
# add llvm PPA
13-
RUN printf "\n\
14-
deb http://ppa.launchpad.net/george-edison55/precise-backports/ubuntu precise main \n\
15-
deb http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu trusty main \n\
16-
deb https://apt.llvm.org/precise llvm-toolchain-precise-3.6 main \n\
17-
deb https://apt.llvm.org/trusty llvm-toolchain-trusty-6.0 main \n\
18-
deb https://apt.llvm.org/trusty llvm-toolchain-trusty-7 main \n\
19-
deb https://apt.llvm.org/trusty llvm-toolchain-trusty-8 main \n\
20-
" >> /etc/apt/sources.list
21-
22-
# grab llvm keys
23-
RUN launchpad-getkeys
24-
25-
RUN apt-get update
26-
RUN apt-get install -y \
27-
ninja \
28-
libssl-dev \
29-
autoconf \
30-
automake \
31-
bash \
32-
bison \
33-
binutils \
34-
binutils-gold \
35-
build-essential \
36-
ctags \
37-
curl \
38-
doxygen \
39-
flex \
40-
fontconfig \
41-
gdb \
42-
git \
43-
gperf \
44-
libcairo2-dev \
45-
libgtk-3-dev \
46-
libevent-dev \
47-
libfontconfig1-dev \
48-
liblist-moreutils-perl \
49-
libncurses5-dev \
50-
libx11-dev \
51-
libxft-dev \
52-
libxml++2.6-dev \
53-
perl \
54-
python \
55-
python-lxml \
56-
texinfo \
57-
time \
58-
valgrind \
59-
zip \
60-
qt5-default \
61-
clang-format-7 \
62-
g++-7 \
63-
gcc-7 \
64-
g++-8 \
65-
gcc-8 \
66-
g++-9 \
67-
gcc-9 \
68-
g++-10 \
69-
gcc-10 \
70-
g++-11 \
71-
gcc-11 \
72-
clang-6.0 \
73-
clang-7 \
74-
clang-10
75-
76-
# install CMake
77-
WORKDIR /tmp
78-
ENV CMAKE=cmake-3.17.0
79-
RUN curl -s https://cmake.org/files/v3.17/${CMAKE}.tar.gz | tar xvzf -
80-
RUN cd ${CMAKE} && ./configure && make && make install
81-
1+
FROM ubuntu:20.04
2+
ARG DEBIAN_FRONTEND=noninteractive
823
# set out workspace
834
ENV WORKSPACE=/workspace
845
RUN mkdir -p ${WORKSPACE}
85-
VOLUME ${WORKSPACE}
866
WORKDIR ${WORKSPACE}
87-
88-
CMD [ "/bin/bash" ]
7+
COPY . ${WORKSPACE}
8+
# Install and cleanup is done in one command to minimize the build cache size
9+
RUN apt-get update -qq \
10+
# Extract package names from install_apt_packages.sh
11+
&& sed '/sudo/d' install_apt_packages.sh | sed '/#/d' | sed 's/ \\//g' | sed '/^$/d' | sed '/^[[:space:]]*$/d' \
12+
# Install packages
13+
| xargs apt-get -y install --no-install-recommends \
14+
# Additional packages not listed in install_apt_packages.sh
15+
&& apt-get -y install --no-install-recommends \
16+
wget \
17+
ninja-build \
18+
libeigen3-dev \
19+
libtbb-dev \
20+
python3-pip \
21+
# Install python packages
22+
&& pip install -r requirements.txt \
23+
# Cleanup
24+
&& apt-get autoclean && apt-get clean && apt-get -y autoremove \
25+
&& rm -rf /var/lib/apt/lists/*
26+
# Build VTR
27+
RUN make && make install
28+
# Container's default launch command
29+
SHELL ["/bin/bash", "-c"]

0 commit comments

Comments
 (0)