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".
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.
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.
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.
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.
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.
(and manpages). This is in regards to my PR #23103.
I bumped PKGREVISION in Makefile but not in buildlink2.mk file.
The ncurses libraries and headers didn't change. No need to bump
PKGREVISIONs for all the packages that depend on libncurses.
curses.buildlink2.mk. This was wrong because we _really_ do want to
express that we want _n_curses when we include the buildlink2.mk file.
We should have a better way to say that the NetBSD curses doesn't
quite work well enough. In fact, it's far better to depend on ncurses
by default, and exceptionally note when it's okay to use NetBSD curses
for specific packages. We will look into this again in the future.
Interface changes:
* change type for bool used in headers to NCURSES_BOOL, which usually is the same as the
compiler's definition for bool.
* add all but two functions for X/Open curses wide-character support. These are only
available if the library is configured using the --enable-widec option. Missing functions
are
* pecho_wchar()
* slk_wset()
* add environment variable $NCURSES_ASSUMED_COLORS to modify the assume_default_colors()
extension.
New features and improvements:
* Improved support for termcap applications:
* add logic to dump_entry.c to remove function-key definitions that do not fit into the
1023-byte limit for generated termcaps. This makes hds200 fit.
* modify tgetent() to check if exit_attribute_mode resets the alternate character set,
and if so, attempt to adjust the copy of the termcap "me" string which it will return
to eliminate that part. In particular, 'screen' would lose track of line-drawing
characters.
* add check/fix to comp_parse.c to suppress warning about missing acsc string. This
happens in configurations where raw termcap information is processed; tic already
does this and other checks.
* add tic -A option to suppress capabilities which are commented out when translating
to termcap.
* modify logic in lib_baudrate.c for ospeed, for FreeBSD to make it work properly for
termcap applications (patch by Andrey A Chernov).
* add a call to _nc_keypad() in keypad() to accommodate applications such as nvi, which use
curses for output but not for input (fixes Debian #131263, cf: 20011215).
* correct logic for COLORFGBG environment variable: if rxvt is compiled with xpm support,
the variable has three fields, making it slightly incompatible with itself. In either
case, the background color is the last field.
Major bug fixes:
* rewrote limit-checks in wscrl() and associated _nc_scroll_window(), to ensure that if the
parameter of wscrl() is larger than the size of the scrolling region, then the scrolling
region will be cleared.
* modify tset to restore original I/O modes if an error is encountered. Also modify to use
buffered stderr consistently rather than mixing with write().
* move calls to def_shell_mode() and def_prog_mode() before loop with callbacks in
lib_set_term.c, since the c++ demo otherwise initialized the tty modes before saving them.
* modified wresize() to ensure that a failed realloc will not corrupt the window structure,
and to make subwindows fit within the resized window.
* altered resizeterm() to avoid having it fail when a child window cannot be resized because
it would be larger than its parent.
* correct/improve logic to produce an exit status for errors in tput, which did not exit
with an error when told to put a string not in the current terminfo entry.
* modify behavior of can_clear_with() so that if an application is running in a non-bce
terminals with default colors enabled, it returns true, allowing the user to select/paste
text without picking up extraneous trailing blanks.
* add a check in relative_move() to guard against buffer overflow in the overwrite logic.
* add some limit/pointer checks to -S option of tputs.
* modify mvcur() to avoid emitting newline characters when nonl() mode is set. Normally this
is not a problem since the actual terminal mode is set to suppress nl/crlf translations,
however it is useful to allow the caller to manipulate the terminal mode to avoid
staircasing effects after spawning a process which writes messages (for lynx 2.8.4).
Portability:
* configure script:
* modify check in --disable-overwrite option so that it is used by default unless the
--prefix/$prefix value is not /usr, in attempt to work around packagers who do not
read the INSTALL notes.
* correct a typo in configure --enable-colorfgbg option, and move it to the
experimental section (cf: 20011208).
* modify configure script to allow building with termcap only, or with fallbacks only.
In this case, we do not build tic and toe.
* modify run_tic.sh to check if the build is a cross-compile. In that case, do not use
the build's tic to install the terminfo database.
* modify c++/Makefile.in to accommodate archive programs that are different for C++
than for C, and add cases for vendor's C++ compilers on Solaris and IRIX.
* add several configure script options to aid with cross-compiling: --with-build-cc,
--with-build-cflags, --with-build-ldflags, and --with-build-libs.
* add experimental --with-caps=XXX option to customize to similar terminfo database
formats such as AIX 4.x
* add configure option --with-ospeed to assist packagers in transition to 5.3 change to
ospeed type.
* library:
* implement a simple vsscanf() fallback function which uses the %n conversion to help
parse the input data.
* various fixes to build/work with different implementations of vsscanf().
* add/use macro to suppress sign-extension of char type on platforms where this is a
problem in ctype macros, e.g., Solaris.
* finish changes needed to build dll's on cygwin.
* add #undef's before possible redefinition of ERR and OK in curses.h
* programs:
* modify ifdef's in write_entry.c to allow use of symbolic links on platforms with no
hard links, e.g., BeOS.
* modify _nc_write_entry() to allow for the possibility that linking aliases on a
filesystem that ignores case would not succeed because the source and destination
differ only by case, e.g., NCR260VT300WPP0 on cygwin.
* modify logic in tic, toe, tput and tset which checks for basename of argv[0] to work
properly on systems such as OS/2 which have case-independent filenames and/or program
suffixes, e.g., ".ext".
buildlink2.mk files back into the main trunk. This provides sufficient
buildlink2 infrastructure to start merging other packages from the
buildlink2 branch that have already been converted to use the buildlink2
framework.
software instead of any base system version. This match is probably too
broad, but better to err on the safe side. We can narrow down the match
when we have better information.
Closes pkg/17775 by Julien T. Letessier <julien.letessier at sun dot com>.
INCOMPAT_GETTEXT that are analogous to INCOMPAT_ICONV and contain lists of
shell wildcards intended to match against ${MACHINE_PLATFORM}. These
variables are used to note those platforms that have the named packages in
the base system but are incompatible in some way from the pkgsrc version
of the same package. Change INCOMPAT_CURSES to have the same sematics as
above. These variables allow much greater precision in specifying which
platforms have broken (for the purposes of pkgsrc) versions of software in
the base system that must be ignored.
The buildlink.mk files for these packages define private _INCOMPAT_*
versions of these variables, and they contain the default lists of
platforms that are known to have incompatible software bits.
This addresses pkg/17775 submitted by Julien T. Letessier
<julien.letessier at sun dot com>.
bsd.pkg.mk. buildlink.mk files never need to add rpaths to LDFLAGS unless
a package installs libraries in some place other than ${PREFIX}/lib, e.g.
mysql-client, qt2-libs.
when you encounter libncurses, turn it into libcurses, and likewise when
you encounter ncurses.h, turn it into curses.h.
Makes mtr work on a 1.5.2 shark.
BUILDLINK_PREFIX.<pkgname>. This allows buildlink to find X11BASE packages
regardless of whether they were installed before or after xpkgwedge was
installed. Idea by Alistair Crooks <agc@pkgsrc.org>.
name as real ncurses headers. This is to prevent accidentally resolving
something like <include/term.h> into ${LOCALBASE}/include/term.h if the
compiler is passed "-I${BUILDLINK_DIR}/include -I${LOCALBASE}/include".
FOO_REQD=1.0 being converted to foo>=1.0, one can now directly specify
the dependency pattern as FOO_DEPENDS=foo>=1.0. This allows things like
JPEG_DEPENDS=jpeg-6b, or fancier expressions like for postgresql-lib.
Change existing FOO_REQD definitions in Makefiles to FOO_DEPENDS.
ncurses libraries and headers into ${BUILDLINK_DIR}, or if a sufficiently
advanced curses is available in-system, then it links the curses libraries
and headers into ${BUILDLINK_DIR} with ncurses names. This allows us to
consistently reference "ncurses" capability via <ncurses.h> and -lncurses.
into LDFLAGS. This makes building of ncurses on a system already having
ncurses installed possible. This is just another chapter of the continuing
buildlink saga.
needed for the xerces-p package, but ended up not being necessary. By
removing this hack, we reduce the number of places in pkgsrc where we depend
upon libtool internals.
out of date - it was based on a.out OBJECT_FMT, and added entries in the
generated PLISTs to reflect the symlinks that ELF packages uses. It also
tried to be clever, and removed and recreated any symbolic links that were
created, which has resulted in some fun, especially with packages which
use dlopen(3) to load modules. Some recent changes to our ld.so to bring
it more into line with other Operating Systems also exposed some cracks.
+ Modify bsd.pkg.mk and its shared object handling, so that PLISTs now contain
the ELF symlinks.
+ Don't mess about with file system entries when handling shared objects in
bsd.pkg.mk, since it's likely that libtool and the BSD *.mk processing will
have got it right, and have a much better idea than we do.
+ Modify PLISTs to contain "ELF symlinks"
+ On a.out platforms, delete any "ELF symlinks" from the generated PLISTs
+ On ELF platforms, no extra processing needs to be done in bsd.pkg.mk
+ Modify print-PLIST target in bsd.pkg.mk to add dummy symlink entries on
a.out platforms
+ Update the documentation in Packages.txt
With many thanks to Thomas Klausner for keeping me honest with this.