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

FROM docker.io/library/alpine:3.18

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 \
        g++ \
        gcc \
        gcovr \
        gettext \
        git \
        glib-dev \
        glib-static \
        gnutls-dev \
        gtk+3.0-dev \
        json-c-dev \
        libaio-dev \
        libbpf-dev \
        libcap-ng-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 \
        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 \
        which \
        xen-dev \
        xfsprogs-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/c++ && \
    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/g++ && \
    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
