diff options
| author | cashmere <cashmere@autistici.org> | 2026-07-12 02:37:06 +0200 |
|---|---|---|
| committer | cashmere <cashmere@autistici.org> | 2026-07-12 02:37:06 +0200 |
| commit | 76dcfdc25e93f84f542adbd9519c72af5d4aadc2 (patch) | |
| tree | 7b3634690e2f3dbde65702f565191ca6b93e0ffa /devel/bash-language-server/Makefile | |
| parent | 235b173983eced9c291beacf681ae0bb2f1d6de5 (diff) | |
| download | ports-76dcfdc25e93f84f542adbd9519c72af5d4aadc2.tar.gz | |
devel: add lsp-server
Diffstat (limited to 'devel/bash-language-server/Makefile')
| -rw-r--r-- | devel/bash-language-server/Makefile | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/devel/bash-language-server/Makefile b/devel/bash-language-server/Makefile new file mode 100644 index 0000000..7005e71 --- /dev/null +++ b/devel/bash-language-server/Makefile @@ -0,0 +1,69 @@ +PORTNAME= bash-language-server +DISTVERSION= 5.6.0 +CATEGORIES= devel + +MAINTAINER= cashmere@autistici.org +COMMENT= Language server for Bash +WWW= https://github.com/bash-lsp/bash-language-server + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/lib/node_modules/${PACKAGE_NAME}/LICENSE + +LICENSE_URL= https://raw.githubusercontent.com/bash-lsp/bash-language-server/server-${DISTVERSION}/LICENSE + +BUILD_DEPENDS= npm:www/npm +FETCH_DEPENDS= npm:www/npm + +USES= nodejs:build,run + +NO_BUILD= yes +NO_ARCH= yes + +PACKAGE_NAME= bash-language-server + +do-fetch: + @if ! [ -f ${DISTDIR}/${PORTNAME}-${DISTVERSION}${EXTRACT_SUFX} ]; then ( \ + ${MKDIR} -p ${WRKDIR}/${PORTNAME}-${DISTVERSION} && \ + cd ${WRKDIR}/${PORTNAME}-${DISTVERSION} && \ + if [ -f ${FILESDIR}/package-lock.json ]; then \ + ${ECHO} '{"name":"bash-language-server-installer","version":"1.0.0","dependencies":{"${PACKAGE_NAME}":"^${DISTVERSION}"}}' > package.json && \ + ${CP} ${FILESDIR}/package-lock.json . ; \ + ${SETENV} HOME=${WRKDIR} npm ci --ignore-scripts --global-style --legacy-peer-deps --omit=dev ; \ + else \ + ${ECHO} '{"name":"bash-language-server-installer","version":"1.0.0"}' > package.json && \ + npm install --package-lock-only --global-style --legacy-peer-deps ${PACKAGE_NAME}@${DISTVERSION} && \ + ${CP} package-lock.json ${WRKDIR}/package-lock.json.generated && \ + ${ECHO} "" && \ + ${ECHO} "=====================================================================" && \ + ${ECHO} "WARNING: package-lock.json not found in files/ directory" && \ + ${ECHO} "Generated one at: ${WRKDIR}/package-lock.json.generated" && \ + ${ECHO} "" && \ + ${ECHO} "To enable reproducible builds, please:" && \ + ${ECHO} " 1. mkdir -p ${.CURDIR}/files" && \ + ${ECHO} " 2. cp ${WRKDIR}/package-lock.json.generated ${.CURDIR}/files/package-lock.json" && \ + ${ECHO} " 3. Re-run 'make clean distclean && make fetch'" && \ + ${ECHO} "=====================================================================" && \ + ${ECHO} "" && \ + ${SETENV} HOME=${WRKDIR} npm ci --ignore-scripts --global-style --legacy-peer-deps --omit=dev ; \ + fi && \ + ${MKDIR} -p lib/node_modules && \ + ${MKDIR} -p bin && \ + ${MV} node_modules/${PACKAGE_NAME} lib/node_modules/ && \ + ${LN} -sf ../lib/node_modules/${PACKAGE_NAME}/out/cli.js bin/bash-language-server && \ + ${FETCH_CMD} -o lib/node_modules/${PACKAGE_NAME}/LICENSE ${LICENSE_URL} && \ + ${RM} -rf node_modules package.json package-lock.json && \ + ${FIND} ${WRKDIR} -and -exec ${TOUCH} -h -d 1970-01-01T00:00:00Z {} \; && \ + cd ${WRKDIR} && ${FIND} ${PORTNAME}-${DISTVERSION} -print0 | ${SORT} -z | \ + ${TAR} czf ${DISTDIR}/${PORTNAME}-${DISTVERSION}${EXTRACT_SUFX} --format=bsdtar --gid 0 --uid 0 --options gzip:!timestamp --no-recursion --null -T - \ + ); fi + +do-install: + @cd ${WRKSRC} && \ + ${COPYTREE_SHARE} . ${STAGEDIR}${PREFIX} + ${REINPLACE_CMD} \ + -e "s|#!/usr/bin/env node|#!${PREFIX}/bin/node|" \ + ${STAGEDIR}${PREFIX}/lib/node_modules/${PACKAGE_NAME}/out/cli.js + @${RM} -f ${STAGEDIR}${PREFIX}/lib/node_modules/${PACKAGE_NAME}/out/cli.js.bak + @${CHMOD} +x ${STAGEDIR}${PREFIX}/lib/node_modules/${PACKAGE_NAME}/out/cli.js + +.include <bsd.port.mk> |
