290 lines
9.6 KiB
RPMSpec
290 lines
9.6 KiB
RPMSpec
#
|
|
# spec file for package PDAL
|
|
#
|
|
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
|
|
# Copyright (c) 2019 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 10
|
|
%define sovers 10
|
|
%define lname pdal
|
|
Name: PDAL
|
|
Version: 2.0.1
|
|
Release: 0
|
|
Summary: Point Data Abstraction Library. GDAL for point cloud data
|
|
License: BSD-3-Clause
|
|
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.md5
|
|
# Source2: https://www.pdal.io/PDAL.pdf
|
|
BuildRequires: bash-completion
|
|
BuildRequires: cairo-devel
|
|
BuildRequires: cmake >= 2.8
|
|
BuildRequires: cunit-devel
|
|
BuildRequires: curl-devel
|
|
BuildRequires: fdupes
|
|
BuildRequires: freeglut-devel
|
|
BuildRequires: gcc-c++
|
|
BuildRequires: gdal
|
|
BuildRequires: geotiff-devel
|
|
BuildRequires: jsoncpp-devel
|
|
# We need 3.1.1+ for 1.6
|
|
BuildRequires: laszip-devel
|
|
BuildRequires: gtest
|
|
BuildRequires: libgdal-devel
|
|
BuildRequires: libgeos-devel
|
|
BuildRequires: libproj-devel
|
|
BuildRequires: libspatialindex-devel
|
|
BuildRequires: libopenssl-devel >= 1.1
|
|
BuildRequires: libtiff-devel
|
|
BuildRequires: libxml2-devel
|
|
BuildRequires: pkgconfig
|
|
BuildRequires: python3
|
|
# We don't have it yet
|
|
# BuildRequires: pointcloud-devel
|
|
# Python extension will be build separately.
|
|
BuildRequires: python3-Cython
|
|
BuildRequires: python3-devel
|
|
BuildRequires: python3-numpy-devel
|
|
BuildRequires: python3-setuptools
|
|
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}
|
|
Recommends: bash-completion
|
|
Provides: pdal = %{version}
|
|
# Override the problem of libpsl5 in tumbleweed
|
|
%if 0%{?suse_version} >= 1330
|
|
BuildRequires: libpsl5
|
|
%endif
|
|
%if 0%{?suse_version} > 1325
|
|
BuildRequires: libboost_filesystem-devel
|
|
BuildRequires: libboost_headers-devel
|
|
BuildRequires: libboost_program_options-devel
|
|
%else
|
|
BuildRequires: boost-devel
|
|
%endif
|
|
BuildRequires: postgresql-devel
|
|
BuildRequires: postgresql-server-devel
|
|
|
|
%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.
|
|
See Readers and Writers for data formats PDAL supports, and see Filters for
|
|
filtering operations that you can apply with PDAL.
|
|
|
|
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.
|
|
Developers and Sponsorship
|
|
|
|
PDAL is developed by Howard Butler, Michael Gerlek, Andrew Bell, Brad Chambers
|
|
and others. Find out more about who contributes to PDAL at Contributors.
|
|
|
|
Website :
|
|
https://www.pdal.io
|
|
|
|
This package provides tools & utilities using PDAL library libpdal
|
|
|
|
%package -n lib%{name}%{soname}
|
|
Summary: Point Data Abstraction Library. GDAL for point cloud data
|
|
Provides: lib%{lname}%{soname}
|
|
Provides: libpdal%{soname}
|
|
|
|
%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.
|
|
See Readers and Writers for data formats PDAL supports, and see Filters for
|
|
filtering operations that you can apply with PDAL.
|
|
|
|
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.
|
|
Developers and Sponsorship
|
|
|
|
PDAL is developed by Howard Butler, Michael Gerlek, Andrew Bell, Brad Chambers
|
|
and others. Find out more about who contributes to PDAL at Contributors.
|
|
|
|
Website :
|
|
https://www.pdal.io
|
|
|
|
Note
|
|
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. See
|
|
filters.pclblock for more background.
|
|
|
|
%package -n %{name}-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%{name}%{soname}-devel = %{version}
|
|
Provides: lib%{lname}%{soname}-devel = %{version}
|
|
Provides: lib%{name}-devel
|
|
Provides: libpdal-devel
|
|
|
|
%description -n %{name}-devel
|
|
This package provides the headers files and tools you may need to
|
|
develop applications using PDAL.
|
|
|
|
%package -n %{name}-doc
|
|
Summary: Documentation, examples and demos for PDAL
|
|
Group: Productivity/Graphics/CAD
|
|
Requires: %{name} = %{version}
|
|
BuildArch: noarch
|
|
|
|
%description -n %{name}-doc
|
|
This package provides the documentation and sources of examples and data demos of
|
|
PDAL algorithms.
|
|
|
|
%prep
|
|
%setup -q -n %{name}-%{version}-src
|
|
# Fix all wrong shebang and move to python3 only
|
|
find . -type f -iname "*.py" -exec sed '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
|
|
%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=OFF \
|
|
-Dgtest_build_tests=OFF \
|
|
-DWITH_TESTS=OFF \
|
|
-DWITH_COMPLETION=ON \
|
|
-DWITH_LASZIP=ON \
|
|
-DWITH_LZMA=ON \
|
|
-DLASZIP_INCLUDE_DIR=%{_includedir} \
|
|
-DGEOTIFF_INCLUDE_DIR=%{_includedir}/libgeotiff \
|
|
-DBUILD_SHARED_LIBS=ON \
|
|
-DBUILD_PLUGIN_PYTHON=ON \
|
|
-DPYTHON_EXECUTABLE=%{_bindir}/python%{py3_ver} \
|
|
-DPYTHON_INCLUDE_DIR=%{_includedir}/python%{py3_ver}m \
|
|
-DNUMPY_INCLUDE_DIR=%{_libdir}/python%{py3_ver}/site-packages/numpy \
|
|
-DBUILD_PLUGIN_HEXBIN=OFF \
|
|
-DBUILD_PLUGIN_ICEBRIDGE=OFF \
|
|
-DBUILD_PLUGIN_NITF=OFF \
|
|
-DBUILD_PLUGIN_PGPOINTCLOUD=ON \
|
|
-DBUILD_PLUGIN_SQLITE=ON \
|
|
-DBUILD_PLUGIN_GREYHOUND=OFF \
|
|
-DBUILD_PLUGIN_PCL=OFF \
|
|
..
|
|
|
|
%make_build
|
|
# Make documentation once fixed upstream
|
|
# make doxygen html man pdf
|
|
|
|
%install
|
|
%cmake_install
|
|
|
|
#No .la lib
|
|
find %{buildroot} -type f -name "*.la" -o -name "*.a" -delete -print
|
|
|
|
%if 0%{?suse_version}
|
|
%fdupes %{buildroot}
|
|
%fdupes doc
|
|
%endif
|
|
|
|
# Not finished yet too many syntax error with python3
|
|
# WIP with upstream
|
|
#%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
|
|
|
|
%post -n lib%{name}%{soname} -p /sbin/ldconfig
|
|
|
|
%postun -n lib%{name}%{soname} -p /sbin/ldconfig
|
|
|
|
%files
|
|
%defattr(-,root,root,-)
|
|
%license LICENSE.txt
|
|
%{_bindir}/pdal
|
|
%dir %{_datadir}/bash-completion
|
|
%dir %{_datadir}/bash-completion/completions
|
|
%{_datadir}/bash-completion/completions/pdal
|
|
|
|
%files -n lib%{name}%{soname}
|
|
%defattr(-,root,root,-)
|
|
%license LICENSE.txt
|
|
%doc AUTHORS.txt README.md RELEASENOTES.txt
|
|
%{_libdir}/libpdal_base.so.%{sovers}
|
|
# Plugins
|
|
%{_libdir}/libpdal_plugin_filter_python.so.%{sovers}
|
|
%{_libdir}/libpdal_plugin_kernel_fauxplugin.so.%{sovers}
|
|
%{_libdir}/libpdal_plugin_reader_numpy.so.%{sovers}
|
|
%{_libdir}/libpdal_plugin_reader_sqlite.so.%{sovers}
|
|
%{_libdir}/libpdal_plugin_writer_sqlite.so.%{sovers}
|
|
%{_libdir}/libpdal_plugin_reader_pgpointcloud.so.%{sovers}
|
|
%{_libdir}/libpdal_plugin_writer_pgpointcloud.so.%{sovers}
|
|
%{_libdir}/libpdal_util.so.%{sovers}
|
|
|
|
%files -n %{name}-devel
|
|
%defattr(-,root,root,-)
|
|
%license LICENSE.txt
|
|
%doc AUTHORS.txt README.md CONTRIBUTING.md
|
|
%{_includedir}/pdal
|
|
# old compatibility link
|
|
%exclude %{_libdir}/libpdal_*.so.9
|
|
%{_libdir}/libpdal_base.so
|
|
%{_libdir}/libpdal_plugin_filter_python.so
|
|
%{_libdir}/libpdal_plugin_kernel_fauxplugin.so
|
|
%{_libdir}/libpdal_plugin_reader_numpy.so
|
|
%{_libdir}/libpdal_plugin_reader_sqlite.so
|
|
%{_libdir}/libpdal_plugin_writer_sqlite.so
|
|
%{_libdir}/libpdal_plugin_reader_pgpointcloud.so
|
|
%{_libdir}/libpdal_plugin_writer_pgpointcloud.so
|
|
%{_libdir}/libpdal_util.so
|
|
%{_libdir}/libpdalcpp.so
|
|
%{_libdir}/pkgconfig/pdal.pc
|
|
%{_libdir}/cmake/PDAL
|
|
%{_bindir}/pdal-config
|
|
|
|
%files -n %{name}-doc
|
|
%defattr(-,root,root,-)
|
|
%doc doc
|
|
|
|
%changelog
|