[bug#76259,0/3] Add python-triangle, python-pandamesh and update gmsh to 4.13.1.

Message ID cover.1739439090.git.lars.bilke@ufz.de
Headers
Series Add python-triangle, python-pandamesh and update gmsh to 4.13.1. |

Message

Lars Bilke Feb. 13, 2025, 9:34 a.m. UTC
  Added new package python-pandamesh which requires gmsh 4.13.1 and python-triangle.

Lars Bilke (3):
  gnu: gmsh: Update to 4.13.1.
  gnu: Add python-triangle.
  gnu: Add python-pandamesh.

 gnu/packages/geo.scm        | 35 +++++++++++++++++++++++++++++++++++
 gnu/packages/maths.scm      |  4 ++--
 gnu/packages/python-xyz.scm | 33 +++++++++++++++++++++++++++++++++
 3 files changed, 70 insertions(+), 2 deletions(-)


base-commit: bcce7f8fa8b821b76591b297f61d473c5972e397
  

Comments

Sharlatan Hellseher Feb. 13, 2025, 10:19 a.m. UTC | #1
Hi Lars,

Thank you for the patches.

I've got some simplification review comments.

--8<---------------cut here---------------start------------->8---
+    (native-inputs (list python-setuptools python-wheel python-pytest))
--8<---------------cut here---------------end--------------->8---
Please sort alphabetically.

--8<---------------cut here---------------start------------->8---
+     (list
+      #:phases #~(modify-phases %standard-phases
+                   (replace 'check
+                     (lambda* (#:key tests? #:allow-other-keys)
+                       (when tests?
+                         (invoke "pytest" "-v")))))))
--8<---------------cut here---------------end--------------->8---
This may be removed as pyproject-build-system tries to detect available
test runner e.g. pytest in your case and does all setup within build
system flow.

--8<---------------cut here---------------start------------->8---
+    (arguments
+     (list
+      #:phases #~(modify-phases %standard-phases
+                   (replace 'check
+                     (lambda* (#:key tests? #:allow-other-keys)
+                       (when tests?
+                         ;; tests requiring network disabled
+                         (invoke "pytest" "-v" "--ignore=tests/test_data.py")))))))
--8<---------------cut here---------------end--------------->8---
Likewise, you may utiize #:test-flags instead of adding custom phase.

--8<---------------cut here---------------start------------->8---
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/drufat/triangle")
+             (commit (string-append "v" version))
+             (recursive? #t)))
--8<---------------cut here---------------end--------------->8---
I guess the project contains git submodules, may you double check if may
replace them with our own?

gmsh is save to be refreshed on master:

--8<---------------cut here---------------start------------->8---
guix refresh --list-dependent gmsh
Building the following 3 packages
would ensure 4 dependent packages are rebuilt: python-pygmsh@7.1.17
openfoam-com@2212 openfoam-org@10.20230119
--8<---------------cut here---------------end--------------->8---

Waiting for v2!

--
Oleg
  
Lars Bilke Feb. 14, 2025, 9:04 a.m. UTC | #2
Dear Oleg,

thanks a lot for your helpful review!

Unfortunately, I have to retract the patches for python-triangle and python-pandamesh:

Although python-triangle is LGPL licensed, it wraps Jonathan Richard Shewchuks triangle library, which has a proprietary non-commercial license:

--8<---------------cut here---------------start------------->8---
These programs may be freely redistributed under the condition that the
copyright notices (including the copy of this notice in the code comments
and the copyright notice printed when the `-h' switch is selected) are
not removed, and no compensation is received.  Private, research, and
institutional use is free.  You may distribute modified versions of this
code UNDER THE CONDITION THAT THIS CODE AND ANY MODIFICATIONS MADE TO IT
IN THE SAME FILE REMAIN UNDER COPYRIGHT OF THE ORIGINAL AUTHOR, BOTH
SOURCE AND OBJECT CODE ARE MADE FREELY AVAILABLE WITHOUT CHARGE, AND
CLEAR NOTICE IS GIVEN OF THE MODIFICATIONS.  Distribution of this code as
part of a commercial system is permissible ONLY BY DIRECT ARRANGEMENT
WITH THE AUTHOR.  (If you are not directly supplying this code to a
customer, and you are instead telling them how they can obtain it for
free, then you are not required to make any arrangement with me.)
--8<---------------cut here---------------end--------------->8---

So I think this is not suited for Guix.

Feel free to merge the gmsh update commit and close this issue.

Sincerely,
Lars
  
Sharlatan Hellseher Feb. 14, 2025, 11:08 a.m. UTC | #3
Hi Lars,

I've pushed gmsh update after it built succefully on my machine:
--8<---------------cut here---------------start------------->8---
> ./pre-inst-env guix build  gmsh
/gnu/store/p3zgbzgv7gvzj3f2gzfv0b04g7w16dzg-gmsh-4.13.1
--8<---------------cut here---------------end--------------->8---

Pushed to master as 3a916935311568b742d734cf76be8a45737f9382.