Opened 2 years ago

Closed 2 years ago

#4951 closed enhancement (fixed)

ncurses-6.3

Reported by: Bruce Dubbs Owned by: lfs-book
Priority: normal Milestone: 11.1
Component: Book Version: git
Severity: normal Keywords:
Cc:

Description

New minor version.

Also needed is to change the URL to https://invisible-mirror.net/archives/ncurses/ and fix the currency script to search there.

Change History (3)

comment:1 by Xi Ruoyao, 2 years ago

We need --with-pkg-config-libdir=/usr/lib/pkgconfig or .pc files will be in /usr/share/pkgconfig. In ncurses the pkg config files refer to libraries, so it's not proper for them to be in /usr/share.

comment:2 by Bruce Dubbs, 2 years ago

Release Notes

   These notes are for ncurses 6.3, released October 21, 2021.

   This  release  is  designed  to  be source-compatible with ncurses 5.0
   through  6.2; providing extensions to the application binary interface
   (ABI).  Although  the  source  can  still be configured to support the
   ncurses  5  ABI, the reason for the release is to reflect improvements
   to the ncurses 6 ABI and the supporting utility programs.

   There  are,  of  course,  numerous  other improvements, listed in this
   announcement.

   The  most  important  bug-fixes/improvements  dealt  with  portability
   issues.  The  release notes also mention some other bug-fixes, but are
   focused  on  new  features and improvements to existing features since
   ncurses 6.2 release.

  Library improvements

    New features

   There are a few new features:
     * A   new   (experimental)   driver,   for   the   Windows  Terminal
       configuration is provided.
     * A  script is provided which enables OpenBSD users to upgrade their
       system  to use ncurses 6.3 (OpenBSD developers are also invited to
       do this).

   Additionally,  to  improve  performance other changes (and extensions)
   are provided in this release:
     * modify  lib_mouse.c  to  check  for  out-of-range  button numbers,
       convert those to position reports.
     * add sp-funcs for erasewchar, killwchar.

    Other improvements

   These are revised features:
     * modify  wgetnstr,  wgetn_wstr  to  improve compatibility with SVr4
       curses in its treatment of interrupt and quit characters

   These were done to limit or ultimately deprecate features:
     * mark wgetch-events feature as deprecated.
          + prevent  KEY_EVENT  from  appearing  in  curses.h  unless the
            configure option --enable-wgetch-events is used.
          + modify   MKkey_defs.sh   to   hide   ncurses'  definition  of
            KEY_EVENTS to reduce Visual Studio C++ redefinition warnings.
     * reduce   build-warnings   by   excluding   ncurses-internals  from
       deprecation warnings.

   These are improvements to existing features:
     * drop symbols GCC_PRINTF and GCC_SCANF from <curses.h>, to simplify
       use.
     * apply  gcc  format  attribute  to  prototypes  which use a va_list
       parameter rather than a "..." variable-length parameter list.
     * modify  <term.h> so that it is not necessary to include <curses.h>
       before <term.h>.
     * provide for wide-characters as background character in wbkgrnd
     * improve parameter-checking for tparm, adding function _nc_tiparm()
       to   handle   the  most-used  case,  which  accepts  only  numeric
       parameters.
     * use  return-value  from vsnprintf to reallocate as needed to allow
       for buffers larger than the screen size.
     * add  another  fflush(stdout) in _nc_flush to handle time-delays in
       the  middle  of  strings  such  as flash when the application uses
       low-level calls rather than curses.

   These are corrections to existing features:
     * add  a  check  to  guard against repeat_char emitting digits which
       could  be interpreted as BSD-style padding when --enable-bsdpad is
       configured.
     * check  for screen size-change in scr_init and scr_restore, in case
       a screen dump does not match the current screen dimensions

  Program improvements

   Several improvements were made to the utility programs:

   tabs

          + implement "+m" option

   tic

          + add check for duplicate "use=" clauses.
          + add  check  to  report  instances where tparm would detect an
            error in an expression.
          + add  user-defined  capabilities  from mintty to Caps-ncurses,
            for checking consistency.
          + improve warning when oc/op do not mention SGR 39/49 for xterm
            compatible XT flag.
          + improve  checks  for  number  of  parameters of smglp, smgrp,
            smgtp, and smgbp.
          + improve  "-c"  option  to  validate  the  number  and type of
            parameters  and  compare  against expected number/type before
            deciding which set of parameter-lists to use in tparm calls.
          + improve check for errors detected in tparm.
          + improve format of output, to ensure that the messages contain
            only printable text.
          + modify to eliminate unnecessary "\" to escape ":" in terminfo
            format.
          + remove check that assumes that none or both parameterized and
            non-parameterized margin-setting capabilities are present.

   toe

          + modify  output  of  "toe -as" to show first description found
            rather than the last.
          + add  a  check  to ensure that a "termcap file" is text rather
            than binary.

   tput

          + modify to allow multiple commands per line.
          + improve  parameter-checking  by analyzing all extended string
            capabilities,  e.g., as used in the Cs and Ms capabilities of
            the tmux description.
          + make  warning  messages  consistently  using alias names when
            those are used, rather than the underlying program's name.
          + improve   usage   message  for  aliases  such  as  clear,  by
            eliminating tput-specific portions.
          + modify  initialization  to  avoid  opening /dev/tty for cases
            other than reset/init, e.g., for clear.
    Examples

   Along  with  the  library and utilities, improvements were made to the
   ncurses-examples.  Most  of  this  activity  aimed  at  improving  the
   test-packages.  A few changes are more generally useful, e.g., for the
   main   ncurses  test-program,  and  for  analyzing  traces  using  the
   tracemunch script:
     * add  "-r" option to the dots test-programs, to help with scripting
       a performance comparison.
     * build-fix  for  test_opaque,  for  configurations  without  opaque
       curses structs, e.g., ncurses 5.7.
     * improve tracemunch logic for "RUN" compaction.
     * improve tracemunch's coverage of form/menu/panel libraries.
     * improve  tracemunch's  checking/reporting  the  type for the first
       parameter, e.g., "WINDOW*" rather than "#1".
     * modify  tracemunch  and  the panel library to show readable traces
       for panel- and user-pointers.

   There are other new demo/test programs and reusable examples:

   back_ground
          to exercise the wide-character background functions.

   move_field
          to  demonstrate move_field, and a stub for a corresponding demo
          of dup_field.

   test_tparm
          for checking tparm changes.

  Terminal database

   There are several new terminal descriptions:

     absolute,    att610+cvis,    foot,    foot-direct,   hp98550-color,
     hpterm-color2,   hterm,   hterm-256color,   linux-s,  putty+keypad,
     putty+screen,    putty-screen,    screen.linux-s,   scrt/securecrt,
     tmux-direct,  vt220+cvis,  vt220+cvis8, vt220+pcedit, vt220+vtedit,
     vt220-base,     vt52+keypad,    xterm+256color2,    xterm+88color2,
     xterm-direct16,       xterm-direct256,      xterm+nofkeys,      and
     xterm+nopcfkeys.

   There  are  many  changes to existing terminal descriptions. Some were
   updates to several descriptions:
     * correct use-ordering in some xterm-direct flavors
     * fix   some   sgr   inconsistencies  in  d230c,  ibm6153,  ibm6154,
       ncrvt100an
     * improve vt50h and vt52 based on DECScope manual
     * use hp+arrows in a few places
     * use hp+pfk-cr in a few places
     * use  vt220+cvis  in  st,  terminology,  termite  since they ignore
       blinking-cursor detail in att610+cvis

   while  others  affected specific descriptions. These were retested, to
   take into account changes by their developers:

     kitty+common, mlterm3, ms-terminal

comment:3 by Bruce Dubbs, 2 years ago

Resolution: fixed
Status: newclosed

Fixed at commit 0d78c2c1798784b696bf75d47f5d301ecbe260e7

    Package updates.
    Update to iana-etc-20211112.
    Update to elfutils-0.186.
    Update to jinja2-3.0.3.
    Update to bc-5.2.0.
    Update to ncurses-6.3.
    Update to libpipeline-1.5.4.
    Update to meson-0.60.1.
    Update to iproute2-5.15.0.
    Update to linux-5.15.2.
    
    One change was needed to systemd-249 due to changes in the linux
    kernel version 5.14 and later.
    
    A change to ncurses was needed to ensure the .pc files are placed in
    the right location (/usr/lib/pkgconfig).
Note: See TracTickets for help on using tickets.