Subject: [bug#65597] [PATCH] gnu: ublock-origin: Update to 1.51.0.

From: Nicolas Graves <[email-masked]>
Date: Tue, 29 Aug 2023 18:59:01 +0200

* gnu/packages/browser-extensions.scm
(ublock-main-assets): Add origin.
(ublock-prod-assets): Add origin.
(ublock-origin): Update to 1.51.0.
[source]: Dropped (recursive? #t).
[arguments]: Rewrite phase do-not-depend-on-git. Use gexp.
---
 gnu/packages/browser-extensions.scm | 111 ++++++++++++++++++----------
 1 file 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 <[email-masked]>
+;;; Copyright © 2023 Nicolas Graves <[email-masked]>
 ;;;
 ;;; 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 @@ (define play-to-kodi
 (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")

base-commit: cf6abf50dbbbd95fef465ab4bb3b608843ac47e1
prerequisite-patch-id: cccdad83975cbf04d7bd618c2c1a4b4de6fa7fd2
prerequisite-patch-id: 6f28833d2efa054d55126980f87ba4d2fdd13c6d
prerequisite-patch-id: afc6cadece838372370f7093f863ce8eaae7bc55
prerequisite-patch-id: b9330c12700355319c104aa3b493eafe03cbb619
prerequisite-patch-id: 46fa9c5a48fcc5b13409049b14b6e7314a6d6956
prerequisite-patch-id: 846f8b50b8de749caaa459b874087d06e15e0a80
prerequisite-patch-id: 023101e5a315951ce9786fb8230955c97001dac9
prerequisite-patch-id: d4b0193f128d8236026e079e746ea0cf6c4c0af0
prerequisite-patch-id: d73442d6d7c88e7375e9de0a9cd655cacb7766f9
prerequisite-patch-id: d8a56dd7bc6c1c3ba3ac0f77b2402b9c6469cfb2
prerequisite-patch-id: 3bc2b2eecd799be8d8b0f96b850ef83a6306dab7
prerequisite-patch-id: 798d4a277eff03a59339af4ebe19406682f361ab
prerequisite-patch-id: 3f65e9cdab64edeacfeb5748cd4fb130839b2b30
prerequisite-patch-id: 6f8225b63a1dd1866b05bb91544e49d7c096601c
prerequisite-patch-id: ff71ec9bdf6337390a720db4535268af271e32df
prerequisite-patch-id: c6b40cc38f5bdfab229ac3d7ed4346c5d9f1b2f7
prerequisite-patch-id: 9ab6dade9e641d5e667ba6a61dbfbb3d32c943a6
prerequisite-patch-id: 4fcae29a8f6dd95716669680141da315acaf6e59
prerequisite-patch-id: 0a5a6da0061188dc9be59bc9829db53288307c58
prerequisite-patch-id: 83c4b7d9d831990e4d37ba89c584d773c872ba6b
prerequisite-patch-id: 1c8dddf99041cf399b8836e3ad6721d7bbcebb7c
prerequisite-patch-id: 773df13cc85606b205d1d914e59525b7a6820a1d
prerequisite-patch-id: 6f8974ce8c0a3a25721a41781f9b0dfd61e96cf4
prerequisite-patch-id: d219948d28923c5ccd34b63f988032df33f2f336
prerequisite-patch-id: 0bd75bb28df9ccf3405caf8217d708afc978047d
prerequisite-patch-id: 26476dd782cf8f5e427d4bd36ac85957538a0aa3
prerequisite-patch-id: b5f87c460fd984c41fbb52e7e0dc305c20c46f22
prerequisite-patch-id: 5502b9c6a64abaca6a9921f25cd324869d26aa1e
prerequisite-patch-id: a7e84bb368349566e9a6fdbe49a371fdb464bb1e
prerequisite-patch-id: a84a766ceef6bedd5da3f9512c87a2c2a11ff33f
prerequisite-patch-id: 0175b2b1cbbc15c1c775147821715bca9e3303a3
prerequisite-patch-id: 9c20b408ac8aa275ecba58383d83be5cef7647df
prerequisite-patch-id: 836749cd3bd3b86f64de637c3c2df48a3608f09f
prerequisite-patch-id: 28ea1ddbef32a1bc9e908f3f9c7466953c60f13d
prerequisite-patch-id: 52a78e387e36e6408d7147950195d552e4e41528
prerequisite-patch-id: 87fee01a70d4b8cbfca44cc0a9c9f54471a92d18
prerequisite-patch-id: 8c8cdb345e815fc3332805ca224103f185d4a568
prerequisite-patch-id: 3434c5caf1eba9e9a64c673681e5911d2c1d9232
prerequisite-patch-id: c45bf303726fb3dacee01a66c0ff75105a81164d
prerequisite-patch-id: d44a1adb0404f23522aac21fa8a7f26be7ddabdc
prerequisite-patch-id: e422fe29bbcef80260b190637faa1a4953c3f1cb
prerequisite-patch-id: 285479a1a1e46e6f0f8aba5429edfa400c81b32b
prerequisite-patch-id: 30fcff6f8c9328c71d3fca609cddde0b56973bb7
prerequisite-patch-id: 70bb47ccac3375de893e4e640ce7c59369a05a39
prerequisite-patch-id: cc3d79386ca4a93146dc195cd5732764f1ac447f
prerequisite-patch-id: 2686866ec4bf08c7faa05b17cb84d9e0c13ec12c
prerequisite-patch-id: 369b61e07e3c90151a5414b784513b9ae3d3e978
prerequisite-patch-id: 065651c3a8cee63b725d7f86c080c274b494627e
prerequisite-patch-id: 1ee71844f0c9a0112a456e5b76079239906a7fb8
prerequisite-patch-id: c7b3d9c5bff04c16576781eff50ce37f7c49131c
prerequisite-patch-id: c8b8fe8dc51fea0b8a2626cf7031f01b6000e023
prerequisite-patch-id: 182e25335d4c357001f4f8bed2b3f89b91d9cae5
prerequisite-patch-id: c0ea00d5f4c6a83642a92c9341f0288fbfe3095a
prerequisite-patch-id: 795d31cc33a24a6a57e67af31b65acd8faa8187c
prerequisite-patch-id: 358af8aa7fa71b5cb8fbe6dde29d141bb7c57f1e
prerequisite-patch-id: b9ab3ee98a9d4ca518a4d99042982d64fbce5d05
prerequisite-patch-id: eb618ab7b10483d917c308a38792af98baa517e2
prerequisite-patch-id: c6bbe6026bfcd2c9ff6e06efc5b8424a6943d1bf
prerequisite-patch-id: 5f664cb2fd995a53765c5ffc19a708ac795cc0c4
prerequisite-patch-id: 8e234d0f4d93d2aad499eec8842be3d28da98707
prerequisite-patch-id: 40b6c9f09f27833367a71ec25d77afae4d2a835e
prerequisite-patch-id: 45e65ea00ece53f3496251401acd464081f8ca7a
prerequisite-patch-id: c3bc83367aa2aab9f121fe3bdbbd9e48dee860ea
prerequisite-patch-id: c12968d02d99c253f858586a86b16fa32d41f1c1
prerequisite-patch-id: 09d995d48139f8e61183d5634cda13a01cdb50f7
prerequisite-patch-id: 86baa45ec2aad977c8c8135f7613aa391155de6d
prerequisite-patch-id: 3425fbbff6a603d60b4e143ea2141aabf4ddc92c
prerequisite-patch-id: c373c01aab5dcba3503a97d51c62a595147a041c
-- 
2.41.0