gnu: Add asco.

* gnu/packages/engineering.scm (asco): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
Theodoros Foradis 2017-06-22 22:10:00 +03:00 committed by Ludovic Courtès
parent ea1aa4525e
commit a6edcfaf78
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5

View File

@ -61,6 +61,7 @@
#: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 @@ hexadecimal editor able to open disk files, but later support for analyzing
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"
(("<FULL_PATH_TO_MPICH>/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+)))