From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Kost Subject: [PATCH] emacs: Use 'build-and-use-profile' from (guix scripts package). Date: Fri, 25 Mar 2016 11:48:09 +0300 Message-ID: <87egazdjue.fsf@gmail.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:51996) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ajNPi-0001jT-IS for guix-devel@gnu.org; Fri, 25 Mar 2016 04:48:15 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ajNPf-0004Ws-Cx for guix-devel@gnu.org; Fri, 25 Mar 2016 04:48:14 -0400 Received: from mail-lb0-x22f.google.com ([2a00:1450:4010:c04::22f]:33708) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ajNPf-0004Wa-03 for guix-devel@gnu.org; Fri, 25 Mar 2016 04:48:11 -0400 Received: by mail-lb0-x22f.google.com with SMTP id oe12so45292636lbc.0 for ; Fri, 25 Mar 2016 01:48:10 -0700 (PDT) Received: from leviafan ([217.107.192.146]) by smtp.gmail.com with ESMTPSA id d131sm1831665lfg.27.2016.03.25.01.48.09 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 25 Mar 2016 01:48:09 -0700 (PDT) List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: guix-devel@gnu.org --=-=-= Content-Type: text/plain This is to remove code duplication in "emacs/guix-main.scm" and "guix/scripts/package.scm" ('build-and-use-profile' did not exist until commits 1b67644 and d1ac5c0). The only important (or maybe not) difference is: (set-guile-for-build (default-guile)) in "guix-main.scm" which does not exist in 'build-and-use-profile'. It was introduced in commit 4ad2e76 and I don't really understand why it is needed. --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0001-emacs-Use-build-and-use-profile-from-guix-scripts-pa.patch >From df96e6019edbddea09849105b2ed59059109d860 Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Fri, 25 Mar 2016 11:27:18 +0300 Subject: [PATCH] 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. --- emacs/guix-main.scm | 36 ++++++++---------------------------- guix/scripts/package.scm | 3 ++- 2 files changed, 10 insertions(+), 29 deletions(-) diff --git a/emacs/guix-main.scm b/emacs/guix-main.scm index 86cedfd..bcff9ce 100644 --- a/emacs/guix-main.scm +++ b/emacs/guix-main.scm @@ -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 - #: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))))))))))) + (set-build-options store + #:print-build-trace #f + #:use-substitutes? use-substitutes?) + (show-manifest-transaction store manifest transaction + #:dry-run? dry-run?) + (build-and-use-profile store profile new-manifest + #:use-substitutes? use-substitutes? + #:dry-run? dry-run?))))) (define (delete-generations* profile generations) "Delete GENERATIONS from PROFILE. diff --git a/guix/scripts/package.scm b/guix/scripts/package.scm index 1d88b33..697afc1 100644 --- a/guix/scripts/package.scm +++ b/guix/scripts/package.scm @@ -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)) -- 2.6.3 --=-=-=--