%define major 18 %define libname_cpp %mklibname %{name}cpp %{major} %define devname %mklibname %{name} -d # We don't want to provide private PDAL extension libs (to be verified) %global __provides_exclude_from ^%{_libdir}/libpdal_plugin.*\.so.*$ %bcond_with doc Summary: Point Data Abstraction Library Name: pdal Version: 2.8.4 Release: %mkrel 3 Group: Sciences/Geosciences License: BSD-3-Clause AND Apache-2.0 AND MIT AND BSL-1.0 URL: https://www.pdal.io Source: https://github.com/PDAL/PDAL/releases/download/%{version}/PDAL-%{version}-src.tar.bz2 # (fedora) Patch0: pdal_unbundle.patch BuildRequires: cmake BuildRequires: boost-devel BuildRequires: hdf5-devel BuildRequires: pkgconfig(eigen3) BuildRequires: pkgconfig(gdal) BuildRequires: pkgconfig(geos) BuildRequires: pkgconfig(gtest) BuildRequires: pkgconfig(jsoncpp) BuildRequires: pkgconfig(libgeotiff) BuildRequires: pkgconfig(libpq) BuildRequires: pkgconfig(libxml-2.0) BuildRequires: pkgconfig(libzstd) BuildRequires: pkgconfig(netcdf) BuildRequires: pkgconfig(proj) BuildRequires: pkgconfig(python3) BuildRequires: pkgconfig(sqlite3) BuildRequires: pkgconfig(zlib) BuildRequires: python3dist(breathe) BuildRequires: python3dist(numpy) %if %{with doc} BuildRequires: python3dist(sphinx) BuildRequires: python3dist(sphinxcontrib-bibtex) BuildRequires: python3dist(sphinxcontrib-spelling) BuildRequires: python3dist(sphinx-rtd-theme) BuildRequires: python3dist(sphinx-notfound-page) %endif BuildRequires: qhull-devel Requires: bash-completion %description PDAL is a BSD licensed library for translating and manipulating point cloud data of various formats. It is a library that is analogous to the GDAL raster library. PDAL is focused on reading, writing, and translating point cloud data from the ever-growing constellation of data formats. While PDAL is not explicitly limited to working with LiDAR data formats, its wide format coverage is in that domain. PDAL is related to Point Cloud Library (PCL) in the sense that both work with point data, but PDAL’s niche is data translation and processing pipelines, and PCL’s is more in the algorithmic exploitation domain. There is cross over of both niches, however, and PDAL provides a user the ability to exploit data using PCL’s techniques. %files %license LICENSE.txt %license vendor/arbiter/LICENSE %license plugins/e57/libE57Format/LICENSE.md %{_bindir}/pdal %{_datadir}/bash-completion/completions/pdal # Plugins %{_libdir}/libpdal_plugin_kernel_fauxplugin.so.%{major}{,.*} %{_libdir}/libpdal_plugin_reader_pgpointcloud.so.%{major}{,.*} %{_libdir}/libpdal_plugin_writer_pgpointcloud.so.%{major}{,.*} #-------------------------------------------------------------------- %package -n %{libname_cpp} Summary: The shared libraries required for PDAL Group: System/Libraries %description -n %{libname_cpp} The pdal-libs package provides the essential shared libraries for any PDAL client program or interface. You will need to install this package to use PDAL. %files -n %{libname_cpp} %license LICENSE.txt %{_libdir}/libpdalcpp.so.%{major}{,.*} #-------------------------------------------------------------------- %package -n %{devname} Summary: Development files for %{name} Group: Development/C++ Requires: %{name} = %{version}-%{release} Requires: %{libname_cpp} = %{version}-%{release} Provides: %{name}-devel = %{version}-%{release} %description -n %{devname} The pdal-devel package contains the header files and libraries needed to compile C or C++ applications which will directly interact with PDAL. %files -n %{devname} %{_bindir}/pdal-config %{_includedir}/pdal/ %exclude %{_libdir}/libpdal_plugin_kernel_fauxplugin.so %exclude %{_libdir}/libpdal_plugin_reader_pgpointcloud.so %exclude %{_libdir}/libpdal_plugin_writer_pgpointcloud.so %{_libdir}/libpdalcpp.so %{_libdir}/cmake/PDAL/ %{_libdir}/pkgconfig/*.pc #-------------------------------------------------------------------- %if %{with doc} %package doc Summary: Documentation for PDAL Group: Documentation BuildArch: noarch %description doc This package contains documentation for PDAL. %files doc %license LICENSE.txt %doc doc/build/html %endif #-------------------------------------------------------------------- %prep %autosetup -p1 -n PDAL-%{version}-src # Remove some bundled libraries rm -rf vendor/{eigen,gtest,pdalboost} %build %cmake \ -D PDAL_LIB_INSTALL_DIR:PATH=%{_lib} \ -D CMAKE_INSTALL_LIBDIR:PATH=%{_lib} \ -D GEOTIFF_INCLUDE_DIR=%{_includedir}/libgeotiff \ -D BUILD_PGPOINTCLOUD_TESTS:BOOL=OFF \ -D WITH_COMPLETION=ON \ -D WITH_LAZPERF=ON \ -D WITH_TESTS=ON \ -D PDAL_HAVE_LIBGEOTIFF=ON \ -D PDAL_HAVE_LIBXML2=ON \ -D POSTGRESQL_INCLUDE_DIR=%{_includedir}/pgsql \ -D POSTGRESQL_LIBRARIES=%{_libdir}/libpq.so %cmake_build # docs %if %{with doc} pushd doc sphinx-build -b html . build/html popd %endif %install %cmake_install %check ctest || : %changelog * Sun Mar 16 2025 wally 2.8.4-3.mga10 + Revision: 2164985 - rebuild for libxml2 2.13.6 * Wed Feb 05 2025 daviddavid 2.8.4-2.mga10 + Revision: 2145296 - rebuild for new gdal 3.10.1 * Mon Feb 03 2025 daviddavid 2.8.4-1.mga10 + Revision: 2144911 - new version: 2.8.4 * Wed Dec 04 2024 daviddavid 2.8.2-1.mga10 + Revision: 2121471 - new version: 2.8.2 * Mon Nov 04 2024 daviddavid 2.8.1-1.mga10 + Revision: 2112377 - new version: 2.8.1 * Fri Sep 27 2024 daviddavid 2.8.0-1.mga10 + Revision: 2101518 - new version: 2.8.0 - now libmajor is 18 - rebuild against numpy 2 * Tue Jul 02 2024 daviddavid 2.7.2-1.mga10 + Revision: 2078824 - new version: 2.7.2 - now libmajor is 17 - switch to upstream pkgconfig(libgeotiff) * Sat Jun 22 2024 papoteur 2.6.3-1.mga10 + Revision: 2076229 - new version 2.6.3 * Thu Jan 04 2024 daviddavid 2.6.2-1.mga10 + Revision: 2027436 - new version: 2.6.2 - rebuild for new gdal * Wed Nov 01 2023 daviddavid 2.5.6-2.mga10 + Revision: 2003428 - rebuild for new gdal 3.7.2 * Thu Oct 12 2023 daviddavid 2.5.6-1.mga10 + Revision: 1994939 - initial package pdal