mirror of
https://github.com/qemu/qemu.git
synced 2026-04-23 06:33:31 +00:00
Installing local dependencies while offline, without PyPI access, requires the python3-setuptools and python3-wheel packages. Most distributions have these available anyway for one reason or another, but not all of them. If you are asking yourself "Wait, aren't these packages guaranteed via installation of pip, via the ensurepip module, which mkvenv takes immense pains to provide for us?" - Well... since Python 3.13, "pip" does not actually come with "setuptools" or "wheel" anymore, and so if we want to build and install a python package, we actually need these available in the host environment. (Note that you don't need these packages just to install a pre-built package, you only need them to *build* a package. With cutting edge setuptools and pip, all locally installed packages, even in editable mode, must be "built" first before being installed. Thus, these dependencies are being added specifically to facilitate installing qemu.git/python/qemu to the configure-time venv.) Reviewed-by: Thomas Huth <thuth@redhat.com> Message-ID: <20260218213416.674483-12-jsnow@redhat.com> Signed-off-by: John Snow <jsnow@redhat.com>
146 lines
3.2 KiB
Docker
146 lines
3.2 KiB
Docker
# 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
|