summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorbartus2020-12-05 19:56:06 +0100
committerbartus2020-12-05 19:56:06 +0100
commit83773edd07bc580c0ae8e8d8e6fc46179f90b87b (patch)
treea5018e7982ba53e5b1e69f3eae587b208de7306e
parent7a49ee490c01b8059237f5823c7939a7e3980ffc (diff)
downloadaur-83773edd07bc580c0ae8e8d8e6fc46179f90b87b.tar.gz
Port aur/cloudcompare changes
-rw-r--r--.SRCINFO18
-rw-r--r--PKGBUILD110
-rw-r--r--cork.patch79
3 files changed, 160 insertions, 47 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 2674a3f8aa8..a2049beb9c7 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,11 +1,12 @@
pkgbase = cloudcompare-git
pkgdesc = A 3D point cloud (and triangular mesh) processing software
- pkgver = 2.10.2.r713.g6be7d31c
+ pkgver = 2.10.2.r857.ga33ffe93
pkgrel = 1
url = http://www.danielgm.net/cc/
arch = i686
arch = x86_64
license = GPL2
+ makedepends = clang
makedepends = cmake
makedepends = doxygen
makedepends = git
@@ -16,24 +17,33 @@ pkgbase = cloudcompare-git
makedepends = proj
makedepends = python
depends = cgal
+ depends = dlib
+ depends = fbx-sdk
depends = ffmpeg
depends = glew
depends = glu
depends = mesa
+ depends = mpir
depends = pdal
depends = qt5-base
depends = qt5-tools
depends = qt5-svg
+ depends = shapelib
+ depends = tbb
depends = vxl
optdepends = pcl
provides = cloudcompare
conflicts = cloudcompare
source = cloudcompare::git+https://github.com/CloudCompare/CloudCompare.git
+ source = cloudcompare-cork::git+https://github.com/CloudCompare/cork.git
+ source = cork.patch
source = CloudCompare.desktop
source = ccViewer.desktop
- md5sums = SKIP
- md5sums = 379e09f6996b2b397429c0661c409bd0
- md5sums = b6dcb0dee15cc67011166a2fc774c5ef
+ sha256sums = SKIP
+ sha256sums = SKIP
+ sha256sums = 3f8692fbff2b92ebf422f2c4de46f2f9164cd37879092c66f171b32fea464227
+ sha256sums = 14096df9cf7aca3099d5df1585d1cf669544e9b10754dce3d2507100dd7034fe
+ sha256sums = 821ac2540e1196774e26f8033946ce7b36223dae7a2a7c78f4a901b4177f68cc
pkgname = cloudcompare-git
diff --git a/PKGBUILD b/PKGBUILD
index daae2ff2a6a..a5076dcd720 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -7,72 +7,96 @@
name=cloudcompare
#_fragment="#branch="
pkgname=${name}-git
-pkgver=2.10.2.r713.g6be7d31c
+pkgver=2.10.2.r857.ga33ffe93
pkgrel=1
pkgdesc="A 3D point cloud (and triangular mesh) processing software"
arch=('i686' 'x86_64')
url="http://www.danielgm.net/cc/"
license=('GPL2')
-depends=('cgal' 'ffmpeg' 'glew' 'glu' 'mesa' 'pdal' 'qt5-base' 'qt5-tools' 'qt5-svg' 'vxl')
-makedepends=('cmake' 'doxygen' 'git' 'laz-perf' 'libharu' 'ninja' 'pcl' 'proj' 'python')
+depends=('cgal' 'dlib' 'fbx-sdk' 'ffmpeg' 'glew' 'glu' 'mesa' 'mpir' 'pdal' 'qt5-base' 'qt5-tools' 'qt5-svg' 'shapelib' 'tbb' 'vxl')
+makedepends=('clang' 'cmake' 'doxygen' 'git' 'laz-perf' 'libharu' 'ninja' 'pcl' 'proj' 'python')
optdepends=('pcl')
conflicts=('cloudcompare')
provides=('cloudcompare')
source=("${name}::git+https://github.com/CloudCompare/CloudCompare.git${_fragment}"
+ "${name}-cork::git+https://github.com/CloudCompare/cork.git"
+ cork.patch
CloudCompare.desktop
ccViewer.desktop
)
-md5sums=('SKIP'
- '379e09f6996b2b397429c0661c409bd0'
- 'b6dcb0dee15cc67011166a2fc774c5ef')
+sha256sums=('SKIP'
+ 'SKIP'
+ '3f8692fbff2b92ebf422f2c4de46f2f9164cd37879092c66f171b32fea464227'
+ '14096df9cf7aca3099d5df1585d1cf669544e9b10754dce3d2507100dd7034fe'
+ '821ac2540e1196774e26f8033946ce7b36223dae7a2a7c78f4a901b4177f68cc')
prepare() {
- git -C ${name} submodule update --init --recursive
+ git -C "${srcdir}/${name}" submodule update --init --recursive
+ git -C "${srcdir}/${name}-cork" apply -v "${srcdir}"/cork.patch
}
pkgver() {
- git -C ${name} describe --long --tags | sed -r 's/^v//;s/([^-]*-g)/r\1/;s/-/./g'
+ git -C "${srcdir}/${name}" describe --long --tag | sed -r 's/^v//;s/([^-]*-g)/r\1/;s/-/./g'
}
build() {
# shellcheck disable=SC2191
CMAKE_FLAGS=(
- -Wno-dev \
- -DCMAKE_CXX_STANDARD=14 \
- -DCMAKE_CXX_FLAGS=-fpermissive \
- -DOPTION_PDAL_LAS=ON \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DINSTALL_QRANSAC_SD_PLUGIN=ON \
- -DINSTALL_QCOMPASS_PLUGIN=ON \
- -DINSTALL_QPCL_PLUGIN=ON \
- -DINSTALL_QBLUR_PLUGIN=ON \
- -DCMAKE_BUILD_TYPE=Release \
- -DCOMPILE_CC_CORE_LIB_WITH_CGAL=ON \
- -DINSTALL_QHPR_PLUGIN=ON \
- -DINSTALL_QPOISSON_RECON_PLUGIN=ON \
- -DPOISSON_RECON_WITH_OPEN_MP=ON \
- -DINSTALL_QEDL_PLUGIN=ON \
- -DINSTALL_QSRA_PLUGIN=ON \
- -DOPTION_USE_GDAL=ON \
- -DOPTION_USE_DXF_LIB=ON \
- -DINSTALL_QSSAO_PLUGIN=ON \
- -DINSTALL_QGMMREG_PLUGIN=ON \
- -DINSTALL_QANIMATION_PLUGIN=ON \
- -DINSTALL_QCSF_PLUGIN=ON \
- -DINSTALL_QPHOTOSCAN_IO_PLUGIN=ON \
- -DWITH_FFMPEG_SUPPORT=ON \
- -DFFMPEG_INCLUDE_DIR=/usr/include \
- -DFFMPEG_LIBRARY_DIR=/usr/lib/ \
- -DINSTALL_QFACETS_PLUGIN=ON \
- -DOPTION_USE_SHAPE_LIB=ON \
- -DINSTALL_QPCV_PLUGIN=ON \
- -DINSTALL_QM3C2_PLUGIN=ON \
- -DINSTALL_QBROOM_PLUGIN=true \
- -DINSTALL_QHOUGH_NORMALS_PLUGIN=true \
- -DEIGEN_ROOT_DIR=/usr/include/eigen3
+ -Wno-dev
+ -DCMAKE_CXX_STANDARD=14
+ -DCMAKE_CXX_FLAGS=-fpermissive
+ -DCMAKE_INSTALL_PREFIX=/usr
+ -DCMAKE_INSTALL_LIBDIR=lib
+ -DCMAKE_BUILD_TYPE=Release
+ -DCOMPILE_CC_CORE_LIB_WITH_CGAL=ON
+ -DCOMPILE_CC_CORE_LIB_WITH_TBB=ON
+ -DWITH_FFMPEG_SUPPORT:BOOL=ON
+ -DFFMPEG_INCLUDE_DIR:PATH=/usr/include
+ -DFFMPEG_LIBRARY_DIR:PATH=/usr/lib
+ -DPOISSON_RECON_WITH_OPEN_MP:BOOL=ON
+ -DPLUGIN_EXAMPLE_GL:BOOL=ON
+ -DPLUGIN_EXAMPLE_IO:BOOL=ON
+ -DPLUGIN_EXAMPLE_STANDARD:BOOL=ON
+ -DPLUGIN_GL_QEDL:BOOL=ON
+ -DPLUGIN_GL_QSSAO:BOOL=ON
+ -DPLUGIN_IO_QADDITIONAL:BOOL=ON
+ -DPLUGIN_IO_QCORE:BOOL=ON
+ -DPLUGIN_IO_QCSV_MATRIX:BOOL=ON
+ -DPLUGIN_IO_QE57:BOOL=ON
+ -DPLUGIN_IO_QFBX:BOOL=ON # requires update of AUR/fbx-sdk (https://www.autodesk.com/content/dam/autodesk/www/adn/fbx/2020-1-1/fbx202011_fbxsdk_linux.tar.gz)
+ -DFBX_SDK_INCLUDE_DIR:PATH=/usr/include
+ -DFBX_SDK_LIBRARY_FILE:FILEPATH=/usr/lib/libfbxsdk.so
+ -DPLUGIN_IO_QPDAL:BOOL=ON
+ -DPLUGIN_IO_QPHOTOSCAN:BOOL=ON
+ -DPLUGIN_IO_QRDB:BOOL=OFF # requires rdblib (package for AUR from http://www.riegl.com/products/software-packages/rdblib/)
+ -DPLUGIN_STANDARD_QANIMATION:BOOL=ON
+ -DPLUGIN_STANDARD_QBROOM:BOOL=ON
+ -DPLUGIN_STANDARD_QCANUPO:BOOL=ON # requires dlib
+ -DDLIB_ROOT:PATH="/usr" # required by qcanupo plugin
+ -DPLUGIN_STANDARD_QCOMPASS:BOOL=ON
+ -DPLUGIN_STANDARD_QCORK:BOOL=ON # require mpir, cork (cork-git is not enough)
+ -DMPIR_INCLUDE_DIR:PATH=/usr/include # required by qcork plugin
+ -DCORK_INCLUDE_DIR:PATH="${srcdir}/${name}-cork/src" # required by qcork plugin
+ -DCORK_RELEASE_LIBRARY_FILE:FILEPATH="${srcdir}/${name}-cork/lib/libcork.a" # required by qcork plugin
+ -DMPIR_RELEASE_LIBRARY_FILE:FILEPATH=/usr/lib/libmpir.so # require by qcork plugin
+ -DPLUGIN_STANDARD_QCSF:BOOL=ON
+ -DPLUGIN_STANDARD_QFACETS:BOOL=ON # requires shapelib
+ -DOPTION_USE_SHAPE_LIB:BOOL=ON
+ -DPLUGIN_STANDARD_QHOUGH_NORMALS:BOOL=ON
+ -DPLUGIN_STANDARD_QHPR:BOOL=ON
+ -DPLUGIN_STANDARD_QM3C2:BOOL=ON
+ -DPLUGIN_STANDARD_QPCL:BOOL=ON
+ -DPLUGIN_STANDARD_QPCV:BOOL=ON
+ -DPLUGIN_STANDARD_QPOISSON_RECON:BOOL=ON
+ -DPLUGIN_STANDARD_QRANSAC_SD:BOOL=ON
+ -DPLUGIN_STANDARD_QSRA:BOOL=ON
+ -DOPTION_USE_DXF_LIB:BOOL=ON # required by qsra plugin
+ -DEIGEN_ROOT_DIR=/usr/include/eigen3
)
- cmake -B build -S ${name} -G Ninja "${CMAKE_FLAGS[@]}"
+ msg2 "Build Cork lib"
+ make -C "${srcdir}/${name}-cork"
+ msg2 "Build CloudCompare"
+ cmake -B build -S "${srcdir}/${name}" -G Ninja "${CMAKE_FLAGS[@]}"
# shellcheck disable=SC2086 # allow slitting for MAKEFLAGS carrying multiple flags.
ninja -C build ${MAKEFLAGS:--j1}
}
diff --git a/cork.patch b/cork.patch
new file mode 100644
index 00000000000..370b0260eb1
--- /dev/null
+++ b/cork.patch
@@ -0,0 +1,79 @@
+diff --git a/Makefile b/Makefile
+index a9fbb62..8ca986c 100644
+--- a/Makefile
++++ b/Makefile
+@@ -62,7 +62,7 @@ INC := $(INC) $(GMPINC)
+ # use the second line to disable profiling instrumentation
+ # PROFILING := -pg
+ PROFILING :=
+-CCFLAGS := -Wall $(INC) $(CONFIG) -O2 -DNDEBUG $(PROFILING)
++CCFLAGS := -fPIC -Wall $(INC) $(CONFIG) -O2 -DNDEBUG $(PROFILING)
+ CXXFLAGS := $(CCFLAGS) $(CPP11_FLAGS)
+ CCDFLAGS := -Wall $(INC) $(CONFIG) -ggdb
+ CXXDFLAGS := $(CCDFLAGS)
+@@ -193,7 +193,7 @@ bin/off2obj: obj/off2obj.o
+
+ obj/isct/triangle.o: src/isct/triangle.c
+ @echo "Compiling the Triangle library"
+- @$(CC) -O2 -DNO_TIMER \
++ @$(CC) $(CCFLAGS) -O2 -DNO_TIMER \
+ -DREDUCED \
+ -DCDT_ONLY -DTRILIBRARY \
+ -Wall -DANSI_DECLARATORS \
+diff --git a/src/mesh/mesh.isct.tpp b/src/mesh/mesh.isct.tpp
+index a0acc15..69d33a8 100644
+--- a/src/mesh/mesh.isct.tpp
++++ b/src/mesh/mesh.isct.tpp
+@@ -650,14 +650,14 @@ public:
+ // DGM: to replace lambda in IsctProblem constructor!
+ void quantizeVerts(const Quantization& quantizer)
+ {
+- if (!mesh)
++ if (!TopoCache::mesh)
+ return;
+
+- size_t N = mesh->verts.size();
++ size_t N = TopoCache::mesh->verts.size();
+ quantized_coords.resize(N);
+
+ uint write = 0;
+- for (Vptr v = verts.getFirst(); v != NULL; v = verts.getNext(v))
++ for (Vptr v = TopoCache::verts.getFirst(); v != NULL; v = TopoCache::verts.getNext(v))
+ {
+ #ifdef _WIN32
+ Vec3d raw = mesh->verts[v->ref].pos;
+@@ -1106,7 +1106,7 @@ void Mesh<VertData,TriData>::IsctProblem::findIntersections()
+ if(nTrys <= 0) {
+ CORK_ERROR("Ran out of tries to perturb the mesh");
+ //std::logic_error
+- throw std::exception("Ran out of tries to perturb the mesh");
++ throw std::runtime_error("Ran out of tries to perturb the mesh");
+ //exit(1);
+ }
+
+diff --git a/src/mesh/mesh.topoCache.tpp b/src/mesh/mesh.topoCache.tpp
+index cf225d6..b648d5f 100644
+--- a/src/mesh/mesh.topoCache.tpp
++++ b/src/mesh/mesh.topoCache.tpp
+@@ -504,7 +504,7 @@ void Mesh<VertData, TriData>::TopoCache::print()
+ cout << "TRIS" << endl;
+ int tri_count = 0;
+ tris.for_each([&](Tptr t) {
+- cout << " " << t << ": " << *t << endl;
++ cout << " " << t << ": " << endl;
+ tri_count++;
+ });
+ cout << "There were " << tri_count << " TRIS" << endl;
+diff --git a/src/util/prelude.h b/src/util/prelude.h
+index 6836ace..6981d20 100644
+--- a/src/util/prelude.h
++++ b/src/util/prelude.h
+@@ -60,7 +60,7 @@ std::ostream &err();
+ err() << "ENSURE FAILED at " \
+ << __FILE__ << ", line #" << __LINE__ << ":\n" \
+ << " " << #STATEMENT << std::endl; \
+- throw std::exception("ENSURE FAILED"); \
++ throw std::runtime_error("ENSURE FAILED"); \
+ } \
+ }
+ #endif // ENSURE