diff options
author | Clément Lassieur <clement@lassieur.org> | 2023-10-08 14:53:59 +0200 |
---|---|---|
committer | Clément Lassieur <clement@lassieur.org> | 2023-10-23 11:19:02 +0200 |
commit | 25043e01b6cb6696ffdc6cdedd9cdf8235bb695c (patch) | |
tree | d4c3c023022729bfeacced44d934da3ad4565a86 /gnu/packages/browser-extensions.scm | |
parent | a25a492f2b8604de4ebc21298f24891a1a245161 (diff) |
gnu: icecat: Support Guix packaged extensions and native manifests.
* 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-system-wide-dir.patch: New patch that
replaces "/usr/lib/mozilla" (the system-wide directory for extensions and
native manifests) with "$ICECAT_SYSTEM_DIR".
Diffstat (limited to 'gnu/packages/browser-extensions.scm')
-rw-r--r-- | gnu/packages/browser-extensions.scm | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/gnu/packages/browser-extensions.scm b/gnu/packages/browser-extensions.scm index 3f6da8d77a3..252c95729da 100644 --- a/gnu/packages/browser-extensions.scm +++ b/gnu/packages/browser-extensions.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2020, 2021 Marius Bakke <marius@gnu.org> ;;; Copyright © 2023 Nicolas Graves <ngraves@ngraves.fr> +;;; Copyright © 2023 Clément Lassieur <clement@lassieur.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -25,6 +26,7 @@ #:use-module (guix build-system gnu) #:use-module ((guix licenses) #:prefix license:) #:use-module (gnu build chromium-extension) + #:use-module (gnu build icecat-extension) #:use-module (gnu packages compression) #:use-module (gnu packages python)) @@ -98,6 +100,7 @@ supported content to the Kodi media center.") "1i8rnij3sbwg6vj6znprrsca0n5xjzhmhppaa8v6jyxg6wrrfch1")))) (build-system gnu-build-system) (outputs '("xpi" "firefox" "chromium")) + (properties '((addon-id . "uBlock0@raymondhill.net"))) (arguments (list #:tests? #f ;no tests @@ -125,9 +128,11 @@ supported content to the Kodi media center.") (invoke "./tools/make-chromium.sh"))) (add-after 'build-chromium 'install (lambda* (#:key outputs #:allow-other-keys) - (let ((firefox (assoc-ref outputs "firefox")) - (xpi (assoc-ref outputs "xpi")) - (chromium (assoc-ref outputs "chromium"))) + (let* ((addon-id #$(assq-ref properties 'addon-id)) + (firefox (in-vicinity + (assoc-ref outputs "firefox") addon-id)) + (xpi (assoc-ref outputs "xpi")) + (chromium (assoc-ref outputs "chromium"))) (install-file "dist/build/uBlock0.firefox.xpi" (string-append xpi "/lib/mozilla/extensions")) (copy-recursively "dist/build/uBlock0.firefox" firefox) @@ -142,3 +147,6 @@ ungoogled-chromium.") (define-public ublock-origin/chromium (make-chromium-extension ublock-origin "chromium")) + +(define-public ublock-origin/icecat + (make-icecat-extension ublock-origin "firefox")) |