Sync from SUSE:SLFO:Main ncurses revision 2bf987757b57771226a680a4ac5d7d18

This commit is contained in:
Adrian Schröter 2024-05-03 16:56:25 +02:00
commit 0dbb9e3259
21 changed files with 11834 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

View File

@ -0,0 +1,13 @@
diff --git a/ncurses/widechar/lib_unget_wch.c b/ncurses/widechar/lib_unget_wch.c
index 4ea26b6..df82974 100644
--- a/ncurses/widechar/lib_unget_wch.c
+++ b/ncurses/widechar/lib_unget_wch.c
@@ -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);
+ if (length < MB_CUR_MAX)
+ length = MB_CUR_MAX;
if (length != (size_t) (-1)
&& length != 0) {

72
README.devel Normal file
View File

@ -0,0 +1,72 @@
Versions of Ncurses Libraries
=============================
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
/usr/include/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
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
ncurses5-config --cflags for CFLAGS
ncurses5-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
/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
Use the output of
ncursesw6-config --cflags for CFLAGS
ncursesw6-config --libs for LDFLAGS
to extend the CFLAGS and the LDFLAGS. It should be noted that the ABI 6.0
is not only thread safe but also includes extended mouse support and in
case of the wide character version also extended color support.

13
baselibs.conf Normal file
View File

@ -0,0 +1,13 @@
libncurses5
targettype x86 provides "baselibs-x86:<prefix>/lib/libncurses.so.5"
provides "ncurses-<targettype> = <version>"
obsoletes "ncurses-<targettype> <= <version>"
libncurses6
targettype x86 provides "baselibs-x86:<prefix>/lib/libncurses.so.6"
provides "libncurses6-<targettype> = <version>"
ncurses-devel
requires -ncurses-<targettype>
requires "libncurses6-<targettype> = <version>"
ncurses5-devel
requires -ncurses-<targettype>
requires "libncurses5-<targettype> = <version>"

41
check-build.sh Normal file
View File

@ -0,0 +1,41 @@
#!/bin/bash -e
#
# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
# This script use the following variable(s):
#
# - $BUILD_BASENAME
#
: ${BUILD_BASENAME:=$(uname -m)}
kernel_version()
{
echo $((($1<<16)+($2<<8)+($3)))
}
kernel_string()
{
echo $((($1>>16)&0xff)).$((($1>>8)&0xff)).$(($1&0xff))
}
typeset -i major minor level version required
IFS=' .-' read -t 10 name dummy major minor level rest < /proc/version || exit 1
let version=$(((major<<16)+(minor<<8)+(level)))
unset name dummy major minor level rest
case "$BUILD_BASENAME" in
*x86_64*) let required=$(kernel_version 2 6 32) ;; # gcc exception 32
*) let required=$(kernel_version 2 6 16) ;;
esac
if ((version<required)) ; then
echo "FATAL: kernel too old, need kernel >= $(kernel_string required) for this package" 1>&2
exit 1
fi
#
# Success
#
exit 0

462
cursescheck Normal file
View File

@ -0,0 +1,462 @@
#!/bin/bash
#
# cursescheck Test ACS/UTF-8 Line Graphics and REP capability
# of a terminal line described by variable TERM.
#
# Written in bash code to show and test capabilities of an terminal
# or terminal emulator without the `magic' of a binary program using
# libncurses(w) as many users do belive that ncurses defines the
# behaviour of a terminal. Here we show that the terminfo database
# given by the TERM variable simply describes the capabilities of
# a terminal. For this `infocmp(1)' and `tput(1)' is used as well
# the helpers `tty(1)', `grep(1), and `od(1)' are used herein.
#
# Author: Werner Fink <werner@suse.de>
#
typeset -i rep=0 line=0 color=0 hpa=0 ech=0
for s in 0 1 2
do
test -c /proc/$$/fd/$s || { echo "Missing /proc/$$/fd/$s" 1>&2; exit 1; }
done
for d in null tty
do
test -c /dev/$d || { echo "Missing /dev/$d" 1>&2; exit 1; }
done
for d in pts fd
do
test -d /dev/$d || { echo "Missing /dev/$d/" 1>&2; exit 1; }
done
for p in tput infocmp tty grep od
do
type -p $p 1> /dev/null 2>&1 || { echo "Missing $p in path" 1>&2; exit 1; }
done
typeset -r tty=$(tty) || { echo "Not on a terminal line" 1>&2; exit 1; }
typeset -i width=$(tput cols) || { echo "No terminal size" 1>&2; exit 1; }
typeset -i height=$(tput lines) || { echo "No terminal size" 1>&2; exit 1; }
#
# There are terminal type which uses non printable characters for
# Line Graphic. Therefore store them as numbers or sequences within
# arrays used later on.
#
typeset -i c
typeset -A acsc acsn
typeset -a tmp="($(tput acsc | od -A none -tx1))"
for ((c=0;c<${#tmp[@]};c+=2))
do
acsc[0x${tmp[c]}]="0x${tmp[c+1]}"
acsn[0x${tmp[c]}]=\\x${tmp[c+1]}
done
unset tmp c
#
# Init terminal
#
tput init || { echo "Not a terminal" 1>&2; exit 1; }
if test -n "$(infocmp -T $TERM -1 | grep "colors#")"
then
let color++
fi
if test -n "$(infocmp -T $TERM -1 | grep "hpa=")"
then
let hpa++
fi
if test -n "$(infocmp -T $TERM -1 | grep "ech=")"
then
let ech++
fi
#
# Restore screen at exit
#
trap 'tput cup 0 0; tput sgr0; tput cvvis; tput rmcup; exit' EXIT HUP INT TERM
#
# Save screen, make curse invisible, and goto upper left
#
tput smcup
tput civis
tput cup 0 0
if ((color > 0))
then
tput -S <<-!
setab 4
setaf 7
!
fi
tput ed
echo Checking for Line Graphics on $tty with TERM=$TERM
let line++
echo Found ${#acsc[@]} ACSC characters, check used Font and its Mapping
let line++
tput cup $((line + 2)) 0
typeset -i row=$((line+2)) col=4
typeset smacs=$(tput enacs; tput smacs)
typeset rmacs=$(tput rmacs)
for sub in ${!acsc[@]}
do
tput cup $row $col
printf "$sub\t\x${sub//0x/}\t${smacs}${acsn[$sub]}${rmacs}"
if ((row++ > height-4))
then
let col=width/2-4
let row=line+2
fi
done
unset sub smacs rmacs
tput cup $line 0
tput cvvis
echo -n "OK> "
read -t 5 yesno
#
# Could use clear
#
tput -S <<-!
civis
cup 0 0
ed
!
let line=0
echo Checking for UTF-8 Line Graphics on $tty with TERM=$TERM
let line++
echo Use U+2500 upto U+25FF glyps, check used Font and its Mapping
let line++
tput cup $((line+2)) 0
typeset -i row=$((line+2)) col=4
for x in 94 95 96 97
do
x=\\x$x
for ((c=128;c<=191;c++))
do
y=\\x$(printf '%x\n' $c)
tput cup $row $col
printf "\xe2${x}${y}"
if ((row++ > height-4))
then
let col+=2
let row=line+2
fi
done
done
unset sub smacs rmacs
tput cup $line 0
tput cvvis
echo -n "OK> "
read -t 5 yesno
tput civis
#
# Could use clear
#
tput -S <<-!
civis
cup 0 0
ed
!
let line=0
if ((${#acsc[@]} > 0))
then
typeset -i cx=20
echo Terminal TERM=$TERM has ASC Line Graphics
let line++
echo Use them to draw a simple box
let line++
let row=height/2-4
let col=8
tput cup $row $col
tput -S <<-!
enacs
civis
smacs
!
if ((color > 0))
then
tput -S <<-!
setab 7
setaf 0
!
fi
echo -ne ${acsn[0x6c]}
for ((c=0;c<cx;c++)); do echo -ne ${acsn[0x71]}; done
echo -ne ${acsn[0x6b]}
for ((c=1;c<4;c++))
do
tput cup $((row+c)) $col
echo -ne ${acsn[0x78]}
((color > 0 && ech > 0)) && tput ech $cx
((hpa > 0)) && tput hpa $((col+cx+1)) || tput cup $((row+c)) $((col+cx+1))
echo -ne ${acsn[0x78]}
done
tput cup $((row+c)) $col
echo -ne ${acsn[0x6d]}
for ((c=0;c<cx;c++)); do echo -ne ${acsn[0x71]}; done
echo -ne ${acsn[0x6a]}
if ((color > 0 && ech > 0))
then
tput -S <<-!
setab 0
setaf 0
cup $((row+1)) $((col+cx+2))
ech 2
cup $((row+2)) $((col+cx+2))
ech 2
cup $((row+3)) $((col+cx+2))
ech 2
cup $((row+4)) $((col+cx+2))
ech 2
cup $((row+5)) $((col+2))
ech $((cx+2))
setab 4
setaf 7
!
else
tput rev
for ((c=1;c<5;c++))
do
tput cup $((row+c)) $((col+cx+2))
echo -n " "
done
tput cup $((row+c)) $((col+2))
printf ' %.0s' $(eval echo {1..$((cx+2))})
tput sgr0
fi
tput -S <<-!
rmacs
!
tput cup $((row+2)) $((col+4))
echo -n "<ACS BOX>"
tput cup $line 0
tput cvvis
echo -n "OK> "
read -t 5 yesno
tput civis
else
echo Terminal TERM=$TERM has no ASC Line Graphics.
tput cvvis
echo -n "OK> "
read -t 5 yesno
tput civis
fi
#
# Could use clear
#
tput -S <<-!
civis
cup 0 0
ed
!
let line=0
if ((1))
then
#
# UTF-8 wide character line glyphs
#
ul=\\xe2\\x94\\x8c
ur=\\xe2\\x94\\x90
hl=\\xe2\\x94\\x80
vl=\\xe2\\x94\\x82
dl=\\xe2\\x94\\x94
dr=\\xe2\\x94\\x98
typeset -i cx=20
echo Terminal TERM=$TERM with UTF-8 Line Graphics
let line++
echo Use them to draw a simple box
let line++
let row=height/2-4
let col=8
tput cup $row $col
if ((color > 0))
then
tput -S <<-!
setab 7
setaf 0
!
fi
tput enacs
tput civis
echo -ne ${ul}
for ((c=0;c<$cx;c++)); do echo -ne ${hl}; done
echo -ne ${ur}
for ((c=1;c<4;c++))
do
tput cup $((row+c)) $col
echo -ne ${vl}
((color > 0 && ech > 0)) && tput ech $cx
((hpa > 0)) && tput hpa $((col+cx+1)) || tput cup $((row+c)) $((col+cx+1))
echo -ne ${vl}
done
tput cup $((row+c)) $col
echo -ne ${dl}
for ((c=0;c<$cx;c++)); do echo -ne ${hl}; done
echo -ne ${dr}
if ((color > 0 && ech > 0))
then
tput -S <<-!
setab 0
setaf 0
cup $((row+1)) $((col+cx+2))
ech 2
cup $((row+2)) $((col+cx+2))
ech 2
cup $((row+3)) $((col+cx+2))
ech 2
cup $((row+4)) $((col+cx+2))
ech 2
cup $((row+5)) $((col+2))
ech $((cx+2))
setab 4
setaf 7
!
else
tput rev
for ((c=1;c<5;c++))
do
tput cup $((row+c)) $((col+cx+2))
echo -n " "
done
tput cup $((row+c)) $((col+2))
printf ' %.0s' $(eval echo {1..$((cx+2))})
tput sgr0
fi
tput cup $((row+2)) $((col+4))
echo -n "<UTF-8 BOX>"
tput cup $line 0
tput cvvis
echo -n "OK> "
read -t 5 yesno
tput civis
else
echo Terminal TERM=$TERM has no UTF-8 Line Graphics.
tput cvvis
echo -n "OK> "
read -t 5 yesno
tput civis
fi
#
# Could use clear
#
tput -S <<-!
civis
cup 0 0
ed
!
let line=0
if test -n "$(infocmp -T $TERM -1 | grep rep=)"
then
echo Found rep capability in terminfo database for TERM=$TERM
let rep++
let line++
else
echo No rep capability given in terminfo database for TERM=$TERM
tput cvvis
echo -n "OK> "
read -t 5 yesno
tput -S <<-!
cup 0 0
sgr0
ed
rmcup
!
exit 0
fi
if ((${#acsc[@]} > 0 && rep > 0))
then
typeset -i cx=20
echo Testing rep capability of TERM=$TERM
let line++
let row=height/2-4
let col=8
if ((color > 0))
then
tput -S <<-!
setab 7
setaf 0
!
fi
tput -S <<-!
enacs
civis
smacs
cup $row $col
!
echo -ne ${acsn[0x6c]}
tput rep ${acsc[0x71]} $cx
echo -ne ${acsn[0x6b]}
for ((c=1;c<4;c++))
do
tput cup $((row+c)) $col
echo -ne ${acsn[0x78]}
((hpa > 0)) && tput hpa $((col+cx+1)) || tput cup $((row+c)) $((col+cx+1))
echo -ne ${acsn[0x78]}
done
tput cup $((row+c)) $col
echo -ne ${acsn[0x6d]}
tput rep ${acsc[0x71]} $cx
echo -ne ${acsn[0x6a]}
tput -S <<-!
rmacs
!
if ((color > 0 && ech > 0))
then
tput -S <<-!
cup $((row+1)) $((col+1))
ech $cx
cup $((row+2)) $((col+1))
ech $cx
cup $((row+3)) $((col+1))
ech $cx
setab 0
setaf 0
cup $((row+1)) $((col+cx+2))
ech 2
cup $((row+2)) $((col+cx+2))
ech 2
cup $((row+3)) $((col+cx+2))
ech 2
cup $((row+4)) $((col+cx+2))
ech 2
cup $((row+5)) $((col+2))
ech $((cx+2))
setab 4
setaf 7
!
else
tput rev
for ((c=1;c<5;c++))
do
tput cup $((row+c)) $((col+cx+2))
echo -n " "
done
tput cup $((row+c)) $((col+2))
printf ' %.0s' $(eval echo {1..$((cx+2))})
tput sgr0
fi
tput cup $((row+2)) $((col+4))
echo -n "<ACS BOX (REP)>"
tput cup $line 0
tput cvvis
echo -n "OK> "
read -t 5 yesno
fi

38
edit.sed Normal file
View File

@ -0,0 +1,38 @@
#!/usr/bin/bash
while test "${1::2}" = "--" ; do
case "$1" in
--cflags=*)
cflags="${cflags:+$cflags }${1#*=}"
shift
;;
--cflags)
cflags="${cflags:+$cflags }$2"
shift 2
;;
--libs=*)
libs="${libs:+$libs }${1#*=}"
shift
;;
--libs)
libs="${libs:+$libs }$2"
shift 2
;;
esac
done
sed -ri -e "
/^[[:blank:]]*--cflags\)/,/;;/ {
/;;/ a\\
--cflags)\\
echo $cflags\\
;;
d
}
/^[[:blank:]]*--libs\)/,/;;/ {
/;;/ a\\
--libs)\\
echo $libs\\
;;
d
}" ${1+"$@"}

15
get_version_number.sh Normal file
View File

@ -0,0 +1,15 @@
#!/bin/bash
# Note: this file is used in the spec file, do not remove it
sourcedir=$1
test -n "${sourcedir}" || sourcedir=$PWD
test -e ${sourcedir}/ncurses.spec || exit 1
version=$(sed -rn '/^Version:[[:space:]]+/{s/^Version:[[:space:]]+([0-9]+\.[0-9]+)(\.[^\.]+)?/\1/p}' ${sourcedir}/ncurses.spec) || exit 1
test -e ${sourcedir}/ncurses-${version}.tar.gz || exit 1
last=($(tar Oxf ${sourcedir}/ncurses-${version}.tar.gz ncurses-${version}/VERSION)) || exit 1
test -e ${sourcedir}/ncurses-${version}-patches.tar.bz2 || echo ${last[2]}
tar --wildcards -tf ${sourcedir}/ncurses-${version}-patches.tar.bz2 '*/*.patch' &> /dev/null || echo ${last[2]}
OFS="$IFS"
IFS=-
last=($(tar -tf ${sourcedir}/ncurses-${version}-patches.tar.bz2 | grep -v 'gz.asc' | sed -r 's@\.patch$@@'| sort -t '-' -k 3,3 -n | tail -n 1))
IFS="$OFS"
echo ${last[2]}

85
handle.linux Normal file
View File

@ -0,0 +1,85 @@
#!/bin/bash
tmp1=$(mktemp ${TMPDIR:-/tmp}/${0##*/}.XXXXXX) || exit 1
trap "rm -f $tmp1; exit" EXIT SIGPIPE SIGTERM SIGINT
tmp2=$(mktemp ${TMPDIR:-/tmp}/${0##*/}.XXXXXX) || exit 1
trap "rm -f $tmp1 $tmp2; exit" EXIT SIGPIPE SIGTERM SIGINT
: ${TERMCAP:=/etc/termcap}
: ${TERMINFO:=/usr/share/terminfo}
: ${BUILD_TIC:=/usr/bin/tic}
: ${BUILD_INFOCMP:=/usr/bin/infocmp}
acsc=
sgr=
mpch=
new=
ed=
declare -i line=0
if test -r run_cmd.sh ; then
function tc { sh run_cmd.sh $BUILD_TIC -0 -U -C -r ${1+"$@"}; }
function ic { sh run_cmd.sh $BUILD_INFOCMP -A $TERMINFO ${1+"$@"}; }
else
function tc { $BUILD_TIC -0 -U -C -r ${1+"$@"}; }
function ic { $BUILD_INFOCMP -A $TERMINFO ${1+"$@"}; }
fi
cp $TERMCAP ${TERMCAP##*/}.new
set -o noglob
OIFS="$IFS"
IFS='
'
for l in $(grep '^linux' $TERMCAP); do
[[ $l =~ linux-vt* ]] && continue
[[ $l =~ linux-basic* ]] && continue
ic -1 -T ${l%%|*} > $tmp2
grep -E '^linux|acsc=' < $tmp2 > $tmp1
acsc="$(tc $tmp1 | grep -v '^linux')"
grep -E '^linux|sgr=' < $tmp2 > $tmp1
sgr="$(tc $tmp1 | grep -v '^linux')"
grep -E '^linux|(smpch|rmpch)=' < $tmp2 > $tmp1
mpch="$(tc $tmp1 | grep -v '^linux')"
entry="$(tc $tmp2 | grep -v '^#')"
new=$(echo "$entry" | sed -e '\:a[el]=.*a\
:ac=' | sed -e "s\t:ac=${acsc//\\/\\\\}\\\\")
new=$(echo "$new" | sed -e '/:a[el]=.*/i\
:S2=' | sed -e "s\t:S2=${mpch//\\/\\\\}\\\\")
new=$(echo "$new" | sed -e '\:s.=.*i\
:\.\.sa=' | sed -e "s\t:\.\.sa=${sgr//\\/\\\\}\\\\")
if test "${#new}" -gt 1024 ; then
new=$(echo "$entry" | sed -e '\\t:a[el]=.*a\
:ac=' | sed -e "s\t:ac=${acsc//\\/\\\\}\\\\")
new=$(echo "$new" | sed -e '/\t:a[el]=.*/i\
:S2=' | sed -e "s\t:S2=${mpch//\\/\\\\}\\\\")
fi
if test "${#new}" -gt 1024 ; then
new=$(echo "$entry" | sed -e '\\t:a[el]=.*i\
:S2=' | sed -e "s\t:S2=${mpch//\\/\\\\}\\\\")
fi
if test "${#new}" -gt 1024 ; then
new="$entry"
fi
line=$(grep -n "${l//\\/\\\\}" ${TERMCAP##*/}.new| sed 's:.*')
: $((line--))
echo "$entry" > $tmp1
echo "$new" > $tmp2
ed=$(diff -e $tmp1 $tmp2| sed "s^\([0-9]\+a\)$line\n+\1")
ed ${TERMCAP##*/}.new &> /dev/null <<-EOF
${ed}
w
q
EOF
done
IFS="$OIFS"
unset entry acsc sgr mpch

46
ncurses-5.7-tack.dif Normal file
View File

@ -0,0 +1,46 @@
---
tack/Makefile.in | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
--- tack/Makefile.in
+++ tack/Makefile.in 2020-02-12 11:04:53.991231022 +0000
@@ -87,7 +87,7 @@ CFLAGS_LIBTOOL = $(CCFLAGS)
CFLAGS_NORMAL = $(CCFLAGS)
CFLAGS_DEBUG = $(CCFLAGS) @CC_G_OPT@ -DTRACE
CFLAGS_PROFILE = $(CCFLAGS) -pg
-CFLAGS_SHARED = $(CCFLAGS) @CC_SHARED_OPTS@
+CFLAGS_SHARED = $(CCFLAGS) -fPIE
CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@)
@@ -96,7 +96,7 @@ ABI_VERSION = @cf_cv_abi_version@
LOCAL_LIBDIR = @top_builddir@/lib
LD = @LD@
-LINK = @LINK_PROGS@ $(LIBTOOL_LINK)
+LINK = @LINK_PROGS@ $(CC)
LDFLAGS = @EXTRA_LDFLAGS@ @TINFO_LDFLAGS@ \
@LDFLAGS@ @LD_MODEL@ @TINFO_LIBS@ @LIBS@
@@ -104,7 +104,7 @@ LDFLAGS_LIBTOOL = $(LDFLAGS) $(CFLAGS_LI
LDFLAGS_NORMAL = $(LDFLAGS) $(CFLAGS_NORMAL)
LDFLAGS_DEBUG = $(LDFLAGS) $(CFLAGS_DEBUG)
LDFLAGS_PROFILE = $(LDFLAGS) $(CFLAGS_PROFILE)
-LDFLAGS_SHARED = $(LDFLAGS) $(CFLAGS_SHARED) @LD_SHARED_OPTS@
+LDFLAGS_SHARED = $(LDFLAGS) $(CFLAGS_SHARED) -pie
LDFLAGS_DEFAULT = $(LDFLAGS_@DFT_UPR_MODEL@)
@@ -172,10 +172,10 @@ DEPS_TACK = \
$(MODEL)/tack$o
tack$x: $(DEPS_TACK) @NCURSES_TREE@$(DEPS_CURSES)
- @ECHO_LINK@ $(LINK) $(DEPS_TACK) $(LDFLAGS_DEFAULT) -o $@
+ $(LINK) $(DEPS_TACK) $(LDFLAGS_DEFAULT) -o $@
tackgen$x: $(MODEL)/tackgen$o @NCURSES_TREE@$(DEPS_CURSES)
- @ECHO_LINK@ $(LINK) $(MODEL)/tackgen$o $(LDFLAGS_DEFAULT) -o $@
+ $(LINK) $(MODEL)/tackgen$o $(LDFLAGS_DEFAULT) -o $@
tackgen.h: tackgen$x
$(SHELL) -c "if test -f $(srcdir)/../misc/shlib; then\

17
ncurses-5.9-ibm327x.dif Normal file
View File

@ -0,0 +1,17 @@
---
misc/terminfo.src | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
--- misc/terminfo.src
+++ misc/terminfo.src 2018-10-29 10:23:47.271511864 +0000
@@ -17867,8 +17867,8 @@ hazel|exec80|h80|he80|Hazeltine Executiv
#
ibm327x|line mode IBM 3270 style,
- gn,
- clear=\r\n, el=\r, home=\r,
+ cols#80,
+ clear=\r\n, cr=\r, cud1=\n, el=\r, home=\r, ind=\n,
ibm3101|i3101|IBM 3101-10,
OTbs, am, xon,

BIN
ncurses-6.4-patches.tar.bz2 (Stored with Git LFS) Normal file

Binary file not shown.

836
ncurses-6.4.dif Normal file
View File

@ -0,0 +1,836 @@
---
aclocal.m4 | 37 +++++++-------
configure | 45 +++++++++--------
include/curses.h.in | 5 +
include/termcap.h.in | 2
include/tic.h | 4 -
man/man_db.renames.in | 2
man/ncurses.3x | 6 +-
misc/gen-pkgconfig.in | 25 +++++++++
misc/terminfo.src | 111 ++++++++++++++++++++++++++++++++++++--------
ncurses/Makefile.in | 2
ncurses/run_cmd.sh | 11 ++++
ncurses/tinfo/MKfallback.sh | 14 ++++-
ncurses/tinfo/lib_setup.c | 3 +
progs/Makefile.in | 4 -
test/test.priv.h | 4 -
test/tracemunch | 2
16 files changed, 203 insertions(+), 73 deletions(-)
--- aclocal.m4
+++ aclocal.m4 2024-01-08 12:23:15.657598181 +0000
@@ -6087,12 +6087,12 @@ cat >>$cf_edit_man <<CF_EOF
echo "? missing rename for \$cf_source"
cf_target="\$cf_source"
fi
- cf_target="\$cf_subdir\${section}/\${cf_target}"
-
CF_EOF
fi
cat >>$cf_edit_man <<CF_EOF
+for t in \$cf_target; do
+ t="\$cf_subdir\${section}/\${t}"
sed -f "$cf_man_alias" \\
CF_EOF
@@ -6102,7 +6102,7 @@ cat >>$cf_edit_man <<CF_EOF
CF_EOF
else
cat >>$cf_edit_man <<CF_EOF
- < "\$i" >\$TMP
+ < "\$i" | sed -f $srcdir/edit_man.sed >\$TMP
CF_EOF
fi
@@ -6142,7 +6142,7 @@ cat >>$cf_edit_man <<CF_EOF
mv \$TMP.$cf_manpage_so_strip \$TMP
fi
fi
- cf_target="\$cf_target.$cf_manpage_so_strip"
+ t="\$t.$cf_manpage_so_strip"
CF_EOF
fi
@@ -6151,31 +6151,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
- cf_target="\`echo \$cf_target|sed -e 's/\\.[[1-9]]\\+[[a-z]]*/.0/'\`"
+ t="\`echo \$t|sed -e 's/\\.[[1-9]]\\+[[a-z]]*/.0/'\`"
fi
CF_EOF
;;
esac
cat >>$cf_edit_man <<CF_EOF
- suffix=\`basename "\$cf_target" | sed -e 's%^[[^.]]*%%'\`
+ suffix=\`basename "\$t" | sed -e 's%^[[^.]]*%%'\`
extra_suffix=
if test -n "$EXTRA_SUFFIX" ; then
- case \$cf_target in
+ case \$t in
(*${EXTRA_SUFFIX}\$suffix)
extra_suffix="$EXTRA_SUFFIX"
;;
esac
fi
if test "\$verb" = installing ; then
- echo "\$verb \$cf_target"
- \$INSTALL_DATA \$TMP "\$cf_target"
+ echo "\$verb \$t"
+ \$INSTALL_DATA \$TMP "\$t"
test -d "\$cf_subdir\${section}" &&
test -n "\$aliases" && (
cd "\$cf_subdir\${section}" && (
- cf_source=\`echo "\$cf_target" |sed -e 's%^.*/\\([[^/]][[^/]]*/[[^/]][[^/]]*$\\)%\\1%'\`
+ cf_source=\`echo "\$t" |sed -e 's%^.*/\\([[^/]][[^/]]*/[[^/]][[^/]]*$\\)%\\1%'\`
test -n "$cf_manpage_so_strip" && cf_source=\`echo "\$cf_source" |sed -e 's%\\.$cf_manpage_so_strip\$%%'\`
- cf_target=\`basename "\$cf_target"\`
+ t=\`basename "\$t"\`
for cf_alias in \$aliases
do
if test "\$section" = 1 ; then
@@ -6185,7 +6185,7 @@ cat >>$cf_edit_man <<CF_EOF
if test "$MANPAGE_SYMLINKS" = yes ; then
if test -f "\$cf_alias\${suffix}" ; then
- if ( cmp -s "\$cf_target" "\$cf_alias\${suffix}" )
+ if ( cmp -s "\$t" "\$cf_alias\${suffix}" )
then
continue
fi
@@ -6195,18 +6195,18 @@ CF_EOF
case "x$LN_S" in
(*-f)
cat >>$cf_edit_man <<CF_EOF
- $LN_S "\$cf_target" "\$cf_alias\${suffix}"
+ $LN_S "\$t" "\$cf_alias\${suffix}"
CF_EOF
;;
(*)
cat >>$cf_edit_man <<CF_EOF
rm -f "\$cf_alias\${suffix}"
- $LN_S "\$cf_target" "\$cf_alias\${suffix}"
+ $LN_S "\$t" "\$cf_alias\${suffix}"
CF_EOF
;;
esac
cat >>$cf_edit_man <<CF_EOF
- elif test "\$cf_target" != "\$cf_alias\${suffix}" ; then
+ elif test "\$t" != "\$cf_alias\${suffix}" ; then
echo ".so \$cf_source" >\$TMP
CF_EOF
if test -n "$cf_manpage_compress" ; then
@@ -6226,9 +6226,9 @@ cat >>$cf_edit_man <<CF_EOF
)
)
elif test "\$verb" = removing ; then
- test -f "\$cf_target" && (
- echo "\$verb \$cf_target"
- rm -f "\$cf_target"
+ test -f "\$t" && (
+ echo "\$verb \$t"
+ rm -f "\$t"
)
test -d "\$cf_subdir\${section}" &&
test -n "\$aliases" && (
@@ -6249,6 +6249,7 @@ cat >>$cf_edit_man <<CF_EOF
# echo ".hy 0"
cat \$TMP
fi
+done
;;
esac
done
--- configure
+++ configure 2024-01-22 07:24:19.892787328 +0000
@@ -6443,7 +6443,7 @@ echo $ECHO_N "checking for an rpath opti
fi
;;
(linux*|gnu*|k*bsd*-gnu|freebsd*)
- LD_RPATH_OPT="-Wl,-rpath,"
+ LD_RPATH_OPT="-Wl,-rpath-link,"
;;
(openbsd[2-9].*|mirbsd*)
LD_RPATH_OPT="-Wl,-rpath,"
@@ -6816,8 +6816,8 @@ echo "${ECHO_T}$cf_cv_ldflags_search_pat
else
cf_cv_shared_soname='`basename $@`'
fi
-
- MK_SHARED_LIB='${CC} ${LDFLAGS} ${CFLAGS} -shared -Wl,-soname,'$cf_cv_shared_soname',-stats,-lc -o $@'
+ CC_SHARED_OPTS="${CFLAGS_SHARED} ${CC_SHARED_OPTS}"
+ MK_SHARED_LIB='${CC} ${LDFLAGS} ${CFLAGS} ${CC_SHARED_OPTS} -shared -Wl,-soname,'$cf_cv_shared_soname',-stats,-lc -o $@'
;;
(mingw*msvc*)
cf_cv_shlib_version=msvcdll
@@ -8056,7 +8056,7 @@ echo "${ECHO_T}$with_pcre2" >&6
if test "x$with_pcre2" != xno ; then
cf_with_pcre2_ok=no
- for cf_with_pcre2 in libpcre2 libpcre2-posix libpcre
+ for cf_with_pcre2 in libpcre2 libpcre2-8 libpcre2-posix libpcre
do
if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists "$cf_with_pcre2"; then
@@ -15298,12 +15298,12 @@ cat >>$cf_edit_man <<CF_EOF
echo "? missing rename for \$cf_source"
cf_target="\$cf_source"
fi
- cf_target="\$cf_subdir\${section}/\${cf_target}"
-
CF_EOF
fi
cat >>$cf_edit_man <<CF_EOF
+for t in \$cf_target; do
+ t="\$cf_subdir\${section}/\${t}"
sed -f "$cf_man_alias" \\
CF_EOF
@@ -15313,7 +15313,7 @@ cat >>$cf_edit_man <<CF_EOF
CF_EOF
else
cat >>$cf_edit_man <<CF_EOF
- < "\$i" >\$TMP
+ < "\$i" | sed -f $srcdir/edit_man.sed >\$TMP
CF_EOF
fi
@@ -15353,7 +15353,7 @@ cat >>$cf_edit_man <<CF_EOF
mv \$TMP.$cf_manpage_so_strip \$TMP
fi
fi
- cf_target="\$cf_target.$cf_manpage_so_strip"
+ t="\$t.$cf_manpage_so_strip"
CF_EOF
fi
@@ -15362,31 +15362,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
- cf_target="\`echo \$cf_target|sed -e 's/\\.[1-9]\\+[a-z]*/.0/'\`"
+ t="\`echo \$t|sed -e 's/\\.[1-9]\\+[a-z]*/.0/'\`"
fi
CF_EOF
;;
esac
cat >>$cf_edit_man <<CF_EOF
- suffix=\`basename "\$cf_target" | sed -e 's%^[^.]*%%'\`
+ suffix=\`basename "\$t" | sed -e 's%^[^.]*%%'\`
extra_suffix=
if test -n "$EXTRA_SUFFIX" ; then
- case \$cf_target in
+ case \$t in
(*${EXTRA_SUFFIX}\$suffix)
extra_suffix="$EXTRA_SUFFIX"
;;
esac
fi
if test "\$verb" = installing ; then
- echo "\$verb \$cf_target"
- \$INSTALL_DATA \$TMP "\$cf_target"
+ echo "\$verb \$t"
+ \$INSTALL_DATA \$TMP "\$t"
test -d "\$cf_subdir\${section}" &&
test -n "\$aliases" && (
cd "\$cf_subdir\${section}" && (
- cf_source=\`echo "\$cf_target" |sed -e 's%^.*/\\([^/][^/]*/[^/][^/]*$\\)%\\1%'\`
+ cf_source=\`echo "\$t" |sed -e 's%^.*/\\([^/][^/]*/[^/][^/]*$\\)%\\1%'\`
test -n "$cf_manpage_so_strip" && cf_source=\`echo "\$cf_source" |sed -e 's%\\.$cf_manpage_so_strip\$%%'\`
- cf_target=\`basename "\$cf_target"\`
+ t=\`basename "\$t"\`
for cf_alias in \$aliases
do
if test "\$section" = 1 ; then
@@ -15396,7 +15396,7 @@ cat >>$cf_edit_man <<CF_EOF
if test "$MANPAGE_SYMLINKS" = yes ; then
if test -f "\$cf_alias\${suffix}" ; then
- if ( cmp -s "\$cf_target" "\$cf_alias\${suffix}" )
+ if ( cmp -s "\$t" "\$cf_alias\${suffix}" )
then
continue
fi
@@ -15406,18 +15406,18 @@ CF_EOF
case "x$LN_S" in
(*-f)
cat >>$cf_edit_man <<CF_EOF
- $LN_S "\$cf_target" "\$cf_alias\${suffix}"
+ $LN_S "\$t" "\$cf_alias\${suffix}"
CF_EOF
;;
(*)
cat >>$cf_edit_man <<CF_EOF
rm -f "\$cf_alias\${suffix}"
- $LN_S "\$cf_target" "\$cf_alias\${suffix}"
+ $LN_S "\$t" "\$cf_alias\${suffix}"
CF_EOF
;;
esac
cat >>$cf_edit_man <<CF_EOF
- elif test "\$cf_target" != "\$cf_alias\${suffix}" ; then
+ elif test "\$t" != "\$cf_alias\${suffix}" ; then
echo ".so \$cf_source" >\$TMP
CF_EOF
if test -n "$cf_manpage_compress" ; then
@@ -15437,9 +15437,9 @@ cat >>$cf_edit_man <<CF_EOF
)
)
elif test "\$verb" = removing ; then
- test -f "\$cf_target" && (
- echo "\$verb \$cf_target"
- rm -f "\$cf_target"
+ test -f "\$t" && (
+ echo "\$verb \$t"
+ rm -f "\$t"
)
test -d "\$cf_subdir\${section}" &&
test -n "\$aliases" && (
@@ -15460,6 +15460,7 @@ cat >>$cf_edit_man <<CF_EOF
# echo ".hy 0"
cat \$TMP
fi
+done
;;
esac
done
--- include/curses.h.in
+++ include/curses.h.in 2024-01-22 07:24:19.892787328 +0000
@@ -98,7 +98,7 @@
#ifdef __cplusplus
#else
-#if @HAVE_STDNORETURN_H@
+#if 0
#include <stdnoreturn.h>
#undef GCC_NORETURN
#define GCC_NORETURN _Noreturn
@@ -240,6 +240,9 @@ typedef @cf_cv_typeof_chtype@ chtype;
typedef @cf_cv_typeof_mmask_t@ mmask_t;
#endif
+#include <features.h>
+#include <sys/types.h>
+
/*
* We need FILE, etc. Include this before checking any feature symbols.
*/
--- include/termcap.h.in
+++ include/termcap.h.in 2024-01-08 12:23:15.661598107 +0000
@@ -47,6 +47,8 @@ extern "C"
{
#endif /* __cplusplus */
+#include <features.h>
+#include <termios.h>
#include <sys/types.h>
#undef NCURSES_OSPEED
--- include/tic.h
+++ include/tic.h 2024-01-08 12:23:15.661598107 +0000
@@ -236,12 +236,12 @@ struct user_table_entry
*/
/* out-of-band values for representing absent capabilities */
-#define ABSENT_BOOLEAN ((signed char)-1) /* 255 */
+#define ABSENT_BOOLEAN (-1) /* 255 */
#define ABSENT_NUMERIC (-1)
#define ABSENT_STRING (char *)0
/* out-of-band values for representing cancels */
-#define CANCELLED_BOOLEAN ((signed char)-2) /* 254 */
+#define CANCELLED_BOOLEAN (-2) /* 254 */
#define CANCELLED_NUMERIC (-2)
#define CANCELLED_STRING (char *)(-1)
--- man/man_db.renames.in
+++ man/man_db.renames.in 2024-01-08 12:25:15.355376927 +0000
form_win.3x win.3form
infocmp.1m infocmp.1
infotocap.1m infotocap.1
+init.1 init.1ncurses
key_defined.3x key_defined.3ncurses
keybound.3x keybound.3ncurses
keyok.3x keyok.3ncurses
@@ -266,6 +266,7 @@ wsetscrreg.3x wsetscrreg.3ncurses
wtimeout.3x wtimeout.3ncurses
#
# Other:
+tack.1 tack.1
getty.8 getty.8
scanf.3 scanf.3
ttys.5 ttys.4
--- man/ncurses.3x
+++ man/ncurses.3x 2024-01-08 12:35:28.107996289 +0000
@@ -295,6 +295,10 @@ translates these into unique
.I "key codes."
See \fB\%getch\fP(3X).
.SS "Effects of GUIs and Environment Variables"
+Beware: the terminal your program is running may or may not have
+the features you expect. Ncurses makes no attempt to check available
+features in advance. This is upon the user.
+.PP
The selection of an appropriate value of
.I TERM
in the process environment is essential to correct
--- misc/gen-pkgconfig.in
+++ misc/gen-pkgconfig.in 2024-01-08 12:23:15.665598033 +0000
@@ -83,6 +83,8 @@ if [ "$includedir" != "/usr/include" ];
fi
lib_flags=
+push=
+pop=
for opt in -L$libdir @EXTRA_PKG_LDFLAGS@ @LIBS@
do
case $opt in
@@ -92,13 +94,27 @@ do
-specs*) # ignore linker specs-files which were used to build library
continue
;;
+ -Wl,--hash-size=*) # ignore hash as gold linker can not do
+ continue
+ ;;
-Wl,-z,*) # ignore flags used to manipulate shared image
continue
;;
-Wl,--dynamic-linker*) # ignore ELF interpreter
continue
;;
- -Wl,--as-needed|-Wl,--build-id=*|-Wl,-dT,*|-Wl,-T,*)
+ -Wl,-Bsymbolic-functions*) # affect symbol resolution
+ continue
+ ;;
+ -Wl,-O*) # ignore linker how optimizes
+ continue
+ ;;
+ -Wl,--as-needed)
+ push="-Wl,--push-state,--as-needed "
+ pop=" -Wl,--pop-state"
+ continue
+ ;;
+ -Wl,--build-id=*|-Wl,-dT,*|-Wl,-T,*)
continue
;;
-L*)
@@ -193,19 +209,22 @@ do
LIBS="-l$name"
desc="ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@"
+ deps=
reqs=
if [ $name = $MAIN_LIBRARY ]; then
desc="$desc library"
- [ $NEED_TINFO = yes ] && LIBS="$LIBS -l$TINFO_ARG_SUFFIX"
+ [ $NEED_TINFO = yes ] && LIBS="$LIBS ${push}-l$TINFO_ARG_SUFFIX${pop}"
[ -n "@LIBS@" ] && LIBS="$LIBS @LIBS@"
elif [ $name = $SUB_LIBRARY ]; then
desc="$desc terminal interface library"
elif expr $name : ".*${CXX_NAME}.*" >/dev/null ; then
reqs="$PANEL_LIBRARY${suffix}, $MENU_LIBRARY${suffix}, $FORM_LIBRARY${suffix}, $MAIN_LIBRARY${suffix}"
+ deps="-l$PANEL_LIBRARY -l$MENU_LIBRARY -l$FORM_LIBRARY -l$MAIN_LIBRARY"
desc="$desc add-on library"
else
reqs="$MAIN_LIBRARY${suffix}"
+ deps="-l$MAIN_LIBRARY"
desc="$desc add-on library"
fi
@@ -215,6 +234,8 @@ do
[ $NEED_TINFO != yes ] ; then
[ -n "$reqs" ] && reqs="$reqs, "
reqs="${reqs}${SUB_LIBRARY}${suffix}"
+ [ -n "$deps" ] && deps="$deps "
+ deps="${deps}-l${SUB_LIBRARY}"
fi
if [ $name = $MAIN_LIBRARY ]
--- misc/terminfo.src
+++ misc/terminfo.src 2024-02-26 07:18:51.996720064 +0000
@@ -305,7 +305,9 @@ dumb|80-column dumb tty,
am,
cols#80,
bel=^G, cr=\r, cud1=\n, ind=\n,
-unknown|unknown terminal type,
+unknown|switch|patch|unknown terminal type,
+ gn, use=dumb,
+net|network|arpanet|dialup|unknown network terminal type,
gn, use=dumb,
lpr|printer|line printer,
OTbs, hc, os,
@@ -1031,9 +1033,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>.
+#
+# Do not use a block cursor, <werner@suse.de>
+# This because many programs do have a workaround for the long time
+# missed cvvis entry. A `\E[?1c' in civis will cause a visible but
+# zero high cusor ... re-add it for kernels 2.6.11+
+#
linux2.2|Linux 2.2.x console,
civis=\E[?25l\E[?1c, cnorm=\E[?25h\E[?0c,
- cvvis=\E[?25h\E[?8c, use=linux-c-nc,
+ cvvis=\E[?25h\E[?0c, use=linux-c-nc,
# release 2.6: 2003/12 - 2004/12
#
@@ -1068,6 +1076,7 @@ linux2.6|Linux 2.6.x console,
acsc=++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxy
yzz{{||}}~~,
enacs=\E)0, rmacs=^O,
+ cvvis=\E[?25h\E[?0c,
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,
@@ -4971,7 +4980,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,
@@ -5362,7 +5371,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,
- use=xterm+osc104, use=xterm+256color, use=xterm-new,
+ use=xterm+osc104, use=xterm+256color, use=xterm-suse,
xterm-88color|xterm with 88 colors,
use=xterm+osc104, use=xterm+88color,
use=xterm-256color,
@@ -5631,9 +5640,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,
+# For SUSE Linux: Werner Fink <werner@suse.de>
+# Note that the modern xterm does not use escape sequences
+# for the numbers on the numpad keys in case of switched
+# into application mode and with numlock enabled.
+# To test this, use `tput smkx' and `Ctrl-V + key stroke'
+xterm-suse|xterm terminal emulator (X.Org X11R7.7 Window System with SuSE LINUX),
+ kdch1=\E[3~,
+ use=xterm-new, use=xterm+kbs,
+
# This is xterm for ncurses.
xterm|xterm terminal emulator (X Window System),
- use=xterm-new,
+ use=xterm-suse,
+
+# xterm-debian is identical to xterm-new with the addition of a small
+# VT220-ism regarding the backspace and delete keys; this is mandated by
+# the keyboard configuration section of the Debian Policy Manual.
+xterm-debian|Debian xterm (backspace and delete changed),
+ kdch1=\E[3~,
+ use=xterm-new, use=xterm+kbs,
# This entry assumes that xterm's handling of VT100 SI/SO is disabled by
# setting the vt100Graphics resource to false.
@@ -6081,7 +6106,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,
bce,
kdch1=^?, kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS,
use=linux+kbs, use=xterm-color,
@@ -6366,11 +6391,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).
-kvt|KDE terminal,
+kvt-rh|KDE terminal on Red Hat,
bce, km@,
kdch1=^?, kend=\E[F, khome=\E[H, use=linux+kbs,
use=xterm-color,
+# This is kvt for SuSE because we do not support BrokenByDesign[tm].
+kvt|KDE terminal,
+ kdch1=\E[3~, use=kvt-rh,
+
# Konsole 1.0.1 (2001/11/25)
# (formerly known as kvt)
#
@@ -6624,7 +6653,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=,
@@ -6702,8 +6731,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,
# Key Codes from rxvt reference:
#
@@ -6787,8 +6816,8 @@ rxvt-basic|rxvt terminal base (X Window
# Removed kDN6, etc (control+shift) since rxvt does not implement this -TD
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~,
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\^,
@@ -6872,6 +6901,38 @@ rxvt-cygwin-native|rxvt terminal emulato
\302x\263y\363z\362{\343|\330~\376,
use=rxvt-cygwin,
+# From: Thomas Dickey <dickey@clark.net> 04 Oct 1997
+# Updated: Özgür Kesim <kesim@math.fu-berlin.de> 02 Nov 1997
+# Updated: Marc Lehmann <pcg@goof.com>, 17 Feb 2005
+# Updated: Marc Lehmann <schmorp@schmorp.de>, 04 Nov 2008: change init/reset sequences
+#
+rxvt-unicode|rxvt-unicode terminal (X Window System),
+ bw, ccc, hs, mc5i, npc, btns#5, colors#88, lm#0, ncv#0, pairs#256,
+ acsc=+C\,D-A.B0E``aaffgghFiGjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+ dsl=\E]2;\007, ech=\E[%p1%dX, enacs=, flash=\E[?5h$<20/>\E[?5l,
+ fsl=^G, indn=\E[%p1%dS,
+ initc=\E]4;%p1%d;rgb\:%p2%{65535}%*%{1000}%/%4.4X/%p3%{65535}%*%{1000}%/%4.4X/%p4%{65535}%*%{1000}%/%4.4X\E\\,
+ is1=\E[!p,
+ is2=\E[r\E[m\E[2J\E[?7;25h\E[?1;3;4;5;6;9;66;1000;1001;1049l\E[4l,
+ kIC=\E2$, mc0=\E[i, mc4=\E[4i, mc5=\E[5i, op=\E[39;49m,
+ rin=\E[%p1%dT, ritm=\E[23m, rmacs=\E(B, rmam=\E[?7l,
+ rmcup=\E[r\E[?1049l, rmkx=\E[?1l\E>, rs1=\Ec,
+ rs2=\E[r\E[m\E[?7;25h\E[?1;3;4;5;6;9;66;1000;1001;1049l\E[4l,
+ s2ds=\E*B, s3ds=\E+B,
+ setab=\E[48;5;%p1%dm, setaf=\E[38;5;%p1%dm,
+ setb=%?%p1%{7}%>%t\E[48;5;%p1%dm%e\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m%;,
+ setf=%?%p1%{7}%>%t\E[38;5;%p1%dm%e\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m%;,
+ sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m%?%p9%t\E(0%e\E(B%;,
+ sgr0=\E[m\E(B, sitm=\E[3m, smacs=\E(0, smam=\E[?7h,
+ smcup=\E[?1049h, smkx=\E[?1h\E=,
+ tsl=\E]2;, u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?1;2c, u9=\E[c,
+ use=rxvt-basic,
+
+rxvt-unicode-256color|rxvt-unicode terminal with 256 colors (X Window System),
+ colors#256,
+ pairs#32767,
+ use=rxvt-unicode,
+
# 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,
@@ -8125,7 +8186,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
-eterm|GNU Emacs term.el terminal emulation,
+eterm-19|GNU Emacs term.el terminal emulation,
am, mir, xenl,
cols#80, lines#24,
bel=^G, bold=\E[1m, cr=\r, csr=\E[%i%p1%d;%p2%dr, cub1=^H,
@@ -8135,6 +8196,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,
+eterm|emacs|GNU Emacs term.el terminal emulation,
+ colors#8, pairs#64,
+ invis=\E[8m, kcub1=\EOD, kcud1=\EOB,
+ kcuf1=\EOC, kcuu1=\EOA, kend=\E[4~,
+ khome=\E[1~, knp=\E[6~, kpp=\E[5~,
+ setab=\E[%p1%{40}%+%dm, setaf=\E[%p1%{30}%+%dm,
+ use=eterm-19,
# 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,
@@ -8378,11 +8446,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,
- use=xterm+nofkeys,
+ use=xterm+nofkeys, use=xterm-suse,
# Don't use this, because not everyone has "screen.xterm-new":
#:screen.xterm|screen for modern xterm,
#: use=screen.xterm-new,
++screen.xterm|screen customized for modern xterm,
+ bce@, bw,
+ invis@, kIC@, kNXT@, kPRV@, meml@, memu@, rep@,
+ sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|
+ %t;7%;%?%p4%t;5%;%?%p5%t;2%;m,
+ E3@, use=screen+italics, use=screen+fkeys,
+ use=xterm+x11mouse, use=xterm-suse,
# xterm-r6 does not really support khome/kend unless it is propped up by
# the translations resource.
@@ -8467,7 +8542,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,
- ed=\E[J, el=\E[K, ich1=, ind=\n, kbs=^H, kf0=\E~, kf1=\ES,
+ 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,
@@ -10380,7 +10455,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,
-hp70092|hp70092a|hp70092A|HP 700/92,
+hp70092|hp70092a|hp70092A|70092|HP 700/92,
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,
@@ -17877,7 +17952,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,
-ibm3151|IBM 3151 display,
+ibm3151|i3151|IBM 3151 display,
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
@@ -18113,7 +18188,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.
-ibm5081|hft|IBM Megapel Color display,
+ibm5081|ibmmpel|hft|IBM Megapel Color display,
acsc=jjkkllmmnnqqttuuvvwwxx, blink@, bold@, s0ds=\E(B,
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-01-08 12:23:15.681597736 +0000
@@ -242,7 +242,7 @@ $(DESTDIR)$(libdir) :
../lib : ; mkdir $@
./fallback.c : $(tinfo)/MKfallback.sh
- $(SHELL) -e $(tinfo)/MKfallback.sh $(TERMINFO) $(TERMINFO_SRC) "$(TIC_PATH)" "$(INFOCMP_PATH)" $(FALLBACK_LIST) >$@
+ $(SHELL) $(srcdir)/run_cmd.sh $(SHELL) -e $(tinfo)/MKfallback.sh $(TERMINFO) $(TERMINFO_SRC) "$(TIC_PATH)" "$(INFOCMP_PATH)" $(FALLBACK_LIST) >$@
./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-01-08 12:23:15.685597662 +0000
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+PATH=$PWD/../progs:$PATH
+if test -n "$LD_LIBRARY_PATH"; then
+ LD_LIBRARY_PATH="$PWD/../lib:$LD_LIBRARY_PATH"
+else
+ LD_LIBRARY_PATH="$PWD/../lib"
+fi
+export PATH LD_LIBRARY_PATH
+
+exec ${1+"$@"}
--- ncurses/tinfo/MKfallback.sh
+++ ncurses/tinfo/MKfallback.sh 2024-01-08 12:23:15.685597662 +0000
@@ -66,14 +66,22 @@ if test $# != 0 ; then
TERMINFO=`pwd`/$tmp_info
export TERMINFO
+ test -d "$TERMINFO" || mkdir -p "$TERMINFO"
+
TERMINFO_DIRS=$TERMINFO:$terminfo_dir
export TERMINFO_DIRS
- "$tic_path" -x "$terminfo_src" >&2
+ "$tic_path" -o "$TERMINFO" -x "$terminfo_src" >&2
else
tmp_info=
fi
+if test -n "$TERMINFO" -a -d "$TERMINFO" ; then
+ infocmp_args="-v1 -A $TERMINFO"
+else
+ infocmp_args="-v1"
+fi
+
cat <<EOF
/* This file was generated by $0 */
@@ -95,7 +103,7 @@ EOF
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'
done
cat <<EOF
@@ -106,7 +114,7 @@ EOF
for x in "$@"
do
echo "$comma /* $x */"
- "$infocmp_path" -e "$x"
+ "$infocmp_path" $infocmp_args -e "$x"
comma=","
done
--- ncurses/tinfo/lib_setup.c
+++ ncurses/tinfo/lib_setup.c 2024-01-08 12:23:15.685597662 +0000
@@ -752,6 +752,9 @@ _nc_locale_breaks_acs(TERMINAL *termp)
} else if ((value = tigetnum("U8")) >= 0) {
result = value; /* use extension feature */
} else if ((env = getenv("TERM")) != 0) {
+ char *yast = getenv("YAST_DOES_ACS");
+ if (yast != 0)
+ return 0; /* YaST uses always correct font mappings */
if (strstr(env, "linux")) {
result = 1; /* always broken */
} else if (strstr(env, "screen") != 0
--- progs/Makefile.in
+++ progs/Makefile.in 2024-01-08 12:23:15.685597662 +0000
@@ -101,7 +101,7 @@ CFLAGS_LIBTOOL = $(CCFLAGS)
CFLAGS_NORMAL = $(CCFLAGS) -DNCURSES_STATIC
CFLAGS_DEBUG = $(CCFLAGS) -DNCURSES_STATIC @CC_G_OPT@ -DTRACE
CFLAGS_PROFILE = $(CCFLAGS) -DNCURSES_STATIC -pg
-CFLAGS_SHARED = $(CCFLAGS) @CC_SHARED_OPTS@
+CFLAGS_SHARED = $(CCFLAGS) -fPIE
CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@)
@@ -118,7 +118,7 @@ LDFLAGS_LIBTOOL = $(LDFLAGS) $(CFLAGS_LI
LDFLAGS_NORMAL = $(LDFLAGS) $(CFLAGS_NORMAL)
LDFLAGS_DEBUG = $(LDFLAGS) $(CFLAGS_DEBUG)
LDFLAGS_PROFILE = $(LDFLAGS) $(CFLAGS_PROFILE)
-LDFLAGS_SHARED = $(LDFLAGS) $(CFLAGS_SHARED) @LD_SHARED_OPTS@
+LDFLAGS_SHARED = $(LDFLAGS) $(CFLAGS_SHARED) -pie
LDFLAGS_DEFAULT = $(LDFLAGS_@DFT_UPR_MODEL@)
--- test/test.priv.h
+++ test/test.priv.h 2024-01-08 12:23:15.685597662 +0000
@@ -1156,12 +1156,12 @@ extern char *_nc_strstr(const char *, co
#endif
/* out-of-band values for representing absent capabilities */
-#define ABSENT_BOOLEAN ((signed char)-1) /* 255 */
+#define ABSENT_BOOLEAN ((char)-1) /* 255 */
#define ABSENT_NUMERIC (-1)
#define ABSENT_STRING (char *)0
/* out-of-band values for representing cancels */
-#define CANCELLED_BOOLEAN ((signed char)-2) /* 254 */
+#define CANCELLED_BOOLEAN (-2) /* 254 */
#define CANCELLED_NUMERIC (-2)
#define CANCELLED_STRING (char *)(-1)
--- test/tracemunch
+++ test/tracemunch 2024-01-08 12:23:15.685597662 +0000
@@ -1,4 +1,4 @@
-#!/usr/bin/env perl
+#!/usr/bin/perl
# $Id: tracemunch,v 1.41 2021/09/04 10:31:03 tom Exp $
##############################################################################
# Copyright 2018-2020,2021 Thomas E. Dickey #

BIN
ncurses-6.4.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

15
ncurses-6.4.tar.gz.asc Normal file
View File

@ -0,0 +1,15 @@
-----BEGIN PGP SIGNATURE-----
Comment: See https://invisible-island.net/public/public.html for info
iQGzBAABCgAdFiEEGYgtkt2kxADCLA1WzCr0RyFnvgMFAmOw0C0ACgkQzCr0RyFn
vgO25gwA6AkO6VnsZrcEiYDf/+kSddfNI2UfoFvr06eAZVhClX3jsssn4pMJTxPg
TRzOIicP6xSHjZ+HfrkHJuTwEBqtjjMnsAiT5zHpwCH4H4xryd40px9NjYUkLzpe
4IPebSgad21Vf/rH5Z0doxBZbhGxNDMVxOqDftRujxu1EjLaTZyIu94nIbCpcIAm
3XSNvbZi1hy6kn2JXtZKRPj+oIGdxt9zOZep01hMpykyb7W5WAGe02VJEdn3zR7Q
B6qfiMPDzMWQK1UlKOucRlzml8gt+KGjFxLgJb2jQMz0hT4g4Xvx0beeo8luPGJd
SRWQGkwi3W+OI6rw5C2lXIuM8Fwc3Fc/+kZ6h4HsRSwmel1JyB8/KxUuJ9ipctIx
S8r0ypyDqsAki1zW+VNTMZ4zZLiCiQqyAS2KWSDRWlUOeKeudWhzQk5lfdvqZXzI
eh7PnZvFO1uQviRZvCsIApFocFnhW6+pDQxrXchQ6d6nUTTOdvUL6EfbsjKN3zzH
m2J8156p
=wYzs
-----END PGP SIGNATURE-----

6
ncurses-rpmlintrc Normal file
View File

@ -0,0 +1,6 @@
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.*")

8678
ncurses.changes Normal file

File diff suppressed because it is too large Load Diff

107
ncurses.keyring Normal file
View File

@ -0,0 +1,107 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
P46cd3aSov0rfNS/zg==
=cr15
-----END PGP PUBLIC KEY BLOCK-----
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQINBGDh/NoBEACuQEUz2L2fF5K2CMKZB/3BcH3LnwWDGfLgt0gl9JhDhlWBXawt
1wKVxnP+hw08PPdoLg13z7GqPjHbA2rSQjHSuFyMqM4CYKzGkI7B44SHgRybe3Rj
Zo/EFJFfcE/JffzU2VdAE+0lLCrBt4liaX+cmjMuxFsGsoXYWVf3HY3vhaN+V4of
UG67Iypcdg2YH+8VOsQYPPbFxa9+WpTnEVYTd+nu6V+TjjQE6dQvw32h77KL0bbg
t7LEgdkP+Y9GwUVK8D9asF1T+f1em7tRNzNsp2yS3ebKuORjkYsLdc4AJcyqxBm6
3csNxSuuPHT2+qywfPkKl2rQz1PxqHGNQBQZyqFAVpRGY5OL9SbOQ4j9AQGpZAzC
ZH1J/ibfBxaLQisa7lbGPlPvHUIQVnBoP8cAQBkDGvv+FJWNXKTLWkg7tvlwcUgm
McVZ4nSFLQcCp/SVvCwkfp5weJOCqU2QhXl51YEY7xFAVQ2fVng34gPLhlM+JPUp
L+s4u/ScBQaNvhvBjBnnGwps38vtkId8N08U0ktHVdvFpqXQ9DMochqz9LjK2pcb
/0v8qBlU9iuncTGmB4AcFkMwoHue6ioD1LjBoj+mlhAv9NK8S83o3syQqJNnR/pt
Ob+PXUz1HgpVZZWTVjEjGtcUChutu9FNwUdEJUTbRXg3nzq2hIVrVg/odwARAQAB
tC5UaG9tYXMgRS4gRGlja2V5IDxkaWNrZXlAaW52aXNpYmxlLWlzbGFuZC5uZXQ+
iQJOBBMBCgA4FiEEth+bkly8LTLzN6EeQON0viGhXkkFAmDh/NoCGw8FCwkIBwIG
FQoJCAsCBBYCAwECHgECF4AACgkQQON0viGhXkm+ug/+I+VGjNBJJ4+dLS7VA91b
fjn2eub3uS67ooguU9DqJQwcOQl/gCNOM0z63YLP8c3YZs+hjrHpCK/AN6irE7Nb
mmB0OGREppJmEYEMXnU9rIlzCLAfCsBky7UZi//zg6HxfJHB4LyPq3oWlWuQAuhH
WpZUjrUB3vnfKoROsPQeK6pd4vAiMxwZnEncH4g+MnxRwOb75l5yNPlD0JCsL+3A
V+oCAlqqHo9x5TLfFhAunko3CixdZHzFH0EUnq3B9AXD+NFj0PcigXiz/FzFgYOX
idXQAFMbKKouhm0B3hPZ/aTfB75hCGWHpQHwME5nSfp3t9Y6K2MOH/feMH+WXCUX
cmxOJCTgchOYhIe18ihus8wfHJDhIiLNx9a30TwbxQ7dr99mQLDK94kc9lLdnEBj
nJOBmfN91kYfs4MzgCBq6U+dleM8YzN6LRATtTS/AtoLZ7MSQ5N+tgihqHBBRSo2
mnq6sqI2OMD2x63ukIZd4hxeKTH5p3iBjnPJLTKRsNwRn0v8rz9tRPNRwrFvxYkW
YmLDRgg2nuv35KfvFwDqw8fn2AuufqRx4lN6CYmNUV72bIplExr2OiTCIrb5vZ22
wU5VVZIqaosDocT88xf6XCgVEcyAL3kqQYg4Nibk1cSgwPZd+RiyZQmQ1FnzUd2R
OIhW8MjywWEPdu27yUkmLlOIXQQQEQIAHRYhBMUgSMDAdI/uIn1HonAjU+D35I7b
BQJg4gFEAAoJEHAjU+D35I7b5f0AoKDgX62zCyo47TT0fiK+iPKbLUWqAJ9g3thc
Y2qLN7cfPlP81dx9cn8PQohdBBARAgAdFiEECv0f/uouoGO5WazaXd+Pt2iOMaYF
AmDiAggACgkQXd+Pt2iOMaaf4gCeL125zt7czK0f4ldK0LzPPYlnFAcAoOlQ/6/8
hCVotF29WCoTXt26LLd0
=HCPW
-----END PGP PUBLIC KEY BLOCK-----
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.12 (GNU/Linux)
mQGiBD/4r7IRBADFuacEqf9fye+NQSm7xjNP705aq75VrUd2hJyPmSiFUIyQEfc4
4GQXGdFg+/Apq4iq/50/8pR8YXOKwP5OE69emEp7IxjST41orGUk5ZwcnlSkaruN
WLTe/lN3e0oOIVbYig1lUbU5IxZu03KfNg2DZ9JiZdNBlzlqx1+oFlWFLwCg3awg
EfOUfbe4kVxNrsnxaCJYJ38EAMRVyUOfhkm9l0YuiC4ebOHrdmn9jFVW+XZPZDeb
8DcyTBNrgvVTnEmrNzVJgOyZIW+uraBVitak+No1kwXvC/i0kZEzYqfG87EdJSfe
OV7axIRisiTrcbZdRJ3CBDtGvLqJ9OuGFHPQmntnZfhiwJTR79hepndEQYyV5eQb
oQ+aA/0bI+/odyRDefc9HF1EhOcz8E76QP+VlvUfIDUJrmwv/3gLZ968HACOe0DE
+bcUockLJxoNwQFwCQPjm5S2+Ba2uY4hRhOA+MResZWlPouoosay2ADfiU7pdBCx
nbcLAuezgnZg4jcXvLl1QiAihxaEI2jqgZBnnierWzqRzRZM4LQrVGhvbWFzIERp
Y2tleSA8ZGlja2V5QGludmlzaWJsZS1pc2xhbmQubmV0PokBIgQQAQIADAUCTZ7Q
ZQUDABJ1AAAKCRCXELibyletfLKrB/sEVLsrCjFTwevbgKSzgCwLf6EhkifktlFB
w7/4n9Do1n7/LpgjdMH06YD9RjfSap4tdvEiHpzkpUtCGuzkGc/u4qTMdnWNgFhh
oHLhjVh4u72B/NtlgrpDEDrn1bnuZpzWxru4uDJGSgL00jV5b3kf1P07eQaguMC6
VeuzFmukv8LiDFhZcCl492nMZxz7vSRgSi8Ce+/Oc4Q+XTWmF5ZMKd5xNLjBdj2P
zOABHmDP1aA75grY30vVViPJve+W0h7A3PP9GuugNDkqmdCvTxYeMqiF6Vtv19/N
EW4jIvmN7GLOBo5F4RYcE9Fv4lV0xXlfpYwCqY7iAx9jyXgCbKXxiF4EExECAB4F
Aj/4r7ICGwMGCwkIBwMCAxUCAwMWAgECHgECF4AACgkQcCNT4Pfkjtt6MQCeKZHo
SgACIQk95rWefzSLULcpjxoAnjVet8e1/1indwT/wDDnObDDfM2UiEYEExECAAYF
AlZ3yw8ACgkQXd+Pt2iOMaZ0bACfVCFh+GzDCNXmZ3RcmDKjJxW7v4YAn0ApCgiS
8tZC2X2ZOs84WwJBIF7vuQENBD/4r7QQBACNOXUR5S3kRSry2IYGr4q0WjdPEh0k
oG1UVDhu0RN0Xbd2RnWjXrjYaYXskmCfo8pRwkNSUeFQ7ggRykcAECJTgfB6haHz
JP/JoD0BepEpwmkxDlsQaiigcEiDRSHxqEbpDVwfOCwY5o4r1jMVK9IhFevIyWuH
WghPO/ASRdF85wADBwP+JFo20ZhpLTkXBppW+bQR7GGHDYnNJpE/o9jev8EaaA9U
b1ST2G6T5iT+l1b09rcpGPfsA0ray9/AfH0DTvsxr0ai6ln+uM/TVY7S6vy3MLsq
yoJ6n2bfcr2R0B4lnRR34DCycATL9DVdmKf+NRTkvWXOSjTXQtdj0Kp2uYJeFqqI
SQQYEQIACQUCP/ivtAIbDAAKCRBwI1Pg9+SO266eAKDZ6zjUkRhpqsJxP6AWnIzR
YKoBTwCfcvSmQ7jC1nxJ6OkdrtZJH0znjF0=
=0vnF
-----END PGP PUBLIC KEY BLOCK-----

1343
ncurses.spec Normal file

File diff suppressed because it is too large Load Diff

BIN
tack-1.09-20221229.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
iQGzBAABCgAdFiEEGYgtkt2kxADCLA1WzCr0RyFnvgMFAmOtoBAACgkQzCr0RyFn
vgPvVAv9FuupqoD2Kl6xaULy3YhMBwbQf7nUjosLV7Jt7Amg5BZQGmjwIG+nJ8rc
wNFJi1DCHknI2ju9gEeuYOaFlKT9HlebRsKOa/ROGtjzoF+5AE0+yeKoiA21NAO9
8z0EK7Uu5RtDMO4vC3HYOxMn6DkPLwc6yOxxl716RlQT+2c9m9mb+OOzZDRa5X3l
pcXIbZ54+GBb9Tp8t3KtXIgcvTAJOisB7YhjzcW5s8wzZ4wjK1Qa2z+gCrYeIYcD
s25MQ8o4JTyIW/dMBeE4UnYkfGwe8L9W2+KUI6fvGnhTTdXbQaz/dNGfaXUegugp
LUBRttMQ3ikhm4qUuIX8AztS/j7ziuuE86wiecFFPaonPgkBPD5ezw3ez6MLEi+8
HiswKvPOdNp6cq8ilPPcIFpF7FA0YZil621ClokSkvXKTBdUN5+FVfWjKUOqzr04
hgbzmSH7+iqTzRnPt3K+QF/QUl7sF9JkcXJbUQfLkDogzc28a4FXcUwZt3UAfSc3
eloIhwXx
=DvFu
-----END PGP SIGNATURE-----