%global _lto_cflags %{nil} %global install_dir %{_libdir}/%{name} Name: mrtrix3 Version: 3.0.8 Release: 1%{?dist} Summary: Advanced Diffusion MRI Processing and Visualisation License: MPL-2.0 URL: https://www.mrtrix.org/ Source0: https://github.com/MRtrix3/%{name}/archive/refs/tags/%{version}.tar.gz#/%{name}-%{version}.tar.gz BuildRequires: gcc-c++ BuildRequires: git BuildRequires: python3 BuildRequires: python3-devel BuildRequires: eigen3-devel BuildRequires: zlib-devel BuildRequires: fftw-devel BuildRequires: libtiff-devel BuildRequires: libpng-devel # Qt5 Dependencies BuildRequires: qt5-qtbase-devel BuildRequires: qt5-qtsvg-devel BuildRequires: mesa-libGL-devel BuildRequires: mesa-libGLU-devel Requires: python3 Requires: python3-numpy Requires: qt5-qtbase Requires: qt5-qtsvg Requires: mesa-libGL %description MRtrix3 provides a set of tools to perform various types of diffusion MRI analyses, from various forms of tractography through to next-generation group-level analyses. %prep %autosetup %build # 1. Fix build scripts to use python3 sed -i 's|#!/usr/bin/env python|#!/usr/bin/python3|' configure build # 2. Set Compiler Flags # Note: MRTrix3 configure only respects CFLAGS, not CXXFLAGS export CFLAGS="%{optflags} -Wno-complain-wrong-lang -I /usr/include/eigen3 -fopenmp -std=c++14 -Wno-maybe-uninitialized -Wno-deprecated-declarations -Wno-error -include cassert" export CXXFLAGS="%{optflags}" export LDFLAGS="%{?__global_ldflags}" export EIGEN_CFLAGS="-I /usr/include/eigen3 -std=c++14" export LINKFLAGS="$LDFLAGS" # 3. Qt5 Paths export QMAKE=/usr/bin/qmake-qt5 export MOC=/usr/bin/moc-qt5 export RCC=/usr/bin/rcc-qt5 # 4. Configure ./configure \ -noshared \ -nogui \ -openmp # 5. Build ./build %install mkdir -p %{buildroot}%{install_dir} mkdir -p %{buildroot}%{_bindir} cp -a bin %{buildroot}%{install_dir}/ cp -a lib %{buildroot}%{install_dir}/ cp -a share %{buildroot}%{install_dir}/ # Symlinks for b in %{buildroot}%{install_dir}/bin/*; do binary_name=$(basename "$b") if [ "$binary_name" != "python" ]; then ln -s %{install_dir}/bin/"$binary_name" %{buildroot}%{_bindir}/"$binary_name" fi done # Fix Shebangs utilizing standard Fedora macros %py3_shebang_fix %{buildroot}%{install_dir}/bin/* %check # Basic smoke test to ensure binaries execute and libraries are found export LD_LIBRARY_PATH=%{buildroot}%{install_dir}/lib %{buildroot}%{install_dir}/bin/mrinfo --version # If the source includes the test scripts and data: # python3 testing/run_tests.py %files %license LICENCE.txt %doc README.md %{install_dir}/ %{_bindir}/* %changelog * Sun Jan 04 2026 Morgan Hough - 3.0.8-1 - Initial package for MRtrix3 version 3.0.8