Subject: [bug#40492] [PATCH] gnu: Add meshlab

From: Ekaitz Zarraga <[email-masked]>
Date: Mon, 11 May 2020 14:11:41 +0000

> I attach what I currently have.

I didn't...
From d462d7446e4ecbc4244e429538b926aae43004b8 Mon Sep 17 00:00:00 2001
From: Ekaitz Zarraga <[email-masked]>
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