all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "Clément Lassieur" <clement@lassieur.org>
To: 66408@debbugs.gnu.org
Cc: Mark H Weaver <mhw@netris.org>, Marius Bakke <marius@gnu.org>
Subject: [bug#66408] [PATCH v3] gnu: icecat: Add support for Guix packaged extensions.
Date: Wed, 11 Oct 2023 16:52:29 +0200	[thread overview]
Message-ID: <87h6mxnrde.fsf@lassieur.org> (raw)
In-Reply-To: <43b86867b651d877c805d7e5963b42319606e0d1.1697027198.git.clement@lassieur.org> ("Clément Lassieur"'s message of "Wed, 11 Oct 2023 14:26:38 +0200")

Hello,

Now that this patch looks stable to me, please let me introduce it
shortly.  I believe that a lot of people use Icecat extensions
downloaded from Mozilla store[2].  Mozzarella[1] is really just a
"plugin finder", so the extension is really downloaded from
https://addons.mozilla.org/, which means we have no control over the
software we are running, except for the bundled extensions.  An upgrade
could very well import non-free software when the initial version was
free.

I think it would be great to do like we do with Emacs and a lot of other
softwares: package our own plugins.  That would give users the assurance
that the software is free and can be trusted as they trust any Guix
packaged software.  That would also allow to do Guix-specific changes,
like removing the non-free bits, or adapting the package for technical
reasons.  And that would allow for a declarative deployment of the
browser, because the extensions could be added, say, to the Guix home
config.scm.

So this is what this patch is about.  And it works with the only add-on
that is currently packaged: uBlock Origin.  To test it one needs to
install both "icecat" and "ublock-origin-icecat".  This is related to
the work Marius did on ungoogled-chromium, and of course to the work
Mark did on Icecat, so both of you are CCed.  As for the technical
details, there is a long comment in "icecat-extensions.scm" explaining
what I did.

Thank you,
Clément Lassieur

[1]: https://gnuzilla.gnu.org/mozzarella/
[2]: https://addons.mozilla.org/

> * gnu/build/icecat-extension.scm: New file with a MAKE-ICECAT-EXTENSION
> procedure that makes sure the add-on directory is a symlink, so that Icecat
> can normalize it into a package store path.
> * gnu/local.mk (dist_patch_DATA): Register it, as well as new patches.
> * gnu/packages/browser-extensions.scm (ublock-origin)[properties]: Store the
> add-on ID so that it is accessible in MAKE-ICECAT-EXTENSION.
> [arguments]: Use the add-on ID as root directory.
> (ublock-origin/icecat): New procedure.
> * gnu/packages/gnuzilla.scm (icecat-minimal)[arguments]: Rewrite the unused
> 'apply-guix-specific-patches' phase so that it applies the following two
> patches.
> [native-search-paths]: New field.
> * gnu/packages/patches/icecat-compare-paths.patch: New patch that compares
> add-on paths (which are package store paths) to detect package changes.
> * gnu/packages/patches/icecat-use-guix-extensions.patch: New patch that
> replaces "/usr/share/mozilla/extensions" with "$ICECAT_EXTENSION_DIR".




  reply	other threads:[~2023-10-11 14:53 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-08 16:26 [bug#66408] [PATCH] gnu: icecat: Add support for Guix packaged extensions Clément Lassieur
2023-10-08 23:07 ` [bug#66408] [PATCH v2] " Clément Lassieur
2023-10-11 12:26 ` [bug#66408] [PATCH v3] " Clément Lassieur
2023-10-11 14:52   ` Clément Lassieur [this message]
2023-10-23  7:37   ` Andrew Tropin
2023-10-17 12:48 ` [bug#66408] [PATCH v4] " Clément Lassieur
2023-10-17 16:45 ` [bug#66408] [PATCH v5] gnu: icecat: Support Guix packaged extensions and native manifests Clément Lassieur
2023-10-20 10:01   ` Mathieu Othacehe
2023-10-20 12:40     ` Clément Lassieur
2023-10-23  7:14       ` Mathieu Othacehe
2023-10-23  9:55         ` bug#66408: " Clément Lassieur
2023-10-20 12:26 ` [bug#66408] [PATCH v6] " Clément Lassieur

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87h6mxnrde.fsf@lassieur.org \
    --to=clement@lassieur.org \
    --cc=66408@debbugs.gnu.org \
    --cc=marius@gnu.org \
    --cc=mhw@netris.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.