Commit graph

163 commits

Author SHA1 Message Date
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
tv
f816d81489 Remove USE_BUILDLINK3 and NO_BUILDLINK; these are no longer used. 2005-04-11 21:44:48 +00:00
agc
4a3d2f7ce2 Add RMD160 digests. 2005-02-23 22:24:08 +00:00
jlam
bda6801430 Create directories before putting files in them. This should fix
PR pkg/28480.
2004-12-11 00:32:16 +00:00
jlam
9636b9d697 Reverse the tests so that we actually check for the existence and not
the non-existence of the library -- this more accurately reflects what
we want to say.
2004-11-28 05:44:34 +00:00
jlam
9a38f17ac4 Standardize how we search for libraries in builtin.mk files. We define
_BLNK_LIB_FOUND.<lib> to "yes" or "no" depending on whether -l<lib> is
found in the base system.
2004-11-26 23:16:35 +00:00
tv
d133a216ec Oy, what a hack. But then, so is Interix....
On Interix, force inclusion of devel/ncurses/buildlink3.mk from
mk/curses.buildlink3.mk.  This forces inclusion of its builtin.mk too.

In devel/ncurses/builtin.mk, if using Interix's builtin ncurses, always
transform -lncurses to -lcurses.  (-lncurses is static, but -lcurses is
shared; we want the shared version.)
2004-10-13 20:10:31 +00:00
tv
c487cb967a Libtool fix for PR pkg/26633, and other issues. Update libtool to 1.5.10
in the process.  (More information on tech-pkg.)

Bump PKGREVISION and BUILDLINK_DEPENDS of all packages using libtool and
installing .la files.

Bump PKGREVISION (only) of all packages depending directly on the above
via a buildlink3 include.
2004-10-03 00:12:51 +00:00
jlam
1a280185e1 Mechanical changes to package PLISTs to make use of LIBTOOLIZE_PLIST.
All library names listed by *.la files no longer need to be listed
in the PLIST, e.g., instead of:

	lib/libfoo.a
	lib/libfoo.la
	lib/libfoo.so
	lib/libfoo.so.0
	lib/libfoo.so.0.1

one simply needs:

	lib/libfoo.la

and bsd.pkg.mk will automatically ensure that the additional library
names are listed in the installed package +CONTENTS file.

Also make LIBTOOLIZE_PLIST default to "yes".
2004-09-22 08:09:14 +00:00
jlam
9809354d38 Remove explicit dependency on groff -- set USE_TBL instead. 2004-07-21 19:58:57 +00:00
drochner
e257f0a8da depend on groff 2004-07-09 13:51:20 +00:00
wiz
4237d54a34 Unused. 2004-07-06 22:41:15 +00:00
jlam
6d92080aa2 Match the template builtin.mk file in bsd.builtin.mk, and make the two
packages that use builtin.mk files (graphics/xpm and pkgtools/x11-links)
use the new format correctly.
2004-03-29 05:43:28 +00:00
jlam
35ebc5eaab Always create the curses.h -> ncurses.h symlink to match buildlink2
behaviour.
2004-03-20 19:28:46 +00:00
bouyer
5ad6b0e6eb Add a few more files that are not installed on SunOS. 2004-03-19 21:26:29 +00:00
jlam
d0b4c54eb6 Split out the code that deals with checking whether the software is
built-in or not into a separate builtin.mk file.  The code to deal
checking for built-in software is much simpler to deal with in pkgsrc.

The buildlink3.mk file for a package will be of the usual format
regardless of the package, which makes it simpler for packagers to
update a package.

The builtin.mk file for a package must define a single yes/no variable
USE_BUILTIN.<pkg> that is used by bsd.buildlink3.mk to decide whether
to use the built-in software or to use the pkgsrc software.
2004-03-10 17:57:14 +00:00
wiz
7c34813f59 Add two patches (that will end up in the next ncurses release) to make
this build with NetBSD make older than Dec 26 2003.
Problem was that ${FOO:$o=.lo} was not expanded as in GNU make
before that date; problem found by Thomas Dickey.
Remove USE_GNU_TOOLS+=make.
2004-03-08 13:26:03 +00:00
wiz
383fb10142 Add some missing man pages. 2004-03-04 23:51:32 +00:00
wiz
f7e56c1f8f Use GNU make, so this builds again (for me (TM)). 2004-03-04 23:51:24 +00:00
adam
c7bf6dcf79 Changes 5.4:
* Interface changes
* New features and improvements: library, programs
* Major bug fixes
(See ANNOUNCE for details)
2004-03-03 13:36:09 +00:00
jlam
aa67f9a228 In the USE_NCURSES case, if we're not using the built-in ncurses, then
set BUILDLINK_USE_BUILTIN.ncurses to "no".
2004-02-19 17:36:38 +00:00
jlam
5332d1d8f0 I had the result backwards -- if ncurses is built-in and
/usr/lib/libnurses.so exists, then we want to use the built-in ncurses
if USE_NCURSES is set.
2004-02-19 14:56:33 +00:00
jlam
bf6e059da4 Reorder some lines so that BUILDLINK_USE_BUILTIN.<pkg> set in the
environment overrides all other settings.
2004-02-18 16:35:27 +00:00
jlam
740efe9cab Deal with USE_NCURSES if the built-in ncurses really is ncurses. 2004-02-17 16:02:52 +00:00
kristerw
949927ae12 Correct a test that got inverted in rev 1.19, which prevented creation
of the ncurses.h -> /usr/include/curses.h symlink on NetBSD.
2004-02-15 05:57:16 +00:00
snj
4b79b6276d Fix fatal typo in last: check USE_NCURSES, not USE_NCURSE. 2004-02-14 01:03:54 +00:00
jlam
1b8c76c873 Make this file understand USE_NCURSES again. It got lost some time during
the introduction of PREFER_{PKGSRC,NATIVE}.
2004-02-14 00:53:55 +00:00
jlam
a409e54e41 s/_BUILTIN_NCURSES/BUILDLINK_IS_BUILTIN.ncurses/g 2004-02-12 21:08:19 +00:00
jlam
d2b62c66fb Create a new variable PREFER_NATIVE that has the opposite semantics
as PREFER_PKGSRC.  Preferences are determined by the most specific
instance of the package in either PREFER_PKGSRC or PREFER_NATIVE.  If
a package is specified in neither or in both variables, then PREFER_PKGSRC
has precedence over PREFER_NATIVE.
2004-02-12 02:35:06 +00:00
jlam
1edfa505ed Reorganize code so that any dependencies are checked as part of deciding
whether the software is built-in or not.  This facilitates implementing
the forthcoming PKGSRC_NATIVE variable.
2004-02-12 01:59:37 +00:00
jlam
7c68eb548f Move the INCOMPAT_FOO checks to a more natural location within the
block that decides whether package FOO is built-in or not.  If the
platform is listed in IMCOMPAT_FOO, then treat FOO as being not
built-in.
2004-02-11 11:30:49 +00:00
jlam
1b2674fcd7 The BUILDLINK_DEPENDS.<pkg> lines should match between the buildlink3.mk
and any pre-existing buildlink2.mk files.
2004-02-10 20:45:01 +00:00
jlam
7699290f10 If we're passing through MAKEFLAGS variables whose values may contain
spaces, use the :Q modifier instead of double-quoting the value.  This
avoids breakage when executing the just-in-time su targets.
2004-02-06 19:04:24 +00:00
jlam
317cc72791 Make PREFER_PKGSRC just yes/no or a list of packages. This makes it
simpler to understand.
2004-02-05 07:17:14 +00:00
jlam
e7133cac25 Rename BUILDLINK_PREFER_PKGSRC to PREFER_PKGSRC so that we can use its
value outside of buildlink-related files.
2004-02-05 07:06:15 +00:00
jlam
07a9d8dfb2 Support a new global variable:
BUILDLINK_PREFER_PKGSRC
	This variable determines whether or not to prefer the pkgsrc
	versions of software that is also present in the base system.

	This variable is multi-state:
		defined, or "yes"	always prefer the pkgsrc versions
		not defined, or "no"	only use the pkgsrc versions if
					needed by dependency requirements

	This can also take a list of packages for which to prefer the
	pkgsrc-installed software.  The package names may be found by
	consulting the value added to BUILDLINK_PACKAGES in the
	buildlink[23].mk files for that package.
2004-02-05 06:58:02 +00:00
jlam
17d1ca394e These packages need a C++ compiler. 2004-02-02 13:02:49 +00:00
jlam
01a5abff01 Support BUILDLINK_DEPENDS.<pkg> being a list of values. 2004-01-24 03:12:31 +00:00
jlam
94c47fcab3 * Fix stupid bug where this file worked for NetBSD and broke for all
other platforms (a YES should have been a NO, plus it was in the wrong
  place!).  This should fix PR 24129.

* Add more sophisticated ncurses version detection for platforms that
  actually have real ncurses in the base system.  This should be a win
  for FreeBSD systems.

* Downgrade the required ncurses to 5.0.  The previous bump done in
  revision 1.8 wasn't necessary since ncurses never had a dependency on
  libiconv.
2004-01-21 04:28:06 +00:00
jlam
84b66b9a6b Symlink curses.h to ${BUILDLINK_PREFIX.ncurses}/include/ncurses.h so that
this works for both overwrite and pkgviews installation types.
2004-01-19 10:34:26 +00:00
cjep
ad0e1d4402 Whitespace fixes 2004-01-10 17:47:38 +00:00
jlam
1e60f2af54 Be a bit more accurate: we want to match a ".", not any character. 2004-01-10 08:40:07 +00:00
jlam
69c1fe0d3b Create ${PREFIX}/share/examples in pkgviews (NO_MTREE) case. 2004-01-07 01:16:04 +00:00
jlam
d916fe5c4e bl3ify 2004-01-05 12:48:30 +00:00