Install this version:
emerge -a =net-proxy/mihomo-9999
If this version is masked, you can unmask it using the autounmask tool or standard emerge options:
autounmask =net-proxy/mihomo-9999
Or alternatively:
emerge --autounmask-write -a =net-proxy/mihomo-9999
| Version | EAPI | Keywords | Slot |
|---|---|---|---|
| 9999 | 8 | ~amd64 | 0 |
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit go-module go-microarch systemd
DESCRIPTION="mihomo Daemon, Another Clash Kernel."
HOMEPAGE="https://github.com/MetaCubeX/mihomo"
if [[ "${PV}" = *9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/MetaCubeX/${PN}.git"
EGIT_BRANCH=Alpha
else
SRC_URI="https://github.com/MetaCubeX/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
SRC_URI+=" https://github.com/Xiami2012/moexiami-ovl-deps/releases/download/${P}/${P}-deps.tar.xz"
KEYWORDS="~amd64"
fi
LICENSE="Apache-2.0 BSD-2 BSD CC0-1.0 GPL-3 ISC MIT MPL-2.0"
SLOT="0"
IUSE="+gvisor"
RDEPEND="
acct-user/mihomo
acct-group/mihomo
"
src_unpack() {
if [[ "${PV}" = *9999 ]]; then
git-r3_src_unpack
go-module_live_vendor
else
go-module_src_unpack
fi
}
src_compile() {
local ver
if [[ "${PV}" = *9999 ]]; then
ver=vgit-${EGIT_VERSION:0:8}
else
ver=v${PV}
fi
go-microarch_setenv
myldflags="-X \"github.com/metacubex/mihomo/constant.Version=${ver}\""
myldflags+=" -X \"github.com/metacubex/mihomo/constant.BuildTime=$(LC_ALL=C date -u)\""
ego build $(usex gvisor -tags=with_gvisor "") -trimpath -ldflags "$myldflags"
}
src_test() {
ego test ./...
}
src_install() {
dobin mihomo
systemd_dounit "${FILESDIR}"/mihomo.service
insinto /etc/mihomo
doins "${FILESDIR}"/config.yaml
newins ./docs/config.yaml config.yaml.example
}
Manage flags for this package:
euse -i <flag> -p net-proxy/mihomo |
euse -E <flag> -p net-proxy/mihomo |
euse -D <flag> -p net-proxy/mihomo
acct-user/mihomo acct-group/mihomo