diff options
-rw-r--r-- | gnu/packages/browser-extensions.scm | 111 |
1 files changed, 72 insertions, 39 deletions
diff --git a/gnu/packages/browser-extensions.scm b/gnu/packages/browser-extensions.scm index 10af5b9543..3f6da8d77a 100644 --- a/gnu/packages/browser-extensions.scm +++ b/gnu/packages/browser-extensions.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2020, 2021 Marius Bakke <marius@gnu.org> +;;; Copyright © 2023 Nicolas Graves <ngraves@ngraves.fr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -17,6 +18,7 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (gnu packages browser-extensions) + #:use-module (guix gexp) #:use-module (guix packages) #:use-module (guix git-download) #:use-module (guix build-system copy) @@ -48,57 +50,88 @@ supported content to the Kodi media center.") (define-public play-to-kodi/chromium (make-chromium-extension play-to-kodi)) +(define ublock-main-assets + ;; Arbitrary commit of branch master, + ;; Update when updating uBlockOrigin. + (let* ((name "ublock-main-assets") + (commit "c8783488f377723165e3661062bd124ae6d57165") + (revision "0") + (version (git-version "0" revision commit))) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/uBlockOrigin/uAssets") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1b6a1m6s060r49vg563f32rsy057af6i4jcyprym4sdci3z90nls"))))) + +(define ublock-prod-assets + ;; Arbitrary commit of branch gh-pages, + ;; Update when updating uBlockOrigin. + (let* ((name "ublock-prod-assets") + (commit "fbcfe9229ab6b865ef349c01a4eac73943be8418") + (revision "0") + (version (git-version "0" revision commit))) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/uBlockOrigin/uAssets") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0s5rvaz8lc9lk44yfc8463vah8yppy1ybmag0dpd4m1hyj6165h0"))))) + (define ublock-origin (package (name "ublock-origin") - (version "1.45.2") + (version "1.51.0") (home-page "https://github.com/gorhill/uBlock") (source (origin (method git-fetch) - (uri (git-reference (url home-page) (commit version) - ;; Also fetch the tightly coupled - ;; "uAssets" submodule. - (recursive? #t))) + (uri (git-reference + (url home-page) + (commit version))) (file-name (git-file-name name version)) (sha256 (base32 - "0dz1rcphm8cbc2qdd41ahbsqskmqcf2ja6zx0vq0dswnakpc3lyd")))) + "1i8rnij3sbwg6vj6znprrsca0n5xjzhmhppaa8v6jyxg6wrrfch1")))) (build-system gnu-build-system) (outputs '("xpi" "firefox" "chromium")) (arguments - '(#:tests? #f ;no tests - #:allowed-references () - #:phases - (modify-phases (map (lambda (phase) - (assq phase %standard-phases)) - '(set-paths unpack patch-source-shebangs)) - (add-after 'unpack 'do-not-depend-on-git - (lambda _ - ;; The script attempts to checkout the uAssets submodule, - ;; but we already did so with git-fetch. - (substitute* "tools/make-assets.sh" - (("^git submodule update.*") - "")))) - (add-after 'unpack 'make-files-writable - (lambda _ - ;; The build system copies some files and later tries - ;; modifying them. - (for-each make-file-writable (find-files ".")))) - (add-after 'patch-source-shebangs 'build-xpi - (lambda _ - (invoke "./tools/make-firefox.sh" "all"))) - (add-after 'build-xpi 'build-chromium - (lambda _ - (invoke "./tools/make-chromium.sh"))) - (add-after 'build-chromium 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((firefox (assoc-ref outputs "firefox")) - (xpi (assoc-ref outputs "xpi")) - (chromium (assoc-ref outputs "chromium"))) - (install-file "dist/build/uBlock0.firefox.xpi" - (string-append xpi "/lib/mozilla/extensions")) - (copy-recursively "dist/build/uBlock0.firefox" firefox) - (copy-recursively "dist/build/uBlock0.chromium" chromium))))))) + (list + #:tests? #f ;no tests + #:allowed-references '() + #:phases + #~(modify-phases (map (lambda (phase) + (assq phase %standard-phases)) + '(set-paths unpack patch-source-shebangs)) + (add-after 'unpack 'do-not-depend-on-git + (lambda _ + (mkdir-p "dist/build/uAssets/main") + (copy-recursively #$ublock-main-assets "dist/build/uAssets/main") + (mkdir-p "dist/build/uAssets/prod") + (copy-recursively #$ublock-prod-assets "dist/build/uAssets/prod"))) + (add-after 'unpack 'make-files-writable + (lambda _ + ;; The build system copies some files and later tries + ;; modifying them. + (for-each make-file-writable (find-files ".")))) + (add-after 'patch-source-shebangs 'build-xpi + (lambda _ + (invoke "./tools/make-firefox.sh" "all"))) + (add-after 'build-xpi 'build-chromium + (lambda _ + (invoke "./tools/make-chromium.sh"))) + (add-after 'build-chromium 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((firefox (assoc-ref outputs "firefox")) + (xpi (assoc-ref outputs "xpi")) + (chromium (assoc-ref outputs "chromium"))) + (install-file "dist/build/uBlock0.firefox.xpi" + (string-append xpi "/lib/mozilla/extensions")) + (copy-recursively "dist/build/uBlock0.firefox" firefox) + (copy-recursively "dist/build/uBlock0.chromium" chromium))))))) (native-inputs (list python-wrapper zip)) (synopsis "Block unwanted content from web sites") |