diff options
Diffstat (limited to 'app-editors/neovim/neovim-9999.ebuild')
-rw-r--r-- | app-editors/neovim/neovim-9999.ebuild | 89 |
1 files changed, 56 insertions, 33 deletions
diff --git a/app-editors/neovim/neovim-9999.ebuild b/app-editors/neovim/neovim-9999.ebuild index 3855e2b02929..f0c3aab23120 100644 --- a/app-editors/neovim/neovim-9999.ebuild +++ b/app-editors/neovim/neovim-9999.ebuild @@ -1,11 +1,14 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 -inherit cmake eutils xdg +# RelWithDebInfo sets -Og -g +CMAKE_BUILD_TYPE=Release +LUA_COMPAT=( lua5-{1..2} luajit ) +inherit cmake lua-single optfeature xdg -DESCRIPTION="Vim-fork focused on extensibility and agility." +DESCRIPTION="Vim-fork focused on extensibility and agility" HOMEPAGE="https://neovim.io" if [[ ${PV} == 9999 ]]; then @@ -13,59 +16,78 @@ if [[ ${PV} == 9999 ]]; then 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 ~x86" + KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86 ~x64-macos" fi LICENSE="Apache-2.0 vim" SLOT="0" -IUSE="+luajit +nvimpager +tui" - -BDEPEND=" - dev-util/gperf +IUSE="+nvimpager test" + +# Upstream say the test library needs LuaJIT +# https://github.com/neovim/neovim/blob/91109ffda23d0ce61cec245b1f4ffb99e7591b62/CMakeLists.txt#L377 +REQUIRED_USE="${LUA_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 + >=sys-devel/gettext-0.20.1 virtual/libiconv virtual/libintl virtual/pkgconfig " - -DEPEND=" - dev-libs/libutf8proc:= - dev-libs/libuv:0= - >=dev-libs/libvterm-0.1 - 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= - ) +# 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.45.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.46.0:= + >=dev-libs/libvterm-0.3.3 + >=dev-libs/msgpack-3.0.0:= + >=dev-libs/tree-sitter-0.20.9:= + >=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}]') + ) +" -CMAKE_BUILD_TYPE=Release +PATCHES=( + "${FILESDIR}/${PN}-0.9.0-cmake_lua_version.patch" + "${FILESDIR}/${PN}-9999-cmake-darwin.patch" +) src_prepare() { - # use our system vim dir + # Use our system vim dir sed -e "/^# define SYS_VIMRC_FILE/s|\$VIM|${EPREFIX}/etc/vim|" \ -i src/nvim/globals.h || die + # https://forums.gentoo.org/viewtopic-p-8750050.html + xdg_environment_reset cmake_src_prepare } src_configure() { + ln -s "${BROOT}"/usr/bin/luajit "${BUILD_DIR}"/luajit || die + # TODO: Investigate USE_BUNDLED, doesn't seem to be needed right now local mycmakeargs=( - -DFEAT_TUI=$(usex tui) - -DPREFER_LUA=$(usex luajit no yes) + # appends -flto + -DENABLE_LTO=OFF + -DPREFER_LUA=$(usex lua_single_target_luajit no "$(lua_get_version)") + -DLUA_PRG="${ELUA}" ) cmake_src_configure } @@ -85,6 +107,7 @@ src_install() { 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 |