diff --git a/.github/scripts/ubuntu/run-xserver-build-and-test.sh b/.github/scripts/ubuntu/run-xserver-build-and-test.sh index 1b1b5cd7a6..667642980a 100755 --- a/.github/scripts/ubuntu/run-xserver-build-and-test.sh +++ b/.github/scripts/ubuntu/run-xserver-build-and-test.sh @@ -18,9 +18,14 @@ echo "=== MESON_BUILDDIR=$MESON_BUILDDIR" export XTEST_DIR="$X11_BUILD_DIR/xts" export PIGLIT_DIR="$X11_BUILD_DIR/piglit" -.github/scripts/install-prereq.sh +go install github.com/metux/mpbt/cmd/mpbt-builder@v0.1.2 -.github/scripts/meson-build.sh +~/go/bin/mpbt-builder \ + -root . \ + -solution .mpbt/cf/xlibre/solutions/github-ubuntu-xserver.yaml \ + build + +( cd $X11_BUILD_DIR/xts && xvfb-run make tetexec.cfg ) echo '[xts]' > $X11_BUILD_DIR/piglit/piglit.conf echo "path=$X11_BUILD_DIR/xts" >> $X11_BUILD_DIR/piglit/piglit.conf diff --git a/.github/workflows/build-xserver.yml b/.github/workflows/build-xserver.yml index e8b063cc29..41e82b7c30 100644 --- a/.github/workflows/build-xserver.yml +++ b/.github/workflows/build-xserver.yml @@ -48,7 +48,7 @@ jobs: ${{ env.X11_PREFIX }} ${{ env.X11_BUILD_DIR }}/xts ${{ env.X11_BUILD_DIR }}/piglit - key: ${{ runner.name }}-x11-deps-${{ hashFiles('.github/scripts/install-prereq.sh') }} + key: ${{ runner.name }}-x11-deps-mpbt restore-keys: ${{ runner.name }}-x11-deps- - name: build and test diff --git a/.mpbt/cf/xlibre/packages/3rdparty/piglit.yaml b/.mpbt/cf/xlibre/packages/3rdparty/piglit.yaml new file mode 100644 index 0000000000..0938c28d2b --- /dev/null +++ b/.mpbt/cf/xlibre/packages/3rdparty/piglit.yaml @@ -0,0 +1,10 @@ +provides: x11/piglit +type: bundle +sources: + git: + url: ${@SOLUTION::xlibre_git}/mirror.fdo.piglit + ref: ${ref} + fetch: + - refs/heads/*:refs/remotes/origin/* +buildsystem: none +ref: 28d1349844eacda869f0f82f551bcd4ac0c4edfe diff --git a/.mpbt/cf/xlibre/packages/3rdparty/xts.yaml b/.mpbt/cf/xlibre/packages/3rdparty/xts.yaml new file mode 100644 index 0000000000..3ddcb8809b --- /dev/null +++ b/.mpbt/cf/xlibre/packages/3rdparty/xts.yaml @@ -0,0 +1,11 @@ +provides: x11/xts +type: bundle +sources: + git: + url: ${@SOLUTION::xlibre_git}/mirror.fdo.xts + ref: ${ref} + depth: 100 + fetch: + - refs/heads/*:refs/remotes/origin/* +buildsystem: autotools +ref: aae51229af810efba24412511f60602fab53eded diff --git a/.mpbt/cf/xlibre/solutions/github-ubuntu-xserver.yaml b/.mpbt/cf/xlibre/solutions/github-ubuntu-xserver.yaml new file mode 100644 index 0000000000..7700f55dc8 --- /dev/null +++ b/.mpbt/cf/xlibre/solutions/github-ubuntu-xserver.yaml @@ -0,0 +1,46 @@ +# needed by several sources +xlibre_git: https://github.com/X11Libre + +install-prefix: ${@PROJECT::@homedir}/.usr/xlibre + +# tell which actual packages for resolving `provides` +package-mapping: + x11/font-util: os-installed/font-util + sys/libdrm: 3rdparty/libdrm + x11/libxcb: os-installed/libxcb + x11/libxcb-util: os-installed/libxcb-util + x11/libxcb-wm: os-installed/libxcb-wm + x11/libxcvt: os-installed/libxcvt + x11/libx11: os-installed/libx11 + x11/util-macros: 3rdparty/util-macros + x11/xcb-proto: 3rdparty/xcb-proto + x11/xorgproto: 3rdparty/xorgproto + +package-config: + xserver/xlibre-xserver-local: + meson-extra-args: + - -Dxephyr=true + - -Dxnest=true + - -Dxvfb=true + - -Dxfbdev=true + - -Dxorg=true + - -Dxorg-sdk=true + - -Dsuid_wrapper=true + - -Dxf86-input-inputtest=true + - -Dtest_xephyr_gles=false + + 3rdparty/xcb-proto: + ref: xcb-proto-1.17.0 + +build: + - 3rdparty/piglit + - 3rdparty/xts + - xserver/xlibre-xserver-local + +env: + PKG_CONFIG_PATH: ${install-prefix}/share/pkgconfig:${install-prefix}/lib/pkgconfig:${install-prefix}/lib/${@PROJECT::@machine}/pkgconfig/ + ACLOCAL_PATH: ${install-prefix}/share/aclocal + ACLOCAL_FLAGS: -I ${install-prefix}/share/aclocal + +packages: + - ${@PROJECT::@rootdir}/.mpbt/cf/xlibre/packages