diff --git a/ncurses-5.9-patches.tar.bz2 b/ncurses-5.9-patches.tar.bz2 index 1aa0e68..20ab3a6 100644 --- a/ncurses-5.9-patches.tar.bz2 +++ b/ncurses-5.9-patches.tar.bz2 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d1a7a6b37a978b79cb094509bbf161d275b74e56378a7ead8a158aa8c7f44b76 -size 1923880 +oid sha256:aaabcb5245a5bdc6b50e0aa6048bb3a0dea2c26c1186f43f646e35590e72a177 +size 1930646 diff --git a/ncurses-5.9.dif b/ncurses-5.9.dif index 988698f..00ae269 100644 --- a/ncurses-5.9.dif +++ b/ncurses-5.9.dif @@ -1,6 +1,6 @@ --- aclocal.m4 +++ aclocal.m4 2010-10-11 13:57:42.000000000 +0000 -@@ -595,7 +595,7 @@ AC_MSG_CHECKING([for size of bool]) +@@ -504,7 +504,7 @@ AC_MSG_CHECKING([for size of bool]) AC_CACHE_VAL(cf_cv_type_of_bool,[ rm -f cf_test.out AC_TRY_RUN([ @@ -9,7 +9,7 @@ #include #if defined(__cplusplus) -@@ -4339,12 +4339,15 @@ cat >>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <\$TMP CF_EOF if test -n "$cf_compress" ; then -@@ -4469,9 +4472,9 @@ cat >>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <\$TMP CF_EOF if test -n "$cf_compress" ; then -@@ -10642,9 +10645,9 @@ cat >>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <, -@@ -4280,6 +4314,7 @@ mlterm-256color|mlterm 3.0 with xterm 25 +@@ -4293,6 +4327,7 @@ mlterm-256color|mlterm 3.0 with xterm 25 # rxvt is normally configured to look for "xterm" or "xterm-color" as $TERM. # Since rxvt is not really compatible with xterm, it should be configured as # "rxvt" or "rxvt-color". @@ -524,7 +524,7 @@ # # removed dch/dch1 because they are inconsistent with bce/ech -TD # remove km as per tack test -TD -@@ -4291,13 +4326,14 @@ rxvt-basic|rxvt terminal base (X Window +@@ -4304,13 +4339,14 @@ rxvt-basic|rxvt terminal base (X Window 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, @@ -542,7 +542,7 @@ rmcup=\E[2J\E[?47l\E8, 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, -@@ -4306,7 +4342,7 @@ rxvt-basic|rxvt terminal base (X Window +@@ -4319,7 +4355,7 @@ rxvt-basic|rxvt terminal base (X Window sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;, sgr0=\E[0m\017, smacs=^N, smcup=\E7\E[?47h, smir=\E[4h, smkx=\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g, use=vt100+enq, @@ -551,7 +551,7 @@ # Key Codes from rxvt reference: # # Note: Shift + F1-F10 generates F11-F20 -@@ -4389,8 +4425,8 @@ rxvt-basic|rxvt terminal base (X Window +@@ -4402,8 +4438,8 @@ rxvt-basic|rxvt terminal base (X Window # Removed kDN6, etc (control+shift) since rxvt does not implement this -TD rxvt+pcfkeys|fragment for PC-style fkeys, kDC=\E[3$, kEND=\E[8$, kHOM=\E[7$, kIC=\E[2$, kLFT=\E[d, @@ -562,7 +562,7 @@ kend=\E[8~, 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~, -@@ -4428,6 +4464,39 @@ rxvt-cygwin-native|rxvt terminal emulato +@@ -4441,6 +4477,39 @@ rxvt-cygwin-native|rxvt terminal emulato acsc=+\257\,\256-\^0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330~\376, use=rxvt-cygwin, @@ -602,7 +602,7 @@ # This variant is supposed to work with rxvt 2.7.7 when compiled with # NO_BRIGHTCOLOR defined. rxvt needs more work... rxvt-16color|xterm with 16 colors like aixterm, -@@ -4457,7 +4526,7 @@ mrxvt-256color|multitabbed rxvt with 256 +@@ -4470,7 +4539,7 @@ mrxvt-256color|multitabbed rxvt with 256 # Eterm 0.9.3 # # removed kf0 which conflicts with kf10 -TD @@ -611,7 +611,7 @@ # Eterm does not implement control/shift cursor keys such as kDN6, or kPRV/kNXT # but does otherwise follow the rxvt+pcfkeys model -TD # remove nonworking flash -TD -@@ -4471,13 +4540,13 @@ Eterm|Eterm-color|Eterm with xterm-style +@@ -4484,13 +4553,13 @@ Eterm|Eterm-color|Eterm with xterm-style csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, @@ -627,7 +627,7 @@ kc1=\E[8~, kc3=\E[6~, kent=\EOM, khlp=\E[28~, kmous=\E[M, mc4=\E[4i, mc5=\E[5i, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O, rmam=\E[?7l, rmcup=\E[2J\E[?47l\E8, rmir=\E[4l, rmkx=, -@@ -4906,7 +4975,7 @@ pty|4bsd pseudo teletype, +@@ -4919,7 +4988,7 @@ pty|4bsd pseudo teletype, smso=\Ea$, smul=\Ea!, use=cbunix, # The codes supported by the term.el terminal emulation in GNU Emacs 19.30 @@ -636,7 +636,7 @@ am, mir, xenl, cols#80, lines#24, bel=^G, bold=\E[1m, clear=\E[H\E[J, cr=^M, -@@ -4919,6 +4988,13 @@ eterm|gnu emacs term.el terminal emulati +@@ -4932,6 +5001,13 @@ eterm|gnu emacs term.el terminal emulati rmcup=\E[2J\E[?47l\E8, rmir=\E[4l, rmso=\E[m, rmul=\E[m, sgr0=\E[m, smcup=\E7\E[?47h, smir=\E[4h, smso=\E[7m, smul=\E[4m, @@ -650,7 +650,7 @@ # The codes supported by the term.el terminal emulation in GNU Emacs 22.2 eterm-color|Emacs term.el terminal emulator term-protocol-version 0.96, -@@ -4967,7 +5043,7 @@ screen|VT 100/ANSI X3.64 virtual termina +@@ -4980,7 +5056,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@, @@ -659,7 +659,7 @@ 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, -@@ -5146,7 +5222,7 @@ screen2|old VT 100/ANSI X3.64 virtual te +@@ -5159,7 +5235,7 @@ screen2|old VT 100/ANSI X3.64 virtual te cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=, il=\E[%p1%dL, @@ -668,7 +668,7 @@ kcuu1=\EA, kf0=\E~, kf1=\ES, kf2=\ET, kf3=\EU, kf4=\EV, kf5=\EW, kf6=\EP, kf7=\EQ, kf8=\ER, kf9=\E0I, khome=\EH, nel=^M^J, rc=\E8, ri=\EM, rmir=\E[4l, rmso=\E[23m, -@@ -6870,7 +6946,7 @@ hp700-wy|HP700/41 emulating wyse30, +@@ -6883,7 +6959,7 @@ hp700-wy|HP700/41 emulating wyse30, ri=\Ej, rmir=\Er, rmso=\EG0$<10/>, rmul=\EG0$<10/>, sgr0=\EG0$<10/>, smir=\Eq, smso=\EG4$<10/>, smul=\EG8$<10/>, tbc=\E0, vpa=\E[%p1%{32}%+%c, @@ -677,7 +677,7 @@ am, da, db, xhp, cols#80, lh#2, lines#24, lm#0, lw#8, nlab#8, acsc=0cjgktlrmfn/q\,t5u6v8w7x., bel=^G, blink=\E&dA, -@@ -10004,6 +10080,7 @@ msk22714|mskermit22714|UCB MS-DOS Kermit +@@ -10017,6 +10093,7 @@ msk22714|mskermit22714|UCB MS-DOS Kermit # at support for the VT320 itself. # Please send changes with explanations to bug-gnu-emacs@prep.ai.mit.edu. # (vt320-k3: I added / based on the init string -- esr) @@ -685,7 +685,7 @@ vt320-k3|MS-Kermit 3.00's vt320 emulation, am, eslok, hs, km, mir, msgr, xenl, cols#80, it#8, lines#49, pb#9600, vt#3, -@@ -10013,7 +10090,7 @@ vt320-k3|MS-Kermit 3.00's vt320 emulatio +@@ -10026,7 +10103,7 @@ vt320-k3|MS-Kermit 3.00's vt320 emulatio 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, @@ -694,7 +694,7 @@ dsl=\E[0$~, ech=\E[%p1%dX, ed=\E[J, el=\E[K, flash=\E[?5h\E[?5l\E[?5h\E[?5l\E[?5h\E[?5l, fsl=\E[0$}, home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH, -@@ -14289,7 +14366,7 @@ ibm3101|i3101|IBM 3101-10, +@@ -14302,7 +14379,7 @@ ibm3101|i3101|IBM 3101-10, cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, ed=\EJ, el=\EI, home=\EH, hts=\E0, ind=^J, kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA, nel=^M^J, tbc=\EH, @@ -703,7 +703,7 @@ is2=\E S, rmacs=\E>B, rmcup=\E>B, rs2=\E S, s0ds=\E>B, sgr=\E4%{64}%?%p1%t%{65}%|%;%?%p2%t%{66}%|%;%?%p3%t%{65}%|%;%?%p4%t%{68}%|%;%?%p5%t%{64}%|%;%?%p6%t%{72}%|%;%?%p7%t%{80}%|%;%c%?%p9%t\E>A%e\E>B%;, sgr0=\E4@\E>B, smacs=\E>A, smcup=\E>B, use=ibm3162, -@@ -14519,7 +14596,7 @@ lft|lft-pc850|LFT-PC850|IBM LFT PC850 De +@@ -14532,7 +14609,7 @@ lft|lft-pc850|LFT-PC850|IBM LFT PC850 De tbc=\E[3g, # "Megapel" refers to the display adapter, which was used with the IBM RT # aka IBM 6150. @@ -714,7 +714,7 @@ ibm5081-c|ibmmpel-c|IBM 5081 1024x1024 256/4096 Megapel enhanced color display, --- ncurses/Makefile.in +++ ncurses/Makefile.in 2011-02-28 13:39:31.000000000 +0000 -@@ -206,7 +206,7 @@ $(DESTDIR)$(libdir) : +@@ -207,7 +207,7 @@ $(DESTDIR)$(libdir) : ../lib : ; mkdir $@ ./fallback.c : $(tinfo)/MKfallback.sh @@ -725,7 +725,7 @@ sh -e $(base)/MKlib_gen.sh "$(CPP) $(CPPFLAGS)" "$(AWK)" generated <../include/curses.h >$@ --- ncurses/curses.priv.h +++ ncurses/curses.priv.h 2006-05-18 14:07:15.000000000 +0000 -@@ -1952,6 +1952,8 @@ extern NCURSES_EXPORT(char *) _nc_trace_ +@@ -1977,6 +1977,8 @@ extern NCURSES_EXPORT(char *) _nc_trace_ extern NCURSES_EXPORT(char *) _nc_tracechar (SCREEN *, int); extern NCURSES_EXPORT(char *) _nc_tracemouse (SCREEN *, MEVENT const *); extern NCURSES_EXPORT(int) _nc_access (const char *, int); @@ -826,7 +826,7 @@ { --- ncurses/tinfo/lib_setup.c +++ ncurses/tinfo/lib_setup.c 2011-02-28 13:40:42.000000000 +0000 -@@ -582,6 +582,9 @@ _nc_locale_breaks_acs(TERMINAL * termp) +@@ -583,6 +583,9 @@ _nc_locale_breaks_acs(TERMINAL * termp) } else if ((value = tigetnum("U8")) >= 0) { result = value; /* use extension feature */ } else if ((env = getenv("TERM")) != 0) { @@ -838,7 +838,7 @@ } else if (strstr(env, "screen") != 0 --- ncurses/tinfo/read_entry.c +++ ncurses/tinfo/read_entry.c 2011-02-28 13:41:44.000000000 +0000 -@@ -372,6 +372,7 @@ _nc_read_file_entry(const char *const fi +@@ -374,6 +374,7 @@ _nc_read_file_entry(const char *const fi int limit; char buffer[MAX_ENTRY_SIZE + 1]; @@ -846,7 +846,7 @@ if (_nc_access(filename, R_OK) < 0 || (fp = fopen(filename, "rb")) == 0) { TR(TRACE_DATABASE, ("cannot open terminfo %s (errno=%d)", filename, errno)); -@@ -389,6 +390,7 @@ _nc_read_file_entry(const char *const fi +@@ -391,6 +392,7 @@ _nc_read_file_entry(const char *const fi } fclose(fp); } @@ -903,7 +903,7 @@ if (copied != 0) --- test/test.priv.h +++ test/test.priv.h 2006-05-18 14:07:19.000000000 +0000 -@@ -645,12 +645,12 @@ extern char *strnames[], *strcodes[], *s +@@ -677,12 +677,12 @@ extern char *strnames[], *strcodes[], *s #endif /* out-of-band values for representing absent capabilities */ diff --git a/ncurses.changes b/ncurses.changes index 0f154ea..9f42173 100644 --- a/ncurses.changes +++ b/ncurses.changes @@ -1,3 +1,52 @@ +------------------------------------------------------------------- +Mon Feb 18 12:50:14 UTC 2013 - werner@suse.de + +- Add ncurses patch 20130126 + + further fixes to mvcur to pass callback function (cf: 20130112), + needed to make test/dots_mvcur work. + + reduce calls to SetConsoleActiveScreenBuffer in win_driver.c, to + help reduce flicker. + + modify configure script to omit "+b" from linker options for very + old HP-UX systems (report by Dennis Grevenstein) + + add HP-UX workaround for missing EILSEQ on old HP-UX systems (patch + by Dennis Grevenstein). + + restore memmove/strdup support for antique systems (request by + Dennis Grevenstein). + + change %l behavior in tparm to push the string length onto the stack + rather than saving the formatted length into the output buffer + (report by Roy Marples, cf: 980620). +- Add ncurses patch 20130202 + + correct initialization in knight.c which let it occasionally make + an incorrect move (cf: 20001028). + + improve documentation of the terminfo/termcap search path. +- Add ncurses patch 20130209 + + modify test/configure script to make it simpler to override names + of curses-related libraries, to help with linking with pdcurses in + mingw environment. + + if the --with-terminfo-dirs configure option is not used, there is + no corresponding compiled-in value for that. Fill in "no default + value" for that part of the manpage substitution. +- Add ncurses patch 20130216 + + modify test/testcurs.c to work with mouse for ncurses as it does for + pdcurses. + + modify test/knight.c to work with mouse for pdcurses as it does for + ncurses. + + modify internal recursion in wgetch() which handles cooked mode to + check if the call to wgetnstr() returned an error. This can happen + when both nocbreak() and nodelay() are set, for instance (report by + Nils Christopher Brause) (cf: 960418). + + fixes for issues found by Coverity: + + add a check for valid position in ClearToEOS() + + fix in lib_twait.c when --enable-wgetch-events is used, pointer + use after free. + + improve a limit-check in make_hash.c + + fix a memory leak in hashed_db.c +- Add ncurses patch 20130218 + + correct ifdef on change to lib_twait.c (report by Werner Fink). + + update config.guess, config.sub +- Use screen to emulate a terminal to enable the configure script to + use poll(2) system call on stderr file descriptor + ------------------------------------------------------------------- Mon Jan 21 14:47:48 UTC 2013 - werner@suse.de diff --git a/ncurses.spec b/ncurses.spec index 8c7038b..1291d13 100644 --- a/ncurses.spec +++ b/ncurses.spec @@ -19,6 +19,7 @@ Name: ncurses #!BuildIgnore: terminfo BuildRequires: gcc-c++ +BuildRequires: screen %if 0%{?suse_version} > 1130 BuildRequires: gpm-devel %else @@ -36,6 +37,7 @@ Release: 0 Summary: New curses Libraries License: MIT Group: System/Base +#Git: http://ncurses.scripts.mit.edu Url: http://invisible-island.net/ncurses/ncurses.html Source0: ncurses-%{version}.tar.bz2 Source1: ncurses-%{version}-patches.tar.bz2 @@ -273,6 +275,22 @@ rm -vf tar-copy.sh rm -vf mk-dlls.sh %build +%global _configure screen -L -D -m ./configure + SCREENRC=ncurses.screen + export SCREENRC + exec 0< /dev/null + SCREENLOG=$PWD/config.screen + cat > $SCREENRC<<-EOF + deflogin off + logfile $SCREENLOG + logfile flush 1 + logtstamp off + log on + setsid off + scrollback 0 + silence on + utf8 on + EOF cflags () { local flag=$1; shift @@ -355,6 +373,7 @@ rm -vf mk-dlls.sh # advantage about splitting of a libtinfo (IMHO). # touch --reference=README config.sub config.guess + > $SCREENLOG %configure \ --without-ada \ --without-debug \ @@ -414,6 +433,7 @@ rm -vf mk-dlls.sh --disable-widec \ --disable-tic-depends \ --with-ticlib=tic + cat $SCREENLOG # # The configure line # @@ -482,7 +502,9 @@ export BUILD_TIC=$PWD/../progs/tic # # Now use --with-pthread for reentrant pthread support (abi > 5). # - eval ./${c#*./} --with-pthread --enable-reentrant --enable-ext-mouse --disable-widec --disable-ext-colors --without-progs + > $SCREENLOG + eval screen -L -D -m ./${c#*./} --with-pthread --enable-reentrant --enable-ext-mouse --disable-widec --disable-ext-colors --without-progs + cat $SCREENLOG find -name fallback.o | xargs -r rm -vf cp fallback.c.backup ncurses/fallback.c make %{?_smp_mflags} @@ -501,11 +523,13 @@ export BUILD_TIC=$PWD/../progs/tic # The libs with 16 bit wide characters are binary incompatible # to the normal 8bit wide character libs. # + > $SCREENLOG %if %abi >= 6 - eval ./${c#*./} --with-pthread --enable-reentrant --enable-ext-mouse --enable-widec --enable-ext-colors --without-progs + eval screen -L -D -m ./${c#*./} --with-pthread --enable-reentrant --enable-ext-mouse --enable-widec --enable-ext-colors --without-progs %else - eval ./${c#*./} --disable-ext-mouse --enable-widec --disable-ext-colors --without-progs + eval screen -L -D -m ./${c#*./} --disable-ext-mouse --enable-widec --disable-ext-colors --without-progs %endif + cat $SCREENLOG find -name fallback.o | xargs -r rm -vf cp fallback.c.backup ncurses/fallback.c make %{?_smp_mflags} @@ -521,7 +545,9 @@ export BUILD_TIC=$PWD/../progs/tic # # Do both --enable-widec and --with-pthread (abi > 5). # - eval ./${c#*./} --with-pthread --enable-reentrant --enable-ext-mouse --enable-widec --enable-ext-colors --without-progs + > $SCREENLOG + eval screen -L -D -m ./${c#*./} --with-pthread --enable-reentrant --enable-ext-mouse --enable-widec --enable-ext-colors --without-progs + cat $SCREENLOG find -name fallback.o | xargs -r rm -vf cp fallback.c.backup ncurses/fallback.c make %{?_smp_mflags}