[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
01/07: gnu: base: Add cautionary comments for canonical-package, %final-
From: |
guix-commits |
Subject: |
01/07: gnu: base: Add cautionary comments for canonical-package, %final-inputs usage. |
Date: |
Tue, 20 Feb 2024 22:38:44 -0500 (EST) |
apteryx pushed a commit to branch core-updates
in repository guix.
commit 35719f7c7df5b08cd3afeea908a696cc65de41f9
Author: Maxim Cournoyer <maxim.cournoyer@gmail.com>
AuthorDate: Thu Feb 1 12:51:07 2024 -0500
gnu: base: Add cautionary comments for canonical-package, %final-inputs
usage.
* gnu/packages/base.scm (canonical-package, %final-inputs): Add comments.
Change-Id: I8b2f5802127dbde169850a7931a64fb5eb503b7c
---
gnu/packages/base.scm | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index deda116964..cffc99d4cc 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -82,6 +82,10 @@
libc-utf8-locales-for-target
make-ld-wrapper
libiconv-if-needed
+
+ ;; Beware: the following should not be used the top level to avoid
+ ;; introducing circular module dependencies.
+ canonical-package
%final-inputs))
;;; Commentary:
@@ -1720,12 +1724,18 @@ package needs iconv ,@(libiconv-if-needed) should be
added."
(list libiconv)
'()))
-(define-public (canonical-package package)
+;;; Beware: canonical-package should not be used at the top level, to avoid
+;;; eagerly resolving (gnu packages commencement), which would introduce
+;;; circular module dependencies.
+(define (canonical-package package)
;; Avoid circular dependency by lazily resolving 'commencement'.
(let* ((iface (resolve-interface '(gnu packages commencement)))
(proc (module-ref iface 'canonical-package)))
(proc package)))
+;;; Beware: %final-inputs should not be used at the top level, to avoid
+;;; eagerly resolving (gnu packages commencement), which would introduce
+;;; circular module dependencies.
(define* (%final-inputs #:optional (system (%current-system)))
"Return the list of \"final inputs\"."
;; Avoid circular dependency by lazily resolving 'commencement'.
- branch core-updates updated (05e99036dc -> f5a867765b), guix-commits, 2024/02/20
- 02/07: gnu: commencement: Do not export unused make-gcc-toolchain., guix-commits, 2024/02/20
- 01/07: gnu: base: Add cautionary comments for canonical-package, %final-inputs usage.,
guix-commits <=
- 03/07: refresh: Import %final-inputs from (gnu packages base)., guix-commits, 2024/02/20
- 04/07: gnu: eudev: Update to 3.2.14., guix-commits, 2024/02/20
- 05/07: gnu: shepherd: Update alias to shepherd-0.10., guix-commits, 2024/02/20
- 07/07: gnu: elogind: Reinstate test-user-util test., guix-commits, 2024/02/20
- 06/07: gnu: mold: Update to 2.4.0., guix-commits, 2024/02/20