Merge pull request #191899 from Luflosi/update/kitty
This commit is contained in:
commit
de80d1d04e
2 changed files with 33 additions and 16 deletions
|
@ -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 = ''
|
||||||
|
|
|
@ -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')))
|
Loading…
Reference in a new issue