testing/pdal: new aport

https://www.pdal.io
PDAL is a C++ BSD library for translating and manipulating point cloud data.
This commit is contained in:
Bradley J Chambers 2017-08-29 10:02:56 -04:00 committed by Natanael Copa
parent 9e67e8ccd4
commit 0714726f4b
2 changed files with 129 additions and 0 deletions

View File

@ -0,0 +1,79 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index a91cee1..4e38769 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -146,6 +146,8 @@ endif()
set(pdal_defines_h_in "${CMAKE_CURRENT_SOURCE_DIR}/pdal_defines.h.in")
set(pdal_defines_h "${CMAKE_CURRENT_BINARY_DIR}/include/pdal/pdal_defines.h")
+include(CheckIncludeFiles)
+check_include_files(execinfo.h PDAL_HAVE_EXECINFO_H)
configure_file(${pdal_defines_h_in} ${pdal_defines_h})
#------------------------------------------------------------------------------
diff --git a/apps/pdal.cpp b/apps/pdal.cpp
index 3193196..548ea4f 100644
--- a/apps/pdal.cpp
+++ b/apps/pdal.cpp
@@ -355,6 +355,7 @@ int App::execute(StringList& cmdArgs, LogPtr& log)
log->setLevel(LogLevel::Debug);
PluginManager::setLog(log);
#ifndef _WIN32
+#ifdef PDAL_HAVE_EXECINFO_H
if (m_debug)
{
signal(SIGSEGV, [](int sig)
@@ -368,6 +369,7 @@ int App::execute(StringList& cmdArgs, LogPtr& log)
});
}
#endif
+#endif
m_command = Utils::tolower(m_command);
if (!m_command.empty())
diff --git a/pdal/util/Utils.cpp b/pdal/util/Utils.cpp
index c2a9489..d0675c4 100644
--- a/pdal/util/Utils.cpp
+++ b/pdal/util/Utils.cpp
@@ -44,7 +44,9 @@
#include <cxxabi.h>
#include <sys/ioctl.h>
#include <sys/wait.h> // WIFEXITED, WEXITSTATUS
+#ifdef PDAL_HAVE_EXECINFO_H
#include <execinfo.h> // backtrace
+#endif
#include <dlfcn.h> // dladdr
#endif
@@ -605,6 +607,7 @@ std::vector<std::string> Utils::backtrace()
{
std::vector<std::string> lines;
#ifndef WIN32
+#ifdef PDAL_HAVE_EXECINFO_H
const int MAX_STACK_SIZE(100);
void* buffer[MAX_STACK_SIZE];
std::vector<std::string> prefixes;
@@ -657,6 +660,7 @@ std::vector<std::string> Utils::backtrace()
}
}
#endif
+#endif
return lines;
}
diff --git a/pdal_defines.h.in b/pdal_defines.h.in
index 77dca12..15e3932 100644
--- a/pdal_defines.h.in
+++ b/pdal_defines.h.in
@@ -34,6 +34,11 @@
#cmakedefine PDAL_ARBITER_ENABLED
/*
+ * availability of execinfo.h
+ */
+#cmakedefine PDAL_HAVE_EXECINFO_H
+
+/*
* Debug or Release build?
*/
#define PDAL_BUILD_TYPE "@PDAL_BUILD_TYPE@"

50
testing/pdal/APKBUILD Normal file
View File

@ -0,0 +1,50 @@
# Contributor: Bradley J Chambers <brad.chambers@gmail.com>
# Maintainer: Bradley J Chambers <brad.chambers@gmail.com>
pkgname=pdal
pkgver=1.5.0
pkgrel=0
pkgdesc="PDAL"
url="https://github.com/pdal/pdal"
arch="all"
license="BSD"
depends="nitro python py-numpy"
makedepends="cmake eigen-dev hexer-dev nitro-dev gdal-dev geos-dev laz-perf-dev libgeotiff-dev libxml2-dev python-dev py-numpy-dev jsoncpp-dev hdf5-dev proj4-dev cpd-dev fgt-dev sqlite-dev postgresql-dev curl-dev laszip-dev libspatialite-dev linux-headers"
install=""
subpackages="$pkgname-dev"
source="$pkgname-$pkgver.tar.gz::https://github.com/pdal/$pkgname/archive/$pkgver.tar.gz
10-backtrace-guards.patch"
builddir="$srcdir/PDAL-$pkgver"
build() {
cd "$builddir"
mkdir build && cd build
cmake .. \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=Release \
-DBUILD_PLUGIN_PYTHON=ON \
-DBUILD_PLUGIN_CPD=ON \
-DBUILD_PLUGIN_GREYHOUND=ON \
-DBUILD_PLUGIN_HEXBIN=ON \
-DBUILD_PLUGIN_NITF=ON \
-DBUILD_PLUGIN_ICEBRIDGE=ON \
-DBUILD_PLUGIN_PGPOINTCLOUD=ON \
-DBUILD_PLUGIN_SQLITE=ON \
-DWITH_LASZIP=ON \
-DWITH_LAZPERF=ON
make
}
package() {
cd "$builddir"/build
make DESTDIR="$pkgdir" install
}
dev() {
default_dev
mv "$subpkgdir"/usr/lib/* "$pkgdir"/usr/lib/
rm -r "$subpkgdir"/usr/lib
}
sha512sums="666c7f45fbe22d2d7a913b2ffa171a9727cdcd41856f52035ab0b4aec26c5569098710276f1144802d07bbc9e2656209ce1b2ff363a036c8c2d13ef2771c0657 pdal-1.5.0.tar.gz
ef852ee36e6135d9812e41831417f97c67eada703f9d6252b690935359f70288ec56b34fdc2846f36ce9c9ee1276dae1bf17af7839d9ed11083b63b8a118cf7c 10-backtrace-guards.patch"