aboutsummaryrefslogtreecommitdiff
path: root/tests/docker/dockerfiles/fedora-win32-cross.docker
blob: 1fc4c987f7514b4cb778088cd9f4c7ed1e288770 (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
# THIS FILE WAS AUTO-GENERATED
#
#  $ lcitool dockerfile --layers all --cross mingw32 fedora-37 qemu
#
# https://gitlab.com/libvirt/libvirt-ci

FROM registry.fedoraproject.org/fedora:37

RUN dnf install -y nosync && \
    echo -e '#!/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 "$@"' > /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 \
               gcovr \
               genisoimage \
               git \
               glib2-devel \
               glibc-langpack-en \
               hostname \
               llvm \
               make \
               meson \
               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 \
               rpm \
               sed \
               socat \
               sparse \
               spice-protocol \
               tar \
               tesseract \
               tesseract-langpack-eng \
               util-linux \
               which \
               zstd && \
    nosync dnf autoremove -y && \
    nosync dnf clean all -y

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-SDL2 \
               mingw32-SDL2_image \
               mingw32-bzip2 \
               mingw32-curl \
               mingw32-gcc \
               mingw32-gcc-c++ \
               mingw32-gettext \
               mingw32-glib2 \
               mingw32-gnutls \
               mingw32-gtk3 \
               mingw32-libepoxy \
               mingw32-libgcrypt \
               mingw32-libjpeg-turbo \
               mingw32-libpng \
               mingw32-libtasn1 \
               mingw32-nettle \
               mingw32-nsis \
               mingw32-pixman \
               mingw32-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/i686-w64-mingw32-c++ && \
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-w64-mingw32-cc && \
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-w64-mingw32-g++ && \
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-w64-mingw32-gcc

ENV ABI "i686-w64-mingw32"
ENV MESON_OPTS "--cross-file=/usr/share/mingw/toolchain-mingw32.meson"
ENV QEMU_CONFIGURE_OPTS --cross-prefix=i686-w64-mingw32-
ENV DEF_TARGET_LIST i386-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