Subject: [bug#76600] [PATCH] gnu: Add python-edalize.

From: Cayetano Santos <[email-masked]>
Date: Wed, 26 Feb 2025 22:20:16 +0100

* gnu/packages/electronics.scm (python-edalize): New variable.

Change-Id: Ia189a34ce01f46676654bf548bdb03c97f0d8082
---
 gnu/packages/electronics.scm | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/gnu/packages/electronics.scm b/gnu/packages/electronics.scm
index df0238c348..c65370e877 100644
--- a/gnu/packages/electronics.scm
+++ b/gnu/packages/electronics.scm
@@ -31,6 +31,7 @@ (define-module (gnu packages electronics)
   #:use-module (guix utils)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system cmake)
+  #:use-module (guix build-system pyproject)
   #:use-module (gnu packages)
   #:use-module (gnu packages algebra)
   #:use-module (gnu packages autotools)
@@ -52,6 +53,8 @@ (define-module (gnu packages electronics)
   #:use-module (gnu packages m4)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
+  #:use-module (gnu packages python-xyz)
+  #:use-module (gnu packages python-build)
   #:use-module (gnu packages qt)
   #:use-module (gnu packages sdl)
   #:use-module (gnu packages sqlite)
@@ -522,3 +525,36 @@ (define-public minipro
 Additionally your user must be member of the @code{plugdev} group.")
       (home-page "https://gitlab.com/DavidGriffith/minipro")
       (license license:gpl3+))))
+
+(define-public python-edalize
+  (package
+    (name "python-edalize")
+    (version "0.6.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/olofk/edalize/")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1gfysk6wj3mxndyzma604i3y2lkfn1im0bdmzxv5rn4x2nyk68sc"))))
+    (build-system pyproject-build-system)
+    (arguments
+     `(#:phases (modify-phases %standard-phases
+                  (replace 'check
+                    (lambda* (#:key tests? inputs outputs #:allow-other-keys)
+                      (when tests?
+                        ;; Skip erroneous tests
+                        (invoke "pytest" "tests" "-vv" "-k"
+                                (string-append "not test_gatemate "
+                                 "and not test_vivado_edif_netlist "
+                                 "and not test_xcelium " "and not test_vcs"))))))))
+    (native-inputs (list python-setuptools python-wheel python-jinja2
+                         python-pytest))
+    (home-page "https:/test_vivado_edif_netlist/github.com/olofk/edalize/")
+    (synopsis "Python Library for interacting with EDA tools")
+    (description
+     "Edalize can create project files for supported tools and run them in
+batch or GUI mode.")
+    (license license:bsd-2)))

base-commit: 54ff5d33739ae95c19f4ed5bea38d2613f6f7d3c
-- 
2.48.1