# 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 \
               perl-base \
               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 \
               texinfo \
               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
