From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:36485) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dKScN-00025L-5S for guix-patches@gnu.org; Mon, 12 Jun 2017 12:55:08 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dKScL-00011O-SI for guix-patches@gnu.org; Mon, 12 Jun 2017 12:55:07 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:41218) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dKScL-00011A-PJ for guix-patches@gnu.org; Mon, 12 Jun 2017 12:55:05 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1dKScL-000421-Ik for guix-patches@gnu.org; Mon, 12 Jun 2017 12:55:05 -0400 Subject: [bug#27344] [PATCH 08/12] gnu: Add ngspice. Resent-Message-ID: From: Theodoros Foradis Date: Mon, 12 Jun 2017 19:52:22 +0300 Message-Id: <20170612165226.1268-8-theodoros.for@openmailbox.org> In-Reply-To: <20170612165226.1268-1-theodoros.for@openmailbox.org> References: <20170612165226.1268-1-theodoros.for@openmailbox.org> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: 27344@debbugs.gnu.org * gnu/packages/engineering.scm (ngspice): New variable. --- gnu/packages/engineering.scm | 74 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index b88dad3b3..1d7a3631e 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -1075,3 +1075,77 @@ language, ADMS transforms Verilog-AMS code into other target languages.") "ASCO brings circuit optimization capabilities to existing SPICE simulators using a high-performance parallel differential evolution (DE) optimization algorithm.") (license license:gpl2+))) + +(define libngspice + (package + (name "libngspice") + (version "26") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/ngspice/ng-spice-rework/" + version "/ngspice-" version ".tar.gz")) + (sha256 + (base32 + "02019ndcl057nq9z41nxycqba7wxlb081ibvfj9jv010nz431qji")) + (modules '((guix build utils))) + ;; We remove the non-free cider and build without it + (snippet + '(begin + (delete-file-recursively "src/ciderlib") + (delete-file "src/ciderinit") + (substitute* "configure" + (("src/ciderlib/Makefile") "") + (("src/ciderlib/input/Makefile") "") + (("src/ciderlib/support/Makefile") "") + (("src/ciderlib/oned/Makefile") "") + (("src/ciderlib/twod/Makefile") "")))))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f + ; no tests for libngspice + ; transient tests for ngspice fail + #:phases %standard-phases + #:configure-flags + (list "--enable-openmp" + "--enable-xspice" + "--with-ngshared" + "--with-readline=yes"))) + (native-inputs + `(("bison" ,bison) + ("flex" ,flex))) + (inputs + `(("libxaw" ,libxaw) + ("mpi" ,openmpi) + ("readline" ,readline))) + (home-page "http://ngspice.sourceforge.net/") + (synopsis "Mixed-level/mixed-signal circuit simulator") + (description + "Ngspice is a mixed-level/mixed-signal circuit simulator. It includes +@code{Spice3f5}, a circuit simulator, and @code{Xspice}, an extension that +provides code modeling support and simulation of digital components through +an embedded event driven algorithm.") + (license (list license:lgpl2.0+ ; code in frontend/numparam + (license:non-copyleft "file://COPYING") ; spice3 bsd-style + license:public-domain)))) ; xspice + +(define-public ngspice + (package (inherit libngspice) + (name "ngspice") + (arguments + `(,@(substitute-keyword-arguments (package-arguments libngspice) + ((#:configure-flags flags) + `(delete "--with-ngshared" ,flags)) + ((#:phases phases) + `(alist-cons-after 'install 'in-ng + (lambda* (#:key inputs outputs #:allow-other-keys) + (map (lambda (lib) + (copy-file + (string-append (assoc-ref inputs "libngspice") + "/lib/" lib) + (string-append (assoc-ref outputs "out") + "/lib/" lib))) + '("libngspice.so.0" "libngspice.so")) + #t) + ,phases))))) + (inputs `(("libngspice" ,libngspice) + ,@(package-inputs libngspice))))) -- 2.13.1