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

FROM registry.fedoraproject.org/fedora:37

RUN dnf install -y nosync && \
    echo -e '#!/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 "$@"' > /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 \
               gcovr \
               genisoimage \
               git \
               glib2-devel \
               glibc-langpack-en \
               hostname \
               llvm \
               make \
               meson \
               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 \
               rpm \
               sed \
               sparse \
               spice-protocol \
               tar \
               tesseract \
               tesseract-langpack-eng \
               util-linux \
               which && \
    nosync dnf autoremove -y && \
    nosync dnf clean all -y

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 \
               mingw32-SDL2 \
               mingw32-SDL2_image \
               mingw32-bzip2 \
               mingw32-curl \
               mingw32-gcc \
               mingw32-gcc-c++ \
               mingw32-gettext \
               mingw32-glib2 \
               mingw32-gnutls \
               mingw32-gtk3 \
               mingw32-libgcrypt \
               mingw32-libjpeg-turbo \
               mingw32-libpng \
               mingw32-libtasn1 \
               mingw32-nettle \
               mingw32-nsis \
               mingw32-pixman \
               mingw32-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/i686-w64-mingw32-c++ && \
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-w64-mingw32-cc && \
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-w64-mingw32-g++ && \
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-w64-mingw32-gcc

ENV ABI "i686-w64-mingw32"
ENV MESON_OPTS "--cross-file=/usr/share/mingw/toolchain-mingw32.meson"
ENV QEMU_CONFIGURE_OPTS --cross-prefix=i686-w64-mingw32-
ENV DEF_TARGET_LIST i386-softmmu
