From 5a1c36ce5a443e1bebe83a4cb825fcd7d585fe18 Mon Sep 17 00:00:00 2001 From: Daniel Stone Date: Thu, 25 Nov 2021 16:59:44 +0100 Subject: [PATCH] ci: Consistently build Wayland and protocols Rather than relying on distro packages, build libwayland and wayland-protocols from known versions everywhere we need it. The only place we do not do so but rely on distro packages is the LAVA rootfs, for which it does not matter right now since the version is sufficiently new, but this could/should be cleaned up later. Solved Conflicts: - .gitlab-ci.yml - .gitlab-ci/container/build-wayland.sh - .gitlab-ci/container/debian/x86_test-gl.sh Signed-off-by: Daniel Stone (cherry picked from commit a2fd507973db3c0675abc9f211f2f4ce09bfa447) Part-of: --- .gitlab-ci.yml | 4 ++-- .gitlab-ci/container/build-wayland.sh | 9 +++++++++ .gitlab-ci/container/debian/x86_build-base.sh | 1 - .gitlab-ci/container/debian/x86_test-gl.sh | 7 +++++-- .gitlab-ci/container/debian/x86_test-vk.sh | 6 +++++- .gitlab-ci/container/fedora/x86_build.sh | 3 --- 6 files changed, 21 insertions(+), 9 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a9347f88011..31f7c0c690c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -283,7 +283,7 @@ debian/x86_build-base: - .fdo.container-build@debian - .container variables: - MESA_IMAGE_TAG: &debian-x86_build-base "2022-11-16-ci-fairy" + MESA_IMAGE_TAG: &debian-x86_build-base "2022-11-22-wayland" .use-debian/x86_build-base: extends: @@ -409,7 +409,7 @@ fedora/x86_build: - .container variables: FDO_DISTRIBUTION_VERSION: 34 - MESA_IMAGE_TAG: &fedora-x86_build "2022-11-22-build-args" + MESA_IMAGE_TAG: &fedora-x86_build "2022-11-22-wayland" .use-fedora/x86_build: extends: diff --git a/.gitlab-ci/container/build-wayland.sh b/.gitlab-ci/container/build-wayland.sh index 8166f528bf6..893ee058fb0 100644 --- a/.gitlab-ci/container/build-wayland.sh +++ b/.gitlab-ci/container/build-wayland.sh @@ -3,6 +3,7 @@ set -ex export LIBWAYLAND_VERSION="1.18.0" +export WAYLAND_PROTOCOLS_VERSION="1.24" git clone https://gitlab.freedesktop.org/wayland/wayland cd wayland @@ -11,3 +12,11 @@ meson -Ddocumentation=false -Ddtd_validation=false -Dlibraries=true _build ninja -C _build install cd .. rm -rf wayland + +git clone https://gitlab.freedesktop.org/wayland/wayland-protocols +cd wayland-protocols +git checkout "$WAYLAND_PROTOCOLS_VERSION" +meson _build +ninja -C _build install +cd .. +rm -rf wayland-protocols diff --git a/.gitlab-ci/container/debian/x86_build-base.sh b/.gitlab-ci/container/debian/x86_build-base.sh index 8e4198c2db0..b2e057dbbd5 100644 --- a/.gitlab-ci/container/debian/x86_build-base.sh +++ b/.gitlab-ci/container/debian/x86_build-base.sh @@ -63,7 +63,6 @@ apt-get install -y --no-remove \ python3-requests \ qemu-user \ valgrind \ - wayland-protocols \ wget \ wine64 \ x11proto-dri2-dev \ diff --git a/.gitlab-ci/container/debian/x86_test-gl.sh b/.gitlab-ci/container/debian/x86_test-gl.sh index ce9bec8b91a..9ec80b7f7b3 100644 --- a/.gitlab-ci/container/debian/x86_test-gl.sh +++ b/.gitlab-ci/container/debian/x86_test-gl.sh @@ -22,6 +22,7 @@ STABLE_EPHEMERAL=" \ libcap-dev \ libclang-cpp11-dev \ libelf-dev \ + libexpat1-dev \ libfdt-dev \ libgbm-dev \ libgles2-mesa-dev \ @@ -31,7 +32,6 @@ STABLE_EPHEMERAL=" \ libudev-dev \ libvulkan-dev \ libwaffle-dev \ - libwayland-dev \ libx11-xcb-dev \ libxcb-dri2-0-dev \ libxext-dev \ @@ -45,7 +45,6 @@ STABLE_EPHEMERAL=" \ patch \ pkg-config \ python3-distutils \ - wayland-protocols \ wget \ xz-utils \ " @@ -86,6 +85,10 @@ mkdir -p /lava-files/ . .gitlab-ci/container/build-libdrm.sh +############### Build Wayland + +. .gitlab-ci/container/build-wayland.sh + ############### Build libclc . .gitlab-ci/container/build-libclc.sh diff --git a/.gitlab-ci/container/debian/x86_test-vk.sh b/.gitlab-ci/container/debian/x86_test-vk.sh index b10d61162d6..67389861d65 100644 --- a/.gitlab-ci/container/debian/x86_test-vk.sh +++ b/.gitlab-ci/container/debian/x86_test-vk.sh @@ -13,6 +13,7 @@ STABLE_EPHEMERAL=" \ g++-mingw-w64-i686-posix \ g++-mingw-w64-x86-64-posix \ glslang-tools \ + libexpat1-dev \ libgbm-dev \ libgles2-mesa-dev \ liblz4-dev \ @@ -20,7 +21,6 @@ STABLE_EPHEMERAL=" \ libudev-dev \ libvulkan-dev \ libwaffle-dev \ - libwayland-dev \ libx11-xcb-dev \ libxcb-ewmh-dev \ libxcb-keysyms1-dev \ @@ -124,6 +124,10 @@ wine \ . .gitlab-ci/container/build-libdrm.sh +############### Build Wayland + +. .gitlab-ci/container/build-wayland.sh + ############### Build parallel-deqp-runner's hang-detection tool . .gitlab-ci/container/build-hang-detection.sh diff --git a/.gitlab-ci/container/fedora/x86_build.sh b/.gitlab-ci/container/fedora/x86_build.sh index 6231cf69b11..b67ab331126 100644 --- a/.gitlab-ci/container/fedora/x86_build.sh +++ b/.gitlab-ci/container/fedora/x86_build.sh @@ -40,9 +40,6 @@ dnf install -y --setopt=install_weak_deps=False \ "pkgconfig(pciaccess)" \ "pkgconfig(vdpau)" \ "pkgconfig(vulkan)" \ - "pkgconfig(wayland-egl-backend)" \ - "pkgconfig(wayland-protocols)" \ - "pkgconfig(wayland-scanner)" \ "pkgconfig(x11)" \ "pkgconfig(x11-xcb)" \ "pkgconfig(xcb)" \