From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:32775) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d305Z-0007C2-I0 for guix-patches@gnu.org; Tue, 25 Apr 2017 09:01:11 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1d305W-0007c9-HE for guix-patches@gnu.org; Tue, 25 Apr 2017 09:01:05 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:40772) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1d305W-0007c2-CF for guix-patches@gnu.org; Tue, 25 Apr 2017 09:01:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1d305W-0004oK-39 for guix-patches@gnu.org; Tue, 25 Apr 2017 09:01:02 -0400 Subject: bug#26652: [PATCH 1/2] profiles: Add manifest->packages. References: <20170425125810.7373-1-m.othacehe@gmail.com> In-Reply-To: <20170425125810.7373-1-m.othacehe@gmail.com> Resent-Message-ID: From: Mathieu Othacehe Date: Tue, 25 Apr 2017 15:00:23 +0200 Message-Id: <20170425130024.9481-1-m.othacehe@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: 26652@debbugs.gnu.org * guix/profiles.scm (manifest->packages): New exported procedure. --- guix/profiles.scm | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/guix/profiles.scm b/guix/profiles.scm index eb172ef45..157445407 100644 --- a/guix/profiles.scm +++ b/guix/profiles.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2016 Chris Marusich ;;; Copyright © 2017 Huang Ying ;;; Copyright © 2017 Maxim Cournoyer +;;; Copyright © 2017 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. ;;; @@ -94,6 +95,7 @@ profile-manifest package->manifest-entry packages->manifest + manifest->packages ca-certificate-bundle %default-profile-hooks profile-derivation @@ -203,6 +205,14 @@ denoting a specific output of a package." (package->manifest-entry package))) packages))) +(define (manifest->packages manifest) + "Return the list of packages in MANIFEST." + (delete-duplicates + (filter-map (lambda (entry) + (let ((item (manifest-entry-item entry))) + (if (package? item) item #f))) + (manifest-entries manifest)))) + (define (manifest->gexp manifest) "Return a representation of MANIFEST as a gexp." (define (entry->gexp entry) -- 2.12.2