# THIS FILE WAS AUTO-GENERATED
#
#  $ lcitool dockerfile --layers all alpine-323 qemu
#
# https://gitlab.com/libvirt/libvirt-ci

FROM docker.io/library/alpine:3.23

RUN apk update && \
    apk upgrade && \
    apk add \
        alsa-lib-dev \
        attr-dev \
        bash \
        bc \
        bison \
        bzip2 \
        bzip2-dev \
        ca-certificates \
        capstone-dev \
        ccache \
        ceph-dev \
        clang \
        cmocka-dev \
        coreutils \
        ctags \
        curl-dev \
        cyrus-sasl-dev \
        dbus \
        diffutils \
        dtc-dev \
        eudev-dev \
        findutils \
        flex \
        fuse3-dev \
        gcc \
        gcovr \
        gettext \
        git \
        glib-dev \
        glib-static \
        gnutls-dev \
        gtk+3.0-dev \
        gtk-vnc-dev \
        json-c-dev \
        libaio-dev \
        libbpf-dev \
        libcap-ng-dev \
        libcbor-dev \
        libdrm-dev \
        libepoxy-dev \
        libffi-dev \
        libgcrypt-dev \
        libjpeg-turbo-dev \
        libnfs-dev \
        libpng-dev \
        libseccomp-dev \
        libselinux-dev \
        libslirp-dev \
        libssh-dev \
        libtasn1-dev \
        liburing-dev \
        libusb-dev \
        libxdp-dev \
        linux-pam-dev \
        llvm \
        lttng-ust-dev \
        lzo-dev \
        make \
        mesa-dev \
        meson \
        mtools \
        multipath-tools \
        musl-dev \
        ncurses-dev \
        ndctl-dev \
        net-tools \
        nettle-dev \
        nmap-ncat \
        numactl-dev \
        openssh-client \
        pcre2-dev \
        pipewire-dev \
        pixman-dev \
        pkgconf \
        pulseaudio-dev \
        py3-numpy \
        py3-pillow \
        py3-pip \
        py3-setuptools \
        py3-sphinx \
        py3-sphinx_rtd_theme \
        py3-wheel \
        py3-yaml \
        python3 \
        rpm2cpio \
        rust \
        rust-bindgen \
        samurai \
        sdl2-dev \
        sdl2_image-dev \
        sed \
        snappy-dev \
        sndio-dev \
        socat \
        sparse \
        spice-dev \
        spice-protocol \
        swtpm \
        tar \
        tesseract-ocr \
        usbredir-dev \
        util-linux \
        vde2-dev \
        virglrenderer-dev \
        vte3-dev \
        vulkan-tools \
        which \
        xen-dev \
        xorriso \
        zlib-dev \
        zlib-static \
        zstd \
        zstd-dev && \
    rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED && \
    apk list --installed | sort > /packages.txt && \
    mkdir -p /usr/libexec/ccache-wrappers && \
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/clang && \
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc

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"
# https://gitlab.alpinelinux.org/alpine/aports/-/issues/17463
RUN apk add clang19-libclang
# 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

ENV ENABLE_RUST 1
