diff --git a/net-proxy/Throne/Manifest b/net-proxy/Throne/Manifest index 18b3d627fe..a9c316b0b7 100644 --- a/net-proxy/Throne/Manifest +++ b/net-proxy/Throne/Manifest @@ -2,3 +2,5 @@ DIST Throne-1.1.1-deps.tar.xz 174869444 BLAKE2B aa85a9a59c2cda58146ef7c52764531c DIST Throne-1.1.1.tar.gz 5906588 BLAKE2B 0758f6a5c36bbbe35913c19b60ba5fff45194f8c4c2d4d577d3f072cca1c1dece5cb218dfd1fae39af14cb040df670c028e4c8fd3629c28daabcbcd48832ce44 SHA512 8d2293b3252fb0a93f35ee9dcfc8bf8425bfc48d259b1e56848948958e3f093938e59149af18e82dcdb66f409836488dafcb2fd6368e15433a59f9dafe8241df DIST Throne-1.1.2-deps.tar.xz 174887356 BLAKE2B af97e53d2ce23bd10090d049e415e35e53eeeff1d5027429adb5da2ca80470d2537e30630214a450796f3191076039bde3fc1b5d02b465d1e2cdfebe75dfc49d SHA512 77ca7c97710f257d058865631d11e54e0e7d685e0a312c8957cf0d77c3ea0000ec3db749b2f64f7796b6b877cd2a14bd992b551b6b9734f397bd6710bec0c113 DIST Throne-1.1.2.tar.gz 5919485 BLAKE2B 55cf97ba23d416240dcc94e7afa3a0b703b52794d62ed1c0769221ba50da9a61f2979b0ae45ced0a4becc4ad8fd75e6bb2b19c58cbc73b131461579b3dd5b38e SHA512 84221c2f9a5c64b757517f69243b1111a3e9bfb0b9ff62b0b4c544299ba6ab289a66ffdb657a3d8a97089b131f3f1aaf91dcded444dbec23695a986311b80b81 +DIST Throne-1.1.4-deps.tar.xz 188135188 BLAKE2B 19c6484afea8422e7ccf4d6448fcc2814b92360e9c13db9e9636a9b266596d551fbaec95e70908f599e4cb01fd934088ba454fc1de9f6cc36d2e2ce94b085ef8 SHA512 d03363f9e4d961d37fe23e3ffd8d9a7d42169b149519e2ff8717a888df7f066c4e417e072f696899fb91532d0752267d760c4a534fce9f63da1fa6d5b8f96bfc +DIST Throne-1.1.4.tar.gz 5950820 BLAKE2B 8b144fb1241e87c4507823be39c695e9be390d0c2c861cc68ce3ed2a52140d56ef86350efa7b9d2f12a274ebfc6fde053f7506543ba0d41d51d01c32a788bdc2 SHA512 62446659267507fe920069091ef1c5778f559e77be699b9be4dbf645f73aff98c08b8d9ff69e909f5032a4b064bee7f6c7e46a9c829fdad961b552683d3449b0 diff --git a/net-proxy/Throne/Throne-1.1.4.ebuild b/net-proxy/Throne/Throne-1.1.4.ebuild new file mode 100644 index 0000000000..8c72293b7a --- /dev/null +++ b/net-proxy/Throne/Throne-1.1.4.ebuild @@ -0,0 +1,95 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake desktop go-module xdg + +DESCRIPTION="Qt based cross-platform GUI proxy configuration manager" +HOMEPAGE="https://github.com/throneproj/Throne" +SRC_URI=" + https://github.com/throneproj/Throne/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz + https://gitlab.com/api/v4/projects/69517529/packages/generic/${PN}/${PV}/${P}-deps.tar.xz +" + +# The first line is for the C++ code, the second line is for the Go module +LICENSE=" + GPL-3+ MIT + 0BSD Apache-2.0 BSD ISC MIT MPL-2.0 Unlicense +" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND=" + dev-libs/protobuf:= + dev-libs/qhotkey + dev-qt/qtbase:6[dbus,network,widgets] + media-libs/quirc:= +" +DEPEND="${RDEPEND}" +BDEPEND=" + dev-go/protobuf-go + dev-go/protoc-gen-go-grpc + >=dev-lang/go-1.25 + dev-qt/qttools:6[linguist] +" + +PATCHES=( + "${FILESDIR}/${PN}-1.0.0-use-system-QHotkey.patch" + "${FILESDIR}/${PN}-1.1.1-dont-treat-warnings-as-errors.patch" + "${FILESDIR}/${PN}-1.1.1-store-the-database-in-AppConfigLocation-by-default.patch" + "${FILESDIR}/${PN}-1.1.1-use-system-quirc.patch" +) + +src_unpack() { + # The vendor tarball is unpacked to `${S}/core/server`, but `go-module_src_unpack` + # requires the `vendor` directory to be present at `${S}/vendor` + mkdir -p "${S}/vendor" || die + + go-module_src_unpack +} + +src_prepare() { + rm -r 3rdparty/{QHotkey,quirc} || die + + sed '/^cmake_minimum_required/ s/(.*)/(VERSION 3.10)/' \ + -i 3rdparty/SQLiteCpp/CMakeLists.txt || die + + cmake_src_prepare +} + +src_configure() { + local mycmakeargs=( + -DNKR_PACKAGE=true + ) + + cmake_src_configure +} + +src_compile() { + cmake_src_compile + + cd "${S}/core/server" || die + + pushd gen || die + protoc -I . --go_out=. --go-grpc_out=. libcore.proto + popd || die + + VERSION_SINGBOX=$(go list -m -f '{{.Version}}' github.com/sagernet/sing-box) + ego build \ + -trimpath -ldflags "-checklinkname=0 \ + -X 'github.com/sagernet/sing-box/constant.Version=${VERSION_SINGBOX}' \ + -X 'internal/godebug.defaultGODEBUG=multipathtcp=0'" \ + -tags "with_clash_api,with_gvisor,with_quic,with_wireguard,with_utls,with_dhcp,with_tailscale,badlinkname,tfogo_checklinkname0" +} + +src_install() { + exeinto /usr/lib/Throne + doexe "${BUILD_DIR}/Throne" + doexe core/server/ThroneCore + + dosym -r /usr/lib/Throne/Throne /usr/bin/Throne + + doicon -s 256 res/public/Throne.png + domenu "${FILESDIR}/Throne.desktop" +}