Subject: Re: [bug#35866] [PATCH] gnu: Add qtwebengine.

From: [email-masked]
Date: Tue, 28 May 2019 10:48:52 -0700

Ludovic Courtès <[email-masked]> writes:

Hello Ludovic, thank you for looking at this.

>
> <https://github.com/mrosset/nomad/> looks pretty exciting, which
> motivates me to take a look at this patch.  :-)

This is my motivation for having this included with guix. the main URL
is https://savannah.nongnu.org/projects/nomad/ and the main source is
http://git.savannah.nongnu.org/cgit/nomad.git?h=feature-qt. Development
is currently being done on the feature-qt branch.

Nomad is still very much WIP. And some early documentation can be found
here. http://git.savannah.nongnu.org/cgit/nomad.git/tree/org/README.txt?h=feature-qt.

In short Nomad is an extensible web browser that uses GNU guile as it's
extension language. And is heavily modeled after Emacs.

>> +    (synopsis "Qt5WebEngine")
>> +    (description "Qt5WebEngine provides support for web
>> +applications using the Chromium browser project.")
>
> As you may know, Guix contains a variant of ‘ungoogled-chromium’, which
> goes to great lengths to remove non-free software, DRM support, spyware, etc.
>
> The problem is that QtWebEngine bundles Chromium.  We would need to
> “unbundle” it and/or replace it with ‘ungoogled-chromium’.  I’m not sure
> how hard that is.

I have done some research as to how best to handle the chromium sources
that are distributed with qtwebengine. From my understanding so far. QT
has similar goals as ungoogle-chromium. Based off of the information
found here https://wiki.qt.io/QtWebEngine. Binaries are stripped from
source tree. Services that talk to Google are removed. And the code is
refactored to use system libraries like OpenSSL.

There is a more in depth break down on the chromium rebase process found
here. https://wiki.qt.io/QtWebEngine/Rebase_on_New_Chromium .

It seems to me that QT is already doing the right thing
here. Unfortunately I don't think it will be easy to reuse the
ungoogle-chrome code base. It would probably require manually re-basing
then applying qt patches. Also there is no clear benefit for it. Since
updating ungoogle-chromium would not directly benefit qtwebengine. In
short QT seems to already be doing the necessary work.

I can though now, do my best to ensure that the least amount of 3rd
party libraries are used. I'll update my patch as soon as possible. And
I will explore the chromium source issue more in the process.

Regards,

Mike Rosset