From c9c51ac39aae7a4a49c8125916740f340fdfd4f7 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 12 Mar 2019 17:07:04 +0100 Subject: Revert "packages: 'package-input-rewriting' can take a promise." This reverts commit 7d2be1277b44de9d0528d9d3015443b40cb3b104, which turned out to be unhelpful for the problem at hand: https://lists.gnu.org/archive/html/guix-devel/2019-01/msg00486.html --- guix/packages.scm | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) (limited to 'guix') diff --git a/guix/packages.scm b/guix/packages.scm index 8515bb7c6f..f191327718 100644 --- a/guix/packages.scm +++ b/guix/packages.scm @@ -855,27 +855,19 @@ (define* (package-input-rewriting replacements #:optional (rewrite-name identity)) "Return a procedure that, when passed a package, replaces its direct and indirect dependencies (but not its implicit inputs) according to REPLACEMENTS. -REPLACEMENTS is a list of package pairs or a promise thereof; the first -element of each pair is the package to replace, and the second one is the -replacement. +REPLACEMENTS is a list of package pairs; the first element of each pair is the +package to replace, and the second one is the replacement. Optionally, REWRITE-NAME is a one-argument procedure that takes the name of a package and returns its new name after rewrite." (define (rewrite p) - (match (assq-ref (if (promise? replacements) - (force replacements) - replacements) - p) + (match (assq-ref replacements p) (#f (package (inherit p) (name (rewrite-name (package-name p))))) (new new))) - (package-mapping rewrite - (lambda (package) - (assq package (if (promise? replacements) - (force replacements) - replacements))))) + (package-mapping rewrite (cut assq <> replacements))) (define-syntax-rule (package/inherit p overrides ...) "Like (package (inherit P) OVERRIDES ...), except that the same -- cgit v1.2.3