# Copyright 2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 inherit desktop xdg DESCRIPTION="A GUI client for Linux, support Xray and sing-box and others" HOMEPAGE="https://github.com/2dust/v2rayN" SRC_URI="https://github.com/2dust/v2rayN/releases/download/${PV}/v2rayN-linux-64.zip" S="${WORKDIR}" LICENSE="GPL-3" SLOT="0" KEYWORDS="-* ~amd64" RESTRICT="strip mirror" RDEPEND=" media-libs/fontconfig media-libs/freetype " BDEPEND="app-arch/unzip" QA_PREBUILT="*" src_unpack() { default # The zip has a top-level directory (v2rayN-linux-64), # flatten it so S=WORKDIR works. local dir for dir in "${WORKDIR}"/v2rayN-linux-*; do if [[ -d "${dir}" ]]; then mv "${dir}"/* "${WORKDIR}"/ || die "failed to move extracted files" rmdir "${dir}" || die break fi done } src_install() { insinto /opt/v2rayn doins -r * fperms +x /opt/v2rayn/v2rayN fperms +x /opt/v2rayn/AmazTool fperms +x /opt/v2rayn/bin/xray/xray fperms +x /opt/v2rayn/bin/sing_box/sing-box fperms +x /opt/v2rayn/bin/mihomo/mihomo dosym -r /opt/v2rayn/v2rayN /usr/bin/v2rayn for size in 16 24 32 48 64 128 256; do newicon -s ${size} "${FILESDIR}"/icons/${size}x${size}/apps/v2rayn.png v2rayn.png done domenu "${FILESDIR}"/v2rayn.desktop } pkg_postinst() { xdg_pkg_postinst elog "v2rayN is installed in /opt/v2rayn" elog "Run with: v2rayn" elog "Core binaries (Xray, sing-box, mihomo) are bundled in /opt/v2rayn/bin/" } pkg_postrm() { xdg_pkg_postrm }