1432ae739SAlex Bennée# THIS FILE WAS AUTO-GENERATED
22e1d6bdcSPhilippe Mathieu-Daudé#
3432ae739SAlex Bennée#  $ lcitool dockerfile --layers all --cross 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 \
27432ae739SAlex Bennée                      gcovr \
28432ae739SAlex Bennée                      genisoimage \
29432ae739SAlex Bennée                      gettext \
30432ae739SAlex Bennée                      git \
31432ae739SAlex Bennée                      hostname \
328fae3910SAnton Johansson                      libglib2.0-dev \
33432ae739SAlex Bennée                      libpcre2-dev \
348f4bcbcfSBrad Smith                      libsndio-dev \
35432ae739SAlex Bennée                      libspice-protocol-dev \
36432ae739SAlex Bennée                      llvm \
37432ae739SAlex Bennée                      locales \
38432ae739SAlex Bennée                      make \
39432ae739SAlex Bennée                      meson \
40432ae739SAlex Bennée                      ncat \
41432ae739SAlex Bennée                      ninja-build \
42432ae739SAlex Bennée                      openssh-client \
43432ae739SAlex Bennée                      pkgconf \
44432ae739SAlex Bennée                      python3 \
45432ae739SAlex Bennée                      python3-numpy \
46432ae739SAlex Bennée                      python3-opencv \
47432ae739SAlex Bennée                      python3-pillow \
48432ae739SAlex Bennée                      python3-pip \
49432ae739SAlex Bennée                      python3-sphinx \
50432ae739SAlex Bennée                      python3-sphinx-rtd-theme \
51432ae739SAlex Bennée                      python3-venv \
52432ae739SAlex Bennée                      python3-yaml \
53432ae739SAlex Bennée                      rpm2cpio \
54432ae739SAlex Bennée                      sed \
55ab4c1361SAlex Bennée                      socat \
56432ae739SAlex Bennée                      sparse \
57432ae739SAlex Bennée                      tar \
58432ae739SAlex Bennée                      tesseract-ocr \
59*bbe30763SAlex Bennée                      tesseract-ocr-eng \
60*bbe30763SAlex Bennée                      zstd && \
61432ae739SAlex Bennée    eatmydata apt-get autoremove -y && \
62432ae739SAlex Bennée    eatmydata apt-get autoclean -y && \
63432ae739SAlex Bennée    sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
64432ae739SAlex Bennée    dpkg-reconfigure locales
654319db7bSPhilippe Mathieu-Daudé
668f4bcbcfSBrad SmithENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
67432ae739SAlex BennéeENV LANG "en_US.UTF-8"
68432ae739SAlex BennéeENV MAKE "/usr/bin/make"
69432ae739SAlex BennéeENV NINJA "/usr/bin/ninja"
70432ae739SAlex BennéeENV PYTHON "/usr/bin/python3"
712e1d6bdcSPhilippe Mathieu-Daudé
72432ae739SAlex BennéeRUN export DEBIAN_FRONTEND=noninteractive && \
73432ae739SAlex Bennée    dpkg --add-architecture mipsel && \
74432ae739SAlex Bennée    eatmydata apt-get update && \
75432ae739SAlex Bennée    eatmydata apt-get dist-upgrade -y && \
76432ae739SAlex Bennée    eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
77432ae739SAlex Bennée    eatmydata apt-get install --no-install-recommends -y \
78432ae739SAlex Bennée                      g++-mipsel-linux-gnu \
79432ae739SAlex Bennée                      gcc-mipsel-linux-gnu \
80432ae739SAlex Bennée                      libaio-dev:mipsel \
81432ae739SAlex Bennée                      libasound2-dev:mipsel \
82432ae739SAlex Bennée                      libattr1-dev:mipsel \
83432ae739SAlex Bennée                      libbpf-dev:mipsel \
84432ae739SAlex Bennée                      libbrlapi-dev:mipsel \
852e1d6bdcSPhilippe Mathieu-Daudé                      libbz2-dev:mipsel \
86432ae739SAlex Bennée                      libc6-dev:mipsel \
87432ae739SAlex Bennée                      libcacard-dev:mipsel \
88432ae739SAlex Bennée                      libcap-ng-dev:mipsel \
89432ae739SAlex Bennée                      libcapstone-dev:mipsel \
90feb6cb93SDaniel P. Berrangé                      libcmocka-dev:mipsel \
91432ae739SAlex Bennée                      libcurl4-gnutls-dev:mipsel \
92432ae739SAlex Bennée                      libdaxctl-dev:mipsel \
93432ae739SAlex Bennée                      libdrm-dev:mipsel \
94432ae739SAlex Bennée                      libepoxy-dev:mipsel \
95432ae739SAlex Bennée                      libfdt-dev:mipsel \
96432ae739SAlex Bennée                      libffi-dev:mipsel \
97432ae739SAlex Bennée                      libfuse3-dev:mipsel \
98432ae739SAlex Bennée                      libgbm-dev:mipsel \
99432ae739SAlex Bennée                      libgcrypt20-dev:mipsel \
100432ae739SAlex Bennée                      libglib2.0-dev:mipsel \
101432ae739SAlex Bennée                      libglusterfs-dev:mipsel \
102432ae739SAlex Bennée                      libgnutls28-dev:mipsel \
103432ae739SAlex Bennée                      libgtk-3-dev:mipsel \
104432ae739SAlex Bennée                      libibumad-dev:mipsel \
105432ae739SAlex Bennée                      libibverbs-dev:mipsel \
106432ae739SAlex Bennée                      libiscsi-dev:mipsel \
107432ae739SAlex Bennée                      libjemalloc-dev:mipsel \
108432ae739SAlex Bennée                      libjpeg62-turbo-dev:mipsel \
109feb6cb93SDaniel P. Berrangé                      libjson-c-dev:mipsel \
110432ae739SAlex Bennée                      liblttng-ust-dev:mipsel \
1112e1d6bdcSPhilippe Mathieu-Daudé                      liblzo2-dev:mipsel \
112432ae739SAlex Bennée                      libncursesw5-dev:mipsel \
113432ae739SAlex Bennée                      libnfs-dev:mipsel \
114432ae739SAlex Bennée                      libnuma-dev:mipsel \
115432ae739SAlex Bennée                      libpam0g-dev:mipsel \
116432ae739SAlex Bennée                      libpixman-1-dev:mipsel \
117432ae739SAlex Bennée                      libpng-dev:mipsel \
118432ae739SAlex Bennée                      libpulse-dev:mipsel \
119432ae739SAlex Bennée                      librbd-dev:mipsel \
1202e1d6bdcSPhilippe Mathieu-Daudé                      librdmacm-dev:mipsel \
121432ae739SAlex Bennée                      libsasl2-dev:mipsel \
122432ae739SAlex Bennée                      libsdl2-dev:mipsel \
123432ae739SAlex Bennée                      libsdl2-image-dev:mipsel \
124432ae739SAlex Bennée                      libseccomp-dev:mipsel \
125432ae739SAlex Bennée                      libselinux1-dev:mipsel \
126432ae739SAlex Bennée                      libslirp-dev:mipsel \
127432ae739SAlex Bennée                      libsnappy-dev:mipsel \
128432ae739SAlex Bennée                      libspice-server-dev:mipsel \
129432ae739SAlex Bennée                      libssh-gcrypt-dev:mipsel \
130432ae739SAlex Bennée                      libsystemd-dev:mipsel \
131432ae739SAlex Bennée                      libtasn1-6-dev:mipsel \
132432ae739SAlex Bennée                      libudev-dev:mipsel \
133432ae739SAlex Bennée                      liburing-dev:mipsel \
134432ae739SAlex Bennée                      libusb-1.0-0-dev:mipsel \
135432ae739SAlex Bennée                      libusbredirhost-dev:mipsel \
136432ae739SAlex Bennée                      libvdeplug-dev:mipsel \
137432ae739SAlex Bennée                      libvirglrenderer-dev:mipsel \
138432ae739SAlex Bennée                      libvte-2.91-dev:mipsel \
139432ae739SAlex Bennée                      libzstd-dev:mipsel \
140432ae739SAlex Bennée                      nettle-dev:mipsel \
141432ae739SAlex Bennée                      systemtap-sdt-dev:mipsel \
142432ae739SAlex Bennée                      xfslibs-dev:mipsel \
143432ae739SAlex Bennée                      zlib1g-dev:mipsel && \
144432ae739SAlex Bennée    eatmydata apt-get autoremove -y && \
145432ae739SAlex Bennée    eatmydata apt-get autoclean -y && \
146432ae739SAlex Bennée    mkdir -p /usr/local/share/meson/cross && \
147432ae739SAlex Bennée    echo "[binaries]\n\
148432ae739SAlex Bennéec = '/usr/bin/mipsel-linux-gnu-gcc'\n\
149432ae739SAlex Bennéear = '/usr/bin/mipsel-linux-gnu-gcc-ar'\n\
150432ae739SAlex Bennéestrip = '/usr/bin/mipsel-linux-gnu-strip'\n\
151432ae739SAlex Bennéepkgconfig = '/usr/bin/mipsel-linux-gnu-pkg-config'\n\
152432ae739SAlex Bennée\n\
153432ae739SAlex Bennée[host_machine]\n\
154432ae739SAlex Bennéesystem = 'linux'\n\
155432ae739SAlex Bennéecpu_family = 'mips'\n\
156432ae739SAlex Bennéecpu = 'mipsel'\n\
157432ae739SAlex Bennéeendian = 'little'" > /usr/local/share/meson/cross/mipsel-linux-gnu && \
158432ae739SAlex Bennée    dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
159432ae739SAlex Bennée    mkdir -p /usr/libexec/ccache-wrappers && \
160432ae739SAlex Bennée    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/mipsel-linux-gnu-c++ && \
161432ae739SAlex Bennée    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/mipsel-linux-gnu-cc && \
162432ae739SAlex Bennée    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/mipsel-linux-gnu-g++ && \
163432ae739SAlex Bennée    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/mipsel-linux-gnu-gcc
164432ae739SAlex Bennée
165432ae739SAlex BennéeENV ABI "mipsel-linux-gnu"
166432ae739SAlex BennéeENV MESON_OPTS "--cross-file=mipsel-linux-gnu"
167432ae739SAlex BennéeENV QEMU_CONFIGURE_OPTS --cross-prefix=mipsel-linux-gnu-
168432ae739SAlex BennéeENV DEF_TARGET_LIST mipsel-softmmu,mipsel-linux-user
1695b8bcf6bSAlex Bennée# As a final step configure the user (if env is defined)
1705b8bcf6bSAlex BennéeARG USER
1715b8bcf6bSAlex BennéeARG UID
1725b8bcf6bSAlex BennéeRUN if [ "${USER}" ]; then \
1735b8bcf6bSAlex Bennée  id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi
174