# 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 \
                      bindgen \
                      bison \
                      bsdextrautils \
                      bzip2 \
                      ca-certificates \
                      ccache \
                      dbus \
                      debianutils \
                      diffutils \
                      exuberant-ctags \
                      findutils \
                      flex \
                      gcc \
                      gcovr \
                      gettext \
                      git \
                      hostname \
                      libglib2.0-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 \
                      rustc \
                      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 \
                      libcbor-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 \
                      libgtk-vnc-2.0-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 \
                      libpcre2-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 \
                      libsndio-dev:arm64 \
                      libspice-protocol-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 RUST_TARGET "aarch64-unknown-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
