| # 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 \ |
| bindgen-cli \ |
| bison \ |
| bzip2 \ |
| ca-certificates \ |
| ccache \ |
| ctags \ |
| dbus-daemon \ |
| diffutils \ |
| findutils \ |
| flex \ |
| gcc \ |
| gcovr \ |
| git \ |
| glib2-devel \ |
| glibc-langpack-en \ |
| gtk-vnc2-devel \ |
| 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 \ |
| rust \ |
| 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 |