diff --git a/devel/lua-language-server/Makefile b/devel/lua-language-server/Makefile index 7e03e5c5cbce..b9b81f802d7c 100644 --- a/devel/lua-language-server/Makefile +++ b/devel/lua-language-server/Makefile @@ -1,102 +1,104 @@ PORTNAME= lua-language-server DISTVERSION= 3.18.2 PORTEPOCH= 1 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 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: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: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 \ LuaCATS:openresty:3bec36f0:openresty/meta/3rd/OpenResty \ LuaCATS:bee:c8ce19fd:bee/meta/3rd/bee \ LuaCATS:busted:5ed85d0e:busted/meta/3rd/busted \ LuaCATS:ffi-reflect:e9037efc:ffireflect/meta/3rd/ffi-reflect \ LuaCATS:luafilesystem:9b5cfc15:luafilesystem/meta/3rd/lfs \ LuaCATS:love2d:98f76845:love2d/meta/3rd/love2d \ LuaCATS:lovr:3ba215f9:lovr/meta/3rd/lovr \ LuaCATS:luaecs:21192fbd:luaecs/meta/3rd/luaecs \ LuaCATS:luassert:d3528bb6:luassert/meta/3rd/luassert \ LuaCATS:luv:3615eb12:luv/meta/3rd/luv \ LuaCATS:skynet:afa6717a:skynet/meta/3rd/skynet SUB_FILES= lua-language-server pkg-message 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 PORTEXAMPLES= neovim.luarc.json OPTIONS_DEFINE= EXAMPLES EXAMPLES_SUB_FILES= neovim.luarc.json .include # `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|%CC%|${CCACHE_BIN} ${CC}|' ${WRKSRC}/3rd/luamake/compile/ninja/freebsd.ninja + ${REINPLACE_CMD} -e 's|%CC%|${CCACHE_BIN} ${CC}|' ${WRKSRC}/3rd/luamake/scripts/globals.lua ${REINPLACE_CMD} -e 's|%LOCALBASE%|${LOCALBASE}|' ${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|%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 ${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 notest - cd ${WRKSRC} && 3rd/luamake/luamake all + cd ${WRKSRC}/3rd/luamake && compile/build.sh -v notest + cd ${WRKSRC} && env && 3rd/luamake/luamake -v 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} 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 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 65683bf52268..fb6bb9a806e7 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,29 +1,38 @@ ---- 3rd/luamake/compile/ninja/freebsd.ninja.orig 2026-01-10 05:26:24 UTC +--- 3rd/luamake/compile/ninja/freebsd.ninja.orig 2025-12-23 05:34:22 UTC +++ 3rd/luamake/compile/ninja/freebsd.ninja +@@ -2,7 +2,7 @@ obj = $builddir/obj + builddir = build/freebsd + bin = $builddir/bin + obj = $builddir/obj +-cc = clang ++cc = %CC% + ar = ar + luamake = luamake + rule c_source_lua @@ -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/lua55 -isystem $ - /usr/local/include -DNDEBUG -o $out -c $in + %LOCALBASE%/include -DNDEBUG -o $out -c $in description = Compile C++ $out deps = gcc depfile = $out.d @@ -126,7 +126,7 @@ rule link_bootstrap build $obj/source_bootstrap/main.obj: cxx_source_bootstrap $ 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 %INOTIFY_LIB% -L%LOCALBASE%/lib -pthread -lm $ -Wl,--push-state,-Bstatic -lstdc++ -Wl,--pop-state -Wl,-S,-x description = Link Exe $out rule copy @@ -138,7 +138,7 @@ rule link_luamake description = Run test. pool = console rule link_luamake - command = $cc $in -o $out -linotify -L/usr/local/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/patch-3rd_luamake_scripts_globals.lua b/devel/lua-language-server/files/patch-3rd_luamake_scripts_globals.lua index 09f3491edfbe..41c3cfa1950d 100644 --- a/devel/lua-language-server/files/patch-3rd_luamake_scripts_globals.lua +++ b/devel/lua-language-server/files/patch-3rd_luamake_scripts_globals.lua @@ -1,11 +1,12 @@ ---- 3rd/luamake/scripts/globals.lua.orig 2025-12-08 19:07:07 UTC +--- 3rd/luamake/scripts/globals.lua.orig 2026-04-24 13:47:30 UTC +++ 3rd/luamake/scripts/globals.lua -@@ -8,6 +8,8 @@ globals.mode = globals.mode or "release" +@@ -8,6 +8,9 @@ globals.mode = globals.mode or "release" globals.mode = globals.mode or "release" +globals.ninja = globals.ninja or "%NINJA_CMD%" ++globals.cc = "%CC%" + globals.hostos = globals.hostos or require "bee.platform".os globals.hostshell = globals.hostshell or (function () if globals.hostos == "windows" then