On 25/05/10 06:50PM, MLH wrote:
>
> Though it appears that the include files I need are in include/curses/
> instead of include/ncursesw/ now :
>
> cursesw.h
> panel.h
ncurses-6.5 brings a breaking change whereby widechar is enabled by
default, deprecating any use of a separate ncursesw package. [1]
Following this, pkgsrc removed devel/ncursesw in favor of a unique
devel/ncurses package.[2][3]
This also means that in order to use widechar one no longer needs to
link with `-lncursesw', but the usual `-lncurses' is enough.
Required headers are found in ${PREFIX}/include/ncurses instead
of ${PREFIX}/include/ncursesw.
Note that NetBSD provides its own curses implementation, which includes
widechar and libpanel support and is compatible with ncurses under most
circumstances.[4] The headers found in /usr/include/curses are relative
to NetBSD-curses.
libgnupanel (provided by devel/ncurses) exists in pkgsrc only to avoid
conflicts with NetBSD's native curses library (which in turn includes
a libpanel implementation with widechar support).
Pkgsrc already takes care of converting any reference to `ncurses' to
`curses' and `panel' to `gnupanel' (or viceversa), depending on the
CURSES_TYPE in use (which may as well be user-defined). This allows to
cleanly build with NetBSD curses (or pdcurses) any software explicitly
looking for ncurses, without increasing patch burden.
pkgsrc also already converts any occurrence of `ncursesw' to `ncurses'.
What it doesn't do is converting `panelw' to `panel' (hence the SUBST
hack found in devel/got Makefile). This should be fixed in future.
Check out mk/curses.buildlink3.mk and mk/curses.builtin.mk.[5][6]
You should buildlink include the first in any package using a curses
library.
You should then set USE_CURSES to specify the curses features required
by the package (e.g. USE_CURSES="getmouse chgat wide") and let pkgsrc
determine which implementation to use. If the package insists on using
ncurses (e.g. checks for ncurses.h), use FAKE_NCURSES=yes.
If the package uses ncurses features which are not provided by or not
compatible with NetBSD curses, then, and only then, you may force
ncurses by including devel/ncurses/buildlink3.mk.
See also mk/terminfo.buildlink3.mk and mk/terminfo.builtin.mk.
[1] https://invisible-island.net/ncurses/announce.html#h2-release-notes
[2] https://mail-index.netbsd.org/pkgsrc-changes/2024/05/06/msg299537.html
[3] https://mail-index.netbsd.org/pkgsrc-changes/2024/05/06/msg299540.html
[4] https://wiki.netbsd.org/curses_in_netbsd/
[5] https://github.com/NetBSD/pkgsrc/blob/trunk/mk/curses.buildlink3.mk
[6] https://github.com/NetBSD/pkgsrc/blob/trunk/mk/curses.builtin.mk
--
--
PVO
Attachment:
signature.asc
Description: PGP signature