summaryrefslogtreecommitdiff
path: root/devel/lua-language-server/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'devel/lua-language-server/Makefile')
-rw-r--r--devel/lua-language-server/Makefile92
1 files changed, 92 insertions, 0 deletions
diff --git a/devel/lua-language-server/Makefile b/devel/lua-language-server/Makefile
new file mode 100644
index 000000000000..68287fa948d6
--- /dev/null
+++ b/devel/lua-language-server/Makefile
@@ -0,0 +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 <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>