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.
master
Leo Famulari 2018-02-28 23:20:02 -05:00
parent 2adfe819f0
commit acb59d99db
No known key found for this signature in database
GPG Key ID: 2646FA30BACA7F08
2 changed files with 22 additions and 1 deletions

View File

@ -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

View File

@ -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))