summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorLars-Dominik Braun <lars@6xq.net>2021-09-03 11:00:24 +0200
committerLars-Dominik Braun <lars@6xq.net>2021-09-04 14:53:36 +0200
commite82b103a776e4816682178432fd278aacc3d4004 (patch)
tree3b262d0aa83a68f8aa2d38fe26a57fb8956f1a15 /gnu
parent26fe4d77bf4cdbe03bf379f53362ad11394a0cb0 (diff)
downloadguix-e82b103a776e4816682178432fd278aacc3d4004.tar.gz
gnu: python-rarfile: Update to 4.0.
This package is close to useless, because we lack the non-free unrar
utility and the libarchive backend does not support most operations.

* gnu/packages/python-xyz.scm (python-rarfile)[version]: Update to 4.0.
[arguments]: Disable tests.
[propagated-inputs]: Move…
[inputs]: …here.
[native-inputs]: Add pytest.
[#:phases]: Use pytest for 'check and Add 'patch phase.
(python2-rarfile): Remove, unsupported by upstream.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/python-xyz.scm30
1 files changed, 18 insertions, 12 deletions
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 830c18dd49..7c70829de9 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -13910,33 +13910,39 @@ can also be used to get the exact location, font or color of the text.")
 (define-public python-rarfile
   (package
     (name "python-rarfile")
-    (version "2.8")
+    (version "4.0")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "rarfile" version))
               (sha256
                (base32
-                "0qfad483kcbga0bn4qmcz953xjk16r52fahiy46zzn56v80y89ra"))))
+                "1882wv9szcm29mnyhjmspyflyr2l7z73srn14w4dlnww49lqfm37"))))
     (build-system python-build-system)
     (arguments
-     '(#:phases
+     `(#:tests? #f ;; The bsdtar utility is very limited and most tests fail.
+       #:phases
        (modify-phases %standard-phases
+         (add-after 'unpack 'patch
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "rarfile.py"
+               ;; Disable unrar and unar, which are unavailable on Guix.
+               (("(unrar|unar)=True" all tool) (string-append tool "=False"))
+               ;; Hardcode path to bsdtar
+               (("\"bsdtar\"")
+                (string-append "\"" (assoc-ref inputs "libarchive") "/bin/bsdtar\"")))
+             #t))
          (replace 'check
-           ;; Many tests fail, but the installation proceeds.
-           (lambda _ (invoke "make" "-C" "test" "test"))))))
-    (native-inputs
-     `(("which" ,which))) ; required for tests
-    (propagated-inputs
-     `(("libarchive" ,libarchive)))
+           (lambda* (#:key inputs tests? #:allow-other-keys)
+             (when tests?
+               (invoke "pytest" "-vv")))))))
+    (native-inputs `(("python-pytest" ,python-pytest)))
+    (inputs `(("libarchive" ,libarchive)))
     (home-page "https://github.com/markokr/rarfile")
     (synopsis "RAR archive reader for Python")
     (description "This is Python module for RAR archive reading.  The interface
 is made as zipfile like as possible.")
     (license license:isc)))
 
-(define-public python2-rarfile
-  (package-with-python2 python-rarfile))
-
 (define-public python-rich
   (package
     (name "python-rich")