Subject: packages->manifest can lose the desired package output

From: Efraim Flashner <[email-masked]>
Date: Fri, 10 Sep 2021 12:34:21 +0300

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 [email-masked] gnu/packages/version-control.scm:176 7f730e918320>
$15 = "send-email"
(ins)scheme@(guile-user)> (list (specification->package+output "git:send-email"))
$16 = (#<package [email-masked] gnu/packages/version-control.scm:176 7f730e918320>)
(ins)scheme@(guile-user)> (list (specification->package+output "git"))
$17 = (#<package [email-masked] 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".

-- 
Efraim Flashner   <[email-masked]>   רנשלפ םירפא
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted