On Sat, Aug 09, 2025 at 01:22:20PM -0500, Parzival Wolfram wrote:
> Apologies for the wait, tack is proving temperamental and ncurses is
> silently refusing to build shared libraries despite being configured with
> --enable-shared. I can't find much documentation on tack's actual inner

That's --with-shared

https://invisible-island.net/ncurses/INSTALL.html#option:with-shared

...which uses a case-statement (which may/may not need work)

> workings, and it claims to be unable to find the terminal database (status =
> -1) despite being usable by other programs. (Additionally, I may have to
> submit a patch or two later, as only ncurses and tack have died on configure
> due to using case statements with non-standard parenthesis.)

(puzzled what you're testing if the configure fails...)

Actually that's POSIX standard.

https://pubs.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html#tag_02_09_04_05

The page is 2004, but I recall the feature was standardized several years
before _that_.  I've been using the feature for about ten years.

Solaris kept using an old /bin/sh

I made a script to help some people with old machines (Ultrix 4.3),
which you could use to alter the configure script.

Alternatively, you can do this:

        SHELL=/usr/xpg4/bin/sh 
        export SHELL
 
I do that in a wrapper script for Solaris 10, which runs in VirtualBox...
I recall that the console driver differs in several ways from what you're
investigating.

> On 8/1/25 7:33 PM, Thomas Dickey wrote:
> > On Fri, Aug 01, 2025 at 06:29:43PM -0500, Parzival Wolfram wrote:
> > > Are terminfo definitions still being added for/from ancient Unix flavors?
> > > I'm running Solaris 7 i86pc (i486-pc-solaris2.7) and the "AT386" terminfo
> > > file, defining the textmode shell on the physical machine, is not present 
> > > as
> > > of ncurses-6.5 (along with several other files.) Would these be 
> > > appropriate
> > > to add to ncurses, either directly from Solaris or remade based on the
> > > infocmp output? infocmp and toe do seem to parse them, both on the Solaris
> > > box and on a modern Linux machine.
> > hmm - I hadn't exactly overlooked that, so much as thinking it was out of
> > scope.  Here's what I think you're talking about, from a 1996 file from SCO:
> > 
> > --------------------------------------------------------------------------------
> > # Intel AT/386 for color card with monochrome display
> > #
> > AT386-M|at386-m|386AT-M|386at-m|at/386 console,
> >     am, bw, eo, xon, xt,
> >     cols#80, lines#25,
> >     acsc=``a1fxgqh0jYk?lZm@nEooppqDrrsstCu4vAwBx3yyzz{{||}}~~,
> >     bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[2J\E[H,
> >     cr=\r, cub=\E[%p1%dD, cub1=\E[D, cud=\E[%p1%dB,
> >     cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C,
> >     cup=\E[%i%p1%02d;%p2%02dH, cuu=\E[%p1%dA, cuu1=\E[A,
> >     dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[1M,
> >     ed=\E[J, el=\E[K, flash=^G, home=\E[H, ht=\t,
> >     ich=\E[%p1%d@, ich1=\E[1@, il=\E[%p1%dL, il1=\E[1L,
> >     ind=\E[S, indn=\E[%P1%dS, invis=\E[9m, is2=\E[0;10;38m,
> >     kbs=\b, kcbt=^], kclr=\E[2J, kcub1=\E[D, kcud1=\E[B,
> >     kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[P, kend=\E[Y,
> >     kf1=\EOP, kf10=\EOY, kf11=\EOZ, kf12=\EOA, kf2=\EOQ,
> >     kf3=\EOR, kf4=\EOS, kf5=\EOT, kf6=\EOU, kf7=\EOV,
> >     kf8=\EOW, kf9=\EOX, khome=\E[H, kich1=\E[@, knp=\E[U,
> >     kpp=\E[V, krmir=\E0, rev=\E[7m, rin=\E[S,
> >     rmacs=\E[10m, rmso=\E[m, rmul=\E[m,
> >     
> > sgr=\E[10m\E[0%?%p1%p3%|%t;7%;%?%p2%t;4%;%?%p4%t;5%;%?%p6%t;1%;%?%p9%t;12%;%?%p7%t;9%;m,
> >     sgr0=\E[0;10m, smacs=\E[12m, smso=\E[7m, smul=\E[4m,
> > #
> > # AT&T 386 color console
> > #
> > AT386|at386|386AT|386at|at/386 console,
> >     colors#8, ncv#3, pairs#64,
> >     is2=\E[0;10;39m,
> >     op=\E[0m,
> >     setb=\E[%?%p1%{0}%=%t40m
> >                  %e%p1%{1}%=%t44m
> >                  %e%p1%{2}%=%t42m
> >                  %e%p1%{3}%=%t46m
> >                  %e%p1%{4}%=%t41m
> >                  %e%p1%{5}%=%t45m
> >                  %e%p1%{6}%=%t43m
> >                  %e%p1%{7}%=%t47m%;,
> >     setf=\E[%?%p1%{0}%=%t30m
> >                  %e%p1%{1}%=%t34m
> >                  %e%p1%{2}%=%t32m
> >                  %e%p1%{3}%=%t36m
> >                  %e%p1%{4}%=%t31m
> >                  %e%p1%{5}%=%t35m
> >                  %e%p1%{6}%=%t33m
> >                  %e%p1%{6}%=%t33m
> >                  %e%p1%{7}%=%t37m%;,
> >     use=at386-m,
> > --------------------------------------------------------------------------------
> > 
> > Mostly I'm interested in things that can be validated.
> > 
> > https://invisible-island.net/ncurses/ncurses.faq.html#dbupdate
> > 
> > It's possible that you have found an overlooked terminal description
> > which is
> >     (a) supported by a (working) terminal emulator and
> >     (b) you can find a manual to cross-check the behavior
> > 
> > But I see some problems to investigate, e.g., indn/rin are using "%P1" for
> > one ("%p1" is expected), and omitting the parameter in the other.  A later
> > file from Solaris fixes the "%P1" typo, but still doesn't provide a 
> > plausible
> > value for rin.
> > 
> > I'd actually expect rin to be as in ecma+index, but might be persuaded
> > otherwise, given a detailed manual:
> > 
> > # ECMA-48 does not include the VT100 indexing and scroll-margins.  It has 
> > its
> > # own variation.
> > ecma+index|ECMA-48 scroll up/down,
> >     indn=\E[%p1%dS, rin=\E[%p1%dT,
> > 
> > ...bitsavers doesn't appear to have any useful AT&T terminal manuals.
> > Testing the machine's an option (though getting tack to run on Solaris 7
> > might be challenging).
> > 
> > --------------------------------------------------------------------------------
> > tic6: sorting by terminfo name order
> > tic6: width = 60, tversion = 0, outform = 0
> > "/tmp/at386.ti", line 3, terminal 'AT386-M': indn uses 0 parameters, 
> > expected 1
> > "/tmp/at386.ti", line 3, terminal 'AT386-M': rin uses 0 parameters, 
> > expected 1
> > "/tmp/at386.ti", line 3, terminal 'AT386-M': checking sgr(none) 
> > "\e[10m\e[0m"
> >     compare to "\e[0;10m"
> >     unmatched "10m"
> > "/tmp/at386.ti", line 3, terminal 'AT386-M': exit_attribute_mode differs 
> > from sgr(0)
> >     exit_attribute_mode="\e[0;10m"
> >     sgr(0)="\e[10m\e[0m"
> > "/tmp/at386.ti", line 3, terminal 'AT386-M': exit_standout_mode matches 
> > exit_attribute_mode
> > "/tmp/at386.ti", line 3, terminal 'AT386-M': exit_underline_mode matches 
> > exit_attribute_mode
> > "/tmp/at386.ti", line 27, terminal 'AT386': indn uses 0 parameters, 
> > expected 1
> > "/tmp/at386.ti", line 27, terminal 'AT386': rin uses 0 parameters, expected 
> > 1
> > "/tmp/at386.ti", line 27, terminal 'AT386': checking sgr(none) "\e[10m\e[0m"
> >     compare to "\e[0;10m"
> >     unmatched "10m"
> > "/tmp/at386.ti", line 27, terminal 'AT386': exit_attribute_mode differs 
> > from sgr(0)
> >     exit_attribute_mode="\e[0;10m"
> >     sgr(0)="\e[10m\e[0m"
> > "/tmp/at386.ti", line 27, terminal 'AT386': exit_standout_mode matches 
> > exit_attribute_mode
> > "/tmp/at386.ti", line 27, terminal 'AT386': exit_underline_mode matches 
> > exit_attribute_mode
> > 
> 

-- 
Thomas E. Dickey <[email protected]>
https://invisible-island.net

Attachment: signature.asc
Description: PGP signature

Reply via email to