guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

19/22: gnu: calibre: Update to 5.14.0.


From: guix-commits
Subject: 19/22: gnu: calibre: Update to 5.14.0.
Date: Fri, 9 Apr 2021 16:12:10 -0400 (EDT)

lfam pushed a commit to branch master
in repository guix.

commit 5d53eec337fb410d1d1c0b89ce3dd29a8edf9e49
Author: Brendan Tildesley <mail@brendan.scot>
AuthorDate: Sat Feb 27 23:04:01 2021 +1100

    gnu: calibre: Update to 5.14.0.
    
    * gnu/packages/ebook.scm (calibre): Update to 5.14.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.14.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.14.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..504171c 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.14.0")
     (source
       (origin
         (method url-fetch)
@@ -120,7 +124,7 @@ with Microsoft Compiled HTML (CHM) files")
                             version ".tar.xz"))
         (sha256
          (base32
-          "0w9pcfvskjh4v00vjw3i6hzrafy863pgsmmqdx4lffip3p856brw"))
+          "0w8j9r9qa56r8gm9b10dwh8zrzqlv79s2br82jqg02lrnrbwwv0q"))
         (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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]