Install this version:
emerge -a =games-util/tennoscope-0.4.0
If this version is masked, you can unmask it using the autounmask tool or standard emerge options:
autounmask =games-util/tennoscope-0.4.0
Or alternatively:
emerge --autounmask-write -a =games-util/tennoscope-0.4.0
| Version | EAPI | Keywords | Slot |
|---|---|---|---|
| 0.4.0 | 8 | ~amd64 | 0 |
# Copyright 2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit desktop xdg
DESCRIPTION="Local-first Warframe collection and relic companion"
HOMEPAGE="https://github.com/Deftera186/tennoscope"
SRC_URI="
https://github.com/Deftera186/tennoscope/archive/refs/tags/v${PV}.tar.gz
-> ${P}.tar.gz
"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64"
# pnpm and cargo both resolve their lockfiles over the network during the build (npm registry,
# crates.io). The network sandbox must be disabled when emerging this:
# FEATURES="-network-sandbox" emerge games-util/tennoscope
RESTRICT="mirror network-sandbox"
# Taken from ldd on the resulting binary: GTK3, WebKitGTK 4.1, libsoup 3, glib, cairo, pango
# and gdk-pixbuf, and notably *not* openssl.
RDEPEND="
dev-libs/glib:2
net-libs/libsoup:3.0
net-libs/webkit-gtk:4.1
x11-libs/cairo
x11-libs/gdk-pixbuf:2
x11-libs/gtk+:3
x11-libs/pango
!games-util/tennoscope-bin
"
# The relic overlay shells out to these; the collection browser runs without them. imagemagick
# needs USE=X for `import`, and 7.x is what provides `magick`. tesseract installs eng data
# unconditionally, so no L10N constraint is needed.
RDEPEND+="
app-text/tesseract
media-gfx/imagemagick[X]
x11-apps/xwininfo
"
DEPEND="${RDEPEND}"
# sys-apps/pnpm-bin lives in the ::guru overlay. Enable ::guru (or provide pnpm by other means)
# before emerging this.
BDEPEND="
|| (
>=dev-lang/rust-1.85.0
>=dev-lang/rust-bin-1.85.0
)
>=net-libs/nodejs-20.19
sys-apps/pnpm-bin
virtual/pkgconfig
"
src_compile() {
export CARGO_HOME="${T}/cargo"
export CARGO_TARGET_DIR="${WORKDIR}/target"
pnpm --dir app install --frozen-lockfile || die "pnpm install failed"
# Build the Vite bundle into app/dist first. Tauri's `frontendDist` embeds that directory
# into the binary at compile time; without it the binary has nothing to serve.
pnpm --dir app build || die "frontend build failed"
# tauri/custom-protocol is mandatory. generate_context!() picks between the embedded
# frontendDist bundle and the devUrl dev server on `cfg!(not(feature = "custom-protocol"))`.
# The `tauri build` CLI passes it implicitly; bare cargo does not, so without it the release
# binary bakes in http://localhost:5173 and the WebView fails with connection refused.
cargo build --release --locked -p tennoscope --features tauri/custom-protocol \
|| die "cargo build failed"
[[ -x ${CARGO_TARGET_DIR}/release/tennoscope ]] \
|| die "binary not produced at expected path"
}
src_test() {
export CARGO_HOME="${T}/cargo"
export CARGO_TARGET_DIR="${WORKDIR}/target"
# The reward-reader tests shell out to magick and tesseract for real; both are in RDEPEND.
cargo test --workspace --locked || die "cargo test failed"
pnpm --dir app check || die "frontend checks failed"
}
src_install() {
newbin "${WORKDIR}/target/release/tennoscope" tennoscope
domenu packaging/tennoscope.desktop
newicon -s 128 app/src-tauri/icons/128x128.png tennoscope.png
dodoc README.md CHANGELOG.md THIRD_PARTY_NOTICES.md
}
pkg_postinst() {
xdg_pkg_postinst
elog "TennoScope reads the Warframe process's memory read-only to obtain a session"
elog "token. Digital Extremes has not endorsed this, and any third-party tool that"
elog "inspects a game process may carry account-policy risk. The application shows"
elog "this disclosure on first run and does nothing until it is accepted."
elog ""
elog "If acquisition fails with a permission error, see the README section on"
elog "kernel.yama.ptrace_scope. Do not run TennoScope as root."
}
dev-libs/glib:2 net-libs/libsoup:3.0 net-libs/webkit-gtk:4.1 x11-libs/cairo x11-libs/gdk-pixbuf:2 x11-libs/gtk+:3 x11-libs/pango !games-util/tennoscope-bin app-text/tesseract media-gfx/imagemagick[X] x11-apps/xwininfo
dev-libs/glib:2 net-libs/libsoup:3.0 net-libs/webkit-gtk:4.1 x11-libs/cairo x11-libs/gdk-pixbuf:2 x11-libs/gtk+:3 x11-libs/pango !games-util/tennoscope-bin app-text/tesseract media-gfx/imagemagick[X] x11-apps/xwininfo
|| ( >=dev-lang/rust-1.85.0 >=dev-lang/rust-bin-1.85.0 ) >=net-libs/nodejs-20.19 sys-apps/pnpm-bin virtual/pkgconfig
| Type | File | Size | Source URLs |
|---|---|---|---|
| DIST | tennoscope-0.4.0.tar.gz | 1402182 bytes | https://github.com/Deftera186/tennoscope/archive/refs/tags/v0.4.0.tar.gz |