GNU bug report logs - #68153
[PATCH] gnu: Add python-cocotb.

Previous Next

Package: guix-patches;

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

Date: Sat, 30 Dec 2023 18:45:02 UTC

Severity: normal

Tags: patch

Done: Cayetano Santos <csantosb <at> inventati.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 68153 in the body.
You can then email your comments to 68153 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#68153; Package guix-patches. (Sat, 30 Dec 2023 18:45: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. (Sat, 30 Dec 2023 18:45: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 python-cocotb.
Date: Sat, 30 Dec 2023 19:44:10 +0100
* gnu/packages/fpga.scm (python-cocotb): New variable.

Signed-off-by: Cayetano Santos <csantosb <at> inventati.org>
---
 gnu/packages/fpga.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/fpga.scm b/gnu/packages/fpga.scm
index 13ac1a0b57..74eff01a7a 100644
--- a/gnu/packages/fpga.scm
+++ b/gnu/packages/fpga.scm
@@ -422,6 +422,33 @@ (define-public python-myhdl
 a hardware description and verification language.")
     (license license:lgpl2.1+)))
 
+(define-public python-cocotb
+  (package
+    (name "python-cocotb")
+    (version "1.8.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/cocotb/cocotb")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "07h8c3cjn4hhywvakcyk3chia102iszn6kjm53vl5f16rwy9xd07"))))
+    (build-system python-build-system)
+    (propagated-inputs (list python-find_libpython))
+    (arguments
+     `(#:tests? #f			; no test suite
+       ))
+    (home-page "https://github.com/cocotb/cocotb")
+    (synopsis
+     "Library for writing HDL testbenches in Python")
+    (description
+     "Coroutine based cosimulation testbench environment for
+verifying VHDL and Verilog RTL using Python.")
+    (license license:bsd-3)))
+
 (define-public nvc
   (package
     (name "nvc")

base-commit: 7722da6fa5422c4fec69d6c8b9536c7d6fc3d326
-- 
2.41.0





Information forwarded to guix-patches <at> gnu.org:
bug#68153; Package guix-patches. (Sun, 31 Dec 2023 11:29:02 GMT) Full text and rfc822 format available.

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

From: Troy Figiel <troy <at> troyfigiel.com>
To: 68153 <at> debbugs.gnu.org
Subject: python-find-libpython
Date: Sun, 31 Dec 2023 12:27:48 +0100
[Message part 1 (text/plain, inline)]
I would love to see cocotb included in Guix. Your patch does not build
for me though, because find-libpython is missing. I took the liberty to
add it. After replacing `python-find_libpython' by
`python-find-libpython' and including my patch, your patch does
successfully build for me.

That being said, it seems cocotb actually has a very extensive set of
tests. If possible, it would be nice if these can be included as well.

Best wishes,

Troy
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#68153; Package guix-patches. (Sun, 31 Dec 2023 11:30:03 GMT) Full text and rfc822 format available.

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

From: Troy Figiel <troy <at> troyfigiel.com>
To: 68153 <at> debbugs.gnu.org
Subject: [PATCH] gnu: Add python-find-libpython.
Date: Sun, 31 Dec 2023 12:14:07 +0100
* gnu/packages/python-xyz.scm (python-find-libpython): New variable.
---
 gnu/packages/python-xyz.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 2afce6c667..c4bbe14a7c 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -9159,6 +9159,30 @@ (define-public python-executor
 particularly the AST node being executed.")
     (license license:expat))) ; MIT license
 
+(define-public python-find-libpython
+  (package
+    (name "python-find-libpython")
+    (version "0.3.1")
+    (source
+     (origin
+       ;; Only available as a binary release on PyPI.
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/ktbarrett/find_libpython")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "1d7y9srf5j8g34azf0j1jnnrn5al55cnzb4kkx2l1q8hys0l040c"))))
+    (build-system pyproject-build-system)
+    (native-inputs (list python-pytest))
+    (home-page "https://github.com/ktbarrett/find_libpython")
+    (synopsis "Find the path to the @code{libpython} dynamic library")
+    (description "@code{find_libpython} helps find the path to the
+@code{libpython} dynamic library for the current Python environment.  It is
+both a script and a Python package.")
+    (license license:expat))) ; MIT license
+
 (define-public python-roifile
   (package
     (name "python-roifile")

base-commit: 2a242e86379ebddbdddf2927f26e5e27a98fc605
-- 
2.40.1





Information forwarded to guix-patches <at> gnu.org:
bug#68153; Package guix-patches. (Tue, 19 Nov 2024 10:52:02 GMT) Full text and rfc822 format available.

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

From: Cayetano Santos <csantosb <at> inventati.org>
To: troy <at> troyfigiel.com
Cc: 68153 <at> debbugs.gnu.org
Subject: Re: [bug#68153] python-find-libpython
Date: Tue, 19 Nov 2024 11:51:05 +0100
Thanks.

There is already a patch for python-find-libpython (0.4.0)
waiting since a long time ago (#70067) anyway.

I rather decided to opt for my own channel, where I include these, as a
better option to waiting for patches to be considered upstream.

gitlab.com/csantosb/guix/channel-electronics

--
Cayetano Santos




Information forwarded to guix-patches <at> gnu.org:
bug#68153; Package guix-patches. (Thu, 27 Feb 2025 09:34:01 GMT) Full text and rfc822 format available.

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

From: Cayetano Santos <csantosb <at> inventati.org>
To: troy <at> troyfigiel.com
Cc: 68153 <at> debbugs.gnu.org
Subject: Re: [bug#68153] python-find-libpython
Date: Thu, 27 Feb 2025 10:32:55 +0100
[Message part 1 (text/plain, inline)]
I proceed to sending a v1 patch, corresponding to 1.9.2, with tests active.

The electronics channel with cocotb is to be found at:

    https://git.sr.ht/~csantosb/guix.channel-electronics
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#68153; Package guix-patches. (Thu, 27 Feb 2025 09:45:01 GMT) Full text and rfc822 format available.

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

From: Cayetano Santos <csantosb <at> inventati.org>
To: 68153 <at> debbugs.gnu.org
Cc: Cayetano Santos <csantosb <at> inventati.org>
Subject: [PATCH v1] gnu: Add python-cocotb.
Date: Thu, 27 Feb 2025 10:43:28 +0100
* gnu/packages/electronics.scm (python-cocotb): New variable.

Change-Id: Ibb4190a016ac9a5045356b5f1a1eb7a8c820d9a5
---
 gnu/packages/electronics.scm | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/gnu/packages/electronics.scm b/gnu/packages/electronics.scm
index df0238c348..d013012dae 100644
--- a/gnu/packages/electronics.scm
+++ b/gnu/packages/electronics.scm
@@ -6,6 +6,7 @@
 ;;; Copyright © 2021 Leo Famulari <leo <at> famulari.name>
 ;;; Copyright © 2022, 2023 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
 ;;; Copyright © 2024 Juliana Sims <juli <at> incana.org>
+;;; Copyright © 2025, Cayetano Santos <csantosb <at> inventati.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -31,6 +32,7 @@ (define-module (gnu packages electronics)
   #:use-module (guix utils)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system cmake)
+  #:use-module (guix build-system pyproject)
   #:use-module (gnu packages)
   #:use-module (gnu packages algebra)
   #:use-module (gnu packages autotools)
@@ -42,6 +44,7 @@ (define-module (gnu packages electronics)
   #:use-module (gnu packages documentation)
   #:use-module (gnu packages embedded)
   #:use-module (gnu packages fontutils)
+  #:use-module (gnu packages fpga)
   #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages graphviz)
@@ -522,3 +525,34 @@ (define-public minipro
 Additionally your user must be member of the @code{plugdev} group.")
       (home-page "https://gitlab.com/DavidGriffith/minipro")
       (license license:gpl3+))))
+
+(define-public python-cocotb
+  (package
+    (name "python-cocotb")
+    (version "1.9.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/cocotb/cocotb")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "19mybnhqa2jz134jj8686310fniav5nldiq0y7kbgml81ppai87c"))))
+    (build-system pyproject-build-system)
+    (arguments
+     `(#:phases (modify-phases %standard-phases
+                  (replace 'check
+                    (lambda* (#:key tests? inputs outputs #:allow-other-keys)
+                      (when tests?
+                        (invoke "make" "-C" "tests")))))))
+    (native-inputs (list python-setuptools python-wheel
+                         ;; tests
+                         python-pytest))
+    (propagated-inputs (list python-find-libpython))
+    (inputs (list iverilog)) ;tests
+    (home-page "https://github.com/cocotb/cocotb")
+    (synopsis "Library for writing HDL testbenches in Python")
+    (description "Coroutine based cosimulation testbench environment for
+verifying VHDL and Verilog RTL using Python.")
+    (license license:bsd-3)))

base-commit: 4270c484ca174ad97d1add91fa5fc69041a6af9d
--
2.48.1





Reply sent to Cayetano Santos <csantosb <at> inventati.org>:
You have taken responsibility. (Fri, 28 Feb 2025 15:49:02 GMT) Full text and rfc822 format available.

Notification sent to Cayetano Santos <csantosb <at> inventati.org>:
bug acknowledged by developer. (Fri, 28 Feb 2025 15:49:02 GMT) Full text and rfc822 format available.

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

From: Cayetano Santos <csantosb <at> inventati.org>
To: 68153-done <at> debbugs.gnu.org
Subject: Re: [bug#68153] [PATCH v1] gnu: Add python-cocotb.
Date: Fri, 28 Feb 2025 16:48:22 +0100
[Message part 1 (text/plain, inline)]
Rather send this to guix science, as the testing strongly depends on
ghdl-clang, which belongs there.

    https://codeberg.org/guix-science/guix-science/pulls/85
[signature.asc (application/pgp-signature, inline)]

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sat, 29 Mar 2025 11:24:34 GMT) Full text and rfc822 format available.

This bug report was last modified 104 days ago.

Previous Next


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