summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gnu/packages/lsof.scm47
1 files changed, 22 insertions, 25 deletions
diff --git a/gnu/packages/lsof.scm b/gnu/packages/lsof.scm
index e4730baa8b..97658c856a 100644
--- a/gnu/packages/lsof.scm
+++ b/gnu/packages/lsof.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
+;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -57,31 +58,27 @@
    (arguments
     `(#:tests? #f ; no test target
       #:phases
-      (alist-replace
-       'unpack
-       (lambda* (#:key source #:allow-other-keys)
-         (let ((unpack (assoc-ref %standard-phases 'unpack)))
-           (unpack #:source source)
-           (unpack #:source (car (find-files "." "\\.tar$")))))
-      (alist-replace
-       'configure
-       (lambda _
-         (setenv "LSOF_CC" "gcc")
-         (setenv "LSOF_MAKE" "make")
-         (system* "./Configure" "linux"))
-      (alist-replace
-       'install
-       (lambda* (#:key outputs #:allow-other-keys)
-         (let ((out (assoc-ref outputs "out")))
-           (mkdir out)
-           (mkdir (string-append out "/bin"))
-           (copy-file "lsof" (string-append out "/bin/lsof"))
-           (mkdir (string-append out "/share"))
-           (mkdir (string-append out "/share/man"))
-           (mkdir (string-append out "/share/man/man8"))
-           (copy-file "lsof.8" (string-append out "/share/man/man8/lsof.8"))
-         ))
-       %standard-phases)))))
+      (modify-phases %standard-phases
+        (replace 'unpack
+          (lambda* (#:key source #:allow-other-keys)
+            (let ((unpack (assoc-ref %standard-phases 'unpack)))
+              (unpack #:source source)
+              (unpack #:source (car (find-files "." "\\.tar$"))))))
+        (replace 'configure
+          (lambda _
+            (setenv "LSOF_CC" "gcc")
+            (setenv "LSOF_MAKE" "make")
+            (zero? (system* "./Configure" "linux"))))
+        (replace 'install
+          (lambda* (#:key outputs #:allow-other-keys)
+            (let ((out (assoc-ref outputs "out")))
+              (mkdir out)
+              (mkdir (string-append out "/bin"))
+              (copy-file "lsof" (string-append out "/bin/lsof"))
+              (mkdir (string-append out "/share"))
+              (mkdir (string-append out "/share/man"))
+              (mkdir (string-append out "/share/man/man8"))
+              (copy-file "lsof.8" (string-append out "/share/man/man8/lsof.8"))))))))
    (synopsis "Display information about open files")
    (description
     "Lsof stands for LiSt Open Files, and it does just that.