commit f7f7425e56e5eedb7b734efd1668c423c0eb8fd848e4023fa2b0d1ab84488bb6 Author: Bruno Friedmann Date: Wed Jan 15 19:29:55 2025 +0000 - Update tp 2.8.3 * See PDAL changelog at https://github.com/PDAL/PDAL/releases/tag/2.8.3 * For commits between 2.8.2 and 2.8.3 see https://github.com/PDAL/PDAL/compare/2.8.2...2.8.3 OBS-URL: https://build.opensuse.org/package/show/Application:Geo/PDAL?expand=0&rev=49 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -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 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/PDAL-2.5.6-src.tar.bz2 b/PDAL-2.5.6-src.tar.bz2 new file mode 100644 index 0000000..71553a1 --- /dev/null +++ b/PDAL-2.5.6-src.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7c7c4570ef518942299479cc4077e0c657ec5b5174daf465415de947a1d3eb99 +size 87001744 diff --git a/PDAL-2.5.6-src.tar.bz2.md5 b/PDAL-2.5.6-src.tar.bz2.md5 new file mode 100644 index 0000000..d33725a --- /dev/null +++ b/PDAL-2.5.6-src.tar.bz2.md5 @@ -0,0 +1 @@ +728a54d18a4a47bf70dd5d45b26e2882 PDAL-2.5.6-src.tar.bz2 diff --git a/PDAL-2.7.2-src.tar.bz2 b/PDAL-2.7.2-src.tar.bz2 new file mode 100644 index 0000000..441c07e --- /dev/null +++ b/PDAL-2.7.2-src.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f6ae0f3dc012b19c70dde2361799ecac0cdcbeb9cad5cfd96313c9fdc8608f32 +size 87431434 diff --git a/PDAL-2.7.2-src.tar.bz2.md5 b/PDAL-2.7.2-src.tar.bz2.md5 new file mode 100644 index 0000000..bbe8ab6 --- /dev/null +++ b/PDAL-2.7.2-src.tar.bz2.md5 @@ -0,0 +1 @@ +d7158d5e99c15b8e4ea7730aad04341b PDAL-2.7.2-src.tar.bz2 diff --git a/PDAL-2.8.0-src.tar.bz2 b/PDAL-2.8.0-src.tar.bz2 new file mode 100644 index 0000000..11196ed --- /dev/null +++ b/PDAL-2.8.0-src.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8a6d7646912a4e7a382f06451b14a1f5f2e8aa4e0b391dc91c30701222198b77 +size 87483358 diff --git a/PDAL-2.8.0-src.tar.bz2.sha256sum b/PDAL-2.8.0-src.tar.bz2.sha256sum new file mode 100644 index 0000000..30e1d6c --- /dev/null +++ b/PDAL-2.8.0-src.tar.bz2.sha256sum @@ -0,0 +1 @@ +8a6d7646912a4e7a382f06451b14a1f5f2e8aa4e0b391dc91c30701222198b77 PDAL-2.8.0-src.tar.bz2 diff --git a/PDAL-2.8.1-src.tar.bz2 b/PDAL-2.8.1-src.tar.bz2 new file mode 100644 index 0000000..53657d1 --- /dev/null +++ b/PDAL-2.8.1-src.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0e8d7deabe721f806b275dda6cf5630a8e43dc7210299b57c91f46fadcc34b31 +size 87507277 diff --git a/PDAL-2.8.1-src.tar.bz2.sha256sum b/PDAL-2.8.1-src.tar.bz2.sha256sum new file mode 100644 index 0000000..4526ebc --- /dev/null +++ b/PDAL-2.8.1-src.tar.bz2.sha256sum @@ -0,0 +1 @@ +0e8d7deabe721f806b275dda6cf5630a8e43dc7210299b57c91f46fadcc34b31 PDAL-2.8.1-src.tar.bz2 diff --git a/PDAL-2.8.2-src.tar.bz2 b/PDAL-2.8.2-src.tar.bz2 new file mode 100644 index 0000000..63d990a --- /dev/null +++ b/PDAL-2.8.2-src.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:da431616d8a3178fbc8b8e5c57e646a696f22e08cbae30d9ce96a349d8ad3bd9 +size 87504277 diff --git a/PDAL-2.8.2-src.tar.bz2.sha256sum b/PDAL-2.8.2-src.tar.bz2.sha256sum new file mode 100644 index 0000000..0423698 --- /dev/null +++ b/PDAL-2.8.2-src.tar.bz2.sha256sum @@ -0,0 +1 @@ +da431616d8a3178fbc8b8e5c57e646a696f22e08cbae30d9ce96a349d8ad3bd9 PDAL-2.8.2-src.tar.bz2 diff --git a/PDAL-2.8.3-src.tar.bz2 b/PDAL-2.8.3-src.tar.bz2 new file mode 100644 index 0000000..7c26513 --- /dev/null +++ b/PDAL-2.8.3-src.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:13dfdb0d634bdd568b351fd535aaa03f7611df4c2cdb8be938117751355ad09b +size 86918569 diff --git a/PDAL-2.8.3-src.tar.bz2.sha256sum b/PDAL-2.8.3-src.tar.bz2.sha256sum new file mode 100644 index 0000000..16ea879 --- /dev/null +++ b/PDAL-2.8.3-src.tar.bz2.sha256sum @@ -0,0 +1 @@ +13dfdb0d634bdd568b351fd535aaa03f7611df4c2cdb8be938117751355ad09b PDAL-2.8.3-src.tar.bz2 diff --git a/PDAL.changes b/PDAL.changes new file mode 100644 index 0000000..ce71005 --- /dev/null +++ b/PDAL.changes @@ -0,0 +1,383 @@ +------------------------------------------------------------------- +Wed Jan 15 13:17:19 UTC 2025 - Enno Tensing + +- Update tp 2.8.3 + * See PDAL changelog at https://github.com/PDAL/PDAL/releases/tag/2.8.3 + * For commits between 2.8.2 and 2.8.3 see + https://github.com/PDAL/PDAL/compare/2.8.2...2.8.3 + +------------------------------------------------------------------- +Wed Dec 4 19:20:45 UTC 2024 - Enno Tensing + +- Update to 2.8.2 + * See PDAL changelog at https://github.com/PDAL/PDAL/releases/tag/2.8.2 + * For commits between 2.8.1 and 2.8.2 see + https://github.com/PDAL/PDAL/compare/2.8.1...2.8.2 + +------------------------------------------------------------------- +Fri Oct 25 21:51:44 UTC 2024 - Enno Tensing + +- Update to 2.8.1 + * See PDAL changelog at https://github.com/PDAL/PDAL/releases/tag/2.8.1 + * For detailed changes between 2.8.0 and 2.8.1 see + https://github.com/PDAL/PDAL/compare/2.8.0...2.8.1 + * Refresh PDAL_unbundle.patch + +------------------------------------------------------------------- +Tue Oct 22 18:36:23 UTC 2024 - Enno Tensing + +- Remove laszip as a build requirement, since PDAL uses a bundled version of + the lazperf library for this functionality since 2022-02-03 (see commit + 6bdd2e2c281fe0313f8acd8b8b9e4ccf9b2a13c3 upstream) + +------------------------------------------------------------------- +Tue Sep 10 12:14:57 UTC 2024 - Enno Tensing + +- 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 + +- 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 + +- Fix building on Leap + +------------------------------------------------------------------- +Fri Mar 1 07:33:55 UTC 2024 - Dominique Leuenberger + +- BuildRequire proj-devel instead of the long deprecated name + libproj-devel. + +------------------------------------------------------------------- +Tue Oct 3 07:29:11 UTC 2023 - Guillaume GARDET + +- 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 + +- 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 + +- Add `Provides:` so that PDAL-devel can find libPDAL. + +------------------------------------------------------------------- +Wed Dec 29 17:17:47 UTC 2021 - Bruno Friedmann + +- 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 + +- 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 + +- 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 + +- Add missing requires laszip-devel to devel package. + +------------------------------------------------------------------- +Sun Nov 15 08:15:50 UTC 2020 - Bruno Friedmann + +- 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 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 + +- 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 + +- 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 + +- 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 + +- 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 + +- 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 + +- Remove FindLASzip-cmake.patch with new laszip 3.2.2 + +------------------------------------------------------------------- +Mon Feb 18 17:57:26 UTC 2019 - Bruno Friedmann + +- 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 diff --git a/PDAL.spec b/PDAL.spec new file mode 100644 index 0000000..dbda5b4 --- /dev/null +++ b/PDAL.spec @@ -0,0 +1,306 @@ +# +# spec file for package PDAL +# +# Copyright (c) 2025 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.3 +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 +# Upstream is not interested in this patch/change, so we'll have to keep it around +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 +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: 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_LZMA=ON \ + -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 diff --git a/PDAL_unbundle.patch b/PDAL_unbundle.patch new file mode 100644 index 0000000..6acf553 --- /dev/null +++ b/PDAL_unbundle.patch @@ -0,0 +1,33 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 3152a35b3..29871d4c1 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -118,6 +118,10 @@ 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) ++set(PDAL_VENDOR_EIGEN_DIR "${EIGEN_INCLUDE_DIRS}") ++ + #------------------------------------------------------------------------------ + # generate the pdal_features.hpp header + #------------------------------------------------------------------------------ +@@ -153,7 +157,6 @@ endif() + add_subdirectory(plugins) + + if (WITH_TESTS) +- include (${PDAL_CMAKE_DIR}/gtest.cmake) + add_subdirectory(test) + endif() + add_subdirectory(dimbuilder) +diff --git a/cmake/directories.cmake b/cmake/directories.cmake +index 97e799bdb..f079ec725 100644 +--- a/cmake/directories.cmake ++++ b/cmake/directories.cmake +@@ -11,5 +11,4 @@ set(PDAL_KERNELS_DIR ${ROOT_DIR}/kernels) + set(PDAL_FILTERS_DIR ${ROOT_DIR}/filters) + set(PDAL_IO_DIR ${ROOT_DIR}/io) + set(PDAL_VENDOR_DIR ${ROOT_DIR}/vendor) +-set(PDAL_VENDOR_EIGEN_DIR "${PDAL_VENDOR_DIR}/eigen") +