summary refs log tree commit diff
path: root/gnu/packages/fpga.scm
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2024-09-10 11:47:00 +0300
committerEfraim Flashner <efraim@flashner.co.il>2024-09-10 11:47:00 +0300
commitc5e4556b8b94cd86029af5855b3e410333aefa28 (patch)
tree33263932662dc183f71e6955db0895830af05cf0 /gnu/packages/fpga.scm
parent387d7d718ab1191f357f586ef9b186873f32db77 (diff)
downloadguix-c5e4556b8b94cd86029af5855b3e410333aefa28.tar.gz
gnu: verilator: Update to 5.028.
* gnu/packages/fpga.scm (verilator): Update to 5.028.
[native-inputs]: Add cmake-minimal, gdb/pinned, which.
[inputs]: Add help2man, python.
[arguments]: Remove configure-flags and make-flags.  Add a phase to
remove hardcoded location of binaries.  Add a phase to help the test
suite run.

Change-Id: I6a07622f8de8067fa767c0118c8f114cf09c3b0d
Diffstat (limited to 'gnu/packages/fpga.scm')
-rw-r--r--gnu/packages/fpga.scm38
1 files changed, 24 insertions, 14 deletions
diff --git a/gnu/packages/fpga.scm b/gnu/packages/fpga.scm
index 070caf284c..4970606fcc 100644
--- a/gnu/packages/fpga.scm
+++ b/gnu/packages/fpga.scm
@@ -37,6 +37,7 @@
   #:use-module (gnu packages)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages base)
+  #:use-module (gnu packages cmake)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages elf)
   #:use-module (gnu packages pkg-config)
@@ -47,12 +48,14 @@
   #:use-module (gnu packages bison)
   #:use-module (gnu packages check)
   #:use-module (gnu packages flex)
+  #:use-module (gnu packages gdb)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages graphviz)
   #:use-module (gnu packages libffi)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages llvm)
+  #:use-module (gnu packages man)
   #:use-module (gnu packages maths)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages ghostscript)
@@ -499,7 +502,7 @@ using different abstraction levels.")
 (define-public verilator
   (package
     (name "verilator")
-    (version "4.204")
+    (version "5.028")
     (source
      (origin
        (method git-fetch)
@@ -508,30 +511,37 @@ using different abstraction levels.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0cji5c8870h895l2vxnz8g6z7msv23dzbjaf98va7kva0qlfy2fz"))))
+        (base32 "1q9facgfdwwmf2ax65aznhqmk8qfisq9k5p8wrxrw6qqy38vl0k2"))))
     (native-inputs
      `(("autoconf" ,autoconf)
        ("automake" ,automake)
        ("bison" ,bison)
        ("flex" ,flex)
        ("gettext" ,gettext-minimal)
-       ("python" ,python)))
+       ("python" ,python)
+       ;; And a couple of extras for the test suite:
+       ("cmake" ,cmake-minimal)
+       ("gdb" ,gdb/pinned)
+       ("which" ,which)))
     (inputs
-     (list perl systemc))
+     (list help2man perl python systemc))
     (build-system gnu-build-system)
     (arguments
-     '(#:configure-flags
-       (list (string-append "LDFLAGS=-L"
-                            (assoc-ref %build-inputs "systemc")
-                            "/lib-linux64"))
-       #:make-flags
-       (list (string-append "LDFLAGS=-L"
-                            (assoc-ref %build-inputs "systemc")
-                            "/lib-linux64"))
-       #:phases
+     '(#:phases
        (modify-phases %standard-phases
          (replace 'bootstrap
-           (lambda _ (invoke "autoconf"))))
+           (lambda _ (invoke "autoconf")))
+         (add-after 'unpack 'adjust-source
+           (lambda _
+             (substitute* "bin/verilator"
+               (("/bin/echo") "echo"))))
+         (add-before 'check 'disable-gdb-safe-path
+           (lambda _
+             (setenv "HOME" (getcwd))
+             (mkdir-p (string-append (getcwd) "/.config/gdb"))
+             (with-output-to-file (string-append (getcwd) "/.config/gdb/gdbinit")
+               (lambda ()
+                 (display "set auto-load safe-path /"))))))
        #:test-target "test"))
     ;; #error "Something failed during ./configure as config_build.h is incomplete.
     ;; Perhaps you used autoreconf, don't." -- so we won't. ^^