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

FROM quay.io/centos/centos:stream9

RUN dnf distro-sync -y && \
    dnf install 'dnf-command(config-manager)' -y && \
    dnf config-manager --set-enabled -y crb && \
    dnf install -y epel-release && \
    dnf install -y epel-next-release && \
    dnf install -y \
        SDL2-devel \
        alsa-lib-devel \
        bash \
        bc \
        bindgen-cli \
        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 \
        gettext \
        git \
        glib2-devel \
        glib2-static \
        glibc-langpack-en \
        glibc-static \
        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 \
        libxdp-devel \
        libzstd-devel \
        llvm \
        lttng-ust-devel \
        lzo-devel \
        make \
        mesa-libgbm-devel \
        meson \
        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 \
        python3 \
        python3-PyYAML \
        python3-numpy \
        python3-pillow \
        python3-pip \
        python3-sphinx \
        python3-sphinx_rtd_theme \
        python3-tomli \
        rdma-core-devel \
        rust \
        sed \
        snappy-devel \
        socat \
        spice-protocol \
        swtpm \
        systemd-devel \
        systemtap-sdt-devel \
        tar \
        usbredir-devel \
        util-linux \
        vte291-devel \
        which \
        xorriso \
        zlib-devel \
        zlib-static \
        zstd && \
    dnf autoremove -y && \
    dnf clean all -y && \
    rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED && \
    rpm -qa | sort > /packages.txt && \
    mkdir -p /usr/libexec/ccache-wrappers && \
    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/gcc

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"
# 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
