[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
?