Download raw body.
editors/neovim: backport treesitter fixes to -stable
Hi,
Here's the neovim treesitter fixes backported to 7.6-stable.
(context: https://marc.info/?l=openbsd-ports&m=172873624728050&w=2)
Although 7.6 is one minor neovim version behind -current, I've checked that the
parser versions are the same.
Tested on amd64 in a vm. All seems well.
Everyone OK with this?
Index: Makefile
===================================================================
RCS file: /cvs/ports/editors/neovim/Makefile,v
diff -u -p -r1.47 Makefile
--- Makefile 19 Aug 2024 08:50:27 -0000 1.47
+++ Makefile 11 Nov 2024 22:47:08 -0000
@@ -12,6 +12,7 @@ EMBED_LUAJIT = No
COMMENT = continuation and extension of Vim
DIST_TUPLE = github neovim neovim v0.10.1 .
+REVISION = 0
# embedded luajit
USE_NOBTCFI = Yes
@@ -27,6 +28,18 @@ DIST_TUPLE += github LuaJIT LuaJIT 75e92
${STATIC_DEPS_WRKSRC}/luajit
DIST_TUPLE += github keplerproject lua-compat-5.3 v0.13 \
${STATIC_DEPS_WRKSRC}/lua-compat-5.3
+DIST_TUPLE += github tree-sitter tree-sitter-c v0.21.3 \
+ ${STATIC_DEPS_WRKSRC}/parsers/treesitter_c
+DIST_TUPLE += github tree-sitter-grammars tree-sitter-lua v0.1.0 \
+ ${STATIC_DEPS_WRKSRC}/parsers/treesitter_lua
+DIST_TUPLE += github neovim tree-sitter-vim v0.4.0 \
+ ${STATIC_DEPS_WRKSRC}/parsers/treesitter_vim
+DIST_TUPLE += github neovim tree-sitter-vimdoc v3.0.0 \
+ ${STATIC_DEPS_WRKSRC}/parsers/treesitter_vimdoc
+DIST_TUPLE += github tree-sitter-grammars tree-sitter-query v0.4.0 \
+ ${STATIC_DEPS_WRKSRC}/parsers/treesitter_query
+DIST_TUPLE += github MDeiml tree-sitter-markdown v0.2.3 \
+ ${STATIC_DEPS_WRKSRC}/parsers/treesitter_markdown
# Neovim: Apache 2.0 + Vim License
# LuaJIT: MIT + public domain
@@ -113,6 +126,7 @@ TEST_DEPENDS = shells/bash \
# makes sense to embed it.
STATIC_DEPS_WRKBUILD=${WRKBUILD}/static-deps-build
STATIC_DEPS_INST=${WRKBUILD}/static-deps-inst
+PARSERS_WRKBUILD=${STATIC_DEPS_WRKBUILD}/parsers
.include <bsd.port.arch.mk>
.if ${PROPERTIES:Mclang}
LUAJIT_TARGET_LIBS = "-lc++abi -lpthread"
@@ -164,6 +178,24 @@ pre-configure:
cd ${STATIC_DEPS_WRKBUILD}/luv && \
${SETENV} ${MAKE_ENV} VERBOSE=1 \
${MAKE_PROGRAM} install
+
+ # Build the treesitter parsers.
+ #
+ # For this we borrow a trick from FreeBSD and re-use just the part of
+ # upstream's build system that builds the parsers.
+ mkdir -p ${PARSERS_WRKBUILD}/build/src
+ for i in ${STATIC_DEPS_WRKSRC}/parsers/*; do \
+ cp -r $${i} ${PARSERS_WRKBUILD}/build/src/$$(basename $$i); \
+ done
+ ${MAKE_ENV} ${LOCALBASE}/bin/cmake -S ${WRKSRC}/cmake.deps \
+ -B ${PARSERS_WRKBUILD} ${CONFIGURE_ARGS} \
+ -DUSE_BUNDLED_TS_PARSERS=ON \
+ -DUSE_EXISTING_SRC_DIR:BOOL=ON
+ # The following line both builds *and* installs the parsers.
+ ${MAKE_ENV} ${LOCALBASE}/bin/cmake --build ${PARSERS_WRKBUILD}
+ mkdir -p ${WRKBUILD}/lib/nvim/parser
+ cp -r ${PARSERS_WRKBUILD}/usr/lib/nvim/parser/*.so \
+ ${WRKBUILD}/lib/nvim/parser/
# These are the "old tests". There is also a new suite, but we would need the
# "busted" test suite for Lua, which is not yet ported.
Index: distinfo
===================================================================
RCS file: /cvs/ports/editors/neovim/distinfo,v
diff -u -p -r1.26 distinfo
--- distinfo 19 Aug 2024 08:50:27 -0000 1.26
+++ distinfo 11 Nov 2024 22:47:08 -0000
@@ -1,8 +1,20 @@
SHA256 (LuaJIT-LuaJIT-75e92777988017fe47c5eb290998021bbf972d1f.tar.gz) = D2kogZACTXMsZ2ReQO1bE31nqpUP7fD0SprQ89um1dI=
+SHA256 (MDeiml-tree-sitter-markdown-v0.2.3.tar.gz) = SQnWAjZD8a/DqyGVhdQDW3QD86F4SXgquAPF9zyKMdU=
SHA256 (keplerproject-lua-compat-5.3-v0.13.tar.gz) = 9dww57H9qFbuTTkr5FdkLB8MJZJkqbm/vLaAMCzoj8I=
SHA256 (luvit-luv-1.48.0-2.tar.gz) = 5kzYoBl0SSiLN99soFgSDo0jCPwwX1QxYrW/PpInOgU=
SHA256 (neovim-neovim-v0.10.1.tar.gz) = 7c6W55kDrfyzxB6agjhRGUYyXqlWj94XenCmFFAa9ok=
+SHA256 (neovim-tree-sitter-vim-v0.4.0.tar.gz) = n4Vvi0oQq0M0hVD6LTyyhGrj2OYPRYhyAFScBRxm+dU=
+SHA256 (neovim-tree-sitter-vimdoc-v3.0.0.tar.gz) = pjm/kr9Xv6HNyQyhavJ7+vJql3kGR3bdS+NMHvFFP2w=
+SHA256 (tree-sitter-grammars-tree-sitter-lua-v0.1.0.tar.gz) = Iwz8v6dO0fe4FJ6aHzTC78TFiacf4PXchWBiL4Ag1yI=
+SHA256 (tree-sitter-grammars-tree-sitter-query-v0.4.0.tar.gz) = 06Qjq2bcYrKWliXigBFmeKiiJYK1/wh3lSIhCNsvam4=
+SHA256 (tree-sitter-tree-sitter-c-v0.21.3.tar.gz) = daN4DfYRTNN0lnYcSnyf2QDHi+46Jwf1kNeMDKOiQ2g=
SIZE (LuaJIT-LuaJIT-75e92777988017fe47c5eb290998021bbf972d1f.tar.gz) = 1081633
+SIZE (MDeiml-tree-sitter-markdown-v0.2.3.tar.gz) = 418293
SIZE (keplerproject-lua-compat-5.3-v0.13.tar.gz) = 60960
SIZE (luvit-luv-1.48.0-2.tar.gz) = 134821
SIZE (neovim-neovim-v0.10.1.tar.gz) = 12796966
+SIZE (neovim-tree-sitter-vim-v0.4.0.tar.gz) = 356704
+SIZE (neovim-tree-sitter-vimdoc-v3.0.0.tar.gz) = 58110
+SIZE (tree-sitter-grammars-tree-sitter-lua-v0.1.0.tar.gz) = 56812
+SIZE (tree-sitter-grammars-tree-sitter-query-v0.4.0.tar.gz) = 42944
+SIZE (tree-sitter-tree-sitter-c-v0.21.3.tar.gz) = 366957
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/editors/neovim/pkg/PLIST,v
diff -u -p -r1.22 PLIST
--- pkg/PLIST 19 Aug 2024 08:50:27 -0000 1.22
+++ pkg/PLIST 11 Nov 2024 22:47:08 -0000
@@ -1,5 +1,13 @@
@bin bin/nvim
lib/nvim/
+lib/nvim/parser/
+@so lib/nvim/parser/c.so
+@so lib/nvim/parser/lua.so
+@so lib/nvim/parser/markdown.so
+@so lib/nvim/parser/markdown_inline.so
+@so lib/nvim/parser/query.so
+@so lib/nvim/parser/vim.so
+@so lib/nvim/parser/vimdoc.so
@man man/man1/nvim.1
share/applications/nvim.desktop
share/doc/pkg-readmes/${PKGSTEM}
--
Best Regards
Edd Barrett
https://www.theunixzoo.co.uk
editors/neovim: backport treesitter fixes to -stable