summaryrefslogtreecommitdiff
path: root/gnu/packages
diff options
context:
space:
mode:
authorLeo Famulari <leo@famulari.name>2018-02-28 23:20:02 -0500
committerLeo Famulari <leo@famulari.name>2018-02-28 23:43:23 -0500
commitacb59d99dbb8779ecf41cdbba45d2ce8ba88f5ed (patch)
tree03fbc6530db927638ef7094ac303c64f001762df /gnu/packages
parent2adfe819f08ab19cfee7ae381b960de4c110441e (diff)
gnu: Fix Borg crashes with Python msgpack > 0.5
The Python msgpack library changed its name, but borg (and possibly other packages) still uses the old name. Fixes <https://bugs.gnu.org/30662>. * gnu/packages/python.scm (python-msgpack-transitional): New variable. * gnu/packages/backup.scm (borg)[inputs]: Use it.
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/backup.scm5
-rw-r--r--gnu/packages/python.scm18
2 files changed, 22 insertions, 1 deletions
diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm
index 48d4b08af6..2fafa2c4a6 100644
--- a/gnu/packages/backup.scm
+++ b/gnu/packages/backup.scm
@@ -547,7 +547,10 @@ detection, and lossless compression.")
("lz4" ,lz4)
("openssl" ,openssl)
("python-llfuse" ,python-llfuse)
- ("python-msgpack" ,python-msgpack)
+ ;; The Python msgpack library changed its name so Borg requires this
+ ;; transitional package for now:
+ ;; <https://bugs.gnu.org/30662>
+ ("python-msgpack" ,python-msgpack-transitional)
("zstd" ,zstd)))
(synopsis "Deduplicated, encrypted, authenticated and compressed backups")
(description "Borg is a deduplicating backup program. Optionally, it
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 064d79002d..69101c78b9 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -5869,6 +5869,24 @@ reading and writing MessagePack data.")
(home-page "https://pypi.python.org/pypi/msgpack/")
(license license:asl2.0)))
+;; This msgpack library's name changed from "python-msgpack" to "msgpack" with
+;; release 0.5. Some packages like borg still call it by the old name for now.
+;; <https://bugs.gnu.org/30662>
+(define-public python-msgpack-transitional
+ (package
+ (inherit python-msgpack)
+ (arguments
+ (substitute-keyword-arguments (package-arguments python-msgpack)
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (add-after 'unpack 'configure-transitional
+ (lambda _
+ ;; Keep using the old name.
+ (substitute* "setup.py"
+ (("TRANSITIONAL = False")
+ "TRANSITIONAL = 1"))
+ #t))))))))
+
(define-public python2-msgpack
(package-with-python2 python-msgpack))