Install this version:
emerge -a =net-proxy/clash-verge-rev-2.4.7
If this version is masked, you can unmask it using the autounmask tool or standard emerge options:
autounmask =net-proxy/clash-verge-rev-2.4.7
Or alternatively:
emerge --autounmask-write -a =net-proxy/clash-verge-rev-2.4.7
| Version | EAPI | Keywords | Slot |
|---|---|---|---|
| 2.4.7 | 8 | ~amd64 | 0 |
# Copyright 2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# Autogenerated by pycargoebuild 0.15.1
EAPI=8
CRATES="
"
declare -A GIT_CRATES=(
[clash_verge_logger]='https://github.com/clash-verge-rev/clash-verge-logger;e4768e3852c4868ed86e7210df82c1178467820d;clash-verge-logger-%commit%'
[clash_verge_service_ipc]='https://github.com/clash-verge-rev/clash-verge-service-ipc;360f205a12c6c2fe229d09252a41e3253ed6be3e;clash-verge-service-ipc-%commit%'
[dark-light]='https://github.com/rust-dark-light/dark-light;0f18d2fbcaa5d1c175db8aae7d53428988d7e961;dark-light-%commit%'
[sysproxy]='https://github.com/clash-verge-rev/sysproxy-rs;6aa9ecb1c6bb9779b9dc8e4adc68780fc1d5edb6;sysproxy-rs-%commit%'
[tauri-plugin-mihomo]='https://github.com/clash-verge-rev/tauri-plugin-mihomo;1cc80bc0fbe1245315617f4cecd93710a152325b;tauri-plugin-mihomo-%commit%'
)
RUST_MIN_VER="1.91"
inherit cargo desktop dot-a xdg
DESCRIPTION="GUI client based on Tauri for tailored proxy experience"
HOMEPAGE="
https://www.clashverge.dev
https://github.com/clash-verge-rev/clash-verge-rev
"
# Web dist tarball generared from liuyujielol/gentoo-go-deps/blob/cvr/.github/workflows/generator.yml
SRC_URI="
https://github.com/clash-verge-rev/clash-verge-rev/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
https://github.com/liuyujielol/gentoo-go-deps/releases/download/${P}/${P/-rev/}-crates.tar.xz
https://github.com/liuyujielol/gentoo-go-deps/releases/download/${P}/${P}-web.tar.xz
"
SERVICE_PV="2.3.0"
SERVICE_P="clash-verge-service-ipc-${SERVICE_PV}"
SRC_URI+="
https://github.com/clash-verge-rev/clash-verge-service-ipc/archive/refs/tags/v${SERVICE_PV}.tar.gz -> ${SERVICE_P}.tar.gz
https://github.com/liuyujielol/gentoo-go-deps/releases/download/${SERVICE_P}/clash_verge_service_ipc-${SERVICE_PV}-crates.tar.xz
"
SRC_URI+=" ${CARGO_CRATE_URIS}"
LICENSE="GPL-3"
# Dependent crate licenses
LICENSE+="
0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD Boost-1.0
CC0-1.0 CDLA-Permissive-2.0 GPL-3 ISC MIT MPL-2.0 MPL-2.0 openssl
Unicode-3.0 WTFPL-2 ZLIB BZIP2
"
SLOT="0"
KEYWORDS="~amd64"
COMMON_DEPEND="
!net-proxy/clash-verge-bin
dev-libs/openssl:0/3
gnome-base/librsvg:2
net-proxy/mihomo
net-libs/webkit-gtk:4.1
"
RDEPEND="
${COMMON_DEPEND}
dev-libs/libayatana-appindicator
"
BDEPEND="
${COMMON_DEPEND}
app-misc/jq
dev-build/cmake
dev-util/patchelf
sys-apps/moreutils
"
src_prepare() {
default
# FIXME: tempfile or moreutils?
#jq ... "${S}/package.json" > tmp.json && mv tmp.json "${S}/package.json" || die
pushd "${T}" >/dev/null || die
jq '.bundle.createUpdaterArtifacts = false' "${S}/src-tauri/tauri.conf.json" | sponge "${S}/src-tauri/tauri.conf.json" || die
popd >/dev/null || die
mv -v "${WORKDIR}/dist" "${S}/" || die
}
src_compile() {
#aws-lc-sys-0.38.0/aws-lc/third_party/jitterentropy/jitterentropy-library/src/jitterentropy-base.c:
#The CPU Jitter random number generator must not be compiled with optimizations.
#Force use of cmake to auto apply -O0 to related parts
export AWS_LC_SYS_CMAKE_BUILDER=1
lto-guarantee-fat
# clash-verge-service-ipc
pushd "${WORKDIR}/${SERVICE_P}" >/dev/null || die
cargo_src_compile --features standalone
popd >/dev/null || die
# FIXME: Can't use $(rust_abi) here, build scripts check for -gnu nonetheless
# FIXME: Maybe musl is supported, just name it -gnu and call it a day
# NOTE: This list is from https://github.com/clash-verge-rev/clash-verge-rev/blob/dev/scripts/prebuild.mjs
einfo "CHOST: ${CHOST}"
einfo "CARCH: ${ARCH}"
# Taken from gentoo/eclass/rust-toolchain.eclass
my_rust_abi() {
local CTARGET=${1:-${CHOST}}
case ${CTARGET%%*-} in
aarch64*gnu) echo aarch64-unknown-linux-gnu;;
aarch64*musl) echo aarch64-unknown-linux-gnu;; # -musl changed to -gnu
armv7a*h*) echo armv7-unknown-linux-gnueabihf;;
i?86*) echo i686-unknown-linux-gnu;;
loongarch64*) echo loongarch64-unknown-linux-gnu;;
riscv64*gnu) echo riscv64gc-unknown-linux-gnu;;
riscv64*musl) echo riscv64gc-unknown-linux-gnu;; # -musl changed to -gnu
x86_64*gnu) echo x86_64-unknown-linux-gnu;;
x86_64*musl) echo x86_64-unknown-linux-gnu;; # -musl changed to -gnu
*) die "Unsupported";;
esac
}
mkdir "${S}"/src-tauri/sidecar || die
mkdir "${S}"/src-tauri/resources || die
CVR_SERVICE_TARGET="${WORKDIR}/${SERVICE_P}/$(cargo_target_dir)/clash-verge-service"
cp -v "${CVR_SERVICE_TARGET}" "${S}/src-tauri/sidecar/clash-verge-service-$(my_rust_abi)" || die
cp -v "${CVR_SERVICE_TARGET}"-install "${S}/src-tauri/sidecar/clash-verge-service-install-$(my_rust_abi)" || die
cp -v "${CVR_SERVICE_TARGET}"-uninstall "${S}/src-tauri/sidecar/clash-verge-service-uninstall-$(my_rust_abi)" || die
# Pretend we have those prebuilt mihomo binaries
touch "${S}"/src-tauri/sidecar/verge-mihomo{,-alpha}-"$(my_rust_abi)" || die
cd "${S}" || die
cargo_src_compile
}
src_install() {
dobin "$(cargo_target_dir)/clash-verge"
dobin "$(cargo_target_dir)/clash-verge-service"
dobin "$(cargo_target_dir)/clash-verge-service-install"
dobin "$(cargo_target_dir)/clash-verge-service-uninstall"
for size in 32 128 256; do
if [[ "${size}" == 256 ]]; then
newicon -s 256 "${S}/src-tauri/icons/128x128@2x.png" clash-verge.png
else
newicon -s "${size}" "${S}/src-tauri/icons/${size}x${size}.png" clash-verge.png
fi
done
cat <<-EOF > "${S}/clash_verge.desktop" || die
[Desktop Entry]
Categories=Development;
Comment=Clash Verge Rev
Exec=clash-verge %u
StartupWMClass=clash-verge
Icon=clash-verge
Name=Clash Verge
Terminal=false
Type=Application
MimeType=x-scheme-handler/clash;
EOF
domenu "${S}/clash_verge.desktop"
dosym -r /usr/bin/mihomo /usr/bin/verge-mihomo
dosym -r /usr/bin/mihomo /usr/bin/verge-mihomo-alpha
}
!net-proxy/clash-verge-bin dev-libs/openssl:0/3 gnome-base/librsvg:2 net-proxy/mihomo net-libs/webkit-gtk:4.1 dev-libs/libayatana-appindicator
!net-proxy/clash-verge-bin dev-libs/openssl:0/3 gnome-base/librsvg:2 net-proxy/mihomo net-libs/webkit-gtk:4.1 app-misc/jq dev-build/cmake dev-util/patchelf sys-apps/moreutils
| Type | File | Size | Source URLs |
|---|---|---|---|
| DIST | clash-verge-rev-2.4.7-web.tar.xz | 3610116 bytes | https://github.com/liuyujielol/gentoo-go-deps/releases/download/clash-verge-rev-2.4.7/clash-verge-rev-2.4.7-web.tar.xz |
| DIST | clash-verge-rev-2.4.7.tar.gz | 12998509 bytes | https://github.com/clash-verge-rev/clash-verge-rev/archive/refs/tags/v2.4.7.tar.gz |