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

- 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

OBS-URL: https://build.opensuse.org/request/show/566501
OBS-URL: https://build.opensuse.org/package/show/Application:Geo/PDAL?expand=0&rev=6
This commit is contained in:
Martin Pluskal 2018-01-17 08:15:46 +00:00 committed by Git OBS Bridge
parent 5251935e31
commit ff6ebebe96
7 changed files with 107 additions and 32 deletions

View File

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

View File

@ -1 +0,0 @@
bda90d15e84e36684836212ebbca09f2 PDAL-1.5.0-src.tar.bz2

3
PDAL-1.6.0-src.tar.gz Normal file
View File

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

View File

@ -0,0 +1 @@
MD5 (PDAL-1.6.0-src.tar.gz) = 4e801b06e2bde2316782fcdd1be4422f

View File

@ -1,3 +1,17 @@
-------------------------------------------------------------------
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

View File

@ -2,7 +2,7 @@
# spec file for package PDAL
#
# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2016 Friedmann Bruno, Ioda-Net Sàrl, Charmoille, Switzerland.
# Copyright (c) 2018 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
@ -24,21 +24,23 @@
# Ask upstream to clarify seems sofull_version is build version
%define soname 5
%define sovers 4
%define sofull_version 5.1.0
%define sovers 5
%define sofull_version 6.1.0
%define lname pdal
Name: PDAL
Version: 1.5.0
Version: 1.6.0
Release: 0
Summary: Point Data Abstraction Library. GDAL for point cloud data
#@TODO verify with upstream if not BSD-3
License: BSD-2-Clause
Group: Productivity/Graphics/CAD
Url: http://www.pdal.io/
Source0: http://download.osgeo.org/pdal/%{name}-%{version}-src.tar.bz2
Source1: http://download.osgeo.org/pdal/%{name}-%{version}-src.tar.bz2.md5
# Source2: https://www.pdal.io/PDAL.pdf
Source0: http://download.osgeo.org/pdal/%{name}-%{version}-src.tar.gz
Source1: http://download.osgeo.org/pdal/%{name}-%{version}-src.tar.gz.md5
# Source2: https://www.pdal.io/PDAL.pdf
#Upstream issue#1789 fix for jsoncpp signature
Patch0: https://github.com/PDAL/PDAL/commit/f717a4c.patch
# Override the problem of libpsl5 in tumbleweed
%if 0%{?suse_version} >= 1330
BuildRequires: libpsl5
@ -68,6 +70,7 @@ BuildRequires: libgeos-devel
BuildRequires: geotiff-devel
BuildRequires: libght-devel
BuildRequires: jsoncpp-devel
# We need 3.1.1+ for 1.6
BuildRequires: laszip-devel
BuildRequires: liblas-devel
BuildRequires: libproj-devel
@ -76,16 +79,15 @@ BuildRequires: libtiff-devel
BuildRequires: libxml2-devel
BuildRequires: netcdf-devel
BuildRequires: pkg-config
BuildRequires: postgresql-devel >= 9.1
BuildRequires: libpq5 >= 9.1
BuildRequires: pkgconfig(libpq)
# We don't have it yet
# BuildRequires: pointcloud-devel
BuildRequires: python-Cython
BuildRequires: python-devel
BuildRequires: python-numpy-devel
BuildRequires: python-setuptools
# BuildRequires: python3-devel
# BuildRequires: python3-numpy-devel
# Python extension will be build separately.
BuildRequires: python3-Cython
BuildRequires: python3
BuildRequires: python3-devel
BuildRequires: python3-numpy-devel
BuildRequires: python3-setuptools
BuildRequires: sqlite3-devel
BuildRequires: zlib-devel
# Needed for documentation but we don't build it.
@ -183,6 +185,9 @@ PDAL algorithms.
%prep
%setup -q -n %{name}-%{version}-src
%patch0 -p1
# Fix all wrong shebang and move to python3 only
find . -type f -iname "*.py" -exec sed 's,^#!/usr/bin/env python,#/usr/bin/python3,' {} \;
#Cleanup spurious perms in documentation
find ./doc/ -type f -exec chmod -v 0644 {} \;
@ -206,6 +211,9 @@ find ./doc/ -type f -iname "*.ai" -delete
-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 \
@ -217,12 +225,9 @@ find ./doc/ -type f -iname "*.ai" -delete
..
make VERBOSE=1 %{?_smp_mflags}
# Make documentation once fixed upstream
# make doxygen html man pdf
# Python part should be build from pypi in own .spec
%install
pushd build
make DESTDIR=%{buildroot} install %{?_smp_mflags}
@ -250,6 +255,11 @@ find %{buildroot} -type f -name "*.la" -o -name "*.a" -delete -print
%files
%defattr(-,root,root,-)
%if 0%{?leap_version} >= 420200 || 0%{?suse_version} > 1320
%license LICENSE.txt
%else
%doc LICENSE.txt
%endif
%{_bindir}/pdal
%dir %{_datadir}/bash-completion
%dir %{_datadir}/bash-completion/completions
@ -259,10 +269,8 @@ find %{buildroot} -type f -name "*.la" -o -name "*.a" -delete -print
%defattr(-,root,root,-)
%doc AUTHORS.txt LICENSE.txt README.md ChangeLog
%{_libdir}/libpdal_base.so.%{sofull_version}
%{_libdir}/libpdal_plang.so.%{sofull_version}
# Plugins exist with their
%{_libdir}/libpdal_plugin_filter_predicate.so.%{sofull_version}
%{_libdir}/libpdal_plugin_filter_programmable.so.%{sofull_version}
# Plugins
%{_libdir}/libpdal_plugin_filter_python.so.%{sofull_version}
%{_libdir}/libpdal_plugin_reader_sqlite.so.%{sofull_version}
%{_libdir}/libpdal_plugin_writer_sqlite.so.%{sofull_version}
%{_libdir}/libpdal_plugin_reader_pgpointcloud.so.%{sofull_version}
@ -276,12 +284,8 @@ find %{buildroot} -type f -name "*.la" -o -name "*.a" -delete -print
%{_includedir}/pdal
%{_libdir}/libpdal_base.so.%{sovers}
%{_libdir}/libpdal_base.so
%{_libdir}/libpdal_plang.so.%{sovers}
%{_libdir}/libpdal_plang.so
%{_libdir}/libpdal_plugin_filter_predicate.so
%{_libdir}/libpdal_plugin_filter_predicate.so.%{sovers}
%{_libdir}/libpdal_plugin_filter_programmable.so
%{_libdir}/libpdal_plugin_filter_programmable.so.%{sovers}
%{_libdir}/libpdal_plugin_filter_python.so
%{_libdir}/libpdal_plugin_filter_python.so.%{sovers}
%{_libdir}/libpdal_plugin_reader_sqlite.so
%{_libdir}/libpdal_plugin_reader_sqlite.so.%{sovers}
%{_libdir}/libpdal_plugin_writer_sqlite.so

57
f717a4c.patch Normal file
View File

@ -0,0 +1,57 @@
From f717a4ceabf2c23fcb03838945865cd54a4698c7 Mon Sep 17 00:00:00 2001
From: Howard Butler <howard@hobu.co>
Date: Thu, 28 Dec 2017 09:05:02 -0600
Subject: [PATCH] jsoncpp changed the return signature of removeMember and we
need to get the same behavior in two steps now (#1759)
---
dimbuilder/DimBuilder.cpp | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/dimbuilder/DimBuilder.cpp b/dimbuilder/DimBuilder.cpp
index dd2f4a4c7..96b978a67 100644
--- a/dimbuilder/DimBuilder.cpp
+++ b/dimbuilder/DimBuilder.cpp
@@ -174,9 +174,11 @@ bool DimBuilder::execute()
void DimBuilder::extractDim(Json::Value& dim)
{
DimSpec d;
+ Json::Value empty;
// Get dimension name.
- Json::Value name = dim.removeMember("name");
+ Json::Value name = dim.get("name", empty);
+ dim.removeMember("name");
if (name.isNull())
throw dimbuilder_error("Dimension missing name.");
if (!name.isString())
@@ -185,7 +187,8 @@ void DimBuilder::extractDim(Json::Value& dim)
validateDimension(d.m_name);
// Get dimension description.
- Json::Value description = dim.removeMember("description");
+ Json::Value description = dim.get("description", empty);
+ dim.removeMember("description");
if (description.isNull())
{
std::ostringstream oss;
@@ -204,7 +207,8 @@ void DimBuilder::extractDim(Json::Value& dim)
d.m_description = description.asString();
// Get dimension type
- Json::Value type = dim.removeMember("type");
+ Json::Value type = dim.get("type", empty);
+ dim.removeMember("type");
if (type.isNull())
{
std::ostringstream oss;
@@ -222,7 +226,8 @@ void DimBuilder::extractDim(Json::Value& dim)
throw dimbuilder_error(oss.str());
}
- Json::Value altNames = dim.removeMember("alt_names");
+ Json::Value altNames = dim.get("alt_names", empty);
+ dim.removeMember("alt_names");
if (!altNames.isNull())
{
if (!altNames.isString())