GNU bug report logs - #50501
packages->manifest can lose the desired package output

Previous Next

Package: guix;

Reported by: Efraim Flashner <efraim <at> flashner.co.il>

Date: Fri, 10 Sep 2021 09:37:01 UTC

Severity: normal

Tags: notabug

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


Message #8 received at 50501 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: Efraim Flashner <efraim <at> flashner.co.il>, 50501 <at> debbugs.gnu.org
Subject: Re: packages->manifest can lose the desired package output
Date: Fri, 10 Sep 2021 16:26:25 +0200
Hi Efraim,

Am Freitag, den 10.09.2021, 12:34 +0300 schrieb Efraim Flashner:
> I've been fighting my manifest to try to get "git" and "git:send-
> email" both included, while using package transformations. For the
> sake of brevity, here's a stripped down version of my manifest:
> 
> (packages->manifest
>   (map specification->package+output
>     '("git" "git:send-email")))
> 
> Here's what I learned from some experimentation:
> 
> (cmd)scheme@(guile-user)> (specification->package+output "git:send-
> email")
> $14 = #<package git <at> 2.32.0 gnu/packages/version-control.scm:176
> 7f730e918320>
> $15 = "send-email"
> (ins)scheme@(guile-user)> (list (specification->package+output
> "git:send-email"))
> $16 = (#<package git <at> 2.32.0 gnu/packages/version-control.scm:176
> 7f730e918320>)
> (ins)scheme@(guile-user)> (list (specification->package+output
> "git"))
> $17 = (#<package git <at> 2.32.0 gnu/packages/version-control.scm:176
> 7f730e918320>)
> 
> Meanwhile, (specifications->manifest '("git" "git:send-email")) does
> actually return a manifest with both the "out" and the "send-email"
> outputs of git.
> 
> (package->manifest-entry (specification->package+output "git:send-
> email"))
> returns a manifest entry for "git:out" and
> (package->manifest-entry git "send-email") returns a manifest entry
> for
> "git:send-email".
I think for this use of specification->package+output you need to
compose it with list like (compose list specification->package+output). 
The reason you observe this behaviours is that specification-
>package+output returns multiple values, whereas package->manifest-
entry expects a single value which is either a package or a list of the
form (package "output").

Regards






This bug report was last modified 3 years and 308 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.