ASR_BASE

Change-Id: Icf3719cc0afe3eeb3edc7fa80a2eb5199ca9dda1
diff --git a/package/libs/ncurses/Makefile b/package/libs/ncurses/Makefile
new file mode 100644
index 0000000..0fcc388
--- /dev/null
+++ b/package/libs/ncurses/Makefile
@@ -0,0 +1,196 @@
+#
+# Copyright (C) 2006-2015 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=ncurses
+PKG_CPE_ID:=cpe:/a:gnu:ncurses
+PKG_VERSION:=6.4
+PKG_RELEASE:=2
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=@GNU/$(PKG_NAME)
+PKG_HASH:=6931283d9ac87c5073f30b6290c4c75f21632bb4fc3603ac8100812bed248159
+
+PKG_LICENSE:=MIT
+PKG_LICENSE_FILES:=README
+
+PKG_INSTALL:=1
+PKG_BUILD_PARALLEL:=1
+
+PKG_BUILD_DEPENDS:=ncurses/host
+
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/host-build.mk
+
+define Package/terminfo
+  SECTION:=libs
+  CATEGORY:=Libraries
+  TITLE:=Terminal Info Database (ncurses)
+  URL:=http://www.gnu.org/software/ncurses/
+endef
+
+define Package/libncurses
+  SECTION:=libs
+  CATEGORY:=Libraries
+  TITLE:=Terminal handling library (Unicode)
+  URL:=http://www.gnu.org/software/ncurses/
+  PROVIDES:=libncursesw
+  DEPENDS:= +terminfo
+  ABI_VERSION:=6
+endef
+
+define Package/libncurses-dev
+  SECTION:=devel
+  CATEGORY:=Development
+  SUBMENU:=Libraries
+  DEPENDS:=zlib
+  TITLE:=Development files for the ncurses library
+endef
+
+TARGET_CFLAGS += $(FPIC)
+
+CONFIGURE_ARGS += \
+	--enable-echo \
+	--enable-const \
+	--enable-overwrite \
+	--enable-pc-files \
+	--disable-rpath \
+	--without-ada \
+	--without-debug \
+	--without-manpages \
+	--without-profile \
+	--without-progs \
+	--without-tests \
+	--disable-big-core \
+	--disable-home-terminfo \
+	--with-normal \
+	--with-shared \
+	--with-terminfo-dirs=/usr/share/terminfo \
+	--with-default-terminfo-dir=/usr/share/terminfo \
+	--with-pkg-config-libdir=/usr/lib/pkgconfig \
+	--enable-widec \
+	--with-build-cppflags=-D_GNU_SOURCE
+
+CONFIGURE_VARS += \
+	cf_try_fPIC=no
+
+HOST_CFLAGS += $(HOST_FPIC)
+
+HOST_CONFIGURE_ARGS += \
+	--enable-pc-files \
+	--without-cxx \
+	--without-cxx-binding \
+	--without-ada \
+	--without-debug \
+	--without-manpages \
+	--without-profile \
+	--without-tests \
+	--without-curses-h
+
+
+ifeq ($(HOST_OS),FreeBSD)
+	CONFIGURE_ARGS +=
+		--with-terminfo=/usr/share/terminfo.db 
+endif
+
+MAKE_FLAGS += \
+	BUILD_CC="$(HOSTCC)" \
+	HOSTCC="$(HOSTCC)" \
+	HOSTCCFLAGS="" \
+	PKG_CONFIG_LIBDIR=/usr/lib/pkgconfig \
+	libs
+
+define Build/Install/Default
+	$(MAKE_VARS) \
+	$(MAKE) -C $(PKG_BUILD_DIR)/$(MAKE_PATH) \
+		$(MAKE_INSTALL_FLAGS) \
+		$(1) install.libs install.data;
+endef
+
+define Package/terminfo/install
+	echo ""
+ifneq ($(HOST_OS),FreeBSD)
+	$(INSTALL_DIR) $(1)/usr/share/terminfo
+	(cd $(PKG_INSTALL_DIR)/usr/share/terminfo; \
+		for dir in ??; do \
+			[ -d "$$$$dir" ] || continue; \
+			mv $$$$dir $$$$(echo -ne "\x$$$$dir"); \
+		done \
+	)
+	for file in \
+		a/ansi \
+		a/alacritty \
+		d/dumb \
+		f/foot \
+		l/linux \
+		r/rxvt \
+		r/rxvt-unicode \
+		s/screen \
+		s/screen-256color \
+		t/tmux \
+		t/tmux-256color \
+		v/vt100 \
+		v/vt102 \
+		x/xterm \
+		x/xterm-color \
+		x/xterm-256color; do \
+		$(INSTALL_DIR) $(1)/usr/share/terminfo/`dirname $$$$file`; \
+		$(CP) $(PKG_INSTALL_DIR)/usr/share/terminfo/$$$$file \
+			$(1)/usr/share/terminfo/$$$$file; \
+	done
+endif
+endef
+
+define Package/libncurses/install
+	$(INSTALL_DIR) $(1)/usr/lib
+	for lib in ncurses panel menu form; do \
+		$(CP) $(PKG_INSTALL_DIR)/usr/lib/lib$$$${lib}w.so.* $(1)/usr/lib/; \
+		for so in $(1)/usr/lib/lib$$$${lib}w.so.*; do \
+			ln -s $$$${so##*/} $$$${so%w.so*}.so$$$${so##*w.so}; \
+		done; \
+	done
+endef
+
+define Package/libncurses-dev/install
+	$(INSTALL_DIR) $(1)/usr/bin
+	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin/
+	$(INSTALL_DIR) $(1)/usr/include
+	$(CP) $(PKG_INSTALL_DIR)/usr/include/*.h $(1)/usr/include/
+	$(INSTALL_DIR) $(1)/usr/lib
+	$(CP) $(PKG_INSTALL_DIR)/usr/lib/*.a $(1)/usr/lib/
+	$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
+	$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/*.pc $(1)/usr/lib/pkgconfig/
+endef
+
+define Build/InstallDev
+	$(CP) $(PKG_INSTALL_DIR)/* $(1)
+	for lib in ncurses panel menu form; do \
+		for so in $(1)/usr/lib/lib$$$${lib}w.so*; do \
+			ln -s $$$${so##*/} $$$${so%w.so*}.so$$$${so##*w.so}; \
+		done; \
+	done
+	ln -s . $(1)/usr/include/ncursesw
+	$(TARGET_CROSS)ar rc $(1)/usr/lib/libtinfo.a
+	$(INSTALL_DIR) $(2)/bin
+	$(CP) $(PKG_INSTALL_DIR)/usr/bin/ncursesw6-config $(2)/bin/
+	$(SED) 's,^\(prefix\|exec_prefix\)=.*,\1=$(STAGING_DIR)/usr,g' -e 's/$$$$INCS //g' \
+		$(2)/bin/ncursesw6-config
+	ln -sf $(STAGING_DIR)/host/bin/ncursesw6-config $(1)/usr/bin/ncursesw6-config
+	$(SED) 's,$(TOOLCHAIN_DIR),$(STAGING_DIR),g' \
+		$(1)/usr/lib/pkgconfig/ncursesw.pc
+endef
+
+define Host/Compile
+	$(MAKE) -C $(HOST_BUILD_DIR) libs
+	$(MAKE) -C $(HOST_BUILD_DIR)/progs tic
+endef
+
+$(eval $(call HostBuild))
+$(eval $(call BuildPackage,terminfo))
+$(eval $(call BuildPackage,libncurses))
+$(eval $(call BuildPackage,libncurses-dev))
diff --git a/package/libs/ncurses/patches/100-ncurses-5.6-20080112-urxvt.patch b/package/libs/ncurses/patches/100-ncurses-5.6-20080112-urxvt.patch
new file mode 100644
index 0000000..70d64bd
--- /dev/null
+++ b/package/libs/ncurses/patches/100-ncurses-5.6-20080112-urxvt.patch
@@ -0,0 +1,175 @@
+--- a/misc/terminfo.src
++++ b/misc/terminfo.src
+@@ -6886,6 +6886,172 @@ rxvt-cygwin-native|rxvt terminal emulato
+ rxvt-16color|rxvt with 16 colors like aixterm,
+ 	ncv#32, use=ibm+16color, use=rxvt,
+ 
++# rxvt-unicode
++# http://cvs.schmorp.de/rxvt-unicode/doc/etc/rxvt-unicode.terminfo?revision=1.20
++# From: Thomas Dickey <dickey@clark.net> 04 Oct 1997
++# Updated: Özgür Kesim <kesim@math.fu-berlin.de> 02 Nov 1997
++# Updated: Marc Lehmann <pcg@goof.com>, 17 Feb 2005
++rxvt-unicode|rxvt-unicode terminal (X Window System),
++	am,
++	bce,
++	eo,
++	km,
++	msgr,
++	xenl,
++	hs,
++	cols#80,
++	it#8,
++	lines#24,
++	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~-A.B+C\,D0EhFiG,
++	bel=^G,
++	blink=\E[5m,
++	bold=\E[1m,
++	civis=\E[?25l,
++	clear=\E[H\E[2J,
++	cnorm=\E[?25h,
++	cr=^M,
++	csr=\E[%i%p1%d;%p2%dr,
++	cub=\E[%p1%dD,
++	cub1=^H,
++	cud=\E[%p1%dB,
++	cud1=^J,
++	cuf=\E[%p1%dC,
++	cuf1=\E[C,
++	cup=\E[%i%p1%d;%p2%dH,
++	cuu=\E[%p1%dA,
++	cuu1=\E[A,
++	cvvis=\E[?25h,
++	dch=\E[%p1%dP,
++	dch1=\E[P,
++	dl=\E[%p1%dM,
++	dl1=\E[M,
++	ed=\E[J,
++	el=\E[K,
++	el1=\E[1K,
++	flash=\E[?5h$<20/>\E[?5l,
++	home=\E[H,
++	hpa=\E[%i%p1%dG,
++	ht=^I,
++	hts=\EH,
++	ich=\E[%p1%d@,
++	ich1=\E[@,
++	il=\E[%p1%dL,
++	il1=\E[L,
++	ind=^J,
++	is1=\E[?47l\E=\E[?1l,
++	is2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l,
++	kDC=\E[3$,
++	kIC=\E2$,
++	kEND=\E[8$,
++	kHOM=\E[7$,
++	kLFT=\E[d,
++	kNXT=\E[6$,
++	kPRV=\E[5$,
++	kRIT=\E[c,
++	kbs=\177,
++	ka1=\EOw,
++	ka3=\EOy,
++	kb2=\EOu,
++	kc1=\EOq,
++	kc3=\EOs,
++	kcbt=\E[Z,
++	kcub1=\E[D,
++	kcud1=\E[B,
++	kcuf1=\E[C,
++	kcuu1=\E[A,
++	kdch1=\E[3~,
++	kel=\E[8\^,
++	kend=\E[8~,
++	kent=\EOM,
++	kf1=\E[11~,
++	kf10=\E[21~,
++	kf11=\E[23~,
++	kf12=\E[24~,
++	kf13=\E[25~,
++	kf14=\E[26~,
++	kf15=\E[28~,
++	kf16=\E[29~,
++	kf17=\E[31~,
++	kf18=\E[32~,
++	kf19=\E[33~,
++	kf2=\E[12~,
++	kf20=\E[34~,
++	kf3=\E[13~,
++	kf4=\E[14~,
++	kf5=\E[15~,
++	kf6=\E[17~,
++	kf7=\E[18~,
++	kf8=\E[19~,
++	kf9=\E[20~,
++	kfnd=\E[1~,
++	khome=\E[7~,
++	kich1=\E[2~,
++	kmous=\E[M,
++	knp=\E[6~,
++	kpp=\E[5~,
++	kslt=\E[4~,
++	rc=\E8,
++	rev=\E[7m,
++	ri=\EM,
++	rmso=\E[27m,
++	rmul=\E[24m,
++	rs1=\Ec,
++	rs2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l\E>,
++	sgr0=\E[m\017,
++	enacs=,
++	smacs=\E(0,
++	rmacs=\E(B,
++	smso=\E[7m,
++	smul=\E[4m,
++	tbc=\E[3g,
++	vpa=\E[%i%p1%dd,
++	colors#88,
++	pairs#256,
++	btns#5,
++	lm#0,
++	ccc,
++	npc,
++	mc5i,
++	ncv#0,
++	mir,
++	xon,
++	bw,
++	ech=\E[%p1%dX,
++	mc0=\E[i,
++	mc4=\E[4i,
++	mc5=\E[5i,
++	sitm=\E[3m,
++	ritm=\E[23m,
++	smam=\E[?7h,
++	rmam=\E[?7l,
++	smir=\E[4h,
++	rmir=\E[4l,
++	smcup=\E[?1049h,
++	rmcup=\E[r\E[?1049l,
++	smkx=\E=,
++	rmkx=\E>,
++	indn=\E[%p1%dS,
++	rin=\E[%p1%dT,
++	sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m%?%p9%t\E(0%e\E(B%;,
++	op=\E[39;49m,
++	setaf=\E[38;5;%p1%dm,
++	setab=\E[48;5;%p1%dm,
++	setf=%?%p1%{7}%>%t\E[38;5;%p1%dm%e\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m%;,
++	setb=%?%p1%{7}%>%t\E[48;5;%p1%dm%e\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m%;,
++	initc=\E]4;%p1%d;rgb\:%p2%{65535}%*%{1000}%/%4.4X/%p3%{65535}%*%{1000}%/%4.4X/%p4%{65535}%*%{1000}%/%4.4X\E\\,
++	sc=\E7,
++	s0ds=\E(B,
++	s1ds=\E(0,
++	s2ds=\E*B,
++	s3ds=\E+B,
++	u6=\E[%i%d;%dR,
++	u7=\E[6n,
++	u8=\E[?1;2c,
++	u9=\E[c,
++	tsl=\E]2;,
++	fsl=\007,
++	dsl=\E]2;\007,
++
+ #### MRXVT
+ # mrxvt 0.5.4
+ #
diff --git a/package/libs/ncurses/patches/101-ncurses-5.6-20080628-kbs.patch b/package/libs/ncurses/patches/101-ncurses-5.6-20080628-kbs.patch
new file mode 100644
index 0000000..9f00350
--- /dev/null
+++ b/package/libs/ncurses/patches/101-ncurses-5.6-20080628-kbs.patch
@@ -0,0 +1,52 @@
+--- a/misc/terminfo.src
++++ b/misc/terminfo.src
+@@ -4984,6 +4984,7 @@ xterm-xfree86|xterm terminal emulator (X
+ 
+ xterm+nofkeys|building block for xterm fkey-variants,
+ 	npc,
++	kbs=\177,
+ 	kcbt=\E[Z, kent=\EOM, nel=\EE, use=ecma+index,
+ 	use=ansi+rep, use=ecma+strikeout, use=vt420+lrmm,
+ 	use=xterm+sm+1006, use=xterm+tmux, use=ecma+italics,
+@@ -6689,6 +6690,7 @@ mlterm-256color|mlterm 3.0 with xterm 25
+ rxvt-basic|rxvt terminal base (X Window System),
+ 	OTbs, am, bce, eo, mir, msgr, xenl, xon, XT,
+ 	cols#80, it#8, lines#24,
++	kbs=\177,
+ 	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+ 	bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[2J, cr=\r,
+ 	csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+@@ -6698,7 +6700,7 @@ rxvt-basic|rxvt terminal base (X Window
+ 	enacs=\E(B\E)0, flash=\E[?5h$<100/>\E[?5l, home=\E[H,
+ 	ht=^I, hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L,
+ 	ind=\n, is1=\E[?47l\E=\E[?1l,
+-	is2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l, kbs=^H,
++	is2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l,
+ 	kcbt=\E[Z, kmous=\E[M, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O,
+ 	rmir=\E[4l, rmkx=\E>, rmso=\E[27m, rmul=\E[24m,
+ 	rs1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H,
+@@ -8347,6 +8349,7 @@ dumb-emacs-ansi|Emacs dumb terminal with
+ screen-base|VT 100/ANSI X3.64 virtual terminal (base),
+ 	OTbs, OTpt, am, km, mir, msgr, xenl, G0,
+ 	colors#8, cols#80, it#8, lines#24, ncv@, pairs#64, U8#1,
++	kbs=\177,
+ 	acsc=++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxy
+ 	     yzz{{||}}~~,
+ 	bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l,
+@@ -8358,7 +8361,7 @@ screen-base|VT 100/ANSI X3.64 virtual te
+ 	dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K,
+ 	enacs=\E(B\E)0, flash=\Eg, home=\E[H, hpa=\E[%i%p1%dG,
+ 	ht=^I, hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L,
+-	ind=\n, indn=\E[%p1%dS, is2=\E)0, kbs=^H, kcbt=\E[Z,
++	ind=\n, indn=\E[%p1%dS, is2=\E)0, kcbt=\E[Z,
+ 	kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kf1=\EOP,
+ 	kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf2=\EOQ, kf3=\EOR,
+ 	kf4=\EOS, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~,
+@@ -8500,6 +8503,7 @@ screen.xterm-r6|screen customized for X1
+ # on Solaris because Sun's curses implementation gets confused.
+ screen.teraterm|disable ncv in teraterm,
+ 	ncv#127,
++	kbs=^H,
+ 	acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260i
+ 	     \316j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u
+ 	     \264v\301w\302x\263y\363z\362{\343|\330}\234~\376,
diff --git a/package/libs/ncurses/patches/102-ncurses-5.9-gcc-5.patch b/package/libs/ncurses/patches/102-ncurses-5.9-gcc-5.patch
new file mode 100644
index 0000000..5f1461b
--- /dev/null
+++ b/package/libs/ncurses/patches/102-ncurses-5.9-gcc-5.patch
@@ -0,0 +1,44 @@
+https://bugs.gentoo.org/545114
+
+extracted from the upstream change (which had many unrelated commits in one)
+
+From 97bb4678dc03e753290b39bbff30ba2825df9517 Mon Sep 17 00:00:00 2001
+From: "Thomas E. Dickey" <dickey@invisible-island.net>
+Date: Sun, 7 Dec 2014 03:10:09 +0000
+Subject: [PATCH] ncurses 5.9 - patch 20141206
+
++ modify MKlib_gen.sh to work around change in development version of
+  gcc introduced here:
+	  https://gcc.gnu.org/ml/gcc-patches/2014-06/msg02185.html
+	  https://gcc.gnu.org/ml/gcc-patches/2014-07/msg00236.html
+  (reports by Marcus Shawcroft, Maohui Lei).
+
+--- a/ncurses/base/MKlib_gen.sh
++++ b/ncurses/base/MKlib_gen.sh
+@@ -512,11 +512,22 @@ sed -n -f $ED1 \
+ 	-e 's/gen_$//' \
+ 	-e 's/  / /g' >>$TMP
+ 
++cat >$ED1 <<EOF
++s/  / /g
++s/^ //
++s/ $//
++s/P_NCURSES_BOOL/NCURSES_BOOL/g
++EOF
++
++# A patch discussed here:
++#	https://gcc.gnu.org/ml/gcc-patches/2014-06/msg02185.html
++# introduces spurious #line markers.  Work around that by ignoring the system's
++# attempt to define "bool" and using our own symbol here.
++sed -e 's/bool/P_NCURSES_BOOL/g' $TMP > $ED2
++cat $ED2 >$TMP
++
+ $preprocessor $TMP 2>/dev/null \
+-| sed \
+-	-e 's/  / /g' \
+-	-e 's/^ //' \
+-	-e 's/_Bool/NCURSES_BOOL/g' \
++| sed -f $ED1 \
+ | "$AWK" -f $AW2 \
+ | sed -f $ED3 \
+ | sed \
diff --git a/package/libs/ncurses/patches/103-ncurses-ar-determinism.patch b/package/libs/ncurses/patches/103-ncurses-ar-determinism.patch
new file mode 100644
index 0000000..a459913
--- /dev/null
+++ b/package/libs/ncurses/patches/103-ncurses-ar-determinism.patch
@@ -0,0 +1,22 @@
+--- a/aclocal.m4
++++ b/aclocal.m4
+@@ -523,7 +523,7 @@ AC_CACHE_CHECK(for options to update arc
+ 		;;
+ 	(*)
+ 		cf_cv_ar_flags=unknown
+-		for cf_ar_flags in -curvU -curv curv -crv crv -cqv cqv -rv rv
++		for cf_ar_flags in -curvD -curv curv -crv crv -cqv cqv -rv rv
+ 		do
+ 
+ 			# check if $ARFLAGS already contains this choice
+--- a/configure
++++ b/configure
+@@ -5110,7 +5110,7 @@ else
+ 		;;
+ 	(*)
+ 		cf_cv_ar_flags=unknown
+-		for cf_ar_flags in -curvU -curv curv -crv crv -cqv cqv -rv rv
++		for cf_ar_flags in -curvD -curv curv -crv crv -cqv cqv -rv rv
+ 		do
+ 
+ 			# check if $ARFLAGS already contains this choice
diff --git a/package/libs/ncurses/patches/200-fix_missing_include.patch b/package/libs/ncurses/patches/200-fix_missing_include.patch
new file mode 100644
index 0000000..3c4a0d1
--- /dev/null
+++ b/package/libs/ncurses/patches/200-fix_missing_include.patch
@@ -0,0 +1,14 @@
+--- a/ncurses/curses.priv.h
++++ b/ncurses/curses.priv.h
+@@ -56,6 +56,11 @@ extern "C" {
+ 
+ #include <ncurses_cfg.h>
+ 
++#if NEED_WCHAR_H
++#include <stdarg.h>
++#include <wchar.h>
++#endif
++
+ #if USE_RCS_IDS
+ #define MODULE_ID(id) static const char Ident[] = id;
+ #else
diff --git a/package/libs/ncurses/patches/900-terminfo.patch b/package/libs/ncurses/patches/900-terminfo.patch
new file mode 100644
index 0000000..86e3bc1
--- /dev/null
+++ b/package/libs/ncurses/patches/900-terminfo.patch
@@ -0,0 +1,20 @@
+--- a/misc/terminfo.src
++++ b/misc/terminfo.src
+@@ -6514,12 +6514,11 @@ konsole-xf3x|KDE console window with key
+ # The value for kbs (see konsole-vt100) reflects local customization rather
+ # than the settings used for XFree86 xterm.
+ konsole-xf4x|KDE console window with keyboard for XFree86 4.x xterm,
+-	kend=\EOF, khome=\EOH, use=konsole+pcfkeys,
+-	use=konsole-vt100,
+-
+-konsole+pcfkeys|konsole subset of xterm+pcfkeys,
+-	kcbt=\E[Z, use=xterm+pcc2, use=xterm+pcf0,
+-	use=xterm+pce2,
++	kend=\EOF, kf1=\EOP, kf13=\EO2P, kf14=\EO2Q, kf15=\EO2R,
++	kf16=\EO2S, kf17=\E[15;2~, kf18=\E[17;2~, kf19=\E[18;2~,
++	kf2=\EOQ, kf20=\E[19;2~, kf21=\E[20;2~, kf22=\E[21;2~,
++	kf23=\E[23;2~, kf24=\E[24;2~, kf3=\EOR, kf4=\EOS,
++	khome=\EOH, use=konsole-vt100,
+ 
+ # Obsolete: vt100.keymap
+ # KDE's "vt100" keyboard has no relationship to any terminal that DEC made, but