# Copyright 2024-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 inherit cmake xdg flag-o-matic DESCRIPTION="Qt GUI fontend of v2ray" HOMEPAGE="https://github.com/Qv2ray/Qv2ray" GIT_COMMIT="d5c5aeb366e2fbe9c9243648af36b0d11da14920" GIT_COMMIT_QJSONSTRUCT="02416895f2f1fb826f8e9207d8bbe5804b6d0441" GIT_COMMIT_PURESOURCE="a4872c1fb429ed70eb183c3846bcf791bda75459" GIT_COMMIT_QT_QRCODE="2d57d9c6e2341689d10f9360a16a08831a4a820b" GIT_COMMIT_UVW="c56c05e6daaf6d7644b46d0d0bf902f099d0a218" GIT_COMMIT_QVPLUGIN_INTERFACE="911c4adbb7b598435162da245ab248d215d3f018" QRENCODE_PV="4.0.0" SRC_URI=" https://github.com/Qv2ray/Qv2ray/archive/${GIT_COMMIT}.tar.gz -> ${P}.tar.gz https://github.com/Qv2ray/QJsonStruct/archive/${GIT_COMMIT_QJSONSTRUCT}.tar.gz -> QJsonStruct-${GIT_COMMIT_QJSONSTRUCT}.tar.gz https://github.com/Qv2ray/PureSource/archive/${GIT_COMMIT_PURESOURCE}.tar.gz -> PureSource-${GIT_COMMIT_PURESOURCE}.tar.gz https://github.com/danielsanfr/qt-qrcode/archive/${GIT_COMMIT_QT_QRCODE}.tar.gz -> qt-qrcode-${GIT_COMMIT_QT_QRCODE}.tar.gz https://github.com/fukuchi/libqrencode/archive/refs/tags/v${QRENCODE_PV}.tar.gz -> qrencode-${QRENCODE_PV}.tar.gz https://github.com/skypjack/uvw/archive/${GIT_COMMIT_UVW}.tar.gz -> uvw-${GIT_COMMIT_UVW}.tar.gz https://github.com/Qv2ray/QvPlugin-Interface/archive/${GIT_COMMIT_QVPLUGIN_INTERFACE}.tar.gz -> QvPlugin-Interface-${GIT_COMMIT_QVPLUGIN_INTERFACE}.tar.gz https://github.com/Qv2ray/Qv2ray/commit/d0d6f7c891f69c19086ff3a8b614462de6524af0.patch -> ${P}-custom-core-version.patch " S="${WORKDIR}/Qv2ray-${GIT_COMMIT}" LICENSE="GPL-3" SLOT="0" KEYWORDS="~amd64" IUSE="test +themes" RESTRICT="!test? ( test )" DEPEND=" dev-qt/qtbase:6[gui,network,widgets] dev-qt/qtsvg:6 dev-libs/libuv:= net-libs/grpc:= dev-libs/protobuf:= net-misc/curl dev-libs/qnodeeditor " RDEPEND=" || ( net-proxy/v2ray net-proxy/v2ray-bin net-proxy/Xray ) dev-libs/openssl:0= ${DEPEND} " DEPEND+=">=dev-libs/singleapplication-3.5.2_p20250124" BDEPEND="dev-qt/qttools:6[linguist]" PATCHES=( "${FILESDIR}/${P}-fix-building-with-freestanding-singleapplication.patch" "${DISTDIR}/${P}-custom-core-version.patch" ) src_unpack() { default cd "${S}/3rdparty" || die rmdir QJsonStruct puresource qt-qrcode uvw || die mv "${WORKDIR}/QJsonStruct-${GIT_COMMIT_QJSONSTRUCT}" QJsonStruct || die mv "${WORKDIR}/PureSource-${GIT_COMMIT_PURESOURCE}" puresource || die mv "${WORKDIR}/qt-qrcode-${GIT_COMMIT_QT_QRCODE}" qt-qrcode || die rmdir qt-qrcode/lib/libqrencode || die mv "${WORKDIR}/libqrencode-${QRENCODE_PV}" qt-qrcode/lib/libqrencode || die mv "${WORKDIR}/uvw-${GIT_COMMIT_UVW}" uvw || die rmdir "${S}/src/plugin-interface" || die mv "${WORKDIR}/QvPlugin-Interface-${GIT_COMMIT_QVPLUGIN_INTERFACE}" "${S}/src/plugin-interface" || die } src_prepare() { sed -i -e 's/__STATIC/STATIC_IN_RELEASE/' cmake/qrencode.cmake || die cmake_src_prepare } src_configure() { # https://github.com/Qv2ray/Qv2ray/issues/1734 filter-lto local mycmakeargs=( -DBUILD_TESTING=$(usex test) -DQV2RAY_DISABLE_AUTO_UPDATE=ON -DQV2RAY_HAS_BUILTIN_THEMES=$(usex themes) -DQV2RAY_QT6=ON -DUSE_SYSTEM_LIBUV=ON -DQV2RAY_SINGLEAPPLICATION_PROVIDER=package -DQV2RAY_QNODEEDITOR_PROVIDER=package ) cmake_src_configure }