-
Notifications
You must be signed in to change notification settings - Fork 0
/
Dockerfile
executable file
·48 lines (43 loc) · 1.62 KB
/
Dockerfile
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
FROM ubuntu:focal
RUN apt-get -y update && \
apt-get -y upgrade && \
DEBIAN_FRONTEND="noninteractive" \
apt-get install --no-install-recommends -y \
bzr \
ruby-full \
python3-pip \
lcov \
cppcheck \
uncrustify \
bison \
flex \
wget \
gcc-multilib \
g++-multilib \
build-essential \
tzdata \
python-backports.functools-lru-cache && \
gem install ceedling && \
pip install gcovr && \
pip install gitlint && \
rm -rf /var/lib/apt/lists/*
# Download, build and install cmake
RUN wget https://github.com/Kitware/CMake/releases/download/v3.21.1/cmake-3.21.1.tar.gz && \
tar -xvzf cmake-3.21.1.tar.gz
RUN cd cmake-3.21.1 && \
./bootstrap -- -DCMAKE_USE_OPENSSL=OFF && make && make install && \
cmake --version && \
rm -f /cmake-3.21.1.tar.gz
RUN wget http://www.spinroot.com/uno/uno_v214.tar.gz && \
tar -xf uno_v214.tar.gz && cd uno/src && \
cf='-DPC -ansi -Wall -ggdb -DCPP="\\"gcc -E\\"" -DBINDIR=\\"$(BINDIR)\\"' && \
sed -i "s/^CFLAGS=.*/CFLAGS=${cf}/" makefile && \
make && make install && \
uno -V | grep -q "Version 2.14" && test $? && \
cd / && rm -f uno_v214.tar.gz
# Download, build and install infer
RUN VERSION=1.1.0 && \
wget https://github.com/facebook/infer/releases/download/v$VERSION/infer-linux64-v$VERSION.tar.xz && \
tar xvf infer-linux64-v$VERSION.tar.xz -C /opt/ && rm -f infer-linux64-v$VERSION.tar.xz && \
ln -s "/opt/infer-linux64-v$VERSION/bin/infer" /usr/local/bin/infer
WORKDIR /usr/project