[PATCH] gnu: Add canvasblocker/icecat.

  • Done
  • quality assurance status badge
Details
2 participants
  • Ludovic Courtès
  • Nicolas Graves
Owner
unassigned
Submitted by
Nicolas Graves
Severity
normal

Debbugs page

N
N
Nicolas Graves wrote on 19 Feb 11:26 -0800
(address . guix-patches@gnu.org)
87ecztrb0k.fsf@ngraves.fr
* gnu/packages/browser-extensions.scm (canvasblocker/icecat): New variable.
---
gnu/packages/browser-extensions.scm | 49 +++++++++++++++++++++++++++++
1 file changed, 49 insertions(+)

Toggle diff (68 lines)
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@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
L
L
Ludovic Courtès wrote on 10 Mar 06:41 -0700
(name . Nicolas Graves)(address . ngraves@ngraves.fr)(address . 76420@debbugs.gnu.org)
87y0xdq9y3.fsf@gnu.org
Nicolas Graves <ngraves@ngraves.fr> skribis:

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

[...]

Toggle quote (13 lines)
> + (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’.
N
N
ngraves wrote on 19 Feb 11:26 -0800
[PATCH v2] gnu: Add canvasblocker/icecat.
(address . 76420@debbugs.gnu.org)
87zfhm8f4c.fsf@ngraves.fr
* gnu/packages/browser-extensions.scm (canvasblocker/icecat): New variable.
---
gnu/packages/browser-extensions.scm | 49 +++++++++++++++++++++++++++++
1 file changed, 49 insertions(+)

Toggle diff (68 lines)
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@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
N
N
Nicolas Graves wrote on 7 Sep 01:43 -0700
control message for bug #76420
(address . control@debbugs.gnu.org)
679a8186e3487e6c713df14e7472aa08@ngraves.fr
close 76420
quit
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 76420@patchwise.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 76420
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