mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-11-07 07:26:13 -05:00
gnu: lsof: Update to 4.98.0
* gnu/packages/lsof.scm (lsof): Update to 4.98.0. [native-inputs]: Add automake, autoconf, pkg-config, procps and util-linux. [arguments]<#:phases>: Remove replace configure,install phases. Remove patch-timestamps,build-man-page phases. Adjust and move disable-failing-tests to before bootstrap. Signed-off-by: Zheng Junjie <zhengjunjie@iscas.ac.cn> Change-Id: I5b381e77f6e6ed89431856f409a5a6e8b9fd765c
This commit is contained in:
parent
eff3ff9878
commit
fb59f4f392
1 changed files with 31 additions and 65 deletions
|
@ -27,78 +27,44 @@ (define-module (gnu packages lsof)
|
|||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages groff)
|
||||
#:use-module (gnu packages perl))
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages linux))
|
||||
|
||||
(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"))))
|
||||
(version "4.98.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
|
||||
"0cjmhd01p5a9cy52lirv1rkidrzhyn366f4h212jcf1cmp8xh0hd"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list groff ; for soelim
|
||||
perl))
|
||||
(native-inputs (list automake
|
||||
autoconf
|
||||
groff ;for soelim
|
||||
perl
|
||||
pkg-config
|
||||
procps ;for ps
|
||||
util-linux)) ;for unshare
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'configure
|
||||
(lambda _
|
||||
(setenv "LSOF_CC" ,(cc-for-target))
|
||||
,@(if (%current-target-system)
|
||||
'((setenv "LINUX_CONF_CC" "gcc"))
|
||||
'())
|
||||
(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)"))
|
||||
|
||||
(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")))))
|
||||
(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"))))))))
|
||||
`(#:phases (modify-phases %standard-phases
|
||||
(add-before 'bootstrap 'disable-failing-tests
|
||||
(lambda _
|
||||
(substitute* "Makefile.am"
|
||||
;; Fails with ‘ERROR!!! client gethostbyaddr() failure’.
|
||||
(("(TESTS \\+=.*) tests/LTsock" _ prefix)
|
||||
prefix)
|
||||
;; Fails because /proc not mounted in sandbox
|
||||
(("\tdialects/linux/tests/case-20-epoll.bash \\\\")
|
||||
"\\")))))))
|
||||
(synopsis "Display information about open files")
|
||||
(description
|
||||
"Lsof stands for LiSt Open Files, and it does just that.
|
||||
|
|
Loading…
Reference in a new issue