commit:     d30d53c7f938ea6c3c60f7e1165cc1f2f37c0cee
Author:     Jay Faulkner <jayf <AT> gentoo <DOT> org>
AuthorDate: Sat Aug 23 03:23:54 2025 +0000
Commit:     Jay Faulkner <jayf <AT> gentoo <DOT> org>
CommitDate: Sat Aug 23 03:23:54 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d30d53c7

dev-util/claude-code: add 1.0.89, 1.0.89-r1

Continuing to maintain the two styles of ebuilds.

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

 dev-util/claude-code/Manifest                     |  1 +
 dev-util/claude-code/claude-code-1.0.89-r1.ebuild | 64 +++++++++++++++++++++++
 dev-util/claude-code/claude-code-1.0.89.ebuild    | 56 ++++++++++++++++++++
 3 files changed, 121 insertions(+)

diff --git a/dev-util/claude-code/Manifest b/dev-util/claude-code/Manifest
index e70f5c1f16c4..e3fb82f783ce 100644
--- a/dev-util/claude-code/Manifest
+++ b/dev-util/claude-code/Manifest
@@ -1 +1,2 @@
 DIST claude-code-1.0.88.tgz 35983699 BLAKE2B 
3202af1659a49127a96cdaa8b04ab868de84873cc7db0fd4364b43c7e7f54960aba4182c998688d9932ccfe299fa7a3cc957ad411e83a761dde1e00793adf5a5
 SHA512 
369e87e048e46e6368954a71f7c0efa8b5d5fe226bc36cbb773dab0c9edabfd6a3333e8765f07c6dd255e43ef9fa33be1a4d69bc0e781c2226d1ceb9943af373
+DIST claude-code-1.0.89.tgz 35984824 BLAKE2B 
30bdbc526309b96456a479e3d2754f4b0347c05f724667afe06e3738175fcabf4428f111a282b4bfd1ac5db4f96a8cfbce44c2441dce8328ba691e0065367b74
 SHA512 
14acc5034c21435a15a9dab71c6ee01376a88dc65f1b1ae1cdaf73ece3035059b860c0031d0c67e935b15acb39761cd7cdeeef77e40e9fc0ae1feb879e102be3

diff --git a/dev-util/claude-code/claude-code-1.0.89-r1.ebuild 
b/dev-util/claude-code/claude-code-1.0.89-r1.ebuild
new file mode 100644
index 000000000000..58a0bf36a0b0
--- /dev/null
+++ b/dev-util/claude-code/claude-code-1.0.89-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="~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"
+}

diff --git a/dev-util/claude-code/claude-code-1.0.89.ebuild 
b/dev-util/claude-code/claude-code-1.0.89.ebuild
new file mode 100644
index 000000000000..be4d7d4c5cec
--- /dev/null
+++ b/dev-util/claude-code/claude-code-1.0.89.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit edo
+
+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}"
+
+# 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"
+
+QA_PREBUILT="usr/lib64/node_modules/@anthropic-ai/claude-code/vendor/*"
+RESTRICT="bindist strip"
+
+RDEPEND="
+       >=net-libs/nodejs-18
+       sys-apps/ripgrep
+"
+BDEPEND=">=net-libs/nodejs-18[npm]"
+
+src_unpack() {
+       # npm installs the tarball directly
+       :
+}
+
+src_compile() {
+       # Skip, nothing to compile here.
+       :
+}
+
+src_install() {
+       local -a my_npm_opts=(
+               --audit false
+               --color false
+               --foreground-scripts
+               --global
+               --offline
+               --omit dev
+               --prefix "${ED}/usr"
+               --progress false
+               --verbose
+       )
+       edo npm "${my_npm_opts[@]}" install "${DISTDIR}/${P}.tgz"
+
+       rm -r 
"${ED}/usr/lib64/node_modules/@anthropic-ai/claude-code/vendor/ripgrep" || die
+       insinto /etc/claude-code
+       doins "${FILESDIR}/policies.json"
+}

Reply via email to