dcb8541b0b
This brings in a newer version of the pipewire mapping, so rename it. Python 3.9 and 3.10 do not seem to work in OpenSUSE LEAP 15.5 (weird, because 3.9 persisted from 15.3 to 15.4) so bump the Python runtime version to 3.11. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
180 lines
6.9 KiB
Docker
180 lines
6.9 KiB
Docker
# THIS FILE WAS AUTO-GENERATED
|
|
#
|
|
# $ lcitool dockerfile --layers all --cross-arch aarch64 debian-11 qemu
|
|
#
|
|
# https://gitlab.com/libvirt/libvirt-ci
|
|
|
|
FROM docker.io/library/debian:11-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 \
|
|
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 \
|
|
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
|
|
|
|
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 arm64 && \
|
|
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 \
|
|
g++-aarch64-linux-gnu \
|
|
gcc-aarch64-linux-gnu \
|
|
libaio-dev:arm64 \
|
|
libasan5:arm64 \
|
|
libasound2-dev:arm64 \
|
|
libattr1-dev:arm64 \
|
|
libbpf-dev:arm64 \
|
|
libbrlapi-dev:arm64 \
|
|
libbz2-dev:arm64 \
|
|
libc6-dev:arm64 \
|
|
libcacard-dev:arm64 \
|
|
libcap-ng-dev:arm64 \
|
|
libcapstone-dev:arm64 \
|
|
libcmocka-dev:arm64 \
|
|
libcurl4-gnutls-dev:arm64 \
|
|
libdaxctl-dev:arm64 \
|
|
libdrm-dev:arm64 \
|
|
libepoxy-dev:arm64 \
|
|
libfdt-dev:arm64 \
|
|
libffi-dev:arm64 \
|
|
libfuse3-dev:arm64 \
|
|
libgbm-dev:arm64 \
|
|
libgcrypt20-dev:arm64 \
|
|
libglib2.0-dev:arm64 \
|
|
libglusterfs-dev:arm64 \
|
|
libgnutls28-dev:arm64 \
|
|
libgtk-3-dev:arm64 \
|
|
libibumad-dev:arm64 \
|
|
libibverbs-dev:arm64 \
|
|
libiscsi-dev:arm64 \
|
|
libjemalloc-dev:arm64 \
|
|
libjpeg62-turbo-dev:arm64 \
|
|
libjson-c-dev:arm64 \
|
|
liblttng-ust-dev:arm64 \
|
|
liblzo2-dev:arm64 \
|
|
libncursesw5-dev:arm64 \
|
|
libnfs-dev:arm64 \
|
|
libnuma-dev:arm64 \
|
|
libpam0g-dev:arm64 \
|
|
libpipewire-0.3-dev:arm64 \
|
|
libpixman-1-dev:arm64 \
|
|
libpng-dev:arm64 \
|
|
libpulse-dev:arm64 \
|
|
librbd-dev:arm64 \
|
|
librdmacm-dev:arm64 \
|
|
libsasl2-dev:arm64 \
|
|
libsdl2-dev:arm64 \
|
|
libsdl2-image-dev:arm64 \
|
|
libseccomp-dev:arm64 \
|
|
libselinux1-dev:arm64 \
|
|
libslirp-dev:arm64 \
|
|
libsnappy-dev:arm64 \
|
|
libspice-server-dev:arm64 \
|
|
libssh-gcrypt-dev:arm64 \
|
|
libsystemd-dev:arm64 \
|
|
libtasn1-6-dev:arm64 \
|
|
libubsan1:arm64 \
|
|
libudev-dev:arm64 \
|
|
liburing-dev:arm64 \
|
|
libusb-1.0-0-dev:arm64 \
|
|
libusbredirhost-dev:arm64 \
|
|
libvdeplug-dev:arm64 \
|
|
libvirglrenderer-dev:arm64 \
|
|
libvte-2.91-dev:arm64 \
|
|
libxen-dev:arm64 \
|
|
libzstd-dev:arm64 \
|
|
nettle-dev:arm64 \
|
|
systemtap-sdt-dev:arm64 \
|
|
xfslibs-dev:arm64 \
|
|
zlib1g-dev:arm64 && \
|
|
eatmydata apt-get autoremove -y && \
|
|
eatmydata apt-get autoclean -y && \
|
|
mkdir -p /usr/local/share/meson/cross && \
|
|
printf "[binaries]\n\
|
|
c = '/usr/bin/aarch64-linux-gnu-gcc'\n\
|
|
ar = '/usr/bin/aarch64-linux-gnu-gcc-ar'\n\
|
|
strip = '/usr/bin/aarch64-linux-gnu-strip'\n\
|
|
pkgconfig = '/usr/bin/aarch64-linux-gnu-pkg-config'\n\
|
|
\n\
|
|
[host_machine]\n\
|
|
system = 'linux'\n\
|
|
cpu_family = 'aarch64'\n\
|
|
cpu = 'aarch64'\n\
|
|
endian = 'little'\n" > /usr/local/share/meson/cross/aarch64-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/aarch64-linux-gnu-c++ && \
|
|
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/aarch64-linux-gnu-cc && \
|
|
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/aarch64-linux-gnu-g++ && \
|
|
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/aarch64-linux-gnu-gcc
|
|
|
|
ENV ABI "aarch64-linux-gnu"
|
|
ENV MESON_OPTS "--cross-file=aarch64-linux-gnu"
|
|
ENV QEMU_CONFIGURE_OPTS --cross-prefix=aarch64-linux-gnu-
|
|
ENV DEF_TARGET_LIST aarch64-softmmu,aarch64-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
|