[PATCH] Adding Privacy Badger

  • Open
  • quality assurance status badge
Details
2 participants
  • outlook user
  • Clément Lassieur
Owner
unassigned
Submitted by
outlook user
Severity
normal
O
O
outlook user wrote on 18 Dec 2023 13:32
(name . guix-patches@gnu.org)(address . guix-patches@gnu.org)
AS8P251MB0854C4E2EF0E1B60A36FB6B69790A@AS8P251MB0854.EURP251.PROD.OUTLOOK.COM
From a5164360d62cbf67dc9c60ebae23f6f1ccbd1e52 Mon Sep 17 00:00:00 2001
From: nobody <no@body.org>
Date: Mon, 18 Dec 2023 13:14:19 +0100
Subject: [PATCH] Adding Privacy Badger

---
 browser-extensions.scm | 69 +++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 68 insertions(+), 1 deletion(-)

Toggle diff (79 lines)
diff --git a/browser-extensions.scm b/browser-extensions.scm
index 5a6ee7c..9783ed3 100644
--- a/browser-extensions.scm
+++ b/browser-extensions.scm
@@ -220,4 +220,71 @@ fill and submit login forms if a matching password entry is found.")
     (license license:gpl2+)))
 
 (define-public passff/icecat
-  (make-icecat-extension passff))
\ No newline at end of file
+  (make-icecat-extension passff))
+
+(define-public privacy-badger/chromium
+  (let* ((name "privacy-badger")
+         (version "PUT_THE_CURRENT_VERSION_HERE")
+         (output "out")
+         (url-chromium "https://www.eff.org/files/privacy_badger-chrome.crx"))
+    (package
+      (name name)
+      (version version)
+      (source (origin
+                (method url-fetch)
+                (uri url-chromium)
+                (sha256
+                 (base32
+                  "PUT_THE_SHA256_HASH_HERE"))))
+      (build-system trivial-build-system)
+      (arguments '(#:modules ((guix build utils))
+                     #:builder
+                     (begin
+                       (use-modules (guix build utils))
+                       (let* ((output (assoc-ref %outputs "out"))
+                              (share (string-append output "/share/chrome/extensions/xxxxxx")) ; replace "xxxxxx" with the actual extension ID
+                              (source (assoc-ref %build-inputs "source")))
+                         (mkdir-p share)
+                         (copy-file source (string-append share "/privacy_badger.crx"))))))
+      (home-page "https://privacybadger.org/")
+      (synopsis "Privacy tool from the Electronic Frontier Foundation")
+      (description "Privacy Badger is a browser add-on that stops advertisers and other third-party trackers
+                  from secretly tracking where you go and what pages you look at on the web. ")
+      (license license:gpl3+))))
+
+(define-public privacy-badger/icecat
+  (let* ((name "privacy-badger")
+         (version "PUT_THE_CURRENT_VERSION_HERE")
+         (url-icecat "https://www.eff.org/files/privacy-badger-latest.xpi"))
+    (package
+      (name name)
+      (version version)
+      (source (origin
+                (method url-fetch)
+                (uri url-icecat)
+                (sha256
+                 (base32
+                  "PUT_THE_SHA256_HASH_HERE"))))
+      (build-system trivial-build-system)
+      (arguments `(;; Standard arguments.
+                   #:modules ((guix build utils))
+                   #:builder
+                   (begin
+                     ;; Return the extension's ID based on its manifest file.
+                     (use-modules (guix build utils) (ice-9 json))
+                     (let* ((output (assoc-ref %outputs "out"))
+                            (profile (string-append output "/share/icecat/extensions"))
+                            (source (assoc-ref %build-inputs "source"))
+                            (manifest (call-with-input-file (string-append source "/manifest.json")
+                                            json->scm))
+                            (id (alist-ref 'applications (alist-ref 'browser_specific_settings manifest))))
+    
+                       ;; Copy the source to the output directory under the appropriate
+                       ;; extension ID.
+                       (mkdir-p profile)
+                       (copy-recursively source (string-append profile "/" id))))))))
+      (home-page "https://privacybadger.org/")
+      (synopsis "Privacy tool from the Electronic Frontier Foundation")
+      (description "Privacy Badger is a browser add-on that stops advertisers and other third-party trackers
+                  from secretly tracking where you go and what pages you look at on the web. ")
+      (license license:gpl3+))))
\ No newline at end of file
--
2.41.0
C
C
Clément Lassieur wrote on 13 Jan 11:52 +0100
(name . outlook user)(address . RACP@outlook.fr)(address . 67878@debbugs.gnu.org)
878r4tijyd.fsf@lassieur.org
Hi,
Thanks for this patch!
On Mon, Dec 18 2023, outlook user wrote:
Toggle quote (3 lines)
> +(define-public privacy-badger/chromium
> +  (let* ((name "privacy-badger")
> +         (version "PUT_THE_CURRENT_VERSION_HERE")
Could you write a package with the last version, and test this version?
Toggle quote (18 lines)
> +         (output "out")
> +         (url-chromium "https://www.eff.org/files/privacy_badger-chrome.crx"))
> +    (package
> +      (name name)
> +      (version version)
> +      (source (origin
> +                (method url-fetch)
> +                (uri url-chromium)
> +                (sha256
> +                 (base32
> +                  "PUT_THE_SHA256_HASH_HERE"))))
> +      (build-system trivial-build-system)
> +      (arguments '(#:modules ((guix build utils))
> +                     #:builder
> +                     (begin
> +                       (use-modules (guix build utils))
> +                       (let* ((output (assoc-ref %outputs "out"))
> +                              (share (string-append output "/share/chrome/extensions/xxxxxx")) ; replace "xxxxxx" with the actual extension ID
Why don't you write the extension id?
Toggle quote (35 lines)
> +                              (source (assoc-ref %build-inputs "source")))
> +                         (mkdir-p share)
> +                         (copy-file source (string-append share "/privacy_badger.crx"))))))
> +      (home-page "https://privacybadger.org/")
> +      (synopsis "Privacy tool from the Electronic Frontier Foundation")
> +      (description "Privacy Badger is a browser add-on that stops advertisers and other third-party trackers
> +                  from secretly tracking where you go and what pages you look at on the web. ")
> +      (license license:gpl3+))))
> +
> +(define-public privacy-badger/icecat
> +  (let* ((name "privacy-badger")
> +         (version "PUT_THE_CURRENT_VERSION_HERE")
> +         (url-icecat "https://www.eff.org/files/privacy-badger-latest.xpi"))
> +    (package
> +      (name name)
> +      (version version)
> +      (source (origin
> +                (method url-fetch)
> +                (uri url-icecat)
> +                (sha256
> +                 (base32
> +                  "PUT_THE_SHA256_HASH_HERE"))))
> +      (build-system trivial-build-system)
> +      (arguments `(;; Standard arguments.
> +                   #:modules ((guix build utils))
> +                   #:builder
> +                   (begin
> +                     ;; Return the extension's ID based on its manifest file.
> +                     (use-modules (guix build utils) (ice-9 json))
> +                     (let* ((output (assoc-ref %outputs "out"))
> +                            (profile (string-append output "/share/icecat/extensions"))
> +                            (source (assoc-ref %build-inputs "source"))
> +                            (manifest (call-with-input-file (string-append source "/manifest.json")
> +                                            json->scm))
> +                            (id (alist-ref 'applications (alist-ref 'browser_specific_settings manifest))))
This part might be useful in icecat-extension.scm, but for now, here,
it's best to just write the id.
Toggle quote (13 lines)
> +    
> +                       ;; Copy the source to the output directory under the appropriate
> +                       ;; extension ID.
> +                       (mkdir-p profile)
> +                       (copy-recursively source (string-append profile "/" id))))))))
> +      (home-page "https://privacybadger.org/")
> +      (synopsis "Privacy tool from the Electronic Frontier Foundation")
> +      (description "Privacy Badger is a browser add-on that stops advertisers and other third-party trackers
> +                  from secretly tracking where you go and what pages you look at on the web. ")
> +      (license license:gpl3+))))
> \ No newline at end of file
> --
> 2.41.0
Can you write an updated patch? And could you please send it in a way
that makes it easy for us to apply? Like with git send-email or as an
attachment.
Thanks,
Clément
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 67878@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 67878
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch