gnu: Calibre: Fix a build failure with recent zeroconf.
Fixes <https://issues.guix.gnu.org/53247>. * gnu/packages/patches/calibre-fix-zeroconf.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/ebook.scm (calibre)[source]: Use it.
parent
3a555a93a9
commit
873fda504c
|
@ -916,6 +916,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/cabal-install-ghc8.10.patch \
|
||||
%D%/packages/patches/cairo-CVE-2018-19876.patch \
|
||||
%D%/packages/patches/cairo-CVE-2020-35492.patch \
|
||||
%D%/packages/patches/calibre-fix-zeroconf.patch \
|
||||
%D%/packages/patches/calibre-no-updates-dialog.patch \
|
||||
%D%/packages/patches/calibre-remove-test-sqlite.patch \
|
||||
%D%/packages/patches/calibre-remove-test-unrar.patch \
|
||||
|
|
|
@ -145,7 +145,8 @@ with Microsoft Compiled HTML (CHM) files")
|
|||
(delete-file "resources/calibre-portable.bat")
|
||||
(delete-file "resources/calibre-portable.sh")
|
||||
#t))
|
||||
(patches (search-patches "calibre-no-updates-dialog.patch"
|
||||
(patches (search-patches "calibre-fix-zeroconf.patch"
|
||||
"calibre-no-updates-dialog.patch"
|
||||
"calibre-remove-test-sqlite.patch" ; TODO: fix test.
|
||||
"calibre-remove-test-unrar.patch"))))
|
||||
(build-system python-build-system)
|
||||
|
|
|
@ -0,0 +1,38 @@
|
|||
Fix a build failure when upgrading zeroconf from 0.28.8 to 0.38.1:
|
||||
|
||||
https://issues.guix.gnu.org/53247
|
||||
|
||||
Patch copied from Gentoo:
|
||||
|
||||
https://bugs.gentoo.org/800233#c5
|
||||
|
||||
diff --color -Naru a/src/calibre/devices/smart_device_app/driver.py b/src/calibre/devices/smart_device_app/driver.py
|
||||
--- a/src/calibre/devices/smart_device_app/driver.py 2021-08-08 08:32:03.104016444 +0200
|
||||
+++ b/src/calibre/devices/smart_device_app/driver.py 2021-08-08 08:33:30.699018403 +0200
|
||||
@@ -2040,13 +2040,6 @@
|
||||
# Function to monkeypatch zeroconf to remove the 15 character name length restriction.
|
||||
# Copied from https://github.com/jstasiak/python-zeroconf version 0.28.1
|
||||
|
||||
-
|
||||
-from zeroconf import (BadTypeInNameException, _HAS_A_TO_Z,
|
||||
- _HAS_ONLY_A_TO_Z_NUM_HYPHEN_UNDERSCORE,
|
||||
- _HAS_ASCII_CONTROL_CHARS,
|
||||
- _HAS_ONLY_A_TO_Z_NUM_HYPHEN)
|
||||
-
|
||||
-
|
||||
def service_type_name(type_: str, *, allow_underscores: bool = False) -> str:
|
||||
"""
|
||||
Validate a fully qualified service name, instance or subtype. [rfc6763]
|
||||
@@ -2087,6 +2080,12 @@
|
||||
:param type_: Type, SubType or service name to validate
|
||||
:return: fully qualified service name (eg: _http._tcp.local.)
|
||||
"""
|
||||
+
|
||||
+ from zeroconf import (BadTypeInNameException, _HAS_A_TO_Z,
|
||||
+ _HAS_ONLY_A_TO_Z_NUM_HYPHEN_UNDERSCORE,
|
||||
+ _HAS_ASCII_CONTROL_CHARS,
|
||||
+ _HAS_ONLY_A_TO_Z_NUM_HYPHEN)
|
||||
+
|
||||
if not (type_.endswith('._tcp.local.') or type_.endswith('._udp.local.')):
|
||||
raise BadTypeInNameException("Type '%s' must end with '._tcp.local.' or '._udp.local.'" % type_)
|
||||
|
Reference in New Issue