Name: netcode Version: 1.2.4~preview Release: %autorelease Summary: Library for secure client / server connections over UDP License: BSD-3-Clause URL: https://github.com/mas-bandwidth/netcode %global soversion %(echo '%{version}' | cut -f 1-2 -d '.') %global upstream_version %(echo %{version} | tr '~' '-') Source0: https://github.com/mas-bandwidth/netcode/archive/v%{upstream_version}.tar.gz BuildRequires: gcc BuildRequires: libsodium-devel BuildRequires: libasan BuildRequires: libubsan %description netcode provides a minimal and secure connection-oriented protocol on top of UDP, so you can quickly get to exchanging unreliable unordered packets for your game and get busy building the rest of your game network protocol. %package devel Summary: Development libraries and header files for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} %description devel %{summary}. %prep %autosetup -p1 -C rm -rf sodium %build mkdir build LDFLAGS+='-lsodium' ${CC} ${CFLAGS} -shared -fpic -o build/libnetcode.so.%{soversion} ${LDFLAGS} -Wl,-soname,libnetcode.so.%{soversion} netcode.c ${CC} ${CFLAGS} -fsanitize=address,undefined -o "build/test" -x c test.cpp ${LDFLAGS} %install install -m 644 -D -t %{buildroot}%{_includedir} netcode.h install -m 755 -D -t %{buildroot}%{_libdir} build/libnetcode.so.%{soversion} ln -s libnetcode.so.%{soversion} %{buildroot}%{_libdir}/libnetcode.so %check ./build/test %files %license LICENCE %doc README.md STANDARD.md %{_libdir}/libnetcode.so.%{soversion} %files devel %{_libdir}/libnetcode.so %{_includedir}/netcode.h %changelog %autochangelog