diff --git a/ncurses/Makefile b/ncurses/Makefile new file mode 100644 index 0000000..8fac06e --- /dev/null +++ b/ncurses/Makefile @@ -0,0 +1,119 @@ +# +# Copyright (C) 2006-2010 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_VERSION:=5.7 +PKG_RELEASE:=3 + +PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION) +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=@GNU/ncurses +PKG_MD5SUM:=cce05daf61a64501ef6cd8da1f727ec6 + +PKG_INSTALL:=1 +PKG_BUILD_PARALLEL:=1 + +include $(INCLUDE_DIR)/package.mk + +define Package/libncurses + SECTION:=libs + CATEGORY:=Libraries + TITLE:=Terminal handling library + URL:=http://www.gnu.org/software/ncurses/ + VARIANT:=libncurses +endef + +define Package/libncursesw + SECTION:=libs + CATEGORY:=Libraries + TITLE:=Terminal handling library (Unicode) + URL:=http://www.gnu.org/software/ncurses/ + DEPENDS:=libncurses + VARIANT:=libncursesw +endef + +TARGET_CFLAGS += $(FPIC) + +CONFIGURE_ARGS += \ + --enable-echo \ + --enable-const \ + --enable-overwrite \ + --disable-rpath \ + --without-ada \ + --without-cxx \ + --without-cxx-binding \ + --without-debug \ + --without-profile \ + --without-progs \ + --with-normal \ + --with-shared \ + --with-terminfo-dirs=/usr/share/terminfo \ + --with-default-terminfo-dir=/usr/share/terminfo + +ifeq ($(BUILD_VARIANT),libncursesw) + CONFIGURE_ARGS += \ + --enable-widec \ + --with-build-cppflags=-D_GNU_SOURCE +endif + +MAKE_FLAGS += \ + BUILD_CC="$(HOSTCC)" \ + HOSTCC="$(HOSTCC)" \ + HOSTCCFLAGS="" \ + 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/libncurses/install + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{curses,ncurses,panel,menu,form}.so* $(1)/usr/lib/ + $(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 d/dumb l/linux r/rxvt r/rxvt-unicode s/screen v/vt100 v/vt102 x/xterm x/xterm-color; do \ + $(INSTALL_DIR) $(1)/usr/share/terminfo/`dirname $$$$file`; \ + $(CP) $(PKG_INSTALL_DIR)/usr/share/terminfo/$$$$file \ + $(1)/usr/share/terminfo/$$$$file; \ + done +endef + +define Package/libncursesw/install + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{ncurses,panel,menu,form}w.so* $(1)/usr/lib/ +endef + +ifeq ($(BUILD_VARIANT),libncursesw) +define Build/InstallDev + $(INSTALL_DIR) $(1)/usr/include/ncursesw/ + $(CP) $(PKG_INSTALL_DIR)/usr/include/*.h $(1)/usr/include/ncursesw/ + + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{ncurses,panel,menu,form}w.{a,so*} $(1)/usr/lib/ +endef +else +define Build/InstallDev + $(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/lib{curses,ncurses,panel,menu,form}.{a,so*} $(1)/usr/lib/ +endef +endif + +$(eval $(call BuildPackage,libncurses)) +$(eval $(call BuildPackage,libncursesw)) diff --git a/ncurses/patches/100-ncurses-5.6-20080112-urxvt.patch b/ncurses/patches/100-ncurses-5.6-20080112-urxvt.patch new file mode 100644 index 0000000..39e60ba --- /dev/null +++ b/ncurses/patches/100-ncurses-5.6-20080112-urxvt.patch @@ -0,0 +1,175 @@ +--- a/misc/terminfo.src ++++ b/misc/terminfo.src +@@ -3965,6 +3965,172 @@ rxvt-cygwin-native|rxvt terminal emulato + rxvt-16color|xterm 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 04 Oct 1997 ++# Updated: Özgür Kesim 02 Nov 1997 ++# Updated: Marc Lehmann , 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 0.5.3 + # + # mrxvt is based on rxvt 2.7.11, but has by default XTERM_FKEYS defined, which diff --git a/ncurses/patches/101-ncurses-5.6-20080628-kbs.patch b/ncurses/patches/101-ncurses-5.6-20080628-kbs.patch new file mode 100644 index 0000000..3b3abd7 --- /dev/null +++ b/ncurses/patches/101-ncurses-5.6-20080628-kbs.patch @@ -0,0 +1,52 @@ +--- a/misc/terminfo.src ++++ b/misc/terminfo.src +@@ -3054,6 +3054,7 @@ xterm-xfree86|xterm terminal emulator (X + # This version reflects the current xterm features. + xterm-new|modern xterm terminal emulator, + npc, ++ kbs=\177, + indn=\E[%p1%dS, kDC=\E[3;2~, kEND=\E[1;2F, kHOM=\E[1;2H, + kIC=\E[2;2~, kNXT=\E[6;2~, kPRV=\E[5;2~, kb2=\EOE, + kcbt=\E[Z, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, +@@ -3818,6 +3819,7 @@ mlterm+pcfkeys|fragment for PC-style fke + rxvt-basic|rxvt terminal base (X Window System), + OTbs, am, bce, eo, mir, msgr, xenl, xon, + cols#80, it#8, lines#24, ++ kbs=\177, + acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, + bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l, + clear=\E[H\E[2J, cnorm=\E[?25h, cr=^M, +@@ -3828,7 +3830,7 @@ rxvt-basic|rxvt terminal base (X Window + enacs=\E(B\E)0, flash=\E[?5h\E[?5l, home=\E[H, 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, 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, + rmcup=\E[2J\E[?47l\E8, rmir=\E[4l, rmkx=\E>, rmso=\E[27m, + rmul=\E[24m, +@@ -4541,6 +4543,7 @@ eterm|gnu emacs term.el terminal emulati + screen|VT 100/ANSI X3.64 virtual terminal, + OTbs, OTpt, am, km, mir, msgr, xenl, G0, + colors#8, cols#80, it#8, lines#24, pairs#64, ++ kbs=\177, + acsc=++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, + bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l, + clear=\E[H\E[J, cnorm=\E[34h\E[?25h, cr=^M, +@@ -4550,7 +4553,7 @@ screen|VT 100/ANSI X3.64 virtual termina + cvvis=\E[34l, dch=\E[%p1%dP, dch1=\E[P, 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, ht=^I, hts=\EH, ich=\E[%p1%d@, +- il=\E[%p1%dL, il1=\E[L, ind=^J, is2=\E)0, kbs=^H, kcbt=\E[Z, ++ il=\E[%p1%dL, il1=\E[L, ind=^J, is2=\E)0, kcbt=\E[Z, + kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, + kdch1=\E[3~, kend=\E[4~, kf1=\EOP, kf10=\E[21~, + kf11=\E[23~, kf12=\E[24~, kf2=\EOQ, kf3=\EOR, kf4=\EOS, +@@ -4655,6 +4658,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, + use=screen+fkeys, use=screen, + # Other terminals diff --git a/ncurses/patches/500-cross.patch b/ncurses/patches/500-cross.patch new file mode 100644 index 0000000..ace6252 --- /dev/null +++ b/ncurses/patches/500-cross.patch @@ -0,0 +1,11 @@ +--- a/aclocal.m4 ++++ b/aclocal.m4 +@@ -4298,7 +4298,7 @@ CF_EOF + EXTRA_LDFLAGS="-Wl,-rpath,\${libdir} $EXTRA_LDFLAGS" + fi + CF_SHARED_SONAME +- MK_SHARED_LIB='${CC} ${CFLAGS} -shared -Wl,-soname,'$cf_cv_shared_soname',-stats,-lc -o $[@]' ++ MK_SHARED_LIB='${CC} ${CFLAGS} -shared -Wl,-soname,'$cf_shared_soname',-stats,$(LDFLAGS) -lc -o $[@]' + ;; + openbsd[[2-9]].*) + if test "$DFT_LWR_MODEL" = "shared" ; then diff --git a/ncurses/patches/900-terminfo.patch b/ncurses/patches/900-terminfo.patch new file mode 100644 index 0000000..7aab3db --- /dev/null +++ b/ncurses/patches/900-terminfo.patch @@ -0,0 +1,20 @@ +--- a/misc/terminfo.src ++++ b/misc/terminfo.src +@@ -3707,12 +3707,11 @@ konsole-xf3x|KDE console window with key + # The value for kbs 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 does not implement shifted cursor-keys. +-konsole+pcfkeys|konsole subset of xterm+pcfkeys, +- kLFT@, kRIT@, kcbt=\E[Z, kind@, kri@, kDN@, kUP@, use=xterm+pcc2, +- use=xterm+pcf0, ++ 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, + # KDE's "vt100" keyboard has no relationship to any terminal that DEC made, but + # it is still useful for deriving the other entries. + konsole-vt100|KDE console window with vt100 (sic) keyboard,