From 18e0136136da0c9ef65dee83b9770e42ea42af75 Mon Sep 17 00:00:00 2001 From: David Thompson Date: Mon, 15 Jun 2015 21:40:02 -0400 Subject: package: Adjust profile generation creation to current API. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * guix-web/package.scm (install-new-profile-generation): New procedure. (package-install): Use it. Call 'set-guile-for-build' before 'profile-derivation'. Written-By: Ludovic Courtès --- guix/web/package.scm | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/guix/web/package.scm b/guix/web/package.scm index 5fcfe51..e91a59c 100644 --- a/guix/web/package.scm +++ b/guix/web/package.scm @@ -50,21 +50,26 @@ (unless (string=? profile %profile) (add-indirect-root store (canonicalize-path profile)))) +(define (install-new-profile-generation profile prof) + "Let PROF become the new generation of PROFILE." + (let* ((number (generation-number profile)) + (name (generation-file-name profile (+ 1 number)))) + (switch-symlinks name prof) + (switch-symlinks profile name) + ;; (maybe-register-gc-root (%store) profile) + )) + (define (package-install package) (with-store %store (let* ((new (manifest-add manifest (list (package->manifest-entry package)))) (prof-drv (run-with-store %store - (profile-derivation new))) - (prof (derivation->output-path prof-drv))) - (let* ((number (generation-number %profile)) - (name (generation-file-name %profile - (+ 1 number)))) - (and (build-derivations %store (list prof-drv)) - (let* ((entries (manifest-entries new)) - (count (length entries))) - (switch-symlinks name prof) - (switch-symlinks %profile name))))))) + (mbegin %store-monad + (set-guile-for-build (default-guile)) + (profile-derivation new)))) + (prof (derivation->output-path prof-drv))) + (and (build-derivations %store (list prof-drv)) + (install-new-profile-generation %profile prof))))) (define (profile-generations*) (map (lambda (n) -- cgit v1.2.3