%global forgeurl https://github.com/Psiphon-Labs/psiphon-tunnel-core %global version %(date +%Y%m%d) %global commit c2ba044b586650eb7248c76e89018241e6613f06 %global _forgeversionsuffix %{scm}%(printf %.7s %{commit}) %global gomodulesmode GO111MODULE=on %global source_date_epoch_from_changelog 0 %global _enable_debug_packages 0 %forgemeta Name: psitunnel Version: %{forgeversion} Release: %{autorelease} Summary: Psiphon Tunnel obfuscating proxy License: GPL-3.0-only URL: %{forgeurl} Source0: %{forgesource} Source1: %{name}-client.service Source2: %{name}-server.service BuildRequires: git-core BuildRequires: golang-bin < 1.25 BuildRequires: go-rpm-macros BuildRequires: systemd-rpm-macros %description Psiphon Tunnel is an obfuscating proxy solution. It allows to circumvent censorship and data discrimination. %prep %forgeautosetup %__mv -f -T ConsoleClient client %__mv -f -T Server server %build export GOPROXY="https://proxy.golang.org,direct" export GOFLAGS="-trimpath" export GO_LDFLAGS="-s -w" for MODULE in client server do %gobuild -o %{name}-${MODULE} ./${MODULE} done %install for MODULE in client server do %__install -p -m 755 -D -t %{buildroot}%{_bindir} %{name}-${MODULE} %__install -p -m 644 -D -T ${MODULE}/README.md %{buildroot}%{_pkgdocdir}/README-${MODULE}.md done %__install -p -m 755 -d -T %{buildroot}%{_sysconfdir}/%{name} %__install -p -m 644 -D -t %{buildroot}%{_unitdir} %{SOURCE1} %{SOURCE2} %__install -p -m 644 -D -t %{buildroot}%{_licensedir}/%{name} LICENSE %__install -p -m 644 -D -t %{buildroot}%{_pkgdocdir} README.md %post %systemd_post %{name}-client.service %{name}-server.service %preun %systemd_preun %{name}-client.service %{name}-server.service %postun %systemd_postun_with_restart %{name}-client.service %{name}-server.service %files %license %{_licensedir}/* %doc %{_pkgdocdir} %{_sysconfdir}/* %{_unitdir}/* %{_bindir}/*