summary refs log tree commit diff
path: root/gnu/packages/python-xyz.scm
diff options
context:
space:
mode:
authorMarius Bakke <marius@gnu.org>2021-12-16 21:10:34 +0100
committerMarius Bakke <marius@gnu.org>2021-12-16 22:21:13 +0100
commit1f4319886a9523ee46033f1d28b15f564bab4312 (patch)
tree6ce8b8849204bef17d8b656892d8bf7066e17ee7 /gnu/packages/python-xyz.scm
parent12c75628b4322853943ae0d0a833e371c02b97f4 (diff)
downloadguix-1f4319886a9523ee46033f1d28b15f564bab4312.tar.gz
gnu: python-magic: Work around crash on .crx files.
* gnu/packages/patches/python-magic-python-bytecode.patch: New file.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
* gnu/packages/python-xyz.scm (python-magic)[source](patches): Add it.
[inputs]: Add FILE-NEXT.
[arguments]: While at it, remove input labels.
* gnu/packages/diffoscope.scm (diffoscope)[native-inputs]: Add FILE-NEXT.
Diffstat (limited to 'gnu/packages/python-xyz.scm')
-rw-r--r--gnu/packages/python-xyz.scm9
1 files changed, 6 insertions, 3 deletions
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index be40a02e2a..13d883c26d 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -14614,6 +14614,7 @@ syntax highlighting, markdown and more to the terminal.")
        (method git-fetch)
        (uri (git-reference (url home-page) (commit version)))
        (file-name (git-file-name name version))
+       (patches (search-patches "python-magic-python-bytecode.patch"))
        (sha256
         (base32
          "17jalhjbfd600lzfz296m0nvgp6c7vx1mgz82jbzn8hgdzknf4w0"))))
@@ -14628,10 +14629,10 @@ syntax highlighting, markdown and more to the terminal.")
                   ;; python-magic to fail.
                   (add-before 'build 'hard-code-path-to-libmagic
                     (lambda* (#:key inputs #:allow-other-keys)
-                      (let ((file (assoc-ref inputs "file")))
+                      (let ((magic (search-input-file inputs "/lib/libmagic.so")))
                         (substitute* "magic/loader.py"
                           (("find_library\\('magic'\\)")
-                           (string-append "'" file "/lib/libmagic.so'"))))))
+                           (string-append "'" magic "'"))))))
                   (replace 'check
                     (lambda* (#:key tests? #:allow-other-keys)
                       ;; The test suite mandates this variable.
@@ -14645,7 +14646,9 @@ syntax highlighting, markdown and more to the terminal.")
      (list which))
     (inputs
      ;; python-magic needs to be able to find libmagic.so.
-     (list file))
+     ;; Use a newer version because 5.39 returns bogus for some archives
+     ;; (notably Chromium .crx extensions), which breaks e.g. 'diffoscope'.
+     (list file-next))
     (synopsis "File type identification using libmagic")
     (description
      "This module uses ctypes to access the libmagic file type