summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCayetano Santos <csantosb@inventati.org>2025-07-22 17:49:46 +0200
committerMaxim Cournoyer <maxim@guixotic.coop>2025-07-28 13:04:34 +0900
commit79fd0923ec4925dc042516d24c79af36aba5a4de (patch)
treeef71416411056c020aa3a5b7f5cc9db1774a675c
parent476a8d3ebfb352a10bf8ca71de57e37f71a3de4c (diff)
gnu: Add qucsator-rf.
* gnu/packages/engineering.scm (qucsator-rf): New variable. Change-Id: Ia4a324b2de86eb8c12405a2f06a7000ecd391971 Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
-rw-r--r--gnu/packages/engineering.scm61
1 files changed, 61 insertions, 0 deletions
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 2837a64bc0..70060b89be 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -165,6 +165,7 @@
#:use-module (gnu packages qt)
#:use-module (gnu packages readline)
#:use-module (gnu packages ruby-check)
+ #:use-module (gnu packages textutils)
#:use-module (gnu packages sagemath)
#:use-module (gnu packages serialization)
#:use-module (gnu packages sqlite)
@@ -980,6 +981,66 @@ such as those made in pneumatics, hydraulics, process industries, electronics,
and others.")
(license license:gpl2+)))
+(define-public qucsator-rf
+ (package
+ (name "qucsator-rf")
+ (version "1.0.6") ;required by qucs-s, keep in sync
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ra3xdh/qucsator_rf/")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0fx0kzj6hn0094jnvn6b1zqwjnkmd79xdr0zdyz5lmsyixlmxmvk"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list
+ #:tests? #f ;no tests
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'install 'run-tests
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ ;; Qucs-test is a collection of python scripts and data test
+ ;; cases. Its purpose is to test Qucs (GUI) and Qucsator;
+ ;; tests are under `testsuite` directory.
+ (copy-recursively
+ #$(origin
+ (method git-fetch)
+ (uri
+ ;; Using latest revision; refer to
+ ;; .github/workflows/cmake.yml to keep up to date.
+ (git-reference
+ (url "https://github.com/ra3xdh/qucs-test/")
+ (commit "ce69e05ceecab910175e6ea36b6e021a6d279947")))
+ (sha256
+ (base32
+ (string-append "1r3hx43wvd0s11mzsvj1chylzv"
+ "0lk9qhaw7205j9x316ly03bl08"))))
+ "qucs-test")
+ (with-directory-excursion "qucs-test"
+ (invoke "python3" "run.py" "--qucsator"
+ (format #f "--prefix=~a/bin" #$output)
+ "--exclude=skip.txt"))))))
+ #:configure-flags
+ #~(list (format #f "-DBISON_DIR=~a/bin"
+ #$(this-package-native-input "bison"))
+ (format #f "-DADMSXML_DIR=~a/bin"
+ #$(this-package-native-input "adms")))))
+ (native-inputs
+ (list adms bison dos2unix flex gperf python python-looseversion
+ python-numpy python-matplotlib))
+ (synopsis "RF and microwave circuits simulator")
+ (description
+ "@code{Qucsator-rf} is a command line driven circuit simulator targeted
+for RF and microwave circuits. It takes a network list in a certain format as
+input and outputs an XML dataset.")
+ (home-page "https://ra3xdh.github.io//")
+ (license license:gpl2+)))
+
(define-public qucs-s
(package
(name "qucs-s")