diff options
| -rw-r--r-- | dev-util/claude-code/claude-code-1.0.83-r1.ebuild | 64 | ||||
| -rw-r--r-- | dev-util/claude-code/metadata.xml | 4 |
2 files changed, 68 insertions, 0 deletions
diff --git a/dev-util/claude-code/claude-code-1.0.83-r1.ebuild b/dev-util/claude-code/claude-code-1.0.83-r1.ebuild new file mode 100644 index 000000000000..37d1cfb30252 --- /dev/null +++ b/dev-util/claude-code/claude-code-1.0.83-r1.ebuild @@ -0,0 +1,64 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Claude Code - an agentic coding tool by Anthropic" +HOMEPAGE="https://www.anthropic.com/claude-code" +SRC_URI="https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-${PV}.tgz" +S="${WORKDIR}/package" + +# NOTE(JayF): claude-code is only usable via paid subscription and has a +# clickthrough EULA-type license. Please see $HOMEPAGE for +# full details. +LICENSE="all-rights-reserved" +SLOT="0" +KEYWORDS="" + +IUSE="jetbrains vscode" +RESTRICT="strip" + +RDEPEND=" + net-libs/nodejs + sys-apps/ripgrep +" + +src_compile() { + # Skip, nothing to compile here. + : +} + +src_install() { + dodoc README.md LICENSE.md + + # We are using a strategy of "install everything that's left" + # so removing these here will prevent duplicates in /opt/claude-code + rm -f README.md LICENSE.md package.json || die + # remove vendored ripgrep + rm -rf vendor/ripgrep || die + + # Install extentions these under /opt, and let users configure their + # IDEs appropriately if they have opted-into having them installed. + # Normally I wouldn't allow a few megs of data to be USE-flag-toggled, + # but removing these cuts the already-small package size in half, so + # it seems worth it. + use jetbrains || rm -r vendor/${PN}-jetbrains-plugin || die + use vscode || rm -r vendor/${PN}.vsix || die + + insinto /opt/${PN} + doins -r ./* + fperms a+x opt/claude-code/cli.js + + dodir /opt/bin + dosym -r /opt/${PN}/cli.js /opt/bin/claude + + insinto /etc/${PN} + doins "${FILESDIR}/policies.json" + + # nodejs defaults to disabling deprecation warnings when running code + # from any path containing a node_modules directory. Since we're installing + # outside of the realm of npm, explicitly pass an option to disable + # deprecation warnings so it behaves the same as it does if installed via + # npm. It's proprietary; not like Gentoo users can fix the warnings anyway. + sed -i 's/env node/env -S node --no-deprecation/' "${ED}/opt/claude-code/cli.js" +} diff --git a/dev-util/claude-code/metadata.xml b/dev-util/claude-code/metadata.xml index 766d03b352d8..97d371f94876 100644 --- a/dev-util/claude-code/metadata.xml +++ b/dev-util/claude-code/metadata.xml @@ -9,6 +9,10 @@ <longdescription> Claude Code is an agentic coding tool that lives in your terminal, understands your codebase, and helps you code faster through natural language commands. </longdescription> + <use> + <flag name="jetbrains">Install Jetbrains IDE extension to /opt/claude-code. Does not automatically load extension.</flag> + <flag name="vscode">Install VSCode IDE extension to /opt/claude-code. Does not automatically load extension.</flag> + </use> <upstream> <doc>https://docs.anthropic.com/en/docs/claude-code/overview</doc> <remote-id type="github">anthropics/claude-code</remote-id> |
