# THIS FILE WAS AUTO-GENERATED # # $ lcitool dockerfile --layers all ubuntu-2004 qemu # # https://gitlab.com/libvirt/libvirt-ci FROM docker.io/library/ubuntu:20.04 RUN export DEBIAN_FRONTEND=noninteractive && \ apt-get update && \ apt-get install -y eatmydata && \ eatmydata apt-get dist-upgrade -y && \ eatmydata apt-get install --no-install-recommends -y \ bash \ bc \ bison \ bsdmainutils \ bzip2 \ ca-certificates \ ccache \ clang \ dbus \ debianutils \ diffutils \ exuberant-ctags \ findutils \ flex \ g++ \ gcc \ gcovr \ genisoimage \ gettext \ git \ hostname \ libaio-dev \ libasan5 \ libasound2-dev \ libattr1-dev \ libbrlapi-dev \ libbz2-dev \ libc6-dev \ libcacard-dev \ libcap-ng-dev \ libcapstone-dev \ libcmocka-dev \ libcurl4-gnutls-dev \ libdaxctl-dev \ libdrm-dev \ libepoxy-dev \ libfdt-dev \ libffi-dev \ libfuse3-dev \ libgbm-dev \ libgcrypt20-dev \ libglib2.0-dev \ libglusterfs-dev \ libgnutls28-dev \ libgtk-3-dev \ libibumad-dev \ libibverbs-dev \ libiscsi-dev \ libjemalloc-dev \ libjpeg-turbo8-dev \ libjson-c-dev \ liblttng-ust-dev \ liblzo2-dev \ libncursesw5-dev \ libnfs-dev \ libnuma-dev \ libpam0g-dev \ libpcre2-dev \ libpixman-1-dev \ libpmem-dev \ libpng-dev \ libpulse-dev \ librbd-dev \ librdmacm-dev \ libsasl2-dev \ libsdl2-dev \ libsdl2-image-dev \ libseccomp-dev \ libselinux1-dev \ libslirp-dev \ libsnappy-dev \ libsndio-dev \ libspice-protocol-dev \ libspice-server-dev \ libssh-dev \ libsystemd-dev \ libtasn1-6-dev \ libubsan1 \ libudev-dev \ libusb-1.0-0-dev \ libusbredirhost-dev \ libvdeplug-dev \ libvirglrenderer-dev \ libvte-2.91-dev \ libxen-dev \ libzstd-dev \ llvm \ locales \ make \ multipath-tools \ ncat \ nettle-dev \ ninja-build \ openssh-client \ pkgconf \ python3 \ python3-numpy \ python3-opencv \ python3-pillow \ python3-pip \ python3-setuptools \ python3-sphinx \ python3-sphinx-rtd-theme \ python3-venv \ python3-wheel \ python3-yaml \ rpm2cpio \ sed \ sparse \ systemtap-sdt-dev \ tar \ tesseract-ocr \ tesseract-ocr-eng \ texinfo \ xfslibs-dev \ zlib1g-dev && \ eatmydata apt-get autoremove -y && \ eatmydata apt-get autoclean -y && \ sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \ dpkg-reconfigure locales && \ dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \ mkdir -p /usr/libexec/ccache-wrappers && \ ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/c++ && \ ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \ ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/clang && \ ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/g++ && \ ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc RUN /usr/bin/pip3 install meson==0.56.0 ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers" ENV LANG "en_US.UTF-8" ENV MAKE "/usr/bin/make" ENV NINJA "/usr/bin/ninja" ENV PYTHON "/usr/bin/python3" # Apply patch https://reviews.llvm.org/D75820 # This is required for TSan in clang-10 to compile with QEMU. RUN sed -i 's/^const/static const/g' /usr/lib/llvm-10/lib/clang/10.0.0/include/sanitizer/tsan_interface.h