summaryrefslogtreecommitdiff
path: root/core/kbd
diff options
context:
space:
mode:
Diffstat (limited to 'core/kbd')
-rw-r--r--core/kbd/PKGBUILD14
-rw-r--r--core/kbd/fix-keymap-loading-1.15.5.patch47
2 files changed, 56 insertions, 5 deletions
diff --git a/core/kbd/PKGBUILD b/core/kbd/PKGBUILD
index fc1389df9..1ee33254c 100644
--- a/core/kbd/PKGBUILD
+++ b/core/kbd/PKGBUILD
@@ -1,19 +1,21 @@
-# $Id: PKGBUILD 175117 2013-01-14 07:36:39Z tpowa $
+# $Id: PKGBUILD 175749 2013-01-21 10:51:33Z tpowa $
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
pkgname=kbd
pkgver=1.15.5
-pkgrel=2
+pkgrel=3
pkgdesc="Keytable files and keyboard utilities"
arch=('i686' 'x86_64')
url="http://www.kbd-project.org"
license=('GPL')
depends=('glibc' 'pam')
-source=(ftp://ftp.altlinux.org/pub/people/legion/kbd/${pkgname}-${pkgver}.tar.gz)
+source=(ftp://ftp.altlinux.org/pub/people/legion/kbd/${pkgname}-${pkgver}.tar.gz
+ 'fix-keymap-loading-1.15.5.patch')
provides=('vlock')
conflicts=('vlock')
replaces=('vlock')
-md5sums=('34c71feead8ab9c01ec638acea8cd877')
+md5sums=('34c71feead8ab9c01ec638acea8cd877'
+ '4362091d5e23bab2d158f8c7693a45d8')
build() {
cd ${srcdir}/${pkgname}-${pkgver}
@@ -27,7 +29,9 @@ build() {
mv data/keymaps/i386/dvorak/no{,-dvorak}.map
mv data/keymaps/i386/fgGIod/trf{,-fgGIod}.map
mv data/keymaps/i386/colemak/{en-latin9,colemak}.map
-
+ # fix https://bugs.archlinux.org/task/33308
+ # keymap loading is broken for cetain keymaps
+ patch -Np1 -i ../fix-keymap-loading-1.15.5.patch
./configure --prefix=/usr --datadir=/usr/share/kbd --mandir=/usr/share/man
make KEYCODES_PROGS=yes RESIZECONS_PROGS=yes
}
diff --git a/core/kbd/fix-keymap-loading-1.15.5.patch b/core/kbd/fix-keymap-loading-1.15.5.patch
new file mode 100644
index 000000000..ae179d887
--- /dev/null
+++ b/core/kbd/fix-keymap-loading-1.15.5.patch
@@ -0,0 +1,47 @@
+commit 7e06e56157e8431d02e1377cdc44230944203d88
+Author: Alexey Gladkov <gladkov.alexey@gmail.com>
+Date: Tue Dec 11 14:24:44 2012 +0400
+
+ Fix regression in 16117ce6ab
+
+ Signed-off-by: Alexey Gladkov <gladkov.alexey@gmail.com>
+
+diff --git a/src/loadkeys.analyze.l b/src/loadkeys.analyze.l
+index c18dcea..f817c78 100644
+--- a/src/loadkeys.analyze.l
++++ b/src/loadkeys.analyze.l
+@@ -307,8 +307,10 @@ To to|To|TO
+ char *s = xstrndup(yytext+1, strlen(yytext)-2);
+ /* use static pathname to store *s ? */
+ open_include(s);
+- yy_pop_state();
+- state_ptr--;
++ while (state_ptr > 0) {
++ yy_pop_state();
++ state_ptr--;
++ }
+ }
+ <INCLSTR>[^"]|\"\"|\"[^"\n]*{Eol} {
+ yyerror(_("expected filename between quotes"));
+@@ -323,7 +325,7 @@ To to|To|TO
+ }
+ {Eol} {
+ line_nr++;
+- if (state_ptr > 0) {
++ while (state_ptr > 0) {
+ yy_pop_state();
+ state_ptr--;
+ }
+@@ -428,8 +430,10 @@ To to|To|TO
+ }
+ <STR>\" {
+ *p = '\0';
+- yy_pop_state();
+- state_ptr--;
++ while (state_ptr > 0) {
++ yy_pop_state();
++ state_ptr--;
++ }
+ return(STRLITERAL);
+ }
+ . {