# Generated by go2rpm 1.19.0 %global goipath github.com/SagerNet/sing-box %global gomodulesmode GO111MODULE=on Version: 1.13.12 %gometa -L -f Name: sing-box Release: 3%{?dist} Summary: The universal proxy platform License: BSD-3-Clause AND GPL-3.0-only AND LGPL-3.0-only URL: %{gourl} Source0: https://%{goipath}/archive/v%{version}/v%{version}.tar.gz Source1: %{archivename}-vendor.tar.bz2 BuildRequires: go-vendor-tools BuildRequires: systemd-rpm-macros BuildRequires: clang BuildRequires: lld BuildRequires: golang >= 1.25 Conflicts: sing-box-testing %description The universal proxy platform. %prep %autosetup -p1 -a1 -n sing-box-%{version} %generate_buildrequires %build _ldflags=$(cat release/LDFLAGS) _tags=$(cat release/DEFAULT_BUILD_TAGS_OTHERS | tr ',' ' ') export CC=clang export CXX=clang++ # "sagernet" instead of "SagerNet" export GO_LDFLAGS="-X github.com/sagernet/sing-box/constant.Version=%{version} ${_ldflags}" export GO_BUILDTAGS="${_tags}" export CGO_ENABLED=1 export CGO_LDFLAGS="%{build_ldflags} -fuse-ld=lld" %gobuild -o %{gobuilddir}/bin/sing-box ./cmd/sing-box %install install -Dvm755 %{gobuilddir}/bin/sing-box -t %{buildroot}%{_bindir}/ install -Dvm644 release/config/config.json -t %{buildroot}%{_sysconfdir}/sing-box/ install -Dvm644 release/config/sing-box.service -t %{buildroot}%{_unitdir}/ install -Dvm644 release/config/sing-box@.service -t %{buildroot}%{_unitdir}/ install -Dvm644 release/config/sing-box.sysusers %{buildroot}%{_sysusersdir}/sing-box.conf install -Dvm644 release/config/sing-box.rules -t %{buildroot}%{_datadir}/polkit-1/rules.d/ install -Dvm644 release/config/sing-box-split-dns.xml %{buildroot}%{_datadir}/dbus-1/system.d/sing-box.conf %{gobuilddir}/bin/sing-box completion bash | \ install -Dvm644 /dev/stdin %{buildroot}%{bash_completions_dir}/sing-box %{gobuilddir}/bin/sing-box completion zsh | \ install -Dvm644 /dev/stdin %{buildroot}%{zsh_completions_dir}/_sing-box %{gobuilddir}/bin/sing-box completion fish | \ install -Dvm644 /dev/stdin %{buildroot}%{fish_completions_dir}/sing-box.fish %post %systemd_post sing-box.service sing-box@.service %preun %systemd_preun sing-box.service sing-box@.service %postun %systemd_postun sing-box.service sing-box@.service %files %license LICENSE %{_bindir}/sing-box %{_sysconfdir}/sing-box/config.json %{_unitdir}/sing-box*.service %{_sysusersdir}/sing-box.conf %{_datadir}/polkit-1/rules.d/sing-box.rules %{_datadir}/dbus-1/system.d/sing-box.conf %{bash_completions_dir}/sing-box %{zsh_completions_dir}/_sing-box %{fish_completions_dir}/sing-box.fish %changelog %autochangelog