%bcond_without tests %bcond_without weak_deps %define ros_distro humble %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}/.*$ %define RosPkgName lvr2 Name: ros-%{ros_distro}-%{RosPkgName} Version: 25.2.2 Release: 1%{?dist}%{?release_suffix} Summary: ROS lvr2 package Url: https://www.las-vegas.uni-osnabrueck.de/ License: BSD-3-Clause Source0: %{RosPkgName}-%{version}.tar.gz Requires: tbb-devel Requires: libtiff-dev Requires: libgdal-dev Requires: opencv Requires: flann-devel Requires: lz4 Requires: libgsl Requires: eigen3-devel Requires: yaml-cpp-devel Requires: boost-devel Requires: libhdf5-dev Requires: libxi-dev Requires: libxmu-dev Requires: freeglut Requires: ocl-icd-opencl-dev Requires: embree Requires: ros-%{ros_distro}-ros-workspace BuildRequires: tbb-devel BuildRequires: libtiff-dev BuildRequires: libgdal-dev BuildRequires: opencv BuildRequires: flann-devel BuildRequires: lz4 BuildRequires: libgsl BuildRequires: eigen3-devel BuildRequires: yaml-cpp-devel BuildRequires: boost-devel BuildRequires: libhdf5-dev BuildRequires: libxi-dev BuildRequires: libxmu-dev BuildRequires: freeglut BuildRequires: ocl-icd-opencl-dev BuildRequires: embree BuildRequires: cmake BuildRequires: ros-%{ros_distro}-ros-workspace %if 0%{?with_tests} %endif Provides: %{name}-devel = %{version}-%{release} Provides: %{name}-doc = %{version}-%{release} Provides: %{name}-runtime = %{version}-%{release} %description The Las Vegas Surface Reconstruction Toolkit is an Open Source toolkit to reconstruct triangle meshes from unordered point clouds. It supports the generation of textured models either using colored point clouds or point clouds plus images and according calibration matrices. The LVR toolkit provides an Open Source C++ API for meshing and texture generation as well as an I/O interface to store the generated meshes in different exchange formats including Stanford PLY, Wavefront OBJ and Collada. In contrast to other meshing software, it focuses on reconstruction of large scale environments on city scale from high resolution point clouds. %prep %autosetup -c -n %{name}-%{version} %build # Needed to bootstrap since the ros_workspace package does not yet exist. export PYTHONPATH=/opt/ros/%{ros_distro}/lib/python%{python3_version}/site-packages # In case we're installing to a non-standard location, look for a setup.sh # in the install tree and source it. It will set things like # CMAKE_PREFIX_PATH, PKG_CONFIG_PATH, and PYTHONPATH. if [ -f "/opt/ros/%{ros_distro}/setup.sh" ]; then . "/opt/ros/%{ros_distro}/setup.sh"; fi mkdir -p .obj-%{_target_platform} && cd .obj-%{_target_platform} %cmake3 \ -UINCLUDE_INSTALL_DIR \ -ULIB_INSTALL_DIR \ -USYSCONF_INSTALL_DIR \ -USHARE_INSTALL_PREFIX \ -ULIB_SUFFIX \ -DCMAKE_INSTALL_PREFIX="/opt/ros/%{ros_distro}" \ -DAMENT_PREFIX_PATH="/opt/ros/%{ros_distro}" \ -DCMAKE_PREFIX_PATH="/opt/ros/%{ros_distro}" \ -DSETUPTOOLS_DEB_LAYOUT=OFF \ %if !0%{?with_tests} -DBUILD_TESTING=OFF \ %endif ../%{RosPkgName}-%{version} %make_build %install # Needed to bootstrap since the ros_workspace package does not yet exist. export PYTHONPATH=/opt/ros/%{ros_distro}/lib/python%{python3_version}/site-packages # In case we're installing to a non-standard location, look for a setup.sh # in the install tree and source it. It will set things like # CMAKE_PREFIX_PATH, PKG_CONFIG_PATH, and PYTHONPATH. if [ -f "/opt/ros/%{ros_distro}/setup.sh" ]; then . "/opt/ros/%{ros_distro}/setup.sh"; fi %make_install -C .obj-%{_target_platform} %if 0%{?with_tests} %check # Needed to bootstrap since the ros_workspace package does not yet exist. export PYTHONPATH=/opt/ros/%{ros_distro}/lib/python%{python3_version}/site-packages # Look for a Makefile target with a name indicating that it runs tests TEST_TARGET=$(%__make -qp -C .obj-%{_target_platform} | sed "s/^\(test\|check\):.*/\\1/;t f;d;:f;q0") if [ -n "$TEST_TARGET" ]; then # In case we're installing to a non-standard location, look for a setup.sh # in the install tree and source it. It will set things like # CMAKE_PREFIX_PATH, PKG_CONFIG_PATH, and PYTHONPATH. if [ -f "/opt/ros/%{ros_distro}/setup.sh" ]; then . "/opt/ros/%{ros_distro}/setup.sh"; fi CTEST_OUTPUT_ON_FAILURE=1 \ %make_build -C .obj-%{_target_platform} $TEST_TARGET || echo "RPM TESTS FAILED" else echo "RPM TESTS SKIPPED"; fi %endif %files /opt/ros/%{ros_distro} %changelog * Wed Jul 01 2026 Thomas Wiemann twiemann@uos.de - 25.2.2-1 - Autogenerated by ros-porting-tools