repo/proj/guru:dev commit in: net-proxy/Throne/, net-proxy/Throne/files/
"Pavel Sobolev" <contact-2GWvd5oGOoG/[email protected]>
| Newsgroups | gmane.linux.gentoo.cvs |
|---|---|
| Message-ID | <1786282737.0a54e58ae1d7aa666e018f507896ad5884228cdf.contact@gentoo> |
commit: 0a54e58ae1d7aa666e018f507896ad5884228cdf
Author: Pavel Sobolev <contact <AT> paveloom <DOT> dev>
AuthorDate: Sun Aug 9 13:26:13 2026 +0000
Commit: Pavel Sobolev <contact <AT> paveloom <DOT> dev>
CommitDate: Sun Aug 9 13:38:57 2026 +0000
URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=0a54e58a
net-proxy/Throne: add 1.2.4
Signed-off-by: Pavel Sobolev <contact <AT> paveloom.dev>
net-proxy/Throne/Manifest | 2 +
net-proxy/Throne/Throne-1.2.4.ebuild | 94 ++++++++++++++++++++++
.../files/Throne-1.2.4-use-system-QHotkey.patch | 40 +++++++++
3 files changed, 136 insertions(+)
diff --git a/net-proxy/Throne/Manifest b/net-proxy/Throne/Manifest
index 83421faafa..fc0e6b14a0 100644
--- a/net-proxy/Throne/Manifest
+++ b/net-proxy/Throne/Manifest
@@ -2,3 +2,5 @@ DIST Throne-1.1.6-deps.tar.xz 188144812 BLAKE2B 64b1dbf7b4528ca3fc9ff1f42009f7f9
DIST Throne-1.1.6.tar.gz 6024688 BLAKE2B 4b8563f36b8b1ff868b5ea309216cce11bf53bf4ef0e57a621efe468f1776799bb3be636b07b916ccf05795a57274b2053dccd760e7fabc7e2313bedd637672f SHA512 1b84ded6596473822e29bc4a27895cb68ab58c50c51e7aa0102bc107f4b92dd899f5cfefef9cbda96506afd134ceae847c025a9fc6fa9486d1cc251e5037a115
DIST Throne-1.2.1-deps.tar.xz 189110748 BLAKE2B 2d7bcf7f3145dabd6cc1e34dbfe325d43277a69e63f140a13c04e47e152172ff246ab15ad168dfd4fcb64a23e9f073e2472862cd475f6d09f5a62c8ebdfc0765 SHA512 a6442512cd627b1f5036df5ebe8bd60b166060cd66c73a2ee0911ec81e1adcb47fdf9ca0da20b51744a12c8342ee4cacd8bafc02787f11aa6fded358a5bbe03b
DIST Throne-1.2.1.tar.gz 6176523 BLAKE2B d91af46155725e8a24886985a56f69e5708e145d71c1b44d2534bf46f5d949e08069103a065452e4239d9c7e020a7eae76d4f3df922ab42a63e11dddf332e19b SHA512 f8669405a5fea483cff62e8050967cfa8cefc75c6b4256698516c3bc553756cb01085933f8cff4f4475d958c131e45437e2ecbd8e291c6badf8551591192b7c5
+DIST Throne-1.2.4-deps.tar.xz 189156300 BLAKE2B d9ab222eb89b6da847d4bef064d7bb77eb68001c2b42b8175cb24e7b35ae853cc3645d596e3471a9703466ca873e7ac797a892094e8c83f1d61b58b96b101863 SHA512 7182687f30ef47e1294d175861a1040ec7c19190842bc37abb5a6de69c32906f8c6b7fb28caae4e5319ad209de6e0fe2fdada782fc9c62b95005bdf3fb4ed3dc
+DIST Throne-1.2.4.tar.gz 6277085 BLAKE2B 4caf600f0235e2833726f50596d18c413c003751da16bfb7bed66761ab90f6732ef05ec0e7b8933bbd57ecbf022472362575b326f148714eadfa9c525a729737 SHA512 e7c90978eebf6d44e8db99f9f7bc67add22bdfd1aeffb094ceb3cb7a50d3fed24b91ca7a316ddaf1c59e249495ca62e0861099b136c6136b008d72dd55728e66
diff --git a/net-proxy/Throne/Throne-1.2.4.ebuild b/net-proxy/Throne/Throne-1.2.4.ebuild
new file mode 100644
index 0000000000..db25d73eff
--- /dev/null
+++ b/net-proxy/Throne/Throne-1.2.4.ebuild
@@ -0,0 +1,94 @@
+# 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.26
+ dev-qt/qttools:6[linguist]
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.1.1-dont-treat-warnings-as-errors.patch"
+ "${FILESDIR}/${PN}-1.1.1-use-system-quirc.patch"
+ "${FILESDIR}/${PN}-1.2.4-use-system-QHotkey.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"
+}
diff --git a/net-proxy/Throne/files/Throne-1.2.4-use-system-QHotkey.patch b/net-proxy/Throne/files/Throne-1.2.4-use-system-QHotkey.patch
new file mode 100644
index 0000000000..c3975a0fea
--- /dev/null
+++ b/net-proxy/Throne/files/Throne-1.2.4-use-system-QHotkey.patch
@@ -0,0 +1,40 @@
+From 4f3411259f54eadeca8ce5849d6faa11c8402821 Mon Sep 17 00:00:00 2001
+From: Pavel Sobolev <contact-2GWvd5oGOoG/[email protected]>
+Date: Sun, 9 Aug 2026 16:20:27 +0300
+Subject: [PATCH] Use system `QHotkey`
+
+Signed-off-by: Pavel Sobolev <contact-2GWvd5oGOoG/[email protected]>
+---
+ CMakeLists.txt | 2 +-
+ src/ui/mainWindow/mainwindow_hotkeys.cpp | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 8c07ea7d..3319bdbc 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -66,7 +66,7 @@ set(BUILD_SHARED_LIBS OFF)
+
+ include("cmake/print.cmake")
+ include("cmake/nkr.cmake")
+-include("cmake/QHotkey.cmake")
++find_package(QHotkey CONFIG REQUIRED)
+
+ find_package(Threads)
+
+diff --git a/src/ui/mainWindow/mainwindow_hotkeys.cpp b/src/ui/mainWindow/mainwindow_hotkeys.cpp
+index a773f479..142ec5af 100644
+--- a/src/ui/mainWindow/mainwindow_hotkeys.cpp
++++ b/src/ui/mainWindow/mainwindow_hotkeys.cpp
+@@ -7,7 +7,7 @@
+
+ #include <memory>
+
+-#include <3rdparty/QHotkey/qhotkey.h>
++#include <QHotkey>
+
+ namespace {
+ QList<std::shared_ptr<QHotkey>> RegisteredHotkey;
+--
+2.55.0
+