mbakke pushed a commit to branch master in repository guix. commit ac6fec05e4fe6b615651ea3e7c36f5a542cfa400 Author: Marius Bakke <mba...@fastmail.com> Date: Wed Feb 1 13:35:32 2017 +0100
gnu: fio: Enable optional helper scripts. * gnu/packages/benchmark.scm (fio)[arguments]: Add 'patch-paths' and 'wrap-python-scripts' phases. [inputs]: Add GNUPLOT, PYTHON-2, PYTHON2-NUMPY and PYTHON2-PANDAS. --- gnu/packages/benchmark.scm | 35 +++++++++++++++++++++++++++++++---- 1 file changed, 31 insertions(+), 4 deletions(-) diff --git a/gnu/packages/benchmark.scm b/gnu/packages/benchmark.scm index 2b21658..acaeb67 100644 --- a/gnu/packages/benchmark.scm +++ b/gnu/packages/benchmark.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2016 Marius Bakke <mba...@fastmail.com> +;;; Copyright © 2016, 2017 Marius Bakke <mba...@fastmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -22,7 +22,9 @@ #:use-module (guix download) #:use-module (guix build-system gnu) #:use-module (gnu packages compression) - #:use-module (gnu packages linux)) + #:use-module (gnu packages linux) + #:use-module (gnu packages maths) + #:use-module (gnu packages python)) (define-public fio (package @@ -41,16 +43,41 @@ '(#:tests? #f ; No tests. #:phases (modify-phases %standard-phases + (add-after + 'unpack 'patch-paths + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (gnuplot (string-append (assoc-ref inputs "gnuplot") + "/bin/gnuplot"))) + (substitute* "tools/plot/fio2gnuplot" + (("/usr/share/fio") (string-append out "/share/fio")) + ;; FIXME (upstream): The 'gnuplot' executable is used inline + ;; in various os.system() calls mixed with *.gnuplot filenames. + (("; do gnuplot") (string-append "; do " gnuplot)) + (("gnuplot mymath") (string-append gnuplot " mymath")) + (("gnuplot mygraph") (string-append gnuplot " mygraph"))) + #t))) (replace 'configure (lambda* (#:key outputs #:allow-other-keys) ;; The configure script doesn't understand some of the ;; GNU options, so we can't use #:configure-flags. (let ((out (assoc-ref outputs "out"))) (zero? (system* "./configure" - (string-append "--prefix=" out))))))))) + (string-append "--prefix=" out)))))) + (add-after + 'install 'wrap-python-scripts + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (wrap-program (string-append out "/bin/fiologparser_hist.py") + `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH")))) + #t)))))) (inputs `(("libaio" ,libaio) - ("zlib" ,zlib))) + ("gnuplot" ,gnuplot) + ("zlib" ,zlib) + ("python-numpy" ,python2-numpy) + ("python-pandas" ,python2-pandas) + ("python" ,python-2))) (home-page "https://github.com/axboe/fio") (synopsis "Flexible I/O tester") (description