1432ae739SAlex Bennée# THIS FILE WAS AUTO-GENERATED
22e1d6bdcSPhilippe Mathieu-Daudé#
3dcb8541bSPaolo Bonzini#  $ lcitool dockerfile --layers all --cross-arch mipsel debian-11 qemu
42e1d6bdcSPhilippe Mathieu-Daudé#
5432ae739SAlex Bennée# https://gitlab.com/libvirt/libvirt-ci
64319db7bSPhilippe Mathieu-Daudé
7432ae739SAlex BennéeFROM docker.io/library/debian:11-slim
82e1d6bdcSPhilippe Mathieu-Daudé
9432ae739SAlex BennéeRUN export DEBIAN_FRONTEND=noninteractive && \
10432ae739SAlex Bennée    apt-get update && \
11432ae739SAlex Bennée    apt-get install -y eatmydata && \
12432ae739SAlex Bennée    eatmydata apt-get dist-upgrade -y && \
13432ae739SAlex Bennée    eatmydata apt-get install --no-install-recommends -y \
14432ae739SAlex Bennée                      bash \
15432ae739SAlex Bennée                      bc \
168fae3910SAnton Johansson                      bison \
17432ae739SAlex Bennée                      bsdextrautils \
18432ae739SAlex Bennée                      bzip2 \
19432ae739SAlex Bennée                      ca-certificates \
20432ae739SAlex Bennée                      ccache \
21432ae739SAlex Bennée                      dbus \
22432ae739SAlex Bennée                      debianutils \
23432ae739SAlex Bennée                      diffutils \
24432ae739SAlex Bennée                      exuberant-ctags \
25432ae739SAlex Bennée                      findutils \
268fae3910SAnton Johansson                      flex \
27690be804SAlex Bennée                      gcc \
28432ae739SAlex Bennée                      gcovr \
29432ae739SAlex Bennée                      gettext \
30432ae739SAlex Bennée                      git \
31432ae739SAlex Bennée                      hostname \
328fae3910SAnton Johansson                      libglib2.0-dev \
33*b4be15a9SDaniel P. Berrangé                      libgtk-vnc-2.0-dev \
34432ae739SAlex Bennée                      libpcre2-dev \
358f4bcbcfSBrad Smith                      libsndio-dev \
36432ae739SAlex Bennée                      libspice-protocol-dev \
37432ae739SAlex Bennée                      llvm \
38432ae739SAlex Bennée                      locales \
39432ae739SAlex Bennée                      make \
40432ae739SAlex Bennée                      meson \
41da900078SAni Sinha                      mtools \
42432ae739SAlex Bennée                      ncat \
43432ae739SAlex Bennée                      ninja-build \
44432ae739SAlex Bennée                      openssh-client \
45432ae739SAlex Bennée                      pkgconf \
46432ae739SAlex Bennée                      python3 \
47432ae739SAlex Bennée                      python3-numpy \
48432ae739SAlex Bennée                      python3-opencv \
49432ae739SAlex Bennée                      python3-pillow \
50432ae739SAlex Bennée                      python3-pip \
517ace2193SPaolo Bonzini                      python3-setuptools \
52432ae739SAlex Bennée                      python3-sphinx \
53432ae739SAlex Bennée                      python3-sphinx-rtd-theme \
54432ae739SAlex Bennée                      python3-venv \
557ace2193SPaolo Bonzini                      python3-wheel \
56432ae739SAlex Bennée                      python3-yaml \
57432ae739SAlex Bennée                      rpm2cpio \
58432ae739SAlex Bennée                      sed \
59ab4c1361SAlex Bennée                      socat \
60432ae739SAlex Bennée                      sparse \
61432ae739SAlex Bennée                      tar \
62432ae739SAlex Bennée                      tesseract-ocr \
63bbe30763SAlex Bennée                      tesseract-ocr-eng \
64da900078SAni Sinha                      xorriso \
65bbe30763SAlex Bennée                      zstd && \
66432ae739SAlex Bennée    eatmydata apt-get autoremove -y && \
67432ae739SAlex Bennée    eatmydata apt-get autoclean -y && \
68432ae739SAlex Bennée    sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
692355d18cSThomas Huth    dpkg-reconfigure locales && \
702355d18cSThomas Huth    rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
714319db7bSPhilippe Mathieu-Daudé
727ace2193SPaolo BonziniRUN /usr/bin/pip3 install tomli
737ace2193SPaolo Bonzini
748f4bcbcfSBrad SmithENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
75432ae739SAlex BennéeENV LANG "en_US.UTF-8"
76432ae739SAlex BennéeENV MAKE "/usr/bin/make"
77432ae739SAlex BennéeENV NINJA "/usr/bin/ninja"
78432ae739SAlex BennéeENV PYTHON "/usr/bin/python3"
792e1d6bdcSPhilippe Mathieu-Daudé
80432ae739SAlex BennéeRUN export DEBIAN_FRONTEND=noninteractive && \
81432ae739SAlex Bennée    dpkg --add-architecture mipsel && \
82432ae739SAlex Bennée    eatmydata apt-get update && \
83432ae739SAlex Bennée    eatmydata apt-get dist-upgrade -y && \
84432ae739SAlex Bennée    eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
85432ae739SAlex Bennée    eatmydata apt-get install --no-install-recommends -y \
86432ae739SAlex Bennée                      gcc-mipsel-linux-gnu \
87432ae739SAlex Bennée                      libaio-dev:mipsel \
88432ae739SAlex Bennée                      libasound2-dev:mipsel \
89432ae739SAlex Bennée                      libattr1-dev:mipsel \
90432ae739SAlex Bennée                      libbpf-dev:mipsel \
91432ae739SAlex Bennée                      libbrlapi-dev:mipsel \
922e1d6bdcSPhilippe Mathieu-Daudé                      libbz2-dev:mipsel \
93432ae739SAlex Bennée                      libc6-dev:mipsel \
94432ae739SAlex Bennée                      libcacard-dev:mipsel \
95432ae739SAlex Bennée                      libcap-ng-dev:mipsel \
96432ae739SAlex Bennée                      libcapstone-dev:mipsel \
97feb6cb93SDaniel P. Berrangé                      libcmocka-dev:mipsel \
98432ae739SAlex Bennée                      libcurl4-gnutls-dev:mipsel \
99432ae739SAlex Bennée                      libdaxctl-dev:mipsel \
100432ae739SAlex Bennée                      libdrm-dev:mipsel \
101432ae739SAlex Bennée                      libepoxy-dev:mipsel \
102432ae739SAlex Bennée                      libfdt-dev:mipsel \
103432ae739SAlex Bennée                      libffi-dev:mipsel \
104432ae739SAlex Bennée                      libfuse3-dev:mipsel \
105432ae739SAlex Bennée                      libgbm-dev:mipsel \
106432ae739SAlex Bennée                      libgcrypt20-dev:mipsel \
107432ae739SAlex Bennée                      libglib2.0-dev:mipsel \
108432ae739SAlex Bennée                      libglusterfs-dev:mipsel \
109432ae739SAlex Bennée                      libgnutls28-dev:mipsel \
110432ae739SAlex Bennée                      libgtk-3-dev:mipsel \
111432ae739SAlex Bennée                      libibverbs-dev:mipsel \
112432ae739SAlex Bennée                      libiscsi-dev:mipsel \
113432ae739SAlex Bennée                      libjemalloc-dev:mipsel \
114432ae739SAlex Bennée                      libjpeg62-turbo-dev:mipsel \
115feb6cb93SDaniel P. Berrangé                      libjson-c-dev:mipsel \
116432ae739SAlex Bennée                      liblttng-ust-dev:mipsel \
1172e1d6bdcSPhilippe Mathieu-Daudé                      liblzo2-dev:mipsel \
118432ae739SAlex Bennée                      libncursesw5-dev:mipsel \
119432ae739SAlex Bennée                      libnfs-dev:mipsel \
120432ae739SAlex Bennée                      libnuma-dev:mipsel \
121432ae739SAlex Bennée                      libpam0g-dev:mipsel \
12262259d81SMarc-André Lureau                      libpipewire-0.3-dev:mipsel \
123432ae739SAlex Bennée                      libpixman-1-dev:mipsel \
124432ae739SAlex Bennée                      libpng-dev:mipsel \
125432ae739SAlex Bennée                      libpulse-dev:mipsel \
126432ae739SAlex Bennée                      librbd-dev:mipsel \
1272e1d6bdcSPhilippe Mathieu-Daudé                      librdmacm-dev:mipsel \
128432ae739SAlex Bennée                      libsasl2-dev:mipsel \
129432ae739SAlex Bennée                      libsdl2-dev:mipsel \
130432ae739SAlex Bennée                      libsdl2-image-dev:mipsel \
131432ae739SAlex Bennée                      libseccomp-dev:mipsel \
132432ae739SAlex Bennée                      libselinux1-dev:mipsel \
133432ae739SAlex Bennée                      libslirp-dev:mipsel \
134432ae739SAlex Bennée                      libsnappy-dev:mipsel \
135432ae739SAlex Bennée                      libspice-server-dev:mipsel \
136432ae739SAlex Bennée                      libssh-gcrypt-dev:mipsel \
137432ae739SAlex Bennée                      libsystemd-dev:mipsel \
138432ae739SAlex Bennée                      libtasn1-6-dev:mipsel \
139432ae739SAlex Bennée                      libudev-dev:mipsel \
140432ae739SAlex Bennée                      liburing-dev:mipsel \
141432ae739SAlex Bennée                      libusb-1.0-0-dev:mipsel \
142432ae739SAlex Bennée                      libusbredirhost-dev:mipsel \
143432ae739SAlex Bennée                      libvdeplug-dev:mipsel \
144432ae739SAlex Bennée                      libvirglrenderer-dev:mipsel \
145432ae739SAlex Bennée                      libvte-2.91-dev:mipsel \
146432ae739SAlex Bennée                      libzstd-dev:mipsel \
147432ae739SAlex Bennée                      nettle-dev:mipsel \
148432ae739SAlex Bennée                      systemtap-sdt-dev:mipsel \
149432ae739SAlex Bennée                      zlib1g-dev:mipsel && \
150432ae739SAlex Bennée    eatmydata apt-get autoremove -y && \
151432ae739SAlex Bennée    eatmydata apt-get autoclean -y && \
152432ae739SAlex Bennée    mkdir -p /usr/local/share/meson/cross && \
153dacc122eSPeter Krempa    printf "[binaries]\n\
154432ae739SAlex Bennéec = '/usr/bin/mipsel-linux-gnu-gcc'\n\
155432ae739SAlex Bennéear = '/usr/bin/mipsel-linux-gnu-gcc-ar'\n\
156432ae739SAlex Bennéestrip = '/usr/bin/mipsel-linux-gnu-strip'\n\
157432ae739SAlex Bennéepkgconfig = '/usr/bin/mipsel-linux-gnu-pkg-config'\n\
158432ae739SAlex Bennée\n\
159432ae739SAlex Bennée[host_machine]\n\
160432ae739SAlex Bennéesystem = 'linux'\n\
161432ae739SAlex Bennéecpu_family = 'mips'\n\
162432ae739SAlex Bennéecpu = 'mipsel'\n\
163dacc122eSPeter Krempaendian = 'little'\n" > /usr/local/share/meson/cross/mipsel-linux-gnu && \
164432ae739SAlex Bennée    dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
165432ae739SAlex Bennée    mkdir -p /usr/libexec/ccache-wrappers && \
166432ae739SAlex Bennée    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/mipsel-linux-gnu-cc && \
167432ae739SAlex Bennée    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/mipsel-linux-gnu-gcc
168432ae739SAlex Bennée
169432ae739SAlex BennéeENV ABI "mipsel-linux-gnu"
170432ae739SAlex BennéeENV MESON_OPTS "--cross-file=mipsel-linux-gnu"
171432ae739SAlex BennéeENV QEMU_CONFIGURE_OPTS --cross-prefix=mipsel-linux-gnu-
172432ae739SAlex BennéeENV DEF_TARGET_LIST mipsel-softmmu,mipsel-linux-user
1735b8bcf6bSAlex Bennée# As a final step configure the user (if env is defined)
1745b8bcf6bSAlex BennéeARG USER
1755b8bcf6bSAlex BennéeARG UID
1765b8bcf6bSAlex BennéeRUN if [ "${USER}" ]; then \
1775b8bcf6bSAlex Bennée  id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi
178