unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Theodoros Foradis <theodoros.for@openmailbox.org>
To: 27344@debbugs.gnu.org
Subject: [bug#27344] [PATCH v2 12/12] gnu: Add qucs-s.
Date: Thu, 22 Jun 2017 22:14:40 +0300	[thread overview]
Message-ID: <20170622191440.25666-1-theodoros.for@openmailbox.org> (raw)
In-Reply-To: <20170622191005.25422-1-theodoros.for@openmailbox.org>

* gnu/packages/engineering.scm (qucs-s): New variable.
---
 gnu/packages/engineering.scm | 116 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 116 insertions(+)

diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index af188eaa5..0251a4c90 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -1390,3 +1390,119 @@ parallel computing platforms.  It also supports serial execution.")
 e.g. DC, AC, S-parameter, Transient, Noise and Harmonic Balance analysis.
   Pure digital simulations are also supported.")
     (license license:gpl2+)))
+
+(define-public qucs-s
+  (package
+    (name "qucs-s")
+    (version "0.0.19S")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/ra3xdh/qucs/releases/download/"
+                                  version "/qucs-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1bhahvdqmayaw0306fxz1ghmjhd4fq05yk3rk7zi0z703w5imgjv"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:tests? #f ; no tests
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'patch-scripts
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* '("qucs/qucsdigi"
+                            "qucs/qucsdigilib"
+                            "qucs/qucsveri")
+               (("\\$BINDIR")
+                (string-append (assoc-ref inputs "qucs") "/bin"))
+               (("freehdl-config")
+                (string-append (assoc-ref inputs "freehdl") "/bin/freehdl-config"))
+               (("freehdl-v2cc")
+                (string-append (assoc-ref inputs "freehdl") "/bin/freehdl-v2cc"))
+               (("glibtool")
+                (which "libtool"))
+               (("cp ")
+                (string-append (which "cp") " "))
+               (("sed")
+                (which "sed"))
+               (("iverilog")
+                (string-append (assoc-ref inputs "iverilog") "/bin/iverilog"))
+               (("vvp")
+                (string-append (assoc-ref inputs "iverilog") "/bin/vvp")))
+             #t))
+         (add-after 'patch-scripts 'patch-paths
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "qucs/main.cpp"
+               (("QucsSettings\\.Qucsator = QucsSettings\\.BinDir
+ \\+ \"qucsator\" \\+ executableSuffix")
+                (string-append "}{ QucsSettings.Qucsator = \""
+                               (assoc-ref inputs "qucs") "/bin/qucsator\""))
+               (("else QucsSettings\\.XyceExecutable =
+ \"/usr/local/Xyce-Release-6.2.0-OPENSOURCE/bin/runxyce")
+                (string-append "QucsSettings.XyceExecutable = \""
+                               (assoc-ref inputs "xyce-serial") "/bin/Xyce"))
+               (("else QucsSettings\\.XyceParExecutable =
+ \"/usr/local/Xyce-Release-6.2.0-OPENMPI-OPENSOURCE/bin/xmpirun")
+                (string-append "QucsSettings.XyceParExecutable = \""
+                               (assoc-ref inputs "mpi") "/bin/mpirun"))
+               (("%p")
+                (string-append "%p "(assoc-ref inputs "xyce-parallel") "/bin/Xyce"))
+               (("else QucsSettings\\.NgspiceExecutable = \"ngspice\"")
+                (string-append "QucsSettings.NgspiceExecutable = " "\""
+                               (assoc-ref inputs "ngspice") "/bin/ngspice\"")))
+             (substitute* "qucs/qucs_actions.cpp"
+               (("qucstrans")
+                (string-append (assoc-ref inputs "qucs") "/bin/qucstrans"))
+               (("qucsattenuator")
+                (string-append (assoc-ref inputs "qucs") "/bin/qucsattenuator"))
+               (("qucsrescodes")
+                (string-append (assoc-ref inputs "qucs") "/bin/qucsrescodes")))
+             #t))
+         (add-after 'install 'install-scripts
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (for-each
+              (lambda (script)
+                (let ((file (string-append "../qucs-" ,version
+                                           "/qucs/" script))
+                      (out (assoc-ref outputs "out")))
+                  (install-file file (string-append out "/bin"))
+                  (chmod (string-append out "/bin/" script) #o555)))
+              '("qucsdigi" "qucsdigilib" "qucsveri"))
+             #t))
+         (add-after 'install-scripts 'make-wrapper
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (file (string-append out "/bin/qucs-s"))
+                    (qucs (assoc-ref inputs "qucs"))
+                    (qucsator (string-append qucs "/bin/qucsator")))
+               (wrap-program file
+                 `("QUCSATOR" ":" prefix (,qucsator))
+                 `("QUCSCONV" ":" prefix (,(string-append qucsator "/bin/qucsconv")))
+                 `("ADMSXMLBINDIR" ":" prefix (,(string-append (assoc-ref inputs "adms") "/bin")))
+                 `("ASCOBINDIR" ":" prefix (,(string-append (assoc-ref inputs "asco") "/bin")))
+                 `("QUCS_OCTAVE" ":" prefix (,(string-append (assoc-ref inputs "octave") "/bin/octave"))))
+               (symlink qucsator (string-append out "/bin/qucsator"))
+               #t))))))
+    (native-inputs
+     `(("libtool" ,libtool)))
+    (inputs
+     `(("adms" ,adms)
+       ("asco" ,asco)
+       ("freehdl" ,freehdl)
+       ("iverilog" ,iverilog)
+       ("mpi" ,openmpi)
+       ("ngspice" ,ngspice)
+       ("octave" ,octave)
+       ("qt4" ,qt-4)
+       ("qucs" ,qucs)
+       ("xyce-serial" ,xyce-serial)
+       ("xyce-parallel" ,xyce-parallel)))
+    (propagated-inputs
+     `(("gcc-toolchain" ,gcc-toolchain-5))); for freehdl
+    (home-page "https://ra3xdh.github.io/")
+    (synopsis "Circuit simulator with graphical user interface")
+    (description
+     "Qucs-S is a spin-off of the Qucs cross-platform circuit simulator.
+  S letter indicates SPICE.  The purpose of the Qucs-S subproject is to use
+free SPICE circuit simulation kernels with the Qucs GUI.  It provides the
+simulator backends @code{Qucsator}, @code{ngspice} and @code{Xyce}.")
+    (license license:gpl2+)))
-- 
2.13.1

  parent reply	other threads:[~2017-06-22 19:18 UTC|newest]

Thread overview: 104+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-12 12:33 [bug#27344] [PATCH 0/12] Add computational software and circuit simulators Theodoros Foradis
2017-06-12 16:52 ` [bug#27344] [PATCH 01/12] gnu: Add harminv Theodoros Foradis
2017-06-12 16:52   ` [bug#27344] [PATCH 02/12] gnu: Add libctl Theodoros Foradis
2017-06-15 11:32     ` Danny Milosavljevic
2017-06-15 12:47       ` Ludovic Courtès
2017-06-15 14:15         ` Danny Milosavljevic
2017-06-15 21:28           ` Ludovic Courtès
2017-09-28 12:29     ` Ludovic Courtès
2017-09-28 12:42     ` Ludovic Courtès
2017-06-12 16:52   ` [bug#27344] [PATCH 03/12] gnu: Add mpb Theodoros Foradis
2017-06-15 11:42     ` Danny Milosavljevic
2017-06-16 15:16       ` Theodoros Foradis
2017-06-19 20:40         ` Danny Milosavljevic
2017-09-28 12:37     ` Ludovic Courtès
2017-06-12 16:52   ` [bug#27344] [PATCH 04/12] gnu: Add meep Theodoros Foradis
2017-06-12 16:52   ` [bug#27344] [PATCH 05/12] gnu: Add adms Theodoros Foradis
2017-06-15 11:49     ` Danny Milosavljevic
2017-06-12 16:52   ` [bug#27344] [PATCH 06/12] gnu: Add freehdl Theodoros Foradis
2017-06-15 11:35     ` Danny Milosavljevic
2017-06-16 15:50       ` Theodoros Foradis
2017-06-16 18:20         ` Danny Milosavljevic
2017-06-17 10:16           ` Theodoros Foradis
2017-06-12 16:52   ` [bug#27344] [PATCH 07/12] gnu: Add asco Theodoros Foradis
2017-06-15 12:22     ` Danny Milosavljevic
2017-06-16 15:54       ` Theodoros Foradis
2017-06-12 16:52   ` [bug#27344] [PATCH 08/12] gnu: Add ngspice Theodoros Foradis
2017-06-15 11:45     ` Danny Milosavljevic
2017-06-16 17:20       ` Theodoros Foradis
2017-06-12 16:52   ` [bug#27344] [PATCH 09/12] gnu: Add xyce-serial Theodoros Foradis
2017-06-12 16:52   ` [bug#27344] [PATCH 10/12] gnu: Add xyce-parallel Theodoros Foradis
2017-06-12 16:52   ` [bug#27344] [PATCH 11/12] gnu: Add qucs Theodoros Foradis
2017-06-15 11:37     ` Danny Milosavljevic
2017-06-16 16:52       ` Theodoros Foradis
2017-06-16 18:18         ` Danny Milosavljevic
2017-06-17 10:24           ` Theodoros Foradis
2017-06-12 16:52   ` [bug#27344] [PATCH 12/12] gnu: Add qucs-s Theodoros Foradis
2017-06-15 11:39   ` [bug#27344] [PATCH 01/12] gnu: Add harminv Danny Milosavljevic
2017-06-16 15:11     ` Theodoros Foradis
2017-06-22 19:09 ` [bug#27344] [PATCH v2 " Theodoros Foradis
2017-06-22 19:09   ` [bug#27344] [PATCH v2 02/12] gnu: Add guile-libctl Theodoros Foradis
2017-06-22 19:09   ` [bug#27344] [PATCH v2 03/12] gnu: Add mpb Theodoros Foradis
2017-06-24  6:51     ` Danny Milosavljevic
2017-06-22 19:09   ` [bug#27344] [PATCH v2 04/12] gnu: Add meep Theodoros Foradis
2017-06-24  6:49     ` Danny Milosavljevic
2017-06-24  9:14       ` Theodoros Foradis
2017-06-22 19:09   ` [bug#27344] [PATCH v2 05/12] gnu: Add adms Theodoros Foradis
2017-06-22 19:09   ` [bug#27344] [PATCH v2 06/12] gnu: Add freehdl Theodoros Foradis
2017-06-24  7:18     ` Danny Milosavljevic
2017-06-24  9:34       ` Theodoros Foradis
2017-06-26 18:40       ` Theodoros Foradis
2017-06-22 19:10   ` [bug#27344] [PATCH v2 07/12] gnu: Add asco Theodoros Foradis
2017-09-28 12:52     ` Ludovic Courtès
2017-06-22 19:10   ` [bug#27344] [PATCH v2 08/12] gnu: Add ngspice Theodoros Foradis
2017-07-23 11:37     ` Danny Milosavljevic
2017-07-23 13:16       ` Danny Milosavljevic
2017-07-28 17:17         ` Theodoros Foradis
2017-06-22 19:10   ` [bug#27344] [PATCH v2 09/12] gnu: Add xyce-serial Theodoros Foradis
2017-06-22 19:10   ` [bug#27344] [PATCH v2 10/12] gnu: Add xyce-parallel Theodoros Foradis
2017-06-22 19:10   ` [bug#27344] [PATCH v2 11/12] gnu: Add qucs Theodoros Foradis
2017-06-22 19:14   ` Theodoros Foradis [this message]
2017-07-20  9:25 ` [bug#27344] [PATCH 0/12] Add computational software and circuit simulators Ludovic Courtès
2017-07-28 19:46   ` Theodoros Foradis
2017-08-31 10:34     ` Ludovic Courtès
2017-09-09 16:51       ` Theodoros Foradis
2017-09-09 17:57         ` [bug#27344] [PATCH v3 1/8] gnu: Add asco Theodoros Foradis
2017-09-09 17:57           ` [bug#27344] [PATCH v3 2/8] gnu: Add libngspice and ngspice Theodoros Foradis
2017-09-28 20:07             ` Ludovic Courtès
2017-09-28 21:24               ` Theodoros Foradis
2017-10-01 13:04                 ` Ludovic Courtès
2017-09-09 17:57           ` [bug#27344] [PATCH v3 3/8] gnu: Add lapack-3.5 Theodoros Foradis
2017-09-09 17:57           ` [bug#27344] [PATCH v3 4/8] gnu: Add xyce-serial Theodoros Foradis
2017-10-05 10:08             ` [bug#27344] Trilinos (was: Re: [bug#27344] [PATCH v3 4/8] gnu: Add xyce-serial.) Ludovic Courtès
2017-10-06 20:11               ` Theodoros Foradis
2017-10-11  7:57                 ` [bug#27344] Trilinos Ludovic Courtès
2017-09-09 17:57           ` [bug#27344] [PATCH v3 5/8] gnu: Add xyce-parallel Theodoros Foradis
2017-10-11  8:20             ` Ludovic Courtès
2017-09-09 17:57           ` [bug#27344] [PATCH v3 6/8] gnu: Add freehdl Theodoros Foradis
2017-10-11  8:19             ` Ludovic Courtès
2017-10-12 17:00               ` Theodoros Foradis
2017-10-13  8:21                 ` Ludovic Courtès
2017-10-27 14:07                   ` Theodoros Foradis
2017-10-27 14:18                     ` [bug#27344] [PATCH v4 1/3] gnu: freehdl: Fix gvhdl and freehdl-gennodes scripts Theodoros Foradis
2017-10-27 14:18                       ` [bug#27344] [PATCH v4 2/3] gnu: Add qucs Theodoros Foradis
2017-10-27 15:22                         ` Ludovic Courtès
2017-10-27 16:20                           ` Theodoros Foradis
2017-10-27 19:42                             ` Ludovic Courtès
2017-10-27 14:18                       ` [bug#27344] [PATCH v4 3/3] gnu: Add qucs-s Theodoros Foradis
2017-10-27 15:26                         ` Ludovic Courtès
2017-10-27 16:22                           ` Theodoros Foradis
2017-11-08 17:42                           ` Theodoros Foradis
2017-11-16  9:54                             ` bug#27344: " Ludovic Courtès
2017-10-27 15:19                       ` [bug#27344] [PATCH v4 1/3] gnu: freehdl: Fix gvhdl and freehdl-gennodes scripts Ludovic Courtès
2017-10-27 16:17                         ` Theodoros Foradis
2017-10-27 19:38                           ` Ludovic Courtès
2017-09-09 17:57           ` [bug#27344] [PATCH v3 7/8] gnu: Add qucs Theodoros Foradis
2017-10-11  8:27             ` Ludovic Courtès
2017-10-12 17:07               ` Theodoros Foradis
2017-10-13  8:25                 ` Ludovic Courtès
2017-09-09 17:57           ` [bug#27344] [PATCH v3 8/8] gnu: Add qucs-s Theodoros Foradis
2017-09-30 22:30             ` Theodoros Foradis
2017-09-09 18:16           ` [bug#27344] [PATCH v3 1/8] gnu: Add asco Theodoros Foradis
2017-09-28 12:58     ` [bug#27344] [PATCH 0/12] Add computational software and circuit simulators Ludovic Courtès
2017-09-28 13:18       ` Theodoros Foradis
2017-09-28 20:00         ` Ludovic Courtès

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

  List information: https://guix.gnu.org/

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

  git send-email \
    --in-reply-to=20170622191440.25666-1-theodoros.for@openmailbox.org \
    --to=theodoros.for@openmailbox.org \
    --cc=27344@debbugs.gnu.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 public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).