diff options
author | Ludovic Courtès <ludo@gnu.org> | 2017-06-26 22:23:11 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2017-06-26 22:52:06 +0200 |
commit | 6d382339de1c9fbe20ec056fb5200d5724a4aa44 (patch) | |
tree | 34f20217c6d9c09649bfb4a512d29925968d4699 /guix | |
parent | 94a400bebae48aebc35fb84aa0b134b25ce46e46 (diff) | |
download | gnu-guix-6d382339de1c9fbe20ec056fb5200d5724a4aa44.tar gnu-guix-6d382339de1c9fbe20ec056fb5200d5724a4aa44.tar.gz |
profiles: Add 'manifest-transaction-removal-candidate?'.
* guix/profiles.scm (manifest-transaction-removal-candidate?): New
procedure.
* tests/profiles.scm ("manifest-transaction-removal-candidate?"): New
test.
Diffstat (limited to 'guix')
-rw-r--r-- | guix/profiles.scm | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/guix/profiles.scm b/guix/profiles.scm index dcb5186c7a..056406e303 100644 --- a/guix/profiles.scm +++ b/guix/profiles.scm @@ -96,6 +96,7 @@ manifest-transaction-install-entry manifest-transaction-remove-pattern manifest-transaction-null? + manifest-transaction-removal-candidate? manifest-perform-transaction manifest-transaction-effects @@ -564,6 +565,12 @@ remove software." (($ <manifest-transaction> () ()) #t) (($ <manifest-transaction> _ _) #f))) +(define (manifest-transaction-removal-candidate? entry transaction) + "Return true if ENTRY is a candidate for removal in TRANSACTION." + (any (lambda (pattern) + ((entry-predicate pattern) entry)) + (manifest-transaction-remove transaction))) + (define (manifest-transaction-effects manifest transaction) "Compute the effect of applying TRANSACTION to MANIFEST. Return 4 values: the list of packages that would be removed, installed, upgraded, or downgraded |