Install this version:
emerge -a =dev-util/cline-desktop-bin-0.0.43
If this version is masked, you can unmask it using the autounmask tool or standard emerge options:
autounmask =dev-util/cline-desktop-bin-0.0.43
Or alternatively:
emerge --autounmask-write -a =dev-util/cline-desktop-bin-0.0.43
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
# Prebuilt only. Building the cline monorepo from source was assessed and
# deferred: it is a bun workspace with ~3300 npm packages that `bun install`
# would have to fetch inside the network sandbox. See "`cline` and `kilocode`
# from source" in .autoupdate/not-packageable.md.
#
# Not to be confused with dev-util/cline-bin, the terminal CLI built from the
# same repository: that one installs /opt/bin/cline, this one cline-app, and
# the two can be installed side by side.
inherit unpacker xdg
DESCRIPTION="Cline desktop app, an autonomous AI coding agent (Tauri)"
HOMEPAGE="
https://cline.bot/desktop
https://github.com/cline/cline
"
# The repository tags several product lines; the desktop app's are desktop-v*.
CLINE_BASE="https://github.com/cline/cline/releases/download/desktop-v${PV}"
SRC_URI="
amd64? ( ${CLINE_BASE}/Cline_${PV}_amd64.deb -> ${P}-amd64.deb )
arm64? ( ${CLINE_BASE}/Cline_${PV}_arm64.deb -> ${P}-arm64.deb )
"
S="${WORKDIR}"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="-* ~amd64 ~arm64"
# strip: code-sidecar is a Bun single-file executable whose JavaScript payload
# is appended to the ELF; stripping it removes the app.
# bindist: the app itself is Apache-2.0, but that sidecar bundles a few
# thousand npm packages whose licenses nobody has enumerated, so the
# binary is not redistributed in packaged form.
# mirror: Gentoo mirrors carry no overlay distfiles; skip the lookup.
RESTRICT="bindist mirror strip"
# cline-app NEEDED libs, plus the tray library, which Tauri dlopen()s and the
# upstream .deb lists in Depends (libayatana-appindicator3-1). code-sidecar and
# the static remote helpers need nothing beyond glibc.
RDEPEND="
dev-libs/glib:2
dev-libs/libayatana-appindicator
net-libs/libsoup:3.0
net-libs/webkit-gtk:4.1
sys-apps/dbus
x11-libs/cairo
x11-libs/gdk-pixbuf:2
x11-libs/gtk+:3
"
QA_PREBUILT="*"
src_install() {
# The .deb layout is kept on purpose, /opt would break the app twice:
# Tauri looks for the code-sidecar binary next to its own executable, and
# resolves its resource directory to /usr/lib/<productName> (= Cline) only
# when it runs from /usr/bin. The image is therefore copied as shipped:
# /usr/bin/{cline-app,code-sidecar}
# /usr/lib/Cline/{bin/remote-helpers,icons}
# /usr/share/{applications,icons/hicolor,metainfo}
# Both remote helpers (x86_64 and aarch64) ship in each arch's .deb: they
# are uploaded to the SSH host being worked on, not run locally.
#
# No pax-mark: it would rewrite the headers of the Bun executable.
cp -a usr "${ED}"/ || die
# Updater: the binary has tauri-plugin-updater built in, polling
# .../releases/download/desktop-latest/latest.json. For a .deb build it
# installs the update with `pkexec dpkg -i`; Gentoo has no dpkg, so an
# accepted update fails instead of overwriting files Portage owns. There is
# no runtime switch (environment variable or config file) to turn the
# check off, so it is left alone; update through Portage.
}
dev-libs/glib:2 dev-libs/libayatana-appindicator net-libs/libsoup:3.0 net-libs/webkit-gtk:4.1 sys-apps/dbus x11-libs/cairo x11-libs/gdk-pixbuf:2 x11-libs/gtk+:3
| Type | File | Size | Source URLs |
|---|---|---|---|
| DIST | cline-desktop-bin-0.0.43-amd64.deb | 109896712 bytes | https://github.com/cline/cline/releases/download/desktop-v0.0.43/Cline_0.0.43_amd64.deb |
| DIST | cline-desktop-bin-0.0.43-arm64.deb | 110404084 bytes | https://github.com/cline/cline/releases/download/desktop-v0.0.43/Cline_0.0.43_arm64.deb |