diff --git a/extra/cairo/PKGBUILD b/extra/cairo/PKGBUILD index 6c7f2685c..a650f61f7 100644 --- a/extra/cairo/PKGBUILD +++ b/extra/cairo/PKGBUILD @@ -7,7 +7,7 @@ pkgname=cairo pkgver=1.17.4 -pkgrel=1 +pkgrel=2 pkgdesc="2D graphics library with support for multiple output devices" url="https://cairographics.org/" arch=(x86_64) @@ -16,8 +16,10 @@ depends=(lzo zlib libpng fontconfig freetype2 libx11 libxext libxrender libxcb glib2 pixman) makedepends=(git meson) _commit=156cd3eaaebfd8635517c2baf61fcf3627ff7ec2 # tags/1.17.4^0 -source=("git+https://gitlab.freedesktop.org/cairo/cairo.git#commit=$_commit") -sha256sums=('SKIP') +source=("git+https://gitlab.freedesktop.org/cairo/cairo.git#commit=$_commit" + xlib-xcb.diff) +sha256sums=('SKIP' + '70cd3783381bf73ea7fccd5c2db43956b10865a9c54d5edd251dbcdb9b595a43') pkgver() { cd cairo @@ -26,6 +28,10 @@ pkgver() { prepare() { cd cairo + + # Disable XCB backend for Xlib surfaces + # https://bugs.archlinux.org/task/68839 + git apply -3 ../xlib-xcb.diff } build() { diff --git a/extra/cairo/xlib-xcb.diff b/extra/cairo/xlib-xcb.diff new file mode 100644 index 000000000..bfc1816a2 --- /dev/null +++ b/extra/cairo/xlib-xcb.diff @@ -0,0 +1,25 @@ +diff --git i/meson.build w/meson.build +index b159b4071..2a1c68891 100644 +--- i/meson.build ++++ w/meson.build +@@ -313,7 +313,7 @@ endif + + if feature_conf.get('CAIRO_HAS_XCB_SURFACE', 0) == 1 and feature_conf.get('CAIRO_HAS_XLIB_SURFACE', 0) == 1 + # FIXME: automagic +- x11xcb_dep = dependency('x11-xcb', required: false) ++ x11xcb_dep = dependency('x11-xcb', required: get_option('xlib-xcb')) + if x11xcb_dep.found() + deps += [x11xcb_dep] + feature_conf.set('CAIRO_HAS_XLIB_XCB_FUNCTIONS', 1) +diff --git i/meson_options.txt w/meson_options.txt +index ff11fe7ed..d1ae959e1 100644 +--- i/meson_options.txt ++++ w/meson_options.txt +@@ -17,6 +17,7 @@ option('qt', type : 'feature', value : 'disabled') + option('tee', type : 'feature', value : 'disabled') + option('xcb', type : 'feature', value : 'auto') + option('xlib', type : 'feature', value : 'auto') ++option('xlib-xcb', type : 'feature', value : 'disabled') + #option('xml', type : 'feature', value : 'disabled') + option('zlib', type : 'feature', value : 'auto') # script, ps, pdf, xml surfaces +