[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