GNU bug report logs - #73717
[PATCH] gnu: Add yosys-clang.

Previous Next

Package: guix-patches;

Reported by: Cayetano Santos <csantosb <at> inventati.org>

Date: Wed, 9 Oct 2024 07:46:02 UTC

Severity: normal

Tags: patch

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 73717 in the body.
You can then email your comments to 73717 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#73717; Package guix-patches. (Wed, 09 Oct 2024 07:46:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Cayetano Santos <csantosb <at> inventati.org>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Wed, 09 Oct 2024 07:46:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Cayetano Santos <csantosb <at> inventati.org>
To: guix-patches <at> gnu.org
Cc: Cayetano Santos <csantosb <at> inventati.org>
Subject: [PATCH] gnu: Add yosys-clang.
Date: Wed,  9 Oct 2024 09:45:02 +0200
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#73717; Package guix-patches. (Sat, 12 Oct 2024 17:56:02 GMT) Full text and rfc822 format available.

Message #8 received at 73717 <at> debbugs.gnu.org (full text, mbox):

From: Cayetano Santos <csantosb <at> inventati.org>
To: 73717 <at> debbugs.gnu.org
Cc: Cayetano Santos <csantosb <at> inventati.org>
Subject: [PATCH v1] gnu: Add yosys-clang.
Date: Sat, 12 Oct 2024 19:50:00 +0200
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#73717; Package guix-patches. (Thu, 24 Oct 2024 10:09:02 GMT) Full text and rfc822 format available.

Message #11 received at 73717 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Cayetano Santos <csantosb <at> inventati.org>
Cc: 73717 <at> debbugs.gnu.org
Subject: Re: [bug#73717] [PATCH v1] gnu: Add yosys-clang.
Date: Thu, 24 Oct 2024 12:07:44 +0200
Hi,

Cayetano Santos <csantosb <at> 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’.




Information forwarded to guix-patches <at> gnu.org:
bug#73717; Package guix-patches. (Thu, 24 Oct 2024 13:51:01 GMT) Full text and rfc822 format available.

Message #14 received at 73717 <at> debbugs.gnu.org (full text, mbox):

From: Cayetano Santos <csantosb <at> inventati.org>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 73717 <at> debbugs.gnu.org
Subject: Re: [bug#73717] [PATCH v1] gnu: Add yosys-clang.
Date: Thu, 24 Oct 2024 15:49:37 +0200
>Thu 24 Oct 2024 at 12:07, Ludovic Courtès <ludo <at> 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 !




Information forwarded to , guix-patches <at> gnu.org:
bug#73717; Package guix-patches. (Tue, 29 Oct 2024 08:57:02 GMT) Full text and rfc822 format available.

Message #17 received at 73717 <at> debbugs.gnu.org (full text, mbox):

From: Cayetano Santos <csantosb <at> inventati.org>
To: 73717 <at> debbugs.gnu.org
Cc: Cayetano Santos <csantosb <at> inventati.org>
Subject: [PATCH v1] gnu: Add yosys-clang.
Date: Tue, 29 Oct 2024 09:55:46 +0100
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#73717; Package guix-patches. (Thu, 21 Nov 2024 10:57:02 GMT) Full text and rfc822 format available.

Message #20 received at 73717 <at> debbugs.gnu.org (full text, mbox):

From: Cayetano Santos <csantosb <at> inventati.org>
To: GNU bug tracker automated control server <control <at> debbugs.gnu.org>
Cc: 73717 <at> debbugs.gnu.org
Subject: Control message for bug #73717
Date: Thu, 21 Nov 2024 11:56:37 +0100
user guix
usertag 73717 + patch-review-hackers-list
quit




Reply sent to Ludovic Courtès <ludo <at> gnu.org>:
You have taken responsibility. (Tue, 07 Jan 2025 18:06:03 GMT) Full text and rfc822 format available.

Notification sent to Cayetano Santos <csantosb <at> inventati.org>:
bug acknowledged by developer. (Tue, 07 Jan 2025 18:06:03 GMT) Full text and rfc822 format available.

Message #25 received at 73717-done <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Cayetano Santos <csantosb <at> inventati.org>
Cc: Simon Tournier <zimon.toutoune <at> gmail.com>, paren <at> disroot.org,
 73717-done <at> debbugs.gnu.org, Tobias Geerinckx-Rice <me <at> tobias.gr>,
 jgart <jgart <at> dismail.de>, Mathieu Othacehe <othacehe <at> gnu.org>,
 Christopher Baines <guix <at> cbaines.net>
Subject: Re: [bug#73717] [PATCH v1] gnu: Add yosys-clang.
Date: Tue, 07 Jan 2025 19:04:49 +0100
Cayetano Santos <csantosb <at> inventati.org> skribis:

> * gnu/packages/fpga.scm (yosys-clang): New variable.
>
> Change-Id: Iedbd418adc152c325d106830d9d33b73f01e65da

Finally applied.  Thank you, and apologies for the delay!

Ludo’.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Wed, 05 Feb 2025 12:24:08 GMT) Full text and rfc822 format available.

This bug report was last modified 135 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.