From f63f8da9483806312dea908d0e0fc63189a601d2 Mon Sep 17 00:00:00 2001 From: bra1nwave Date: Fri, 8 Nov 2019 09:52:33 +0100 Subject: [PATCH] calibre: update to 4.3.0. --- .../calibre/patches/calibre-qt-5.13.2.patch | 166 ------------------ srcpkgs/calibre/template | 6 +- 2 files changed, 3 insertions(+), 169 deletions(-) delete mode 100644 srcpkgs/calibre/patches/calibre-qt-5.13.2.patch diff --git a/srcpkgs/calibre/patches/calibre-qt-5.13.2.patch b/srcpkgs/calibre/patches/calibre-qt-5.13.2.patch deleted file mode 100644 index 37206e30942..00000000000 --- a/srcpkgs/calibre/patches/calibre-qt-5.13.2.patch +++ /dev/null @@ -1,166 +0,0 @@ -From 2da7dd741fcebd3af89f77bc3fc4f52fe90940de Mon Sep 17 00:00:00 2001 -From: Kovid Goyal -Date: Sat, 2 Nov 2019 07:18:35 +0530 -Subject: [PATCH 1/4] Better error message on AJAX call failure - -(cherry picked from commit 8b7b9427bd71f48acf9dc766c976bb3f5ce5e357) ---- - src/pyj/ajax.pyj | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/pyj/ajax.pyj b/src/pyj/ajax.pyj -index 7a8c453e5e..3a43984903 100644 ---- src/pyj/ajax.pyj -+++ src/pyj/ajax.pyj -@@ -81,7 +81,7 @@ def ajax(path, on_complete, on_progress=None, bypass_cache=True, method='GET', q - rtext = xhr.responseText or '' - except: - rtext = '' -- xhr.error_html = str.format(_('Failed to communicate with "{}", with status: [{}] {}

{}'), xhr.request_path, xhr.status, xhr.statusText, rtext[:200]) -+ xhr.error_html = str.format(_('Failed to communicate with "{}", with status: [{} ({})] {}

{}'), xhr.request_path, xhr.status, event, xhr.statusText, rtext[:200]) - - def progress_callback(ev): - if ev.lengthComputable: --- -2.23.0 - - -From fc63678168b5bbb8c48f1930535e1d2bfb90c13f Mon Sep 17 00:00:00 2001 -From: Kovid Goyal -Date: Sat, 2 Nov 2019 07:24:10 +0530 -Subject: [PATCH 2/4] Workaround for AJAX breakage on Qt 5.13.2 - -Fixes #1850975 [qt5-webengine 5.13.2 breaks ebook-viewer](https://bugs.launchpad.net/calibre/+bug/1850975) - -(cherry picked from commit 6cccd18be81133ce57c885ecad9e012a16a3fe8b) ---- - src/pyj/ajax.pyj | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/src/pyj/ajax.pyj b/src/pyj/ajax.pyj -index 3a43984903..5a038eaed5 100644 ---- src/pyj/ajax.pyj -+++ src/pyj/ajax.pyj -@@ -102,6 +102,9 @@ def ajax(path, on_complete, on_progress=None, bypass_cache=True, method='GET', q - is_network_error = ev if end_type is 'error' else False - if xhr.status is not ok_code and end_type is 'load': - end_type = 'error' -+ if xhr.status is ok_code and end_type is 'error': -+ # this apparently happens on Qt 5.13.2 -+ end_type = 'load' - if end_type is not 'load': - set_error(end_type, is_network_error) - on_complete(end_type, xhr, ev) --- -2.23.0 - - -From 71223eb8a2ace02473ada1568f123d2bd5af3891 Mon Sep 17 00:00:00 2001 -From: Kovid Goyal -Date: Sun, 3 Nov 2019 07:12:25 +0530 -Subject: [PATCH 3/4] Also reset headers/footers when resetting interface - -And work Qt 5.13.2 bug in more places - -(cherry picked from commit a179632356579a954eccf2d23112f061e8187a68) -[Eli: disentangled from unrelated changes relying on commit 4e98478013c7e23a6333cb27cc09976667c77d1f] ---- - src/pyj/ajax.pyj | 10 +++++++--- - src/pyj/viewer-main.pyj | 5 ++++- - 2 files changed, 11 insertions(+), 4 deletions(-) - -diff --git a/src/pyj/ajax.pyj b/src/pyj/ajax.pyj -index 5a038eaed5..9337c6ad62 100644 ---- src/pyj/ajax.pyj -+++ src/pyj/ajax.pyj -@@ -47,6 +47,12 @@ def absolute_path(path): - return path - - -+def workaround_qt_bug(xhr, end_type, ok_code=200): -+ if end_type is 'error' and xhr.status is ok_code: -+ end_type = 'load' -+ return end_type -+ -+ - def ajax(path, on_complete, on_progress=None, bypass_cache=True, method='GET', query=None, timeout=None, ok_code=200, progress_totals_needed=True): - # Run an AJAX request. on_complete must be a function that accepts three - # arguments: end_type, xhr, ev where end_type is one of 'abort', 'error', -@@ -102,9 +108,7 @@ def ajax(path, on_complete, on_progress=None, bypass_cache=True, method='GET', q - is_network_error = ev if end_type is 'error' else False - if xhr.status is not ok_code and end_type is 'load': - end_type = 'error' -- if xhr.status is ok_code and end_type is 'error': -- # this apparently happens on Qt 5.13.2 -- end_type = 'load' -+ end_type = workaround_qt_bug(xhr, end_type, ok_code) - if end_type is not 'load': - set_error(end_type, is_network_error) - on_complete(end_type, xhr, ev) -diff --git a/src/pyj/viewer-main.pyj b/src/pyj/viewer-main.pyj -index 87c9d3e9a5..d7047386d9 100644 ---- src/pyj/viewer-main.pyj -+++ src/pyj/viewer-main.pyj -@@ -7,7 +7,7 @@ from elementmaker import E - from gettext import gettext as _, install - - import initialize # noqa: unused-import --from ajax import ajax -+from ajax import ajax, workaround_qt_bug - from book_list.globals import set_session_data - from book_list.library_data import library_data - from book_list.theme import get_color -@@ -34,6 +34,7 @@ view = None - - - def file_received(name, file_data, proceed, end_type, xhr, ev): -+ end_type = workaround_qt_bug(xhr, end_type) - if end_type is 'abort': - return - if end_type is not 'load': -@@ -62,6 +63,7 @@ def get_file(book, name, proceed): - xhr.send() - - def mathjax_file_received(name, proceed, end_type, xhr, ev): -+ end_type = workaround_qt_bug(xhr, end_type) - if end_type is 'abort': - return - if end_type is not 'load': -@@ -139,6 +141,7 @@ def show_error(title, msg, details): - - def manifest_received(key, initial_cfi, initial_toc_node, pathtoebook, end_type, xhr, ev): - nonlocal book -+ end_type = workaround_qt_bug(xhr, end_type) - if end_type is 'load': - book = new_book(key, {}) - data = xhr.response --- -2.23.0 - - -From 461f2095d3a91cd1e81e3a853b3fc985c7ecbcd6 Mon Sep 17 00:00:00 2001 -From: Kovid Goyal -Date: Sun, 3 Nov 2019 07:16:17 +0530 -Subject: [PATCH 4/4] Only use Qt bug workaround in the viewer - -(cherry picked from commit c17411a39f9db0fe15455f6a0dd959ffe70087e5) ---- - src/pyj/ajax.pyj | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/pyj/ajax.pyj b/src/pyj/ajax.pyj -index 9337c6ad62..ec5c78cd1c 100644 ---- src/pyj/ajax.pyj -+++ src/pyj/ajax.pyj -@@ -48,7 +48,7 @@ def absolute_path(path): - - - def workaround_qt_bug(xhr, end_type, ok_code=200): -- if end_type is 'error' and xhr.status is ok_code: -+ if end_type is 'error' and xhr.status is ok_code and window.navigator.userAgent.indexOf('calibre-viewer') is 0: - end_type = 'load' - return end_type - --- -2.23.0 - diff --git a/srcpkgs/calibre/template b/srcpkgs/calibre/template index fde94a5b1fd..9e40404c69e 100644 --- a/srcpkgs/calibre/template +++ b/srcpkgs/calibre/template @@ -1,7 +1,7 @@ # Template file for 'calibre' pkgname=calibre -version=4.2.0 -revision=2 +version=4.3.0 +revision=1 build_style=python2-module pycompile_dirs="/usr/lib/calibre/" hostmakedepends="pkg-config python-BeautifulSoup4 python-Pillow python-PyQt5-svg @@ -23,7 +23,7 @@ license="GPL-3.0-only" homepage="https://calibre-ebook.com" changelog="https://raw.githubusercontent.com/kovidgoyal/calibre/master/Changelog.yaml" distfiles="https://download.calibre-ebook.com/${version}/calibre-${version}.tar.xz" -checksum=b1b626acdcc3b29ae96489e7424389161bd6529545f47c0d2b063b99131286d8 +checksum=cf19f19da993c496a045c49d89f9232dd5ab23034acad2d14cba0bfab8178420 nocross=yes do_configure() {