variables:
NAME: debian-loongarch-cross
-mips64el-debian-cross-container:
- extends: .container_job_template
- stage: containers
- variables:
- NAME: debian-mips64el-cross
-
ppc64el-debian-cross-container:
extends: .container_job_template
stage: containers
- arm64-debian-cross-container
- hexagon-cross-container
- loongarch-debian-cross-container
- - mips64el-debian-cross-container
- ppc64el-debian-cross-container
- riscv64-debian-cross-container
- s390x-debian-cross-container
IMAGE: debian-arm64-cross
EXTRA_CONFIGURE_OPTS: --disable-tcg --without-default-features
-cross-mips64el-system:
- extends: .cross_system_build_job
- needs:
- - job: mips64el-debian-cross-container
- variables:
- IMAGE: debian-mips64el-cross
-
-cross-mips64el-user:
- extends: .cross_user_build_job
- needs:
- - job: mips64el-debian-cross-container
- variables:
- IMAGE: debian-mips64el-cross
-
cross-ppc64el-system:
extends: .cross_system_build_job
needs:
IMAGE: debian-s390x-cross
EXTRA_CONFIGURE_OPTS: --disable-tcg --enable-trace-backends=ftrace
-cross-mips64el-kvm-only:
- extends: .cross_accel_build_job
- needs:
- - job: mips64el-debian-cross-container
- variables:
- IMAGE: debian-mips64el-cross
- EXTRA_CONFIGURE_OPTS: --disable-tcg --target-list=mips64el-softmmu
-
cross-win64-system:
extends: .cross_system_build_job
needs:
aarch64_be:aarch64 | \
armeb:arm | \
i386:x86_64 | \
- mips*:mips64 | \
ppc*:ppc64 | \
sparc:sparc64 | \
"$cpu:$cpu")
# For non-x86 hosts not all cross-compilers have been packaged
ifneq ($(HOST_ARCH),x86_64)
-DOCKER_PARTIAL_IMAGES += debian-mipsel-cross debian-mips64el-cross
DOCKER_PARTIAL_IMAGES += debian-ppc64el-cross
DOCKER_PARTIAL_IMAGES += debian-s390x-cross
DOCKER_PARTIAL_IMAGES += fedora
+++ /dev/null
-# THIS FILE WAS AUTO-GENERATED
-#
-# $ lcitool dockerfile --layers all --cross-arch mips64el debian-12 qemu
-#
-# https://gitlab.com/libvirt/libvirt-ci
-
-FROM docker.io/library/debian:12-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 \
- bindgen \
- bison \
- bsdextrautils \
- bzip2 \
- ca-certificates \
- ccache \
- coreutils \
- dbus \
- debianutils \
- diffutils \
- exuberant-ctags \
- findutils \
- flex \
- gcc \
- gcovr \
- gettext \
- git \
- hostname \
- libclang-rt-dev \
- libglib2.0-dev \
- llvm \
- locales \
- make \
- mtools \
- ninja-build \
- openssh-client \
- pkgconf \
- python3 \
- python3-numpy \
- python3-opencv \
- python3-pillow \
- python3-pip \
- python3-setuptools \
- python3-sphinx \
- python3-sphinx-rtd-theme \
- python3-venv \
- python3-wheel \
- python3-yaml \
- rpm2cpio \
- rustc-web \
- sed \
- socat \
- sparse \
- swtpm \
- tar \
- tesseract-ocr \
- tesseract-ocr-eng \
- vulkan-tools \
- 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 && \
- rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
-
-RUN /usr/bin/pip3 install meson==1.8.1
-
-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 mips64el && \
- 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 \
- gcc-mips64el-linux-gnuabi64 \
- libaio-dev:mips64el \
- libasound2-dev:mips64el \
- libattr1-dev:mips64el \
- libbpf-dev:mips64el \
- libbrlapi-dev:mips64el \
- libbz2-dev:mips64el \
- libc6-dev:mips64el \
- libcacard-dev:mips64el \
- libcap-ng-dev:mips64el \
- libcapstone-dev:mips64el \
- libcbor-dev:mips64el \
- libcmocka-dev:mips64el \
- libcurl4-gnutls-dev:mips64el \
- libdaxctl-dev:mips64el \
- libdrm-dev:mips64el \
- libepoxy-dev:mips64el \
- libfdt-dev:mips64el \
- libffi-dev:mips64el \
- libfuse3-dev:mips64el \
- libgbm-dev:mips64el \
- libgcrypt20-dev:mips64el \
- libglib2.0-dev:mips64el \
- libgnutls28-dev:mips64el \
- libgtk-3-dev:mips64el \
- libgtk-vnc-2.0-dev:mips64el \
- libibverbs-dev:mips64el \
- libiscsi-dev:mips64el \
- libjemalloc-dev:mips64el \
- libjpeg62-turbo-dev:mips64el \
- libjson-c-dev:mips64el \
- liblttng-ust-dev:mips64el \
- liblzo2-dev:mips64el \
- libncursesw5-dev:mips64el \
- libnfs-dev:mips64el \
- libnuma-dev:mips64el \
- libpam0g-dev:mips64el \
- libpcre2-dev:mips64el \
- libpipewire-0.3-dev:mips64el \
- libpixman-1-dev:mips64el \
- libpng-dev:mips64el \
- libpulse-dev:mips64el \
- librbd-dev:mips64el \
- librdmacm-dev:mips64el \
- libsasl2-dev:mips64el \
- libsdl2-dev:mips64el \
- libsdl2-image-dev:mips64el \
- libseccomp-dev:mips64el \
- libselinux1-dev:mips64el \
- libslirp-dev:mips64el \
- libsnappy-dev:mips64el \
- libsndio-dev:mips64el \
- libspice-protocol-dev:mips64el \
- libspice-server-dev:mips64el \
- libssh-dev:mips64el \
- libstd-rust-dev:mips64el \
- libsystemd-dev:mips64el \
- libtasn1-6-dev:mips64el \
- libudev-dev:mips64el \
- liburing-dev:mips64el \
- libusb-1.0-0-dev:mips64el \
- libusbredirhost-dev:mips64el \
- libvdeplug-dev:mips64el \
- libvirglrenderer-dev:mips64el \
- libvte-2.91-dev:mips64el \
- libxdp-dev:mips64el \
- libzstd-dev:mips64el \
- nettle-dev:mips64el \
- systemtap-sdt-dev:mips64el \
- zlib1g-dev:mips64el && \
- eatmydata apt-get autoremove -y && \
- eatmydata apt-get autoclean -y && \
- mkdir -p /usr/local/share/meson/cross && \
- printf "[binaries]\n\
-c = '/usr/bin/mips64el-linux-gnuabi64-gcc'\n\
-ar = '/usr/bin/mips64el-linux-gnuabi64-gcc-ar'\n\
-strip = '/usr/bin/mips64el-linux-gnuabi64-strip'\n\
-pkgconfig = '/usr/bin/mips64el-linux-gnuabi64-pkg-config'\n\
-\n\
-[host_machine]\n\
-system = 'linux'\n\
-cpu_family = 'mips64'\n\
-cpu = 'mips64el'\n\
-endian = 'little'\n" > /usr/local/share/meson/cross/mips64el-linux-gnuabi64 && \
- 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/mips64el-linux-gnuabi64-cc && \
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/mips64el-linux-gnuabi64-gcc
-
-ENV ABI="mips64el-linux-gnuabi64"
-ENV MESON_OPTS="--cross-file=mips64el-linux-gnuabi64"
-ENV RUST_TARGET="mips64el-unknown-linux-gnuabi64"
-ENV QEMU_CONFIGURE_OPTS=--cross-prefix=mips64el-linux-gnuabi64-
-ENV DEF_TARGET_LIST=mips64el-softmmu,mips64el-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
-
-ENV ENABLE_RUST=1
+++ /dev/null
-# THIS FILE WAS AUTO-GENERATED
-#
-# $ lcitool dockerfile --layers all --cross-arch mipsel debian-12 qemu
-#
-# https://gitlab.com/libvirt/libvirt-ci
-
-FROM docker.io/library/debian:12-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 \
- bindgen \
- bison \
- bsdextrautils \
- bzip2 \
- ca-certificates \
- ccache \
- coreutils \
- dbus \
- debianutils \
- diffutils \
- exuberant-ctags \
- findutils \
- flex \
- gcc \
- gcovr \
- gettext \
- git \
- hostname \
- libclang-rt-dev \
- libglib2.0-dev \
- llvm \
- locales \
- make \
- mtools \
- ninja-build \
- openssh-client \
- pkgconf \
- python3 \
- python3-numpy \
- python3-opencv \
- python3-pillow \
- python3-pip \
- python3-setuptools \
- python3-sphinx \
- python3-sphinx-rtd-theme \
- python3-venv \
- python3-wheel \
- python3-yaml \
- rpm2cpio \
- rustc-web \
- sed \
- socat \
- sparse \
- swtpm \
- tar \
- tesseract-ocr \
- tesseract-ocr-eng \
- vulkan-tools \
- 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 && \
- rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
-
-RUN /usr/bin/pip3 install meson==1.8.1
-
-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 mipsel && \
- 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 \
- gcc-mipsel-linux-gnu \
- libaio-dev:mipsel \
- libasound2-dev:mipsel \
- libattr1-dev:mipsel \
- libbpf-dev:mipsel \
- libbrlapi-dev:mipsel \
- libbz2-dev:mipsel \
- libc6-dev:mipsel \
- libcacard-dev:mipsel \
- libcap-ng-dev:mipsel \
- libcapstone-dev:mipsel \
- libcbor-dev:mipsel \
- libcmocka-dev:mipsel \
- libcurl4-gnutls-dev:mipsel \
- libdaxctl-dev:mipsel \
- libdrm-dev:mipsel \
- libepoxy-dev:mipsel \
- libfdt-dev:mipsel \
- libffi-dev:mipsel \
- libfuse3-dev:mipsel \
- libgbm-dev:mipsel \
- libgcrypt20-dev:mipsel \
- libglib2.0-dev:mipsel \
- libgnutls28-dev:mipsel \
- libgtk-3-dev:mipsel \
- libgtk-vnc-2.0-dev:mipsel \
- libibverbs-dev:mipsel \
- libiscsi-dev:mipsel \
- libjemalloc-dev:mipsel \
- libjpeg62-turbo-dev:mipsel \
- libjson-c-dev:mipsel \
- liblttng-ust-dev:mipsel \
- liblzo2-dev:mipsel \
- libncursesw5-dev:mipsel \
- libnfs-dev:mipsel \
- libnuma-dev:mipsel \
- libpam0g-dev:mipsel \
- libpcre2-dev:mipsel \
- libpipewire-0.3-dev:mipsel \
- libpixman-1-dev:mipsel \
- libpng-dev:mipsel \
- libpulse-dev:mipsel \
- librbd-dev:mipsel \
- librdmacm-dev:mipsel \
- libsasl2-dev:mipsel \
- libsdl2-dev:mipsel \
- libsdl2-image-dev:mipsel \
- libseccomp-dev:mipsel \
- libselinux1-dev:mipsel \
- libslirp-dev:mipsel \
- libsnappy-dev:mipsel \
- libsndio-dev:mipsel \
- libspice-protocol-dev:mipsel \
- libspice-server-dev:mipsel \
- libssh-dev:mipsel \
- libstd-rust-dev:mipsel \
- libsystemd-dev:mipsel \
- libtasn1-6-dev:mipsel \
- libudev-dev:mipsel \
- liburing-dev:mipsel \
- libusb-1.0-0-dev:mipsel \
- libusbredirhost-dev:mipsel \
- libvdeplug-dev:mipsel \
- libvirglrenderer-dev:mipsel \
- libvte-2.91-dev:mipsel \
- libxdp-dev:mipsel \
- libzstd-dev:mipsel \
- nettle-dev:mipsel \
- systemtap-sdt-dev:mipsel \
- zlib1g-dev:mipsel && \
- eatmydata apt-get autoremove -y && \
- eatmydata apt-get autoclean -y && \
- mkdir -p /usr/local/share/meson/cross && \
- printf "[binaries]\n\
-c = '/usr/bin/mipsel-linux-gnu-gcc'\n\
-ar = '/usr/bin/mipsel-linux-gnu-gcc-ar'\n\
-strip = '/usr/bin/mipsel-linux-gnu-strip'\n\
-pkgconfig = '/usr/bin/mipsel-linux-gnu-pkg-config'\n\
-\n\
-[host_machine]\n\
-system = 'linux'\n\
-cpu_family = 'mips'\n\
-cpu = 'mipsel'\n\
-endian = 'little'\n" > /usr/local/share/meson/cross/mipsel-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/mipsel-linux-gnu-cc && \
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/mipsel-linux-gnu-gcc
-
-ENV ABI="mipsel-linux-gnu"
-ENV MESON_OPTS="--cross-file=mipsel-linux-gnu"
-ENV RUST_TARGET="mipsel-unknown-linux-gnu"
-ENV QEMU_CONFIGURE_OPTS=--cross-prefix=mipsel-linux-gnu-
-ENV DEF_TARGET_LIST=mipsel-softmmu,mipsel-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
-
-ENV ENABLE_RUST=1
trailer=cross_build("i686-linux-gnu-",
"i386-softmmu,i386-linux-user"))
- # mips no longer supported in debian-13
- # https://www.debian.org/releases/trixie/release-notes/issues.html#mips-architectures-removed
- generate_dockerfile("debian-mips64el-cross", "debian-12",
- cross="mips64el",
- trailer=cross_build("mips64el-linux-gnuabi64-",
- "mips64el-softmmu,mips64el-linux-user"))
-
- generate_dockerfile("debian-mipsel-cross", "debian-12",
- cross="mipsel",
- trailer=cross_build("mipsel-linux-gnu-",
- "mipsel-softmmu,mipsel-linux-user"))
-
generate_dockerfile("debian-ppc64el-cross", "debian-13",
cross="ppc64le",
trailer=cross_build("powerpc64le-linux-gnu-",