[PATCH 0/4] gnu: calibre: Update to 4.22.0.

DoneSubmitted by Brendan Tildesley.
Details
8 participants
  • Andreas Enge
  • Arun Isaac
  • Brendan Tildesley
  • Leo Famulari
  • Ludovic Courtès
  • Brendan Tildesley
  • Prafulla Giri
  • Ricardo Wurmus
Owner
unassigned
Severity
normal
B
B
Brendan Tildesley wrote on 16 Aug 2020 08:55
(address . guix-patches@gnu.org)
8b1e2bed-e543-44a2-574b-f3c2c5a14d3f@brendan.scot
B
B
Brendan Tildesley wrote on 16 Aug 2020 09:03
[PATCH 1/4] gnu: ebook.scm: remove duplicate module import.
(address . 42885@debbugs.gnu.org)
20200816070318.18642-1-mail@brendan.scot
--- gnu/packages/ebook.scm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
Toggle diff (23 lines)diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scmindex d290b19f5f..aab4155d3d 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 Brendan Tildesley <mail@brendan.scot>+;;; Copyright © 2017, 2019, 2020 Brendan Tildesley <mail@brendan.scot> ;;; Copyright © 2017 Roel Janssen <roel@gnu.org> ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>@@ -28,7 +28,6 @@ #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix build-system gnu)- #:use-module (gnu packages) #:use-module (guix build-system python) #:use-module (gnu packages) #:use-module (gnu packages compression)-- 2.28.0
B
B
Brendan Tildesley wrote on 16 Aug 2020 09:03
[PATCH 3/4] gnu: calibre: Update to 4.22.0.
(address . 42885@debbugs.gnu.org)
20200816070318.18642-3-mail@brendan.scot
* gnu/packages/ebook.scm (calbre): Update to 4.22.0. Replace MathJax 2input with newly required MathJax 3.--- gnu/packages/ebook.scm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-)
Toggle diff (44 lines)diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scmindex aab4155d3d..a434f56bc1 100644--- a/gnu/packages/ebook.scm+++ b/gnu/packages/ebook.scm@@ -82,7 +82,7 @@ (define-public calibre (package (name "calibre")- (version "4.18.0")+ (version "4.22.0") (source (origin (method url-fetch)@@ -91,7 +91,7 @@ version ".tar.xz")) (sha256 (base32- "0w9pcfvskjh4v00vjw3i6hzrafy863pgsmmqdx4lffip3p856brw"))+ "0d0wmd3ijk8px1d662igal4lfmpyzynfzs6ms1bb9nf42mq2pxai")) (modules '((guix build utils))) (snippet '(begin@@ -126,7 +126,7 @@ ("hunspell" ,hunspell) ("hyphen" ,hyphen) ("icu4c" ,icu4c)- ("js-mathjax" ,js-mathjax)+ ("mathjax" ,mathjax-bin) ("libmtp" ,libmtp) ("libpng" ,libpng) ("libusb" ,libusb)@@ -243,8 +243,8 @@ (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"))+ (assoc-ref inputs "mathjax")+ "/lib/node_modules/mathjax/es5")) (invoke "python2" "setup.py" "rapydscript"))) (add-after 'install 'install-man-pages (lambda* (#:key outputs #:allow-other-keys)-- 2.28.0
B
B
Brendan Tildesley wrote on 16 Aug 2020 09:03
[PATCH 2/4] gnu: Add mathjax-bin (MathJax 3).
(address . 42885@debbugs.gnu.org)
20200816070318.18642-2-mail@brendan.scot
* gnu/packages/javascript.scm: (mathjax-bin): New variable--- gnu/packages/javascript.scm | 40 +++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+)
Toggle diff (60 lines)diff --git a/gnu/packages/javascript.scm b/gnu/packages/javascript.scmindex d5ff5bffee..d6a66a1482 100644--- a/gnu/packages/javascript.scm+++ b/gnu/packages/javascript.scm@@ -4,6 +4,7 @@ ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>+;;; Copyright © 2020 Brendan Tildesley <mail@brendan.scot> ;;; ;;; This file is part of GNU Guix. ;;;@@ -128,6 +129,45 @@ plugins or software to be installed on the browser. So the page author can write web documents that include mathematics and be confident that readers will be able to view it naturally and easily."))) +(define-public mathjax-bin+ (package+ (name "mathjax")+ (version "3.0.5")+ (source+ (origin+ (method git-fetch)+ (uri (git-reference+ (url "https://github.com/mathjax/MathJax")+ (commit version)))+ (file-name (git-file-name name version))+ (sha256+ (base32+ "1zd0chn0cjahi28qv3nzshwljz2hgmj6lizyvvd8qs89gsx0z3h9"))))+ (build-system trivial-build-system)+ (arguments+ `(#:modules ((guix build utils))+ #:builder+ (begin+ (use-modules (guix build utils)+ (ice-9 match))+ (let ((install-directory (string-append %output "/lib/node_modules/mathjax")))+ (mkdir-p install-directory)+ (copy-recursively (string-append (assoc-ref %build-inputs "source"))+ install-directory)))))+ (home-page "https://www.mathjax.org/")+ (synopsis "JavaScript display engine for LaTeX, MathML, and AsciiMath (prebuilt)")+ (description "MathJax is a JavaScript display engine for LaTeX, MathML,+and AsciiMath notation that works in all modern browsers. It requires no+plugins or software to be installed on the browser. So the page author can+write web documents that include mathematics and be confident that readers will+be able to view it naturally and easily.++The package is derived from not the true source but the built version of+MathJax 3 for distribution by upstream. This package should eventually be+replaced my a package built directly from the source at+https://github.com/mathjax/MathJax-src.")+ (license license:asl2.0)))+ (define-public js-respond (package (name "js-respond")-- 2.28.0
B
B
Brendan Tildesley wrote on 16 Aug 2020 09:03
[PATCH 4/4] gnu: calibre: Add wrap phase for qtwebengine.
(address . 42885@debbugs.gnu.org)
20200816070318.18642-4-mail@brendan.scot
* gnu/packages/ebook.scm (calibre): [arguments]: Copy the wrap phasefrom Anki to wrap QTWEBENGINEPROCESS_PATH. This fixes the 'Could notfind QtWebEngineProcess error' when opening a book with theebook-viewer.--- gnu/packages/ebook.scm | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-)
Toggle diff (54 lines)diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scmindex a434f56bc1..31864a0786 100644--- a/gnu/packages/ebook.scm+++ b/gnu/packages/ebook.scm@@ -165,7 +165,10 @@ ("qtwebengine" ,qtwebengine) ("sqlite" ,sqlite))) (arguments- `(#:python ,python-2+ `(#:modules ((guix build python-build-system)+ (guix build utils)+ (ice-9 match))+ #:python ,python-2 ;; 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@@ -252,6 +255,35 @@ "man-pages" (string-append (assoc-ref outputs "out") "/share/man")) #t))+ ;; wrap phase copied from anki package.+ (add-after 'install 'wrap+ (lambda* (#:key inputs outputs #:allow-other-keys)+ (let ((bin (string-append (assoc-ref outputs "out") "/bin"))+ ;; List of paths to the site-packages directories of Python+ ;; library inputs.+ (site-packages+ (map (lambda (pyinput)+ (string-append+ (cdr pyinput)+ "/lib/python2.7/site-packages"))+ (filter (match-lambda+ ((label . _)+ (string-prefix? "python2-" label)))+ inputs)))+ (qtwebengineprocess+ (string-append (assoc-ref inputs "qtwebengine")+ "/lib/qt5/libexec/QtWebEngineProcess")))+ ;; The program fails to find the QtWebEngineProcess program, so+ ;; we set QTWEBENGINEPROCESS_PATH to help it. PYTHONPATH is+ ;; wrapped to avoid declaring Python libraries as propagated+ ;; inputs.+ (for-each (lambda (program)+ (wrap-program program+ `("QTWEBENGINEPROCESS_PATH" =+ (,qtwebengineprocess))+ `("PYTHONPATH" = ,site-packages)))+ (find-files bin ".")))+ #t)) ;; The font TTF files are used in some miscellaneous tests, so we ;; unbundle them here to avoid patching the tests. (add-after 'install 'unbundle-font-liberation-- 2.28.0
B
B
Brendan Tildesley wrote on 21 Aug 2020 11:20
[PATCH] gnu: calibre: Update to 4.23.0.
(address . 42885@debbugs.gnu.org)
20200821092014.21866-1-mail@brendan.scot
* gnu/packages/ebook.scm (calibre): Update to 4.23.0.--- gnu/packages/ebook.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
Toggle diff (24 lines)diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scmindex 31864a0786..72a0d3b22a 100644--- a/gnu/packages/ebook.scm+++ b/gnu/packages/ebook.scm@@ -82,7 +82,7 @@ (define-public calibre (package (name "calibre")- (version "4.22.0")+ (version "4.23.0") (source (origin (method url-fetch)@@ -91,7 +91,7 @@ version ".tar.xz")) (sha256 (base32- "0d0wmd3ijk8px1d662igal4lfmpyzynfzs6ms1bb9nf42mq2pxai"))+ "064mnmz2w4xa2kydh5vzhlgvmyzlwjhm2wm58vwkdqzh7i3m3phn")) (modules '((guix build utils))) (snippet '(begin-- 2.28.0
L
L
Leo Famulari wrote on 22 Aug 2020 19:30
(name . Brendan Tildesley)(address . mail@brendan.scot)(address . 42885@debbugs.gnu.org)
20200822173057.GA12497@jasmine.lan
On Fri, Aug 21, 2020 at 07:20:14PM +1000, Brendan Tildesley wrote:
Toggle quote (2 lines)> * gnu/packages/ebook.scm (calibre): Update to 4.23.0.
Thanks! Can you send an updated patch series? I don't think we shouldupdate to 4.22.0 and then immediately to 4.23.0.
B
B
Brendan Tildesley wrote on 23 Aug 2020 01:24
([PATCH 2/4] gnu: calibre: Update to 4.23.0 (new release)
(address . 42885@debbugs.gnu.org)
729297f7-8cc1-6a31-37ad-1522c339082f@brendan.scot
Calibre 4.23.0 was released. This just replaces the second patch. the others should still apply without conflict.
From d3b70c4c2329abbe6d210b9993a99306d93c5f29 Mon Sep 17 00:00:00 2001From: Brendan Tildesley <mail@brendan.scot>Date: Sun, 16 Aug 2020 16:16:19 +1000Subject: [PATCH 2/3] gnu: calibre: Update to 4.23.0.
* gnu/packages/ebook.scm (calbre): Update to 4.23.0. Replace MathJax 2input with newly required MathJax 3.--- gnu/packages/ebook.scm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-)
Toggle diff (44 lines)diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scmindex aab4155d3d..f1698900f3 100644--- a/gnu/packages/ebook.scm+++ b/gnu/packages/ebook.scm@@ -82,7 +82,7 @@ (define-public calibre (package (name "calibre")- (version "4.18.0")+ (version "4.23.0") (source (origin (method url-fetch)@@ -91,7 +91,7 @@ version ".tar.xz")) (sha256 (base32- "0w9pcfvskjh4v00vjw3i6hzrafy863pgsmmqdx4lffip3p856brw"))+ "064mnmz2w4xa2kydh5vzhlgvmyzlwjhm2wm58vwkdqzh7i3m3phn")) (modules '((guix build utils))) (snippet '(begin@@ -126,7 +126,7 @@ ("hunspell" ,hunspell) ("hyphen" ,hyphen) ("icu4c" ,icu4c)- ("js-mathjax" ,js-mathjax)+ ("mathjax" ,mathjax-bin) ("libmtp" ,libmtp) ("libpng" ,libpng) ("libusb" ,libusb)@@ -243,8 +243,8 @@ (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"))+ (assoc-ref inputs "mathjax")+ "/lib/node_modules/mathjax/es5")) (invoke "python2" "setup.py" "rapydscript"))) (add-after 'install 'install-man-pages (lambda* (#:key outputs #:allow-other-keys)-- 2.28.0
L
L
Leo Famulari wrote on 24 Aug 2020 03:01
Re: [bug#42885] [PATCH 1/4] gnu: ebook.scm: remove duplicate module import.
(name . Brendan Tildesley)(address . mail@brendan.scot)(address . 42885@debbugs.gnu.org)
20200824010154.GA14757@jasmine.lan
On Sun, Aug 16, 2020 at 05:03:15PM +1000, Brendan Tildesley wrote:
Toggle quote (26 lines)> ---> gnu/packages/ebook.scm | 3 +--> 1 file changed, 1 insertion(+), 2 deletions(-)> > diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scm> index d290b19f5f..aab4155d3d 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 Brendan Tildesley <mail@brendan.scot>> +;;; Copyright © 2017, 2019, 2020 Brendan Tildesley <mail@brendan.scot>> ;;; Copyright © 2017 Roel Janssen <roel@gnu.org>> ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>> ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>> @@ -28,7 +28,6 @@> #:use-module (guix download)> #:use-module (guix git-download)> #:use-module (guix build-system gnu)> - #:use-module (gnu packages)> #:use-module (guix build-system python)> #:use-module (gnu packages)> #:use-module (gnu packages compression)
I pushed this patch as 29f61501f309a719be91a47fd43872437435cd1a
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEEsFFZSPHn08G5gDigJkb6MLrKfwgFAl9DEYIACgkQJkb6MLrKfwiW3hAA2klxkOoSF5tZLQs9fqSHySlndfeND6G9NXEXMW5i34ZiAoDh/5MjA+IXjMpAati+DGYOr0bt4rseO/mxNBl0H1GwEwDB43klx94e1I4ghftkKz0anO/ROQadEuCIT/Jjs2YEv3TDbV8cCVlx8NZW5/Y7/E0D6d7WDsLHpRz5jS9LFf9jgboHLML5JSLqt7aaITIT72AtdI8AyILmzYC3eZA/8XS7umTu9VPnEuDJ2XzvjvNl07zTvWVjjgGwRtH4oW/641z/mv2EUnWBt0SysC2XHNhlbU4EHAI0Nr7wfgSj2zaNutrZMOdrjf1qEekI6IynmkDOrBNiyq4bDiaSh5Cdajrj8dfKDNBp5yxANEwtQXjz0IjVh770dlmcgkDF5HhEGoTorUEeBcTI2z/ac5TSBVJ1CAtzd2RbdOFQTmUGAZihIewErxpG1tiG3UOdtbOSR0Z7Gj/G2izHXQlGkNJOqrzmuha0sWAaYaxlLi+twlmLs1v+XqGoml8kCwh/S9xDYtMCyORC7/C+B/3zQJeF0P1qC5hWA+mVYrei9HislMo2OZhuauWWeALaOy4PJiqJzWrvqDFIDsFLE2tOPwHP7AsKCeSQJeaofIBk37yHRayWqgF9WqGlQqNqEyo2X1fu82UIqAmCVEdzHWCa83NuuzdaMvuGvfClHsR+Vdg==tNzn-----END PGP SIGNATURE-----

L
L
Leo Famulari wrote on 24 Aug 2020 03:05
Re: [bug#42885] [PATCH 2/4] gnu: Add mathjax-bin (MathJax 3).
(name . Brendan Tildesley)(address . mail@brendan.scot)(address . 42885@debbugs.gnu.org)
20200824010501.GB14757@jasmine.lan
On Sun, Aug 16, 2020 at 05:03:16PM +1000, Brendan Tildesley wrote:
Toggle quote (13 lines)> * gnu/packages/javascript.scm: (mathjax-bin): New variable
> + (description "MathJax is a JavaScript display engine for LaTeX, MathML,> +and AsciiMath notation that works in all modern browsers. It requires no> +plugins or software to be installed on the browser. So the page author can> +write web documents that include mathematics and be confident that readers will> +be able to view it naturally and easily.> +> +The package is derived from not the true source but the built version of> +MathJax 3 for distribution by upstream. This package should eventually be> +replaced my a package built directly from the source at> +https://github.com/mathjax/MathJax-src.")
I'm not really familiar with the state of JavaScript in Guix. However,Guix generally only includes packages built from source.
Is this a case where the package has bene "minified"? Or, in what way isnot built from source?
A
A
Arun Isaac wrote on 24 Aug 2020 06:25
(address . 42885@debbugs.gnu.org)
87h7sszn4j.fsf@systemreboot.net
Toggle quote (8 lines)>> +The package is derived from not the true source but the built version of>> +MathJax 3 for distribution by upstream. This package should eventually be>> +replaced my a package built directly from the source at>> +https://github.com/mathjax/MathJax-src.")>> I'm not really familiar with the state of JavaScript in Guix. However,> Guix generally only includes packages built from source.
If I understand correctly, we already have a mathjax package built fromsource. See js-mathjax.
-----BEGIN PGP SIGNATURE-----
iQEzBAEBCAAdFiEEf3MDQ/Lwnzx3v3nTLiXui2GAK7MFAl9DQS0ACgkQLiXui2GAK7MJsQf+JNI/ZXCgeTUazcmZG4JAz5HjJ6sinIeqwM0D1NiPo5Qk1m6V9+F2pHAqLv24sb7RhbRGHUcQLgMxP1JZ/8IyAjMoq9PHUuh5/JBCGGH+OGA4VTNtUzgQlptGTeKeHbqi89NjbVsu1g0eDh9jl6Mlh8i0nnGr0UV0OM7HglxTXQNWROgsL7Gisp8WTwBsEREWLrxfMJzTIl3twEdiHYa8yqSMNccPUaEhoPowbjOoNig0BxPmCupy55zbuQyg+Jx7PPbanha7H4BMcQWYzluqaB8KvJdW7JzIs7iK5pC2ALXN4hSNL3XlEfDfsaLA1O8EV6Oq5CpQC3C7K6n84kYO4Q===ncMz-----END PGP SIGNATURE-----
B
B
Brendan Tildesley wrote on 24 Aug 2020 07:12
(address . 42885@debbugs.gnu.org)
6F7B2CEB-1A83-4B01-B815-1529359169E1@brendan.scot
On August 24, 2020 2:25:16 PM GMT+10:00, Arun Isaac <arunisaac@systemreboot.net> wrote:
Toggle quote (15 lines)>>>> +The package is derived from not the true source but the built>version of>>> +MathJax 3 for distribution by upstream. This package should>eventually be>>> +replaced my a package built directly from the source at>>> +https://github.com/mathjax/MathJax-src.")>>>> I'm not really familiar with the state of JavaScript in Guix.>However,>> Guix generally only includes packages built from source.>>If I understand correctly, we already have a mathjax package built from>source. See js-mathjax.
Mathjax 3 is a complete rewrite of mathjax 2. I had thought js-mathjax was just the component files too and not truely built from source. Maybe I was wrong. Currently, building this from the true source requires a huge number of js packages and we haven't got a npm importer and full JavaScript bootstrap yet so I wasn't sure what to do. If you like we can ignore this and I can modify calibre to disable mathjax for now since I don't think it works with the old mathjax 2. I would like to work on getting more JavaScript in to guix properly
Attachment: file
A
A
Arun Isaac wrote on 24 Aug 2020 08:44
(address . 42885@debbugs.gnu.org)
87eenwzgoa.fsf@systemreboot.net
Toggle quote (6 lines)> I had thought js-mathjax was just the component files too and not> truely built from source. Maybe I was wrong. Currently, building this> from the true source requires a huge number of js packages and we> haven't got a npm importer and full JavaScript bootstrap yet so I> wasn't sure what to do.
True. js-mathjax is not truly built from source. A true source buildwill properly depend on a huge number of other js packaces. js-mathjaxonly redoes the minification step. In light of this, perhaps we shouldremove js-mathjax from Guix. But, I'm not sure.
Toggle quote (4 lines)> If you like we can ignore this and I can modify calibre to disable> mathjax for now since I don't think it works with the old mathjax 2. I> would like to work on getting more JavaScript in to guix properly
Yes, disabling mathjax for calibre is a good way to go if thefunctionality is not too critical. But, I don't know much aboutcalibre. So, someone else should take a call.
-----BEGIN PGP SIGNATURE-----
iQEyBAEBCAAdFiEEf3MDQ/Lwnzx3v3nTLiXui2GAK7MFAl9DYdUACgkQLiXui2GAK7MBZgf47tEyWUElDrh/emRlCKskr+G7fhNNvDkFizpnwu4qXJXNu2DSkYBBmuORLInkdm6yvrhwrcb42qQM780oJmhiHqMeBLwV53RhiLRRTERGssNekX2k6m2vpnYw8X1hODwsoCNTCUMMDEqhVxhqmSKVp0yUhb1Em4+V0ScyoNIUJNfhAG1X1eOs+eQ/v8VPBQyaNONwichn5ihzpDcvoEcGgm0hK0Lo493mJijIDSojdRnRGAcp/UXtOJ4qkcgJJ9wNtXLXTn2lTYBoD7P797RqBo5g2NpUu9lGTjvTXeK+5fk2mbdFzJMRxCUL0zZz+2oE2ef0ow4t1B/e7QK7ksnA=Gmn/-----END PGP SIGNATURE-----
B
B
Brendan Tildesley wrote on 24 Aug 2020 09:27
(address . 42885@debbugs.gnu.org)
6B389576-1F3B-4C26-BE23-869D72319ACD@brendan.scot
On August 24, 2020 4:44:37 PM GMT+10:00, Arun Isaac <arunisaac@systemreboot.net> wrote:
Toggle quote (20 lines)>>> I had thought js-mathjax was just the component files too and not>> truely built from source. Maybe I was wrong. Currently, building this>> from the true source requires a huge number of js packages and we>> haven't got a npm importer and full JavaScript bootstrap yet so I>> wasn't sure what to do.>>True. js-mathjax is not truly built from source. A true source build>will properly depend on a huge number of other js packaces. js-mathjax>only redoes the minification step. In light of this, perhaps we should>remove js-mathjax from Guix. But, I'm not sure.>>> If you like we can ignore this and I can modify calibre to disable>> mathjax for now since I don't think it works with the old mathjax 2.>I>> would like to work on getting more JavaScript in to guix properly>>Yes, disabling mathjax for calibre is a good way to go if the>functionality is not too critical. But, I don't know much about>calibre. So, someone else should take a call.
Attachment: file
B
B
Brendan Tildesley wrote on 24 Aug 2020 09:41
(address . 42885@debbugs.gnu.org)
C779B0BA-45A5-4F81-BB8B-69B2B8A42222@brendan.scot
On August 24, 2020 4:44:37 PM GMT+10:00, Arun Isaac <arunisaac@systemreboot.net> wrote:
Toggle quote (21 lines)>>> I had thought js-mathjax was just the component files too and not>> truely built from source. Maybe I was wrong. Currently, building this>> from the true source requires a huge number of js packages and we>> haven't got a npm importer and full JavaScript bootstrap yet so I>> wasn't sure what to do.>>True. js-mathjax is not truly built from source. A true source build>will properly depend on a huge number of other js packaces. js-mathjax>only redoes the minification step. In light of this, perhaps we should>remove js-mathjax from Guix. But, I'm not sure.>>> If you like we can ignore this and I can modify calibre to disable>> mathjax for now since I don't think it works with the old mathjax 2.>I>> would like to work on getting more JavaScript in to guix properly>>Yes, disabling mathjax for calibre is a good way to go if the>functionality is not too critical. But, I don't know much about>calibre. So, someone else should take a call.
Its just for rendering math in the eBook-viewer for books that include it. It shouldn't be essential. The reason I felt OK adding it is because its not like its actually proprietary, its just we haven't gotten around to integrating JavaScript into guix yet fully, and it doesn't look like that will happen any time soon.
Attachment: file
B
B
Brendan Tildesley wrote on 25 Aug 2020 03:59
[PATCH 2/4] gnu: Add mathjax-3.
(address . 42885@debbugs.gnu.org)
a0c22641-ba6c-32b6-7d61-2e776edf1d33@brendan.scot
This replaces the second patch, renaming mathjax-bin to mathjax-3 since its not actually binary.
From 77e2312306c6684cdfc72f90e6be1a008e5e676f Mon Sep 17 00:00:00 2001From: Brendan Tildesley <mail@brendan.scot>Date: Sun, 16 Aug 2020 16:14:02 +1000Subject: [PATCH 2/4] gnu: Add mathjax-3.
* gnu/packages/javascript.scm: (mathjax-3): New variable.--- gnu/packages/javascript.scm | 40 +++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+)
Toggle diff (60 lines)diff --git a/gnu/packages/javascript.scm b/gnu/packages/javascript.scmindex d5ff5bffee..57e8302094 100644--- a/gnu/packages/javascript.scm+++ b/gnu/packages/javascript.scm@@ -4,6 +4,7 @@ ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>+;;; Copyright © 2020 Brendan Tildesley <mail@brendan.scot> ;;; ;;; This file is part of GNU Guix. ;;;@@ -128,6 +129,45 @@ plugins or software to be installed on the browser. So the page author can write web documents that include mathematics and be confident that readers will be able to view it naturally and easily."))) +(define-public mathjax-3+ (package+ (name "mathjax")+ (version "3.0.5")+ (source+ (origin+ (method git-fetch)+ (uri (git-reference+ (url "https://github.com/mathjax/MathJax")+ (commit version)))+ (file-name (git-file-name name version))+ (sha256+ (base32+ "1zd0chn0cjahi28qv3nzshwljz2hgmj6lizyvvd8qs89gsx0z3h9"))))+ (build-system trivial-build-system)+ (arguments+ `(#:modules ((guix build utils))+ #:builder+ (begin+ (use-modules (guix build utils)+ (ice-9 match))+ (let ((install-directory (string-append %output "/lib/node_modules/mathjax")))+ (mkdir-p install-directory)+ (copy-recursively (string-append (assoc-ref %build-inputs "source"))+ install-directory)))))+ (home-page "https://www.mathjax.org/")+ (synopsis "JavaScript display engine for LaTeX, MathML, and AsciiMath (prebuilt)")+ (description "MathJax is a JavaScript display engine for LaTeX, MathML,+and AsciiMath notation that works in all modern browsers. It requires no+plugins or software to be installed on the browser. So the page author can+write web documents that include mathematics and be confident that readers will+be able to view it naturally and easily.++The package is derived from not the true source but the built version of+MathJax 3 for distribution by upstream. This package should eventually be+replaced my a package built directly from the source at+https://github.com/mathjax/MathJax-src.")+ (license license:asl2.0)))+ (define-public js-respond (package (name "js-respond")-- 2.28.0
L
L
Ludovic Courtès wrote on 4 Sep 2020 11:02
Re: [bug#42885] [PATCH 2/4] gnu: Add mathjax-bin (MathJax 3).
(name . Brendan Tildesley)(address . mail@brendan.scot)
87y2lpvrrd.fsf@gnu.org
Hello there!
Arun, Leo, what’s the status of this patch series?
https://issues.guix.gnu.org/42885
Can it be applied?
Brendan, to make it clear what the latest version of the patch series is(next time), consider adding a “v2” etc. suffix to the subject, like so:
git format-patch --subject-prefix="PATCH v2" …
Thanks,Ludo’.
A
A
Andreas Enge wrote on 4 Sep 2020 13:59
(name . Ludovic Courtès)(address . ludo@gnu.org)
20200904115935.GA8977@jurong
Hello,
On Fri, Sep 04, 2020 at 11:02:46AM +0200, Ludovic Courtès wrote:
Toggle quote (3 lines)> Arun, Leo, what’s the status of this patch series?> https://issues.guix.gnu.org/42885
why is the variable called mathjax-bin? Should it not be mathjax?
By the way, there is a version 3.1.0 now.
Andreas
R
R
Ricardo Wurmus wrote on 4 Sep 2020 15:10
(name . Arun Isaac)(address . arunisaac@systemreboot.net)
87ft7xg00x.fsf@elephly.net
Arun Isaac <arunisaac@systemreboot.net> writes:
Toggle quote (11 lines)>> I had thought js-mathjax was just the component files too and not>> truely built from source. Maybe I was wrong. Currently, building this>> from the true source requires a huge number of js packages and we>> haven't got a npm importer and full JavaScript bootstrap yet so I>> wasn't sure what to do.>> True. js-mathjax is not truly built from source. A true source build> will properly depend on a huge number of other js packaces. js-mathjax> only redoes the minification step. In light of this, perhaps we should> remove js-mathjax from Guix. But, I'm not sure.
js-mathjax does not contain minified JavaScript. The code is ineditable and readable form although it is not in the form that upstreamuses for development. In this case I still consider it to be actualsource code, because for the purposes of Guix this is the preferredformat (given that we have no way of building the sources in the formatthat is used by upstream).
-- Ricardo
A
A
Arun Isaac wrote on 4 Sep 2020 20:13
87zh65csve.fsf@systemreboot.net
Toggle quote (6 lines)> Arun, Leo, what’s the status of this patch series?>> https://issues.guix.gnu.org/42885>> Can it be applied?
Ricardo has clarified that we may consider the existing js-mathjax 2.7.2package to have been built from source even though it isn't the formupstream uses for development. No problems there.
But, like Brendan said, mathjax 3 is quite a different beast. Withmathjax 2, the source was in javascript, and our build system had merelyto minify it. But mathjax 3 is written in typescript that gets compiledinto javascript and then combined into "web component files" (this isthe first I'm hearing of web components and I'm not entirely clear whatthey are). Since we don't have a typescript build system, packagingmathjax 3 may be non-trivial. So, we should proceed with updatingcalibre without mathjax support.
Toggle quote (5 lines)> Brendan, to make it clear what the latest version of the patch series is> (next time), consider adding a “v2” etc. suffix to the subject, like so:>> git format-patch --subject-prefix="PATCH v2" …
You could also do the slightly shorter
git format-patch -v2 ...
Cheers!
R
R
Ricardo Wurmus wrote on 4 Sep 2020 21:43
(name . Arun Isaac)(address . arunisaac@systemreboot.net)
871rjhfhtt.fsf@elephly.net
Arun Isaac <arunisaac@systemreboot.net> writes:
Toggle quote (19 lines)>> Arun, Leo, what’s the status of this patch series?>>>> https://issues.guix.gnu.org/42885>>>> Can it be applied?>> Ricardo has clarified that we may consider the existing js-mathjax 2.7.2> package to have been built from source even though it isn't the form> upstream uses for development. No problems there.>> But, like Brendan said, mathjax 3 is quite a different beast. With> mathjax 2, the source was in javascript, and our build system had merely> to minify it. But mathjax 3 is written in typescript that gets compiled> into javascript and then combined into "web component files" (this is> the first I'm hearing of web components and I'm not entirely clear what> they are). Since we don't have a typescript build system, packaging> mathjax 3 may be non-trivial. So, we should proceed with updating> calibre without mathjax support.
There may be a way to transpile the TypeScript sources with swc, ababel-like transpiler with TypeScript support; it’s written in Rust, sothere may be a way to work around the JavaScript packaging problem.
-- Ricardo
P
P
Prafulla Giri wrote on 7 Sep 2020 05:11
Regarding Patch 4
(address . 42885@debbugs.gnu.org)
CAFw+=j1KTHP21puE0z+++oK6OjENW+E-tjySCPA-7UJ7we5fLw@mail.gmail.com
Hey there Mr. Tildesley,
Without knowing that this was going on, I worked on, and sent a patch tofix the QtWebEngineProcess issue yesterday:https://issues.guix.gnu.org/43249
My patch also fixes this issue, but without appending things to PYTHONPATH.And it works just the same.
Since you say, sir, that you copied the wrap-phase from Anki to fix theissue, and I manually poked around with things, grepping the output of`env` and stuff to deal with it - I wonder if I have stumbled upon the bareminimum changes necessary to resolve this issue.
I would like to request that you, and other esteemed contributors, test mypatch. And, if it seems good to you, I would like to request that youincorporate my patch in this change set.
Attached are the wrappers for `ebook-viewer`: with your patch applied, andwith my patch applied, for anyone to compare.
Please do let me know if there are any insufficiencies in my solution, orif it does not work for anybody else (I did use --pure option with `guixenvironment`).
Thank you
Attachment: file
P
P
Prafulla Giri wrote on 7 Sep 2020 05:40
(address . 42885@debbugs.gnu.org)
CAFw+=j3GS7V3OrxM+oY=oYoA7zBXZvYSFtrHs6dOOEicHP57aQ@mail.gmail.com
I just realized that the PYTHONPATH set by the default %standard-phase'wrap of python-build-environment is (most likely) a superset of the manualPYTHONPATH set by the custom phase 'wrap phase added after 'install inpatch no. 4. As such, perhaps it is redundant, too?
On Mon, Sep 7, 2020 at 8:56 AM Prafulla Giri <pratheblackdiamond@gmail.com>wrote:
Toggle quote (27 lines)> Hey there Mr. Tildesley,>> Without knowing that this was going on, I worked on, and sent a patch to> fix the QtWebEngineProcess issue yesterday:> https://issues.guix.gnu.org/43249>> My patch also fixes this issue, but without appending things to> PYTHONPATH. And it works just the same.>> Since you say, sir, that you copied the wrap-phase from Anki to fix the> issue, and I manually poked around with things, grepping the output of> `env` and stuff to deal with it - I wonder if I have stumbled upon the bare> minimum changes necessary to resolve this issue.>> I would like to request that you, and other esteemed contributors, test my> patch. And, if it seems good to you, I would like to request that you> incorporate my patch in this change set.>> Attached are the wrappers for `ebook-viewer`: with your patch applied, and> with my patch applied, for anyone to compare.>> Please do let me know if there are any insufficiencies in my solution, or> if it does not work for anybody else (I did use --pure option with `guix> environment`).>> Thank you>
Attachment: file
A
A
Andreas Enge wrote on 8 Sep 2020 22:11
Re: bug#43151: Resolve Calibre run-time dependency
(name . Brendan Tildesley)(address . mail@brendan.scot)
20200908201144.GA25269@jurong
Hello,
On Mon, Sep 07, 2020 at 06:15:15PM +1000, Brendan Tildesley wrote:
Toggle quote (8 lines)> Your patch also works I think but it will wrap the programs twice, so> you will get calibre, .calibre-real, and ..calibre-real-real, etc for> every program, which seems ugly. My patch reproduces the same PYTHONPATH> that is set in python-build-system in addition to wrapping PYTHONPATH> (unless I made a mistake), although at the cost of code duplication. I> leave it to you and who ever is reviewing this to decide which way is> more correct and push one, haha.
thanks to both of your for your patches! I just pushed Brendan's, whichwraps only once at the price of copy-pasting from another package. I confirmthat it works, also to click on an epub file from within calibre. Closingthe two bugs asking about qtwebengine.
Concerning the update, is mathjax a required input now, or could we justleave it out and update nevertheless?
Andreas
A
A
Arun Isaac wrote on 9 Sep 2020 08:36
Re: [bug#42885] [PATCH 2/4] gnu: Add mathjax-bin (MathJax 3).
(name . Ricardo Wurmus)(address . rekado@elephly.net)
87y2lj1moa.fsf@systemreboot.net
Toggle quote (4 lines)> There may be a way to transpile the TypeScript sources with swc, a> babel-like transpiler with TypeScript support; it’s written in Rust, so> there may be a way to work around the JavaScript packaging problem.
I am packaging swc for Guix. I'm running into some unstable featureissues with Rust, but otherwise things are going well. I will report onfurther progress by tonight.
-----BEGIN PGP SIGNATURE-----
iQFPBAEBCAA5FiEEf3MDQ/Lwnzx3v3nTLiXui2GAK7MFAl9Yd/UbHGFydW5pc2FhY0BzeXN0ZW1yZWJvb3QubmV0AAoJEC4l7othgCuz/MMIAJs84szQkQPMPCSapuTdRKjgJLgAdALPc+I04/bnSLJJn6FJLWPOHZNYbROEY6yx3RJrdPXEmLQNOzqbFiESZURP6BlYvDltb/XM2UssNAH6LrpnSRftChPSXUvlQFgahgBcqEuG1dHIPyCa4z24qwj9F9Zmi6crWDf4iv8nz+XHeE4S6QexWHHtlcGpBNzNxDgmjKNSv7qQV7znid/65vIL8tPM41Z4D0lQTS74u+nCHGYpfPCzPttw01vkuEDljglvwYJBvRESrVk9PDWehVGdRv7NPE0Rs97rdpWeQTPVcl/4PFm3jla4hEjr5KSDGkQTmLZS52dCzC79PE190Xg==UbJ/-----END PGP SIGNATURE-----
R
R
Ricardo Wurmus wrote on 9 Sep 2020 09:19
(name . Arun Isaac)(address . arunisaac@systemreboot.net)
877dt3ct7u.fsf@elephly.net
Arun Isaac <arunisaac@systemreboot.net> writes:
Toggle quote (8 lines)>> There may be a way to transpile the TypeScript sources with swc, a>> babel-like transpiler with TypeScript support; it’s written in Rust, so>> there may be a way to work around the JavaScript packaging problem.>> I am packaging swc for Guix. I'm running into some unstable feature> issues with Rust, but otherwise things are going well. I will report on> further progress by tonight.
Oh, me too.
I’m currently at rust-napi@0.4.
-- Ricardo
P
P
Prafulla Giri wrote on 9 Sep 2020 10:38
Re: bug#43151: Resolve Calibre run-time dependency
(name . Andreas Enge)(address . andreas@enge.fr)
CAFw+=j0McVLzs-vxeB19Je91Npq7G+AS3X2WZmiGY7fzB8UWTA@mail.gmail.com
I see. Thank you for the update.
Hopefully (wrap-program) will be fixed soon. That should save us a lot ofcode-duplication.
Congratulations, Mr. Tildesley! (:
Attachment: file
A
A
Arun Isaac wrote on 9 Sep 2020 21:48
Re: [bug#42885] [PATCH 2/4] gnu: Add mathjax-bin (MathJax 3).
(name . Ricardo Wurmus)(address . rekado@elephly.net)
87sgbq20kw.fsf@systemreboot.net
Toggle quote (6 lines)>> I am packaging swc for Guix. I'm running into some unstable feature>> issues with Rust, but otherwise things are going well. I will report on>> further progress by tonight.>> Oh, me too.
Oops, hopefully we haven't duplicated too much work.
Packaging rust programs is a much deeper rabbit hole than I imagined!But, I'm making progress, and will hopefully be done given some moretime. Will keep you posted.
-----BEGIN PGP SIGNATURE-----
iQFPBAEBCAA5FiEEf3MDQ/Lwnzx3v3nTLiXui2GAK7MFAl9ZMY8bHGFydW5pc2FhY0BzeXN0ZW1yZWJvb3QubmV0AAoJEC4l7othgCuzAYgIALTc2Hy4OwvSy7S69aSS4UvbZ5K6ooP38qlSvXGahAruaZd2gLRSR7+1oqYlbQFi1ktiba3WLA/6ut2TJaE7dwqoEZL1wXOUi9xtGxeO+J8UZdLHr/HzdkqeAsENt8Nn8LZhCG1+rtdG1qI3mphY8Dnf3nWTde1BAnfEWksArVQTyrz+6rKnA4HkOcz+vEHetgcVo1JhcvuV8+OddWoPu854Z7eEJCMfRIRtyXhZISLFS4vJP1EUYj5HCHWuJ7k9aJ83IQ2T5MIQ8NXua9dCq15W1RDoRham3BWH5wS4/HFmOg4VFXRnLbf2YbW8uJGo8TuqgVarKQcZkRGEvDvgFH4==DKCT-----END PGP SIGNATURE-----
A
A
Arun Isaac wrote on 17 Sep 2020 12:14
(name . Ricardo Wurmus)(address . rekado@elephly.net)
874knwbtgv.fsf@systemreboot.net
Hi,
I have finished packaging swc. I am now mid-way through cleaning up andcommitting my changes. Considering the number of commits, that alonemight take a couple more days. I will push my changes to a wip-swcbranch and let you know.
But, I also have some bad news. swc is not entirely written in rust. ItsCLI, swc-cli, is a separate package and uses node. So, packaging thatmay be yet another deep rabbit hole.
Regards,Arun
-----BEGIN PGP SIGNATURE-----
iQFPBAEBCAA5FiEEf3MDQ/Lwnzx3v3nTLiXui2GAK7MFAl9jNxEbHGFydW5pc2FhY0BzeXN0ZW1yZWJvb3QubmV0AAoJEC4l7othgCuzimsIAJ5qb9oQXlxlg+aHvIfuIfrAsJ3tHYNyQUwRqjdqUCTKhkUaWkGIom25gb2t9vkag3wcouVFTvw73hodrVmTIGpcHS14HtItIB3xRspN1CbBNw10xqlGYsKYb7v0rhGi2US11JDFhgqFqc0+qQfgbO1xtPgizSBz4fA5U9UmMasgvoFborSLqE1k9WgPsj0/QEGu07NyH+92Lsm/evrJZfR+vxfP4ZVTbG7DgdMEwzjFpuXDbyQMewFMX0PN5itnT4vKLuHafahuaqq89LfRZ95l/krM7XEH658Fi4LduePaauOc4XcW9xaKgYoz+8nUWavG7YorOTF2MpccaRpfjTE==rx9z-----END PGP SIGNATURE-----
R
R
Ricardo Wurmus wrote on 17 Sep 2020 13:24
(name . Arun Isaac)(address . arunisaac@systemreboot.net)
87a6xove66.fsf@elephly.net
Hi Arun,
Toggle quote (5 lines)> I have finished packaging swc. I am now mid-way through cleaning up and> committing my changes. Considering the number of commits, that alone> might take a couple more days. I will push my changes to a wip-swc> branch and let you know.
Wow, thank you very much!
Toggle quote (4 lines)> But, I also have some bad news. swc is not entirely written in rust. Its> CLI, swc-cli, is a separate package and uses node. So, packaging that> may be yet another deep rabbit hole.
I expected as much, but I was hoping that we could invoke it some otherway, much like we invoke uglify-js (the Common Lisp package) with alittle custom wrapper.
-- Ricardo
A
A
Arun Isaac wrote on 21 Sep 2020 12:36
(name . Ricardo Wurmus)(address . rekado@elephly.net)
87y2l3zaa4.fsf@systemreboot.net
I have pushed my commits to a new wip-swc branch. A few questions anddiscussion points below.
Considering that only the source of rust dependencies is used, shouldthose packages successfully build on their own? In the wip-swc branch, Ihave only verified that the rust-swc package builds. There may be somedependencies which fail to build on their own. Related to the previous question, what is the purpose of the#:skip-build? argument? Should it be set to #t for all dependencypackages?
While working on this patchset, I hacked the crate importer a bit tomake my life easier. In particular, I modified it to correctly appendthe version to the package variable name. This requires a slightly moregeneral recursive importer than we have currently. The current recursiveimporter assumes that we will package only one version for eachpackage. That assumption does not stand for rust crates.
We also don't always need to put the minor version into the packagevariable name. For example, rust-syn-1 is sufficient. rust-syn-1.0 isnot required. The exact rules follow fromhttps://doc.rust-lang.org/cargo/reference/specifying-dependencies.htmlI improved the crate importer to better understand these versionrequirement rules and put packages of the correct version into the#:cargo-inputs and #:cargo-development-inputs fields.
I will send patches for these crate importer improvements separatelyafter this patchset is approved.
We also need some automated way to "garbage collect" old versions ofpackages in crates-io.scm. crates-io.scm is getting quite large, and Isuspect many packages in there are old versions that are not reallynecessary.
Toggle quote (4 lines)> I expected as much, but I was hoping that we could invoke it some other> way, much like we invoke uglify-js (the Common Lisp package) with a> little custom wrapper.
That is a good idea. But, I have never written any rust. Perhaps someonewho is more familiar with rust should write it.
B
B
Brendan Tildesley wrote on 21 Sep 2020 13:08
(name . Arun Isaac)(address . arunisaac@systemreboot.net)(address . 42885@debbugs.gnu.org)
f9b1f9ec-da99-c2f4-7a48-375eb6ac5552@brendan.scot
On 21/9/20 8:36 pm, Arun Isaac wrote:
Toggle quote (7 lines)> ...> While working on this patchset, I hacked the crate importer a bit to> make my life easier. In particular, I modified it to correctly append> the version to the package variable name. This requires a slightly more> general recursive importer than we have currently. The current recursive> importer assumes that we will package only one version for each> package. That assumption does not stand for rust crates.
Are you aware of this importer: https://issues.guix.gnu.org/issue/38408/?
A
A
Arun Isaac wrote on 22 Sep 2020 07:39
(name . Brendan Tildesley)(address . mail@brendan.scot)(address . 42885@debbugs.gnu.org)
87pn6eid4c.fsf@systemreboot.net
Toggle quote (5 lines)>> While working on this patchset, I hacked the crate importer a bit to>> make my life easier.
> Are you aware of this importer: https://issues.guix.gnu.org/issue/38408/ ?
Oh, I wasn't aware of this importer. It seems to address myconcerns. So, I'll just wait for it to get merged into master.
-----BEGIN PGP SIGNATURE-----
iQFPBAEBCAA5FiEEf3MDQ/Lwnzx3v3nTLiXui2GAK7MFAl9pjhMbHGFydW5pc2FhY0BzeXN0ZW1yZWJvb3QubmV0AAoJEC4l7othgCuz1CEH/A5O+ioyNExSYxGADPGV3sBbPNGdrGiWku2l2w+stiO4O+4KTiNwHvMdzfNPAjPee/PHJVKAuU/Fzmwh8HVWuewWlMWYa8PsoMrm/hvQJMITvabpH8nQKw2IF4ObsyQ8ctu5k2zIfHyJV2bc1ogsj7HOQJXbwMJNnD2iNnYXLVG5UzJlQXdFQuhFUI7cueB9WzMlP1evnm/wJLrI+FF8I93hujYTv8U0A94AKvBHnOgt5KrRMwVkf0k0gCmI83zzOe+RH/KFLzJ3VQVElt4WHoFKyFCqNHahDlAH0SRqYVh2DhWtCJ6QnQhTnxNf0HvRNHsgh6dqtE74UyUjzBX/Vyc==DkXU-----END PGP SIGNATURE-----
B
B
Brendan Tildesley wrote on 30 Sep 2020 01:56
Re: [bug#42885] Merge wip-swc
(name . Arun Isaac)(address . arunisaac@systemreboot.net)(address . 42885@debbugs.gnu.org)
7d55f6f8-ff58-c548-8bec-8508a71be2cf@brendan.scot
BTW, is it possible for your wip-swc branch to be merged into master? I found my self building a package of my own starting from this branch because it includes the rust packages I needed. Is there any reason it can't be done? It would be convenient for me at least.
A
A
Arun Isaac wrote on 30 Sep 2020 07:38
(address . 42885@debbugs.gnu.org)
87ft6zx1rh.fsf@systemreboot.net
Toggle quote (2 lines)> BTW, is it possible for your wip-swc branch to be merged into master?
I think it can be done. I was just waiting for someone to review andapprove it.
@Ricardo: Shall I go ahead and merge?
-----BEGIN PGP SIGNATURE-----
iQFPBAEBCAA5FiEEf3MDQ/Lwnzx3v3nTLiXui2GAK7MFAl90GdIbHGFydW5pc2FhY0BzeXN0ZW1yZWJvb3QubmV0AAoJEC4l7othgCuzGG4H/101/0xviF6/pHQYKGEc+Ied2WiPBB8Gyg93YcSTotliUB5lpFW1xlg4ty5OCXAUhK2gML+5hK0YYzbtnMXsjLCyOgswEnHdrcqhoGVRsWj756i2taU5fRY2FYy5uCar/GI8UgI09i2VHPqRt77/F3+6NzWenzsAX+MrbQe7jZ4IJqzZjcFBThHQrtcidkmwry0jBID8ZOrQNVcOG+8rLOTBp0pGG+CZrsM9IwUt2JLkx63nkMIsDT7HBrRs09k6g0RxWCa+V4/737dl+o78cMd6YM2jQFps0HVjo4+lWeYqI53M0S9Yi+TSweu3kWSOydh5C4686mNBWoOLZkTaQJ8==IQwu-----END PGP SIGNATURE-----
A
A
Arun Isaac wrote on 12 Oct 2020 09:23
(address . 42885@debbugs.gnu.org)
87a6wr29i2.fsf@systemreboot.net
I have merged wip-swc into master. Should this bug report be closed now?Is there any pending work here related to calibre? We need a typescriptbuild system that uses swc. But, we should handle that in a separate bugreport.
Thanks!
B
B
Brendan Tildesley wrote on 13 Oct 2020 00:17
(address . 42885@debbugs.gnu.org)
ecbb3547-3253-edda-a1fb-e508c0b80b61@brendan.scot
On 12/10/20 5:23 pm, Arun Isaac wrote:
Toggle quote (7 lines)> I have merged wip-swc into master. Should this bug report be closed now?> Is there any pending work here related to calibre? We need a typescript> build system that uses swc. But, we should handle that in a separate bug> report.>> Thanks!
Thank you very much.
I'm kind of worried how long it will take to get that build system. Even if we have it, will it really succeed at building MathJax so easily? If it's going to take a while, I'm tempted to just update Calibre without mathjax support. In theory I'm willing to do work to help but it all seems rather advanced for me, so i'm glad to see you make progress. What's the next step?
Calibre 5+ is out now which is on python3. I could even create a calibre-next so that both calibre@4.18.0 exists and calibre will be calibre@5.0.1, utilizing Guix's design.
A
A
Arun Isaac wrote on 13 Oct 2020 20:44
(address . 42885@debbugs.gnu.org)
87blh6q835.fsf@systemreboot.net
Toggle quote (2 lines)> Thank you very much.
:-)
Toggle quote (7 lines)> I'm kind of worried how long it will take to get that build system. Even > if we have it, will it really succeed at building MathJax so easily? If > it's going to take a while, I'm tempted to just update Calibre without > mathjax support. In theory I'm willing to do work to help but it all > seems rather advanced for me, so i'm glad to see you make progress. > What's the next step?
True, I have similar concerns too. The next step, like Ricardo said, isto write a simple rust script that uses rust-swc to compile typescriptto javascript. I am unfamiliar with both rust and typescript. So, if Iam to do it, I would need some time. If someone else volunteers to doit, that would be great.
Toggle quote (4 lines)> Calibre 5+ is out now which is on python3. I could even create a > calibre-next so that both calibre@4.18.0 exists and calibre will be > calibre@5.0.1, utilizing Guix's design.
I think we shouldn't let the typescript build system and mathjax blockcalibre. If I understand correctly, calibre depends on mathjax onlyoptionally. So, you should go ahead with your work on calibre regardlessof what happens with mathjax.
R
R
Ricardo Wurmus wrote on 13 Oct 2020 23:22
(name . Arun Isaac)(address . arunisaac@systemreboot.net)
87blh5yg6o.fsf@elephly.net
Arun Isaac <arunisaac@systemreboot.net> writes:
Toggle quote (13 lines)>> I'm kind of worried how long it will take to get that build system. Even >> if we have it, will it really succeed at building MathJax so easily? If >> it's going to take a while, I'm tempted to just update Calibre without >> mathjax support. In theory I'm willing to do work to help but it all >> seems rather advanced for me, so i'm glad to see you make progress. >> What's the next step?>> True, I have similar concerns too. The next step, like Ricardo said, is> to write a simple rust script that uses rust-swc to compile typescript> to javascript. I am unfamiliar with both rust and typescript. So, if I> am to do it, I would need some time. If someone else volunteers to do> it, that would be great.
I looked at this today, but my rust-foo is very, very weak.I tried to compile this:
https://github.com/swc-project/swc/blob/master/examples/usage.rs
jlicht told me on IRC that we also have a package for esbuild now, whichcould also be used for transpiling TypeScript to JS.
-- Ricardo
A
A
Arun Isaac wrote on 19 Oct 2020 20:45
(name . Ricardo Wurmus)(address . rekado@elephly.net)
87zh4i6on4.fsf@systemreboot.net
Toggle quote (5 lines)> I looked at this today, but my rust-foo is very, very weak.> I tried to compile this:>> https://github.com/swc-project/swc/blob/master/examples/usage.rs
I managed to get this working. Please see the attached tarball. Thesteps to test are:
Unpack the tarball and change directory.Clone the swc git repo.Build and run using cargo.
Toggle snippet (6 lines)tar xvf miniswc.tar.gzcd miniswcgit clone https://github.com/swc-projectcargo run
src/main.rs in the tarball is a slightly modified version ofexamples/usage.rs in the swc git repo. On running, it transpiles thefile foo.ts and outputs to stdout.
The next step is to see if this is any good for building MathJax fromsource.
Cheers!
Attachment: miniswc.tar.gz
-----BEGIN PGP SIGNATURE-----
iQFPBAEBCAA5FiEEf3MDQ/Lwnzx3v3nTLiXui2GAK7MFAl+N3r8bHGFydW5pc2FhY0BzeXN0ZW1yZWJvb3QubmV0AAoJEC4l7othgCuzEmEIAJ7nljlqok3eJ34nmbJGK5Hj5CD84jn32k1YRod39UxDaUyyKu3tuCdJXnjTYyEgmY62DV47Gq7JXe9LGwnxEkfUsszEay8pyHlc3jvDF0bLRtwZ3e29k9wH5x6CtBQeBQK8OxTdYPaL6XoT9tJrQMZtDbtv6kuTUoXojbTmNgpDi6JviYcLWJtlCb9mlCHIzZlVIjqWFbYqvTvU1DAGnv6Cq04xydQ8JXXs1W8AA9VVLCG6ZbZg29sJ2+KTRyeQN2TLxH2UTh345jX0EB3dEiTvjOCiBOwGhd8v5eMeHaP4PV3+8omQnqlyPlsZsLHMYesog8zSP7KkygXBaG/214g==jjSw-----END PGP SIGNATURE-----
L
L
Ludovic Courtès wrote on 13 Jan 16:00 +0100
Re: bug#42885: [PATCH 0/4] gnu: calibre: Update to 4.22.0.
(name . Arun Isaac)(address . arunisaac@systemreboot.net)
87eeioanm3.fsf_-_@gnu.org
Hey ho!
What’s the status of this Calibre update?
https://issues.guix.gnu.org/42885
It it waiting on the SWC thing?
Thanks in advance, :-)Ludo’.
A
A
Arun Isaac wrote on 14 Jan 15:59 +0100
(name . Ludovic Courtès)(address . ludo@gnu.org)
874kjjsgxr.fsf@systemreboot.net
Hi Ludo,
I got a minimal swc (attached in my previous mail) working. This minimalswc works for compiling typescript to javascript. But, I haven't figuredout how to use it to build web components. This is blocking packagingmathjax v3, and thus calibre. I feel that if calibre can go aheadwithout mathjax v3, it should. Then, we can close this issue and open aseparate one for web components and mathjax.
Regards,Arun
-----BEGIN PGP SIGNATURE-----
iQFPBAEBCAA5FiEEf3MDQ/Lwnzx3v3nTLiXui2GAK7MFAmAAXEAbHGFydW5pc2FhY0BzeXN0ZW1yZWJvb3QubmV0AAoJEC4l7othgCuzQfQH/3VRB/Oow5qalogKs26JgEFT+8a2dB9l2Rz/zwmfeWBiShNsxK40vIbWRxJbJtAjzB468KPiv5xPSa5cr1bwxdhBeAnB6CCsyFzI5dQrqREwbwW70Dyh9/S9cKfdhNawRmPfwf0AlXCuCIx4WWY9gZjliFNed9HlG1vVBpjpJTUmYQ+w0CMt1H0JYUy+m+LVz07jadGy6wvmnwLQ028WEvSenqm1jgVcXfVX1n9KvyrenE0VdKsrm3OG5bpRnCgR21ucYeiyy9N1yo8+Fxz3z75/AXex4flezJ13QOCEW9iwCG3nLZbgGl9elVQNKsohT5hZl3ImSbiqe7EkBegce+k==WA6s-----END PGP SIGNATURE-----
R
R
Ricardo Wurmus wrote on 14 Jan 21:49 +0100
(name . Arun Isaac)(address . arunisaac@systemreboot.net)
87k0sfckg9.fsf@elephly.net
Arun Isaac <arunisaac@systemreboot.net> writes:
Toggle quote (4 lines)> I got a minimal swc (attached in my previous mail) working. This minimal> swc works for compiling typescript to javascript. But, I haven't figured> out how to use it to build web components.
We can also try esbuild.
Toggle quote (5 lines)> This is blocking packaging> mathjax v3, and thus calibre. I feel that if calibre can go ahead> without mathjax v3, it should. Then, we can close this issue and open a> separate one for web components and mathjax.
I’ve been trying to package mathjax v3 for a while, but didn’t get farenough to present anything yet. Here’s what I have:
Toggle diff (108 lines)diff --git a/gnu/packages/javascript.scm b/gnu/packages/javascript.scmindex 8434836c6f..e6ff5d619d 100644--- a/gnu/packages/javascript.scm+++ b/gnu/packages/javascript.scm@@ -27,6 +27,7 @@ #:use-module (gnu packages base) #:use-module (gnu packages compression) #:use-module (gnu packages lisp-xyz)+ #:use-module (gnu packages node) #:use-module (gnu packages readline) #:use-module (gnu packages web) #:use-module (guix packages)@@ -270,6 +271,95 @@ of wicked-good-xpath together with xmldom.") (license (list license:expat license:lgpl2.0))))) +(define-public js-mathjax-3+ (package+ (name "js-mathjax")+ (version "3.1.2")+ (source+ (origin+ (method git-fetch)+ (uri (git-reference+ (url "https://github.com/mathjax/MathJax-src")+ (commit version)))+ (file-name (git-file-name name version))+ (sha256+ (base32+ "0kqcb6pl0zfs4hf8zqb4l50kkfq7isv35vpy05m0lg0yr9w0w4ai"))))+ (build-system trivial-build-system)+ (arguments+ `(#:modules ((guix build utils))+ #:builder+ (begin+ (use-modules (guix build utils)+ (ice-9 match))+ (set-path-environment-variable+ "PATH" '("bin") (map (match-lambda+ ((_ . input)+ input))+ %build-inputs))+ (copy-recursively (assoc-ref %build-inputs "source")+ "source")+ (chdir "source")++ ;; TODO: we can't build this because it depends on+ ;; speech-rule-engine.+ ;;(delete-file-recursively "ts/a11y")+ (delete-file-recursively "components/src/a11y")+ + ;;(delete-file-recursively "components/src/sre")+ ;; This file copies a11y files, which we don't build (see above).+ (delete-file "components/src/node-main/copy.json")++ (substitute* '("components/bin/build"+ "components/bin/pack"+ "components/bin/copy"+ "components/bin/makeAll")+ (("/usr/bin/env node")+ (which "node")))++ ;; Make the compiled files of the context menu available. + (mkdir-p "mj-context-menu/js")+ (copy-recursively (string-append (assoc-ref %build-inputs "js-context-menu")+ "/share/javascript/context-menu")+ "mj-context-menu/js")++ (let ((esbuild (string-append (assoc-ref %build-inputs "esbuild")+ "/bin/esbuild"))+ (node (string-append (assoc-ref %build-inputs "node")+ "/bin/node"))+ (target (string-append %output "/share/javascript/mathjax")))++ ;; Transpile TypeScript+ (apply invoke esbuild+ "--bundle"+ "--tsconfig=tsconfig.json"+ "--platform=node"+ "--outdir=js"+ (find-files "ts" "\\.ts$"))++ (setenv "HOME" "/tmp")+ (with-directory-excursion "components"+ ;; This requires network access+ (substitute* "bin/makeAll"+ (("processDir\\(fulldir, webpackLib\\);") ""))+ (invoke node "bin/makeAll" "src"))++ ;; Build components+ (invoke esbuild+ "components/src/tex-chtml-full/tex-chtml-full.js"+ "--bundle"+ "--minify"+ "--platform=node"+ (string-append "--outfile=" target "/es5/mml-chtml.js"))))))+ (native-inputs+ `(("esbuild" ,esbuild)+ ("node" ,node-10.22)+ ("js-context-menu" ,js-context-menu)))+ (home-page "https://www.mathjax.org/")+ (synopsis "TODO")+ (description "TODO")+ (license license:asl2.0)))+ (define-public js-respond (package (name "js-respond")
-- Ricardo
B
B
Brendan Tildesley wrote on 17 Feb 03:47 +0100
1eb856e2-c462-e74c-ab8d-668d10c71a52@brendan.scot
On 14/1/21 1:00 am, Ludovic Courtès wrote:
Toggle quote (11 lines)> Hey ho!>> What’s the status of this Calibre update?>> https://issues.guix.gnu.org/42885>> It it waiting on the SWC thing?>> Thanks in advance, :-)> Ludo’.
I was away from the project for a bit, but I'm back. I intend to update Calibre to the latest (5.11.0) without mathjax since it's not a big deal. New obstacles have come in to existence. I think python-pyqt5 may need to be updated to use sip5 or sip6, which uses some new sip-build thingy. I found it results in make files that tries to install files to the python-wrapper store directory, which is immutable. Haven't yet figured out how to fix that.
B
B
Brendan Tildesley wrote on 10 Mar 10:00 +0100
[PATCH 02/27] gnu: python2-sip: Fix build.
(address . 42885@debbugs.gnu.org)
20210310090053.21612-2-mail@brendan.scot
* gnu/packages/qt.scm (python2-sip): Fix renamed python-sip-4 input.--- gnu/packages/qt.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Toggle diff (15 lines)diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scmindex ac5a68e8de..877e4b698e 100644--- a/gnu/packages/qt.scm+++ b/gnu/packages/qt.scm@@ -2056,7 +2056,7 @@ module provides support functions to the automatically generated code.") (license license:gpl3))) (define-public python2-sip- (package (inherit python-sip)+ (package (inherit python-sip-4) (name "python2-sip") (native-inputs `(("python" ,python-2)))))-- 2.30.1
B
B
Brendan Tildesley wrote on 10 Mar 10:00 +0100
[PATCH 01/27] gnu: python-sip: Update to 5.5.0. Add python-sip-4
(address . 42885@debbugs.gnu.org)
20210310090053.21612-1-mail@brendan.scot
* gnu/packages/qt.scm (python-sip): Update to 5.5.0.(python-sip-4): New variable. Rename the old python-sip to python-sip-4.--- gnu/packages/qt.scm | 52 +++++++++++++++++++++++++++++++++------------ 1 file changed, 39 insertions(+), 13 deletions(-)
Toggle diff (93 lines)diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scmindex d921aa87fe..ac5a68e8de 100644--- a/gnu/packages/qt.scm+++ b/gnu/packages/qt.scm@@ -20,6 +20,7 @@ ;;; Copyright © 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de> ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>+;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot> ;;; ;;; This file is part of GNU Guix. ;;;@@ -88,6 +89,7 @@ #:use-module (gnu packages pulseaudio) #:use-module (gnu packages protobuf) #:use-module (gnu packages python)+ #:use-module (gnu packages python-build) #:use-module (gnu packages python-xyz) #:use-module (gnu packages regex) #:use-module (gnu packages ruby)@@ -1977,6 +1979,42 @@ and binaries removed, and adds modular support for using system libraries.") (define-public python-sip (package+ (name "python-sip")+ (version "5.5.0")+ (source+ (origin+ (method url-fetch)+ (uri (list (pypi-uri "sip" version)+ (string-append "https://www.riverbankcomputing.com/static/"+ "Downloads/sip/" version+ "/sip-" version ".tar.gz")))+ (sha256+ (base32+ "1idaivamp1jvbbai9yzv471c62xbqxhaawccvskaizihkd0lq0jx"))))+ (build-system python-build-system)+ (native-inputs+ `(("python" ,python-wrapper)))+ (propagated-inputs+ `(("python-toml" ,python-toml)+ ("python-packaging" ,python-packaging)))+ (home-page "https://www.riverbankcomputing.com/software/sip/intro")+ (synopsis "Python binding creator for C and C++ libraries")+ (description+ "SIP is a tool to create Python bindings for C and C++ libraries. It+was originally developed to create PyQt, the Python bindings for the Qt+toolkit, but can be used to create bindings for any C or C++ library.++SIP comprises a code generator and a Python module. The code generator+processes a set of specification files and generates C or C++ code, which+is then compiled to create the bindings extension module. The SIP Python+module provides support functions to the automatically generated code.")+ ;; There is a choice between a python like license, gpl2 and gpl3.+ ;; For compatibility with pyqt, we need gpl3.+ (license license:gpl3)))++(define-public python-sip-4+ (package+ (inherit python-sip) (name "python-sip") (version "4.19.24") (source@@ -1992,6 +2030,7 @@ and binaries removed, and adds modular support for using system libraries.") (build-system gnu-build-system) (native-inputs `(("python" ,python-wrapper)))+ (propagated-inputs `()) (arguments `(#:tests? #f ; no check target #:imported-modules ((guix build python-build-system)@@ -2014,19 +2053,6 @@ and binaries removed, and adds modular support for using system libraries.") "--bindir" bin "--destdir" lib "--incdir" include)))))))- (home-page "https://www.riverbankcomputing.com/software/sip/intro")- (synopsis "Python binding creator for C and C++ libraries")- (description- "SIP is a tool to create Python bindings for C and C++ libraries. It-was originally developed to create PyQt, the Python bindings for the Qt-toolkit, but can be used to create bindings for any C or C++ library.--SIP comprises a code generator and a Python module. The code generator-processes a set of specification files and generates C or C++ code, which-is then compiled to create the bindings extension module. The SIP Python-module provides support functions to the automatically generated code.")- ;; There is a choice between a python like license, gpl2 and gpl3.- ;; For compatibility with pyqt, we need gpl3. (license license:gpl3))) (define-public python2-sip-- 2.30.1
B
B
Brendan Tildesley wrote on 10 Mar 10:00 +0100
[PATCH 03/27] gnu: veusz: Fix build.
(address . 42885@debbugs.gnu.org)
20210310090053.21612-3-mail@brendan.scot
* gnu/packages/maths.scm (veusz): Fix build that was broken by updating python-sip--- gnu/packages/maths.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
Toggle diff (16 lines)diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scmindex 6856737bdf..675e1d5b88 100644--- a/gnu/packages/maths.scm+++ b/gnu/packages/maths.scm@@ -2289,7 +2289,8 @@ ASCII text files using Gmsh's own scripting language.") (native-inputs `(("pkg-config" ,pkg-config) ;;("python-astropy" ,python-astropy) ;; FIXME: Package this.- ("qttools" ,qttools)))+ ("qttools" ,qttools)+ ("python-sip" ,python-sip-4))) (inputs `(("ghostscript" ,ghostscript) ;optional, for EPS/PS output ("python-dbus" ,python-dbus)-- 2.30.1
B
B
Brendan Tildesley wrote on 10 Mar 10:00 +0100
[PATCH 04/27] gnu: Add python-pyqt-builder.
(address . 42885@debbugs.gnu.org)
20210310090053.21612-4-mail@brendan.scot
* gnu/packages/qt.scm (python-pyqt-builder): New variable.--- gnu/packages/qt.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+)
Toggle diff (34 lines)diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scmindex 877e4b698e..6435c4b3c3 100644--- a/gnu/packages/qt.scm+++ b/gnu/packages/qt.scm@@ -2326,6 +2326,27 @@ itself.") "--sipdir" sip))))))) (license (list license:gpl2 license:gpl3)))) ; choice of either license +(define-public python-pyqt-builder+ (package+ (name "python-pyqt-builder")+ (version "1.9.0")+ (source+ (origin+ (method url-fetch)+ (uri (pypi-uri "PyQt-builder" version))+ (sha256+ (base32+ "0nh0054c54ji3sm6d268fccf0y5f613spswwgwqd3rnn816hnljl"))))+ (build-system python-build-system)+ (inputs+ `(("python-sip" ,python-sip)))+ (home-page "https://www.riverbankcomputing.com/static/Docs/PyQt-builder/")+ (synopsis "The PEP 517 compliant PyQt build system")+ (description "PyQt-builder is a tool for generating Python bindings for C+++libraries that use the Qt application framework. The bindings are built on+top of the PyQt bindings for Qt. PyQt-builder is used to build PyQt itself.")+ (license (list license:gpl2 license:gpl3))))+ (define-public python-qtpy (package (name "python-qtpy")-- 2.30.1
B
B
Brendan Tildesley wrote on 10 Mar 10:00 +0100
[PATCH 05/27] gnu: Add python-pyqt5-sip.
(address . 42885@debbugs.gnu.org)
20210310090053.21612-5-mail@brendan.scot
* gnu/packages/qt.scm (python-pyqt5-sip): New variable.--- gnu/packages/qt.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+)
Toggle diff (32 lines)diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scmindex 6435c4b3c3..65e61d4dc4 100644--- a/gnu/packages/qt.scm+++ b/gnu/packages/qt.scm@@ -2153,6 +2153,25 @@ framework. The bindings are implemented as a set of Python modules and contain over 620 classes.") (license license:gpl3))) +(define-public python-pyqt5-sip+ (package+ (name "python-pyqt5-sip")+ (version "12.8.1")+ (source+ (origin+ (method url-fetch)+ (uri (pypi-uri "PyQt5_sip" version))+ (sha256+ (base32+ "1gg032ys4pccwkdzmdryadc9a4lq85nr05pag9swrsdykbdl9s9h"))))+ (build-system python-build-system)+ (arguments+ `(#:tests? #f)) ;; No test code.+ (home-page "https://www.riverbankcomputing.com/software/sip/")+ (synopsis "Sip module support for PyQt5")+ (description "Sip module support for PyQt5")+ (license license:lgpl2.1+)))+ (define-public python-pyqtwebengine (package (name "python-pyqtwebengine")-- 2.30.1
B
B
Brendan Tildesley wrote on 10 Mar 10:00 +0100
[PATCH 06/27] gnu: python-pyqt: Fix build for new python-sip.
(address . 42885@debbugs.gnu.org)
20210310090053.21612-6-mail@brendan.scot
* gnu/packages/qt.scm (python-pyqt)[source]: Remove pyqt-public-sip.patch. PyQt uses python-pyqt5-sipnow. This patch is still used by python2-pyqt so we don't delete it completely.[inputs]: Add python-pyqt-builder, python-pyqt5-sip[arguments]: Add phase to link PyQt5-sip module.--- gnu/packages/qt.scm | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-)
Toggle diff (48 lines)diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scmindex 65e61d4dc4..b615a74755 100644--- a/gnu/packages/qt.scm+++ b/gnu/packages/qt.scm@@ -2074,12 +2074,11 @@ module provides support functions to the automatically generated code.") (string-append "https://www.riverbankcomputing.com/static/" "Downloads/PyQt5/" version "/PyQt5-" version ".tar.gz")))- (file-name (string-append "PyQt5-"version ".tar.gz"))+ (file-name (string-append "PyQt5-" version ".tar.gz")) (sha256 (base32 "1z74295i69cha52llsqffzhb5zz7qnbjc64h8qg21l91jgf0harp"))- (patches (search-patches "pyqt-configure.patch"- "pyqt-public-sip.patch"))))+ (patches (search-patches "pyqt-configure.patch")))) (build-system gnu-build-system) (native-inputs `(("qtbase" ,qtbase))) ; for qmake@@ -2087,6 +2086,8 @@ module provides support functions to the automatically generated code.") `(("python-sip" ,python-sip))) (inputs `(("python" ,python-wrapper)+ ("python-pyqt-builder" ,python-pyqt-builder)+ ("python-pyqt5-sip" ,python-pyqt5-sip) ("qtbase" ,qtbase) ("qtconnectivity" ,qtconnectivity) ("qtdeclarative" ,qtdeclarative)@@ -2144,7 +2145,16 @@ module provides support functions to the automatically generated code.") ; installed into the python package's ; site-package directory, which is read-only. "--stubsdir" stubs- "--sipdir" sip)))))))+ "--sipdir" sip))))+ ;; Linking here means the sip module can be found without+ ;; python-pyqt5-sip needing to be added as an input.+ (add-after 'install 'pyqt5-sip+ (lambda* (#:key inputs outputs #:allow-other-keys)+ (let* ((out (assoc-ref outputs "out"))+ (pyqt5-sip (assoc-ref inputs "python-pyqt5-sip"))+ (site "/lib/python3.8/site-packages/PyQt5/")+ (.so (first (find-files (string-append pyqt5-sip site) "sip.*"))))+ (symlink .so (string-append out site (basename .so))))))))) (home-page "https://www.riverbankcomputing.com/software/pyqt/intro") (synopsis "Python bindings for Qt") (description-- 2.30.1
B
B
Brendan Tildesley wrote on 10 Mar 10:00 +0100
[PATCH 08/27] gnu: Add python-zeroconf.
(address . 42885@debbugs.gnu.org)
20210310090053.21612-8-mail@brendan.scot
* gnu/packages/python-xyz.scm (python-zeroconf): New variable.--- gnu/packages/python-xyz.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+)
Toggle diff (46 lines)diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scmindex f6bb57d518..4ac8b0d926 100644--- a/gnu/packages/python-xyz.scm+++ b/gnu/packages/python-xyz.scm@@ -20710,6 +20710,39 @@ by Igor Pavlov.") "Cross-platform network interface and IP address enumeration library") (license license:expat))) +(define-public python-zeroconf+ (package+ (name "python-zeroconf")+ (version "0.28.8")+ (source+ (origin+ (method url-fetch)+ (uri (pypi-uri "zeroconf" version))+ (sha256+ (base32+ "0narq8haa3b375vfblbyil77n8bw0wxqnanl91pl0wwwm884mqjb"))))+ (build-system python-build-system)+ (native-inputs+ `(("python-nose" ,python-nose)))+ (propagated-inputs+ `(("python-ifaddr" ,python-ifaddr)))+ (arguments+ `(#:phases+ (modify-phases %standard-phases+ (replace 'check+ (lambda _ ;; Networking isn't available for these tests.+ (invoke "nosetests" "-v"+ "--exclude" "test_integration_with_listener_ipv6"+ "--exclude" "test_launch_and_close_v6_only"+ "--exclude" "test_launch_and_close_v4_v6"+ "--exclude" "test_launch_and_close"))))))+ (home-page "https://github.com/jstasiak/python-zeroconf")+ (synopsis "Pure Python mDNS service discovery")+ (description+ "Pure Python multicast DNS (mDNS) service discovery library (Bonjour/Avahi+compatible).")+ (license license:lgpl2.1+)))+ (define-public python2-zeroconf (package (name "python2-zeroconf")-- 2.30.1
B
B
Brendan Tildesley wrote on 10 Mar 10:00 +0100
[PATCH 07/27] gnu: Add python-ifaddr.
(address . 42885@debbugs.gnu.org)
20210310090053.21612-7-mail@brendan.scot
* gnu/packages/python-xyz.scm (python-ifaddr): New variable.--- gnu/packages/python-xyz.scm | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-)
Toggle diff (48 lines)diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scmindex b1ac3e2e3b..f6bb57d518 100644--- a/gnu/packages/python-xyz.scm+++ b/gnu/packages/python-xyz.scm@@ -43,7 +43,7 @@ ;;; Copyright © 2017, 2018, 2019 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2017 Muriithi Frederick Muriuki <fredmanglis@gmail.com>-;;; Copyright © 2017, 2019 Brendan Tildesley <mail@brendan.scot>+;;; Copyright © 2017, 2019, 2021 Brendan Tildesley <mail@brendan.scot> ;;; Copyright © 2018 Ethan R. Jones <ethanrjones97@gmail.com ;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com> ;;; Copyright © 2018 Vijayalakshmi Vedantham <vijimay12@gmail.com>@@ -20684,6 +20684,32 @@ by Igor Pavlov.") (define-public python2-pylzma (package-with-python2 python-pylzma)) +(define-public python-ifaddr+ (package+ (name "python-ifaddr")+ (version "0.1.7")+ (source+ (origin+ (method url-fetch)+ (uri (pypi-uri "ifaddr" version))+ (sha256+ (base32+ "150sxdlicwrphmhnv03ykxplyd2jdrxz0mikgnivavgilrn8m7hz"))))+ (build-system python-build-system)+ (arguments+ `(#:phases+ (modify-phases %standard-phases+ (replace 'check+ (lambda _ (invoke "nosetests"))))))+ (native-inputs+ `(("python-nose" ,python-nose)))+ (home-page "https://github.com/pydron/ifaddr")+ (synopsis+ "Cross-platform network interface and IP address enumeration library")+ (description+ "Cross-platform network interface and IP address enumeration library")+ (license license:expat)))+ (define-public python2-zeroconf (package (name "python2-zeroconf")-- 2.30.1
B
B
Brendan Tildesley wrote on 10 Mar 10:00 +0100
[PATCH 09/27] gnu: Add python-pyannotate.
(address . 42885@debbugs.gnu.org)
20210310090053.21612-9-mail@brendan.scot
* gnu/packages/python-check.scm (python-pyannotate): New variable.--- gnu/packages/python-check.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+)
Toggle diff (43 lines)diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scmindex 15efdd3297..0de3a779b6 100644--- a/gnu/packages/python-check.scm+++ b/gnu/packages/python-check.scm@@ -10,6 +10,7 @@ ;;; Copyright © 2020 Vinicius Monego <monego@posteo.net> ;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org> ;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.com>+;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot> ;;; ;;; This file is part of GNU Guix. ;;;@@ -1156,6 +1157,28 @@ any Python VM with basically no runtime overhead.") ;; mypyc/lib-rt/getargs.c (license (list license:expat license:psfl)))) +(define-public python-pyannotate+ (package+ (name "python-pyannotate")+ (version "1.2.0")+ (source+ (origin+ (method url-fetch)+ (uri (pypi-uri "pyannotate" version))+ (sha256+ (base32+ "16bm0mf7wxvy0lgmcs1p8n1ji8pnvj1jvj8zk3am70dkp825iv84"))))+ (build-system python-build-system)+ (propagated-inputs+ `(("python-mypy-extensions" ,python-mypy-extensions)+ ("python-six" ,python-six)))+ (home-page+ "https://github.com/dropbox/pyannotate")+ (synopsis+ "PyAnnotate: Auto-generate PEP-484 annotations")+ (description+ "PyAnnotate: Auto-generate PEP-484 annotations")+ (license license:asl2.0))) (define-public python-eradicate (package (name "python-eradicate")-- 2.30.1
B
B
Brendan Tildesley wrote on 10 Mar 10:00 +0100
[PATCH 11/27] gnu: Add python-ppmd-cffi.
(address . 42885@debbugs.gnu.org)
20210310090053.21612-11-mail@brendan.scot
* gnu/packages/python-compression.scm (python-ppmd-cffi): New variable.--- gnu/packages/python-compression.scm | 30 +++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+)
Toggle diff (50 lines)diff --git a/gnu/packages/python-compression.scm b/gnu/packages/python-compression.scmindex fe73dd38cb..101211019b 100644--- a/gnu/packages/python-compression.scm+++ b/gnu/packages/python-compression.scm@@ -31,6 +31,7 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system python) #:use-module (gnu packages)+ #:use-module (gnu packages libffi) #:use-module (gnu packages compression) #:use-module (gnu packages check) #:use-module (gnu packages maths)@@ -67,6 +68,35 @@ wrapping multiple files as virtually like as a single file.") (license license:lgpl2.1+))) +(define-public python-ppmd-cffi+ (package+ (name "python-ppmd-cffi")+ (version "0.3.3")+ (source+ (origin+ (method url-fetch)+ (uri (pypi-uri "ppmd-cffi" version))+ (sha256+ (base32+ "01wcd9l6pp6hivdmd275qh9dhcwficjqfl67hxix5n07vvq7jzz0"))))+ (build-system python-build-system)+ (propagated-inputs+ `(("python-cffi" ,python-cffi)))+ (native-inputs+ `(("python-setuptools" ,python-setuptools)+ ("python-setuptools-scm" ,python-setuptools-scm/next)+ ("python-pep517" ,python-pep517)+ ("python-coverage" ,python-coverage)+ ("python-pytest" ,python-pytest)+ ("python-pytest-cov" ,python-pytest-cov)))+ (home-page "http://github.com/miurahr/ppmd")+ (synopsis "Compression/decompression library")+ (description+ "PPMd is a compression algorithm library using the Prediction by Partial+Matching statical technique. It is by RAR and 7-Zip as one of several possible+methods.")+ (license license:lgpl2.1+)))+ (define-public python-lzo (package (name "python-lzo")-- 2.30.1
B
B
Brendan Tildesley wrote on 10 Mar 10:00 +0100
[PATCH 12/27] gnu: python-zstandard: Update to 0.15.2.
(address . 42885@debbugs.gnu.org)
20210310090053.21612-12-mail@brendan.scot
* gnu/packages/python-compression.scm (python-zstandard): Update to 0.15.2.--- gnu/packages/python-compression.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
Toggle diff (22 lines)diff --git a/gnu/packages/python-compression.scm b/gnu/packages/python-compression.scmindex 101211019b..860b4ee342 100644--- a/gnu/packages/python-compression.scm+++ b/gnu/packages/python-compression.scm@@ -348,13 +348,13 @@ wrapper. It provides a backport of the @code{Path} object.") (define-public python-zstandard (package (name "python-zstandard")- (version "0.13.0")+ (version "0.15.2") (source (origin (method url-fetch) (uri (pypi-uri "zstandard" version)) (sha256- (base32 "0q9msi00s93iqm8vzd839r7yc51gz54z90h5bckqyjdxa6vxijz5"))))+ (base32 "0by9z7nxnkzhmza075q6q91rs8lnpf91129k8ppv7kymbwshipjj")))) (build-system python-build-system) (native-inputs `(("python-hypothesis" ,python-hypothesis)))-- 2.30.1
B
B
Brendan Tildesley wrote on 10 Mar 10:00 +0100
[PATCH 13/27] gnu: Add python-pyzstd
(address . 42885@debbugs.gnu.org)
20210310090053.21612-13-mail@brendan.scot
* gnu/packages/python-compression.scm (python-pyzstd): New variable.--- gnu/packages/python-compression.scm | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+)
Toggle diff (28 lines)diff --git a/gnu/packages/python-compression.scm b/gnu/packages/python-compression.scmindex 860b4ee342..51e1fb3ccf 100644--- a/gnu/packages/python-compression.scm+++ b/gnu/packages/python-compression.scm@@ -364,3 +364,21 @@ wrapper. It provides a backport of the @code{Path} object.") the Zstandard compression library. A C extension and CFFI interface are provided.") (license license:bsd-3)))++(define-public python-pyzstd+ (package+ (name "python-pyzstd")+ (version "0.14.3")+ (source+ (origin+ (method url-fetch)+ (uri (pypi-uri "pyzstd" version))+ (sha256+ (base32+ "1d3mngs45w2p490vrq5ymd2wz4lp15phmks1ilcx4k7amgibml3d"))))+ (build-system python-build-system)+ (home-page "https://github.com/animalize/pyzstd")+ (synopsis "Zstandard bindings for Python")+ (description "Python bindings to Zstandard (zstd) compression library, the+API is similar to Python's bz2/lzma/zlib module.")+ (license license:bsd-3)))-- 2.30.1
B
B
Brendan Tildesley wrote on 10 Mar 10:00 +0100
[PATCH 14/27] gnu: Add python-bcj-cffi.
(address . 42885@debbugs.gnu.org)
20210310090053.21612-14-mail@brendan.scot
* gnu/packages/python-compression.scm (python-bcj-cffi): New variable.--- gnu/packages/python-compression.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+)
Toggle diff (47 lines)diff --git a/gnu/packages/python-compression.scm b/gnu/packages/python-compression.scmindex 51e1fb3ccf..a25a658ff2 100644--- a/gnu/packages/python-compression.scm+++ b/gnu/packages/python-compression.scm@@ -37,6 +37,7 @@ #:use-module (gnu packages maths) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python)+ #:use-module (gnu packages python-build) #:use-module (gnu packages python-check) #:use-module (gnu packages python-xyz) #:use-module (gnu packages sphinx))@@ -68,6 +69,32 @@ wrapping multiple files as virtually like as a single file.") (license license:lgpl2.1+))) +(define-public python-bcj-cffi+ (package+ (name "python-bcj-cffi")+ (version "0.5.0")+ (source+ (origin+ (method url-fetch)+ (uri (pypi-uri "bcj-cffi" version))+ (sha256+ (base32+ "1jcczrb8zgg6w7v76w1wpz3nw75fghk3xwxkn09ll7kck7sdf68d"))))+ (build-system python-build-system)+ (propagated-inputs+ `(("python-cffi" ,python-cffi)+ ("python-toml" ,python-toml)+ ("python-setuptools-scm" ,python-setuptools-scm/next)))+ (native-inputs+ `(("python-setuptools" ,python-setuptools)+ ("python-coverage" ,python-coverage)+ ("python-pytest" ,python-pytest)+ ("python-pytest-cov" ,python-pytest-cov)))+ (home-page "http://github.com/miurahr/bcj-cffi")+ (synopsis "bcj algorithm library")+ (description "bcj algorithm library")+ (license license:lgpl2.1+)))+ (define-public python-ppmd-cffi (package (name "python-ppmd-cffi")-- 2.30.1
B
B
Brendan Tildesley wrote on 10 Mar 10:00 +0100
[PATCH 10/27] gnu: Add python-multivolumefile.
(address . 42885@debbugs.gnu.org)
20210310090053.21612-10-mail@brendan.scot
* gnu/packages/python-compression.scm (python-multivolumefile): Newvariable.--- gnu/packages/python-compression.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+)
Toggle diff (52 lines)diff --git a/gnu/packages/python-compression.scm b/gnu/packages/python-compression.scmindex 6b2da5f925..fe73dd38cb 100644--- a/gnu/packages/python-compression.scm+++ b/gnu/packages/python-compression.scm@@ -6,6 +6,7 @@ ;;; Copyright © 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>+;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot> ;;; ;;; This file is part of GNU Guix. ;;;@@ -35,9 +36,37 @@ #:use-module (gnu packages maths) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python)+ #:use-module (gnu packages python-check) #:use-module (gnu packages python-xyz) #:use-module (gnu packages sphinx)) +(define-public python-multivolumefile+ (package+ (name "python-multivolumefile")+ (version "0.2.2")+ (source+ (origin+ (method url-fetch)+ (uri (pypi-uri "multivolumefile" version))+ (sha256+ (base32+ "0j46wab4b09s3favjzp3zs1cn2sn8pr7qyngs5wn31hpqqxbbz76"))))+ (build-system python-build-system)+ (native-inputs+ `(("python-pep517" ,python-pep517)+ ("python-setuptools" ,python-setuptools)+ ("python-setuptools-scm" ,python-setuptools-scm/next)+ ("python-coverage" ,python-coverage)+ ("python-coveralls" ,python-coveralls)+ ("python-pyannotate" ,python-pyannotate)+ ("python-pytest" ,python-pytest)+ ("python-pytest-cov" ,python-pytest-cov)))+ (home-page "https://github.com/miurahr/multivolume")+ (synopsis "Treat multiple files as one")+ (description "MultiVolumefile is a python library to provide a file-object+wrapping multiple files as virtually like as a single file.")+ (license license:lgpl2.1+)))+ (define-public python-lzo (package (name "python-lzo")-- 2.30.1
B
B
Brendan Tildesley wrote on 10 Mar 10:00 +0100
[PATCH 15/27] gnu: Add python-py7zr.
(address . 42885@debbugs.gnu.org)
20210310090053.21612-15-mail@brendan.scot
* gnu/packages/python-compression.scm (python-py7zr): New variable.--- gnu/packages/python-compression.scm | 40 +++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+)
Toggle diff (60 lines)diff --git a/gnu/packages/python-compression.scm b/gnu/packages/python-compression.scmindex a25a658ff2..9cc5a1b679 100644--- a/gnu/packages/python-compression.scm+++ b/gnu/packages/python-compression.scm@@ -39,6 +39,7 @@ #:use-module (gnu packages python) #:use-module (gnu packages python-build) #:use-module (gnu packages python-check)+ #:use-module (gnu packages python-crypto) #:use-module (gnu packages python-xyz) #:use-module (gnu packages sphinx)) @@ -124,6 +125,45 @@ Matching statical technique. It is by RAR and 7-Zip as one of several possible methods.") (license license:lgpl2.1+))) +(define-public python-py7zr+ (package+ (name "python-py7zr")+ (version "0.14.1")+ (source+ (origin+ (method url-fetch)+ (uri (pypi-uri "py7zr" version))+ (sha256+ (base32+ "1zmgp7yax328fj8yj8pj4l7yh78hp727j6wk12vfi6nmi82wl32i"))))+ (build-system python-build-system)+ (propagated-inputs+ `(("python-bcj-cffi" ,python-bcj-cffi)+ ("python-multivolumefile" ,python-multivolumefile)+ ("python-ppmd-cffi" ,python-ppmd-cffi)+ ("python-pycryptodome" ,python-pycryptodome)+ ("python-pyzstd" ,python-pyzstd)+ ("python-texttable" ,python-texttable)+ ("python-zstandard" ,python-zstandard)))+ (native-inputs+ `(("python-setuptools" ,python-setuptools)+ ("python-setuptools-scm" ,python-setuptools-scm/next)+ ("python-coverage" ,python-coverage)+ ("python-coveralls" ,python-coveralls)+ ("python-libarchive-c" ,python-libarchive-c)+ ("python-py-cpuinfo" ,python-py-cpuinfo)+ ("python-pyannotate" ,python-pyannotate)+ ("python-pytest" ,python-pytest)+ ("python-pytest-benchmark" ,python-pytest-benchmark)+ ("python-pytest-cov" ,python-pytest-cov)+ ("python-pytest-remotedata" ,python-pytest-remotedata)+ ("python-pytest-timeout" ,python-pytest-timeout)))+ (home-page "https://github.com/miurahr/py7zr")+ (synopsis "Pure python 7-zip library")+ (description "py7zr is a library and utility to support 7zip archive+compression, decompression, encryption and decryption written in Python.")+ (license license:lgpl2.1+)))+ (define-public python-lzo (package (name "python-lzo")-- 2.30.1
B
B
Brendan Tildesley wrote on 10 Mar 10:00 +0100
[PATCH 16/27] gnu: python-markdown: Update to 3.3.4.
(address . 42885@debbugs.gnu.org)
20210310090053.21612-16-mail@brendan.scot
* gnu/packages/python-xyz.scm (python-markdown): Update to 3.3.4.--- gnu/packages/python-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
Toggle diff (23 lines)diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scmindex 4ac8b0d926..0bf7c31ede 100644--- a/gnu/packages/python-xyz.scm+++ b/gnu/packages/python-xyz.scm@@ -8775,14 +8775,14 @@ Python.") (define-public python-markdown (package (name "python-markdown")- (version "3.2.1")+ (version "3.3.4") (source (origin (method url-fetch) (uri (pypi-uri "Markdown" version)) (sha256 (base32- "00k91gwhxnm8jdnm2v5xjz9irj6dbi7afywz2hpakqdbxs1ydzlh"))))+ "0jbs73nincha8fkfxx267sfxac6pl0ckszjbqbb8gk4dhs8v9d9i")))) (build-system python-build-system) (native-inputs `(("python-nose" ,python-nose)-- 2.30.1
B
B
Brendan Tildesley wrote on 10 Mar 10:00 +0100
[PATCH 17/27] gnu: python-feedparser: Update to 6.0.2.
(address . 42885@debbugs.gnu.org)
20210310090053.21612-17-mail@brendan.scot
* gnu/packages/web.scm (python-feedparser): Update to 6.0.2.--- gnu/packages/web.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
Toggle diff (24 lines)diff --git a/gnu/packages/web.scm b/gnu/packages/web.scmindex 836328d758..ea0155cb54 100644--- a/gnu/packages/web.scm+++ b/gnu/packages/web.scm@@ -4610,14 +4610,14 @@ their web site.") (define-public python-feedparser (package (name "python-feedparser")- (version "5.2.1")+ (version "6.0.2") (source (origin (method url-fetch)- (uri (pypi-uri "feedparser" version ".tar.bz2"))+ (uri (pypi-uri "feedparser" version ".tar.gz")) (sha256 (base32- "00hb4qg2am06g81mygfi1jsbx8830024jm45g6qp9g8fr6am91yf"))))+ "0x0hm9brh3j71645pydvlkrwxaaca9dnwd7xahwjyjaz882s200v")))) (build-system python-build-system) (arguments '(#:tests? #f))-- 2.30.1
B
B
Brendan Tildesley wrote on 10 Mar 10:00 +0100
[PATCH 18/27] gnu: python-poppler-qt5: Fix build.
(address . 42885@debbugs.gnu.org)
20210310090053.21612-18-mail@brendan.scot
* gnu/packages/pdf.scm (python-poppler-qt5): Keep using python-sip 4since it doesn't work with 5.--- gnu/packages/pdf.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Toggle diff (15 lines)diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scmindex e81c3caf87..a931f04ff7 100644--- a/gnu/packages/pdf.scm+++ b/gnu/packages/pdf.scm@@ -346,7 +346,7 @@ When present, Poppler is able to correctly render CJK and Cyrillic text.") (native-inputs `(("pkg-config" ,pkg-config))) (inputs- `(("python-sip" ,python-sip)+ `(("python-sip" ,python-sip-4) ("python-pyqt" ,python-pyqt) ("poppler-qt5" ,poppler-qt5) ("qtbase" ,qtbase)))-- 2.30.1
B
B
Brendan Tildesley wrote on 10 Mar 10:00 +0100
[PATCH 19/27] gnu: python-poppler-qt5: Update to 21.1.0.
(address . 42885@debbugs.gnu.org)
20210310090053.21612-19-mail@brendan.scot
* gnu/packages/pdf (python-poppler-qt5): Update to 21.1.0. (Unrelated toCalibre, just updating this since I updated python-sip.)--- gnu/packages/pdf.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
Toggle diff (23 lines)diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scmindex a931f04ff7..520f4b60f9 100644--- a/gnu/packages/pdf.scm+++ b/gnu/packages/pdf.scm@@ -316,14 +316,14 @@ When present, Poppler is able to correctly render CJK and Cyrillic text.") (define-public python-poppler-qt5 (package (name "python-poppler-qt5")- (version "0.24.2")+ (version "21.1.0") (source (origin (method url-fetch) (uri (pypi-uri "python-poppler-qt5" version)) (sha256 (base32- "0l69llw1fzwz8y90q0qp9q5pifbrqjjbwii7di54dwghw5fc6w1r"))))+ "0b82gm4i75q5v19kfbq0h4y0b2vcwr2213zkhxh6l0h45kdndmxd")))) (build-system python-build-system) (arguments `(;; There are no tests. The check phase just causes a rebuild.-- 2.30.1
B
B
Brendan Tildesley wrote on 10 Mar 10:00 +0100
[PATCH 20/27] gnu: Add python-pychm.
(address . 42885@debbugs.gnu.org)
20210310090053.21612-20-mail@brendan.scot
* gnu/packages/ebook.scm (python-pychm): New variable.--- gnu/packages/ebook.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+)
Toggle diff (33 lines)diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scmindex 47bbd1a789..763e3eba2b 100644--- a/gnu/packages/ebook.scm+++ b/gnu/packages/ebook.scm@@ -88,6 +88,26 @@ (description "CHMLIB is a library for dealing with ITSS/CHM format files.") (license license:lgpl2.1+))) +(define-public python-pychm+ (package+ (name "python-pychm")+ (version "0.8.6")+ (source+ (origin+ (method url-fetch)+ (uri (pypi-uri "pychm" version))+ (sha256+ (base32+ "0wpn9ijlsmrpyiwg3drmgz4dms1i1i347adgqw37bkrh3vn6yq16"))))+ (build-system python-build-system)+ (inputs+ `(("chmlib" ,chmlib)))+ (home-page "https://github.com/dottedmag/pychm")+ (synopsis "Python package to handle CHM files")+ (description+ "Python package to handle CHM files")+ (license license:gpl3)))+ (define-public calibre (package (name "calibre")-- 2.30.1
B
B
Brendan Tildesley wrote on 10 Mar 10:00 +0100
[PATCH 22/27] gnu: python-html5lib: Add python-chardet input.
(address . 42885@debbugs.gnu.org)
20210310090053.21612-22-mail@brendan.scot
* gnu/packages/python-web.scm: python-chardet topropragated-inputs. html5lib uses this as a fallback for encodingdetection, and Calibre tests for its being there, so ad it.--- gnu/packages/python-web.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
Toggle diff (16 lines)diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scmindex b0268e5a31..c527cfad90 100644--- a/gnu/packages/python-web.scm+++ b/gnu/packages/python-web.scm@@ -1041,7 +1041,8 @@ storage.") (build-system python-build-system) (propagated-inputs `(("python-six" ,python-six)- ("python-webencodings" ,python-webencodings)))+ ("python-webencodings" ,python-webencodings)+ ("python-chardet" ,python-chardet))) (arguments `(#:test-target "check")) (home-page-- 2.30.1
B
B
Brendan Tildesley wrote on 10 Mar 10:00 +0100
[PATCH 21/27] gnu: Add python-cchardet.
(address . 42885@debbugs.gnu.org)
20210310090053.21612-21-mail@brendan.scot
* gnu/packages/freedesktop.scm (python-cchardet): New variable.--- gnu/packages/freedesktop.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+)
Toggle diff (41 lines)diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scmindex e5f9ea71b6..87f592844d 100644--- a/gnu/packages/freedesktop.scm+++ b/gnu/packages/freedesktop.scm@@ -22,6 +22,7 @@ ;;; Copyright © 2020 Nicolò Balzarotti <nicolo@nixo.xyz> ;;; Copyright © 2020 Anders Thuné <asse.97@gmail.com> ;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org>+;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot> ;;; ;;; This file is part of GNU Guix. ;;;@@ -1920,6 +1921,26 @@ encoding names are iconv-compatible.") ;; combination is GPL 2.0+. (license license:gpl2+))) +(define-public python-cchardet+ (package+ (name "python-cchardet")+ (version "2.1.7")+ (source+ (origin+ (method url-fetch)+ (uri (pypi-uri "cchardet" version))+ (sha256+ (base32+ "1bqfz85cd51sw0bvhvdq9ikccxi2ld7g5jpni4jkq1a5clrvca64"))))+ (build-system python-build-system)+ (inputs+ `(("uchardet" ,uchardet)))+ (home-page "https://github.com/PyYoshi/cChardet")+ (synopsis "Fast universal character encoding detector")+ (description+ "cChardet is high speed universal character encoding detector.")+ (license license:gpl2+)))+ (define-public udiskie (package (name "udiskie")-- 2.30.1
B
B
Brendan Tildesley wrote on 10 Mar 10:00 +0100
[PATCH 24/27] gnu: calibre: Patch some paths.
(address . 42885@debbugs.gnu.org)
20210310090053.21612-24-mail@brendan.scot
* gnu/packages/ebook.scm (calibre):[inputs]: Add libjpeg and libjxz.[arguments]: substitute Calibre's weird get_exe_path procedure that looksin poppler's output directory for binaries with direct paths tojpegtran, cjpeg, optipng, and JxrDecApp.--- gnu/packages/ebook.scm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-)
Toggle diff (29 lines)diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scmindex 124fcda4df..be367a5245 100644--- a/gnu/packages/ebook.scm+++ b/gnu/packages/ebook.scm@@ -161,6 +161,8 @@ ("icu4c" ,icu4c) ("libmtp" ,libmtp) ("libpng" ,libpng)+ ("libjpeg" ,libjpeg-turbo)+ ("libjxr" ,libjxr) ("libusb" ,libusb) ("openssl" ,openssl) ("optipng" ,optipng)@@ -246,7 +248,12 @@ sip-include-dirs = [\"" pyqt "/share/sip" "\"]"))) (("PDFTOHTML = 'pdftohtml'") (string-append "PDFTOHTML = \"" (assoc-ref inputs "poppler") "/bin/pdftohtml\"")))-+ ;; get_exe_path looks in poppler's output for these binaries.+ (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.-- 2.30.1
B
B
Brendan Tildesley wrote on 10 Mar 10:00 +0100
[PATCH 23/27] gnu: calibre: Update to 5.13.0.
(address . 42885@debbugs.gnu.org)
20210310090053.21612-23-mail@brendan.scot
* gnu/packages/ebook.scm (calibre): Update to 5.13.0.
Switch all Python 2 inputs to their Python 3 equivalents.
[native-inputs]: Add new dependency python-pyqt-builder.
[inputs]: Remove js-mathmax. Calibre now uses a newer mathjax that wedon't have in guix since it's needs a javascript bootstrap.Remove python-chardet. This is still used by python-html5lib but since I added the input directly to python-htmpl5lib, it is no longer needed here.Remove chmlib. python-chmlib bindings are used now.Remove python-sipAdd new dependencies: - python-cchardet - python-speechd - python-zeroconf - python-py7zr - python-pychm - python-pycryptodome (Used by some Calibre extensions)
[arguments]: get_sip_dir isn't used anymore, so now we specify the sipdirectory by editing the project.toml file. Also, for whatever reason,it doesn't build unless the WS_X11 tag is set.Don't try building mathjax support.Don't set SIP_BIN anymore since it isn't needed.
* gnu/packages/patches/calibre-no-updates-dialog.patch* gnu/packages/patches/calibre-remove-test-sqlite.patch* gnu/packages/patches/calibre-remove-test-unrar.patchRemake these patches to work with the slightly different new sourcecode.
startars--- gnu/packages/ebook.scm | 101 +++++++++--------- .../patches/calibre-no-updates-dialog.patch | 22 ++-- .../patches/calibre-remove-test-sqlite.patch | 21 ++-- .../patches/calibre-remove-test-unrar.patch | 24 ++--- 4 files changed, 88 insertions(+), 80 deletions(-)
Toggle diff (306 lines)diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scmindex 763e3eba2b..124fcda4df 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, 2019, 2020 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 @@ (define-public calibre (package (name "calibre")- (version "4.18.0")+ (version "5.13.0") (source (origin (method url-fetch)@@ -120,7 +124,7 @@ version ".tar.xz")) (sha256 (base32- "0w9pcfvskjh4v00vjw3i6hzrafy863pgsmmqdx4lffip3p856brw"))+ "08sljr5rg5f5i1s92g2li5f63mw458b8w5drgcxjm4k62rkl0c8q")) (modules '((guix build utils))) (snippet '(begin@@ -145,17 +149,16 @@ (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) ("libusb" ,libusb)@@ -163,39 +166,41 @@ ("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,13 +232,16 @@ (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")@@ -257,7 +265,6 @@ "/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@@ -270,11 +277,7 @@ #t))) (add-after 'build 'build-extra (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")+ (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.patchindex 1d8d79660e..66ac913cb5 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.1diff --git a/gnu/packages/patches/calibre-remove-test-sqlite.patch b/gnu/packages/patches/calibre-remove-test-sqlite.patchindex 7bdd90874d..fc2b237ef2 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.1diff --git a/gnu/packages/patches/calibre-remove-test-unrar.patch b/gnu/packages/patches/calibre-remove-test-unrar.patchindex 4e5572d1a6..961cc3eba7 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-- 2.30.1
B
B
Brendan Tildesley wrote on 10 Mar 10:00 +0100
[PATCH 25/27] gnu: calibre: Add qtsvg as input.
(address . 42885@debbugs.gnu.org)
20210310090053.21612-25-mail@brendan.scot
* gnu/packages/ebook.scm (calibre):[inputs]: Add qtsvg as an input.
This fixes part of the broken qt test, but not all. It still failsprinting to pdf.--- gnu/packages/ebook.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
Toggle diff (26 lines)diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scmindex be367a5245..25a31c9a65 100644--- a/gnu/packages/ebook.scm+++ b/gnu/packages/ebook.scm@@ -199,6 +199,7 @@ ("python-regex" ,python-regex) ("python-speechd" ,speech-dispatcher) ("python-zeroconf" ,python-zeroconf)+ ("qtsvg" ,qtsvg) ("qtwebengine" ,qtwebengine) ("sqlite" ,sqlite))) (arguments@@ -277,9 +278,8 @@ sip-include-dirs = [\"" pyqt "/share/sip" "\"]"))) ;; This informs the tests we are a continuous integration ;; environment and thus have no networking. (setenv "CI" "true")- ;; The Qt test complains about being unable to load all image plugins, and I- ;; notice the available plugins list it shows lacks 'svg'. Adding qtsvg doesn't- ;; fix it, so I'm not sure how to fix it. TODO: Fix test and remove this.+ ;; The Qt test fails at printing to pdf:+ ;; AssertionError: b'Skia/PDF' not found in b'' : Print to PDF failed (setenv "SKIP_QT_BUILD_TEST" "true") #t))) (add-after 'build 'build-extra-- 2.30.1
B
B
Brendan Tildesley wrote on 10 Mar 10:00 +0100
[PATCH 26/27] gnu: Remove python2-pyqtwebengine.
(address . 42885@debbugs.gnu.org)
20210310090053.21612-26-mail@brendan.scot
* gnu/packages/qt.scm (python2-pyqtwebengine): Delete unused variable.--- gnu/packages/qt.scm | 19 ------------------- 1 file changed, 19 deletions(-)
Toggle diff (32 lines)diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scmindex b615a74755..ad779940e9 100644--- a/gnu/packages/qt.scm+++ b/gnu/packages/qt.scm@@ -2289,25 +2289,6 @@ itself.") ("python2-enum34" ,python2-enum34) ,@(alist-delete "python" (package-inputs python-pyqt)))))) -(define-public python2-pyqtwebengine- (package/inherit- python-pyqtwebengine- (name "python2-pyqtwebengine")- (native-inputs- `(("python" ,python-2)- ("python-sip" ,python2-sip)- ;; qtbase is required for qmake- ("qtbase" ,qtbase)))- (inputs- `(("python" ,python-2)- ("python-sip" ,python2-sip)- ("python-pyqt" ,python2-pyqt)- ("qtbase" ,qtbase)- ("qtsvg" ,qtsvg)- ("qtdeclarative" ,qtdeclarative)- ("qtwebchannel" ,qtwebchannel)- ("qtwebengine" ,qtwebengine)))))- (define-public python2-pyqt-4 (package (inherit python-pyqt) (name "python2-pyqt")-- 2.30.1
B
B
Brendan Tildesley wrote on 10 Mar 10:00 +0100
[PATCH 27/27] gnu: Remove python2-pyqt.
(address . 42885@debbugs.gnu.org)
20210310090053.21612-27-mail@brendan.scot
* gnu/packages/qt.scm (python2-pyqt): Delete unused variable.--- gnu/packages/qt.scm | 14 -------------- 1 file changed, 14 deletions(-)
Toggle diff (27 lines)diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scmindex ad779940e9..872cb40305 100644--- a/gnu/packages/qt.scm+++ b/gnu/packages/qt.scm@@ -2275,20 +2275,6 @@ itself.") (inputs (alist-delete "qtwebkit" (package-inputs python-pyqt))))) -(define-public python2-pyqt- (package (inherit python-pyqt)- (name "python2-pyqt")- (propagated-inputs- `(("python-enum34" ,python2-enum34)- ("python-sip" ,python2-sip)))- (native-inputs- `(("python-sip" ,python2-sip)- ("qtbase" ,qtbase)))- (inputs- `(("python" ,python-2)- ("python2-enum34" ,python2-enum34)- ,@(alist-delete "python" (package-inputs python-pyqt))))))- (define-public python2-pyqt-4 (package (inherit python-pyqt) (name "python2-pyqt")-- 2.30.1
B
B
Brendan Tildesley wrote on 21 Mar 08:00 +0100
[PATCHES] 2 more fixes.
(name . 42885@debbugs.gnu.org)(address . 42885@debbugs.gnu.org)
2053979569.43243.1616310015760@office.mailbox.org
These two patches go after the last 27 patches, fixing up some mistakes I made earlier.
Attachment: file
From a222592c08909b67ff2334f617a7b273cc5ab082 Mon Sep 17 00:00:00 2001From: Brendan Tildesley <mail@brendan.scot>Date: Sat, 20 Mar 2021 21:28:22 +1100Subject: [PATCH 1/2] gnu: calibre: Don't install junk temporary files.
* gnu/packages/ebook.scm (calibre):[arguments]: Unset XDG_DATA_HOME just for installing rapydscript so thatQtwebengine temporary files aren't put in /share/. Moving the phaseuntil after the install phase prevents breaking .desktop file installation.--- gnu/packages/ebook.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
Toggle diff (18 lines)diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scmindex 25a31c9a65..b55af5c865 100644--- a/gnu/packages/ebook.scm+++ b/gnu/packages/ebook.scm@@ -282,8 +282,10 @@ sip-include-dirs = [\"" pyqt "/share/sip" "\"]"))) ;; AssertionError: b'Skia/PDF' not found in b'' : Print to PDF failed (setenv "SKIP_QT_BUILD_TEST" "true") #t)))- (add-after 'build 'build-extra+ (add-after 'install 'install-rapydscript (lambda* (#:key inputs #:allow-other-keys)+ ;; 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-- 2.30.2
From f8fe46256cbfe211b1bbbb624651cfc5b261ee32 Mon Sep 17 00:00:00 2001From: Brendan Tildesley <mail@brendan.scot>Date: Sun, 21 Mar 2021 17:18:13 +1100Subject: [PATCH 2/2] gnu: calibre: Don't delete needed files.
* gnu/packages/ebook.scm (calibre)[snippet]: Don't delete viewer.jssince it's actually used by the html reader.--- gnu/packages/ebook.scm | 2 -- 1 file changed, 2 deletions(-)
Toggle diff (15 lines)diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scmindex b55af5c865..6fb525a2c2 100644--- a/gnu/packages/ebook.scm+++ b/gnu/packages/ebook.scm@@ -136,8 +136,6 @@ "")) ;; 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")-- 2.30.2
L
L
Leo Famulari wrote on 23 Mar 19:25 +0100
Re: [bug#42885] [PATCH 23/27] gnu: calibre: Update to 5.13.0.
(name . Brendan Tildesley)(address . mail@brendan.scot)(address . 42885@debbugs.gnu.org)
YFoygJeaOkQ7D/tm@jasmine.lan
On Wed, Mar 10, 2021 at 08:00:49PM +1100, Brendan Tildesley wrote:
Toggle quote (4 lines)> * gnu/packages/ebook.scm (calibre): Update to 5.13.0.> > Switch all Python 2 inputs to their Python 3 equivalents.
Thanks a lot for working on this! I'm going to start reviewing / pushingpatches today.
L
L
Leo Famulari wrote on 23 Mar 19:36 +0100
(name . Brendan Tildesley)(address . mail@brendan.scot)(address . 42885@debbugs.gnu.org)
YFo1JVG6gvYLz3Bh@jasmine.lan
On Wed, Mar 10, 2021 at 08:00:49PM +1100, Brendan Tildesley wrote:
Toggle quote (4 lines)> * gnu/packages/ebook.scm (calibre): Update to 5.13.0.> > Switch all Python 2 inputs to their Python 3 equivalents.
Alright, the patches are aleady stale, even at patch 2 of 27.
To make this easier, can you either put this work online in a Git reposomewhere? It's easier to clone a repo with a custom branch to rebasethe patches.
Alternatively, can you say which older Guix Git commit these patchesapply to?
Thansk!
B
B
Brendan Tildesley wrote on 24 Mar 03:13 +0100
(name . Leo Famulari)(address . leo@famulari.name)(address . 42885@debbugs.gnu.org)
1277129883.83284.1616552006895@office.mailbox.org
Toggle quote (19 lines)> On 03/23/2021 7:36 PM Leo Famulari <leo@famulari.name> wrote:> > > On Wed, Mar 10, 2021 at 08:00:49PM +1100, Brendan Tildesley wrote:> > * gnu/packages/ebook.scm (calibre): Update to 5.13.0.> > > > Switch all Python 2 inputs to their Python 3 equivalents.> > Alright, the patches are aleady stale, even at patch 2 of 27.> > To make this easier, can you either put this work online in a Git repo> somewhere? It's easier to clone a repo with a custom branch to rebase> the patches.> > Alternatively, can you say which older Guix Git commit these patches> apply to?> > Thansk!
https://notabug.org/Brendan/guix/src/calibre-5.13.0
I fixed the conflict updated to latest master here.Also, a minor change, I oved the "gnu: veusz: Fix build" until after "gnu: python-pyqt: Fix build for new python-sip."since it doesn't actually work until that ones applied.
L
L
Leo Famulari wrote on 29 Mar 22:12 +0200
(name . Brendan Tildesley)(address . mail@brendan.scot)(address . 42885@debbugs.gnu.org)
YGI0tb5l7DqDl2ml@jasmine.lan
On Wed, Mar 24, 2021 at 03:13:26AM +0100, Brendan Tildesley wrote:
Toggle quote (9 lines)> https://notabug.org/Brendan/guix/src/calibre-5.13.0> > I fixed the conflict updated to latest master here.> Also, a minor change, I oved the > "gnu: veusz: Fix build"> until after > "gnu: python-pyqt: Fix build for new python-sip."> since it doesn't actually work until that ones applied.
Thanks for the updated branch! I'm going through the patches now.
L
L
Leo Famulari wrote on 30 Mar 01:05 +0200
(name . Brendan Tildesley)(address . mail@brendan.scot)(address . 42885@debbugs.gnu.org)
YGJdP8INiWzzMSeU@jasmine.lan
On Wed, Mar 24, 2021 at 03:13:26AM +0100, Brendan Tildesley wrote:
Toggle quote (2 lines)> https://notabug.org/Brendan/guix/src/calibre-5.13.0
Can you clarify some things about the commit "gnu: python-pyqt: Fixbuild for new python-sip"? First, python-pyqt before applying thiscommit; if it's broken, can you say how?
Also, there is a comment "Linking here means the sip module can be foundwithout python-pyqt5-sip needing to be added as an input". But,python-pyqt5-sip is an input to this package. Can you explain what youmean?
I think we should drop the commit "gnu: calibre: Add qtsvg as input.",since it adds a dependency but for what seems to be no reason. What doyou think?
Based on your branch, I've made the following changes and pushed thebranch athttps://git.savannah.gnu.org/cgit/guix.git/log/?h=wip-update-calibre.
Can you take a look and tell me what you think?
I squashed the first two commits, so that there is no commit wherepython2-sip fails to build. It's not always easy to avoid intermediatebreakage in complicated package upgrades like this, but it's worthtrying. At least, it can improve the utility of `git bisect`.
I also squashed the "fix veusz" commit into that one, for the samereason. And all the rest of the commits that are adjusting to thatchange.
For the "Fix build for new python-sip" commit, I removed the hardcodingof "python3.8" in the 'pyqt5-sip' phase, and instead used thepython-version procedure.
I squashed the remaining cleanup-type commits into the Calibre update.
I pushed the commit 'gnu: python-poppler-qt5: Update to 21.1.0.' as02f664a0a3dd3a936213e687802bdc62f2a10983
I corrected the license of python-pychm from gpl3 to gpl2+.
I made many other changes to satisfy `guix lint`, and improved synopsesand descriptions.
B
B
Brendan Tildesley wrote on 30 Mar 08:23 +0200
(address . 42885@debbugs.gnu.org)(name . Leo Famulari)(address . leo@famulari.name)
327102377.27084.1617085423564@office.mailbox.org
Toggle quote (10 lines)> On 03/30/2021 1:05 AM Leo Famulari <leo@famulari.name> wrote:> > > On Wed, Mar 24, 2021 at 03:13:26AM +0100, Brendan Tildesley wrote:> > https://notabug.org/Brendan/guix/src/calibre-5.13.0> > Can you clarify some things about the commit "gnu: python-pyqt: Fix> build for new python-sip"? First, python-pyqt before applying this> commit; if it's broken, can you say how?
Me adding python-pyqt-builder here looks like a mistake. I left itthere while experimenting. When I was Upgrading SIP, I experimentedwith switching to the new 'sip-build' tool introduced in SIP 5. SIP6's main change is to delete obsoleted code, so the old 'pythonconfigure.py' won't work. I never got it working so I just went backto the old way with SIP 5. python-pyqt-builder is still needed byCalibre however.
The only other functional change in this patch is to remove the patchpyqt-public-sip.patch. The introduction of python-pyqt5-sip as aseparate module means means that with this patch, the module is notfound at all. Removing it fixes it. I don't understand it in any greatdepth but it seems the patch may only really relevant to SIP 4.
Toggle quote (5 lines)> Also, there is a comment "Linking here means the sip module can be found> without python-pyqt5-sip needing to be added as an input". But,> python-pyqt5-sip is an input to this package. Can you explain what you> mean?
Upstream for whatever reason chose to move the sip module part out into a separate source package python-pyqt5-sip. It's broken withoutremoving the pyqt-public-sip.
The linking can be removed, but it would mean for every input thatrequires python-pyqt5 as an input, you also need to addpython-pyqt5-sip so the sip module can be found. On a distributionwith a traditional filesystem layout, that would not be necessary, youjust have the -sip module as a dependency to pyqt5 and its then itsavailable at a global path to be found. On Nix/Guix that doesn't workso it has to be added every time, or linked in like this. Actually I'mnot sure if there is ever any case where one /doesn't/ need the sipmodules, but they're only 200KiB. The Nix developers chose to justlink it like this so I copied their way. Do you think it's fine?
Toggle quote (4 lines)> I think we should drop the commit "gnu: calibre: Add qtsvg as input.",> since it adds a dependency but for what seems to be no reason. What do> you think?
The reason I added qtsvg was to try fix the Qt test. If you remove theline (setenv "SKIP_QT_BUILD_TEST" "true"), this test fails formultiple reasons. One of them was qtsvg missing. Another was theget_exe_path bit. But a third reason I that its call to printtopdf inpyqtwebegine returns an empty string instaed of b'Skia/PDF'. I had noidea how to proceed with fixing that so I left it for now. But atleast fixed the other errors. I assume some SVG related functionalitywill fail without it...
Toggle quote (29 lines)> Based on your branch, I've made the following changes and pushed the> branch at> <https://git.savannah.gnu.org/cgit/guix.git/log/?h=wip-update-calibre>.> > Can you take a look and tell me what you think?> > I squashed the first two commits, so that there is no commit where> python2-sip fails to build. It's not always easy to avoid intermediate> breakage in complicated package upgrades like this, but it's worth> trying. At least, it can improve the utility of `git bisect`.> > I also squashed the "fix veusz" commit into that one, for the same> reason. And all the rest of the commits that are adjusting to that> change.> > For the "Fix build for new python-sip" commit, I removed the hardcoding> of "python3.8" in the 'pyqt5-sip' phase, and instead used the> python-version procedure.> > I squashed the remaining cleanup-type commits into the Calibre update.> > I pushed the commit 'gnu: python-poppler-qt5: Update to 21.1.0.' as> 02f664a0a3dd3a936213e687802bdc62f2a10983> > I corrected the license of python-pychm from gpl3 to gpl2+.> > I made many other changes to satisfy `guix lint`, and improved synopses> and descriptions.
All good I think. My descriptions were much worse than I realised.
python-cchardet differs from in python-chardet in that its not written/in/ python, but links to a fast C library to do it, but yourdescription/synopsis changes make it look like its all inPython. Maybe make the description: "cChardet is a character encoding detector, binding to the Clibrary uchardet for speed." ?
I fixed another one of my typos 'statical' -> 'statistical', andremoved the python-pyqt-builder input from python-pyqt
https://notabug.org/Brendan/guix/src/wip-update-calibre
B
B
Brendan Tildesley wrote on 30 Mar 12:45 +0200
(address . 42885@debbugs.gnu.org)(name . Leo Famulari)(address . leo@famulari.name)
1019746685.30860.1617101118707@office.mailbox.org
Just updated for Calibre 5.14.0 released 4 days ago also.
https://notabug.org/Brendan/guix/src/wip-update-calibre
L
L
Leo Famulari wrote on 4 Apr 19:46 +0200
(name . Brendan Tildesley)(address . mail@brendan.scot)(address . 42885@debbugs.gnu.org)
YGn7eAZB5X29gNuJ@jasmine.lan
On Tue, Mar 30, 2021 at 12:45:18PM +0200, Brendan Tildesley wrote:
Toggle quote (4 lines)> Just updated for Calibre 5.14.0 released 4 days ago also.> > https://notabug.org/Brendan/guix/src/wip-update-calibre
Thanks! I will review these today or tomorrow.
L
L
Leo Famulari wrote on 5 Apr 21:58 +0200
(name . Brendan Tildesley)(address . mail@brendan.scot)(address . 42885@debbugs.gnu.org)
YGtr1LkXnJhQxxOV@jasmine.lan
On Tue, Mar 30, 2021 at 08:23:43AM +0200, Brendan Tildesley wrote:
Toggle quote (14 lines)> Me adding python-pyqt-builder here looks like a mistake. I left it> there while experimenting. When I was Upgrading SIP, I experimented> with switching to the new 'sip-build' tool introduced in SIP 5. SIP> 6's main change is to delete obsoleted code, so the old 'python> configure.py' won't work. I never got it working so I just went back> to the old way with SIP 5. python-pyqt-builder is still needed by> Calibre however.> > The only other functional change in this patch is to remove the patch> pyqt-public-sip.patch. The introduction of python-pyqt5-sip as a> separate module means means that with this patch, the module is not> found at all. Removing it fixes it. I don't understand it in any great> depth but it seems the patch may only really relevant to SIP 4.
Okay. I adjusted the commit message to match your revision.
Toggle quote (14 lines)> > On 03/30/2021 1:05 AM Leo Famulari <leo@famulari.name> wrote:> > Also, there is a comment "Linking here means the sip module can be found> > without python-pyqt5-sip needing to be added as an input". But,> > python-pyqt5-sip is an input to this package. Can you explain what you> > mean?> > Upstream for whatever reason chose to move the sip module part out in> to a separate source package python-pyqt5-sip. It's broken without> removing the pyqt-public-sip.> > The linking can be removed, but it would mean for every input that> requires python-pyqt5 as an input, you also need to add> python-pyqt5-sip so the sip module can be found.
If I understand correctly, the issue that any package that usespython-pyqt5 also needs to be able to find python-pyqt5-sip. Is thatright?
If so, it sounds like a case for propagated-inputs [0]. Concretely, I madepython-pyqt5-sip a propagated-input of python-pyqt and removed the'pyqt5-sip' phase, and Calibre built successfully.
Does that seem like the right approach?
Toggle quote (9 lines)> The reason I added qtsvg was to try fix the Qt test. If you remove the> line (setenv "SKIP_QT_BUILD_TEST" "true"), this test fails for> multiple reasons. One of them was qtsvg missing. Another was the> get_exe_path bit. But a third reason I that its call to printtopdf in> pyqtwebegine returns an empty string instaed of b'Skia/PDF'. I had no> idea how to proceed with fixing that so I left it for now. But at> least fixed the other errors. I assume some SVG related functionality> will fail without it...
That's a good point. However, I checked if the built Calibre refers toqtsvg, and it doesn't [1]. So, it's unlikely that Calibre will be able tofind and use qtsvg, regardless of whether or not it's an input. So, I'dprefer to leave it out until we understand what it's for and how to makesure that Calibre can use it.
Toggle quote (2 lines)> All good I think. My descriptions were much worse than I realised.
No worries. Writing the synopses and descriptions is a completelydifferent type of work from packaging or programming. I often "finish"some packages, but need to go back later to write the descriptions. I'mhappy to finish these tasks as part of the code review process.
Toggle quote (8 lines)> python-cchardet differs from in python-chardet in that its not written> /in/ python, but links to a fast C library to do it, but your> description/synopsis changes make it look like its all in> Python. Maybe make the description:> > "cChardet is a character encoding detector, binding to the C> library uchardet for speed." ?
Thanks, that helps. I amended the synopses and description based onthis.
I pushed my revisions of your updated branch, rebased on the currentmaster branch, to Savannah:
https://git.savannah.gnu.org/cgit/guix.git/log/?h=wip-update-calibre
[0]https://guix.gnu.org/manual/en/html_node/package-Reference.html
[1] This command be used:$ guix gc --references $(./pre-inst-env guix build --no-grafts calibre) | grep qtsvg
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEEsFFZSPHn08G5gDigJkb6MLrKfwgFAmBra9QACgkQJkb6MLrKfwh9+xAAgEDFUZnBWEg7n+lYBeIijPpKK43oDb0wqk2tg1lmovUkYXEKNTM5terEdg1ZnbS+vPSgiHjAFxOi3wc4fmMxjQvJrNcnESbyVhtHz1g30QnOF7nhN2x+22ZpYTZEbPZHTZnnGwhZ/ZBX+hSThf7czLzMara4I/LBVcNZuPOTLdVFYXoQlnc4nMuFbK4NHIAho9LcjVvC4rBa1dL+paAKCBVLen0azdSUnKSNQEeH5cwlVhB/huTo8xV6qnmRoXF/MesrZYxGSZgG5tdZy8OpDrYGx5uTwFgePPxRXpZlmtSmBBdJWytyleHfjUr/DD4bSLEp1ymc35GKLU45/eY5e4M3hxwfm7dhvvqq00Jq+xqtyX20dS+tgoQgaeDA7QNaPH7mt9U4pjbpxY4ViDOE72MTE55s4G15cglmxDI2aKzww5YWEwSfOwti+uC/E/82Rj3E6LPeJOhA3kLgi9nf/7nz/PmF50e4NfnQIGCbDlHyJMFx5F0zGo0dLi4YefIYxr68xPyH6PyziVB/VlRP3HxjFBh0o3ogqvwJkd0jKNQqMLOdb5ZNQrAjuB0i7TsYgWYn73YBDeEBncAsLB36vUBp4PBJVJNVnCsGeHM9slL3bfvYns6VszTLs/eSkoczMuf9WT/9MbEy26kTJ/5JNvpIcX6YLOSjL/139LmQKc8==mCQM-----END PGP SIGNATURE-----

B
B
Brendan Tildesley wrote on 6 Apr 03:30 +0200
(name . Leo Famulari)(address . leo@famulari.name)(address . 42885@debbugs.gnu.org)
1191049121.29289.1617672608111@office.mailbox.org
Toggle quote (2 lines)> On 04/05/2021 9:58 PM Leo Famulari <leo@famulari.name> wrote:
[...]
Toggle quote (11 lines)> If I understand correctly, the issue that any package that uses> python-pyqt5 also needs to be able to find python-pyqt5-sip. Is that> right?> > If so, it sounds like a case for propagated-inputs [0]. Concretely, I made> python-pyqt5-sip a propagated-input of python-pyqt and removed the> 'pyqt5-sip' phase, and Calibre built successfully.> > Does that seem like the right approach?>
Sounds good. I didn't realise propagated-inputs did that, I thought they werejust normal inputs that were installed along side the package in a profile,but wouldn't make a difference during build time.Does this mean all packages that depend on python-pyqt5 will have python-pyqt5-sipadded to its own list of inputs in their own package definition? If sothe manual doesn't mention that.
Toggle quote (15 lines)> > The reason I added qtsvg was to try fix the Qt test. If you remove the> > line (setenv "SKIP_QT_BUILD_TEST" "true"), this test fails for> > multiple reasons. One of them was qtsvg missing. Another was the> > get_exe_path bit. But a third reason I that its call to printtopdf in> > pyqtwebegine returns an empty string instaed of b'Skia/PDF'. I had no> > idea how to proceed with fixing that so I left it for now. But at> > least fixed the other errors. I assume some SVG related functionality> > will fail without it...> > That's a good point. However, I checked if the built Calibre refers to> qtsvg, and it doesn't [1]. So, it's unlikely that Calibre will be able to> find and use qtsvg, regardless of whether or not it's an input. So, I'd> prefer to leave it out until we understand what it's for and how to make> sure that Calibre can use it.
I see, that's a good trick for checking references.. Leave svg out for now then.
Toggle quote (8 lines)> > > All good I think. My descriptions were much worse than I realised.> > No worries. Writing the synopses and descriptions is a completely> different type of work from packaging or programming. I often "finish"> some packages, but need to go back later to write the descriptions. I'm> happy to finish these tasks as part of the code review process.>
I find writing them the most stressful part because I sit there not knowingwhat to write.
Toggle quote (21 lines)> > python-cchardet differs from in python-chardet in that its not written> > /in/ python, but links to a fast C library to do it, but your> > description/synopsis changes make it look like its all in> > Python. Maybe make the description:> > > > "cChardet is a character encoding detector, binding to the C> > library uchardet for speed." ?> > Thanks, that helps. I amended the synopses and description based on> this.> > I pushed my revisions of your updated branch, rebased on the current> master branch, to Savannah:> > https://git.savannah.gnu.org/cgit/guix.git/log/?h=wip-update-calibre> > [0]> https://guix.gnu.org/manual/en/html_node/package-Reference.html> > [1] This command be used:> $ guix gc --references $(./pre-inst-env guix build --no-grafts calibre) | grep qtsvg
L
L
Leo Famulari wrote on 6 Apr 19:11 +0200
(name . Brendan Tildesley)(address . mail@brendan.scot)(address . 42885@debbugs.gnu.org)
YGyWT1B5kCLAzfDC@jasmine.lan
On Tue, Apr 06, 2021 at 03:30:08AM +0200, Brendan Tildesley wrote:
Toggle quote (7 lines)> Sounds good. I didn't realise propagated-inputs did that, I thought they were> just normal inputs that were installed along side the package in a profile,> but wouldn't make a difference during build time.> Does this mean all packages that depend on python-pyqt5 will have python-pyqt5-sip> added to its own list of inputs in their own package definition? If so> the manual doesn't mention that.
That's the idea: they are run-time dependencies of a package that lacksthe ability for recording references to its dependencies. We have tohelp the package with our packaging tools.
In general, all Python packages in Guix use this mechanism.
Just to clarify, does Calibre work on your end with my latest Savannahbranch? I built it on CI, so you can get substitutes for it on x86_64.
The basics work for me: library management, conversion, etc.
I think we're almost done!
Toggle quote (3 lines)> I find writing them the most stressful part because I sit there not knowing> what to write.
Don't hesitate to send in your patches with a note like, "I didn't knowwhat to put here".
B
B
Brendan Tildesley wrote on 7 Apr 05:57 +0200
(name . Leo Famulari)(address . leo@famulari.name)(address . 42885@debbugs.gnu.org)
1081792369.42570.1617767823200@office.mailbox.org
Toggle quote (21 lines)> On 04/06/2021 7:11 PM Leo Famulari <leo@famulari.name> wrote:> > > On Tue, Apr 06, 2021 at 03:30:08AM +0200, Brendan Tildesley wrote:> > Sounds good. I didn't realise propagated-inputs did that, I thought they were> > just normal inputs that were installed along side the package in a profile,> > but wouldn't make a difference during build time.> > Does this mean all packages that depend on python-pyqt5 will have python-pyqt5-sip> > added to its own list of inputs in their own package definition? If so> > the manual doesn't mention that.> > That's the idea: they are run-time dependencies of a package that lacks> the ability for recording references to its dependencies. We have to> help the package with our packaging tools.> > In general, all Python packages in Guix use this mechanism.> > Just to clarify, does Calibre work on your end with my latest Savannah> branch? I built it on CI, so you can get substitutes for it on x86_64.> > The basics work for me: library management, conversion, etc.
Works for me.
L
L
Leo Famulari wrote on 8 Apr 02:05 +0200
(name . Brendan Tildesley)(address . mail@brendan.scot)(address . 42885@debbugs.gnu.org)
YG5IrN8MAIWDxaia@jasmine.lan
While testing the dependents of packages changes in this patch series, Ifound that QGIS fails to build as a result of these patches, like this:
------[...][ 50%] Built target qgis_sqliteutilstest_autogen make -f tests/src/core/CMakeFiles/qgis_layouthtmltest_autogen.dir/build.make tests/src/core/CMakeFiles/qgis_layouthtmltest_autogen.dir/depend.sip5-real: Unable to find file "QtXml/QtXmlmod.sip" make[2]: Entering directory '/tmp/guix-build-qgis-3.16.3.drv-0/build'cd /tmp/guix-build-qgis-3.16.3.drv-0/build && /gnu/store/3dsl2jalrcyldkrsqab1hc6sv8pyag9z-cmake-minimal-3.16.5/bin/cmake -E cmake_depends "Unix Makefiles" /tmp/guix-build-qgis-3.16.3.drv-0/qgis-3.16.3 /tmp/guix-build-qgis-3.16.3.drv-0/qgis-3.16.3/tests/src/core /tmp/guix-build-qgis-3.16.3.drv-0/build /tmp/guix-build-qgis-3.16.3.drv-0/build/tests/src/core /tmp/guix-build-qgis-3.16.3.drv-0/build/tests/src/core/CMakeFiles/qgis_layouthtmltest_autogen.dir/DependInfo.cmake --color= Scanning dependencies of target qgis_layouthtmltest_autogen make[2]: Leaving directory '/tmp/guix-build-qgis-3.16.3.drv-0/build' make -f tests/src/core/CMakeFiles/qgis_layouthtmltest_autogen.dir/build.make tests/src/core/CMakeFiles/qgis_layouthtmltest_autogen.dir/buildmake[2]: Entering directory '/tmp/guix-build-qgis-3.16.3.drv-0/build'[ 50%] Automatic MOC for target qgis_layouthtmltestcd /tmp/guix-build-qgis-3.16.3.drv-0/build/tests/src/core && /gnu/store/3dsl2jalrcyldkrsqab1hc6sv8pyag9z-cmake-minimal-3.16.5/bin/cmake -E cmake_autogen /tmp/guix-build-qgis-3.16.3.drv-0/build/tests/src/core/CMakeFiles/qgis_layouthtmltest_autogen.dir/AutogenInfo.json RelWithDebInfomake[2]: *** [python/CMakeFiles/python_module_qgis__core_autogen.dir/build.make:682: python/core/sip_corepart0.cpp] Error 1make[2]: *** Deleting file 'python/core/sip_corepart0.cpp'make[2]: Leaving directory '/tmp/guix-build-qgis-3.16.3.drv-0/build'make[1]: *** [CMakeFiles/Makefile2:8003: python/CMakeFiles/python_module_qgis__core_autogen.dir/all] Error 2[...]builder for `/gnu/store/svp5sjdga02zngsrh3x613wjfqm2cwyi-qgis-3.16.3.drv' failed with exit code 1------
I think the salient part is near the beginning:
.sip5-real: Unable to find file "QtXml/QtXmlmod.sip"
I tried using your original approach for pyqt5-sip, where you symlinkedit into the output of python-pyqt, but I got the same result.
I guess that we need to adjust the package python-pyqt+qscintilla. Anyideas?
L
L
Leo Famulari wrote on 8 Apr 03:14 +0200
(name . Brendan Tildesley)(address . mail@brendan.scot)(address . 42885@debbugs.gnu.org)
YG5Y2TzxVm3DUqMg@jasmine.lan
Toggle quote (2 lines)> .sip5-real: Unable to find file "QtXml/QtXmlmod.sip"
I found an upstream bug report that is superficially similar:
https://issues.qgis.org/issues/20969
However, their solution is already done in our package: Make sure thatpyqt is available.
L
L
Leo Famulari wrote on 8 Apr 05:59 +0200
(name . Brendan Tildesley)(address . mail@brendan.scot)(address . 42885@debbugs.gnu.org)
YG5/mn1sGQNxhvzS@jasmine.lan
On Wed, Apr 07, 2021 at 08:05:00PM -0400, Leo Famulari wrote:
Toggle quote (2 lines)> .sip5-real: Unable to find file "QtXml/QtXmlmod.sip"
I also noticed this passage in the QGIS ChangeLog:
------Daniel Minor <daniel.minor@gmail.com> 2020-07-14
Fix FindPyQt5 cmake and python scripts
As written, the FindPyQt5.cmake and FindPyQt5.py scripts will succeed even if PyQt5 is not installed. In FindPyQt5.cmake, we have PYQT5_FIND_REQUIRED rather than PyQt5_FIND_REQUIRED, so the package is always treated as though it is optional. In FindPyQt5.py, the script will succeed with a default location for the sip directory, even if the PyQt5 directory is not located.
For some systems, if enough other dependencies are installed, the build can get about halfway complete without the main PyQt5 dependency, and then fail with a message like:
sip: Unable to find file "QtXml/QtXmlmod.sip"
I hit this building on Ubuntu, and there have been a few similar bug reports in the past.------
B
B
Brendan Tildesley wrote on 8 Apr 06:11 +0200
(name . Leo Famulari)(address . leo@famulari.name)(address . 42885@debbugs.gnu.org)
1652327451.54561.1617855115601@office.mailbox.org
Well, using a python-pyqt with the python-sip input set back to python-sip-4 fixes it. Do we want to commit to getting it working with python-sip@5. I'm still playing around with it trying to get it to build
Not sure where you see that sip error. The builds fail for me with
make[2]: Leaving directory '/tmp/guix-build-qgis-3.16.3.drv-0/build'make[2]: *** [python/CMakeFiles/python_module_qgis__core_autogen.dir/build.make:682: python/core/sip_corepart0.cpp] Error 1make[2]: *** Deleting file 'python/core/sip_corepart0.cpp'make[2]: Leaving directory '/tmp/guix-build-qgis-3.16.3.drv-0/build'make[1]: *** [CMakeFiles/Makefile2:8003: python/CMakeFiles/python_module_qgis__core_autogen.dir/all] Error 2
L
L
Leo Famulari wrote on 8 Apr 06:28 +0200
(name . Brendan Tildesley)(address . mail@brendan.scot)(address . 42885@debbugs.gnu.org)
YG6GXzZqd73Os+9w@jasmine.lan
On Thu, Apr 08, 2021 at 06:11:55AM +0200, Brendan Tildesley wrote:
Toggle quote (2 lines)> Well, using a python-pyqt with the python-sip input set back to python-sip-4 fixes it. Do we want to commit to getting it working with python-sip@5. I'm still playing around with it trying to get it to build
I think it's okay to use python-sip-4, unless you want to hunt down thisbug.
Toggle quote (8 lines)> Not sure where you see that sip error. The builds fail for me with> > make[2]: Leaving directory '/tmp/guix-build-qgis-3.16.3.drv-0/build'> make[2]: *** [python/CMakeFiles/python_module_qgis__core_autogen.dir/build.make:682: python/core/sip_corepart0.cpp] Error 1> make[2]: *** Deleting file 'python/core/sip_corepart0.cpp'> make[2]: Leaving directory '/tmp/guix-build-qgis-3.16.3.drv-0/build'> make[1]: *** [CMakeFiles/Makefile2:8003: python/CMakeFiles/python_module_qgis__core_autogen.dir/all] Error 2
I see these lines too, but later. The QtXml error may be a few linesabove.
B
B
Brendan Tildesley wrote on 8 Apr 13:17 +0200
(name . Leo Famulari)(address . leo@famulari.name)(address . 42885@debbugs.gnu.org)
1216030188.59802.1617880663286@office.mailbox.org
Toggle quote (9 lines)> On 04/08/2021 6:28 AM Leo Famulari <leo@famulari.name> wrote:> > > On Thu, Apr 08, 2021 at 06:11:55AM +0200, Brendan Tildesley wrote:> > Well, using a python-pyqt with the python-sip input set back to python-sip-4 fixes it. Do we want to commit to getting it working with python-sip@5. I'm still playing around with it trying to get it to build> > I think it's okay to use python-sip-4, unless you want to hunt down this> bug.
Fixed I think.Also I deleted the unused python2-sip (in my notabug)
From 6143e197e1caf55d4c0a29aad01f07ca6c73bec8 Mon Sep 17 00:00:00 2001From: Brendan Tildesley <mail@brendan.scot>Date: Thu, 8 Apr 2021 20:49:57 +1000Subject: [PATCH] gnu: qgis: Fix build.
* gnu/packages/geo.scm (qgis):[arguments]: Add another hack in the'configure-pyqt5-sip-path phase to fix build failure caused by theupgrade to python-sip@5.
The reason for this is that python-sip@5 introduces some changes such asa new build system 'sip-build' as well as the use of the path"/lib/pythonX.X/site-packages/*/bindings/" instead of "/share/sip/" for.sip files. However, we do not actually use that those yet. Qgis detectsSIP5 and assumes we are, messing up the build. The long term solution isto fully upgrade SIP, use sip-build and fix all failing packages, butfor now I just want to get the build working.--- gnu/packages/geo.scm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
Toggle diff (19 lines)diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scmindex bc5e6820f3..baa95f3cc3 100644--- a/gnu/packages/geo.scm+++ b/gnu/packages/geo.scm@@ -2082,7 +2082,11 @@ growing set of geoscientific methods.") (("sip_dir = cfg.default_sip_dir") (string-append "sip_dir = \"" (assoc-ref inputs "python-pyqt+qscintilla")- "/share/sip\"")))+ "/share/sip\""))+ ((".pyqt_sip_dir...os.path.join.*,")+ (string-append "'pyqt_sip_dir': \""+ (assoc-ref inputs "python-pyqt+qscintilla")+ "/share/sip" "\","))) (substitute* (list "scripts/prepare_commit.sh" "scripts/qstringfixup.sh" "scripts/release.pl"-- 2.31.1
L
L
Leo Famulari wrote on 9 Apr 22:12 +0200
(name . Brendan Tildesley)(address . mail@brendan.scot)(address . 42885-done@debbugs.gnu.org)
YHC1OyCtLMnUMmyx@jasmine.lan
On Thu, Apr 08, 2021 at 01:17:43PM +0200, Brendan Tildesley wrote:
Toggle quote (13 lines)> > > On 04/08/2021 6:28 AM Leo Famulari <leo@famulari.name> wrote:> > > > > > On Thu, Apr 08, 2021 at 06:11:55AM +0200, Brendan Tildesley wrote:> > > Well, using a python-pyqt with the python-sip input set back to python-sip-4 fixes it. Do we want to commit to getting it working with python-sip@5. I'm still playing around with it trying to get it to build> > > > I think it's okay to use python-sip-4, unless you want to hunt down this> > bug.> > Fixed I think.> Also I deleted the unused python2-sip (in my notabug)
Alright, I pushed as f68bcc1bc3aa0a8d1829e2eb5d9ef256c817c17c
Thank you very much for tackling this complicated upgrade of such animportant package!
Closed
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send email to 42885@debbugs.gnu.org