Commit graph

290 commits

Author SHA1 Message Date
schmonz
d67eeb0a9d Run the built tic with the built libncurses, not the installed one, as
the build system intends (but fails) to do. This fixes "make package",
for instance, when tic needs to use a newly provided symbol.

This fix applies to fewer dynamic linkers than ${WRKSRC}/misc/shlib --
not the macOS dyld, for instance -- so making the provided script work
as intended will be more widely effective than this patch.
2020-09-07 11:11:41 +00:00
js
595e7db3c2 [devel/ncurses] Work around #error due to include order on QNX
Still doesn't link, yet.
2020-09-04 10:33:14 +00:00
jperkin
0c20641bbd ncurses: Simplify handling of TOOLS_TBL.
Don't try to handle obscure cases where certain parts of curses are builtin,
historically it has been shown to lead to failures and a growing list of
special cases.  Just disable completely if native tbl(1) is not available.

Fixes latest issue seen by sjmulder on OpenIndiana.
2020-06-01 07:01:19 +00:00
jperkin
0bf82caaf6 ncurses: Apply Debian patch to fix tmux with screen-256color.
Bump PKGREVISION.
2020-03-30 08:53:42 +00:00
wiz
c510076bed ncurses: restore patch for xterm-new
Sent upstream this time.

Requested by jperkin.

Bump PKGREVISION.
2020-03-28 07:55:54 +00:00
wiz
222ace775a ncurses: annotate patches with upstream solution in next release 2020-03-09 06:16:13 +00:00
wiz
df24100130 ncurses: replace patch (chunk) with configure flag 2020-03-09 06:11:55 +00:00
wiz
a9643524f9 ncurses: use rm -f 2020-03-06 08:30:19 +00:00
wiz
b7c09329a1 ncurses: clean up patches
Remove cargo-cult packages, only keep the ones for renaming the
form/menu/panel libraries to gnu*.
Handle (removing) terminfo symlink in Makefile instead of as a patch.

No functional change intended.
2020-03-05 12:52:32 +00:00
wiz
2d7139df88 ncurses: remove obsolete patch
Fixed differently, says upstream.
2020-03-04 22:25:13 +00:00
wiz
58463f572c ncurses: update to 6.2.
20200212 6.2 release for upload to ftp.gnu.org
	+ update release notes
	+ minor build-fixes, mostly to test-package scripts

20200208
	+ modify check for sizeof(wchar_t) to ensure it gives useful result
	  when cross-compiling.
	+ drop assumption in configure script that Cygwin's linker is broken.
	+ define NCURSES_BROKEN_LINKER if the broken-linker feature is used,
	  to simplify configure-checks for ncurses-examples.

20200202
	+ reassert copyright on ncurses, per discussion in ncurses FAQ:
	  https://invisible-island.net/ncurses/ncurses.faq.html#relicensed

20200201
	+ modify comparison in make_hash.c to correct a special case in
	  collision handling for Caps-hpux11
	+ add testing utility report_hashing to check hash-tables used for
	  terminfo and termcap names.
	+ fix a missing prototype for _nc_free_and_exit().
	+ update a few comments about tack 1.07
	+ use an awk script to split too-long pathnames used in Ada95 sample
	  programs for explain.txt

20200118
	+ expanded description of XM in user_caps.5
	+ improve xm example for xterm+x11mouse, xterm+sm+1006 -TD
	+ add history section to curs_slk.3x and curs_terminfo.3x manpages.
	+ update alacritty entries for 0.4.0 (prompted by patch by
	  Christian Durr) -TD
	+ correct spelling errors found with codespell.
	+ fix for test/configure, from xterm #352.

20200111
	+ improve configure macros which check for the X11/Intrinsic.h header,
	  to accommodate recent MacOS changes.
	+ suppress gcc's -Winline warning; it has not been useful for some time
	+ update config.guess, config.sub

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

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.

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).

20191214
	+ add exit_curses() and exit_terminfo() to replace internal symbols for
	  leak-checking.

20191207
	+ fix a few warnings for test-package builds
	+ add curses_trace(), to replace trace().

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.

20191123
	+ fix typo for MinGW rpm test-package.
	+ workaround in rpm specs for NFS problems in Fedora 31.

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).

20191109
	+ add warning-check in tic for terminals with parm_dch vs parm_ich.
	+ drop ich1 from rxvt-basic, Eterm and mlterm to improve compatibility
	  with old non-curses programs -TD
	+ reviewed st 0.8.2, updated some details -TD
	+ use ansi+rep several places -TD
	+ corrected tic's check for ich1 (report by Sebastian J. Bronner,
	  cf: 20020901).

20191102
	+ check parameter of set_escdelay, return ERR if negative.
	+ check parameter of set_tabsize, return ERR if not greater than zero
	  (report/patch by Anthony Sottile).
	+ revise CF_ADD_LIBS macro to prepend rather than append libraries.
	+ add "xterm-mono" to help packagers (report by Sven Joachim) -TD

20191026
	+ add a note in man/curs_add_wch.3x about Unicode terminology for the
	  line-drawing characters (report by Nick Black).
	+ improve comment in lib_tgoto.c regarding the use of \200 where a
	  \0 would be intended by the caller (report by "64 bit", cf: 20000923).
	+ modify linux-16color to accommodate Linux console driver change in
	  early 2018 (report by Dino Petrucci).

20191019
	+ modify make_hash to not require --disable-leaks, to simplify building
	  with address-sanitizer.
	+ modify tic to exit if it cannot remove a conflicting name, because
	  treating that as a partial success can cause an infinite loop in
	  use-resolution (report/testcase by Hongxu Chen, cf: 20111001).

20191015
	+ improve buffer-checks in captoinfo.c, for some cases when the
	  input string is shorter than expected.
	> fix two errata in tic (report/testcases by Hongxu Chen):
	+ check for missing character after backslash in write_it
	+ check for missing characters after "%>" when converting from termcap
	  syntax (cf: 980530).

20191012
	+ amend recent changes to ncurses*-config and pc-files to filter out
	  Debian linker-flags (report by Sven Joachim, cf: 20150516).
	+ clarify relationship between tic, infocmp and captoinfo in manpage.
	+ check for invalid hashcode in _nc_find_type_entry and
	  _nc_find_name_entry.
	> fix several errata in tic (reports/testcases by "zjuchenyuan"):
	+ check for invalid hashcode in _nc_find_entry.
	+ check for missing character after backslash in fmt_entry
	+ check for acsc with odd length in dump_entry in check for one-one
	  mapping (cf: 20060415);
	+ check length when converting from old AIX box_chars_1 capability,
	  overlooked in changes to eliminate strcpy (cf: 20001007).

20191005
	+ modify the ncurse*-config and pc-files to more closely match for the
	  -I and -l options.

20190928
	+ amend the ncurses*-config and pc-files to take into account the rpath
	  hack which differed between those files.
	+ improve -L option filtering in ncurses*-config
	+ improve recovery from error when reading command-character in
	  test/ncurses.c, showing the relevant error message and not exiting on
	  EINTR (cf: 20180922)

20190921
	+ add a note in resizeterm manpage about top-level windows which touch
	  the screen's borders.
	+ modify configure-checks for gnat to identify each of the tools path
	  and version.

20190914
	+ build-fixes for Ada95 configure-script and corresponding test package

20190907
	+ add --with-ada-libname option and modify Ada95 configuration to
	  allow renaming the "AdaCurses" library (prompted by proposed changes
	  by Pascal Pignard).
	+ modify configure script to distinguish gcc from icc and clang when
	  the --enable-warnings option is not used, to avoid unnecessary
	  warnings about unrecognized inline options (report by Sven Joachim).

20190831
	+ build-fixes for configuration using --program-suffix with Ada95,
	  noticed with MacOS but applicable to other platforms without
	  libpanelw, etc.

20190824
	+ fix some cppcheck warnings, mostly style, in ncurses test-programs.

20190817
	+ amend 20181208 changes for wbkgd() and wbkgrnd(), fixing a few
	  details where it still differed from SVr4.
	+ fix some cppcheck warnings, mostly style, in ncurses test-programs.

20190810
	+ fix a few more coverity warnings.

20190803
	+ improve loop limits in _nc_scroll_window() to handle a case where
	  the scrolled data is a pad which is taller than the window (patch
	  by Rob King).
	+ amend the change to screen, because tmux relies upon that entry
	  and does not support that feature (Debian #933572) -TD
	+ updated ms-terminal entry & notes -TD
	+ updated kitty entry & notes -TD
	+ updated alacritty+common entry & notes -TD
	+ use xterm+sl-twm for consistency -TD

20190728
	+ fix a few more coverity warnings.
	+ more documentation updates based on tctest.

20190727
	+ fix a few coverity warnings.
	+ documentation updates based on tctest.

20190720
	+ fix a few warnings for gcc 4.x
	+ add some portability/historical details to the tic, toe and infocmp
	  manual pages.
	+ correct fix for broken link from terminfo(5) to tabs(1) manpage
	  (report by Sven Joachim).

20190713
	+ change reset's behavior for margins to simply clear soft-margins if
	  possible, rather than clearing and then setting them according to the
	  terminal's width (suggested by Thomas Wolff).
	+ correct order of one wbkgd versus start_color call in test/padview.c

20190706
	+ add domterm -TD
	+ improve comments for recent changes, add alias xterm.js -TD

20190630
	+ add --with-tic-path and --with-infocmp-path to work around problems
	  building fallback source using pre-6.0 tic/infocmp.
	+ add a check in tic for paired indn/rin
	+ correct a buffer-limit in write_entry.c for systems that use caseless
	  filenames.
	+ add ms-terminal -TD
	+ add vscode, vscode-direct -TD

20190623
	+ improve the tabs.1 manual page to distinguish the PWB/Unix and 7th
	  Edition versions of the tabs utility.
	+ add configure check for getenv() to work around implementation shown
	  in Emscripten #6766, use that to optionally suppress START_TRACE
	  macro, whose call to getenv() may not work properly (report by Ilya
	  Ig Petrov).
	+ modify initialization functions to avoid relying upon persistent
	  data for the result from getenv().
	+ update config.guess, config.sub

20190615
	+ expand the portability section of the man/tabs.1 manual page.
	+ regenerate HTML manpages.

20190609
	+ add mintty, mintty-direct (adapted from patch by Thomas Wolff).
	  Some of the suggested user-defined capabilities are commented-out,
	  to allow builds with ncurses 5.9 and 6.0
	+ add Smol/Rmol for tmux, vte-2018 (patch by Nicholas Marriott).
	+ add rs1 to konsole, mlterm -TD
	+ modify _nc_merge_entry() to make a copy of the data which it merges,
	  to avoid modifying the source-data when aligning extended names.

20190601
	+ modify an internal call to vid_puts to pass extended color pairs
	  e.g., from tty_update.c and lib_mvcur.c (report by Niegodziwy Beru).
	+ improve manual page description of init_tabs capability and TABSIZE
	  variable.

20190525
	+ modify reset_cmd.c to allow for tabstops at intervals other than 8
	  (report by Vincent Huisman).

20190518
	+ update xterm-new to xterm patch #345 -TD
	+ add/use xterm+keypad in xterm-new (report by Alain D D Williams) -TD
	+ update terminator entry -TD
	+ remove hard-tabs from ti703 (report by Robert Clausecker)
	+ mention meml/memu/box1 in user_caps manual page.
	+ mention user_caps.5 in tic and infocmp manual pages.

20190511
	+ fix a spurious blank line seen with "infocmp -1fx xterm+x11mouse"
	+ add checks in repair_subwindows() to keep the current position and
	  scroll-margins inside the resized subwindow.
	+ add a limit check in newline_forces_scroll() for the case where the
	  row is inside scroll-margins, but not at the end (report by Toshio
	  Kuratomi, cf: 20170729).
	+ corrected a warning message in tic for extended capabilities versus
	  number of parameters.

20190504
	+ improve workaround for Solaris wcwidth versus line-drawing characters
	  (report by Pavel Stehule).
	+ add special case in tic to validate RGB string-capability extension.
	+ corrected string/parameter-field for RGB in Caps-ncurses.

20190427
	+ corrected problem in terminfo load/realignment which prevented
	  infocmp from comparing extended capabilities with the same name
	  but different types.

20190420
	+ improve ifdef's for TABSIZE variable, to help with AIX/HPUX ports.

20190413
	+ check for TABSIZE variable in test/configure script.
	+ used test/test_arrays.c to improve Caps.aix1 and Caps.hpux11
	+ corrected filtering of comments in MKparametrized.sh
	+ reduce duplication across Caps* files by moving some parts which do
	  not depend on order into Caps-ncurses.

20190406
	+ modify MKcaptab.sh, MKkey_defs.sh, and MKhashsize.sh to handle
	  split-up Caps-files.
	+ build-fixes if extended-functions are disabled.

20190330
	+ add "screen5", to mention italics (report by Stefan Assmann)
	+ modify description of xterm+x11hilite to eliminate unused p5 -TD
	+ add configure script checks to help with a port to Ultrix 3.1
	  (report by Dennis Grevenstein).
	  + check if "b" binary feature of fopen works
	  + check for missing feature of locale.h
	  + add fallback for strstr() in test-programs
	  + add fallback for STDOUT_FILENO in test-programs
	+ update config.guess, config.sub

20190323
	+ move macro for is_linetouched() inside NCURSES_NOMACROS ifndef.
	+ corrected prototypes in several manpages using script to extract
	  those in compilable form.
	+ use _nc_copy_termtype2() rather than direct assignment in setupterm,
	  in case it is called repeatedly using fallback terminfo descriptions
	  (report/patch by Werner Fink).

20190317
	+ regenerate llib-* files.
	+ modify tic to also use new function for user-defined capability info.
	+ modify _nc_parse_entry() to check if a user-defined capability has
	  an unexpected type; ignore it in that case.
	+ fix a special case of link-anchors in generated Ada html files.
	+ use newer rel=author tag in generated html rather than rev=made,
	  which did not become accepted.

20190309
	+ in-progress changes to add parameter-checking for common user-defined
	  capabilities in tic.
	+ update MKcodes.awk and MKnames.awk to ignore the new "userdef"
	  data in Caps-ncurses (cf: 20190302).

20190302
	+ corrected some of the undocumented terminfo names in Caps.hpux11
	+ add "Caps-ncurses" file to help with checking inconsistencies in some
	  user-defined capabilities.
	+ amend check for repeat_char to handle a case where setlocale() was
	  called after initscr() (report by "Ampera").

20190223
	+ fix typo in adds200 -TD
	+ add tic check for consistent alternate character set capabilities.
	+ improve check in mvcur() to decide whether to use hard-tabs, using
	  xt, tbc and hts as clues.
	+ replace check in reset command for obsolete "pt" capability using
	  tbc and hts capabilities as clues (report by Nicolas Marriott).

20190216
	+ improve manual page description of TABSIZE.
	+ add test/demo_tabs program.

20190209
	+ add check in tic to provide warnings for mismatched number of
	  parameters in the documented user-capability extensions.

20190202
	+ modify rpm test-package ".spec" file to work around naming conflict
	  with Redhat's package for ncurses6.
	+ modify no-leaks code in test/picsmap to avoid non-standard tdestroy.
	+ amend change to configure script which altered the top-level makefile
	  to avoid attempting to install the terminfo database when it was not
	  configured, to allow for installing the ".pc" files which are also
	  in the misc directory (report by Steve Wills).

20190126
	+ change some "%define" statements in test-packages for RPMs to
	  "%global" to work around changes in rpm 4.14 from recent Redhat.
	+ fixes for O_INPUT_FIELD extension (patch by Leon Winter).
	+ eliminate fixed buffer-size when reading $TERMCAP variable.
	+ correct logic in read_entry.c which prevented $TERMCAP variable from
	  being interpreted as a fallback to terminfo entry (prompted by
	  Savannah #54556, cf: 20110924).

20190121
	+ add a check in test/configure to work around non-ncurses termcap.h
	  file in Slackware.
	+ corrected flag for "seq" method of db 1.8.5 interface, needed by toe
	  on some of the BSDs.
	+ updated "string-hacks" feature.
	+ minor improvements to manpage typography.
	+ corrected conditionally-compiled limit on color pairs (report by
	  "Hudd").
	+ add -x option to test/pair_content, test/color_content for testing
	  init_extended_pair, extended_pair_content, init_extended_color,
	  extended_color_content
	+ add -p option to test/pair_content, test/color_content to show the
	  return values from the tested functions.
	+ improve manual page curs_color.3x discussion of error returns and
	  extensions.
	+ add O_INPUT_FIELD extension to form library (patch by Leon Winter).
	+ override/suppress --enable-db-install if --disable-database configure
	  option was given.
	+ change a too-large terminal entry in tic from a fatal error to a
	  warning (prompted by discussion with Gabriele Balducci).

20190112
	+ fix typo in term(5), improve explanation of format (report by Otto
	  Modinos).
	+ add nsterm-direct -TD
	+ use SGR 1006 mouse for konsole-base -TD
	+ use SGR 1006 mouse for putty -TD
	+ add ti703/ti707, ti703-w/ti707-w (Robert Clausecker)

20190105
	+ add dummy "check" rule in top-level and test-Makefile to simply
	  building test-packages for Arch.
	+ modify configure script to avoid conflict with a non-POSIX feature
	  that enables all parts of the system headers by default.  Some
	  packagers have come to rely upon this behavior (FreeBSD #234049).
	+ update config.guess, config.sub

20181229
	+ improve man/curs_mouse.3x with regard to xterm
	+ modify tracemunch to accept filename parameters in addition to use
	  as a pipe/filter.
	+ minor optimization to reduce calls to _nc_reserve_pairs (prompted by
	  discussion with Bryan Christ).
	+ add test/pair_content.c and test/color_content.c
	+ modify infocmp to omit filtering of "OTxx" names which are used for
	  obsolete capabilities, when the output is sorted by long-names.
	  Doing this helps when making a table of the short/long capability
	  names.

20181215
	+ several fixes for gcc8 strict compiler warnings.
	+ fix a typo in comments (Aaron Gyes).
	+ add nsterm-build309 to replace nsterm-256color, assigning the latter
	  as an alias of nsterm, to make mouse work with nsterm-256color -TD
	+ base gnome-256color entry on "gnome", not "vte", for consistency -TD
	+ updates for configure macros from work on tin and xterm:
	  + CF_GNU_SOURCE, allow for Cygwin's newlib when checking for the
	    _DEFAULT_SOURCE symbol.
	  + CF_VA_COPY, add fallback check if neither va_copy/__va_copy is
	    supported, to try copying the pointers for va_list, or as an array.
	    Also add another fallback check, for __builtin_va_copy(), which
	    could be used with AIX xlc in c89 mode.

20181208
	+ modify wbkgd() and wbkgrnd() to improve compatibility with SVr4
	  curses, changing the way the window rendition is updated when the
	  background character is modified (report by Valery Ushakov).

20181201
	+ add midnightbsd to CF_XOPEN_SOURCE macro (patch by Urs Jansen).
	+ add "@" command to test/ncurses F-test, to allow rapid jump to
	  different character pages.
	+ update config.guess, config.sub from
		http://git.savannah.gnu.org/cgit/config.git

20181125
	+ build-fix (reports by Chih-Hsuan Yen, Sven Joachim).

20181124
	+ check --with-fallbacks option to ensure there is a value, and add
	  the fallback information to top-level Makefile summary.
	+ add some traces in initialization to show whether a fallback entry is
	  used.
	+ build-fix for test/movewindow with ncurses-examples on Solaris.
	+ add "-l" option to test/background, to dump screen contents in a form
	  that lets different curses implementations be compared.
	+ modify the initialization checks for mouse so that the xterm+sm+1006
	  block will work with terminal descriptions not mentioning xterm
	  (report by Tomas Janousek).

20181117
	+ ignore the hex/b64 $TERMINFO in toe's listing.
	+ correct a status-check in _nc_read_tic_entry() so that if reading
	  a hex/b64 $TERMINFO, and the $TERM does not match, fall-through to
	  the compiled-in search list.

20181110
	+ several workarounds to ensure proper C compiler used in parts of
	  Ada95 tree.
	+ update config.guess, config.sub from
		http://git.savannah.gnu.org/cgit/config.git

20181027
	+ add OpenGL clients alacritty and kitty -TD
	+ add Smulx for tmux, vte-2018 -Nicholas Marriott

20181020
	+ ignore $TERMINFO as a default value in configure script if it came
	  from the infocmp -Q option.
	+ allow value for --with-versioned-syms to be a relative pathname
	+ add a couple of broken-linker symbols to the list of versioned
	  symbols to help with link-time optimization versus weak symbols.
	+ apply shift/control/alt logic when decoding xterm's 1006 mode to
	  wheel-mouse events (Redhat #1610681).

20181013
	+ amend change from 20180818, which undid a fix for the $INSTALL value
	  to make it an absolute path.

20181006
	+ improve a configure check to work with newer optimizers (report by
	  Denis Pronin, Gentoo #606142).
	+ fix typo in tput.c (Sven Joachim, cf: 20180825).

20180929
	+ fix typo in tvi955 -TD
	+ corrected acsc for regent60 -TD
	+ add alias n7900 -TD
	+ corrected acsc for tvi950 -TD
	+ remove bogus kf0 from tvi950 -TD
	+ added function-key definitions to agree with Televideo 950 manual -TD
	+ add bel to tvi950 -TD
	+ add shifted function-keys to regent60 -TD
	+ renumber regent40 function-keys to match manual -TD
	+ add cd (clr_eos) to adds200 -TD

20180923
	+ build-fix: remove a _tracef call which was used for debugging (report
	  by Chris Clayton).

20180922
	+ ignore interrupted system-call in test/ncurses's command-line, e.g.,
	  if the terminal were resized.
	+ add shift/control/alt logic for decoding xterm's 1006 mode (Redhat
	  #1610681, cf: 20141011).
	+ modify rpm test-packages to not use --disable-relink with Redhat,
	  since Fedora 28's tools do not work with that feature.

20180908
	+ document --with-pcre2 configure option in INSTALL.
	+ improve workaround for special case in PutAttrChar() where a cell is
	  marked as alternate-character set, to handle a case where the
	  character in the cell does not correspond to any of the ASCII
	  fallbacks (report by Leon Winter, cf: 20180505).
	+ amend change to form library which attempted to avoid unnecessary
	  update of cursor position in non-public fields, to simply disable
	  output in this case (patch by Leon Winter, cf: 20180414).
	+ improve check for LINE_MAX runtime limit, to accommodate broken
	  implementations of sysconf().

20180901
	+ improve manual page for wgetnstr, giving background for the length
	  parameter.
	+ define a limit for wgetnstr, wgetn_wstr when length is negative or
	  "too large".
	+ update configure script to autoconf 2.52.20180819 (Debian #887390).

20180825
	+ add a section to tput manual page clarifying how it determines the
	  terminal size (prompted by discussion with Grant Jenks).
	+ add "--disable-relink" to rpm test-packages, for consistency with the
	  deb test-packages.
	+ split spec-file into ncurses6.spec and ncursest6.spec to work around
	  toolset breakage in Fedora 28.
	+ drop mention of "--disable-touching", which was not in the final
	  20180818 updates.

20180818
	+ build-fix for PDCurses with ncurses-examples.
	+ improved CF_CC_ENV_FLAGS.
	+ modify configure scripts to reduce relinking/ranlib during library
	  install (Debian #903790):
	  + use "install -p" when available, to avoid need for ranlib of
	    static libraries.
	  + modify scripts which use "--disable-relink" to add a 1-second
	    sleep to work around tools which use whole-second timestamps, e.g.,
	    in utime() rather than the actual file system resolution.

20180804
	+ improve logic for clear with E3 extension, in case the terminal
	  scrolls content onto its saved-lines before actually clearing
	  the display, by clearing the saved-lines after clearing the
	  display (report/patch by Nicholas Marriott).

20180728
	+ improve documentation regarding feature-test macros in curses.h
	+ improve documentation regarding the virtual and physical screens.
	+ formatting fixes for manpages, regenerate man-html documentation.

20180721
	+ build-fixes for gcc8.
	+ corrected acsc for wy50 -TD
	+ add wy50 and wy60 shifted function-keys as kF1 to kF16 -TD
	+ remove ansi+rep mis-added to interix in 2018-02-23 -TD

20180714
	+ add enum, regex examples to test/demo_forms
	+ add configure check for pcre-posix library to help with MinGW port.

20180707
	+ build-fixes for gcc8.
	+ correct order of WINDOW._ttytype versus WINDOW._windowlist in
	  report_offsets.
	+ fix a case where tiparm could return null if the format-string was
	  empty (Debian #902630).

20180630
	+ add acsc string to vi200 (Nibby Nebbulous)
	  add right/down-arrow to vi200's acsc -TD
	+ add "x" to tput's getopt string so that "tput -x clear" works
	  (Nicholas Marriott).
	+ minor fixes prompted by anonymous report on stack overflow:
	  + correct order of checks in _nc_get_locale(), for systems lacking
	    locale support.
	  + add "#error" in a few places to flag unsupported configurations

20180623
	+ use _WIN32/_WIN64 in preference to __MINGW32__/__MINGW64__ symbols
	  to simplify building with MSVC, since the former are defined in both
	  compiler configurations (report by Ali Abdulkadir).
	+ further improvements to configure-checks from work on dialog, i.e.,
	  updated CF_ADD_INCDIR, CF_FIND_LINKAGE, CF_GCC_WARNINGS,
	  CF_GNU_SOURCE, CF_LARGEFILE, CF_POSIX_C_SOURCE, CF_SIZECHANGE, and
	  CF_TRY_XOPEN_SOURCE.
	+ update config.guess, config.sub from
		http://git.savannah.gnu.org/cgit/config.git

20180616
	+ build-fix for ncurses-examples related to gcc8-fixes (cf: 20180526).
	+ reduce use of _GNU_SOURCE for current glibc where _DEFAULT_SOURCE
	  combines with _XOPEN_SOURCE (Debian #900987).
	+ change target configure level for _XOPEN_SOURCE to 600 to address
	  use of vsscanf and setenv.
	+ improved configure-checks CF_SIZECHANGE and CF_STRUCT_TERMIOS from
	  work on dialog.

20180609
	+ modify generated ncurses*config and ncurses.pc, ncursesw.pc, etc.,
	  to list helper libraries such as gpm for static linking (Debian
	  #900839).
	+ marked vwprintw and vwscanw as deprecated; recommend using vw_printw
	  and vw_scanw, respectively.

20180602
	+ add RPM test-package "ncursest-examples".
	+ modified RPM test-package to work with Mageia6.

20180526
	+ add note in curs_util.3x about unctrl.h
	+ review/improve header files to ensure that those include necessary
	  files except for the previously-documented cases (report by Isaac
	  Pascual Monells).
	+ improved test-package scripts, adapted from byacc 1.9 20180525.
	+ fix some gcc8 warnings seen in Redhat package build, but
	  work around bug in gcc8 compiler warnings in comp_parse.c

20180519
	+ formatting fixes for manpages, regenerate man-html documentation.
	+ trim spurious whitespace from tmux in 2018-02-24 changes;
	  fix some inconsistencies in/between tmux- and iterm2-entries for SGR
	  (report by C Anthony Risinger)
	+ improve iterm2 using some xterm features which it has adapted -TD
	+ add check in pair_content() to handle the case where caller asks
	  for an uninitialized pair (Debian #898658).

20180512
	+ remove trailing ';' from GCC_DEPRECATED definition.
	+ repair a change from 20110730 which left an error-check/warning dead.
	+ fix several minor Coverity warnings.

20180505
	+ add deprecation warnings for internal functions called by older
	  versions of tack.
	+ fix a special case in PutAttrChar() where a cell is marked as
	  alternate-character set, but the terminal does not actually support
	  the given graphic character.  This would happen in an older terminal
	  such as vt52, which lacks most line-drawing capability.
	+ use configure --with-config-suffix option to work around filename
	  conflict with Debian packages versus test-packages.
	+ update tracemunch to work with perl 5.26.2, which changed the rules
	  for escaping regular expressions.

20180428
	+ document new form-extension O_EDGE_INSERT_STAY (report by Leon
	  Winter).
	+ correct error-returns listed in manual pages for a few form functions
	  (report by Leon Winter).
	+ add a check in form-library for null-pointer dereference:
		unfocus_current_field (form);
		form_driver (form, REQ_VALIDATION);
	  (patch by Leon Winter).

20180414
	+ modify form library to optionally delay cursor movement on a field
	  edge/boundary (patch by Leon Winter).
	+ modify form library to avoid unnecessary update of cursor position in
	  non-public fields (patch by Leon Winter).
	+ remove unused _nc_import_termtype2() function.
	+ also add/improve null-pointer checks in other places
	+ add a null-pointer check in _nc_parse_entry to handle an error when
	  a use-name is invalid syntax (report by Chung-Yi Lin).

20180407
	+ clarify in manual pages that vwprintw and vwscanw are obsolete,
	  not part of X/Open Curses since 2007.
	+ use "const" in some prototypes rather than NCURSES_CONST where X/Open
	  Curses was updated to do this, e.g., wscanw, newterm, the terminfo
	  interface.  Also use "const" for consistency in the termcap
	  interface, which was withdrawn by X/Open Curses in Issue 5 (2007).
	  As of Issue 7, X/Open Curses still lacks "const" for certain return
	  values, e.g., keyname().

20180331
	+ improve terminfo write/read by modifying the fourth item of the
	  extended header to denote the number of valid strings in the extended
	  string table (prompted by a comment in unibilium's sources).

20180324
	+ amend Scaled256() macro in test/picsmap.c to cover the full range
	  0..1000 (report by Roger Pau Monne).
	+ add some checks in tracemunch for undefined variables.
	+ trim some redundant capabilities from st-0.7 -TD
	+ trim unnecessary setf/setb from interix -TD

20180317
	+ fix a check in infotocap which may not have detected a problem when
	  it should have.
	+ add a check in tic for the case where setf/setb are given using
	  different strings, but provide identical results to setaf/setab.
	+ further improve fix for terminfo.5 (patch by Kir Kolyshkin).
	+ reorder loop-limit checks in winsnstr() in case the string has no
	  terminating null and only the number of characters is used (patch
	  by Gyorgy Jeney).

20180303
	+ modify TurnOn/TurnOff macros in lib_vidattr.c and lib_vid_attr.c to
	  avoid expansion of "CUR" in trace.
	+ improve a few lintian warnings in test-packages.
	+ modify lib_setup to avoid calling pthread_self() without first
	  verifying that the address is valid, i.e., for weak symbols
	  (report/patch by Werner Fink).
	+ modify generated terminfo.5 to not use "expand" and related width
	  on the last column of tables, making layout on wide terminals look
	  better (adapted from patch by Kir Kolyshkin).
	+ add a category to report_offsets, e.g., "w" for wide-character, "t"
	  for threads to make the report more readable.  Reorganized the
	  structures reported to make the categories more apparent.
	+ simplify some ifdef's for extended-colors.
	+ add NCURSES_GLOBALS and NCURSES_PRESCREEN to report_offsets, to show
	  how similar the different tinfo configurations are.

20180224
	+ modify _nc_resolve_uses2() to detect incompatible types when merging
	  a "use=" clause of extended capabilities.  The problem was seen in a
	  defective terminfo integrated from simpleterm sources in 20171111,
	  compounded by repair in 20180121.
	+ correct Ss/Ms interchange in st-0.7 entry (tmux #1264) -TD
	+ fix remaining flash capabilities with trailing mandatory delays -TD
	+ correct cut/paste in NEWS (report by Sven Joachim).

20180217
	+ remove incorrect free() from 20170617 changes (report by David Macek).
	+ correct type for "U8" in user_caps.5; it is a number not boolean.
	+ add a null-pointer check in safe_sprintf.c (report by Steven Noonan).
	+ improve fix for Debian #882620 by reusing limit2 variable (report by
	  Julien Cristau, Sven Joachim).

20180210
	+ modify misc/Makefile.in to install/uninstall explicit list in case
	  the build-directory happens to have no ".pc" files when an uninstall
	  is performed (report by Jeffrey Walton).
	+ deprecate safe-sprintf, since the vsnprintf function, which does what
	  was needed, was standardized long ago.
	+ add several development/experimental options to development packages.
	+ minor reordering of options in configure script to make the threaded
	  and reentrant options distinct from the other extensions which are
	  normally enabled.

20180203
	+ minor fixes to test/*.h to make them idempotent.
	+ add/use test/parse_rgb.h to show how the "RGB" capability works.
	+ add a clarification in user_caps.5 regarding "RGB" capability.
	+ add extended_slk_color{,_sp} symbols to the appropriate
	  package/*.{map,sym} files (report by Sven Joachim, cf: 20170401).

20180129
	+ update "VERSION" file, used in shared-library naming.
2020-03-04 14:04:22 +00:00
kim
86fffe61bc Add patches to address CVE-2018-19211, CVE-2019-17594, and CVE-2019-17595. 2020-01-11 01:39:19 +00:00
rillig
7724b801cd devel: align variable assignments
pkglint -Wall -F --only aligned --only indent -r

No manual corrections.
2019-11-03 10:39:04 +00:00
triaxx
9a266affe4 ncurses: fix circular dependency for Arch Linux
pkgsrc changes
--------------
* Remove groff dependency when built on Arch Linux
* Bump revision
2019-10-10 12:29:11 +00:00
nia
6c8c451a77 Use https for all invisible-island.net HOMEPAGEs. 2019-06-22 11:37:13 +00:00
gdt
cad5290302 devel/ncurses: Add fake pc file
Add support for creating ncurses.pc in the buildlink dir, either by
linking to the base one, or creating a fake one.  More or less copied
from ../libuuid/builtin.mk.
2019-05-01 20:15:59 +00:00
jperkin
cf06b02f53 ncurses: Disable xterm+rep for maximum portability.
Many terminal emulators still do not support this capability, resulting in
broken output.  Patch from OmniOS, bump PKGREVISIONs.
2019-02-25 11:54:05 +00:00
gutteridge
bfb3c735a5 devel/ncurses: fix broken string comparison in Makefile.common
Revision 1.38 introduced an invalid check, fix it.
2019-02-14 22:59:49 +00:00
triaxx
37c0609477 ncurses: disable build of manpage-tbl to avoid circular dependency
groff has been removed on FreeBSD 12 and its build leads to a circular
dependency.
Bump revision.
2019-02-12 20:11:22 +00:00
leot
f3af5e8dab ncurses{,w}: Backport patch for CVE-2018-10754
Patch provided by Attila Fülöp via NetBSD/pkgsrc#34, thanks!

Bump PKGREVISION
2018-10-18 19:42:49 +00:00
wiz
0e92ff1ce0 ncurses: update to 6.1nb2.
Fix installation of pkg-config files, and move
them to the standard directory.
2018-09-15 22:47:41 +00:00
maya
aeb73dffc5 ncurses: provide pkgconfig files.
requested by bastian germann in PR pkg/53604.
bump PKGREVISION.
2018-09-15 10:21:53 +00:00
spz
e74d3cfd2b update ncurses(w) to version 6.1, which fixes CVE-2017-13728 and
CVE-2017-16879

summary relnotes:
 This release is designed to be source-compatible with ncurses 5.0
 through 6.0; providing extensions to the application binary interface (ABI).
 Although the source can still be configured to support the ncurses 5 ABI,
 the intent of the release is to provide extensions to the ncurses 6 ABI:

    improve integration of tput and tset

    provide support for extended numeric capabilities.

The lengthy details are at http://invisible-island.net/ncurses/announce.html
2018-04-02 16:26:03 +00:00
jperkin
5d2ce7d997 ncurses: Fix quoting to handle subst. Bump PKGREVISION. 2018-02-02 17:32:58 +00:00
rillig
17e39f419d Fix indentation in buildlink3.mk files.
The actual fix as been done by "pkglint -F */*/buildlink3.mk", and was
reviewed manually.

There are some .include lines that still are indented with zero spaces
although the surrounding .if is indented. This is existing practice.
2018-01-07 13:03:53 +00:00
rillig
b381c6e2f3 Sort PLIST files.
Unsorted entries in PLIST files have generated a pkglint warning for at
least 12 years. Somewhat more recently, pkglint has learned to sort
PLIST files automatically. Since pkglint 5.4.23, the sorting is only
done in obvious, simple cases. These have been applied by running:

  pkglint -Cnone,PLIST -Wnone,plist-sort -r -F
2018-01-01 22:29:15 +00:00
spz
555171d17b patches from
ftp://invisible-island.net/ncurses/6.0/ncurses-6.0-20170701.patch.gz
+ add/improve checks in tic's parser to address invalid input
 (Redhat #1464684, #1464685, #1464686, #1464691).
 + alloc_entry.c, add a check for a null-pointer.
 + parse_entry.c, add several checks for valid pointers as well as
   one check to ensure that a single character on a line is not
   treated as the 2-character termcap short-name.

that's CVE-2017-10684 CVE-2017-10685 CVE-2017-11112 CVE-2017-11113
2017-08-08 18:38:21 +00:00
agc
30b55df38e Convert all occurrences (353 by my count) of
MASTER_SITES= 	site1 \
			site2

style continuation lines to be simple repeated

	MASTER_SITES+= site1
	MASTER_SITES+= site2

lines. As previewed on tech-pkg. With thanks to rillig for fixing pkglint
accordingly.
2017-01-19 18:52:01 +00:00
joerg
44a3eb4dae Drop buildlink-ncurses-fake-libs, it didn't get applied due to a typo
and it doesn't help with the directory scanning of cmake anyway, since
that one only looks in the real prefix.
2017-01-05 22:18:03 +00:00
wiz
e48e5bf38c rpath should not include DESTDIR.
Hopefully addresses PR 51689.
2016-12-30 11:28:19 +00:00
joerg
674eab7ae0 For the sake of cmake and other tools that like to look for physical
files, create dummy libraries for libform and co.
2016-12-20 15:06:52 +00:00
joerg
248ee9763f Rename ncurses's libform, libpanel and libmenu to libgnuform,
libgnupanel and libgnumenu as they overlap with system libraries on
NetBSD, resulting in strange breakage like in devel/cmake's ccmake
frontend.
2016-12-18 23:30:34 +00:00
wiz
2b0a009d0e Bump PKGREVISION for perl-5.24.0 for everything mentioning perl. 2016-07-09 06:37:46 +00:00
ryoon
1b36d4204b Fix clang build under FreeBSD 10.2
Do not detect the compiler as GCC.
2016-03-24 13:28:49 +00:00
jperkin
a7efdccd6c Use OPSYSVARS. 2016-02-25 12:12:47 +00:00
richard
3729486a96 Skip chkref in manfiles that have debug lines containing references to temp
files that include the TMPDIR directory, which could possibly be in the
build directory. In any event they cannot be validly referred to post-build.
2015-11-04 13:30:06 +00:00
agc
d9e4cfe05d Add SHA512 digests for distfiles for devel category
Issues found with existing distfiles:
	distfiles/eclipse-sourceBuild-srcIncluded-3.0.1.zip
	distfiles/fortran-utils-1.1.tar.gz
	distfiles/ivykis-0.39.tar.gz
	distfiles/enum-1.11.tar.gz
	distfiles/pvs-3.2-libraries.tgz
	distfiles/pvs-3.2-linux.tgz
	distfiles/pvs-3.2-solaris.tgz
	distfiles/pvs-3.2-system.tgz
No changes made to these distinfo files.

Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden).  All existing
SHA1 digests retained for now as an audit trail.
2015-11-03 03:27:11 +00:00
jperkin
d0e804caf5 Remove INCOMPAT_CURSES settings for NetBSD 0.x and 1.x. Tighten up some
globs to ensure NetBSD 10 is not incorrectly matched when it is released.
2015-09-08 11:57:48 +00:00
richard
dcf6fd65c9 cleanup SunOS workarounds in ncurses and ncursesw since update to ncurses 6.0
resolve for PR pkg/50175
bump PKGREVISION
2015-08-28 07:09:57 +00:00
wiz
6a91778d9f Remove empty patches. 2015-08-18 07:20:45 +00:00
wiz
f9600229ac Update to 6.0:
This  release  is  designed  to  be source-compatible with ncurses 5.0
   through  5.9;  providing  a  new  application  binary interface (ABI).
   Although  the  source can still be configured to support the ncurses 5
   ABI,  the  intent  of  the  release is to provide extensions which are
   generally useful, but binary-incompatible with ncurses 5:
     * Extend  the  cchar_t  structure to allow more than 16 colors to be
       encoded.
     * Modify  the  encoding  of mouse state to make room for a 5th mouse
       button.  That  allows  one  to use ncurses with a wheel mouse with
       xterm or similar X terminal emulators.

   There are, of course, numerous other improvements, including
     * fixes made based on the Clang and Coverity static analyzers.
     * memory leak fixes using Valgrind

   The  release  notes  mention  some  bug-fixes,  but are focused on new
   features  and  improvements to existing features log since ncurses 5.9
   release.

   While  the intent of the release is to provide a new stable ABI, there
   are other development activities which are summarized below.
     * The  original  release  plan,  e.g., for "5.10" was to improve the
       MinGW port. Ultimately that was completed (wide-character support,
       mouse,  etc),  but  was  deferred  to focus on termcap support and
       performance  issues.  Also, pinpointing the problems with Console2
       took a while.
     * A  review  of  termcap  compatibility in 2011 led to several minor
       fixes  in  the  library  and improvements to utilities. To do this
       properly,  a  review of the various extent termcap implementations
       was needed.
       The [11]termcap library checker (tctest) (not part of ncurses) was
       one    result.    A   followup   review   of   performance   using
       [12]ncurses-examples in 2014 led to additional improvements.
     * Output buffering provided a further, but worthwhile distraction. A
       bug  report  in  2012  regarding  the  use  of  signal handlers in
       ncurses)  pointed  out  [13]a  problem  with  the  use  of  unsafe
       functions  for  handling SIGTSTP. Other signals could be addressed
       with workarounds; repairing SIGTSTP required a different approach.
       The  solution  required changing internal behavior of the library:
       how it handles output buffering.
       Now  ncurses buffers its own output, independently of the standard
       output.  A few applications relied upon the library's direct reuse
       of  the  standard  output  buffering;  however that is unspecified
       behavior  and  has  never been a recommended practice. Identifying
       these  applications  as  well  as  refining  the  change to permit
       low-level applications to work consistently took time.
     * Since  the introduction of the experimental support for 256 colors
       early  in  [14]2005  (released in [15]ncurses 5.5), there has been
       increased  user  interest. Almost all packagers continue providing
       the ncurses ABI 5 which cannot support 256 colors.
     * Symbol  versioning,  or  the  lack  of  it in ncurses, is the main
       reason why packagers would be reluctant to add a new ncurses ABI.
       This  release  provides  the  new  ABI along with script-generated
       lists  of versioned symbols which can be used for both ABI 5 and 6
       (with  distinct names to keep the two separate). This took time to
       development, as reported in [16]Symbol versioning in ncurses.

  Library improvements

  Output buffering

   X/Open curses provides more than one initialization function:
     * [17]initscr (the simplest) accepts no parameters.
     * [18]newterm accepts parameters for the stream input and output
     * [19]setupterm (the low-level function) accepts a parameter for the
       file descriptor of the output.

   They are documented in X/Open as if initscr calls newterm using stdout
   for   output  stream,  and  in  turn  newterm  calls  setupterm  using
   fileno(stdout)  for  the file descriptor. As long as an implementation
   acts  as if it does this, it conforms. In practice, implementations do
   what  is  implied.  This  creates  a  problem: the low-level setupterm
   function's  file  descriptor  is  unbuffered,  while  newterm  implies
   buffered  output.  X/Open  Curses says that all output is done through
   the  file  descriptor,  and  does  not  say  how  the output stream is
   actually used.

   Initially,  ncurses used the file descriptor (obtained from the output
   stream  passed to newterm) for changing the terminal modes, and relied
   upon  the  output  parameter of newterm for buffered output. Later (to
   avoid  using  unsafe  buffered  I/O  in  signal handlers), ncurses was
   modified  to use the file descriptor (unbuffered output) when cleaning
   up  on receipt of a signal. Otherwise (when not handling a signal), it
   continued to use the buffered output.

   That  approach  worked reasonably well and as a side effect, using the
   same buffered output as an application might use for printf meant that
   no   flushing   was   needed   when   switching  between  normal-  and
   screen-modes.

   There were a couple of problems:
     * to get good performance, curses (not only ncurses, but SVr4 curses
       in general) set an output buffer using setbuf or similar function.
       There  is no standard (or portable) way to turn that output buffer
       off,  and  revert  to  line-buffering.  The  [20]NCURSES_NO_SETBUF
       environment variable did make it optional.
     * to  handle SIGTSTP (the "stop" signal), ncurses relied upon unsafe
       functions.  That  is,  due  to  the  complexity of the feature, it
       relied  upon reusing existing functions which should not have been
       called via the signal handler.

   Conveniently, solving the second problem (by making ncurses do its own
   output  buffering)  also  fixed  the first one. But there were special
   cases to resolve: [21]low-level functions such as mvcur, putp, vidattr
   explicitly  use  the  standard  output.  Those  functions  were reused
   internally, and required modification to distinguish whether they were
   used by the high-level or low-level interfaces.

   Finally, there may still be a few programs which should be modified to
   improve their portability, e.g., adding an

fflush(stdout);

   when  switching  from "[22]shell" mode to "[23]program" (curses) mode.
   Those are fairly rare because most programmers have learned not to mix
   printf and [24]printw.

  Symbol versioning

   This  release  introduces symbol-versioning to ncurses because without
   it,  the  change of ABI would be less successful. A lengthy discussion
   will  be  presented  in  [25]Symbol versioning in ncurses. These notes
   summarize what has changed, and what can be done with the new release.

   Symbol-versioning  allows  the  developers  of  a library to mark each
   public  symbol  (both  data and functions) with an identifier denoting
   the  library  name  and  the  version for which it was built. By doing
   this, users of the library have a way to help ensure that applications
   do not accidentally load an incompatible library. In addition, private
   symbols can be hidden entirely.

   This   release   provides   sample   files   for  the  four  principal
   configurations  of  ncurses libraries: ncurses, ncursesw, ncursest and
   ncursestw. Each sample is given in two forms:

   ".map"
          These list all public symbols, together with version names.

   ".sym"
          These list all public symbols, without version names.

   The  sample  files  are generated by scripts which take into account a
   few special cases such as [26]tack to omit many of the ncurses private
   symbols  (beginning with "_nc_"). Here are counts of globals versus
   locals:

      Config   Symbols Globals Locals "_nc_"
     ncurses       976     796    180    332
     ncursesw     1089     905    184    343
     ncursest      979     804    175    358
     ncursestw    1098     914    184    372

   Although only four sample configurations are presented, each is formed
   by  merging  symbols  from  several  combinations  of configure-script
   options, taking into account advice from downstream packagers. Because
   they  are  formed by merging, the sample files may list a symbol which
   is  not  in  a  given package. That is expected. The samples have been
   tested  and  are  working  with  systems  (such as Fedora, FreeBSD and
   Debian)  which  fully  support  this  feature. There are other systems
   which  do  not  support the feature, and a few (such as Solaris) which
   provide incomplete support.

   The  version-naming convention used allows these sample files to build
   distinct libraries for ABI 5 and 6. Version names consist of
     * configuration   name,  e.g.,  "NCURSESW"  for  the  wide-character
       libraries
     * ABI version (if not 5)
     * library  name  for two special cases which have the same interface
       across configurations: "TINFO" and "TIC"
     * release version
     * patch date (for the release version)

   For  example,  running  nm  -D  on  the libraries in the ncurses6 test
   package shows these symbol-versions:

0000000000000000 A NCURSES6_TIC_5.0.19991023
0000000000000000 A NCURSES6_TIC_5.1.20000708
0000000000000000 A NCURSES6_TIC_5.5.20051010
0000000000000000 A NCURSES6_TIC_5.7.20081102
0000000000000000 A NCURSES6_TIC_5.9.20150530
0000000000000000 A NCURSES6_TINFO_5.0.19991023
0000000000000000 A NCURSES6_TINFO_5.1.20000708
0000000000000000 A NCURSES6_TINFO_5.2.20001021
0000000000000000 A NCURSES6_TINFO_5.3.20021019
0000000000000000 A NCURSES6_TINFO_5.4.20040208
0000000000000000 A NCURSES6_TINFO_5.5.20051010
0000000000000000 A NCURSES6_TINFO_5.6.20061217
0000000000000000 A NCURSES6_TINFO_5.7.20081102
0000000000000000 A NCURSES6_TINFO_5.8.20110226
0000000000000000 A NCURSES6_TINFO_5.9.20150530
0000000000000000 A NCURSESW6_5.1.20000708
0000000000000000 A NCURSESW6_5.3.20021019
0000000000000000 A NCURSESW6_5.4.20040208
0000000000000000 A NCURSESW6_5.5.20051010
0000000000000000 A NCURSESW6_5.6.20061217
0000000000000000 A NCURSESW6_5.7.20081102
0000000000000000 A NCURSESW6_5.8.20110226
0000000000000000 A NCURSESW6_5.9.20150530

   As  a special case, this release (which makes the final change for ABI
   5) is marked with release version 5.9 and patch date 20150530.

  Miscellaneous

   The new release has several improvements for performance and building.
   For instance:
     * several  files  in ncurses- and progs-directories were modified to
       allow  const  data used in internal tables to be put by the linker
       into the readonly text segment.
     * various improvements were made to building the Ada95 binding, both
       in simplifying the generated files as well as improving the way it
       uses gnatmake

   There are also new features in the libraries:
     * added [27]use_tioctl function
     * added  [28]wgetdelay  to  retrieve  _delay  member of WINDOW if it
       happens to be opaque, e.g., in the pthread configuration.
     * added [29]A_ITALIC extension.
     * added  form  library  extension [30]O_DYNAMIC_JUSTIFY option which
       can  be  used to override the different treatment of justification
       for static versus dynamic fields .
     * rewrote  [31]putwin  and  [32]getwin,  making  an extended version
       which  is  capable of reading screen-dumps between the wide/normal
       ncurses  configurations.  These are text files, except for a magic
       code at the beginning:

0       string          \210\210        Screen-dump (ncurses)

     * several changes to mouse support include:
          + added decoder for xterm SGR 1006 mouse mode.
          + added experimental support for "%u" format to terminfo.
          + improved  behavior  of  wheel-mice for xterm protocol: noting
            that  there  are only button-presses for buttons "4" and "5",
            so   there  is  no  need  to  wait  to  combine  events  into
            double-clicks .

   There   are   a   few  new  configure  options  dealing  with  library
   customization:
     * add "--enable-ext-putwin" configure option to turn on the extended
       putwin/getwin.  By default, this is enabled for ABI 6 and disabled
       with ABI 5.
     * add  "--enable-string-hacks" option to control whether strlcat and
       strlcpy  may  be  used. Because ncurses already does the requisite
       buffer-limit  checks,  this feature is mainly of interest to quiet
       compiler-warnings on a few systems.
     * add  configure  option  "--with-tparm-arg"  to  allow  [33]tparm's
       parameters  to  be  something more likely to be the same size as a
       pointer, e.g., intptr_t (again, the default is set for ABI 6).

  Program improvements

    Utilities

   Most of the termcap-related changes based on development of [34]tctest
   (termcap  library  checker)  are  implemented  in  the tic and infocmp
   programs   rather   than  affecting  the  library.  As  noted  in  the
   [35]discussion  of  tctest,  ncurses's  ability  to  translate between
   terminfo and termcap formats has been improved at different times, but
   subject  to  feedback from "real" termcap users. There are very few of
   those.  Nowadays,  virtually  all  termcap users are using ncurses (or
   NetBSD, with its own terminfo library) and their programs are actually
   using terminfo rather than termcap data.

   Still,  there  are a few. A comment about the translation of the ASCII
   NUL character prompted a review:
     * Both   terminfo   and   termcap   store   string  capabilities  as
       NUL-terminated strings.
     * In terminfo, a \0 in a terminal description is stored as \200.
     * There are no (known) terminals which would behave differently when
       sent \0 or \200.
     * When  translating  to  terminfo  format (or displaying a printable
       version of an entry using infocmp), ncurses shows \200 as \0.
     * It has done this since 1998 (quoting from the NEWS file):

[36]980103
...
        + modify _nc_tic_expand() to generate \0 rather than \200.
...
        + correct translation of terminfo "^@", to \200, like \0.

     * However,  the  _nc_tic_expand  function (which optionally produces
       terminfo  or termcap format) did not address this special case for
       termcap.  Even  the  later  4.4BSD  [37]cgetstr  interprets  a  \0
       literally,  ending  that  string  (rather  than using the terminfo
       improvement).

   As  a  result of the review, several improvements were made to ncurses
   translation to/from termcap format -- and improving the checks made in
   tic  for  consistency  of  entries.  Most  of these are not of general
   interest, except for two new command-line options for tic and infocmp:
     * the  "-0"  option  generates  termcap/terminfo  source on a single
       line.
     * the  "-K"  option  provides stricter BSD-compatibility for termcap
       output.

   Other user-visible improvements and new features include:
     * added  "-D"  option  to  tic  and  infocmp,  to  show the database
       locations that it could use.
     * added "-s" option to toe, to sort its output.
     * extended  "-c" and "-n" options of infocmp to allow comparing more
       than two entries.
     * modified  toe's report when "-a" and "-s" options are combined, to
       add a column showing which entries belong to a given database.
     * modified  the clear program to take into account the "E3" extended
       capability to clear the terminal's scrollback buffer.

    Examples

   Along  with  the library and utilities, many improvements were made to
   the  [38]ncurses-examples.  Some  were  made  to  allow  building (and
   comparison-testing) against NetBSD curses and PDCurses. Both lack some
   of  the  X/Open Curses features, necessitating customization. But this
   activity  was  useful  because  it  showed  some remaining performance
   issues (which have been resolved in this release).

   These changes were made to verify compatibility or compare performance
   of ncurses:
     * made  workarounds  for compiling test-programs with NetBSD curses,
       though it lacks some common functions such as [39]use_env.
     * added dots_termcap test-program
     * added  dots_curses test-program, for comparison with the low-level
       examples.
     * added   test_setupterm  test-proram  to  demonstrate  normal/error
       returns from the setupterm and restartterm functions.
     * added  "-d",  "-e"  and  "-q"  options  to  the  demo_terminfo and
       demo_termcap test-programs.
     * added   "-y"   option   to   demo_termcap  and  test/demo_terminfo
       test-programs   to   demonstrate  behavior  with/without  extended
       capabilities.
     * modified  demo_termcap  and  demo_terminfo  test-programs  to make
       their  options  more  directly  comparable, and add "-i" option to
       specify  a  terminal  description  filename  to parse for names to
       lookup.
     * rewrote   the  tests  for  [40]mvderwin  and  test  for  recursive
       [41]mvwin in the movewindow test-program.

   These changes were made to help with the MinGW port:
     * added   test-screens   to   the   ncurses   test-program  to  show
       256-characters at a time, to help with MinGW port.
     * modified the view test-program to load UTF-8 when built with MinGW
       by  using  regular win32 API because the MinGW functions mblen and
       mbtowc do not work.
     * added "-s" option to the view test-program to allow it to start in
       single-step mode, reducing size of trace files when it is used for
       debugging MinGW changes.

   These changes were made to verify new extensions in ncurses:
     * added   [42]form_driver_w   entrypoint   to  wide-character  forms
       library, as well as form_driver_w test-program.
     * modified  ncurses  test-program's  b/B tests to display lines only
       for  the  attributes which a given terminal supports, to make room
       for an italics test.
     * modified  ncurses  test-program,  adding  "-E" and "-T" options to
       demonstrate use_env versus use_tioctl.
     * modified ncurses test-program's c/C tests to cycle through subsets
       of   the   total   number   of   colors,   to   better  illustrate
       8/16/88/256-colors by providing directly comparable screens.
     * modified the ncurses test-program to also show position reports in
       'a' test.

   These changes were made to make the examples more useful:
     * added scripts for building dpkg and rpm test-packages
     * modified  the  hanoi  test-program  to  show the minimum number of
       moves possible for the given number of tiles.
     * modified  the  knight  test-program  to show the number of choices
       possible for each position in automove option, e.g., to allow user
       to follow Warnsdorff's rule to solve the puzzle.

  Terminal database

   This  release  provides  improvements  to  tic's "-c" checking option,
   which was used for example to
     * make sgr in several entries agree with other caps.
     * correct  padding  in  some  entries  where  earlier  versions  had
       miscounted the number of octal digits.

   There are several new terminal descriptions:
     * [43]mlterm is now aliased to mlterm3
     * [44]nsterm is now derived from nsterm-256color
     * [45]putty-sco
     * [46]teken is FreeBSD's "xterm" console.
     * [47]terminator
     * [48]terminology
     * [49]tmux is derived from screen.
     * several  screen.XXX  entries support the respective variations for
       256 colors.
     * [50]simpleterm is now 0.5
     * [51]vte is aliased to vte-2012
     * [52]vt520ansi

   A few entries use extensions (user-defined terminal capabilities):
     * E3,  used  in  linux,  putty  and  xterm-basic  is  tested  in the
       [53]clear program to erase a terminal's scrollback.
     * TS  is  used  in the [54]xterm+sl building block to help deprecate
       the misuse of tsl for xterm's title-string.
     * XT  is  used  in  some  terminfo entries to improve usefulness for
       other  applications  than screen, which would like to pretend that
       xterm's title is a status-line.
     * xm  is  used  in  examples  [55]xterm-1005  and  [56]xterm-1006 to
       illustrate a way to make mouse handling more general

   A   few   terminals   support  italics  and/or  dim  capabilities.  In
   particular,  screen  does  not.  Documented that, and accommodated the
   terminals where this feature works with the A_ITALIC extension.
     * konsole, mlterm3 (italics)
     * nsterm (dim)
     * screen (dim)
     * vte (dim, italics)
     * xterm (dim, italics)

  Documentation

   As usual, this release
     * improves documentation by describing new features,
     * attempts  to  improve the description of features which users have
       found confusing
     * fills  in overlooked descriptions of features which were described
       in the [57]NEWS file but treated sketchily in manual pages.

   In  addition,  the  mechanism  for  producing  HTML  versions  of  the
   documentation has been improved:
     * use an improved version of [58]man2html to generate html manpages.
     * regenerated  [59]NCURSES-Programming-HOWTO.html to fix some of the
       broken html emitted by docbook.

  Interesting bug-fixes

     * Ada95 binding:
          + modify  makefile  rules  to ensure that the PIC option is not
            used when building a static library
          + make  Ada95  build-fix  for  big-endian architectures such as
            sparc.  This undoes one of the fixes from [60]20110319, which
            added an "Unused" member to representation clauses, replacing
            that with pragmas to suppress warnings about unused bits.
     * Color and attributes:
          + parenthesize  parameter  of  COLOR_PAIR  and  PAIR_NUMBER  in
            curses.h in case it happens to be a comma-expression.
          + improve  [61]20021221  workaround  for broken acs, handling a
            case  where  that ACS_xxx character is not in the acsc string
            but there is a known wide-character which can be used.
          + modify  [62]init_pair  to  accept  -1's for color value after
            [63]assume_default_colors has been called.
          + add  a  check  in [64]start_color to limit color-pairs to 256
            when extended colors are not supported.
     * Resizing the screen:
          + propagate  error-returns  from  wresize,  i.e.,  the internal
            increase_size    and    decrease_size    functions    through
            [65]resize_term.
          + add  check  for  zero/negative  dimensions for resizeterm and
            resize_term.
          + modify  resizeterm to always push a KEY_RESIZE onto the fifo,
            even  if  screensize  is  unchanged. Modify library to push a
            KEY_RESIZE  if there was a SIGWINCH, even if it does not call
            resizeterm).   These  changes  eliminate  the  case  where  a
            SIGWINCH  is  received,  but  ERR  is returned from wgetch or
            wgetnstr because the screen dimensions did not change.
     * Low-level interfaces
          + fix  an old bug in the termcap emulation; "%i" was ignored in
            tparm  because  the parameters to be incremented were already
            on the internal stack.
          + change  "%l" behavior in tparm to push the string length onto
            the  stack  rather  than saving the formatted length into the
            output buffer.
          + modify  name-comparison  for  tgetstr,  etc.,  to accommodate
            legacy  applications  as well as to improve compatbility with
            BSD 4.2 termcap implementations (see note for [66]980725).
     * High-level interfaces
          + modify internal recursion in wgetch which handles cooked mode
            to  check if the call to wgetnstr returned an error. This can
            happen  when  both nocbreak and nodelay are set, for instance
            (see note for [67]960418).
          + add a check in internal function waddch_nosync to ensure that
            tab characters are treated as control characters; some broken
            locales claim they are printable.
          + modify  menu  library  to  ensure  that  a  menu's top-row is
            adjusted  as needed to ensure that the current item is on the
            screen
          + fix  special  case  where double-width character overwrites a
            single- width character in the first column.

  Configuration changes

    Major changes

   The ncurses 6.0 configure script makes changes to the default value of
   several  configure options, depending on the --with-abi-version option
   (i.e., whether its value is "5" or "6"):

   --enable-const
          Feature  introduced  in  [68]970405  supports  the use of const
          where  X/Open  Curses  should  have, but did not. NetBSD curses
          does something similar with const.

   --enable-ext-colors
          Extends  the  cchar_t structure to allow more than 16 colors to
          be   encoded.   This   applies   only   to  the  wide-character
          (--enable-widec) configuration.

   --enable-ext-mouse
          Modifies  the  encoding  of  mouse state to make room for a 5th
          mouse button. That allows one to use ncurses with a wheel mouse
          with xterm or similar X terminal emulators.

   --enable-ext-putwin
          Modifies  the  file-format  written  by putwin to use printable
          text  rather  than binary files, allowing getwin to read screen
          dumps  written by differently-configured ncurses libraries. The
          extended  getwin  can  still  read binary screen dumps from the
          same  configuration  of  ncurses.  This does not change the ABI
          (the binary interface seen by calling applications).

   --enable-interop
          Modifies  the  FIELDTYPE structure used for the form library to
          make it more generic.

   --enable-lp64
          Allows  an  application  to  define _LP64 to declare chtype and
          mmask_t  as  simply "unsigned" rather than the configured types
          using the --with-chtype and --with-mmask_t options.

   --enable-sp-funcs
          Compile-in support for extended functions which accept a SCREEN
          pointer,  reducing  the  need  for juggling the global SP value
          with [69]set_term and [70]delscreen.

   --with-chtype=uint32_t
          Makes chtype explicitly a 32-bit unsigned value.

   --with-mmask_t=uint32_t
          Makes mmask_t explicitly a 32-bit unsigned value.

   --with-tparm-arg=intptr_t
          X/Open  Curses  declares  [71]tparm  using long for each of the
          parameters  aside  from  the  formatting string, presuming that
          long  and  char*  are the same size. This configure option uses
          intptr_t which provides a better guarantee of the sizes.

   The  configure  script  no longer checks for antique compilers; c89 is
   assumed  as  a  minimum. There are a few features from later revisions
   which  are  used  when available. The configure script makes checks to
   turn on useful warnings from clang, gcc and icc. You should be able to
   build  ncurses  6.0  with  any  of  the  current (or not so current) C
   compilers available in 2015.

   The configure script, by the way, makes changes which do not work with
   systems  whose  /bin/sh is non-POSIX. This mainly affects Solaris (the
   other  vendor  unix systems have followed the POSIX guidelines for the
   past  twenty  years).  If  you  must  build  on  Solaris, its [72]xpg4
   binaries suffice, e.g.,

     #!/bin/sh
     WHAT=`hostname|sed -e 's/\..*//'`
     OUT=configure.out
     cat >>$OUT <<EOF/
     ** `date`
     ** node: $WHAT
     ** user: `id`
     ** conf: $*
     EOF/

     SHELL=/bin/sh
     if test -f /usr/xpg4/bin/sh
     then
             CONFIG_SHELL=/usr/xpg4/bin/sh
             export CONFIG_SHELL
             SHELL=$CONFIG_SHELL
     fi

     rm -f config.status config.cache
     TOP=$HOME/$WHAT
     $SHELL ./configure --verbose \
             --disable-echo \
             --disable-overwrite \
             --enable-warnings \
             --with-warnings \
             --prefix=$TOP $* 2>&1 | tee -a $OUT

   Other major changes to the configure script include:
     * ABI 6 is now the default, intending that the existing ABI 5 should
       build as before using the "--with-abi-version=5" option.
     * added   --with-extra-suffix   option   to   help  with  installing
       nonconflicting  ncurses6  packages,  e.g.,  avoiding  header-  and
       library-conflicts.
       NOTE: as a side-effect, this renames

     adacurses-config to adacurses5-config and
     adacursesw-config to adacursesw5-config
     * the  configure  script  looks  for gnatgcc if the Ada95 binding is
       built,  in  preference  to  the  default  gcc/cc.  The script also
       ensures  that  the  Ada95  binding  is  built  with  the  level of
       optimization as the C libraries.
     * the  configure script captures define's related to -D_XOPEN_SOURCE
       from  the  configure check and adds those to the *-config and *.pc
       files, to simplify use for the wide-character libraries.
2015-08-17 17:10:31 +00:00
jperkin
2c2a510448 Pull in upstream fix for GCC 5.1. Patch submitted by Travis Paul
in joyent/pkgsrc#269.
2015-06-17 14:20:03 +00:00
jperkin
797a1a102e USE_LANGUAGES must be set before including compiler.mk 2015-06-04 09:14:33 +00:00
sevan
417cc0e2e9 When GCC version is 5.x, pass the -P flag to cpp, preventing the generation of line markers
in the output from cpp.
Resolves build issue on DragonFlyBSD development snapshots which include GCC 5.1.1
GCC bug 60723
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60723
2015-06-02 01:03:57 +00:00
sevan
bd4c544401 Drop the use of -no-cpp-precomp which is specific to Apple's supplied toolchain
Provide an explaination of changes in patches/patch-ac

Closes PR pkg/47949
Reviewed by wiz@
2015-02-18 03:10:41 +00:00
jperkin
c24ed9c54f The "rename" rule is a published synonym for the "opt" transform rule, however
only the latter is supported by cwrappers.  Change them all to "opt" rules for
consistency and to gain compatibility with cwrappers.
2014-12-15 11:46:34 +00:00
joerg
37238b3353 For devel/ncursesw, we want the curses transform and only that. 2014-12-03 13:57:48 +00:00
wiz
cda18437be Remove pkgviews: don't set PKG_INSTALLATION_TYPES in Makefiles. 2014-10-09 14:05:50 +00:00
wiz
4950e3ea13 Fix ncurses-config to provide rpath.
Bump PKGREVISION.
2014-09-16 09:45:58 +00:00
jperkin
634a6dfcdf Add gmake to USE_TOOLS, this allows us to remove MAKE_JOBS_SAFE=no and use
parallel makes up to at least MAKE_JOBS=24.
2014-09-02 09:49:50 +00:00