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

FROM docker.io/library/alpine:3.21

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 \
        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 \
        pcre-dev \
        pipewire-dev \
        pixman-dev \
        pkgconf \
        pulseaudio-dev \
        py3-numpy \
        py3-pillow \
        py3-pip \
        py3-sphinx \
        py3-sphinx_rtd_theme \
        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"
# 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
