1# THIS FILE WAS AUTO-GENERATED
2#
3#  $ lcitool dockerfile --layers all ubuntu-2004 qemu
4#
5# https://gitlab.com/libvirt/libvirt-ci
6
7FROM docker.io/library/ubuntu:20.04
8
9RUN export DEBIAN_FRONTEND=noninteractive && \
10    apt-get update && \
11    apt-get install -y eatmydata && \
12    eatmydata apt-get dist-upgrade -y && \
13    eatmydata apt-get install --no-install-recommends -y \
14            bash \
15            bc \
16            bsdmainutils \
17            bzip2 \
18            ca-certificates \
19            ccache \
20            clang \
21            dbus \
22            debianutils \
23            diffutils \
24            exuberant-ctags \
25            findutils \
26            g++ \
27            gcc \
28            gcovr \
29            genisoimage \
30            gettext \
31            git \
32            hostname \
33            libaio-dev \
34            libasan5 \
35            libasound2-dev \
36            libattr1-dev \
37            libbrlapi-dev \
38            libbz2-dev \
39            libc6-dev \
40            libcacard-dev \
41            libcap-ng-dev \
42            libcapstone-dev \
43            libcmocka-dev \
44            libcurl4-gnutls-dev \
45            libdaxctl-dev \
46            libdrm-dev \
47            libepoxy-dev \
48            libfdt-dev \
49            libffi-dev \
50            libfuse3-dev \
51            libgbm-dev \
52            libgcrypt20-dev \
53            libglib2.0-dev \
54            libglusterfs-dev \
55            libgnutls28-dev \
56            libgtk-3-dev \
57            libibumad-dev \
58            libibverbs-dev \
59            libiscsi-dev \
60            libjemalloc-dev \
61            libjpeg-turbo8-dev \
62            libjson-c-dev \
63            liblttng-ust-dev \
64            liblzo2-dev \
65            libncursesw5-dev \
66            libnfs-dev \
67            libnuma-dev \
68            libpam0g-dev \
69            libpcre2-dev \
70            libpixman-1-dev \
71            libpmem-dev \
72            libpng-dev \
73            libpulse-dev \
74            librbd-dev \
75            librdmacm-dev \
76            libsasl2-dev \
77            libsdl2-dev \
78            libsdl2-image-dev \
79            libseccomp-dev \
80            libselinux1-dev \
81            libslirp-dev \
82            libsnappy-dev \
83            libspice-protocol-dev \
84            libspice-server-dev \
85            libssh-dev \
86            libsystemd-dev \
87            libtasn1-6-dev \
88            libubsan1 \
89            libudev-dev \
90            libusb-1.0-0-dev \
91            libusbredirhost-dev \
92            libvdeplug-dev \
93            libvirglrenderer-dev \
94            libvte-2.91-dev \
95            libxen-dev \
96            libzstd-dev \
97            llvm \
98            locales \
99            make \
100            multipath-tools \
101            ncat \
102            nettle-dev \
103            ninja-build \
104            openssh-client \
105            perl-base \
106            pkgconf \
107            python3 \
108            python3-numpy \
109            python3-opencv \
110            python3-pillow \
111            python3-pip \
112            python3-setuptools \
113            python3-sphinx \
114            python3-sphinx-rtd-theme \
115            python3-venv \
116            python3-wheel \
117            python3-yaml \
118            rpm2cpio \
119            sed \
120            sparse \
121            systemtap-sdt-dev \
122            tar \
123            tesseract-ocr \
124            tesseract-ocr-eng \
125            texinfo \
126            xfslibs-dev \
127            zlib1g-dev && \
128    eatmydata apt-get autoremove -y && \
129    eatmydata apt-get autoclean -y && \
130    sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
131    dpkg-reconfigure locales && \
132    dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
133    mkdir -p /usr/libexec/ccache-wrappers && \
134    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/c++ && \
135    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \
136    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/clang && \
137    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/g++ && \
138    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
139
140RUN /usr/bin/pip3 install meson==0.56.0
141
142ENV LANG "en_US.UTF-8"
143ENV MAKE "/usr/bin/make"
144ENV NINJA "/usr/bin/ninja"
145ENV PYTHON "/usr/bin/python3"
146ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
147# Apply patch https://reviews.llvm.org/D75820
148# This is required for TSan in clang-10 to compile with QEMU.
149RUN sed -i 's/^const/static const/g' /usr/lib/llvm-10/lib/clang/10.0.0/include/sanitizer/tsan_interface.h
150