On Wed, Apr 19, 2023 at 08:20:40PM +0200, Sven Joachim wrote: > On 2023-04-17 17:09 -0700, Steve Langasek wrote: > > > Package: libncurses-dev > > Version: 6.4-2 > > Severity: normal > > > > The libncurses-dev package ships several header files that can't be > > compiled, because they depend on ncurses_cfg.h which is not available. > > > > $ grep -rl ncurses_cfg /usr/include/ > > /usr/include/tic.h > > /usr/include/curses.h > > /usr/include/nc_tparm.h > > $ > > The curses.h file is a false positive, as ncurses_cfg.h is only > mentioned inside a comment: > > ,---- > | $ grep -A2 -B1 ncurses_cfg /usr/include/curses.h > | /* > | * We cannot define these in ncurses_cfg.h, since they require parameters > to be > | * passed (that is non-portable). > | */ > `---- > > The other two files indeed #include the non-existent ncurses_cfg.h file. > Perhaps surprisingly, this is actually done on purpose, as mentioned in > the upstream NEWS file: > > ,---- > | 20170722 > | + add dependency upon ncurses_cfg.h to tic's header-files; any program > | using tic-library will have to supply this file. Legacy tack > | versions supply this file; ongoing tack development has dropped the > | dependency upon tic-library and new releases will not be affected. > `----
yes... before I revised it in 2017 - https://invisible-island.net/ncurses/tack/CHANGES.html#t20170318 tack used internal entrypoints of ncurses, which I eliminated. Version 1.07 and earlier do that, and could be built within ncurses' source-tree (to get at those headers). The current versions of tack use only term_entry.h, which is needed to provide its editable-terminfo feature. While repology lists some older versions, I don't see a need to continue the support for those. https://repology.org/project/tack/versions Those headers would be needed if there were some application using "ticlib", but that doesn't build if we have ncurses+tinfo, so there aren't any users. > Supplying an empty ncurses_cfg.h file might be sufficient for your > purposes, but I don't know what these are. It would supply values for the #if statements: tic.h #if NCURSES_EXT_COLORS && HAVE_INIT_EXTENDED_COLOR #if HAVE_LONG_FILE_NAMES #ifdef TRACE #ifndef TERMINFO #ifdef NCURSES_INTERNALS #if BROKEN_LINKER nc_tparm.h #ifndef NC_TPARM_included #ifndef TPARM_ARG #ifdef NCURSES_TPARM_ARG #if NCURSES_TPARM_VARARGS #ifdef NCURSES_INTERNALS term_entry.h has a few (and tack's configure-script sets them as needed): #ifdef NCURSES_INTERNALS #if NCURSES_USE_DATABASE #if NCURSES_USE_TERMCAP #if NCURSES_XNAMES -- Thomas E. Dickey <dic...@invisible-island.net> https://invisible-island.net
signature.asc
Description: PGP signature