commit: 170054994598350ed3cc06f1803ba5449fa9e213 Author: Brahmajit Das <listout <AT> listout <DOT> xyz> AuthorDate: Sun Jun 1 10:51:33 2025 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Wed Jun 4 02:12:52 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=17005499
app-editors/neovim: add 0.11.2 Signed-off-by: Brahmajit Das <listout <AT> listout.xyz> Part-of: https://github.com/gentoo/gentoo/pull/42383 Closes: https://github.com/gentoo/gentoo/pull/42383 Signed-off-by: Sam James <sam <AT> gentoo.org> app-editors/neovim/Manifest | 1 + app-editors/neovim/neovim-0.11.2.ebuild | 127 ++++++++++++++++++++++++++++++++ 2 files changed, 128 insertions(+) diff --git a/app-editors/neovim/Manifest b/app-editors/neovim/Manifest index c44f188e3bfd..5e1aa115d054 100644 --- a/app-editors/neovim/Manifest +++ b/app-editors/neovim/Manifest @@ -2,3 +2,4 @@ DIST neovim-0.10.3.tar.gz 12804352 BLAKE2B 4196154a1f2415f72ed4cdebbde67804212d9 DIST neovim-0.10.4.tar.gz 12808381 BLAKE2B 5dae3cef173431ca39320e4640661457e25e9508feee23bb076d82ab3a5934df1961cb63f7329bba7dc0d41bb4e6e889a4cf58754812d1af074a21fc36cdc1c5 SHA512 8dadc24edaaa27e6ecd4db6c19d0183868a8d2809ba122110685f340341d951772ac2eb0c5f7a7ab5f87d3d5d8ae5e81f156c61f04f6d4ebbaa17cd35fb70b64 DIST neovim-0.11.0.tar.gz 12901255 BLAKE2B 155af14e07dff73ebe825b6233e4536a00de34d183ebe5d440e251098d7d95fd87fbcb3c6de4ed00fec0e2acc126c5bc1ae08a6b41389e4eae2fc126775493a6 SHA512 f898aebffa1d222cdbbc2663b69a6ea55a045c3ddb4e8454bda7b0c6e9abbfc60dce6ea235f535506f6caac9cc1b07c65bdab25374f320cfabc3744336989cf6 DIST neovim-0.11.1.tar.gz 12907535 BLAKE2B 636df1f8a4fcf92fbde9cc6b12f3106dd274af7fcd22d687a511e826f9ed0aed8a6528a27b267cdba75c9f4e9e981b32cdfe24e98fbd9840c7a007baa95ef951 SHA512 d2dac85379022e939a6a5ac8b64074d1e4a6d3605791b916e1d77366b97a28ee9f99107e4c251d5a28a5f515fa8bcde9cc6372a9d7901832de3ee01fb9895f4d +DIST neovim-0.11.2.tar.gz 12923046 BLAKE2B 0a38a35d3a817224ef714e46f2acad9a4546c0922896a922bb45f3a554b758520fbdabfcefbadd5aa6086ad4b4e64d80b1d397c6faa15ad52ff9ff28c1a6038c SHA512 eeb543ff40b71f384c3a8d964c05e20b4d8be2f647314da703f071954a6f434320b0a61c0a42936c71c970de018de654d8c0e15de92890b9dc50054c5b70b863 diff --git a/app-editors/neovim/neovim-0.11.2.ebuild b/app-editors/neovim/neovim-0.11.2.ebuild new file mode 100644 index 000000000000..7bce36689dd6 --- /dev/null +++ b/app-editors/neovim/neovim-0.11.2.ebuild @@ -0,0 +1,127 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# 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" +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 ~ppc ~ppc64 ~riscv ~x86 ~x64-macos" +fi + +LICENSE="Apache-2.0 vim" +SLOT="0" +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 +" +# 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). +# List of required tree-sitter parsers is taken from cmake.deps/deps.txt +DEPEND="${LUA_DEPS} + >=dev-lua/luv-1.50.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/libutf8proc-2.10.0:=[-cjk] + >=dev-libs/libuv-1.50.0:= + >=dev-libs/libvterm-0.3.3 + >=dev-libs/msgpack-3.0.0:= + >=dev-libs/tree-sitter-0.25.3:= + =dev-libs/tree-sitter-c-0.23* + =dev-libs/tree-sitter-lua-0.3* + =dev-libs/tree-sitter-markdown-0.4* + =dev-libs/tree-sitter-query-0.5* + =dev-libs/tree-sitter-vim-0.5* + =dev-libs/tree-sitter-vimdoc-3* + >=dev-libs/unibilium-2.1.2:0= +" +RDEPEND=" + ${DEPEND} + app-eselect/eselect-vi +" +BDEPEND+=" + test? ( + $(lua_gen_cond_dep 'dev-lua/busted[${LUA_USEDEP}]') + ) +" + +PATCHES=( + "${FILESDIR}/${PN}-0.9.0-cmake_lua_version.patch" + "${FILESDIR}/${PN}-9999-cmake-darwin.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 + + # https://forums.gentoo.org/viewtopic-p-8750050.html + xdg_environment_reset + cmake_src_prepare +} + +src_configure() { + # TODO: Investigate USE_BUNDLED, doesn't seem to be needed right now + local mycmakeargs=( + # appends -flto + -DENABLE_LTO=OFF + -DPREFER_LUA=$(usex lua_single_target_luajit no "$(lua_get_version)") + -DLUA_PRG="${LUA}" + ) + cmake_src_configure +} + +src_install() { + cmake_src_install + + # install a default configuration file + insinto /etc/vim + doins "${FILESDIR}"/sysinit.vim + + # symlink tree-sitter parsers + dodir /usr/share/nvim/runtime + for parser in c lua markdown query vim vimdoc; do + dosym ../../../../$(get_libdir)/libtree-sitter-${parser}.so /usr/share/nvim/runtime/parser/${parser}.so + done + + # conditionally install a symlink for nvimpager + if use nvimpager; then + dosym ../share/nvim/runtime/scripts/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 +}
