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

FROM docker.io/library/debian:12-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 \
                      gcc \
                      gcovr \
                      gettext \
                      git \
                      hostname \
                      libglib2.0-dev \
                      libpcre2-dev \
                      libsndio-dev \
                      libspice-protocol-dev \
                      llvm \
                      locales \
                      make \
                      meson \
                      mtools \
                      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 \
                      socat \
                      sparse \
                      swtpm \
                      tar \
                      tesseract-ocr \
                      tesseract-ocr-eng \
                      xorriso \
                      zstd && \
    eatmydata apt-get autoremove -y && \
    eatmydata apt-get autoclean -y && \
    sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
    dpkg-reconfigure locales && \
    rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED

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 arm64 && \
    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 \
                      gcc-aarch64-linux-gnu \
                      libaio-dev:arm64 \
                      libasan6:arm64 \
                      libasound2-dev:arm64 \
                      libattr1-dev:arm64 \
                      libbpf-dev:arm64 \
                      libbrlapi-dev:arm64 \
                      libbz2-dev:arm64 \
                      libc6-dev:arm64 \
                      libcacard-dev:arm64 \
                      libcap-ng-dev:arm64 \
                      libcapstone-dev:arm64 \
                      libcmocka-dev:arm64 \
                      libcurl4-gnutls-dev:arm64 \
                      libdaxctl-dev:arm64 \
                      libdrm-dev:arm64 \
                      libepoxy-dev:arm64 \
                      libfdt-dev:arm64 \
                      libffi-dev:arm64 \
                      libfuse3-dev:arm64 \
                      libgbm-dev:arm64 \
                      libgcrypt20-dev:arm64 \
                      libglib2.0-dev:arm64 \
                      libglusterfs-dev:arm64 \
                      libgnutls28-dev:arm64 \
                      libgtk-3-dev:arm64 \
                      libibumad-dev:arm64 \
                      libibverbs-dev:arm64 \
                      libiscsi-dev:arm64 \
                      libjemalloc-dev:arm64 \
                      libjpeg62-turbo-dev:arm64 \
                      libjson-c-dev:arm64 \
                      liblttng-ust-dev:arm64 \
                      liblzo2-dev:arm64 \
                      libncursesw5-dev:arm64 \
                      libnfs-dev:arm64 \
                      libnuma-dev:arm64 \
                      libpam0g-dev:arm64 \
                      libpipewire-0.3-dev:arm64 \
                      libpixman-1-dev:arm64 \
                      libpng-dev:arm64 \
                      libpulse-dev:arm64 \
                      librbd-dev:arm64 \
                      librdmacm-dev:arm64 \
                      libsasl2-dev:arm64 \
                      libsdl2-dev:arm64 \
                      libsdl2-image-dev:arm64 \
                      libseccomp-dev:arm64 \
                      libselinux1-dev:arm64 \
                      libslirp-dev:arm64 \
                      libsnappy-dev:arm64 \
                      libspice-server-dev:arm64 \
                      libssh-gcrypt-dev:arm64 \
                      libsystemd-dev:arm64 \
                      libtasn1-6-dev:arm64 \
                      libubsan1:arm64 \
                      libudev-dev:arm64 \
                      liburing-dev:arm64 \
                      libusb-1.0-0-dev:arm64 \
                      libusbredirhost-dev:arm64 \
                      libvdeplug-dev:arm64 \
                      libvirglrenderer-dev:arm64 \
                      libvte-2.91-dev:arm64 \
                      libxdp-dev:arm64 \
                      libxen-dev:arm64 \
                      libzstd-dev:arm64 \
                      nettle-dev:arm64 \
                      systemtap-sdt-dev:arm64 \
                      zlib1g-dev:arm64 && \
    eatmydata apt-get autoremove -y && \
    eatmydata apt-get autoclean -y && \
    mkdir -p /usr/local/share/meson/cross && \
    printf "[binaries]\n\
c = '/usr/bin/aarch64-linux-gnu-gcc'\n\
ar = '/usr/bin/aarch64-linux-gnu-gcc-ar'\n\
strip = '/usr/bin/aarch64-linux-gnu-strip'\n\
pkgconfig = '/usr/bin/aarch64-linux-gnu-pkg-config'\n\
\n\
[host_machine]\n\
system = 'linux'\n\
cpu_family = 'aarch64'\n\
cpu = 'aarch64'\n\
endian = 'little'\n" > /usr/local/share/meson/cross/aarch64-linux-gnu && \
    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/aarch64-linux-gnu-cc && \
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/aarch64-linux-gnu-gcc

ENV ABI "aarch64-linux-gnu"
ENV MESON_OPTS "--cross-file=aarch64-linux-gnu"
ENV QEMU_CONFIGURE_OPTS --cross-prefix=aarch64-linux-gnu-
ENV DEF_TARGET_LIST aarch64-softmmu,aarch64-linux-user
# 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
