From 4dee67e8fbae0a1efee9f840f3852dcda1986207 Mon Sep 17 00:00:00 2001 From: Benjamin Gilbert Date: Sun, 15 Mar 2026 19:24:31 -0700 Subject: [PATCH] builder: bump API versions for Meson 1.10.2 1.10.2 correctly extracts libffi's license field, so 4.0.0.10+ builds will fail on libffi's spdx_override. Bump API versions for the new Meson so we can drop the override. Gentoo doesn't have 1.10.2 yet, so temporarily install it from PyPI. While we're here, drop nasm on aarch64. It's properly only needed on x86_64, but Meson before 1.10.2 wouldn't extract the libjpeg-turbo license without it. Signed-off-by: Benjamin Gilbert --- builder/linux/Dockerfile | 5 +++-- builder/windows/Dockerfile | 9 ++++++--- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/builder/linux/Dockerfile b/builder/linux/Dockerfile index 65aeb9e..53d95b7 100644 --- a/builder/linux/Dockerfile +++ b/builder/linux/Dockerfile @@ -3,11 +3,12 @@ FROM quay.io/almalinuxorg/almalinux:8 # NOTE: try to keep the current container image compatible with the latest # stable source release, so people can conveniently build from the source # tarball -RUN touch /etc/openslide-linux-builder-v7 +RUN touch /etc/openslide-linux-builder-v8 RUN dnf -y upgrade && \ dnf -y install 'dnf-command(config-manager)' epel-release && \ dnf config-manager --set-enabled powertools && \ - dnf -y install gcc-c++ git-core nasm ninja-build patchelf \ + dnf -y install gcc-c++ git-core ninja-build patchelf \ python3.12-pip zstd && \ + if [ $(uname -m) = x86_64 ]; then dnf -y install nasm; fi && \ dnf clean all RUN pip3 install auditwheel license-expression meson diff --git a/builder/windows/Dockerfile b/builder/windows/Dockerfile index 01c8868..e9051a2 100644 --- a/builder/windows/Dockerfile +++ b/builder/windows/Dockerfile @@ -2,7 +2,7 @@ FROM docker.io/gentoo/stage3:latest # NOTE: try to keep the current container image compatible with the latest # stable source release, so people can conveniently build from the source # tarball -RUN touch /etc/openslide-winbuild-builder-v8 +RUN touch /etc/openslide-winbuild-builder-v9 RUN echo 'FEATURES="-sandbox -usersandbox -ipc-sandbox -network-sandbox -pid-sandbox"' >> /etc/portage/make.conf COPY package.accept_keywords /etc/portage/package.accept_keywords/openslide COPY package.use /etc/portage/package.use/openslide @@ -12,8 +12,11 @@ COPY --from=docker.io/gentoo/portage:latest /var/db/repos/gentoo /var/db/repos/g RUN emerge -u dev-build/meson && \ rm -f /var/cache/distfiles/* RUN emerge app-portage/gentoolkit dev-lang/nasm dev-libs/glib \ - dev-python/license-expression dev-util/glib-utils dev-vcs/git \ - sys-devel/crossdev && \ + dev-python/license-expression dev-python/pip dev-util/glib-utils \ + dev-vcs/git sys-devel/crossdev && \ rm /var/cache/distfiles/* +# Pending 1.10.2 in Gentoo +RUN pip install --break-system-packages --root-user-action ignore --upgrade \ + --ignore-installed meson RUN crossdev -t x86_64-w64-mingw32 && \ rm /var/cache/distfiles/*