# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DESCRIPTION="ACP adapter for the Claude Agent SDK, VS Code-parity"
HOMEPAGE="https://github.com/agentclientprotocol/claude-agent-acp"
SRC_URI="https://github.com/agentclientprotocol/claude-agent-acp/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/${P}"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="-* ~amd64"
# strip/bindist: the bundle ships a Bun-compiled native Claude CLI binary.
# network-sandbox: npm install needs to fetch packages from the registry.
RESTRICT="mirror strip bindist network-sandbox"
RDEPEND=">=net-libs/nodejs-24"
BDEPEND=">=net-libs/nodejs-24"
QA_PREBUILT="usr/lib/node_modules/${PN}/node_modules/@anthropic-ai/claude-agent-sdk-linux-x64/claude"
src_compile() {
npm install || die
npm run build || die
npm prune --omit=dev || die
}
src_install() {
local destdir="/usr/lib/node_modules/${PN}"
dodir "${destdir}"
cp -a "${S}/dist" "${S}/node_modules" "${S}/package.json" \
"${ED}${destdir}/" || die
rm -rf "${ED}${destdir}/dist/tests" || die
fperms 0755 "${destdir}/node_modules/@anthropic-ai/claude-agent-sdk-linux-x64/claude"
dodir /usr/bin
cat > "${ED}/usr/bin/${PN}" <<-EOF
#!/bin/sh
exec node /usr/lib/node_modules/${PN}/dist/index.js "\$@"
EOF
fperms 0755 "/usr/bin/${PN}"
}
pkg_postinst() {
elog "claude-agent-acp requires an Anthropic API key to function."
elog "Set ANTHROPIC_API_KEY in your environment before running."
}