From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([209.51.188.92]:32986) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hCSr2-00004t-6D for guix-patches@gnu.org; Fri, 05 Apr 2019 13:42:17 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hCSqz-0007et-Ut for guix-patches@gnu.org; Fri, 05 Apr 2019 13:42:16 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:60947) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hCSqo-0007Qj-8H for guix-patches@gnu.org; Fri, 05 Apr 2019 13:42:11 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1hCSqo-0001Hm-34 for guix-patches@gnu.org; Fri, 05 Apr 2019 13:42:02 -0400 Subject: [bug#35162] [PATCH] gnu: Add gnucap. Resent-Message-ID: Received: from eggs.gnu.org ([209.51.188.92]:59127) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hCSot-0006cc-Un for guix-patches@gnu.org; Fri, 05 Apr 2019 13:40:05 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hCShy-0007kS-J1 for guix-patches@gnu.org; Fri, 05 Apr 2019 13:32:56 -0400 Received: from mugam.systemreboot.net ([139.59.75.54]:37024) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hCSgz-0005nk-Vv for guix-patches@gnu.org; Fri, 05 Apr 2019 13:32:52 -0400 From: Arun Isaac Date: Fri, 5 Apr 2019 22:59:51 +0530 Message-Id: <20190405172952.11706-1-arunisaac@systemreboot.net> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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: 35162@debbugs.gnu.org * gnu/packages/engineering.scm (gnucap): New variable. --- gnu/packages/engineering.scm | 56 +++++++++++++++++++++++++++++++++++- 1 file changed, 55 insertions(+), 1 deletion(-) diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index a90ceab0d2..cf308e03f6 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -9,7 +9,7 @@ ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2018 Clément Lassieur ;;; Copyright © 2018, 2019 Jonathan Brielmaier -;;; Copyright © 2018 Arun Isaac +;;; Copyright © 2018, 2019 Arun Isaac ;;; Copyright © 2019 Tim Stahel ;;; ;;; This file is part of GNU Guix. @@ -2008,3 +2008,57 @@ editors.") slicing software to x3g files for standalone 3D printing on common 3D printers.") (license license:gpl2+))) + +(define-public gnucap + (package + (name "gnucap") + (version "20171003") + (source + (origin + (method url-fetch) + (uri (string-append "https://git.savannah.gnu.org/cgit/gnucap.git/snapshot/gnucap-" + version ".tar.gz")) + (sha256 + (base32 + "16m09xa685qhj5fqq3bcgakrwnb74xhf5f7rpqkkf9fg8plzbb1g")))) + (build-system gnu-build-system) + (inputs + `(("readline" ,readline))) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + ;; Set correct rpath so that gnucap finds libgnucap.so. + (substitute* (list "apps/configure" "lib/configure" + "main/configure" "modelgen/configure") + (("LDFLAGS =") + (string-append "LDFLAGS = -Wl,-rpath=" out "/lib"))) + ;; gnucap uses a hand-written configure script that expects the + ;; --prefix argument to be the first argument passed to it. + (invoke "./configure" (string-append "--prefix=" out))))) + (replace 'check + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (libpath "../lib/O:../apps/O")) + (with-directory-excursion "tests" + ;; Make test return non-zero exit code when a test fails. + (substitute* "test" + (("/bin/sh") "/bin/sh -e") + (("\\|\\| echo \"\\*\\*\\*\\* \\$ii fails \\*\\*\\*\\*\"") "")) + ;; Fix expected plugin search path for test c_attach.1.gc + (substitute* "==out/c_attach.1.gc.out" + (("/usr/local/lib/gnucap") + (string-append libpath ":" out "/lib/gnucap"))) + ;; Set library path so that gnucap can find libgnucap.so + ;; while running the tests. + (setenv "LD_LIBRARY_PATH" libpath) + (invoke "./test" "../main/O/gnucap" "" "test-output" "==out")))))))) + (home-page "https://www.gnu.org/software/gnucap/") + (synopsis "Mixed analog and digital circuit simulator") + (description "GNUcap is a circuit analysis package. It offers a general +purpose circuit simulator and can perform DC and transient analyses, fourier +analysis and AC analysis. The engine is designed to do true mixed-mode +simulation.") + (license license:gpl3+))) -- 2.21.0