# 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"
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
ENV RUSTDOC=/usr/local/rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/rustdoc
ENV CARGO=/usr/local/rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/cargo
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 cargo --version && \
  /usr/local/cargo/bin/rustup run nightly rustc --version && \
  test "$CARGO" = "$(/usr/local/cargo/bin/rustup +nightly which cargo)" && \
  test "$RUSTDOC" = "$(/usr/local/cargo/bin/rustup +nightly which rustdoc)" && \
  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
RUN $CARGO --list
# 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
