From 0ddc5d030cf280fcca8c9292ce56a1db5df85b5c Mon Sep 17 00:00:00 2001 From: pagedown Date: Sat, 24 Dec 2022 11:53:45 +0800 Subject: [PATCH 1/2] ssh kitten: Fall back to using openssl when base64 does not exist --- shell-integration/ssh/bootstrap.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/shell-integration/ssh/bootstrap.sh b/shell-integration/ssh/bootstrap.sh index 0ddf02513..d2c3f14bb 100644 --- a/shell-integration/ssh/bootstrap.sh +++ b/shell-integration/ssh/bootstrap.sh @@ -45,6 +45,9 @@ detect_perl() { if command -v base64 > /dev/null 2> /dev/null; then base64_encode() { command base64 | command tr -d \\n\\r; } base64_decode() { command base64 -d; } +elif command -v openssl > /dev/null 2> /dev/null; then + base64_encode() { command openssl enc -A -base64; } + base64_decode() { command openssl enc -d -base64; } elif command -v b64encode > /dev/null 2> /dev/null; then base64_encode() { command b64encode - | command sed '1d;$d' | command tr -d \\n\\r; } base64_decode() { command fold -w 76 | command b64decode -r; } From a8f2816ac28025ed802b080dc027fdd137a45b63 Mon Sep 17 00:00:00 2001 From: pagedown Date: Sat, 24 Dec 2022 11:53:52 +0800 Subject: [PATCH 2/2] ssh kitten: Compile terminfo with tic coming from pkgsrc under NetBSD --- shell-integration/ssh/bootstrap-utils.sh | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/shell-integration/ssh/bootstrap-utils.sh b/shell-integration/ssh/bootstrap-utils.sh index 11a4ac7df..d656439d1 100644 --- a/shell-integration/ssh/bootstrap-utils.sh +++ b/shell-integration/ssh/bootstrap-utils.sh @@ -25,7 +25,14 @@ compile_terminfo() { if [ -e "/usr/share/misc/terminfo.cdb" ]; then # NetBSD requires this file, see https://github.com/kovidgoyal/kitty/issues/4622 - command ln -sf "../../.terminfo.cdb" "$1/$tname/x/xterm-kitty" + # Also compile terminfo using tic installed via pkgsrc, + # so that programs that depend on the new version of ncurses automatically fall back to this one. + if [ -x "/usr/pkg/bin/tic" ]; then + /usr/pkg/bin/tic -x -o "$1/$tname" "$1/.terminfo/kitty.terminfo" 2>/dev/null + fi + if [ ! -e "$1/$tname/x/xterm-kitty" ]; then + command ln -sf "../../.terminfo.cdb" "$1/$tname/x/xterm-kitty" + fi tname=".terminfo.cdb" fi