Name: GameNetworkingSockets %define snapshot_upstream_version 1.4.1 %define snapshot_date 20251004 %define snapshot_hash 517fff0 Version: %{snapshot_upstream_version}^1.%{snapshot_date}git%{snapshot_hash} Release: %autorelease Summary: Basic transport layer for games License: BSD-3-Clause URL: https://github.com/ValveSoftware/%{name} Source: %{url}/archive/%{snapshot_hash}.tar.gz#downloadas=%{name}-%{snapshot_hash}.tar.gz BuildRequires: cmake gcc-c++ pkgconfig pkgconfig(openssl) pkgconfig(protobuf) %description GameNetworkingSockets is a basic transport layer for games. The features are: - Connection-oriented API (like TCP) - …but message-oriented (like UDP), not stream-oriented - Supports both reliable and unreliable message types - Messages can be larger than underlying MTU. The protocol performs fragmentation, reassembly, and retransmission for reliable messages - A reliability layer significantly more sophisticated than a basic TCP-style sliding window - Encryption. AES-GCM-256 per packet, Curve25519 for key exchange and cert signatures - Tools for simulating packet latency/loss, and detailed stats measurement - Head-of-line blocking control and bandwidth sharing of multiple message streams ("lanes") on the same connection - IPv6 support - Peer-to-peer networking - Cross platform %package devel Summary: Basic transport layer for games %description devel Development files for %{name} %prep %define source_dir %{name}-%{snapshot_hash} [ -d %{source_dir} ] && %__rm -rf %{source_dir} %__mkdir -p %{source_dir} && \ %__tar -xvf %{SOURCE0} -C %{source_dir} --strip-components 1 %autosetup -T -D -n %{name}-%{snapshot_hash} %build %cmake -DBUILD_STATIC_LIB=OFF # -DUSE_STEAMWEBRTC=ON fails w/ missing in submodule `src/external/abseil` %cmake_build %install %cmake_install # install -D -m644 build/bin/libGameNetworkingSockets.so %{buildroot}%{_libdir}/libGameNetworkingSockets.so %files devel %license LICENSE %doc README.md %{_includedir}/* %{_libdir}/* %changelog * Mon Oct 27 2025 Honore Doktorr - Packaged latest snapshot (previous release, version 1.4.1, on Jun 16 2022)