Subject: [PATCH 02/16] gnu: Add python-pynormaliz.

From: Vinicius Monego <[email-masked]>
Date: Sun, 9 Feb 2025 01:52:19 +0000

* gnu/packages/algebra.scm (python-pynormaliz): New variable.

Change-Id: I94379cfeed2a67bb4ffbda34823e4e000f4f961e
---
 gnu/packages/algebra.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index f1d4820dcb..4e111a542a 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -1043,6 +1043,35 @@ (define-public normaliz
 algebraic extensions of QQ.")
     (license license:gpl3+)))
 
+(define-public python-pynormaliz
+  (package
+    (name "python-pynormaliz")
+    (version "2.21")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "pynormaliz" version))
+       (sha256
+        (base32 "0hsyxml71i2b9pa375ipbfpackj3y67jlg2rxgc433sfy3895wvf"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list
+      #:tests? #f ; tests need normaliz to be built with nauty support
+      #:phases #~(modify-phases %standard-phases
+                   (replace 'check
+                     (lambda* (#:key tests? #:allow-other-keys)
+                       (if tests?
+                           (invoke "python" "tests/runtests.py")))))))
+    (native-inputs (list python-setuptools python-wheel))
+    (inputs (list flint gmp normaliz))
+    (home-page "https://github.com/Normaliz/PyNormaliz")
+    (synopsis "Python interface to Normaliz")
+    (description
+     "PyNormaliz provides an interface to Normaliz via libNormaliz.  It offers
+the complete functionality of Normaliz, and can be used interactively from
+Python.")
+    (license license:gpl2+)))
+
 (define-public eigen
   (package
     (name "eigen")
-- 
2.48.1