* [bug#73717] [PATCH] gnu: Add yosys-clang.
@ 2024-10-09 7:45 Cayetano Santos via Guix-patches via
2024-10-12 17:50 ` [bug#73717] [PATCH v1] " Cayetano Santos via Guix-patches via
2024-10-29 8:55 ` Cayetano Santos via Guix-patches via
0 siblings, 2 replies; 6+ messages in thread
From: Cayetano Santos via Guix-patches via @ 2024-10-09 7:45 UTC (permalink / raw)
To: 73717; +Cc: Cayetano Santos
* gnu/packages/fpga.scm (yosys-clang): New variable.
Change-Id: Iedbd418adc152c325d106830d9d33b73f01e65da
---
gnu/packages/fpga.scm | 54 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 54 insertions(+)
diff --git a/gnu/packages/fpga.scm b/gnu/packages/fpga.scm
index 68f36d501f..5204e041f9 100644
--- a/gnu/packages/fpga.scm
+++ b/gnu/packages/fpga.scm
@@ -224,6 +224,60 @@ (define-public yosys
(description "Yosys synthesizes Verilog-2005.")
(license license:isc)))
+(define-public yosys-clang
+ (package
+ (inherit yosys)
+ (name "yosys-clang")
+ (arguments
+ (list
+ #:test-target "test"
+ #:make-flags #~(list "CC=clang"
+ "CXX=clang++"
+ (string-append "PREFIX=" #$output))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'configure 'fix-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "./backends/smt2/smtio.py"
+ (("\\['z3")
+ (string-append "['" (search-input-file inputs "/bin/z3"))))
+ (substitute* "./kernel/fstdata.cc"
+ (("vcd2fst")
+ (search-input-file inputs "/bin/vcd2fst")))
+ (substitute* '("./passes/cmds/show.cc"
+ "./passes/cmds/viz.cc")
+ (("exec xdot")
+ (string-append "exec " (search-input-file inputs
+ "/bin/xdot")))
+ (("dot -")
+ (string-append (search-input-file inputs "/bin/dot") " -"))
+ (("fuser")
+ (search-input-file inputs "/bin/fuser")))))
+ (replace 'configure
+ (lambda* (#:key make-flags #:allow-other-keys)
+ (apply invoke "make" "config-clang" make-flags)))
+ (add-after 'configure 'use-external-abc
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* '("./Makefile")
+ (("ABCEXTERNAL \\?=")
+ (string-append "ABCEXTERNAL = "
+ (search-input-file inputs "/bin/abc"))))))
+ (add-after 'install 'add-symbolic-link
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Previously this package provided a copy of the "abc"
+ ;; executable in its output, named "yosys-abc". Create a
+ ;; symbolic link so any external uses of that name continue to
+ ;; work.
+ (symlink (search-input-file inputs "/bin/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")))))))))
+ (inputs
+ (modify-inputs (package-inputs yosys)
+ (append clang)))))
+
(define-public icestorm
(let ((commit "2bc541743ada3542c6da36a50e66303b9cbd2059")
(revision "4"))
base-commit: d44beb9b4ad836781928a0c5667e94c0d6df13f0
--
2.46.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [bug#73717] [PATCH v1] gnu: Add yosys-clang.
2024-10-09 7:45 [bug#73717] [PATCH] gnu: Add yosys-clang Cayetano Santos via Guix-patches via
@ 2024-10-12 17:50 ` Cayetano Santos via Guix-patches via
2024-10-24 10:07 ` Ludovic Courtès
2024-10-29 8:55 ` Cayetano Santos via Guix-patches via
1 sibling, 1 reply; 6+ messages in thread
From: Cayetano Santos via Guix-patches via @ 2024-10-12 17:50 UTC (permalink / raw)
To: 73717; +Cc: Cayetano Santos
* gnu/packages/fpga.scm (yosys-clang): New variable.
Change-Id: Iedbd418adc152c325d106830d9d33b73f01e65da
---
gnu/packages/fpga.scm | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/gnu/packages/fpga.scm b/gnu/packages/fpga.scm
index 68f36d501f..042831c024 100644
--- a/gnu/packages/fpga.scm
+++ b/gnu/packages/fpga.scm
@@ -224,6 +224,25 @@ (define-public yosys
(description "Yosys synthesizes Verilog-2005.")
(license license:isc)))
+(define-public yosys-clang
+ (package
+ (inherit yosys)
+ (name "yosys-clang")
+ (arguments
+ (substitute-keyword-arguments (package-arguments yosys)
+ ((#:make-flags _ #f)
+ #~(list "CC=clang"
+ "CXX=clang++"
+ (string-append "PREFIX=" #$output)))
+ ((#:phases phases)
+ #~(modify-phases #$phases
+ (replace 'configure
+ (lambda* (#:key make-flags #:allow-other-keys)
+ (apply invoke "make" "config-clang" make-flags)))))))
+ (inputs
+ (modify-inputs (package-inputs yosys)
+ (append clang)))))
+
(define-public icestorm
(let ((commit "2bc541743ada3542c6da36a50e66303b9cbd2059")
(revision "4"))
--
2.46.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [bug#73717] [PATCH v1] gnu: Add yosys-clang.
2024-10-12 17:50 ` [bug#73717] [PATCH v1] " Cayetano Santos via Guix-patches via
@ 2024-10-24 10:07 ` Ludovic Courtès
2024-10-24 13:49 ` Cayetano Santos via Guix-patches via
0 siblings, 1 reply; 6+ messages in thread
From: Ludovic Courtès @ 2024-10-24 10:07 UTC (permalink / raw)
To: Cayetano Santos; +Cc: 73717
Hi,
Cayetano Santos <csantosb@inventati.org> skribis:
> * gnu/packages/fpga.scm (yosys-clang): New variable.
>
> Change-Id: Iedbd418adc152c325d106830d9d33b73f01e65da
[...]
> +(define-public yosys-clang
> + (package
> + (inherit yosys)
> + (name "yosys-clang")
Out of curiosity, why is it necessary to have a Clang-built variant of
yosys? Does that change is feature set?
> + (inputs
Could you add a synopsis, like:
(synopsis "FPGA Verilog RTL synthesizer (Clang variant)")
?
Thanks,
Ludo’.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [bug#73717] [PATCH v1] gnu: Add yosys-clang.
2024-10-24 10:07 ` Ludovic Courtès
@ 2024-10-24 13:49 ` Cayetano Santos via Guix-patches via
0 siblings, 0 replies; 6+ messages in thread
From: Cayetano Santos via Guix-patches via @ 2024-10-24 13:49 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: 73717
>Thu 24 Oct 2024 at 12:07, Ludovic Courtès <ludo@gnu.org> wrote:
> Out of curiosity, why is it necessary to have a Clang-built variant of
> yosys? Does that change is feature set?
Performance, cababilities and (usually) different outcomes.
I’m interested on the yosys + ghdl-plugin for synthesis of vhdl code
(not verilog, default in yosys). All these tools come with several
technologies as backends, in order to compare performance, results,
features (code coverage comes to my mind right now), etc.
> Could you add a synopsis, like:
>
> (synopsis "FPGA Verilog RTL synthesizer (Clang variant)")
Sure !
^ permalink raw reply [flat|nested] 6+ messages in thread
* [bug#73717] [PATCH v1] gnu: Add yosys-clang.
2024-10-09 7:45 [bug#73717] [PATCH] gnu: Add yosys-clang Cayetano Santos via Guix-patches via
2024-10-12 17:50 ` [bug#73717] [PATCH v1] " Cayetano Santos via Guix-patches via
@ 2024-10-29 8:55 ` Cayetano Santos via Guix-patches via
2024-11-21 10:56 ` [bug#73717] Control message for bug #73717 Cayetano Santos via Guix-patches via
1 sibling, 1 reply; 6+ messages in thread
From: Cayetano Santos via Guix-patches via @ 2024-10-29 8:55 UTC (permalink / raw)
To: 73717; +Cc: Cayetano Santos
* gnu/packages/fpga.scm (yosys-clang): New variable.
Change-Id: Iedbd418adc152c325d106830d9d33b73f01e65da
---
gnu/packages/fpga.scm | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/gnu/packages/fpga.scm b/gnu/packages/fpga.scm
index 68f36d501f..5ede463dde 100644
--- a/gnu/packages/fpga.scm
+++ b/gnu/packages/fpga.scm
@@ -224,6 +224,26 @@ (define-public yosys
(description "Yosys synthesizes Verilog-2005.")
(license license:isc)))
+(define-public yosys-clang
+ (package
+ (inherit yosys)
+ (name "yosys-clang")
+ (arguments
+ (substitute-keyword-arguments (package-arguments yosys)
+ ((#:make-flags _ #f)
+ #~(list "CC=clang"
+ "CXX=clang++"
+ (string-append "PREFIX=" #$output)))
+ ((#:phases phases)
+ #~(modify-phases #$phases
+ (replace 'configure
+ (lambda* (#:key make-flags #:allow-other-keys)
+ (apply invoke "make" "config-clang" make-flags)))))))
+ (inputs
+ (modify-inputs (package-inputs yosys)
+ (append clang)))
+ (synopsis "FPGA Verilog RTL synthesizer (Clang variant)")))
+
(define-public icestorm
(let ((commit "2bc541743ada3542c6da36a50e66303b9cbd2059")
(revision "4"))
base-commit: d44beb9b4ad836781928a0c5667e94c0d6df13f0
--
2.46.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [bug#73717] Control message for bug #73717
2024-10-29 8:55 ` Cayetano Santos via Guix-patches via
@ 2024-11-21 10:56 ` Cayetano Santos via Guix-patches via
0 siblings, 0 replies; 6+ messages in thread
From: Cayetano Santos via Guix-patches via @ 2024-11-21 10:56 UTC (permalink / raw)
To: GNU bug tracker automated control server; +Cc: 73717
user guix
usertag 73717 + patch-review-hackers-list
quit
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2024-11-21 10:57 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-09 7:45 [bug#73717] [PATCH] gnu: Add yosys-clang Cayetano Santos via Guix-patches via
2024-10-12 17:50 ` [bug#73717] [PATCH v1] " Cayetano Santos via Guix-patches via
2024-10-24 10:07 ` Ludovic Courtès
2024-10-24 13:49 ` Cayetano Santos via Guix-patches via
2024-10-29 8:55 ` Cayetano Santos via Guix-patches via
2024-11-21 10:56 ` [bug#73717] Control message for bug #73717 Cayetano Santos via Guix-patches via
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).