[mutter] ci: Install Xwayland from git



commit e558d6acb9845ba63f3c4809afa8dece02cc9e39
Author: Jonas Ã…dahl <jadahl gmail com>
Date:   Thu Jan 21 19:14:23 2021 +0100

    ci: Install Xwayland from git
    
    This gives us -initfd, thus Xwayland on demand in the CI.
    
    Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1681>

 .gitlab-ci.yml                      | 25 ++++++++++++++++++++++---
 .gitlab-ci/install-meson-project.sh | 11 +++++++++--
 2 files changed, 31 insertions(+), 5 deletions(-)
---
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 58518fb2c7..94b9a48cc2 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -12,7 +12,7 @@ stages:
 .mutter.fedora:33@common:
   variables:
     FDO_DISTRIBUTION_VERSION: 33
-    BASE_TAG: '2021-01-14.0'
+    BASE_TAG: '2021-01-22.0'
     FDO_UPSTREAM_REPO: GNOME/mutter
     FDO_DISTRIBUTION_EXEC: |
       dnf install -y 'dnf-command(builddep)' &&
@@ -20,16 +20,20 @@ stages:
 
       # For running unit tests
       dnf install -y xorg-x11-server-Xvfb mesa-dri-drivers dbus dbus-x11 \
-                     xorg-x11-server-Xvfb 'pkgconfig(accountsservice)' \
+                     'pkgconfig(accountsservice)' \
                      gnome-control-center gcovr libnma python3-gobject \
                      python3-dbusmock &&
 
       # GNOME Shell
       dnf builddep -y gnome-shell --setopt=install_weak_deps=False &&
-      dnf install -y 'pkgconfig(gtk4)' 'pkgconfig(vulkan)' &&
+      dnf install -y 'pkgconfig(gtk4)' 'pkgconfig(vulkan)' 'pkgconfig(libtirpc)' &&
       dnf remove -y gnome-bluetooth-libs-devel &&
       dnf remove -y --noautoremove mutter mutter-devel &&
 
+      # For Xwayland/Xvfb
+      dnf builddep -y xorg-x11-server-Xwayland --setopt=install_weak_deps=False &&
+      dnf remove -y --noautoremove 'xorg-x11-server-Xwayland' &&
+
       ./.gitlab-ci/install-meson-project.sh \
           -Dlibaudit=disabled \
           -Dplymouth=disabled \
@@ -42,6 +46,21 @@ stages:
           https://gitlab.gnome.org/GNOME/gsettings-desktop-schemas.git \
           40.alpha . &&
 
+      ./.gitlab-ci/install-meson-project.sh \
+          -Dxwayland=true \
+          -Dxwayland_eglstream=true \
+          -D{xorg,xnest,xvfb}=false \
+          -Dvendor_name="Mutter CI" \
+          -D{xdmcp,udev,udev_kms}=false \
+          -Dxcsecurity=true \
+          -Dglamor=true \
+          -D{dri1,dri2}=false \
+          -Ddri3=true \
+          https://gitlab.freedesktop.org/xorg/xserver.git \
+          master \
+          . \
+          a9269808f394955f213e34303c2c14fd61c35ab5 &&
+
       dnf clean all
 
 default:
diff --git a/.gitlab-ci/install-meson-project.sh b/.gitlab-ci/install-meson-project.sh
index 7cbb662799..575410b134 100755
--- a/.gitlab-ci/install-meson-project.sh
+++ b/.gitlab-ci/install-meson-project.sh
@@ -17,14 +17,21 @@ while [[ $1 =~ ^-D ]]; do
 done
 
 REPO_URL="$1"
-COMMIT="$2"
+TAG_OR_BRANCH="$2"
 SUBDIR="$3"
+COMMIT="$4"
 
 REPO_DIR="$(basename ${REPO_URL%.git})"
 
-git clone --depth 1 "$REPO_URL" -b "$COMMIT"
+git clone --depth 1 "$REPO_URL" -b "$TAG_OR_BRANCH"
 pushd "$REPO_DIR"
 pushd "$SUBDIR"
+
+if [ ! -z "$COMMIT" ]; then
+  git fetch origin "$COMMIT"
+  git checkout "$COMMIT"
+fi
+
 meson --prefix=/usr _build "${MESON_OPTIONS[@]}"
 ninja -C _build install
 popd


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]