[arch-commits] Commit in neovim/repos (4 files)

Baptiste Jonglez zorun at archlinux.org
Sat May 12 01:03:27 UTC 2018


    Date: Saturday, May 12, 2018 @ 01:03:27
  Author: zorun
Revision: 320926

archrelease: copy trunk to community-staging-x86_64

Added:
  neovim/repos/community-staging-x86_64/
  neovim/repos/community-staging-x86_64/3a5721e91ba890718319213154ba6964c9dca4d2.patch
    (from rev 320925, neovim/trunk/3a5721e91ba890718319213154ba6964c9dca4d2.patch)
  neovim/repos/community-staging-x86_64/PKGBUILD
    (from rev 320925, neovim/trunk/PKGBUILD)
  neovim/repos/community-staging-x86_64/neovim.install
    (from rev 320925, neovim/trunk/neovim.install)

------------------------------------------------+
 3a5721e91ba890718319213154ba6964c9dca4d2.patch |   41 +++++++++++++++
 PKGBUILD                                       |   60 +++++++++++++++++++++++
 neovim.install                                 |   10 +++
 3 files changed, 111 insertions(+)

Copied: neovim/repos/community-staging-x86_64/3a5721e91ba890718319213154ba6964c9dca4d2.patch (from rev 320925, neovim/trunk/3a5721e91ba890718319213154ba6964c9dca4d2.patch)
===================================================================
--- community-staging-x86_64/3a5721e91ba890718319213154ba6964c9dca4d2.patch	                        (rev 0)
+++ community-staging-x86_64/3a5721e91ba890718319213154ba6964c9dca4d2.patch	2018-05-12 01:03:27 UTC (rev 320926)
@@ -0,0 +1,41 @@
+From 3a5721e91ba890718319213154ba6964c9dca4d2 Mon Sep 17 00:00:00 2001
+From: Chih-Hsuan Yen <yan12125 at gmail.com>
+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;

Copied: neovim/repos/community-staging-x86_64/PKGBUILD (from rev 320925, neovim/trunk/PKGBUILD)
===================================================================
--- community-staging-x86_64/PKGBUILD	                        (rev 0)
+++ community-staging-x86_64/PKGBUILD	2018-05-12 01:03:27 UTC (rev 320926)
@@ -0,0 +1,60 @@
+# Maintainer: Sven-Hendrik Haase <sh at lutzhaase.com>
+# Contributor: Florian Walch <florian+aur at fwalch.com>
+# Contributor: Florian Hahn <flo at fhahn.com>
+
+pkgname=neovim
+pkgver=0.2.2
+pkgrel=6
+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')
+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
+        3a5721e91ba890718319213154ba6964c9dca4d2.patch)
+sha512sums=('5609defe86ac98356f1b9ae9adc6049bb4df920a9a2ae3104f761d52d4dd54cbc84d2596231595dd9b0aa97201fef2121e6c5c86a19267ab6b871dbf4b568209'
+            'f3dabd1bbe195a45a10efacfc4bb78007e32b91c32c01e42f8045c6e39d7a5f7e20eea1c4407c313d7ec0bb6d951a0b4e10b402f50d2022a5b4770ec62594a8a')
+install=neovim.install
+
+prepare() {
+  cd "${srcdir}/neovim-${pkgver}"
+
+  patch -Np1 < "${srcdir}/3a5721e91ba890718319213154ba6964c9dca4d2.patch"
+}
+
+build() {
+  mkdir -p "${srcdir}/build"
+  cd "${srcdir}/build"
+
+  cmake "../neovim-${pkgver}" \
+        -DCMAKE_BUILD_TYPE=Release \
+        -DCMAKE_INSTALL_PREFIX=/usr \
+        -DENABLE_JEMALLOC=ON
+  make
+}
+
+check() {
+  cd "${srcdir}/build"
+  ./bin/nvim --version
+  ./bin/nvim --headless -u NONE -i NONE -c ':quit'
+}
+
+package() {
+  cd "${srcdir}/build"
+  make DESTDIR="${pkgdir}" 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"
+  install -Dm644 runtime/nvim.png "${pkgdir}/usr/share/pixmaps/nvim.png"
+
+  # Make Arch vim packages work
+  mkdir -p "${pkgdir}"/usr/share/vim
+  echo "set runtimepath+=/usr/share/vim/vimfiles" > "${pkgdir}"/usr/share/nvim/sysinit.vim
+}
+
+# vim:set sw=2 sts=2 et:

Copied: neovim/repos/community-staging-x86_64/neovim.install (from rev 320925, neovim/trunk/neovim.install)
===================================================================
--- community-staging-x86_64/neovim.install	                        (rev 0)
+++ community-staging-x86_64/neovim.install	2018-05-12 01:03:27 UTC (rev 320926)
@@ -0,0 +1,10 @@
+# $1: new package version
+post_install() {
+  echo ":: The Neovim executable is called 'nvim'."
+  echo ":: If you are already familiar with Vim, see ':help nvim-from-vim'"
+  echo "   to get started."
+  echo ":: If you have any questions, check the following page first:"
+  echo "   https://github.com/neovim/neovim/wiki/FAQ"
+}
+
+# vim:set sw=2 sts=2 et:



More information about the arch-commits mailing list