11e834d17SAlex Bennée# THIS FILE WAS AUTO-GENERATED
2fd7b284dSPhilippe Mathieu-Daudé#
31e834d17SAlex Bennée#  $ lcitool dockerfile --layers all --cross mips64el debian-11 qemu
4fd7b284dSPhilippe Mathieu-Daudé#
51e834d17SAlex Bennée# https://gitlab.com/libvirt/libvirt-ci
6fd7b284dSPhilippe Mathieu-Daudé
71e834d17SAlex BennéeFROM docker.io/library/debian:11-slim
8fd7b284dSPhilippe Mathieu-Daudé
91e834d17SAlex BennéeRUN export DEBIAN_FRONTEND=noninteractive && \
101e834d17SAlex Bennée    apt-get update && \
111e834d17SAlex Bennée    apt-get install -y eatmydata && \
121e834d17SAlex Bennée    eatmydata apt-get dist-upgrade -y && \
131e834d17SAlex Bennée    eatmydata apt-get install --no-install-recommends -y \
141e834d17SAlex Bennée                      bash \
151e834d17SAlex Bennée                      bc \
168fae3910SAnton Johansson                      bison \
171e834d17SAlex Bennée                      bsdextrautils \
181e834d17SAlex Bennée                      bzip2 \
191e834d17SAlex Bennée                      ca-certificates \
201e834d17SAlex Bennée                      ccache \
211e834d17SAlex Bennée                      dbus \
221e834d17SAlex Bennée                      debianutils \
231e834d17SAlex Bennée                      diffutils \
241e834d17SAlex Bennée                      exuberant-ctags \
251e834d17SAlex Bennée                      findutils \
268fae3910SAnton Johansson                      flex \
27*690be804SAlex Bennée                      gcc \
281e834d17SAlex Bennée                      gcovr \
291e834d17SAlex Bennée                      gettext \
301e834d17SAlex Bennée                      git \
311e834d17SAlex Bennée                      hostname \
328fae3910SAnton Johansson                      libglib2.0-dev \
331e834d17SAlex Bennée                      libpcre2-dev \
348f4bcbcfSBrad Smith                      libsndio-dev \
351e834d17SAlex Bennée                      libspice-protocol-dev \
361e834d17SAlex Bennée                      llvm \
371e834d17SAlex Bennée                      locales \
381e834d17SAlex Bennée                      make \
391e834d17SAlex Bennée                      meson \
40da900078SAni Sinha                      mtools \
411e834d17SAlex Bennée                      ncat \
421e834d17SAlex Bennée                      ninja-build \
431e834d17SAlex Bennée                      openssh-client \
441e834d17SAlex Bennée                      pkgconf \
451e834d17SAlex Bennée                      python3 \
461e834d17SAlex Bennée                      python3-numpy \
471e834d17SAlex Bennée                      python3-opencv \
481e834d17SAlex Bennée                      python3-pillow \
491e834d17SAlex Bennée                      python3-pip \
501e834d17SAlex Bennée                      python3-sphinx \
511e834d17SAlex Bennée                      python3-sphinx-rtd-theme \
521e834d17SAlex Bennée                      python3-venv \
531e834d17SAlex Bennée                      python3-yaml \
541e834d17SAlex Bennée                      rpm2cpio \
551e834d17SAlex Bennée                      sed \
56ab4c1361SAlex Bennée                      socat \
571e834d17SAlex Bennée                      sparse \
581e834d17SAlex Bennée                      tar \
591e834d17SAlex Bennée                      tesseract-ocr \
60bbe30763SAlex Bennée                      tesseract-ocr-eng \
61da900078SAni Sinha                      xorriso \
62bbe30763SAlex Bennée                      zstd && \
631e834d17SAlex Bennée    eatmydata apt-get autoremove -y && \
641e834d17SAlex Bennée    eatmydata apt-get autoclean -y && \
651e834d17SAlex Bennée    sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
661e834d17SAlex Bennée    dpkg-reconfigure locales
67fd7b284dSPhilippe Mathieu-Daudé
688f4bcbcfSBrad SmithENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
691e834d17SAlex BennéeENV LANG "en_US.UTF-8"
701e834d17SAlex BennéeENV MAKE "/usr/bin/make"
711e834d17SAlex BennéeENV NINJA "/usr/bin/ninja"
721e834d17SAlex BennéeENV PYTHON "/usr/bin/python3"
73fd7b284dSPhilippe Mathieu-Daudé
741e834d17SAlex BennéeRUN export DEBIAN_FRONTEND=noninteractive && \
751e834d17SAlex Bennée    dpkg --add-architecture mips64el && \
761e834d17SAlex Bennée    eatmydata apt-get update && \
771e834d17SAlex Bennée    eatmydata apt-get dist-upgrade -y && \
781e834d17SAlex Bennée    eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
791e834d17SAlex Bennée    eatmydata apt-get install --no-install-recommends -y \
801e834d17SAlex Bennée                      g++-mips64el-linux-gnuabi64 \
811e834d17SAlex Bennée                      gcc-mips64el-linux-gnuabi64 \
821e834d17SAlex Bennée                      libaio-dev:mips64el \
831e834d17SAlex Bennée                      libasound2-dev:mips64el \
841e834d17SAlex Bennée                      libattr1-dev:mips64el \
851e834d17SAlex Bennée                      libbpf-dev:mips64el \
861e834d17SAlex Bennée                      libbrlapi-dev:mips64el \
871e834d17SAlex Bennée                      libbz2-dev:mips64el \
881e834d17SAlex Bennée                      libc6-dev:mips64el \
891e834d17SAlex Bennée                      libcacard-dev:mips64el \
901e834d17SAlex Bennée                      libcap-ng-dev:mips64el \
911e834d17SAlex Bennée                      libcapstone-dev:mips64el \
92feb6cb93SDaniel P. Berrangé                      libcmocka-dev:mips64el \
931e834d17SAlex Bennée                      libcurl4-gnutls-dev:mips64el \
941e834d17SAlex Bennée                      libdaxctl-dev:mips64el \
951e834d17SAlex Bennée                      libdrm-dev:mips64el \
961e834d17SAlex Bennée                      libepoxy-dev:mips64el \
971e834d17SAlex Bennée                      libfdt-dev:mips64el \
981e834d17SAlex Bennée                      libffi-dev:mips64el \
991e834d17SAlex Bennée                      libfuse3-dev:mips64el \
1001e834d17SAlex Bennée                      libgbm-dev:mips64el \
1011e834d17SAlex Bennée                      libgcrypt20-dev:mips64el \
1021e834d17SAlex Bennée                      libglib2.0-dev:mips64el \
1031e834d17SAlex Bennée                      libglusterfs-dev:mips64el \
1041e834d17SAlex Bennée                      libgnutls28-dev:mips64el \
1051e834d17SAlex Bennée                      libgtk-3-dev:mips64el \
1061e834d17SAlex Bennée                      libibumad-dev:mips64el \
1071e834d17SAlex Bennée                      libibverbs-dev:mips64el \
1081e834d17SAlex Bennée                      libiscsi-dev:mips64el \
1091e834d17SAlex Bennée                      libjemalloc-dev:mips64el \
1101e834d17SAlex Bennée                      libjpeg62-turbo-dev:mips64el \
111feb6cb93SDaniel P. Berrangé                      libjson-c-dev:mips64el \
1121e834d17SAlex Bennée                      liblttng-ust-dev:mips64el \
1131e834d17SAlex Bennée                      liblzo2-dev:mips64el \
1141e834d17SAlex Bennée                      libncursesw5-dev:mips64el \
1151e834d17SAlex Bennée                      libnfs-dev:mips64el \
1161e834d17SAlex Bennée                      libnuma-dev:mips64el \
1171e834d17SAlex Bennée                      libpam0g-dev:mips64el \
1181e834d17SAlex Bennée                      libpixman-1-dev:mips64el \
1191e834d17SAlex Bennée                      libpng-dev:mips64el \
1201e834d17SAlex Bennée                      libpulse-dev:mips64el \
1211e834d17SAlex Bennée                      librbd-dev:mips64el \
1221e834d17SAlex Bennée                      librdmacm-dev:mips64el \
1231e834d17SAlex Bennée                      libsasl2-dev:mips64el \
1241e834d17SAlex Bennée                      libsdl2-dev:mips64el \
1251e834d17SAlex Bennée                      libsdl2-image-dev:mips64el \
1261e834d17SAlex Bennée                      libseccomp-dev:mips64el \
1271e834d17SAlex Bennée                      libselinux1-dev:mips64el \
1281e834d17SAlex Bennée                      libslirp-dev:mips64el \
1291e834d17SAlex Bennée                      libsnappy-dev:mips64el \
1301e834d17SAlex Bennée                      libspice-server-dev:mips64el \
1311e834d17SAlex Bennée                      libssh-gcrypt-dev:mips64el \
1321e834d17SAlex Bennée                      libsystemd-dev:mips64el \
1331e834d17SAlex Bennée                      libtasn1-6-dev:mips64el \
1341e834d17SAlex Bennée                      libudev-dev:mips64el \
1351e834d17SAlex Bennée                      liburing-dev:mips64el \
1361e834d17SAlex Bennée                      libusb-1.0-0-dev:mips64el \
1371e834d17SAlex Bennée                      libusbredirhost-dev:mips64el \
1381e834d17SAlex Bennée                      libvdeplug-dev:mips64el \
1391e834d17SAlex Bennée                      libvirglrenderer-dev:mips64el \
1401e834d17SAlex Bennée                      libvte-2.91-dev:mips64el \
1411e834d17SAlex Bennée                      libzstd-dev:mips64el \
1421e834d17SAlex Bennée                      nettle-dev:mips64el \
1431e834d17SAlex Bennée                      systemtap-sdt-dev:mips64el \
1441e834d17SAlex Bennée                      xfslibs-dev:mips64el \
1451e834d17SAlex Bennée                      zlib1g-dev:mips64el && \
1461e834d17SAlex Bennée    eatmydata apt-get autoremove -y && \
1471e834d17SAlex Bennée    eatmydata apt-get autoclean -y && \
1481e834d17SAlex Bennée    mkdir -p /usr/local/share/meson/cross && \
149dacc122eSPeter Krempa    printf "[binaries]\n\
1501e834d17SAlex Bennéec = '/usr/bin/mips64el-linux-gnuabi64-gcc'\n\
1511e834d17SAlex Bennéear = '/usr/bin/mips64el-linux-gnuabi64-gcc-ar'\n\
1521e834d17SAlex Bennéestrip = '/usr/bin/mips64el-linux-gnuabi64-strip'\n\
1531e834d17SAlex Bennéepkgconfig = '/usr/bin/mips64el-linux-gnuabi64-pkg-config'\n\
1541e834d17SAlex Bennée\n\
1551e834d17SAlex Bennée[host_machine]\n\
1561e834d17SAlex Bennéesystem = 'linux'\n\
1571e834d17SAlex Bennéecpu_family = 'mips64'\n\
1581e834d17SAlex Bennéecpu = 'mips64el'\n\
159dacc122eSPeter Krempaendian = 'little'\n" > /usr/local/share/meson/cross/mips64el-linux-gnuabi64 && \
1601e834d17SAlex Bennée    dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
1611e834d17SAlex Bennée    mkdir -p /usr/libexec/ccache-wrappers && \
1621e834d17SAlex Bennée    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/mips64el-linux-gnuabi64-c++ && \
1631e834d17SAlex Bennée    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/mips64el-linux-gnuabi64-cc && \
1641e834d17SAlex Bennée    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/mips64el-linux-gnuabi64-g++ && \
1651e834d17SAlex Bennée    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/mips64el-linux-gnuabi64-gcc
166fd7b284dSPhilippe Mathieu-Daudé
1671e834d17SAlex BennéeENV ABI "mips64el-linux-gnuabi64"
1681e834d17SAlex BennéeENV MESON_OPTS "--cross-file=mips64el-linux-gnuabi64"
169fd7b284dSPhilippe Mathieu-DaudéENV QEMU_CONFIGURE_OPTS --cross-prefix=mips64el-linux-gnuabi64-
17009bb808fSAlex BennéeENV DEF_TARGET_LIST mips64el-softmmu,mips64el-linux-user
1715b8bcf6bSAlex Bennée# As a final step configure the user (if env is defined)
1725b8bcf6bSAlex BennéeARG USER
1735b8bcf6bSAlex BennéeARG UID
1745b8bcf6bSAlex BennéeRUN if [ "${USER}" ]; then \
1755b8bcf6bSAlex Bennée  id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi
176