From 873fda504c74115c2d0333687a6723b134257dac Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Fri, 14 Jan 2022 14:17:47 -0500 Subject: gnu: Calibre: Fix a build failure with recent zeroconf. Fixes . * 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. --- gnu/local.mk | 1 + gnu/packages/ebook.scm | 3 +- gnu/packages/patches/calibre-fix-zeroconf.patch | 38 +++++++++++++++++++++++++ 3 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/calibre-fix-zeroconf.patch diff --git a/gnu/local.mk b/gnu/local.mk index 5a8d140cea..1614c789cf 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -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 \ diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scm index 03671ee902..207bbfcdaf 100644 --- a/gnu/packages/ebook.scm +++ b/gnu/packages/ebook.scm @@ -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) diff --git a/gnu/packages/patches/calibre-fix-zeroconf.patch b/gnu/packages/patches/calibre-fix-zeroconf.patch new file mode 100644 index 0000000000..d7d0f18667 --- /dev/null +++ b/gnu/packages/patches/calibre-fix-zeroconf.patch @@ -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_) + -- cgit v1.2.3