Age | Commit message (Collapse) | Author | Files | Lines |
|
through PLIST_SUBST to the plist module.
|
|
we actually have libnurses in the base system.
|
|
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.
|
|
|
|
to change the name. This fixes the build on platforms which provide
"libncurses" (e.g. Mac OS X).
|
|
what we want. Instead, use another pattern to strip away lone "-l" in
BUILDLINK_LDADD.*.
|
|
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.
|
|
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.
|
|
defining BUILDLINK_LDADD.* by using a substitution instead of directly
prepending "-l".
|
|
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.
|
|
-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.
|
|
|
|
|
|
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.
|
|
|
|
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.
|
|
|
|
|
|
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.
|
|
database into ~/.terminfo, so make sure that directory exists.
|
|
|
|
Addresses PR/35387.
|
|
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?
|
|
|
|
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.
|
|
|
|
Wide character CRT screen handling and optimization package
This package brings us one step closer to fixing PR pkg/34777.
|
|
Bump PKGREVISION.
|
|
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
|
|
of the order in which buildlink3.mk files are (recursively) included
by a package Makefile.
|
|
|
|
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).
|
|
against the curses library used.
|
|
exists on the disk -- we can just check whether a variable defined by
find-files.mk is "__nonexistent__" or not.
|
|
|
|
pkgsrc work.
|
|
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
|
|
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.
|
|
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.
|
|
We rely on the tools framework to pull in a good enough awk tool.
|
|
|
|
USE_GNU_TOOLS -> USE_TOOLS
awk -> gawk
m4 -> gm4
make -> gmake
sed -> gsed
yacc -> bison
|
|
|
|
|
|
PR pkg/28480.
|
|
the non-existence of the library -- this more accurately reflects what
we want to say.
|
|
_BLNK_LIB_FOUND.<lib> to "yes" or "no" depending on whether -l<lib> is
found in the base system.
|
|
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.)
|
|
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.
|
|
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".
|