(name . guix-patches@gnu.org)(address . guix-patches@gnu.org)
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