emacs-bug-tracker
[Top][All Lists]
Advanced

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

bug#52961: closed ([PATCH] home: import: Fix handling of manifest entrie


From: GNU bug Tracking System
Subject: bug#52961: closed ([PATCH] home: import: Fix handling of manifest entries with specific output.)
Date: Wed, 05 Jan 2022 22:09:02 +0000

Your message dated Wed, 05 Jan 2022 23:08:39 +0100
with message-id <87bl0pj0ns.fsf@gnu.org>
and subject line Re: bug#52961: [PATCH] home: import: Fix handling of manifest 
entries with specific output.
has caused the debbugs.gnu.org bug report #52961,
regarding [PATCH] home: import: Fix handling of manifest entries with specific 
output.
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs@gnu.org.)


-- 
52961: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=52961
GNU Bug Tracking System
Contact help-debbugs@gnu.org with problems
--- Begin Message --- Subject: [PATCH] home: import: Fix handling of manifest entries with specific output. Date: Sun, 2 Jan 2022 18:20:45 +0100
specification->package fails on manifest entries with specific outputs,
resulting in an invalid home configuration.  This changes the import command
to use specification->package+output instead.

* guix/scripts/home/import.scm (manifest+configuration-files->code): Make sure
manifest entries with specific output are also handled.
* tests/home-import.scm: Specify output in home environment manifest entry.
---
 guix/scripts/home/import.scm |  4 +++-
 tests/home-import.scm        | 14 ++++++++------
 2 files changed, 11 insertions(+), 7 deletions(-)

diff --git a/guix/scripts/home/import.scm b/guix/scripts/home/import.scm
index fbf89069a7..15bd3140ed 100644
--- a/guix/scripts/home/import.scm
+++ b/guix/scripts/home/import.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
 ;;; Copyright © 2021 Andrew Tropin <andrew@trop.in>
 ;;; Copyright © 2021 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2022 Arjan Adriaanse <arjan@adriaan.se>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -164,7 +165,8 @@ (define (manifest+configuration-files->code manifest
                         ,@(delete-duplicates (concatenate modules)))
 
            (home-environment
-            (packages (map specification->package ,packages))
+            (packages (map (compose list specification->package+output)
+                           ,packages))
             (services (list ,@services)))))))))
 
 (define* (import-manifest
diff --git a/tests/home-import.scm b/tests/home-import.scm
index 0bcdf8a469..6d373acf79 100644
--- a/tests/home-import.scm
+++ b/tests/home-import.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
+;;; Copyright © 2022 Arjan Adriaanse <arjan@adriaan.se>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -52,7 +53,8 @@ (define glibc
 (define gcc
   (manifest-entry
     (name "gcc")
-    (version "10.3.0")
+    (version "")
+    (output "lib")
     (item "/gnu/store/...")))
 
 ;; Helpers for checking and generating home environments.
@@ -101,8 +103,8 @@ (define-home-environment-matcher 
match-home-environment-no-services
      ('gnu 'services))
     ('home-environment
      ('packages
-      ('map 'specification->package
-            ('list "guile@2.0.9" "gcc" "glibc@2.19")))
+      ('map ('compose 'list 'specification->package+output)
+            ('list "guile@2.0.9" "gcc:lib" "glibc@2.19")))
      ('services
       ('list)))))
 
@@ -118,7 +120,7 @@ (define-home-environment-matcher 
match-home-environment-transformations
     ('home-environment
      ('packages
       ('list (transform ('specification->package "guile@2.0.9"))
-             ('specification->package "gcc")
+             ('list ('specification->package "gcc") "lib")
              ('specification->package "glibc@2.19")))
      ('services ('list)))))
 
@@ -130,7 +132,7 @@ (define-home-environment-matcher 
match-home-environment-no-services-nor-packages
      ('gnu 'services))
     ('home-environment
      ('packages
-      ('map 'specification->package
+      ('map ('compose 'list 'specification->package+output)
             ('list)))
      ('services
       ('list)))))
@@ -145,7 +147,7 @@ (define-home-environment-matcher 
match-home-environment-bash-service
      ('gnu 'home 'services 'shells))
     ('home-environment
      ('packages
-      ('map 'specification->package
+      ('map ('compose 'list 'specification->package+output)
             ('list)))
      ('services
       ('list ('service

base-commit: a655d731e2c1bb912aa52b6e00b0d69394aa2a3b
-- 
2.34.0




--- End Message ---
--- Begin Message --- Subject: Re: bug#52961: [PATCH] home: import: Fix handling of manifest entries with specific output. Date: Wed, 05 Jan 2022 23:08:39 +0100 User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux)
Hi,

Arjan Adriaanse <arjan@adriaan.se> skribis:

> specification->package fails on manifest entries with specific outputs,
> resulting in an invalid home configuration.  This changes the import command
> to use specification->package+output instead.
>
> * guix/scripts/home/import.scm (manifest+configuration-files->code): Make sure
> manifest entries with specific output are also handled.
> * tests/home-import.scm: Specify output in home environment manifest entry.

Applied, thanks for fixing it!

Ludo’.


--- End Message ---

reply via email to

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