Subject: [bug#56768] [PATCH] gnu: engineering: Add qucs-s.

From: Jean Pierre De Jesus DIAZ <[email-masked]>
Date: Sat, 06 Aug 2022 10:15:02 +0000

Hello Artyom,

Just a nitpick:

>+    (description
>+     "@code{Qucs-S} provides a fancy graphical user interface for a number of

@code{Qucs-S} -> @acronym{Qucs-S, Quite universal circuit simulator with SPICE}

>Yet at least Qucs-S will always use the right Octave/NGSpice path from
>GNU Guix.

If the substitute of the binaries path is only done on the `else' block then
the settings would be respected.

For example, on:

https://github.com/ra3xdh/qucs_s/blob/master/qucs/main.cpp#L130-L136

>    if(settings.contains("NgspiceExecutable")) QucsSettings.NgspiceExecutable = settings.value("NgspiceExecutable").toString();
>    else {
>        QString ngsp_exe = QCoreApplication::applicationDirPath() +
>                QDir::separator() + "ngspice" + executableSuffix;
>        if (!QFile::exists(ngsp_exe)) ngsp_exe = QString("ngspice") + executableSuffix;
>        QucsSettings.NgspiceExecutable = ngsp_exe;
>    }

Can be substituted to:

    if(settings.contains("NgspiceExecutable")) QucsSettings.NgspiceExecutable = settings.value("NgspiceExecutable").toString();
    else {
        QString ngsp_exe = "/gnu/store/<substitute* used here>";
        if (!QFile::exists(ngsp_exe)) ngsp_exe = QString("ngspice") + executableSuffix;
        QucsSettings.NgspiceExecutable = ngsp_exe;
    }

Then if `NgspiceExecutable' is present on the configuration that value will be used, otherwise the default
one provided by GNU Guix. Same applies for the other executable files.

—
Jean-Pierre De Jesus DIAZ