guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#74790] [PATCH] gnu: librewolf: Support Guix icecat browser extensio


From: Ian Eure
Subject: [bug#74790] [PATCH] gnu: librewolf: Support Guix icecat browser extensions.
Date: Fri, 13 Dec 2024 09:38:54 -0800
User-agent: mu4e 1.12.7; emacs 29.4

Hi Hilton,

The patches look good to me, thank you for taking this on! How to handle browser extensions is a subject that’s been on my mind intermittently, so it’s great to see effort in that direction.

I think it might be non-obvious that IceCat packages affect non-IceCat browsers. I’d really like to have a solid facility for managing extensions across the different Firefox forks, either with generic "browser-extension-ublock-origin" packages; or something similar to the Common Lisp setup, where implementation-specific package variants can be derived from a canonical one. I lean somewhat towards the latter approach, since I think it provides a cleaner way of handling differences across browsers. Given the different release cadences, I think it makes sense to abstract over the differences in the build tooling rather than patching the browsers to get consistent behavior.

To be clear here, these patches don’t have to wait for that; I’m +1 on pushing as-is. But I think we should have a more explicit system for handling browser extension packages.

Thanks,
 -- Ian

Hilton Chain <hako@ultrarare.space> writes:

* gnu/packages/patches/librewolf-use-system-wide-dir.patch: New file.
* gnu/local.mk (dist_patch_DATA): Regisiter it.
* gnu/packages/librewolf.scm (make-librewolf-source)[patches]: Add it along with
torbrowser-compare-paths.patch.
(librewolf)[native-search-paths]: Add ICECAT_SYSTEM_DIR.

Change-Id: I8609d25a7e2725ad94ab257d720326639eb06778
---

Reused torbrowser-compare-paths.patch, mind it for future updates. :)

 gnu/local.mk                                  |  1 +
 gnu/packages/librewolf.scm                    | 11 +++++-
.../librewolf-use-system-wide-dir.patch | 37 +++++++++++++++++++
 3 files changed, 48 insertions(+), 1 deletion(-)
create mode 100644 gnu/packages/patches/librewolf-use-system-wide-dir.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 2d85c485f6..0faa3a70a9 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1635,6 +1635,7 @@ dist_patch_DATA =                                         
\
   %D%/packages/patches/libgpg-error-hurd64.patch               \
   %D%/packages/patches/libguestfs-syms.patch                   \
   %D%/packages/patches/libobjc2-unbundle-robin-map.patch       \
+  %D%/packages/patches/librewolf-use-system-wide-dir.patch     \
   %D%/packages/patches/libvirt-add-install-prefix.patch        \
   %D%/packages/patches/libziparchive-add-includes.patch                \
   %D%/packages/patches/lightdm-arguments-ordering.patch                \
diff --git a/gnu/packages/librewolf.scm b/gnu/packages/librewolf.scm
index 5d432cfad8..7ea14c9182 100644
--- a/gnu/packages/librewolf.scm
+++ b/gnu/packages/librewolf.scm
@@ -188,7 +188,11 @@ (define* (make-librewolf-source #:key version firefox-hash librewolf-hash)
                (invoke "make" "all")
                (copy-file (string-append "librewolf-" #$version
                                          ".source.tar.gz")
-                          #$output))))))))
+                          #$output)))))
+      (patches
+       (search-patches
+        "torbrowser-compare-paths.patch"
+        "librewolf-use-system-wide-dir.patch")))))

;; Define the versions of rust needed to build librewolf, trying to match
 ;; upstream.  See the file taskcluster/ci/toolchain/rust.yml at
@@ -705,6 +709,11 @@ (define-public librewolf
                          rust-cbindgen-0.26
                          which
                          yasm))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "ICECAT_SYSTEM_DIR")
+            (separator #f)              ;single entry
+            (files '("lib/icecat")))))
     (home-page "https://librewolf.net/";)
     (synopsis
"Custom version of Firefox, focused on privacy, security and freedom") diff --git a/gnu/packages/patches/librewolf-use-system-wide-dir.patch b/gnu/packages/patches/librewolf-use-system-wide-dir.patch
new file mode 100644
index 0000000000..c8a4d8cb12






reply via email to

[Prev in Thread] Current Thread [Next in Thread]