git: e5b44f14fc84 - main - devel/lua-language-server: Update to 3.17.1
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 10 Feb 2026 21:14:41 UTC
The branch main has been updated by adamw:
URL: https://cgit.FreeBSD.org/ports/commit/?id=e5b44f14fc84d510678492bba5135c7357863686
commit e5b44f14fc84d510678492bba5135c7357863686
Author: Dave Marker <dave@freedave.net>
AuthorDate: 2026-02-10 21:03:44 +0000
Commit: Adam Weinberger <adamw@FreeBSD.org>
CommitDate: 2026-02-10 21:14:37 +0000
devel/lua-language-server: Update to 3.17.1
By design, LuaLS wants to create a `.luarc.json` in your project root.
This file defines important things, like module paths, global symbols,
etc.
For those of us addicted to Neovim, LuaLS is all about making the most
of our nvim configs. Operating on the assumption that everybody likes
the same thing we do, this port now supplies a (STRONGLY) recommended
luarc in $EXAMPLESDIR, and a pkg-message pointing to it.
Also, testing during build phase has been disabled. There are some flaky
tests that can lead to failures when the system is under load.
Reported by: Dave Marker
Approved by: maintainer (Dave Marker)
Differential Revision: https://reviews.freebsd.org/D54657
---
devel/lua-language-server/Makefile | 53 +++++++++++++---------
devel/lua-language-server/distinfo | 26 +++++------
.../lua-language-server/files/neovim.luarc.json.in | 20 ++++++++
.../files/patch-3rd_bee.lua_compile_common.lua | 8 ++--
.../patch-3rd_luamake_compile_ninja_freebsd.ninja | 8 ++--
devel/lua-language-server/files/pkg-message.in | 12 +++++
6 files changed, 85 insertions(+), 42 deletions(-)
diff --git a/devel/lua-language-server/Makefile b/devel/lua-language-server/Makefile
index 032c47e016af..ee3441295a61 100644
--- a/devel/lua-language-server/Makefile
+++ b/devel/lua-language-server/Makefile
@@ -1,5 +1,5 @@
PORTNAME= lua-language-server
-DISTVERSION= 3.16.1
+DISTVERSION= 3.17.1
PORTEPOCH= 1
CATEGORIES= devel
@@ -10,23 +10,23 @@ WWW= https://luals.github.io
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
-USES= dos2unix lua:build ninja:make
-DOS2UNIX_REGEX= .*\.(cpp|h|lua|md|obj)
+USES= dos2unix inotify ninja:make
+DOS2UNIX_REGEX= .*\.(cpp|h|json|lua|md|obj)
USE_GITHUB= yes
GH_ACCOUNT= LuaLS
# autogenerated with:
# submodules2tuple -v -b $DISTVERSION https://github.com/LuaLS/lua-language-server
# But then you must distinguish the 2 `bee.lua` manually.
-GH_TUPLE= CppCXY:EmmyLuaCodeStyle:8500f3af:emmyluacodestyle/3rd/EmmyLuaCodeStyle \
- actboy168:bee.lua:ee7efd07:beelua/3rd/bee.lua \
- actboy168:json.lua:f94860ef:jsonlua/3rd/json.lua \
+GH_TUPLE= CppCXY:EmmyLuaCodeStyle:8c4289b7:emmyluacodestyle/3rd/EmmyLuaCodeStyle \
+ actboy168:bee.lua:f55b6988:beelua/3rd/bee.lua \
+ actboy168:json.lua:08095fd2:jsonlua/3rd/json.lua \
actboy168:ltest:0d2d81f:ltest/3rd/json.lua/test/ltest \
love2d-community:love-api:85363928:loveapi/3rd/love-api \
bjornbytes:lovr-docs:e89c753e:lovrdocs/3rd/lovr-api \
sqmedeiros:lpeglabel:912b0b9e:lpeglabel/3rd/lpeglabel \
- actboy168:luamake:a83fa224:luamake/3rd/luamake \
- actboy168:bee.lua:973fd8a:beelua_luamake/3rd/luamake/bee.lua \
+ actboy168:luamake:4c4bd16c:luamake/3rd/luamake \
+ actboy168:bee.lua:466c4f0:beelua_luamake/3rd/luamake/bee.lua \
LuaCATS:cocos4.0:c0b2259e:cocos40/meta/3rd/Cocos4.0 \
LuaCATS:defold:05379b40:defold/meta/3rd/Defold \
LuaCATS:jass:80d85cbb:jass/meta/3rd/Jass \
@@ -42,7 +42,7 @@ GH_TUPLE= CppCXY:EmmyLuaCodeStyle:8500f3af:emmyluacodestyle/3rd/EmmyLuaCodeStyle
LuaCATS:luv:3615eb12:luv/meta/3rd/luv \
LuaCATS:skynet:afa6717a:skynet/meta/3rd/skynet
-SUB_FILES= lua-language-server
+SUB_FILES= lua-language-server pkg-message
PLIST_FILES= bin/lua-language-server \
${DATADIR_REL}/bin/lua-language-server \
@@ -52,11 +52,24 @@ PLIST_FILES= bin/lua-language-server \
PORTDATA= locale meta script
+PORTEXAMPLES= neovim.luarc.json
+
+OPTIONS_DEFINE= EXAMPLES
+
+EXAMPLES_SUB_FILES= neovim.luarc.json
+
+.include <bsd.port.pre.mk>
+
+# `luamake' has its own syntax for linking of inotify library
+.if defined(INOTIFY_PORT)
+LM_INOTIFY_LINK= links = "inotify",
+.endif
+
post-patch:
${REINPLACE_CMD} -e 's|%LOCALBASE%|${LOCALBASE}|' ${WRKSRC}/3rd/bee.lua/compile/common.lua
- ${REINPLACE_CMD} -e 's|%INOTIFY%|${_INOTIFY_}|' ${WRKSRC}/3rd/bee.lua/compile/common.lua
+ ${REINPLACE_CMD} -e 's|%LM_INOTIFY_LINK%|${LM_INOTIFY_LINK}|' ${WRKSRC}/3rd/bee.lua/compile/common.lua
${REINPLACE_CMD} -e 's|%LOCALBASE%|${LOCALBASE}|' ${WRKSRC}/3rd/luamake/compile/ninja/freebsd.ninja
- ${REINPLACE_CMD} -e 's|%LINK_INOTIFY%|${_LINK_INOTIFY_}|' ${WRKSRC}/3rd/luamake/compile/ninja/freebsd.ninja
+ ${REINPLACE_CMD} -e 's|%INOTIFY_LIB%|${INOTIFY_LIB}|' ${WRKSRC}/3rd/luamake/compile/ninja/freebsd.ninja
${REINPLACE_CMD} -e 's|%WRKDIR%|${WRKDIR}|' ${WRKSRC}/3rd/luamake/bee.lua/test/test.lua
${REINPLACE_CMD} -e 's|%WRKDIR%|${WRKDIR}|' ${WRKSRC}/3rd/bee.lua/test/test.lua
${REINPLACE_CMD} -e 's|%NINJA_CMD%|${NINJA_CMD}|' ${WRKSRC}/3rd/luamake/compile/build.sh
@@ -64,7 +77,7 @@ post-patch:
# `luamake all` instead of `luamake rebuild` because there is a flaky test
do-build:
- cd ${WRKSRC}/3rd/luamake && compile/build.sh
+ cd ${WRKSRC}/3rd/luamake && compile/build.sh notest
cd ${WRKSRC} && 3rd/luamake/luamake all
do-install:
@@ -76,16 +89,14 @@ do-install:
${INSTALL_DATA} ${WRKSRC}/main.lua ${STAGEDIR}${DATADIR}
cd ${WRKSRC} && ${COPYTREE_SHARE} "locale meta script" ${STAGEDIR}${DATADIR}
+do-install-EXAMPLES-on:
+ ${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
+ ${INSTALL_DATA} ${WRKDIR}/neovim.luarc.json ${STAGEDIR}${EXAMPLESDIR}
+
# you may hit https://github.com/LuaLS/lua-language-server/issues/2896
+# also an incorrect test for bee (in both versions) doing thread.sleep
do-test:
+ cd ${WRKSRC}/3rd/luamake && build/freebsd/bin/luamake bee.lua/test/test.lua
cd ${WRKSRC} && 3rd/luamake/luamake unit-test
-.include <bsd.port.options.mk>
-
-.if ${OPSYS} == FreeBSD && ${OSVERSION} < 1500050
-LIB_DEPENDS+= libinotify.so:devel/libinotify
-_INOTIFY_= links = "inotify",
-_LINK_INOTIFY_= -linotify
-.endif
-
-.include <bsd.port.mk>
+.include <bsd.port.post.mk>
diff --git a/devel/lua-language-server/distinfo b/devel/lua-language-server/distinfo
index 6c6f32a4ff88..4c5344bef4b3 100644
--- a/devel/lua-language-server/distinfo
+++ b/devel/lua-language-server/distinfo
@@ -1,12 +1,12 @@
-TIMESTAMP = 1765405060
-SHA256 (LuaLS-lua-language-server-3.16.1_GH0.tar.gz) = d16d0fa977b6f167fa936f779814335d409658dd5c255f9f9b0fd296fbba4330
-SIZE (LuaLS-lua-language-server-3.16.1_GH0.tar.gz) = 3088143
-SHA256 (CppCXY-EmmyLuaCodeStyle-8500f3af_GH0.tar.gz) = 989a85a7b77077ff723837868e268cf378c81abcf37da95e86b56d9b1aa16739
-SIZE (CppCXY-EmmyLuaCodeStyle-8500f3af_GH0.tar.gz) = 5421604
-SHA256 (actboy168-bee.lua-ee7efd07_GH0.tar.gz) = 4e4eb3fefc17b4ae3237c78e2859f1fb0e7e78767f9940866a92a842620af72d
-SIZE (actboy168-bee.lua-ee7efd07_GH0.tar.gz) = 813240
-SHA256 (actboy168-json.lua-f94860ef_GH0.tar.gz) = aaccd6b09a8b337da6b8c0ee93c4c7ba790bcdbc3b296540e445fc4eb8a9ecb8
-SIZE (actboy168-json.lua-f94860ef_GH0.tar.gz) = 27721
+TIMESTAMP = 1768956693
+SHA256 (LuaLS-lua-language-server-3.17.1_GH0.tar.gz) = 0946c926ba47a7299c4ff9b2dd0a068dd8ebd7697646812f7731176174b4886f
+SIZE (LuaLS-lua-language-server-3.17.1_GH0.tar.gz) = 3101345
+SHA256 (CppCXY-EmmyLuaCodeStyle-8c4289b7_GH0.tar.gz) = b37d54f3f86eaa5fbdf988b756767d3e7cb9628b9e0d3e8598353eed73a19fe4
+SIZE (CppCXY-EmmyLuaCodeStyle-8c4289b7_GH0.tar.gz) = 5424097
+SHA256 (actboy168-bee.lua-f55b6988_GH0.tar.gz) = 0438c3f87b3d81e3443fc64c0a792c4d4453a45f24a18b4d489db2f8ad611dd6
+SIZE (actboy168-bee.lua-f55b6988_GH0.tar.gz) = 814471
+SHA256 (actboy168-json.lua-08095fd2_GH0.tar.gz) = 70f3436ded730def337fb5859fe152cdfe816a9591a137615750229cbf121d32
+SIZE (actboy168-json.lua-08095fd2_GH0.tar.gz) = 27720
SHA256 (actboy168-ltest-0d2d81f_GH0.tar.gz) = 180c0f0cfbd69211859eb59a9288542ab03bcef447d3bde59b1b06f811c11bbe
SIZE (actboy168-ltest-0d2d81f_GH0.tar.gz) = 9069
SHA256 (love2d-community-love-api-85363928_GH0.tar.gz) = 5b21e1e2c1ba6841c2a2865002a4a45890a7d6c146596e502ce0dbea7bbe6919
@@ -15,10 +15,10 @@ SHA256 (bjornbytes-lovr-docs-e89c753e_GH0.tar.gz) = a21fd33355c5518dda1e1e75c2d7
SIZE (bjornbytes-lovr-docs-e89c753e_GH0.tar.gz) = 18279829
SHA256 (sqmedeiros-lpeglabel-912b0b9e_GH0.tar.gz) = e1d3784369f895d417d2e2c7f89725ea8a9133e4584f91681bf877aadd71922d
SIZE (sqmedeiros-lpeglabel-912b0b9e_GH0.tar.gz) = 83079
-SHA256 (actboy168-luamake-a83fa224_GH0.tar.gz) = c101a9d759c6c869a2033ed1249a9df455f1f54d088c8c627c73286ee2212959
-SIZE (actboy168-luamake-a83fa224_GH0.tar.gz) = 78683
-SHA256 (actboy168-bee.lua-973fd8a_GH0.tar.gz) = 302fb5874e69ca9dd20f2a31c2b36468bbd8401c0b92f618b54efb1d27402a4c
-SIZE (actboy168-bee.lua-973fd8a_GH0.tar.gz) = 812356
+SHA256 (actboy168-luamake-4c4bd16c_GH0.tar.gz) = bcfff1713bbcfeaddefe8838c9ff0bc78eb97e90f01fbb1287c6030ebbc91b76
+SIZE (actboy168-luamake-4c4bd16c_GH0.tar.gz) = 78930
+SHA256 (actboy168-bee.lua-466c4f0_GH0.tar.gz) = 1d82a12f1d29724b613fee0eff54ae419aa73930c5733fd5bff3ce8c907796d6
+SIZE (actboy168-bee.lua-466c4f0_GH0.tar.gz) = 813551
SHA256 (LuaCATS-cocos4.0-c0b2259e_GH0.tar.gz) = 72b03a152e82e8ee08ca6477a52ea98273a4d9f29f2595d47a8d1b878605483e
SIZE (LuaCATS-cocos4.0-c0b2259e_GH0.tar.gz) = 165303
SHA256 (LuaCATS-defold-05379b40_GH0.tar.gz) = b8ab1a5043543425c8fe3c9d8e2a42a4ee450fd0322fcdb9f41d0cdfe5461b71
diff --git a/devel/lua-language-server/files/neovim.luarc.json.in b/devel/lua-language-server/files/neovim.luarc.json.in
new file mode 100644
index 000000000000..1cf1f690f693
--- /dev/null
+++ b/devel/lua-language-server/files/neovim.luarc.json.in
@@ -0,0 +1,20 @@
+@comment | Allows editors/neovim, when configured to use lua-language-server,
+@comment | to check against the correct version of lua and find neovim specific
+@comment | symbols for its own lua configuration.
+{
+ "schema": "https://raw.githubusercontent.com/LuaLS/vscode-lua/master/setting/schema.json",
+ "runtime": {
+ "version": "LuaJIT",
+ "path": [
+ "?.lua",
+ "?/init.lua"
+ ],
+ },
+ "workspace": {
+ "library": [
+ "$VIMRUNTIME",
+ "${3rd}/luv/library",
+ ],
+ "checkThirdParty": false
+ }
+}
diff --git a/devel/lua-language-server/files/patch-3rd_bee.lua_compile_common.lua b/devel/lua-language-server/files/patch-3rd_bee.lua_compile_common.lua
index 7a2493f85406..1dee63605160 100644
--- a/devel/lua-language-server/files/patch-3rd_bee.lua_compile_common.lua
+++ b/devel/lua-language-server/files/patch-3rd_bee.lua_compile_common.lua
@@ -1,6 +1,6 @@
---- 3rd/bee.lua/compile/common.lua.orig 2025-12-03 14:18:20 UTC
+--- 3rd/bee.lua/compile/common.lua.orig 2026-01-10 05:26:24 UTC
+++ 3rd/bee.lua/compile/common.lua
-@@ -207,7 +207,7 @@ lm:source_set "source_bee" {
+@@ -210,7 +210,7 @@ lm:source_set "source_bee" {
}
},
freebsd = {
@@ -9,13 +9,13 @@
sources = need {
"bsd",
"posix",
-@@ -291,8 +291,8 @@ lm:source_set "source_bee" {
+@@ -294,8 +294,8 @@ lm:source_set "source_bee" {
ldflags = "-pthread"
},
freebsd = {
- links = "inotify",
- linkdirs = "/usr/local/lib",
-+ %INOTIFY%
++ %LM_INOTIFY_LINK%
+ linkdirs = "%LOCALBASE%/lib",
ldflags = "-pthread"
},
diff --git a/devel/lua-language-server/files/patch-3rd_luamake_compile_ninja_freebsd.ninja b/devel/lua-language-server/files/patch-3rd_luamake_compile_ninja_freebsd.ninja
index 99b26383fb2c..65683bf52268 100644
--- a/devel/lua-language-server/files/patch-3rd_luamake_compile_ninja_freebsd.ninja
+++ b/devel/lua-language-server/files/patch-3rd_luamake_compile_ninja_freebsd.ninja
@@ -1,9 +1,9 @@
---- 3rd/luamake/compile/ninja/freebsd.ninja.orig 2025-10-29 08:38:58 UTC
+--- 3rd/luamake/compile/ninja/freebsd.ninja.orig 2026-01-10 05:26:24 UTC
+++ 3rd/luamake/compile/ninja/freebsd.ninja
@@ -30,7 +30,7 @@ rule cxx_source_bee_2
rule cxx_source_bee_2
command = $cc -MMD -MT $out -MF $out.d -std=c++17 -fno-rtti -O2 -Wall $
- -fvisibility=hidden -Ibee.lua -Ibee.lua/3rd/lua54 -isystem $
+ -fvisibility=hidden -Ibee.lua -Ibee.lua/3rd/lua55 -isystem $
- /usr/local/include -DNDEBUG -o $out -c $in
+ %LOCALBASE%/include -DNDEBUG -o $out -c $in
description = Compile C++ $out
@@ -14,7 +14,7 @@
bee.lua/bootstrap/main.cpp
rule link_bootstrap
- command = $cc $in -o $out -Wl,-E -linotify -L/usr/local/lib -pthread -lm $
-+ command = $cc $in -o $out -Wl,-E %LINK_INOTIFY% -L%LOCALBASE%/lib -pthread -lm $
++ command = $cc $in -o $out -Wl,-E %INOTIFY_LIB% -L%LOCALBASE%/lib -pthread -lm $
-Wl,--push-state,-Bstatic -lstdc++ -Wl,--pop-state -Wl,-S,-x
description = Link Exe $out
rule copy
@@ -23,7 +23,7 @@
pool = console
rule link_luamake
- command = $cc $in -o $out -linotify -L/usr/local/lib -pthread -lm $
-+ command = $cc $in -o $out %LINK_INOTIFY% -L%LOCALBASE%/lib -pthread -lm $
++ command = $cc $in -o $out %INOTIFY_LIB% -L%LOCALBASE%/lib -pthread -lm $
-lstdc++ -Wl,-S,-x
description = Link Exe $out
rule build_luamake_test
diff --git a/devel/lua-language-server/files/pkg-message.in b/devel/lua-language-server/files/pkg-message.in
new file mode 100644
index 000000000000..5cec463c378f
--- /dev/null
+++ b/devel/lua-language-server/files/pkg-message.in
@@ -0,0 +1,12 @@
+[
+{ type: install
+ message: <<EOM
+If you intend to use lua-language-server on your lua configuration of
+editors/neovim, consider:
+ cp %%EXAMPLESDIR%%/neovim.luarc.json ~/.config/nvim/.luarc.json
+
+This will allow lua-language-server to understand the neovim specific
+lua symbols rather than flag them as undefined.
+EOM
+}
+]