guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#26652: [PATCH 1/2] profiles: Add manifest->packages.


From: Ludovic Courtès
Subject: bug#26652: [PATCH 1/2] profiles: Add manifest->packages.
Date: Wed, 03 May 2017 21:59:40 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux)

Mathieu Othacehe <address@hidden> skribis:

> * 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 <address@hidden>
>  ;;; Copyright © 2017 Huang Ying <address@hidden>
>  ;;; Copyright © 2017 Maxim Cournoyer <address@hidden>
> +;;; Copyright © 2017 Mathieu Othacehe <address@hidden>
>  ;;;
>  ;;; 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))))

You can remove ‘delete-duplicates’ IMO.

Since this procedure has special semantics (it omits non-package-object
entries), what about keeping it private in (guix scripts refresh)?

Ludo’.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]