guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01/08: gnu: fio: Install python scripts in separate output.


From: Marius Bakke
Subject: 01/08: gnu: fio: Install python scripts in separate output.
Date: Tue, 28 Mar 2017 11:07:31 -0400 (EDT)

mbakke pushed a commit to branch master
in repository guix.

commit f125ec8ef2ae3648047f85ab9f8b554b5a13bbbc
Author: Marius Bakke <address@hidden>
Date:   Tue Mar 28 00:08:36 2017 +0200

    gnu: fio: Install python scripts in separate output.
    
    * gnu/packages/benchmark.scm (fio)[outputs]: New field.
    [arguments]: Rename 'wrap-python-scripts' phase to 'move-outputs'. Keep 
wrapper.
---
 gnu/packages/benchmark.scm | 27 ++++++++++++++++++++-------
 1 file changed, 20 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/benchmark.scm b/gnu/packages/benchmark.scm
index ff5715d..9f6381e 100644
--- a/gnu/packages/benchmark.scm
+++ b/gnu/packages/benchmark.scm
@@ -64,13 +64,26 @@
              (let ((out (assoc-ref outputs "out")))
                (zero? (system* "./configure"
                                (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))))))
+         ;; 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.
+         (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")))
+               (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" "fio_latency2csv.py"
+                           "fiologparser_hist.py" "fiologparser.py"))
+               ;; Make sure numpy et.al is found.
+               (wrap-program (string-append newbin "/fiologparser_hist.py")
+                 `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH"))))
+               #t))))))
+    (outputs '("out" "utils"))
     (inputs
      `(("libaio" ,libaio)
        ("gnuplot" ,gnuplot)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]