From patchwork Fri May 2 18:47:57 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Cayetano Santos X-Patchwork-Id: 42256 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id B015527BC4A; Fri, 2 May 2025 19:48:36 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-6.4 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_BLOCKED, RCVD_IN_VALIDITY_CERTIFIED,RCVD_IN_VALIDITY_RPBL,RCVD_IN_VALIDITY_SAFE, SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 54FBD27BC49 for ; Fri, 2 May 2025 19:48:34 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uAvQk-0001fc-4A; Fri, 02 May 2025 14:48:14 -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 1uAvQf-0001dn-Cl for guix-patches@gnu.org; Fri, 02 May 2025 14:48:10 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uAvQf-0001aE-4F for guix-patches@gnu.org; Fri, 02 May 2025 14:48:09 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debbugs.gnu.org; s=debbugs-gnu-org; h=MIME-Version:Date:From:To:In-Reply-To:References:Subject; bh=8gzfrrb75TsZHDtH6oNrEH7Gw3XEI2kKACzfIi+UBYY=; b=IBmJ2TKvHDE9WuXoBWXqr2v8EBAHfE50EKIGF99ao1hEZinYvmypvMO3M3zULu+9cyIyNHIv8NtBNMQtf1GFavA/Eif+QnAbjRtSBaCpk8AoTf3l9Dt2MSZgxQeU4sCEnKUsraWKbInwi2wjFYNkrcS7mYM767/n6eK218IbEkWWX+WgUfetiIhHxobqvevLNZoOzF5K/JFVTQsP5jODipNBfuWWMsqzZH2ApXVOHD1mupd6zPdk2/9Q8xgVr9TgMMVggR3UGkcMe7Da+xkr+iuRzjgaM8VrCtO+enFM/atJCfmCiBD3yIyolABiWWUiMLD3sm6e5qjRuNHOJCX7mg==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1uAvQX-0003zA-Rp; Fri, 02 May 2025 14:48:01 -0400 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) Date: Fri, 2 May 2025 20:47:57 +0200 Message-ID: X-Mailer: git-send-email 2.49.0 MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-to: Cayetano Santos X-ACL-Warn: , Cayetano Santos via Guix-patches X-Patchwork-Original-From: Cayetano Santos via Guix-patches via From: Cayetano Santos Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches * gnu/packages/electronics.scm (prjtrellis): New variable. Change-Id: Iac188df00f55c06f9000fe1b688d6cded9d495fd --- gnu/packages/electronics.scm | 59 ++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) base-commit: 0b83a27b67ae92e988795322ae988518ec3e6972 -- 2.49.0 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")