pkgsrc-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

pkg/59432: devel/libslang is broken



>Number:         59432
>Category:       pkg
>Synopsis:       devel/libslang is broken
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun May 18 09:10:00 +0000 2025
>Originator:     RVP
>Release:        pkgsrc-2025Q1
>Organization:
>Environment:
NetBSD/amd64 10.99.12
>Description:
sysutils/mc is broken in various ways because devel/libslang is
broken. I noticed, at least, these issues with the mc binary from
pkgsrc-2025Q1:

1. In xterm, many keys (arrow, tab, Fn) are not recognized.

2. mc doesn't work on the console because it doesn't recognize
   TERM=wsvt25 as a valid term-type.

This is due to libslang-2.3.3 itself being quite broken as follows:

1. To read the terminal capabilities, libslang uses either,
   a) its own routines; or,
   b) (only) the termcap(3) functions (tget*()).

2. For case a), libslang code assumes that the terminfo database files
   have,
   a) been created using ncurses's tic(1); and,
   b) ncurses's directory structure for where these files live.

NetBSD has its own curses library with a different DB format, so
only termcap(3) routines can be used here.

Systems using ncurses as their curses library just need the correct
path to its DB files.
>How-To-Repeat:
Run mc(1). Try the arrow keys.
>Fix:
On NetBSD, force use of libtermcap (env LDFLAGS=-ltermcap ./configure),
and get rid of the `if false; then' addition in this patch:

http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/devel/libslang/patches/patch-configure?rev=1.1

On systems with the ncurses terminfo DB files (no need for the library
itself), set the correct path to the DB files using:

CONFIGURE_ENV+= MISC_TERMINFO_DIRS=/some/path/terminfo

You don't need to set `MISC_TERMINFO_DIRS' on NetBSD (but, it's harmless
if set).



Home | Main Index | Thread Index | Old Index