Subject: [bug#27344] [PATCH v4 2/3] gnu: Add qucs.

From: [email-masked] (Ludovic Courtès)
Date: Fri, 27 Oct 2017 12:42:36 -0700

Theodoros Foradis <[email-masked]> skribis:

> Ludovic Courtès writes:
>
>> Theodoros Foradis <[email-masked]> skribis:
>>
>>> * gnu/packages/engineering.scm (qucs): New variable.
>>
>> [...]
>>
>>> +               (wrap-program (string-append out "/bin/qucs")
>>> +                 `("CPLUS_INCLUDE_PATH" ":" prefix
>>> +                   (,(string-append (assoc-ref inputs "gcc-toolchain")
>>> +                                    "/include")))
>>> +                 `("PATH" ":" prefix
>>> +                   (,(string-append (assoc-ref inputs "gcc-toolchain")
>>> +                                    "/bin")))
>>> +                 `("LIBRARY_PATH" ":" prefix
>>> +                   (,(string-append (assoc-ref inputs "gcc-toolchain")
>>> +                                    "/lib")))
>>
>> Is this still needed now that freehdl wraps things?
>>
>> If not, could you send an updated patch?
>
> Yes, it's needed because qucs and qucs-s don't use gvhdl (freehdl's
> script that we wrap that calls the compiler).
>
> They use freehdl-v2cc to compile to C, and have their own scripts to
> compile to executable.

Sounds good.  Committed with the changes below.

Thank you!

Ludo’.

diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 3ef1cdfbe..a5e152c40 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -1567,6 +1567,7 @@ parallel computing platforms.  It also supports serial execution.")
          (add-after 'install 'make-wrapper
            (lambda* (#:key inputs outputs #:allow-other-keys)
              (let ((out (assoc-ref outputs "out")))
+               ;; 'qucs' directly invokes gcc, hence this wrapping.
                (wrap-program (string-append out "/bin/qucs")
                  `("CPLUS_INCLUDE_PATH" ":" prefix
                    (,(string-append (assoc-ref inputs "gcc-toolchain")
@@ -1598,7 +1599,7 @@ parallel computing platforms.  It also supports serial execution.")
        ("asco" ,asco)
        ("coreutils" ,coreutils)
        ("freehdl" ,freehdl)
-       ("gcc-toolchain" ,gcc-toolchain-5)
+       ("gcc-toolchain" ,gcc-toolchain)
        ("iverilog" ,iverilog)
        ("libtool" ,libtool)
        ("octave" ,octave)
@@ -1607,8 +1608,8 @@ parallel computing platforms.  It also supports serial execution.")
     (home-page "http://qucs.sourceforge.net/")
     (synopsis "Circuit simulator with graphical user interface")
     (description
-     "Qucs is a circuit simulator with graphical user interface.
-  The software aims to support all kinds of circuit simulation types,
-e.g. DC, AC, S-parameter, Transient, Noise and Harmonic Balance analysis.
-  Pure digital simulations are also supported.")
+     "Qucs is a circuit simulator with graphical user interface.  The software
+aims to support all kinds of circuit simulation types---e.g. DC, AC,
+S-parameter, transient, noise and harmonic balance analysis.  Pure digital
+simulations are also supported.")
     (license license:gpl2+)))