commit:     509a0b633fbb8c9d70d1ccd8b028ed9d27d13b8b
Author:     Brahmajit Das <brahmajit.xyz <AT> gmail <DOT> com>
AuthorDate: Wed Jan 29 15:45:51 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Feb 12 15:17:10 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=509a0b63

app-editors/neovim: add 0.10.4

Closes: https://bugs.gentoo.org/944364
Signed-off-by: Brahmajit Das <brahmajit.xyz <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/40362
Signed-off-by: Sam James <sam <AT> gentoo.org>

 app-editors/neovim/Manifest             |   1 +
 app-editors/neovim/neovim-0.10.4.ebuild | 127 ++++++++++++++++++++++++++++++++
 2 files changed, 128 insertions(+)

diff --git a/app-editors/neovim/Manifest b/app-editors/neovim/Manifest
index f3c8ec9d0320..5e7fac05c37f 100644
--- a/app-editors/neovim/Manifest
+++ b/app-editors/neovim/Manifest
@@ -1,3 +1,4 @@
 DIST neovim-0.10.1.tar.gz 12796966 BLAKE2B 
85d98abe03f69ab03d09dc1b39783974af392f707deddef4640b6953ad574f9a455897217c2431c6c2fadb56568b55ac18ed06bbfcc7bbe1c6ab013991e99ee6
 SHA512 
37e9d45041b059a26fe02717eae7cdbde58f0a35560c590764f5888de67cfa04bee76d6b359ab14b020ac5a661d64908960283347381d334106308504c0df908
 DIST neovim-0.10.2.tar.gz 12801272 BLAKE2B 
0cba241ec6466639044decf26728b6c17c3be7970c85b6938fceb05c329d2832c8c46d0113d83aedee458991e4cb27dfad67b3d7b84080a23035ca85ccd57e36
 SHA512 
6478c53bddff0bf042388464fa1c5114e8fe75c7c41b22e5426783bd2f8406bd3297ffd4bc895ea13e573f0cd28a64755c1f5c063531bb8de477c4e439384418
 DIST neovim-0.10.3.tar.gz 12804352 BLAKE2B 
4196154a1f2415f72ed4cdebbde67804212d9be0f364fdb4c053ba0fb608eddad457fd360d7ce764615651288f5890b3283b180fc2ed726208a19fbc6c9fb9c4
 SHA512 
f1286c42bf0a119fea4575ae64043e43f36cd569d339ced15700c45441e8d8952ea7eac2250063a5aff4552632f0ca7696b442d4d8ffa4f5fce25ddbee0e861b
+DIST neovim-0.10.4.tar.gz 12808381 BLAKE2B 
5dae3cef173431ca39320e4640661457e25e9508feee23bb076d82ab3a5934df1961cb63f7329bba7dc0d41bb4e6e889a4cf58754812d1af074a21fc36cdc1c5
 SHA512 
8dadc24edaaa27e6ecd4db6c19d0183868a8d2809ba122110685f340341d951772ac2eb0c5f7a7ab5f87d3d5d8ae5e81f156c61f04f6d4ebbaa17cd35fb70b64

diff --git a/app-editors/neovim/neovim-0.10.4.ebuild 
b/app-editors/neovim/neovim-0.10.4.ebuild
new file mode 100644
index 000000000000..9a7069ff488d
--- /dev/null
+++ b/app-editors/neovim/neovim-0.10.4.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.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/libutf8proc-2.9.0:=
+       >=dev-libs/libuv-1.46.0:=
+       >=dev-libs/libvterm-0.3.3
+       >=dev-libs/msgpack-3.0.0:=
+       >=dev-libs/tree-sitter-0.22.6:=
+       =dev-libs/tree-sitter-c-0.21*
+       =dev-libs/tree-sitter-lua-0.1*
+       =dev-libs/tree-sitter-markdown-0.2*
+       =dev-libs/tree-sitter-query-0.4*
+       =dev-libs/tree-sitter-vim-0.4*
+       =dev-libs/tree-sitter-vimdoc-3*
+       >=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.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/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
+}

Reply via email to