From unknown Mon Jun 23 07:51:15 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#78063] [PATCH electronics-team] gnu: Add prjtrellis. Resent-From: Cayetano Santos Original-Sender: "Debbugs-submit" Resent-CC: csantosb@inventati.org, ekaitz@elenq.tech, maxim.cournoyer@gmail.com, guix-patches@gnu.org Resent-Date: Fri, 25 Apr 2025 18:25:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 78063 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 78063@debbugs.gnu.org Cc: Cayetano Santos , Cayetano Santos , Ekaitz Zarraga , Maxim Cournoyer X-Debbugs-Original-To: guix-patches@gnu.org X-Debbugs-Original-Xcc: Cayetano Santos , Ekaitz Zarraga , Maxim Cournoyer Received: via spool by submit@debbugs.gnu.org id=B.174560544319602 (code B ref -1); Fri, 25 Apr 2025 18:25:02 +0000 Received: (at submit) by debbugs.gnu.org; 25 Apr 2025 18:24:03 +0000 Received: from localhost ([127.0.0.1]:52784 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u8NiU-000565-JF for submit@debbugs.gnu.org; Fri, 25 Apr 2025 14:24:02 -0400 Received: from lists.gnu.org ([2001:470:142::17]:43852) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1u8NiQ-00055T-AE for submit@debbugs.gnu.org; Fri, 25 Apr 2025 14:23:58 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u8NiH-0007RO-BR for guix-patches@gnu.org; Fri, 25 Apr 2025 14:23:50 -0400 Received: from confino.investici.org ([2a11:7980:1::2:0]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u8NiE-0003sG-Ux for guix-patches@gnu.org; Fri, 25 Apr 2025 14:23:49 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=inventati.org; s=stigmate; t=1745605417; bh=qUJMTFCyzeoWacimIa03w3xuJlB48sMHGlYDuLh/EZg=; h=From:To:Cc:Subject:Date:From; b=t6lrYkMemXO088k+7bMRanngLsG02udaXhLeaXRtVJmnFXOiQmRh1WbApkBmqqVxS 0hTuvxAvKr0G8buffW4TOn7vb2AO477hY60ki/hI7W3aNtu9PBdxbeIPiOLgcal7TT ZLpxB40cXNKZteJ65XNf/zqU9SELvJDUGLAsWrpo= Received: from mx1.investici.org (unknown [127.0.0.1]) by confino.investici.org (Postfix) with ESMTP id 4Zkh6x3TDyz117x; Fri, 25 Apr 2025 18:23:37 +0000 (UTC) Received: from [93.190.126.19] (mx1.investici.org [93.190.126.19]) (Authenticated sender: cayetano.santos@inventati.org) by localhost (Postfix) with ESMTPSA id 4Zkh6x18vNz117t; Fri, 25 Apr 2025 18:23:37 +0000 (UTC) From: Cayetano Santos Date: Fri, 25 Apr 2025 20:23:15 +0200 Message-ID: X-Mailer: git-send-email 2.49.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Received-SPF: pass client-ip=2a11:7980:1::2:0; envelope-from=csantosb@inventati.org; helo=confino.investici.org X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 0.9 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.1 (/) * gnu/packages/electronics.scm (prjtrellis): New variable. Change-Id: Iac188df00f55c06f9000fe1b688d6cded9d495fd --- gnu/packages/electronics.scm | 43 ++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/gnu/packages/electronics.scm b/gnu/packages/electronics.scm index 12e44f234a..166de9e27c 100644 --- a/gnu/packages/electronics.scm +++ b/gnu/packages/electronics.scm @@ -415,6 +415,49 @@ (define-public openboardview @end itemize") (license license:expat))) +(define-public prjtrellis + (package + (name "prjtrellis") + (version "1.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/YosysHQ/prjtrellis/") + (commit version) + (recursive? #t))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0c3asdfrjmnc6q3vawn3nfghgg43iajwy2zb8kck9d3wrypbhlmc")))) + (build-system cmake-build-system) + (arguments + (list + #:tests? #f ; tests are to be run from nextpnr-ecp5 + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda _ + (chdir "libtrellis"))) + ;; Remove bundled source code for which Guix has packages. + (add-after 'chdir 'remove-deps + (lambda _ + (with-directory-excursion "3rdparty" + (for-each delete-file-recursively + '("pybind11"))))) + ;; point to pybind11 include dir + (add-after 'remove-deps 'setenv-pybind11 + (lambda* (#:key inputs #:allow-other-keys) + (setenv "PYBIND11_INCLUDE_DIR" + (string-append #$(this-package-input "pybind11") + "/include/pybind11"))))))) + (native-inputs (list python)) + (inputs (list openocd boost pybind11)) + (synopsis "Placement and routing for ECP5 FPGAs") + (description + "Project Trellis is a Nextpnr backend compatible with ECP5 FPGAs.") + (home-page "https://github.com/YosysHQ/prjtrellis/") + (license license:expat))) + (define-public pulseview (package (name "pulseview") base-commit: 4fe4cf9fdd959126d3c53c3df4504d851e7b736a -- 2.49.0 From unknown Mon Jun 23 07:51:15 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#78063] [PATCH electronics-team] gnu: Add prjtrellis. Resent-From: Maxim Cournoyer Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 02 May 2025 07:20:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 78063 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Cayetano Santos Cc: 78063@debbugs.gnu.org, Ekaitz Zarraga Received: via spool by 78063-submit@debbugs.gnu.org id=B78063.174617036319739 (code B ref 78063); Fri, 02 May 2025 07:20:02 +0000 Received: (at 78063) by debbugs.gnu.org; 2 May 2025 07:19:23 +0000 Received: from localhost ([127.0.0.1]:55970 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uAkg6-00058H-IJ for submit@debbugs.gnu.org; Fri, 02 May 2025 03:19:22 -0400 Received: from mail-pl1-x62b.google.com ([2607:f8b0:4864:20::62b]:54350) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1uAkg3-00057j-Cv for 78063@debbugs.gnu.org; Fri, 02 May 2025 03:19:20 -0400 Received: by mail-pl1-x62b.google.com with SMTP id d9443c01a7336-2295d78b45cso23898765ad.0 for <78063@debbugs.gnu.org>; Fri, 02 May 2025 00:19:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1746170353; x=1746775153; darn=debbugs.gnu.org; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=NI6UP627pkKHUqN/f5M27gwakwUBT+g1nYiEFlIHwXY=; b=Tzxi4MLBXGt4PZxrYDKwrtivmcsxgXzV/ciki9Y4gd5DLRVcJCze7Nrw1hz9BX9qaq w/KLEjIJZShRTCVxtGXn/cqARiI88x9NAr2o4iiXtFmvvA+Si0dJWmcZHGtcc9Izi/Pw p7Cps3CXfW95MMg8+gXgTQtOE1NyBwaaSO73ElxFP8xqE3dnk2SocLrNOHFD7XDwz03O K6FNf9ORv2xxB3UdPoROOqz1nuJBgmhD7ewk4MsPDG7AN4MUI7zfrp/Qz1c5pDs96Dt8 JrMoNnCaQr07njCgWPxjLjF2r3ka9tlCSFZT5mVc+H5frwkPbLVPqRtyd/mqcUxyQjGx LjJg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746170353; x=1746775153; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=NI6UP627pkKHUqN/f5M27gwakwUBT+g1nYiEFlIHwXY=; b=v1mNEVyJzOte5yRRsdeZRdkzXqaYcI7+h+x3I2xs7QeESyzjo3lGHodaWy+lLeBaqx tGUfXawHQbol4HAKikpj55caVo+yQ0tQ8brU15l3U/qr7ePsQT3GLVfxfjtx4xLJHQgj Aau1UuuBW9s0h+sFINXUDX/z4BFp87kXi9vFgJnIcaxd31XT2Uwbyj4l1NKxpRfMNjFM gnkUDKPdVThyc1C+d9OnPVU89GwnzB6YuH5zigDJ7w5kdJJxCopm4Vx7Qn7gQUMkR/lS YdDF8VV/CSx77a7l9vCKjkqLeKRqxNskke4WkIOK+oGUeNbHZ7Tt1RdAOF9tB+ysyyUn 560g== X-Gm-Message-State: AOJu0Ywjo7MAaTX+qaefWYjnaMtXcEVAQ5Uce8r6vh+rrg5ioOw6BZjg jq4kic4oO0obgb+iPJma+HrHT5yRUez9Cr+ASJAJp7boFoOSnZ3wRw95M/Ae X-Gm-Gg: ASbGncsUrVIoNHBEybIhEOIN3LUyAvEZKCV/mvffhjBS86PmdTfFZdHe4prNxxood4k luA0jq9lIf6cu4wI9Y0ZMwLHNue1Le/Gg8t2n4uTAIh3VjY8/CtgZ6q6HFQy2QIUIu/UtT4QezZ a2s9s0xNeE/DSXtjDA1X+pXfEkhJA/ScXImXmI0C/HvWkORWxQK0jvvM7VcbcncOCUoW5CAj2Jr SfYdkKpRqytZbR9tfYiJy+OrrYDodfqFadH4qb5gRL4FMuBl5DGUBWCDLSydZzQqII0iNqbZeig WP5/3jkquq2/4pWm3W7kDWYJgV6BSde7n4xpUHs= X-Google-Smtp-Source: AGHT+IGQwXAarR0HCn5yB8LCeqEPwH+ZJHJpFdBs/FDJ8WCA+XSYJZ83VRs+85Hp1R2WW53b47xayw== X-Received: by 2002:a17:902:e54c:b0:21f:f3d:d533 with SMTP id d9443c01a7336-22e102ad311mr28067675ad.2.1746170353102; Fri, 02 May 2025 00:19:13 -0700 (PDT) Received: from terra ([2405:6586:be0:0:83c8:d31d:2cec:f542]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-b1fb3920f78sm101443a12.15.2025.05.02.00.19.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 02 May 2025 00:19:12 -0700 (PDT) From: Maxim Cournoyer In-Reply-To: (Cayetano Santos's message of "Fri, 25 Apr 2025 20:23:15 +0200") References: Date: Fri, 02 May 2025 16:19:09 +0900 Message-ID: <877c2z5vki.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi, Cayetano Santos writes: > * gnu/packages/electronics.scm (prjtrellis): New variable. [...] > +(define-public prjtrellis > + (package > + (name "prjtrellis") > + (version "1.4") > + (source > + (origin > + (method git-fetch) > + (uri (git-reference > + (url "https://github.com/YosysHQ/prjtrellis/") > + (commit version) > + (recursive? #t))) This needs an explanation, explaining why the bundled libraries/sources in the checkout cannot be packaged separately: our standard practice is to try to unbundle everything and build the components as distinct packages. Here it looks like it pulls some kind of database files used by the project. That's fine to use a recursive? #t for that, the reason just needs to be explained. [...] > + #:tests? #f ; tests are to be run from nextpnr-ecp5 nitpick: leave at least two spaces between the code and the ';' margin comment, as ensured by Emacs with 'M-;'. Also, I'm not sure I get what it means: the test are run from another package? Could you explain a bit more in a standalone comment above the argument? > + #:phases > + #~(modify-phases %standard-phases > + (add-after 'unpack 'chdir > + (lambda _ > + (chdir "libtrellis"))) > + ;; Remove bundled source code for which Guix has packages. > + (add-after 'chdir 'remove-deps > + (lambda _ > + (with-directory-excursion "3rdparty" > + (for-each delete-file-recursively > + '("pybind11"))))) This would benefit from being done in the source directly, as a snippet attached to the origin, to remove the extraneous files from the source (which needlessly adds weigh to the source checkout). But as I suggested above, perhaps recursive? #t can be removed, and the few dependencies packaged separately, if they can be built as libraries. > + (add-after 'remove-deps 'setenv-pybind11 > + (lambda* (#:key inputs #:allow-other-keys) > + (setenv "PYBIND11_INCLUDE_DIR" > + (string-append #$(this-package-input "pybind11") > + "/include/pybind11"))))))) > + (native-inputs (list python)) > + (inputs (list openocd boost pybind11)) > + (synopsis "Placement and routing for ECP5 FPGAs") > + (description > + "Project Trellis is a Nextpnr backend compatible with ECP5 FPGAs.") The description is a bit too terse. It'd be nice to know what features are included the software provides, for example, or what are the various commands are included (if there are many), and what they do. You can use a '@table @command' for this. Otherwise it looks good to me. Could you please submit a v2? -- Thanks, Maxim From unknown Mon Jun 23 07:51:15 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#78063] [PATCH electronics-team v2] gnu: Add prjtrellis. References: In-Reply-To: Resent-From: Cayetano Santos Original-Sender: "Debbugs-submit" Resent-CC: csantosb@inventati.org, ekaitz@elenq.tech, gabriel@erlikon.ch, maxim.cournoyer@gmail.com, guix-patches@gnu.org Resent-Date: Fri, 02 May 2025 18:48:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 78063 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 78063@debbugs.gnu.org Cc: Cayetano Santos , Cayetano Santos , Ekaitz Zarraga , Gabriel Wicki , Maxim Cournoyer X-Debbugs-Original-Xcc: Cayetano Santos , Ekaitz Zarraga , Gabriel Wicki , Maxim Cournoyer Received: via spool by 78063-submit@debbugs.gnu.org id=B78063.174621163615234 (code B ref 78063); Fri, 02 May 2025 18:48:01 +0000 Received: (at 78063) by debbugs.gnu.org; 2 May 2025 18:47:16 +0000 Received: from localhost ([127.0.0.1]:33273 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uAvPo-0003xc-2i for submit@debbugs.gnu.org; Fri, 02 May 2025 14:47:16 -0400 Received: from latitanza.investici.org ([2001:888:2000:56::19]:50125) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uAvPk-0003xL-PD for 78063@debbugs.gnu.org; Fri, 02 May 2025 14:47:13 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=inventati.org; s=stigmate; t=1746211630; bh=8gzfrrb75TsZHDtH6oNrEH7Gw3XEI2kKACzfIi+UBYY=; h=From:To:Cc:Subject:Date:From; b=KV4suYiHy1YT0nvz2vKg1X+UK1INnM9uHi52p70ElzEtgSgPKZocGnwqN74/L+zDJ n+iFDaQgXAafFQl6gqVYcK3On/OSH+OixQoehDW8wAYKhy5RWZmKsytwdqgpGPL4PG MxRp9vpiq90Ci7bDrcOJGyaorjTdIjKKRQ1wrBME= Received: from mx3.investici.org (unknown [127.0.0.1]) by latitanza.investici.org (Postfix) with ESMTP id 4Zq0Jt5DNCzGp4r; Fri, 2 May 2025 18:47:10 +0000 (UTC) Received: from [82.94.249.234] (mx3.investici.org [82.94.249.234]) (Authenticated sender: cayetano.santos@inventati.org) by localhost (Postfix) with ESMTPSA id 4Zq0Jt2trPzGp4h; Fri, 2 May 2025 18:47:10 +0000 (UTC) From: Cayetano Santos Date: Fri, 2 May 2025 20:47:57 +0200 Message-ID: X-Mailer: git-send-email 2.49.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) * gnu/packages/electronics.scm (prjtrellis): New variable. Change-Id: Iac188df00f55c06f9000fe1b688d6cded9d495fd --- gnu/packages/electronics.scm | 59 ++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/gnu/packages/electronics.scm b/gnu/packages/electronics.scm index d63511ff22..01a9f68f52 100644 --- a/gnu/packages/electronics.scm +++ b/gnu/packages/electronics.scm @@ -422,6 +422,65 @@ (define-public openboardview @end itemize") (license license:expat))) +(define-public prjtrellis + (package + (name "prjtrellis") + (version "1.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/YosysHQ/prjtrellis/") + (commit version) + ;; pulls the bitstream db for ECP5 devices; this is useful only by + ;; prjtrellis, there is no need to package it separately + (recursive? #t))) + (file-name (git-file-name name version)) + (modules '((guix build utils))) + (snippet + ;; Remove bundled source code for which Guix has packages. + '(with-directory-excursion "libtrellis/3rdparty" + (for-each delete-file-recursively + '("pybind11")))) + (sha256 + (base32 "0c3asdfrjmnc6q3vawn3nfghgg43iajwy2zb8kck9d3wrypbhlmc")))) + (build-system cmake-build-system) + (arguments + (list + ;; the examples test directory requires nextpnr, using this package as a + ;; backend, which is provided by nextpnr-ecp5; the tests are to be run in + ;; there then + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda _ + (chdir "libtrellis"))) + ;; point to pybind11 include dir + (add-after 'chdir 'setenv-pybind11 + (lambda* (#:key inputs #:allow-other-keys) + (setenv "PYBIND11_INCLUDE_DIR" + (string-append #$(this-package-input "pybind11") + "/include/pybind11"))))))) + (native-inputs (list python)) + (inputs (list openocd boost pybind11)) + (synopsis "Placement and routing for ECP5 FPGAs") + (description + "Project Trellis is a Nextpnr backend compatible with ECP5 FPGAs. +The following features are currently available: +@table @command +@item logic slice functionality, including carries +@item distributed RAM inside logic slices +@item all internal interconnect +@item basic IO, including tristate +@item block RAM, using inference or manual instantiation +@item multipliers using manual instantiation +@item global networks and PLLs +@item transcievers (DCUs) +@end table") + (home-page "https://github.com/YosysHQ/prjtrellis/") + (license license:expat))) + (define-public opensta ;; There are no releases, we use last commit. (let ((commit "eb8d39a7dd81b5ca2582ad9bbce0fb6e094b3e0f") base-commit: 0b83a27b67ae92e988795322ae988518ec3e6972 -- 2.49.0 From unknown Mon Jun 23 07:51:15 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#78063] [PATCH electronics-team] gnu: Add prjtrellis. Resent-From: Cayetano Santos Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 02 May 2025 19:04:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 78063 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Maxim Cournoyer Cc: 78063@debbugs.gnu.org, Ekaitz Zarraga Received: via spool by 78063-submit@debbugs.gnu.org id=B78063.174621262818553 (code B ref 78063); Fri, 02 May 2025 19:04:02 +0000 Received: (at 78063) by debbugs.gnu.org; 2 May 2025 19:03:48 +0000 Received: from localhost ([127.0.0.1]:33352 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uAvfn-0004pB-NU for submit@debbugs.gnu.org; Fri, 02 May 2025 15:03:48 -0400 Received: from confino.investici.org ([2a11:7980:1::2:0]:36045) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uAvfk-0004ou-MK for 78063@debbugs.gnu.org; Fri, 02 May 2025 15:03:45 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=inventati.org; s=stigmate; t=1746212621; bh=ITSYGjBr/QwgV+rgUFX2BAhbeOLC9LGExSYk/CHBlW8=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=cDLGE+Ex8cXiVS8FDJrtjDQNB49lhSkjcEEeFFiVPvdcHbrcxXsZlhiiprNgHCcO8 iHuepQ9WnMnWi1bGZHNn4MPGfV16r80kAKpu3svXEMxygoptF/4SCSiBrYLwQc5kmf gu9Ox/rDYUGjnFjOsk1ywW0MVHghGqsFooRAxJvM= Received: from mx1.investici.org (unknown [127.0.0.1]) by confino.investici.org (Postfix) with ESMTP id 4Zq0gx1gbHz1191; Fri, 2 May 2025 19:03:41 +0000 (UTC) Received: from [93.190.126.19] (mx1.investici.org [93.190.126.19]) (Authenticated sender: cayetano.santos@inventati.org) by localhost (Postfix) with ESMTPSA id 4Zq0gw5Cr4z118q; Fri, 2 May 2025 19:03:29 +0000 (UTC) From: Cayetano Santos In-Reply-To: <877c2z5vki.fsf@gmail.com> (Maxim Cournoyer's message of "Fri, 02 May 2025 16:19:09 +0900") References: <877c2z5vki.fsf@gmail.com> User-Agent: mu4e 1.12.9; emacs 29.4 Date: Fri, 02 May 2025 21:04:45 +0200 Message-ID: <87bjsaltpu.fsf@inventati.org> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --=-=-= Content-Type: text/plain >ven. 02 mai 2025 at 16:19, Maxim Cournoyer wrote: Hi Maxim, >> + #:tests? #f ; tests are to be run from nextpnr-ecp5 > > nitpick: leave at least two spaces between the code and the ';' margin > comment, as ensured by Emacs with 'M-;'. Also, I'm not sure I get what > it means: the test are run from another package? Could you explain a > bit more in a standalone comment above the argument? The idea is the following, see #77114. We spin-off a common nextpnr package, from which nextpnr-ice40 inherits, using icestorm as a backend. We do the same with nextpnr-ecp5, which inherits from nextpnr, and uses prjtrellis as a backend. Others will follow, see [0]. This makes that example tests in prjtrellis, are to be tested under nextpnr-ecp5. Prjtrellis, by itself, cannot do much. Hope it is clear. > Otherwise it looks good to me. Could you please submit a v2? Thanks for your review, I just sent v2, hopefully, including all your improvements. C. [0] https://github.com/YosysHQ/nextpnr/blob/master/README.md --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iI0EARYKADUWIQTMuBhC+dcFjs1nN3q/XN9N9r9mggUCaBUXTRccY3NhbnRvc2JA aW52ZW50YXRpLm9yZwAKCRC/XN9N9r9mgltEAPwKRPIfHmdaM9W6YY1O4fs0hDoy D0WjrwZdFgWmXhEo6gEA1fhK8H8WNBb3iODS2wthl/70eKqMtxN9syiMkBKj9Ag= =1jVB -----END PGP SIGNATURE----- --=-=-=-- From unknown Mon Jun 23 07:51:15 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Cayetano Santos Subject: bug#78063: closed (Re: [bug#78063] [PATCH electronics-team] gnu: Add prjtrellis.) Message-ID: References: <87y0v7tzxm.fsf@gmail.com> X-Gnu-PR-Message: they-closed 78063 X-Gnu-PR-Package: guix-patches X-Gnu-PR-Keywords: patch Reply-To: 78063@debbugs.gnu.org Date: Thu, 08 May 2025 05:50:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1746683402-23952-1" This is a multi-part message in MIME format... ------------=_1746683402-23952-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #78063: [PATCH electronics-team] gnu: Add prjtrellis. which was filed against the guix-patches package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 78063@debbugs.gnu.org. --=20 78063: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D78063 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1746683402-23952-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 78063-done) by debbugs.gnu.org; 8 May 2025 05:49:22 +0000 Received: from localhost ([127.0.0.1]:52517 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uCu8H-0006CP-KZ for submit@debbugs.gnu.org; Thu, 08 May 2025 01:49:22 -0400 Received: from mail-pg1-x536.google.com ([2607:f8b0:4864:20::536]:43112) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1uCu8F-0006C3-Tm for 78063-done@debbugs.gnu.org; Thu, 08 May 2025 01:49:20 -0400 Received: by mail-pg1-x536.google.com with SMTP id 41be03b00d2f7-b200047a6a5so113931a12.0 for <78063-done@debbugs.gnu.org>; Wed, 07 May 2025 22:49:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1746683353; x=1747288153; darn=debbugs.gnu.org; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=MXZmnXsEK2G83S0oc5k2+AcXZAgEy958iVf9DNTnp/8=; b=aJRRg70TM3B2VYVzNcWRPmoBfG0MyaKGrZN3WGI/4ckJz8pJ4+/eofjtwxeiM4VLPa jDgixOC9KRqH2TbXoCnCMe3fmeVP1qFp+hbUF4yC0lV1zeP8OcfsztAzb7uUntxRjg1e nVINjpeYu386AqmDCanIDnfgX/QswBLBR8eoGncfpkQXiyIf4JmJvNI+9OuohVwY2vIz ewnv6Ft2VNnneouZyBZ/k+QbEuVjGOI9ey8ivMkYDVbxpviHJ/1iZXrkundMVoDpceOa EXHYUyhE4gOD9v90hOh/Gnr0RLLzr6FXceK/2DtkzC6VnuwiR787deOHQV/rDrKn62OJ byCA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746683353; x=1747288153; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=MXZmnXsEK2G83S0oc5k2+AcXZAgEy958iVf9DNTnp/8=; b=D61MjPtVQgV3XFA/rJJMWgxxrrF+dD8RLIWoDnY6SpC/Zm01HQhEtAf6oIZyfKefBb dCIRktA7ZdUTQVRpdKWDA2WX8KUcN4okloUf5Q9PeorAdCjo0zwO7+JCXB8gMxuEhlPY KQnEgyepSuX0AdzOx2J7SJw9Hf+/VEpTCeyPqSwz3/+ujOTB2VBAzCNEuJinS4MtLIG5 Ft5ejz6vV4y8amC3bgST/e/r8mh3DgiOMrGFVXNLwqT/iFle8YOCIJceMV85fq8jtDqX JZhe6dxU8+EoSKl3FNgAr2+U4L+R6iLStCTaD9Z0H00NdHYm5gAuH6f7Ts14fymkk4IC z2PA== X-Gm-Message-State: AOJu0Yy/6AeCYBUTDM2oYzXmK7+Ko49/DHxqN1Uai/MJK4iW2wqjIKR4 dwCJjR+1lDA2E/hHHCy4j0d1UnigBp4s+Lyv077CmHRUSTQaHGxj X-Gm-Gg: ASbGncugT0xLYUN50nSWzmsRfUm7ZEiKfih/Z+66cUZmJqzZDBJJzMqgZ2tmsKienBT MaZXGXNgeObZ+m0c91rQd6NR24pWkTQhWEv1/oU7+NE+361m3abtxd26k2/hP6/NDYi1+w7QU1d 6UrHJgQGbbdRa7eFmjBSJlEiLBeDUwNCUSQr8qdMrugT72dONJt7VcU8Ni7MlINaaGmquNebJKs bOHhvhNkCX2/ACnsVFkBxiwf3NuR6KqYGGdsyCuqrC1OjqibhkFm6mchMDqbZ71JT/uTcgRYoGP h5p/75nZ8B4vA5U3EWeA0VPiuach6XjyrdDVSfI= X-Google-Smtp-Source: AGHT+IGmSwbTFGVALrgyTZ0zrxelMNTV3uv8Y7Ns/VWMpO7z82LjJREgXHWxWDnzBWsdBOYR5l6lLQ== X-Received: by 2002:a17:90b:4d01:b0:302:fc48:4f0a with SMTP id 98e67ed59e1d1-30adb4c6ademr3556764a91.0.1746683353482; Wed, 07 May 2025 22:49:13 -0700 (PDT) Received: from terra ([2405:6586:be0:0:83c8:d31d:2cec:f542]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-30ad484036bsm1294505a91.3.2025.05.07.22.49.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 07 May 2025 22:49:12 -0700 (PDT) From: Maxim Cournoyer To: Cayetano Santos Subject: Re: [bug#78063] [PATCH electronics-team] gnu: Add prjtrellis. In-Reply-To: <87bjsaltpu.fsf@inventati.org> (Cayetano Santos's message of "Fri, 02 May 2025 21:04:45 +0200") References: <877c2z5vki.fsf@gmail.com> <87bjsaltpu.fsf@inventati.org> Date: Thu, 08 May 2025 14:49:09 +0900 Message-ID: <87y0v7tzxm.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 78063-done Cc: Ekaitz Zarraga , 78063-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi, Cayetano Santos writes: >>ven. 02 mai 2025 at 16:19, Maxim Cournoyer wrote: > > Hi Maxim, > >>> + #:tests? #f ; tests are to be run from nextpnr-ecp5 >> >> nitpick: leave at least two spaces between the code and the ';' margin >> comment, as ensured by Emacs with 'M-;'. Also, I'm not sure I get what >> it means: the test are run from another package? Could you explain a >> bit more in a standalone comment above the argument? > > The idea is the following, see #77114. We spin-off a common nextpnr > package, from which nextpnr-ice40 inherits, using icestorm as a backend. > > We do the same with nextpnr-ecp5, which inherits from nextpnr, and uses > prjtrellis as a backend. Others will follow, see [0]. > > This makes that example tests in prjtrellis, are to be tested under > nextpnr-ecp5. Prjtrellis, by itself, cannot do much. Hope it is clear. > >> Otherwise it looks good to me. Could you please submit a v2? > > Thanks for your review, I just sent v2, hopefully, including all your > improvements. Looks good! I've made the standalone comments punctuation, and turned the table into an itemized list (a table has two columns): --8<---------------cut here---------------start------------->8--- modified gnu/packages/electronics.scm @@ -432,8 +432,8 @@ (define-public prjtrellis (uri (git-reference (url "https://github.com/YosysHQ/prjtrellis/") (commit version) - ;; pulls the bitstream db for ECP5 devices; this is useful only by - ;; prjtrellis, there is no need to package it separately + ;; Pull the bitstream database for ECP5 devices; this is useful + ;; only by prjtrellis: there is no need to package it separately. (recursive? #t))) (file-name (git-file-name name version)) (modules '((guix build utils))) @@ -447,9 +447,9 @@ (define-public prjtrellis (build-system cmake-build-system) (arguments (list - ;; the examples test directory requires nextpnr, using this package as a - ;; backend, which is provided by nextpnr-ecp5; the tests are to be run in - ;; there then + ;; The examples test directory requires nextpnr, using this package as a + ;; backend, which is provided by nextpnr-ecp5: the tests are to be run + ;; in this later package. #:tests? #f #:phases #~(modify-phases %standard-phases @@ -468,7 +468,7 @@ (define-public prjtrellis (description "Project Trellis is a Nextpnr backend compatible with ECP5 FPGAs. The following features are currently available: -@table @command +@itemize @item logic slice functionality, including carries @item distributed RAM inside logic slices @item all internal interconnect @@ -476,8 +476,8 @@ (define-public prjtrellis @item block RAM, using inference or manual instantiation @item multipliers using manual instantiation @item global networks and PLLs -@item transcievers (DCUs) -@end table") +@item transcievers (DCUs.) +@end itemize") (home-page "https://github.com/Yos --8<---------------cut here---------------end--------------->8--- Pushed as 2ca8d382816. -- Thanks, Maxim ------------=_1746683402-23952-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 25 Apr 2025 18:24:03 +0000 Received: from localhost ([127.0.0.1]:52784 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u8NiU-000565-JF for submit@debbugs.gnu.org; Fri, 25 Apr 2025 14:24:02 -0400 Received: from lists.gnu.org ([2001:470:142::17]:43852) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1u8NiQ-00055T-AE for submit@debbugs.gnu.org; Fri, 25 Apr 2025 14:23:58 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u8NiH-0007RO-BR for guix-patches@gnu.org; Fri, 25 Apr 2025 14:23:50 -0400 Received: from confino.investici.org ([2a11:7980:1::2:0]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u8NiE-0003sG-Ux for guix-patches@gnu.org; Fri, 25 Apr 2025 14:23:49 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=inventati.org; s=stigmate; t=1745605417; bh=qUJMTFCyzeoWacimIa03w3xuJlB48sMHGlYDuLh/EZg=; h=From:To:Cc:Subject:Date:From; b=t6lrYkMemXO088k+7bMRanngLsG02udaXhLeaXRtVJmnFXOiQmRh1WbApkBmqqVxS 0hTuvxAvKr0G8buffW4TOn7vb2AO477hY60ki/hI7W3aNtu9PBdxbeIPiOLgcal7TT ZLpxB40cXNKZteJ65XNf/zqU9SELvJDUGLAsWrpo= Received: from mx1.investici.org (unknown [127.0.0.1]) by confino.investici.org (Postfix) with ESMTP id 4Zkh6x3TDyz117x; Fri, 25 Apr 2025 18:23:37 +0000 (UTC) Received: from [93.190.126.19] (mx1.investici.org [93.190.126.19]) (Authenticated sender: cayetano.santos@inventati.org) by localhost (Postfix) with ESMTPSA id 4Zkh6x18vNz117t; Fri, 25 Apr 2025 18:23:37 +0000 (UTC) From: Cayetano Santos To: guix-patches@gnu.org Subject: [PATCH electronics-team] gnu: Add prjtrellis. Date: Fri, 25 Apr 2025 20:23:15 +0200 Message-ID: X-Mailer: git-send-email 2.49.0 MIME-Version: 1.0 X-Debbugs-Cc: Cayetano Santos , Ekaitz Zarraga , Maxim Cournoyer Content-Transfer-Encoding: 8bit Received-SPF: pass client-ip=2a11:7980:1::2:0; envelope-from=csantosb@inventati.org; helo=confino.investici.org X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 0.9 (/) X-Debbugs-Envelope-To: submit Cc: Cayetano Santos X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.1 (/) * gnu/packages/electronics.scm (prjtrellis): New variable. Change-Id: Iac188df00f55c06f9000fe1b688d6cded9d495fd --- gnu/packages/electronics.scm | 43 ++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/gnu/packages/electronics.scm b/gnu/packages/electronics.scm index 12e44f234a..166de9e27c 100644 --- a/gnu/packages/electronics.scm +++ b/gnu/packages/electronics.scm @@ -415,6 +415,49 @@ (define-public openboardview @end itemize") (license license:expat))) +(define-public prjtrellis + (package + (name "prjtrellis") + (version "1.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/YosysHQ/prjtrellis/") + (commit version) + (recursive? #t))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0c3asdfrjmnc6q3vawn3nfghgg43iajwy2zb8kck9d3wrypbhlmc")))) + (build-system cmake-build-system) + (arguments + (list + #:tests? #f ; tests are to be run from nextpnr-ecp5 + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda _ + (chdir "libtrellis"))) + ;; Remove bundled source code for which Guix has packages. + (add-after 'chdir 'remove-deps + (lambda _ + (with-directory-excursion "3rdparty" + (for-each delete-file-recursively + '("pybind11"))))) + ;; point to pybind11 include dir + (add-after 'remove-deps 'setenv-pybind11 + (lambda* (#:key inputs #:allow-other-keys) + (setenv "PYBIND11_INCLUDE_DIR" + (string-append #$(this-package-input "pybind11") + "/include/pybind11"))))))) + (native-inputs (list python)) + (inputs (list openocd boost pybind11)) + (synopsis "Placement and routing for ECP5 FPGAs") + (description + "Project Trellis is a Nextpnr backend compatible with ECP5 FPGAs.") + (home-page "https://github.com/YosysHQ/prjtrellis/") + (license license:expat))) + (define-public pulseview (package (name "pulseview") base-commit: 4fe4cf9fdd959126d3c53c3df4504d851e7b736a -- 2.49.0 ------------=_1746683402-23952-1--