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

FROM quay.io/centos/centos:stream8

RUN dnf distro-sync -y && \
    dnf install 'dnf-command(config-manager)' -y && \
    dnf config-manager --set-enabled -y powertools && \
    dnf install -y centos-release-advanced-virtualization && \
    dnf install -y epel-release && \
    dnf install -y epel-next-release && \
    dnf install -y \
        SDL2-devel \
        alsa-lib-devel \
        bash \
        bc \
        bison \
        brlapi-devel \
        bzip2 \
        bzip2-devel \
        ca-certificates \
        capstone-devel \
        ccache \
        clang \
        ctags \
        cyrus-sasl-devel \
        daxctl-devel \
        dbus-daemon \
        device-mapper-multipath-devel \
        diffutils \
        findutils \
        flex \
        fuse3-devel \
        gcc \
        gcc-c++ \
        gettext \
        git \
        glib2-devel \
        glib2-static \
        glibc-langpack-en \
        glibc-static \
        glusterfs-api-devel \
        gnutls-devel \
        gtk3-devel \
        hostname \
        jemalloc-devel \
        json-c-devel \
        libaio-devel \
        libasan \
        libattr-devel \
        libbpf-devel \
        libcacard-devel \
        libcap-ng-devel \
        libcmocka-devel \
        libcurl-devel \
        libdrm-devel \
        libepoxy-devel \
        libfdt-devel \
        libffi-devel \
        libgcrypt-devel \
        libiscsi-devel \
        libjpeg-devel \
        libnfs-devel \
        libpmem-devel \
        libpng-devel \
        librbd-devel \
        libseccomp-devel \
        libselinux-devel \
        libslirp-devel \
        libssh-devel \
        libtasn1-devel \
        libubsan \
        liburing-devel \
        libusbx-devel \
        libzstd-devel \
        llvm \
        lttng-ust-devel \
        lzo-devel \
        make \
        mesa-libgbm-devel \
        mtools \
        ncurses-devel \
        nettle-devel \
        ninja-build \
        nmap-ncat \
        numactl-devel \
        openssh-clients \
        pam-devel \
        pcre-static \
        pipewire-devel \
        pixman-devel \
        pkgconfig \
        pulseaudio-libs-devel \
        python38 \
        python38-PyYAML \
        python38-numpy \
        python38-pip \
        python38-setuptools \
        python38-wheel \
        rdma-core-devel \
        sed \
        snappy-devel \
        socat \
        spice-protocol \
        spice-server-devel \
        systemd-devel \
        systemtap-sdt-devel \
        tar \
        usbredir-devel \
        util-linux \
        virglrenderer-devel \
        vte291-devel \
        which \
        xfsprogs-devel \
        xorriso \
        zlib-devel \
        zlib-static \
        zstd && \
    dnf autoremove -y && \
    dnf clean all -y && \
    rpm -qa | sort > /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.8 install \
                    meson==0.63.2 \
                    pillow \
                    sphinx \
                    sphinx-rtd-theme \
                    tomli

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.8"
# As a final step configure the user (if env is defined)
ARG USER
ARG UID
RUN if [ "${USER}" ]; then \
  id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi
