gnu: diffoscope: Fix error messages related to comparison tools.

* gnu/packages/package-management.scm (diffoscope)[arguments]: Replace readelf
substitution and add stat and getfacl substitutions.
[inputs]: Add acl.

Errors fixed include the following:
  "FileNotFoundError: [Errno 2] No such file or directory: 'readelf'"
  "diffoscope.comparators.directory: Unable to find 'getfacl', some directory
   metadata differences might not be noticed."
  "diffoscope.comparators.directory: Unable to find 'stat'"
This commit is contained in:
Kei Kebreau 2017-11-24 15:58:57 -05:00
parent 5ea35b42e4
commit 2af6be91d5
No known key found for this signature in database
GPG key ID: E6A5EE3C19467A0D

View file

@ -63,6 +63,7 @@ (define-module (gnu packages package-management)
#:use-module (gnu packages ssh)
#:use-module (gnu packages vim)
#:use-module (gnu packages serialization)
#:use-module (gnu packages acl)
#:use-module (srfi srfi-1)
#:use-module (ice-9 match))
@ -520,7 +521,6 @@ (define-public diffoscope
(build-system python-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
(add-before 'unpack 'n (lambda _ #t))
;; setup.py mistakenly requires python-magic from PyPi, even
;; though the Python bindings of `file` are sufficient.
;; https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=815844
@ -535,8 +535,15 @@ (define-public diffoscope
(string-append "['" (which "xxd") "',")))
(substitute* "diffoscope/comparators/elf.py"
(("@tool_required\\('readelf'\\)") "")
(("\\['readelf',")
(string-append "['" (which "readelf") "',")))
(("get_tool_name\\('readelf'\\)")
(string-append "'" (which "readelf") "'")))
(substitute* "diffoscope/comparators/directory.py"
(("@tool_required\\('stat'\\)") "")
(("@tool_required\\('getfacl'\\)") "")
(("\\['stat',")
(string-append "['" (which "stat") "',"))
(("\\['getfacl',")
(string-append "['" (which "getfacl") "',")))
#t))
(add-before 'check 'delete-failing-test
(lambda _
@ -547,6 +554,7 @@ (define-public diffoscope
("python-debian" ,python-debian)
("python-libarchive-c" ,python-libarchive-c)
("python-tlsh" ,python-tlsh)
("acl" ,acl) ;for getfacl
("colordiff" ,colordiff)
("xxd" ,xxd)