aboutsummaryrefslogtreecommitdiff
path: root/etc/manifests/ungraft.scm
diff options
context:
space:
mode:
Diffstat (limited to 'etc/manifests/ungraft.scm')
-rw-r--r--etc/manifests/ungraft.scm13
1 files changed, 7 insertions, 6 deletions
diff --git a/etc/manifests/ungraft.scm b/etc/manifests/ungraft.scm
index 3e42b98ece..5caef65d4c 100644
--- a/etc/manifests/ungraft.scm
+++ b/etc/manifests/ungraft.scm
@@ -35,15 +35,16 @@
(length result) (map package-full-name result))
result))
+(define ungraft
+ (package-mapping (lambda (p)
+ (or (package-replacement p) p))
+ #:deep? #t))
+
(manifest
(with-store store
- (let* ((grafted (grafted-packages))
- (ungraft-all (package-input-rewriting
- (map (lambda (package)
- `(,package . ,(package-replacement package)))
- grafted))))
+ (let ((grafted (grafted-packages)))
(map (lambda (package)
(manifest-entry
- (inherit (package->manifest-entry (ungraft-all package)))
+ (inherit (package->manifest-entry (ungraft package)))
(name (string-append (package-name package) "-ungrafted"))))
(dependents store grafted)))))