diff options
-rw-r--r-- | gnu/packages/chromium.scm | 59 |
1 files changed, 31 insertions, 28 deletions
diff --git a/gnu/packages/chromium.scm b/gnu/packages/chromium.scm index 06e259b985..24879dfdcd 100644 --- a/gnu/packages/chromium.scm +++ b/gnu/packages/chromium.scm @@ -37,7 +37,6 @@ #:use-module (gnu packages curl) #:use-module (gnu packages fontutils) #:use-module (gnu packages freedesktop) - #:use-module (gnu packages gcc) #:use-module (gnu packages ghostscript) #:use-module (gnu packages gl) #:use-module (gnu packages glib) @@ -49,6 +48,7 @@ #:use-module (gnu packages libevent) #:use-module (gnu packages libffi) #:use-module (gnu packages linux) + #:use-module (gnu packages llvm) #:use-module (gnu packages kerberos) #:use-module (gnu packages ninja) #:use-module (gnu packages node) @@ -107,10 +107,6 @@ "third_party/blink" ;BSD-3, LGPL2+ "third_party/boringssl" ;OpenSSL/ISC (Google additions are ISC) "third_party/boringssl/src/third_party/fiat" ;Expat - "third_party/boringssl/src/third_party/sike" ;Expat - ;; XXX: these files are generated by fp-$arch.pl in the above directory. - "third_party/boringssl/linux-aarch64/crypto/third_party/sike/asm/fp-armv8.S" - "third_party/boringssl/linux-x86_64/crypto/third_party/sike/asm/fp-x86_64.S" "third_party/breakpad" ;BSD-3 "third_party/brotli" ;Expat "third_party/cacheinvalidation" ;ASL2.0 @@ -118,11 +114,14 @@ "third_party/catapult/common/py_vulcanize/third_party/rcssmin" ;ASL2.0 "third_party/catapult/common/py_vulcanize/third_party/rjsmin" ;ASL2.0 "third_party/catapult/third_party/polymer" ;BSD-3 + ;; XXX: This is a minified version of <https://d3js.org/>. "third_party/catapult/tracing/third_party/d3" ;BSD-3 "third_party/catapult/tracing/third_party/gl-matrix" ;Expat + ;; XXX: Minified version of <https://github.com/Stuk/jszip>. "third_party/catapult/tracing/third_party/jszip" ;Expat or GPL3 "third_party/catapult/tracing/third_party/mannwhitneyu" ;Expat "third_party/catapult/tracing/third_party/oboe" ;BSD-2 + ;; XXX: Minified version of <https://github.com/nodeca/pako>. "third_party/catapult/tracing/third_party/pako" ;Expat "third_party/ced" ;BSD-3 "third_party/cld_3" ;ASL2.0 @@ -135,6 +134,9 @@ "third_party/dav1d" ;BSD-2 "third_party/dawn" ;ASL2.0 "third_party/depot_tools/owners.py" ;BSD-3 + "third_party/devtools-frontend" ;BSD-3 + "third_party/devtools-frontend/src/third_party/axe-core" + "third_party/devtools-frontend/src/third_party/pyjson5" "third_party/dom_distiller_js" ;BSD-3 "third_party/emoji-segmenter" ;ASL2.0 "third_party/flatbuffers" ;ASL2.0 @@ -155,6 +157,7 @@ "third_party/libaom" ;BSD-2 or "Alliance for Open Media Patent License 1.0" "third_party/libaom/source/libaom/third_party/vector" ;Expat "third_party/libaom/source/libaom/third_party/x86inc" ;ISC + "third_party/libgifcodec" ;MPL1.1/GPL2+/LGPL2.1+, BSD-3, BSD-2 "third_party/libjingle_xmpp" ;BSD-3 "third_party/libphonenumber" ;ASL2.0 "third_party/libsecret" ;LGPL2.1+ @@ -182,6 +185,7 @@ "third_party/pdfium/third_party/bigint" ;Public domain, BSD-3 "third_party/pdfium/third_party/skia_shared" ;BSD-3 "third_party/pdfium/third_party/freetype/include/pstables.h" ;FreeType + "third_party/perfetto" "third_party/pffft" ;the "FFTPACK" license, similar to BSD-3 "third_party/ply" ;BSD-3 "third_party/polymer" ;BSD-3 @@ -195,7 +199,6 @@ "third_party/sfntly" ;ASL2.0 "third_party/skia" ;BSD-3 "third_party/skia/include/third_party/skcms" ;BSD-3 - "third_party/skia/third_party/gif" ;MPL1.1/GPL2+/LGPL2.1+ "third_party/skia/third_party/skcms" ;BSD-3 "third_party/skia/third_party/vulkanmemoryallocator" ;BSD-3, Expat "third_party/smhasher" ;Expat, public domain @@ -244,9 +247,9 @@ from forcing GEXP-PROMISE." #:system system #:guile-for-build guile))) -(define %chromium-version "79.0.3945.130") -(define %ungoogled-revision "e2fae994d786b6716fb473a47b0c880bcfdc2497") -(define %debian-revision "debian/79.0.3945.130-2") +(define %chromium-version "80.0.3987.116") +(define %ungoogled-revision "bb952f18c8c80c569583edd8dbb0b54443f49043") +(define %debian-revision "debian/80.0.3987.116-1") (define package-revision "0") (define %package-version (string-append %chromium-version "-" package-revision "." @@ -260,7 +263,7 @@ from forcing GEXP-PROMISE." %chromium-version ".tar.xz")) (sha256 (base32 - "183vz3lf1588cr9s5vlnj65qvbmz36s8cg8k7dvr64cxmcqk86an")))) + "00c9czjyk1h3i40lvmh2rshp1mq7pcxwsfh1qrq22w8ba6ydkib5")))) (define %ungoogled-origin (origin @@ -271,7 +274,7 @@ from forcing GEXP-PROMISE." (string-take %ungoogled-revision 7))) (sha256 (base32 - "15vmc07iba1zmzn4j7c5n2hyvyxzwwf9hc3kyym0m4jajlsyxr5f")))) + "0lvj3mjwnxvd3kjl2ikl5f0ddrwnp2xsycfx296nwnrimx0frcmg")))) (define %debian-origin (origin @@ -285,7 +288,7 @@ from forcing GEXP-PROMISE." (_ (string-take %debian-revision 7))))) (sha256 (base32 - "1rbzxcwfp7v0c6rkvn9jl9by7p363cnbdyqazwiak1z03kmw3nkz")))) + "1cc5sp566dd8f2grgr770xwbxgxf58dk1w7q3s8pmv4js5h3pwq8")))) ;; This is a "computed" origin that does the following: ;; *) Runs the Ungoogled scripts on a pristine Chromium tarball. @@ -345,7 +348,7 @@ from forcing GEXP-PROMISE." (with-directory-excursion chromium-dir - (format #t "applying Debian patches...~%") + (format #t "Applying Debian patches...~%") (force-output) (let* ((debian #+debian-source) (patches (string-append debian "/debian/patches")) @@ -459,8 +462,10 @@ from forcing GEXP-PROMISE." ;; directory for an exhaustive list of supported flags. ;; (Note: The 'configure' phase will do that for you.) (list "is_debug=false" + "is_cfi=false" "use_gold=false" "use_lld=false" + "clang_use_chrome_plugins=false" "linux_use_bundled_binutils=false" "use_custom_libcxx=false" "use_sysroot=false" @@ -490,18 +495,6 @@ from forcing GEXP-PROMISE." ;; friends from the environment. "custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" "host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - ;; Don't assume it's clang. - "is_clang=false" - ;; Disable debugging features to save space. These are normally - ;; pulled in by "is_official_build", but that requires "is_clang". - "enable_iterator_debugging=false" - "exclude_unwind_tables=true" - ;; Optimize for building everything at once, as opposed to - ;; incrementally for development. See "docs/jumbo.md". - "use_jumbo_build=true" - ;; The default file merge limit of 50 requires huge amounts of RAM. - ;; Cap it to make sure the build succeeds on commodity hardware. - "jumbo_file_merge_limit=8" ;; Prefer system libraries. "use_system_freetype=true" @@ -597,6 +590,10 @@ from forcing GEXP-PROMISE." (substitute* "third_party/webrtc/rtc_base/strings/json.h" (("#include \"third_party/jsoncpp/") "#include \"json/")) + (substitute* "gpu/config/gpu_util.cc" + (("third_party/vulkan/include/") + "")) + (substitute* '("components/viz/common/gpu/vulkan_context_provider.h" "components/viz/common/resources/resource_format_utils.h") (("third_party/vulkan/include/") "")) @@ -649,14 +646,19 @@ from forcing GEXP-PROMISE." ;; Make sure the right build tools are used. (setenv "AR" "ar") (setenv "NM" "nm") - (setenv "CC" "gcc") (setenv "CXX" "g++") + (setenv "CC" "clang") (setenv "CXX" "clang++") - ;; Prevent GCC from optimizing away null pointer safety checks. + ;; Do not optimize away null pointer safety checks. (setenv "CXXFLAGS" "-fno-delete-null-pointer-checks") ;; TODO: pre-compile instead. Avoids a race condition. (setenv "PYTHONDONTWRITEBYTECODE" "1") + (substitute* + ;; From Debians 'system/node.patch'. + "third_party/devtools-frontend/src/scripts/devtools_paths.py" + (("/usr/bin/nodejs") (which "node"))) + ;; XXX: How portable is this. (mkdir-p "third_party/node/linux/node-linux-x64") (symlink (string-append (assoc-ref inputs "node") "/bin") @@ -761,9 +763,10 @@ from forcing GEXP-PROMISE." #t)))))) (native-inputs `(("bison" ,bison) - ("gcc" ,gcc-8) + ("clang" ,clang-9) ("gn" ,gn) ("gperf" ,gperf) + ("ld-wrapper" ,ld-wrapper-next) ("ninja" ,ninja) ("node" ,node) ("pkg-config" ,pkg-config) |