baab1fb91a
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.
31 lines
920 B
Makefile
31 lines
920 B
Makefile
# $NetBSD: Makefile,v 1.5 2008/11/05 16:12:38 wiz Exp $
|
|
|
|
.include "../../devel/ncurses/Makefile.common"
|
|
|
|
PKGNAME= ${DISTNAME:S/ncurses/ncursesw/}
|
|
COMMENT= Wide character CRT screen handling and optimization package
|
|
|
|
PATCHDIR= ${.CURDIR}/../../devel/ncurses/patches
|
|
DISTINFO_FILE= ${.CURDIR}/../../devel/ncurses/distinfo
|
|
|
|
CONFIGURE_ARGS+= --enable-widec
|
|
|
|
INSTALLATION_DIRS+= include/ncursesw
|
|
INSTALLATION_DIRS+= lib
|
|
|
|
BUILD_TARGET= libs
|
|
|
|
do-install:
|
|
${INSTALL_DATA} ${WRKSRC}/include/curses.h ${DESTDIR}${PREFIX}/include/ncursesw/ncurses.h
|
|
for LIB in form menu ncurses++ ncurses panel; do \
|
|
${LIBTOOL} --mode=install ${INSTALL_PROGRAM} \
|
|
${WRKSRC}/lib/lib$${LIB}w.la ${DESTDIR}${PREFIX}/lib; \
|
|
done
|
|
|
|
BUILDLINK_API_DEPENDS.ncurses+= ncurses-${NC_VERS}{,nb*}
|
|
BUILDLINK_ABI_DEPENDS.ncurses+= ncurses-${NC_VERS}{,nb*}
|
|
USE_NCURSES= yes
|
|
|
|
.include "../../devel/ncurses/buildlink3.mk"
|
|
|
|
.include "../../mk/bsd.pkg.mk"
|