diff options
-rw-r--r-- | gnu/local.mk | 1 | ||||
-rw-r--r-- | gnu/packages/ebook.scm | 1 | ||||
-rw-r--r-- | gnu/packages/patches/calibre-msgpack-compat.patch | 18 |
3 files changed, 20 insertions, 0 deletions
diff --git a/gnu/local.mk b/gnu/local.mk index dd0169a969..8328165e17 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -776,6 +776,7 @@ dist_patch_DATA = \ %D%/packages/patches/blender-2.79-python-3.7-fix.patch \ %D%/packages/patches/bluez-CVE-2020-0556.patch \ %D%/packages/patches/byobu-writable-status.patch \ + %D%/packages/patches/calibre-msgpack-compat.patch \ %D%/packages/patches/calibre-no-updates-dialog.patch \ %D%/packages/patches/calibre-remove-test-bs4.patch \ %D%/packages/patches/calibre-remove-test-sqlite.patch \ diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scm index 5ac0fb1533..37be173949 100644 --- a/gnu/packages/ebook.scm +++ b/gnu/packages/ebook.scm @@ -104,6 +104,7 @@ (delete-file "resources/calibre-portable.sh") #t)) (patches (search-patches "calibre-no-updates-dialog.patch" + "calibre-msgpack-compat.patch" "calibre-remove-test-bs4.patch" ; TODO: fix test. "calibre-remove-test-sqlite.patch" ; TODO: fix test. "calibre-remove-test-unrar.patch")))) diff --git a/gnu/packages/patches/calibre-msgpack-compat.patch b/gnu/packages/patches/calibre-msgpack-compat.patch new file mode 100644 index 0000000000..9920103bea --- /dev/null +++ b/gnu/packages/patches/calibre-msgpack-compat.patch @@ -0,0 +1,18 @@ +Fix deserialization with msgpack 1.0. + +Patch copied from upstream source repository: +https://github.com/kovidgoyal/calibre/commit/0ff41ac64994ec11b7859fc004c94d08769e3af3 + +diff --git a/src/calibre/utils/serialize.py b/src/calibre/utils/serialize.py +index f5d560c468..c35ae53849 100644 +--- a/src/calibre/utils/serialize.py ++++ b/src/calibre/utils/serialize.py +@@ -110,7 +110,7 @@ def msgpack_decoder(code, data): + def msgpack_loads(dump, use_list=True): + # use_list controls whether msgpack arrays are unpacked as lists or tuples + import msgpack +- return msgpack.unpackb(dump, ext_hook=msgpack_decoder, raw=False, use_list=use_list) ++ return msgpack.unpackb(dump, ext_hook=msgpack_decoder, raw=False, use_list=use_list, strict_map_key=False) + + + def json_loads(data): |