| # 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 \ | |
| hostname \ | |
| llvm \ | |
| make \ | |
| meson \ | |
| mtools \ | |
| ninja-build \ | |
| nmap-ncat \ | |
| openssh-clients \ | |
| python3 \ | |
| python3-PyYAML \ | |
| python3-numpy \ | |
| python3-opencv \ | |
| python3-pillow \ | |
| python3-pip \ | |
| python3-sphinx \ | |
| python3-sphinx_rtd_theme \ | |
| python3-zombie-imp \ | |
| rust \ | |
| sed \ | |
| socat \ | |
| sparse \ | |
| swtpm \ | |
| tar \ | |
| tesseract \ | |
| tesseract-langpack-eng \ | |
| util-linux \ | |
| vulkan-tools \ | |
| 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-gtk-vnc2 \ | |
| 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 |