Accepting request 477823 from home:bruno_friedmann:branches:Application:Geo

- 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

OBS-URL: https://build.opensuse.org/request/show/477823
OBS-URL: https://build.opensuse.org/package/show/Application:Geo/PDAL?expand=0&rev=3
This commit is contained in:
Martin Pluskal 2017-03-09 08:35:40 +00:00 committed by Git OBS Bridge
parent b0a0cd21d0
commit 09d379acc5
8 changed files with 198 additions and 88 deletions

View File

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

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

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

View File

@ -0,0 +1 @@
8e767028e41a9da25561dfe25e60a542 PDAL-1.4.0-src.tar.bz2

View File

@ -1,3 +1,21 @@
-------------------------------------------------------------------
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 Sun Apr 24 14:02:39 UTC 2016 - bruno@ioda-net.ch

135
PDAL.spec
View File

@ -20,67 +20,86 @@
# python breathe for doc # python breathe for doc
# python3 # python3
# Mandatory : build -doc appart (too much texlive used otherwise)
# Ask upstream to clarify seems sofull_version is build version # Ask upstream to clarify seems sofull_version is build version
%define soname 2 %define soname 4
%define sovers 2 %define sovers 4
%define sofull_version 3.0.0 %define sofull_version 5.0.0
%define lname pdal %define lname pdal
Name: PDAL Name: PDAL
Version: 1.2.0 Version: 1.4.0
Release: 0 Release: 0
Summary: Point Data Abstraction Library. GDAL for point cloud data Summary: Point Data Abstraction Library. GDAL for point cloud data
#@todo verify with upstream if not BSD-3 #@todo verify with upstream if not BSD-3
License: BSD-2-Clause License: BSD-2-Clause
Group: Productivity/Graphics/CAD Group: Productivity/Graphics/CAD
Url: http://www.pdal.io/ Url: http://www.pdal.io/
# We use git master on upstream recommandation until next March 2016 release Source0: http://download.osgeo.org/pdal/%{name}-%{version}-src.tar.bz2
# use osc service dr Source1: http://download.osgeo.org/pdal/%{name}-%{version}-src.tar.bz2.md5
Source: %{name}-%{version}.tar.xz # Source2: https://www.pdal.io/PDAL.pdf
#Source: http://download.osgeo.org/pdal/%%{name}-%%{version}-src.tar.bz2 # Upstream issue#1503 has hardcoded /usr/include/laszip/laszip.hpp
Patch0: https://github.com/PDAL/PDAL/commit/cfb888a04897f9704d5bdfaf4d2979e9ff303aab.patch
# Override the problem of libpsl5 in tumbleweed # Override the problem of libpsl5 in tumbleweed
%if 0%{?suse_version} >= 1330 %if 0%{?suse_version} >= 1330
BuildRequires: libpsl5 BuildRequires: libpsl5
%endif %endif
BuildRequires: bash-completion BuildRequires: bash-completion
%if 0%{?suse_version} > 1325
BuildRequires: libboost_headers-devel
BuildRequires: libboost_filesystem-devel
BuildRequires: libboost_program_options-devel
%else
BuildRequires: boost-devel BuildRequires: boost-devel
%endif
BuildRequires: cairo-devel BuildRequires: cairo-devel
BuildRequires: cmake >= 2.8 BuildRequires: cmake >= 2.8
BuildRequires: cunit-devel BuildRequires: cunit-devel
BuildRequires: dblatex BuildRequires: curl-devel
BuildRequires: doxygen
BuildRequires: fdupes BuildRequires: fdupes
BuildRequires: freeglut-devel BuildRequires: freeglut-devel
# Needed for tests
BuildRequires: gdal
BuildRequires: gcc-c++ BuildRequires: gcc-c++
BuildRequires: googletest-devel
BuildRequires: hdf5-devel BuildRequires: hdf5-devel
BuildRequires: libcgal-devel BuildRequires: libcgal-devel
BuildRequires: libgdal-devel BuildRequires: libgdal-devel
BuildRequires: libgeos-devel BuildRequires: libgeos-devel
BuildRequires: libgeotiff-devel BuildRequires: libgeotiff-devel
BuildRequires: libght-devel BuildRequires: libght-devel
BuildRequires: libjson-c-devel BuildRequires: jsoncpp-devel
BuildRequires: laszip-devel
BuildRequires: liblas-devel BuildRequires: liblas-devel
BuildRequires: libproj-devel BuildRequires: libproj-devel
BuildRequires: libspatialindex-devel BuildRequires: libspatialindex-devel
BuildRequires: libtiff-devel BuildRequires: libtiff-devel
BuildRequires: libxml2-devel BuildRequires: libxml2-devel
BuildRequires: netcdf-devel
BuildRequires: pkg-config BuildRequires: pkg-config
BuildRequires: postgresql-devel >= 9.1 BuildRequires: postgresql-devel >= 9.1
BuildRequires: libpq5 >= 9.1 BuildRequires: libpq5 >= 9.1
# We don't have it yet
# BuildRequires: pointcloud-devel # BuildRequires: pointcloud-devel
# BuildRequires: libpqxx-devel BuildRequires: python-Cython
BuildRequires: python-Sphinx
# For doc but only in TW
#BuildRequires: python-sphinxcontrib-breathe
BuildRequires: python-devel BuildRequires: python-devel
BuildRequires: python-docutils
BuildRequires: python-numpy-devel BuildRequires: python-numpy-devel
BuildRequires: python3-Sphinx BuildRequires: python-setuptools
# Doesn't exist on obs BuildRequires: python3-breathe # BuildRequires: python3-devel
BuildRequires: python3-devel # BuildRequires: python3-numpy-devel
BuildRequires: python3-docutils BuildRequires: sqlite3-devel
BuildRequires: python3-numpy-devel
BuildRequires: zlib-devel BuildRequires: zlib-devel
# 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} Requires: lib%{name}%{soname} = %{version}
Recommends: bash-completion Recommends: bash-completion
@ -163,11 +182,13 @@ This package provides the documentation and sources of examples and data demos o
PDAL algorithms. PDAL algorithms.
%prep %prep
%setup -q -n %{name}-%{version} %setup -q -n %{name}-%{version}-src
%patch0 -p1
#Cleanup spurious perms in documentation #Cleanup spurious perms in documentation
find ./doc/ -type f -exec chmod -v 0644 {} \; find ./doc/ -type f -exec chmod -v 0644 {} \;
find ./doc/ -type f -iname "*.orig" -delete find ./doc/ -type f -iname "*.orig" -o -iname ".gitignore" -delete
find ./doc/ -type f -iname "*.ai" -delete
%build %build
%if 0%{?suse_version} == 1310 %if 0%{?suse_version} == 1310
@ -178,29 +199,21 @@ export CXXFLAGS="%{optflags} -fPIE -pie"
%endif %endif
%cmake \ %cmake \
-G "Unix Makefiles" \ -DCMAKE_VERBOSE_MAKEFILE=ON \
-DCMAKE_BUILD_TYPE=Release \ -DCMAKE_MODULE_LINKER_FLAGS="-Wl,--as-needed -Wl,-z,now" \
-DCMAKE_INSTALL_PREFIX=%{_prefix} \ -DCMAKE_SHARED_LINKER_FLAGS="-Wl,--as-needed -Wl,-z,now" \
-DCMAKE_INSTALL_LIBDIR=%{_libdir} \ -DLIB_INSTALL_DIR=%{_libdir} \
-DPDAL_LIB_INSTALL_DIR=%{_libdir} \ -DLIB_NAME=lib%{name} \
-DPDAL_LIB_NAME=lib%{name} \ -DINCLUDE_INSTALL_DIR=%{_includedir} \
-DCMAKE_C_FLAGS_RELEASE="%{optflags} -fno-strict-aliasing -g -DNDEBUG" \
-DCMAKE_CXX_FLAGS_RELEASE="%{optflags} -fno-strict-aliasing -g -DNDEBUG" \
-DCMAKE_SKIP_INSTALL_RPATH=ON \
-DCMAKE_SKIP_RPAH=ON \
-DENABLE_CTEST=ON \ -DENABLE_CTEST=ON \
-DWITH_COMPLETION=ON \ -DWITH_COMPLETION=ON \
-DWITH_APPS=ON \
-DWITH_TESTS=ON \ -DWITH_TESTS=ON \
-DWITH_ICONV=ON \
-DBUILD_PLUGIN_PCL=OFF \
-DWITH_LASZIP=ON \ -DWITH_LASZIP=ON \
-DWITH_GEOTIFF=ON \ -DLASZIP_INCLUDE_DIR=%{_includedir} \
-DWITH_GEOTIFF=%{_includedir}/libgeotiff \
-DGEOTIFF_INCLUDE_DIR=%{_includedir}/libgeotiff \ -DGEOTIFF_INCLUDE_DIR=%{_includedir}/libgeotiff \
-DWITH_LAZPERF=OFF \ -DBUILD_SHARED_LIBS=ON \
-DWITH_LIBXML2=ON \
-DBUILD_PLUGIN_PYTHON=ON \ -DBUILD_PLUGIN_PYTHON=ON \
-DBUILD_PLUGIN_ATTRIBUTE=ON \
-DBUILD_PLUGIN_HEXBIN=OFF \ -DBUILD_PLUGIN_HEXBIN=OFF \
-DBUILD_PLUGIN_ICEBRIDGE=OFF \ -DBUILD_PLUGIN_ICEBRIDGE=OFF \
-DBUILD_PLUGIN_NITF=OFF \ -DBUILD_PLUGIN_NITF=OFF \
@ -208,32 +221,29 @@ export CXXFLAGS="%{optflags} -fPIE -pie"
-DBUILD_PLUGIN_PGPOINTCLOUD=ON \ -DBUILD_PLUGIN_PGPOINTCLOUD=ON \
-DBUILD_PLUGIN_SQLITE=ON \ -DBUILD_PLUGIN_SQLITE=ON \
-DBUILD_PLUGIN_GREYHOUND=OFF \ -DBUILD_PLUGIN_GREYHOUND=OFF \
-DBUILD_PLUGIN_PCL=OFF \
.. ..
# -DBUILD_PLUGIN_GEOWAVE=OFF \
# -DGEOWAVE_RUNTIME_JAR=/home/vagrant/geowave/geowave-jace.jar \
# -DJACE_INCLUDE_DIR=/home/vagrant/geowave/include \
# -DJACE_LIBRARY=/home/vagrant/geowave/build/libjace.so \
# -DLAZPERF_INCLUDE_DIR=/home/vagrant/laz-perf \
make VERBOSE=1 %{?_smp_mflags} make VERBOSE=1 %{?_smp_mflags}
# Make documentation once fixed upstream # Make documentation once fixed upstream
# make doxygen html man pdf # make doxygen html man pdf
# Make the python part # Make the python part should be build in a dedicated .spec
# It need pdal-config to work
%check # pushd ../python
make %{?_smp_mflags} test # python setup.py build
# popd
%install %install
pushd build pushd build
make DESTDIR=%{buildroot} install %{?_smp_mflags} make DESTDIR=%{buildroot} install %{?_smp_mflags}
popd popd
# Fix location of bash-completion script to be system wide
mkdir -p %{buildroot}%{_datadir}/bash_completion/completions/ # pushd ../python
mv -v %{buildroot}%{_prefix}%{_sysconfdir}/bash_completion.d/pdal %{buildroot}%{_datadir}/bash_completion/completions/pdal # python setup.py install
rm -rfv %{buildroot}%{_prefix}%{_sysconfdir} # popd
#No .la lib #No .la lib
find %{buildroot} -type f -name "*.la" -o -name "*.a" -delete -print find %{buildroot} -type f -name "*.la" -o -name "*.a" -delete -print
@ -243,6 +253,14 @@ find %{buildroot} -type f -name "*.la" -o -name "*.a" -delete -print
%fdupes doc %fdupes doc
%endif %endif
# Not finished yet
#%%check
#pushd build
#export LD_LIBRARY_PATH=%%{buildroot}%%{_libdir}:${LD_LIBRARY_PATH}
#export GDAL_DATA=/usr/share/gdal/
#ctest -V
#popd
%post -n lib%{name}%{soname} -p /sbin/ldconfig %post -n lib%{name}%{soname} -p /sbin/ldconfig
%postun -n lib%{name}%{soname} -p /sbin/ldconfig %postun -n lib%{name}%{soname} -p /sbin/ldconfig
@ -250,9 +268,9 @@ find %{buildroot} -type f -name "*.la" -o -name "*.a" -delete -print
%files %files
%defattr(-,root,root,-) %defattr(-,root,root,-)
%{_bindir}/pdal %{_bindir}/pdal
%dir %{_datadir}/bash_completion %dir %{_datadir}/bash-completion
%dir %{_datadir}/bash_completion/completions %dir %{_datadir}/bash-completion/completions
%{_datadir}/bash_completion/completions/pdal %{_datadir}/bash-completion/completions/pdal
%files -n lib%{name}%{soname} %files -n lib%{name}%{soname}
%defattr(-,root,root,-) %defattr(-,root,root,-)
@ -296,10 +314,7 @@ find %{buildroot} -type f -name "*.la" -o -name "*.a" -delete -print
%{_bindir}/pdal-config %{_bindir}/pdal-config
%dir %{_libdir}/pdal/ %dir %{_libdir}/pdal/
%dir %{_libdir}/pdal/cmake %dir %{_libdir}/pdal/cmake
%{_libdir}/pdal/cmake/PDALConfig.cmake %{_libdir}/pdal/cmake/PDAL*.cmake
%{_libdir}/pdal/cmake/PDALConfigVersion.cmake
%{_libdir}/pdal/cmake/PDALTargets-release.cmake
%{_libdir}/pdal/cmake/PDALTargets.cmake
%files -n %{name}-doc %files -n %{name}-doc
%defattr(-,root,root,-) %defattr(-,root,root,-)

View File

@ -1,21 +0,0 @@
<services>
<service name="tar_scm" mode="disabled">
<param name="url">git://github.com/PDAL/pdal.git</param>
<param name="scm">git</param>
<param name="exclude">.git</param>
<!--
<param name="versionformat">1.2.0+git.%ct.%h</param>
<param name="revision">master</param>
-->
<param name="version">1.2.0</param>
<param name="filename">PDAL</param>
<param name="changesgenerate">enable</param>
</service>
<service name="recompress" mode="disabled">
<param name="file">*.tar</param>
<param name="compression">xz</param>
</service>
<service name="set_version" mode="disabled">
<param name="basename">PDAL</param>
</service>
</services>

View File

@ -1,4 +0,0 @@
<servicedata>
<service name="tar_scm">
<param name="url">git://github.com/PDAL/pdal.git</param>
<param name="changesrevision">c93c7c7f361fa6098528f865e3b5a38043b968d4</param></service></servicedata>

View File

@ -0,0 +1,101 @@
From cfb888a04897f9704d5bdfaf4d2979e9ff303aab Mon Sep 17 00:00:00 2001
From: Andrew Bell <andrew.bell.ia@gmail.com>
Date: Mon, 6 Mar 2017 15:41:20 -0600
Subject: [PATCH] Allow laszip to be found in laszip subdirectory or not. Close
#1503
---
cmake/modules/FindLASzip.cmake | 24 ++++++++++++++++++------
io/LasZipPoint.hpp | 6 +++---
pdal/pdal_config.cpp | 2 +-
tools/lasdump/Dumper.cpp | 4 ++--
4 files changed, 24 insertions(+), 12 deletions(-)
diff --git a/cmake/modules/FindLASzip.cmake b/cmake/modules/FindLASzip.cmake
index 38d32c1..27c8352 100644
--- a/cmake/modules/FindLASzip.cmake
+++ b/cmake/modules/FindLASzip.cmake
@@ -37,12 +37,23 @@ ENDIF()
FIND_PATH(LASZIP_INCLUDE_DIR
- laszip/laszip.hpp
+ laszip.hpp
PATHS
- /usr/include
- /usr/local/include
- /tmp/lasjunk/include
- ${OSGEO4W_ROOT_DIR}/include)
+ /usr/include/laszip
+ /usr/local/include/laszip
+ ${OSGEO4W_ROOT_DIR}/include/laszip)
+
+if (NOT LASZIP_INCLUDE_DIR)
+ FIND_PATH(LASZIP_INCLUDE_DIR
+ laszip/laszip.hpp
+ PATHS
+ /usr/include
+ /usr/local/include
+ ${OSGEO4W_ROOT_DIR}/include)
+ if (LASZIP_INCLUDE_DIR)
+ set(LASZIP_INCLUDE_DIR ${LASZIP_INCLUDE_DIR}/laszip)
+ endif()
+endif()
SET(LASZIP_NAMES ${OSGEO4W_IMPORT_LIBRARY} laszip)
@@ -57,7 +68,8 @@ FIND_LIBRARY(LASZIP_LIBRARY
IF(LASZIP_INCLUDE_DIR)
SET(LASZIP_VERSION 0)
- SET(LASZIP_VERSION_H "${LASZIP_INCLUDE_DIR}/laszip/laszip.hpp")
+ message(STATUS "*** ${LASZIP_INCLUDE_DIR} ***")
+ SET(LASZIP_VERSION_H "${LASZIP_INCLUDE_DIR}/laszip.hpp")
FILE(READ ${LASZIP_VERSION_H} LASZIP_VERSION_H_CONTENTS)
IF (DEFINED LASZIP_VERSION_H_CONTENTS)
diff --git a/io/LasZipPoint.hpp b/io/LasZipPoint.hpp
index abe6eea..57c049b 100644
--- a/io/LasZipPoint.hpp
+++ b/io/LasZipPoint.hpp
@@ -37,9 +37,9 @@
#include <vector>
#ifdef PDAL_HAVE_LASZIP
-#include <laszip/laszip.hpp>
-#include <laszip/lasunzipper.hpp>
-#include <laszip/laszipper.hpp>
+#include <laszip.hpp>
+#include <lasunzipper.hpp>
+#include <laszipper.hpp>
#endif
namespace pdal
diff --git a/pdal/pdal_config.cpp b/pdal/pdal_config.cpp
index ca45025..2703ebc 100644
--- a/pdal/pdal_config.cpp
+++ b/pdal/pdal_config.cpp
@@ -61,7 +61,7 @@
#endif
#ifdef PDAL_HAVE_LASZIP
-#include <laszip/laszip.hpp>
+#include <laszip.hpp>
#endif
#include <geos_c.h>
diff --git a/tools/lasdump/Dumper.cpp b/tools/lasdump/Dumper.cpp
index b4ccb33..d126c2f 100644
--- a/tools/lasdump/Dumper.cpp
+++ b/tools/lasdump/Dumper.cpp
@@ -32,8 +32,8 @@
* OF SUCH DAMAGE.
****************************************************************************/
-#include <laszip/laszip.hpp>
-#include <laszip/lasunzipper.hpp>
+#include <laszip.hpp>
+#include <lasunzipper.hpp>
#include <pdal/util/IStream.hpp>