summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorshtrophic2025-03-25 13:37:54 +0100
committershtrophic2025-03-25 13:37:54 +0100
commitbef4bf033af727f19ceba78541be10fb68eaa810 (patch)
treed1d263a047a004df23cb3aa85fb147572da78ba4
parent09ab609bb93a1aeb39fa4041d085703662fdd81c (diff)
downloadaur-bef4bf033af727f19ceba78541be10fb68eaa810.tar.gz
upgpkg: 3dtk-svn r2415-1
fix 3dtk with recent boost versions
-rw-r--r--.SRCINFO9
-rw-r--r--PKGBUILD18
-rw-r--r--cacheManager.patch22
-rw-r--r--cpp14.patch39
4 files changed, 79 insertions, 9 deletions
diff --git a/.SRCINFO b/.SRCINFO
index d7b181c62a72..c1c776461416 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,12 +1,13 @@
pkgbase = 3dtk-svn
pkgdesc = 3D Toolkit with algorithms and methods to process 3D point clouds
- pkgver = r2412
- pkgrel = 5
+ pkgver = r2415
+ pkgrel = 1
url = https://slam6d.sourceforge.io
arch = x86_64
license = GPL-3.0-only
makedepends = subversion
makedepends = cmake
+ makedepends = ninja
depends = findutils
depends = boost
depends = opencv
@@ -31,10 +32,14 @@ pkgbase = 3dtk-svn
source = 3dtk-svn::svn+https://svn.code.sf.net/p/slam6d/code/trunk
source = helper.patch
source = apriltag.patch
+ source = cpp14.patch
+ source = cacheManager.patch
source = 3dtk.sh
sha512sums = SKIP
sha512sums = c9eeaea91de364d3abb39558e30bbd16e232bdd969d96dbd06a6ab2ed398b4c9b42a8724281f1ad16a6368285f23065bbf2ebea74ee6aaa56ede16636c73834d
sha512sums = e664ac962c1be443d64e6c385eee0c47429439a091407357e169fbfd4c7ca10a63e04f88f760c9f48450b83400f75d0fdd9a3da4e5c3d9d0b58c3b38d783efc9
+ sha512sums = b55788c7fd074980a4d4814b8a29b5f70c097cd201db59248edc2c012cc4ea0bf55af1da2165dcf20865b61f86f2d8a2888ac445381bfaaa3f4f54b5cac540be
+ sha512sums = a4987e473e86c77b85b6e71bfff4149c8e8fd63574dba1a66afbe70dd849cdeff27055d17025c3487ce5fc48ee7acefa1cfd7600c0d40a3d688c06daf3bc29af
sha512sums = e352631c55938430af765948ef73a16c855f2147b5cab9ec33cbdc438ee0f28bb32cd96f4f2ff96f773de153de72d3b8ff0f51f5076227e181db9eac653b9e36
pkgname = 3dtk-svn
diff --git a/PKGBUILD b/PKGBUILD
index da19333cafb4..f610d2a084a5 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -2,15 +2,14 @@
_pkgname=3dtk
pkgname="$_pkgname-svn"
-pkgver=r2412
-pkgrel=5
+pkgver=r2415
+pkgrel=1
pkgdesc='3D Toolkit with algorithms and methods to process 3D point clouds'
url='https://slam6d.sourceforge.io'
license=(GPL-3.0-only)
arch=(x86_64)
provides=("$_pkgname")
-makedepends=(subversion
- cmake)
+makedepends=(subversion cmake ninja)
depends=(findutils
boost
opencv
@@ -34,10 +33,14 @@ optdepends=(newmat
source=("$pkgname::svn+https://svn.code.sf.net/p/slam6d/code/trunk"
helper.patch
apriltag.patch
+ cpp14.patch
+ cacheManager.patch
3dtk.sh)
sha512sums=('SKIP'
'c9eeaea91de364d3abb39558e30bbd16e232bdd969d96dbd06a6ab2ed398b4c9b42a8724281f1ad16a6368285f23065bbf2ebea74ee6aaa56ede16636c73834d'
'e664ac962c1be443d64e6c385eee0c47429439a091407357e169fbfd4c7ca10a63e04f88f760c9f48450b83400f75d0fdd9a3da4e5c3d9d0b58c3b38d783efc9'
+ 'b55788c7fd074980a4d4814b8a29b5f70c097cd201db59248edc2c012cc4ea0bf55af1da2165dcf20865b61f86f2d8a2888ac445381bfaaa3f4f54b5cac540be'
+ 'a4987e473e86c77b85b6e71bfff4149c8e8fd63574dba1a66afbe70dd849cdeff27055d17025c3487ce5fc48ee7acefa1cfd7600c0d40a3d688c06daf3bc29af'
'e352631c55938430af765948ef73a16c855f2147b5cab9ec33cbdc438ee0f28bb32cd96f4f2ff96f773de153de72d3b8ff0f51f5076227e181db9eac653b9e36')
pkgver() {
@@ -49,8 +52,9 @@ pkgver() {
prepare() {
cd "$pkgname"
- svn patch "$srcdir/helper.patch"
- svn patch "$srcdir/apriltag.patch"
+ for f in "$srcdir"/*.patch; do
+ svn patch "$f"
+ done
# set package binary paths to /opt/3dtk in every included script
sed -i 's,\([^/]\)bin/,\1/opt/3dtk/,g' bin/*.sh
@@ -59,7 +63,7 @@ prepare() {
build() {
cd "$srcdir"
- cmake -B build \
+ cmake -B build -G Ninja \
-DWITH_WXWIDGETS=OFF \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_POSITION_INDEPENDENT_CODE=ON \
diff --git a/cacheManager.patch b/cacheManager.patch
new file mode 100644
index 000000000000..1e19de751721
--- /dev/null
+++ b/cacheManager.patch
@@ -0,0 +1,22 @@
+diff --git a/src/scanserver/cache/cacheManager.cc b/src/scanserver/cache/cacheManager.cc
+index e17db726..60ccc2e9 100644
+--- a/src/scanserver/cache/cacheManager.cc
++++ b/src/scanserver/cache/cacheManager.cc
+@@ -96,7 +96,7 @@ unsigned char* CacheManager::allocateCacheObject(CacheObject* obj, unsigned int
+ return reinterpret_cast<unsigned char*>(m_msm->get_address_from_handle(obj->m_handle));
+ } else {
+ // reset CO
+- m_msm->destroy_ptr(m_msm->get_address_from_handle(obj->m_handle));
++ m_msm->destroy_ptr(reinterpret_cast<unsigned char*>(m_msm->get_address_from_handle(obj->m_handle)));
+ obj->m_size = 0;
+ obj->m_handle = 0;
+ }
+@@ -136,7 +136,7 @@ void CacheManager::invalidateCacheObject(CacheObject* obj)
+ // remove its data
+ if(obj->m_handle != 0) {
+ // reset CO
+- m_msm->destroy_ptr(m_msm->get_address_from_handle(obj->m_handle));
++ m_msm->destroy_ptr(reinterpret_cast<unsigned char *>(m_msm->get_address_from_handle(obj->m_handle)));
+ obj->m_size = 0;
+ obj->m_handle = 0;
+ }
diff --git a/cpp14.patch b/cpp14.patch
new file mode 100644
index 000000000000..6c94b42b19c7
--- /dev/null
+++ b/cpp14.patch
@@ -0,0 +1,39 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 57af9375..f41a8367 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -370,7 +370,7 @@ else()
+ # https://youtu.be/bsXLMQ6WgIk).
+ # By using CMAKE_CXX_STANDARD we also avoid having to implement
+ # compiler specific command line arguments.
+- set(CMAKE_CXX_STANDARD 11)
++ set(CMAKE_CXX_STANDARD 14)
+ # do not fall back to a previous standard
+ set(CMAKE_CXX_STANDARD_REQUIRED ON)
+ # enable compiler extensions like -std=gnu++11 on gcc
+diff --git a/src/spherical_quadtree/spherical_quadtree.cc b/src/spherical_quadtree/spherical_quadtree.cc
+index 6b7c08bd..c7e3f38d 100644
+--- a/src/spherical_quadtree/spherical_quadtree.cc
++++ b/src/spherical_quadtree/spherical_quadtree.cc
+@@ -6,21 +6,6 @@
+
+ std::mt19937 gen(0);
+
+-#ifndef _MSC_VER
+-// needed until we compile with C++14
+-#if __cplusplus >= 201402L
+-#error remove definition of make_unique
+-#endif
+-namespace std
+-{
+-template <typename T, typename... Args>
+-std::unique_ptr<T> make_unique(Args &&... args)
+-{
+- return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
+-}
+-} // namespace std
+-#endif
+-
+ static void circumcircle(const double *v1, const double *v2, const double *v3,
+ double *p, double *theta)
+ {