summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2017-01-01 10:42:46 +0100
committerRicardo Wurmus <rekado@elephly.net>2017-01-01 21:53:50 +0100
commit5dbeccf5b4f534dd5519691dfdf58a6921c9f343 (patch)
tree73a5df5de1c463c97ad812fe28eef680b028f587 /gnu
parented88dd45125ab3035611f7987240606d28dbebe3 (diff)
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".
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/package-management.scm23
1 files changed, 21 insertions, 2 deletions
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index 1b9191cbcb..23f34cd306 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -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 @@
#: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 @@ transactions from C or Python.")
(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)