diff mbox series

[bug#40492] gnu: Add meshlab

Message ID IiFHIISWdR1nkVRqbN_dVB6xJ99FtcrkPjlCzXbQT8vMsXOfmt4zE1XugZG8NrI44BWmAfNuiImpaJ1EESfDoATKHI3cHOaMgWsjtfCp99E=@elenq.tech
State Accepted
Headers show
Series [bug#40492] gnu: Add meshlab | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch fail View Laminar job

Commit Message

Ekaitz Zarraga May 11, 2020, 2:11 p.m. UTC
> I attach what I currently have.

I didn't...

Comments

Ludovic Courtès May 14, 2020, 8:06 a.m. UTC | #1
Hi,

Ekaitz Zarraga <ekaitz@elenq.tech> skribis:

> From d462d7446e4ecbc4244e429538b926aae43004b8 Mon Sep 17 00:00:00 2001
> From: Ekaitz Zarraga <ekaitz@elenq.tech>
> Date: Tue, 7 Apr 2020 18:56:06 +0200
> Subject: [PATCH] gnu: Add meshlab.
>
>     * gnu/packages/engineering.scm (meshlab): New variable.

[...]

> +          ;Not packaged in Guix
> +          ;structuresynth-1.5
> +          ;openkinect
> +          ;newoua
> +          ;lib3ds 1.3.0
> +          ;levmar  2.3
> +          ;jhead 3.04
> +          ;openctm 1.3.0

Of these I think we should at least package openkinect, lib3ds, and
openctm, which appear to be rather widespread pieces of software.  I
haven’t checked the others.

Would you like to give it a try?  We can come back to Meshlab
afterwards.

Thank you,
Ludo’.
Ekaitz Zarraga May 14, 2020, 8:17 a.m. UTC | #2
Hi,

On Thursday, May 14, 2020 10:06 AM, Ludovic Courtès <ludo@gnu.org> wrote:

> Of these I think we should at least package openkinect, lib3ds, and
> openctm, which appear to be rather widespread pieces of software. I
> haven’t checked the others.
>
> Would you like to give it a try? We can come back to Meshlab
> afterwards.
>
> Thank you,
> Ludo’.

Sure.

I'll work on those during these days.
Ekaitz Zarraga May 15, 2020, 10:41 p.m. UTC | #3
Hi,

‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Thursday, May 14, 2020 10:17 AM, Ekaitz Zarraga <ekaitz@elenq.tech> wrote:

> Hi,
>
> On Thursday, May 14, 2020 10:06 AM, Ludovic Courtès ludo@gnu.org wrote:
>
> > Of these I think we should at least package openkinect, lib3ds, and
> > openctm, which appear to be rather widespread pieces of software. I
> > haven’t checked the others.
> > Would you like to give it a try? We can come back to Meshlab
> > afterwards.
> > Thank you,
> > Ludo’.
>
> Sure.
>
> I'll work on those during these days.

I added all the packages mentioned:

https://issues.guix.gnu.org/41263
https://issues.guix.gnu.org/41288
https://issues.guix.gnu.org/41294

But there's something worth mentioning on all of them I think. They have two different parts: binaries and the library itself. The binaries are just for testing the library or using it while the most interesting part is the library itself.

I think it could be more interesting to separate the outputs to have more lightweight lib packages. I don't know how to do it though. I'd like to learn and add it but the documentation is not really clear about it to learn myself so I'm afraid I need some help on that.

Best,
Ekaitz
Ekaitz Zarraga May 21, 2020, 11:59 a.m. UTC | #4
Hi,

I think all the packages mentioned are added.
I'll come back to this issue and try to make meshlab work.
We don't have any news from the qhull compilation issue yet so I'll probably fix it myself (why not?).

Best,
Ekaitz
Ludovic Courtès June 12, 2020, 4:13 p.m. UTC | #5
Hi,

Ekaitz Zarraga <ekaitz@elenq.tech> skribis:

> I think all the packages mentioned are added.
> I'll come back to this issue and try to make meshlab work.
> We don't have any news from the qhull compilation issue yet so I'll probably fix it myself (why not?).

Did you have a chance to look into it?  Or is there something blocking
progress?

Thanks,
Ludo’.
Ekaitz Zarraga June 12, 2020, 4:32 p.m. UTC | #6
Hi Ludo,

> Did you have a chance to look into it? Or is there something blocking
> progress?
>
> Thanks,
> Ludo’.

I did my best here and there's some extra CMake configuration step error, I talked with meshlab's developers about this and I'm unable to make it work with system qhull.
I don't know why.

I don't know enough about CMake (I don't know anything about CMake tbh) to make it work myself.

This is the issue upstream.
https://github.com/cnr-isti-vclab/meshlab/issues/678

With the QHull provided by Meshlab it works well with all the libs we packaged, does it make sense to leave just qhull for the moment?

Best,
Ekaitz
Ludovic Courtès June 12, 2020, 7:45 p.m. UTC | #7
Hi,

Ekaitz Zarraga <ekaitz@elenq.tech> skribis:

> I did my best here and there's some extra CMake configuration step error, I talked with meshlab's developers about this and I'm unable to make it work with system qhull.
> I don't know why.
>
> I don't know enough about CMake (I don't know anything about CMake tbh) to make it work myself.
>
> This is the issue upstream.
> https://github.com/cnr-isti-vclab/meshlab/issues/678
>
> With the QHull provided by Meshlab it works well with all the libs we packaged, does it make sense to leave just qhull for the moment?

Yeah, let’s do that, with a FIXME comment referencing the above issue.

Thanks for the update!

Ludo’.
diff mbox series

Patch

From d462d7446e4ecbc4244e429538b926aae43004b8 Mon Sep 17 00:00:00 2001
From: Ekaitz Zarraga <ekaitz@elenq.tech>
Date: Tue, 7 Apr 2020 18:56:06 +0200
Subject: [PATCH] gnu: Add meshlab.

    * gnu/packages/engineering.scm (meshlab): New variable.
---
 gnu/packages/engineering.scm | 64 ++++++++++++++++++++++++++++++++++++
 1 file changed, 64 insertions(+)

diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 5405db762c..6e13be10e1 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -2491,3 +2491,67 @@  without any changes.  And programmers that are familiar with the magellan API
 can continue using it with a free library without the restrictions of the
 official SDK.")
     (license license:bsd-3)))
+
+(define-public meshlab
+  (let ((version "2020.05"))
+    (package
+      (name "meshlab")
+      (version version)
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                       (url "https://github.com/cnr-isti-vclab/meshlab")
+                       (commit (string-append "Meshlab-" version))
+                       (recursive? #t)))
+                (sha256
+                  (base32 "00sim20ka9vjwljixdj4cqd285j21mpaq05ari7nqq2w8yyglp5m"))))
+      (build-system cmake-build-system)
+      (native-inputs
+        `(("qtbase" ,qtbase)
+          ("qtscript" ,qtscript)
+          ("qtxmlpatterns" ,qtxmlpatterns)
+          ("mesa", mesa)
+          ("glu", glu)
+          ; Externals, also bundled in meshlab's code
+          ("glew", glew)
+          ("muparser", muparser)
+          ("gmp", gmp)
+          ("eigen", eigen)
+          ;("qhull", qhull) ; Compilation fails with system qhull
+          ;Not packaged in Guix
+          ;structuresynth-1.5
+          ;openkinect
+          ;newoua
+          ;lib3ds 1.3.0
+          ;levmar  2.3
+          ;jhead 3.04
+          ;openctm 1.3.0
+          ))
+      (arguments
+        `(#:tests? #f ; Has no tests
+          #:phases
+          (modify-phases
+            %standard-phases
+              (add-after
+                'unpack 'go-to-source-dir
+                (lambda _ (chdir "src") #t))
+              (add-after
+                'install 'move-files
+                (lambda* (#:key outputs #:allow-other-keys)
+                         (let ((lib (string-append (assoc-ref outputs "out")
+                                                   "/lib")))
+                           (rename-file
+                             (string-append lib "/meshlab/libmeshlab-common.so")
+                             (string-append lib "/libmeshlab-common.so"))
+                           #t))))))
+      (synopsis "3D triangular mesh processing and editing software")
+                (home-page "http://www.meshlab.net/")
+                (description "MeshLab is a system for the processing and
+editing of unstructured large 3D triangular meshes.  It is aimed to help the
+processing of the typical not-so-small unstructured models arising in 3D
+scanning, providing a set of tools for editing, cleaning, healing, inspecting,
+rendering and converting this kind of meshes.  These tools include MeshLab
+proper, a versatile program with a graphical user interface, and meshlabserver,
+a program that can perform mesh processing tasks in batch mode, without a
+GUI.")
+                (license license:gpl3+))))
-- 
2.26.1