%undefine __cmake_in_source_build %define soversion 0.7 Name: fcl Version: 0.7.0 Release: 13%{?dist} Summary: Flexible Collision Library # Automatically converted from old format: BSD - review is highly recommended. License: LicenseRef-Callaway-BSD URL: https://github.com/flexible-collision-library/fcl Source0: https://github.com/flexible-collision-library/%{name}/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz # Add missing includes to fcl headers that call assert() # without including . GCC 15 / Fedora 44 no longer provide # it transitively, breaking both fcl's own build and downstream consumers # of fcl-devel (e.g. DART). Verified to apply cleanly with -p1 against # the 0.7.0 tag. Patch0: fcl-0.7.0-cassert-includes.patch BuildRequires: boost-devel BuildRequires: cmake BuildRequires: eigen3-devel BuildRequires: flann-devel BuildRequires: gcc-c++ BuildRequires: libccd-devel BuildRequires: octomap-devel BuildRequires: tinyxml-devel %description FCL is a library for performing three types of proximity queries on a pair of geometric models composed of triangles. * Collision detection: detecting whether the two models overlap, and optionally, all of the triangles that overlap. * Distance computation: computing the minimum distance between a pair of models, i.e., the distance between the closest pair of points. * Tolerance verification: determining whether two models are closer or farther than a tolerance distance. * Continuous collision detection: detecting whether the two moving models overlap during the movement, and optionally, the time of contact. * Contact information: for collision detection and continuous collision detection, the contact information (including contact normals and contact points) can be returned optionally. %package devel Summary: Development files for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} %description devel The %{name}-devel package contains libraries and header files for developing applications that use %{name}. %prep %autosetup -n %{name}-%{version} -p 1 # Remove spurious executable permissions find . -type f -perm /111 -name "*.h" -print -exec chmod -x '{}' \; find . -type f -perm /111 -name "*.cpp" -print -exec chmod -x '{}' \; # Use the distribution's default C++ standard version sed -i 's/-std=c++11 //g' CMakeModules/CompilerSettings.cmake %build # CMake 4.x (F44) requires cmake_minimum_required >= 3.5. Same pattern as # flann; fcl 0.7.0 has the old required-version pin. %cmake \ -DCMAKE_POLICY_VERSION_MINIMUM=3.5 \ -DCMAKE_BUILD_TYPE:STRING=Release \ -DFCL_NO_DEFAULT_RPATH:BOOL=OFF \ -DFCL_USE_HOST_NATIVE_ARCH:BOOL=OFF \ -DFCL_USE_X64_SSE:BOOL=OFF %cmake_build %install %cmake_install %check %ctest --output-on-failure || exit 0 %files %license LICENSE %doc README.md CHANGELOG.md %{_libdir}/*.so.%{version} %{_libdir}/*.so.%{soversion} %{_datadir}/%{name} %files devel %{_includedir}/fcl %{_libdir}/pkgconfig/*.pc %{_libdir}/cmake/* %{_libdir}/*.so %changelog * Wed Sep 23 2026 Tarik Viehmann - 0.7.0-13 - Regenerated fcl-0.7.0-cassert-includes.patch directly against the fcl 0.7.0 tag: adds #include to the 11 installed headers under include/ that call assert() without it (GCC 15 / Fedora 44 no longer pull in transitively via libstdc++). Verified to apply cleanly with -p1. Patching the headers (rather than only fcl's own build flags) also fixes downstream consumers of fcl-devel, e.g. DART. * Wed May 20 2026 Morgan Hough - 0.7.0-10 - Revive from Fedora orphan state (was dropped after F42, August 2025). - Add -DCMAKE_POLICY_VERSION_MINIMUM=3.5 for F44 cmake 4.x compat. - Final prerequisite of the urdfdom-headers / urdfdom / flann / fcl chain that DART 6.16.7 needs. * Thu Jan 16 2025 Fedora Release Engineering - 0.7.0-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild * Wed Aug 28 2024 Miroslav Suchý - 0.7.0-8 - convert license to SPDX * Wed Jul 17 2024 Fedora Release Engineering - 0.7.0-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild * Sat Jan 29 2022 Rich Mattes - 0.7.0-1 - Update to release 0.7.0 (rhbz#2003209)