GNU bug report logs -
#50501
packages->manifest can lose the desired package output
Previous Next
Full log
View this message in rfc822 format
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.