diff options
Diffstat (limited to 'app-editors/neovim')
-rw-r--r-- | app-editors/neovim/Manifest | 4 | ||||
-rw-r--r-- | app-editors/neovim/files/neovim-0.9.0-cmake-release-type.patch | 17 | ||||
-rw-r--r-- | app-editors/neovim/files/neovim-0.9.0-cmake_lua_version.patch | 11 | ||||
-rw-r--r-- | app-editors/neovim/files/neovim-0.9.1-cmake-darwin.patch | 14 | ||||
-rw-r--r-- | app-editors/neovim/files/neovim-9999-cmake-darwin.patch | 13 | ||||
-rw-r--r-- | app-editors/neovim/files/sysinit.vim-r1 | 97 | ||||
-rw-r--r-- | app-editors/neovim/metadata.xml | 11 | ||||
-rw-r--r-- | app-editors/neovim/neovim-0.10.0.ebuild | 114 | ||||
-rw-r--r-- | app-editors/neovim/neovim-0.4.3.ebuild | 91 | ||||
-rw-r--r-- | app-editors/neovim/neovim-0.9.4-r1.ebuild | 115 | ||||
-rw-r--r-- | app-editors/neovim/neovim-0.9.4.ebuild | 115 | ||||
-rw-r--r-- | app-editors/neovim/neovim-0.9.5-r1.ebuild | 120 | ||||
-rw-r--r-- | app-editors/neovim/neovim-0.9.5.ebuild | 120 | ||||
-rw-r--r-- | app-editors/neovim/neovim-9999.ebuild | 90 |
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 |