From a6edcfaf7882311ec718a07494d1aad2655e1698 Mon Sep 17 00:00:00 2001 From: Theodoros Foradis Date: Thu, 22 Jun 2017 22:10:00 +0300 Subject: [PATCH] gnu: Add asco. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/engineering.scm (asco): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/engineering.scm | 50 ++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index 0955bb4ae3..5492f1c629 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -61,6 +61,7 @@ (define-module (gnu packages engineering) #:use-module (gnu packages m4) #:use-module (gnu packages maths) #:use-module (gnu packages multiprecision) + #:use-module (gnu packages mpi) #:use-module (gnu packages ncurses) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) @@ -1128,3 +1129,52 @@ (define-public radare2 binaries, disassembling code, debugging programs, attaching to remote gdb servers, ...") (license license:lgpl3))) + +(define-public asco + (package + (name "asco") + (version "0.4.10") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/asco/asco/" version "/ASCO-" + version ".tar.gz")) + (sha256 + (base32 + "119rbc2dc8xzwxvykgji0v0nrzvymjmlizr1bc2mihspj686kxsl")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; no tests + #:make-flags '("all" "asco-mpi") + #:phases + (modify-phases %standard-phases + (delete 'configure) + (add-before 'build 'fix-paths + (lambda* (#:key inputs #:allow-other-keys) + (let ((coreutils (assoc-ref inputs "coreutils-minimal"))) + (substitute* '("errfunc.c" "asco.c") + (("cp ") + (string-append coreutils "/bin/cp ")) + (("nice") + (string-append coreutils "/bin/nice"))) + (substitute* "Makefile" + (("/bin/mpicc") (which "mpicc"))) + #t))) + (replace 'install ; no install target + (lambda* (#:key outputs #:allow-other-keys) + (for-each (lambda (file) + (install-file file (string-append + (assoc-ref outputs "out") + "/bin"))) + '("asco" "asco-mpi" "asco-test" + "tools/alter/alter" "tools/log/log")) + #t))))) + (native-inputs + `(("mpi" ,openmpi))) + (inputs + `(("coreutils-minimal" ,coreutils-minimal))) + (home-page "http://asco.sourceforge.net/") + (synopsis "SPICE circuit optimizer") + (description + "ASCO brings circuit optimization capabilities to existing SPICE simulators using a +high-performance parallel differential evolution (DE) optimization algorithm.") + (license license:gpl2+)))