From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp12.migadu.com ([2001:41d0:306:2d92::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms9.migadu.com with LMTPS id CN39DQa3JmXXJwEAauVa8A:P1 (envelope-from ) for ; Wed, 11 Oct 2023 16:53:58 +0200 Received: from aspmx1.migadu.com ([2001:41d0:306:2d92::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp12.migadu.com with LMTPS id CN39DQa3JmXXJwEAauVa8A (envelope-from ) for ; Wed, 11 Oct 2023 16:53:58 +0200 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id E70E246DE6 for ; Wed, 11 Oct 2023 16:53:57 +0200 (CEST) Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=lassieur.org header.s=fm1 header.b=fantLXhX; dkim=fail ("headers rsa verify failed") header.d=messagingengine.com header.s=fm2 header.b=mlvcxcPN; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org"; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1697036038; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding:resent-cc: resent-from:resent-sender:resent-message-id:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=spKh+xneigrlCVL7I/SyZY5k2+KWKtgyexVDVQTQs/I=; b=ixGvunvL4+vfON0NRcuWKfx0Ulc6Uqj4uzP+WBoW8v0RwT6SmWMDorXobrJZ5X33IUgqvO kX02LeiIX67gJfUTUT/m1+QC7xw96blVIeN7Cr1llD2FEIivNrXf8J97dEg9wRr2t2ojIO q08KzhjBbGdtTx/RV9mDT4IjBYtqNwmZUpr9DRinID+t5oMIUGvy1q4ZIFeUyLAVDo6CY8 OOjZ+c+vBHcUPM+dz9h0c6tuezZBj1pznL/x98sBCLwslARZJ+Mn7VmACBUJu/2hSzoxoV 4hE8QlfdytuJ+vSIj4vE4ZaTwYMDzoMdum/HTDobyqj8k0+pHxbdLN2TiGw7sw== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=lassieur.org header.s=fm1 header.b=fantLXhX; dkim=fail ("headers rsa verify failed") header.d=messagingengine.com header.s=fm2 header.b=mlvcxcPN; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org"; dmarc=none ARC-Seal: i=1; s=key1; d=yhetil.org; t=1697036038; a=rsa-sha256; cv=none; b=JAAQ0UsTxXXkidi8qUvqtqJJAnAvAEpk/hBOpLcKIsDzmh9+kGR3SljJ1IN7STFOb0DCP3 vwbkt6/atsvUNizlQkvZ0PFQ/9cr47MA4LTFVsafJGjYipWx9Ae3IAUgFSVbpVJk7a0F2g xv0+h5b5SOQv3Q20U8zGbqWDtDyVKa3OrYUBzqCGlJvfEx+QqtAg7mzzcC4WLA5AFDsdGZ avox0Bv/usiP8nJVYbr11GRnqShdgrNFSDjZOvSeMptmfkXVZ1AKUrnQ2msvLzGuETpZNb q8mN36EHVgDiVG4cwQPnC7AjTIXJpp0UiwtsMHoPfWQny3t07yKaD6InrrVLqg== Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qqaak-0005FC-Ep; Wed, 11 Oct 2023 10:53:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qqaai-0005EQ-Qi for guix-patches@gnu.org; Wed, 11 Oct 2023 10:53:40 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qqaai-0000sh-Gq for guix-patches@gnu.org; Wed, 11 Oct 2023 10:53:40 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qqab4-000178-2T for guix-patches@gnu.org; Wed, 11 Oct 2023 10:54:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#66408] [PATCH v3] gnu: icecat: Add support for Guix packaged extensions. Resent-From: =?UTF-8?Q?Cl=C3=A9ment?= Lassieur Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 11 Oct 2023 14:54:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66408 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 66408@debbugs.gnu.org Cc: Mark H Weaver , Marius Bakke Received: via spool by 66408-submit@debbugs.gnu.org id=B66408.16970359844174 (code B ref 66408); Wed, 11 Oct 2023 14:54:02 +0000 Received: (at 66408) by debbugs.gnu.org; 11 Oct 2023 14:53:04 +0000 Received: from localhost ([127.0.0.1]:39840 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qqaa8-00015G-9N for submit@debbugs.gnu.org; Wed, 11 Oct 2023 10:53:04 -0400 Received: from out5-smtp.messagingengine.com ([66.111.4.29]:41881) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qqaa5-00014g-Lx for 66408@debbugs.gnu.org; Wed, 11 Oct 2023 10:53:02 -0400 Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.nyi.internal (Postfix) with ESMTP id 64BB85C0480; Wed, 11 Oct 2023 10:52:34 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute3.internal (MEProxy); Wed, 11 Oct 2023 10:52:34 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lassieur.org; h= cc:cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to; s=fm1; t= 1697035954; x=1697122354; bh=spKh+xneigrlCVL7I/SyZY5k2+KWKtgyexV DVQTQs/I=; b=fantLXhX+knhlX7nlDLr48cCcGFzWgfDZ9+Y+T5prmtlp/r2C1Q nzcaZUJHBWgJN2u/VkkKwfYlyt/wqy+2QxWvTxxM7/MGSVanZP7W20c3vkvEfDSY wBqXI4V6p1uuZXZG4dCytwtGqR6e85GLZYYpkidIHmMgKPI5erP6Qp4AAuKVSijO UpnbLlbqbnN8ErRdpaUrautOjxhtJf8MmI6uclt4dLYBG9mMOGKAo17TPZwcKGTi u/ED3N3A00FXZ/oMBZadQoU30obFpHNjm6HvPEp9Vhbf1h3JsRvRjEPxem0fMX3R PBxfHj+tFZf4ViKZQh/bJebQYePoZqgsitQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t= 1697035954; x=1697122354; bh=spKh+xneigrlCVL7I/SyZY5k2+KWKtgyexV DVQTQs/I=; b=mlvcxcPNuLJGKn/Q9OBfa+rm7ffTsdUucVUITMnUkWDu43oYT3t u8fZSjdWzlT+dWv/qV+D4fNczxBTUydwTWUpLTRnSOcbl4ZpGP3tWQvBtkxqfE7W PWzBPlmDD+Px2cOUoaVKbAM1HOKXD0K1tyBz/5g61zdiiw/jVxZHnRUPLFl4/m9P dXqh+8MltCu7TONwKS30rRQVARmJy6XQpMTXLoCc+5tZExaJQSs8qKqx9Otkg3LN 5D2le5fTOuEucTl3Y7Xac6/bJpNaG1FxOcmPOqi0vQE/hbXnEO251H/AL7tWmGBp as/lO7sIHLeOQOSFdpID2LHXFx0sl4xFZOA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrheekgdejlecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefhvfevufgjfhgffffkgggtgfesthhqredttderjeenucfhrhhomhepvehlrohm vghnthcunfgrshhsihgvuhhruceotghlvghmvghntheslhgrshhsihgvuhhrrdhorhhgqe enucggtffrrghtthgvrhhnpeffhfdukeehkeeukedvkeeutdeihfelvedtieeggfelveff udfhgfefueffgedtffenucffohhmrghinhepmhhoiihilhhlrgdrohhrghdpshgtmhdrsh hopdhgnhhurdhorhhgnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghi lhhfrhhomheptghlvghmvghntheslhgrshhsihgvuhhrrdhorhhg X-ME-Proxy: Feedback-ID: i4c21472a:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed, 11 Oct 2023 10:52:32 -0400 (EDT) From: =?UTF-8?Q?Cl=C3=A9ment?= Lassieur In-Reply-To: <43b86867b651d877c805d7e5963b42319606e0d1.1697027198.git.clement@lassieur.org> ("=?UTF-8?Q?Cl=C3=A9ment?= Lassieur"'s message of "Wed, 11 Oct 2023 14:26:38 +0200") References: <43b86867b651d877c805d7e5963b42319606e0d1.1697027198.git.clement@lassieur.org> User-Agent: Gnus/5.13 (Gnus v5.13) Date: Wed, 11 Oct 2023 16:52:29 +0200 Message-ID: <87h6mxnrde.fsf@lassieur.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: guix-patches-bounces+larch=yhetil.org@gnu.org X-Migadu-Country: US X-Migadu-Flow: FLOW_IN X-Migadu-Spam-Score: -2.27 X-Spam-Score: -2.27 X-Migadu-Queue-Id: E70E246DE6 X-Migadu-Scanner: mx2.migadu.com X-TUID: 54qg0VUl27uv 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=C3=A9ment 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 Icec= at > 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 unus= ed > '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".