aboutsummaryrefslogtreecommitdiff
path: root/tests/docker/dockerfiles/fedora-win64-cross.docker
blob: d1a480fa71d89fcd93d730be2d56652f27efdeec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
# THIS FILE WAS AUTO-GENERATED
#
#  $ lcitool dockerfile --layers all --cross-arch mingw64 fedora-38 qemu
#
# https://gitlab.com/libvirt/libvirt-ci

FROM registry.fedoraproject.org/fedora:38

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 \
               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 \
               pcre-static \
               python3 \
               python3-PyYAML \
               python3-numpy \
               python3-opencv \
               python3-pillow \
               python3-pip \
               python3-sphinx \
               python3-sphinx_rtd_theme \
               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 \
               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