~ruther/guix-local

b298b2c7adac4f7b1053b50dd2caf81b67094175 — Cayetano Santos 8 months ago 9a830d1
gnu: Add osvvm.

* gnu/packages/electronics.scm (osvvm): New variable.

Change-Id: I7e8dcae236e15bdd75d22cf04d6039fc333257b0
Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
Modified-by: Maxim Cournoyer <maxim@guixotic.coop>
1 files changed, 65 insertions(+), 0 deletions(-)

M gnu/packages/electronics.scm
M gnu/packages/electronics.scm => gnu/packages/electronics.scm +65 -0
@@ 735,6 735,71 @@ formats.")
GUI for sigrok.")
    (license license:gpl3+)))

(define-public osvvm
  (package
    (name "osvvm")
    (version "2025.06")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
              (url "https://github.com/osvvm/OsvvmLibraries/")
              (commit version)
              ;; OsvvmLibraries repository gathers all osvvm libraries as
              ;; submodules.
              (recursive? #t)))
       (file-name (git-file-name name version))
       (sha256
        (base32 "08mfh7pyrb26mp8wx3xjns79slb3yf1c78nf8y1awvxc1p8q1wq4"))))
    (outputs
     '("out" "common" "scripts" "uart" "axi4"))
    (properties
     `((output-synopsis "out" "Verification Utility Library")
       (output-synopsis "common" "Common library")
       (output-synopsis "scripts" "Simulator script library")
       (output-synopsis "uart" "UART Verification Component Library")
       (output-synopsis "axi4" "AXI4 Verification Component Library")))
    (build-system copy-build-system)
    (arguments
     (list
      #:install-plan
      #~'(("osvvm" "share/osvvm/osvvm/"
           #:include ("vhd" "pro" "md")
           #:output "out")
          ("Common" "share/osvvm/Common/"
           #:include ("vhd" "pro" "md")
           #:output "common")
          ("Scripts" "share/osvvm/Scripts/"
           #:include ("tcl" "md")
           #:output "scripts")
          ("UART" "share/osvvm/UART"
           #:include ("vhd" "pro" "md")
           #:exclude-regexp ("GHDL_Debug")
           #:output "uart")
          ("AXI4" "share/osvvm/AXI4"
           #:include ("vhd" "pro" "md")
           #:output "axi4"))
      #:phases
      #~(modify-phases %standard-phases
          (add-before 'install 'fix-scripts
            (lambda _
              ;; Default conflicts with read-only /gnu/store.
              (substitute* "osvvm/OsvvmVhdlSettings.pro"
                (("\\[FindOsvvmSettingsDirectory\\]")
                 " \"\" ")))))))
    (native-search-paths
     (list (search-path-specification
             (variable "OSVVM")
             (separator #f)
             (files (list "share/osvvm")))))
    (home-page "https://osvvm.github.io/Overview/Osvvm1About.html/")
    (synopsis "The OSVVM VHDL Verification Libraries and Scripts")
    (description "OSVVM is a verification methodology that defines a VHDL
verification framework, verification utility library, verification component
library, scripting API, and co-simulation capability for FPGA or ASIC
verification.")
    (license license:asl2.0)))

(define-public python-cocotb
  (package
    (name "python-cocotb")