diff options
author | bartus | 2020-12-05 19:56:06 +0100 |
---|---|---|
committer | bartus | 2020-12-05 19:56:06 +0100 |
commit | 83773edd07bc580c0ae8e8d8e6fc46179f90b87b (patch) | |
tree | a5018e7982ba53e5b1e69f3eae587b208de7306e | |
parent | 7a49ee490c01b8059237f5823c7939a7e3980ffc (diff) | |
download | aur-83773edd07bc580c0ae8e8d8e6fc46179f90b87b.tar.gz |
Port aur/cloudcompare changes
-rw-r--r-- | .SRCINFO | 18 | ||||
-rw-r--r-- | PKGBUILD | 110 | ||||
-rw-r--r-- | cork.patch | 79 |
3 files changed, 160 insertions, 47 deletions
@@ -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 @@ -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 000000000000..370b0260eb10 --- /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 |