-
Notifications
You must be signed in to change notification settings - Fork 2
/
Dockerfile
39 lines (29 loc) · 1.29 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
From ubuntu:focal
# Update packages and setup timezone
RUN apt-get update && apt-get -y upgrade && \
apt-get -y install apt-utils tzdata
ENV TZ=Europe/Zurich
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && \
echo $TZ > /etc/timezone
RUN dpkg-reconfigure --frontend=noninteractive tzdata
# Update container
RUN apt-get update && apt-get -y upgrade
# Install basic dependencies
RUN apt-get -y install libibverbs-dev libmemcached-dev python3 python3-pip cmake ninja-build clang-10 lld-10 gawk
# Fix the LLD path
# (If we install `lld` instead of `lld-10`, the following command is not needed)
RUN update-alternatives --install "/usr/bin/ld.lld" "ld.lld" "/usr/bin/ld.lld-10" 20
# Install extra dependencies
RUN apt-get -y install clang-format-10 clang-tidy-10 clang-tools-10 git
# Install essential python packages
RUN pip3 install --upgrade "conan>=1.47.0"
# Install extra python packages
# pyyaml: Required from clang-tidy
# cmake-format: Required by format.sh
# black: Required by format.sh
# halo: Required by conan/invoker/invoker.py to show the compilation output compactly
RUN pip3 install --upgrade pyyaml"<6.0,>=3.11" cmake-format black halo
#RUN conan profile new default --detect
#RUN conan profile update settings.compiler.libcxx=libstdc++11 default
COPY . /ubft/
RUN /ubft/build.py