# THIS FILE WAS AUTO-GENERATED
#
#  $ lcitool dockerfile --layers all --cross armv6l debian-11 qemu
#
# https://gitlab.com/libvirt/libvirt-ci

FROM docker.io/library/debian:11-slim

RUN export DEBIAN_FRONTEND=noninteractive && \
    apt-get update && \
    apt-get install -y eatmydata && \
    eatmydata apt-get dist-upgrade -y && \
    eatmydata apt-get install --no-install-recommends -y \
                      bash \
                      bc \
                      bison \
                      bsdextrautils \
                      bzip2 \
                      ca-certificates \
                      ccache \
                      dbus \
                      debianutils \
                      diffutils \
                      exuberant-ctags \
                      findutils \
                      flex \
                      gcovr \
                      genisoimage \
                      gettext \
                      git \
                      hostname \
                      libglib2.0-dev \
                      libpcre2-dev \
                      libsndio-dev \
                      libspice-protocol-dev \
                      llvm \
                      locales \
                      make \
                      meson \
                      ncat \
                      ninja-build \
                      openssh-client \
                      pkgconf \
                      python3 \
                      python3-numpy \
                      python3-opencv \
                      python3-pillow \
                      python3-pip \
                      python3-sphinx \
                      python3-sphinx-rtd-theme \
                      python3-venv \
                      python3-yaml \
                      rpm2cpio \
                      sed \
                      sparse \
                      tar \
                      tesseract-ocr \
                      tesseract-ocr-eng && \
    eatmydata apt-get autoremove -y && \
    eatmydata apt-get autoclean -y && \
    sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
    dpkg-reconfigure locales

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 export DEBIAN_FRONTEND=noninteractive && \
    dpkg --add-architecture armel && \
    eatmydata apt-get update && \
    eatmydata apt-get dist-upgrade -y && \
    eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
    eatmydata apt-get install --no-install-recommends -y \
                      g++-arm-linux-gnueabi \
                      gcc-arm-linux-gnueabi \
                      libaio-dev:armel \
                      libasan5:armel \
                      libasound2-dev:armel \
                      libattr1-dev:armel \
                      libbpf-dev:armel \
                      libbrlapi-dev:armel \
                      libbz2-dev:armel \
                      libc6-dev:armel \
                      libcacard-dev:armel \
                      libcap-ng-dev:armel \
                      libcapstone-dev:armel \
                      libcmocka-dev:armel \
                      libcurl4-gnutls-dev:armel \
                      libdaxctl-dev:armel \
                      libdrm-dev:armel \
                      libepoxy-dev:armel \
                      libfdt-dev:armel \
                      libffi-dev:armel \
                      libfuse3-dev:armel \
                      libgbm-dev:armel \
                      libgcrypt20-dev:armel \
                      libglib2.0-dev:armel \
                      libglusterfs-dev:armel \
                      libgnutls28-dev:armel \
                      libgtk-3-dev:armel \
                      libibumad-dev:armel \
                      libibverbs-dev:armel \
                      libiscsi-dev:armel \
                      libjemalloc-dev:armel \
                      libjpeg62-turbo-dev:armel \
                      libjson-c-dev:armel \
                      liblttng-ust-dev:armel \
                      liblzo2-dev:armel \
                      libncursesw5-dev:armel \
                      libnfs-dev:armel \
                      libnuma-dev:armel \
                      libpam0g-dev:armel \
                      libpixman-1-dev:armel \
                      libpng-dev:armel \
                      libpulse-dev:armel \
                      librbd-dev:armel \
                      librdmacm-dev:armel \
                      libsasl2-dev:armel \
                      libsdl2-dev:armel \
                      libsdl2-image-dev:armel \
                      libseccomp-dev:armel \
                      libselinux1-dev:armel \
                      libslirp-dev:armel \
                      libsnappy-dev:armel \
                      libspice-server-dev:armel \
                      libssh-gcrypt-dev:armel \
                      libsystemd-dev:armel \
                      libtasn1-6-dev:armel \
                      libubsan1:armel \
                      libudev-dev:armel \
                      liburing-dev:armel \
                      libusb-1.0-0-dev:armel \
                      libusbredirhost-dev:armel \
                      libvdeplug-dev:armel \
                      libvirglrenderer-dev:armel \
                      libvte-2.91-dev:armel \
                      libzstd-dev:armel \
                      nettle-dev:armel \
                      systemtap-sdt-dev:armel \
                      xfslibs-dev:armel \
                      zlib1g-dev:armel && \
    eatmydata apt-get autoremove -y && \
    eatmydata apt-get autoclean -y && \
    mkdir -p /usr/local/share/meson/cross && \
    echo "[binaries]\n\
c = '/usr/bin/arm-linux-gnueabi-gcc'\n\
ar = '/usr/bin/arm-linux-gnueabi-gcc-ar'\n\
strip = '/usr/bin/arm-linux-gnueabi-strip'\n\
pkgconfig = '/usr/bin/arm-linux-gnueabi-pkg-config'\n\
\n\
[host_machine]\n\
system = 'linux'\n\
cpu_family = 'arm'\n\
cpu = 'arm'\n\
endian = 'little'" > /usr/local/share/meson/cross/arm-linux-gnueabi && \
    dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
    mkdir -p /usr/libexec/ccache-wrappers && \
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/arm-linux-gnueabi-c++ && \
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/arm-linux-gnueabi-cc && \
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/arm-linux-gnueabi-g++ && \
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/arm-linux-gnueabi-gcc

ENV ABI "arm-linux-gnueabi"
ENV MESON_OPTS "--cross-file=arm-linux-gnueabi"
ENV QEMU_CONFIGURE_OPTS --cross-prefix=arm-linux-gnueabi-
ENV DEF_TARGET_LIST arm-softmmu,arm-linux-user,armeb-linux-user
