Package: guix-patches;
Reported by: Cayetano Santos <csantosb <at> inventati.org>
Date: Mon, 17 Mar 2025 10:23:04 UTC
Severity: normal
Tags: patch
Done: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Bug is archived. No further changes may be made.
View this message in rfc822 format
From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com> To: Cayetano Santos <csantosb <at> inventati.org> Cc: 77067-done <at> debbugs.gnu.org, Ekaitz Zarraga <ekaitz <at> elenq.tech> Subject: [bug#77067] [PATCH] gnu: icestorm: Update to 0.0-5.7fbf8c0. Date: Wed, 23 Apr 2025 10:41:46 +0900
Hello, Cayetano Santos <csantosb <at> inventati.org> writes: > * gnu/packages/fpga.scm (icestorm): Update to 0.0-5.3cdcf4b. > > Change-Id: I545ac91c94a97989c3a1494479d36cb5bb46930d > > [source]: Update url. > [arguments]<#:phases>: Add make-info to produce info document using included makefile. > [arguments]<#:phases>: Update /usr/local substitutions in makefiles. > [arguments]<#:tests>: Tests require nextpnr-ice40, which depends on this package. > [arguments]<#:make-flags>: Update CC, CXX and PREFIX variables. The maximum column width to use in Guix is 80. You do not need to repeat the [arguments] here. I've rewritten your changelog to something like this, for example: --8<---------------cut here---------------start------------->8--- * gnu/packages/fpga.scm (icestorm): Update to 0.0-5.3cdcf4b. [source]: Update URL. [arguments] <#:phases> {make-info}: New phase. {fix-usr-local}: Update substitutions. <#:tests>: Update comment. <#:make-flags>: Update CC, CXX and PREFIX variables. [native-inputs]: Use new style. Add texinfo, python-sphinx and python-sphinx-rtd-theme. [homepage]: Update URL. [description]: Improve. --8<---------------cut here---------------end--------------->8--- > [native-inputs]: Replaced old style, add requirements for buildig the documentation. > [homepage]: Update url. > [synopsys]: Improve. > [description]: Improve. > > Change-Id: I22d8adb52daac893bf7436fd86fefe0df18c7bf9 The change-id is meant to be listed only once; ideally it should remain static from the first to the last revision submitted (that's its purpose, to be a stable identifier for a series being reviewed). > --- > gnu/packages/fpga.scm | 108 +++++++++++++++++++++++++----------------- > 1 file changed, 65 insertions(+), 43 deletions(-) > > diff --git a/gnu/packages/fpga.scm b/gnu/packages/fpga.scm > index 893e875276..8afaccf62c 100644 > --- a/gnu/packages/fpga.scm > +++ b/gnu/packages/fpga.scm > @@ -75,7 +75,9 @@ (define-module (gnu packages fpga) > #:use-module (gnu packages python-xyz) > #:use-module (gnu packages qt) > #:use-module (gnu packages readline) > + #:use-module (gnu packages sphinx) > #:use-module (gnu packages tcl) > + #:use-module (gnu packages texinfo) > #:use-module (gnu packages toolkits) > #:use-module (gnu packages version-control)) > > @@ -269,49 +271,69 @@ (define-public yosys-clang > (synopsis "FPGA Verilog RTL synthesizer (Clang variant)"))) > > (define-public icestorm > - (let ((commit "2bc541743ada3542c6da36a50e66303b9cbd2059") > - (revision "4")) > - (package > - (name "icestorm") > - (version (git-version "0.0" revision commit)) > - (source (origin > - (method git-fetch) > - (uri (git-reference > - (url "https://github.com/cliffordwolf/icestorm") > - (commit commit))) > - (file-name (git-file-name name version)) > - (sha256 > - (base32 > - "0d0ibdq3rzmjcbv97h4b9wgq8ikvgwlfw60spi2w81mis317lis8")))) > - (build-system gnu-build-system) > - (arguments > - `(#:tests? #f ; no unit tests that don't need an FPGA exist. > - #:make-flags (list "CC=gcc" "CXX=g++" > - (string-append "PREFIX=" (assoc-ref %outputs "out"))) > - #:phases > - (modify-phases %standard-phases > - (add-after 'unpack 'remove-usr-local > - (lambda _ > - (substitute* "iceprog/Makefile" > - (("-I/usr/local/include") "") > - (("-L/usr/local/lib") "")) > - #t)) > - (add-after 'remove-usr-local 'fix-usr-local > - (lambda* (#:key outputs #:allow-other-keys) > - (substitute* "icebox/icebox_vlog.py" > - (("/usr/local/share") (string-append (assoc-ref outputs "out") "/share"))) > - #t)) > - (delete 'configure)))) > - (inputs > - (list libftdi)) > - (native-inputs > - `(("python-3" ,python) > - ("pkg-config" ,pkg-config))) > - (home-page "https://www.clifford.at/icestorm/") > - (synopsis "Project IceStorm - Lattice iCE40 FPGAs bitstream tools") > - (description "Project IceStorm - Lattice iCE40 FPGAs Bitstream Tools. > -Includes the actual FTDI connector.") > - (license license:isc)))) > + (let ((commit "3cdcf4b009bb8681ab7e2e09d65043f04334b60e") > + (revision "5")) > + (package > + (name "icestorm") > + (version (git-version "0.0" revision commit)) > + (source > + (origin > + (method git-fetch) > + (uri (git-reference > + (url "https://github.com/YosysHQ/icestorm/") > + (commit commit))) > + (file-name (git-file-name name version)) > + (sha256 > + (base32 "0ygp6cj7grlnyji572kx215p2mw4crllskif9g795f390bp38g68")))) > + (build-system gnu-build-system) > + (arguments > + (list > + #:tests? #f ; tests require nextpr-ice40, will be run in there > + #:make-flags > + #~(list (string-append "CC=" > + #$(cc-for-target)) > + (string-append "CXX=" > + #$(cxx-for-target)) > + (string-append "PREFIX=" > + #$output) > + "ICEPROG=1") > + #:phases > + #~(modify-phases %standard-phases > + (add-after 'unpack 'fix-usr-local > + (lambda* (#:key outputs #:allow-other-keys) > + (substitute* "icepack/Makefile" > + (("/usr/local") > + #$output)) > + (substitute* "icebox/Makefile" > + (("/usr/local") > + #$output)) > + (substitute* "icebox/icebox_vlog.py" > + (("/usr/local") > + #$output)))) > + (add-after 'build 'make-info > + (lambda* (#:key outputs #:allow-other-keys) > + (with-directory-excursion "docs" > + (invoke "make" "info") > + (install-file "build/texinfo/projecticestorm.info" > + (string-append #$output "/share/info")) > + (copy-recursively "build/texinfo/projecticestorm-figures" > + (string-append #$output > + "/share/info/projecticestorm-figures"))))) > + (delete 'configure)))) > + (inputs (list libftdi)) > + (native-inputs (list python > + pkg-config > + ;; doc > + texinfo > + python-sphinx > + python-sphinx-rtd-theme)) > + (home-page "https://prjicestorm.readthedocs.io/") > + (synopsis "Project IceStorm") > + (description > + "Project IceStorm aims at documenting the bitstream format of > +Lattice iCE40 FPGAs and providing simple tools for analyzing and creating bitstream > +files.") > + (license license:isc)))) I've done these adjustment on top: --8<---------------cut here---------------start------------->8--- modified gnu/packages/fpga.scm @@ -288,7 +288,7 @@ (define-public icestorm (build-system gnu-build-system) (arguments (list - #:tests? #f ; tests require nextpr-ice40, will be run in there + #:tests? #f ;avoid a cyclic dependency with nextpr-ice40 #:make-flags #~(list (string-append "CC=" #$(cc-for-target)) @@ -321,14 +321,13 @@ (define-public icestorm "/share/info/projecticestorm-figures"))))) (delete 'configure)))) (inputs (list libftdi)) - (native-inputs (list python - pkg-config - ;; doc - texinfo + (native-inputs (list pkg-config + python python-sphinx - python-sphinx-rtd-theme)) + python-sphinx-rtd-theme + texinfo)) (home-page "https://prjicestorm.readthedocs.io/") - (synopsis "Project IceStorm") + (synopsis "Bitstream tools for Lattice iCE40 FPGAs") (description "Project IceStorm aims at documenting the bitstream format of Lattice iCE40 FPGAs and providing simple tools for analyzing and creating bitstream --8<---------------cut here---------------end--------------->8--- The synopsis should describe what this *is* precisely, so the above seems more useful. I don't see value in splitting what native-inputs are used for anymore; this makes it harder to maintain in the long run, and its obvious that sphinx dependencies are used for generating doc. And pushed. Thank you! -- Maxim
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.