Date: Saturday, January 16, 2021 @ 22:55:50 Author: heftig Revision: 821241
0.4.21+66+g14f5428-3 Added: caribou/trunk/3.patch Modified: caribou/trunk/PKGBUILD ----------+ 3.patch | 46 ++++++++++++++++++++++++++++++++++++++++++++++ PKGBUILD | 28 +++++++++++++++++----------- 2 files changed, 63 insertions(+), 11 deletions(-) Added: 3.patch =================================================================== --- 3.patch (rev 0) +++ 3.patch 2021-01-16 22:55:50 UTC (rev 821241) @@ -0,0 +1,46 @@ +From d41c8e44b12222a290eaca16703406b113a630c6 Mon Sep 17 00:00:00 2001 +From: Michael Webster <miketwebs...@gmail.com> +Date: Tue, 12 Jan 2021 18:01:47 +0000 +Subject: [PATCH] xadapter.vala: Remove XkbKeyTypesMask and fields from + XKbChangeMap call. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This was originally a workaround for xFree86 4.3 - see: +https://bugzilla.gnome.org/show_bug.cgi?id=673547 + +As of https://gitlab.freedesktop.org/xorg/xserver/-/commit/87c64fc5b0 this +causes a BadLength error when attempting to use shifted characters. + +Ref: +https://www.x.org/releases/X11R7.7/doc/libX11/XKB/xkblib.html#Changing_Map_Components_in_the_Server +--- + libcaribou/xadapter.vala | 9 ++------- + 1 file changed, 2 insertions(+), 7 deletions(-) + +diff --git a/libcaribou/xadapter.vala b/libcaribou/xadapter.vala +index 22858b7..1da5a78 100644 +--- a/libcaribou/xadapter.vala ++++ b/libcaribou/xadapter.vala +@@ -195,15 +195,10 @@ namespace Caribou { + + Xkb.MapChanges changes = Xkb.MapChanges (); + +- // We don't touch key types here but include the +- // information in XkbSetMap request to the server, because +- // some X servers need the information to check the sanity +- // of the keysyms change. +- changes.changed = (ushort) (Xkb.KeySymsMask | Xkb.KeyTypesMask); ++ changes.changed = (ushort) Xkb.KeySymsMask; + changes.first_key_sym = (char) this.reserved_keycode; + changes.num_key_syms = this.xkbdesc.map.key_sym_map[this.reserved_keycode].width; +- changes.first_type = 0; +- changes.num_types = this.xkbdesc.map.num_types; ++ + Xkb.change_map (this.xdisplay, this.xkbdesc, changes); + + this.xdisplay.flush (); +-- +GitLab + Modified: PKGBUILD =================================================================== --- PKGBUILD 2021-01-16 22:53:49 UTC (rev 821240) +++ PKGBUILD 2021-01-16 22:55:50 UTC (rev 821241) @@ -1,12 +1,13 @@ -# Maintainer : Ionut Biru <ib...@archlinux.org> +# Contributor: Jan Alexander Steffens (heftig) <hef...@archlinux.org> +# Contributor: Ionut Biru <ib...@archlinux.org> # Contributor: Adam Hani Schakaki <k...@krzd.net> pkgname=caribou pkgver=0.4.21+66+g14f5428 -pkgrel=2 +pkgrel=3 pkgdesc="A text entry and UI navigation application (on-screen keyboard)" -arch=('x86_64') -url="http://live.gnome.org/Caribou" +url="https://wiki.gnome.org/Projects/Caribou" +arch=(x86_64) license=(LGPL) depends=(at-spi2-atk python-atspi python-gobject gtk3 libxklavier libgee clutter dconf) makedepends=(intltool docbook-xsl gtk2 gobject-introspection vala git gnome-common) @@ -13,8 +14,10 @@ options=(!emptydirs) _commit=14f54287535ea3b5914638843710a8cef7b68e68 # master source=("git+https://gitlab.gnome.org/GNOME/caribou.git#commit=$_commit" + 3.patch unicode_to_keyval-symbol-check.patch) sha256sums=('SKIP' + 'c88b04a927e5a407503c007a78dafa7dcb71cf2002bbb3751d57cc21d090a2ed' '7b8969c275df30613531728408d75af1af22199b4fe3835d5ef67355f747799e') pkgver() { @@ -25,8 +28,12 @@ prepare() { cd $pkgname + # https://bugs.archlinux.org/task/69338 + # https://gitlab.gnome.org/GNOME/caribou/-/merge_requests/3 + git apply -3 ../3.patch + # https://gitlab.gnome.org/GNOME/caribou/-/issues/7 - patch -Np1 -i ../unicode_to_keyval-symbol-check.patch + git apply -3 ../unicode_to_keyval-symbol-check.patch NOCONFIGURE=1 ./autogen.sh } @@ -33,15 +40,14 @@ build() { cd $pkgname - - ./configure --prefix=/usr --sysconfdir=/etc \ - --libexecdir=/usr/lib/$pkgname \ + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --libexecdir=/usr/lib \ --disable-static \ --disable-schemas-compile - - # https://bugzilla.gnome.org/show_bug.cgi?id=655517 sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool - make }