From 9ae8564dc229b96113c5ffb395d4adf73aa207f4 Mon Sep 17 00:00:00 2001
From: Britney Fransen <brfransen@gmail.com>
Date: Fri, 17 Jun 2016 12:58:10 +0000
Subject: kbd: update to 2.0.3

---
 abs/core/kbd/PKGBUILD                        | 28 +++++++++++------
 abs/core/kbd/fix-dvorak-es.patch             | 11 +++++++
 abs/core/kbd/fix-es.po.patch                 | 11 -------
 abs/core/kbd/fix-euro2.patch                 |  9 ++++++
 abs/core/kbd/fix-keymap-loading-1.15.5.patch | 47 ++++++++++++++++++++++++++++
 5 files changed, 85 insertions(+), 21 deletions(-)
 create mode 100644 abs/core/kbd/fix-dvorak-es.patch
 delete mode 100644 abs/core/kbd/fix-es.po.patch
 create mode 100644 abs/core/kbd/fix-euro2.patch
 create mode 100644 abs/core/kbd/fix-keymap-loading-1.15.5.patch

diff --git a/abs/core/kbd/PKGBUILD b/abs/core/kbd/PKGBUILD
index cfb6b3d..a607dcd 100644
--- a/abs/core/kbd/PKGBUILD
+++ b/abs/core/kbd/PKGBUILD
@@ -1,22 +1,25 @@
-# $Id: PKGBUILD 163716 2012-07-18 02:17:05Z dreisner $
+# $Id$
 # Maintainer: Tobias Powalowski <tpowa@archlinux.org>
 
 pkgname=kbd
-pkgver=1.15.3
-pkgrel=3
+pkgver=2.0.3
+pkgrel=1
 pkgdesc="Keytable files and keyboard utilities"
 arch=('i686' 'x86_64')
-url="ftp://ftp.altlinux.org/pub/people/legion/kbd/"
+url="http://www.kbd-project.org"
 license=('GPL')
-depends=('glibc')
+depends=('glibc' 'pam')
+makedepends=('check')
 source=(ftp://ftp.altlinux.org/pub/people/legion/kbd/${pkgname}-${pkgver}.tar.gz
-        fix-es.po.patch)
-md5sums=('8143e179a0f3c25646ce5085e8777200'
-         '4ded3edb50fb7a3277bae6a870cee812')
+        'fix-euro2.patch')
+provides=('vlock')
+conflicts=('vlock')
+replaces=('vlock')
+md5sums=('d636ee56f35233b5cd6f855c08372489'
+         'd869200acbc0aab6a9cafa43cb140d4e')
 
-build() {
+prepare() {
   cd ${srcdir}/${pkgname}-${pkgver}
-  patch -Np1 -i ../fix-es.po.patch
   # rename keymap files with the same names
   # this is needed because when only name of keymap is specified
   # loadkeys loads the first keymap it can find, which is bad (see FS#13837)
@@ -27,7 +30,12 @@ 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 euro2 #28213
+  patch -Np1 -i ../fix-euro2.patch
+}
 
+build() {
+  cd ${srcdir}/${pkgname}-${pkgver}
   ./configure --prefix=/usr --datadir=/usr/share/kbd --mandir=/usr/share/man
   make KEYCODES_PROGS=yes RESIZECONS_PROGS=yes
 }
diff --git a/abs/core/kbd/fix-dvorak-es.patch b/abs/core/kbd/fix-dvorak-es.patch
new file mode 100644
index 0000000..95760fd
--- /dev/null
+++ b/abs/core/kbd/fix-dvorak-es.patch
@@ -0,0 +1,11 @@
+--- kbd-1.15.5/data/keymaps/i386/dvorak/dvorak-es.map.old	2013-05-08 14:58:03.393349828 +0200
++++ kbd-1.15.5/data/keymaps/i386/dvorak/dvorak-es.map	2013-05-08 14:58:20.206415053 +0200
+@@ -4,7 +4,7 @@
+ 
+ keymaps 0-2,4,5,6,8-10,12,14
+ include "linux-with-alt-and-altgr"
+-include "euro"
++include "euro.map"
+ strings as usual
+ 
+ keycode   1 = Escape
diff --git a/abs/core/kbd/fix-es.po.patch b/abs/core/kbd/fix-es.po.patch
deleted file mode 100644
index 578f0a7..0000000
--- a/abs/core/kbd/fix-es.po.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- kbd-1.15.3/po/es.old	2011-05-14 23:12:49.000000000 +0200
-+++ kbd-1.15.3/po/es.po	2011-05-15 21:07:02.120669404 +0200
-@@ -1363,7 +1363,7 @@
- #: src/setfont.c:682
- #, c-format
- msgid "Saved %d-char %dx%d font file on %s\n"
--msgstr "Se ha guardado el fichero de tipos %2$dx%3$d de %1$d caracteres en %s\n"
-+msgstr "Se ha guardado el fichero de tipos %dx%d de %d caracteres en %s\n"
- 
- #: src/setkeycodes.c:21
- #, c-format
diff --git a/abs/core/kbd/fix-euro2.patch b/abs/core/kbd/fix-euro2.patch
new file mode 100644
index 0000000..572cba7
--- /dev/null
+++ b/abs/core/kbd/fix-euro2.patch
@@ -0,0 +1,9 @@
+--- kbd-1.15.5/data/keymaps/i386/include/euro2.map.old	2013-05-08 15:00:25.917752313 +0200
++++ kbd-1.15.5/data/keymaps/i386/include/euro2.map	2013-05-08 15:00:54.943957367 +0200
+@@ -2,5 +2,5 @@
+ # [Say: "loadkeys euro2" to get Euro and cent with AltGr (right alt)
+ #  on the positions where many keyboards have E and C.
+ #  To get it displayed, use a latin0 (i.e., latin9) font.]
+-altgr keycode  18 = currency
++altgr keycode  18 = euro
+ altgr keycode  46 = cent
diff --git a/abs/core/kbd/fix-keymap-loading-1.15.5.patch b/abs/core/kbd/fix-keymap-loading-1.15.5.patch
new file mode 100644
index 0000000..ae179d8
--- /dev/null
+++ b/abs/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);
+ 			}
+ .			{
-- 
cgit v0.12

