%global forgeurl https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake %global commit 1f472b16a662fddd297e343acf7e5c820a713c90 %global gomodulesmode GO111MODULE=on %forgemeta Name: snowflake Version: 2.10.1~20240905git1f472b1 Release: 1%{?dist} Summary: Tor pluggable transport using WebRTC License: BSD-3-Clause AND MIT URL: %{forgeurl} Source0: %{forgesource} # Generated offline vendor archive using go-vendor-tools Source1: vendor.tar.bz2 Source2: go-vendor-tools.toml BuildRequires: go-vendor-tools BuildRequires: go-rpm-macros BuildRequires: golang %description Snowflake is a pluggable transport that uses WebRTC, ephemeral relay servers, and a broker to bypass internet censorship. %prep %autosetup -n %{name}-%{commit} -a 1 %build # Ensure Go modules are enabled and vendor directory is used export GO111MODULE=on export GOFLAGS="-mod=vendor" %gobuild -o snowflake-broker ./broker %gobuild -o snowflake-client ./client %gobuild -o snowflake-probetest ./probetest %gobuild -o snowflake-proxy ./proxy %gobuild -o snowflake-server ./server %install %go_vendor_license_install -c %{SOURCE2} install -D -p -m 0755 -t %{buildroot}%{_bindir} snowflake-broker install -D -p -m 0755 -t %{buildroot}%{_bindir} snowflake-client install -D -p -m 0755 -t %{buildroot}%{_bindir} snowflake-probetest install -D -p -m 0755 -t %{buildroot}%{_bindir} snowflake-proxy install -D -p -m 0755 -t %{buildroot}%{_bindir} snowflake-server %check ./snowflake-client -version || : %files -f %{go_vendor_license_filelist} %{_bindir}/snowflake-broker %{_bindir}/snowflake-client %{_bindir}/snowflake-probetest %{_bindir}/snowflake-proxy %{_bindir}/snowflake-server %changelog * Sun May 19 2024 Packager - 2.10.1~20240905git1f472b1-1 - Initial RPM release for Snowflake