summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-editors/neovim')
-rw-r--r--app-editors/neovim/Manifest4
-rw-r--r--app-editors/neovim/files/neovim-0.9.0-cmake-release-type.patch17
-rw-r--r--app-editors/neovim/files/neovim-0.9.0-cmake_lua_version.patch11
-rw-r--r--app-editors/neovim/files/neovim-0.9.1-cmake-darwin.patch14
-rw-r--r--app-editors/neovim/files/neovim-9999-cmake-darwin.patch13
-rw-r--r--app-editors/neovim/files/sysinit.vim-r197
-rw-r--r--app-editors/neovim/metadata.xml11
-rw-r--r--app-editors/neovim/neovim-0.10.0.ebuild114
-rw-r--r--app-editors/neovim/neovim-0.4.3.ebuild91
-rw-r--r--app-editors/neovim/neovim-0.9.4-r1.ebuild115
-rw-r--r--app-editors/neovim/neovim-0.9.4.ebuild115
-rw-r--r--app-editors/neovim/neovim-0.9.5-r1.ebuild120
-rw-r--r--app-editors/neovim/neovim-0.9.5.ebuild120
-rw-r--r--app-editors/neovim/neovim-9999.ebuild90
14 files changed, 804 insertions, 128 deletions
diff --git a/app-editors/neovim/Manifest b/app-editors/neovim/Manifest
index d94440938b40..052fb11ac704 100644
--- a/app-editors/neovim/Manifest
+++ b/app-editors/neovim/Manifest
@@ -1 +1,3 @@
-DIST neovim-0.4.3.tar.gz 9556199 BLAKE2B 831f4d4950f4fa2cd9c7393824bbb5eb571ae5759d13af9f320e0fa351fa155413a5be580f010f2c7ab43ca7bc10c569ccf6e3ba29efc7f5a035576b030b216d SHA512 e13853fa296eda8618f389c71b6cbbd6f01d561615e80cc92959131dd10e395b1c6732a7d9ef6dbb9fe3ea9da4c11485b464547e2d46b22e59b8a20214e861f5
+DIST neovim-0.10.0.tar.gz 12792034 BLAKE2B b9bf44d2f0ae1075196f5f96b2fb5e974907406fa6e5bf09593d1f9f36135dab466b6a063d1d03e3716dce435df296ec6d00a2f015e85d0edd231fb9fd4c9385 SHA512 878cb58729a18179b38303bd9cf79e38997c87946665ac4e7b76d87e15f5d001028fd1454ce30b20773b20a4fe929dfa399fc2ec7f6db0774a4e864c9e8586c1
+DIST neovim-0.9.4.tar.gz 11585425 BLAKE2B f98b9737df537be9a6f9bfba0e48f47f33cacdf5aa5f9fb3b47a693ea9fa5fbe32aa8628403fdb136b625ccad30c8aad1c25abe280384515df603e92d9ed898a SHA512 a9bac18aeecd99dfeab79b367c3f0c46003b95d057edb6fd18ba178d6b6f22434689508d0bfe91b2f771ef0a23a4888815e8c4001abb76f2a60357bab0cd7004
+DIST neovim-0.9.5.tar.gz 11590180 BLAKE2B a982ea5704a8e5810c42475198157c3d2255c033f47cba940f9f6414c649167ecafe08c7fe9aeb3154a15566fdf8f5db8d535fa752e467e36ff5d552a7aa2179 SHA512 6e20d0a1d506dc292dd68dabe4b5635f86c019ca832f9927e907377e6d21fe7765b3010f5bba644bb2d7a76c178d55b290af24856a7e3c4083a1aa60bc496775
diff --git a/app-editors/neovim/files/neovim-0.9.0-cmake-release-type.patch b/app-editors/neovim/files/neovim-0.9.0-cmake-release-type.patch
new file mode 100644
index 000000000000..b6026437f7bf
--- /dev/null
+++ b/app-editors/neovim/files/neovim-0.9.0-cmake-release-type.patch
@@ -0,0 +1,17 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 521ef93..a637866 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -114,12 +114,6 @@ set(NVIM_API_LEVEL 11) # Bump this after any API change.
+ set(NVIM_API_LEVEL_COMPAT 0) # Adjust this after a _breaking_ API change.
+ set(NVIM_API_PRERELEASE false)
+
+-# Default to -O2 on release builds.
+-if(CMAKE_C_FLAGS_RELEASE MATCHES "-O3")
+- message(STATUS "Replacing -O3 in CMAKE_C_FLAGS_RELEASE with -O2")
+- string(REPLACE "-O3" "-O2" CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}")
+-endif()
+-
+ # Build-type: RelWithDebInfo
+
+ # /Og means something different in MSVC
diff --git a/app-editors/neovim/files/neovim-0.9.0-cmake_lua_version.patch b/app-editors/neovim/files/neovim-0.9.0-cmake_lua_version.patch
new file mode 100644
index 000000000000..b14b3b992349
--- /dev/null
+++ b/app-editors/neovim/files/neovim-0.9.0-cmake_lua_version.patch
@@ -0,0 +1,11 @@
+--- a/src/nvim/CMakeLists.txt
++++ b/src/nvim/CMakeLists.txt
+@@ -464,7 +464,7 @@ endif()
+ # The unit test lib requires LuaJIT; it will be skipped if LuaJIT is missing.
+ option(PREFER_LUA "Prefer Lua over LuaJIT in the nvim executable." OFF)
+ if(PREFER_LUA)
+- find_package(Lua 5.1 EXACT REQUIRED)
++ find_package(Lua ${PREFER_LUA} EXACT REQUIRED)
+ target_include_directories(main_lib SYSTEM BEFORE INTERFACE ${LUA_INCLUDE_DIR})
+ target_link_libraries(main_lib INTERFACE ${LUA_LIBRARIES})
+ # Passive (not REQUIRED): if LUAJIT_FOUND is not set, fixtures for unittests is skipped.
diff --git a/app-editors/neovim/files/neovim-0.9.1-cmake-darwin.patch b/app-editors/neovim/files/neovim-0.9.1-cmake-darwin.patch
new file mode 100644
index 000000000000..1488148298bd
--- /dev/null
+++ b/app-editors/neovim/files/neovim-0.9.1-cmake-darwin.patch
@@ -0,0 +1,14 @@
+--- a/src/nvim/CMakeLists.txt
++++ b/src/nvim/CMakeLists.txt
+@@ -415,11 +415,7 @@ foreach(gen_include ${prop})
+ list(APPEND gen_cflags "-I${gen_include}")
+ endforeach()
+ endforeach()
+
+-if(APPLE AND CMAKE_OSX_SYSROOT)
+- list(APPEND gen_cflags "-isysroot")
+- list(APPEND gen_cflags "${CMAKE_OSX_SYSROOT}")
+-endif()
+ set(gen_cflags ${gen_cflags} -O2)
+
+ set(NVIM_VERSION_GIT_H ${PROJECT_BINARY_DIR}/cmake.config/auto/versiondef_git.h)
diff --git a/app-editors/neovim/files/neovim-9999-cmake-darwin.patch b/app-editors/neovim/files/neovim-9999-cmake-darwin.patch
new file mode 100644
index 000000000000..7d2352c6a18b
--- /dev/null
+++ b/app-editors/neovim/files/neovim-9999-cmake-darwin.patch
@@ -0,0 +1,13 @@
+Patch author: mortezadadgar <mortezadadgar97@gmail.com>
+--- a/src/nvim/CMakeLists.txt
++++ b/src/nvim/CMakeLists.txt
+@@ -477,9 +477,6 @@ foreach(target ${targets})
+ endforeach()
+ endforeach()
+
+-if(APPLE AND CMAKE_OSX_SYSROOT)
+- list(APPEND gen_cflags "-isysroot" "${CMAKE_OSX_SYSROOT}")
+-endif()
+ if(MSVC)
+ list(APPEND gen_cflags -wd4003)
+ endif()
diff --git a/app-editors/neovim/files/sysinit.vim-r1 b/app-editors/neovim/files/sysinit.vim-r1
new file mode 100644
index 000000000000..de47eef7299e
--- /dev/null
+++ b/app-editors/neovim/files/sysinit.vim-r1
@@ -0,0 +1,97 @@
+" Default Gentoo configuration file for neovim
+" Based on the default vimrc shipped by Gentoo with app-editors/vim-core
+
+" You can override any of these settings on a global basis via the
+" "/etc/vim/nvimrc.local" file, and on a per-user basis via "~/.nvimrc".
+" You may need to create these.
+
+" Neovim comes with sensible defaults, see:
+" https://github.com/neovim/neovim/issues/2676
+" Most of the general settings from Gentoo's vimrc have been dropped here.
+" We add only some necessary fixes and a few Gentoo specific settings.
+
+" {{{ Locale settings
+" If we have a BOM, always honour that rather than trying to guess.
+if &fileencodings !~? "ucs-bom"
+ set fileencodings^=ucs-bom
+endif
+
+" Always check for UTF-8 when trying to determine encodings.
+if &fileencodings !~? "utf-8"
+ " If we have to add this, the default encoding is not Unicode.
+ let g:added_fenc_utf8 = 1
+ set fileencodings+=utf-8
+endif
+" }}}
+
+" {{{ Fix &shell, see bug #101665.
+if "" == &shell
+ if executable("/bin/bash")
+ set shell=/bin/bash
+ elseif executable("/bin/sh")
+ set shell=/bin/sh
+ endif
+endif
+"}}}
+
+" {{{ Our default /bin/sh is bash, not ksh, so syntax highlighting for .sh
+" files should default to bash. See :help sh-syntax and bug #101819.
+if has("eval")
+ let is_bash=1
+endif
+" }}}
+
+" {{{ Autocommands
+if has("autocmd")
+
+augroup gentoo
+ au!
+
+ " Gentoo-specific settings for ebuilds. These are the federally-mandated
+ " required tab settings. See the following for more information:
+ " http://www.gentoo.org/proj/en/devrel/handbook/handbook.xml
+ " Note that the rules below are very minimal and don't cover everything.
+ " Better to emerge app-vim/gentoo-syntax, which provides full syntax,
+ " filetype and indent settings for all things Gentoo.
+ au BufRead,BufNewFile *.e{build,class} set ts=4 sw=4 noexpandtab
+
+ " When editing a file, always jump to the last cursor position
+ autocmd BufReadPost *
+ \ if ! exists("g:leave_my_cursor_position_alone") |
+ \ if line("'\"") > 0 && line ("'\"") <= line("$") |
+ \ exe "normal g'\"" |
+ \ endif |
+ \ endif
+
+ " When editing a crontab file, set backupcopy to yes rather than auto. See
+ " :help crontab and bug #53437.
+ autocmd FileType crontab set backupcopy=yes
+
+ " If we previously detected that the default encoding is not UTF-8
+ " (g:added_fenc_utf8), assume that a file with only ASCII characters (or no
+ " characters at all) isn't a Unicode file, but is in the default encoding.
+ " Except of course if a byte-order mark is in effect.
+ autocmd BufReadPost *
+ \ if exists("g:added_fenc_utf8") && &fileencoding == "utf-8" &&
+ \ ! &bomb && search('[\x80-\xFF]','nw') == 0 && &modifiable |
+ \ set fileencoding= |
+ \ endif
+
+ " Strip trailing spaces on write
+ autocmd BufWritePre *.e{build,class}
+ \ if ! exists("g:leave_my_trailing_space_alone") |
+ \ :%s/\s\+$//e |
+ \ endif
+
+augroup END
+
+endif " has("autocmd")
+" }}}
+
+" {{{ nvimrc.local
+if filereadable("/etc/vim/nvimrc.local")
+ source /etc/vim/nvimrc.local
+endif
+" }}}
+
+" vim: set tw=80 sw=2 sts=2 et foldmethod=marker :
diff --git a/app-editors/neovim/metadata.xml b/app-editors/neovim/metadata.xml
index 73806d95e8a1..5c58332c3ce4 100644
--- a/app-editors/neovim/metadata.xml
+++ b/app-editors/neovim/metadata.xml
@@ -1,13 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>brahmajit.xyz@gmail.com</email>
+ <name>Brahmajit Das</name>
+ </maintainer>
<maintainer type="project">
<email>vim@gentoo.org</email>
<name>Gentoo Vim Project</name>
</maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
<use>
<flag name="nvimpager">Install nvimpager symlink to less.sh macro</flag>
- <flag name="tui">Build the neovim unix tui</flag>
</use>
<upstream>
<remote-id type="github">neovim/neovim</remote-id>
diff --git a/app-editors/neovim/neovim-0.10.0.ebuild b/app-editors/neovim/neovim-0.10.0.ebuild
new file mode 100644
index 000000000000..1ae8d920bf61
--- /dev/null
+++ b/app-editors/neovim/neovim-0.10.0.ebuild
@@ -0,0 +1,114 @@
+# Copyright 1999-2024 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).
+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/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() {
+ ln -s "${BROOT}"/usr/bin/luajit "${BUILD_DIR}"/luajit || die
+ # 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="${ELUA}"
+ )
+ 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
+}
diff --git a/app-editors/neovim/neovim-0.4.3.ebuild b/app-editors/neovim/neovim-0.4.3.ebuild
deleted file mode 100644
index 34583324d168..000000000000
--- a/app-editors/neovim/neovim-0.4.3.ebuild
+++ /dev/null
@@ -1,91 +0,0 @@
-# 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="+luajit +nvimpager +tui"
-
-BDEPEND="
- dev-util/gperf
- virtual/libiconv
- virtual/libintl
- virtual/pkgconfig
-"
-
-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
-"
-
-CMAKE_BUILD_TYPE=Release
-
-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() {
- local mycmakeargs=(
- -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
-}
diff --git a/app-editors/neovim/neovim-0.9.4-r1.ebuild b/app-editors/neovim/neovim-0.9.4-r1.ebuild
new file mode 100644
index 000000000000..a9d362d6c679
--- /dev/null
+++ b/app-editors/neovim/neovim-0.9.4-r1.ebuild
@@ -0,0 +1,115 @@
+# Copyright 1999-2024 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).
+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.8:=
+ >=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}]')
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.9.0-cmake_lua_version.patch"
+ "${FILESDIR}/${PN}-0.9.1-cmake-darwin.patch"
+ "${FILESDIR}/${PN}-0.9.0-cmake-release-type.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="${ELUA}"
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ # install a default configuration file
+ insinto /etc/vim
+ newins "${FILESDIR}"/sysinit.vim-r1 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
+}
diff --git a/app-editors/neovim/neovim-0.9.4.ebuild b/app-editors/neovim/neovim-0.9.4.ebuild
new file mode 100644
index 000000000000..c1f5cc554988
--- /dev/null
+++ b/app-editors/neovim/neovim-0.9.4.ebuild
@@ -0,0 +1,115 @@
+# Copyright 1999-2024 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).
+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.8:=
+ >=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}]')
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.9.0-cmake_lua_version.patch"
+ "${FILESDIR}/${PN}-0.9.1-cmake-darwin.patch"
+ "${FILESDIR}/${PN}-0.9.0-cmake-release-type.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="${ELUA}"
+ )
+ 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
+}
diff --git a/app-editors/neovim/neovim-0.9.5-r1.ebuild b/app-editors/neovim/neovim-0.9.5-r1.ebuild
new file mode 100644
index 000000000000..539c462636df
--- /dev/null
+++ b/app-editors/neovim/neovim-0.9.5-r1.ebuild
@@ -0,0 +1,120 @@
+# Copyright 1999-2024 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).
+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.8:=
+ >=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}]')
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.9.0-cmake_lua_version.patch"
+ "${FILESDIR}/${PN}-0.9.1-cmake-darwin.patch"
+ "${FILESDIR}/${PN}-0.9.0-cmake-release-type.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() {
+ # 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.
+ # 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="${ELUA}"
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ # install a default configuration file
+ insinto /etc/vim
+ newins "${FILESDIR}"/sysinit.vim-r1 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
+}
diff --git a/app-editors/neovim/neovim-0.9.5.ebuild b/app-editors/neovim/neovim-0.9.5.ebuild
new file mode 100644
index 000000000000..59f60e257bdd
--- /dev/null
+++ b/app-editors/neovim/neovim-0.9.5.ebuild
@@ -0,0 +1,120 @@
+# Copyright 1999-2024 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).
+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.8:=
+ >=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}]')
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.9.0-cmake_lua_version.patch"
+ "${FILESDIR}/${PN}-0.9.1-cmake-darwin.patch"
+ "${FILESDIR}/${PN}-0.9.0-cmake-release-type.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() {
+ # 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.
+ # 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="${ELUA}"
+ )
+ 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
+}
diff --git a/app-editors/neovim/neovim-9999.ebuild b/app-editors/neovim/neovim-9999.ebuild
index 6944c0791a40..cf83ee7053ff 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 optfeature 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,77 @@ 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 ~ppc ~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/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
}
@@ -75,7 +96,7 @@ src_install() {
# install a default configuration file
insinto /etc/vim
- doins "${FILESDIR}"/sysinit.vim
+ newins "${FILESDIR}"/sysinit.vim-r1 sysinit.vim
# conditionally install a symlink for nvimpager
if use nvimpager; then
@@ -85,6 +106,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