summaryrefslogtreecommitdiff
path: root/guix/profiles.scm
diff options
context:
space:
mode:
authorLeo Famulari <leo@famulari.name>2017-06-29 18:02:17 -0400
committerLeo Famulari <leo@famulari.name>2017-06-29 18:02:17 -0400
commit1024c8119c71ba3ec0122238e8d8254b08d29187 (patch)
treead12a1aac7f828791154a1786d4f245db71b46e9 /guix/profiles.scm
parent92cb946bd9d78cb8f6aa8418d505f52da6894ab4 (diff)
parent95bbaa02aa63bc5eae36f686f1ed9915663aa4cf (diff)
downloadguix-patches-1024c8119c71ba3ec0122238e8d8254b08d29187.tar
guix-patches-1024c8119c71ba3ec0122238e8d8254b08d29187.tar.gz
Merge branch 'master' into core-updates
Diffstat (limited to 'guix/profiles.scm')
-rw-r--r--guix/profiles.scm7
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