summaryrefslogtreecommitdiff
path: root/misc/claude-code/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'misc/claude-code/Makefile')
-rw-r--r--misc/claude-code/Makefile27
1 files changed, 19 insertions, 8 deletions
diff --git a/misc/claude-code/Makefile b/misc/claude-code/Makefile
index 545387b96977..2709335905c5 100644
--- a/misc/claude-code/Makefile
+++ b/misc/claude-code/Makefile
@@ -1,12 +1,14 @@
PORTNAME= claude-code
-DISTVERSION= 2.0.55
+DISTVERSION= 2.0.58
CATEGORIES= misc # machine-learning
MAINTAINER= yuri@FreeBSD.org
COMMENT= Agentic coding tool from Anthropic that lives in your terminal
WWW= https://github.com/anthropics/claude-code
-FETCH_DEPENDS= npm:www/npm
+FETCH_DEPENDS= npm:www/npm \
+ jq:textproc/jq
+RUN_DEPENDS= rg:textproc/ripgrep
USES= nodejs:run
@@ -15,23 +17,32 @@ NO_ARCH= yes
PACKAGE_NAME= @anthropic-ai/claude-code
+FETCH_SCRIPT= ${PORTSDIR}/Tools/scripts/npmjs-fetch-with-dependencies.sh
+
do-fetch:
@if ! [ -f ${DISTDIR}/${PORTNAME}-${DISTVERSION}${EXTRACT_SUFX} ]; then \
- npm install --prefix ${WRKSRC} -g ${PACKAGE_NAME}@${DISTVERSION} && \
- ${FIND} ${WRKDIR} -and -exec ${TOUCH} -h -d 1970-01-01T00:00:00Z {} \; && \
- cd ${WRKDIR} && ${FIND} ${PORTNAME}-${DISTVERSION} -print0 | LC_ALL=C ${SORT} -z | \
- ${TAR} czf ${DISTDIR}/${PORTNAME}-${DISTVERSION}${EXTRACT_SUFX} --format=bsdtar --gid 0 --uid 0 --options gzip:!timestamp --no-recursion --null -T -; \
+ ${SETENV} TMPDIR=${WRKDIR} ${FETCH_SCRIPT} \
+ ${PACKAGE_NAME} ${DISTVERSION} \
+ ${FILESDIR}/package-lock.json \
+ ${DISTDIR}/${PORTNAME}-${DISTVERSION}${EXTRACT_SUFX}; \
fi
do-install:
# install files
+ @${MKDIR} ${STAGEDIR}${PREFIX}/lib
@cd ${WRKSRC} && \
- ${COPYTREE_SHARE} . ${STAGEDIR}${PREFIX}
- # update
+ ${COPYTREE_SHARE} node_modules ${STAGEDIR}${PREFIX}/lib
+ # update shebang
${REINPLACE_CMD} -i '' \
-e "s|#!/usr/bin/env node|#!${PREFIX}/bin/node|" \
${STAGEDIR}${PREFIX}/lib/node_modules/${PACKAGE_NAME}/cli.js
# set exec bit
@${CHMOD} +x ${STAGEDIR}${PREFIX}/lib/node_modules/${PACKAGE_NAME}/cli.js
+ # create wrapper script that uses system ripgrep
+ @${MKDIR} ${STAGEDIR}${PREFIX}/bin
+ @${ECHO_CMD} '#!/bin/sh' > ${STAGEDIR}${PREFIX}/bin/claude
+ @${ECHO_CMD} 'export USE_BUILTIN_RIPGREP=false' >> ${STAGEDIR}${PREFIX}/bin/claude
+ @${ECHO_CMD} 'exec ${PREFIX}/lib/node_modules/${PACKAGE_NAME}/cli.js "$$@"' >> ${STAGEDIR}${PREFIX}/bin/claude
+ @${CHMOD} +x ${STAGEDIR}${PREFIX}/bin/claude
.include <bsd.port.mk>