diff options
Diffstat (limited to 'gnu/packages/benchmark.scm')
-rw-r--r-- | gnu/packages/benchmark.scm | 61 |
1 files changed, 23 insertions, 38 deletions
diff --git a/gnu/packages/benchmark.scm b/gnu/packages/benchmark.scm index dda0123d42..9741814c82 100644 --- a/gnu/packages/benchmark.scm +++ b/gnu/packages/benchmark.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2016, 2017 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2016, 2017, 2021 Marius Bakke <marius@gnu.org> ;;; Copyright © 2017 Dave Love <fx@gnu.org> ;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net> @@ -47,7 +47,6 @@ #:use-module (gnu packages python-science) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) - #:use-module (gnu packages storage) #:use-module (ice-9 match)) (define-public fio @@ -63,55 +62,41 @@ "0ba9cnjrnm3nwcfbhh5x2sycr54j3yn1rqn76kjdyz40f3pdg3qm")))) (build-system gnu-build-system) (arguments - '(#:test-target "test" + `(#:modules (,@%gnu-build-system-modules + (ice-9 textual-ports)) + #:test-target "test" + #:configure-flags '("--disable-native") ;don't generate code for the build CPU #:phases (modify-phases %standard-phases - (add-after - 'unpack 'patch-paths - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (gnuplot (search-input-file inputs "/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")))))) (replace 'configure - (lambda* (#:key outputs #:allow-other-keys) + (lambda* (#:key (configure-flags ''()) outputs #:allow-other-keys) ;; The configure script doesn't understand some of the - ;; GNU options, so we can't use #:configure-flags. + ;; GNU options, so we can't use the stock phase. (let ((out (assoc-ref outputs "out"))) - (invoke "./configure" - (string-append "--prefix=" out))))) + (apply invoke "./configure" + (string-append "--prefix=" out) + configure-flags)))) ;; The main `fio` executable is fairly small and self contained. - ;; Moving the auxiliary python and gnuplot scripts to a separate - ;; output saves almost 400 MiB on the closure. + ;; Moving the auxiliary scripts to a separate output saves ~100 MiB + ;; on the closure. (add-after 'install 'move-outputs (lambda* (#:key outputs #:allow-other-keys) (let ((oldbin (string-append (assoc-ref outputs "out") "/bin")) - (newbin (string-append (assoc-ref outputs "utils") "/bin"))) + (newbin (string-append (assoc-ref outputs "utils") "/bin")) + (script? (lambda* (file #:rest _) + (call-with-input-file file + (lambda (port) + (char=? #\# (peek-char port))))))) (mkdir-p newbin) (for-each (lambda (file) - (let ((src (string-append oldbin "/" file)) - (dst (string-append newbin "/" file))) - (link src dst) - (delete-file src))) - '("fio2gnuplot" "fiologparser_hist.py" - "fiologparser.py")) - ;; Make sure numpy et.al is found. - (wrap-program (string-append newbin "/fiologparser_hist.py") - `("GUIX_PYTHONPATH" ":" prefix (,(getenv "GUIX_PYTHONPATH")))))))))) + (link file (string-append newbin "/" (basename file))) + (delete-file file)) + (find-files oldbin script?)))))))) (outputs '("out" "utils")) (inputs - `(("ceph" ,ceph "lib") - ("libaio" ,libaio) - ("gnuplot" ,gnuplot) - ("zlib" ,zlib) - ("python-numpy" ,python2-numpy) - ("python-pandas" ,python2-pandas) - ("python" ,python-2))) + `(("libaio" ,libaio) + ("python" ,python) + ("zlib" ,zlib))) (home-page "https://github.com/axboe/fio") (synopsis "Flexible I/O tester") (description |