diff options
Diffstat (limited to 'gnu/packages/lsof.scm')
-rw-r--r-- | gnu/packages/lsof.scm | 140 |
1 files changed, 69 insertions, 71 deletions
diff --git a/gnu/packages/lsof.scm b/gnu/packages/lsof.scm index b317902ee7..98bcdab468 100644 --- a/gnu/packages/lsof.scm +++ b/gnu/packages/lsof.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2019 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -31,79 +32,76 @@ (define-public lsof (package - (name "lsof") - (version "4.94.0") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/lsof-org/lsof") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0yxv2jg6rnzys49lyrz9yjb4knamah4xvlqj596y6ix3vm4k3chp")) - (patches (search-patches "lsof-fatal-test-failures.patch")))) - (build-system gnu-build-system) - (native-inputs - `(("groff" ,groff) ; for soelim - ("perl" ,perl))) - (arguments - `(#:phases - (modify-phases %standard-phases - (replace 'configure - (lambda _ - (setenv "LSOF_CC" ,(cc-for-target)) - (setenv "LSOF_MAKE" "make") + (name "lsof") + (version "4.94.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/lsof-org/lsof") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0yxv2jg6rnzys49lyrz9yjb4knamah4xvlqj596y6ix3vm4k3chp")) + (patches (search-patches "lsof-fatal-test-failures.patch")))) + (build-system gnu-build-system) + (native-inputs + (list groff ; for soelim + perl)) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'configure + (lambda _ + (setenv "LSOF_CC" ,(cc-for-target)) + (setenv "LSOF_MAKE" "make") - ;; By default, the makefile captures the output of 'uname -a'. - ;; Provide a fixed output instead to make builds reproducible. - (setenv "LSOF_SYSINFO" - (string-append "GNU/" (utsname:sysname (uname)) - " (GNU Guix)")) + ;; By default, the makefile captures the output of 'uname -a'. + ;; Provide a fixed output instead to make builds reproducible. + (setenv "LSOF_SYSINFO" + (string-append "GNU/" (utsname:sysname (uname)) + " (GNU Guix)")) - (invoke "./Configure" "linux") - #t)) - (add-after 'configure 'patch-timestamps - (lambda _ - (substitute* "Makefile" - (("`date`") "`date --date=@1`")) - #t)) - (add-after 'build 'build-man-page - (lambda _ - (with-output-to-file "lsof.8" - (lambda _ (invoke "soelim" "Lsof.8"))) - #t)) - (add-before 'check 'disable-failing-tests - (lambda _ - (substitute* "tests/Makefile" - ;; Fails with ‘ERROR!!! client gethostbyaddr() failure’. - (("(STDTST=.*) LTsock" _ prefix) prefix) - ;; Fails without access to a remote NFS server. - (("(OPTTST=.*) LTnfs" _ prefix) prefix)) - #t)) - (replace 'check - (lambda* (#:key tests? #:allow-other-keys) - (when tests? - (with-directory-excursion "tests" - ;; Tests refuse to run on ‘unvalidated’ platforms. - (make-file-writable "TestDB") - (invoke "./Add2TestDB") + (invoke "./Configure" "linux"))) + (add-after 'configure 'patch-timestamps + (lambda _ + (substitute* "Makefile" + (("`date`") "`date --date=@1`")))) + (add-after 'build 'build-man-page + (lambda _ + (with-output-to-file "lsof.8" + (lambda _ (invoke "soelim" "Lsof.8"))))) + (add-before 'check 'disable-failing-tests + (lambda _ + (substitute* "tests/Makefile" + ;; Fails with ‘ERROR!!! client gethostbyaddr() failure’. + (("(STDTST=.*) LTsock" _ prefix) prefix) + ;; LTnfs fails without access to a remote NFS server, and LTlock + ;; fails when run on a Btrfs file system (see: + ;; https://github.com/lsof-org/lsof/issues/152). + (("OPTTST=[[:space:]]*LTbigf LTdnlc LTlock LTnfs") + "OPTTST = LTbigf LTdnlc")))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (with-directory-excursion "tests" + ;; Tests refuse to run on ‘unvalidated’ platforms. + (make-file-writable "TestDB") + (invoke "./Add2TestDB") - ;; The ‘standard’ tests suggest running ‘optional’ ones as well. - (invoke "make" "standard" "optional"))) - #t)) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (install-file "lsof" (string-append out "/bin")) - (install-file "lsof.8" (string-append out "/share/man/man8"))) - #t))))) - (synopsis "Display information about open files") - (description - "Lsof stands for LiSt Open Files, and it does just that. + ;; The ‘standard’ tests suggest running ‘optional’ ones as well. + (invoke "make" "standard" "optional"))))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (install-file "lsof" (string-append out "/bin")) + (install-file "lsof.8" (string-append out "/share/man/man8")))))))) + (synopsis "Display information about open files") + (description + "Lsof stands for LiSt Open Files, and it does just that. It lists information about files that are open by the processes running on the system.") - (license (license:fsf-free - "file://00FAQ" - "License inspired by zlib, see point 1.9 of 00FAQ in the distribution.")) - (home-page "https://people.freebsd.org/~abe/"))) + (license (license:fsf-free + "file://00FAQ" + "License inspired by zlib, see point 1.9 of 00FAQ in the distribution.")) + (home-page "https://people.freebsd.org/~abe/"))) |