summaryrefslogtreecommitdiff
path: root/x11
diff options
context:
space:
mode:
authortriaxx <triaxx@pkgsrc.org>2018-01-21 10:12:39 +0000
committertriaxx <triaxx@pkgsrc.org>2018-01-21 10:12:39 +0000
commitcbad8c4a3bfa4e6cbc8c6d755d37f7d41c553a2b (patch)
tree37c1f337de5cc394147b8e1322ac5e3764b265d8 /x11
parentdb477c7c244e634415aa4455dda9cd210409f9fe (diff)
downloadpkgsrc-cbad8c4a3bfa4e6cbc8c6d755d37f7d41c553a2b.tar.gz
xf86-input-keyboard: disable code that queries console keymap.
From FreeBSD 11, vt(4) is the default console driver and handles Unicode codepoints. The disabled code caused a segmentation fault with these codepoinst and seems to be useless for vt(4). From FreeBSD PR 191459.
Diffstat (limited to 'x11')
-rw-r--r--x11/xf86-input-keyboard/distinfo3
-rw-r--r--x11/xf86-input-keyboard/patches/patch-src_bsd__KbdMap.c40
2 files changed, 42 insertions, 1 deletions
diff --git a/x11/xf86-input-keyboard/distinfo b/x11/xf86-input-keyboard/distinfo
index 176670fd812..f46e54da276 100644
--- a/x11/xf86-input-keyboard/distinfo
+++ b/x11/xf86-input-keyboard/distinfo
@@ -1,7 +1,8 @@
-$NetBSD: distinfo,v 1.14 2016/11/17 08:05:55 wiz Exp $
+$NetBSD: distinfo,v 1.15 2018/01/21 10:12:39 triaxx Exp $
SHA1 (xf86-input-keyboard-1.9.0.tar.bz2) = 24b5d84d221a75650f390ff63315912bf9a94992
RMD160 (xf86-input-keyboard-1.9.0.tar.bz2) = 1b6d2d6fc538f7d57a0b452173184248e22d87d0
SHA512 (xf86-input-keyboard-1.9.0.tar.bz2) = d1a52d10039096d0d5e09750b6a8c2388345748331615af93e5be499646c3bc5fbbfc897fcebdeada5efaafff94f26a2ab84d6e35f01a875b8b9956a42015df9
Size (xf86-input-keyboard-1.9.0.tar.bz2) = 341693 bytes
+SHA1 (patch-src_bsd__KbdMap.c) = d92330a90aaf94cf2b8d789ca796b5cb39f7fea6
SHA1 (patch-src_sun__kbd.c) = 21da7cb7110ae8b08f9245de1d1678965ba7a0c8
diff --git a/x11/xf86-input-keyboard/patches/patch-src_bsd__KbdMap.c b/x11/xf86-input-keyboard/patches/patch-src_bsd__KbdMap.c
new file mode 100644
index 00000000000..2158d6f54f9
--- /dev/null
+++ b/x11/xf86-input-keyboard/patches/patch-src_bsd__KbdMap.c
@@ -0,0 +1,40 @@
+$NetBSD: patch-src_bsd__KbdMap.c,v 1.1 2018/01/21 10:12:39 triaxx Exp $
+
+PR191459: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=191459
+Fix a segmentation fault due to the use of Unicode codepoints in vt(4) which is
+the default console driver from FreeBSD 11.
+
+--- src/bsd_KbdMap.c.orig 2015-08-07 03:16:08.000000000 +0000
++++ src/bsd_KbdMap.c
+@@ -28,6 +28,7 @@
+ #include "bsd_kbd.h"
+
+ #if (defined(SYSCONS_SUPPORT) || defined(PCVT_SUPPORT)) && defined(GIO_KEYMAP)
++#if !(defined(__FreeBSD__) && __FreeBSD__ >= 11)
+ #define KD_GET_ENTRY(i,n) \
+ eascii_to_x[((keymap.key[i].spcl << (n+1)) & 0x100) + keymap.key[i].map[n]]
+
+@@ -188,6 +189,7 @@ static KeySym eascii_to_x[512] = {
+ NoSymbol, NoSymbol, NoSymbol, NoSymbol,
+ NoSymbol, NoSymbol, NoSymbol, NoSymbol
+ };
++#endif /* !(defined(__FreeBSD__) && __FreeBSD__ >= 11) */
+
+ #ifdef SYSCONS_SUPPORT
+ static
+@@ -1261,6 +1263,7 @@ KbdGetMapping (InputInfoPtr pInfo, KeySy
+ KeySym *k;
+ int i;
+
++#if !(defined(__FreeBSD__) && __FreeBSD__ >= 11)
+ #ifndef __bsdi__
+ switch (pKbd->consType) {
+
+@@ -1294,6 +1297,7 @@ KbdGetMapping (InputInfoPtr pInfo, KeySy
+
+ }
+ #endif /* !bsdi */
++#endif /* !(defined(__FreeBSD__) && __FreeBSD__ >= 11) */
+
+ /*
+ * compute the modifier map