summaryrefslogtreecommitdiff
path: root/devel/ncurses
AgeCommit message (Collapse)AuthorFilesLines
2021-05-24*: recursive bump for perl 5.34wiz1-2/+2
2020-09-07Run the built tic with the built libncurses, not the installed one, asschmonz3-2/+37
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-04[devel/ncurses] Work around #error due to include order on QNXjs3-1/+25
Still doesn't link, yet.
2020-06-01ncurses: Simplify handling of TOOLS_TBL.jperkin1-15/+6
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-03-30ncurses: Apply Debian patch to fix tmux with screen-256color.jperkin3-5/+16
Bump PKGREVISION.
2020-03-28ncurses: restore patch for xterm-newwiz3-2/+23
Sent upstream this time. Requested by jperkin. Bump PKGREVISION.
2020-03-09ncurses: annotate patches with upstream solution in next releasewiz4-7/+10
2020-03-09ncurses: replace patch (chunk) with configure flagwiz3-19/+5
2020-03-06ncurses: use rm -fwiz1-2/+2
2020-03-05ncurses: clean up patcheswiz9-181/+39
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-04ncurses: remove obsolete patchwiz2-35/+1
Fixed differently, says upstream.
2020-03-04ncurses: update to 6.2.wiz14-240/+16
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-01-11Add patches to address CVE-2018-19211, CVE-2019-17594, and CVE-2019-17595.kim8-3/+170
2019-11-03devel: align variable assignmentsrillig2-17/+17
pkglint -Wall -F --only aligned --only indent -r No manual corrections.
2019-10-10ncurses: fix circular dependency for Arch Linuxtriaxx2-4/+6
pkgsrc changes -------------- * Remove groff dependency when built on Arch Linux * Bump revision
2019-06-22Use https for all invisible-island.net HOMEPAGEs.nia1-2/+2
2019-05-01devel/ncurses: Add fake pc filegdt1-1/+24
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-02-25ncurses: Disable xterm+rep for maximum portability.jperkin4-5/+22
Many terminal emulators still do not support this capability, resulting in broken output. Patch from OmniOS, bump PKGREVISIONs.
2019-02-14devel/ncurses: fix broken string comparison in Makefile.commongutteridge1-2/+3
Revision 1.38 introduced an invalid check, fix it.
2019-02-12ncurses: disable build of manpage-tbl to avoid circular dependencytriaxx2-4/+5
groff has been removed on FreeBSD 12 and its build leads to a circular dependency. Bump revision.
2018-10-18ncurses{,w}: Backport patch for CVE-2018-10754leot3-3/+27
Patch provided by Attila Fülöp via NetBSD/pkgsrc#34, thanks! Bump PKGREVISION
2018-09-15ncurses: update to 6.1nb2.wiz3-10/+11
Fix installation of pkg-config files, and move them to the standard directory.
2018-09-15ncurses: provide pkgconfig files.maya3-4/+10
requested by bastian germann in PR pkg/53604. bump PKGREVISION.
2018-04-02update ncurses(w) to version 6.1, which fixes CVE-2017-13728 andspz11-192/+73
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-02-02ncurses: Fix quoting to handle subst. Bump PKGREVISION.jperkin3-3/+19
2018-01-07Fix indentation in buildlink3.mk files.rillig1-6/+6
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-01Sort PLIST files.rillig1-2/+2
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
2017-08-08patches fromspz4-3/+107
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-01-19Convert all occurrences (353 by my count) ofagc1-4/+4
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-05Drop buildlink-ncurses-fake-libs, it didn't get applied due to a typojoerg1-10/+1
and it doesn't help with the directory scanning of cmake anyway, since that one only looks in the real prefix.
2016-12-30rpath should not include DESTDIR.wiz3-8/+19
Hopefully addresses PR 51689.
2016-12-20For the sake of cmake and other tools that like to look for physicaljoerg1-1/+10
files, create dummy libraries for libform and co.
2016-12-18Rename ncurses's libform, libpanel and libmenu to libgnuform,joerg9-16/+173
libgnupanel and libgnumenu as they overlap with system libraries on NetBSD, resulting in strange breakage like in devel/cmake's ccmake frontend.
2016-07-09Bump PKGREVISION for perl-5.24.0 for everything mentioning perl.wiz1-2/+2
2016-03-24Fix clang build under FreeBSD 10.2ryoon1-1/+7
Do not detect the compiler as GCC.
2016-02-25Use OPSYSVARS.jperkin1-4/+2
2015-11-04Skip chkref in manfiles that have debug lines containing references to temprichard1-1/+3
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-03Add SHA512 digests for distfiles for devel categoryagc1-1/+2
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-09-08Remove INCOMPAT_CURSES settings for NetBSD 0.x and 1.x. Tighten up somejperkin1-3/+2
globs to ensure NetBSD 10 is not incorrectly matched when it is released.
2015-08-28cleanup SunOS workarounds in ncurses and ncursesw since update to ncurses 6.0richard2-11/+4
resolve for PR pkg/50175 bump PKGREVISION
2015-08-18Remove empty patches.wiz4-10/+1
2015-08-17Update to 6.0:wiz12-131/+69
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-06-17Pull in upstream fix for GCC 5.1. Patch submitted by Travis Pauljperkin2-1/+35
in joyent/pkgsrc#269.
2015-06-04USE_LANGUAGES must be set before including compiler.mkjperkin1-2/+5
2015-06-02When GCC version is 5.x, pass the -P flag to cpp, preventing the generation ↵sevan1-2/+9
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-02-18Drop the use of -no-cpp-precomp which is specific to Apple's supplied toolchainsevan2-5/+18
Provide an explaination of changes in patches/patch-ac Closes PR pkg/47949 Reviewed by wiz@
2014-12-15The "rename" rule is a published synonym for the "opt" transform rule, howeverjperkin1-2/+2
only the latter is supported by cwrappers. Change them all to "opt" rules for consistency and to gain compatibility with cwrappers.
2014-12-03For devel/ncursesw, we want the curses transform and only that.joerg1-2/+4
2014-10-09Remove pkgviews: don't set PKG_INSTALLATION_TYPES in Makefiles.wiz1-4/+1
2014-09-16Fix ncurses-config to provide rpath.wiz2-3/+11
Bump PKGREVISION.