GNU bug report logs - #76420
[PATCH] gnu: Add canvasblocker/icecat.

Previous Next

Package: guix-patches;

Reported by: Nicolas Graves <ngraves <at> ngraves.fr>

Date: Wed, 19 Feb 2025 19:28:02 UTC

Severity: normal

Tags: patch

To reply to this bug, email your comments to 76420 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#76420; Package guix-patches. (Wed, 19 Feb 2025 19:28:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Nicolas Graves <ngraves <at> ngraves.fr>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Wed, 19 Feb 2025 19:28:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: guix-patches <at> gnu.org
Subject: [PATCH] gnu: Add canvasblocker/icecat.
Date: Wed, 19 Feb 2025 20:26:06 +0100
* gnu/packages/browser-extensions.scm (canvasblocker/icecat): New variable.
---
 gnu/packages/browser-extensions.scm | 49 +++++++++++++++++++++++++++++
 1 file changed, 49 insertions(+)

diff --git a/gnu/packages/browser-extensions.scm b/gnu/packages/browser-extensions.scm
index 01ef0b49be..b9f291332f 100644
--- a/gnu/packages/browser-extensions.scm
+++ b/gnu/packages/browser-extensions.scm
@@ -61,6 +61,55 @@ (define adaptive-tab-bar-colour
 (define-public adaptive-tab-bar-colour/icecat
   (make-icecat-extension adaptive-tab-bar-colour))
 
+(define canvasblocker
+  (package
+    (name "canvasblocker")
+    (version "1.11")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/kkapsner/CanvasBlocker")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "16mhvk7swbkmb24smkv1c147brb0mm2nfaxqw2dq43sl7ncasf32"))
+       (modules '((guix build utils)
+                  (ice-9 match)
+                  (ice-9 ftw)
+                  (srfi srfi-1)
+                  (srfi srfi-26)))
+       (snippet
+        #~(for-each
+           (match-lambda
+             ((? file-is-directory? dir)
+              (delete-file-recursively dir))
+             (file
+              (delete-file file)))
+           (remove (cut member <> '("." ".tools" ".."))
+                   (append
+                    ;; Hidden files and directories
+                    (filter (cut string-prefix? "." <>) (scandir "."))
+                    '("canvasblocker.xpi" "package-lock.json")))))))
+    (build-system copy-build-system)
+    (properties '((addon-id . "CanvasBlocker <at> kkapsner.de")))
+    (arguments
+     (list
+      #:install-plan  ;deduced from .tools/build.js
+      #~'(("." #$(assq-ref properties 'addon-id)
+           #:exclude ("crowdin.yml" "package.json" "releaseNotes.txt")
+           #:exclude-regexp ("test/.*" "versions/.*" ".tools/*")))))
+    (home-page "https://github.com/kkapsner/CanvasBlocker")
+    (synopsis "Firefox extension to protect from being figerprinted")
+    (description "This extension allows users to prevent websites from using
+some Javascript APIs to fingerprint them.  Users can choose to block the APIs
+entirely on some or all websites (which may break some websites) or just block
+or fake its fingerprinting-friendly readout API.")
+    (license license:mpl2.0)))
+
+(define-public canvasblocker/icecat
+  (make-icecat-extension canvasblocker))
+
 (define play-to-kodi
   (package
     (name "play-to-kodi")
-- 
2.48.1



-- 
Best regards,
Nicolas Graves




Information forwarded to guix-patches <at> gnu.org:
bug#76420; Package guix-patches. (Mon, 10 Mar 2025 13:43:01 GMT) Full text and rfc822 format available.

Message #8 received at 76420 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Nicolas Graves <ngraves <at> ngraves.fr>
Cc: 76420 <at> debbugs.gnu.org
Subject: Re: [bug#76420] [PATCH] gnu: Add canvasblocker/icecat.
Date: Mon, 10 Mar 2025 14:41:56 +0100
Nicolas Graves <ngraves <at> ngraves.fr> skribis:

> * gnu/packages/browser-extensions.scm (canvasblocker/icecat): New variable.

[...]

> +       (snippet
> +        #~(for-each
> +           (match-lambda
> +             ((? file-is-directory? dir)
> +              (delete-file-recursively dir))
> +             (file
> +              (delete-file file)))
> +           (remove (cut member <> '("." ".tools" ".."))
> +                   (append
> +                    ;; Hidden files and directories
> +                    (filter (cut string-prefix? "." <>) (scandir "."))
> +                    '("canvasblocker.xpi" "package-lock.json")))))))

filter + remove + match: sounds like we could make it less verbose.

Maybe with:

  (for-each (match-lambda
              ((or "." ".." ".tools") #t)
              ( …)
            (scandir "."))

?

Apart from that it LGTM!

Ludo’.




Information forwarded to guix-patches <at> gnu.org:
bug#76420; Package guix-patches. (Sat, 15 Mar 2025 15:54:02 GMT) Full text and rfc822 format available.

Message #11 received at 76420 <at> debbugs.gnu.org (full text, mbox):

From: ngraves <at> ngraves.fr
To: 76420 <at> debbugs.gnu.org
Subject: [PATCH v2] gnu: Add canvasblocker/icecat.
Date: Wed, 19 Feb 2025 20:26:06 +0100
* gnu/packages/browser-extensions.scm (canvasblocker/icecat): New variable.
---
 gnu/packages/browser-extensions.scm | 49 +++++++++++++++++++++++++++++
 1 file changed, 49 insertions(+)

diff --git a/gnu/packages/browser-extensions.scm b/gnu/packages/browser-extensions.scm
index 01ef0b49be..9596194e36 100644
--- a/gnu/packages/browser-extensions.scm
+++ b/gnu/packages/browser-extensions.scm
@@ -61,6 +61,55 @@ (define adaptive-tab-bar-colour
 (define-public adaptive-tab-bar-colour/icecat
   (make-icecat-extension adaptive-tab-bar-colour))
 
+(define canvasblocker
+  (package
+    (name "canvasblocker")
+    (version "1.11")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/kkapsner/CanvasBlocker")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "16mhvk7swbkmb24smkv1c147brb0mm2nfaxqw2dq43sl7ncasf32"))
+       (modules '((guix build utils) (ice-9 match) (ice-9 ftw)))
+       (snippet
+        #~(begin
+            (for-each delete-file
+                      '("canvasblocker.xpi" "package-lock.json"))
+            ;; Delete all hidden files/directories except .tools.
+            (for-each
+             (match-lambda
+               ((or "." ".tools" ".."
+                    (? (lambda (name)
+                         (not (string-prefix? "." name)))))
+                #t)
+               ((? file-is-directory? dir)
+                (delete-file-recursively dir))
+               (file
+                (delete-file file)))
+             (scandir "."))))))
+    (build-system copy-build-system)
+    (properties '((addon-id . "CanvasBlocker <at> kkapsner.de")))
+    (arguments
+     (list
+      #:install-plan  ;deduced from .tools/build.js
+      #~'(("." #$(assq-ref properties 'addon-id)
+           #:exclude ("crowdin.yml" "package.json" "releaseNotes.txt")
+           #:exclude-regexp ("test/.*" "versions/.*" ".tools/*")))))
+    (home-page "https://github.com/kkapsner/CanvasBlocker")
+    (synopsis "Firefox extension to protect from being figerprinted")
+    (description "This extension allows users to prevent websites from using
+some Javascript APIs to fingerprint them.  Users can choose to block the APIs
+entirely on some or all websites (which may break some websites) or just block
+or fake its fingerprinting-friendly readout API.")
+    (license license:mpl2.0)))
+
+(define-public canvasblocker/icecat
+  (make-icecat-extension canvasblocker))
+
 (define play-to-kodi
   (package
     (name "play-to-kodi")
-- 
2.48.1



-- 
Best regards,
Nicolas Graves




This bug report was last modified 91 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.