GNU bug report logs - #73934
[PATCH 0/2] Add CloudCompare 2.13

Previous Next

Package: guix-patches;

Reported by: Mattia Bunel <mattia.bunel <at> ehess.fr>

Date: Mon, 21 Oct 2024 16:13:02 UTC

Severity: normal

Tags: moreinfo, patch

Done: Andreas Enge <andreas <at> enge.fr>

Bug is archived. No further changes may be made.

Full log


Message #19 received at 73934 <at> debbugs.gnu.org (full text, mbox):

From: Mattia Bunel <mattia.bunel <at> ehess.fr>
To: Andreas Enge <andreas <at> enge.fr>
Cc: Sharlatan Hellseher <sharlatanus <at> gmail.com>, 73934 <at> debbugs.gnu.org,
 Eric Bavier <bavier <at> posteo.net>
Subject: Re: [bug#73934] [v2] Add CloudCompare 2.13
Date: Fri, 28 Feb 2025 15:26:49 +0100
[Message part 1 (text/plain, inline)]
Hello,

Thanks for your corrections to these two patches, and for integrating
the ~libe57format~ package.

For the ~cloudcompare~ package, I was also surprised by the joint use
of qt6 and qt5. I've just checked, it's an error on my part, the package
does compile with ~qtlocation-5~ input. I am attaching a corrected
version of this package.

As for the rest, I agree with you. It be better to replace the
submodules and external dependencies integrated in the sources. But I
don't really know how to do that. I did find some examples in other
packages, but it seems necessary to patch the ~cmake~ files, which I don't
really know how to do.

[0001-gnu-Add-cloudcompare.patch (text/x-patch, attachment)]
[Message part 3 (text/plain, inline)]
Mattia

Andreas Enge <andreas <at> enge.fr> writes:

> 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 <at> 5 and qt <at> 6 packages is a good
> idea.
>
> In any case, the package compiles, and the binary starts.
>
> What do you think?
>
> Andreas
>
> From 5a42727e4625470406a47650e525a1667f9b7514 Mon Sep 17 00:00:00 2001
> Message-ID: <5a42727e4625470406a47650e525a1667f9b7514.1738786951.git.andreas <at> enge.fr>
> From: Mattia Bunel <mattia.bunel <at> ehess.fr>
> Date: Wed, 5 Feb 2025 20:01:36 +0100
> Subject: [PATCH] gnu: Add cloudcompare.
>
> * gnu/packages/geo.scm (cloudcompare): New variable.
>
> Change-Id: If7ec6bc74ade4df662e5e66eda13979efa53161b
> Signed-off-by: Andreas Enge <andreas <at> enge.fr>
> ---
>  gnu/packages/geo.scm | 96 ++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 96 insertions(+)
>
> diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
> index 368ea01ca17..0dd5ca921cc 100644
> --- a/gnu/packages/geo.scm
> +++ b/gnu/packages/geo.scm
> @@ -3725,3 +3725,99 @@ (define-public libe57format
>  attributes associated with 3D point data (color and intensity),
>  and 2D images (photos taken using a 3D imaging system).")
>      (license license:boost1.0)))
> +
> +(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.2")
> +             (recursive? #t)))
> +       (file-name (git-file-name name version))
> +       (sha256
> +        (base32 "0wck05zbfkw7cg8h6fjiinjzrsk55858qg0k2m5rmr9dfdzjbzbb"))))
> +    (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 point 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 is also meant to deal
> +with huge point clouds.")
> +    (license license:gpl2+)))
>
> base-commit: cc2b236e3777c0f7c758805289f42b3932668c57
> prerequisite-patch-id: 0289950ff5d75c0e49094995eef252869b9b875f
> -- 
> 2.48.1
>

-- 
Mattia Bunel
UMR Géographie-cités, Plateforme géomatique ;  EHESS
https://mbunel.xyz/
[signature.asc (application/pgp-signature, inline)]

This bug report was last modified 114 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.