gnu: diffoscope: Embed tool references.

Fixes <http://bugs.gnu.org/25315>.

* gnu/packages/package-management.scm (diffoscope)[inputs]: Add
colordiff and vim.
[arguments]: Add "embed-tool-references" build phase to embed references
to "colordiff", "xxd", and "readelf".
This commit is contained in:
Ricardo Wurmus 2017-01-01 10:42:46 +01:00
parent ed88dd4512
commit 5dbeccf5b4
No known key found for this signature in database
GPG key ID: 197A5888235FACAC

View file

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2017 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -45,12 +45,14 @@ (define-module (gnu packages package-management)
#:use-module (gnu packages web)
#:use-module (gnu packages man)
#:use-module (gnu packages bdw-gc)
#:use-module (gnu packages patchutils)
#:use-module (gnu packages python)
#:use-module (gnu packages popt)
#:use-module (gnu packages gnuzilla)
#:use-module (gnu packages cpio)
#:use-module (gnu packages tls)
#:use-module (gnu packages ssh)
#:use-module (gnu packages vim)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26)
#:use-module (ice-9 popen)
@ -494,12 +496,29 @@ (define-public diffoscope
(add-after 'unpack 'dependency-on-python-magic
(lambda _
(substitute* "setup.py"
(("'python-magic',") "")))))))
(("'python-magic',") ""))))
(add-after 'unpack 'embed-tool-references
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "diffoscope/difference.py"
(("@tool_required\\('colordiff'\\)") "")
(("\\[\"colordiff\"")
(string-append "[\"" (which "colordiff") "\"")))
(substitute* "diffoscope/comparators/utils.py"
(("@tool_required\\('xxd'\\)") "")
(("\\['xxd',")
(string-append "['" (which "xxd") "',")))
(substitute* "diffoscope/comparators/elf.py"
(("@tool_required\\('readelf'\\)") "")
(("\\['readelf',")
(string-append "['" (which "readelf") "',")))
#t)))))
(inputs `(("rpm" ,rpm) ;for rpm-python
("python-file" ,python-file)
("python-debian" ,python-debian)
("python-libarchive-c" ,python-libarchive-c)
("python-tlsh" ,python-tlsh)
("colordiff" ,colordiff)
("xxd" ,vim)
;; Below are modules used for tests.
("python-pytest" ,python-pytest)