gnu: yosys: Update to 0.26.

* gnu/packages/fpga.scm (yosys): Update to 0.26.
[source]: Disable unnecessary recursive checkout.
[arguments]<#:phases>: Expand "fix-paths" phase to match new version; remove
obsolete "fix-iverilog-references" phase; add wrap phase.
[inputs]: Add gtkwave, zlib, python, python-click.

Signed-off-by: Christopher Baines <mail@cbaines.net>
This commit is contained in:
Simon South 2023-02-10 08:16:55 -05:00 committed by Christopher Baines
parent ade3bfd036
commit 8553148dfb
No known key found for this signature in database
GPG key ID: 5E28A33B0B84F577

View file

@ -137,16 +137,15 @@ (define-public iverilog
(define-public yosys (define-public yosys
(package (package
(name "yosys") (name "yosys")
(version "0.9") (version "0.26")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://github.com/YosysHQ/yosys") (url "https://github.com/YosysHQ/yosys")
(commit (string-append "yosys-" version)) (commit (string-append "yosys-" version))))
(recursive? #t))) ; for the iverilog submodule
(sha256 (sha256
(base32 (base32
"0lb9r055h8y1vj2z8gm4ip0v06j5mk7f9zx9gi67kkqb7g4rhjli")) "0s79ljgbcfkm7l9km7dcvlz4mnx38nbyxppscvh5il5lw07n45gx"))
(file-name (git-file-name name version)))) (file-name (git-file-name name version))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
@ -162,7 +161,11 @@ (define-public yosys
(substitute* "./backends/smt2/smtio.py" (substitute* "./backends/smt2/smtio.py"
(("\\['z3") (("\\['z3")
(string-append "['" (search-input-file inputs "/bin/z3")))) (string-append "['" (search-input-file inputs "/bin/z3"))))
(substitute* "./passes/cmds/show.cc" (substitute* "./kernel/fstdata.cc"
(("vcd2fst")
(search-input-file inputs "/bin/vcd2fst")))
(substitute* '("./passes/cmds/show.cc"
"./passes/cmds/viz.cc")
(("exec xdot") (("exec xdot")
(string-append "exec " (search-input-file inputs (string-append "exec " (search-input-file inputs
"/bin/xdot"))) "/bin/xdot")))
@ -179,26 +182,6 @@ (define-public yosys
(("ABCEXTERNAL \\?=") (("ABCEXTERNAL \\?=")
(string-append "ABCEXTERNAL = " (string-append "ABCEXTERNAL = "
(search-input-file inputs "/bin/abc")))))) (search-input-file inputs "/bin/abc"))))))
(add-before 'check 'fix-iverilog-references
(lambda* (#:key inputs native-inputs #:allow-other-keys)
(let ((iverilog (search-input-file (or native-inputs inputs)
"/bin/iverilog")))
(substitute* '("./manual/CHAPTER_StateOfTheArt/synth.sh"
"./manual/CHAPTER_StateOfTheArt/validate_tb.sh"
"./techlibs/ice40/tests/test_bram.sh"
"./techlibs/ice40/tests/test_ffs.sh"
"./techlibs/xilinx/tests/bram1.sh"
"./techlibs/xilinx/tests/bram2.sh"
"./tests/bram/run-single.sh"
"./tests/realmath/run-test.sh"
"./tests/simple/run-test.sh"
"./tests/techmap/mem_simple_4x1_runtest.sh"
"./tests/tools/autotest.sh"
"./tests/vloghtb/common.sh")
(("if ! which iverilog") "if ! true")
(("iverilog ") (string-append iverilog " "))
(("iverilog_bin=\".*\"") (string-append "iverilog_bin=\""
iverilog "\""))))))
(add-after 'install 'add-symbolic-link (add-after 'install 'add-symbolic-link
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
;; Previously this package provided a copy of the "abc" ;; Previously this package provided a copy of the "abc"
@ -206,7 +189,11 @@ (define-public yosys
;; symbolic link so any external uses of that name continue to ;; symbolic link so any external uses of that name continue to
;; work. ;; work.
(symlink (search-input-file inputs "/bin/abc") (symlink (search-input-file inputs "/bin/abc")
(string-append #$output "/bin/yosys-abc"))))))) (string-append #$output "/bin/yosys-abc"))))
(add-after 'install 'wrap
(lambda* (#:key inputs #:allow-other-keys)
(wrap-program (string-append #$output "/bin/yosys-witness")
`("GUIX_PYTHONPATH" ":" prefix (,(getenv "GUIX_PYTHONPATH")))))))))
(native-inputs (native-inputs
(list bison (list bison
flex flex
@ -218,12 +205,16 @@ (define-public yosys
(inputs (inputs
(list abc (list abc
graphviz graphviz
gtkwave
libffi libffi
psmisc psmisc
readline readline
tcl tcl
xdot xdot
z3)) z3
zlib
python
python-click))
(home-page "https://yosyshq.net/yosys/") (home-page "https://yosyshq.net/yosys/")
(synopsis "FPGA Verilog RTL synthesizer") (synopsis "FPGA Verilog RTL synthesizer")
(description "Yosys synthesizes Verilog-2005.") (description "Yosys synthesizes Verilog-2005.")