[bug#78011,electronics-team] gnu: Add opensta.

Message ID 683e72f593c47e23a4d0afbab49940bbbea65da7.1745414060.git.csantosb@inventati.org
State New
Headers
Series [bug#78011,electronics-team] gnu: Add opensta. |

Commit Message

Cayetano Santos April 23, 2025, 1:14 p.m. UTC
  * gnu/packages/electronics.scm (opensta): New variable.

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


base-commit: 699ce22ed812cf8cfcdd8d0341829f8fac2c864a
  

Patch

diff --git a/gnu/packages/electronics.scm b/gnu/packages/electronics.scm
index 12e44f234a..1b733a5a1f 100644
--- a/gnu/packages/electronics.scm
+++ b/gnu/packages/electronics.scm
@@ -38,6 +38,7 @@  (define-module (gnu packages electronics)
   #:use-module (gnu packages algebra)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages base)
+  #:use-module (gnu packages bison)
   #:use-module (gnu packages boost)
   #:use-module (gnu packages c)
   #:use-module (gnu packages check)
@@ -45,6 +46,7 @@  (define-module (gnu packages electronics)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages documentation)
   #:use-module (gnu packages embedded)
+  #:use-module (gnu packages flex)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
@@ -53,6 +55,7 @@  (define-module (gnu packages electronics)
   #:use-module (gnu packages libftdi)
   #:use-module (gnu packages libusb)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages maths)
   #:use-module (gnu packages m4)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
@@ -65,6 +68,7 @@  (define-module (gnu packages electronics)
   #:use-module (gnu packages sqlite)
   #:use-module (gnu packages stb)
   #:use-module (gnu packages swig)
+  #:use-module (gnu packages tcl)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages toolkits)
   #:use-module (gnu packages version-control))
@@ -415,6 +419,43 @@  (define-public openboardview
 @end itemize")
     (license license:expat)))
 
+(define-public opensta
+  (let ((commit "400c473fe384773a4788ee8378238462b4291fe3")
+        (revision "0"))
+    (package
+      (name "opensta")
+      (version (git-version "2.6.2" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/parallaxsw/OpenSTA/")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "091np9jnhfzggc7f5q9kx7kfa1fxjrj7d1mnw6q4gniqbs5hwrg5"))))
+      (build-system cmake-build-system)
+      (arguments
+       (list
+        #:tests? #f ; no tests
+        #:out-of-source? #t
+        #:configure-flags
+        #~(list
+           (string-append "-DCUDD_DIR=" #$cudd)
+           (string-append "-DCMAKE_INSTALL_PREFIX=" #$output))
+        #:make-flags
+        #~(list (string-append "CC=" #$(cc-for-target))
+                (string-append "CXX=" #$(cxx-for-target))
+                (string-append "PREFIX=" #$output))))
+      (native-inputs (list swig bison flex))
+      (inputs (list tcl tcllib zlib cudd eigen))
+      (synopsis "Parallax Static Timing Analyzer")
+      (description
+       "OpenSTA is a gate level static timing verifier.  As a stand-alone executable
+it can be used to verify the timing of a design using standard file formats.")
+      (home-page "https://github.com/parallaxsw/OpenSTA/")
+      (license license:gpl3+))))
+
 (define-public pulseview
   (package
     (name "pulseview")