Date: Wednesday, November 21, 2018 @ 14:06:07 Author: heftig Revision: 409273
0.3.1-2: Add a crash fix for deoplete Modified: neovim/trunk/PKGBUILD Deleted: neovim/trunk/3a5721e91ba890718319213154ba6964c9dca4d2.patch ------------------------------------------------+ 3a5721e91ba890718319213154ba6964c9dca4d2.patch | 41 ----------------------- PKGBUILD | 23 +++++++++--- 2 files changed, 17 insertions(+), 47 deletions(-) Deleted: 3a5721e91ba890718319213154ba6964c9dca4d2.patch =================================================================== --- 3a5721e91ba890718319213154ba6964c9dca4d2.patch 2018-11-21 13:56:29 UTC (rev 409272) +++ 3a5721e91ba890718319213154ba6964c9dca4d2.patch 2018-11-21 14:06:07 UTC (rev 409273) @@ -1,41 +0,0 @@ -From 3a5721e91ba890718319213154ba6964c9dca4d2 Mon Sep 17 00:00:00 2001 -From: Chih-Hsuan Yen <[email protected]> -Date: Mon, 29 Jan 2018 22:47:25 +0800 -Subject: [PATCH] tui: libtermkey: force CSI driver for mouse input #7948 - -Fixes #7932 - -Nvim (tui.c) always enables SGR mouse (TUIData.unibi_ext.enable_mouse). -But if libtermkey sees key_mouse (kmous) in terminfo its terminfo driver -(driver-ti.c) will be activated, which by accident only supports X10 -protocol. The libtermkey CSI driver (driver-csi.c), in contrast, -supports SGR. - -We can force libtermkey to ignore the terminfo key_mouse entry by -returning NULL in the tui_tk_ti_getstr hook. That forces the CSI driver. - -What is the effect of returning NULL from `tui_tk_ti_getstr()`? -- libtermkey `driver-ti.c:load_terminfo()` skips the entry. -- `termkey.c:peekkey()` iterates through all drivers, it finds - `TERMKEY_RES_NONE` for the ti driver and falls back to the CSI driver. ---- - src/nvim/tui/tui.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/src/nvim/tui/tui.c b/src/nvim/tui/tui.c -index 2dfe7faa04c..70e19e1d932 100644 ---- a/src/nvim/tui/tui.c -+++ b/src/nvim/tui/tui.c -@@ -1813,6 +1813,12 @@ static const char *tui_tk_ti_getstr(const char *name, const char *value, - if (value != NULL && strequal(stty_erase, value)) { - return stty_erase[0] == DEL ? CTRL_H_STR : DEL_STR; - } -+ } else if (strequal(name, "key_mouse")) { -+ DLOG("libtermkey:kmous=%s", value); -+ // If key_mouse is found, libtermkey uses its terminfo driver (driver-ti.c) -+ // for mouse input, which by accident only supports X10 protocol. -+ // Force libtermkey to fallback to its CSI driver (driver-csi.c). #7948 -+ return NULL; - } - - return value; Modified: PKGBUILD =================================================================== --- PKGBUILD 2018-11-21 13:56:29 UTC (rev 409272) +++ PKGBUILD 2018-11-21 14:06:07 UTC (rev 409273) @@ -4,30 +4,40 @@ pkgname=neovim pkgver=0.3.1 -pkgrel=1 +pkgrel=2 pkgdesc='Fork of Vim aiming to improve user experience, plugins, and GUIs' arch=('x86_64') url='https://neovim.io' license=('custom:neovim') depends=('jemalloc' 'libtermkey' 'libuv' 'msgpack-c' 'unibilium' 'libvterm' 'luajit') -makedepends=('cmake' 'lua51-mpack' 'lua51-lpeg' 'gperf') +makedepends=('cmake' 'ninja' 'lua51-mpack' 'lua51-lpeg' 'gperf') optdepends=('python2-neovim: for Python 2 plugin support (see :help python)' 'python-neovim: for Python 3 plugin support (see :help python)' 'xclip: for clipboard support (or xsel) (see :help clipboard)' 'xsel: for clipboard support (or xclip) (see :help clipboard)') -source=(https://github.com/neovim/neovim/archive/v${pkgver}.tar.gz) -sha512sums=('42c541608509dc0335203ee1c008045f0eaeebce8e18dffc554ab22a029da700bba9b8c721bd9d68337ddb4a56f8cf034fad2a3eb88d36baf8295e6648fce506') +source=(https://github.com/neovim/neovim/archive/v${pkgver}.tar.gz + https://github.com/neovim/neovim/pull/8859/commits/4a46ab8de9a9a9aee36546740c45b9e65a9e7dc9.patch) +sha512sums=('42c541608509dc0335203ee1c008045f0eaeebce8e18dffc554ab22a029da700bba9b8c721bd9d68337ddb4a56f8cf034fad2a3eb88d36baf8295e6648fce506' + '2b6bec34006995ed4b682b3fdef260935a6cc0857b41304571adb36d911f2597624c298d4375aa9ac9115733918f61d51c1cbd0de5799680ffff36b0d6219ded') install=neovim.install +prepare() { + cd "${srcdir}/neovim-${pkgver}" + + # https://github.com/neovim/neovim/issues/6023 + patch -Np1 -i ../4a46ab8de9a9a9aee36546740c45b9e65a9e7dc9.patch +} + build() { mkdir -p "${srcdir}/build" cd "${srcdir}/build" cmake "../neovim-${pkgver}" \ + -G Ninja \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=/usr \ -DENABLE_JEMALLOC=ON - make + cmake --build . } check() { @@ -38,7 +48,8 @@ package() { cd "${srcdir}/build" - make DESTDIR="${pkgdir}" install + DESTDIR="${pkgdir}" cmake --build . --target install + cd "${srcdir}/neovim-${pkgver}" install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" install -Dm644 runtime/nvim.desktop "${pkgdir}/usr/share/applications/nvim.desktop"
