Subject: [PATCH 2/2] * gnu/packages/geo.scm (cloudcompare): New variable.

From: Mattia Bunel <[email-masked]>
Date: Mon, 21 Oct 2024 18:14:16 +0200

Change-Id: Ic8bb7f40bd28d1329a14ff7166a7f6305e25f745
---
 gnu/packages/geo.scm | 95 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 95 insertions(+)

diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index f96c9fb8a3..27dd58093e 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -3629,3 +3629,98 @@ (define-public libe57format
      "Library for read and write @code{E57} files.  The @code{E57} format is
 designed for storing point cloud data.")
     (license (list license:boost1.0 license:expat))))
+
+(define-public cloudcompare
+  (package
+    (name "cloudcompare")
+    (version "2.13.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/CloudCompare/CloudCompare")
+             (commit "v2.13.1")
+             (recursive? #t)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0ff2pcmqk87g1pkiaglqx771lhasmzhvnjx035ki4pzdmnvi0321"))))
+    (inputs (list qtbase-5
+                  qtsvg-5
+                  qtlocation
+                  qttools-5
+                  gdal
+                  laszip
+                  xerces-c
+                  libe57format
+                  zlib))
+    (build-system cmake-build-system)
+    (arguments
+     (list
+      #:configure-flags #~(list
+                           ;; Options
+                           "-DOPTION_BUILD_CCVIEWER=NO"
+                           "-DBUILD_TESTING=ON"
+                           "-DOPTION_USE_SHAPE_LIB=YES"
+                           "-DOPTION_USE_DXF_LIB=YES"
+                           "-DOPTION_USE_GDAL=YES"
+                           ;; Shaders
+                           ;; At least a shader is needed
+                           "-DPLUGIN_GL_QEDL=YES"
+                           "-DPLUGIN_GL_QSSAO=YES"
+                           ;; IO
+                           "-DPLUGIN_IO_QCORE=YES"
+                           "-DPLUGIN_IO_QADDITIONAL=NO"
+                           "-DPLUGIN_IO_QCSV_MATRIX=NO"
+                           ;; No guix package for DRACO
+                           "-DPLUGIN_IO_QDRACO=NO"
+                           "-DPLUGIN_IO_QE57=YES"
+                           ;; No guix package for FBX
+                           "-DPLUGIN_IO_QFBX=NO"
+                           ;; laszip will replace PDAL in CloudCompare 2.13
+                           "-DPLUGIN_IO_QLAS=YES"
+                           "-DPLUGIN_IO_QPDAL=NO"
+                           "-DPLUGIN_IO_QPHOTOSCAN=YES"
+                           ;; No guix package for Riegl RDBlib
+                           "-DPLUGIN_IO_QRDB=NO"
+                           "-DPLUGIN_IO_QSTEP=NO"
+                           ;; Plugins
+                           "-DPLUGIN_STANDARD_QANIMATION=YES"
+                           "-DQANIMATION_WITH_FFMPEG_SUPPORT=NO"
+                           "-DPLUGIN_STANDARD_QBROOM=YES"
+                           ;; Compilation error
+                           "-DPLUGIN_STANDARD_QCANUPO=YES"
+                           "-DPLUGIN_STANDARD_QCLOUDLAYERS=YES"
+                           "-DPLUGIN_STANDARD_QCOLORIMETRIC_SEGMENTER=YES"
+                           "-DPLUGIN_STANDARD_QCOMPASS=YES"
+                           ;; Only for Windows at the moment
+                           "-DPLUGIN_STANDARD_QCORK=NO"
+                           "-DPLUGIN_STANDARD_QCSF=YES"
+                           "-DPLUGIN_STANDARD_QFACETS=YES"
+                           ;; Error with eigen
+                           "-DPLUGIN_STANDARD_QHOUGH_NORMALS=NO"
+                           "-DPLUGIN_STANDARD_QHPR=YES"
+                           ;; Need qtWebSocket engine
+                           "-DPLUGIN_STANDARD_QJSONRPC=NO"
+                           "-DPLUGIN_STANDARD_QM3C2=YES"
+                           ;; Need PCL lib
+                           "-DPLUGIN_STANDARD_MASONRY_QAUTO_SEG=NO"
+                           "-DPLUGIN_STANDARD_MASONRY_QMANUAL_SEG=NO"
+                           "-DPLUGIN_STANDARD_QPCL=NO"
+                           ;; Need CGAL
+                           "-DPLUGIN_STANDARD_QMESH_BOOLEAN=NO"
+                           "-DPLUGIN_STANDARD_QMPLANE=YES"
+                           "-DPLUGIN_STANDARD_QPCV=NO"
+                           "-DPLUGIN_STANDARD_QPOISSON_RECON=YES"
+                           "-DPLUGIN_STANDARD_QRANSAC_SD=YES"
+                           "-DPLUGIN_STANDARD_QSRA=YES")
+      #:build-type "Release"
+      #:tests? #f))
+    (home-page "https://cloudcompare.org/")
+    (synopsis "Point cloud processing software")
+    (description
+     "CloudCompare is a 3D point cloud (and triangular mesh) processing software.
+It was originally designed to perform comparison between two 3D points clouds (such
+as the ones obtained with a laser scanner) or between a point cloud and a triangular
+mesh.  It relies on an octree structure that is highly optimized for this particular
+use-case.  It was also meant to deal with huge point clouds.")
+    (license license:gpl2)))
-- 
2.46.2