%global commit f8a1b5ab0d9e7ad88c03a1047885494042130de2 %global shortcommit %(c=%{commit}; echo ${c:0:7}) %global date 20260203 # Disable LTO — causes undefined references across shared lib boundaries %global _lto_cflags %{nil} %define debug_package %{nil} Name: connectome-workbench Version: 2.1.0 Release: 8.%{date}git%{shortcommit}%{?dist} Summary: HCP Visualization and Discovery Tool License: GPL-2.0-only URL: https://github.com/Washington-University/workbench Source0: %{url}/archive/%{commit}.tar.gz#/%{name}-%{shortcommit}.tar.gz BuildRequires: cmake BuildRequires: ninja-build BuildRequires: gcc-c++ BuildRequires: qt5-qtbase-devel BuildRequires: qt5-qtsvg-devel BuildRequires: qt5-qtxmlpatterns-devel BuildRequires: mesa-libGL-devel BuildRequires: mesa-libGLU-devel BuildRequires: glm-devel BuildRequires: glib2-devel BuildRequires: zlib-devel BuildRequires: libxml2-devel BuildRequires: git-core BuildRequires: desktop-file-utils # Xvfb is required to run GUI tests in a headless build environment BuildRequires: xorg-x11-server-Xvfb Requires: qt5-qtbase Requires: qt5-qtsvg Requires: qt5-qtxmlpatterns %description Connectome Workbench is an open source visualization and discovery tool used to map neuroimaging data, especially data generated by the Human Connectome Project. %prep %autosetup -n workbench-%{commit} # FIX 1: Add missing header for Fedora 43 / GCC 15+ sed -i '/#include /a #include ' src/Common/CaretRgb.h # FIX 2: Fix Qt5 header include sed -i 's/#include /#include /g' src/Common/WorkbenchInstallationAssistant.cxx # MOC handled by CMAKE_AUTOMOC=ON %build cd src # GCC 15 / Fedora 43 compatibility export CFLAGS="%{optflags} -Wno-error=format-security" export CXXFLAGS="%{optflags} -std=c++17 -include cstdint -fpermissive -Wno-error=format-security" %cmake -GNinja \ -DWORKBENCH_USE_QT5=TRUE \ -DWORKBENCH_USE_OPENMP=TRUE \ -DWORKBENCH_CHECK_FOR_UPDATES=FALSE \ -DWORKBENCH_USE_SYSTEM_FTGL=FALSE \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DCMAKE_CXX_STANDARD=17 \ -DCMAKE_AUTOMOC=ON \ -DCMAKE_INCLUDE_CURRENT_DIR=ON %cmake_build %install cd src %cmake_install # Install desktop entry (upstream does not provide one via cmake) mkdir -p %{buildroot}%{_datadir}/applications cat > %{buildroot}%{_datadir}/applications/wb_view.desktop < - 2.1.0-4.20260203gitf8a1b5a - Use %%cmake_install instead of manual find+install - Add glib2-devel, ninja-build BuildRequires - GCC 15 CXXFLAGS (-std=c++17 -include cstdint) - Add wb_shortcuts, bash-completion, desktop-file-validate - Fix icon filenames, add 32x32 icon - Git snapshot release versioning * Sun Jan 04 2026 Morgan Hough - 2.1.0-1 - Initial RPM release for Connectome Workbench v2.1.0