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

FROM registry.fedoraproject.org/fedora:40

RUN dnf 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 update -y && \
    nosync dnf install -y \
               SDL2-devel \
               SDL2_image-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 \
               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 \
               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-opencv \
               python3-pillow \
               python3-pip \
               python3-sphinx \
               python3-sphinx_rtd_theme \
               python3-zombie-imp \
               rdma-core-devel \
               rust \
               sed \
               snappy-devel \
               socat \
               sparse \
               spice-protocol \
               spice-server-devel \
               swtpm \
               systemd-devel \
               systemtap-sdt-devel \
               tar \
               tesseract \
               tesseract-langpack-eng \
               usbredir-devel \
               util-linux \
               virglrenderer-devel \
               vte291-devel \
               which \
               xen-devel \
               xorriso \
               zlib-devel \
               zlib-static \
               zstd && \
    nosync dnf autoremove -y && \
    nosync 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"
RUN dnf install -y wget
ENV RUSTUP_HOME=/usr/local/rustup CARGO_HOME=/usr/local/cargo
ENV RUSTC=/usr/local/rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/rustc
RUN set -eux && \
  rustArch='x86_64-unknown-linux-gnu' && \
  rustupSha256='6aeece6993e902708983b209d04c0d1dbb14ebb405ddb87def578d41f920f56d' && \
  url="https://static.rust-lang.org/rustup/archive/1.27.1/${rustArch}/rustup-init" && \
  wget "$url" && \
  echo "${rustupSha256} *rustup-init" | sha256sum -c - && \
  chmod +x rustup-init && \
  ./rustup-init -y --no-modify-path --profile default --default-toolchain nightly --default-host ${rustArch} && \
  chmod -R a+w $RUSTUP_HOME $CARGO_HOME && \
  /usr/local/cargo/bin/rustup --version && \
  /usr/local/cargo/bin/rustup run nightly rustc --version && \
  test "$RUSTC" = "$(/usr/local/cargo/bin/rustup +nightly which rustc)"
ENV PATH=$CARGO_HOME/bin:$PATH
RUN /usr/local/cargo/bin/rustup run nightly cargo install bindgen-cli
# 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
