summary refs log tree commit diff
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
parented88dd45125ab3035611f7987240606d28dbebe3 (diff)
downloadguix-5dbeccf5b4f534dd5519691dfdf58a6921c9f343.tar.gz
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".
-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)