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/patches/icecat-compare-paths.patch | |
parent | a25a492f2b8604de4ebc21298f24891a1a245161 (diff) | |
download | guix-25043e01b6cb6696ffdc6cdedd9cdf8235bb695c.tar guix-25043e01b6cb6696ffdc6cdedd9cdf8235bb695c.tar.gz |
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/patches/icecat-compare-paths.patch')
-rw-r--r-- | gnu/packages/patches/icecat-compare-paths.patch | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/gnu/packages/patches/icecat-compare-paths.patch b/gnu/packages/patches/icecat-compare-paths.patch new file mode 100644 index 0000000000..69c03e05ee --- /dev/null +++ b/gnu/packages/patches/icecat-compare-paths.patch @@ -0,0 +1,21 @@ +See comment in gnu/build/icecat-extension.scm. + +--- a/toolkit/mozapps/extensions/internal/XPIDatabase.jsm ++++ b/toolkit/mozapps/extensions/internal/XPIDatabase.jsm +@@ -3452,6 +3452,7 @@ const XPIDatabaseReconcile = { + if ( + newAddon || + oldAddon.updateDate != xpiState.mtime || ++ oldAddon.path != xpiState.path || + (aUpdateCompatibility && this.isAppBundledLocation(installLocation)) + ) { + newAddon = this.updateMetadata( +@@ -3460,8 +3461,6 @@ const XPIDatabaseReconcile = { + xpiState, + newAddon + ); +- } else if (oldAddon.path != xpiState.path) { +- newAddon = this.updatePath(installLocation, oldAddon, xpiState); + } else if (aUpdateCompatibility || aSchemaChange) { + newAddon = this.updateCompatibility( + installLocation, |