Jakub Kądziołka <k...@kadziolka.net> writes:

> On Thu, Aug 06, 2020 at 10:13:46AM +0200, Ricardo Wurmus wrote:
>> Number 4 is by far the ugliest change of them all.  In order to
>> statically link packages we need to add all the “static” outputs of all
>> Haskell inputs *and* the “static” outputs of *their* Haskell inputs.
>> This is not easily accomplished, so I ended up using “package-closure”
>> on all direct inputs, and then filtered the result to packages with
>> names starting with “ghc-”.  If there was a more appropriate tool I’d
>> use it, but I don’t think it exists.
>
> Perhaps we should work on making propagated-inputs per-output? That way,
> :static could propagate the :static output of the dependencies.
>
> This would also be useful in other situations. For example, a package
> might contain both a binary and a library, and the library must
> propagate its dependencies to make the header files work.
>
> I don't know what a good syntax for this would be.

The binary / library problem is particularly interesting to me as we
have a few Python bioinfo tools that also work as libraries.  When used
as a library we need propagation, but when uses as command line tools
propagation is not needed (and can be harmful due to the effects on
PYTHONPATH).

Syntax seems less important than verifying that this actually works,
though.  Alas, as someone who has committed and encouraged syntactic
crimes with excessive reader macros, I think my vote on syntax carries
no weight :)

-- 
Ricardo

Reply via email to