diff --git a/devel/lua-language-server/Makefile b/devel/lua-language-server/Makefile index 7018e67ed4c2..68287fa948d6 100644 --- a/devel/lua-language-server/Makefile +++ b/devel/lua-language-server/Makefile @@ -1,90 +1,92 @@ PORTNAME= lua-language-server DISTVERSION= 3.16.0 CATEGORIES= devel MAINTAINER= dave@freedave.net COMMENT= Lua development server and LSP client WWW= https://luals.github.io LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE USES= dos2unix lua:build ninja:make DOS2UNIX_REGEX= .*\.(cpp|h|lua|md|obj) USE_GITHUB= yes GH_ACCOUNT= LuaLS # There are (presently) 2 places with subtrees directly: # 3rd/ github.com/LuaLS/lua-language-server/tree/5f1226d/3rd # meta/3rd github.com/LuaLS/lua-language-server/tree/5f1226d/meta/3rd # But the 3rd/luamake, github.com/actboy168/luamake/tree/0e90778 brings in its own # separate copy of bee (not necessarily the same as in `3rd/`) that has to be # tracked down. GH_TUPLE= cppcxy:EmmyLuaCodeStyle:8500f3a:emmyluacodestyle/3rd/EmmyLuaCodeStyle \ actboy168:bee.lua:dd7853f:bee/3rd/bee.lua \ actboy168:json.lua:aff2a3d:json/3rd/json.lua \ love2d-community:love-api:8536392:love/3rd/love-api \ bjornbytes:lovr-docs:e89c753:lovr/3rd/lovr-api \ sqmedeiros:lpeglabel:912b0b9:lpeglabel/3rd/lpeglabel \ actboy168:luamake:0e90778:luamake/3rd/luamake \ LuaCATS:cocos4.0:c0b2259:cats_cocos40/meta/3rd/Cocos4.0 \ LuaCATS:defold:05379b4:cats_defold/meta/3rd/Defold \ LuaCATS:jass:80d85cb:cats_jass/meta/3rd/Jass \ LuaCATS:openresty:3bec36f:cats_openresty/meta/3rd/OpenResty \ LuaCATS:bee:c8ce19f:cats_bee/meta/3rd/bee \ LuaCATS:busted:5ed85d0:cats_busted/meta/3rd/busted \ LuaCATS:ffi-reflect:e9037ef:cats_ffi_reflect/meta/3rd/ffi-reflect \ LuaCATS:luafilesystem:9b5cfc1:cats_lfs/meta/3rd/lfs \ LuaCATS:love2d:98f7684:cats_love2d/meta/3rd/love2d \ LuaCATS:lovr:3ba215f:cats_lovr/meta/3rd/lovr \ LuaCATS:luaecs:21192fb:cats_luaecs/meta/3rd/luaecs \ LuaCATS:luassert:d3528bb:cats_luassert/meta/3rd/luassert \ LuaCATS:luv:3615eb1:cats_luv/meta/3rd/luv \ LuaCATS:skynet:afa6717:cats_skynet/meta/3rd/skynet \ actboy168:bee.lua:f242926:bee_luamake/3rd/luamake/bee.lua SUB_FILES= lua-language-server PLIST_FILES= bin/lua-language-server \ ${DATADIR_REL}/bin/lua-language-server \ ${DATADIR_REL}/bin/main.lua \ ${DATADIR_REL}/debugger.lua \ ${DATADIR_REL}/main.lua PORTDATA= locale meta script 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|%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|%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 + ${REINPLACE_CMD} -e 's|%NINJA_CMD%|${NINJA_CMD}|' ${WRKSRC}/3rd/luamake/scripts/globals.lua # `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/luamake all do-install: ${MKDIR} ${STAGEDIR}${DATADIR}/bin ${INSTALL_SCRIPT} ${WRKDIR}/lua-language-server ${STAGEDIR}${PREFIX}/bin ${INSTALL_PROGRAM} ${WRKSRC}/bin/lua-language-server ${STAGEDIR}${DATADIR}/bin ${INSTALL_SCRIPT} ${WRKSRC}/bin/main.lua ${STAGEDIR}${DATADIR}/bin ${INSTALL_DATA} ${WRKSRC}/debugger.lua ${STAGEDIR}${DATADIR} ${INSTALL_DATA} ${WRKSRC}/main.lua ${STAGEDIR}${DATADIR} cd ${WRKSRC} && ${COPYTREE_SHARE} "locale meta script" ${STAGEDIR}${DATADIR} # you may hit https://github.com/LuaLS/lua-language-server/issues/2896 do-test: cd ${WRKSRC} && 3rd/luamake/luamake unit-test .include .if ${OPSYS} == FreeBSD && ${OSVERSION} < 1500050 LIB_DEPENDS+= libinotify.so:devel/libinotify _INOTIFY_= links = "inotify", _LINK_INOTIFY_= -linotify .endif .include diff --git a/devel/lua-language-server/files/patch-3rd_luamake_compile_build.sh b/devel/lua-language-server/files/patch-3rd_luamake_compile_build.sh new file mode 100644 index 000000000000..7c017813c74c --- /dev/null +++ b/devel/lua-language-server/files/patch-3rd_luamake_compile_build.sh @@ -0,0 +1,8 @@ +--- 3rd/luamake/compile/build.sh.orig 2025-10-29 08:38:58 UTC ++++ 3rd/luamake/compile/build.sh +@@ -33,4 +33,4 @@ DIR=$(cd `dirname $0`/..; pwd) + esac + + DIR=$(cd `dirname $0`/..; pwd) +-exec ninja -f "$DIR/compile/ninja/$OS.ninja" $* ++exec %NINJA_CMD% -f "$DIR/compile/ninja/$OS.ninja" $* diff --git a/devel/lua-language-server/files/patch-3rd_luamake_scripts_globals.lua b/devel/lua-language-server/files/patch-3rd_luamake_scripts_globals.lua new file mode 100644 index 000000000000..09f3491edfbe --- /dev/null +++ b/devel/lua-language-server/files/patch-3rd_luamake_scripts_globals.lua @@ -0,0 +1,11 @@ +--- 3rd/luamake/scripts/globals.lua.orig 2025-12-08 19:07:07 UTC ++++ 3rd/luamake/scripts/globals.lua +@@ -8,6 +8,8 @@ globals.mode = globals.mode or "release" + + globals.mode = globals.mode or "release" + ++globals.ninja = globals.ninja or "%NINJA_CMD%" ++ + globals.hostos = globals.hostos or require "bee.platform".os + globals.hostshell = globals.hostshell or (function () + if globals.hostos == "windows" then