From 1251c66425d52ed0a489ebc1a2a653614824ea3e Mon Sep 17 00:00:00 2001 From: Theodoros Foradis Date: Thu, 22 Jun 2017 22:09:54 +0300 Subject: [PATCH] gnu: Add harminv. * gnu/packages/engineering.scm (harminv): New variable. Signed-off-by: Danny Milosavljevic --- gnu/packages/engineering.scm | 39 +++++++++++++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index c171e2629a..3252e986b6 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2016 David Thompson ;;; Copyright © 2016, 2017 Ludovic Courtès -;;; Copyright © 2016 Theodoros Foradis +;;; Copyright © 2016, 2017 Theodoros Foradis ;;; ;;; This file is part of GNU Guix. ;;; @@ -45,6 +45,7 @@ #:use-module (gnu packages flex) #:use-module (gnu packages fontutils) #:use-module (gnu packages freedesktop) + #:use-module (gnu packages gcc) #:use-module (gnu packages gd) #:use-module (gnu packages gettext) #:use-module (gnu packages ghostscript) @@ -843,3 +844,39 @@ interface to select the best such procedures to use on a given system.") (synopsis "Serial terminal emulator") (description "@code{minicom} is a serial terminal emulator.") (license license:gpl2+))) + +(define-public harminv + (package + (name "harminv") + (version "1.4") + (source (origin + (method url-fetch) + (uri + (string-append + "http://ab-initio.mit.edu/harminv/harminv-" + version ".tar.gz")) + (sha256 + (base32 + "1pmm8d6fx9ahhnk7w12bfa6zx3afbkg4gkvlvgwhpjxbcrvrp3jk")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'configure 'fix-tests + (lambda _ + (substitute* "./sines-test.sh" + ; change test frequency range - default fails + (("0\\.15") "0.16")) + #t))))) + (native-inputs + `(("fortran" ,gfortran))) + (inputs + `(("lapack" ,lapack))) + (home-page "http://ab-initio.mit.edu/wiki/index.php/Harminv") + (synopsis "Harmonic inversion solver") + (description + "Harminv is a free program (and accompanying library) to solve the problem of +harmonic inversion — given a discrete-time, finite-length signal that consists of a sum +of finitely-many sinusoids (possibly exponentially decaying) in a given bandwidth, it +determines the frequencies, decay constants, amplitudes, and phases of those sinusoids.") + (license license:gpl2+)))