From b298b2c7adac4f7b1053b50dd2caf81b67094175 Mon Sep 17 00:00:00 2001 From: Cayetano Santos Date: Sun, 31 Aug 2025 12:30:26 +0200 Subject: [PATCH] gnu: Add osvvm. * gnu/packages/electronics.scm (osvvm): New variable. Change-Id: I7e8dcae236e15bdd75d22cf04d6039fc333257b0 Signed-off-by: Maxim Cournoyer Modified-by: Maxim Cournoyer --- gnu/packages/electronics.scm | 65 ++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) diff --git a/gnu/packages/electronics.scm b/gnu/packages/electronics.scm index 54d2f69409093b1396f7b5ec8667609c6f7aee4f..612e166d9b1457e478c055560ca23f7f66c930aa 100644 --- a/gnu/packages/electronics.scm +++ b/gnu/packages/electronics.scm @@ -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")