[PATCH 0/4] gnu: ucsim: Update to 0.8.0; other improvements.

  • Done
  • quality assurance status badge
Details
2 participants
  • Ludovic Courtès
  • Simon South
Owner
unassigned
Submitted by
Simon South
Severity
normal
S
S
Simon South wrote on 15 Sep 2023 16:22
(address . guix-patches@gnu.org)
cover.1694784333.git.simon@simonsouth.net
This patch series updates μCsim, a collection of software simulators for
various microcontroller families, to version 0.8.0.

It also tries to improve the package by

- Modernizing it with the use of gexps.

- Disabling tests. "make check" runs what is actually a regression-test
suite[0], which is of little value here as it doesn't stop or return an
error code when it encounters a problem. In fact it has been quietly
failing this entire time due to missing dependencies but because it doesn't
report any errors, no one noticed.

This change also eliminates the possibility of a circular dependency between
μCsim and SDCC, which will become important with a future patch to the sdcc
package.

- Moving the documentation to a separate "doc" output.

I've tested these changes on AArch64 and x86-64 and everything appears fine.

--
Simon South
simon@simonsouth.net

[0] Documented at


Simon South (4):
gnu: ucsim: Use gexps.
gnu: ucsim: Disable tests.
gnu: ucsim: Move documentation to "doc" output.
gnu: ucsim: Update to 0.8.0.

gnu/packages/embedded.scm | 47 ++++++++++++++++++++++-----------------
1 file changed, 27 insertions(+), 20 deletions(-)


base-commit: b696fb41bc0dfcb7130a5aa6d69aff2ae191c283
prerequisite-patch-id: 556b40aab19d0d1dd3e301115880883c329ee516
--
2.41.0
S
S
Simon South wrote on 15 Sep 2023 16:25
[PATCH 3/4] gnu: ucsim: Move documentation to "doc" output.
(address . 66001@debbugs.gnu.org)
4af5efd7ec061ee2ed93c77b638faf4da001a7d8.1694784333.git.simon@simonsouth.net
* gnu/packages/embedded.scm (ucsim)[arguments]<#:phases>: Expand
"patch-makefiles" phase to set correct documentation-installation path.
[outputs]: Add with "out", "doc".
---
gnu/packages/embedded.scm | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)

Toggle diff (29 lines)
diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm
index 80efe2363d..bee6ab6543 100644
--- a/gnu/packages/embedded.scm
+++ b/gnu/packages/embedded.scm
@@ -1527,7 +1527,13 @@ (define-public ucsim
(add-after 'unpack 'patch-makefiles
(lambda _
(substitute* (find-files "." "(\\.mk$|\\.in$)")
- (("/bin/sh") (which "sh"))))))
+ (("/bin/sh") (which "sh")))
+
+ ;; Ensure the documentation is installed to the correct path,
+ ;; without a duplicate "ucsim" segment (necessary as we are
+ ;; building μCsim outside of SDCC).
+ (substitute* "doc/Makefile.in"
+ (("@docdir@/ucsim") "@docdir@")))))
;; μCsim's regression-test suite is of little use in this context since
;; it doesn't stop or return an error code when it encounters a problem.
#:tests? #f))
@@ -1535,6 +1541,7 @@ (define-public ucsim
(list ncurses))
(native-inputs
(list bison flex))
+ (outputs '("out" "doc"))
(home-page "http://mazsola.iit.uni-miskolc.hu/ucsim/")
(synopsis "Simulators for various microcontroller families")
(description "μCsim is a collection of software simulators for
--
2.41.0
S
S
Simon South wrote on 15 Sep 2023 16:25
[PATCH 4/4] gnu: ucsim: Update to 0.8.0.
(address . 66001@debbugs.gnu.org)
bf8a5861e47c3e96f82aaf93e4f1cad4ce05ad21.1694784333.git.simon@simonsouth.net
* gnu/packages/embedded.scm (ucsim): Update to 0.8.0.
[source]: Update source URI.
[description]: Update.
---
gnu/packages/embedded.scm | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)

Toggle diff (43 lines)
diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm
index bee6ab6543..71ad50aa81 100644
--- a/gnu/packages/embedded.scm
+++ b/gnu/packages/embedded.scm
@@ -1509,16 +1509,16 @@ (define-public ebusd
(define-public ucsim
(package
(name "ucsim")
- (version "0.7.1")
+ (version "0.8.0")
(source (origin
(method url-fetch)
(uri (string-append
- "http://mazsola.iit.uni-miskolc.hu/ucsim/download/unix/"
- "source/v" (version-major+minor version) ".x/"
- "ucsim-" version ".tar.gz"))
+ "http://mazsola.iit.uni-miskolc.hu/ucsim/download/"
+ "v" (version-major+minor version) ".x/"
+ "ucsim_" version "_orig.tar.gz"))
(sha256
(base32
- "080471wvkjdzxz5j3zdaq1apjcj84ql50kn26b7p4ansixnimml4"))))
+ "0qyrrna2ssvwla15al183r9zqnqdxxlqawyhx9c86a10m8q8qqlz"))))
(build-system gnu-build-system)
(arguments
(list
@@ -1545,10 +1545,10 @@ (define-public ucsim
(home-page "http://mazsola.iit.uni-miskolc.hu/ucsim/")
(synopsis "Simulators for various microcontroller families")
(description "μCsim is a collection of software simulators for
-microcontrollers in the Atmel AVR; Intel MCS-51 (8051); MOS Technology 6502;
-Motorola 6800, 68HC08 and 6809; P1516; Padauk PDK13, PDK14 and PDK15;
-STMicroelectronics ST7 and STM8; Xilinx PicoBlaze; and Zilog Z80 families,
-plus many of their variants.")
+microcontrollers in the Atmel AVR; Fairchild F8; Intel MCS-51 (8051) and 8085;
+MOS Technology 6502; Motorola 6800, 6809, 68HC08, 68HC11 and 68HC12; P1516;
+Padauk PDK13, PDK14 and PDK15; STMicroelectronics ST7 and STM8; Xilinx
+PicoBlaze; and Zilog Z80 families, plus many of their variants.")
(license license:gpl2+)))
(define-public sdcc
--
2.41.0
S
S
Simon South wrote on 15 Sep 2023 16:25
[PATCH 2/4] gnu: ucsim: Disable tests.
(address . 66001@debbugs.gnu.org)
070bba289fae9c4da0d5e25394e9fbdb86be8091.1694784333.git.simon@simonsouth.net
* gnu/packages/embedded.scm (ucsim)[arguments]: Add #:tests?.
[native-inputs]: Remove sdcc unconditionally.
---
gnu/packages/embedded.scm | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)

Toggle diff (27 lines)
diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm
index 12c92d0e30..80efe2363d 100644
--- a/gnu/packages/embedded.scm
+++ b/gnu/packages/embedded.scm
@@ -1527,15 +1527,14 @@ (define-public ucsim
(add-after 'unpack 'patch-makefiles
(lambda _
(substitute* (find-files "." "(\\.mk$|\\.in$)")
- (("/bin/sh") (which "sh"))))))))
+ (("/bin/sh") (which "sh"))))))
+ ;; μCsim's regression-test suite is of little use in this context since
+ ;; it doesn't stop or return an error code when it encounters a problem.
+ #:tests? #f))
(inputs
(list ncurses))
(native-inputs
- (append (list bison flex)
- ;; Certain tests use assemblers provided by SDCC.
- (if (not (%current-target-system))
- (list sdcc)
- '())))
+ (list bison flex))
(home-page "http://mazsola.iit.uni-miskolc.hu/ucsim/")
(synopsis "Simulators for various microcontroller families")
(description "μCsim is a collection of software simulators for
--
2.41.0
S
S
Simon South wrote on 15 Sep 2023 16:25
[PATCH 1/4] gnu: ucsim: Use gexps.
(address . 66001@debbugs.gnu.org)
5462007739ad4020a005fcd71d298dcdbd0f2c95.1694784333.git.simon@simonsouth.net
* gnu/packages/embedded.scm (ucsim)[arguments]: Use gexp.
---
gnu/packages/embedded.scm | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)

Toggle diff (26 lines)
diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm
index 325013a627..12c92d0e30 100644
--- a/gnu/packages/embedded.scm
+++ b/gnu/packages/embedded.scm
@@ -1521,12 +1521,13 @@ (define-public ucsim
"080471wvkjdzxz5j3zdaq1apjcj84ql50kn26b7p4ansixnimml4"))))
(build-system gnu-build-system)
(arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch-makefiles
- (lambda _
- (substitute* (find-files "." "(\\.mk$|\\.in$)")
- (("/bin/sh") (which "sh"))))))))
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-makefiles
+ (lambda _
+ (substitute* (find-files "." "(\\.mk$|\\.in$)")
+ (("/bin/sh") (which "sh"))))))))
(inputs
(list ncurses))
(native-inputs
--
2.41.0
S
S
Simon South wrote on 27 Sep 2023 16:55
[PATCH v2 1/4] gnu: ucsim: Use gexps.
(address . 66001@debbugs.gnu.org)
29a0289b38cdf1d0ea55458398ef05ed879891ad.1695823937.git.simon@simonsouth.net
* gnu/packages/embedded.scm (ucsim)[arguments]: Use gexp.
---
gnu/packages/embedded.scm | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)

Toggle diff (26 lines)
diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm
index 46a9a3a70a..9d07bc4a55 100644
--- a/gnu/packages/embedded.scm
+++ b/gnu/packages/embedded.scm
@@ -1604,12 +1604,13 @@ (define-public ucsim
"080471wvkjdzxz5j3zdaq1apjcj84ql50kn26b7p4ansixnimml4"))))
(build-system gnu-build-system)
(arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch-makefiles
- (lambda _
- (substitute* (find-files "." "(\\.mk$|\\.in$)")
- (("/bin/sh") (which "sh"))))))))
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-makefiles
+ (lambda _
+ (substitute* (find-files "." "(\\.mk$|\\.in$)")
+ (("/bin/sh") (which "sh"))))))))
(inputs
(list ncurses))
(native-inputs
--
2.41.0
S
S
Simon South wrote on 27 Sep 2023 16:55
[PATCH v2 4/4] gnu: ucsim: Update to 0.8.0.
(address . 66001@debbugs.gnu.org)
2ef55ec35b12368bd1ee60b300b9f3dc7ae3b35a.1695823937.git.simon@simonsouth.net
* gnu/packages/embedded.scm (ucsim): Update to 0.8.0.
[source]: Update source URI.
[description]: Update.
---
gnu/packages/embedded.scm | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)

Toggle diff (43 lines)
diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm
index 6a21a71d07..040290f94e 100644
--- a/gnu/packages/embedded.scm
+++ b/gnu/packages/embedded.scm
@@ -1592,16 +1592,16 @@ (define-public ebusd
(define-public ucsim
(package
(name "ucsim")
- (version "0.7.1")
+ (version "0.8.0")
(source (origin
(method url-fetch)
(uri (string-append
- "http://mazsola.iit.uni-miskolc.hu/ucsim/download/unix/"
- "source/v" (version-major+minor version) ".x/"
- "ucsim-" version ".tar.gz"))
+ "http://mazsola.iit.uni-miskolc.hu/ucsim/download/"
+ "v" (version-major+minor version) ".x/"
+ "ucsim_" version "_orig.tar.gz"))
(sha256
(base32
- "080471wvkjdzxz5j3zdaq1apjcj84ql50kn26b7p4ansixnimml4"))))
+ "0qyrrna2ssvwla15al183r9zqnqdxxlqawyhx9c86a10m8q8qqlz"))))
(build-system gnu-build-system)
(arguments
(list
@@ -1628,10 +1628,10 @@ (define-public ucsim
(home-page "http://mazsola.iit.uni-miskolc.hu/ucsim/")
(synopsis "Simulators for various microcontroller families")
(description "μCsim is a collection of software simulators for
-microcontrollers in the Atmel AVR; Intel MCS-51 (8051); MOS Technology 6502;
-Motorola 6800, 68HC08 and 6809; P1516; Padauk PDK13, PDK14 and PDK15;
-STMicroelectronics ST7 and STM8; Xilinx PicoBlaze; and Zilog Z80 families,
-plus many of their variants.")
+microcontrollers in the Atmel AVR; Fairchild F8; Intel MCS-51 (8051) and 8085;
+MOS Technology 6502; Motorola 6800, 6809, 68HC08, 68HC11 and 68HC12; P1516;
+Padauk PDK13, PDK14 and PDK15; STMicroelectronics ST7 and STM8; Xilinx
+PicoBlaze; and Zilog Z80 families, plus many of their variants.")
(license license:gpl2+)))
(define-public sdcc
--
2.41.0
S
S
Simon South wrote on 27 Sep 2023 16:55
[PATCH v2 3/4] gnu: ucsim: Move documentation to "doc" output.
(address . 66001@debbugs.gnu.org)
7939dfd0b6334965028b4bc44c41e3c8d1623092.1695823937.git.simon@simonsouth.net
* gnu/packages/embedded.scm (ucsim)[arguments]<#:phases>: Expand
"patch-makefiles" phase to set correct documentation-installation path.
[outputs]: Add with "out", "doc".
---
gnu/packages/embedded.scm | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)

Toggle diff (29 lines)
diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm
index 517e5bcbf2..6a21a71d07 100644
--- a/gnu/packages/embedded.scm
+++ b/gnu/packages/embedded.scm
@@ -1610,7 +1610,13 @@ (define-public ucsim
(add-after 'unpack 'patch-makefiles
(lambda _
(substitute* (find-files "." "(\\.mk$|\\.in$)")
- (("/bin/sh") (which "sh"))))))
+ (("/bin/sh") (which "sh")))
+
+ ;; Ensure the documentation is installed to the correct path,
+ ;; without a duplicate "ucsim" segment (necessary as we are
+ ;; building μCsim outside of SDCC).
+ (substitute* "doc/Makefile.in"
+ (("@docdir@/ucsim") "@docdir@")))))
;; μCsim's regression-test suite is of little use in this context since
;; it doesn't stop or return an error code when it encounters a problem.
#:tests? #f))
@@ -1618,6 +1624,7 @@ (define-public ucsim
(list ncurses))
(native-inputs
(list bison flex))
+ (outputs '("out" "doc"))
(home-page "http://mazsola.iit.uni-miskolc.hu/ucsim/")
(synopsis "Simulators for various microcontroller families")
(description "μCsim is a collection of software simulators for
--
2.41.0
S
S
Simon South wrote on 27 Sep 2023 16:55
[PATCH v2 0/4] gnu: ucsim: Update to 0.8.0; other improvements.
(address . 66001@debbugs.gnu.org)
cover.1695823937.git.simon@simonsouth.net
I'm resubmitting this patch series rebased directly against master in the hope
it will prompt qa.guix.gnu.org to pick it up for building.

Otherwise the series is entirely unchanged.

For convenience, here's the original cover letter:

This patch series updates μCsim, a collection of software simulators for
various microcontroller families, to version 0.8.0.

It also tries to improve the package by

- Modernizing it with the use of gexps.

- Disabling tests. "make check" runs what is actually a regression-test
suite[0], which is of little value here as it doesn't stop or return an
error code when it encounters a problem. In fact it has been quietly
failing this entire time due to missing dependencies but because it doesn't
report any errors, no one noticed.

This change also eliminates the possibility of a circular dependency between
μCsim and SDCC, which will become important with a future patch to the sdcc
package.

- Moving the documentation to a separate "doc" output.

I've tested these changes on AArch64 and x86-64 and everything appears fine.

--
Simon South
simon@simonsouth.net

[0] Documented at


Simon South (4):
gnu: ucsim: Use gexps.
gnu: ucsim: Disable tests.
gnu: ucsim: Move documentation to "doc" output.
gnu: ucsim: Update to 0.8.0.

gnu/packages/embedded.scm | 47 ++++++++++++++++++++++-----------------
1 file changed, 27 insertions(+), 20 deletions(-)


base-commit: ce0cc6137df81919389f61671096a6ce701c0889
--
2.41.0
S
S
Simon South wrote on 27 Sep 2023 16:55
[PATCH v2 2/4] gnu: ucsim: Disable tests.
(address . 66001@debbugs.gnu.org)
af431f6de0f03acf75562f8a017075284c58b134.1695823937.git.simon@simonsouth.net
* gnu/packages/embedded.scm (ucsim)[arguments]: Add #:tests?.
[native-inputs]: Remove sdcc unconditionally.
---
gnu/packages/embedded.scm | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)

Toggle diff (27 lines)
diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm
index 9d07bc4a55..517e5bcbf2 100644
--- a/gnu/packages/embedded.scm
+++ b/gnu/packages/embedded.scm
@@ -1610,15 +1610,14 @@ (define-public ucsim
(add-after 'unpack 'patch-makefiles
(lambda _
(substitute* (find-files "." "(\\.mk$|\\.in$)")
- (("/bin/sh") (which "sh"))))))))
+ (("/bin/sh") (which "sh"))))))
+ ;; μCsim's regression-test suite is of little use in this context since
+ ;; it doesn't stop or return an error code when it encounters a problem.
+ #:tests? #f))
(inputs
(list ncurses))
(native-inputs
- (append (list bison flex)
- ;; Certain tests use assemblers provided by SDCC.
- (if (not (%current-target-system))
- (list sdcc)
- '())))
+ (list bison flex))
(home-page "http://mazsola.iit.uni-miskolc.hu/ucsim/")
(synopsis "Simulators for various microcontroller families")
(description "μCsim is a collection of software simulators for
--
2.41.0
L
L
Ludovic Courtès wrote on 28 Sep 2023 11:32
Re: bug#66001: [PATCH 0/4] gnu: ucsim: Update to 0.8.0; other improvements.
(name . Simon South)(address . simon@simonsouth.net)(address . 66001-done@debbugs.gnu.org)
87h6ney76a.fsf_-_@gnu.org
Hi,

Simon South <simon@simonsouth.net> skribis:

Toggle quote (3 lines)
> I'm resubmitting this patch series rebased directly against master in the hope
> it will prompt qa.guix.gnu.org to pick it up for building.

It did the trick.

Toggle quote (5 lines)
> gnu: ucsim: Use gexps.
> gnu: ucsim: Disable tests.
> gnu: ucsim: Move documentation to "doc" output.
> gnu: ucsim: Update to 0.8.0.

Applied, thanks!

Ludo’.
Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 66001@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 66001
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch