1FROM ubuntu:20.04
2ENV PACKAGES flex bison \
3    bsdmainutils \
4    ccache \
5    clang-10\
6    gcc \
7    gcovr \
8    genisoimage \
9    gettext \
10    git \
11    glusterfs-common \
12    libaio-dev \
13    libattr1-dev \
14    libbrlapi-dev \
15    libbz2-dev \
16    libcacard-dev \
17    libcap-ng-dev \
18    libcurl4-gnutls-dev \
19    libdrm-dev \
20    libepoxy-dev \
21    libfdt-dev \
22    libffi-dev \
23    libgbm-dev \
24    libgtk-3-dev \
25    libibverbs-dev \
26    libiscsi-dev \
27    libjemalloc-dev \
28    libjpeg-turbo8-dev \
29    liblttng-ust-dev \
30    liblzo2-dev \
31    libncurses5-dev \
32    libncursesw5-dev \
33    libnfs-dev \
34    libnss3-dev \
35    libnuma-dev \
36    libpixman-1-dev \
37    librados-dev \
38    librbd-dev \
39    librdmacm-dev \
40    libsasl2-dev \
41    libsdl2-dev \
42    libseccomp-dev \
43    libslirp-dev \
44    libsnappy-dev \
45    libspice-protocol-dev \
46    libspice-server-dev \
47    libssh-dev \
48    libusb-1.0-0-dev \
49    libusbredirhost-dev \
50    libvdeplug-dev \
51    libvte-2.91-dev \
52    libxen-dev \
53    libzstd-dev \
54    make \
55    netcat-openbsd \
56    ninja-build \
57    python3-numpy \
58    python3-opencv \
59    python3-pil \
60    python3-pip \
61    python3-sphinx \
62    python3-sphinx-rtd-theme \
63    python3-venv \
64    python3-yaml \
65    rpm2cpio \
66    sparse \
67    tesseract-ocr \
68    tesseract-ocr-eng \
69    xfslibs-dev\
70    vim
71RUN apt-get update && \
72    DEBIAN_FRONTEND=noninteractive apt-get -y install $PACKAGES
73RUN dpkg -l $PACKAGES | sort > /packages.txt
74ENV FEATURES clang tsan pyyaml sdl2
75
76# Apply patch https://reviews.llvm.org/D75820
77# This is required for TSan in clang-10 to compile with QEMU.
78RUN sed -i 's/^const/static const/g' /usr/lib/llvm-10/lib/clang/10.0.0/include/sanitizer/tsan_interface.h
79