GNU bug report logs - #40492
[PATCH] gnu: Add meshlab

Previous Next

Package: guix-patches;

Reported by: Ekaitz Zarraga <ekaitz <at> elenq.tech>

Date: Tue, 7 Apr 2020 17:09:19 UTC

Severity: normal

Tags: patch

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 40492 in the body.
You can then email your comments to 40492 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#40492; Package guix-patches. (Tue, 07 Apr 2020 17:09:24 GMT) Full text and rfc822 format available.

Acknowledgement sent to Ekaitz Zarraga <ekaitz <at> elenq.tech>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Tue, 07 Apr 2020 17:09:25 GMT) Full text and rfc822 format available.

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

From: Ekaitz Zarraga <ekaitz <at> elenq.tech>
To: "guix-patches <at> gnu.org" <guix-patches <at> gnu.org>
Subject: [PATCH] gnu: Add meshlab
Date: Tue, 07 Apr 2020 17:08:06 +0000
Hi everyone,

I wrote a package to add meshlab but I'm not sure if I did it right:
- It doesn't have tests so I removed the testing.
- It fails to check RUNPATH, but I don't really know why so I disabled
  it at the moment. It fails while searching for meshlab core libraries
  but the search path is correct (it misses a /meshlab at the end).

Can you please check it and suggest a solution?

It works as it is but the runpath checks should pass...

Thanks!
Ekaitz

---


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

---
 gnu/packages/engineering.scm | 39 ++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 5405db762c..85efc01c4c 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -2491,3 +2491,42 @@ 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 ((commit-ref "Meshlab-2020.04"))
+    (package
+      (name "meshlab")
+      (version commit-ref)
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                       (url "https://github.com/cnr-isti-vclab/meshlab")
+                       (commit commit-ref)
+                       (recursive? #t)))
+                (sha256
+                  (base32 "1vx9jcsnnxvzi90pcxpp7p72cqg3cm6jiivdmrxkzhr2fiz3pfvr"))))
+      (build-system cmake-build-system)
+      (native-inputs
+        `(("qtbase" ,qtbase)
+          ("qtscript" ,qtscript)
+          ("qtxmlpatterns" ,qtxmlpatterns)
+          ("mesa", mesa)
+          ("glu", glu)))
+      (arguments
+        `(#:tests? #f
+          #:validate-runpath? #f
+          #:phases (modify-phases %standard-phases
+                                  (add-after 'unpack 'go-to-source-dir
+                                             (lambda _ (chdir "src") #t)))))
+      (synopsis
+        "The open source system for processing and editing 3D triangular meshes.")
+      (home-page "http://www.meshlab.net/")
+      (description "MeshLab is an open source, portable, and extensible 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.25.1






Information forwarded to guix-patches <at> gnu.org:
bug#40492; Package guix-patches. (Wed, 22 Apr 2020 17:24:01 GMT) Full text and rfc822 format available.

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

From: Ludovic Courtès <ludo <at> gnu.org>
To: Ekaitz Zarraga <ekaitz <at> elenq.tech>
Cc: 40492 <at> debbugs.gnu.org
Subject: Re: [bug#40492] [PATCH] gnu: Add meshlab
Date: Wed, 22 Apr 2020 19:23:38 +0200
Hi,

Ekaitz Zarraga <ekaitz <at> elenq.tech> skribis:

> I wrote a package to add meshlab but I'm not sure if I did it right:
> - It doesn't have tests so I removed the testing.

Please add a short comment in the code saying this so that people
touching the package in the future will know.

> - It fails to check RUNPATH, but I don't really know why so I disabled
>   it at the moment. It fails while searching for meshlab core libraries
>   but the search path is correct (it misses a /meshlab at the end).

Could you show the error message?  It may be that the build system fails
to pass the right -Wl,-rpath or even the right -L/-l flags at link time.

>>From d9020d7e64020dc7eea1bd46af184856d568ca7d Mon Sep 17 00:00:00 2001
> From: Ekaitz Zarraga <ekaitz <at> elenq.tech>
> Date: Tue, 7 Apr 2020 18:56:06 +0200
> Subject: [PATCH] gnu: Add meshlab
>
> ---
>  gnu/packages/engineering.scm | 39 ++++++++++++++++++++++++++++++++++++
>  1 file changed, 39 insertions(+)

Bonus points if you can provide a commit log that follows our
conventions.  :-)  See
<https://guix.gnu.org/manual/en/html_node/Submitting-Patches.html> and
‘git log’ for examples.

> +(define-public meshlab
> +  (let ((commit-ref "Meshlab-2020.04"))
> +    (package
> +      (name "meshlab")
> +      (version commit-ref)

The version field should be “2020.04”.  You can construct the commit
from that:

  (string-append "Meshlab-" version)

> +      (synopsis
> +        "The open source system for processing and editing 3D triangular meshes.")
> +      (home-page "http://www.meshlab.net/")
> +      (description "MeshLab is an open source, portable, and extensible system

Two comments:

  1. Everything in Guix is free software, you can remove the “open
     source” mention.

  2. Please make sure to run ‘guix lint’ and check the guidelines at
     <https://guix.gnu.org/manual/en/html_node/Synopses-and-Descriptions.html>.

Could you send an updated patch?

Thanks in advance!

Ludo’.




Information forwarded to guix-patches <at> gnu.org:
bug#40492; Package guix-patches. (Wed, 22 Apr 2020 18:41:01 GMT) Full text and rfc822 format available.

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

From: Ekaitz Zarraga <ekaitz <at> elenq.tech>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: "40492 <at> debbugs.gnu.org" <40492 <at> debbugs.gnu.org>
Subject: Re: [bug#40492] [PATCH] gnu: Add meshlab
Date: Wed, 22 Apr 2020 18:40:31 +0000
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Wednesday, April 22, 2020 7:23 PM, Ludovic Courtès <ludo <at> gnu.org> wrote:

> Hi,
>
> Ekaitz Zarraga ekaitz <at> elenq.tech skribis:
>
> > I wrote a package to add meshlab but I'm not sure if I did it right:
> >
> > -   It doesn't have tests so I removed the testing.
>
> Please add a short comment in the code saying this so that people
> touching the package in the future will know.
>
> > -   It fails to check RUNPATH, but I don't really know why so I disabled
> >     it at the moment. It fails while searching for meshlab core libraries
> >     but the search path is correct (it misses a /meshlab at the end).
> >
>
> Could you show the error message? It may be that the build system fails
> to pass the right -Wl,-rpath or even the right -L/-l flags at link time.
>
> > > From d9020d7e64020dc7eea1bd46af184856d568ca7d Mon Sep 17 00:00:00 2001
> > > From: Ekaitz Zarraga ekaitz <at> elenq.tech
> > > Date: Tue, 7 Apr 2020 18:56:06 +0200
> > > Subject: [PATCH] gnu: Add meshlab
> >
> > gnu/packages/engineering.scm | 39 ++++++++++++++++++++++++++++++++++++
> > 1 file changed, 39 insertions(+)
>
> Bonus points if you can provide a commit log that follows our
> conventions. :-) See
> https://guix.gnu.org/manual/en/html_node/Submitting-Patches.html and
> ‘git log’ for examples.
>
> > +(define-public meshlab
> >
> > -   (let ((commit-ref "Meshlab-2020.04"))
> > -   (package
> > -        (name "meshlab")
> >
> >
> > -        (version commit-ref)
> >
> >
>
> The version field should be “2020.04”. You can construct the commit
> from that:
>
> (string-append "Meshlab-" version)
>
> > -        (synopsis
> >
> >
> > -          "The open source system for processing and editing 3D triangular meshes.")
> >
> >
> > -        (home-page "http://www.meshlab.net/")
> >
> >
> > -        (description "MeshLab is an open source, portable, and extensible system
> >
> >
>
> Two comments:
>
> 1.  Everything in Guix is free software, you can remove the “open
>     source” mention.
>
> 2.  Please make sure to run ‘guix lint’ and check the guidelines at
>     https://guix.gnu.org/manual/en/html_node/Synopses-and-Descriptions.html.
>
>
> Could you send an updated patch?
>
> Thanks in advance!
>
> Ludo’.

Hi Ludo,

Thanks for the detailed answer. I'll check the formatting errors.
About the RUNPATH checks, I isolated one of the errors and I don't know what to change.

This is the error of the file libsamplefilter.so during the runpath check:

/gnu/store/lcpp0gpispfqw8zna2mjrr6cwj3ih133-meshlab-Meshlab-2020.04/lib/meshlab/plugins/libsamplefilter.so: error: depends on 'libmeshlab-common.so', which cannot be found in RUNPATH ("/gnu/store/lcpp0gpispfqw8zna2mjrr6cwj3ih133-meshlab-Meshlab-2020.04/lib" "/gnu/store/ahqgl4h89xqj695lgqvsaf6zh2nhy4pj-glibc-2.29/lib" "/gnu/store/2plcy91lypnbbysb18ymnhaw3zwk8pg1-gcc-7.4.0-lib/lib" "/gnu/store/n6ji2fxg1cn6abd2bn2jd14pglyblysr-qtbase-5.12.7/lib" "/gnu/store/qbq794vbw5scpxvnzlnyvdkqfr9163rk-qtscript-5.12.7/lib" "/gnu/store/2k1bsh663bilxndca4gx4zrdp7m63fjb-qtxmlpatterns-5.12.7/lib" "/gnu/store/2mf0clz9w64diy0kz11qcs4q5wg9hc6z-mesa-19.3.4/lib" "/gnu/store/2plcy91lypnbbysb18ymnhaw3zwk8pg1-gcc-7.4.0-lib/lib/gcc/x86_64-unknown-linux-gnu/7.4.0/../../..")
/gnu/store/lcpp0gpispfqw8zna2mjrr6cwj3ih133-meshlab-Meshlab-2020.04/lib/meshlab/plugins/libsamplefilterdyn.so: error: depends on 'libmeshlab-common.so', which cannot be found in RUNPATH ("/gnu/store/lcpp0gpispfqw8zna2mjrr6cwj3ih133-meshlab-Meshlab-2020.04/lib" "/gnu/store/ahqgl4h89xqj695lgqvsaf6zh2nhy4pj-glibc-2.29/lib" "/gnu/store/2plcy91lypnbbysb18ymnhaw3zwk8pg1-gcc-7.4.0-lib/lib" "/gnu/store/n6ji2fxg1cn6abd2bn2jd14pglyblysr-qtbase-5.12.7/lib" "/gnu/store/qbq794vbw5scpxvnzlnyvdkqfr9163rk-qtscript-5.12.7/lib" "/gnu/store/2k1bsh663bilxndca4gx4zrdp7m63fjb-qtxmlpatterns-5.12.7/lib" "/gnu/store/2mf0clz9w64diy0kz11qcs4q5wg9hc6z-mesa-19.3.4/lib" "/gnu/store/2plcy91lypnbbysb18ymnhaw3zwk8pg1-gcc-7.4.0-lib/lib/gcc/x86_64-unknown-linux-gnu/7.4.0/../../..")
validating RUNPATH of 2 binaries in "/gnu/store/lcpp0gpispfqw8zna2mjrr6cwj3ih133-meshlab-Meshlab-2020.04/bin"...

But the first element in the RUNPATH is the place where the library is. This is the library's path:

/gnu/store/lcpp0gpispfqw8zna2mjrr6cwj3ih133-meshlab-Meshlab-2020.04/lib/meshlab/libmeshlab-common.so


This is the linking of the libsamplefilter.so file:

[ 98%] Linking CXX shared module ../../distrib/plugins/libsamplefilter.so
cd /tmp/guix-build-meshlab-Meshlab-2020.04.drv-0/source/build/sampleplugins/samplefilter && /gnu/store/iz9500ssxcqlyr74hg1jq10ycrh42yq1-cmake-minimal-3.15.1/bin/cmake -E cmake_link_script CMakeFiles/samplefilter.dir/link.txt --verbose=1
/gnu/store/x3jx25cd3q363mr7nbgzrhrv1vza6cf7-gcc-7.4.0/bin/c++ -fPIC -O2 -g -DNDEBUG  -Wl,--no-undefined -shared  -o ../../distrib/plugins/libsamplefilter.so CMakeFiles/samplefilter.dir/samplefilter_autogen/mocs_compilation.cpp.o CMakeFiles/samplefilter.dir/samplefilter.cpp.o -Wl,-rpath,/tmp/guix-build-meshlab-Meshlab-2020.04.drv-0/source/build/common:::::: ../../common/libmeshlab-common.so /gnu/store/n6ji2fxg1cn6abd2bn2jd14pglyblysr-qtbase-5.12.7/lib/libQt5OpenGL.so.5.12.7 /gnu/store/qbq794vbw5scpxvnzlnyvdkqfr9163rk-qtscript-5.12.7/lib/libQt5Script.so.5.12.7 /gnu/store/n6ji2fxg1cn6abd2bn2jd14pglyblysr-qtbase-5.12.7/lib/libQt5Widgets.so.5.12.7 /gnu/store/n6ji2fxg1cn6abd2bn2jd14pglyblysr-qtbase-5.12.7/lib/libQt5Gui.so.5.12.7 /gnu/store/n6ji2fxg1cn6abd2bn2jd14pglyblysr-qtbase-5.12.7/lib/libQt5Xml.so.5.12.7 /gnu/store/2k1bsh663bilxndca4gx4zrdp7m63fjb-qtxmlpatterns-5.12.7/lib/libQt5XmlPatterns.so.5.12.7 /gnu/store/n6ji2fxg1cn6abd2bn2jd14pglyblysr-qtbase-5.12.7/lib/libQt5Network.so.5.12.7 /gnu/store/n6ji2fxg1cn6abd2bn2jd14pglyblysr-qtbase-5.12.7/lib/libQt5Core.so.5.12.7 ../../libexternal-glew.a /gnu/store/2mf0clz9w64diy0kz11qcs4q5wg9hc6z-mesa-19.3.4/lib/libGL.so

The -rpath and -Wl are set to /tmp/guix-build-meshlab-Meshlab-2020.04.drv-0/source/build/common
but it should be set to the directory it showed previously, right?

If I need to change that, what do I have to do?

Sorry for the inconvenience, but I'm a little bit lost on this.

Thank you,

Ekaitz




Information forwarded to guix-patches <at> gnu.org:
bug#40492; Package guix-patches. (Wed, 22 Apr 2020 19:54:01 GMT) Full text and rfc822 format available.

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

From: Ludovic Courtès <ludo <at> gnu.org>
To: Ekaitz Zarraga <ekaitz <at> elenq.tech>
Cc: "40492 <at> debbugs.gnu.org" <40492 <at> debbugs.gnu.org>
Subject: Re: [bug#40492] [PATCH] gnu: Add meshlab
Date: Wed, 22 Apr 2020 21:52:56 +0200
Egun on,  :-)

Ekaitz Zarraga <ekaitz <at> elenq.tech> skribis:

> Thanks for the detailed answer. I'll check the formatting errors.
> About the RUNPATH checks, I isolated one of the errors and I don't know what to change.
>
> This is the error of the file libsamplefilter.so during the runpath check:
>
> /gnu/store/lcpp0gpispfqw8zna2mjrr6cwj3ih133-meshlab-Meshlab-2020.04/lib/meshlab/plugins/libsamplefilter.so: error: depends on 'libmeshlab-common.so', which cannot be found in RUNPATH ("/gnu/store/lcpp0gpispfqw8zna2mjrr6cwj3ih133-meshlab-Meshlab-2020.04/lib" "/gnu/store/ahqgl4h89xqj695lgqvsaf6zh2nhy4pj-glibc-2.29/lib" "/gnu/store/2plcy91lypnbbysb18ymnhaw3zwk8pg1-gcc-7.4.0-lib/lib" "/gnu/store/n6ji2fxg1cn6abd2bn2jd14pglyblysr-qtbase-5.12.7/lib" "/gnu/store/qbq794vbw5scpxvnzlnyvdkqfr9163rk-qtscript-5.12.7/lib" "/gnu/store/2k1bsh663bilxndca4gx4zrdp7m63fjb-qtxmlpatterns-5.12.7/lib" "/gnu/store/2mf0clz9w64diy0kz11qcs4q5wg9hc6z-mesa-19.3.4/lib" "/gnu/store/2plcy91lypnbbysb18ymnhaw3zwk8pg1-gcc-7.4.0-lib/lib/gcc/x86_64-unknown-linux-gnu/7.4.0/../../..")
> /gnu/store/lcpp0gpispfqw8zna2mjrr6cwj3ih133-meshlab-Meshlab-2020.04/lib/meshlab/plugins/libsamplefilterdyn.so: error: depends on 'libmeshlab-common.so', which cannot be found in RUNPATH ("/gnu/store/lcpp0gpispfqw8zna2mjrr6cwj3ih133-meshlab-Meshlab-2020.04/lib" "/gnu/store/ahqgl4h89xqj695lgqvsaf6zh2nhy4pj-glibc-2.29/lib" "/gnu/store/2plcy91lypnbbysb18ymnhaw3zwk8pg1-gcc-7.4.0-lib/lib" "/gnu/store/n6ji2fxg1cn6abd2bn2jd14pglyblysr-qtbase-5.12.7/lib" "/gnu/store/qbq794vbw5scpxvnzlnyvdkqfr9163rk-qtscript-5.12.7/lib" "/gnu/store/2k1bsh663bilxndca4gx4zrdp7m63fjb-qtxmlpatterns-5.12.7/lib" "/gnu/store/2mf0clz9w64diy0kz11qcs4q5wg9hc6z-mesa-19.3.4/lib" "/gnu/store/2plcy91lypnbbysb18ymnhaw3zwk8pg1-gcc-7.4.0-lib/lib/gcc/x86_64-unknown-linux-gnu/7.4.0/../../..")
> validating RUNPATH of 2 binaries in "/gnu/store/lcpp0gpispfqw8zna2mjrr6cwj3ih133-meshlab-Meshlab-2020.04/bin"...
>
> But the first element in the RUNPATH is the place where the library is. This is the library's path:
>
> /gnu/store/lcpp0gpispfqw8zna2mjrr6cwj3ih133-meshlab-Meshlab-2020.04/lib/meshlab/libmeshlab-common.so
>
>
> This is the linking of the libsamplefilter.so file:
>
> [ 98%] Linking CXX shared module ../../distrib/plugins/libsamplefilter.so
> cd /tmp/guix-build-meshlab-Meshlab-2020.04.drv-0/source/build/sampleplugins/samplefilter && /gnu/store/iz9500ssxcqlyr74hg1jq10ycrh42yq1-cmake-minimal-3.15.1/bin/cmake -E cmake_link_script CMakeFiles/samplefilter.dir/link.txt --verbose=1
> /gnu/store/x3jx25cd3q363mr7nbgzrhrv1vza6cf7-gcc-7.4.0/bin/c++ -fPIC -O2 -g -DNDEBUG  -Wl,--no-undefined -shared  -o ../../distrib/plugins/libsamplefilter.so CMakeFiles/samplefilter.dir/samplefilter_autogen/mocs_compilation.cpp.o CMakeFiles/samplefilter.dir/samplefilter.cpp.o -Wl,-rpath,/tmp/guix-build-meshlab-Meshlab-2020.04.drv-0/source/build/common:::::: ../../common/libmeshlab-common.so /gnu/store/n6ji2fxg1cn6abd2bn2jd14pglyblysr-qtbase-5.12.7/lib/libQt5OpenGL.so.5.12.7 /gnu/store/qbq794vbw5scpxvnzlnyvdkqfr9163rk-qtscript-5.12.7/lib/libQt5Script.so.5.12.7 /gnu/store/n6ji2fxg1cn6abd2bn2jd14pglyblysr-qtbase-5.12.7/lib/libQt5Widgets.so.5.12.7 /gnu/store/n6ji2fxg1cn6abd2bn2jd14pglyblysr-qtbase-5.12.7/lib/libQt5Gui.so.5.12.7 /gnu/store/n6ji2fxg1cn6abd2bn2jd14pglyblysr-qtbase-5.12.7/lib/libQt5Xml.so.5.12.7 /gnu/store/2k1bsh663bilxndca4gx4zrdp7m63fjb-qtxmlpatterns-5.12.7/lib/libQt5XmlPatterns.so.5.12.7 /gnu/store/n6ji2fxg1cn6abd2bn2jd14pglyblysr-qtbase-5.12.7/lib/libQt5Network.so.5.12.7 /gnu/store/n6ji2fxg1cn6abd2bn2jd14pglyblysr-qtbase-5.12.7/lib/libQt5Core.so.5.12.7 ../../libexternal-glew.a /gnu/store/2mf0clz9w64diy0kz11qcs4q5wg9hc6z-mesa-19.3.4/lib/libGL.so
>
> The -rpath and -Wl are set to /tmp/guix-build-meshlab-Meshlab-2020.04.drv-0/source/build/common
> but it should be set to the directory it showed previously, right?

Not really, I think CMake initially sets the RUNPATH to the build tree,
as shown above, that’s OK.  I think it changes it upon “make install”.

> If I need to change that, what do I have to do?

One way to fix it would be to arrange to pass ‘-Wl,-rpath,'$ORIGIN'’ on
the link command line of the plugins.

Another solution would be to add a post-install phase to move
libmeshlab-common.so* to $output/lib, which seems more conventional,
though perhaps upstream had good reasons not to do that.

HTH!

Ludo’.




Information forwarded to guix-patches <at> gnu.org:
bug#40492; Package guix-patches. (Sat, 25 Apr 2020 19:48:02 GMT) Full text and rfc822 format available.

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

From: Ekaitz Zarraga <ekaitz <at> elenq.tech>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: "40492\\@debbugs.gnu.org" <40492 <at> debbugs.gnu.org>
Subject: Re: [bug#40492] [PATCH] gnu: Add meshlab
Date: Sat, 25 Apr 2020 19:47:03 +0000
[Message part 1 (text/plain, inline)]
Saluton!

> Egun on, :-)
>
> [...]
> Not really, I think CMake initially sets the RUNPATH to the build tree,
> as shown above, that’s OK. I think it changes it upon “make install”.
>
> > If I need to change that, what do I have to do?
>
> One way to fix it would be to arrange to pass ‘-Wl,-rpath,'$ORIGIN'’ on
> the link command line of the plugins.
>
> Another solution would be to add a post-install phase to move
> libmeshlab-common.so* to $output/lib, which seems more conventional,
> though perhaps upstream had good reasons not to do that.

Went for the second option because I didn't know how to make the first and
looks like it's working.

Also I think I fixed everything you pointed in the first comment.

I attach the updated patch.

Thanks for your help Ludo,

Ekaitz
[0001-gnu-Add-meshlab.patch (text/x-patch, attachment)]

Information forwarded to guix-patches <at> gnu.org:
bug#40492; Package guix-patches. (Sun, 26 Apr 2020 20:50:02 GMT) Full text and rfc822 format available.

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

From: Ludovic Courtès <ludo <at> gnu.org>
To: Ekaitz Zarraga <ekaitz <at> elenq.tech>
Cc: "40492 <at> debbugs.gnu.org" <40492 <at> debbugs.gnu.org>
Subject: Re: [bug#40492] [PATCH] gnu: Add meshlab
Date: Sun, 26 Apr 2020 22:49:27 +0200
[Message part 1 (text/plain, inline)]
Saluton!

Ekaitz Zarraga <ekaitz <at> elenq.tech> skribis:

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

Great!  I added a copyright line for you, fixed up indentation (see the
bit in the manual for how to do that automatically), and added a
comment—patch attached.

It built for me, but then I realized I had missed something: the
external/ sub-directory contains lots of bundled copies of external
tools, and indeed, the ‘configure’ phase shows:

--8<---------------cut here---------------start------------->8---
-- Could NOT find Lib3ds (missing: LIB3DS_INCLUDE_DIR LIB3DS_LIBRARY) 
-- Could NOT find GMP (missing: GMP_INCLUDE_DIR GMP_LIBRARY) 
-- Could NOT find muparser (missing: MUPARSER_INCLUDE_DIR MUPARSER_LIBRARY) 
-- Could NOT find OpenCTM (missing: OPENCTM_INCLUDE_DIR OPENCTM_LIBRARY) 
-- Could NOT find Qhull (missing: QHULL_qhull_LIBRARY QHULL_qhull_INCLUDE_DIR qhull) 
-- Found OpenMP_C: -fopenmp (found version "4.5") 
-- Found OpenMP_CXX: -fopenmp (found version "4.5") 
-- Found OpenMP: TRUE (found version "4.5")  
-- - jhead - using bundled source
-- - glew - using bundled source
-- - Eigen - using bundled source
-- - newuoa - using bundled source
-- - levmar - using bundled source
-- - lib3ds - using bundled source
-- - muparser - using bundled source
-- - OpenCTM - using bundled source
-- - structure-synth - using bundled source
-- - qhull - using bundled source
--8<---------------cut here---------------end--------------->8---

Some of these are already packaged, so it should be a matter of adding
them to ‘inputs’.  For the remaining ones, it would be extra packaging
work to do.

The goal is to address all of these, but if we can address the majority
of these, perhaps we can commit a first version of the package with a
FIXME stating what remains to be done, if you prefer.

Thanks, and apologies for overlooking it before!

Ludo’.

[Message part 2 (text/x-patch, inline)]
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 2fc2ecdd88..ee90e3b429 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -16,6 +16,7 @@
 ;;; Copyright © 2019 John Soo <jsoo1 <at> asu.edu>
 ;;; Copyright © 2020 Brice Waegeneire <brice <at> waegenei.re>
 ;;; Copyright © 2020 Vincent Legoll <vincent.legoll <at> gmail.com>
+;;; Copyright © 2020 Ekaitz Zarraga <ekaitz <at> elenq.tech>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -2520,43 +2521,43 @@ official SDK.")
       (source (origin
                 (method git-fetch)
                 (uri (git-reference
-                       (url "https://github.com/cnr-isti-vclab/meshlab")
-                       (commit (string-append "Meshlab-" version))
-                       (recursive? #t)))
+                      (url "https://github.com/cnr-isti-vclab/meshlab")
+                      (commit (string-append "Meshlab-" version))
+                      (recursive? #t)))
+                (file-name (git-file-name name version))
                 (sha256
-                  (base32 "1vx9jcsnnxvzi90pcxpp7p72cqg3cm6jiivdmrxkzhr2fiz3pfvr"))))
+                 (base32 "1vx9jcsnnxvzi90pcxpp7p72cqg3cm6jiivdmrxkzhr2fiz3pfvr"))))
       (build-system cmake-build-system)
       (native-inputs
-        `(("qtbase" ,qtbase)
-          ("qtscript" ,qtscript)
-          ("qtxmlpatterns" ,qtxmlpatterns)
-          ("mesa", mesa)
-          ("glu", glu)))
+       `(("qtbase" ,qtbase)
+         ("qtscript" ,qtscript)
+         ("qtxmlpatterns" ,qtxmlpatterns)
+         ("mesa", mesa)
+         ("glu", glu)))
       (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))))))
+       `(#: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)
+               ;; The RUNPATH on plugins is set to OUT/lib.  Move
+               ;; libmeshlab-common.so there so it can be found.
+               (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+))))
+      (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+))))

Information forwarded to guix-patches <at> gnu.org:
bug#40492; Package guix-patches. (Sun, 26 Apr 2020 21:01:02 GMT) Full text and rfc822 format available.

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

From: Ekaitz Zarraga <ekaitz <at> elenq.tech>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: "40492\\@debbugs.gnu.org" <40492 <at> debbugs.gnu.org>
Subject: Re: [bug#40492] [PATCH] gnu: Add meshlab
Date: Sun, 26 Apr 2020 21:00:09 +0000
On Sunday, April 26, 2020 10:49 PM, Ludovic Courtès <ludo <at> gnu.org> wrote:

> Saluton!
>
> Ekaitz Zarraga ekaitz <at> elenq.tech skribis:
>
> > From 814e44cb90b1427a9af5d6a66392c5a39910e8fd Mon Sep 17 00:00:00 2001
> > From: Ekaitz Zarraga ekaitz <at> elenq.tech
> > Date: Tue, 7 Apr 2020 18:56:06 +0200
> > Subject: [PATCH] gnu: Add meshlab.
> >
> >     * gnu/packages/engineering.scm (meshlab): New variable.
> >
>
> Great! I added a copyright line for you, fixed up indentation (see the
> bit in the manual for how to do that automatically), and added a
> comment—patch attached.
>
> It built for me, but then I realized I had missed something: the
> external/ sub-directory contains lots of bundled copies of external
> tools, and indeed, the ‘configure’ phase shows:
>
> --8<---------------cut here---------------start------------->8---
> -- Could NOT find Lib3ds (missing: LIB3DS_INCLUDE_DIR LIB3DS_LIBRARY)
> -- Could NOT find GMP (missing: GMP_INCLUDE_DIR GMP_LIBRARY)
> -- Could NOT find muparser (missing: MUPARSER_INCLUDE_DIR MUPARSER_LIBRARY)
> -- Could NOT find OpenCTM (missing: OPENCTM_INCLUDE_DIR OPENCTM_LIBRARY)
> -- Could NOT find Qhull (missing: QHULL_qhull_LIBRARY QHULL_qhull_INCLUDE_DIR qhull)
> -- Found OpenMP_C: -fopenmp (found version "4.5")
> -- Found OpenMP_CXX: -fopenmp (found version "4.5")
> -- Found OpenMP: TRUE (found version "4.5")
> -- - jhead - using bundled source
> -- - glew - using bundled source
> -- - Eigen - using bundled source
> -- - newuoa - using bundled source
> -- - levmar - using bundled source
> -- - lib3ds - using bundled source
> -- - muparser - using bundled source
> -- - OpenCTM - using bundled source
> -- - structure-synth - using bundled source
> -- - qhull - using bundled source
> --8<---------------cut here---------------end--------------->8---
>
> Some of these are already packaged, so it should be a matter of adding
> them to ‘inputs’. For the remaining ones, it would be extra packaging
> work to do.
>
> The goal is to address all of these, but if we can address the majority
> of these, perhaps we can commit a first version of the package with a
> FIXME stating what remains to be done, if you prefer.
>
> Thanks, and apologies for overlooking it before!
>
> Ludo’.

Hi,

No worries, I'll try to take a look to those.

We can push it with the Fixme and I'll go adding those during these days when I'm free.

Thanks!

PS: Should I push those to the same file under engineering? or should I create a new file for meshlab and add all its dependencies there too?





Information forwarded to guix-patches <at> gnu.org:
bug#40492; Package guix-patches. (Mon, 27 Apr 2020 08:04:02 GMT) Full text and rfc822 format available.

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

From: Ludovic Courtès <ludo <at> gnu.org>
To: Ekaitz Zarraga <ekaitz <at> elenq.tech>
Cc: "40492 <at> debbugs.gnu.org" <40492 <at> debbugs.gnu.org>
Subject: Re: [bug#40492] [PATCH] gnu: Add meshlab
Date: Mon, 27 Apr 2020 10:03:19 +0200
Saluton,

Ekaitz Zarraga <ekaitz <at> elenq.tech> skribis:

> PS: Should I push those to the same file under engineering? or should I create a new file for meshlab and add all its dependencies there too?

You can add the new packages in the file where it makes most sense,
which may or may not be engineering.scm.

Thanks for looking into it!

Ludo’.




Information forwarded to guix-patches <at> gnu.org:
bug#40492; Package guix-patches. (Fri, 08 May 2020 14:31:02 GMT) Full text and rfc822 format available.

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

From: Ludovic Courtès <ludo <at> gnu.org>
To: Ekaitz Zarraga <ekaitz <at> elenq.tech>
Cc: "40492 <at> debbugs.gnu.org" <40492 <at> debbugs.gnu.org>
Subject: Re: [bug#40492] [PATCH] gnu: Add meshlab
Date: Fri, 08 May 2020 16:30:16 +0200
Saluton,

Did you have a change to look into this?

Thanks,
Ludo'.

Ekaitz Zarraga <ekaitz <at> elenq.tech> skribis:

> On Sunday, April 26, 2020 10:49 PM, Ludovic Courtès <ludo <at> gnu.org> wrote:
>
>> Saluton!
>>
>> Ekaitz Zarraga ekaitz <at> elenq.tech skribis:
>>
>> > From 814e44cb90b1427a9af5d6a66392c5a39910e8fd Mon Sep 17 00:00:00 2001
>> > From: Ekaitz Zarraga ekaitz <at> elenq.tech
>> > Date: Tue, 7 Apr 2020 18:56:06 +0200
>> > Subject: [PATCH] gnu: Add meshlab.
>> >
>> >     * gnu/packages/engineering.scm (meshlab): New variable.
>> >
>>
>> Great! I added a copyright line for you, fixed up indentation (see the
>> bit in the manual for how to do that automatically), and added a
>> comment—patch attached.
>>
>> It built for me, but then I realized I had missed something: the
>> external/ sub-directory contains lots of bundled copies of external
>> tools, and indeed, the ‘configure’ phase shows:
>>
>> --8<---------------cut here---------------start------------->8---
>> -- Could NOT find Lib3ds (missing: LIB3DS_INCLUDE_DIR LIB3DS_LIBRARY)
>> -- Could NOT find GMP (missing: GMP_INCLUDE_DIR GMP_LIBRARY)
>> -- Could NOT find muparser (missing: MUPARSER_INCLUDE_DIR MUPARSER_LIBRARY)
>> -- Could NOT find OpenCTM (missing: OPENCTM_INCLUDE_DIR OPENCTM_LIBRARY)
>> -- Could NOT find Qhull (missing: QHULL_qhull_LIBRARY QHULL_qhull_INCLUDE_DIR qhull)
>> -- Found OpenMP_C: -fopenmp (found version "4.5")
>> -- Found OpenMP_CXX: -fopenmp (found version "4.5")
>> -- Found OpenMP: TRUE (found version "4.5")
>> -- - jhead - using bundled source
>> -- - glew - using bundled source
>> -- - Eigen - using bundled source
>> -- - newuoa - using bundled source
>> -- - levmar - using bundled source
>> -- - lib3ds - using bundled source
>> -- - muparser - using bundled source
>> -- - OpenCTM - using bundled source
>> -- - structure-synth - using bundled source
>> -- - qhull - using bundled source
>> --8<---------------cut here---------------end--------------->8---
>>
>> Some of these are already packaged, so it should be a matter of adding
>> them to ‘inputs’. For the remaining ones, it would be extra packaging
>> work to do.
>>
>> The goal is to address all of these, but if we can address the majority
>> of these, perhaps we can commit a first version of the package with a
>> FIXME stating what remains to be done, if you prefer.
>>
>> Thanks, and apologies for overlooking it before!
>>
>> Ludo’.
>
> Hi,
>
> No worries, I'll try to take a look to those.
>
> We can push it with the Fixme and I'll go adding those during these days when I'm free.
>
> Thanks!
>
> PS: Should I push those to the same file under engineering? or should I create a new file for meshlab and add all its dependencies there too?




Information forwarded to guix-patches <at> gnu.org:
bug#40492; Package guix-patches. (Fri, 08 May 2020 14:31:02 GMT) Full text and rfc822 format available.

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

From: Ludovic Courtès <ludo <at> gnu.org>
To: Ekaitz Zarraga <ekaitz <at> elenq.tech>
Cc: "40492 <at> debbugs.gnu.org" <40492 <at> debbugs.gnu.org>
Subject: Re: [bug#40492] [PATCH] gnu: Add meshlab
Date: Fri, 08 May 2020 16:30:20 +0200
Saluton,

Did you have a change to look into this?

Thanks,
Ludo'.

Ekaitz Zarraga <ekaitz <at> elenq.tech> skribis:

> On Sunday, April 26, 2020 10:49 PM, Ludovic Courtès <ludo <at> gnu.org> wrote:
>
>> Saluton!
>>
>> Ekaitz Zarraga ekaitz <at> elenq.tech skribis:
>>
>> > From 814e44cb90b1427a9af5d6a66392c5a39910e8fd Mon Sep 17 00:00:00 2001
>> > From: Ekaitz Zarraga ekaitz <at> elenq.tech
>> > Date: Tue, 7 Apr 2020 18:56:06 +0200
>> > Subject: [PATCH] gnu: Add meshlab.
>> >
>> >     * gnu/packages/engineering.scm (meshlab): New variable.
>> >
>>
>> Great! I added a copyright line for you, fixed up indentation (see the
>> bit in the manual for how to do that automatically), and added a
>> comment—patch attached.
>>
>> It built for me, but then I realized I had missed something: the
>> external/ sub-directory contains lots of bundled copies of external
>> tools, and indeed, the ‘configure’ phase shows:
>>
>> --8<---------------cut here---------------start------------->8---
>> -- Could NOT find Lib3ds (missing: LIB3DS_INCLUDE_DIR LIB3DS_LIBRARY)
>> -- Could NOT find GMP (missing: GMP_INCLUDE_DIR GMP_LIBRARY)
>> -- Could NOT find muparser (missing: MUPARSER_INCLUDE_DIR MUPARSER_LIBRARY)
>> -- Could NOT find OpenCTM (missing: OPENCTM_INCLUDE_DIR OPENCTM_LIBRARY)
>> -- Could NOT find Qhull (missing: QHULL_qhull_LIBRARY QHULL_qhull_INCLUDE_DIR qhull)
>> -- Found OpenMP_C: -fopenmp (found version "4.5")
>> -- Found OpenMP_CXX: -fopenmp (found version "4.5")
>> -- Found OpenMP: TRUE (found version "4.5")
>> -- - jhead - using bundled source
>> -- - glew - using bundled source
>> -- - Eigen - using bundled source
>> -- - newuoa - using bundled source
>> -- - levmar - using bundled source
>> -- - lib3ds - using bundled source
>> -- - muparser - using bundled source
>> -- - OpenCTM - using bundled source
>> -- - structure-synth - using bundled source
>> -- - qhull - using bundled source
>> --8<---------------cut here---------------end--------------->8---
>>
>> Some of these are already packaged, so it should be a matter of adding
>> them to ‘inputs’. For the remaining ones, it would be extra packaging
>> work to do.
>>
>> The goal is to address all of these, but if we can address the majority
>> of these, perhaps we can commit a first version of the package with a
>> FIXME stating what remains to be done, if you prefer.
>>
>> Thanks, and apologies for overlooking it before!
>>
>> Ludo’.
>
> Hi,
>
> No worries, I'll try to take a look to those.
>
> We can push it with the Fixme and I'll go adding those during these days when I'm free.
>
> Thanks!
>
> PS: Should I push those to the same file under engineering? or should I create a new file for meshlab and add all its dependencies there too?




Information forwarded to guix-patches <at> gnu.org:
bug#40492; Package guix-patches. (Fri, 08 May 2020 14:49:02 GMT) Full text and rfc822 format available.

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

From: Ekaitz Zarraga <ekaitz <at> elenq.tech>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: "40492\\@debbugs.gnu.org" <40492 <at> debbugs.gnu.org>
Subject: Re: [bug#40492] [PATCH] gnu: Add meshlab
Date: Fri, 08 May 2020 14:47:49 +0000
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Friday, May 8, 2020 4:30 PM, Ludovic Courtès <ludo <at> gnu.org> wrote:

> Saluton,
>
> Did you have a change to look into this?
>
> Thanks,
> Ludo'.
>

Not yet :(

I'll try to get some free time these days but I've been busy.
Is it possible to add it like it is with embedded libraries temporarily until we separate all of them?




Information forwarded to guix-patches <at> gnu.org:
bug#40492; Package guix-patches. (Sun, 10 May 2020 21:30:02 GMT) Full text and rfc822 format available.

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

From: Ekaitz Zarraga <ekaitz <at> elenq.tech>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: "40492\\@debbugs.gnu.org" <40492 <at> debbugs.gnu.org>
Subject: Re: [bug#40492] [PATCH] gnu: Add meshlab
Date: Sun, 10 May 2020 21:29:35 +0000
Hi,

> Not yet :(
>
> I'll try to get some free time these days but I've been busy.
> Is it possible to add it like it is with embedded libraries temporarily until we separate all of them?


I'm working on it. I managed to add some system provided libraries but I'm having issues with qhull and I'm trying to fix them upstream.

First step, I filed an issue in meshlab: https://github.com/cnr-isti-vclab/meshlab/issues/678

Second step will be to fix the issue.

Next I need to figure out what to do with the rest of the libraries. Should we package all of them? Some of them don't look interesting by themselves, maybe it's better to keep them bundled.

I also have a question:
Most of the libraries that are bundled in meshlab have very old versions (qhull's version is from 2003). How does Guix handle breaking changes in libraries?
If meshlab doesn't support newer libraries, what do we need to do?

I'll manage to correct qhull's issue and submit a new patch.

Thanks!




Information forwarded to guix-patches <at> gnu.org:
bug#40492; Package guix-patches. (Mon, 11 May 2020 12:45:02 GMT) Full text and rfc822 format available.

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

From: Ludovic Courtès <ludo <at> gnu.org>
To: Ekaitz Zarraga <ekaitz <at> elenq.tech>
Cc: "40492 <at> debbugs.gnu.org" <40492 <at> debbugs.gnu.org>
Subject: Re: [bug#40492] [PATCH] gnu: Add meshlab
Date: Mon, 11 May 2020 14:44:14 +0200
Egun on!

Ekaitz Zarraga <ekaitz <at> elenq.tech> skribis:

> I'm working on it. I managed to add some system provided libraries but I'm having issues with qhull and I'm trying to fix them upstream.
>
> First step, I filed an issue in meshlab: https://github.com/cnr-isti-vclab/meshlab/issues/678

Great!

> Second step will be to fix the issue.
>
> Next I need to figure out what to do with the rest of the libraries. Should we package all of them? Some of them don't look interesting by themselves, maybe it's better to keep them bundled.

Ideally, yes.  Now, if some of these libraries have no other users, we
can make an exception.

> I also have a question:
> Most of the libraries that are bundled in meshlab have very old versions (qhull's version is from 2003). How does Guix handle breaking changes in libraries?
> If meshlab doesn't support newer libraries, what do we need to do?

We could still unbundle for example qhull and, if needed, package that
older version that Meshlab need.  In parallel, we can report the issue
to the Meshlab developers so that future versions can use the current
qhull.

I realize this is quite some work, so you’re welcome to improve things
incrementally.  If you don’t manage to deal with all the bundled
libraries, then you can still send an updated patch and we’ll see where
we are and perhaps push the version you arrived at.

Thank you!

Ludo’.




Information forwarded to guix-patches <at> gnu.org:
bug#40492; Package guix-patches. (Mon, 11 May 2020 14:11:02 GMT) Full text and rfc822 format available.

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

From: Ekaitz Zarraga <ekaitz <at> elenq.tech>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: "40492\\@debbugs.gnu.org" <40492 <at> debbugs.gnu.org>
Subject: Re: [bug#40492] [PATCH] gnu: Add meshlab
Date: Mon, 11 May 2020 14:10:42 +0000
Kaixo,


On Monday, May 11, 2020 2:44 PM, Ludovic Courtès <ludo <at> gnu.org> wrote:

> Egun on!
>
> > Second step will be to fix the issue.
> > Next I need to figure out what to do with the rest of the libraries. Should we package all of them? Some of them don't look interesting by themselves, maybe it's better to keep them bundled.
>
> Ideally, yes. Now, if some of these libraries have no other users, we
> can make an exception.

Understood.
Weird stuff like openkinect is not going to be used anywhere else, right? :D

> > I also have a question:
> > Most of the libraries that are bundled in meshlab have very old versions (qhull's version is from 2003). How does Guix handle breaking changes in libraries?
> > If meshlab doesn't support newer libraries, what do we need to do?
>
> We could still unbundle for example qhull and, if needed, package that
> older version that Meshlab need. In parallel, we can report the issue
> to the Meshlab developers so that future versions can use the current
> qhull.

Ok!

> I realize this is quite some work, so you’re welcome to improve things
> incrementally. If you don’t manage to deal with all the bundled
> libraries, then you can still send an updated patch and we’ll see where
> we are and perhaps push the version you arrived at.

I attach what I currently have. It's a working package with most recent version of Meshlab (overwrites older patch) with some of the libraries unbundled. It has some extra comments about bundled libs that may be better to remove if it's released, but I'll leave that to your opinion.

I'll keep doing this because it's important for me. Meshlab is a very powerful tool and we almost have it!

ty,

Ekaitz




Information forwarded to guix-patches <at> gnu.org:
bug#40492; Package guix-patches. (Mon, 11 May 2020 14:12:01 GMT) Full text and rfc822 format available.

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

From: Ekaitz Zarraga <ekaitz <at> elenq.tech>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: "40492\\@debbugs.gnu.org" <40492 <at> debbugs.gnu.org>
Subject: Re: [bug#40492] [PATCH] gnu: Add meshlab
Date: Mon, 11 May 2020 14:11:41 +0000
[Message part 1 (text/plain, inline)]
> I attach what I currently have.

I didn't...
[0001-gnu-Add-meshlab.patch (text/x-patch, attachment)]

Information forwarded to guix-patches <at> gnu.org:
bug#40492; Package guix-patches. (Thu, 14 May 2020 08:07:01 GMT) Full text and rfc822 format available.

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

From: Ludovic Courtès <ludo <at> gnu.org>
To: Ekaitz Zarraga <ekaitz <at> elenq.tech>
Cc: "40492 <at> debbugs.gnu.org" <40492 <at> debbugs.gnu.org>
Subject: Re: [bug#40492] [PATCH] gnu: Add meshlab
Date: Thu, 14 May 2020 10:06:15 +0200
Hi,

Ekaitz Zarraga <ekaitz <at> elenq.tech> skribis:

> From d462d7446e4ecbc4244e429538b926aae43004b8 Mon Sep 17 00:00:00 2001
> From: Ekaitz Zarraga <ekaitz <at> 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’.




Information forwarded to guix-patches <at> gnu.org:
bug#40492; Package guix-patches. (Thu, 14 May 2020 08:18:02 GMT) Full text and rfc822 format available.

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

From: Ekaitz Zarraga <ekaitz <at> elenq.tech>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: "40492\\@debbugs.gnu.org" <40492 <at> debbugs.gnu.org>
Subject: Re: [bug#40492] [PATCH] gnu: Add meshlab
Date: Thu, 14 May 2020 08:17:16 +0000
Hi,

On Thursday, May 14, 2020 10:06 AM, Ludovic Courtès <ludo <at> 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.




Information forwarded to guix-patches <at> gnu.org:
bug#40492; Package guix-patches. (Fri, 15 May 2020 22:43:01 GMT) Full text and rfc822 format available.

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

From: Ekaitz Zarraga <ekaitz <at> elenq.tech>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: "40492\\@debbugs.gnu.org" <40492 <at> debbugs.gnu.org>
Subject: Re: [bug#40492] [PATCH] gnu: Add meshlab
Date: Fri, 15 May 2020 22:41:44 +0000
Hi,

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

> Hi,
>
> On Thursday, May 14, 2020 10:06 AM, Ludovic Courtès ludo <at> 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




Information forwarded to guix-patches <at> gnu.org:
bug#40492; Package guix-patches. (Thu, 21 May 2020 12:00:02 GMT) Full text and rfc822 format available.

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

From: Ekaitz Zarraga <ekaitz <at> elenq.tech>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: "40492\\@debbugs.gnu.org" <40492 <at> debbugs.gnu.org>
Subject: Re: [bug#40492] [PATCH] gnu: Add meshlab
Date: Thu, 21 May 2020 11:59:12 +0000
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




Information forwarded to guix-patches <at> gnu.org:
bug#40492; Package guix-patches. (Fri, 12 Jun 2020 16:14:01 GMT) Full text and rfc822 format available.

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

From: Ludovic Courtès <ludo <at> gnu.org>
To: Ekaitz Zarraga <ekaitz <at> elenq.tech>
Cc: "40492 <at> debbugs.gnu.org" <40492 <at> debbugs.gnu.org>
Subject: Re: [bug#40492] [PATCH] gnu: Add meshlab
Date: Fri, 12 Jun 2020 18:13:25 +0200
Hi,

Ekaitz Zarraga <ekaitz <at> 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’.




Information forwarded to guix-patches <at> gnu.org:
bug#40492; Package guix-patches. (Fri, 12 Jun 2020 16:33:02 GMT) Full text and rfc822 format available.

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

From: Ekaitz Zarraga <ekaitz <at> elenq.tech>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: "40492\\@debbugs.gnu.org" <40492 <at> debbugs.gnu.org>
Subject: Re: [bug#40492] [PATCH] gnu: Add meshlab
Date: Fri, 12 Jun 2020 16:32:28 +0000
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




Information forwarded to guix-patches <at> gnu.org:
bug#40492; Package guix-patches. (Fri, 12 Jun 2020 19:46:02 GMT) Full text and rfc822 format available.

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

From: Ludovic Courtès <ludo <at> gnu.org>
To: Ekaitz Zarraga <ekaitz <at> elenq.tech>
Cc: "40492 <at> debbugs.gnu.org" <40492 <at> debbugs.gnu.org>
Subject: Re: [bug#40492] [PATCH] gnu: Add meshlab
Date: Fri, 12 Jun 2020 21:45:29 +0200
Hi,

Ekaitz Zarraga <ekaitz <at> 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’.




Information forwarded to guix-patches <at> gnu.org:
bug#40492; Package guix-patches. (Fri, 12 Jun 2020 21:47:02 GMT) Full text and rfc822 format available.

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

From: Ekaitz Zarraga <ekaitz <at> elenq.tech>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: "40492\\@debbugs.gnu.org" <40492 <at> debbugs.gnu.org>
Subject: Re: [bug#40492] [PATCH] gnu: Add meshlab
Date: Fri, 12 Jun 2020 21:46:23 +0000
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Friday, June 12, 2020 9:45 PM, Ludovic Courtès <ludo <at> gnu.org> wrote:

> Hi,
>
> Ekaitz Zarraga ekaitz <at> 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’.

There it goes.


From 2779f50ad71b4458272aaa9223df96e3a77f60e4 Mon Sep 17 00:00:00 2001
From: Ekaitz Zarraga <ekaitz <at> elenq.tech>
Date: Fri, 12 Jun 2020 23:41:18 +0200
Subject: [PATCH] gnu: Add meshlab.

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

diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 9d9c67b861..b243974dcc 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -105,6 +105,7 @@
   #:use-module (gnu packages version-control)
   #:use-module (gnu packages wxwidgets)
   #:use-module (gnu packages xml)
+  #:use-module (gnu packages openkinect)
   #:use-module (gnu packages xorg))

 (define-public librecad
@@ -2619,3 +2620,63 @@ accessible through a simple API")
 model files.  Its main goal is to simplify the creation of 3DS import and
 export filters.")
     (license license:lgpl2.1+)))
+
+(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)
+         ("glew" ,glew)
+         ("muparser" ,muparser)
+         ("gmp" ,gmp)
+         ("eigen" ,eigen)
+         ("libfreenect" ,libfreenect)
+         ("lib3ds" ,lib3ds)
+         ("openctm" ,openctm)
+         ;; Compilation fails with system qhull
+         ;; https://github.com/cnr-isti-vclab/meshlab/issues/678
+         ;; ("qhull" ,qhull)
+         ))
+      (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 "https://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.2







Reply sent to Ludovic Courtès <ludo <at> gnu.org>:
You have taken responsibility. (Sat, 13 Jun 2020 14:59:02 GMT) Full text and rfc822 format available.

Notification sent to Ekaitz Zarraga <ekaitz <at> elenq.tech>:
bug acknowledged by developer. (Sat, 13 Jun 2020 14:59:02 GMT) Full text and rfc822 format available.

Message #76 received at 40492-done <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Ekaitz Zarraga <ekaitz <at> elenq.tech>
Cc: "40492 <at> debbugs.gnu.org" <40492-done <at> debbugs.gnu.org>
Subject: Re: [bug#40492] [PATCH] gnu: Add meshlab
Date: Sat, 13 Jun 2020 16:58:29 +0200
[Message part 1 (text/plain, inline)]
Hi,

Ekaitz Zarraga <ekaitz <at> elenq.tech> skribis:

> From 2779f50ad71b4458272aaa9223df96e3a77f60e4 Mon Sep 17 00:00:00 2001
> From: Ekaitz Zarraga <ekaitz <at> elenq.tech>
> Date: Fri, 12 Jun 2020 23:41:18 +0200
> Subject: [PATCH] gnu: Add meshlab.
>
> * gnu/packages/engineering.scm (meshlab): New variable.

Alright!  Applied with the following changes (whitespace-insensitive
diff).  I hope we can eventually fix the qhull issue, we’ll see.

Thank you!

Ludo’.

[Message part 2 (text/x-patch, inline)]
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index b243974dcc..fe3c87edd5 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -2622,20 +2622,20 @@ export filters.")
     (license license:lgpl2.1+)))
 
 (define-public meshlab
-  (let ((version "2020.05"))
   (package
     (name "meshlab")
-      (version version)
+    (version "2020.05")
     (source (origin
               (method git-fetch)
               (uri (git-reference
                     (url "https://github.com/cnr-isti-vclab/meshlab")
                     (commit (string-append "Meshlab-" version))
                     (recursive? #t)))
+              (file-name (git-file-name name version))
               (sha256
                (base32 "00sim20ka9vjwljixdj4cqd285j21mpaq05ari7nqq2w8yyglp5m"))))
     (build-system cmake-build-system)
-      (native-inputs
+    (inputs
      `(("qtbase" ,qtbase)
        ("qtscript" ,qtscript)
        ("qtxmlpatterns" ,qtxmlpatterns)
@@ -2648,20 +2648,17 @@ export filters.")
        ("libfreenect" ,libfreenect)
        ("lib3ds" ,lib3ds)
        ("openctm" ,openctm)
-         ;; Compilation fails with system qhull
+       ;; FIXME: Compilation fails with system qhull:
        ;; https://github.com/cnr-isti-vclab/meshlab/issues/678
        ;; ("qhull" ,qhull)
        ))
     (arguments
      `(#:tests? #f                                ; Has no tests
        #:phases
-         (modify-phases
-             %standard-phases
-           (add-after
-               'unpack 'go-to-source-dir
+       (modify-phases %standard-phases
+         (add-after 'unpack 'go-to-source-dir
            (lambda _ (chdir "src") #t))
-           (add-after
-               'install 'move-files
+         (add-after 'install 'move-files
            (lambda* (#:key outputs #:allow-other-keys)
              (let ((lib (string-append (assoc-ref outputs "out")
                                        "/lib")))
@@ -2679,4 +2676,4 @@ 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+))))
+    (license license:gpl3+)))

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sun, 12 Jul 2020 11:24:05 GMT) Full text and rfc822 format available.

This bug report was last modified 3 years and 287 days ago.

Previous Next


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