SHA256
6
0
forked from pool/ncurses

1 Commits

Author SHA256 Message Date
eb3137bc99 Sync changes to SLFO-1.2 branch 2025-08-20 09:54:07 +02:00
16 changed files with 1121 additions and 694 deletions

View File

@@ -5,7 +5,7 @@ index 4ea26b6..df82974 100644
@@ -76,6 +76,8 @@ NCURSES_SP_NAME(unget_wch) (NCURSES_SP_DCLx const wchar_t wch)
init_mb(state);
length = _nc_wcrtomb(0, wch, &state);
length = _nc_wcrtomb(NULL, wch, &state);
+ if (length < MB_CUR_MAX)
+ length = MB_CUR_MAX;

View File

@@ -2,65 +2,37 @@
=============================
There are several Ncurses Libraries which can be used for building
with an terminal based application. The standard Ncurses Libraries
is given with ABI 5.9
with an terminal based application.
Those are by default thread safe version (also known as `reentrant')
with the libraries with ABI 6.0
/usr/include/ncurses/*.h
/usr/include/ncurses/ncurses/*.h
/usr/lib/libncurses.so or /usr/lib64/libncurses.so
/usr/lib/libform.so or /usr/lib64/libform.so
/usr/lib/libmenu.so or /usr/lib64/libmenu.so
/usr/lib/libpanel.so or /usr/lib64/libpanel.so
/usr/lib/libtic.so or /usr/lib64/libtic.so
/usr/lib/libtinfo.so or /usr/lib64/libtinfo.so
and its header are installed in /usr/include/ncurses/ e.g.
ncurses.h. For backward compatibility with simply older
programs the headers curses.h, ncurses.h, and term.h
will be also found in /usr/include/. Use the output of
together with the header files found at /usr/include/ncurses/
e.g. ncurses.h. For backward compatibility with simply older programs
the headers curses.h, ncurses.h, and term.h will be also found in
/usr/include/. Use the output of
ncurses5-config --cflags for CFLAGS
ncurses5-config --libs for LDFLAGS
ncurses6-config --cflags for CFLAGS
ncurses6-config --libs for LDFLAGS
to extend the CFLAGS and the LDFLAGS.
For a version with wide character support please use the
libraries with old ABI 5.9
The version with both wide character support and thread safe
please use the libraries with ABI 6.0
/usr/include/ncursesw/*.h
/usr/lib/libncursesw.so or /usr/lib64/libncursesw.so
/usr/lib/libformw.so or /usr/lib64/libformw.so
/usr/lib/libmenuw.so or /usr/lib64/libmenuw.so
/usr/lib/libpanelw.so or /usr/lib64/libpanelw.so
Use the output of
ncursesw5-config --cflags for CFLAGS
ncursesw5-config --libs for LDFLAGS
to extend the CFLAGS and the LDFLAGS.
For a thread safe version (also known as `reentrant') please
use the libraries with ABI 6.0
/usr/include/ncurses6/ncurses/*.h
/usr/lib/ncurses6/libncurses.so or /usr/lib64/ncurses6/libncurses.so
/usr/lib/ncurses6/libform.so or /usr/lib64/ncurses6/libform.so
/usr/lib/ncurses6/libmenu.so or /usr/lib64/ncurses6/libmenu.so
/usr/lib/ncurses6/libpanel.so or /usr/lib64/ncurses6/libpanel.so
together with the header files found at /usr/include/ncurses6/ncurses/
e.g. ncurses.h. For backward compatibility with simply older programs
the headers curses.h, ncurses.h, and term.h will be also found in
/usr/include/ncurses6/. Use the output of
ncurses6-config --cflags for CFLAGS
ncurses6-config --libs for LDFLAGS
to extend the CFLAGS and the LDFLAGS.
For a version with both wide character support and thread safe
please use the libraries with ABI 6.0
/usr/include/ncurses6/ncursesw/*.h
/usr/lib/ncurses6/libncursesw.so or /usr/lib64/ncurses6/libncursesw.so
/usr/lib/ncurses6/libformw.so or /usr/lib64/ncurses6/libformw.so
/usr/lib/ncurses6/libmenuw.so or /usr/lib64/ncurses6/libmenuw.so
/usr/lib/ncurses6/libpanelw.so or /usr/lib64/ncurses6/libpanelw.so
/usr/lib/libticw.so or /usr/lib64/libticw.so
/usr/lib/libtinfo.so or /usr/lib64/libtinfo.so
Use the output of

View File

@@ -8,6 +8,3 @@ libncurses6
ncurses-devel
requires -ncurses-<targettype>
requires "libncurses6-<targettype> = <version>"
ncurses5-devel
requires -ncurses-<targettype>
requires "libncurses5-<targettype> = <version>"

View File

@@ -22,17 +22,9 @@ while test "${1::2}" = "--" ; do
done
sed -ri -e "
/^[[:blank:]]*--cflags\)/,/;;/ {
/;;/ a\\
--cflags)\\
echo $cflags\\
;;
d
/^[[:blank:]]*--cflags.*\)/,/;;/ {
s|for opt in .*|for opt in ${cflags}|
}
/^[[:blank:]]*--libs\)/,/;;/ {
/;;/ a\\
--libs)\\
echo $libs\\
;;
d
/^[[:blank:]]*--libs.*\)/,/;;/ {
s|for opt in .*|for opt in ${libs}|
}" ${1+"$@"}

View File

@@ -1,17 +1,45 @@
---
misc/terminfo.src | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
misc/terminfo.src | 18 +++++++++++++++---
1 file changed, 15 insertions(+), 3 deletions(-)
--- misc/terminfo.src
+++ misc/terminfo.src 2018-10-29 10:23:47.271511864 +0000
@@ -17922,8 +17922,8 @@ hazel|exec80|h80|he80|Hazeltine Executiv
#
+++ misc/terminfo.src 2025-05-05 07:10:18.639838164 +0000
@@ -1252,7 +1252,7 @@ sclp|IBM s390 driver for Linux,
cols#80, lines#24,
acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
bel=^G, blink=\E[5m, cr=\r, cub1=^H, cud1=\n,
- cup=\E[%i%p1%d;%p2%dH, dch=\E[%p1%dP, dch1=\E[P,
+ dch=\E[%p1%dP, dch1=\E[P,
dl=\E[%p1%dM, dl1=\E[M, ech=\E[%p1%dX, el1=\E[1K,
enacs=\E)0, ht=^I, ich=\E[%p1%d@, ind=\ED, is2=\Ec,
kf5=\E[15~, khome=\E[1~, nel=\EE, rc=\E8, rev=\E[7m, ri=\EM,
@@ -1261,7 +1261,7 @@ sclp|IBM s390 driver for Linux,
\E(B%;$<2>,
sgr0=\E[m\E(B, smacs=\E(0$<2>, smul=\E[4m,
use=ecma+underline, use=ecma+standout, use=klone+color,
- use=ansi+arrows, use=ansi+cpr, use=ansi+erase,
+ use=ansi+arrows, use=ansi+cpr, use=ansi+cup, use=ansi+erase,
use=ansi+local, use=ansi+rca, use=linux+sfkeys,
use=vt100+pf1-pf4, use=vt220+ufkeys, use=vt220+pcedit,
@@ -18306,7 +18306,19 @@ hazel|exec80|h80|he80|Hazeltine Executiv
ibm327x|line mode IBM 3270 style,
- gn,
gn,
- clear=\r\n, el=\r, home=\r,
+ cols#80,
+ clear=\r\n, cr=\r, cud1=\n, el=\r, home=\r, ind=\n,
+ cols#80, lines#24,
+ acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+ bel=^G, blink=\E[5m, cr=\r, cub1=^H, cud1=\n,
+ dch=\E[%p1%dP, dch1=\E[P,
+ dl=\E[%p1%dM, dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el1=\E[1K,
+ enacs=\E)0, ht=^I, ich=\E[%p1%d@, ind=\ED, is2=\Ec,
+ nel=\EE, rc=\E8, rev=\E[7m, ri=\EM,
+ rmacs=\E(B$<4>, rmso=\E[27m, rmul=\E[24m, sc=\E7,
+ sgr=\E[0%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e
+ \E(B%;$<2>,
+ sgr0=\E[m\E(B, smacs=\E(0$<2>, smso=\E[7m, smul=\E[4m,
+ use=dumb, use=klone+color, use=ansi+local,
+ use=ansi+cpr, use=ansi+cup, use=ansi+erase,
ibm3101|i3101|IBM 3101-10,
OTbs, am, xon,

View File

@@ -1,13 +1,13 @@
---
aclocal.m4 | 37 +++++++-------
configure | 45 +++++++++--------
include/curses.h.in | 5 +
aclocal.m4 | 37 ++++++++-------
configure | 45 +++++++++----------
include/curses.h.in | 5 +-
include/termcap.h.in | 2
include/tic.h | 4 -
man/man_db.renames.in | 1
man/ncurses.3x | 4 +
misc/gen-pkgconfig.in | 25 +++++++++
misc/terminfo.src | 111 ++++++++++++++++++++++++++++++++++++--------
misc/gen-pkgconfig.in | 25 +++++++++-
misc/terminfo.src | 104 ++++++++++++++++++++++++++++++++++++++------
ncurses/Makefile.in | 2
ncurses/run_cmd.sh | 11 ++++
ncurses/tinfo/MKfallback.sh | 14 ++++-
@@ -15,11 +15,11 @@
progs/Makefile.in | 4 -
test/test.priv.h | 4 -
test/tracemunch | 2
16 files changed, 202 insertions(+), 72 deletions(-)
16 files changed, 199 insertions(+), 68 deletions(-)
--- aclocal.m4
+++ aclocal.m4 2024-05-27 08:45:58.822250073 +0000
@@ -6132,12 +6132,12 @@ cat >>$cf_edit_man <<CF_EOF
+++ aclocal.m4 2025-05-19 07:15:10.610635148 +0000
@@ -6182,12 +6182,12 @@ cat >>$cf_edit_man <<CF_EOF
echo "? missing rename for \$cf_source"
cf_target="\$cf_source"
fi
@@ -34,7 +34,7 @@
sed -f "$cf_man_alias" \\
CF_EOF
@@ -6147,7 +6147,7 @@ cat >>$cf_edit_man <<CF_EOF
@@ -6197,7 +6197,7 @@ cat >>$cf_edit_man <<CF_EOF
CF_EOF
else
cat >>$cf_edit_man <<CF_EOF
@@ -43,7 +43,7 @@
CF_EOF
fi
@@ -6187,7 +6187,7 @@ cat >>$cf_edit_man <<CF_EOF
@@ -6240,7 +6240,7 @@ cat >>$cf_edit_man <<CF_EOF
mv \$TMP.$cf_manpage_so_strip \$TMP
fi
fi
@@ -52,7 +52,7 @@
CF_EOF
fi
@@ -6196,31 +6196,31 @@ case "$MANPAGE_FORMAT" in
@@ -6249,31 +6249,31 @@ case "$MANPAGE_FORMAT" in
cat >>$cf_edit_man <<CF_EOF
if test "\$form" = format ; then
# BSDI installs only .0 suffixes in the cat directories
@@ -91,7 +91,7 @@
for cf_alias in \$aliases
do
if test "\$section" = 1 ; then
@@ -6230,7 +6230,7 @@ cat >>$cf_edit_man <<CF_EOF
@@ -6283,7 +6283,7 @@ cat >>$cf_edit_man <<CF_EOF
if test "$MANPAGE_SYMLINKS" = yes ; then
if test -f "\$cf_alias\${suffix}" ; then
@@ -100,7 +100,7 @@
then
continue
fi
@@ -6240,18 +6240,18 @@ CF_EOF
@@ -6293,18 +6293,18 @@ CF_EOF
case "x$LN_S" in
(*-f)
cat >>$cf_edit_man <<CF_EOF
@@ -122,7 +122,7 @@
echo ".so \$cf_source" >\$TMP
CF_EOF
if test -n "$cf_manpage_compress" ; then
@@ -6271,9 +6271,9 @@ cat >>$cf_edit_man <<CF_EOF
@@ -6324,9 +6324,9 @@ cat >>$cf_edit_man <<CF_EOF
)
)
elif test "\$verb" = removing ; then
@@ -135,7 +135,7 @@
)
test -d "\$cf_subdir\${section}" &&
test -n "\$aliases" && (
@@ -6294,6 +6294,7 @@ cat >>$cf_edit_man <<CF_EOF
@@ -6347,6 +6347,7 @@ cat >>$cf_edit_man <<CF_EOF
# echo ".hy 0"
cat \$TMP
fi
@@ -144,8 +144,8 @@
esac
done
--- configure
+++ configure 2024-05-27 08:45:58.826249981 +0000
@@ -6741,7 +6741,7 @@ echo $ECHO_N "checking for an rpath opti
+++ configure 2025-05-19 07:15:10.610635148 +0000
@@ -6793,7 +6793,7 @@ echo $ECHO_N "checking for an rpath opti
fi
;;
(linux*|gnu*|k*bsd*-gnu|freebsd*)
@@ -154,7 +154,7 @@
;;
(openbsd[2-9].*|mirbsd*)
LD_RPATH_OPT="-Wl,-rpath,"
@@ -7114,8 +7114,8 @@ echo "${ECHO_T}$cf_cv_ldflags_search_pat
@@ -7166,8 +7166,8 @@ echo "${ECHO_T}$cf_cv_ldflags_search_pat
else
cf_cv_shared_soname='`basename $@`'
fi
@@ -165,7 +165,7 @@
;;
(mingw*msvc*)
cf_cv_shlib_version=msvcdll
@@ -8354,7 +8354,7 @@ echo "${ECHO_T}$with_pcre2" >&6
@@ -8416,7 +8416,7 @@ echo "${ECHO_T}$with_pcre2" >&6
if test "x$with_pcre2" != xno ; then
cf_with_pcre2_ok=no
@@ -174,7 +174,7 @@
do
if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists "$cf_with_pcre2"; then
@@ -15598,12 +15598,12 @@ cat >>$cf_edit_man <<CF_EOF
@@ -15661,12 +15661,12 @@ cat >>$cf_edit_man <<CF_EOF
echo "? missing rename for \$cf_source"
cf_target="\$cf_source"
fi
@@ -189,7 +189,7 @@
sed -f "$cf_man_alias" \\
CF_EOF
@@ -15613,7 +15613,7 @@ cat >>$cf_edit_man <<CF_EOF
@@ -15676,7 +15676,7 @@ cat >>$cf_edit_man <<CF_EOF
CF_EOF
else
cat >>$cf_edit_man <<CF_EOF
@@ -198,7 +198,7 @@
CF_EOF
fi
@@ -15653,7 +15653,7 @@ cat >>$cf_edit_man <<CF_EOF
@@ -15719,7 +15719,7 @@ cat >>$cf_edit_man <<CF_EOF
mv \$TMP.$cf_manpage_so_strip \$TMP
fi
fi
@@ -207,7 +207,7 @@
CF_EOF
fi
@@ -15662,31 +15662,31 @@ case "$MANPAGE_FORMAT" in
@@ -15728,31 +15728,31 @@ case "$MANPAGE_FORMAT" in
cat >>$cf_edit_man <<CF_EOF
if test "\$form" = format ; then
# BSDI installs only .0 suffixes in the cat directories
@@ -246,7 +246,7 @@
for cf_alias in \$aliases
do
if test "\$section" = 1 ; then
@@ -15696,7 +15696,7 @@ cat >>$cf_edit_man <<CF_EOF
@@ -15762,7 +15762,7 @@ cat >>$cf_edit_man <<CF_EOF
if test "$MANPAGE_SYMLINKS" = yes ; then
if test -f "\$cf_alias\${suffix}" ; then
@@ -255,7 +255,7 @@
then
continue
fi
@@ -15706,18 +15706,18 @@ CF_EOF
@@ -15772,18 +15772,18 @@ CF_EOF
case "x$LN_S" in
(*-f)
cat >>$cf_edit_man <<CF_EOF
@@ -277,7 +277,7 @@
echo ".so \$cf_source" >\$TMP
CF_EOF
if test -n "$cf_manpage_compress" ; then
@@ -15737,9 +15737,9 @@ cat >>$cf_edit_man <<CF_EOF
@@ -15803,9 +15803,9 @@ cat >>$cf_edit_man <<CF_EOF
)
)
elif test "\$verb" = removing ; then
@@ -290,7 +290,7 @@
)
test -d "\$cf_subdir\${section}" &&
test -n "\$aliases" && (
@@ -15760,6 +15760,7 @@ cat >>$cf_edit_man <<CF_EOF
@@ -15826,6 +15826,7 @@ cat >>$cf_edit_man <<CF_EOF
# echo ".hy 0"
cat \$TMP
fi
@@ -299,7 +299,7 @@
esac
done
--- include/curses.h.in
+++ include/curses.h.in 2024-04-15 07:05:36.860695856 +0000
+++ include/curses.h.in 2025-05-05 07:22:16.194714977 +0000
@@ -98,7 +98,7 @@
#ifdef __cplusplus
@@ -320,7 +320,7 @@
* We need FILE, etc. Include this before checking any feature symbols.
*/
--- include/termcap.h.in
+++ include/termcap.h.in 2024-04-15 07:05:36.860695856 +0000
+++ include/termcap.h.in 2025-05-05 07:22:16.198714905 +0000
@@ -47,6 +47,8 @@ extern "C"
{
#endif /* __cplusplus */
@@ -331,7 +331,7 @@
#undef NCURSES_OSPEED
--- include/tic.h
+++ include/tic.h 2024-04-15 07:05:36.860695856 +0000
+++ include/tic.h 2025-05-05 07:22:16.198714905 +0000
@@ -236,12 +236,12 @@ struct user_table_entry
*/
@@ -348,8 +348,8 @@
#define CANCELLED_STRING (char *)(-1)
--- man/man_db.renames.in
+++ man/man_db.renames.in 2024-05-14 06:15:01.767262785 +0000
@@ -298,6 +298,7 @@ wtimeout.3x wtimeout.3ncurses
+++ man/man_db.renames.in 2025-05-05 07:22:16.198714905 +0000
@@ -305,6 +305,7 @@ wtimeout.3x wtimeout.3ncurses
wunctrl.3x wunctrl.3ncurses
#
# Other:
@@ -358,8 +358,8 @@
scanf.3 scanf.3
ttys.5 ttys.4
--- man/ncurses.3x
+++ man/ncurses.3x 2024-04-15 07:09:39.619910505 +0000
@@ -341,6 +341,10 @@ and \fBmenu\fP(3X) libraries to ease con
+++ man/ncurses.3x 2025-05-05 07:22:16.198714905 +0000
@@ -363,6 +363,10 @@ they permit overlapping windows and ease
with
.IR curses .
.SS "Initialization"
@@ -371,7 +371,7 @@
.I TERM
in the process environment is essential to correct
--- misc/gen-pkgconfig.in
+++ misc/gen-pkgconfig.in 2024-04-15 07:05:36.860695856 +0000
+++ misc/gen-pkgconfig.in 2025-05-05 07:22:16.198714905 +0000
@@ -83,6 +83,8 @@ if [ "$includedir" != "/usr/include" ];
fi
@@ -388,7 +388,7 @@
+ -Wl,--hash-size=*) # ignore hash as gold linker can not do
+ continue
+ ;;
-Wl,-z,*) # ignore flags used to manipulate shared image
-Wl,-z*) # ignore flags used to manipulate shared image
continue
;;
-Wl,--dynamic-linker*) # ignore ELF interpreter
@@ -444,7 +444,7 @@
if [ $name = $MAIN_LIBRARY ]
--- misc/terminfo.src
+++ misc/terminfo.src 2024-05-27 08:45:58.830249892 +0000
+++ misc/terminfo.src 2025-05-19 07:18:32.854932900 +0000
@@ -305,7 +305,9 @@ dumb|80-column dumb tty,
am,
cols#80,
@@ -456,7 +456,7 @@
gn, use=dumb,
lpr|printer|line printer,
OTbs, hc, os,
@@ -1031,9 +1033,15 @@ linux-c|Linux console 1.3.6+ for older n
@@ -1036,9 +1038,15 @@ linux-c|Linux console 1.3.6+ for older n
# The 2.2.x kernels add a private mode that sets the cursor type; use that to
# get a block cursor for cvvis.
# reported by Frank Heckenbach <frank@g-n-u.de>.
@@ -473,7 +473,7 @@
# release 2.6: 2003/12 - 2004/12
#
@@ -1068,6 +1076,7 @@ linux2.6|Linux 2.6.x console,
@@ -1073,6 +1081,7 @@ linux2.6|Linux 2.6.x console,
acsc=++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxy
yzz{{||}}~~,
enacs=\E)0, rmacs=^O,
@@ -481,16 +481,7 @@
sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5
%t;2%;%?%p6%t;1%;m%?%p9%t\016%e\017%;,
sgr0=\E[m\017, smacs=^N, use=linux2.2,
@@ -5022,7 +5031,7 @@ xterm-new|modern xterm terminal emulator
# set it to BS (standard) or DEL (Linux's notion of "vt220"). xterm provides
# either, depending on how the pseudoterminals are configured.
xterm+kbs|fragment for backspace key,
- kbs=^H,
+ kbs=^?,
# Use this fragment for terminals that always use DEL for "backspace".
linux+kbs|fragment for "backspace" key,
@@ -5413,7 +5422,7 @@ xterm+88color2|xterm 88-color feature,
@@ -5483,7 +5492,7 @@ xterm+88color2|xterm 88-color feature,
# These variants of XFree86 3.9.16 xterm are built as a configure option.
xterm-256color|xterm with 256 colors,
@@ -499,7 +490,7 @@
xterm-88color|xterm with 88 colors,
use=xterm+osc104, use=xterm+88color,
use=xterm-256color,
@@ -5682,9 +5691,25 @@ xterm-noapp|xterm with cursor keys in no
@@ -5749,9 +5758,25 @@ xterm-noapp|xterm with cursor keys in no
xterm-24|vs100|xterms|xterm terminal emulator 24-line (X Window System),
lines#24, use=xterm-old,
@@ -526,16 +517,16 @@
# This entry assumes that xterm's handling of VT100 SI/SO is disabled by
# setting the vt100Graphics resource to false.
@@ -6136,7 +6161,7 @@ xterms-sun|small (80x24) xterm with sunF
@@ -6205,7 +6230,7 @@ xterms-sun|small (80x24) xterm with sunF
#### GNOME (VTE)
# this describes the alpha-version of GNOME terminal shipped with Redhat 6.0
-gnome-rh62|GNOME terminal,
+gnome-rh62|GNOME terminal on Red Hat,
+gnome-rh62|GNOME terminal terminal on Red Hat,
bce,
kdch1=^?, kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS,
use=linux+kbs, use=xterm-color,
@@ -6421,11 +6446,15 @@ mgt|Multi GNOME Terminal,
kdch1=^?, use=linux+kbs, use=vt100+pf1-pf4,
use=xterm-color,
@@ -6494,11 +6519,15 @@ mgt|Multi GNOME Terminal,
#### KDE
# This is kvt 0-18.7, shipped with Redhat 6.0 (though whether it supports bce
# or not is debatable).
@@ -552,38 +543,33 @@
# Konsole 1.0.1 (2001/11/25)
# (formerly known as kvt)
#
@@ -6679,7 +6708,7 @@ mlterm3|multi lingual terminal emulator
@@ -6754,7 +6783,7 @@ mlterm3|multi lingual terminal emulator
mlterm2|multi lingual terminal emulator 2.x,
am, eslok, km, mc5i, mir, msgr, npc, xenl, XT,
colors#8, cols#80, lines#24, pairs#64,
- acsc=00``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+ acsc=++\,\,--..00II``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
bel=^G, bold=\E[1m, clear=\E[H\E[2J, cr=\r, cub1=^H, cud1=\n,
cup=\E[%i%p1%d;%p2%dH, dch=\E[%p1%dP, dch1=\E[P,
ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, enacs=,
@@ -6757,8 +6786,8 @@ rxvt-basic|rxvt terminal base (X Window
%p9%t\016%e\017%;,
sgr0=\E[0m\017, smir=\E[4h, smkx=\E=, smso=\E[7m,
smul=\E[4m, use=ansi+csr, use=ansi+idl, use=ansi+local,
- use=xterm+alt47, use=vt100+enq, use=vt100+4bsd,
- use=rxvt+pcfkeys, use=vt220+cvis, use=vt220+keypad,
+ use=xterm+alt47, use=vt100+enq, use=rxvt+pcfkeys,
+ use=vt100+4bsd, use=vt220+cvis, use=vt220+keypad,
dch=\E[%p1%dP, dch1=\E[P, ech=\E[%p1%dX, ed=\E[J, el=\E[K,
el1=\E[1K, enacs=, ich=\E[%p1%d@, ind=\n,
@@ -6832,7 +6861,7 @@ rxvt-basic|rxvt terminal base (X Window
sgr0=\E[0m\017, smir=\E[4h, smkx=\E=, smul=\E[4m,
use=ecma+underline, use=ecma+standout, use=ansi+csr,
use=ansi+idl, use=ansi+local, use=xterm+alt47,
- use=vt100+enq, use=vt100+4bsd, use=rxvt+pcfkeys,
+ use=vt100+enq, use=rxvt+pcfkeys, use=vt100+4bsd,
use=vt220+cvis, use=vt220+keypad,
# Key Codes from rxvt reference:
#
@@ -6842,8 +6871,8 @@ rxvt-basic|rxvt terminal base (X Window
# Removed kDN6, etc (control+shift) since rxvt does not implement this -TD
@@ -6918,6 +6947,7 @@ rxvt-basic|rxvt terminal base (X Window
rxvt+pcfkeys|rxvt fragment for PC-style fkeys,
kDC=\E[3$, kEND=\E[8$, kHOM=\E[7$, kIC=\E[2$, kLFT=\E[d,
- kNXT=\E[6$, kPRV=\E[5$, kRIT=\E[c, kcub1=\E[D, kcud1=\E[B,
- kcuf1=\E[C, kcuu1=\E[A, kel=\E[8\^, kend=\E[8~,
+ kNXT=\E[6$, kPRV=\E[5$, kRIT=\E[c, kcub1=\EOD, kcud1=\EOB,
+ kcuf1=\EOC, kcuu1=\EOA, kel=\E[8\^, kend=\E[8~,
kNXT=\E[6$, kPRV=\E[5$, kRIT=\E[c, kel=\E[8\^, kend=\E[8~,
+ kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
kf21=\E[23$, kf22=\E[24$, kf23=\E[11\^, kf24=\E[12\^,
kf25=\E[13\^, kf26=\E[14\^, kf27=\E[15\^, kf28=\E[17\^,
kf29=\E[18\^, kf30=\E[19\^, kf31=\E[20\^, kf32=\E[21\^,
@@ -6927,6 +6956,38 @@ rxvt-cygwin-native|rxvt terminal emulato
@@ -7000,6 +7030,38 @@ rxvt-cygwin-native|rxvt terminal emulato
\302x\263y\363z\362{\343|\330~\376,
use=rxvt-cygwin,
@@ -622,7 +608,7 @@
# This variant is supposed to work with rxvt 2.7.7 when compiled with
# NO_BRIGHTCOLOR defined. rxvt needs more work...
rxvt-16color|rxvt with 16 colors like aixterm,
@@ -8180,7 +8241,7 @@ pty|4bsd pseudo teletype,
@@ -8594,7 +8656,7 @@ pty|4bsd pseudo teletype,
# https://github.com/emacs-mirror/emacs/blob/master/lisp/term.el
#
# The codes supported by the term.el terminal emulation in GNU Emacs 19.30
@@ -631,10 +617,10 @@
am, mir, xenl,
cols#80, lines#24,
bel=^G, bold=\E[1m, cr=\r, csr=\E[%i%p1%d;%p2%dr, cub1=^H,
@@ -8190,6 +8251,13 @@ eterm|GNU Emacs term.el terminal emulati
smir=\E[4h, smso=\E[7m, smul=\E[4m, use=ansi+cpr,
use=ansi+erase, use=ansi+idl, use=ansi+local,
use=xterm+alt47,
@@ -8603,6 +8665,13 @@ eterm|GNU Emacs term.el terminal emulati
smir=\E[4h, use=ansi+cpr, use=ansi+cup, use=ansi+erase,
use=ansi+idl, use=ansi+local, use=ansi+sgrso,
use=ansi+sgrul, use=xterm+alt47,
+eterm|emacs|GNU Emacs term.el terminal emulation,
+ colors#8, pairs#64,
+ invis=\E[8m, kcub1=\EOD, kcud1=\EOB,
@@ -645,7 +631,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,
@@ -8433,11 +8501,18 @@ screen.xterm-xfree86|screen.xterm-new|sc
@@ -8842,11 +8911,18 @@ screen.xterm-xfree86|screen.xterm-new|sc
E3@, use=screen+italics, use=screen+fkeys,
use=xterm+x11mouse, use=ecma+index, use=ansi+rep,
use=ecma+strikeout, use=xterm+pcfkeys,
@@ -665,7 +651,7 @@
# xterm-r6 does not really support khome/kend unless it is propped up by
# the translations resource.
@@ -8522,7 +8597,7 @@ screen-w|VT 100/ANSI X3.64 virtual termi
@@ -8931,7 +9007,7 @@ screen-w|VT 100/ANSI X3.64 virtual termi
screen2|VT 100/ANSI X3.64 virtual terminal (old 2.x),
cols#80, lines#24,
clear=\E[2J\E[H, cr=\r, cub1=^H, cup=\E[%i%p1%d;%p2%dH,
@@ -673,8 +659,8 @@
+ ed=\E[J, el=\E[K, ich1=, ind=\n, kbs=^?, kf0=\E~, kf1=\ES,
kf2=\ET, kf3=\EU, kf4=\EV, kf5=\EW, kf6=\EP, kf7=\EQ, kf8=\ER,
kf9=\E0I, khome=\EH, nel=\r\n, rc=\E8, ri=\EM, rmso=\E[23m,
rmul=\E[24m, rs1=\Ec, sc=\E7, sgr0=\E[m, smso=\E[3m,
@@ -10435,7 +10510,7 @@ hp700-wy|HP 700/41 emulating Wyse30,
rs1=\Ec, sc=\E7, sgr0=\E[m, smso=\E[3m, use=ecma+underline,
@@ -10865,7 +10941,7 @@ hp700-wy|HP 700/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,
@@ -683,7 +669,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,
@@ -17932,7 +18007,7 @@ ibm3101|i3101|IBM 3101-10,
@@ -18327,7 +18403,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=\n, nel=\r\n, tbc=\EH,
use=vt52+arrows,
@@ -692,7 +678,7 @@
is2=\E S, rmacs=\E>B, rs2=\E S,
sgr=\E4%{64}%?%p1%t%{65}%|%;%?%p2%t%{66}%|%;%?%p3%t%{65}%|%;
%?%p4%t%{68}%|%;%?%p5%t%{64}%|%;%?%p6%t%{72}%|%;%?%p7%t
@@ -18168,7 +18243,7 @@ lft|lft-pc850|LFT-PC850|IBM LFT PC850 De
@@ -18562,7 +18638,7 @@ lft|lft-pc850|LFT-PC850|IBM LFT PC850 De
# "Megapel" refers to the display adapter, which was used with the IBM RT
# aka IBM 6150.
@@ -702,8 +688,8 @@
s1ds=\E(0, sgr0=\E[0m\E(B, use=ibm5154,
ibm5081-c|ibmmpel-c|IBM 5081 1024x1024 256/4096 Megapel enhanced color display,
--- ncurses/Makefile.in
+++ ncurses/Makefile.in 2024-04-15 07:05:36.864695777 +0000
@@ -242,7 +242,7 @@ $(DESTDIR)$(libdir) :
+++ ncurses/Makefile.in 2025-05-05 07:22:16.202714831 +0000
@@ -244,7 +244,7 @@ $(LIBDIR) :
../lib : ; mkdir $@
./fallback.c : $(tinfo)/MKfallback.sh
@@ -713,7 +699,7 @@
./lib_gen.c : $(base)/MKlib_gen.sh ../include/curses.h
FGREP="@FGREP@" $(SHELL) -e $(base)/MKlib_gen.sh "$(CPP) $(CPPFLAGS)" "$(AWK)" generated <../include/curses.h >$@
--- ncurses/run_cmd.sh
+++ ncurses/run_cmd.sh 2024-04-15 07:05:36.864695777 +0000
+++ ncurses/run_cmd.sh 2025-05-05 07:22:16.202714831 +0000
@@ -0,0 +1,11 @@
+#!/bin/sh
+
@@ -727,7 +713,7 @@
+
+exec ${1+"$@"}
--- ncurses/tinfo/MKfallback.sh
+++ ncurses/tinfo/MKfallback.sh 2024-04-15 07:05:36.864695777 +0000
+++ ncurses/tinfo/MKfallback.sh 2025-05-05 07:22:16.202714831 +0000
@@ -66,14 +66,22 @@ if test $# != 0 ; then
TERMINFO=`pwd`/$tmp_info
export TERMINFO
@@ -756,8 +742,8 @@
for x in "$@"
do
echo "/* $x */"
- "$infocmp_path" -E "$x" | sed -e 's/\<short\>/NCURSES_INT2/g'
+ "$infocmp_path" $infocmp_args -E "$x" | sed -e 's/\<short\>/NCURSES_INT2/g'
- "$infocmp_path" -x -E "$x" | sed -e 's/[ ]short[ ]/ NCURSES_INT2 /g'
+ "$infocmp_path" $infocmp_args -x -E "$x" | sed -e 's/[ ]short[ ]/ NCURSES_INT2 /g'
done
cat <<EOF
@@ -765,26 +751,26 @@
for x in "$@"
do
echo "$comma /* $x */"
- "$infocmp_path" -e "$x"
+ "$infocmp_path" $infocmp_args -e "$x"
- "$infocmp_path" -x -e "$x"
+ "$infocmp_path" $infocmp_args -x -e "$x"
comma=","
done
--- ncurses/tinfo/lib_setup.c
+++ ncurses/tinfo/lib_setup.c 2024-04-15 07:05:36.864695777 +0000
+++ ncurses/tinfo/lib_setup.c 2025-05-05 07:22:16.202714831 +0000
@@ -800,6 +800,9 @@ _nc_locale_breaks_acs(TERMINAL *termp)
} else if ((value = tigetnum("U8")) >= 0) {
} else if ((value = tigetnum(UserCap(U8))) >= 0) {
result = value; /* use extension feature */
} else if ((env = getenv("TERM")) != 0) {
} else if ((env = getenv("TERM")) != NULL) {
+ char *yast = getenv("YAST_DOES_ACS");
+ if (yast != 0)
+ return 0; /* YaST uses always correct font mappings */
+ if (yast != NULL)
+ returnCode(result); /* YaST uses always correct font mappings */
if (strstr(env, "linux")) {
result = 1; /* always broken */
} else if (strstr(env, "screen") != 0
} else if (strstr(env, "screen") != NULL
--- progs/Makefile.in
+++ progs/Makefile.in 2024-04-15 07:05:36.864695777 +0000
@@ -102,7 +102,7 @@ CFLAGS_LIBTOOL = $(CCFLAGS)
+++ progs/Makefile.in 2025-05-05 07:22:16.202714831 +0000
@@ -103,7 +103,7 @@ CFLAGS_LIBTOOL = $(CCFLAGS)
CFLAGS_NORMAL = $(CCFLAGS) -DNCURSES_STATIC
CFLAGS_DEBUG = $(CCFLAGS) -DNCURSES_STATIC @CC_G_OPT@ -DTRACE
CFLAGS_PROFILE = $(CCFLAGS) -DNCURSES_STATIC -pg
@@ -793,7 +779,7 @@
CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@)
@@ -119,7 +119,7 @@ LDFLAGS_LIBTOOL = $(LDFLAGS) $(CFLAGS_LI
@@ -120,7 +120,7 @@ LDFLAGS_LIBTOOL = $(LDFLAGS) $(CFLAGS_LI
LDFLAGS_NORMAL = $(LDFLAGS) $(CFLAGS_NORMAL)
LDFLAGS_DEBUG = $(LDFLAGS) $(CFLAGS_DEBUG)
LDFLAGS_PROFILE = $(LDFLAGS) $(CFLAGS_PROFILE)
@@ -803,8 +789,8 @@
LDFLAGS_DEFAULT = $(LDFLAGS_@DFT_UPR_MODEL@)
--- test/test.priv.h
+++ test/test.priv.h 2024-04-15 07:05:36.864695777 +0000
@@ -1156,12 +1156,12 @@ extern char *_nc_strstr(const char *, co
+++ test/test.priv.h 2025-05-05 07:22:16.202714831 +0000
@@ -1162,12 +1162,12 @@ extern char *_nc_strstr(const char *, co
#endif
/* out-of-band values for representing absent capabilities */
@@ -820,7 +806,7 @@
#define CANCELLED_STRING (char *)(-1)
--- test/tracemunch
+++ test/tracemunch 2024-04-15 07:05:36.864695777 +0000
+++ test/tracemunch 2025-05-05 07:22:16.202714831 +0000
@@ -1,4 +1,4 @@
-#!/usr/bin/env perl
+#!/usr/bin/perl

18
ncurses-6.5-ghostty.dif Normal file
View File

@@ -0,0 +1,18 @@
Add an alias which causes the link /usr/share/terminfo/x/xterm-ghostty
to ../g/ghostty (bug boo#1235689)
---
misc/terminfo.src | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- misc/terminfo.src
+++ misc/terminfo.src 2025-01-13 08:43:20.312926680 +0000
@@ -8592,7 +8592,7 @@ contour-direct|Contour terminal with dir
#
# The developers set "Tc" in their terminal description to hint that it
# supports direct-colors, but the feature did not work with this version -TD
-ghostty|Ghostty terminal emulator,
+ghostty|xterm-ghostty|Ghostty terminal emulator,
am, bce, km, mc5i, mir, msgr, npc, xenl, AX, XT,
cols#80, lines#24, pairs#0x7fff,
acsc=++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxy

BIN
ncurses-6.5-patches.tar.bz2 (Stored with Git LFS)

Binary file not shown.

View File

@@ -1,6 +1,4 @@
addFilter(".*files-duplicate.*")
addFilter(".*non-etc-or-var-file-marked-as-conffile.*")
addFilter(".*macro-in-comment.*jobs.*")
addFilter(".*E:.*no-library-dependency-for.*/usr/lib.*/ncurses5/\.\./libform\.so\.5.*")
addFilter(".*E:.*obsolete-suse-version-check.*")
addFilter(".*terminfo.*E:.no-binary.*")

View File

@@ -1,3 +1,581 @@
-------------------------------------------------------------------
Mon Jun 2 06:15:52 UTC 2025 - Dr. Werner Fink <werner@suse.de>
- Add ncurses patch 20250531
+ improve logic in misc/run_tic.in for constructing symbolic link
when $DESTDIR is set.
-------------------------------------------------------------------
Mon May 26 06:42:05 UTC 2025 - Dr. Werner Fink <werner@suse.de>
- Add ncurses patch 20250524
+ correct option-name used in configure script, which resulted in size
change for cchar_t (cf: 20250517).
-------------------------------------------------------------------
Mon May 19 07:14:46 UTC 2025 - Dr. Werner Fink <werner@suse.de>
- Add ncurses patch 20250517
+ initial changes for some ABI 7 features:
+ disable wgetch-events
+ add feature for extending mouse-buttons
+ add feature for extending direct-color support
+ use bracketed+paste in nsterm, rlogin-color, screen, terminology -TD
- First steps to support ABI 7
- Update to tack-1.11-20250503
* 2025/04/29 Add checks for RV/rv and XR/xr
-------------------------------------------------------------------
Thu May 15 15:46:37 UTC 2025 - Bernhard Wiedemann <bwiedemann@suse.com>
- Avoid expanding %jobs in comment (boo#1237231)
-------------------------------------------------------------------
Mon May 12 06:43:54 UTC 2025 - Dr. Werner Fink <werner@suse.de>
- Add ncurses patch 20250510
+ add rv/xr codes for domterm, mintty, mlterm -TD
+ add xr code for putty -TD
+ update teraterm to 5.0 -TD
+ add rlogin-color -TD
-------------------------------------------------------------------
Mon May 5 06:36:48 UTC 2025 - Dr. Werner Fink <werner@suse.de>
- Add ncurses patch 20250503
+ update/correct some of the rv/xr strings, checked with tack -TD
+ use ansi+rca in sclp -TD
+ use vt220+pcedit in sclp (Werner Fink)
+ move some building blocks from illumos to sun-color, based on
illumos source-history -TD
+ improve use-clauses: ansi+cup, ansi+idl1, ansi+rca, ansi+rca2,
ansi+sgrso, ansi+sgrul -TD
+ add ecma+standout, ecma+underline -TD
+ add rv code for alacritty -TD
+ add rv/xr codes for contour, ghostty, iterm2, kitty, konsole,
vscode, vte, wezterm -TD
- Modify patch ncurses-5.9-ibm327x.dif
* Reflect upstream added changes
- Port patch ncurses-6.4.dif
-------------------------------------------------------------------
Wed Apr 30 12:32:29 UTC 2025 - Dr. Werner Fink <werner@suse.de>
- Modify patch ncurses-5.9-ibm327x.dif
* sclp term: use ASCII Console key mapping and support home
* ibm327x term: can do color and drawings but no cursor
-------------------------------------------------------------------
Mon Apr 28 06:34:28 UTC 2025 - Dr. Werner Fink <werner@suse.de>
- Add ncurses patch 20250426
+ expand note on extensions in curs_addch.3x
+ add illumos, sun-16color, sun-256color, sun-direct -TD
+ add wyse+cvis -TD
- Add ncurses patch 20250419
+ add note on scrolling and lower-right corner to waddch and wadd_wch
manual pages.
- Modify patch ncurses-5.9-ibm327x.dif
* sclp term: more missed features like home/end/pageup/pagedown keys
-------------------------------------------------------------------
Mon Apr 14 08:59:25 UTC 2025 - Dr. Werner Fink <werner@suse.de>
- Add ncurses patch 20250412
+ add pangoterm -TD
+ add kf1 to kf5 to sclp (report by Werner Fink)
+ add vt100+pf1-pf4 -TD
- Modify patch ncurses-5.9-ibm327x.dif
* Skip the further entry as now aprt of the common `sclp' entry
* Add ansi.sys entry to ibm327x for coloring support
-------------------------------------------------------------------
Wed Apr 9 12:03:58 UTC 2025 - Dr. Werner Fink <werner@suse.de>
- Modify patch ncurses-5.9-ibm327x.dif
* Add a further sclp entry for qemu s390 based systems
-------------------------------------------------------------------
Mon Apr 7 06:14:22 UTC 2025 - Dr. Werner Fink <werner@suse.de>
- Add ncurses patch 20250405
+ improve formatting/style of manpages (patches by Branden Robinson).
+ improve infocmp -E/-e fallback feature (report by Ville Rissanen):
+ prefix names with "ti_" if they begin with a digit, e.g., 9term
+ escape backslashes and double-quotes in description fields
+ modify infocmp -E/-e fallback feature to reduce stricter compiler
warnings for the extended capability data.
+ add sclp -TD
+ add op to vt525 -TD
+ update contour -TD
- The new sclp terminfo description entry if for s390 sclp terminal lines
- Correct offsets of patches
* ncurses-6.4.dif
* ncurses-6.5-ghostty.dif
- Modify patch ncurses-5.9-ibm327x.dif
* Make use of dumb
-------------------------------------------------------------------
Thu Apr 3 09:19:19 UTC 2025 - Dr. Werner Fink <werner@suse.de>
- Do not provides ncurses for *new* C++ library subpackages
-------------------------------------------------------------------
Mon Mar 31 06:15:49 UTC 2025 - Dr. Werner Fink <werner@suse.de>
- Add ncurses patch 20250329
+ add XM/xm to ms-terminal, to enable mouse with experimental Windows
driver -TD
+ add -x option to infocmp in MKfallback.sh
+ improve experimental Windows driver by restoring the scroll buffer
and console mode, e.g., when reset_prog_mode or endwin is called
(patch by Daniel Starke).
+ add a buffer-limit check in postprocess_termcap (report/testcase by
Yifan Zhang).
-------------------------------------------------------------------
Mon Mar 24 08:41:43 UTC 2025 - Dr. Werner Fink <werner@suse.de>
- Add ncurses patch 20250322
+ add a null pointer check in mouse-initialization, for the
experimental Windows driver (patch by Daniel Starke).
+ improve makefile dependency in Ada95/src
+ add note in user_caps.5 addressing a quibble about dates.
-------------------------------------------------------------------
Mon Mar 17 07:39:44 UTC 2025 - Dr. Werner Fink <werner@suse.de>
- Add ncurses patch 20250315
+ improve formatting/style of manpages (patches by Branden Robinson).
-------------------------------------------------------------------
Thu Mar 13 11:37:03 UTC 2025 - Dan Čermák <dcermak@suse.com>
- Add _c++ library subpackages to libncurses5, libncurses6 & libncurses6-compat
This removes libstdc++ from the ncurses dependency chain unless a binary or
librarly explicitly depends on libncurses++ or libncurses++w
-------------------------------------------------------------------
Tue Mar 11 12:33:48 UTC 2025 - Dr. Werner Fink <werner@suse.de>
- Move manual pages of examples from section 6 to subsection 6n
-------------------------------------------------------------------
Mon Mar 10 07:32:46 UTC 2025 - Dr. Werner Fink <werner@suse.de>
- Add ncurses patch 20250308
+ remove test in wgetch which applied notimeout to the initial read
of a character (patch by Branden Robinson).
+ improve formatting/style of manpages (patches by Branden Robinson).
+ fix a few compiler-warnings in MinGW port.
-------------------------------------------------------------------
Mon Mar 3 07:46:13 UTC 2025 - Dr. Werner Fink <werner@suse.de>
- Add ncurses patch 20250301
+ add color to vt525 (Branden Robinson)
+ add vt520-w and vt525-w (Branden Robinson)
+ improve formatting/style of manpages (patches by Branden Robinson).
+ improve configurability of alloca() as used in Windows ports.
+ fix some typos in manpages.
+ modify configure script checks for stdbool.h to fix build with older
gcc version.
- Correct offsets of patches
* ncurses-5.9-ibm327x.dif
* ncurses-6.4.dif
* ncurses-6.5-ghostty.dif
-------------------------------------------------------------------
Tue Feb 25 09:05:38 UTC 2025 - Dr. Werner Fink <werner@suse.de>
- Add ncurses patch 20250222
+ modify treatment of "n" parameter for waddnstr, waddnwstr, and
wins_nwstr to return OK when "n" is zero, for consistency with other
implementations (report by Benjamin Barenblat, cf: 20231118).
+ formatting improvements for terminfo.5 (Debian #1096164).
-------------------------------------------------------------------
Mon Feb 17 08:40:50 UTC 2025 - Dr. Werner Fink <werner@suse.de>
- Add ncurses patch 20250216
+ add limit-checks in alloc_entry.c and alloc_ttype.c to avoid indexing
errors when using infocmp to compare all capabilities when processing
a malformed terminfo binary which has a valid header (testcase by
"Ekkosun").
- Add ncurses patch 20250215
+ add gzip option for suppressing filename/timestamp information to an
overlooked case (cf: 20240330).
+ correct spelling errors found with codespell.
+ fix some typos in manpages (report by Sven Joachim)
+ amend change to lib_set_term.c to work with thread configuration
(report by Rajeev Pillai, cf: 20250208).
-------------------------------------------------------------------
Mon Feb 10 07:08:11 UTC 2025 - Dr. Werner Fink <werner@suse.de>
- Add ncurses patch 20250208
+ change etip.h.in to include either/both of <new> and <exception>,
needed for another old BSD.
+ update st (report by Alexander Kashpir) -TD
+ add note for ghostty 1.1.0 -TD
+ fix a few issues found with coverity.
- Correct offset of patches
* ncurses-5.9-ibm327x.dif
* ncurses-6.4.dif
* ncurses-6.5-ghostty.dif
-------------------------------------------------------------------
Mon Feb 3 07:50:38 UTC 2025 - Dr. Werner Fink <werner@suse.de>
- Add ncurses patch 20250201
+ add <new> to the possible headers declaring the C++ std::bad_alloc
(report by Carl Hansen).
+ modify check for stdbool.h to be more conservative in case the
headers are used with a compiler other than that which was used to
configure (Redhat #2342514).
+ improve MKlib_gen.sh handling of "bool" type, for building link_test
+ improve formatting/style of manpages (patches by Branden Robinson).
-------------------------------------------------------------------
Mon Jan 27 07:15:34 UTC 2025 - Dr. Werner Fink <werner@suse.de>
- Add ncurses patch 20250125
+ improve error-handling in c++ binding (report by Mingjie Shen).
+ strict compiler-warning fixes for upcoming gcc15
- Install missed ticw.pc
- Update README.devel
-------------------------------------------------------------------
Fri Jan 24 11:27:42 UTC 2025 - Dr. Werner Fink <werner@suse.de>
- Drop support of build ncurses applications with ABI 5 but leave
the shared libraries for older applications using ABI 5
- Add new package libncurses6-compat with the shared libraries
without weak (p)thread support for foreign ncurses applications.
Use with LD_LIBRARY_PATH=/usr/lib64/ncurses6nt (boo#1132282)
-------------------------------------------------------------------
Mon Jan 20 07:15:33 UTC 2025 - Dr. Werner Fink <werner@suse.de>
- Add ncurses patch 20250118
+ improve pattern used for configure --with-xterm-kbs option (report by
Mingyu Wang)
+ update configure macros, from work on cdk and dialog.
+ change a parameter name in curs_sp_funcs.3x, for consistency (patch
by "WHR").
> patches by Branden Robinson:
+ improve formatting/style of manpages
+ change winwstr() to a generated function, using the macro definition,
moving its handling of negative length parameter into winnwstr().
+ correct actual-function name in a few trace calls.
-------------------------------------------------------------------
Thu Jan 16 12:03:11 UTC 2025 - Dr. Werner Fink <werner@suse.de>
- Drop all ghostty terminfo entries as ghostty read also its own
termcap files even with terminfo (boo#1235689)
-------------------------------------------------------------------
Mon Jan 13 08:16:46 UTC 2025 - Dr. Werner Fink <werner@suse.de>
- Add ncurses patch 20250111
+ add check for infinite loop in tic's use-resolution.
+ increase limit on use-clauses from 32 to 40, warn but allow entries
which exceed the old limit.
+ add some null-pointer checks after mallocs in test-programs.
- Add patch ncurses-6.5-ghostty.dif
* Add an alias which causes the link /usr/share/terminfo/x/xterm-ghostty
to ../g/ghostty (bug boo#1235689)
-------------------------------------------------------------------
Tue Jan 7 10:15:07 UTC 2025 - Dr. Werner Fink <werner@suse.de>
- Add ncurses patch 20250104
+ modify tput to warn about capabilities which expect parameters where
none are given; also repair the feature where multiple capabilities
can be handled on a single line.
+ cleanup use-clauses -TD
+ add linux+lockeys, xterm+r5+lockeys, xterm+r5+fkeys -TD
+ add vt220+ufkeys, vt220+sfkeys
+ revert man/manlinks.sed change, which loses aliases (cf: 20241228).
+ modify MKlib_gen.c to allow for Solaris's definition of NULL as 0L
- Add ncurses patch 20241228
+ correct conditional-compile for a case when the C compiler does not
have a bool type.
+ add ghostty -TD
> patches by Branden Robinson:
+ add comments to generated term.h to hint the configure options used
+ use same subdir-convention for term.h, in configure script
+ improve formatting/style of manpages
- Add ncurses patch 20241221
+ modify ncurses/tinfo/MKfallback.sh to work with MacOS sed, which
lacks BSD-style \< and \>
+ trim padding from sgr expresion used in trim_sgr0, to avoid copying
the padding into the resulting sgr0 (report by Rajeev Pillai).
+ strict compiler-warning fixes for upcoming gcc15
- Add ncurses patch 20241214
+ avoid redefining bool in curses.h if the platform already supports
that type (cf: 20241123).
+ move include <curses.h> from etip.h.in to cursesw.h, to work around
breakage in Apple's port of ncurses.
+ strict compiler-warning fixes for upcoming gcc15
- Port patches
* ncurses-5.9-ibm327x.dif
* ncurses-6.4.dif
-------------------------------------------------------------------
Mon Dec 9 07:09:56 UTC 2024 - Dr. Werner Fink <werner@suse.de>
- Add ncurses patch 20241207
+ strict compiler-warning fixes for upcoming gcc15
- Port patches means same fixes as above
* FORTIFY_SOURCE_3-fix.patch
* ncurses-6.4.dif
-------------------------------------------------------------------
Tue Dec 3 07:58:36 UTC 2024 - Dr. Werner Fink <werner@suse.de>
- Add ncurses patch 20241130
+ improve configure check for lint program.
+ adjust options in test-programs to allow for consistent use of -c/-l
for command/logging.
+ modify win_driver.c for MinGW to handle shift-tab and control-tab as
back-tab (report by Axel Reinhold)
-------------------------------------------------------------------
Mon Nov 25 13:12:58 UTC 2024 - Dr. Werner Fink <werner@suse.de>
- Add ncurses patch 20241123
+ remove dependency on stdbool.h from configure script check for type
of bool when C++ binding is omitted (report by Sam James).
+ compiler-warning fixes
-------------------------------------------------------------------
Mon Nov 11 11:32:17 UTC 2024 - Dr. Werner Fink <werner@suse.de>
- Add ncurses patch 20241109
+ work around musl header ifdef's (report by Urs Jansen, cf: Gentoo
#920266).
+ improve error-reporting in write_entry.c (report by Changqing Li).
+ remove unused #include from DJGPP configuration (report by Stas
Sergeev).
+ workaround/fix issues from clang-analyze
-------------------------------------------------------------------
Mon Nov 4 08:12:21 UTC 2024 - Dr. Werner Fink <werner@suse.de>
- Add ncurses patch 20241102
+ remove djgpp-specific initialization to binary mode (report/patch by
Stas Sergeev).
+ add extended-keys for djgpp 2.05 -TD
- Add ncurses patch 20241026
+ update ms-terminal -TD
+ add ms-terminal-direct -TD
+ correct dimensions in test/popup_msg.c, fixing an overrun (patch by
Stas Sergeev, cf: 20211219).
-------------------------------------------------------------------
Mon Oct 21 06:40:43 UTC 2024 - Dr. Werner Fink <werner@suse.de>
- Add ncurses patch 20241019
+ fixes for compiler warnings/cppcheck.
+ build-fixes for DJGPP configuration (patches by Stas Sergeev)
-------------------------------------------------------------------
Mon Oct 7 07:07:40 UTC 2024 - Dr. Werner Fink <werner@suse.de>
- Add ncurses patch 20241006
+ fixes for compiler warnings/cppcheck.
+ use xterm+alt+title in wezterm -TD
-------------------------------------------------------------------
Mon Sep 30 06:48:02 UTC 2024 - Dr. Werner Fink <werner@suse.de>
- Add ncurses patch 20240928
+ improve error-message from infocmp when a terminal entry cannot be
opened (patch by Branden Robinson).
+ improve filtering of -L options in misc/gen-pkgconfig.in and in
misc/ncurses-config.in
+ add check in wresize() for out-of-range dimensions (report by Peter
Bierma).
-------------------------------------------------------------------
Mon Sep 23 06:00:15 UTC 2024 - Dr. Werner Fink <werner@suse.de>
- Add ncurses patch 20240922
+ add a few null-pointer checks in ncurses
+ improve test-driver in ncurses/link_test.c
+ restore background character in manpages as described in X/Open
Curses section 3.3.6, and add option "-c" to test programs to
illustrate a non-blank character in the window background property.
+ improve formatting/style of manpages (patches by Branden Robinson).
+ modify ncurses*-config to add -I option in --cflag where needed for
--disable-overwrite to match ".pc" files.
+ disallow directories and block/character devices in safe-open.
+ amend scr_restore() and scr_init() to remove the target window only
after validating the source window which will replace the target
(report by Zixi Liu).
-------------------------------------------------------------------
Mon Sep 16 06:29:50 UTC 2024 - Dr. Werner Fink <werner@suse.de>
- Add ncurses patch 20240914
+ modify _nc_flush() to also flush stderr to help the flash capability
to work in bash (patch by Harm te Hennepe, cf: 20201128)
+ omit -g and -fXXX flags from CFLAGS in misc/ncurses-config.in
+ improve formatting/style of manpages (patches by Branden Robinson).
+ improve examples in NCURSES-Programming-HOWTO.html
+ update comments in terminfo.src -TD
-------------------------------------------------------------------
Mon Sep 2 06:23:12 UTC 2024 - Dr. Werner Fink <werner@suse.de>
- Add ncurses patch 20240831
+ build-fix for a case in msys2 where gettimeofday() was available but
the fallback was partly configured.
> patch by Rafael Kitover:
+ separate the _NC_WINDOWS platform macro into _NC_WINDOWS_NATIVE,
for MinGW and other native Win32 support, and _NC_WINDOWS, to make
some Win32 features available under the Cygwin runtime, in this case
the term-driver.
+ make some minor adjustments to allow
./configure --enable-term-driver
to also work on Cygwin platforms such as Cygwin and MSYS2.
-------------------------------------------------------------------
Mon Aug 26 06:27:00 UTC 2024 - Dr. Werner Fink <werner@suse.de>
- Add ncurses patch 20240824
+ modify infocmp and tabs to use actual name in usage and header.
+ modify test/demo_keyok.c to accept ^Q for quit, for consistency.
-------------------------------------------------------------------
Wed Aug 21 06:32:53 UTC 2024 - Dr. Werner Fink <werner@suse.de>
- Break dependency cycle between libncurses6 which provides "ncurses"
by only let terminfo-base recommending "ncurses"
-------------------------------------------------------------------
Mon Aug 19 07:33:34 UTC 2024 - Dr. Werner Fink <werner@suse.de>
- Add ncurses patch 20240817
+ review/update foot for 1.18.1 -TD
+ add a note about DomTerm 3.2.0 -TD
+ add new glob-expressions variables to list in config.status script
(patch by Werner Fink).
+ add --enable-install-prefix to modify behavior of $DESTDIR to merge
or replace the value set by --prefix (adapted from suggestion by
Eli Zaretskii).
- Remove patch fix-20240810.patch as now upstream
- Correct offsets of patches
* ncurses-5.9-ibm327x.dif
* ncurses-6.4.dif
-------------------------------------------------------------------
Wed Aug 14 09:34:10 UTC 2024 - Dr. Werner Fink <werner@suse.de>
- Add patch fix-20240810.patch
* Workaround for changes in last patch 20240810 that is provide
GLOB_FULLPATH_POSIX and GLOB_FULLPATH_OTHER in status script
-------------------------------------------------------------------
Tue Aug 13 07:43:03 UTC 2024 - Dr. Werner Fink <werner@suse.de>
- Add ncurses patch 20240810
+ modify misc/Makefile.in and misc/run_tic.in so that $DESTDIR is set
and used only in the makefile.
+ modify CF_WITH_PKG_CONFIG_LIBDIR to allow for pkg-config using
DOS/Windows pathname syntax (report by Eli Zaretskii).
+ improve glob-expressions in configure script
+ remove unused Get_Menu_Screen() macro from menu.priv.h
+ update config.guess, config.sub
- Add ncurses patch 20240727
+ improve formatting/style of manpages (patches by Branden Robinson).
+ fixes for compiler warnings/cppcheck.
+ modify wattron/wattroff calls in form/m_post.c to call wattr_on and
wattr_off to omit cast used in the former for X/Open compatibility
(patch by Bill Gray).
+ modify wezterm, omitting its broken left/right margin feature (report
by Thayne McCombs) -TD
- Modify patch ncurses-6.4.dif to get offsets correct
-------------------------------------------------------------------
Mon Jul 22 06:22:44 UTC 2024 - Dr. Werner Fink <werner@suse.de>
- Add ncurses patch 20240720
+ improve formatting/style of manpages (patches by Branden Robinson).
+ modify configure script and misc/Makefile to accept glob expressions
that include Windows/DOS drive-letters (report by Eli Zaretskii).
+ fix misspelled ifdef and correct return-value of _nc_mingw_tcflush in
win_driver.c (report/patch by Eli Zaretskii).
-------------------------------------------------------------------
Mon Jul 15 12:37:55 UTC 2024 - Dr. Werner Fink <werner@suse.de>
- Add ncurses patch 20240713
+ modify misc/ncurses-config.in, improved match with pkg-config output.
-------------------------------------------------------------------
Mon Jul 8 06:19:21 UTC 2024 - Dr. Werner Fink <werner@suse.de>
- Add ncurses patch 20240706
+ update configure script to use macro changes from dialog.
+ modify CF_NCURSES_PTHREADS to avoid equating package and library
names.
-------------------------------------------------------------------
Mon Jul 1 06:32:41 UTC 2024 - Dr. Werner Fink <werner@suse.de>
- Add ncurses patch 20240629
+ build-fix for ncurses-examples with newer PDCurses, which no longer
has stubs for unimplemented features.
+ add help-popup for test_instr.c, test_inwstr.c
+ modify checks in delwin to avoid checking if the window is a pad
until first checking if it is still on the active window-list
(cf: 20211115).
+ improve -t option of test/gdc.c, allowing hours only, or hours and
minutes only.
- Update to tack 1.10 (patch 20240501)
* init.c, edit.c: gcc warning (NetBSD)
* edit.c:
check to avoid printing a non-printable character, per Coverity
* tack.c: initialize variables, per Coverity
* tack.1: change limit for SGR tool to allow for aixterm's colors
* ansi.c: change the SGR tool to show up to 120 (past aixterm's 108)
* color.c:
when reloading the colors 0-7, use the index for the named color rather than
just the array-index (fixing an interchanged red/blue for instance).
Also, initialize the palette using the ANSI codes if the terminal supports
setaf/setab.
* color.c, charset.c, ansi.c, edit.c, crum.c, pad.c, tack.c, tack.h:
use "const" in a few places reported by cppcheck
* tack.1: improve formatting/style
-------------------------------------------------------------------
Mon Jun 24 07:57:50 UTC 2024 - Dr. Werner Fink <werner@suse.de>
- Add ncurses patch 20240622
+ improve test/gdc.c (patch by Branden Robinson).
+ improve formatting/style of manpages (patches by Branden Robinson).
+ adjust naming of mingw *-config scripts to match the pkg-config names
+ widen pattern in pc/*-config scripts to disallow more linker options
+ add --cflags-only-I and --cflags-only-other options to
misc/ncurses-config.in
+ revert change to CF_BUILD_CC macro (report by Vassili Courzakis,
cf: 20240518).
- Port patch ncurses-6.4.dif
- Port edit.sed script to new ncurses-config
-------------------------------------------------------------------
Mon Jun 17 06:42:12 UTC 2024 - Dr. Werner Fink <werner@suse.de>
- Add ncurses patch 20240615
+ improve formatting/style of manpages (patches by Branden Robinson).
+ review/update modules files.
+ improve install-rules in Ada95 makefiles (report by Branden Robinson).
+ improve formatting/style of manpages in test-directory.
-------------------------------------------------------------------
Mon Jun 10 06:07:51 UTC 2024 - Dr. Werner Fink <werner@suse.de>

View File

@@ -1,7 +1,7 @@
#
# spec file for package ncurses
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -24,6 +24,8 @@
%endif
%bcond_with memleakck
%bcond_without onlytinfo
%bcond_without abi5
%bcond_with abi7
%bcond_with ada
%bcond_with libbsd
%bcond_with usepcre2
@@ -34,11 +36,16 @@
%else
%global soname_tinfo tinfow
%endif
%ifarch s390x s390
%global fallback unknown,dumb,xterm,xterm-256color,ibm327x,ms-terminal,vt100,vt102,vt220,sclp
%else
%global fallback unknown,dumb,xterm,xterm-256color,linux,ms-terminal,vt100,vt102,vt220
%endif
%global patchlvl %(bash %{_sourcedir}/get_version_number.sh %{_sourcedir})
%global basevers 6.5
%global tackvers 1.09
%global tacklvl 20230201
%global tackvers 1.11
%global tacklvl 20250503
Name: ncurses
#!BuildIgnore: terminfo
@@ -64,11 +71,7 @@ BuildRequires: screen
%if %{with usepcre2}
BuildRequires: pkgconfig(libpcre2-8)
%endif
%if 0%{?suse_version} > 1130
BuildRequires: gpm-devel
%else
BuildRequires: gpm
%endif
BuildRequires: makedepend
%define terminfo() %{_datadir}/%{0}/%{1}
%define tabset() %{_datadir}/%{0}/%{1}
@@ -101,10 +104,12 @@ Source8: cursescheck
Source9: https://www.invisible-island.net/archives/ncurses/ncurses-%{basevers}.tar.gz.asc
Source10: https://www.invisible-island.net/archives/ncurses/current/tack-%{tackvers}-%{tacklvl}.tgz.asc
Source11: ncurses.keyring
Source12: ncursesnt
Patch0: ncurses-6.4.dif
Patch1: ncurses-5.9-ibm327x.dif
Patch2: ncurses-5.7-tack.dif
Patch3: FORTIFY_SOURCE_3-fix.patch
Patch4: ncurses-6.5-ghostty.dif
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%global _miscdir %{_datadir}/misc
%global _incdir %{_includedir}
@@ -154,7 +159,7 @@ showing the features of the new curses libraries.
Summary: A terminal descriptions database
License: MIT
Group: System/Base
Requires: ncurses >= %{version}
Recommends: ncurses >= %{version}
Recommends: terminfo-screen = %{version}
Provides: ncurses:%{_datadir}/tabset
@@ -209,6 +214,18 @@ controlling output to the screen and input from the user.
This package contains the library built with the version 5 ABI.
%package -n libncurses_c++5
Summary: Terminal control library
License: MIT
Group: System/Libraries
Requires: terminfo-base
%description -n libncurses_c++5
The ncurses library is used by many terminal applications for
controlling output to the screen and input from the user.
This package contains the C++ library built with the version 5 ABI.
%package -n libncurses6
Summary: Terminal control library
License: MIT
@@ -216,6 +233,7 @@ Group: System/Libraries
Requires: terminfo-base
Provides: ncurses = %{version}
Recommends: ncurses-utils = %{version}
Suggests: libncurses6-compat
%description -n libncurses6
The ncurses library is used by many terminal applications for
@@ -223,6 +241,56 @@ controlling output to the screen and input from the user.
This package contains the library built with the version 6 ABI.
%package -n libncurses_c++6
Summary: Terminal control library
License: MIT
Group: System/Libraries
Requires: terminfo-base
Recommends: ncurses-utils = %{version}
Suggests: libncurses6-compat
%description -n libncurses_c++6
The ncurses library is used by many terminal applications for
controlling output to the screen and input from the user.
This package contains the C++ library built with the version 6 ABI.
%package -n libncurses6-compat
Summary: Terminal control library without weak threading support
License: MIT
Group: System/Libraries
Requires: libncurses6 >= %{version}
Requires: terminfo-base
Recommends: ncurses-utils = %{version}
%description -n libncurses6-compat
The ncurses library is used by many terminal applications for
controlling output to the screen and input from the user.
This package contains the library built with the version 6 ABI
but build without weak threading support.
Use with environment variable LD_LIBRARY_PATH=/usr/lib64/ncurses6nt
or the wrapper script ncursesnt .
%package -n libncurses_c++6-compat
Summary: Terminal control library without weak threading support
License: MIT
Group: System/Libraries
Requires: libncurses6 >= %{version}
Requires: terminfo-base
Recommends: ncurses-utils = %{version}
%description -n libncurses_c++6-compat
The ncurses library is used by many terminal applications for
controlling output to the screen and input from the user.
This package contains the C++ library built with the version 6 ABI
but build without weak threading support.
Use with environment variable LD_LIBRARY_PATH=/usr/lib64/ncurses6nt
or the wrapper script ncursesnt .
%package -n terminfo
Summary: A terminal descriptions database
License: SUSE-Public-Domain
@@ -284,44 +352,6 @@ Requires: ncurses-devel = %{version}-%{release}
This package contains the static library files for
the ncurses library in its ABI version 6 form.
%package -n ncurses5-devel
Summary: Development files for the ncurses5 terminal control library
License: MIT
Group: Development/Libraries/C and C++
Provides: ncurses:%{_incdir}/ncurses5/ncurses.h
Requires: %{_bindir}/tack
Requires: libncurses5 = %{version}-%{release}
Requires: ncurses = %{version}-%{release}
Requires: ncurses-devel = %{version}-%{release}
%description -n ncurses5-devel
This package contains the headers needed to build against
the ncurses library in its ABI version 5 form.
%package -n ncurses5-devel-static
Summary: Static libraries for the ncurses5 terminal control library
License: MIT
Group: Development/Libraries/C and C++
Provides: ncurses5-devel:%{_libdir}/ncurses5/libform.a
Provides: ncurses5-devel:%{_libdir}/ncurses5/libformw.a
Provides: ncurses5-devel:%{_libdir}/ncurses5/libmenu.a
Provides: ncurses5-devel:%{_libdir}/ncurses5/libmenuw.a
Provides: ncurses5-devel:%{_libdir}/ncurses5/libncurses++.a
Provides: ncurses5-devel:%{_libdir}/ncurses5/libncurses++w.a
Provides: ncurses5-devel:%{_libdir}/ncurses5/libncurses.a
Provides: ncurses5-devel:%{_libdir}/ncurses5/libncurses.a
Provides: ncurses5-devel:%{_libdir}/ncurses5/libncursesw.a
Provides: ncurses5-devel:%{_libdir}/ncurses5/libpanel.a
Provides: ncurses5-devel:%{_libdir}/ncurses5/libpanelw.a
Provides: ncurses5-devel:%{_libdir}/ncurses5/libtic.a
Provides: ncurses5-devel:%{_libdir}/ncurses5/libticw.a
Provides: ncurses5-devel:%{_libdir}/ncurses5/libtinfo.a
Requires: ncurses5-devel = %{version}-%{release}
%description -n ncurses5-devel-static
This package contains the static library files for
the ncurses library in its ABI version 5 form.
%package -n tack
Version: %{tackvers}.%{tacklvl}
Summary: Terminfo action checker
@@ -366,6 +396,7 @@ mv tack-* tack
%patch -P2 -p0 -b .hs
%patch -P0 -p0 -b .p0
%patch -P3 -p1
%patch -P4 -p0
%build
#
@@ -384,7 +415,7 @@ mv tack-* tack
#
CFLAGS_SHARED="%{_lto_cflags_shared}"
export CFLAGS_SHARED
%global configtack %configure
%global configback %configure
%global _configure screen -D -m ./configure
SCREENDIR=$(mktemp -d ${PWD}/screen.XXXXXX) || exit 1
SCREENRC=${SCREENDIR}/ncurses
@@ -435,11 +466,6 @@ export CFLAGS_SHARED
test ! -f /.buildenv || . /.buildenv
OPATH=$PATH
%ifarch s390x s390
FALLBK="unknown,dumb,xterm,xterm-256color,ibm327x,ms-terminal,vt100,vt102,vt220"
%else
FALLBK="unknown,dumb,xterm,xterm-256color,linux,ms-terminal,vt100,vt102,vt220"
%endif
CC=gcc
CXX=g++
CFLAGS="${RPM_OPT_FLAGS} -pipe -D_REENTRANT"
@@ -494,10 +520,6 @@ export CFLAGS_SHARED
trap 'rm -rf ${TMPDIR}' EXIT
export TMPDIR
#
# getttynam(3) as well as /etc/ttys are not used under Linux
# (obsolate with patch 6.3 20211204)
# sed -ri '/^getttynam\s*\\$/d' configure
#
# No --enable-term-driver as this had crashed last time
# in ncurses/tinfo/lib_setup.c due to the fact that
# _nc_globals.term_driver was a NULL function pointer as
@@ -515,15 +537,9 @@ export CFLAGS_SHARED
# No --enable-hard-tabs for users which have disabled
# the use of tabs
#
touch --reference=README config.sub config.guess
> $SCREENLOG
tail -q -s 0.5 -f $SCREENLOG & pid=$!
%configure \
%if %{with ada}
--with-ada \
%else
--without-ada \
%endif
common="\
--with%{?!with_ada:out}-ada \
--without-debug \
--without-profile \
--without-manpage-tbl \
@@ -534,18 +550,13 @@ export CFLAGS_SHARED
--with-manpage-aliases \
--with-manpage-symlinks \
--with-ospeed=speed_t \
%if 0%{?suse_version} > 1310
--with-gpm=$(readlink %{_libdir}/libgpm.so) \
%else
--with-gpm \
%endif
--with-dlsym \
--with-gpm=$(readlink -f %{_libdir}/libgpm.so | sed -r 's/(\.so.[0-9]+)\..*/\1/') \
--with-default-terminfo-dir=%{_datadir}/terminfo \
--with-terminfo-dirs=%{_sysconfdir}/terminfo:%{_datadir}/terminfo \
--with-xterm-kbs=DEL \
%if %{with usepcre2}
--with-pcre2 \
%endif
--with%{?!with_usepcre2:out}-pcre2 \
--with-install-prefix=%{root} \
--disable-stripping \
--disable-root-access \
--disable-root-environ \
@@ -554,9 +565,7 @@ export CFLAGS_SHARED
--disable-overwrite \
--disable-rpath \
--disable-rpath-hack \
%if %{with memleakck}
--disable-leaks \
%endif
%{?with_memleakck:--disable-leaks} \
--disable-xmc-glitch \
--enable-symlinks \
--enable-big-core \
@@ -567,26 +576,9 @@ export CFLAGS_SHARED
--enable-colorfgbg \
--enable-sp-funcs \
--enable-interop \
--with-pthread \
--enable-reentrant \
%if 0%{?suse_version} > 1500
--enable-opaque-curses \
--enable-opaque-form \
--enable-opaque-menu \
--enable-opaque-panel \
%endif
--enable-ext-mouse \
--enable-widec \
--enable-wattr-macros \
--with-termlib=%{soname_tinfo} \
--with-ticlib=ticw \
%if %{with symversion}
--with-versioned-syms=${PWD}/package/ncursestw.map \
%endif
--enable-ext-colors \
--enable-weak-symbols \
--disable-wgetch-events \
--enable-pthreads-eintr \
--enable-string-hacks \
--enable-check-size \
--prefix=%{_prefix} \
@@ -600,26 +592,74 @@ export CFLAGS_SHARED
--with-cxx-shared \
--with-pc-suffix \
--enable-pc-files \
%if 0%{?_crossbuild}
--with-fallbacks="$FALLBK" \
%else
--with-fallbacks="" \
%endif
%if %{with hasheddb}
--with-hashed-db \
%endif
--with-pkg-config-libdir=%{_libdir}/pkgconfig
--with-fallbacks="%{?_crossbuild:%{fallback}}" \
--with%{?!with_hasheddb:out}-hashed-db \
--with-pkg-config-libdir=%{_libdir}/pkgconfig \
"
touch --reference=README config.sub config.guess
# must not use %%jobs here (would lead to: ln: ncurses.h already exists)
find man/ -name '*.[1-8]x.*' -print -delete
mkdir pc
PKG_CONFIG_PATH=$PWD/pc:$(pkg-config --variable pc_path pkg-config)
export PKG_CONFIG_PATH
echo PKG_CONFIG_PATH=$PKG_CONFIG_PATH
for abi in 6 %{?with_abi5:5} %{?with_abi7:7}
do
for wide in w ""
do
for pthreads in t ""
do
test "$abi" = 5 -a -n "$pthreads" && continue || :
mkdir build.${wide}${pthreads}${abi}
pushd build.${wide}${pthreads}${abi}
ln -sf ../configure .
ln -sf ../package .
ln -sf ../pc .
map=ncurses${pthreads}${wide}
tic=tic${wide}
test "$abi" = %{?with_abi7:7}%{!?with_abi7:6} -a -n "$pthreads" -a -n "$wide" && progs=with || progs=without
configure="${common} $(
echo --with-abi-version=$abi
echo --with-versioned-syms=${PWD}/package/${map}.map --with-ticlib=${tic}
echo --${progs}-manpages --${progs}-progs --${progs}-tack
test "$abi" = 6 -o "$abi" = 7 && \
echo --enable-opaque-curses --enable-opaque-form --enable-opaque-menu --enable-opaque-panel --enable-ext-mouse --enable-ext-colors || \
echo --disable-opaque-curses --disable-opaque-form --disable-opaque-menu --disable-opaque-panel --disable-ext-mouse --disable-ext-colors
#
# If threaded then use pthreads and weak symbols as this avoids four different libraries
# Side effect is that the the threaded libraries a binary incompatible with none threaded
#
test -n "$pthreads" && \
echo --with-pthread --enable-pthreads-eintr --enable-reentrant --enable-weak-symbols || \
echo --without-pthread --disable-pthreads-eintr --disable-reentrant --disable-weak-symbols
test -n "$wide" && \
echo --enable-widec --enable-wattr-macros || \
echo --disable-widec --disable-wattr-macros
test -z "$pthreads" -a "$abi" = 6 && echo --libdir=%{_libdir}/%{name}${abi}nt || :
test "$abi" = 5 && echo --includedir=%{_incdir}/%{name}${abi} || :
)"
> $SCREENLOG
tail -q -s 0.5 -f $SCREENLOG & pid=$!
%configure $configure
sleep 1
kill $pid
#
# The configure line used above. Note that we override
# several options later with other configurations.
# It has been verified several times that this works.
#
c=$(grep '^ *$ *\./configure' config.log)
make depend
make -C c++ etip.h
make %{?_smp_mflags}
test -s ../fallback.c.build && cp ../fallback.c.build ncurses/fallback.c
%make_build libs
# This is for abi == 6 with wide characters and threads as
# required by the ncurses GUI of YaST2
if test "$progs" = with
then
%make_build -C progs
#
# Refresh second install path
#
@@ -640,19 +680,20 @@ export CFLAGS_SHARED
cp -p lib/*.so* lib/.build/
PATH=$PWD/progs:$OPATH
export PATH
(cat > ${PWD}/.build_tic)<<-EOF
(cat > ${PWD}/../.build_tic)<<-EOF
export LD_LIBRARY_PATH=$PWD/lib/.build
export BUILD_TIC=$PWD/progs/tic.build
export BUILD_INFOCMP=$PWD/progs/infocmp.build
EOF
pushd ncurses/
. ${PWD}/../.build_tic
$BUILD_TIC -I -r -e $FALLBK ../misc/terminfo.src > terminfo.src
ln -sf ../../ncurses/tinfo .
. ${PWD}/../../.build_tic
$BUILD_TIC -I -r -e "%{fallback}" ../../misc/terminfo.src > terminfo.src
$BUILD_TIC -o $TERMINFO -s terminfo.src
bash -e ./tinfo/MKfallback.sh $PWD/tmp_info ../misc/terminfo.src $BUILD_TIC $BUILD_INFOCMP ${FALLBK//,/ } > fallback.c
bash -e ./tinfo/MKfallback.sh $PWD/tmp_info ../../misc/terminfo.src $BUILD_TIC $BUILD_INFOCMP $(echo %{fallback}|sed 's/,/ /g') > fallback.c
rm -rf $TERMINFO
unset TERMINFO
cp -p fallback.c ../fallback.c.build
cp -p fallback.c ../../fallback.c.build
unset LD_LIBRARY_PATH
popd
PATH=$OPATH
@@ -660,333 +701,132 @@ export CFLAGS_SHARED
# Now rebuild libncurses and do the rest of this job
#
find -name fallback.o -print -delete
cp fallback.c.build ncurses/fallback.c
make depend
make -C c++ etip.h
make %{?_smp_mflags}
cp ../fallback.c.build ncurses/fallback.c
%make_build libs
%else
(cat > ${PWD}/.build_tic)<<-EOF
export BUILD_TIC=/usr/bin/tic
export BUILD_INFOCMP=/usr/bin/infocmp
EOF
%endif
# must not use %jobs here (would lead to: ln: ncurses.h already exists)
find man/ -name '*.[1-8]x.*' -print -delete
make install DESTDIR=%{root} includedir=%{_incdir} includesubdir=/ncursesw libdir=%{_libdir}
else
#
# Now rebuild libncurses and do the rest of this job
#
%make_build libs
fi
popd
done
done
done
pushd build.wt6
make install DESTDIR=%{root} includesubdir=/ncursesw
%if %{with onlytinfo}
# This ensures that we get the libtinfo *with* _nc_read_entry2 symbol as well
# This ensures that we get an auxiliary libtinfow *with* _nc_read_entry2 symbol as well
gcc $CFLAGS $LDFLAGS -fPIC -shared -Wl,--auxiliary=libtinfo.so.6,-soname,libtinfow.so.6,-stats,-lc \
-Wl,--version-script,ncurses/resulting.map -o %{root}%{_libdir}/libtinfow.so.%{basevers}
cp -p %{root}%{_libdir}/libtinfo.so.%{basevers} libtinfo.so.%{basevers}.back
cp -p %{root}%{_libdir}/libtinfow.so.%{basevers} libtinfow.so.%{basevers}.back
%endif
ln -sf %{_incdir}/ncurses/{curses,ncurses,term,termcap}.h %{root}%{_incdir}
mkdir pc
PKG_CONFIG_PATH=$PWD/pc:$(pkg-config --variable pc_path pkg-config)
export PKG_CONFIG_PATH
pushd man
bash ../edit_man.sh normal installing %{root}%{_mandir} . ncurses6-config.1
popd
install -m 0644 misc/ticw.pc %{root}%{_libdir}/pkgconfig/
rm -vf %{root}%{_libdir}/pkgconfig/tic.pc
rm -vf %{root}%{_libdir}/pkgconfig/tinfo.pc
mv -vf %{root}%{_libdir}/pkgconfig/*.pc pc/
sed -ri 's@^(Requires.private:).*@\1@' pc/*.pc
echo $PKG_CONFIG_PATH
what=ncursesw
cflags="$(pkg-config --cflags $what)"
libs="$(pkg-config --libs $what)"
cflags="$(pkg-config --cflags ncursesw)"
libs="$(pkg-config --libs ncursesw)"
test -n "$cflags" -a -n "$libs" || exit 1
bash %{S:6} --cflags "${cflags%%%% }" --libs "${libs%%%% }" %{root}%{_bindir}/${what}6-config
#
# Some tests
#
%if 0%{?_crossbuild}
echo "Skipping tests due to cross-building"
%else
bash %{S:6} --cflags "${cflags%%%% }" --libs "${libs%%%% }" %{root}%{_bindir}/ncursesw6-config
#
# Check for tack program on base of above ncurses
#
LD_LIBRARY_PATH=$PWD/lib
export LD_LIBRARY_PATH PATH
pushd tack/
pushd ../tack/
OCFLAGS="$CFLAGS"
OLDFLAGS="$LDFLAGS"
OPKG_CONFIG_PATH="$PKG_CONFIG_PATH"
CFLAGS="$CFLAGS -I%{root}%{_incdir}/ncursesw/ -I%{root}%{_incdir}/ -fPIE" \
LDFLAGS="$LDFLAGS -Wl,-rpath-link=%{root}%{_libdir} -L%{root}%{_libdir} -pie" \
PKG_CONFIG_PATH=${PWD}/../pc/ \
%configtack --with-ncursesw --disable-rpath-hack
%configback --with-ncursesw --disable-rpath-hack
make %{?_smp_mflags}
CFLAGS="$OCFLAGS"
LDFLAGS="$OLDFLAGS"
PKG_CONFIG_PATH="$OPKG_CONFIG_PATH"
ldd ./tack
make install DESTDIR=%{root} INSTALL_PROG=install
popd
unset LD_LIBRARY_PATH
%if 0%{?suse_version} > 1500
%if !0%{?_crossbuild}
#
# Make the test suite for ncursesw6
# Include the various ncurses tests here
#
pushd test
pushd ../test/
CFLAGS="$CFLAGS -I%{root}%{_incdir}/ncursesw/ -I%{root}%{_incdir}/" \
LDFLAGS="$LDFLAGS -Wl,-rpath-link=%{root}%{_libdir} -L%{root}%{_libdir}" \
LIBS="$LDFLAGS" \
./configure --with-ncursesw --with-screen=ncursesw --enable-widec --enable-wattr-macros --prefix=%{_prefix} --datadir=%{_datadir}/ncurses
LD_LIBRARY_PATH=%{root}%{_libdir} \
%if %{with usepcre2}
make %{?_smp_mflags} TEST_ARGS='-lformw -lmenuw -lpanelw -lncursesw -lticw -l%{soname_tinfo} -Wl,--as-needed' TEST_LIBS='-lutil -lpthread -lpcre2-posix -lpcre2-8'
make install DESTDIR=${PWD} TEST_ARGS='-lformw -lmenuw -lpanelw -lncursesw -lticw -l%{soname_tinfo} -Wl,--as-needed' TEST_LIBS='-lutil -lpthread -lpcre2-posix -lpcre2-8'
%else
make %{?_smp_mflags} TEST_ARGS='-lformw -lmenuw -lpanelw -lncursesw -lticw -l%{soname_tinfo} -Wl,--as-needed' TEST_LIBS='-lutil -lpthread'
make install DESTDIR=${PWD} INSTALL_PROG=install TEST_ARGS='-lformw -lmenuw -lpanelw -lncursesw -lticw -l%{soname_tinfo} -Wl,--as-needed' TEST_LIBS='-lutil -lpthread'
%endif
mv usr usr.back
cp Makefile Makefile.back
make distclean
popd
%endif
%endif
pushd tack/
make install DESTDIR=%{root} INSTALL_PROG=install
popd
test ! -L tack || rm -f tack
make clean
#
# Now use --without-pthread to disable pthread support (abi == 5).
#
> $SCREENLOG
tail -q -s 0.5 -f $SCREENLOG & pid=$!
eval screen -D -m ./${c#*./} --with-abi-version=5 \
--without-manpages \
--without-progs \
--without-tack \
--without-pthread \
--disable-reentrant \
--disable-opaque-curses \
--disable-opaque-form \
--disable-opaque-menu \
--disable-opaque-panel \
--disable-ext-mouse \
--disable-widec \
--disable-wattr-macros \
%if %{with usepcre2}
--without-pcre2 \
%endif
--with-termlib=tinfo \
--with-ticlib=tic \
%if %{with symversion}
--with-versioned-syms=${PWD}/package/ncurses.map \
%endif
--disable-ext-colors \
--disable-overwrite \
--without-progs
sleep 1
kill $pid
%if !0%{?_crossbuild}
find -name fallback.o -print -delete
cp fallback.c.build ncurses/fallback.c
%endif
make depend
make -C c++ etip.h
make %{?_smp_mflags}
sed -ri 's@^(LDFLAGS=)$@\1-L\\${libdir}@
s@^(libdir=).show_libdir@\1%{_libdir}/ncurses5@
s@^(includedir=).show_includedir@\1%{_incdir}/ncurses5@' misc/gen-pkgconfig
# must not use %jobs here (would lead to: ln: ncurses.h already exists)
make install.libs install.includes DESTDIR=%{root} includedir=%{_incdir}/ncurses5 includesubdir=/ncurses libdir=%{_libdir}/ncurses5
ln -sf %{_incdir}/ncurses5/ncurses/{curses,ncurses,term}.h %{root}%{_incdir}/ncurses5/
pushd man
bash ../edit_man.sh normal installing %{root}%{_mandir} . ncurses5-config.1
popd
for pc in %{root}%{_libdir}/pkgconfig/*.pc
%configback --with-ncursesw --with-screen=ncursesw --enable-widec --enable-wattr-macros --datadir=%{_datadir}/ncurses
make %{?_smp_mflags} \
TEST_ARGS="-lformw -lmenuw -lpanelw -lncursesw -lticw -l%{soname_tinfo} -Wl,--as-needed" \
TEST_LIBS="-lutil -lpthread %{?with_usepcre2:-lpcre2-posix -lpcre2-8}"
make install DESTDIR=%{root} INSTALL_PROG=install \
TEST_ARGS="-lformw -lmenuw -lpanelw -lncursesw -lticw -l%{soname_tinfo} -Wl,--as-needed" \
TEST_LIBS="-lutil -lpthread %{?with_usepcre2:-lpcre2-posix -lpcre2-8}"
CFLAGS="$OCFLAGS"
LDFLAGS="$OLDFLAGS"
mkdir -p %{root}%{_mandir}/man6
for man in *.6
do
test -e "$pc" || break
base=${pc%%.pc}
base=${base##*/}
sed -ri '\@includedir=@i\
includedir5=%{_incdir}/ncurses5' "$pc"
sed -ri 's@^(includedir=).*@\1${includedir5}/ncurses@' "$pc"
sed -ri 's@^(libdir=).*@\1%{_libdir}/ncurses5@' "$pc"
sed -ri 's@^(Libs: )(.*)@\1-L${libdir}\2@' "$pc"
mv -f $pc pc/${base}5.pc
sed -ri 's@^(Cflags:.*)(-I.*)@\1-I${includedir5} \2@' pc/${base}5.pc
sed -ri 's@^(Requires.private:).*@\1@' pc/${base}5.pc
install -m 0644 $man %{root}%{_mandir}/man6/${man}n
done
echo $PKG_CONFIG_PATH
what=ncurses5
cflags="$(pkg-config --cflags $what)"
libs="$(pkg-config --libs $what)"
test -n "$cflags" -a -n "$libs" || exit 1
bash %{S:6} --cflags "${cflags%%%% }" --libs "${libs%%%% }" %{root}%{_bindir}/${what}-config
#
# Now use --disable-widec for narrow character support.
# The libs with 16 bit wide characters are binary incompatible
# to the normal 8bit wide character libs.
#
make clean
> $SCREENLOG
tail -q -s 0.5 -f $SCREENLOG & pid=$!
eval screen -D -m ./${c#*./} --with-pthread \
--without-manpages \
--without-progs \
--without-tack \
--enable-reentrant \
--enable-opaque-curses \
--enable-opaque-form \
--enable-opaque-menu \
--enable-opaque-panel \
--enable-ext-mouse \
--disable-widec \
--disable-wattr-macros \
--with-termlib=tinfo \
--with-ticlib=tic \
%if %{with symversion}
--with-versioned-syms=${PWD}/package/ncursest.map \
install -m 0755 %{S:8} %{root}%{_libexecdir}/ncurses-examples/
popd
%endif
--enable-ext-colors \
--disable-overwrite \
--without-progs
sleep 1
kill $pid
%if !0%{?_crossbuild}
find -name fallback.o -print -delete
cp fallback.c.build ncurses/fallback.c
%endif
make depend
make -C c++ etip.h
make %{?_smp_mflags}
# must not use %jobs here (would lead to: ln: ncurses.h already exists)
make install.libs install.includes DESTDIR=%{root} includedir=%{_incdir} includesubdir=/ncurses libdir=%{_libdir}
unset LD_LIBRARY_PATH
popd
pushd build.t6
make install.libs DESTDIR=%{root} includesubdir=/ncurses
%if %{with onlytinfo}
# This ensures that we get the libtinfo *with* _nc_read_entry2 symbol as well
cp -p libtinfo.so.%{basevers}.back %{root}%{_libdir}/libtinfo.so.%{basevers}
cp -p libtinfow.so.%{basevers}.back %{root}%{_libdir}/libtinfow.so.%{basevers}
cp -p ../build.wt6/libtinfo.so.%{basevers}.back %{root}%{_libdir}/libtinfo.so.%{basevers}
cp -p ../build.wt6/libtinfow.so.%{basevers}.back %{root}%{_libdir}/libtinfow.so.%{basevers}
%endif
pushd man
bash ../edit_man.sh normal installing %{root}%{_mandir} . ncurses6-config.1
popd
mv -f %{root}%{_libdir}/pkgconfig/*.pc pc/
sed -ri 's@^(Requires.private:).*@\1@' pc/*.pc
echo $PKG_CONFIG_PATH
what=ncurses
cflags="$(pkg-config --cflags $what)"
libs="$(pkg-config --libs $what)"
cflags="$(pkg-config --cflags ncurses)"
libs="$(pkg-config --libs ncurses)"
test -n "$cflags" -a -n "$libs" || exit 1
bash %{S:6} --cflags "${cflags%%%% }" --libs "${libs%%%% }" %{root}%{_bindir}/${what}6-config
#
# Some tests
#
%if 0%{?_crossbuild} || 0%{?suse_version} <= 1500
echo "Skipping tests due to cross-building"
%else
#
# Make the test suite for ncurses6
#
pushd test
CFLAGS="$CFLAGS -I%{root}%{_incdir}ncurses/ -I%{root}%{_incdir}/" \
LDFLAGS="$LDFLAGS -Wl,-rpath-link=%{root}%{_libdir} -L%{root}%{_libdir}" \
LIBS="$LDFLAGS" \
./configure --with-ncurses --with-screen=ncurses --disable-widec --disable-wattr-macros --prefix=%{_prefix} --datadir=%{_datadir}/ncurses
LD_LIBRARY_PATH=%{root}%{_libdir} \
%if %{with usepcre2}
make %{?_smp_mflags} TEST_ARGS='-lform -lmenu -lpanel -lncurses -ltic -ltinfo -Wl,--as-needed' TEST_LIBS='-lutil -lpthread -lpcre2-posix -lpcre2-8'
make install DESTDIR=${PWD} TEST_ARGS='-lform -lmenu -lpanel -lncurses -ltic -ltinfo -Wl,--as-needed' TEST_LIBS='-lutil -lpthread -lpcre2-posix -lpcre2-8'
%else
make %{?_smp_mflags} TEST_ARGS='-lform -lmenu -lpanel -lncurses -ltic -ltinfo -Wl,--as-needed' TEST_LIBS='-lutil -lpthread'
make install DESTDIR=${PWD} TEST_ARGS='-lform -lmenu -lpanel -lncurses -ltic -ltinfo -Wl,--as-needed' TEST_LIBS='-lutil -lpthread'
%endif
rm -rf usr/
make distclean
bash %{S:6} --cflags "${cflags%%%% }" --libs "${libs%%%% }" %{root}%{_bindir}/ncurses6-config
popd
%endif
test ! -L tack || rm -f tack
make clean
#
# ABI == 5
#
> $SCREENLOG
tail -q -s 0.5 -f $SCREENLOG & pid=$!
#
# Now use --without-pthread to disable pthread support (abi == 5).
#
eval screen -D -m ./${c#*./} --with-abi-version=5 \
--without-manpages \
--without-progs \
--without-tack \
--without-pthread \
--disable-reentrant \
--disable-opaque-curses \
--disable-opaque-form \
--disable-opaque-menu \
--disable-opaque-panel \
--disable-ext-mouse \
--enable-widec \
--enable-wattr-macros \
%if %{with usepcre2}
--without-pcre2 \
%endif
--with-termlib=%{soname_tinfo} \
--with-ticlib=ticw \
%if %{with symversion}
--with-versioned-syms=${PWD}/package/ncursesw.map \
%endif
--disable-ext-colors \
--disable-overwrite \
--without-progs
sleep 1
kill $pid
%if !0%{?_crossbuild}
find -name fallback.o -print -delete
cp fallback.c.build ncurses/fallback.c
%endif
make depend
make -C c++ etip.h
make %{?_smp_mflags}
sed -ri 's@^(LDFLAGS=)$@\1-L\\${libdir}@
s@^(libdir=).show_libdir@\1%{_libdir}/ncurses5@
s@^(includedir=).show_includedir@\1%{_incdir}/ncurses5/ncursesw@' misc/gen-pkgconfig
# must not use %jobs here (would lead to: ln: ncurses.h already exists)
make install.libs install.includes DESTDIR=%{root} includedir=%{_incdir}/ncurses5 includesubdir=/ncursesw libdir=%{_libdir}/ncurses5
%if %{with onlytinfo}
gcc $CFLAGS $LDFLAGS -fPIC -shared -Wl,--auxiliary=libtinfo.so.5,-soname,libtinfow.so.5,-stats,-lc \
-Wl,--version-script,package/ncursesw.map -o %{root}%{_libdir}/libtinfow.so.5.9
%endif
pushd man
bash ../edit_man.sh normal installing %{root}%{_mandir} . ncursesw5-config.1
popd
rm -vf %{root}%{_libdir}/pkgconfig/tic.pc
rm -vf %{root}%{_libdir}/pkgconfig/tinfo.pc
for pc in %{root}%{_libdir}/pkgconfig/*.pc
do
test -e "$pc" || break
base=${pc%%.pc}
base=${base##*/}
sed -ri '\@includedir=@i\
includedir5=%{_incdir}/ncurses5' "$pc"
sed -ri 's@^(includedir=).*@\1${includedir5}/ncursesw@' "$pc"
sed -ri 's@^(libdir=).*@\1%{_libdir}/ncurses5@' "$pc"
sed -ri 's@^(Libs: )(.*)@\1-L${libdir}\2@' "$pc"
mv -f $pc pc/${base}5.pc
sed -ri 's@^(Cflags:.*)(-I.*)@\1-I${includedir5} \2@' pc/${base}5.pc
sed -ri 's@^(Requires.private:).*@\1@' pc/${base}5.pc
done
echo $PKG_CONFIG_PATH
what=ncursesw5
cflags="$(pkg-config --cflags $what)"
libs="$(pkg-config --libs $what)"
test -n "$cflags" -a -n "$libs" || exit 1
bash %{S:6} --cflags "${cflags%%%% }" --libs "${libs%%%% }" %{root}%{_bindir}/${what}-config
%install
%if %{with usepcre2}
pcre2="-lpcre2-posix -lpcre2-8"
%else
pcre2=""
make -C build.5 install.libs DESTDIR=%{buildroot}
make -C build.w5 install.libs DESTDIR=%{buildroot}
make -C build.6 install.libs DESTDIR=%{buildroot} libdir=%{_libdir}/ncurses6nt
make -C build.w6 install.libs DESTDIR=%{buildroot} libdir=%{_libdir}/ncurses6nt
rm -rvf %{buildroot}%{_bindir}
rm -rvf %{buildroot}%{_libdir}/pkgconfig
rm -rvf %{buildroot}%{_incdir}
rm -vf %{buildroot}%{_libdir}/*.{so,a}
rm -vf %{buildroot}%{_libdir}/ncurses6nt/*.{so,a}
pushd build.t6/man
bash ../edit_man.sh normal installing %{root}%{_mandir} . ncurses6-config.1
popd
make -C build.t6 install.{libs,includes} DESTDIR=%{buildroot} DESTDIR=%{buildroot} includesubdir=/ncurses
%if %{with onlytinfo}
gcc $CFLAGS $LDFLAGS -fPIC -shared -Wl,--auxiliary=libtinfo.so.5,-soname,libtinfow.so.5,-stats,-lc \
-Wl,--version-script,build.w5/package/ncursesw.map -o %{buildroot}%{_libdir}/libtinfow.so.5.9
gcc $CFLAGS $LDFLAGS -fPIC -shared -Wl,-rpath-link=%{buildroot}%{_libdir}/ncurses6nt \
-Wl,--auxiliary=libtinfo.so.6,-soname,libtinfow.so.6,-stats,-lc \
-Wl,--version-script,build.w6/package/ncursesw.map -o %{buildroot}%{_libdir}/ncurses6nt/libtinfow.so.%{basevers}
%endif
PATH=$PWD/gzip:$PATH
# this is build.wt6
(cd %{root}/; tar -cpSf - *)|tar -xpsSf - -C %{buildroot}/
rm -rf %{root}
for model in libncurses libncursest libncursesw libncursestw libtinfo libtinfow libtic libticw
@@ -1004,12 +844,12 @@ includedir5=%{_incdir}/ncurses5' "$pc"
libncursesw*)
rm -f ${lnk}
echo '/* GNU ld script */' > ${lnk}
echo "INPUT(${lib} AS_NEEDED(-l%{soname_tinfo} -ldl $pcre2))" >> ${lnk}
echo "INPUT(${lib} AS_NEEDED(-l%{soname_tinfo} -ldl %{?with_usepcre2:-lpcre2-posix -lpcre2-8}))" >> ${lnk}
;;
libncurses*)
rm -f ${lnk}
echo '/* GNU ld script */' > ${lnk}
echo "INPUT(${lib} AS_NEEDED(-ltinfo -ldl $pcre2))" >> ${lnk}
echo "INPUT(${lib} AS_NEEDED(-ltinfo -ldl %{?with_usepcre2:-lpcre2-posix -lpcre2-8}))" >> ${lnk}
;;
*) ln -sf ${lib} %{buildroot}%{_libdir}/${model}.so
esac
@@ -1186,6 +1026,13 @@ includedir5=%{_incdir}/ncurses5' "$pc"
%{terminfo i/iterm}
%{terminfo i/iterm2}
EOF
#
# Remove ghostty terminfo as the ghostty uses its own termcap
# and the terminfo here in the mixed
#
rm -vf %{buildroot}%{terminfo g/ghostty}
rm -vf %{buildroot}%{terminfo x/xterm-ghostty}
find %{buildroot}%{tabset ""} %{buildroot}%{terminfo ""} \
\( -type f -or -type l \) | \
sed "s@^%{buildroot}@@g" | \
@@ -1201,33 +1048,25 @@ includedir5=%{_incdir}/ncurses5' "$pc"
cp -p pc/*.pc %{buildroot}%{_libdir}/pkgconfig/
#
# Install test binaries and, if exists, the manual pages
# Install ncursesnt wrapper script
#
pushd test
mv usr.back usr
mkdir -p ./%{_mandir}/man6
cp -p $(find -name '*.6') .%{_mandir}/man6/
(cd usr/; tar -cpSf - .) | tar -xpsSf - -C %{buildroot}%{_prefix}
install -m 0755 %{S:8} %{buildroot}%{_libexecdir}/ncurses-examples/
popd
%if 0%{?_crossbuild}
# No test here
%else
install -m 0755 %{S:12} %{buildroot}%{_bindir}/ncursesnt
%check
%if 0%{?_crossbuild}
echo No test here
%else
LD_LIBRARY_PATH=%{buildroot}%{_libdir}
export LD_LIBRARY_PATH
nm -D %{buildroot}%{_libdir}/libncursesw.so.%{basevers} | grep -q in_wch
%if %{with onlytinfo}
nm -D %{buildroot}%{_libdir}/libtinfo.so.%{basevers} | grep -q _nc_read_entry2
%endif
%if 0%{?suse_version} > 1500
pushd test
expect -d <<-'EOF'
set env(TERM) xterm
set timeout 20
spawn -noecho ".%{_libexecdir}/ncurses-examples/newdemo"
spawn -noecho "%{buildroot}%{_libexecdir}/ncurses-examples/newdemo"
send -- "x"
sleep 5
send -- "x"
@@ -1239,7 +1078,6 @@ pushd test
EOF
popd
%endif
%endif
%post -n libncurses5 -p /sbin/ldconfig
@@ -1297,10 +1135,38 @@ popd
%files -n libncurses5
%defattr(-,root,root)
%{_libdir}/lib*.so.5*
%exclude %{_libdir}/libncurses++.so.5*
%exclude %{_libdir}/libncurses++w.so.5*
%files -n libncurses_c++5
%defattr(-,root,root)
%{_libdir}/libncurses++.so.5*
%{_libdir}/libncurses++w.so.5*
%files -n libncurses6
%defattr(-,root,root)
%{_libdir}/lib*.so.6*
%exclude %{_libdir}/libncurses++.so.6*
%exclude %{_libdir}/libncurses++w.so.6*
%files -n libncurses_c++6
%defattr(-,root,root)
%{_libdir}/libncurses++.so.6*
%{_libdir}/libncurses++w.so.6*
%files -n libncurses6-compat
%defattr(-,root,root)
%{_bindir}/ncursesnt
%dir %{_libdir}/ncurses6nt/
%{_libdir}/ncurses6nt/lib*.so.6*
%exclude %{_libdir}/ncurses6nt/libncurses++.so.6*
%exclude %{_libdir}/ncurses6nt/libncurses++w.so.6*
%files -n libncurses_c++6-compat
%defattr(-,root,root)
%dir %{_libdir}/ncurses6nt/
%{_libdir}/ncurses6nt/libncurses++.so.6*
%{_libdir}/ncurses6nt/libncurses++w.so.6*
%files -n ncurses-devel
%defattr(-,root,root)
@@ -1327,23 +1193,6 @@ popd
%files -n ncurses-devel-static
%{_libdir}/lib*.a
%files -n ncurses5-devel
%defattr(-,root,root)
%{_bindir}/ncurses*5-config
%dir %{_incdir}/ncurses5/
%dir %{_incdir}/ncurses5/ncurses/
%dir %{_incdir}/ncurses5/ncursesw/
%{_incdir}/ncurses5/*.h
%{_incdir}/ncurses5/ncurses/*.h
%{_incdir}/ncurses5/ncursesw/*.h
%dir %{_libdir}/ncurses5/
%{_libdir}/ncurses5/lib*.so
%{_libdir}/pkgconfig/*5.pc
%doc %{_mandir}/man1/ncurses*5-config.1%{ext_man}
%files -n ncurses5-devel-static
%{_libdir}/ncurses5/lib*.a
%files -n tack
%defattr(-,root,root)
%{_bindir}/tack

9
ncursesnt Normal file
View File

@@ -0,0 +1,9 @@
#!/bin/bash
libtinfo=($(ldd /bin/bash | grep -E 'libtinfow?\.so'))
libdir=${libtinfo[2]}
libdir=${libdir%/*}
test -d ${libdir}/ncurses6nt || { echo ${0##*/}: Missing ${libdir}/ncurses6nt 1>&2; exit 1; }
LD_LIBRARY_PATH=${libdir}/ncurses6nt${LD_LIBRARY_PATH+":${LD_LIBRARY_PATH}"}
export LD_LIBRARY_PATH
unset libtinfo libdir
exec -a ${1##*/} ${1+"$@"}

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:db68142ccd260f47930c7f5577fad466f0aac7461c183087e9fe364664548081
size 256410

View File

@@ -1,15 +0,0 @@
-----BEGIN PGP SIGNATURE-----
Comment: See https://invisible-island.net/public/public.html for info
iQGzBAABCgAdFiEEGYgtkt2kxADCLA1WzCr0RyFnvgMFAmPfttIACgkQzCr0RyFn
vgM82gwA6Cc1fvRZrt4oaYJAX8eDqMISjlk+UhicopIG716dGA/x8raZp6Fb22aA
4TZWyAcYce5dwTB+qmfAIkhw8q0yljpJeW6yQQK+L2LZIfZ900AFUZ8vWueccdkQ
m4J+fm5dnOcPH1bAQ94qY5gdocc3Occi2lQbyS1B23FKXMIhe4SHzX3e9M3nVjAi
7KVD/7GtHo9PsVeB/24CMRAVa9wckgi+aT3h2wNiw0Y+PssKyA/50S/jMlca0vFM
7lXhpnlO517BNL4g9XGaucdd+cr0QraKp28LuUJbf4/xgij7ZpNFwIkmCG19D+x/
mn6b+VRwoxYUo02+iQ48bEscs07N+lzPGHt8sWesyOdackenpJVLzNW8wtPuXGjQ
I1bqvj4KK4dV36lcjN89vBUWBkGD7ECHOyGnbt+mz3Zq7TFuO22nH5T3CVpz6C1E
h86FKORkWJy9eFxpdzfYjao9QfPQ841ZBWvYaehKSdyRXauDlhEnnTpyNsh+A40d
DdfWGA8e
=lSli
-----END PGP SIGNATURE-----

BIN
tack-1.11-20250503.tgz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@@ -0,0 +1,15 @@
-----BEGIN PGP SIGNATURE-----
Comment: See https://invisible-island.net/public/public.html for info
iQGzBAABCgAdFiEEGYgtkt2kxADCLA1WzCr0RyFnvgMFAmgWjV0ACgkQzCr0RyFn
vgNmcgwAocFcC9YD8AsRcdfex2Kb9QpyH7QcbBrTnQxiP9CL4bVU6s6dbUsuerAr
4adqSHS/SB/Ldq2vVr0qHH/sJHUZQF6h7WqU8jfuG0UQUCnNbFYlpQUJQ251UrEY
39d3OoW9Pvs+iGnHEVWHuE8Akj5qWZtZkgqb7Ne11pT/qsibjSic48DvqjM0Ezs2
PTjErXtstg2WSQOlA21Asfx8Widt+K6p1AneAjJuFi5CT/buMGptfUioX6DHbJJj
Oqnc9sRIxI0iU54sCDlA4Nxru8gckY3NhFB7UwjG/+vqZ2HS/sCqwZsn+CNil8US
eau7P9bhnyiOMz0ttYxCoMxKA+fwiCPl8x9X+0/6I6FdHjYJGZBR7UdhYaBOGGnV
P3AclvzXFHZ8ndjeMNS+JoKwYWPD3/DCV8iNNFN8bkV5/yaLhH11P2Qz56KG/Ook
EisNMyYFncMxdlu4d3RYbXZlpo3jk26XuJ9ouGdsT1mvx7HbZvnEjv9IGovfk1dm
V5RYvI1z
=LKUm
-----END PGP SIGNATURE-----