summaryrefslogtreecommitdiff
path: root/.gitlab-ci
diff options
context:
space:
mode:
authorIan Romanick <ian.d.romanick@intel.com>2021-03-17 10:38:44 -0700
committerIan Romanick <ian.d.romanick@intel.com>2021-04-02 14:29:06 -0700
commita6e79dde975cde3edfe9d1749d754f925fe921e3 (patch)
treed41b81a56962ec4c0fd9e3369dc1deef859df15e /.gitlab-ci
parent117484840ebcf0f637db11467139d97ea648248f (diff)
CI: Update libdrm beyond what is in Debian
This tries to be a little bit clever. Another commit will bump the required version to 2.4.98. If the installed version is already greater than 2.4.98, build-debian.sh will use the system version. One bummer... the libdrm version is in both build-debian.sh and debian-install.sh. It would be nice to have the version in a single place so that both files wouldn't need to be kept in lock-step. Alas. v2: Add missing '\' after unzip in debian-install.sh. Bump DEBIAN_TAG. Use curl instead of wget, and invoke it from debian-install.sh so that the results can be cached. All suggested by Jose. Fix a typo in the 'pkg-config --max-version' line in build-debian.sh. Acked-by: Jose Fonseca <jfonseca@vmware.com> Part-of: <https://gitlab.freedesktop.org/mesa/piglit/-/merge_requests/501>
Diffstat (limited to '.gitlab-ci')
-rwxr-xr-x.gitlab-ci/build-debian.sh43
-rwxr-xr-x.gitlab-ci/debian-install.sh5
2 files changed, 48 insertions, 0 deletions
diff --git a/.gitlab-ci/build-debian.sh b/.gitlab-ci/build-debian.sh
new file mode 100755
index 000000000..6dc3d98bc
--- /dev/null
+++ b/.gitlab-ci/build-debian.sh
@@ -0,0 +1,43 @@
+#!/bin/bash
+
+set -ex
+
+EXTRA_MESON_ARGS=
+
+# Build the minimum required version of libdrm if the system version is not
+# new enough.
+if pkg-config --max-version=2.4.98 libdrm; then
+ export LIBDRM_VERSION=libdrm-2.4.98
+
+ tar -xvf /tmp/$LIBDRM_VERSION.tar.bz2 && rm /tmp/$LIBDRM_VERSION.tar.bz2
+ cd $LIBDRM_VERSION
+ meson build -D vc4=false -D freedreno=false -D etnaviv=false $EXTRA_MESON_ARGS
+ ninja -C build install
+ cd ..
+ rm -rf $LIBDRM_VERSION
+
+ export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
+
+ LIBDRM_FLAGS="-D LIBDRM_CFLAGS=$(pkg-config --cflags libdrm | sed 's/ /;/g') \
+ -D LIBDRM_LDFLAGS=$(pkg-config --libs libdrm | sed 's/ /;/g') \
+ -D LIBDRM_FOUND=1 \
+ -D LIBDRM_INTEL_CFLAGS=$(pkg-config --cflags libdrm_intel | sed 's/ /;/g') \
+ -D LIBDRM_INTEL_LDFLAGS=$(pkg-config --libs libdrm_intel | sed 's/ /;/g') \
+ -D LIBDRM_INTEL_FOUND=1"
+else
+ LIBDRM_FLAGS=""
+fi
+
+cmake . \
+ -D CMAKE_BUILD_TYPE=Debug \
+ -D PIGLIT_BUILD_CL_TESTS=on \
+ -D PIGLIT_BUILD_DMA_BUF_TESTS=on \
+ -D PIGLIT_BUILD_GLES1_TESTS=on \
+ -D PIGLIT_BUILD_GLES2_TESTS=on \
+ -D PIGLIT_BUILD_GLX_TESTS=on \
+ -D PIGLIT_BUILD_GL_TESTS=on \
+ -D PIGLIT_BUILD_WGL_TESTS=off \
+ $LIBDRM_FLAGS \
+ -GNinja
+
+ninja -j4
diff --git a/.gitlab-ci/debian-install.sh b/.gitlab-ci/debian-install.sh
index ab1e36a91..e4a717703 100755
--- a/.gitlab-ci/debian-install.sh
+++ b/.gitlab-ci/debian-install.sh
@@ -21,6 +21,7 @@ apt-get dist-upgrade -y
apt-get install -y \
bison \
+ bzip2 \
ccache \
cmake \
curl \
@@ -35,11 +36,13 @@ apt-get install -y \
libdrm2 \
libegl1-mesa-dev \
libglvnd-dev \
+ libpciaccess-dev \
libvulkan-dev \
libwaffle-dev \
libwayland-dev \
libxkbcommon-dev \
libxrender-dev \
+ meson \
mingw-w64 \
ninja-build \
opencl-dev \
@@ -83,6 +86,8 @@ do
rm /tmp/waffle-$target.zip
done
+curl -s -L "https://dri.freedesktop.org/libdrm/libdrm-2.4.98.tar.bz2" -o /tmp/libdrm-2.4.98.tar.bz2
+
apt-get purge -y \
curl \
unzip