xref: /qemu/tests/docker/dockerfiles/fedora-win64-cross.docker (revision 4748be5e9df56e13045c0f76fe9f60fa7655fed7)
19e243b76SAlex Bennée# THIS FILE WAS AUTO-GENERATED
29e243b76SAlex Bennée#
306f3330bSThomas Huth#  $ lcitool dockerfile --layers all --cross-arch mingw64 fedora-40 qemu,qemu-win-installer
49e243b76SAlex Bennée#
59e243b76SAlex Bennée# https://gitlab.com/libvirt/libvirt-ci
69e243b76SAlex Bennée
706f3330bSThomas HuthFROM registry.fedoraproject.org/fedora:40
893cc0506SThomas Huth
99e243b76SAlex BennéeRUN dnf install -y nosync && \
10dacc122eSPeter Krempa    printf '#!/bin/sh\n\
119e243b76SAlex Bennéeif test -d /usr/lib64\n\
129e243b76SAlex Bennéethen\n\
139e243b76SAlex Bennée    export LD_PRELOAD=/usr/lib64/nosync/nosync.so\n\
149e243b76SAlex Bennéeelse\n\
159e243b76SAlex Bennée    export LD_PRELOAD=/usr/lib/nosync/nosync.so\n\
169e243b76SAlex Bennéefi\n\
17dacc122eSPeter Krempaexec "$@"\n' > /usr/bin/nosync && \
189e243b76SAlex Bennée    chmod +x /usr/bin/nosync && \
199e243b76SAlex Bennée    nosync dnf update -y && \
209e243b76SAlex Bennée    nosync dnf install -y \
219e243b76SAlex Bennée               bash \
2293cc0506SThomas Huth               bc \
23548de8f8SDaniel P. Berrangé               bindgen-cli \
243de61b98SAnton Johansson               bison \
2593cc0506SThomas Huth               bzip2 \
269e243b76SAlex Bennée               ca-certificates \
275a487950SThomas Huth               ccache \
289e243b76SAlex Bennée               ctags \
299e243b76SAlex Bennée               dbus-daemon \
3093cc0506SThomas Huth               diffutils \
3193cc0506SThomas Huth               findutils \
323de61b98SAnton Johansson               flex \
33690be804SAlex Bennée               gcc \
349e243b76SAlex Bennée               gcovr \
3593cc0506SThomas Huth               git \
363de61b98SAnton Johansson               glib2-devel \
379e243b76SAlex Bennée               glibc-langpack-en \
3893cc0506SThomas Huth               hostname \
399e243b76SAlex Bennée               llvm \
4093cc0506SThomas Huth               make \
4193cc0506SThomas Huth               meson \
42da900078SAni Sinha               mtools \
439e243b76SAlex Bennée               ninja-build \
449e243b76SAlex Bennée               nmap-ncat \
459e243b76SAlex Bennée               openssh-clients \
469e243b76SAlex Bennée               python3 \
479e243b76SAlex Bennée               python3-PyYAML \
489e243b76SAlex Bennée               python3-numpy \
499e243b76SAlex Bennée               python3-opencv \
509e243b76SAlex Bennée               python3-pillow \
519e243b76SAlex Bennée               python3-pip \
529e243b76SAlex Bennée               python3-sphinx \
539e243b76SAlex Bennée               python3-sphinx_rtd_theme \
5406f3330bSThomas Huth               python3-zombie-imp \
55548de8f8SDaniel P. Berrangé               rust \
569e243b76SAlex Bennée               sed \
57ab4c1361SAlex Bennée               socat \
589e243b76SAlex Bennée               sparse \
593e3df0d8SAlex Bennée               swtpm \
609e243b76SAlex Bennée               tar \
619e243b76SAlex Bennée               tesseract \
629e243b76SAlex Bennée               tesseract-langpack-eng \
639e243b76SAlex Bennée               util-linux \
64*4748be5eSAlex Bennée               vulkan-tools \
65bbe30763SAlex Bennée               which \
66da900078SAni Sinha               xorriso \
67bbe30763SAlex Bennée               zstd && \
689e243b76SAlex Bennée    nosync dnf autoremove -y && \
692355d18cSThomas Huth    nosync dnf clean all -y && \
702355d18cSThomas Huth    rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
719e243b76SAlex Bennée
729e243b76SAlex BennéeENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
739e243b76SAlex BennéeENV LANG "en_US.UTF-8"
749e243b76SAlex BennéeENV MAKE "/usr/bin/make"
759e243b76SAlex BennéeENV NINJA "/usr/bin/ninja"
769e243b76SAlex BennéeENV PYTHON "/usr/bin/python3"
779e243b76SAlex Bennée
789e243b76SAlex BennéeRUN nosync dnf install -y \
7961d1e3cbSThomas Huth               mingw-w64-tools \
808619b5ddSGerd Hoffmann               mingw32-nsis \
819e243b76SAlex Bennée               mingw64-SDL2 \
829e243b76SAlex Bennée               mingw64-SDL2_image \
8393cc0506SThomas Huth               mingw64-bzip2 \
8493cc0506SThomas Huth               mingw64-curl \
859e243b76SAlex Bennée               mingw64-gcc \
869e243b76SAlex Bennée               mingw64-gcc-c++ \
879e243b76SAlex Bennée               mingw64-gettext \
8893cc0506SThomas Huth               mingw64-glib2 \
899e243b76SAlex Bennée               mingw64-gnutls \
907a383b99SDaniel P. Berrangé               mingw64-gtk-vnc2 \
9193cc0506SThomas Huth               mingw64-gtk3 \
92586d3bb9SPaolo Bonzini               mingw64-libepoxy \
939e243b76SAlex Bennée               mingw64-libgcrypt \
9493cc0506SThomas Huth               mingw64-libjpeg-turbo \
9593cc0506SThomas Huth               mingw64-libpng \
9693cc0506SThomas Huth               mingw64-libtasn1 \
979e243b76SAlex Bennée               mingw64-nettle \
9893cc0506SThomas Huth               mingw64-pixman \
999e243b76SAlex Bennée               mingw64-pkg-config && \
1009e243b76SAlex Bennée    nosync dnf clean all -y && \
1019e243b76SAlex Bennée    rpm -qa | sort > /packages.txt && \
1029e243b76SAlex Bennée    mkdir -p /usr/libexec/ccache-wrappers && \
1039e243b76SAlex Bennée    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/x86_64-w64-mingw32-c++ && \
1049e243b76SAlex Bennée    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/x86_64-w64-mingw32-cc && \
1059e243b76SAlex Bennée    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/x86_64-w64-mingw32-g++ && \
1069e243b76SAlex Bennée    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/x86_64-w64-mingw32-gcc
10793cc0506SThomas Huth
1089e243b76SAlex BennéeENV ABI "x86_64-w64-mingw32"
1099e243b76SAlex BennéeENV MESON_OPTS "--cross-file=/usr/share/mingw/toolchain-mingw64.meson"
1109e243b76SAlex BennéeENV QEMU_CONFIGURE_OPTS --cross-prefix=x86_64-w64-mingw32-
1119e243b76SAlex BennéeENV DEF_TARGET_LIST x86_64-softmmu
1125b8bcf6bSAlex Bennée# As a final step configure the user (if env is defined)
1135b8bcf6bSAlex BennéeARG USER
1145b8bcf6bSAlex BennéeARG UID
1155b8bcf6bSAlex BennéeRUN if [ "${USER}" ]; then \
1165b8bcf6bSAlex Bennée  id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi
117