%global debug_package %{nil} Name: babelbrain Version: 0.8.1 Release: 5%{?dist} Summary: GUI for modeling transcranial ultrasound neuromodulation License: BSD-3-Clause URL: https://github.com/ProteusMRIgHIFU/BabelBrain Source0: https://github.com/ProteusMRIgHIFU/BabelBrain/archive/main.tar.gz#/BabelBrain-main.tar.gz BuildRequires: python3-devel BuildRequires: python3-hatchling BuildRequires: python3-pip BuildRequires: chrpath BuildRequires: InsightToolkit5-devel # Add runtime deps here if needed for tests or byte-compilation checks # BuildRequires: python3-babelviscofdtd Requires: python3-babelviscofdtd Requires: python3-pyside6 Requires: python3-h5py Requires: python3-hdf5plugin Requires: python3-pydicom Requires: python3-nibabel Requires: python3-pyvista Requires: python3-vtk Requires: python3-numba Requires: python3-numpy Requires: python3-scipy Requires: python3-matplotlib Requires: python3-pandas Requires: python3-scikit-image Requires: python3-pyopencl Requires: python3-pymupdf # Requires: python3-pymeshfix # Might not be in Fedora Requires: python3-trimesh # Requires: python3-manifold3d # Might not be in Fedora Requires: python3-numpy-stl # Requires: python3-pwlf # Might not be in Fedora Requires: python3-superqt Requires: InsightToolkit5 Requires: elastix # Requires: python3-histoprint # Might not be in Fedora # Requires: python3-linetimer # Might not be in Fedora Requires: python3-xmltodict Requires: python3-openpyxl Requires: python3-et_xmlfile Requires: python3-networkx Requires: python3-scooby Requires: python3-platformdirs Requires: python3-packaging Requires: python3-click Requires: python3-requests Requires: python3-pillow Requires: python3-pywavelets %description Plymouth's TUS Planning Toolbox (BabelBrain). BabelBrain is a graphical user interface aimed to simplify the planning of Transcranial Focused Ultrasound (TUS) procedures. %prep %autosetup -n BabelBrain-main # Fix version in pyproject.toml to match spec version sed -i 's/version = "0.1.0"/version = "%{version}"/' pyproject.toml %build %pyproject_wheel %install %pyproject_install # Remove bundled elastix binaries rm -rf %{buildroot}%{python3_sitelib}/BabelBrain/ExternalBin/elastix # Fix script permissions chmod +x %{buildroot}%{python3_sitelib}/BabelBrain/CreateVoxelMask.py chmod +x %{buildroot}%{python3_sitelib}/BabelBrain/ExternalBin/*/run_linux.sh # Remove Mac/Windows specific scripts to clean up package rm -f %{buildroot}%{python3_sitelib}/BabelBrain/ExternalBin/*/run_mac.sh rm -f %{buildroot}%{python3_sitelib}/BabelBrain/ExternalBin/*/run_mac_transformix.sh %files %license LICENSE %doc README.md %{_bindir}/babelbrain %{python3_sitelib}/BabelBrain %{python3_sitelib}/babelbrain-%{version}.dist-info %changelog * Wed Feb 11 2026 Morgan Hough - 0.8.1-5 - Use system InsightToolkit5 and elastix packages directly. * Wed Feb 11 2026 Morgan Hough - 0.8.1-4 - Switch to system elastix and InsightToolkit * Sun Feb 01 2026 Morgan Hough - 0.8.1-3 - Fix package summary length and spelling issues * Sun Feb 01 2026 Morgan Hough - 0.8.1-2 - Fix script permissions and clean up non-Linux scripts - Fix RPATHs for bundled elastix binaries - Disable debuginfo generation for bundled binaries * Sun Feb 01 2026 Morgan Hough - 0.8.1-1 - Initial package