|
|
|
# Copyright 1999-2020 Gentoo Authors
|
|
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
|
|
|
|
EAPI=7
|
|
|
|
|
|
|
|
inherit cmake 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 x86"
|
|
|
|
fi
|
|
|
|
|
|
|
|
LICENSE="Apache-2.0 vim"
|
|
|
|
SLOT="0"
|
|
|
|
IUSE="+lto +luajit +nvimpager +tui"
|
|
|
|
# Upstream say the test library needs LuaJIT
|
|
|
|
# https://github.com/neovim/neovim/blob/91109ffda23d0ce61cec245b1f4ffb99e7591b62/CMakeLists.txt#L377
|
|
|
|
#REQUIRED_USE="test? ( luajit )"
|
|
|
|
#RESTRICT="!test? ( test )"
|
|
|
|
|
|
|
|
BDEPEND="
|
|
|
|
dev-util/gperf
|
|
|
|
virtual/libiconv
|
|
|
|
virtual/libintl
|
|
|
|
virtual/pkgconfig
|
|
|
|
"
|
|
|
|
# Once dev-lua/busted has luajit support, we can add tests.
|
|
|
|
# bug #584694
|
|
|
|
DEPEND="
|
|
|
|
dev-libs/libuv:0=
|
|
|
|
>=dev-libs/libvterm-0.1.2
|
|
|
|
dev-libs/msgpack:0=
|
|
|
|
dev-lua/lpeg[luajit=]
|
|
|
|
dev-lua/luv[luajit=]
|
|
|
|
dev-lua/mpack[luajit=]
|
|
|
|
net-libs/libnsl
|
|
|
|
luajit? ( dev-lang/luajit:2 )
|
|
|
|
!luajit? (
|
|
|
|
dev-lang/lua:0=
|
|
|
|
dev-lua/LuaBitOp
|
|
|
|
)
|
|
|
|
tui? (
|
|
|
|
dev-libs/libtermkey
|
|
|
|
>=dev-libs/unibilium-2.0.0:0=
|
|
|
|
)
|
|
|
|
"
|
|
|
|
RDEPEND="
|
|
|
|
${DEPEND}
|
|
|
|
app-eselect/eselect-vi
|
|
|
|
"
|
|
|
|
|
|
|
|
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.
|
|
|
|
local mycmakeargs=(
|
|
|
|
-DENABLE_LTO=$(usex lto)
|
|
|
|
-DFEAT_TUI=$(usex tui)
|
|
|
|
-DPREFER_LUA=$(usex luajit no yes)
|
|
|
|
)
|
|
|
|
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
|
|
|
|
}
|