Subject: [bug#72320] [PATCH 1/2] gnu: Add python-slycot.

From: Vinicius Monego <[email-masked]>
Date: Sat, 27 Jul 2024 12:21:52 +0000

* gnu/packages/engineering.scm (python-slycot): New variable.

Change-Id: If2fa334e2f9c73001570aa7eefd2e683313f1a54
---
 gnu/packages/engineering.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 4e465ddb7d..688465b233 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -912,6 +912,32 @@ (define-public translate2geda
 fonts to gEDA.")
       (license license:gpl2+))))
 
+(define-public python-slycot
+  (package
+    (name "python-slycot")
+    (version "0.6.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "slycot" version))
+       (sha256
+        (base32 "08rwvawrcnyal66lljn2b8l9my0lzjg1d5fvykbf0v0cmnfg3v4q"))))
+    (build-system pyproject-build-system)
+    ;; Slycot uses a custom fork of slicot and does not allow to use a system
+    ;; package.  We add gfortran, lapack and openblas to build it.
+    (native-inputs (list gfortran
+                         python-pytest
+                         python-scikit-build
+                         python-scipy   ; for tests
+                         python-setuptools-scm))
+    (inputs (list lapack openblas))
+    (propagated-inputs (list python-numpy))
+    (home-page "https://github.com/python-control/Slycot")
+    (synopsis "Wrapper for the SLICOT control and systems library")
+    (description "This package provides a Python wrapper for the SLICOT
+control and systems library.")
+    (license license:gpl2+)))
+
 (define-public libfive
   (let ((commit "b1ea998d8adb3884ab52798f7388f4354145f452")
         (revision "5"))

base-commit: 81904c16aed72bb8ea1449587418d2a218d0b103
-- 
2.39.2