# 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:= 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 }