%global _lto_cflags %{nil} Name: InsightToolkit5 Version: 5.4.2 Release: 1%{?dist} Summary: Insight Segmentation and Registration Toolkit (ITK) v5 License: Apache-2.0 URL: https://itk.org/ Source0: https://github.com/InsightSoftwareConsortium/ITK/releases/download/v%{version}/InsightToolkit-%{version}.tar.gz BuildRequires: gcc-c++ BuildRequires: cmake >= 3.16 BuildRequires: eigen3-devel BuildRequires: fftw-devel BuildRequires: expat-devel BuildRequires: libtiff-devel BuildRequires: libjpeg-devel BuildRequires: libpng-devel BuildRequires: zlib-devel BuildRequires: gtest-devel BuildRequires: libminc-devel BuildRequires: hdf5-devel BuildRequires: gdcm-devel BuildRequires: openjpeg2-devel BuildConflicts: InsightToolkit-devel # ITK 5.x is not fully compatible with ITK 4.x, so we package it separately. # We can allow side-by-side installation by relying on ITK's versioned paths. # However, we must be careful with binary names if there are tools included. # This package focuses on the libraries for development. %description The Insight Toolkit (ITK) is an open-source, cross-platform system that provides developers with an extensive suite of software tools for image analysis. This package provides version 5 of the toolkit. %package devel Summary: Development files for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} Requires: eigen3-devel Requires: fftw-devel Requires: gdcm-devel Requires: openjpeg2-devel %description devel The %{name}-devel package contains libraries and header files for developing applications that use %{name}. %prep %autosetup -n InsightToolkit-%{version} # Fix missing include for uint8_t in itkFloatingPointExceptions.h (required for GCC 14+) sed -i 's/#include "itkMacro.h"/#include "itkMacro.h"\n#include /' Modules/Core/Common/include/itkFloatingPointExceptions.h %build # Relax compiler checks for compatibility with GCC 14 # Relax compiler checks for compatibility with GCC 14 and force local include path to avoid system header conflicts export CXXFLAGS="%{optflags} -fpermissive -Wno-error=incompatible-pointer-types -Wno-error=int-conversion -D_GNU_SOURCE -I%{_builddir}/InsightToolkit-%{version}/Modules/Core/Common/include" # ITK options %cmake \ -DCMAKE_CXX_STANDARD:STRING=17 \ -DBUILD_EXAMPLES:BOOL=OFF \ -DBUILD_TESTING:BOOL=OFF \ -DBUILD_SHARED_LIBS:BOOL=ON \ -DITK_BUILD_DEFAULT_MODULES:BOOL=ON \ -DITK_USE_SYSTEM_MINC:BOOL=ON \ -DITK_USE_SYSTEM_LIBRARIES:BOOL=OFF \ -DITK_USE_SYSTEM_EIGEN:BOOL=ON \ -DITK_USE_SYSTEM_EXPAT:BOOL=ON \ -DITK_USE_SYSTEM_FFTW:BOOL=ON \ -DITK_USE_SYSTEM_HDF5:BOOL=ON \ -DITK_USE_SYSTEM_JPEG:BOOL=ON \ -DITK_USE_SYSTEM_PNG:BOOL=ON \ -DITK_USE_SYSTEM_TIFF:BOOL=ON \ -DITK_USE_SYSTEM_ZLIB:BOOL=ON \ -DITK_USE_SYSTEM_GDCM:BOOL=ON \ -DITK_USE_SYSTEM_OPENJPEG:BOOL=ON \ -DITK_USE_SYSTEM_DOUBLECONVERSION:BOOL=OFF \ -DITK_USE_SYSTEM_GOOGLETEST:BOOL=ON \ -DITK_INSTALL_PACKAGE_SUFFIX:STRING=-5.4 \ -DITK_INSTALL_LIBRARY_DIR:PATH=%{_lib} \ -DITK_INSTALL_INCLUDE_DIR:PATH=include/ITK-5.4 \ -DITK_SKIP_PATH_LENGTH_CHECKS:BOOL=ON %cmake_build %install %cmake_install # Remove redundant documentation (handled by %doc in %files) rm -rf %{buildroot}%{_datadir}/doc/ITK-5.4 %files %license LICENSE %doc NOTICE README.md %{_libdir}/libITK*.so.1 %{_libdir}/libitk*.so.1 %files devel %{_includedir}/ITK-5.4/ %{_prefix}/lib/cmake/ITK*/ %{_libdir}/libITK*.so %{_libdir}/libitk*.so %{_bindir}/itkTestDriver %changelog * Tue Feb 03 2026 Maintainer - 5.4.2-1 - Initial package for ITK 5.4.2