# THIS FILE WAS AUTO-GENERATED
#
#  $ lcitool dockerfile --layers all ubuntu-1804 qemu
#
# https://gitlab.com/libvirt/libvirt-ci

FROM docker.io/library/ubuntu:18.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 \
            bsdmainutils \
            bzip2 \
            ca-certificates \
            ccache \
            clang \
            dbus \
            debianutils \
            diffutils \
            exuberant-ctags \
            findutils \
            g++ \
            gcc \
            gcovr \
            genisoimage \
            gettext \
            git \
            glusterfs-common \
            hostname \
            libaio-dev \
            libasan5 \
            libasound2-dev \
            libattr1-dev \
            libbrlapi-dev \
            libbz2-dev \
            libc6-dev \
            libcacard-dev \
            libcap-ng-dev \
            libcapstone-dev \
            libcurl4-gnutls-dev \
            libdaxctl-dev \
            libdrm-dev \
            libepoxy-dev \
            libfdt-dev \
            libffi-dev \
            libgbm-dev \
            libgcrypt20-dev \
            libglib2.0-dev \
            libgnutls28-dev \
            libgtk-3-dev \
            libibumad-dev \
            libibverbs-dev \
            libiscsi-dev \
            libjemalloc-dev \
            libjpeg-turbo8-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 \
            libsnappy-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 \
            netcat-openbsd \
            nettle-dev \
            ninja-build \
            openssh-client \
            perl-base \
            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 pip3 install meson==0.56.0

ENV LANG "en_US.UTF-8"
ENV MAKE "/usr/bin/make"
ENV NINJA "/usr/bin/ninja"
ENV PYTHON "/usr/bin/python3"
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
# https://bugs.launchpad.net/qemu/+bug/1838763
ENV QEMU_CONFIGURE_OPTS --disable-libssh
