Subject: [bug#27344] [PATCH v3 6/8] gnu: Add freehdl.

From: Theodoros Foradis <[email-masked]>
Date: Thu, 12 Oct 2017 20:00:57 +0300

Ludovic Courtès writes:

> Theodoros Foradis <[email-masked]> skribis:
>
>> * gnu/packages/engineering.scm (freehdl): New variable.
>
> I’ve applied the patch.  \o/
>
> I have one question for which I couldn’t find an answer in the previous
> discussions:
>
>> +         (add-after 'configure 'patch-freehdl-pc
>> +           (lambda* (#:key inputs #:allow-other-keys)
>> +             (substitute* "freehdl.pc"
>> +               (("=g\\+\\+")
>> +                (string-append "=" (assoc-ref inputs "gcc")
>> +                               "/bin/g++"))
>> +               (("=libtool")
>> +                (string-append "=" (assoc-ref inputs "libtool")
>> +                               "/bin/libtool")))
>> +             #t))
>
> The effect of this is to retain a reference to GCC, Libtool, and all
> their dependencies, which makes the closure of FreeHDL much bigger.
>
> We could avoid it by just putting this in ‘freehdl.pc’:
>
>   cxx=g++
>   libtool=libtool
>
> Now, whether this will work depends on whether/how users of ‘freehdl.pc’
> use these variables.
>
> Could you check whether that would work?

Yes, I have tested this and it should work. Freehdl is a VHDL to C
compiler, so the user should be responsible for having a gcc toolchain
in his environment to run the simulations.

Now, in regard to the qucs and qucs-s packages, for the VHDL simulation
to work, libtool should be propagated (?) as well, but I'll reply to
that patch separately.

We can remove this phase (patch-freehdl-pc) altogether. Shall I submit
this patch?

-- 
Theodoros Foradis