diff options
author | Vaskó László <vlaci@balabit.hu> | 2018-10-20 16:06:03 +0200 |
---|---|---|
committer | Vaskó László <vlaci@balabit.hu> | 2018-10-20 20:40:54 +0200 |
commit | 1842c4aaa409e4731d355aa1f77ed817dd3939a2 (patch) | |
tree | 947d4b5b20913c4e3ab0febded34326c2207baed /pkgs/applications/misc/kitty | |
parent | ef10c808479b33683422bc08dbdd4f46bfd2cd75 (diff) | |
download | nixpkgs-1842c4aaa409e4731d355aa1f77ed817dd3939a2.tar nixpkgs-1842c4aaa409e4731d355aa1f77ed817dd3939a2.tar.gz nixpkgs-1842c4aaa409e4731d355aa1f77ed817dd3939a2.tar.bz2 nixpkgs-1842c4aaa409e4731d355aa1f77ed817dd3939a2.tar.lz nixpkgs-1842c4aaa409e4731d355aa1f77ed817dd3939a2.tar.xz nixpkgs-1842c4aaa409e4731d355aa1f77ed817dd3939a2.tar.zst nixpkgs-1842c4aaa409e4731d355aa1f77ed817dd3939a2.zip |
kitty: fix locating libstartup-notification-1
Startup notification doesn't work in recent versions of Kitty: > Traceback (most recent call last): > File "/nix/store/3a3b0xd952gp8jw70k5kh3a4zhgzf0p7-kitty-0.12.3/bin/../lib/kitty/kitty/utils.py", line 216, in init_startup_notification > return init_startup_notification_x11(window_handle, startup_id) > File "/nix/store/3a3b0xd952gp8jw70k5kh3a4zhgzf0p7-kitty-0.12.3/bin/../lib/kitty/kitty/utils.py", line 201, in init_startup_notification_x11 > return init_x11_startup_notification(display, window_handle, sid) > OSError: Failed to load libstartup-notification-1.so with error: libstartup-notification-1.so: cannot open shared object file: No such file or directory Apparently dispatching of startup notification has been moved to a C binding in kitty 0.6.0 [1] so the substituion had to be modified to reflect that. Without this fix Kitty still works except that window managers which depend on startup notifications to be fired (e.g. Awesome) cannot apply special placement rules. The substitution mechanism is also changed to use a patch file to detect this kind of mistakes in the future. [1]: https://github.com/kovidgoyal/kitty/commit/b08f4ab5937199187581aa20e3a7aba7b2a34ac6
Diffstat (limited to 'pkgs/applications/misc/kitty')
-rw-r--r-- | pkgs/applications/misc/kitty/default.nix | 14 | ||||
-rw-r--r-- | pkgs/applications/misc/kitty/fix-paths.patch | 11 |
2 files changed, 20 insertions, 5 deletions
diff --git a/pkgs/applications/misc/kitty/default.nix b/pkgs/applications/misc/kitty/default.nix index 4febac10806..2bdcd78b6e1 100644 --- a/pkgs/applications/misc/kitty/default.nix +++ b/pkgs/applications/misc/kitty/default.nix @@ -1,5 +1,5 @@ -{ stdenv, fetchFromGitHub, python3Packages, glfw, libunistring, harfbuzz, - fontconfig, pkgconfig, ncurses, imagemagick, xsel, +{ stdenv, substituteAll, fetchFromGitHub, python3Packages, glfw, libunistring, + harfbuzz, fontconfig, pkgconfig, ncurses, imagemagick, xsel, libstartup_notification, libX11, libXrandr, libXinerama, libXcursor, libxkbcommon, libXi, libXext, wayland-protocols, wayland, which, dbus @@ -28,10 +28,14 @@ buildPythonApplication rec { outputs = [ "out" "terminfo" ]; - postPatch = '' - substituteInPlace kitty/utils.py \ - --replace "find_library('startup-notification-1')" "'${libstartup_notification}/lib/libstartup-notification-1.so'" + patches = [ + (substituteAll { + src = ./fix-paths.patch; + libstartup_notification = "${libstartup_notification}/lib/libstartup-notification-1.so"; + }) + ]; + postPatch = '' substituteInPlace docs/Makefile \ --replace 'python3 .. +launch :sphinx-build' \ 'PYTHONPATH=$PYTHONPATH:.. HOME=$TMPDIR/nowhere sphinx-build' diff --git a/pkgs/applications/misc/kitty/fix-paths.patch b/pkgs/applications/misc/kitty/fix-paths.patch new file mode 100644 index 00000000000..dad6c949839 --- /dev/null +++ b/pkgs/applications/misc/kitty/fix-paths.patch @@ -0,0 +1,11 @@ +--- a/kitty/desktop.c ++++ b/kitty/desktop.c +@@ -30,7 +30,7 @@ + static PyObject* + init_x11_startup_notification(PyObject UNUSED *self, PyObject *args) { + static bool done = false; +- static const char* libname = "libstartup-notification-1.so"; ++ static const char* libname = "@libstartup_notification@"; + if (!done) { + done = true; + |