emacs: Use 'build-and-use-profile' from (guix scripts package).

* guix/scripts/package.scm: Export 'build-and-use-profile'.
* emacs/guix-main.scm (process-package-actions): Use it.
This commit is contained in:
Alex Kost 2016-03-25 11:27:18 +03:00
parent 2fc629ddc4
commit 5f2928456b
2 changed files with 10 additions and 29 deletions

View File

@ -917,34 +917,14 @@ OUTPUTS is a list of package outputs (may be an empty list)."
manifest transaction)))
(unless (and (null? install) (null? remove))
(with-store store
(let* ((derivation (run-with-store store
(mbegin %store-monad
(set-guile-for-build (default-guile))
(profile-derivation new-manifest))))
(derivations (list derivation))
(new-profile (derivation->output-path derivation)))
(set-build-options store
#:print-build-trace #f
#:use-substitutes? use-substitutes?)
(show-manifest-transaction store manifest transaction
#:dry-run? dry-run?)
(show-what-to-build store derivations
(build-and-use-profile store profile new-manifest
#:use-substitutes? use-substitutes?
#:dry-run? dry-run?)
(unless dry-run?
(let ((name (generation-file-name
profile
(+ 1 (generation-number profile)))))
(and (build-derivations store derivations)
(let* ((entries (manifest-entries new-manifest))
(count (length entries)))
(switch-symlinks name new-profile)
(switch-symlinks profile name)
(format #t (N_ "~a package in profile~%"
"~a packages in profile~%"
count)
count)
(display-search-paths entries (list profile)))))))))))
#:dry-run? dry-run?)))))
(define (delete-generations* profile generations)
"Delete GENERATIONS from PROFILE.

View File

@ -47,7 +47,8 @@
#:autoload (gnu packages base) (canonical-package)
#:autoload (gnu packages guile) (guile-2.0)
#:autoload (gnu packages bootstrap) (%bootstrap-guile)
#:export (delete-generations
#:export (build-and-use-profile
delete-generations
display-search-paths
guix-package))