Jiajie Chen writes: > * gnu/packages/lsof.scm (lsof): Update to 4.98.0 and switch to autotools. > --- > gnu/packages/lsof.scm | 99 ++++++++++++++----------------------------- > 1 file changed, 32 insertions(+), 67 deletions(-) > > diff --git a/gnu/packages/lsof.scm b/gnu/packages/lsof.scm > index 5f413483f4..6a46744edc 100644 > --- a/gnu/packages/lsof.scm > +++ b/gnu/packages/lsof.scm > @@ -27,84 +27,49 @@ (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. > It lists information about files that are open by the processes running > on the system.") > - (license (license:fsf-free > - "file://00FAQ" > + (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/"))) push, adjust message, style and update to 4.99.3. close.