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

FROM registry.fedoraproject.org/fedora:43

RUN dnf --quiet install -y nosync && \
    printf '#!/bin/sh\n\
if test -d /usr/lib64\n\
then\n\
    export LD_PRELOAD=/usr/lib64/nosync/nosync.so\n\
else\n\
    export LD_PRELOAD=/usr/lib/nosync/nosync.so\n\
fi\n\
exec "$@"\n' > /usr/bin/nosync && \
    chmod +x /usr/bin/nosync && \
    nosync dnf --quiet update -y && \
    nosync dnf --quiet install -y \
                       SDL2_image-devel \
                       alsa-lib-devel \
                       bash \
                       bc \
                       bindgen-cli \
                       bison \
                       brlapi-devel \
                       bzip2 \
                       bzip2-devel \
                       ca-certificates \
                       capstone-devel \
                       ccache \
                       clang \
                       compiler-rt \
                       coreutils \
                       ctags \
                       cyrus-sasl-devel \
                       daxctl-devel \
                       dbus-daemon \
                       device-mapper-multipath-devel \
                       diffutils \
                       findutils \
                       flex \
                       fuse3-devel \
                       gcc \
                       gcovr \
                       gettext \
                       git \
                       glib2-devel \
                       glib2-static \
                       glibc-langpack-en \
                       glibc-static \
                       glusterfs-api-devel \
                       gnutls-devel \
                       gtk-vnc2-devel \
                       gtk3-devel \
                       hostname \
                       jemalloc-devel \
                       json-c-devel \
                       libaio-devel \
                       libasan \
                       libattr-devel \
                       libbpf-devel \
                       libcacard-devel \
                       libcap-ng-devel \
                       libcbor-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 \
                       mtools \
                       ncurses-devel \
                       nettle-devel \
                       ninja-build \
                       nmap-ncat \
                       numactl-devel \
                       openssh-clients \
                       pam-devel \
                       pcre2-static \
                       pipewire-devel \
                       pixman-devel \
                       pkgconfig \
                       pulseaudio-libs-devel \
                       python3 \
                       python3-PyYAML \
                       python3-numpy \
                       python3-opencv \
                       python3-pillow \
                       python3-pip \
                       python3-setuptools \
                       python3-sphinx \
                       python3-sphinx_rtd_theme \
                       python3-wheel \
                       rdma-core-devel \
                       rust \
                       rust-std-static \
                       sdl2-compat-devel \
                       sed \
                       snappy-devel \
                       socat \
                       sparse \
                       spice-protocol \
                       spice-server-devel \
                       swtpm \
                       systemd-devel \
                       systemtap-sdt-dtrace \
                       tar \
                       tesseract \
                       tesseract-langpack-eng \
                       usbredir-devel \
                       util-linux \
                       virglrenderer-devel \
                       vte291-devel \
                       vulkan-tools \
                       which \
                       xen-devel \
                       xorriso \
                       zlib-devel \
                       zlib-static \
                       zstd && \
    nosync dnf --quiet autoremove -y && \
    nosync dnf --quiet 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

RUN /usr/bin/pip3 install meson==1.8.1

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

ENV ENABLE_RUST 1
