me
/
guix
Archived
1
0
Fork 0

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>
master
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
1 changed files with 19 additions and 28 deletions

View File

@ -137,16 +137,15 @@ For synthesis, the compiler generates netlists in the desired format.")
(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 @@ For synthesis, the compiler generates netlists in the desired format.")
(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 @@ For synthesis, the compiler generates netlists in the desired format.")
(("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 @@ For synthesis, the compiler generates netlists in the desired format.")
;; 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 @@ For synthesis, the compiler generates netlists in the desired format.")
(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.")