# Upstream has not tagged any releases, so we use a git checkout %global commit b628596766a4d17fc39f07c7ff6f422bde5bc1eb %global date 20240311 %global forgeurl https://github.com/markusa4/sassy # There are no ELF objects in this package, so turn off debuginfo generation. %global debug_package %{nil} Name: sassy Version: 0 Summary: Preprocessor for symmetry detection in sparse graphs %forgemeta License: MIT Release: %autorelease URL: %{forgeurl} Source0: %{forgesource} Source1: %{name}-nauty-test.cxx Source2: %{name}-nauty-test-output BuildRequires: gcc-c++ BuildRequires: libnauty-devel %global _desc %{expand: The sassy preprocessor is designed to shrink large, sparse graphs. Before giving a graph to an off-the-shelf symmetry detection solver (such as bliss, dejavu, nauty, saucy, or Traces), the graph is instead first handed to the preprocessor. The preprocessor shrinks the graph, in turn hopefully speeding up the subsequent solver. Some technicalities apply, though: a hook for symmetries must be given to sassy (a sassy_hook), and symmetries of the reduced graph must be translated back to the original graph. The preprocessor can do the reverse translation automatically, by providing a special hook that is in turn given to the backend solver. The preprocessor comes in the form of a C++ header-only library and uses some features of C++17.} %description %_desc %package devel Summary: Preprocessor for symmetry detection in sparse graphs BuildArch: noarch Provides: %{name}-static = %{version}-%{release} %description devel %_desc %prep %forgeautosetup %build # Nothing to do %install mkdir -p %{buildroot}%{_includedir}/%{name} cp -a *.h tools %{buildroot}%{_includedir}/%{name} %check g++ %{build_cxxflags} -I %{buildroot}%{_includedir} %{SOURCE1} -o nauty-test \ %{build_ldflags} -lnauty ./nauty-test | cmp -s %{SOURCE2} - %files devel %doc README.md %license LICENSE %{_includedir}/%{name}/ %changelog %autochangelog