1# THIS FILE WAS AUTO-GENERATED 2# 3# $ lcitool dockerfile --layers all --cross-arch mingw64 fedora-40 qemu,qemu-win-installer 4# 5# https://gitlab.com/libvirt/libvirt-ci 6 7FROM registry.fedoraproject.org/fedora:40 8 9RUN dnf install -y nosync && \ 10 printf '#!/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 "$@"\n' > /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 gcc \ 33 gcovr \ 34 git \ 35 glib2-devel \ 36 glibc-langpack-en \ 37 gtk-vnc2-devel \ 38 hostname \ 39 llvm \ 40 make \ 41 meson \ 42 mtools \ 43 ninja-build \ 44 nmap-ncat \ 45 openssh-clients \ 46 pcre-static \ 47 python3 \ 48 python3-PyYAML \ 49 python3-numpy \ 50 python3-opencv \ 51 python3-pillow \ 52 python3-pip \ 53 python3-sphinx \ 54 python3-sphinx_rtd_theme \ 55 python3-zombie-imp \ 56 sed \ 57 socat \ 58 sparse \ 59 spice-protocol \ 60 swtpm \ 61 tar \ 62 tesseract \ 63 tesseract-langpack-eng \ 64 util-linux \ 65 which \ 66 xorriso \ 67 zstd && \ 68 nosync dnf autoremove -y && \ 69 nosync dnf clean all -y && \ 70 rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED 71 72ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers" 73ENV LANG "en_US.UTF-8" 74ENV MAKE "/usr/bin/make" 75ENV NINJA "/usr/bin/ninja" 76ENV PYTHON "/usr/bin/python3" 77 78RUN nosync dnf install -y \ 79 mingw-w64-tools \ 80 mingw32-nsis \ 81 mingw64-SDL2 \ 82 mingw64-SDL2_image \ 83 mingw64-bzip2 \ 84 mingw64-curl \ 85 mingw64-gcc \ 86 mingw64-gcc-c++ \ 87 mingw64-gettext \ 88 mingw64-glib2 \ 89 mingw64-gnutls \ 90 mingw64-gtk3 \ 91 mingw64-libepoxy \ 92 mingw64-libgcrypt \ 93 mingw64-libjpeg-turbo \ 94 mingw64-libpng \ 95 mingw64-libtasn1 \ 96 mingw64-nettle \ 97 mingw64-pixman \ 98 mingw64-pkg-config && \ 99 nosync dnf clean all -y && \ 100 rpm -qa | sort > /packages.txt && \ 101 mkdir -p /usr/libexec/ccache-wrappers && \ 102 ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/x86_64-w64-mingw32-c++ && \ 103 ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/x86_64-w64-mingw32-cc && \ 104 ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/x86_64-w64-mingw32-g++ && \ 105 ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/x86_64-w64-mingw32-gcc 106 107ENV ABI "x86_64-w64-mingw32" 108ENV MESON_OPTS "--cross-file=/usr/share/mingw/toolchain-mingw64.meson" 109ENV QEMU_CONFIGURE_OPTS --cross-prefix=x86_64-w64-mingw32- 110ENV DEF_TARGET_LIST x86_64-softmmu 111# As a final step configure the user (if env is defined) 112ARG USER 113ARG UID 114RUN if [ "${USER}" ]; then \ 115 id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi 116