[bug#77067,v3] gnu: icestorm: Update to 0.0-5.3cdcf4b.
Commit Message
* 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.
[native-inputs]: Replaced old style, add requirements for buildig the documentation.
[homepage]: Update url.
[synopsys]: Improve.
[description]: Improve.
Change-Id: I22d8adb52daac893bf7436fd86fefe0df18c7bf9
---
gnu/packages/fpga.scm | 108 +++++++++++++++++++++++++-----------------
1 file changed, 65 insertions(+), 43 deletions(-)
base-commit: 07c9a4273152deb128006b5ac2087d5fe30a5927
--
2.49.0
Comments
Hello,
Cayetano Santos <csantosb@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!
@@ -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))))
(define-public nextpnr-ice40
(let* ((version "0.7")