Gentoo Archives: gentoo-commits

From: Matt Turner <mattst88@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: app-editors/neovim/
Date: Tue, 28 Jun 2022 18:18:07
Message-Id: 1656440253.38480408d60319f30083e0ec793311721faf14d3.mattst88@gentoo
1 commit: 38480408d60319f30083e0ec793311721faf14d3
2 Author: Nikita Romanyuk <kelvium <AT> yahoo <DOT> com>
3 AuthorDate: Mon Jun 27 18:42:33 2022 +0000
4 Commit: Matt Turner <mattst88 <AT> gentoo <DOT> org>
5 CommitDate: Tue Jun 28 18:17:33 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=38480408
7
8 app-editors/neovim: add 0.7.2
9
10 Closes: https://github.com/gentoo/gentoo/pull/26095
11 Signed-off-by: Nikita Romanyuk <kelvium <AT> yahoo.com>
12 Signed-off-by: Matt Turner <mattst88 <AT> gentoo.org>
13
14 app-editors/neovim/Manifest | 1 +
15 app-editors/neovim/neovim-0.7.2.ebuild | 119 +++++++++++++++++++++++++++++++++
16 2 files changed, 120 insertions(+)
17
18 diff --git a/app-editors/neovim/Manifest b/app-editors/neovim/Manifest
19 index f09d190fc087..fe903123a573 100644
20 --- a/app-editors/neovim/Manifest
21 +++ b/app-editors/neovim/Manifest
22 @@ -1 +1,2 @@
23 DIST neovim-0.7.0.tar.gz 10925354 BLAKE2B 0524d008ba1ebbe823406e94cfb048014b26bc394c686b2dd84bb7fae5a1f7f3acd42764b03b6efec10c0f25045c5838f624542b5125947e5f42d3b0d2ad1f84 SHA512 3597c54fb925a4d607bca9ba0fdb37df90ecb816da99f52baf46cc2ec79727a55048ba1d8d22c8e7d61f0e8e35546326b1d0d15c0a91de8bf5bc529c45fb1ce0
24 +DIST neovim-0.7.2.tar.gz 10933623 BLAKE2B c2db449a91f1685233da7125e3d4b49cb8fe26db5e498fd3a83340bd14842399474fcc7f2c78b88783195c6f7b0b8df196985b70387ed88972372a8866e2c721 SHA512 04d0fa5b23018531b70b53271821bf6944cde1bcec2210b99f5888e1339cd38f57feaa8e40874a3a504930e6614980947f31852185cbcd2ce106a0867896dd79
25
26 diff --git a/app-editors/neovim/neovim-0.7.2.ebuild b/app-editors/neovim/neovim-0.7.2.ebuild
27 new file mode 100644
28 index 000000000000..a340a82ba6a5
29 --- /dev/null
30 +++ b/app-editors/neovim/neovim-0.7.2.ebuild
31 @@ -0,0 +1,119 @@
32 +# Copyright 1999-2022 Gentoo Authors
33 +# Distributed under the terms of the GNU General Public License v2
34 +
35 +EAPI=8
36 +
37 +LUA_COMPAT=( lua5-{1..2} luajit )
38 +
39 +inherit cmake lua-single optfeature xdg
40 +
41 +DESCRIPTION="Vim-fork focused on extensibility and agility"
42 +HOMEPAGE="https://neovim.io"
43 +
44 +if [[ ${PV} == 9999 ]]; then
45 + inherit git-r3
46 + EGIT_REPO_URI="https://github.com/neovim/neovim.git"
47 +else
48 + SRC_URI="https://github.com/neovim/neovim/archive/v${PV}.tar.gz -> ${P}.tar.gz"
49 + KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86 ~x64-macos"
50 +fi
51 +
52 +LICENSE="Apache-2.0 vim"
53 +SLOT="0"
54 +IUSE="+lto +nvimpager test +tui"
55 +
56 +REQUIRED_USE="${LUA_REQUIRED_USE}"
57 +# Upstream say the test library needs LuaJIT
58 +# https://github.com/neovim/neovim/blob/91109ffda23d0ce61cec245b1f4ffb99e7591b62/CMakeLists.txt#L377
59 +REQUIRED_USE="test? ( lua_single_target_luajit )"
60 +# TODO: Get tests running
61 +RESTRICT="!test? ( test ) test"
62 +
63 +# Upstream build scripts invoke the Lua interpreter
64 +BDEPEND="${LUA_DEPS}
65 + >=dev-util/gperf-3.1
66 + virtual/libiconv
67 + virtual/libintl
68 + virtual/pkgconfig
69 +"
70 +# Check https://github.com/neovim/neovim/blob/master/third-party/CMakeLists.txt for
71 +# new dependency bounds and so on on bumps (obviously adjust for right branch/tag).
72 +DEPEND="${LUA_DEPS}
73 + >=dev-lua/luv-1.43.0[${LUA_SINGLE_USEDEP}]
74 + $(lua_gen_cond_dep '
75 + dev-lua/lpeg[${LUA_USEDEP}]
76 + dev-lua/mpack[${LUA_USEDEP}]
77 + ')
78 + $(lua_gen_cond_dep '
79 + dev-lua/LuaBitOp[${LUA_USEDEP}]
80 + ' lua5-{1,2})
81 + >=dev-libs/libuv-1.44.1:=
82 + >=dev-libs/libvterm-0.1.4
83 + >=dev-libs/msgpack-3.0.0:=
84 + >=dev-libs/tree-sitter-0.20.6:=
85 + tui? (
86 + >=dev-libs/libtermkey-0.22
87 + >=dev-libs/unibilium-2.0.0:0=
88 + )
89 +"
90 +RDEPEND="
91 + ${DEPEND}
92 + app-eselect/eselect-vi
93 +"
94 +BDEPEND="
95 + test? (
96 + $(lua_gen_cond_dep 'dev-lua/busted[${LUA_USEDEP}]')
97 + )
98 +"
99 +
100 +PATCHES=(
101 + "${FILESDIR}/${PN}-0.4.4-cmake_lua_version.patch"
102 + "${FILESDIR}/${PN}-0.4.4-cmake-release-type.patch"
103 +)
104 +
105 +src_prepare() {
106 + # Use our system vim dir
107 + sed -e "/^# define SYS_VIMRC_FILE/s|\$VIM|${EPREFIX}/etc/vim|" \
108 + -i src/nvim/globals.h || die
109 +
110 + cmake_src_prepare
111 +}
112 +
113 +src_configure() {
114 + # Upstream default to LTO on non-debug builds
115 + # Let's expose it as a USE flag because upstream
116 + # have preferences for how we should use LTO
117 + # if we want it on (not just -flto)
118 + # ... but allow turning it off.
119 + # TODO: Investigate USE_BUNDLED, doesn't seem to be needed right now
120 + local mycmakeargs=(
121 + -DENABLE_LTO=$(usex lto)
122 + -DFEAT_TUI=$(usex tui)
123 + -DPREFER_LUA=$(usex lua_single_target_luajit no "$(lua_get_version)")
124 + -DLUA_PRG="${ELUA}"
125 + -DMIN_LOG_LEVEL=3
126 + )
127 + cmake_src_configure
128 +}
129 +
130 +src_install() {
131 + cmake_src_install
132 +
133 + # install a default configuration file
134 + insinto /etc/vim
135 + doins "${FILESDIR}"/sysinit.vim
136 +
137 + # conditionally install a symlink for nvimpager
138 + if use nvimpager; then
139 + dosym ../share/nvim/runtime/macros/less.sh /usr/bin/nvimpager
140 + fi
141 +}
142 +
143 +pkg_postinst() {
144 + xdg_pkg_postinst
145 +
146 + optfeature "clipboard support" x11-misc/xsel x11-misc/xclip gui-apps/wl-clipboard
147 + optfeature "Python plugin support" dev-python/pynvim
148 + optfeature "Ruby plugin support" dev-ruby/neovim-ruby-client
149 + optfeature "remote/nvr support" dev-python/neovim-remote
150 +}