~ruther/guix-local

5dbeccf5b4f534dd5519691dfdf58a6921c9f343 — Ricardo Wurmus 9 years ago ed88dd4
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".
1 files changed, 21 insertions(+), 2 deletions(-)

M gnu/packages/package-management.scm
M gnu/packages/package-management.scm => gnu/packages/package-management.scm +21 -2
@@ 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)