mirror of
https://git.savannah.gnu.org/git/guix.git
synced 2026-04-06 21:20:33 +02:00
gnu: ungoogled-chromium: Fix build with Rust 1.93.
* gnu/packages/chromium.scm (%debian-patches): Remove adler2. (lld-as-ld-wrapper-19): Delete variable. (lld-as-ld-wrapper-21): New variable. (ungoogled-chromium)[arguments]<#:configure-flags>: Use clang-21. Update GN output declarations for Rust 1.93. [native-inputs]: Remove clang-19, replace by clang-21. Remove clang-runtime-19, replace by clang-runtime-21. Remove clang-toolchain-19, replace by clang-toolchain-21. Remove lld-as-ld-wrapper-19, replace by lld-as-ld-wrapper-21. Change-Id: If4d780db79fccd6fb6d2213141b3819f75f5585c
This commit is contained in:
@@ -417,8 +417,6 @@
|
||||
"fixes/libcpp-headers.patch"
|
||||
"fixes/rust-clanglib.patch"
|
||||
"system/openjpeg.patch"
|
||||
;; adler2 is not part of our rust toolchain, check on next version.
|
||||
"trixie/adler1.patch"
|
||||
;; Remove after rust is past
|
||||
;; <https://github.com/rust-lang/rust/pull/141061>.
|
||||
"trixie/rust-no-alloc-shim.patch")))
|
||||
@@ -518,8 +516,8 @@
|
||||
`(cons "--enable-custom-modes"
|
||||
,flags))))))
|
||||
|
||||
(define lld-as-ld-wrapper-19
|
||||
(make-lld-wrapper lld-19 #:lld-as-ld? #t))
|
||||
(define lld-as-ld-wrapper-21
|
||||
(make-lld-wrapper lld-21 #:lld-as-ld? #t))
|
||||
|
||||
(define-public ungoogled-chromium
|
||||
(package
|
||||
@@ -612,7 +610,7 @@
|
||||
"\"")
|
||||
|
||||
(string-append "clang_version="
|
||||
#$(version-major (package-version clang-19)))
|
||||
#$(version-major (package-version clang-21)))
|
||||
|
||||
(string-append "rust_sysroot_absolute=\""
|
||||
(dirname (dirname (search-input-file %build-inputs
|
||||
@@ -630,6 +628,22 @@
|
||||
;; invokation and fails if it's just the version number.
|
||||
" (f6e511eec 2024-10-15) (built from a source tarball)\"")
|
||||
|
||||
;; Chromium's build/rust/std/BUILD.gn has a hardcoded
|
||||
;; list of stdlib rlibs (stdlib_files) that GN uses to
|
||||
;; declare build outputs. GN requires static output
|
||||
;; declarations, so the list must exactly match what
|
||||
;; rlibs exist in the Rust sysroot. Chromium's list
|
||||
;; includes unicode_width because their bundled
|
||||
;; toolchain (Rust 1.89) ships it as a dependency of
|
||||
;; getopts 0.2.23. Our Rust 1.93 has getopts 0.2.24
|
||||
;; which dropped that dependency, so unicode_width is
|
||||
;; not in our sysroot. This GN arg removes it from
|
||||
;; the list. (Chromium's own use of unicode_width via
|
||||
;; codespan-reporting is a separate vendored copy under
|
||||
;; third_party/rust/chromium_crates_io/ and is
|
||||
;; unaffected.)
|
||||
"removed_rust_stdlib_libs=[\"unicode_width\"]"
|
||||
|
||||
;; Prefer system libraries.
|
||||
"use_system_freetype=true"
|
||||
"use_system_harfbuzz=true"
|
||||
@@ -777,7 +791,7 @@
|
||||
(string-append " -stdlib=libc++"
|
||||
" -Wl,--stats"))
|
||||
(setenv "CLANG_MVERS" #$(version-major
|
||||
(package-version clang-19)))
|
||||
(package-version clang-21)))
|
||||
(setenv "RUSTC_BOOTSTRAP" "1")
|
||||
|
||||
;; TODO: pre-compile instead. Avoids a race condition.
|
||||
@@ -905,13 +919,13 @@
|
||||
'("24" "48" "64" "128" "256")))))))))
|
||||
(native-inputs
|
||||
(list bison
|
||||
clang-19
|
||||
clang-runtime-19
|
||||
clang-toolchain-19
|
||||
clang-21
|
||||
clang-runtime-21
|
||||
clang-toolchain-21
|
||||
gn
|
||||
gperf
|
||||
lld-as-ld-wrapper-19
|
||||
llvm-19
|
||||
lld-as-ld-wrapper-21
|
||||
llvm-21
|
||||
ninja
|
||||
node-lts
|
||||
pkg-config
|
||||
|
||||
Reference in New Issue
Block a user