bug-guix
[Top][All Lists]

## bug#43151: Calibre ebook-viewer requires QtWebEngine

 From: Brendan Tildesley Subject: bug#43151: Calibre ebook-viewer requires QtWebEngine Date: Mon, 7 Sep 2020 16:01:31 +1000

On 6/9/20 6:25 pm, Andreas Enge wrote:

(cc-ing this and only this bug, the other one seems to have diverged towards
css and typescript)

On Fri, Sep 04, 2020 at 07:53:02PM +1000, Brendan Tildesley wrote:

I did not realise there was already an open ticket for updating calibre,
thanks for pointing it out. Indeed I do not think we need to wrap all
programs. I tried out the programs in ...calibre-4.18.0/bin, and only these
two fail with an error message:
ebook-edit
ebook-viewer
I did not try the different calibre-*; calibre itself starts. Then it can call
ebook-viewer, and I do not know the mechanism, so it might just call the
wrapped binary ebook-viewer, or it might need wrapping itself because of using
internal python mechanics. I would give it a try and not wrap it in the first
place.

All "binaries" are already wrappend with PYTHONPATH, so there is probably some

Since it uses (replace 'wrap..., it won't run the old wrap phase any more.
Also I don't think it matters much that the other variables also have the Qt
variable wrapped, perhaps it is more correct anyway. Especially since the
wrap script uses '=, which wrap-program interprets as overwriting the
variable completely, so applying it twice won't make a difference anyway.

Well, I think we should not wrap more than absolutely necessary. And it would
even be easier to write (no need to look for all the binaries, just use these
two names). Would you like to create a patch maybe for the current calibre,
and handle the update following the other bug?

Andreas


It's actually a bit more complicated because every other executable still requires PYTHONPATH wrapping anyway as python-build-system does it. I just tested creating such a wrap phase that only sets QTWEBENGINEPROCESS_PATH for ebook-viewer and ebook-edit. It works when they are opened directly, but when they are opened via the calibre interface, they fail to find qtwebengine. so it does seem that calibre it's self needs that variable set anyway.


I've attached a patching fixing this one issue. For those I've emailed coming from the Issue I created for updating Calibre, since it looks like the update will be delayed until Mathjax 3 is packaged properly, would you mind just reviewing this fix to get it through for the current Calibre.


I think Ricardo was having a go at packaging swc to transpile typescript which is needed for mathjax, but it looks like quite a challenge.



0001-gnu-calibre-Wrap-QTWEBENGINEPROCESS_PATH.patch
Description: Text Data