Merge pull request #191899 from Luflosi/update/kitty

This commit is contained in:
Bernardo Meurer 2022-10-03 22:42:17 -03:00 committed by GitHub
commit de80d1d04e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 33 additions and 16 deletions

View file

@ -4,6 +4,7 @@
, libxkbcommon, libXi, libXext, wayland-protocols, wayland , libxkbcommon, libXi, libXext, wayland-protocols, wayland
, lcms2 , lcms2
, librsync , librsync
, openssl
, installShellFiles , installShellFiles
, dbus , dbus
, darwin , darwin
@ -27,14 +28,14 @@
with python3Packages; with python3Packages;
buildPythonApplication rec { buildPythonApplication rec {
pname = "kitty"; pname = "kitty";
version = "0.25.2"; version = "0.26.2";
format = "other"; format = "other";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "kovidgoyal"; owner = "kovidgoyal";
repo = "kitty"; repo = "kitty";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-o/vVz1lPfsgkzbYjYhIrScCAROmVdiPsNwjW/m5n7Us="; sha256 = "sha256-IqXRkKzOfqWolH/534nmM2R/69olhFOk6wbbF4ifRd0=";
}; };
buildInputs = [ buildInputs = [
@ -42,6 +43,7 @@ buildPythonApplication rec {
ncurses ncurses
lcms2 lcms2
librsync librsync
openssl.dev
] ++ lib.optionals stdenv.isDarwin [ ] ++ lib.optionals stdenv.isDarwin [
Cocoa Cocoa
CoreGraphics CoreGraphics
@ -77,6 +79,9 @@ buildPythonApplication rec {
outputs = [ "out" "terminfo" "shell_integration" ]; outputs = [ "out" "terminfo" "shell_integration" ];
patches = [ patches = [
# Gets `test_ssh_env_vars` to pass when `bzip2` is in the output of `env`.
./fix-test_ssh_env_vars.patch
# Needed on darwin # Needed on darwin
# Gets `test_ssh_shell_integration` to pass for `zsh` when `compinit` complains about # Gets `test_ssh_shell_integration` to pass for `zsh` when `compinit` complains about
@ -98,14 +103,18 @@ buildPythonApplication rec {
--update-check-interval=0 \ --update-check-interval=0 \
--shell-integration=enabled\ no-rc --shell-integration=enabled\ no-rc
''; '';
darwinOptions = ''
--disable-link-time-optimization \
${commonOptions}
'';
in '' in ''
runHook preBuild runHook preBuild
${if stdenv.isDarwin then '' ${if stdenv.isDarwin then ''
${python.interpreter} setup.py kitty.app \ ${python.interpreter} setup.py build ${darwinOptions}
--disable-link-time-optimization \ make docs
${commonOptions} ${python.interpreter} setup.py kitty.app ${darwinOptions}
make man
'' else '' '' else ''
${python.interpreter} setup.py build-launcher
${python.interpreter} setup.py linux-package \ ${python.interpreter} setup.py linux-package \
--egl-library='${lib.getLib libGL}/lib/libEGL.so.1' \ --egl-library='${lib.getLib libGL}/lib/libEGL.so.1' \
--startup-notification-library='${libstartup_notification}/lib/libstartup-notification-1.so' \ --startup-notification-library='${libstartup_notification}/lib/libstartup-notification-1.so' \
@ -126,7 +135,7 @@ buildPythonApplication rec {
]; ];
# skip failing tests due to darwin sandbox # skip failing tests due to darwin sandbox
preCheck = if stdenv.isDarwin then '' preCheck = lib.optionalString stdenv.isDarwin ''
substituteInPlace kitty_tests/file_transmission.py \ substituteInPlace kitty_tests/file_transmission.py \
--replace test_file_get dont_test_file_get \ --replace test_file_get dont_test_file_get \
--replace test_path_mapping_receive dont_test_path_mapping_receive --replace test_path_mapping_receive dont_test_path_mapping_receive
@ -138,15 +147,9 @@ buildPythonApplication rec {
--replace test_ssh_connection_data dont_test_ssh_connection_data --replace test_ssh_connection_data dont_test_ssh_connection_data
substituteInPlace kitty_tests/fonts.py \ substituteInPlace kitty_tests/fonts.py \
--replace 'class Rendering(BaseTest)' 'class Rendering' --replace 'class Rendering(BaseTest)' 'class Rendering'
'' else ""; '';
checkPhase = checkPhase = ''
let buildBinPath =
if stdenv.isDarwin
then "kitty.app/Contents/MacOS"
else "linux-package/bin";
in
''
runHook preCheck runHook preCheck
# Fontconfig error: Cannot load default config file: No such file: (null) # Fontconfig error: Cannot load default config file: No such file: (null)
@ -155,7 +158,8 @@ buildPythonApplication rec {
# Required for `test_ssh_shell_integration` to pass. # Required for `test_ssh_shell_integration` to pass.
export TERM=kitty export TERM=kitty
env PATH="${buildBinPath}:$PATH" ${python.interpreter} test.py make test
runHook postCheck
''; '';
installPhase = '' installPhase = ''

View file

@ -0,0 +1,13 @@
diff --git a/kitty_tests/ssh.py b/kitty_tests/ssh.py
index 7b3bdbeb..710aeceb 100644
--- a/kitty_tests/ssh.py
+++ b/kitty_tests/ssh.py
@@ -272,8 +272,6 @@ def check_bootstrap(self, sh, home_dir, login_shell='', SHELL_INTEGRATION_VALUE=
def check_untar_or_fail():
q = pty.screen_contents()
- if 'bzip2' in q:
- raise ValueError('Untarring failed with screen contents:\n' + q)
return 'UNTAR_DONE' in q
pty.wait_till(check_untar_or_fail)
self.assertTrue(os.path.exists(os.path.join(home_dir, '.terminfo/kitty.terminfo')))