[arch-commits] Commit in libxkbcommon/repos/extra-x86_64 (3 files)
Jan Steffens
heftig at archlinux.org
Wed Apr 7 08:40:27 UTC 2021
Date: Wednesday, April 7, 2021 @ 08:40:27
Author: heftig
Revision: 411681
archrelease: copy trunk to extra-x86_64
Added:
libxkbcommon/repos/extra-x86_64/0001-x11-fix-xkb_x11_keymap_new_from_device-failing-when-.patch
(from rev 411680, libxkbcommon/trunk/0001-x11-fix-xkb_x11_keymap_new_from_device-failing-when-.patch)
libxkbcommon/repos/extra-x86_64/PKGBUILD
(from rev 411680, libxkbcommon/trunk/PKGBUILD)
Deleted:
libxkbcommon/repos/extra-x86_64/PKGBUILD
-----------------------------------------------------------------+
0001-x11-fix-xkb_x11_keymap_new_from_device-failing-when-.patch | 45 ++
PKGBUILD | 165 +++++-----
2 files changed, 130 insertions(+), 80 deletions(-)
Copied: libxkbcommon/repos/extra-x86_64/0001-x11-fix-xkb_x11_keymap_new_from_device-failing-when-.patch (from rev 411680, libxkbcommon/trunk/0001-x11-fix-xkb_x11_keymap_new_from_device-failing-when-.patch)
===================================================================
--- 0001-x11-fix-xkb_x11_keymap_new_from_device-failing-when-.patch (rev 0)
+++ 0001-x11-fix-xkb_x11_keymap_new_from_device-failing-when-.patch 2021-04-07 08:40:27 UTC (rev 411681)
@@ -0,0 +1,45 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Ran Benita <ran at unusedvar.com>
+Date: Wed, 7 Apr 2021 10:47:15 +0300
+Subject: [PATCH] x11: fix xkb_x11_keymap_new_from_device failing when a level
+ name is empty
+
+The numpad:mac option doesn't specify a name for the first level:
+
+ // On Mac keypads, level 1 and 2 are swapped.
+ partial xkb_types "mac" {
+ type "KEYPAD" {
+ modifiers = None;
+ map[None] = Level2;
+ level_name[Level2] = "Number";
+ };
+ include "extra(keypad)"
+ };
+
+This means the atom for level name is XCB_ATOM_NONE. We tried to get its
+name, which fails. This regressed in 40c00b472144d1684d2fb97cafef39.
+
+Instead, translate it to XKB_ATOM_NONE, same as the previous behavior.
+
+Fixes: https://github.com/xkbcommon/libxkbcommon/issues/229
+Signed-off-by: Ran Benita <ran at unusedvar.com>
+---
+ src/x11/util.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/src/x11/util.c b/src/x11/util.c
+index c4609e4..2ea92a2 100644
+--- a/src/x11/util.c
++++ b/src/x11/util.c
+@@ -169,7 +169,10 @@ void
+ x11_atom_interner_adopt_atom(struct x11_atom_interner *interner,
+ const xcb_atom_t atom, xkb_atom_t *out)
+ {
+- *out = 0;
++ *out = XKB_ATOM_NONE;
++
++ if (atom == XCB_ATOM_NONE)
++ return;
+
+ /* Can be NULL in case the malloc failed. */
+ struct x11_atom_cache *cache = get_cache(interner->ctx, interner->conn);
Deleted: PKGBUILD
===================================================================
--- PKGBUILD 2021-04-07 08:40:18 UTC (rev 411680)
+++ PKGBUILD 2021-04-07 08:40:27 UTC (rev 411681)
@@ -1,80 +0,0 @@
-# Maintainer: Jan Alexander Steffens (heftig) <heftig at archlinux.org>
-# Contributor: Daniel Micay <danielmicay at gmail.com>
-# Contributor: Mladen Pejakovic <pejakm at gmail.com>
-
-pkgbase=libxkbcommon
-pkgname=(libxkbcommon libxkbcommon-doc libxkbcommon-x11)
-pkgver=1.2.0
-pkgrel=1
-pkgdesc="Keymap handling library for toolkits and window systems"
-url="https://xkbcommon.org/"
-arch=(x86_64)
-license=(custom)
-makedepends=(xkeyboard-config libxml2 libxcb wayland wayland-protocols doxygen
- git meson xorgproto)
-checkdepends=(xorg-server-xvfb libgl)
-_commit=086353b380de05eb20519c5071354015670baad2 # tags/xkbcommon-1.2.0^0
-source=("git+https://github.com/xkbcommon/libxkbcommon#commit=$_commit")
-sha256sums=('SKIP')
-
-pkgver() {
- cd $pkgbase
- git describe --tags | sed 's/^xkbcommon-//;s/-/+/g'
-}
-
-prepare() {
- cd $pkgbase
-}
-
-build() {
- arch-meson $pkgbase build
- meson compile -C build
-}
-
-check() {
- xvfb-run -s '-nolisten local' meson test -C build --print-errorlogs
-}
-
-_pick() {
- local p="$1" f d; shift
- for f; do
- d="$srcdir/$p/${f#$pkgdir/}"
- mkdir -p "$(dirname "$d")"
- mv "$f" "$d"
- rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")"
- done
-}
-
-package_libxkbcommon() {
- depends=(xkeyboard-config libxml2)
- optdepends=('libxkbcommon-x11: xkbcli interactive-x11'
- 'wayland: xkbcli interactive-wayland')
- provides=(libxkbcommon.so libxkbregistry.so)
-
- DESTDIR="$pkgdir" meson install -C build
- install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 $pkgbase/LICENSE
-
- _pick libxkbcommon-doc "$pkgdir"/usr/share/doc
-
- _pick libxkbcommon-x11 "$pkgdir"/usr/lib/*x11*
- _pick libxkbcommon-x11 "$pkgdir"/usr/lib/pkgconfig/*x11*
- _pick libxkbcommon-x11 "$pkgdir"/usr/lib/xkbcommon/*x11*
- _pick libxkbcommon-x11 "$pkgdir"/usr/include/xkbcommon/*x11*
- _pick libxkbcommon-x11 "$pkgdir"/usr/share/man/man1/*x11*
-}
-
-package_libxkbcommon-doc() {
- pkgdesc="API documentation for libxkbcommon"
-
- mv libxkbcommon-doc/* "$pkgdir"
- install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 $pkgbase/LICENSE
-}
-
-package_libxkbcommon-x11() {
- pkgdesc="Keyboard handling library using XKB data for X11 XCB clients"
- depends=(libxkbcommon libxkbcommon.so libxcb)
- provides=(libxkbcommon-x11.so)
-
- mv libxkbcommon-x11/* "$pkgdir"
- install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 $pkgbase/LICENSE
-}
Copied: libxkbcommon/repos/extra-x86_64/PKGBUILD (from rev 411680, libxkbcommon/trunk/PKGBUILD)
===================================================================
--- PKGBUILD (rev 0)
+++ PKGBUILD 2021-04-07 08:40:27 UTC (rev 411681)
@@ -0,0 +1,85 @@
+# Maintainer: Jan Alexander Steffens (heftig) <heftig at archlinux.org>
+# Contributor: Daniel Micay <danielmicay at gmail.com>
+# Contributor: Mladen Pejakovic <pejakm at gmail.com>
+
+pkgbase=libxkbcommon
+pkgname=(libxkbcommon libxkbcommon-doc libxkbcommon-x11)
+pkgver=1.2.0
+pkgrel=2
+pkgdesc="Keymap handling library for toolkits and window systems"
+url="https://xkbcommon.org/"
+arch=(x86_64)
+license=(custom)
+makedepends=(xkeyboard-config libxml2 libxcb wayland wayland-protocols doxygen
+ git meson xorgproto)
+checkdepends=(xorg-server-xvfb libgl)
+_commit=086353b380de05eb20519c5071354015670baad2 # tags/xkbcommon-1.2.0^0
+source=("git+https://github.com/xkbcommon/libxkbcommon#commit=$_commit"
+ 0001-x11-fix-xkb_x11_keymap_new_from_device-failing-when-.patch)
+sha256sums=('SKIP'
+ '86e90d6150708d38a88ff7c3e25afca831170de676cbb26f08634d1996431b0a')
+
+pkgver() {
+ cd $pkgbase
+ git describe --tags | sed 's/^xkbcommon-//;s/-/+/g'
+}
+
+prepare() {
+ cd $pkgbase
+
+ # https://bugs.archlinux.org/task/70293
+ git apply -3 ../0001-x11-fix-xkb_x11_keymap_new_from_device-failing-when-.patch
+}
+
+build() {
+ arch-meson $pkgbase build
+ meson compile -C build
+}
+
+check() {
+ xvfb-run -s '-nolisten local' meson test -C build --print-errorlogs
+}
+
+_pick() {
+ local p="$1" f d; shift
+ for f; do
+ d="$srcdir/$p/${f#$pkgdir/}"
+ mkdir -p "$(dirname "$d")"
+ mv "$f" "$d"
+ rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")"
+ done
+}
+
+package_libxkbcommon() {
+ depends=(xkeyboard-config libxml2)
+ optdepends=('libxkbcommon-x11: xkbcli interactive-x11'
+ 'wayland: xkbcli interactive-wayland')
+ provides=(libxkbcommon.so libxkbregistry.so)
+
+ DESTDIR="$pkgdir" meson install -C build
+ install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 $pkgbase/LICENSE
+
+ _pick libxkbcommon-doc "$pkgdir"/usr/share/doc
+
+ _pick libxkbcommon-x11 "$pkgdir"/usr/lib/*x11*
+ _pick libxkbcommon-x11 "$pkgdir"/usr/lib/pkgconfig/*x11*
+ _pick libxkbcommon-x11 "$pkgdir"/usr/lib/xkbcommon/*x11*
+ _pick libxkbcommon-x11 "$pkgdir"/usr/include/xkbcommon/*x11*
+ _pick libxkbcommon-x11 "$pkgdir"/usr/share/man/man1/*x11*
+}
+
+package_libxkbcommon-doc() {
+ pkgdesc="API documentation for libxkbcommon"
+
+ mv libxkbcommon-doc/* "$pkgdir"
+ install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 $pkgbase/LICENSE
+}
+
+package_libxkbcommon-x11() {
+ pkgdesc="Keyboard handling library using XKB data for X11 XCB clients"
+ depends=(libxkbcommon libxkbcommon.so libxcb)
+ provides=(libxkbcommon-x11.so)
+
+ mv libxkbcommon-x11/* "$pkgdir"
+ install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 $pkgbase/LICENSE
+}
More information about the arch-commits
mailing list