diff --git a/handle.linux b/handle.linux index 6a7db13..6e91689 100644 --- a/handle.linux +++ b/handle.linux @@ -17,10 +17,10 @@ ed= declare -i line=0 if test -r run_cmd.sh ; then - function tc { sh run_cmd.sh $BUILD_TIC -U -C -r ${1+"$@"}; } + 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 -U -C -r ${1+"$@"}; } + function tc { $BUILD_TIC -0 -U -C -r ${1+"$@"}; } function ic { $BUILD_INFOCMP -A $TERMINFO ${1+"$@"}; } fi @@ -45,35 +45,35 @@ for l in $(grep '^linux' $TERMCAP); do entry="$(tc $tmp2 | grep -v '^#')" - new=$(echo "$entry" | sed -e '/:a[el]=.*/a\ - :ac=' | sed -e "s/\t:ac=/${acsc//\\/\\\\}\\\\/") + 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//\\/\\\\}\\\\/") + :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 "$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//\\/\\\\}\\\\/") + :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//\\/\\\\}\\\\/") + 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=$(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=$(diff -e $tmp1 $tmp2| sed "s^\([0-9]\+a\)$line\n+\1") ed ${TERMCAP##*/}.new &> /dev/null <<-EOF ${ed} diff --git a/ncurses-6.1-patches.tar.bz2 b/ncurses-6.1-patches.tar.bz2 index cfc8128..ce6a5c2 100644 --- a/ncurses-6.1-patches.tar.bz2 +++ b/ncurses-6.1-patches.tar.bz2 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8ee2ee0f06f6451c52134856dc66a08375150a95234937b420e4ed29e9f2103e -size 1907702 +oid sha256:b58c0c1f395e26837ef5ac61108bfd63cb57f5be2ed1207b5099492d7773f11a +size 2033554 diff --git a/ncurses-6.1.dif b/ncurses-6.1.dif index fff0af1..878c44d 100644 --- a/ncurses-6.1.dif +++ b/ncurses-6.1.dif @@ -31,7 +31,7 @@ #include #if defined(__cplusplus) -@@ -5279,12 +5279,15 @@ cat >>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <\$TMP CF_EOF if test -n "$cf_compress" ; then -@@ -5409,9 +5412,9 @@ cat >>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <\$TMP CF_EOF if test -n "$cf_compress" ; then -@@ -14206,9 +14209,9 @@ cat >>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man </dev/null ; then reqs="$PANEL_LIBRARY${suffix}, $MENU_LIBRARY${suffix}, $FORM_LIBRARY${suffix}, $MAIN_LIBRARY${suffix}" @@ -389,7 +389,7 @@ desc="$desc add-on library" fi -@@ -149,6 +155,8 @@ do +@@ -153,6 +159,8 @@ do [ $NEED_TINFO != yes ] ; then [ -n "$reqs" ] && reqs="$reqs, " reqs="${reqs}${SUB_LIBRARY}${suffix}" @@ -795,7 +795,7 @@ $(SHELL) -e $(base)/MKlib_gen.sh "$(CPP) $(CPPFLAGS)" "$(AWK)" generated <../include/curses.h >$@ --- ncurses/curses.priv.h +++ ncurses/curses.priv.h 2019-11-11 09:30:23.214670585 +0000 -@@ -2248,6 +2248,8 @@ extern NCURSES_EXPORT(char *) _nc_tracec +@@ -2244,6 +2244,8 @@ extern NCURSES_EXPORT(char *) _nc_tracec extern NCURSES_EXPORT(char *) _nc_tracemouse (SCREEN *, MEVENT const *); extern NCURSES_EXPORT(char *) _nc_trace_mmask_t (SCREEN *, mmask_t); extern NCURSES_EXPORT(int) _nc_access (const char *, int); diff --git a/ncurses.changes b/ncurses.changes index f718de1..326016e 100644 --- a/ncurses.changes +++ b/ncurses.changes @@ -1,3 +1,99 @@ +------------------------------------------------------------------- +Tue Jan 7 09:12:06 UTC 2020 - Dr. Werner Fink + +- Add ncurses patch 20200104 + + modify a couple of macros in aclocal.m4 to allow autoconf 2.69 to + "work", to help illustrate discussion in + https://invisible-island.net/autoconf/my-autoconf.html + + fix some warnings from autoheader-252 +- Correct include path for ncursesw5 and co + +------------------------------------------------------------------- +Sun Dec 29 09:21:53 UTC 2019 - Dr. Werner Fink + +- Add ncurses patch 20191228 + + in gen-pkgconfig.in, move the RPATH_LIST and PRIVATE_LIBS assignments + past the various prefix/libdir assignments, to allow for using those + symbols, e.g., as done via CF_SHARED_OPTS. + + improve ncurses*-config and pc-files by filtering out linker-specs. + + modify test-package to more closely match Fedora's configuration + for PIE/PIC feature and debug-packages. + +------------------------------------------------------------------- +Thu Dec 26 14:15:16 UTC 2019 - Dr. Werner Fink + +- Add ncurses patch 20191221 + + correct pathname used in Ada95 sample programs for explain.txt, to + work with test-packages. + + improve tracemunch: + + keep track of TERMINAL* values + + if tracing was first turned on after initialization, attempt to + show distinct screen, window and terminal names anyway. + + ensure that GCC_NORETURN is defined in term.h, because the prototype + for exit_terminfo() uses it (report by Werner Fink). +- Remove patch workaround-20191214.patch as fixed upstream + +------------------------------------------------------------------- +Wed Dec 18 09:25:48 UTC 2019 - Dr. Werner Fink + +- Add temporary patch workaround-20191214.patch to add missed + declaration of GCC_NORETURN in term.h + +------------------------------------------------------------------- +Tue Dec 17 09:03:41 UTC 2019 - Dr. Werner Fink + +- Addd missing space between two include options for ABI 5 + package configuration + +------------------------------------------------------------------- +Mon Dec 16 10:15:37 UTC 2019 - Dr. Werner Fink + +- Also remove private requirements as (lib)tinfo are binary + compatible with normal and wide version of (lib)ncurses + +------------------------------------------------------------------- +Mon Dec 16 09:09:31 UTC 2019 - Dr. Werner Fink + +- Add ncurses patch 20191214 + + add exit_curses() and exit_terminfo() to replace internal symbols for + leak-checking. +- Let helper script handle.linux call sed command smart + +------------------------------------------------------------------- +Thu Dec 12 06:37:06 UTC 2019 - Dr. Werner Fink + +- Add ncurses patch 20191207 + + fix a few warnings for test-package builds + + add curses_trace(), to replace trace(). + +------------------------------------------------------------------- +Mon Dec 2 08:39:17 UTC 2019 - Dr. Werner Fink + +- Add ncurses patch 20191130 + + add portability section to curs_getcchar manpage (prompted by + discussion with Nick Black). + + improve portability discussion of ACS characters in curs_addch + manpage. + + improve typography for double-quotes in manpages. + +------------------------------------------------------------------- +Mon Nov 25 09:47:00 UTC 2019 - Dr. Werner Fink + +- Add ncurses patch 20191123 + + fix typo for MinGW rpm test-package. + + workaround in rpm specs for NFS problems in Fedora 31. + +------------------------------------------------------------------- +Mon Nov 18 07:52:56 UTC 2019 - Dr. Werner Fink + +- Add ncurses patch 20191116 + + modify ncurses/Makefile.in to fix a case where Debian/testing changes + to the ld --as-needed configuration broke ncurses-examples test + packages. + + drop library-dependency on psapi for MinGW port, since win_driver.c + defines PSAPI_VERSION to 2, making it use GetProcessImageFileName + from kernel32.dll (prompted by patch by Simon Sobish, cf: 20140503). + ------------------------------------------------------------------- Fri Nov 15 13:15:43 UTC 2019 - Dr. Werner Fink diff --git a/ncurses.spec b/ncurses.spec index 97d84ad..efea475 100644 --- a/ncurses.spec +++ b/ncurses.spec @@ -1,7 +1,7 @@ # # spec file for package ncurses # -# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2020 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -602,13 +602,10 @@ mv tack-* tack 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: ).*@\1panelw, menuw, formw, ncursesw, tinfo@' \ - pc/ncurses++w.pc - sed -ri 's@^(Requires.private: ).*@\1ncursesw, tinfo@' pc/{form,menu,panel}w.pc - sed -ri 's@^(Libs.private: .*)@\1 -lncursesw -ltinfo -ldl@' pc/{form,menu,panel}w.pc - + sed -ri 's@^(Requires.private:).*@\1@' pc/*.pc sh %{S:6} --cflags "$(pkg-config --cflags ncursesw)" --libs "$(pkg-config --libs ncursesw)" \ %{root}%{_bindir}/ncursesw6-config + # # Some tests # @@ -629,11 +626,13 @@ mv tack-* tack # Make the test suite for ncursesw6 # pushd test - CFLAGS="$CFLAGS -I%{root}%{_incdir}" LDFLAGS="$LDFLAGS -Wl,-rpath-link=%{root}%{_libdir} -L%{root}%{_libdir}" \ + CFLAGS="$CFLAGS -I%{root}%{_incdir}/ncursesw/ -I%{root}%{_incdir}/" \ + LDFLAGS="$LDFLAGS -Wl,-rpath-link=%{root}%{_libdir} -L%{root}%{_libdir}" \ + LIBS="$LDFLAGS" \ ./configure --with-ncursesw --enable-widec --prefix=$PWD LD_LIBRARY_PATH=%{root}%{_libdir} \ - make %{?_smp_mflags} TEST_ARGS='-lformw -lmenuw -lpanelw -lncursesw -lticw -l%{soname_tinfo} -Wl,--as-needed' - make install TEST_ARGS='-lformw -lmenuw -lpanelw -lncursesw -lticw -l%{soname_tinfo} -Wl,--as-needed' + make %{?_smp_mflags} TEST_ARGS='-lformw -lmenuw -lpanelw -lncursesw -lticw -l%{soname_tinfo} -Wl,--as-needed' TEST_LIBS='-lutil -lpthread' + make install TEST_ARGS='-lformw -lmenuw -lpanelw -lncursesw -lticw -l%{soname_tinfo} -Wl,--as-needed' TEST_LIBS='-lutil -lpthread' mv bin binw make distclean popd @@ -689,18 +688,15 @@ mv tack-* tack test -e "$pc" || break base=${pc%%.pc} base=${base##*/} - sed -ri 's@^(includedir=).*@\1%{_incdir}/ncurses5/ncurses@' "$pc" + 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 done - sed -ri 's@^(Requires.private: ).*@\1panel5, menu5, form5, ncurses5, tinfo5@' \ - pc/ncurses++5.pc - sed -ri 's@^(Requires.private: ).*@\1ncurses5, tinfo5@' pc/{form,menu,panel}5.pc - sed -ri 's@^(Libs.private: .*)@\1 -lncurses -ltinfo -ldl@' pc/{form,menu,panel}5.pc - sed -ri 's@^(Requires.private: ).*@\1tinfo5@' pc/tic5.pc - sed -ri 's@^(Libs.private: .*)@\1 -ltinfo@' pc/tic5.pc - sh %{S:6} --cflags "$(pkg-config --cflags ncurses5)" --libs "$(pkg-config --libs ncurses5)" \ %{root}%{_bindir}/ncurses5-config @@ -750,13 +746,7 @@ mv tack-* tack sh ../edit_man.sh normal installing %{root}%{_mandir} . ncurses6-config.1 popd mv -f %{root}%{_libdir}/pkgconfig/*.pc pc/ - sed -ri 's@^(Requires.private: ).*@\1panel, menu, form, ncurses, tinfo@' \ - pc/ncurses++.pc - sed -ri 's@^(Requires.private: ).*@\1ncurses, tinfo@' pc/{form,menu,panel}.pc - sed -ri 's@^(Libs.private: .*)@\1 -lncurses -ltinfo -ldl@' pc/{form,menu,panel}.pc - sed -ri 's@^(Requires.private: ).*@\1tinfo@' pc/tic.pc - sed -ri 's@^(Libs.private: .*)@\1 -ltinfo@' pc/tic.pc - + sed -ri 's@^(Requires.private:).*@\1@' pc/*.pc sh %{S:6} --cflags "$(pkg-config --cflags ncurses)" --libs "$(pkg-config --libs ncurses)" \ %{root}%{_bindir}/ncurses6-config # @@ -769,11 +759,13 @@ mv tack-* tack # Make the test suite for ncurses6 # pushd test - CFLAGS="$CFLAGS -I%{root}%{_incdir}" LDFLAGS="$LDFLAGS -Wl,-rpath-link=%{root}%{_libdir} -L%{root}%{_libdir}" \ + CFLAGS="$CFLAGS -I%{root}%{_incdir}ncurses/ -I%{root}%{_incdir}/" \ + LDFLAGS="$LDFLAGS -Wl,-rpath-link=%{root}%{_libdir} -L%{root}%{_libdir}" \ + LIBS="$LDFLAGS" \ ./configure --with-ncurses --disable-widec --prefix=$PWD LD_LIBRARY_PATH=%{root}%{_libdir} \ - make %{?_smp_mflags} TEST_ARGS='-lform -lmenu -lpanel -lncurses -ltic -ltinfo -Wl,--as-needed' - make install TEST_ARGS='-lform -lmenu -lpanel -lncurses -ltic -ltinfo -Wl,--as-needed' + make %{?_smp_mflags} TEST_ARGS='-lform -lmenu -lpanel -lncurses -ltic -ltinfo -Wl,--as-needed' TEST_LIBS='-lutil -lpthread' + make install TEST_ARGS='-lform -lmenu -lpanel -lncurses -ltic -ltinfo -Wl,--as-needed' TEST_LIBS='-lutil -lpthread' make distclean popd %endif @@ -835,16 +827,15 @@ mv tack-* tack test -e "$pc" || break base=${pc%%.pc} base=${base##*/} - sed -ri 's@^(includedir=).*@\1%{_incdir}/ncurses5/ncursesw@' "$pc" + 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 - sed -ri 's@^(Requires.private: ).*@\1panelw5, menuw5, formw5, ncursesw5, tinfo5@' \ - pc/ncurses++w5.pc - sed -ri 's@^(Requires.private: ).*@\1ncursesw5, tinfo5@' pc/{form,menu,panel}w5.pc - sed -ri 's@^(Libs.private: .*)@\1 -lncursesw -ltinfo -ldl@' pc/{form,menu,panel}w5.pc - sh %{S:6} --cflags "$(pkg-config --cflags ncursesw5)" --libs "$(pkg-config --libs ncursesw5)" \ %{root}%{_bindir}/ncursesw5-config