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
This commit is contained in:
Efraim Flashner 2024-09-10 11:47:00 +03:00
parent 387d7d718a
commit c5e4556b8b
No known key found for this signature in database
GPG key ID: 41AAE7DCCA3D8351

View file

@ -37,6 +37,7 @@ (define-module (gnu packages fpga)
#: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 @@ (define-module (gnu packages fpga)
#: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 @@ (define-public systemc
(define-public verilator
(package
(name "verilator")
(version "4.204")
(version "5.028")
(source
(origin
(method git-fetch)
@ -508,30 +511,37 @@ (define-public verilator
(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. ^^