Subject: Re: bug#64577: 29.0.92; configure on NetBSD forces unstable terminfo library
From: Eli Zaretskii <[email-masked]>
To: Valtteri Vuorikoski <[email-masked]>
Cc: [email-masked]
Date: Sat, 15 Jul 2023 11:17:13 +0300
List-Id: <debbugs-submit.debbugs.gnu.org>

> Date: Thu, 13 Jul 2023 12:35:51 +0300
> From: Valtteri Vuorikoski <[email-masked]>
> Cc: [email-masked]
> 
> > I don't mind installing the above instead of my proposal, thanks.
> 
> Great. I looked at NetBSD 5.1 sources and expanded the check somewhat:
> 
> --- a/configure.ac
> +++ b/configure.ac
> @@ -5212,7 +5212,11 @@ AC_DEFUN
>      ;;
> 
>    netbsd)
> -    if test "x$LIBS_TERMCAP" != "x-lterminfo"; then
> +    # NetBSD versions prior to 6.0 lack native terminfo, but have a
> +    # tputs() built on top of termcap in these libraries. Use native
> +    # termcap instead in this case. NetBSD >= 6.0 has native terminfo
> +    # implementation in -lterminfo.
> +    if test "x$LIBS_TERMCAP" = "x-ltermcap" -o "x$LIBS_TERMCAP" = "x-lcurses"; then
>        TERMINFO=no
>        LIBS_TERMCAP="-ltermcap"
>      fi
> 
> On 5.1 and older (no ncurses installed), configure's scan through
> tputs_libraries matches either -ltermcap or -lcurses (both seem to
> include tputs() in 5.1, but situation may differ in older versions),
> but this will be termcap under the hood. Therefore force TERMINFO=no
> and also force -ltermcap (as before) to avoid pulling in curses
> unnecessarily.
> 
> On 6.0 and newer (again no ncurses) the order of tputs_libraries
> should always cause -lterminfo to match first, so the branch will not
> be taken and TERMINFO stays enabled.
> 
> Installing ncurses should now enable full terminfo support on any
> version.
> 
> Tested on 9.3 with and without ncurses installed and the result is
> full functionality with TERM=xterm-256color.

Thanks, installed on the emacs-29 branch, and closing the bug.