From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:39426) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dqk25-0008KQ-KD for guix-patches@gnu.org; Sat, 09 Sep 2017 13:59:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dqk22-0003dl-HA for guix-patches@gnu.org; Sat, 09 Sep 2017 13:59:05 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:49147) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dqk22-0003dY-CJ for guix-patches@gnu.org; Sat, 09 Sep 2017 13:59:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1dqk21-0003QY-WB for guix-patches@gnu.org; Sat, 09 Sep 2017 13:59:02 -0400 Subject: [bug#27344] [PATCH v3 2/8] gnu: Add libngspice and ngspice. Resent-Message-ID: From: Theodoros Foradis Date: Sat, 9 Sep 2017 20:57:46 +0300 Message-Id: <20170909175752.8566-2-theodoros@foradis.org> In-Reply-To: <20170909175752.8566-1-theodoros@foradis.org> References: <87lglnery8.fsf@foradis.org> <20170909175752.8566-1-theodoros@foradis.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 (libngspice): New variable. * gnu/packages/engineering.scm (ngspice): New variable. --- gnu/packages/engineering.scm | 98 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 98 insertions(+) diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index 2bae7582f..87defd848 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -1175,3 +1175,101 @@ servers, ...") "ASCO brings circuit optimization capabilities to existing SPICE simulators using a high-performance parallel differential evolution (DE) optimization algorithm.") (license license:gpl2+))) + +(define-public 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 + `(;; No tests for libngspice exist. + ;; The transient tests for ngspice fail. + #:tests? #f + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-timestamps + (lambda _ + (substitute* "configure" + (("`date`") "Do 1. Jan 00:00:00 UTC 1970")) + #t)) + (add-after 'unpack 'delete-program-manuals + (lambda _ + (substitute* "man/man1/Makefile.in" + (("^man_MANS = ngspice\\.1 ngnutmeg\\.1 ngsconvert\\.1 ngmultidec\\.1") + "man_MANS = ")) + #t)) + (add-after 'install 'delete-script-files + (lambda* (#:key outputs #:allow-other-keys) + (delete-file-recursively + (string-append (assoc-ref outputs "out") + "/share/ngspice/scripts"))))) + #: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) + `(modify-phases ,phases + (add-after 'unpack 'delete-include-files + (lambda _ + (substitute* "src/Makefile.in" + (("^SUBDIRS = misc maths frontend spicelib include/ngspice") + "SUBDIRS = misc maths frontend spicelib")) + #t)) + (add-after 'install 'delete-cmpp-dlmain + (lambda* (#:key outputs #:allow-other-keys) + (for-each + (lambda (file) + (delete-file + (string-append (assoc-ref outputs "out") + file))) + '("/bin/cmpp" "/share/ngspice/dlmain.c")))) + (delete 'delete-program-manuals) + (delete 'delete-script-files))))) + (inputs + `(("libngspice" ,libngspice) + ("readline" ,readline))))) -- 2.13.4