%define debug_package %{nil} Name: Throne Version: 1.0.0 Release: 1%{?dist} Summary: Qt based cross-platform GUI proxy configuration manager (backend: sing-box) License: GPL-3.0-only URL: https://github.com/throneproj/Throne Source0: https://github.com/throneproj/Throne/archive/refs/tags/%{version}.tar.gz Source2: Throne.metainfo.xml Source3: Throne.desktop Patch0: 0000-fix-rpath.patch Patch1: 0001-rename-core.patch Patch2: 0002-disable-privilege-req.patch BuildRequires: cmake BuildRequires: git BuildRequires: gcc-c++ BuildRequires: golang-bin BuildRequires: protobuf-compiler BuildRequires: qt6-linguist BuildRequires: qt6-qtbase-devel BuildRequires: qt6-qtsvg-devel BuildRequires: qt6-qttools-devel BuildRequires: protobuf-devel BuildRequires: yaml-cpp-devel BuildRequires: zxing-cpp-devel %description Qt based cross-platform GUI proxy configuration manager (backend: sing-box) Support Windows / Linux out of the box now. %prep %setup -q %autopatch -p1 %build # build Qt %cmake -DCMAKE_BUILD_TYPE=Release -DNKR_PACKAGE=1 -DBUILD_SHARED_LIBS=0 %cmake_build # build golang export CGO_ENABLED=0 export PATH=$PATH:$(go env GOPATH)/bin go install github.com/golang/protobuf/protoc-gen-go@latest go install github.com/chai2010/protorpc/protoc-gen-protorpc@latest pushd core/server pushd gen protoc -I . --go_out=. --protorpc_out=. libcore.proto popd VERSION_SINGBOX=$(go list -m -f '{{.Version}}' github.com/sagernet/sing-box) go build -v -trimpath -ldflags "-w -s -X 'github.com/sagernet/sing-box/constant.Version=${VERSION_SINGBOX}'" -tags "with_clash_api,with_gvisor,with_quic,with_wireguard,with_utls,with_ech,with_dhcp" popd %install #install -D -m 755 %{_builddir}/Throne-dev/redhat-linux-build/Throne %{buildroot}%{_bindir}/Throne %cmake_install rm -f %{buildroot}%{_bindir}/Throne.icns install -D -m 644 %{_builddir}/Throne-%{version}/res/public/Throne.png %{buildroot}%{_datadir}/icons/hicolor/256x256/apps/Throne.png install -D -m 644 %{SOURCE2} %{buildroot}%{_metainfodir}/Throne.metainfo.xml install -D -m 644 %{SOURCE3} %{buildroot}%{_datadir}/applications/Throne.desktop install -D -m 755 %{_builddir}/Throne-%{version}/core/server/Core %{buildroot}%{_bindir}/ThroneCore %files %license LICENSE %doc README.md %doc README_zh.md %{_bindir}/Throne %caps(cap_net_admin=ep) %{_bindir}/ThroneCore %{_datadir}/icons/hicolor/256x256/apps/Throne.png %{_datadir}/applications/Throne.desktop %{_metainfodir}/Throne.metainfo.xml %changelog * Sun Aug 03 2025 sen liu <18370222-liusen373@users.noreply.gitlab.com> 1.0.0-1 - Throne 1.0.0