commit:     04d01cb41df498896f05d31f22d1ee2a5129c343
Author:     Jay Faulkner <jayf <AT> gentoo <DOT> org>
AuthorDate: Mon Aug 25 15:43:32 2025 +0000
Commit:     Jay Faulkner <jayf <AT> gentoo <DOT> org>
CommitDate: Mon Aug 25 15:48:19 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=04d01cb4

dev-util/claude-code: add 1.0.90

This migrates the stable version of this package to the new
extract-based install method. While it's only been used for
about two weeks, this is 5 releases in, and zero bugs have
been filed.

Signed-off-by: Jay Faulkner <jayf <AT> gentoo.org>

 dev-util/claude-code/Manifest                  |  1 +
 dev-util/claude-code/claude-code-1.0.90.ebuild | 64 ++++++++++++++++++++++++++
 2 files changed, 65 insertions(+)

diff --git a/dev-util/claude-code/Manifest b/dev-util/claude-code/Manifest
index db9a973e31b8..0193fd932285 100644
--- a/dev-util/claude-code/Manifest
+++ b/dev-util/claude-code/Manifest
@@ -1 +1,2 @@
 DIST claude-code-1.0.89.tgz 35984824 BLAKE2B 
30bdbc526309b96456a479e3d2754f4b0347c05f724667afe06e3738175fcabf4428f111a282b4bfd1ac5db4f96a8cfbce44c2441dce8328ba691e0065367b74
 SHA512 
14acc5034c21435a15a9dab71c6ee01376a88dc65f1b1ae1cdaf73ece3035059b860c0031d0c67e935b15acb39761cd7cdeeef77e40e9fc0ae1feb879e102be3
+DIST claude-code-1.0.90.tgz 35984624 BLAKE2B 
f0261cf439f6ee1f1a596112cc4d863456b2bedc693cc68273fd4cee68db24eae2524f24b1f5b66fd767f2d1eddecd3fdbe0b83aa7467436776380faf8ee567e
 SHA512 
c1a0bb182e1f9dfca21551534bb128e0c012fe2118a7233aec96455ebf81d3b6ce923058b41a9787befe67f6ed73223c371bd4b699c54b4479157914fed282c2

diff --git a/dev-util/claude-code/claude-code-1.0.90.ebuild 
b/dev-util/claude-code/claude-code-1.0.90.ebuild
new file mode 100644
index 000000000000..ae76e93bb2d3
--- /dev/null
+++ b/dev-util/claude-code/claude-code-1.0.90.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="amd64"
+
+IUSE="jetbrains vscode"
+RESTRICT="bindist strip"
+
+RDEPEND="
+       >=net-libs/nodejs-18
+       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"
+}

Reply via email to