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

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