summary refs log tree commit diff
path: root/gnu/packages
diff options
context:
space:
mode:
authorTomáš Čech <sleep_walker@gnu.org>2017-10-04 00:47:21 +0200
committerTomáš Čech <sleep_walker@gnu.org>2017-10-08 13:03:07 +0200
commit3eabcc787897ab951386ea35f36d124d6468b8ea (patch)
treedc3c5ea6251659883ba0ebd047d0e16c46a2f9fd /gnu/packages
parentcca6941feed56b6bcd767c2619b99cd619e91f0c (diff)
downloadguix-3eabcc787897ab951386ea35f36d124d6468b8ea.tar.gz
gnu: Add missing input to python-py3status and fix call path.
file is used to determine configuration file encoding and py3status fails to
start when this tool is missing.

* gnu/packages/python.scm (python-py3status)[inputs]: Add file.
  [arguments]: Modify phases to patch py3status to call file with an absolute
  path.
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/python.scm15
1 files changed, 14 insertions, 1 deletions
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 594dd38e42..cc7aa8fa4e 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -11494,8 +11494,21 @@ to occurrences in strings and comments.")
         (base32
          "0i283z1pivmir61z8kbiycigc94l61v33ygzkhczf1ifq7cppyds"))))
     (build-system python-build-system)
+    (inputs
+     `(("file" ,file)))
     (arguments
-     '(#:tests? #f)) ; TODO: Requires many libraries not in Guix.
+     '(#:phases
+       (modify-phases %standard-phases
+         ;; 'file' is used for detection of configuration file encoding
+         ;; let's make link the dependency to particular input
+         (add-before 'build 'patch-file-path
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let ((file-path (assoc-ref inputs "file")))
+               (substitute* "py3status/parse_config.py"
+                 (("check_output\\(\\['file'")
+                  (string-append "check_output(['" file-path "/bin/file'")))
+               #t))))
+       #:tests? #f)) ; TODO: Requires many libraries not in Guix.
     (home-page "https://github.com/ultrabug/py3status")
     (synopsis "Extensible i3status wrapper written in Python")
     (description "py3status is an i3status wrapper which extends i3status