diff options
author | Matt Jolly <kangie@gentoo.org> | 2024-11-13 00:30:52 +1000 |
---|---|---|
committer | Matt Jolly <kangie@gentoo.org> | 2024-11-13 00:43:26 +1000 |
commit | 2d0658830c67cd92055e0eccbcb1d5b6b8753179 (patch) | |
tree | 782ed232d25182074374f1b5b3e845ae9ac52dd5 /www-client/chromium/files | |
parent | media-video/ffmpeg-chromium: add 132 (diff) | |
download | gentoo-2d0658830c67cd92055e0eccbcb1d5b6b8753179.tar.gz gentoo-2d0658830c67cd92055e0eccbcb1d5b6b8753179.tar.bz2 gentoo-2d0658830c67cd92055e0eccbcb1d5b6b8753179.zip |
www-client/chromium: add 132.0.6821.2
Signed-off-by: Matt Jolly <kangie@gentoo.org>
Diffstat (limited to 'www-client/chromium/files')
-rw-r--r-- | www-client/chromium/files/chromium-132-bindgen-custom-toolchain.patch | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/www-client/chromium/files/chromium-132-bindgen-custom-toolchain.patch b/www-client/chromium/files/chromium-132-bindgen-custom-toolchain.patch new file mode 100644 index 000000000000..f0cf20a50837 --- /dev/null +++ b/www-client/chromium/files/chromium-132-bindgen-custom-toolchain.patch @@ -0,0 +1,104 @@ +From 84b3b8335f7efbb8ed5ab9c9a260ea4f5d77192b Mon Sep 17 00:00:00 2001 +From: Matt Jolly <kangie@gentoo.org> +Date: Mon, 11 Nov 2024 20:52:48 +1000 +Subject: [PATCH] Make bindgen wrapper work with unbundled toolchain + +The `run_bindgen.py` wrapper takes a --libclang-path option +and uses it to set the appropriate environment variable. + +This is currently hardcoded to use libclang shipped alongside +bindgen (in our rust toolchain), but distributions may want to +override this and use a system path. + +Additionally enable distros to feed in appropriate library paths. +--- a/build/config/rust.gni ++++ b/build/config/rust.gni +@@ -60,6 +60,17 @@ declare_args() { + # the bindgen exectuable). + rust_bindgen_root = "//third_party/rust-toolchain" + ++ # Directory under which to find one of `libclang.{dll,so}` (a `lib[64]` or ++ # `bin` directory containing the libclang shared library). ++ # We don't need to worry about multlib, but specify the full path here ++ # in case a distribution does. ++ if (host_os == "win") { ++ bindgen_libclang_path = "//third_party/rust-toolchain/bin" ++ } else { ++ bindgen_libclang_path = "//third_party/rust-toolchain/lib" ++ } ++ ++ + # If you're using a Rust toolchain as specified by rust_sysroot_absolute, + # set this to the output of `rustc -V`. Changing this string will cause all + # Rust targets to be rebuilt, which allows you to update your toolchain and +--- a/build/rust/rust_bindgen.gni ++++ b/build/rust/rust_bindgen.gni +@@ -17,13 +17,13 @@ if (host_os == "win") { + _bindgen_path = "${_bindgen_path}.exe" + } + +-# On Windows, the libclang.dll is beside the bindgen.exe, otherwise it is in +-# ../lib. +-_libclang_path = rust_bindgen_root +-if (host_os == "win") { +- _libclang_path += "/bin" ++if (clang_base_path != default_clang_base_path && custom_toolchain == "//build/toolchain/linux/unbundle:default") { ++ # Assume that the user has set this up properly, including handling multilib ++ _clang_libpath = clang_base_path + "/include" ++ _clang_ld_libpath = bindgen_libclang_path + } else { +- _libclang_path += "/lib" ++ _clang_libpath = clang_base_path + "/lib/clang/" + clang_version ++ _clang_ld_libpath = clang_base_path + "/lib" + } + + # Template to build Rust/C bindings with bindgen. +--- a/build/rust/rust_bindgen_generator.gni ++++ b/build/rust/rust_bindgen_generator.gni +@@ -151,7 +151,7 @@ template("rust_bindgen_generator") { + "--output", + rebase_path(output_file, root_build_dir), + "--libclang-path", +- rebase_path(_libclang_path, root_build_dir), ++ rebase_path(bindgen_libclang_path, root_build_dir), + ] + + if (_wrap_static_fns) { +@@ -172,7 +172,7 @@ template("rust_bindgen_generator") { + # point to. + args += [ + "--ld-library-path", +- rebase_path(clang_base_path + "/lib", root_build_dir), ++ rebase_path(bindgen_libclang_path, root_build_dir), + ] + } + +@@ -215,9 +215,7 @@ template("rust_bindgen_generator") { + # says the wrong thing. We point it to our clang's resource dir which will + # make it behave consistently with our other command line flags and allows + # system headers to be found. +- clang_resource_dir = +- rebase_path(clang_base_path + "/lib/clang/" + clang_version, +- root_build_dir) ++ clang_resource_dir = rebase_path(clang_base_path + "/include", root_build_dir) + args += [ + "-resource-dir", + clang_resource_dir, +@@ -238,6 +236,15 @@ template("rust_bindgen_generator") { + } + } + ++ if (custom_toolchain == "//build/toolchain/linux/unbundle:default") { ++ # We need to pass the path to the libstdc++ headers to bindgen so that it ++ # can find them when parsing C++ headers. ++ args += [ ++ "-I", ++ rebase_path(clang_base_path + "/include/", root_build_dir), ++ ] ++ } ++ + if (is_win) { + # On Windows we fall back to using system headers from a sysroot from + # depot_tools. This is negotiated by python scripts and the result is +-- +2.47.0 |