`infocmp` from ncurses is used at run time. Without it, in a
pure shell:
```
copying runtime jar...
[info] [launcher] getting org.scala-sbt sbt 1.10.0 (this may take some time)...
[info] [launcher] getting Scala 2.12.19 (for sbt)...
May 29, 2024 9:59:01 AM org.jline.utils.Log logr
WARNING: Unable to retrieve infocmp for type xterm-kitty
java.io.IOException: Cannot run program "infocmp": error=2, No such file or directory
at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1170)
at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1089)
at org.jline.utils.InfoCmp.getInfoCmp(InfoCmp.java:544)
at org.jline.terminal.impl.AbstractTerminal.parseInfoCmp(AbstractTerminal.java:207)
at org.jline.terminal.impl.PosixSysTerminal.<init>(PosixSysTerminal.java:46)
at org.jline.terminal.impl.exec.ExecTerminalProvider.posixSysTerminal(ExecTerminalProvider.java:100)
at org.jline.terminal.impl.exec.ExecTerminalProvider.sysTerminal(ExecTerminalProvider.java:66)
at org.jline.terminal.TerminalBuilder.doBuild(TerminalBuilder.java:428)
at org.jline.terminal.TerminalBuilder.build(TerminalBuilder.java:362)
at sbt.internal.util.JLine3$.system(JLine3.scala:64)
at sbt.internal.util.Terminal$.newConsoleTerminal(Terminal.scala:805)
at sbt.internal.util.Terminal$.withStreams(Terminal.scala:386)
at sbt.xMain$.withStreams$1(Main.scala:88)
at sbt.xMain$.run(Main.scala:123)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at sbt.internal.XMainConfiguration.run(XMainConfiguration.java:59)
at sbt.xMain.run(Main.scala:47)
at xsbt.boot.Launch$.$anonfun$run$1(Launch.scala:149)
at xsbt.boot.Launch$.withContextLoader(Launch.scala:176)
at xsbt.boot.Launch$.run(Launch.scala:149)
at xsbt.boot.Launch$.$anonfun$apply$1(Launch.scala:44)
at xsbt.boot.Launch$.launch(Launch.scala:159)
at xsbt.boot.Launch$.apply(Launch.scala:44)
at xsbt.boot.Launch$.apply(Launch.scala:21)
at xsbt.boot.Boot$.runImpl(Boot.scala:78)
at xsbt.boot.Boot$.run(Boot.scala:73)
at xsbt.boot.Boot$.main(Boot.scala:21)
at xsbt.boot.Boot.main(Boot.scala)
Caused by: java.io.IOException: error=2, No such file or directory
at java.base/java.lang.ProcessImpl.forkAndExec(Native Method)
at java.base/java.lang.ProcessImpl.<init>(ProcessImpl.java:295)
at java.base/java.lang.ProcessImpl.start(ProcessImpl.java:225)
at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1126)
... 28 more
```