Subject: bug#44335: closed (Re: [bug#44335] [PATCH v2 0/3] Install Chromium extensions with Guix!)

From: [email-masked] (GNU bug Tracking System)
Date: Sun, 08 Nov 2020 17:39:02 +0000

Your bug report

#44335: [PATCH 0/2] Install Chromium extensions with Guix!

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
44335: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=44335
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: [bug#44335] [PATCH v2 0/3] Install Chromium extensions with Guix!
From: Marius Bakke <[email-masked]>
To: Leo Famulari <[email-masked]>
Cc: [email-masked]
Date: Sun, 08 Nov 2020 18:38:21 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Leo Famulari <[email-masked]> writes:

> On Mon, Nov 02, 2020 at 01:22:25AM +0100, Marius Bakke wrote:
>> Hello,
>> 
>> Here is an updated patch series that introduces a new module to deal
>> with the Chromium extension machinery.
>> 
>> The procedures have also been tweaked a little to reduce duplication.
>> 
>> I still don't know why extensions installed with Guix are not updated.
>> It could be that the update functionality has been patched out by
>> ungoogled-chromium.  More testing pending.
>
> Really great work Marius! We trust your judgement on when the code is
> "ready".

Thanks, it's in 'master' now!  After further testing I found that
updating extensions does work, not sure what went wrong the first time
around.

Removing and reinstalling extensions is still "impossible" without
serious Chromium profile surgery.  But let's deal with that later.

I also committed a bonus extension that can send YouTube and other
streaming sites directly to the Kodi media center.

Feedback still welcome.  Enjoy the new add-on enchanced
ungoogled-chromium experience!  :-)

Now to figure out how to do the same for IceCat...

Subject: [PATCH 0/2] Install Chromium extensions with Guix!
From: Marius Bakke <[email-masked]>
To: [email-masked]
Date: Fri, 30 Oct 2020 19:29:25 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Greetings Guix,

These patches lay the groundwork for packaging Chromium extensions with
Guix.  Currently only uBlock Origin has been packaged, but adding others
should be technically straight forward.  Practically it turns out
somewhat difficult because many extensions rely on the node.js ecosystem.

Patch 1/2 adds a search path mechanism to ungoogled-chromium such that
it looks for local extensions in $CHROMIUM_EXTENSION_DIRECTORY instead
of the default "/usr/share/chromium/extensions".

Patch 2/2 adds a generic MAKE-CHROMIUM-EXTENSION procedure that turns
a <package> object containing an uncompressed extension directory into
a signed .crx file visible to Chromium through a crafted JSON file.

There is one problem with the proposed patches: extensions are not
automatically updated.  That is, updating the "ublock-origin-chromium"
package will not update the browser profile even after a browser
restart.  Worse, uninstalling the extension through Chromium will leave
you no way to install it again even after it has been updated.

Not sure if that should be a blocking issue.

I'm also not sure whether (gnu packages browser-extensions) is a good
home for the helper procedures that create signing key, etc.  Thoughts?

To aid testing I have started a build of the patched ungoogled-chromium
on ci.guix.gnu.org[*].  It should be finished by tomorrow(!).

(testers can use "chromium --user-data-dir=/tmp/foo" to avoid messing
with their regular profile)

I'm currently relocating to a new city and won't be able to follow up
on this until next week.  In the meantime, feedback very welcome!

[*] on commit eee35fe3b7cb21792b90ecbf5a834b5a3fdb6f04.

Marius Bakke (2):
  gnu: ungoogled-chromium: Add search path for installed extensions.
  gnu: Add ublock-origin-chromium.

 gnu/local.mk                                  |   2 +
 gnu/packages/browser-extensions.scm           | 274 ++++++++++++++++++
 gnu/packages/chromium.scm                     |  18 +-
 .../ungoogled-chromium-search-path.patch      |  28 ++
 4 files changed, 314 insertions(+), 8 deletions(-)
 create mode 100644 gnu/packages/browser-extensions.scm
 create mode 100644 gnu/packages/patches/ungoogled-chromium-search-path.patch

-- 
2.28.0