summaryrefslogtreecommitdiff
path: root/pcl.spec
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2026-10-16 06:31:18 +0000
committerCoprDistGit <infra@openeuler.org>2026-10-16 06:31:18 +0000
commit89165ae98b7038d1296e15dffdf2272c3ff12860 (patch)
tree131df67809d265bd85870316f35c33b1fd71c1f7 /pcl.spec
parent60c5adb532cfc55ee82ac8f7a474983f03598c73 (diff)
automatic import of pclopeneuler24.03_LTS
Diffstat (limited to 'pcl.spec')
-rw-r--r--pcl.spec172
1 files changed, 172 insertions, 0 deletions
diff --git a/pcl.spec b/pcl.spec
new file mode 100644
index 0000000..865d559
--- /dev/null
+++ b/pcl.spec
@@ -0,0 +1,172 @@
+%global apiversion 1.12
+%global soversion 1.12
+
+Name: pcl
+Version: 1.12.1
+Release: 3
+Summary: Library for point cloud processing
+License: BSD
+URL: http://pointclouds.org/
+
+Source0: %{name}-%{version}.tar.gz
+# Look for external metslib, not upstream
+Patch0: %{name}-1.12.0-metslib.patch
+# Patch for PCLConfig.cmake to find pcl
+Patch1: %{name}-1.12.0-fedora.patch
+Patch2: %{name}-1.12.1-boost.patch
+
+# Fix CVE-2025-4638 / CVE-2025-4640 (opennurbs vendored zlib)
+Patch8: CVE-2025-4638.patch
+
+# For plain building
+BuildRequires: cmake, gcc-c++, boost-devel
+# Documentation
+#BuildRequires: doxygen, graphviz, /usr/bin/sphinx-build
+BuildRequires: doxygen, graphviz
+
+# mandatory
+#BuildRequires: eigen3-static, flann-devel, vtk-devel, gl2ps-devel, hdf5-devel, libxml2-devel, netcdf-cxx-devel, jsoncpp-devel, metslib-static, libXext-devel
+BuildRequires: eigen3-static, flann-devel, gl2ps-devel, hdf5-devel, libxml2-devel, jsoncpp-devel, metslib-static, libXext-devel, flann-static
+BuildRequires: texlive-latex
+
+# To fix Imported target "VTK::Java" includes non-existent path "/usr/lib/jvm/java/include" in its INTERFACE_INCLUDE_DIRECTORIES
+%ifarch %{java_arches}
+BuildRequires: java-devel
+%endif
+
+# optional
+BuildRequires: qt5-qtbase-devel, qhull-devel, libusbx-devel, gtest-devel, qt5-qtwebkit-devel
+%ifarch %{ix86} x86_64
+BuildRequires: openni-devel
+%endif
+
+%description
+The Point Cloud Library (or PCL) is a large scale, open project for point
+cloud processing.
+
+The PCL framework contains numerous state-of-the art algorithms including
+filtering, feature estimation, surface reconstruction, registration, model
+fitting and segmentation.
+
+%package devel
+Summary: Development files for %{name}
+Requires: %{name} = %{version}-%{release}
+Requires: libusb-devel
+Requires: flann-static
+Requires: pkgconfig
+#Requires: eigen3-devel, qhull-devel, flann-devel, vtk-devel
+Requires: eigen3-devel, qhull-devel, flann-devel
+%ifarch %{ix86} x86_64
+Requires: openni-devel
+%endif
+
+%description devel
+The %{name}-devel package contains libraries and header files for
+developing applications that use %{name}.
+
+
+%package tools
+Summary: Point cloud tools and viewers
+Requires: %{name} = %{version}-%{release}
+
+%description tools
+This package contains tools for point cloud file processing and viewers
+for point cloud files and live Kinect data.
+
+
+%package doc
+Summary: PCL API documentation
+BuildArch: noarch
+
+%description doc
+The %{name}-doc package contains API documentation for the Point Cloud
+Library.
+
+
+%prep
+%setup -qn %{name}-%{name}-%{version}
+%patch0 -p1 -b .metslib
+%patch1 -p0 -b .fedora
+%patch2 -p1 -b .boost
+%patch8 -p1 -b .zlib
+
+# Just to make it obvious we're not using any of these
+rm -fr recognition/include/pcl/recognition/3rdparty/metslib
+rm -fr surface/src/3rdparty/opennurbs
+rm -rf surface/include/pcl/surface/3rdparty/opennurbs
+
+%build
+# try to reduce memory usage of compile process (can cause OOM errors
+# esp. on ARM builders)
+%global optflags %(echo %{optflags} | sed -e 's/-g /-g1 /' -e 's/-pipe //' -e's/-ffat-lto-objects/-fno-fat-lto-objects/')
+mkdir build && cd build
+%cmake \
+ -DCMAKE_BUILD_TYPE=None \
+ -DWITH_DOCS=ON \
+ -DWITH_CUDA=OFF \
+ -DWITH_VTK=OFF \
+ -DWITH_TUTORIALS=ON \
+ -DBUILD_apps=ON \
+ -DBUILD_global_tests=OFF \
+ -DOPENNI_INCLUDE_DIR:PATH=/usr/include/ni \
+ -DLIB_INSTALL_DIR=%{_lib} \
+%ifarch x86_64
+ -DPCL_ENABLE_SSE=ON \
+%else
+ -DPCL_ENABLE_SSE=OFF \
+%endif
+ -DPCL_PKGCONFIG_SUFFIX:STRING="" \
+ -DBUILD_documentation=ON \
+ -DCMAKE_SKIP_RPATH=ON \
+ ..
+
+%make_build
+
+%install
+cd build
+%make_install
+
+# Just a dummy test
+rm -f $RPM_BUILD_ROOT%{_bindir}/timed_trigger_test
+
+mkdir -p $RPM_BUILD_ROOT%{_libdir}/cmake/pcl
+mv $RPM_BUILD_ROOT%{_datadir}/%{name}-*/*.cmake $RPM_BUILD_ROOT%{_libdir}/cmake/pcl/
+mv $RPM_BUILD_ROOT%{_datadir}/%{name}-*/Modules $RPM_BUILD_ROOT%{_libdir}/cmake/pcl/
+
+%check
+cd build
+make test || true
+
+%ldconfig_scriptlets
+
+
+%files
+%license LICENSE.txt
+%doc AUTHORS.txt
+%{_libdir}/*.so.%{version}
+%{_libdir}/*.so.%{soversion}
+%{_datadir}/%{name}-%{apiversion}
+
+%files devel
+%{_includedir}/*
+%{_libdir}/*.so
+%{_libdir}/pkgconfig/*.pc
+%{_libdir}/cmake/pcl
+
+%files tools
+%{_bindir}/pcl_*
+# There are no .desktop files because the GUI tools are rather examples
+# to understand a particular feature of PCL.
+
+%files doc
+%doc %{_datadir}/doc
+
+%changelog
+* Fri Oct 16 2026 kuyan_kubuds <kuyan@kubuds.cn> - 1.12.1-3
+- Fix CVE-2025-4638 CVE-2025-4640
+
+* Mon Sep 11 2023 will_niutao <niutao2@huawei.com> - 1.12.1-2
+- delete unused build require
+
+* Fri Apr 28 2023 will_niutao <niutao2@huawei.com> - 1.12.1-1
+- init package for openEuler