1PORTNAME=	grok-cli
2DISTVERSION=	0.0.34
3CATEGORIES=	misc
4
5MAINTAINER=	ports@MidnightBSD.org
6COMMENT=	Open-source AI agent bringing Grok to your terminal
7WWW=		https://github.com/superagent-ai/grok-cli
8
9LICENSE=	mit
10LICENSE_FILE=	${WRKSRC}/node_modules/${PACKAGE_NAME}/LICENSE
11
12FETCH_DEPENDS=	npm:www/npm \
13		jq:textproc/jq \
14		${LOCALBASE}/share/certs/ca-root-nss.crt:security/ca_root_nss
15RUN_DEPENDS=	rg:textproc/ripgrep
16
17USES=		nodejs:run
18
19NO_BUILD=	yes
20NO_ARCH=	yes
21
22PACKAGE_NAME=	@vibe-kit/grok-cli
23
24FETCH_SCRIPT=	${PORTSDIR}/Tools/scripts/npmjs-fetch-with-dependencies.sh
25
26do-fetch:
27	@if ! [ -f ${DISTDIR}/${PORTNAME}-${DISTVERSION}${EXTRACT_SUFX} ]; then \
28		${SETENV} TMPDIR=${WRKDIR} LOCALBASE=${LOCALBASE} ${FETCH_SCRIPT} \
29			${PACKAGE_NAME} ${DISTVERSION} \
30			${FILESDIR}/package-lock.json \
31			${DISTDIR}/${PORTNAME}-${DISTVERSION}${EXTRACT_SUFX}; \
32	fi
33
34do-install:
35	# install files
36	@${MKDIR} ${PREFIX}/lib
37	@cd ${WRKSRC} && \
38		${COPYTREE_SHARE} node_modules ${PREFIX}/lib
39	# update shebang
40	${REINPLACE_CMD} -i '' \
41		-e "s|#!/usr/bin/env node|#!${TRUE_PREFIX}/bin/node|" \
42		${PREFIX}/lib/node_modules/${PACKAGE_NAME}/dist/index.js
43	# set exec bit
44	@${CHMOD} +x ${PREFIX}/lib/node_modules/${PACKAGE_NAME}/dist/index.js
45	# create wrapper script
46	@${MKDIR} ${PREFIX}/bin
47	@${ECHO_CMD} '#!/bin/sh' > ${PREFIX}/bin/grok
48	@${ECHO_CMD} 'exec ${TRUE_PREFIX}/lib/node_modules/${PACKAGE_NAME}/dist/index.js "$$@"' >> ${PREFIX}/bin/grok
49	@${CHMOD} +x ${PREFIX}/bin/grok
50	@${FIND} -s ${PREFIX}/lib/node_modules -not -type d | \
51		${SED} "s,^${PREFIX}/,," >> ${TMPPLIST}
52	@${FIND} -s -d ${PREFIX}/lib/node_modules -type d | \
53		${SED} "s,^${PREFIX}/,@dir ," >> ${TMPPLIST}
54
55.include <bsd.port.mk>
56