[PATCH 0/3] gnu: ucsim: Update to 0.7.1.

  • Done
  • quality assurance status badge
Details
3 participants
  • Ludovic Courtès
  • Maxime Devos
  • Simon South
Owner
unassigned
Submitted by
Simon South
Severity
normal
S
S
Simon South wrote on 5 Mar 2022 13:56
(address . guix-patches@gnu.org)
cover.1646484354.git.simon@simonsouth.net
Here's a patch series that updates μCsim, a collection of software simulators
for various microcontroller families, to its latest version and fixes a couple
of small outstanding issues with its package definition.

I've tested this on AArch64 and x86-64 and all appears to be well.

--
Simon South
simon@simonsouth.net


Simon South (3):
gnu: ucsim: Don't run tests when cross-compiling.
gnu: ucsim: Don't explicitly return #t from phases.
gnu: ucsim: Update to 0.7.1.

gnu/packages/embedded.scm | 36 ++++++++++++++++++------------------
1 file changed, 18 insertions(+), 18 deletions(-)


base-commit: 97065f9fe3da74adab54b70e28bd2cd59c06ee07
--
2.34.0
S
S
Simon South wrote on 5 Mar 2022 13:58
[PATCH 1/3] gnu: ucsim: Don't run tests when cross-compiling.
(address . 54260@debbugs.gnu.org)
e45aa3e4c685d44ad2dd9c2c224451f06d8fb518.1646484354.git.simon@simonsouth.net
* gnu/packages/embedded.scm (ucsim)[arguments]: Skip tests when
cross-compiling.
---
gnu/packages/embedded.scm | 1 +
1 file changed, 1 insertion(+)

Toggle diff (14 lines)
diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm
index f7573618b9..43fba510da 100644
--- a/gnu/packages/embedded.scm
+++ b/gnu/packages/embedded.scm
@@ -1501,6 +1501,7 @@ (define-public ucsim
"--enable-m6809-port"
"--enable-p1516-port"
"--enable-st7-port")
+ #:tests? ,(not (%current-target-system)) ; run unless cross-compiling
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-makefiles
--
2.34.0
S
S
Simon South wrote on 5 Mar 2022 13:59
[PATCH 2/3] gnu: ucsim: Don't explicitly return #t from phases.
(address . 54260@debbugs.gnu.org)
49559efd0d392df29393ac7441b83f14c2840b21.1646484354.git.simon@simonsouth.net
* gnu/packages/embedded.scm (ucsim)[arguments]: Don't explicitly return #t
from phases.
---
gnu/packages/embedded.scm | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)

Toggle diff (22 lines)
diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm
index 43fba510da..1d232e471a 100644
--- a/gnu/packages/embedded.scm
+++ b/gnu/packages/embedded.scm
@@ -1507,13 +1507,11 @@ (define-public ucsim
(add-after 'unpack 'patch-makefiles
(lambda _
(substitute* (find-files "." "(\\.mk$|\\.in$)")
- (("/bin/sh") (which "sh")))
- #t))
+ (("/bin/sh") (which "sh")))))
(add-after 'install 'remove-empty-directory
(lambda* (#:key outputs #:allow-other-keys)
(delete-file-recursively
- (string-append (assoc-ref outputs "out") "/share/man"))
- #t)))))
+ (string-append (assoc-ref outputs "out") "/share/man")))))))
(native-inputs
(list bison flex))
(home-page "http://mazsola.iit.uni-miskolc.hu/ucsim/")
--
2.34.0
S
S
Simon South wrote on 5 Mar 2022 13:59
[PATCH 3/3] gnu: ucsim: Update to 0.7.1.
(address . 54260@debbugs.gnu.org)
a74d5e691f61479aba869eaa115589fc5d10ee77.1646484354.git.simon@simonsouth.net
* gnu/packages/embedded.scm (ucsim): Update to 0.7.1.
[source]: Update URI.
[arguments]<#:configure-flags>: Remove as all stable ports are now built by
default.
<#:phases>: Remove obsolete "remove-empty-directory" phase.
[inputs]: Add ncurses, needed for the serialview utility.
[native-inputs]: Add sdcc when needed for tests.
[description]: Update to mention newly supported microcontroller families.
---
gnu/packages/embedded.scm | 35 ++++++++++++++++++-----------------
1 file changed, 18 insertions(+), 17 deletions(-)

Toggle diff (72 lines)
diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm
index 1d232e471a..f93968dd59 100644
--- a/gnu/packages/embedded.scm
+++ b/gnu/packages/embedded.scm
@@ -56,6 +56,7 @@ (define-module (gnu packages embedded)
#:use-module (gnu packages libftdi)
#:use-module (gnu packages libusb)
#:use-module (gnu packages messaging)
+ #:use-module (gnu packages ncurses)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
@@ -1486,40 +1487,40 @@ (define-public ebusd
(define-public ucsim
(package
(name "ucsim")
- (version "0.6-pre68")
+ (version "0.7.1")
(source (origin
(method url-fetch)
(uri (string-append
"http://mazsola.iit.uni-miskolc.hu/ucsim/download/unix/"
- "devel/ucsim-" version ".tar.gz"))
+ "source/v" (version-major+minor version) ".x/"
+ "ucsim-" version ".tar.gz"))
(sha256
(base32
- "1bfj21f5pcfcg1xqqynlcfr8mn6qj5705cgc2lfr2s3n97qsd9df"))))
+ "080471wvkjdzxz5j3zdaq1apjcj84ql50kn26b7p4ansixnimml4"))))
(build-system gnu-build-system)
(arguments
- `(#:configure-flags '("--enable-avr-port"
- "--enable-m6809-port"
- "--enable-p1516-port"
- "--enable-st7-port")
- #:tests? ,(not (%current-target-system)) ; run unless cross-compiling
+ `(#:tests? ,(not (%current-target-system)) ; run unless cross-compiling
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-makefiles
(lambda _
(substitute* (find-files "." "(\\.mk$|\\.in$)")
- (("/bin/sh") (which "sh")))))
- (add-after 'install 'remove-empty-directory
- (lambda* (#:key outputs #:allow-other-keys)
- (delete-file-recursively
- (string-append (assoc-ref outputs "out") "/share/man")))))))
+ (("/bin/sh") (which "sh"))))))))
+ (inputs
+ (list ncurses))
(native-inputs
- (list bison flex))
+ (append (list bison flex)
+ ;; Certain tests use assemblers provided by SDCC.
+ (if (not (%current-target-system))
+ (list sdcc)
+ '())))
(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); Motorola 68HC08 and
-6809; P1516; Padauk PDK13, PDK14 and PDK15; STMicroelectronics ST7 and STM8;
-and Zilog Z80 families, plus many of their variants.")
+microcontrollers in the Atmel AVR; Intel MCS-51 (8051); Motorola 6800, 68HC08
+and 6809; MOS Technology 6502; P1516; Padauk PDK13, PDK14 and PDK15; Philips
+XA; STMicroelectronics ST7 and STM8; Xilinx PicoBlaze; and Zilog Z80 families,
+plus many of their variants.")
(license license:gpl2+)))
(define-public sdcc
--
2.34.0
M
M
Maxime Devos wrote on 5 Mar 2022 16:21
Re: [bug#54260] [PATCH 1/3] gnu: ucsim: Don't run tests when cross-compiling.
52ed5eaa9ef9beb279c7d94ee952a9c9463f1123.camel@telenet.be
Simon South schreef op za 05-03-2022 om 07:58 [-0500]:
Toggle quote (2 lines)
> +       #:tests? ,(not (%current-target-system)) ; run unless cross-compiling

#:tests? is #false by default when cross-compiling and #true by default
when compiling natively (with some exceptions, e.g. emacs-build-
system). You probably don't need to set this explicitly.

Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYiN/3BccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7kOMAP9hNNc72BIdigsYF4cBIUdOYkR2
6t6E7TULqbkZR9X8XgD9GGp35uY4p02NbIFw5XE3pXkBrtuwJX/aidC3KlqXpAg=
=8pq3
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 5 Mar 2022 16:23
Re: [bug#54260] [PATCH 2/3] gnu: ucsim: Don't explicitly return #t from phases.
d92fbc3ce1d4b637a41da621a37436b38d53b6a3.camel@telenet.be
Simon South schreef op za 05-03-2022 om 07:59 [-0500]:
Toggle quote (7 lines)
>           (add-after 'install 'remove-empty-directory
>             (lambda* (#:key outputs #:allow-other-keys)
>               (delete-file-recursively
> -              (string-append (assoc-ref outputs "out") "/share/man"))
> -             #t)))))
> +              (string-append (assoc-ref outputs "out") "/share/man")))))))

Additionally, you could make the #:configure-flags a G-exp and
eliminate input labels (or, in this case, output labels):

(list #:phases
#~(modify-phases ...
(add-after ... ...
(lambda _
... (string-append #$output "/share/man") ...))))

Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYiOAdxccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7n8zAQCKkYGr6Bg2IFUWk5qsfqivCP7A
k3t+7L8N8c1rVTN5ZQEA5DcRfOpCAVach6soAFs/trBAHYxPomnSlKp+b9C7pQQ=
=zcVr
-----END PGP SIGNATURE-----


S
S
Simon South wrote on 5 Mar 2022 17:39
(name . Maxime Devos)(address . maximedevos@telenet.be)(address . 54260@debbugs.gnu.org)
87czj073qt.fsf@simonsouth.net
Maxime Devos <maximedevos@telenet.be> writes:
Toggle quote (3 lines)
> Additionally, you could make the #:configure-flags a G-exp and
> eliminate input labels (or, in this case, output labels)

This occurred to me, but is it not better in this case to rely on the
"output" parameter passed into the procedure? Using "#$output" in this
context feels like a violation of the Law of Demeter, like using a
global variable where a local one would be appropriate.

I'll drop the first patch though; I'd missed seeing the definition of
"gnu-cross-build".

--
Simon South
simon@simonsouth.net
S
S
Simon South wrote on 8 Mar 2022 15:12
[PATCH v2 1/2] gnu: ucsim: Don't explicitly return #t from phases.
(address . 54260@debbugs.gnu.org)
7a21ce6c677c1776c82737a2a4b1c55e34aff1a1.1646747962.git.simon@simonsouth.net
* gnu/packages/embedded.scm (ucsim)[arguments]: Don't explicitly return #t
from phases.
---
gnu/packages/embedded.scm | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)

Toggle diff (22 lines)
diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm
index f7573618b9..7b219203be 100644
--- a/gnu/packages/embedded.scm
+++ b/gnu/packages/embedded.scm
@@ -1506,13 +1506,11 @@ (define-public ucsim
(add-after 'unpack 'patch-makefiles
(lambda _
(substitute* (find-files "." "(\\.mk$|\\.in$)")
- (("/bin/sh") (which "sh")))
- #t))
+ (("/bin/sh") (which "sh")))))
(add-after 'install 'remove-empty-directory
(lambda* (#:key outputs #:allow-other-keys)
(delete-file-recursively
- (string-append (assoc-ref outputs "out") "/share/man"))
- #t)))))
+ (string-append (assoc-ref outputs "out") "/share/man")))))))
(native-inputs
(list bison flex))
(home-page "http://mazsola.iit.uni-miskolc.hu/ucsim/")
--
2.34.0
S
S
Simon South wrote on 8 Mar 2022 15:12
[PATCH v2 0/2] gnu: ucsim: Update to 0.7.1.
(address . 54260@debbugs.gnu.org)
cover.1646747962.git.simon@simonsouth.net
Here's a revised version of this patchset that updates μCsim to 0.7.1.

I've responded to Maxime's feedback by dropping the first patch of the
original set, since tests are normally disabled anyway when cross-compiling.

The question of whether "#$output" ought to be used in the first patch of this
set turns out to be academic as the code in question is deleted by the second.

I've tested this again on AArch64 and x86-64 and all appears to be well.

--
Simon South
simon@simonsouth.net


Simon South (2):
gnu: ucsim: Don't explicitly return #t from phases.
gnu: ucsim: Update to 0.7.1.

gnu/packages/embedded.scm | 37 ++++++++++++++++++-------------------
1 file changed, 18 insertions(+), 19 deletions(-)


base-commit: 875053310277ccdcb82ff86edf013cd28e6778c8
--
2.34.0
S
S
Simon South wrote on 8 Mar 2022 15:12
[PATCH v2 2/2] gnu: ucsim: Update to 0.7.1.
(address . 54260@debbugs.gnu.org)
f135d4ed201fb9cf922fff2612fd0f55cada8530.1646747962.git.simon@simonsouth.net
* gnu/packages/embedded.scm (ucsim): Update to 0.7.1.
[source]: Update URI.
[arguments]<#:configure-flags>: Remove as all stable ports are now built by
default.
<#:phases>: Remove obsolete "remove-empty-directory" phase.
[inputs]: Add ncurses, needed for the serialview utility.
[native-inputs]: Add sdcc when needed for tests.
[description]: Update to mention newly supported microcontroller families.
---
gnu/packages/embedded.scm | 35 ++++++++++++++++++-----------------
1 file changed, 18 insertions(+), 17 deletions(-)

Toggle diff (71 lines)
diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm
index 7b219203be..e33cfb4be2 100644
--- a/gnu/packages/embedded.scm
+++ b/gnu/packages/embedded.scm
@@ -56,6 +56,7 @@ (define-module (gnu packages embedded)
#:use-module (gnu packages libftdi)
#:use-module (gnu packages libusb)
#:use-module (gnu packages messaging)
+ #:use-module (gnu packages ncurses)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
@@ -1486,39 +1487,39 @@ (define-public ebusd
(define-public ucsim
(package
(name "ucsim")
- (version "0.6-pre68")
+ (version "0.7.1")
(source (origin
(method url-fetch)
(uri (string-append
"http://mazsola.iit.uni-miskolc.hu/ucsim/download/unix/"
- "devel/ucsim-" version ".tar.gz"))
+ "source/v" (version-major+minor version) ".x/"
+ "ucsim-" version ".tar.gz"))
(sha256
(base32
- "1bfj21f5pcfcg1xqqynlcfr8mn6qj5705cgc2lfr2s3n97qsd9df"))))
+ "080471wvkjdzxz5j3zdaq1apjcj84ql50kn26b7p4ansixnimml4"))))
(build-system gnu-build-system)
(arguments
- `(#:configure-flags '("--enable-avr-port"
- "--enable-m6809-port"
- "--enable-p1516-port"
- "--enable-st7-port")
- #:phases
+ `(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-makefiles
(lambda _
(substitute* (find-files "." "(\\.mk$|\\.in$)")
- (("/bin/sh") (which "sh")))))
- (add-after 'install 'remove-empty-directory
- (lambda* (#:key outputs #:allow-other-keys)
- (delete-file-recursively
- (string-append (assoc-ref outputs "out") "/share/man")))))))
+ (("/bin/sh") (which "sh"))))))))
+ (inputs
+ (list ncurses))
(native-inputs
- (list bison flex))
+ (append (list bison flex)
+ ;; Certain tests use assemblers provided by SDCC.
+ (if (not (%current-target-system))
+ (list sdcc)
+ '())))
(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); Motorola 68HC08 and
-6809; P1516; Padauk PDK13, PDK14 and PDK15; STMicroelectronics ST7 and STM8;
-and Zilog Z80 families, plus many of their variants.")
+microcontrollers in the Atmel AVR; Intel MCS-51 (8051); Motorola 6800, 68HC08
+and 6809; MOS Technology 6502; P1516; Padauk PDK13, PDK14 and PDK15; Philips
+XA; STMicroelectronics ST7 and STM8; Xilinx PicoBlaze; and Zilog Z80 families,
+plus many of their variants.")
(license license:gpl2+)))
(define-public sdcc
--
2.34.0
S
S
Simon South wrote on 8 Mar 2022 16:52
[PATCH v3 0/2] gnu: ucsim: Update to 0.7.1.
(address . 54260@debbugs.gnu.org)
cover.1646754416.git.simon@simonsouth.net
Here's one minor, final revision that modifies the ucsim package's
"description" field to

- Keep the microprocessor families ordered by vendor name; and

- Drop mention of the Philips XA, which is actually an MCS-51 derivative.

Everything else remains the same.

--
Simon South
simon@simonsouth.net


Simon South (2):
gnu: ucsim: Don't explicitly return #t from phases.
gnu: ucsim: Update to 0.7.1.

gnu/packages/embedded.scm | 37 ++++++++++++++++++-------------------
1 file changed, 18 insertions(+), 19 deletions(-)


base-commit: 875053310277ccdcb82ff86edf013cd28e6778c8
--
2.34.0
S
S
Simon South wrote on 8 Mar 2022 16:52
[PATCH v3 1/2] gnu: ucsim: Don't explicitly return #t from phases.
(address . 54260@debbugs.gnu.org)
3c1363cc28e702fdcfb356ca3aba4f5e031e0773.1646754416.git.simon@simonsouth.net
* gnu/packages/embedded.scm (ucsim)[arguments]: Don't explicitly return #t
from phases.
---
gnu/packages/embedded.scm | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)

Toggle diff (22 lines)
diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm
index f7573618b9..7b219203be 100644
--- a/gnu/packages/embedded.scm
+++ b/gnu/packages/embedded.scm
@@ -1506,13 +1506,11 @@ (define-public ucsim
(add-after 'unpack 'patch-makefiles
(lambda _
(substitute* (find-files "." "(\\.mk$|\\.in$)")
- (("/bin/sh") (which "sh")))
- #t))
+ (("/bin/sh") (which "sh")))))
(add-after 'install 'remove-empty-directory
(lambda* (#:key outputs #:allow-other-keys)
(delete-file-recursively
- (string-append (assoc-ref outputs "out") "/share/man"))
- #t)))))
+ (string-append (assoc-ref outputs "out") "/share/man")))))))
(native-inputs
(list bison flex))
(home-page "http://mazsola.iit.uni-miskolc.hu/ucsim/")
--
2.34.0
S
S
Simon South wrote on 8 Mar 2022 16:52
[PATCH v3 2/2] gnu: ucsim: Update to 0.7.1.
(address . 54260@debbugs.gnu.org)
ec65af58cf2ea8cc2a712476b33dba8f26e18c79.1646754416.git.simon@simonsouth.net
* gnu/packages/embedded.scm (ucsim): Update to 0.7.1.
[source]: Update URI.
[arguments]<#:configure-flags>: Remove as all stable ports are now built by
default.
<#:phases>: Remove obsolete "remove-empty-directory" phase.
[inputs]: Add ncurses, needed for the serialview utility.
[native-inputs]: Add sdcc when needed for tests.
[description]: Update to mention newly supported microcontroller families.
---
gnu/packages/embedded.scm | 35 ++++++++++++++++++-----------------
1 file changed, 18 insertions(+), 17 deletions(-)

Toggle diff (71 lines)
diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm
index 7b219203be..f3d5e8fced 100644
--- a/gnu/packages/embedded.scm
+++ b/gnu/packages/embedded.scm
@@ -56,6 +56,7 @@ (define-module (gnu packages embedded)
#:use-module (gnu packages libftdi)
#:use-module (gnu packages libusb)
#:use-module (gnu packages messaging)
+ #:use-module (gnu packages ncurses)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
@@ -1486,39 +1487,39 @@ (define-public ebusd
(define-public ucsim
(package
(name "ucsim")
- (version "0.6-pre68")
+ (version "0.7.1")
(source (origin
(method url-fetch)
(uri (string-append
"http://mazsola.iit.uni-miskolc.hu/ucsim/download/unix/"
- "devel/ucsim-" version ".tar.gz"))
+ "source/v" (version-major+minor version) ".x/"
+ "ucsim-" version ".tar.gz"))
(sha256
(base32
- "1bfj21f5pcfcg1xqqynlcfr8mn6qj5705cgc2lfr2s3n97qsd9df"))))
+ "080471wvkjdzxz5j3zdaq1apjcj84ql50kn26b7p4ansixnimml4"))))
(build-system gnu-build-system)
(arguments
- `(#:configure-flags '("--enable-avr-port"
- "--enable-m6809-port"
- "--enable-p1516-port"
- "--enable-st7-port")
- #:phases
+ `(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-makefiles
(lambda _
(substitute* (find-files "." "(\\.mk$|\\.in$)")
- (("/bin/sh") (which "sh")))))
- (add-after 'install 'remove-empty-directory
- (lambda* (#:key outputs #:allow-other-keys)
- (delete-file-recursively
- (string-append (assoc-ref outputs "out") "/share/man")))))))
+ (("/bin/sh") (which "sh"))))))))
+ (inputs
+ (list ncurses))
(native-inputs
- (list bison flex))
+ (append (list bison flex)
+ ;; Certain tests use assemblers provided by SDCC.
+ (if (not (%current-target-system))
+ (list sdcc)
+ '())))
(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); Motorola 68HC08 and
-6809; P1516; Padauk PDK13, PDK14 and PDK15; STMicroelectronics ST7 and STM8;
-and Zilog Z80 families, plus many of their variants.")
+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.")
(license license:gpl2+)))
(define-public sdcc
--
2.34.0
L
L
Ludovic Courtès wrote on 11 Mar 2022 23:17
Re: bug#54260: [PATCH 0/3] gnu: ucsim: Update to 0.7.1.
(name . Simon South)(address . simon@simonsouth.net)(address . 54260-done@debbugs.gnu.org)
87czisw2ux.fsf_-_@gnu.org
Hi,

Simon South <simon@simonsouth.net> skribis:

Toggle quote (3 lines)
> gnu: ucsim: Don't explicitly return #t from phases.
> gnu: ucsim: Update to 0.7.1.

Applied. Thank you, and thanks Maxime for reviewing!

Ludo’.
Closed
M
M
Maxime Devos wrote on 11 Mar 2022 23:39
Re: [bug#54260] [PATCH 2/3] gnu: ucsim: Don't explicitly return #t from phases.
(name . Simon South)(address . simon@simonsouth.net)(address . 54260@debbugs.gnu.org)
ff4ffce2b1de597a4a8511b3146ccaa01a2442dd.camel@telenet.be
Simon South schreef op za 05-03-2022 om 11:39 [-0500]:
Toggle quote (5 lines)
> This occurred to me, but is it not better in this case to rely on the
> "output" parameter passed into the procedure?  Using "#$output" in this
> context feels like a violation of the Law of Demeter, like using a
> global variable where a local one would be appropriate.

'outputs' is an argument to the phase procedure, but as I understand
it, it is only due to historical reasons (G-exps are relatively new-
ish) and because the procedures in (guix build FOO-build-system) have
no other method for determining the outputs.

Might be a good idea to confirm with chief gexpologist ludo though.

Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYivPmRccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7qH1AP4i0eFy+IiOgu1QeJgzlCIcFfdk
LgPdzXKJUAkOYmfoJwEA8o4NMWyuhuuJ3PLlZX9K++7cOXxwyiseMNZ4SHR2uwQ=
=6QAj
-----END PGP SIGNATURE-----


?