%define ros_distro humble %define RosPkgName openvdb-vendor %define ros_pkg_name openvdb_vendor %define src_version 2.3.4-1 %define openvdb_version 10.0.1 Name: ros-%{ros_distro}-%{RosPkgName} Version: 2.3.4 Release: 2%{?dist} Summary: Wrapper around OpenVDB, if not found on the system, will compile from source License: LGPL v2.1 URL: https://github.com/SteveMacenski/spatio_temporal_voxel_layer/tree/humble Source0: %{RosPkgName}-%{src_version}.tar.gz Source1: openvdb-%{openvdb_version}.tar.gz %global debug_package %{nil} %global __os_install_post %(echo '%{__os_install_post}' | sed -e 's!/usr/lib[^[:space:]]*/brp-python-bytecompile[[:space:]].*$!!g') %global __provides_exclude_from ^/opt/ros/%{ros_distro}/.*$ %global __requires_exclude_from ^/opt/ros/%{ros_distro}/.*$ BuildRequires: cmake BuildRequires: boost-devel BuildRequires: tbb-devel BuildRequires: zlib-devel BuildRequires: blosc-devel Requires: ros-%{ros_distro}-ros-workspace Requires: boost-devel Requires: tbb-devel Requires: zlib-devel Requires: blosc-devel Provides: %{name}-devel = %{version}-%{release} Provides: %{name}-doc = %{version}-%{release} Provides: %{name}-runtime = %{version}-%{release} %description Wrapper around OpenVDB, if not found on the system, will compile from source. Vendors OpenVDB %{openvdb_version} built directly from source tarball, bypassing ament_cmake_vendor_package (which requires python3-vcstool unavailable in the build environment). %prep %autosetup -n %{RosPkgName}-%{src_version} -a1 %build cd openvdb-%{openvdb_version} mkdir -p build && cd build %cmake3 \ -DCMAKE_INSTALL_PREFIX="/opt/ros/%{ros_distro}/opt/openvdb_vendor" \ -DCMAKE_INSTALL_LIBDIR="lib" \ -UINCLUDE_INSTALL_DIR -ULIB_INSTALL_DIR -USYSCONF_INSTALL_DIR -USHARE_INSTALL_PREFIX -ULIB_SUFFIX \ -DOPENVDB_BUILD_BINARIES=OFF \ -DOPENVDB_BUILD_PYTHON_MODULE=OFF \ -DOPENVDB_BUILD_UNITTESTS=OFF \ -DOPENVDB_BUILD_DOCS=OFF \ -DCONCURRENT_MALLOC=Tbbmalloc \ -DBUILD_TESTING=OFF -DTESTING=OFF -DCMAKE_SUPPRESS_REGENERATION=ON \ .. make %{?_smp_mflags} %install cd openvdb-%{openvdb_version}/build make install DESTDIR=%{buildroot} ROS_PREFIX=%{buildroot}/opt/ros/%{ros_distro} ROS_SHARE_DIR=${ROS_PREFIX}/share/%{ros_pkg_name} mkdir -p ${ROS_SHARE_DIR}/cmake mkdir -p ${ROS_PREFIX}/share/ament_index/resource_index/packages cp %{_builddir}/%{RosPkgName}-%{src_version}/openvdb_vendor/package.xml ${ROS_SHARE_DIR}/ cp %{_builddir}/%{RosPkgName}-%{src_version}/openvdb_vendor/openvdb_vendor-extras.cmake ${ROS_SHARE_DIR}/cmake/ cat > ${ROS_SHARE_DIR}/cmake/%{ros_pkg_name}Config.cmake << 'CMAKE_EOF' list(APPEND openvdb_vendor_CONFIG_INCLUDED TRUE) include("${CMAKE_CURRENT_LIST_DIR}/openvdb_vendor-extras.cmake") CMAKE_EOF cat > ${ROS_SHARE_DIR}/cmake/%{ros_pkg_name}ConfigVersion.cmake << 'CMAKE_EOF' set(PACKAGE_VERSION "2.3.4") set(PACKAGE_VERSION_EXACT FALSE) set(PACKAGE_VERSION_COMPATIBLE TRUE) CMAKE_EOF touch ${ROS_PREFIX}/share/ament_index/resource_index/packages/%{ros_pkg_name} %files /opt/ros/%{ros_distro} %changelog * Thu Oct 22 2026 ai-importer - 2.3.4-2 - Rebuild without ament-cmake-vendor-package (python3-vcstool unavailable) - Vendor OpenVDB 10.0.1 directly from Source1 tarball - Manually install ROS package metadata (package.xml, cmake config, ament index) * Thu Oct 22 2026 ai-importer - 2.3.4-1 - Initial import (ROS batch)