# THIS FILE WAS AUTO-GENERATED
#
#  $ lcitool dockerfile --layers all --cross-arch mingw64 fedora-40 qemu,qemu-win-installer
#
# 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 \
               bash \
               bc \
               bison \
               bzip2 \
               ca-certificates \
               ccache \
               ctags \
               dbus-daemon \
               diffutils \
               findutils \
               flex \
               gcc \
               gcovr \
               git \
               glib2-devel \
               glibc-langpack-en \
               hostname \
               llvm \
               make \
               meson \
               mtools \
               ninja-build \
               nmap-ncat \
               openssh-clients \
               pcre-static \
               python3 \
               python3-PyYAML \
               python3-numpy \
               python3-opencv \
               python3-pillow \
               python3-pip \
               python3-sphinx \
               python3-sphinx_rtd_theme \
               python3-zombie-imp \
               sed \
               socat \
               sparse \
               spice-protocol \
               swtpm \
               tar \
               tesseract \
               tesseract-langpack-eng \
               util-linux \
               which \
               xorriso \
               zstd && \
    nosync dnf autoremove -y && \
    nosync dnf clean all -y && \
    rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED

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 nosync dnf install -y \
               mingw-w64-tools \
               mingw32-nsis \
               mingw64-SDL2 \
               mingw64-SDL2_image \
               mingw64-bzip2 \
               mingw64-curl \
               mingw64-gcc \
               mingw64-gcc-c++ \
               mingw64-gettext \
               mingw64-glib2 \
               mingw64-gnutls \
               mingw64-gtk3 \
               mingw64-libepoxy \
               mingw64-libgcrypt \
               mingw64-libjpeg-turbo \
               mingw64-libpng \
               mingw64-libtasn1 \
               mingw64-nettle \
               mingw64-pixman \
               mingw64-pkg-config && \
    nosync dnf clean all -y && \
    rpm -qa | sort > /packages.txt && \
    mkdir -p /usr/libexec/ccache-wrappers && \
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/x86_64-w64-mingw32-c++ && \
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/x86_64-w64-mingw32-cc && \
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/x86_64-w64-mingw32-g++ && \
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/x86_64-w64-mingw32-gcc

ENV ABI "x86_64-w64-mingw32"
ENV MESON_OPTS "--cross-file=/usr/share/mingw/toolchain-mingw64.meson"
ENV QEMU_CONFIGURE_OPTS --cross-prefix=x86_64-w64-mingw32-
ENV DEF_TARGET_LIST x86_64-softmmu
# 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
