File gource.spec of Package failed_gource

Name: gource
Version: 0.54
Release: 1%{?dist}
Summary: software version control visualization
Group: Applications/Graphics
License: GPL-3.0-or-later
URL: https://github.com/acaudwell/Gource
Source0: gource-0.54.tar.gz
BuildRequires: gcc-c++, make, pkgconfig, freetype2-devel, libpng16-devel, libwebp-devel, sdl2-devel, libX11-devel, libXrandr-devel, libXinerama-devel, libXxf86vm-devel, libXcursor-devel, libGL-devel, libGLU-devel, mesa-libEGL-devel, boost-devel, tinyxml-devel, pkgconfig(gl), pkgconfig(glesv2)
Provides: gource
%description
Gource is a software version control visualization tool.

%prep
%setup -q
# Provide compatibility helper for missing extension() free-function
cat > src/extension_compat.h << 'EOF'
#pragma once
#include <cstddef>
#include <string>

static inline std::string extension(const std::string &p)
{
    size_t pos = p.rfind('.');
    if (pos == std::string::npos) return std::string();
    return p.substr(pos);
}
EOF
# Ensure gource_settings.cpp includes the helper header
if [ -f src/gource_settings.cpp ] && ! grep -q '#include "extension_compat.h"' src/gource_settings.cpp; then
  sed -i '1i#include "extension_compat.h"' src/gource_settings.cpp
fi

%build
%configure
make %{?_smp_mflags}

%install
%makeinstall

%files
%license LICENSE
%doc README.md
/usr/bin/gource

%changelog
* Thu Aug 28 2025 Lalala123 <lalala123@example.com> - 0.54-1
- Rebuilt for riscv64
openSUSE Build Service is sponsored by