Commit graph

22 commits

Author SHA1 Message Date
adam
e4ce8f339e Changes 5.8:
Interface changes
* turn on _XOPEN_CURSES definition in curses.h.
* change _nc_has_mouse to has_mouse, reflect its use in C++ and Ada95.
* add is_pad and is_subwin functions for opaque access to the WINDOW structure.
* add tiparm, based on review of X/Open Curses Issue 7.

Library Improvements
* add a terminal driver for Windows console, which supports a MinGW port to
  Windows.
* add extended functions which specify the SCREEN pointer for several curses
  functions which use the global SP.
* improve the NCURSES_NO_UTF8_ACS feature by adding a check for an extended
  terminfo capability U8.
* improve performance of tigetstr, etc., by using hashing code from tic.
* add WACS_xxx definitions to wide-character configuration for thick- and
  double-lines.
* modify init_pair to allow caller to create extra color pairs beyond the
  color_pairs limit, which use default colors.

Improvements to Programs
* add tabs program.
* modify tic's -I/-C dump to reformat acsc strings into canonical form (sorted,
  unique mapping).
* add checks in tic for inconsistent cursor-movement controls, and for
  inconsistent printer-controls.
* add special case to _nc_infotocap (used by tic and infocmp) to recognize the
  setaf/setab strings from xterm+256color and xterm+88color, and provide a
  reduced version which works with termcap.
2011-02-28 11:02:46 +00:00
dholland
e1f52af49d ncurses does a bunch of sed magic at *install* time to adjust the
paths in include directives in the headers it installs. (I'm not going
to ask who thought this was a good idea...) Since this package
bypasses the ncurses install goo, we need to replicate at least some
of the behavior with SUBST in order to get working header files out.

Should fix PR 43435 and may also fix some problems with ncursesw and
tin that I've had reported to me.

PKGREVISION -> 4.
2010-07-26 05:47:45 +00:00
tron
66ce0099c9 Determine the installed terminfo database files dynammically. This deals
not only with the different directory structure under Mac OS X (due to
the case-insensitive file-system) but also with the files which don't
get installed under Solaris. Bump the package revision of the "ncurses"
package as the binary package changed under Mac OS X.

This fixes PR pkg/43446 by Edgar Fuss.
2010-06-21 14:49:00 +00:00
drochner
c07e1429b1 also fake a <ncursesw/ncurses.h> header to make pkgs expecting
ncursesw work with native wide curses without changes
2010-02-25 16:01:47 +00:00
tron
a30bd5fb97 Fix build under Solaris 10 using G++ as the compiler. 2010-01-11 10:38:16 +00:00
joerg
bacea7cad5 Remove @dirrm entries from PLISTs 2009-06-14 17:48:39 +00:00
joerg
2d1ba244e9 Simply and speed up buildlink3.mk files and processing.
This changes the buildlink3.mk files to use an include guard for the
recursive include. The use of BUILDLINK_DEPTH, BUILDLINK_DEPENDS,
BUILDLINK_PACKAGES and BUILDLINK_ORDER is handled by a single new
variable BUILDLINK_TREE. Each buildlink3.mk file adds a pair of
enter/exit marker, which can be used to reconstruct the tree and
to determine first level includes. Avoiding := for large variables
(BUILDLINK_ORDER) speeds up parse time as += has linear complexity.
The include guard reduces system time by avoiding reading files over and
over again. For complex packages this reduces both %user and %sys time to
half of the former time.
2009-03-20 19:23:50 +00:00
dholland
f3a52cb2df Fix typo: H_NCURSES -> H_NCURSESW. Fixes PR 38665.
From http://mail-index.netbsd.org/tech-pkg/2008/10/15/msg001835.html,
and also reinvented recently by Sergey Svishchev.
2009-01-18 06:56:34 +00:00
wiz
baab1fb91a Update to 5.7:
New features and improvements:

    * library
	  o new flavor of the ncurses library provides rudimentary
	  support for POSIX threads. Several functions are reentrant,
	  but most require either a window-level or screen-level
	  mutex.
	    (This is API-compatible, but not ABI-compatible with
	    the normal library).
	  o add NCURSES_OPAQUE symbol to curses.h, will use to make
	  structs opaque in selected configurations.
	  o add NCURSES_EXT_FUNCS and NCURSES_EXT_COLORS symbols
	  to curses.h to make it simpler to tell if the extended
	  functions and/or colors are declared.
          o add wresize to C++ binding
          o eliminate fixed-buffer vsprintf calls in C++ binding.
	  o add several functions to C++ binding which wrap C
	  functions that pass a WINDOW* parameter.
          o adapt mouse-handling code from menu library in form-library
          o improve tracing for form library, showing created forms, fields, etc.
          o make $NCURSES_NO_PADDING feature work for termcap interface .
	  o add check to trace-file open, if the given name is a
	  directory, add ".log" to the name and try again.
	  o several new manpages: curs_legacy.3x, curs_memleaks.3x,
	  curs_opaque.3x and curs_threads.3x
    * programs:
	  o modified three test-programs to demonstrate the threading
	  support in this version: ditto, rain, worm.
	  o several new test-programs: demo_panels, dots_mvcur,
	  inch_wide, inchs, key_name, key_names, savescreen,
	  savescreen.sh test_arrays, test_get_wstr, test_getstr,
	  test_instr, test_inwstr and test_opaque.
	  o add adacurses-config to the Ada95 install.
	  o modify tic -f option to format spaces as \s to prevent
	  them from being lost when that is read back in unformatted
	  strings.
	  o The tack program is now distributed separately from
	  ncurses.
    * terminal database
          o added entries:
                + Eterm-256color, Eterm-88color and rxvt-88color
                + aterm
                + konsole-256color
                + mrxvt
                + screen.mlterm
                + screen.rxvt
		+ teraterm4.59 is now the primary primary teraterm
		entry, renamed original to teraterm2.3
                + 9term terminal
                + Newbury Data entries
          o updated/improved entries:
                + gnome to version 2.22.3
                + h19, z100
                + konsole to version 1.6.6
                + mlterm, mlterm+pcfkeys
		+ xterm, and building-blocks for function-keys to
		xterm patch #230.

Major bug fixes:

    * add logic to tic for cancelling strings in user-defined
    capabilities (this is needed for current konsole terminfo
    entry).
    * modify mk-1st.awk so the generated makefile rules for linking
    or installing shared libraries do not first remove the library,
    in case it is in use, e.g., libncurses.so by /bin/sh.
    * correct check for notimeout in wgetch.
    * fix a sign-extension bug in infocmp's repair_acsc function.
    * change winnstr to stop at the end of the line.
    * make Ada95 demo_panels example work.
    * fix for adding a non-spacing character at the beginning of a line.
    * fill in extended-color pair to make colors work for
    wide-characters using extended-colors.
    * improve refresh of window on top of multi-column characters,
    taking into account split characters on left/right window
    boundaries.
    * modify win_wchnstr to ensure that only a base cell is returned
    for each multi-column character.
    * improve waddch and winsch handling of EILSEQ from mbrtowc by
    using unctrl to display illegal bytes rather than trying to
    append further bytes to make up a valid sequence.
    * restore curs_set state after endwin/refresh
    * modify keyname to use "^X" form only if meta has been called,
    or if keyname is called without initializing curses, e.g., via
    initscr or newterm.
    * modify unctrl to check codes in 128-255 range versus isprint.
    If they are not printable, and locale was set, use a "M-" or
    "~" sequence.
    * improve resizeterm by moving ripped-off lines, and repainting
    the soft-keys.
    * modify form library to accept control characters such as
    newline in set_field_buffer, which is compatible with Solaris.
    * use NCURSES_MOUSE_MASK in definition of BUTTON_RELEASE, etc.,
    to make those work properly with the --enable-ext-mouse
    configuration
    * correct some functions in Ada95 binding which were using
    return value from C where none was returned.
    * reviewed/fixed issues reported by Coverity and Klocwork tools.

Portability:

    * configure script:
          o new options:

	    --disable-big-strings
		control whether static string tables are generated
		as single large strings (to improve startup
		performance), or as array of individual strings.
            --disable-relink
		control whether shared libraries are relinked
		(during install) when rpath is enabled.
            --disable-tic-depends
		make explicit whether tic library depends on
		ncurses/ncursesw library.
            --enable-mixed-case
		override the configure script's check if the
		filesystem supports mixed-case filenames. This
		allows one to control how the terminal database
		maps to the filesystem. For filesystems that do
		not support mixed-case, the library uses generate
		2-character (hexadecimal) codes for the lower-level
		of the filesystem terminfo database
            --enable-reentrant
		builds a different flavor of the ncurses library
		(ncursest) which improves reentrant use of the
		library by reducing global and static variables
		(see the "--with-pthread" option for the threaded
		support).
            --enable-weak-symbols
		use weak-symbols for linking to the POSIX thread
		library, and use the same soname for the ncurses
		shared library as the normal library (caveat: the
		ABI is for the threaded library, which makes global
		data accessed via functions).
            --with-pthread
		build with the POSIX thread library (tested with
		AIX, GNU/Linux, FreeBSD, OpenBSD, HPUX, IRIX64,
		Solaris, Tru64).
            --with-ticlib
		build/install the tic-support functions in a separate
		library

          o improved options:

            --enable-ext-colors
                requires the wide-character configuration.
            --with-chtype
		ignore option value "unsigned" is always added to
		the type in curses.h; do the same for --with-mmask-t.
            --with-dmalloc
                build-fix for redefinition of strndup.
            --with-hashed-db
		    + accepts a parameter which is the install-prefix
		    of a given Berkeley Database.
		    + the $LIBS environment variable overrides the
		    search for the db library.
            --without-hashed-db
                assumed when "--disable-database" is used.

    * other configure/build issues:
          o build-fixes for LynxOS
          o modify shared-library rules to allow FreeBSD 3.x to use rpath.
          o build-fix for FreeBSD "contemporary" TTY interface.
          o build-fixes for AIX with libtool.
          o build-fixes for Darwin and libtool.
          o modify BeOS-specific ifdef's to build on Haiku.
	  o corrected gcc options for building shared libraries on
	  Solaris and IRIX64.
          o change shared-library configuration for OpenBSD, make rpath work.
          o build-fixes for using libutf8, e.g., on OpenBSD 3.7
	  o add "-e" option in ncurses/Makefile.in when generating
	  source-files to force earlier exit if the build environment
	  fails unexpectedly.
          o add support for shared libraries for QNX.
	  o change delimiter in MKlib_gen.sh from '%' to '@', to
	  avoid substitution by IBM xlc to '#' as part of its
	  extensions to digraphs.
    * library:
	  o rewrite wrapper for wcrtomb, making it work on Solaris.
	  This is used in the form library to determine the length
	  of the buffer needed by field_buffer.
	  o add/use configure script macro CF_SIG_ATOMIC_T, use
	  the corresponding type for data manipulated by signal
	  handlers.
	  o set locale in misc/ncurses-config.in since it uses a
	  range
	  o disable GPM mouse support when $TERM does not happen
	  to contain "linux", since Gpm_Open no longer limits its
	  assertion to terminals that it might handle, e.g., within
	  "screen" in xterm.
	  o reset mouse file-descriptor when unloading GPM library.
    * test programs:
	  o update test programs to build/work with various UNIX
	  curses for comparisons.
2008-11-05 16:12:38 +00:00
obache
510f7993e2 Add missing @dirrm. 2008-06-08 09:42:20 +00:00
jlam
1edde7369f Provide value for BUILDLINK_LDADD.ncursesw that can be used by packages
that need to know how to link against ncursesw.
2008-02-29 19:23:07 +00:00
tron
05d7f35273 Add missing continuation to fix parsing error. 2008-02-22 13:48:21 +00:00
jlam
c144340cf5 Get rid of USE_NCURSESW, and just use USE_NCURSES to force the use of
ncursesw over BSD wide-curses.
2008-02-21 21:55:18 +00:00
jlam
306669ef3b If we're using real ncursesw, then force using a real ncurses. 2008-02-21 17:14:17 +00:00
jlam
cd39122dad Try to get this working with FreeBSD's native ncurses (untested). 2008-02-20 22:29:48 +00:00
jlam
621fa1951b Overwrite symlinks for <ncurses.h> and <curses.h> to point to
<ncursesw/ncurses.h> so that including any of the curses headers will
consistently pull in the same information.
2008-02-20 20:07:25 +00:00
jlam
4e9c1acf41 Add a ncursesw/builtin.mk file to that allows NetBSD with native wide
curses to be used instead.  Packages that really need ncursesw should
define USE_NCURSESW=yes in the package Makefile.
2008-02-20 17:17:46 +00:00
bjs
5d10a14d0d Add a distribution patch (by Thomas Dickey) containing Coverity fixes.
Bump revisions of both ncurses and ncursesw packages.


	 fixes based on Coverity report:
	 ------------------------------

	- remove dead code in test/bs.c
	- remove dead code in test/demo_defkey.c
	- remove an unused assignment in progs/infocmp.c
	- fix a limit check in tack/ansi.c tools_charset()
	- fix tack/ansi.c tools_status() to perform the VT320/VT420
	  tests in request_cfss().  The function had exited too soon.
	- fix a memory leak in tic.c's make_namelist()
	- fix a couple of places in tack/output.c which did not check for
	  EOF.
	- fix a loop-condition in test/bs.c
	- add index checks in lib_color.c for color palettes
	- add index checks in progs/dump_entry.c for version_filter()
	  handling of V_BSD case.
	- fix a possible null-pointer dereference in copywin()
	- fix a possible null-pointer dereference in waddchnstr()
	- add a null-pointer check in _nc_expand_try()
	- add a null-pointer check in tic.c's make_namelist()
	- add a null-pointer check in _nc_expand_try()
	- add null-pointer checks in test/cardfile.c
	- fix a double-free in ncurses/tinfo/trim_sgr0.c
	- fix a double-free in ncurses/base/wresize.c
	- add try/catch block to c++/cursesmain.cc

	other fixes prompted by inspection for Coverity report:
	------------------------------------------------------

	- modify ifdef's for c++ binding to use try/catch/throw statements
	- add a null-pointer check in tack/ansi.c request_cfss()
	- fix a memory leak in ncurses/base/wresize.c
	- corrected check for valid memu/meml capabilities in
	  progs/dump_entry.c when handling V_HPUX case.
2007-12-11 05:27:05 +00:00
bjs
0c6716ab94 Add INSTALLATION_DIRS+=lib and prepand ${DESTDIR} to do-install:
destination paths so that DESTDIR installations work.

I'm not bumping the revision because the resultant binaries should not
be different; please let me know if I should've bumped it.
2007-10-30 05:33:07 +00:00
wiz
70040638e6 Install header file that includes all the necessary symbols for
wide character support (needed by at least news/tin).

Bump PKGREVISION.
2007-09-13 23:13:47 +00:00
wiz
367a9fde08 Mention that this is for the wide character support. 2006-10-23 00:24:18 +00:00
tron
1ebcc9e8a4 Add "ncursesw" package:
Wide character CRT screen handling and optimization package

This package brings us one step closer to fixing PR pkg/34777.
2006-10-13 18:07:49 +00:00