SHA256
1
0
forked from pool/PDAL

- Update to 2.8.0 and use sha256 instead of md5

* See PDAL changelog at https://github.com/PDAL/PDAL/releases/tag/2.8.0
  * For detailed changes betwwen 2.7.2 and 2.8.0, see 
    https://github.com/PDAL/PDAL/compare/2.7.2...2.8.0

OBS-URL: https://build.opensuse.org/package/show/Application:Geo/PDAL?expand=0&rev=41
This commit is contained in:
Bruno Friedmann 2024-09-10 20:08:08 +00:00 committed by Git OBS Bridge
commit 38f0f93e75
11 changed files with 897 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

3
PDAL-2.5.6-src.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7c7c4570ef518942299479cc4077e0c657ec5b5174daf465415de947a1d3eb99
size 87001744

View File

@ -0,0 +1 @@
728a54d18a4a47bf70dd5d45b26e2882 PDAL-2.5.6-src.tar.bz2

3
PDAL-2.7.2-src.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f6ae0f3dc012b19c70dde2361799ecac0cdcbeb9cad5cfd96313c9fdc8608f32
size 87431434

View File

@ -0,0 +1 @@
d7158d5e99c15b8e4ea7730aad04341b PDAL-2.7.2-src.tar.bz2

3
PDAL-2.8.0-src.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8a6d7646912a4e7a382f06451b14a1f5f2e8aa4e0b391dc91c30701222198b77
size 87483358

View File

@ -0,0 +1 @@
8a6d7646912a4e7a382f06451b14a1f5f2e8aa4e0b391dc91c30701222198b77 PDAL-2.8.0-src.tar.bz2

351
PDAL.changes Normal file
View File

@ -0,0 +1,351 @@
-------------------------------------------------------------------
Tue Sep 10 12:14:57 UTC 2024 - Enno Tensing <tenno+suse@suij.in>
- Update to 2.8.0 and use sha256 instead of md5
* See PDAL changelog at https://github.com/PDAL/PDAL/releases/tag/2.8.0
* For detailed changes betwwen 2.7.2 and 2.8.0, see
https://github.com/PDAL/PDAL/compare/2.7.2...2.8.0
-------------------------------------------------------------------
Fri Jul 12 17:44:23 UTC 2024 - Enno Tensing <tenno+suse@suij.in>
- Update to 2.7.2
* https://github.com/PDAL/PDAL/compare/2.5.6...2.7.2
-------------------------------------------------------------------
Fri Mar 1 10:53:46 UTC 2024 - Martin Pluskal <mpluskal@suse.com>
- Fix building on Leap
-------------------------------------------------------------------
Fri Mar 1 07:33:55 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
- BuildRequire proj-devel instead of the long deprecated name
libproj-devel.
-------------------------------------------------------------------
Tue Oct 3 07:29:11 UTC 2023 - Guillaume GARDET <guillaume.gardet@opensuse.org>
- Update to 2.5.6, complete description:
* https://github.com/PDAL/PDAL/releases/tag/2.5.6
* https://github.com/PDAL/PDAL/releases/tag/2.5.5
* https://github.com/PDAL/PDAL/releases/tag/2.5.4
* https://github.com/PDAL/PDAL/releases/tag/2.5.3
* https://github.com/PDAL/PDAL/releases/tag/2.5.2
* https://github.com/PDAL/PDAL/releases/tag/2.5.1
* https://github.com/PDAL/PDAL/releases/tag/2.5.0
* https://github.com/PDAL/PDAL/releases/tag/2.4.3
* https://github.com/PDAL/PDAL/releases/tag/2.4.2
* https://github.com/PDAL/PDAL/releases/tag/2.4.1
* https://github.com/PDAL/PDAL/releases/tag/2.4.0
- Drop upstream patch:
* d11e0e20.patch
- Refresh PDAL_unbundle.patch
-------------------------------------------------------------------
Fri Jan 7 16:29:16 UTC 2022 - Bruno Friedmann <bruno@ioda-net.ch>
- Fix the -devel dangling symlink by moving to libPDAL
libpdal_*.so.%{soname} symlinks to libpdal_*.%{sovers}
rpmlint not more complain.
-------------------------------------------------------------------
Fri Jan 7 10:37:32 UTC 2022 - D. Berge <opensuse@navlost.eu>
- Add `Provides:` so that PDAL-devel can find libPDAL.
-------------------------------------------------------------------
Wed Dec 29 17:17:47 UTC 2021 - Bruno Friedmann <bruno@ioda-net.ch>
- Review licenses of subpart: The code is licensed BSD except for:
+ filters/private/csf/* and plugins/i3s/lepcc/* are Apache-2.0
+ vendor/arbiter/*, plugins/nitf/io/nitflib.h and plugins/oci/io/OciWrapper.* are Expat/MIT
+ plugins/e57/io/{src,include}/* is BSD-3-Clause
+ plugins/e57/libE57Format/{src,include}/* is Boost 1-0
- Create a patch PDAL_unbundle.patch to sort out eigen3 and boost
+ Eigen3 system now used fixing boo#1194109
- Fixing boo#1194109 ppc64le build by disabling lto until upstream
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102059 is fixed
- Add Provides for
+ bundled(arbiter)
+ bundled(PoissonRecon)
+ bundled(nanoflann)
+ bundled(nlohmann)
- Add %check section following what's Fedora is doing
+ Add upstream patch for testing 32bits d11e0e20.patch
-------------------------------------------------------------------
Sun Aug 15 12:20:32 UTC 2021 - Bruno Friedmann <bruno@ioda-net.ch>
- Update to 2.3.0 version
complete description https://github.com/PDAL/PDAL/releases/tag/2.3.0
-------------------------------------------------------------------
Sat Aug 14 17:16:31 UTC 2021 - Jan Engelhardt <jengelh@inai.de>
- Split bash-completion to its own package like e.g. NetworkManager.
- Remove old rpm specfile constructs like %defattr. Trim author
lists from package description. Set groups. Use multi-argument
find -exec.
- Drop extraneous Provides of the library package; this should
all be autodetected.
- Ensure that documentation is in fact processed by fdupes.
-------------------------------------------------------------------
Fri Aug 13 08:29:11 UTC 2021 - Dirk Stoecker <opensuse@dstoecker.de>
- Add missing requires laszip-devel to devel package.
-------------------------------------------------------------------
Sun Nov 15 08:15:50 UTC 2020 - Bruno Friedmann <bruno@ioda-net.ch>
- Rework BuildRequires as only libpq is really needed
+ Indicate -DPOSTGRESQL_INCLUDE_DIR build flag
+ Remove postgresql-devel postgresql-server-devel buildrequires
- Fix a sed instruction to use -i
-------------------------------------------------------------------
Mon Sep 21 13:15:28 UTC 2020 - Dirk Stoecker <opensuse@dstoecker.de> 2.2.0
- update to 2.2.0
* The Zstandard compression library is no longer required in order to build PDAL.
* The Ubuntu conda image now installs all of PDAL under /usr.
* The default type of the ClusterID dimension has changed from uint64_t to int64_t.
* Most operations now store data using ColumnPointTable, which stores data in
arrays of dimensions, rather than arrays of point data. This can improve the
performance of some operations substantially. Generally, this change should
not be noticeable to users.
* Normal refinement (refine option) in filters.normal is now off by default. (#3133)
* All filters now accept a where option to allow points to skip the filters. (#3118)
* PDAL now searches for plugins in the same directory containing the PDAL library. (#3181)
see https://github.com/PDAL/PDAL/releases/tag/2.2.0
-------------------------------------------------------------------
Wed Jun 17 13:49:44 UTC 2020 - Bruno Friedmann <bruno@ioda-net.ch>
- Add a manual fix for PDALConfig.cmake where the
@PDAL_CONFIG_LIBRARY_DIRS@ is wrongly expanded.
-------------------------------------------------------------------
Fri Apr 10 16:29:56 UTC 2020 - Bruno Friedmann <bruno@ioda-net.ch>
- update to 2.1.0 version
release note at https://github.com/PDAL/PDAL/releases
+ Disable removed plugin SQLITE
+ Disable independant plugin python3
- Packaging
+ Fix postgresql(-server)-devel package requirement
+ spec cleanup
-------------------------------------------------------------------
Sat Mar 14 13:19:03 UTC 2020 - Bruno Friedmann <bruno@ioda-net.ch>
- Renew spec file, remove obsolete SUSE openSUSE versions
- Remove specific line in cmake about python3 (build failed with
new 3.8 version in Factory
-------------------------------------------------------------------
Tue Sep 17 07:35:50 UTC 2019 - Dirk Stoecker <opensuse@dstoecker.de>
- update to 2.0.1
See https://github.com/PDAL/PDAL/releases/tag/2.0.1
-------------------------------------------------------------------
Mon Jul 8 15:45:21 UTC 2019 - Dirk Stoecker <opensuse@dstoecker.de>
- update to 1.9.1
For release notes see https://github.com/PDAL/PDAL/releases
-------------------------------------------------------------------
Wed Feb 20 09:30:33 UTC 2019 - Bruno Friedmann <bruno@ioda-net.ch>
- Remove FindLASzip-cmake.patch with new laszip 3.2.2
-------------------------------------------------------------------
Mon Feb 18 17:57:26 UTC 2019 - Bruno Friedmann <bruno@ioda-net.ch>
- Update to 1.8.0 version (fix broken build with python3.7)
+ changelog https://github.com/PDAL/PDAL/releases/tag/1.8.0
+ important issue about las 1.4 compressed with laszip
- Packaging
+ refresh patch FindLASzip-cmake.patch
+ spec-cleaner minimal
+ bump SONAME to 8.0.0, SOVER to 7
+ cleanup changes (trailling space)
+ delete orphan f717a4c.patch
+ add new plugin libpdal_plugin_kernel_fauxplugin
-------------------------------------------------------------------
Mon Jun 11 12:47:56 UTC 2018 - bruno@ioda-net.ch
- Define %make_build for openSUSE_Leap_42.3
-------------------------------------------------------------------
Fri Jun 1 19:35:14 UTC 2018 - bruno@ioda-net.ch
- Packaging:
+ spec-clean -m (date,url,license)
+ use make_build standard macro
+ remove merged patch f717a4c.patch
+ Adjust sofull_version 7.0.2 soname,sovers to 6
+ Fix sed shebang for python3
+ Added new reader numpy to filelist
- Updated to 1.7.2 upstream bugfix release
- See changelog https://github.com/PDAL/PDAL/releases/tag/1.7.2
- Major release 1.7.1
- See numerous changes at
https://github.com/PDAL/PDAL/releases/tag/1.7.1
-------------------------------------------------------------------
Sat Mar 17 13:45:07 UTC 2018 - aaronpuchert@alice-dsl.net
- Remove unused build dependencies. Some of them aren't maintained
and don't build anymore. (libLAS, libght)
- Google Test is "vendored" and is also not required as dependency.
- FindLASzip-cmake.patch: Make sure LASzip is actually detected.
- Change license descriptor to BSD-3-Clause matching the license
in the repository.
- Remove unused CMake variables.
- Use standard macros for building and installing.
-------------------------------------------------------------------
Mon Jan 15 13:00:20 UTC 2018 - bruno@ioda-net.ch
- Update to version 1.6.0
Visit https://github.com/PDAL/PDAL/releases/tag/1.6.0 for all
improvements done since 1.5
- Adjust sofull_version to 6.1.0 soname to 5 and sovers to 5
- Add upstream patch f717a4c.patch (json-c 0.13 support)
- Packaging:
+ tarball are only published in tar.gz so adapt
+ Build now only with python3
+ ToBeDone upgrade laszip to 3.1.0
+ Adapt file list to newer version
-------------------------------------------------------------------
Wed May 31 06:24:07 UTC 2017 - bruno@ioda-net.ch
- Update to version 1.5.0
Visit https://github.com/PDAL/PDAL/releases/tag/1.5.0 for all
improvements done since 1.4
- Remove patch c2cf2d.patch merged upstream
- Adjust sofull_version to 5.1.0 soname to 5 and sovers to 4
-------------------------------------------------------------------
Fri Mar 10 12:51:53 UTC 2017 - bruno@ioda-net.ch
- Use the lastest patch c2cf2d.patch in place of
cfb888a04897f9704d5bdfaf4d2979e9ff303aab.patch
with use of short commit tag.
-------------------------------------------------------------------
Wed Mar 8 14:51:03 UTC 2017 - bruno@ioda-net.ch
- Update to version 1.4.0
visit https://github.com/PDAL/PDAL/releases/tag/1.4.0 and
https://github.com/PDAL/PDAL/releases/tag/1.3.0 for all
improvements done since 1.2
- Packaging :
+ Add cfb888a04897f9704d5bdfaf4d2979e9ff303aab.patch
Fix for being he only distribution with laszip header not in
subdir. See upstream https://github.com/PDAL/PDAL/issues/1503
+ Move to boost-devel split for TW
+ Comment Requires for build documentation.
+ Remove -WL,no-undefined flag from linker (otherwise we can't
build) upstream use dlopen.
+ Clean-up and adapt cmake flag and options
-------------------------------------------------------------------
Sun Apr 24 14:02:39 UTC 2016 - bruno@ioda-net.ch
- Update to version 1.2.0
see https://github.com/PDAL/PDAL/releases/tag/1.2.0/Changelog
- Fix missing Provide lowercase name
- Remove 01.patch merged upstream
-------------------------------------------------------------------
Thu Feb 25 14:53:51 UTC 2016 - bruno@ioda-net.ch
- Update to version 1.2.0+git.1456409216.0884085:
+ Enable shallow clones on AppVeyor
+ Move boost/property_tree/ptree.hpp where it is actually needed.
+ address #1157 -- invalid JSON output due to \r\n
+ use PDAL_LIB_INSTALL_DIR instead of CMAKE_INSTALL_LIBDIR
+ try using webhook instead of app for slack notifications
+ one more PDAL_LIB_INSTALL_DIR fix
+ typo'd incoming_webhook defn
- packaging : on upstream recommandation Move to git master version
at least until next March 2016 release.
-------------------------------------------------------------------
Thu Feb 25 11:11:11 UTC 2016 - bruno@ioda-net.ch
- Upstream release 1.1.0
* Enhancements:
Add support for the LAZperf LAS compressor in decoding/encoding
LAS files. LAZperf can be enabled with the 'compression' option
in readers.las and writers.las.
Add PCL functionality as filters (filters.greedyprojection,
filters.gridprojection, filters.ground filters.movingleastsquares,
filters.poisson, filters.radiusoutlier, filters.statisticaloutlier,
filters.voxelgrid, filters.height, filters.dartsample)
Add readers.gdal to support reading raster sets as point clouds
Update writers.geowave and readers.geowave to work with the latest
version of GeoWave software.
Add readers.ilvis2 to support the Icebridge ILVIS2 format.
Disallow nested options. Check stage documentation for changes in
option names and handling. (filters.ferry, filters.colorization,
filters.attribute, filters.crop). Change filters.attribute to
handle only a single dimension.
Add 'output_dims' options in writers.bpf to allow control of the
dimensions that should be written.
Add 'all' keyword in 'extra_dims' options of writers.las to cause
all dimensions to be written to either the standard or extra
dimensions of a LAS point.
Add filters.randomize to allow randomized order of points.
Add filters.divider to split a set of points into subsets of a
fixed number or into subsets containing a specific number
of points.
Update to version 1.1.4 of rply in readers.rply.
Change the logic of the range filter to allow multiple ranges
for a single dimension and support a simple boolean logic.
Change the default scaling on writer.bpf to 'auto'.
Add support for smoothing boundaries generated by filters.hexbin.
Add readers.tindex to allow vector-filtered input of point
cloud files.
Allow merging of datasets with non-matching spatial references.
Many, many documentation enhancements.
* Fixes:
Handle error with Pgpointcloud when pointcloud extension is not
installed on postgres server. Skip tests if extension is missing.
Set precision on output of doubles to metadata.
Fix a divide-by-zero error in readers.faux when the point count
was 1. (#1015)
Fix fatal error loading numpy library that occurred when running
filters.predicate or filters.programmable. (#1010)
Correct readers.las to properly check WKT bit when choosing spatial
reference VLR. (#1040)
Correct writer.las to emit only WKT or GeoTiff VLR, not both.
(#1040)
Check object ID against table column id (attrelid) to ensure correct
PCID retrieval in readers.pgpointcloud. (#1051)
- Packaging
- Documentation is still missing since we don't have python-breathe
- Some modules (plugins) are not yet present on obs
So they are not compiled (help welcome)
- Add patches from upstream to fix lib(arch) placement
* 0001-set-SOVERSION-for-plugins-too-1119.patch
* 0004-install-pkgconfig-script-into-CMAKE_INSTALL_LIBDIR-1.patch
* 0016-install-pdal.pc-pkgconfig-in-CMAKE_INSTALL_LIBDIR.patch
* 0017-more-CMAKE_INSTALL_LIBDIR-tweaks.patch
-------------------------------------------------------------------
Sun Dec 29 16:38:02 UTC 2013 - bruno@ioda-net.ch
- First packaging for OBS
Due to upstream bug, documentation is not available

310
PDAL.spec Normal file
View File

@ -0,0 +1,310 @@
#
# spec file for package PDAL
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2021 Friedmann Bruno, Ioda-Net Sàrl, Charmoille, Switzerland.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define soname 18
%define sovers 18.0.0
%define lname pdal
Name: PDAL
Version: 2.8.0
Release: 0
Summary: Point Data Abstraction Library (GDAL for point cloud data)
# The code is licensed BSD except for:
# - filters/private/csf/* and plugins/i3s/lepcc/* are Apache-2.0
# - vendor/arbiter/*, plugins/nitf/io/nitflib.h and plugins/oci/io/OciWrapper.* are Expat/MIT
# - plugins/e57/io/{src,include}/* is BSD-3-Clause
# - plugins/e57/libE57Format/{src,include}/* is Boost 1-0
License: Apache-2.0 AND BSD-3-Clause AND MIT AND BSL-1.0
Group: Productivity/Graphics/CAD
URL: https://www.pdal.io/
Source0: https://github.com/PDAL/PDAL/releases/download/%{version}/%{name}-%{version}-src.tar.bz2
Source1: https://github.com/PDAL/PDAL/releases/download/%{version}/%{name}-%{version}-src.tar.bz2.sha256sum
# Unbundle some bundled libraries inspired by Fedora work at
# https://src.fedoraproject.org/rpms/PDAL/blob/rawhide/f/PDAL_unbundle.patch
Patch0: PDAL_unbundle.patch
BuildRequires: bash-completion
BuildRequires: cairo-devel
BuildRequires: cmake >= 2.8
BuildRequires: cunit-devel
BuildRequires: curl-devel
BuildRequires: eigen3-devel
BuildRequires: fdupes
BuildRequires: freeglut-devel
BuildRequires: gdal
BuildRequires: geotiff-devel
BuildRequires: gtest
BuildRequires: jsoncpp-devel
# We need 3.1.1+ for 1.6
BuildRequires: laszip-devel
BuildRequires: libboost_filesystem-devel
BuildRequires: libboost_headers-devel
BuildRequires: libboost_program_options-devel
BuildRequires: libgdal-devel
BuildRequires: libgeos-devel
BuildRequires: libopenssl-devel >= 1.1
BuildRequires: proj-devel
# Needed to have proj.db for tests
BuildRequires: libpsl5
BuildRequires: libspatialindex-devel
BuildRequires: libtiff-devel
BuildRequires: libxml2-devel
BuildRequires: pkgconfig
BuildRequires: proj
# We don't have it yet
# BuildRequires: pointcloud-devel
BuildRequires: libunwind-devel
BuildRequires: libzstd-devel
BuildRequires: python3-devel
BuildRequires: sqlite3-devel
BuildRequires: xz-devel
BuildRequires: zlib-devel
BuildRequires: pkgconfig(libpq)
# Needed for documentation but we don't build it.
# BuildRequires: dblatex
# BuildRequires: doxygen
# BuildRequires: python-docutils
# BuildRequires: python-Sphinx
# BuildRequires: python3-docutils
# BuildRequires: python3-Sphinx
# For doc but only in TW
# BuildRequires: python-sphinxcontrib-breathe
# Doesn't exist on obs BuildRequires: python3-breathe
Requires: lib%{name}%{soname} = %{version}
Provides: pdal = %{version}
# https://github.com/connormanning/arbiter bundled in vendor/arbiter
Provides: bundled(arbiter)
# https://github.com/mkazhdan/PoissonRecon bundled in vendor/kazhdan
Provides: bundled(PoissonRecon)
# https://github.com/jlblancoc/nanoflann bundled in vendor/nanoflann
Provides: bundled(nanoflann)
# https://github.com/nlohmann/json bundled in vendor/nlohmann
Provides: bundled(nlohmann)
%if 0%{?suse_version} < 1550
BuildRequires: gcc12-c++
%else
BuildRequires: gcc-c++ >= 11
%endif
%description
PDAL is a C++ BSD library for translating and manipulating point cloud data.
It is very much like the GDAL library which handles raster and vector data.
In addition to the library code, PDAL provides a suite of command-line
applications that users can conveniently use to process, filter, translate,
and query point cloud data. See Applications for more information.
This package provides tools & utilities using PDAL library libpdal
%package -n lib%{name}%{soname}
Summary: Point Data Abstraction Library (GDAL for point cloud data)
Group: System/Libraries
%description -n lib%{name}%{soname}
PDAL is a C++ BSD library for translating and manipulating point cloud data.
It is very much like the GDAL library which handles raster and vector data.
In addition to the library code, PDAL provides a suite of command-line
applications that users can conveniently use to process, filter, translate,
and query point cloud data. See Applications for more information.
PDAL should not be confused with PCL (Point Cloud Library).
PCL is a library specifically designed to provide algorithmic analysis and
modification of point clouds. PDAL provides a limited interface to the PCL's
facilities, but does not in general attempt to duplicate its capabilites.
PDAL is focused more on data access and translation than PCL.
%package bash-completion
Summary: Bash completion for PDAL
Requires: bash-completion
Supplements: (%{name} and bash-completion)
BuildArch: noarch
%description bash-completion
This package contain the bash completion command for PDAL.
%package devel
Summary: Development files and tools for PDAL applications
Group: Development/Libraries/C and C++
Requires: cmake
Requires: laszip-devel
Requires: lib%{name}%{soname} = %{version}
Requires: libboost_filesystem-devel
Requires: libboost_headers-devel
Requires: libboost_program_options-devel
Requires: xz-devel
Requires: zlib-devel
Provides: lib%{lname}%{soname}-devel = %{version}
Provides: lib%{name}%{soname}-devel = %{version}
Provides: lib%{name}-devel
Provides: libpdal-devel
%description devel
This package provides the headers files and tools you may need to
develop applications using PDAL.
%package doc
Summary: Documentation, examples and demos for PDAL
Group: Documentation/Other
BuildArch: noarch
%description doc
This package provides the documentation and sources of examples and data demos of
PDAL algorithms.
%prep
%autosetup -p1 -n %{name}-%{version}-src
# Remove some bundled libraries to use system
rm -rf vendor/{eigen,gtest}
# Fix all wrong shebang and move to python3 only
find . -type f -iname "*.py" -exec sed -i 's,^#!%{_bindir}/env python$,#!%{_bindir}/python3,' {} +
#Cleanup spurious perms in documentation
find ./doc/ -type f -exec chmod -v 0644 {} +
find ./doc/ -type f -iname "*.orig" -o -iname ".gitignore" -delete
find ./doc/ -type f -iname "*.ai" -delete
%build
%ifarch ppc64le
# boo#1194109 and upstream https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102059
%define _lto_cflags %{nil}
%endif
%if 0%{?suse_version} < 1550
export CXX=g++-12
%endif
%cmake \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DCMAKE_MODULE_LINKER_FLAGS="-Wl,--as-needed -Wl,-z,now" \
-DCMAKE_SHARED_LINKER_FLAGS="-Wl,--as-needed -Wl,-z,now" \
-DLIB_INSTALL_DIR=%{_libdir} \
-DINCLUDE_INSTALL_DIR=%{_includedir} \
-DENABLE_CTEST=ON \
-Dgtest_build_tests=OFF \
-DWITH_TESTS=ON \
-DWITH_COMPLETION=ON \
-DWITH_LASZIP=ON \
-DWITH_LZMA=ON \
-DLASZIP_INCLUDE_DIR=%{_includedir} \
-DPOSTGRESQL_INCLUDE_DIR=%{_includedir}/pgsql \
-DGEOTIFF_INCLUDE_DIR=%{_includedir}/libgeotiff \
-DBUILD_SHARED_LIBS=ON \
-DNUMPY_INCLUDE_DIR=%{_libdir}/python%{py3_ver}/site-packages/numpy \
-DBUILD_PLUGIN_PYTHON=ON \
-DBUILD_PLUGIN_SQLITE=ON \
-DBUILD_PLUGIN_HEXBIN=OFF \
-DBUILD_PLUGIN_ICEBRIDGE=OFF \
-DBUILD_PLUGIN_NITF=OFF \
-DBUILD_PLUGIN_PGPOINTCLOUD=ON \
-DBUILD_PGPOINTCLOUD_TESTS:BOOL=OFF \
-DBUILD_PLUGIN_GREYHOUND=OFF \
-DBUILD_PLUGIN_PCL=OFF \
..
%make_build
# Make documentation once fixed upstream
# make doxygen html man pdf
%install
%cmake_install
# No executable hpp-Files
find %{buildroot} -type f -name "*.hpp" -executable -exec chmod -x '{}' \;
# No executable cmake-Files
find %{buildroot} -type f -name "*.cmake" -executable -exec chmod -x '{}' \;
#No .la lib
find %{buildroot} -type f -name "*.la" -o -name "*.a" -delete -print
%if 0%{?suse_version}
%fdupes %{buildroot}/%{_prefix}
%fdupes -s doc
%endif
# Strange the @PDAL_CONFIG_LIBRARY_DIRS@ is wrongly expanded /usr//usr/lib64/ in PDALConfig.cmake
sed -i 's,/usr//usr/lib64,%{_libdir},g' %{buildroot}/%{_libdir}/cmake/PDAL/PDALConfig.cmake
# WIP pgpointcloud test need a complete running pg server
#%%check
#pushd build
#export LD_LIBRARY_PATH=%%{buildroot}/%%{_libdir}:${LD_LIBRARY_PATH}
#export PDAL_DRIVER_PATH=%%{buildroot}/%%{_libdir}:${PDAL_DRIVER_PATH}
#export GDAL_DATA=/usr/share/gdal/
#ctest -V
#popd
%check
## test the compiled code (see doc/project/testing.rst)
# A custom timeout of 60s is set. This avoids having tests timeout after the default
# timeout (about 20 minutes)
# we skip tests for selected architectures which need upstream fixes
%ifarch armv7hl aarch64 ppc64le s390x
%ctest --output-on-failure --timeout 60 || true
%else
## we skip the PG test (BUILD_PGPOINTCLOUD_TESTS:BOOL=OFF):
# PGUSER=pdal PGPASSWORD=password PGHOST=localhost PGPORT=5432 ctest -V
%ifarch i686
# https://github.com/PDAL/PDAL/issues/3501 should work with PROJ 8.2 and gdal 3.2.3.
%ctest --timeout 60 || :
%else
# https://github.com/PDAL/PDAL/issues/3501
%ctest --timeout 60 || :
%endif
%endif
%post -n lib%{name}%{soname} -p /sbin/ldconfig
%postun -n lib%{name}%{soname} -p /sbin/ldconfig
%files
%license LICENSE.txt
%{_bindir}/pdal
%files -n lib%{name}%{soname}
%license LICENSE.txt
%doc AUTHORS.txt README.md RELEASENOTES.txt
%{_libdir}/libpdalcpp.so.%{soname}
%{_libdir}/libpdalcpp.so.%{sovers}
# Plugins
%{_libdir}/libpdal_plugin_kernel_fauxplugin.so.%{soname}
%{_libdir}/libpdal_plugin_kernel_fauxplugin.so.%{sovers}
%{_libdir}/libpdal_plugin_reader_pgpointcloud.so.%{soname}
%{_libdir}/libpdal_plugin_reader_pgpointcloud.so.%{sovers}
%{_libdir}/libpdal_plugin_writer_pgpointcloud.so.%{soname}
%{_libdir}/libpdal_plugin_writer_pgpointcloud.so.%{sovers}
%files bash-completion
%dir %{_datadir}/bash-completion
%dir %{_datadir}/bash-completion/completions
%{_datadir}/bash-completion/completions/pdal
%files devel
%license LICENSE.txt
%doc AUTHORS.txt README.md CONTRIBUTING.md
%{_includedir}/pdal
%{_libdir}/libpdalcpp.so
%{_libdir}/libpdal_plugin_kernel_fauxplugin.so
%{_libdir}/libpdal_plugin_reader_pgpointcloud.so
%{_libdir}/libpdal_plugin_writer_pgpointcloud.so
%{_libdir}/pkgconfig/pdal.pc
%{_libdir}/cmake/PDAL
%{_bindir}/pdal-config
%files doc
%doc doc
%changelog

200
PDAL_unbundle.patch Normal file
View File

@ -0,0 +1,200 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index e18fab718..98ecbd76e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -118,6 +118,9 @@ include(${PDAL_CMAKE_DIR}/lazperf.cmake)
include(${PDAL_CMAKE_DIR}/gcs.cmake) # Optional
include(${PDAL_CMAKE_DIR}/utfcpp.cmake)
+find_package(PkgConfig REQUIRED)
+PKG_CHECK_MODULES(EIGEN REQUIRED eigen3)
+
#------------------------------------------------------------------------------
# generate the pdal_features.hpp header
#------------------------------------------------------------------------------
@@ -153,7 +156,6 @@ endif()
add_subdirectory(plugins)
if (WITH_TESTS)
- include (${PDAL_CMAKE_DIR}/gtest.cmake)
add_subdirectory(test)
endif()
add_subdirectory(dimbuilder)
@@ -219,7 +221,7 @@ add_library(PDAL::PDAL ALIAS ${PDAL_LIB_NAME})
#
target_include_directories(${PDAL_LIB_NAME}
SYSTEM BEFORE PRIVATE
- ${PDAL_VENDOR_DIR}/eigen
+ ${EIGEN_INCLUDE_DIRS}
${PDAL_VENDOR_DIR}/kazhdan
${PDAL_VENDOR_DIR}/h3/include
)
diff --git a/plugins/cpd/CMakeLists.txt b/plugins/cpd/CMakeLists.txt
index ba85e27a7..dcf936502 100644
--- a/plugins/cpd/CMakeLists.txt
+++ b/plugins/cpd/CMakeLists.txt
@@ -13,7 +13,7 @@ find_package(Fgt REQUIRED CONFIG)
option(BUILD_PLUGIN_CPD "Build Coherent Point Drift support" ${Cpd_FOUND})
set(files filters/CpdFilter.cpp)
-set(include_dirs "${CMAKE_CURRENT_LIST_DIR}" "${PDAL_VENDOR_DIR}/eigen")
+set(include_dirs "${CMAKE_CURRENT_LIST_DIR}" "${EIGEN_INCLUDE_DIRS}")
PDAL_ADD_PLUGIN(filter_libname filter cpd
FILES
@@ -22,7 +22,7 @@ PDAL_ADD_PLUGIN(filter_libname filter cpd
Cpd::Library-C++
${PDAL_LIBRARIES}
INCLUDES
- ${PDAL_VENDOR_DIR}/eigen
+ ${EIGEN_INCLUDE_DIRS}
${CMAKE_CURRENT_LIST_DIR}
)
diff --git a/plugins/rdb/CMakeLists.txt b/plugins/rdb/CMakeLists.txt
index 0ddb9a24e..49a74a3e8 100644
--- a/plugins/rdb/CMakeLists.txt
+++ b/plugins/rdb/CMakeLists.txt
@@ -25,7 +25,6 @@ PDAL_ADD_PLUGIN(libname reader rdb
${RDB_INCLUDE_C_DIR}
${PDAL_INCLUDE_DIRS}
)
-target_include_directories(${libname} PRIVATE "${PDAL_VENDOR_DIR}/eigen")
target_include_directories(${libname} PUBLIC "${CMAKE_CURRENT_LIST_DIR}/../../vendor/nlohmann/")
target_include_directories(${libname} PUBLIC "${CMAKE_CURRENT_LIST_DIR}/../../vendor/eigen/")
@@ -54,7 +53,7 @@ if (BUILD_RDBLIB_TESTS)
${PROJECT_SOURCE_DIR}/plugins/rdb/io
${RDB_INCLUDE_CPP_DIR}
${RDB_INCLUDE_C_DIR}
- ${PDAL_VENDOR_DIR}/eigen
+ ${EIGEN_INCLUDE_DIRS}
)
endif()
diff --git a/plugins/teaser/CMakeLists.txt b/plugins/teaser/CMakeLists.txt
index cb1cb0e4e..c4017cab8 100644
--- a/plugins/teaser/CMakeLists.txt
+++ b/plugins/teaser/CMakeLists.txt
@@ -67,6 +67,6 @@ if (WITH_TESTS)
LINK_WITH
${filter_libname}
INCLUDES
- "${PDAL_VENDOR_DIR}/eigen"
+ ${EIGEN_INCLUDE_DIRS}
)
endif()
diff --git a/plugins/trajectory/CMakeLists.txt b/plugins/trajectory/CMakeLists.txt
index 31fc9942f..6ec207d95 100644
--- a/plugins/trajectory/CMakeLists.txt
+++ b/plugins/trajectory/CMakeLists.txt
@@ -18,7 +18,7 @@ PDAL_ADD_PLUGIN(libname filter trajectory
${CERES_LIBRARIES}
${PDAL_LIBRARIES}
INCLUDES
- ${PDAL_VENDOR_DIR}/eigen
+ ${EIGEN_INCLUDE_DIRS}
)
if (WITH_TRAJECTORY_TEST)
diff --git a/test/unit/CMakeLists.txt b/test/unit/CMakeLists.txt
index 7ac5a1ede..a7e3bedd2 100644
--- a/test/unit/CMakeLists.txt
+++ b/test/unit/CMakeLists.txt
@@ -34,7 +34,7 @@ PDAL_ADD_TEST(pdal_eigen_test
${PDAL_SRC_DIR}/private/MathUtils.cpp
INCLUDES
- ${PDAL_VENDOR_DIR}/eigen
+ ${EIGEN_INCLUDE_DIRS}
)
PDAL_ADD_TEST(pdal_file_utils_test FILES FileUtilsTest.cpp)
PDAL_ADD_TEST(pdal_georeference_test FILES GeoreferenceTest.cpp)
@@ -43,7 +43,7 @@ PDAL_ADD_TEST(pdal_kdindex_test
KDIndexTest.cpp
INCLUDES
${PDAL_VENDOR_DIR}
- ${PDAL_VENDOR_DIR}/eigen
+ ${EIGEN_INCLUDE_DIRS}
)
PDAL_ADD_TEST(pdal_kernel_test FILES KernelTest.cpp)
PDAL_ADD_TEST(pdal_log_test FILES LogTest.cpp)
@@ -52,7 +52,7 @@ PDAL_ADD_TEST(pdal_math_utils_test
MathUtilsTest.cpp
${PDAL_SRC_DIR}/private/MathUtils.cpp
INCLUDES
- ${PDAL_VENDOR_DIR}/eigen
+ ${EIGEN_INCLUDE_DIRS}
)
PDAL_ADD_TEST(pdal_metadata_test FILES MetadataTest.cpp)
PDAL_ADD_TEST(pdal_oldpclblock_test FILES OldPCLBlockTest.cpp)
@@ -84,7 +84,7 @@ PDAL_ADD_TEST(pdal_point_view_test
FILES
PointViewTest.cpp
INCLUDES
- ${PDAL_VENDOR_DIR}/eigen
+ ${EIGEN_INCLUDE_DIRS}
)
PDAL_ADD_TEST(pdal_point_table_test FILES PointTableTest.cpp)
@@ -227,13 +227,13 @@ PDAL_ADD_TEST(pdal_io_pcd_reader_test
FILES
io/PcdReaderTest.cpp
INCLUDES
- ${PDAL_VENDOR_DIR}/eigen
+ ${EIGEN_INCLUDE_DIRS}
)
PDAL_ADD_TEST(pdal_io_pcd_writer_test
FILES
io/PcdWriterTest.cpp
INCLUDES
- ${PDAL_VENDOR_DIR}/eigen
+ ${EIGEN_INCLUDE_DIRS}
)
PDAL_ADD_TEST(pdal_io_ply_reader_test
FILES
@@ -279,7 +279,7 @@ PDAL_ADD_TEST(pdal_i3s_obb_test
INCLUDES
${NLOHMANN_INCLUDE_DIR}
${PDAL_INCLUDE_DIR}
- ${PDAL_VENDOR_DIR}/eigen
+ ${EIGEN_INCLUDE_DIRS}
)
if (BUILD_I3S_TESTS)
@@ -300,7 +300,7 @@ PDAL_ADD_TEST(pdal_filters_chipper_test
filters/ChipperTest.cpp
INCLUDES
${NLOHMANN_INCLUDE_DIR}
- ${PDAL_VENDOR_DIR}/eigen
+ ${EIGEN_INCLUDE_DIRS}
)
PDAL_ADD_TEST(pdal_filters_nndistance_test
FILES
@@ -359,7 +359,7 @@ PDAL_ADD_TEST(pdal_filters_icp_test
FILES
filters/IcpFilterTest.cpp
INCLUDES
- ${PDAL_VENDOR_DIR}/eigen
+ ${EIGEN_INCLUDE_DIRS}
)
PDAL_ADD_TEST(pdal_filters_info_test FILES filters/InfoFilterTest.cpp)
PDAL_ADD_TEST(pdal_filters_lloydkmeans_test FILES filters/LloydKMeansFilterTest.cpp)
@@ -380,7 +380,7 @@ PDAL_ADD_TEST(pdal_filters_planefit_test
FILES
filters/PlaneFitFilterTest.cpp
INCLUDES
- ${PDAL_VENDOR_DIR}/eigen)
+ ${EIGEN_INCLUDE_DIRS})
PDAL_ADD_TEST(pdal_filters_pmf_test FILES filters/PMFFilterTest.cpp)
PDAL_ADD_TEST(pdal_filters_reprojection_test FILES
filters/ReprojectionFilterTest.cpp)
@@ -408,7 +408,7 @@ PDAL_ADD_TEST(pdal_filters_splitter_test
FILES
filters/SplitterTest.cpp
INCLUDES
- ${PDAL_VENDOR_DIR}/eigen)
+ ${EIGEN_INCLUDE_DIRS})
PDAL_ADD_TEST(pdal_filters_stats_test FILES filters/StatsFilterTest.cpp)
PDAL_ADD_TEST(pdal_filters_transformation_test FILES
filters/TransformationFilterTest.cpp)