[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
19/21: gnu: calibre: Update to 5.13.0.
From: |
guix-commits |
Subject: |
19/21: gnu: calibre: Update to 5.13.0. |
Date: |
Mon, 29 Mar 2021 19:03:30 -0400 (EDT) |
lfam pushed a commit to branch wip-update-calibre
in repository guix.
commit c0bb7007bab0a1d7bc217c9e05449c4ec6d84fdf
Author: Brendan Tildesley <mail@brendan.scot>
AuthorDate: Sat Feb 27 23:04:01 2021 +1100
gnu: calibre: Update to 5.13.0.
* gnu/packages/ebook.scm (calibre): Update to 5.13.0.
[source]: Adjust the snippet to preserve some files used by the HTML
reader.
[native-inputs]: Add python-pyqt-builder. Replace python2-flake8 with
python-flake8.
[inputs]: Remove chmlib, js-mathjax, python-chardet, and python-sip.
Add python-cchardet, python-speechd, python-zeroconf, python-py7zr,
python-pychm, python-pycryptodome, libjpeg, and libjxr.
Replace all Python 2 dependencies with their Python 3 equivalents.
[arguments]: Build with the default Python and adjust custom phases
accordingly.
Adjust the 'configure' phase to changes in how Calibre uses SIP, and
patch lookup paths for libjpeg and libjxr.
Rename the 'build-extra' phase to 'install-rapydscript', and run it
after the 'install' phase. Adjust it for Calibre 5.13.0.
* gnu/packages/patches/calibre-no-updates-dialog.patch,
gnu/packages/patches/calibre-remove-test-sqlite.patch,
gnu/packages/patches/calibre-remove-test-unrar.patch: Adjust patches for
Calibre
5.13.0.
---
gnu/packages/ebook.scm | 117 +++++++++++----------
.../patches/calibre-no-updates-dialog.patch | 22 ++--
.../patches/calibre-remove-test-sqlite.patch | 21 ++--
.../patches/calibre-remove-test-unrar.patch | 24 ++---
4 files changed, 100 insertions(+), 84 deletions(-)
diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scm
index 5853ad0..66358f4 100644
--- a/gnu/packages/ebook.scm
+++ b/gnu/packages/ebook.scm
@@ -2,7 +2,7 @@
;;; Copyright © 2015, 2016 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2016, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017 Alex Griffin <a@ajgrf.com>
-;;; Copyright © 2017, 2019, 2020 Brendan Tildesley <mail@brendan.scot>
+;;; Copyright © 2017, 2019, 2020, 2021 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
@@ -58,10 +58,14 @@
#:use-module (gnu packages pdf)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
+ #:use-module (gnu packages python-build)
+ #:use-module (gnu packages python-compression)
+ #:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
#:use-module (gnu packages serialization)
+ #:use-module (gnu packages speech)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages time)
#:use-module (gnu packages tls)
@@ -111,7 +115,7 @@ with Microsoft Compiled HTML (CHM) files")
(define-public calibre
(package
(name "calibre")
- (version "4.18.0")
+ (version "5.13.0")
(source
(origin
(method url-fetch)
@@ -120,7 +124,7 @@ with Microsoft Compiled HTML (CHM) files")
version ".tar.xz"))
(sha256
(base32
- "0w9pcfvskjh4v00vjw3i6hzrafy863pgsmmqdx4lffip3p856brw"))
+ "08sljr5rg5f5i1s92g2li5f63mw458b8w5drgcxjm4k62rkl0c8q"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -132,8 +136,6 @@ with Microsoft Compiled HTML (CHM) files")
""))
;; Remove unneeded resources.
- (delete-file "resources/viewer.js")
- (delete-file "resources/viewer.html")
(delete-file "resources/mozilla-ca-certs.pem")
(delete-file "resources/calibre-portable.bat")
(delete-file "resources/calibre-portable.sh")
@@ -145,57 +147,60 @@ with Microsoft Compiled HTML (CHM) files")
(native-inputs
`(("pkg-config" ,pkg-config)
("qtbase" ,qtbase) ; for qmake
- ("python2-flake8" ,python2-flake8)
+ ("python-flake8" ,python-flake8)
+ ("python-pyqt-builder" ,python-pyqt-builder)
("xdg-utils" ,xdg-utils)))
(inputs
- `(("chmlib" ,chmlib)
- ("fontconfig" ,fontconfig)
+ `(("fontconfig" ,fontconfig)
("font-liberation" ,font-liberation)
("glib" ,glib)
("hunspell" ,hunspell)
("hyphen" ,hyphen)
("icu4c" ,icu4c)
- ("js-mathjax" ,js-mathjax)
("libmtp" ,libmtp)
("libpng" ,libpng)
+ ("libjpeg" ,libjpeg-turbo)
+ ("libjxr" ,libjxr)
("libusb" ,libusb)
("openssl" ,openssl)
("optipng" ,optipng)
("podofo" ,podofo)
("poppler" ,poppler)
- ("python" ,python-2)
- ("python2-apsw" ,python2-apsw)
- ("python2-beautifulsoup4" ,python2-beautifulsoup4)
- ("python2-chardet" ,python2-chardet)
- ("python2-cssselect" ,python2-cssselect)
- ("python2-css-parser" ,python2-css-parser)
- ("python2-dateutil" ,python2-dateutil)
- ("python2-dbus" ,python2-dbus)
- ("python2-dnspython" ,python2-dnspython-1.16)
- ("python2-dukpy" ,python2-dukpy)
- ("python2-feedparser" ,python2-feedparser)
- ("python2-html2text" ,python2-html2text)
- ("python2-html5-parser" ,python2-html5-parser)
- ("python2-html5lib" ,python2-html5lib)
- ("python2-lxml" ,python2-lxml)
- ("python2-markdown" ,python2-markdown)
- ("python2-mechanize" ,python2-mechanize)
- ;; python2-msgpack is needed for the network content server to work.
- ("python2-msgpack" ,python2-msgpack)
- ("python2-netifaces" ,python2-netifaces)
- ("python2-odfpy" ,python2-odfpy)
- ("python2-pillow" ,python2-pillow)
- ("python2-psutil" ,python2-psutil)
- ("python2-pygments" ,python2-pygments)
- ("python2-pyqtwebengine" ,python2-pyqtwebengine)
- ("python2-pyqt" ,python2-pyqt)
- ("python2-sip" ,python2-sip)
- ("python2-regex" ,python2-regex)
+ ("python-apsw" ,python-apsw)
+ ("python-beautifulsoup4" ,python-beautifulsoup4)
+ ("python-cchardet" ,python-cchardet)
+ ("python-css-parser" ,python-css-parser)
+ ("python-cssselect" ,python-cssselect)
+ ("python-dateutil" ,python-dateutil)
+ ("python-dbus" ,python-dbus)
+ ("python-dnspython" ,python-dnspython-1.16)
+ ("python-dukpy" ,python-dukpy)
+ ("python-feedparser" ,python-feedparser)
+ ("python-html2text" ,python-html2text)
+ ("python-html5-parser" ,python-html5-parser)
+ ("python-html5lib" ,python-html5lib)
+ ("python-lxml" ,python-lxml)
+ ("python-markdown" ,python-markdown)
+ ("python-mechanize" ,python-mechanize)
+ ;; python-msgpack is needed for the network content server to work.
+ ("python-msgpack" ,python-msgpack)
+ ("python-netifaces" ,python-netifaces)
+ ("python-odfpy" ,python-odfpy)
+ ("python-pillow" ,python-pillow)
+ ("python-psutil" ,python-psutil)
+ ("python-py7zr" ,python-py7zr)
+ ("python-pychm" ,python-pychm)
+ ("python-pycryptodome" ,python-pycryptodome)
+ ("python-pygments" ,python-pygments)
+ ("python-pyqt" ,python-pyqt)
+ ("python-pyqtwebengine" ,python-pyqtwebengine)
+ ("python-regex" ,python-regex)
+ ("python-speechd" ,speech-dispatcher)
+ ("python-zeroconf" ,python-zeroconf)
("qtwebengine" ,qtwebengine)
("sqlite" ,sqlite)))
(arguments
- `(#:python ,python-2
- ;; Calibre is using setuptools by itself, but the setup.py is not
+ `(;; Calibre is using setuptools by itself, but the setup.py is not
;; compatible with the shim wrapper (taken from pip) we are using.
#:use-setuptools? #f
#:phases
@@ -227,18 +232,27 @@ with Microsoft Compiled HTML (CHM) files")
(add-before 'build 'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((podofo (assoc-ref inputs "podofo"))
- (pyqt (assoc-ref inputs "python2-pyqt"))
- (python-sip (assoc-ref inputs "python2-sip"))
+ (pyqt (assoc-ref inputs "python-pyqt"))
+ (python-sip (assoc-ref inputs "python-sip"))
(out (assoc-ref outputs "out")))
- (substitute* "setup/build_environment.py"
- (("= get_sip_dir\\(\\)")
- (string-append "= '" pyqt "/share/sip'")))
-
+ (substitute* "setup/build.py"
+ (("\\[tool.sip.bindings.pictureflow\\]")
+ "[tool.sip.bindings.pictureflow]
+tags = [\"WS_X11\"]")
+ (("\\[tool.sip.project\\]")
+ (string-append "[tool.sip.project]
+sip-include-dirs = [\"" pyqt "/share/sip" "\"]")))
(substitute* "src/calibre/ebooks/pdf/pdftohtml.py"
(("PDFTOHTML = 'pdftohtml'")
(string-append "PDFTOHTML = \"" (assoc-ref inputs "poppler")
"/bin/pdftohtml\"")))
-
+ ;; get_exe_path looks in poppler's output for these binaries.
Make
+ ;; it not do that.
+ (substitute* "src/calibre/utils/img.py"
+ (("get_exe_path..jpegtran..") (string-append "'" (which
"jpegtran") "'"))
+ (("get_exe_path..cjpeg..") (string-append "'" (which "cjpeg")
"'"))
+ (("get_exe_path..optipng..") (string-append "'" (which
"optipng") "'"))
+ (("get_exe_path..JxrDecApp..") (string-append "'" (which
"JxrDecApp") "'")))
;; Calibre thinks we are installing desktop files into a home
;; directory, but here we butcher the script in to installing
;; to calibres /share directory.
@@ -257,7 +271,6 @@ with Microsoft Compiled HTML (CHM) files")
"/share/fonts")
"/tmp/.fonts")
- (setenv "SIP_BIN" (string-append python-sip "/bin/sip"))
(setenv "PODOFO_INC_DIR" (string-append podofo
"/include/podofo"))
(setenv "PODOFO_LIB_DIR" (string-append podofo "/lib"))
;; This informs the tests we are a continuous integration
@@ -268,13 +281,11 @@ with Microsoft Compiled HTML (CHM) files")
;; fix it, so I'm not sure how to fix it. TODO: Fix test and
remove this.
(setenv "SKIP_QT_BUILD_TEST" "true")
#t)))
- (add-after 'build 'build-extra
+ (add-after 'install 'install-rapydscript
(lambda* (#:key inputs #:allow-other-keys)
- (invoke "python2" "setup.py" "mathjax""--system-mathjax"
- "--path-to-mathjax" (string-append
- (assoc-ref inputs "js-mathjax")
- "/share/javascript/mathjax"))
- (invoke "python2" "setup.py" "rapydscript")
+ ;; Unset so QtWebengine doesn't dump temporary files here.
+ (unsetenv "XDG_DATA_HOME")
+ (invoke "python" "setup.py" "rapydscript")
#t))
(add-after 'install 'install-man-pages
(lambda* (#:key outputs #:allow-other-keys)
diff --git a/gnu/packages/patches/calibre-no-updates-dialog.patch
b/gnu/packages/patches/calibre-no-updates-dialog.patch
index 1d8d796..66ac913 100644
--- a/gnu/packages/patches/calibre-no-updates-dialog.patch
+++ b/gnu/packages/patches/calibre-no-updates-dialog.patch
@@ -1,11 +1,17 @@
-Taken from debian.
+From 19e8d7701c302b0eca4c638705a6db625352caa3 Mon Sep 17 00:00:00 2001
+From: Brendan Tildesley <mail@brendan.scot>
+Date: Thu, 25 Feb 2021 12:17:30 +1100
+Subject: [PATCH] Don't check for updates.
-# Description: Disable update check by default.
-Index: calibre/src/calibre/gui2/main.py
-===================================================================
---- calibre.orig/src/calibre/gui2/main.py 2014-02-02 10:41:28.470954623
+0100
-+++ calibre/src/calibre/gui2/main.py 2014-02-02 10:41:56.546954247 +0100
-@@ -37,8 +37,8 @@
+---
+ src/calibre/gui2/main.py | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/calibre/gui2/main.py b/src/calibre/gui2/main.py
+index 776f8bebfb..4302716d7e 100644
+--- a/src/calibre/gui2/main.py
++++ b/src/calibre/gui2/main.py
+@@ -59,8 +59,8 @@ def option_parser():
help=_('Start minimized to system tray.'))
parser.add_option('-v', '--verbose', default=0, action='count',
help=_('Ignored, do not use. Present only for legacy
reasons'))
@@ -16,3 +22,5 @@ Index: calibre/src/calibre/gui2/main.py
parser.add_option('--ignore-plugins', default=False, action='store_true',
help=_('Ignore custom plugins, useful if you installed a plugin'
' that is preventing calibre from starting'))
+--
+2.30.1
diff --git a/gnu/packages/patches/calibre-remove-test-sqlite.patch
b/gnu/packages/patches/calibre-remove-test-sqlite.patch
index 7bdd908..fc2b237 100644
--- a/gnu/packages/patches/calibre-remove-test-sqlite.patch
+++ b/gnu/packages/patches/calibre-remove-test-sqlite.patch
@@ -1,20 +1,20 @@
-From a92e26359bd07743ab105819ed0b619e27e14017 Mon Sep 17 00:00:00 2001
+From d8225e83c3b73f0e0da73874910f50ca652f48cf Mon Sep 17 00:00:00 2001
From: Brendan Tildesley <mail@brendan.scot>
-Date: Sat, 27 Apr 2019 03:30:53 +1000
-Subject: [PATCH] Disable test_sqlite.
+Date: Thu, 25 Feb 2021 00:48:00 +1100
+Subject: [PATCH] Remove test_sqlite
---
src/calibre/test_build.py | 6 ------
1 file changed, 6 deletions(-)
diff --git a/src/calibre/test_build.py b/src/calibre/test_build.py
-index 07bdffd3e5..740588c95b 100644
+index 0ab7aa0646..87fdfabd9a 100644
--- a/src/calibre/test_build.py
+++ b/src/calibre/test_build.py
-@@ -162,12 +162,6 @@ class BuildTest(unittest.TestCase):
- au(x, 'strftime')
- self.assertEqual(unicode_type(time.strftime(fmt.replace('%e',
'%#d'), t)), x)
-
+@@ -273,12 +273,6 @@ def read_changes():
+ m.close()
+ self.assertEqual(winutil.parse_cmdline('"c:\\test exe.exe" "some arg"
2'), ('c:\\test exe.exe', 'some arg', '2'))
+
- def test_sqlite(self):
- import sqlite3
- conn = sqlite3.connect(':memory:')
@@ -24,6 +24,5 @@ index 07bdffd3e5..740588c95b 100644
def test_apsw(self):
import apsw
conn = apsw.Connection(':memory:')
---
-2.21.0
-
+--
+2.30.1
diff --git a/gnu/packages/patches/calibre-remove-test-unrar.patch
b/gnu/packages/patches/calibre-remove-test-unrar.patch
index 4e5572d..961cc3e 100644
--- a/gnu/packages/patches/calibre-remove-test-unrar.patch
+++ b/gnu/packages/patches/calibre-remove-test-unrar.patch
@@ -1,28 +1,26 @@
-Unrar contains security vulnerabilities and has thus been removed from Guix.
-From a16f97b02bd8afd0ec05c471e156f631f2cc6eec Mon Sep 17 00:00:00 2001
+From 9edf67191cc3655480b6fd418247709ade930b1a Mon Sep 17 00:00:00 2001
From: Brendan Tildesley <mail@brendan.scot>
-Date: Tue, 26 Mar 2019 22:17:03 +1100
-Subject: [PATCH] Remove test_unrar.
+Date: Thu, 25 Feb 2021 00:33:10 +1100
+Subject: [PATCH] Remove test_unrar
---
src/calibre/test_build.py | 4 ----
1 file changed, 4 deletions(-)
diff --git a/src/calibre/test_build.py b/src/calibre/test_build.py
-index d67afd20a6..709132ef17 100644
+index b37fb1bcfb..0ab7aa0646 100644
--- a/src/calibre/test_build.py
+++ b/src/calibre/test_build.py
-@@ -220,10 +220,6 @@ class BuildTest(unittest.TestCase):
+@@ -369,10 +369,6 @@ def test_file_dialog_helper(self):
from calibre.gui2.win_file_dialogs import test
test()
-
+
- def test_unrar(self):
- from calibre.utils.unrar import test_basic
- test_basic()
-
- @unittest.skipUnless(iswindows, 'WPD is windows only')
- def test_wpd(self):
- wpd = plugins['wpd'][0]
---
-2.21.0
-
+ def test_7z(self):
+ from calibre.utils.seven_zip import test_basic
+ test_basic()
+--
+2.30.1
- 12/21: gnu: Add python-bcj-cffi., (continued)
- 12/21: gnu: Add python-bcj-cffi., guix-commits, 2021/03/29
- 15/21: gnu: python-feedparser: Update to 6.0.2., guix-commits, 2021/03/29
- 06/21: gnu: Add python-zeroconf., guix-commits, 2021/03/29
- 14/21: gnu: python-markdown: Update to 3.3.4., guix-commits, 2021/03/29
- 21/21: gnu: Remove python2-pyqt., guix-commits, 2021/03/29
- 05/21: gnu: Add python-ifaddr., guix-commits, 2021/03/29
- 13/21: gnu: Add python-py7zr., guix-commits, 2021/03/29
- 16/21: gnu: Add python-pychm., guix-commits, 2021/03/29
- 18/21: gnu: python-html5lib: Depend on python-chardet., guix-commits, 2021/03/29
- 20/21: gnu: Remove python2-pyqtwebengine., guix-commits, 2021/03/29
- 19/21: gnu: calibre: Update to 5.13.0.,
guix-commits <=
- 17/21: gnu: Add python-cchardet., guix-commits, 2021/03/29