build systems cannot set default outputs other than "out"

OpenSubmitted by Ricardo Wurmus.
Details
2 participants
  • Ludovic Courtès
  • Ricardo Wurmus
Owner
unassigned
Severity
normal
R
R
Ricardo Wurmus wrote on 28 May 2020 00:02
(address . bug-guix@gnu.org)
87r1v5hw9r.fsf@elephly.net
For the haskell-build-system I want to offer two outputs by default:
"out" and "static". However, the build system has no way to override
the default as (@ (guix packages) package->bag) passes the package’s
“outputs” value to make-bag.

When the package doesn’t define a value for “outputs”, the default
'("out") is used. I suggest removing the default value from the
<package> record, so that the build system defaults have a chance.

--
Ricardo
L
L
Ludovic Courtès wrote on 31 May 2020 23:16
(name . Ricardo Wurmus)(address . rekado@elephly.net)(address . 41569@debbugs.gnu.org)
87blm3rejs.fsf@gnu.org
Hi,

Ricardo Wurmus <rekado@elephly.net> skribis:

Toggle quote (5 lines)
> For the haskell-build-system I want to offer two outputs by default:
> "out" and "static". However, the build system has no way to override
> the default as (@ (guix packages) package->bag) passes the package’s
> “outputs” value to make-bag.

Ah.

Toggle quote (4 lines)
> When the package doesn’t define a value for “outputs”, the default
> '("out") is used. I suggest removing the default value from the
> <package> record, so that the build system defaults have a chance.

Problem is, we don’t want to add an ‘outputs’ line to each and every
package definition. So how can we deal with that?

We could have a special trick where ‘outputs’ defaults to a special
value and ‘package-outputs’ actually asks the build system what the
default outputs are.

Thoughts?

Ludo’.
?