Subject: [bug#27344] [PATCH v3 7/8] gnu: Add qucs.

From: [email-masked] (Ludovic Courtès)
Date: Fri, 13 Oct 2017 10:25:00 +0200

Theodoros Foradis <[email-masked]> skribis:

> Ludovic Courtès writes:
>
>> Hi,
>>
>> Theodoros Foradis <[email-masked]> skribis:
>>
>>> * gnu/packages/engineering.scm (qucs): New variable.
>>
>> [...]
>>
>>> +    (propagated-inputs
>>> +     `(("gcc-toolchain" ,gcc-toolchain-5))) ; for freehdl
>>
>> What’s the reason for this?
>>
>> Propagated inputs should be used sparsely because they “pollute” user
>> profiles.  Here we’d be forcing a big package, and a specific version of
>> that, in user profiles, which is not OK.
>>
>> Apart from that the patch LGTM though, so if we can remove these two
>> lines, we can commit.
>
> Freehdl is a VHDL to C compiler, so for qucs and qucs-s to be able to do
> VHDL simulations, there should be a gcc toolchain and libtool in the
> user environment (libtool should be propagated as well, after the phase
> removal from the freehdl package).

So does qucs invoke the C compiler?  Or is it FreeHDL?  Or the user?

That one that invokes the C compiler should have its fine name
hard-coded.  Well, except if it’s the user.  ;-)

Hard-coding is preferable over propagation, to avoid “polluting” user
profiles.

> I think it *should* be OK to remove gcc-toolchain from the
> propagated-inputs, if we provide the user with some kind of message,
> that they should add a gcc-toolchain and libtool in their environment if
> they want to do VHDL simulations.
>
> Maybe it should be preferable to add a message along those lines in the
> package descriptions of those 2 packages (qucs and qucs-s)?

I think we shouldn’t abuse descriptions to give instructions.  It should
Just Work, as much as possible.

(Though I reckon that in some cases it would be nice to associate an
message with packages that would be displayed upon installation.)

Thanks,
Ludo’.