(address . guix-patches@gnu.org)
* gnu/packages/engineering.scm (qucs-s): New variable.
---
gnu/packages/engineering.scm | 74 ++++++++++++++++++++++++++++++++++++
1 file changed, 74 insertions(+)
Toggle diff (87 lines)
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index a8b9f1e786..376cb7e8c1 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -2006,6 +2006,80 @@ (define-public xyce-parallel
,@(alist-delete "trilinos"
(package-inputs xyce-serial))))))
+(define-public qucs-s
+ (package
+ (name "qucs-s")
+ (version "0.0.24")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ra3xdh/qucs_s")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1lbkaw0grw9w7d37z5dbhaqi8p57cpf9yp071zp6xrairkgimdx8"))))
+ (build-system qt-build-system)
+ (outputs '("out"))
+ (inputs (list qtbase-5 qtscript qtsvg-5))
+ (native-inputs (list qttools-5))
+ (propagated-inputs (list ngspice))
+ (arguments
+ `(;; There exists no "tests" target in the Makefile generated by
+ ;; CMake.
+ ;; No other tests provided.
+ #:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'get-ngspice-path
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Adjust two lines in the ~/.config/qucs/qucs_s.conf
+ ;; file.
+ (mkdir-p "etc/xdg/qucs_s")
+ (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")))))))
+
+ (home-page "https://ra3xdh.github.io")
+ (synopsis "QUCS RF circuit simulator with SPICE")
+ (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")
+ (license license:gpl2)))
+
(define-public freehdl
(package
(name "freehdl")
--
2.37.2