Subject: Re: [bug#32809] [PATCH 1/1] import: hackage: Do not repeat inputs in native-inputs.

From: Ricardo Wurmus <[email-masked]>
Date: Sat, 27 Oct 2018 20:16:12 +0200

Hi Arun,

>>> * guix/import/hackage.scm (hackage-module->sexp): Do not repeat inputs again
>>> in native-inputs. native-inputs should only contain packages that are not
>>> already listed in inputs.
>>
>> Aha?  When cross-compiling, will guix provide all the tools natively that are
>> listed in inputs? (rather than just the ones in native-inputs)
>
> That's a good question. I did not think of it, and I don't know the
> answer. Whenever I have packaged any package (Haskell packages,
> included) for Guix, I have taken care to not repeat the inputs in the
> native-inputs. Now that you mention this, I don't know if that was the
> right thing to do. WDYT?

Currently, the haskell-build-system says this about cross-building
packages:

    XXX: no cross-compilation

Until we have patches to add proper cross-compilation support to the
Haskell build system, I’d prefer to let the importer only keep packages
that are not already listed in the inputs.

This is probably the right thing to do.  It may even be correct to have
all Haskell *libraries* among the regular inputs and only test *tools*
be build-host native.

The Cabal format does not differ between these cases.  It only supports
specifications of different build targets with arbitrary names and
usually with full lists of dependencies, even if the dependencies might
be duplicates of those used for other build targets.

In short: the patch looks good to me.

Thanks!

--
Ricardo