%global pkgname seergdb %global tests 1 # Define _metadir for older RPM environments %{!?_metadir: %global _metadir %{_datadir}/metainfo} Name: %{pkgname} Version: 2.7 Release: 1%{?dist} Summary: A modern GDB front-end License: GPL-3.0-or-later AND LGPL-3.0-or-later AND BSD-2-Clause AND MIT AND CC-BY-3.0 AND CC-BY-4.0 URL: https://github.com/epasveer/seer Source0: %{url}/archive/v%{version}/seer-%{version}.tar.gz Source1: seergdb.1 # rr icon not included in GitHub source archive (export-ignore in .gitattributes) Source2: rr.png BuildRequires: gcc BuildRequires: gcc-c++ %if 0%{?amzn} == 2023 BuildRequires: gcc14 BuildRequires: gcc14-c++ %global toolchain gcc14 %endif BuildRequires: cmake >= 3.10 BuildRequires: gdb BuildRequires: qt6-qtbase-devel BuildRequires: qt6-qtcharts-devel BuildRequires: qt6-qtsvg-devel BuildRequires: librsvg2-tools BuildRequires: desktop-file-utils %if 0%{?tests} %if !(0%{?rhel} >= 10 || 0%{?epel} >= 10) BuildRequires: xorg-x11-server-Xvfb %endif BuildRequires: libappstream-glib %endif Requires: gdb Requires: hicolor-icon-theme %description SeerGDB is a modern GDB front-end that provides a GUI to the GNU Debugger (gdb). It supports breakpoints, watchpoints, catchpoints, source/assembly/memory viewing, variable/register visualization, stack frame navigation, thread management, and reverse debugging. %prep %setup -q -n seer-%{version} # Generate PNG icons from SVG (excluded from GitHub tarballs via .gitattributes) mkdir -p src/resources/icons/hicolor/{32x32,64x64,128x128,256x256,512x512} for size in 32 64 128 256 512; do rsvg-convert -w $size -h $size \ src/resources/thenounproject/fortune-teller.svg \ -o src/resources/icons/hicolor/${size}x${size}/seergdb.png done # Install rr icon (also excluded from tarball) cp %{SOURCE2} src/resources/icons/hicolor/256x256/rr.png %build %cmake -S src -DCMAKE_INSTALL_PREFIX=%{_prefix} \ -DCMAKE_BUILD_TYPE=Release \ -DQTVERSION=QT6 %cmake_build %install %cmake_install # Install the desktop file from the source. install -Dm0644 src/resources/seergdb.desktop %{buildroot}%{_datadir}/applications/%{pkgname}.desktop # Install PNG icons for hicolor theme for size in 32 64 128 256; do install -Dm0644 src/resources/icons/hicolor/${size}x${size}/seergdb.png \ %{buildroot}%{_datadir}/icons/hicolor/${size}x${size}/apps/seergdb.png done # Install the scalable SVG icon install -Dm0644 src/resources/thenounproject/fortune-teller.svg %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/%{pkgname}.svg # Install man page install -Dm0644 %{SOURCE1} %{buildroot}%{_mandir}/man1/seergdb.1 # Install AppData metainfo file install -Dm0644 src/resources/seergdb.metainfo.xml %{buildroot}%{_metadir}/%{pkgname}.metainfo.xml %check desktop-file-validate %{buildroot}%{_datadir}/applications/%{pkgname}.desktop %if 0%{?tests} appstream-util validate-relax --nonet %{buildroot}%{_metadir}/%{pkgname}.metainfo.xml %if !(0%{?rhel} >= 10 || 0%{?epel} >= 10) # Smoke test: launch in Xvfb and confirm it starts (timeout 124 = success) timeout 10 xvfb-run %{buildroot}/%{_bindir}/seergdb || [ $? -eq 124 ] %endif %endif %files %license LICENSE %doc README.md %{_bindir}/seergdb %{_datadir}/applications/%{pkgname}.desktop %{_datadir}/icons/hicolor/32x32/apps/seergdb.png %{_datadir}/icons/hicolor/64x64/apps/seergdb.png %{_datadir}/icons/hicolor/128x128/apps/seergdb.png %{_datadir}/icons/hicolor/256x256/apps/seergdb.png %{_datadir}/icons/hicolor/scalable/apps/%{pkgname}.svg %{_mandir}/man1/seergdb.1* %{_metadir}/%{pkgname}.metainfo.xml %changelog * Tue Jul 07 2026 Yonghang Wang - 2.7-1 - Update to version 2.7 - Drop patches merged upstream (copyrights, SPDX licenses, metainfo XML) - Generate PNG icons from SVG (excluded from GitHub tarballs) - Add rr.png as separate source (excluded from GitHub tarballs) - Build requires cmake >= 3.10 (upstream requirement) * Wed Sep 10 2025 Yonghang Wang - 2.5-1 - Initial build for Fedora