aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Weinberger <adamw@FreeBSD.org>2024-05-25 21:39:53 +0000
committerAdam Weinberger <adamw@FreeBSD.org>2024-05-25 21:39:53 +0000
commit92df04ca7d17b7083d05f5305b4b9f7088a66a91 (patch)
tree9688b5e8c2381999b5dff05825cc2621e7d5ab67
parent44259eb2f37939d54c947f614d9aa536d73cba28 (diff)
downloadports-92df04ca7d17b7083d05f5305b4b9f7088a66a91.tar.gz
ports-92df04ca7d17b7083d05f5305b4b9f7088a66a91.zip
editors/neovim: Include tree-sitter parsers
Neovim now expects a number of tree-sitter parsers to be included in a base installation, but they must be fetched, built, and installed separately. Without the parsers, things like `:help [...]` produces warnings but still technically works. PR: 279293 Submitted by: Laurent Chardon
-rw-r--r--editors/neovim/Makefile43
-rw-r--r--editors/neovim/distinfo22
-rw-r--r--editors/neovim/pkg-plist10
3 files changed, 61 insertions, 14 deletions
diff --git a/editors/neovim/Makefile b/editors/neovim/Makefile
index 8664aa3ee4eb..303fb63b9ffd 100644
--- a/editors/neovim/Makefile
+++ b/editors/neovim/Makefile
@@ -1,7 +1,7 @@
PORTNAME= neovim
DISTVERSIONPREFIX= v
DISTVERSION= 0.10.0
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= editors
MAINTAINER= adamw@FreeBSD.org
@@ -10,29 +10,35 @@ WWW= https://neovim.io/
LICENSE= APACHE20
-BUILD_DEPENDS= gperf:devel/gperf \
- ${LUA_REFMODLIBDIR}/bit.so:devel/lua-bitop@${LUA_FLAVOR} \
+BUILD_DEPENDS= ${LUA_REFMODLIBDIR}/bit.so:devel/lua-bitop@${LUA_FLAVOR} \
+ ${LUA_REFMODLIBDIR}/lpeg.so:devel/lua-lpeg@${LUA_FLAVOR}
+RUN_DEPENDS= ${LUA_REFMODLIBDIR}/bit.so:devel/lua-bitop@${LUA_FLAVOR} \
${LUA_REFMODLIBDIR}/lpeg.so:devel/lua-lpeg@${LUA_FLAVOR}
LIB_DEPENDS= libluv.so:devel/luv \
libmsgpack-c.so:devel/msgpack-c \
- libtermkey.so:devel/libtermkey \
libtree-sitter.so:devel/tree-sitter \
libunibilium.so:devel/unibilium \
libuv.so:devel/libuv \
libvterm.so:devel/libvterm
-RUN_DEPENDS= ${LUA_REFMODLIBDIR}/bit.so:devel/lua-bitop@${LUA_FLAVOR} \
- ${LUA_REFMODLIBDIR}/lpeg.so:devel/lua-lpeg@${LUA_FLAVOR}
USES= cmake cpe gettext iconv lua:51,build luajit \
pathfix pkgconfig
+
USE_GITHUB= yes
-GH_TUPLE= libmpack:libmpack:1.0.5:libmpack \
- libmpack:libmpack-lua:1.0.12:libmpack_lua
+GH_TUPLE= tree-sitter:tree-sitter-c:v0.21.0:treesitter_c \
+ neovim:tree-sitter-vim:v0.4.0:treesitter_vim \
+ neovim:tree-sitter-vimdoc:v2.5.1:treesitter_vimdoc \
+ tree-sitter-grammars:tree-sitter-query:v0.3.0:treesitter_query \
+ tree-sitter:tree-sitter-python:v0.21.0:treesitter_python \
+ tree-sitter:tree-sitter-bash:v0.21.0:treesitter_bash \
+ MDeiml:tree-sitter-markdown:v0.2.3:treesitter_markdown \
+ tree-sitter-grammars:tree-sitter-lua:v0.1.0:treesitter_lua
CMAKE_ARGS= -DLUA_PRG:FILEPATH="${LUA_CMD}" \
-DCMAKE_INSTALL_MANDIR:PATH="${PREFIX}/share/man" \
-DDEPS_PREFIX:PATH="${LOCALBASE}" \
-DCMAKE_LIBRARY_PATH:PATH="${LOCALBASE}/lib/lua/${LUA_VER}"
+
CFLAGS+= -I${LOCALBASE}/include
DATADIR= ${PREFIX}/share/nvim
@@ -49,4 +55,25 @@ NLS_CMAKE_BOOL= ENABLE_LIBINTL
PYNVIM_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pynvim>=0.3.0:editors/py-pynvim@${PY_FLAVOR}
PYNVIM_USES= python:run
+post-configure:
+ ${MKDIR} ${BUILD_WRKSRC}/.deps/build/src
+ ${MV} ${WRKSRC_treesitter_c} ${BUILD_WRKSRC}/.deps/build/src/treesitter_c
+ ${MV} ${WRKSRC_treesitter_vim} ${BUILD_WRKSRC}/.deps/build/src/treesitter_vim
+ ${MV} ${WRKSRC_treesitter_vimdoc} ${BUILD_WRKSRC}/.deps/build/src/treesitter_vimdoc
+ ${MV} ${WRKSRC_treesitter_query} ${BUILD_WRKSRC}/.deps/build/src/treesitter_query
+ ${MV} ${WRKSRC_treesitter_python} ${BUILD_WRKSRC}/.deps/build/src/treesitter_python
+ ${MV} ${WRKSRC_treesitter_bash} ${BUILD_WRKSRC}/.deps/build/src/treesitter_bash
+ ${MV} ${WRKSRC_treesitter_markdown} ${BUILD_WRKSRC}/.deps/build/src/treesitter_markdown
+ ${MV} ${WRKSRC_treesitter_lua} ${BUILD_WRKSRC}/.deps/build/src/treesitter_lua
+ ${MAKE_ENV} ${CMAKE_BIN} -S ${WRKSRC}/cmake.deps -B ${BUILD_WRKSRC}/.deps ${CMAKE_ARGS} \
+ -DUSE_BUNDLED:BOOL=OFF -DUSE_BUNDLED_TS_PARSERS:BOOL=ON \
+ -DUSE_EXISTING_SRC_DIR:BOOL=ON
+
+post-build:
+ ${CMAKE_BIN} --build ${BUILD_WRKSRC}/.deps
+
+post-stage:
+ cd ${BUILD_WRKSRC}/.deps/usr/lib/nvim && ${COPYTREE_SHARE} parser ${STAGEDIR}${PREFIX}/lib/nvim
+ ${FIND} ${STAGEDIR}${PREFIX}/lib/nvim -name "*.so" -exec ${STRIP_CMD} {} +
+
.include <bsd.port.mk>
diff --git a/editors/neovim/distinfo b/editors/neovim/distinfo
index b420957ace97..9079c48dc993 100644
--- a/editors/neovim/distinfo
+++ b/editors/neovim/distinfo
@@ -1,7 +1,19 @@
-TIMESTAMP = 1716160663
+TIMESTAMP = 1716623992
SHA256 (neovim-neovim-v0.10.0_GH0.tar.gz) = 372ea2584b0ea2a5a765844d95206bda9e4a57eaa1a2412a9a0726bab750f828
SIZE (neovim-neovim-v0.10.0_GH0.tar.gz) = 12792034
-SHA256 (libmpack-libmpack-1.0.5_GH0.tar.gz) = 4ce91395d81ccea97d3ad4cb962f8540d166e59d3e2ddce8a22979b49f108956
-SIZE (libmpack-libmpack-1.0.5_GH0.tar.gz) = 32966
-SHA256 (libmpack-libmpack-lua-1.0.12_GH0.tar.gz) = 7c3f0a5fcd0d7c169fd7bc95978412628d8f59eb9da1d32cf3e8a864b741ec92
-SIZE (libmpack-libmpack-lua-1.0.12_GH0.tar.gz) = 16524
+SHA256 (tree-sitter-tree-sitter-c-v0.21.0_GH0.tar.gz) = 6f0f5d1b71cf8ffd8a37fb638c6022fa1245bd630150b538547d52128ce0ea7e
+SIZE (tree-sitter-tree-sitter-c-v0.21.0_GH0.tar.gz) = 426566
+SHA256 (neovim-tree-sitter-vim-v0.4.0_GH0.tar.gz) = 9f856f8b4a10ab43348550fa2d3cb2846ae3d8e60f45887200549c051c66f9d5
+SIZE (neovim-tree-sitter-vim-v0.4.0_GH0.tar.gz) = 356704
+SHA256 (neovim-tree-sitter-vimdoc-v2.5.1_GH0.tar.gz) = 063645096504b21603585507c41c6d8718ff3c11b2150c5bfc31e8f3ee9afea3
+SIZE (neovim-tree-sitter-vimdoc-v2.5.1_GH0.tar.gz) = 57430
+SHA256 (tree-sitter-grammars-tree-sitter-query-v0.3.0_GH0.tar.gz) = f878ff37abcb83250e31a6569e997546f3dbab74dcb26683cb2d613f7568cfc0
+SIZE (tree-sitter-grammars-tree-sitter-query-v0.3.0_GH0.tar.gz) = 43274
+SHA256 (tree-sitter-tree-sitter-python-v0.21.0_GH0.tar.gz) = 720304a603271fa89e4430a14d6a81a023d6d7d1171b1533e49c0ab44f1e1c13
+SIZE (tree-sitter-tree-sitter-python-v0.21.0_GH0.tar.gz) = 275770
+SHA256 (tree-sitter-tree-sitter-bash-v0.21.0_GH0.tar.gz) = f0515efda839cfede851adb24ac154227fbc0dfb60c6c11595ecfa9087d43ceb
+SIZE (tree-sitter-tree-sitter-bash-v0.21.0_GH0.tar.gz) = 557096
+SHA256 (MDeiml-tree-sitter-markdown-v0.2.3_GH0.tar.gz) = 4909d6023643f1afc3ab219585d4035b7403f3a17849782ab803c5f73c8a31d5
+SIZE (MDeiml-tree-sitter-markdown-v0.2.3_GH0.tar.gz) = 418293
+SHA256 (tree-sitter-grammars-tree-sitter-lua-v0.1.0_GH0.tar.gz) = 230cfcbfa74ed1f7b8149e9a1f34c2efc4c589a71fe0f5dc8560622f8020d722
+SIZE (tree-sitter-grammars-tree-sitter-lua-v0.1.0_GH0.tar.gz) = 56812
diff --git a/editors/neovim/pkg-plist b/editors/neovim/pkg-plist
index 4a26bab98363..2caaf6126823 100644
--- a/editors/neovim/pkg-plist
+++ b/editors/neovim/pkg-plist
@@ -1,4 +1,13 @@
bin/nvim
+lib/nvim/parser/bash.so
+lib/nvim/parser/c.so
+lib/nvim/parser/lua.so
+lib/nvim/parser/markdown.so
+lib/nvim/parser/markdown_inline.so
+lib/nvim/parser/python.so
+lib/nvim/parser/query.so
+lib/nvim/parser/vim.so
+lib/nvim/parser/vimdoc.so
share/man/man1/nvim.1.gz
share/applications/nvim.desktop
share/icons/hicolor/128x128/apps/nvim.png
@@ -32,4 +41,3 @@ share/icons/hicolor/128x128/apps/nvim.png
%%NLS%%share/locale/vi/LC_MESSAGES/nvim.mo
%%NLS%%share/locale/zh_CN.UTF-8/LC_MESSAGES/nvim.mo
%%NLS%%share/locale/zh_TW.UTF-8/LC_MESSAGES/nvim.mo
-@dir lib/nvim