2013-05-31 14:39:57 +02:00
|
|
|
# $NetBSD: Makefile,v 1.87 2013/05/31 12:40:01 wiz Exp $
|
1997-10-27 05:28:54 +01:00
|
|
|
|
2006-10-13 20:07:49 +02:00
|
|
|
.include "Makefile.common"
|
1997-10-28 12:35:46 +01:00
|
|
|
|
2004-03-03 14:36:09 +01:00
|
|
|
COMMENT= CRT screen handling and optimization package
|
2013-05-31 14:39:57 +02:00
|
|
|
PKGREVISION= 1
|
2000-10-12 16:56:42 +02:00
|
|
|
|
2007-02-06 15:34:54 +01:00
|
|
|
INSTALLATION_DIRS+= share/examples
|
2004-01-07 02:16:04 +01:00
|
|
|
|
2006-07-02 12:00:08 +02:00
|
|
|
.if ${OPSYS} == "SunOS"
|
2011-02-28 12:02:46 +01:00
|
|
|
# misc/screen installs screen, screen-bce and screen-s, so we need to remove
|
|
|
|
# these here to avoid a conflict; this means we also remove the entries which
|
|
|
|
# have a use=screen in them
|
2006-07-02 12:00:08 +02:00
|
|
|
SUBST_CLASSES+= ti
|
|
|
|
SUBST_STAGE.ti= post-configure
|
|
|
|
SUBST_MESSAGE.ti= Removing screen entries from the terminfo database.
|
|
|
|
SUBST_FILES.ti= ${TERMINFO_SRC}
|
2007-01-17 14:43:49 +01:00
|
|
|
# see misc/screen/PLIST for these:
|
2006-07-02 12:00:08 +02:00
|
|
|
SUBST_SED.ti= -e '/^screen|/,/^$$/d'
|
2007-01-17 14:43:49 +01:00
|
|
|
SUBST_SED.ti+= -e '/^screen-bce|/,/^$$/d'
|
2011-04-01 22:27:03 +02:00
|
|
|
SUBST_SED.ti+= -e '/^screen-bce.xterm-new|/,/^$$/d'
|
|
|
|
SUBST_SED.ti+= -e '/^screen-bce.rxvt|/,/^$$/d'
|
|
|
|
SUBST_SED.ti+= -e '/^screen-bce.Eterm|/,/^$$/d'
|
|
|
|
SUBST_SED.ti+= -e '/^screen-bce.mrxvt|/,/^$$/d'
|
|
|
|
SUBST_SED.ti+= -e '/^screen-bce.gnome|/,/^$$/d'
|
|
|
|
SUBST_SED.ti+= -e '/^screen-bce.konsole|/,/^$$/d'
|
|
|
|
SUBST_SED.ti+= -e '/^screen-bce.linux|/,/^$$/d'
|
|
|
|
SUBST_SED.ti+= -e '/^screen-bce.mlterm|/,/^$$/d'
|
2007-01-17 14:43:49 +01:00
|
|
|
SUBST_SED.ti+= -e '/^screen-s|/,/^$$/d'
|
|
|
|
# see ${TERMINFO_SRC} and look for use=screen for these
|
2006-07-02 12:00:08 +02:00
|
|
|
SUBST_SED.ti+= -e '/^screen.teraterm|/,/^$$/d'
|
2007-01-17 14:43:49 +01:00
|
|
|
SUBST_SED.ti+= -e '/^screen.linux|/,/^$$/d'
|
|
|
|
SUBST_SED.ti+= -e '/^screen-w|/,/^$$/d'
|
|
|
|
SUBST_SED.ti+= -e '/^screen-16color/,/^$$/d'
|
|
|
|
SUBST_SED.ti+= -e '/^screen-256color/,/^$$/d'
|
2008-11-16 18:03:00 +01:00
|
|
|
SUBST_SED.ti+= -e '/^screen.mlterm/,/^$$/d'
|
|
|
|
SUBST_SED.ti+= -e '/^screen.rxvt/,/^$$/d'
|
2006-07-02 12:00:08 +02:00
|
|
|
.endif
|
|
|
|
|
2010-06-21 16:49:00 +02:00
|
|
|
PLIST_SRC= ${PKGDIR}/PLIST ${WRKDIR}/PLIST.terminfo
|
|
|
|
|
Update ncurses to 5.0. From the release notes:
We decided to release ncurses as a new whole number release (5.0)
because it incorporates several interface changes, including some that
would invalidate existing shared libraries. These are the highlights
from the change-log since ncurses 4.2 release.
Interface changes:
* The principal source of changes to the interface comes from the
release of X/Open Curses in 1997. Earlier versions of ncurses (4.0
and before) were based on a draft version of the specification.
The release version adds parameters to some functions to support
the evolving internationalization of curses. These summarize the
impact:
+ modified several prototypes to correspond with 1997 version
of X/Open Curses (affects ABI since developers have used
attr_get).
+ corrected prototypes for slk_* functions, using chtype rather
than attr_t.
+ the slk_attr_{set,off,on} functions need an additional void*
parameter according to XSI.
+ correct macros for wattr_set, wattr_get, separate wattrset
macro from these to preserve behavior that allows attributes
to be combined with color pair numbers.
+ reviewed/updated curses.h, term.h against X/Open Curses Issue
4 Version 2. This includes making some parameters
NCURSES_CONST rather than const, e.g., in termcap.h.
+ reviewed/corrected macros in curses.h as per XSI document.
+ add set_a_attributes and set_pglen_inch to terminfo
structure, as per XSI and Solaris 2.5.
* The newest version of the X/Open Curses is implemented on Solaris
and other vendor's systems. It adds new features to the terminfo
descriptions:
+ implement tparm %l format.
+ implement tparm printf-style width and precision for %s, %d,
%x, %o as per XSI.
* We made additional changes to reduce impact by future interface
changes:
+ rename key_names[] array to _nc_key_names since it is not
part of the curses interface.
+ move macro winch to a function, to hide details of struct
ldat
* modify configure script to embed ABI in shared libraries for HP-UX
10.x (detailed request by Tim Mooney).
* modify configuration of shared libraries on Digital Unix so that
versioning is embedded in the library, rather than implied by
links (patch by Tim Mooney).
New features:
* enable sigwinch handler by default.
* turn on hashmap scrolling code by default
* improved support for termcap applications
+ modify tput to accept termcap names as an alternative to
terminfo names.
+ provide support for termcap PC variable by copying it from
terminfo data and using it as the padding character in tputs.
+ provide support for termcap ospeed variable by copying it
from the internal cur_term member, and using ospeed as the
baudrate reference for the delay_output and tputs functions.
+ change name-comparisons in lib_termcap to compare no more
than 2 characters.
+ add configure option --enable-tcap-names, which essentially
allows users to define new capabilities as in termcap.
* add mouse support to ncurses menus.
* add mouse and dll support for OS/2 EMX
* modify terminfo parsing to accept octal and hexadecimal constants
* add configure option --enable-no-padding, to allow environment
variable $NCURSES_NO_PADDING to eliminate non-mandatory padding,
thereby making terminal emulators (e.g., for vt100) a little more
efficient.
* modify lib_color.c to eliminate dependency on orig_colors and
orig_pair, since SVr4 curses does not require these either, but
uses them when they are available.
* add -f option to infocmp and tic, which formats the terminfo
if/then/else/endif so that they are readable (with newlines and
tabs).
* modify tic to compile into %'char' form in preference to
%{number}, since that is a little more efficient.
Major bug fixes:
* modify lib_tstp.c to block SIGTTOU when handling SIGTSTP, fixes a
problem where ncurses applications which were run via a shell
script would hang when given a ^Z. Also, check if the terminal's
process group is consistent, i.e., a shell has not taken ownership
of it, before deciding to save the current terminal settings in
the SIGTSTP handler.
* suppress sc/rc capabilities from terminal description if they
appear in smcup/rmcup. This affects only scrolling optimization,
to fix a problem reported by several people with xterm's alternate
screen, though the problem is more general.
* modify relative_move and tputs to avoid an interaction with the
BSD-style padding. The relative_move function could produce a
string to replace on the screen which began with a numeric
character, which was then interpreted by tputs as padding.
* modify setupterm so that cancelled strings are treated the same as
absent strings, cancelled and absent booleans false (does not
affect tic, infocmp).
* modify lib_vidattr.c to allow for terminal types (e.g.,
xterm-color) which may reset all attributes in the 'op'
capability, so that colors are set before turning on bold and
other attributes, but still after turning attributes off.
* use 'access()' to check if ncurses library should be permitted to
open or modify files with fopen/open/link/unlink/remove calls, in
case the calling application is running in setuid mode.
* correction to doupdate, for case where terminal does not support
insert/delete character. The logic did not check that there was a
difference in alignment of changes to old/new screens before
repainting the whole non-blank portion of the line. Modified to
fall through into logic that reduces by the portion which does not
differ.
2000-01-15 19:39:28 +01:00
|
|
|
post-configure:
|
2000-10-12 16:56:42 +02:00
|
|
|
cd ${WRKSRC}/man; \
|
2003-02-15 01:36:40 +01:00
|
|
|
for f in *.1m; do \
|
2007-09-25 12:03:52 +02:00
|
|
|
mv -f $${f} `${BASENAME} $${f} .1m`.1; \
|
2000-10-12 16:56:42 +02:00
|
|
|
done; \
|
2003-02-15 01:36:40 +01:00
|
|
|
for f in *.3x; do \
|
2007-09-25 12:03:52 +02:00
|
|
|
mv -f $${f} `${BASENAME} $${f} .3x`.3; \
|
Update ncurses to 5.0. From the release notes:
We decided to release ncurses as a new whole number release (5.0)
because it incorporates several interface changes, including some that
would invalidate existing shared libraries. These are the highlights
from the change-log since ncurses 4.2 release.
Interface changes:
* The principal source of changes to the interface comes from the
release of X/Open Curses in 1997. Earlier versions of ncurses (4.0
and before) were based on a draft version of the specification.
The release version adds parameters to some functions to support
the evolving internationalization of curses. These summarize the
impact:
+ modified several prototypes to correspond with 1997 version
of X/Open Curses (affects ABI since developers have used
attr_get).
+ corrected prototypes for slk_* functions, using chtype rather
than attr_t.
+ the slk_attr_{set,off,on} functions need an additional void*
parameter according to XSI.
+ correct macros for wattr_set, wattr_get, separate wattrset
macro from these to preserve behavior that allows attributes
to be combined with color pair numbers.
+ reviewed/updated curses.h, term.h against X/Open Curses Issue
4 Version 2. This includes making some parameters
NCURSES_CONST rather than const, e.g., in termcap.h.
+ reviewed/corrected macros in curses.h as per XSI document.
+ add set_a_attributes and set_pglen_inch to terminfo
structure, as per XSI and Solaris 2.5.
* The newest version of the X/Open Curses is implemented on Solaris
and other vendor's systems. It adds new features to the terminfo
descriptions:
+ implement tparm %l format.
+ implement tparm printf-style width and precision for %s, %d,
%x, %o as per XSI.
* We made additional changes to reduce impact by future interface
changes:
+ rename key_names[] array to _nc_key_names since it is not
part of the curses interface.
+ move macro winch to a function, to hide details of struct
ldat
* modify configure script to embed ABI in shared libraries for HP-UX
10.x (detailed request by Tim Mooney).
* modify configuration of shared libraries on Digital Unix so that
versioning is embedded in the library, rather than implied by
links (patch by Tim Mooney).
New features:
* enable sigwinch handler by default.
* turn on hashmap scrolling code by default
* improved support for termcap applications
+ modify tput to accept termcap names as an alternative to
terminfo names.
+ provide support for termcap PC variable by copying it from
terminfo data and using it as the padding character in tputs.
+ provide support for termcap ospeed variable by copying it
from the internal cur_term member, and using ospeed as the
baudrate reference for the delay_output and tputs functions.
+ change name-comparisons in lib_termcap to compare no more
than 2 characters.
+ add configure option --enable-tcap-names, which essentially
allows users to define new capabilities as in termcap.
* add mouse support to ncurses menus.
* add mouse and dll support for OS/2 EMX
* modify terminfo parsing to accept octal and hexadecimal constants
* add configure option --enable-no-padding, to allow environment
variable $NCURSES_NO_PADDING to eliminate non-mandatory padding,
thereby making terminal emulators (e.g., for vt100) a little more
efficient.
* modify lib_color.c to eliminate dependency on orig_colors and
orig_pair, since SVr4 curses does not require these either, but
uses them when they are available.
* add -f option to infocmp and tic, which formats the terminfo
if/then/else/endif so that they are readable (with newlines and
tabs).
* modify tic to compile into %'char' form in preference to
%{number}, since that is a little more efficient.
Major bug fixes:
* modify lib_tstp.c to block SIGTTOU when handling SIGTSTP, fixes a
problem where ncurses applications which were run via a shell
script would hang when given a ^Z. Also, check if the terminal's
process group is consistent, i.e., a shell has not taken ownership
of it, before deciding to save the current terminal settings in
the SIGTSTP handler.
* suppress sc/rc capabilities from terminal description if they
appear in smcup/rmcup. This affects only scrolling optimization,
to fix a problem reported by several people with xterm's alternate
screen, though the problem is more general.
* modify relative_move and tputs to avoid an interaction with the
BSD-style padding. The relative_move function could produce a
string to replace on the screen which began with a numeric
character, which was then interpreted by tputs as padding.
* modify setupterm so that cancelled strings are treated the same as
absent strings, cancelled and absent booleans false (does not
affect tic, infocmp).
* modify lib_vidattr.c to allow for terminal types (e.g.,
xterm-color) which may reset all attributes in the 'op'
capability, so that colors are set before turning on bold and
other attributes, but still after turning attributes off.
* use 'access()' to check if ncurses library should be permitted to
open or modify files with fopen/open/link/unlink/remove calls, in
case the calling application is running in setuid mode.
* correction to doupdate, for case where terminal does not support
insert/delete character. The logic did not check that there was a
difference in alignment of changes to old/new screens before
repainting the whole non-blank portion of the line. Modified to
fall through into logic that reduces by the portion which does not
differ.
2000-01-15 19:39:28 +01:00
|
|
|
done
|
1997-10-27 05:28:54 +01:00
|
|
|
|
1999-09-24 02:39:13 +02:00
|
|
|
post-install:
|
|
|
|
${INSTALL_DATA} ${WRKSRC}/c++/demo.cc \
|
2006-11-05 18:49:33 +01:00
|
|
|
${DESTDIR}${PREFIX}/share/examples/ncurses++demo.cc
|
2010-06-21 16:49:00 +02:00
|
|
|
${FIND} ${DESTDIR}${PREFIX}/${TERMINFODIR} -type f -print | ${SORT} | \
|
|
|
|
${SED} -e "s,^${DESTDIR}${PREFIX}/,," >${WRKDIR}/PLIST.terminfo
|
1999-09-24 02:39:13 +02:00
|
|
|
|
1998-04-15 12:38:15 +02:00
|
|
|
.include "../../mk/bsd.pkg.mk"
|