Commit graph

206 commits

Author SHA1 Message Date
ahoka
904bfc46fc Add BUILDLINK_INCDIRS. Fixes tmux build and more correct in general. 2009-07-13 20:36:42 +00:00
wiz
3c74820f98 Fix typos in comment. 2009-07-12 17:41:25 +00:00
ahoka
9f3a2d17c8 Install ncurses headers to include/ncurses. This fixes a bug, when having
/usr/pkg/include in the header search path shadows some of the system's
curses headers (happens when building or developing curses application
outside of the pkgsrc build system).
2009-07-12 17:23:13 +00:00
joerg
16bdbc8735 Make USE_NCURSES more specific. Allow selecting chgat as feature, so
that more packages can work without ncurses on NetBSD 5.99.14+.
2009-07-07 11:04:55 +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
adrianp
f9ac06cee4 Add screen.{mlterm,rxvt} to the list of files that dont get installed on SunOS
PKGREVISION++
2008-11-16 17:03:00 +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
jlam
841dfa0e7a Convert to use PLIST_VARS instead of manually passing "@comment "
through PLIST_SUBST to the plist module.
2008-04-12 22:42:57 +00:00
jlam
c94bd5f389 Actually, BUILTIN_LIBNAME.ncurses can be empty, but fix the case where
we actually have libnurses in the base system.
2008-02-29 16:19:21 +00:00
jlam
84028d8f68 + Always ensure that BUILTIN_LIBNAME.ncurses is defined (this should have
been the case before, but wasn't due to a missing default vaule.

+ Move the BUILDLINK_TRANSFORM remapping of -lncurses into the section
  which only applies if we're using the built-in ncurses, and map it to
  -l${BUILTIN_LIBNAME.ncurses}.

This should fix the issue reported for Mac OS X where "-lncurses" was
being mapped to nothing by the wrapper scripts.
2008-02-29 16:14:09 +00:00
tron
4d8b0dc918 Backout last change, it breaks the build under NetBSD. 2008-02-29 16:04:55 +00:00
tron
63a24d2dda Don't setup bogus remapping of the "ncurses" library if we don't need
to change the name. This fixes the build on platforms which provide
"libncurses" (e.g. Mac OS X).
2008-02-29 15:28:12 +00:00
jlam
b97840c070 If FOO is empty, then ${FOO:S/^/-l/} has a value of "-l". This is not
what we want.  Instead, use another pattern to strip away lone "-l" in
BUILDLINK_LDADD.*.
2008-02-27 21:32:45 +00:00
jlam
496391a1f0 + Define BUILTIN_LIBNAME.* unconditionally so that their values can
always be used in other builtin.mk files.

+ In the USE_BUILTIN.* == "yes" case, set BUILDLINK_LIBNAME.* to the
  corresponding BUILTIN_LIBNAME.* value so that BUILDLINK_LIBNAME.*
  can always be used in other buildlink3.mk files.
2008-02-27 15:26:34 +00:00
jlam
70c7f36d99 Define BUILTIN_LIBNAME.* outside of the CHECK_BUILTIN.*-protected
section to be the name of the built-in library if USE_BUILTIN.* is
"yes".  These variables can be used in other builtin.mk files.
2008-02-27 06:14:23 +00:00
jlam
02629b7349 Protect against possibly empty BUILDLINK_LIBNAME.* variables when
defining BUILDLINK_LDADD.* by using a substitution instead of directly
prepending "-l".
2008-02-27 06:10:25 +00:00
jlam
f686df4e6c + The termlib.buildlink3.mk file is meant to be included by packages
that need basic termlib functionality, i.e. tgetent(), tgoto(),
  tputs(), etc.  Together with the termlib.builtin.mk file, they will
  use either a built-in termcap library, a built-in X/Open "enhanced"
  curses library, or ncurses to provide these functions.

+ Add BUILDLINK_LIBNAME.* definitions to the various curses buildlink3.mk
  and builtin.mk files that give the "base" library name of the curses
  library, e.g. curses, ncurses, etc.  These are used by the termlib
  files to set BUILDLINK_LIBNAME.termlib.
2008-02-27 04:47:02 +00:00
jlam
3723aceeb5 Always make ncurses headers and libraries available as <curses.h> and
-lcurses so that GNU configure scripts that check for those ahead of
<ncurses.h> and -lncurses will still use ncurses instead of picking up
a system curses.

This was a regression introduced by my recent ncurses commits.
2008-02-26 17:21:13 +00:00
jlam
f4c16dfc14 whitespace 2008-02-26 17:02:30 +00:00
obache
e085f4a87f Add fake seed for ncurses.h with NetBSD's curses. 2008-02-26 11:06:19 +00:00
jlam
6c632be065 + Introduce a way for a user to set the default curses implementation
used by packages that need curses.  From curses.buildlink3.mk:

  CURSES_DEFAULT
	This value represents the type of curses we wish to use on the
	system.  Setting this to "curses" means that the system curses
	implementation is fine.

	Possible: curses, ncurses, pdcurses

+ Move all code to detect a built-in version of curses into a
  curses.builtin.mk file.

+ Add code to {n,pd}curses/buildlink3.mk so make the headers and
  libraries usable as <curses.h> and -lcurses if _PKG_USE_CURSES is
  defined.  _PKG_USE_CURSES is only defined by curses.buildlink3.mk.

+ Improve the detection of native ncurses in ncurses/builtin.mk and
  allow headers and libraries to be usable as <ncurses.h> and -lncurses.
2008-02-25 04:19:34 +00:00
joerg
1c99b1235a Fix build on DragonFly. 2007-12-22 00:23:58 +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
hira
8951aa3012 Back out previous. Pointed out by uebayasi@ and martti@. 2007-09-25 10:03:52 +00:00
hira
8b4409d328 mv -> ${MV}. 2007-09-25 08:49:03 +00:00
tnn
842a293f92 On platforms that have neither a builtin groff nor builtin curses
we can end up with a circular dependency:

ncurses -> groff -> netpbm -> flex -> bison -> gtexinfo -> ncurses

ncurses may depend on groff because of USE_TOOLS+=tbl.
Break the circular dependency by using --without-manpage-tbl
if there is no tbl(1) available and we're unable to build
groff because of missing curses.
2007-07-02 02:08:20 +00:00
rillig
382c6ec43a When TERMINFODIR does not exist, tic tries to write the terminfo
database into ~/.terminfo, so make sure that directory exists.
2007-02-06 14:34:54 +00:00
wiz
2c8b89df32 Make sure ${TERMINFODIR}/s is removed; bump PKGREVISION. 2007-01-23 22:55:32 +00:00
dmcmahill
4511b1790e Repair this package on solaris after being broken by the last update.
Addresses PR/35387.
2007-01-17 13:43:49 +00:00
rillig
5acfb0b6ca Renamed BUILDLINK_TRANSFORM.* to BUILDLINK_FNAME_TRANSFORM.*, to make
clear that these variables are completely unrelated to
BUILDLINK_TRANSFORM.

Added a legacy check that catches appearances of BUILDLINK_TRANSFORM.*.

XXX: Where should incompatible changes in pkgsrc be documented?
2007-01-17 03:11:18 +00:00
rillig
5327b6c284 This package cannot handle parallel make(1). 2007-01-11 07:32:16 +00:00
adam
3eaefbdf01 Changes 5.6:
Hashed-databases are supported for storing terminal descriptions.
Support for magic-cookies such as hpterm was improved.
Support for rpath in shared libraries was revised.
Many bugfixes were made for memory leaks, wide-character support, portability,
  and more.
2007-01-08 11:01:05 +00:00
joerg
605f49a154 DESTDIR support. 2006-11-05 17:49:33 +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
wiz
ec8050f2db Add patch addressing PR 33916, supplied by David Holland.
Bump PKGREVISION.
2006-10-08 17:16:59 +00:00
jlam
c16221a4db Change the format of BUILDLINK_ORDER to contain depth information as well,
and add a new helper target and script, "show-buildlink3", that outputs
a listing of the buildlink3.mk files included as well as the depth at
which they are included.

For example, "make show-buildlink3" in fonts/Xft2 displays:

	zlib
	fontconfig
	    iconv
	    zlib
	    freetype2
	    expat
	freetype2
	Xrender
	    renderproto
2006-07-08 23:10:35 +00:00
jlam
9430e49307 Track information in a new variable BUILDLINK_ORDER that informs us
of the order in which buildlink3.mk files are (recursively) included
by a package Makefile.
2006-07-08 22:38:58 +00:00
rillig
feddd01822 Switched to the SUBST framework. 2006-07-02 10:00:08 +00:00
reed
5abef9be14 Over 1200 files touched but no revisions bumped :)
RECOMMENDED is removed. It becomes ABI_DEPENDS.

BUILDLINK_RECOMMENDED.foo becomes BUILDLINK_ABI_DEPENDS.foo.

BUILDLINK_DEPENDS.foo becomes BUILDLINK_API_DEPENDS.foo.

BUILDLINK_DEPENDS does not change.

IGNORE_RECOMMENDED (which defaulted to "no") becomes USE_ABI_DEPENDS
which defaults to "yes".

Added to obsolete.mk checking for IGNORE_RECOMMENDED.

I did not manually go through and fix any aesthetic tab/spacing issues.

I have tested the above patch on DragonFly building and packaging
subversion and pkglint and their many dependencies.

I have also tested USE_ABI_DEPENDS=no on my NetBSD workstation (where I
have used IGNORE_RECOMMENDED for a long time). I have been an active user
of IGNORE_RECOMMENDED since it was available.

As suggested, I removed the documentation sentences suggesting bumping for
"security" issues.

As discussed on tech-pkg.

I will commit to revbump, pkglint, pkg_install, createbuildlink separately.

Note that if you use wip, it will fail!  I will commit to pkgsrc-wip
later (within day).
2006-04-06 06:21:32 +00:00
jlam
fde5974d15 Export BUILDLINK_LDADD.ncurses, which is the flags to link directly
against the curses library used.
2006-04-04 19:11:33 +00:00
jlam
d71a98aa8e Avoid extra stat() calls by not repeatedly checking whether a file
exists on the disk -- we can just check whether a variable defined by
find-files.mk is "__nonexistent__" or not.
2006-03-30 18:06:17 +00:00
jlam
641e118d57 Drop maintainership for packages that I no longer have time to maintain. 2006-03-14 16:00:40 +00:00
jlam
2558c0291d Change my MAINTAINER email address to the one I've been using for
pkgsrc work.
2005-12-17 05:20:21 +00:00
rillig
b71a1d488b Fixed pkglint warnings. The warnings are mostly quoting issues, for
example MAKE_ENV+=FOO=${BAR} is changed to MAKE_ENV+=FOO=${BAR:Q}. Some
other changes are outlined in

    http://mail-index.netbsd.org/tech-pkg/2005/12/02/0034.html
2005-12-05 20:49:47 +00:00
wiz
af1d69bbee Update to 5.5. Solaris PLIST should be checked for correctness.
This  release  is  designed  to  be upward compatible from ncurses 5.0
through   5.4;  very  few  applications  will  require  recompilation,
depending   on  the  platform.  These  are  the  highlights  from  the
change-log since ncurses 5.4 release.

Interface changes:
  * terminfo   installs  "xterm-new"  as  "xterm"  entry  rather  than
    "xterm-old" (aka xterm-r6).
  * terminfo  data  is  installed using the tic -x option (few systems
    still use ncurses 4.2).
  * modify  C++  binding to work with newer C++ compilers by providing
    initializers  and  using  modern casts. Old-style header names are
    still  used  in  this  release  to allow compiling with not-so-old
    compilers.
  * modify parameter type in c++ binding for insch() and mvwinsch() to
    be  consistent  with  underlying  ncurses  library  (was  char, is
    chtype).
  * change NCursesWindow::err_handler() to a virtual function.
  * form  and  menu  libraries  now  work  with  wide-character  data.
    Applications  which  bypassed the form library and manipulated the
    FIELD.buf  data  directly  will  not  work properly with libformw,
    since   that   no   longer   points  to  an  array  of  char.  The
    set_field_buffer()  and field_buffer() functions translate to/from
    the actual field data.
  * add  symbol  to  curses.h which can be used to suppress include of
    stdbool.h, e.g.,
             #define NCURSES_ENABLE_STDBOOL_H 0
             #include <curses.h>

  * change  SP->_current_attr  to  a pointer, adjust ifdef's to ensure
    that  libtinfo.so  and  libtinfow.so have the same ABI. The reason
    for  this  is  that  the  corresponding  data which belongs to the
    upper-level ncurses library has a different size in each model.
  * winnstr()   now   returns  multibyte  character  strings  for  the
    wide-character configuration.
  * assume_default_colors()      no      longer      requires     that
    use_default_colors() be called first.
  * data_ahead() now works with wide-characters.
  * slk_set()  and  slk_wset()  now  accept  and  store  multibyte  or
    multicolumn characters.
  * start_color()  now returns OK if colors have already been started.
    start_color() also returns ERR if it cannot allocate memory.
  * pair_content()  now returns -1 for consistency with init_pair() if
    it corresponds to the default-color.
  * unctrl()  now returns null if its parameter does not correspond to
    an unsigned char.

New features and improvements:
  * library
       + environment     variable     NCURSES_NO_UTF8_ACS     supports
         miscellaneous   terminal  emulators  which  ignore  alternate
         character set escape sequences when in UTF-8 mode.
       + modify  initialization  of  key  lookup  table  so that if an
         extended  capability (tic -x) string is defined, and its name
         begins  with  'k',  ncurses  will automatically treat it as a
         key.
       + change  GPM  initialization,  using  dl  library  to  load it
         dynamically at runtime.
       + form, menu and panel libraries support debug-tracing.
  * add   NCURSES-Programming-HOWTO.html   by   Pradeep   Padala  (see
    http://tldp.org/HOWTO/NCURSES-Programming-HOWTO/).
  * programs:
  * infocmp:
       + The  -i  option  now matches 8-bit controls against its table
         entries, e.g., so it can analyze the xterm-8bit entry.
       + add  "-x"  option to infocmp like tic's "-x", for use in "-F"
         comparisons.  This  modifies  infocmp to only report extended
         capabilities  if  the  -x  option  is given, making this more
         consistent  with  tic.  Some scripts may break, since infocmp
         previous gave this information without an option.
  * tic:
       + modify  termcap-parsing  to retain 2-character aliases at the
         beginning of an entry if the "-x" option is used in tic.
       + filter  out  long  extended names when translating to termcap
         format.  Only  two  characters  are  permissible  for termcap
         capability names.
       + correct  translation  of  "%%" in terminfo format to termcap,
         e.g., using "tic -C".
       + modify  the  "-c  -v" options to ignore delays when comparing
         strings.  Also  modify  it  to  ignore a canceled sgr string,
         e.g.,  for terminals which cannot properly combine attributes
         in one control sequence.
       + add  a  check  for  improperly  ended  strings, i.e., where a
         following line begins in column 1.
       + add a check in tic for terminfo entries having an sgr0 but no
         sgr string. This confuses Tru64 and HPUX curses when combined
         with  color,  e.g., making them leave line-drawing characters
         in odd places.
       + add  check (with debug configuration) that provides about the
         runtime  changes  that  would  be  made  to  sgr0 for termcap
         applications.
  * tset:
       + add  -c  and  -w  options  to allow user to suppress ncurses'
         resizing  of the terminal emulator window in the special case
         where it is not able to detect the true size.

Major bug fixes:
  * improve  logic  in tgetent() which adjusts the termcap "me" string
    to  work with ISO-2022 string used in xterm-new. This is a feature
    that was incompletely implemented in ncurses 5.3. ncurses attempts
    to  provide  termcap clients with the portion of the sgr0 (termcap
    "me") string that does not reset line-drawing.
  * cells  in  the  WINDOW  which  are  continuations of a multicolumn
    character   are   encoded   differently,  making  repainting  more
    reliable.
  * amend  change to setupterm() in ncurses 5.4 (20030405) which would
    reuse  the value of cur_term if the same output was selected. This
    now  reuses  it  only  when  setupterm() is called from tgetent(),
    which  has no notion of separate SCREENs. Note that tgetent() must
    be called after initscr() or newterm() to use this feature.
  * make  setcchar() now works when its wchar_t* parameter is pointing
    to a string which contains more data than can be converted.
  * win_wchnstr() now works for more than one cell.
  * resizeterm() now processes all levels of window hierarchy.
  * disable  GPM  mouse support when $TERM happens to be prefixed with
    "xterm".  Gpm_Open()  would otherwise assert that it can deal with
    mouse events in this case.
  * add  SP->_screen_acs_map[], used to ensure that mapping of missing
    line-drawing   characters   is   handled  properly.  For  example,
    ACS_DARROW  is  absent  from  xterm-new, and it was coincidentally
    displayed the same as ACS_BTEE.

Portability:
  * configure script:
       + new options:

           --enable-largefile
                   set  compiler  and  linker  flags  to use largefile
                   support.

           --enable-ext-colors
                   Allow  encoding  of  256  foreground and background
                   colors,    e.g.,   with   the   xterm-256color   or
                   xterm-88color terminfo entries. This requires ABI 6
                   because it changes the size of cchar_t.

           --enable-ext-mouse
                   This  defines NCURSES_MOUSE_VERSION 2, and modifies
                   the encoding of mouse events to support wheel mice,
                   which may transmit buttons 4 and 5. This works with
                   xterm and similar terminal emulators. This requires
                   ABI  6  because  it  changes  the encoding of mouse
                   events.

           --with-chtype
                   overriding of the non-LP64 model's use of chtype

           --with-mmask-t
                   overriding of the non-LP64 model's use of mmask_t

           --without-xterm-new
                   Installs  "xterm-old"  as  the "xterm" entry of the
                   terminfo database.

       + The  --with-termlib option now accepts a value which sets the
         name  of the terminfo library. This would allow a packager to
         build libtinfow.so renamed to coincide with libtinfo.so
       + fixes/improvements for cross-compiling:
            o suppress     $suffix     in     misc/run_tic.sh     when
              cross-compiling.  This  allows cross-compiles to use the
              host's  tic  program  to  handle the "make install.data"
              step.
            o correct       BUILD_CPPFLAGS       substitution       in
              ncurses/Makefile.in,  to  allow  cross-compiling  from a
              separate directory tree.
  * library:
       + add  ifdef's  for  _LP64  in curses.h to avoid using wasteful
         64-bits  for  chtype  and  mmask_t,  but add configure option
         --disable-lp64 in case anyone used that configuration.
       + modify  C++  binding to use some C internal functions to make
         it compile properly on Solaris (and other platforms).
       + remove  check  in  newwin()  that prevents allocating windows
         that extend beyond the screen (Solaris does this).
       + check  for  nl_langinfo(CODESET),  use  it if available. This
         replaces  ad  hoc  tests of environment variables to check if
         the  terminal is setup for UTF-8 encoding. Applications which
         do  not  call  setlocale()  should be corrected, to make them
         work properly with UTF-8 encoding.
         In  particular,  applications  which  assume (and do not call
         setlocale())  that Latin-1 codes are printable will no longer
         work  in a UTF-8 locale since the ad hoc check of environment
         variables  to  see  if  the locale was UTF-8 is not used when
         nl_langinfo(CODESET) is available.
       + use  setlocale() to query the program's current locale rather
         than  using  getenv().  This supports applications which rely
         upon  legacy treatment of 8-bit characters when the locale is
         not initialized.
2005-10-20 00:01:32 +00:00
jlam
95fd1f6ec9 Massive cleanup of buildlink3.mk and builtin.mk files in pkgsrc.
Several changes are involved since they are all interrelated.  These
changes affect about 1000 files.

The first major change is rewriting bsd.builtin.mk as well as all of
the builtin.mk files to follow the new example in bsd.builtin.mk.
The loop to include all of the builtin.mk files needed by the package
is moved from bsd.builtin.mk and into bsd.buildlink3.mk.  bsd.builtin.mk
is now included by each of the individual builtin.mk files and provides
some common logic for all of the builtin.mk files.  Currently, this
includes the computation for whether the native or pkgsrc version of
the package is preferred.  This causes USE_BUILTIN.* to be correctly
set when one builtin.mk file includes another.

The second major change is teach the builtin.mk files to consider
files under ${LOCALBASE} to be from pkgsrc-controlled packages.  Most
of the builtin.mk files test for the presence of built-in software by
checking for the existence of certain files, e.g. <pthread.h>, and we
now assume that if that file is under ${LOCALBASE}, then it must be
from pkgsrc.  This modification is a nod toward LOCALBASE=/usr.  The
exceptions to this new check are the X11 distribution packages, which
are handled specially as noted below.

The third major change is providing builtin.mk and version.mk files
for each of the X11 distribution packages in pkgsrc.  The builtin.mk
file can detect whether the native X11 distribution is the same as
the one provided by pkgsrc, and the version.mk file computes the
version of the X11 distribution package, whether it's built-in or not.

The fourth major change is that the buildlink3.mk files for X11 packages
that install parts which are part of X11 distribution packages, e.g.
Xpm, Xcursor, etc., now use imake to query the X11 distribution for
whether the software is already provided by the X11 distribution.
This is more accurate than grepping for a symbol name in the imake
config files.  Using imake required sprinkling various builtin-imake.mk
helper files into pkgsrc directories.  These files are used as input
to imake since imake can't use stdin for that purpose.

The fifth major change is in how packages note that they use X11.
Instead of setting USE_X11, package Makefiles should now include
x11.buildlink3.mk instead.  This causes the X11 package buildlink3
and builtin logic to be executed at the correct place for buildlink3.mk
and builtin.mk files that previously set USE_X11, and fixes packages
that relied on buildlink3.mk files to implicitly note that X11 is
needed.  Package buildlink3.mk should also include x11.buildlink3.mk
when linking against the package libraries requires also linking
against the X11 libraries.  Where it was obvious, redundant inclusions
of x11.buildlink3.mk have been removed.
2005-06-01 18:02:37 +00:00
jlam
e5d77bae83 Remove USE_TOOLS+=gawk from packages that had it added solely for Solaris.
We rely on the tools framework to pull in a good enough awk tool.
2005-05-22 22:06:28 +00:00
jlam
163b6e6c2b Remove USE_TBL from pkgsrc and replace with USE_TOOLS+=tbl. 2005-05-22 21:04:41 +00:00
jlam
585534220c Remove USE_GNU_TOOLS and replace with the correct USE_TOOLS definitions:
USE_GNU_TOOLS	-> USE_TOOLS
	awk		-> gawk
	m4		-> gm4
	make		-> gmake
	sed		-> gsed
	yacc		-> bison
2005-05-22 20:07:36 +00:00