[PATCH 0/2] Add CloudCompare 2.13

  • Open
  • quality assurance status badge
Details
2 participants
  • Andreas Enge
  • Mattia Bunel
Owner
unassigned
Submitted by
Mattia Bunel
Severity
normal
M
M
Mattia Bunel wrote on 21 Oct 2024 18:04
(address . guix-patches@gnu.org)(name . Mattia Bunel)(address . mattia.bunel@ehess.fr)
cover.1729526539.git.mattia.bunel@ehess.fr
This patch series add CloudCompare, a point cloud processing software.

It's the first time I've packaged a big software package like this.
I hope it's all good, sorry if it's not.


Mattia Bunel (2):
* gnu/packages/geo.scm (libe57format): New variable.
* gnu/packages/geo.scm (cloudcompare): New variable.

gnu/packages/geo.scm | 124 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 124 insertions(+)


base-commit: 59b2a60d0041882d732e1766e28f0df5a1ef1ac1
--
2.46.2
M
M
Mattia Bunel wrote on 21 Oct 2024 18:14
[PATCH 1/2] * gnu/packages/geo.scm (libe57format): New variable.
(address . 73934@debbugs.gnu.org)(name . Mattia Bunel)(address . mattia.bunel@ehess.fr)
7567b295833caf3d10b5bc77cfce6b630d574f66.1729526539.git.mattia.bunel@ehess.fr
Change-Id: I4b1473184ed871a5b6c5a4ea8320082292846c3f
---
gnu/packages/geo.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)

Toggle diff (39 lines)
diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index 5d120b3c98..f96c9fb8a3 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -3600,3 +3600,32 @@ (define-public laszip
@code{LAZ} files. The @code{LAS} format is a file format designed for the
interchange and archiving of lidar point cloud data.")
(license license:asl2.0)))
+
+(define-public libe57format
+ (package
+ (name "libe57format")
+ (version "3.2.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/asmaloney/libE57Format")
+ (commit "v3.2.0")))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "00sj0splv4apv3kfjfwgsrizhimav3hxw51q1qz4g2fgncn092a9"))))
+ (inputs (list xerces-c))
+ (native-inputs (list googletest))
+ (build-system cmake-build-system)
+ (arguments
+ (list
+ ;; Tests use external data
+ #:configure-flags #~(list "-DE57_BUILD_TEST=NO")
+ #:build-type "Release"
+ #:tests? #f))
+ (home-page "https://github.com/asmaloney/libE57Format")
+ (synopsis "Libray for read and write E57 file format")
+ (description
+ "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))))
--
2.46.2
M
M
Mattia Bunel wrote on 21 Oct 2024 18:14
[PATCH 2/2] * gnu/packages/geo.scm (cloudcompare): New variable.
(address . 73934@debbugs.gnu.org)(name . Mattia Bunel)(address . mattia.bunel@ehess.fr)
56b6c6b73adad1d0d7e424a86562b1d55160f16b.1729526539.git.mattia.bunel@ehess.fr
Change-Id: Ic8bb7f40bd28d1329a14ff7166a7f6305e25f745
---
gnu/packages/geo.scm | 95 ++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 95 insertions(+)

Toggle diff (105 lines)
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
A
A
Andreas Enge wrote 5 days ago
Re: [bug#73934] [v2] Add CloudCompare 2.13
(name . Mattia Bunel)(address . mattia.bunel@ehess.fr)
Z6PKO5-OVPoeJbwK@jurong
Hello Mattia,

apologies for the exceptionally long delay in treating your patches,
which are very nice and well prepared.

I have slightly adapted libe57format. For the license, I kept only
boost1.0, as this is given in the licence file and also in a few headers
I checked. I have tried to make the tests work - it is possible to add
the external test data in a separate origin, but even then there are
complaints about googletest not working. So I have updated the
explanations, removed the googletest native input and kept the tests
disabled.

This one is pushed.

For cloudcompare, please find a v2 attached. The git tag did not
correspond to the version, and the licence is gpl2+ ("or later").

I wonder whether the recursive git download is the way to go, or whether
it does not pull bundled libraries that we had better unbundle? A few of
the submodules contain "extern" in their name. For instance, it looks as
if there is a second copy of libe57format that is downloaded.

I also wonder whether the mixture of qt@5 and qt@6 packages is a good
idea.

In any case, the package compiles, and the binary starts.

What do you think?

Andreas
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 73934@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 73934
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch