GNU bug report logs -
#52961
[PATCH] home: import: Fix handling of manifest entries with specific output.
Previous Next
Reported by: Arjan Adriaanse <arjan <at> adriaan.se>
Date: Sun, 2 Jan 2022 17:23:01 UTC
Severity: normal
Tags: patch
Done: Ludovic Courtès <ludo <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your message dated Wed, 05 Jan 2022 23:08:39 +0100
with message-id <87bl0pj0ns.fsf <at> 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 <at> gnu.org.)
--
52961: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=52961
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
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 <at> yoctocell.xyz>
;;; Copyright © 2021 Andrew Tropin <andrew <at> trop.in>
;;; Copyright © 2021 Ludovic Courtès <ludo <at> gnu.org>
+;;; Copyright © 2022 Arjan Adriaanse <arjan <at> 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 <at> yoctocell.xyz>
+;;; Copyright © 2022 Arjan Adriaanse <arjan <at> 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 <at> 2.0.9" "gcc" "glibc <at> 2.19")))
+ ('map ('compose 'list 'specification->package+output)
+ ('list "guile <at> 2.0.9" "gcc:lib" "glibc <at> 2.19")))
('services
('list)))))
@@ -118,7 +120,7 @@ (define-home-environment-matcher match-home-environment-transformations
('home-environment
('packages
('list (transform ('specification->package "guile <at> 2.0.9"))
- ('specification->package "gcc")
+ ('list ('specification->package "gcc") "lib")
('specification->package "glibc <at> 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
[Message part 3 (message/rfc822, inline)]
Hi,
Arjan Adriaanse <arjan <at> 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’.
This bug report was last modified 3 years and 133 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.