aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarius Bakke <marius@gnu.org>2022-05-26 12:35:46 +0200
committerMarius Bakke <marius@gnu.org>2022-05-26 14:22:18 +0200
commitdcae16e50bbb5b2c30bc4ac17450c6eec53372ed (patch)
tree17e8297921350c3956d3a233697a643ec47cf307
parent5a29cc9adea70d58f45bff974627a4c691df982e (diff)
downloadguix-dcae16e50bbb5b2c30bc4ac17450c6eec53372ed.tar
guix-dcae16e50bbb5b2c30bc4ac17450c6eec53372ed.tar.gz
gnu: ungoogled-chromium: Update to 102.0.5005.61-1.
* gnu/packages/chromium.scm (%preserved-third-party-files): Adjust for M102. (%chromium-version): Set to 102.0.5005.61. (%debian-revision): Set to debian/102.0.5005.61. (%ungoogled-origin): Update hash. (%debian-origin): New variable. (debian-patch): Rewrite to take from %DEBIAN-ORIGIN. (%debian-patches): Add three more patches. (%ungoogled-chromium-unroll-ffmpeg.patch): New variable. (ungoogled-chromium-snippet): Apply the above patch. (ungoogled-chromium)[source]: Update hash. [arguments]: Disable building Dawn tests; remove obsolete configure flag. Disable compiler flags that are not supported by Clang 14.
-rw-r--r--gnu/packages/chromium.scm81
1 files changed, 57 insertions, 24 deletions
diff --git a/gnu/packages/chromium.scm b/gnu/packages/chromium.scm
index f9fbf6b700..4c62acd2b5 100644
--- a/gnu/packages/chromium.scm
+++ b/gnu/packages/chromium.scm
@@ -131,7 +131,7 @@
"third_party/dawn" ;ASL2.0
;; TODO: can likely be unbundled when Vulkan is updated.
"third_party/dawn/third_party/khronos" ;ASL2.0
- "third_party/dawn/third_party/tint" ;ASL2.0
+ "third_party/dawn/third_party/gn/webgpu-cts" ;BSD-3
"third_party/depot_tools/owners.py" ;BSD-3
"third_party/devtools-frontend" ;BSD-3
"third_party/devtools-frontend/src/front_end/third_party/acorn" ;Expat
@@ -175,7 +175,6 @@
"third_party/khronos" ;Expat, SGI
"third_party/leveldatabase" ;BSD-3
"third_party/libavif" ;BSD-2
- "third_party/libXNVCtrl" ;Expat
"third_party/libaddressinput" ;ASL2.0
"third_party/libaom" ;BSD-2 or "Alliance for Open Media Patent License 1.0"
"third_party/libaom/source/libaom/third_party/fastfeat" ;BSD-3
@@ -260,13 +259,13 @@
"third_party/swiftshader/third_party/marl" ;ASL2.0
"third_party/swiftshader/third_party/subzero" ;NCSA
"third_party/swiftshader/third_party/SPIRV-Headers" ;X11-style
+ "third_party/swiftshader/third_party/SPIRV-Tools" ;ASL2.0
"third_party/tensorflow-text" ;ASL2.0
"third_party/tflite" ;ASL2.0
"third_party/tflite/src/third_party/eigen3" ;MPL2.0
"third_party/tflite/src/third_party/fft2d" ;ASL2.0
"third_party/ukey2" ;ASL2.0
"third_party/usb_ids" ;BSD-3
- "third_party/usrsctp" ;BSD-2
"third_party/utf" ;Expat
"third_party/vulkan-deps" ;ASL2.0, BSD-3, Expat
"third_party/vulkan_memory_allocator" ;Expat
@@ -313,9 +312,9 @@
;; run the Blink performance tests, just remove everything to save ~70MiB.
'("third_party/blink/perf_tests"))
-(define %chromium-version "101.0.4951.64")
+(define %chromium-version "102.0.5005.61")
(define %ungoogled-revision (string-append %chromium-version "-1"))
-(define %debian-revision "debian/101.0.4951.41-2")
+(define %debian-revision "debian/102.0.5005.61-1")
(define %ungoogled-origin
(origin
@@ -325,27 +324,48 @@
(file-name (git-file-name "ungoogled-chromium" %ungoogled-revision))
(sha256
(base32
- "0k7w6xvjf1yzyak9ywvcdw762d8zbx6d8haz35q87jz0mxfn2mr3"))))
+ "1hlyi6k894blkkqmqsizx72bag2vj6wlpza0fvi8db5wp6i5b58g"))))
-(define* (debian-patch name hash #:optional (revision %debian-revision))
+(define %debian-origin
(origin
- (method url-fetch)
- (uri (string-append "https://salsa.debian.org/chromium-team/chromium/-/raw/"
- revision "/debian/patches/" name))
- (file-name (match (string-split name #\/)
- ((category name)
- (string-append "ungoogled-chromium-" category "-" name))))
- (sha256 (base32 hash))))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://salsa.debian.org/chromium-team/chromium.git")
+ (commit %debian-revision)))
+ (file-name (git-file-name "debian-chromium-patches"
+ (match (string-split %debian-revision #\/)
+ ((_ version) version))))
+ (sha256
+ (base32
+ "1ln6r1qzlr7dsgvcbssvvc34my4mpkwv9hmvlb2dhjncs7isp65j"))))
+
+(define (debian-patch name)
+ (computed-file
+ (basename name)
+ #~(symlink (string-append #$%debian-origin "/debian/patches/" #$name)
+ #$output)))
(define %debian-patches
- (list (debian-patch "upstream/libxml.patch"
- "0fnmidh3sbmi4khw25rpqpd4i9kj8rb42s40n242h55z30hc36qr")
- (debian-patch "system/jsoncpp.patch"
- "092jkvbkiw474lin62hbkv5vm251qpg0vz3j2qwavqln7qv6mcw1")
- (debian-patch "system/zlib.patch"
- "1iw4k8in5j6a1qxf12qd5z3sjayvnh5sq5z3qqg8m3cp0v4p947r")
- (debian-patch "system/openjpeg.patch"
- "1dq4zffhjahw8yd5w7d0zzvjpdb5dzhyfd4icjflrdb7fyf5ykc2")))
+ (map debian-patch
+ '("upstream/libxml.patch"
+ "upstream/dawn-version-fix.patch"
+ "upstream/blink-ftbfs.patch"
+ "upstream/nested-nested-nested-nested-nested-nested-regex-patterns.patch"
+ "system/jsoncpp.patch"
+ "system/zlib.patch"
+ "system/openjpeg.patch")))
+
+;; Take a patch from Arch that reverts a change which requires an unreleased
+;; version of ffmpeg.
+(define %ungoogled-chromium-unroll-ffmpeg.patch
+ (origin
+ (method url-fetch)
+ (uri "https://raw.githubusercontent.com/archlinux/svntogit-packages\
+/f3225f99b900e11ac900725992ea883142d7309c/trunk/roll-src-third_party-ffmpeg.patch")
+ (file-name "ungoogled-chromium-unroll-ffmpeg.patch")
+ (sha256
+ (base32
+ "0i7crn6fcwq09kd6a4smqnffaldyv61lmv2p0drcnpfrwalmkprh"))))
(define %guix-patches
(list (local-file
@@ -387,6 +407,9 @@
patch "--no-backup-if-mismatch"))
(append '#+%debian-patches '#+%guix-patches))
+ (invoke "patch" "-Rp1" "--force" "--input" "--no-backup-if-mismatch"
+ "--input" #$%ungoogled-chromium-unroll-ffmpeg.patch)
+
(with-directory-excursion #+%ungoogled-origin
(format #t "Ungooglifying...~%")
(force-output)
@@ -454,7 +477,7 @@
%chromium-version ".tar.xz"))
(sha256
(base32
- "1xyqm32y9v1hn8ji6qfw6maynqgg3266j58dq4x4aqsm2gj9cn4w"))
+ "07vbi3gn9g4n04b2qi2hm34r122snrqaifa46yk3pyh1d79rfdqs"))
(modules '((guix build utils)))
(snippet (force ungoogled-chromium-snippet))))
(build-system gnu-build-system)
@@ -500,6 +523,8 @@
"build_with_tflite_lib=false"
;; Avoid dependency on code formatting tools.
"blink_enable_generated_code_formatting=false"
+ ;; Don't bother building Dawn tests.
+ "build_dawn_tests=false"
;; Define a custom toolchain that simply looks up CC, AR and
;; friends from the environment.
@@ -560,7 +585,6 @@
"rtc_build_libvpx=true"
"rtc_build_opus=false"
"rtc_build_libsrtp=true" ;FIXME: fails to find headers
- "rtc_build_usrsctp=true" ;TODO: package this
"rtc_build_ssl=true") ;XXX: requires BoringSSL
#:phases
#~(modify-phases %standard-phases
@@ -702,6 +726,15 @@
(setenv "AR" "llvm-ar") (setenv "NM" "llvm-nm")
(setenv "CC" "clang") (setenv "CXX" "clang++")
+ ;; Disable compiler flags that require Clang 15.
+ (substitute* "build/config/compiler/BUILD.gn"
+ (("\"-no-opaque-pointers\",")
+ "")
+ (("\"-Wno-unqualified-std-cast-call\"")
+ "")
+ (("\"-Wno-deprecated-non-prototype\"")
+ ""))
+
;; TODO: pre-compile instead. Avoids a race condition.
(setenv "PYTHONDONTWRITEBYTECODE" "1")