1# THIS FILE WAS AUTO-GENERATED
2#
3#  $ lcitool dockerfile --layers all --cross mingw32 fedora-37 qemu
4#
5# https://gitlab.com/libvirt/libvirt-ci
6
7FROM registry.fedoraproject.org/fedora:37
8
9RUN dnf install -y nosync && \
10    echo -e '#!/bin/sh\n\
11if test -d /usr/lib64\n\
12then\n\
13    export LD_PRELOAD=/usr/lib64/nosync/nosync.so\n\
14else\n\
15    export LD_PRELOAD=/usr/lib/nosync/nosync.so\n\
16fi\n\
17exec "$@"' > /usr/bin/nosync && \
18    chmod +x /usr/bin/nosync && \
19    nosync dnf update -y && \
20    nosync dnf install -y \
21               bash \
22               bc \
23               bison \
24               bzip2 \
25               ca-certificates \
26               ccache \
27               ctags \
28               dbus-daemon \
29               diffutils \
30               findutils \
31               flex \
32               gcovr \
33               genisoimage \
34               git \
35               glib2-devel \
36               glibc-langpack-en \
37               hostname \
38               llvm \
39               make \
40               meson \
41               ninja-build \
42               nmap-ncat \
43               openssh-clients \
44               pcre-static \
45               python3 \
46               python3-PyYAML \
47               python3-numpy \
48               python3-opencv \
49               python3-pillow \
50               python3-pip \
51               python3-sphinx \
52               python3-sphinx_rtd_theme \
53               rpm \
54               sed \
55               sparse \
56               spice-protocol \
57               tar \
58               tesseract \
59               tesseract-langpack-eng \
60               util-linux \
61               which && \
62    nosync dnf autoremove -y && \
63    nosync dnf clean all -y
64
65ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
66ENV LANG "en_US.UTF-8"
67ENV MAKE "/usr/bin/make"
68ENV NINJA "/usr/bin/ninja"
69ENV PYTHON "/usr/bin/python3"
70
71RUN nosync dnf install -y \
72               mingw32-SDL2 \
73               mingw32-SDL2_image \
74               mingw32-bzip2 \
75               mingw32-curl \
76               mingw32-gcc \
77               mingw32-gcc-c++ \
78               mingw32-gettext \
79               mingw32-glib2 \
80               mingw32-gnutls \
81               mingw32-gtk3 \
82               mingw32-libgcrypt \
83               mingw32-libjpeg-turbo \
84               mingw32-libpng \
85               mingw32-libtasn1 \
86               mingw32-nettle \
87               mingw32-nsis \
88               mingw32-pixman \
89               mingw32-pkg-config && \
90    nosync dnf clean all -y && \
91    rpm -qa | sort > /packages.txt && \
92    mkdir -p /usr/libexec/ccache-wrappers && \
93    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-w64-mingw32-c++ && \
94    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-w64-mingw32-cc && \
95    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-w64-mingw32-g++ && \
96    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-w64-mingw32-gcc
97
98ENV ABI "i686-w64-mingw32"
99ENV MESON_OPTS "--cross-file=/usr/share/mingw/toolchain-mingw32.meson"
100ENV QEMU_CONFIGURE_OPTS --cross-prefix=i686-w64-mingw32-
101ENV DEF_TARGET_LIST i386-softmmu
102