forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Closes: gentoo#26095 Signed-off-by: Nikita Romanyuk <[email protected]> Signed-off-by: Matt Turner <[email protected]>
- Loading branch information
Showing
2 changed files
with
120 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,2 @@ | ||
DIST neovim-0.7.0.tar.gz 10925354 BLAKE2B 0524d008ba1ebbe823406e94cfb048014b26bc394c686b2dd84bb7fae5a1f7f3acd42764b03b6efec10c0f25045c5838f624542b5125947e5f42d3b0d2ad1f84 SHA512 3597c54fb925a4d607bca9ba0fdb37df90ecb816da99f52baf46cc2ec79727a55048ba1d8d22c8e7d61f0e8e35546326b1d0d15c0a91de8bf5bc529c45fb1ce0 | ||
DIST neovim-0.7.2.tar.gz 10933623 BLAKE2B c2db449a91f1685233da7125e3d4b49cb8fe26db5e498fd3a83340bd14842399474fcc7f2c78b88783195c6f7b0b8df196985b70387ed88972372a8866e2c721 SHA512 04d0fa5b23018531b70b53271821bf6944cde1bcec2210b99f5888e1339cd38f57feaa8e40874a3a504930e6614980947f31852185cbcd2ce106a0867896dd79 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,119 @@ | ||
# Copyright 1999-2022 Gentoo Authors | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=8 | ||
|
||
LUA_COMPAT=( lua5-{1..2} luajit ) | ||
|
||
inherit cmake lua-single optfeature xdg | ||
|
||
DESCRIPTION="Vim-fork focused on extensibility and agility" | ||
HOMEPAGE="https://neovim.io" | ||
|
||
if [[ ${PV} == 9999 ]]; then | ||
inherit git-r3 | ||
EGIT_REPO_URI="https://github.com/neovim/neovim.git" | ||
else | ||
SRC_URI="https://github.com/neovim/neovim/archive/v${PV}.tar.gz -> ${P}.tar.gz" | ||
KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86 ~x64-macos" | ||
fi | ||
|
||
LICENSE="Apache-2.0 vim" | ||
SLOT="0" | ||
IUSE="+lto +nvimpager test +tui" | ||
|
||
REQUIRED_USE="${LUA_REQUIRED_USE}" | ||
# Upstream say the test library needs LuaJIT | ||
# https://github.com/neovim/neovim/blob/91109ffda23d0ce61cec245b1f4ffb99e7591b62/CMakeLists.txt#L377 | ||
REQUIRED_USE="test? ( lua_single_target_luajit )" | ||
# TODO: Get tests running | ||
RESTRICT="!test? ( test ) test" | ||
|
||
# Upstream build scripts invoke the Lua interpreter | ||
BDEPEND="${LUA_DEPS} | ||
>=dev-util/gperf-3.1 | ||
virtual/libiconv | ||
virtual/libintl | ||
virtual/pkgconfig | ||
" | ||
# Check https://github.com/neovim/neovim/blob/master/third-party/CMakeLists.txt for | ||
# new dependency bounds and so on on bumps (obviously adjust for right branch/tag). | ||
DEPEND="${LUA_DEPS} | ||
>=dev-lua/luv-1.43.0[${LUA_SINGLE_USEDEP}] | ||
$(lua_gen_cond_dep ' | ||
dev-lua/lpeg[${LUA_USEDEP}] | ||
dev-lua/mpack[${LUA_USEDEP}] | ||
') | ||
$(lua_gen_cond_dep ' | ||
dev-lua/LuaBitOp[${LUA_USEDEP}] | ||
' lua5-{1,2}) | ||
>=dev-libs/libuv-1.44.1:= | ||
>=dev-libs/libvterm-0.1.4 | ||
>=dev-libs/msgpack-3.0.0:= | ||
>=dev-libs/tree-sitter-0.20.6:= | ||
tui? ( | ||
>=dev-libs/libtermkey-0.22 | ||
>=dev-libs/unibilium-2.0.0:0= | ||
) | ||
" | ||
RDEPEND=" | ||
${DEPEND} | ||
app-eselect/eselect-vi | ||
" | ||
BDEPEND=" | ||
test? ( | ||
$(lua_gen_cond_dep 'dev-lua/busted[${LUA_USEDEP}]') | ||
) | ||
" | ||
|
||
PATCHES=( | ||
"${FILESDIR}/${PN}-0.4.4-cmake_lua_version.patch" | ||
"${FILESDIR}/${PN}-0.4.4-cmake-release-type.patch" | ||
) | ||
|
||
src_prepare() { | ||
# Use our system vim dir | ||
sed -e "/^# define SYS_VIMRC_FILE/s|\$VIM|${EPREFIX}/etc/vim|" \ | ||
-i src/nvim/globals.h || die | ||
|
||
cmake_src_prepare | ||
} | ||
|
||
src_configure() { | ||
# Upstream default to LTO on non-debug builds | ||
# Let's expose it as a USE flag because upstream | ||
# have preferences for how we should use LTO | ||
# if we want it on (not just -flto) | ||
# ... but allow turning it off. | ||
# TODO: Investigate USE_BUNDLED, doesn't seem to be needed right now | ||
local mycmakeargs=( | ||
-DENABLE_LTO=$(usex lto) | ||
-DFEAT_TUI=$(usex tui) | ||
-DPREFER_LUA=$(usex lua_single_target_luajit no "$(lua_get_version)") | ||
-DLUA_PRG="${ELUA}" | ||
-DMIN_LOG_LEVEL=3 | ||
) | ||
cmake_src_configure | ||
} | ||
|
||
src_install() { | ||
cmake_src_install | ||
|
||
# install a default configuration file | ||
insinto /etc/vim | ||
doins "${FILESDIR}"/sysinit.vim | ||
|
||
# conditionally install a symlink for nvimpager | ||
if use nvimpager; then | ||
dosym ../share/nvim/runtime/macros/less.sh /usr/bin/nvimpager | ||
fi | ||
} | ||
|
||
pkg_postinst() { | ||
xdg_pkg_postinst | ||
|
||
optfeature "clipboard support" x11-misc/xsel x11-misc/xclip gui-apps/wl-clipboard | ||
optfeature "Python plugin support" dev-python/pynvim | ||
optfeature "Ruby plugin support" dev-ruby/neovim-ruby-client | ||
optfeature "remote/nvr support" dev-python/neovim-remote | ||
} |