all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "\( via Guix-patches" via <guix-patches@gnu.org>
To: "Garek Dyszel" <garekdyszel@disroot.org>, <57774@debbugs.gnu.org>
Subject: [bug#57774] [PATCH] Add qucs-s.
Date: Tue, 13 Sep 2022 17:12:36 +0100	[thread overview]
Message-ID: <CMVEMLCFZYJV.2HHWATU7GOQJV@guix-aspire> (raw)
In-Reply-To: <875yhrgtrb.fsf@disroot.org>

Hey,

On Tue Sep 13, 2022 at 4:48 PM BST, Garek Dyszel via Guix-patches via wrote:
> +    (outputs '("out"))

This line is redundant; ``out'' is implicit.

> +    (propagated-inputs (list ngspice))

Can you try to avoid propagating this somehow? Propagation is a last-resort
measure, and usually we try to do something like patching invocations of
external commands to refer to the full store path. (Although, looking at
the ``modify-phases'' below, it seems like you already do that, so I guess
you'll only need to move ``ngspice'' to ``inputs''.)

> +    (arguments
> +     `(;; There exists no "tests" target in the Makefile generated by

Please use the new style ``(list ...)'' instead of ```(...)''.

> +       (modify-phases %standard-phases

You'll need to gexp this under the new arguments style: ``#~(modify-phases ...)''.

> +             (with-directory-excursion "etc/xdg/qucs_s"
> +               (invoke "touch" "qucs_s.conf")
> +               ;; Specify where the ngspice executable is located.
> +               (invoke "sed" "-i"
> +                       (string-append "1iNgspiceExecutable=/gnu/store/"
> +                                      (assoc-ref inputs "ngspice")
> +                                      "/bin/ngspice") "qucs_s.conf")
> +               ;; Set the spice4qucs working directory to
> +               ;; ~/.qucs/spice4qucs.
> +               ;; (The default is /spice4qucs, which is rather
> +               ;; dangerous.)
> +               (invoke "sed" "-i" "2iS4Q_workdir=~/.qucs/spice4qucs"
> +                       "qucs_s.conf")))))))

This looks pretty redundant. Try using this instead:

> +               (call-with-output-file "etc/xdg/qucs_s/qucs_s.conf"
> +                 (cute format <>
> +                       "~
> +NgspiceExecutable=~a
> +S4Q_workdir=~/.qucs/spice4qucs~%"
> +                       (search-input-file inputs "bin/ngspice")))

And add this to ``arguments'':

  #:modules `((ice-9 format)
              (srfi srfi-26)
              ,@%gnu-build-system-modules)

to import ``format'' and ``cute'', respectively.

> +    (description
> +     "Qucs-S is a spin-off of the Qucs cross-platform circuit
> +simulator.  The \"S\" letter indicates SPICE.  The purpose of the Qucs-S
> +subproject is to use free SPICE circuit simulation kernels with the
> +Qucs GUI.  It merges the power of SPICE and the simplicity of the Qucs
> +GUI.  Qucs intentionally uses its own SPICE incompatible simulation
> +kernel Qucsator.  It has advanced RF and AC domain simulation features,
> +but most of the existing industrial SPICE models are incompatible with
> +it.  Qucs-S is not a simulator by itself, but it requires to use a
> +simulation backend with it.  The schematic document format of Qucs and
> +Qucs-S are fully compatible.  Qucs-S can be used with the following
> +simulation kernels:
> +@itemize
> +@item Ngspice is recommended to use.  Ngspice is powerful
> +mixed-level/mixed-signal circuit simulator.  The most of industrial
> +SPICE models are compatible with Ngspice.  It has an excellent
> +performance for time-domain simulation of switching circuits and
> +powerful postprocessor.
> +@item XYCE is a new SPICE-compatible circuit simulator written by
> +Sandia from the scratch.  It supports basic SPICE simulation types and
> +has an advanced RF simulation features such as harmonic balance
> +simulation.
> +@item SpiceOpus is developed by the Faculty of Electrical Engineering
> +of the Ljubljana University.  It is based on the SPICE-3f5 code.
> +@item Backward compatible with Qucsator.
> +@end itemize")

I think this description would probably be better and far more succint as:

> +    (description
> +     "This package provides a fork of the Qucs cross-platform circuit
> +simulator, which allows the use of SPICE circuit simulation kernels
> +with the Qucs GUI.")

    -- (




  reply	other threads:[~2022-09-13 16:22 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-13 15:48 [bug#57774] [PATCH] Add qucs-s Garek Dyszel via Guix-patches via
2022-09-13 16:12 ` ( via Guix-patches via [this message]
2022-09-13 17:28 ` Artyom V. Poptsov
2022-09-13 21:11 ` [bug#57774] [PATCH v2] " Garek Dyszel via Guix-patches via
2022-09-14  6:26   ` ( via Guix-patches via
2022-09-16 18:27     ` Garek Dyszel via Guix-patches via

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CMVEMLCFZYJV.2HHWATU7GOQJV@guix-aspire \
    --to=guix-patches@gnu.org \
    --cc=57774@debbugs.gnu.org \
    --cc=garekdyszel@disroot.org \
    --cc=paren@disroot.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.