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 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; }