www-client/chromium: sync with upstream
This commit is contained in:
parent
be139f37b6
commit
0813e7439e
5 changed files with 303 additions and 1684 deletions
|
@ -1,11 +1,12 @@
|
|||
DIST chromium-126-clang.tar.xz 50615992 BLAKE2B 293709399ddf343ba195cec452974178228ebb72921931ad58136351956b881f8dc0bc8ca740252bcd4971701c9ee8ccc0a33648aee25a5b1cece56e0af6b83f SHA512 7bb2938b1df452585d0ee93da3bcf9c3e64e88e39059a713fe21758df670190b12ca002ef2764dc99efdb4284b4c4b7cde861e2e495d99956c21120a51b8c3dc
|
||||
DIST chromium-126-rust.tar.xz 150643432 BLAKE2B d9c827008a2fae07977628beccdf3cf4e5d9bf3c9728e4b2839c8bc86ee2f87844921064e30c067a1b620a3d53cbf54a74053172b1436239332fc668f772924d SHA512 431c0305a81e59da231d56f1b119226b661d7f5a93d0da92afbfc384b0e5be28f282c2911137983298a5369c93b60184d41875ec63b47048a782ee2b1301fc77
|
||||
DIST chromium-126.0.6478.114.tar.xz 4167281776 BLAKE2B 4ca720b0280dc6f0aafb5da5d31f97d8d55faec9ac187fc7f3e16e447d147a6912b2b8f26247503390755146e42b32458e4c71a80e6a132cc456f414454ecf53 SHA512 49ca506eb7ac52cdfb5b491bff10deec46d62686feeb3392803eecd61a570ce6c9e6c97d61c79907aaaee39b6d32a4da399c92b8078dbdf2df097f37c757d286
|
||||
DIST chromium-126.0.6478.126.tar.xz 4166142564 BLAKE2B 4c709c3a02a01f6bef46309b4a2f3d8cd688007e6b69152a5119a098c98aa272e10ea1ebf418c75387d08e1b9dde75ad53eabc12cf860b288e732c9b974e6066 SHA512 4a86edb82ec530299f8298b7604a18efb5ccf6a6cde37950d7821a73b005b9e83805a0b7f36f2fa5b4f71e237bf70ec628c1864e4f81caa4333a5dc904fb3aab
|
||||
DIST chromium-126.0.6478.57.tar.xz 4162722444 BLAKE2B cc41d74916a81a1162aad8ae785e08423ca1c4a49b7b8cdfe0873efab3b67e90da4e240c8c564c77cb67466af6d7c6a61ca3acfa8aae227838060565c0fbb3a5 SHA512 e350cf34ddc7c010e6f2d87c3f8dbaa17f5dd448b10f07b6dd319e494f7d70c6caf3ef7e676de33ee1e05d602edfbae9bcf3807887ae74c32bc49a6db7aa79a7
|
||||
DIST chromium-127-clang.tar.xz 50869256 BLAKE2B a25c78c28e1a19bb251ce78831ff8aeea51f0ff0a3fcba4f57e14e676aadba38f248554a52d9f67da8c0ccf533ef9f60b4bbb26f8935914efa2b871444e61d8f SHA512 9033c2dd7dd217917caf3dbed52f72ded18fe81b431edd4ef82fe7c592f7b9fbf6d5d2c8f7ba4ebffb4994bef20579d30aea9dd1ad36db86bec5d0adb6eca062
|
||||
DIST chromium-127-rust.tar.xz 151082700 BLAKE2B 53b5e72724425ae97bbb22e128ca5e826a2db5fb49f615c5331cdf6d790c253d58061223ff9fbd7f4deecaa19668e7b905b0a661380f48ce74d7f66a9605be18 SHA512 a47fc0bdbf48da9c8c17c91d9dc1a4a3f09578e82199c0d5843dfb6188803161cdb98d065ee3f85ceaf78efd2c233397c325c4c9f2d19255f38734a81599404b
|
||||
DIST chromium-127.0.6533.26.tar.xz 6590894364 BLAKE2B 1806ba0d75aca8c9a6d491ff14401364d5429ad5fb2c3c605d2c7694492782007e5b584bf543f59fdc7732589871bf307503c9928b2da57121b54269cd0f6c30 SHA512 4a3a08ed6b3a0ba40597c99bf520112a92d2c92171ac8f3c13356b5ce7bfd6ba91473b69d4216b23757ac2ffc267aa34d18e77d21a6bbaabfe10c674ec791ace
|
||||
DIST chromium-patches-126.tar.bz2 4538 BLAKE2B c1f224015618ec908ef09d0c04a2243923371e2caeccd60d93747599fd1434b284291a5b4326008db21749cf78827d5a4b50d22fc805dcd3c1fd86303dc82729 SHA512 6692075adac0379b5f27d1023de1a051cf7f7f7138efd32dfc3af0d501b714142a16daf18022bb46d92218587f364f4dafe9f4aea24f6826e88b0e7cc2be7d0b
|
||||
DIST chromium-patches-127.tar.bz2 4545 BLAKE2B cd0221e74a886ad3fc598e92876021b847a92a587ddc66774357ccf06bdd14e23f8bfede9bbe6fd154af8cea570bfa6ee27a2ff393883bd314a7d1326c7260f5 SHA512 938926ecd406d96662a6ed6e9fab9efab156f5691e98c044c75c4d335075f61e80eae2cf3be9b626c01d3542c1785dd0fc63ac31e5cbf1555a8eca3c6aed8c56
|
||||
DIST chromium-ppc64le-gentoo-patches-1.tar.xz 5636 BLAKE2B 1d898939df023c59285b27bee552470483ea06375d1ee8d6947b89c5927c23cc7bfec6b49f3b376ece931d11a56f8e2a45791e0f92ad61974fc8c34c1082d89c SHA512 8a71cb007e47cda8e5fe5d185729389e65c48bd322c8ee8b3986bee8571427b959628f2666bda646a3f89ae64197c0957d3626845ff03461dbd5dee4c964d07c
|
||||
DIST chromium-profiler-0.2.tar 259952640 BLAKE2B 5e82389fce00b267280d633b26551231c558b80f0c92cd7d60271095a3503365ab673e7a46dc5f74f8a82db1f21262cb24dcc0531d954bab5fb3b175dab3394d SHA512 9fa89a5ab728419683e7495ae676567480987d68a2d589f2aa97bfcbcf123f3c8f97f8bca5f65e5e3f6e41475535add473ded83b9c7a33bb4746a9d05b298a6c
|
||||
DIST chromium_124.0.6367.207-1raptor0~deb12u1.debian.tar.xz 587248 BLAKE2B 4c5a12b3e70be85b31d60d35d160281cbf8b93422169243f743fff25805bc7006ffeed5f95b415fb49e9cf4c3bf2c0a2d5ed10642d8f772df24cab1fe738125a SHA512 025ac185f27c66438a5eaf482120fded42d37403706fd012fbde1b6acf5c2e360bb2fb7723183d4883f66f36afe10167a2d919cde11735186a1a87b28ffaf9c6
|
||||
DIST chromium_126.0.6478.114-1raptor0~deb12u1.debian.tar.xz 613488 BLAKE2B ecdf33e0ced01d540b7f1e599df6655055afd8f72b22a92c600205d1b02176be76140a5bfa550e62e4a0e4f03c68992eb480d9ba4a256b3f8b48b525a8ce7400 SHA512 53ea7f89dac5c42ca991f40f2a5515393cb74334a27df72b944552d5a557f6c53b0dac9c89cfb99918fd502396bc80a677a87533f48552af9f7fd440b7b8b2cc
|
||||
DIST chromium_126.0.6478.56-1raptor0~deb12u2.debian.tar.xz 613448 BLAKE2B 35af65461a5132ac7a28e004f3b8a5e1afc10924726154dd47a23371ebe5508765e0bfd3c1b1d56ff5671039b522536fa21ec22dcb9f14426929a5905976e8a0 SHA512 870b864620e48e6aefa2b36026553b06dde0afc8e8de6cbaf0e4db2333d02164a95fa5f243066e026aa3dff4b3a7366853f49c02f607dec36cec77e4b4683736
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -3,9 +3,6 @@
|
|||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{11..13} )
|
||||
PYTHON_REQ_USE="xml(+)"
|
||||
|
||||
# PACKAGING NOTES
|
||||
|
||||
# Google roll their bundled Clang every two weeks, and the bundled Rust
|
||||
|
@ -14,14 +11,6 @@ PYTHON_REQ_USE="xml(+)"
|
|||
# the bundled Clang due to the use of prerelease features. We've been lucky
|
||||
# enough so far that this hasn't been an issue.
|
||||
|
||||
# We try and avoid forcing the use of the custom/bundled libcxx, but sometimes
|
||||
# it is unavoidable. Remember to force the use of Clang when this is forced.
|
||||
|
||||
# GCC is _not_ supported upstream, though patches are welcome. We do our
|
||||
# best to enable builds with GCC but reserve the right to force Clang
|
||||
# builds if we can't keep up with upstream's changes. Please comment
|
||||
# when forcing Clang builds so we can track the need for it.
|
||||
|
||||
# GN is bundled with Chromium, but we always use the system version. Remember to
|
||||
# check for upstream changes to GN and update ebuild (and version below) as required.
|
||||
|
||||
|
@ -34,26 +23,11 @@ PYTHON_REQ_USE="xml(+)"
|
|||
# For non-binhost builds, we build the bundled ffmpeg and enable proprietary codecs because there's
|
||||
# no reason not to. Todo: Re-enable USE=system-ffmpeg.
|
||||
|
||||
# These variables let us easily bound supported major dependency versions in one place.
|
||||
GCC_MIN_VER=12
|
||||
GN_MIN_VER=0.2165
|
||||
# Since Google use prerelease llvm we can let any adventurous users try to build with prerelease
|
||||
# ebuilds; try to keep this up to date with the latest version in the tree.
|
||||
LLVM_MAX_SLOT=19
|
||||
LLVM_MIN_SLOT=17
|
||||
RUST_MIN_VER=1.72.0
|
||||
RUST_MIN_VER=1.78.0
|
||||
# chromium-tools/get-chromium-toolchain-strings.sh
|
||||
GOOGLE_CLANG_VER=llvmorg-19-init-9433-g76ea5feb-1
|
||||
GOOGLE_RUST_VER=31e6e8c6c5b6ce62656c922c7384d3376018c980-2
|
||||
|
||||
# https://bugs.chromium.org/p/v8/issues/detail?id=14449 - V8 used in 120 can't build with GCC
|
||||
# Resolved upstream, requires testing and some backporting I'm sure
|
||||
: ${CHROMIUM_FORCE_CLANG=yes}
|
||||
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101227 - Chromium 120:
|
||||
# webrtc - no matching member function for call to 'emplace'
|
||||
: ${CHROMIUM_FORCE_LIBCXX=yes}
|
||||
# 121's 'gcc_link_wrapper.py' currently fails if not using lld due to the addition of rust
|
||||
: ${CHROMIUM_FORCE_LLD=yes}
|
||||
GOOGLE_CLANG_VER=llvmorg-19-init-10646-g084e2b53-57
|
||||
GOOGLE_RUST_VER=32dd3795bce8b347fda786529cf5e42a813e0b7d-2
|
||||
|
||||
: ${CHROMIUM_FORCE_GOOGLE_TOOLCHAIN=no}
|
||||
|
||||
|
@ -63,7 +37,13 @@ CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu
|
|||
hi hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr
|
||||
sv sw ta te th tr uk ur vi zh-CN zh-TW"
|
||||
|
||||
inherit check-reqs chromium-2 desktop flag-o-matic llvm ninja-utils pax-utils
|
||||
# Since Google use prerelease llvm we can let any adventurous users try to build with prerelease
|
||||
# ebuilds; try to keep this up to date with the latest version in the tree.
|
||||
LLVM_COMPAT=( {17..18} )
|
||||
PYTHON_COMPAT=( python3_{11..13} )
|
||||
PYTHON_REQ_USE="xml(+)"
|
||||
|
||||
inherit check-reqs chromium-2 desktop flag-o-matic llvm-r1 ninja-utils pax-utils
|
||||
inherit python-any-r1 qmake-utils readme.gentoo-r1 systemd toolchain-funcs virtualx xdg-utils
|
||||
|
||||
DESCRIPTION="Open-source version of Google Chrome web browser"
|
||||
|
@ -77,7 +57,7 @@ SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}
|
|||
!system-toolchain? (
|
||||
https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/clang-${GOOGLE_CLANG_VER}.tar.xz
|
||||
-> chromium-${PV%%\.*}-clang.tar.xz
|
||||
https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/rust-toolchain-${GOOGLE_RUST_VER}-${GOOGLE_CLANG_VER%??}.tar.xz
|
||||
https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/rust-toolchain-${GOOGLE_RUST_VER}-${GOOGLE_CLANG_VER%???}.tar.xz
|
||||
-> chromium-${PV%%\.*}-rust.tar.xz
|
||||
)
|
||||
ppc64? (
|
||||
|
@ -87,19 +67,19 @@ SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}
|
|||
pgo? ( https://github.com/elkablo/chromium-profiler/releases/download/v0.2/chromium-profiler-0.2.tar )"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0/stable"
|
||||
KEYWORDS="arm64"
|
||||
SLOT="0/beta"
|
||||
KEYWORDS="~arm64"
|
||||
IUSE_SYSTEM_LIBS="+system-harfbuzz +system-icu +system-png +system-zstd"
|
||||
IUSE="+X ${IUSE_SYSTEM_LIBS} bindist cups debug ffmpeg-chromium gtk4 +hangouts headless kerberos libcxx +lto +official pax-kernel pgo +proprietary-codecs pulseaudio"
|
||||
IUSE="+X ${IUSE_SYSTEM_LIBS} bindist cups debug ffmpeg-chromium gtk4 +hangouts headless kerberos +lto +official pax-kernel pgo +proprietary-codecs pulseaudio"
|
||||
IUSE+=" qt5 qt6 +screencast selinux +system-toolchain +vaapi +wayland +widevine"
|
||||
RESTRICT="!bindist? ( bindist )"
|
||||
|
||||
REQUIRED_USE="
|
||||
!headless? ( || ( X wayland ) )
|
||||
official? ( lto )
|
||||
pgo? ( X !wayland )
|
||||
qt6? ( qt5 )
|
||||
screencast? ( wayland )
|
||||
!system-toolchain? ( libcxx )
|
||||
ffmpeg-chromium? ( bindist proprietary-codecs )
|
||||
"
|
||||
|
||||
|
@ -200,34 +180,6 @@ DEPEND="${COMMON_DEPEND}
|
|||
)
|
||||
"
|
||||
|
||||
depend_clang_llvm_version() {
|
||||
echo "sys-devel/clang:$1"
|
||||
echo "sys-devel/llvm:$1"
|
||||
echo "=sys-devel/lld-$1*"
|
||||
}
|
||||
|
||||
# When passed multiple arguments we assume that
|
||||
# we want a range of versions, inclusive.
|
||||
depend_clang_llvm_versions() {
|
||||
local _v
|
||||
if [[ $# -eq 1 ]]; then
|
||||
depend_clang_llvm_version "$1"
|
||||
elif [[ $# -eq 2 ]]; then
|
||||
if [[ $1 -eq $2 ]]; then
|
||||
depend_clang_llvm_version "$1"
|
||||
fi
|
||||
echo "|| ("
|
||||
for ((i=$1; i<=$2; i++)); do
|
||||
echo "("
|
||||
depend_clang_llvm_version "${i}"
|
||||
echo ")"
|
||||
done
|
||||
echo ")"
|
||||
else
|
||||
die "depend_clang_llvm_versions() requires 1 or 2 arguments"
|
||||
fi
|
||||
}
|
||||
|
||||
BDEPEND="
|
||||
${COMMON_SNAPSHOT_DEPEND}
|
||||
${PYTHON_DEPS}
|
||||
|
@ -240,14 +192,18 @@ BDEPEND="
|
|||
qt6? ( dev-qt/qtbase:6 )
|
||||
)
|
||||
system-toolchain? (
|
||||
libcxx? ( >=sys-devel/clang-${LLVM_MIN_SLOT} )
|
||||
lto? ( $(depend_clang_llvm_versions ${LLVM_MIN_SLOT} ${LLVM_MAX_SLOT}) )
|
||||
$(llvm_gen_dep '
|
||||
sys-devel/clang:${LLVM_SLOT}
|
||||
sys-devel/llvm:${LLVM_SLOT}
|
||||
sys-devel/lld:${LLVM_SLOT}
|
||||
virtual/rust:0/llvm-${LLVM_SLOT}[profiler(-)]
|
||||
pgo? ( sys-libs/compiler-rt-sanitizers:${LLVM_SLOT}[profile] )
|
||||
')
|
||||
pgo? (
|
||||
>=dev-python/selenium-3.141.0
|
||||
>=dev-util/web_page_replay_go-20220314
|
||||
$(depend_clang_llvm_versions ${LLVM_MIN_SLOT} ${LLVM_MAX_SLOT})
|
||||
)
|
||||
>=virtual/rust-${RUST_MIN_VER}[profiler(-)]
|
||||
dev-util/bindgen
|
||||
)
|
||||
>=dev-build/gn-${GN_MIN_VER}
|
||||
dev-build/ninja
|
||||
|
@ -260,17 +216,6 @@ BDEPEND="
|
|||
virtual/pkgconfig
|
||||
"
|
||||
|
||||
if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then
|
||||
BDEPEND+="system-toolchain? ( >=sys-devel/clang-${LLVM_MIN_SLOT} ) "
|
||||
fi
|
||||
|
||||
if [[ ${CHROMIUM_FORCE_LLD} == yes ]]; then
|
||||
BDEPEND+="system-toolchain? ( >=sys-devel/lld-${LLVM_MIN_SLOT} ) "
|
||||
else
|
||||
# #918897: Hack for arm64
|
||||
BDEPEND+=" arm64? ( >=sys-devel/lld-${LLVM_MIN_SLOT} )"
|
||||
fi
|
||||
|
||||
if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then
|
||||
EBUILD_DEATH_HOOKS+=" chromium_pkg_die";
|
||||
fi
|
||||
|
@ -308,30 +253,6 @@ python_check_deps() {
|
|||
python_has_version "dev-python/setuptools[${PYTHON_USEDEP}]"
|
||||
}
|
||||
|
||||
needs_clang() {
|
||||
[[ ${CHROMIUM_FORCE_CLANG} == yes ]] || use libcxx || use lto || use pgo
|
||||
}
|
||||
|
||||
needs_lld() {
|
||||
# #641556: Force lld for lto and pgo builds, otherwise disable
|
||||
# #918897: Temporary hack w/ use arm64
|
||||
[[ ${CHROMIUM_FORCE_LLD} == yes ]] || use lto || use pgo || use arm64
|
||||
}
|
||||
|
||||
llvm_check_deps() {
|
||||
if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
|
||||
einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
|
||||
return 1
|
||||
fi
|
||||
|
||||
if ( use lto || use pgo ) && ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then
|
||||
einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
|
||||
return 1
|
||||
fi
|
||||
|
||||
einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
|
||||
}
|
||||
|
||||
pre_build_checks() {
|
||||
# Check build requirements: bugs #471810, #541816, #914220
|
||||
# We're going to start doing maths here on the size of an unpacked source tarball,
|
||||
|
@ -374,34 +295,31 @@ pkg_pretend() {
|
|||
}
|
||||
|
||||
pkg_setup() {
|
||||
ewarn "PATH = ${PATH}"
|
||||
if [[ ${MERGE_TYPE} != binary ]]; then
|
||||
# The pre_build_checks are all about compilation resources, no need to run it for a binpkg
|
||||
pre_build_checks
|
||||
|
||||
if use system-toolchain; then
|
||||
local -x CPP="$(tc-getCXX) -E"
|
||||
if tc-is-gcc && ! ver_test "$(gcc-version)" -ge ${GCC_MIN_VER}; then
|
||||
die "At least gcc ${GCC_MIN_VER} is required"
|
||||
fi
|
||||
if use pgo && tc-is-cross-compiler; then
|
||||
die "The pgo USE flag cannot be used when cross-compiling"
|
||||
fi
|
||||
if needs_clang && ! tc-is-clang; then
|
||||
if tc-is-cross-compiler; then
|
||||
CPP="${CBUILD}-clang++ -E"
|
||||
else
|
||||
CPP="${CHOST}-clang++ -E"
|
||||
fi
|
||||
fi
|
||||
if needs_clang || tc-is-clang; then
|
||||
if ver_test "$(clang-major-version)" -lt ${LLVM_MIN_SLOT}; then
|
||||
die "At least Clang ${LLVM_MIN_SLOT} is required"
|
||||
fi
|
||||
# Ideally we never see this, but it should help prevent bugs like 927154
|
||||
if ver_test "$(clang-major-version)" -gt ${LLVM_MAX_SLOT}; then
|
||||
die "Clang $(clang-major-version) is too new; ${LLVM_MAX_SLOT} is the highest supported version"
|
||||
fi
|
||||
# The linux:unbundle toolchain in GN grabs CC, CXX, CPP (etc) from the environment
|
||||
# We'll set these to clang here then let llvm-r1_pkg_setup reconfigure them to be
|
||||
# specific to the selected slot.
|
||||
# 935689 - call llvm-r1_pkg_setup once to make sure that PATH is set then again
|
||||
# to make sure that CC and friends get updated appropriately.
|
||||
llvm-r1_pkg_setup
|
||||
AR=llvm-ar
|
||||
CPP="${CHOST}-clang++ -E"
|
||||
NM=llvm-nm
|
||||
CC=${CHOST}-clang
|
||||
CXX=${CHOST}-clang++
|
||||
|
||||
if tc-is-cross-compiler; then
|
||||
use pgo && die "The pgo USE flag cannot be used when cross-compiling"
|
||||
CPP="${CBUILD}-clang++ -E"
|
||||
fi
|
||||
|
||||
llvm-r1_pkg_setup
|
||||
|
||||
fi
|
||||
# Users should never hit this, it's purely a development convenience
|
||||
if ver_test $(gn --version || die) -lt ${GN_MIN_VER}; then
|
||||
|
@ -412,6 +330,30 @@ pkg_setup() {
|
|||
chromium_suid_sandbox_check_kernel_config
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
# In 126 Chromium upstream decided to change the way that the rust toolchain is packaged
|
||||
# so now we get a fancy src_unpack function to ensure that we don't accidentally unpack
|
||||
# one toolchain over the other. The addtional control over over unpacking also helps us
|
||||
# ensure that GN doesn't try and use some bundled tool (like bindgen) instead of the system
|
||||
# package by just not unpacking it unless we're using the bundled toolchain.
|
||||
unpack ${P}.tar.xz
|
||||
if use system-toolchain; then
|
||||
unpack chromium-patches-${PATCH_V}.tar.bz2
|
||||
else
|
||||
unpack chromium-${PV%%\.*}-clang.tar.xz
|
||||
local rust_dir="${WORKDIR}/rust-toolchain"
|
||||
mkdir -p ${rust_dir} || die "Failed to create rust toolchain directory"
|
||||
tar xf "${DISTDIR}/chromium-${PV%%\.*}-rust.tar.xz" -C ${rust_dir} || die "Failed to unpack rust toolchain"
|
||||
fi
|
||||
|
||||
use pgo && unpack chromium-profiler-0.2.tar
|
||||
|
||||
if use ppc64; then
|
||||
unpack chromium_${PATCHSET_PPC64}.debian.tar.xz
|
||||
unpack chromium-ppc64le-gentoo-patches-1.tar.xz
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Calling this here supports resumption via FEATURES=keepwork
|
||||
python_setup
|
||||
|
@ -422,13 +364,20 @@ src_prepare() {
|
|||
"chrome/browser/media/router/media_router_feature.cc" || die
|
||||
|
||||
local PATCHES=(
|
||||
"${FILESDIR}/chromium-cross-compile.patch"
|
||||
"${FILESDIR}/chromium-109-system-zlib.patch"
|
||||
"${FILESDIR}/chromium-111-InkDropHost-crash.patch"
|
||||
"${FILESDIR}/chromium-125-system-zstd.patch"
|
||||
"${FILESDIR}/chromium-126-oauth2-client-switches.patch"
|
||||
"${FILESDIR}/chromium-cross-compile.patch"
|
||||
"${FILESDIR}/chromium-127-browser-ui-deps.patch"
|
||||
"${FILESDIR}/chromium-127-bindgen-custom-toolchain.patch"
|
||||
)
|
||||
|
||||
# 127: test deps are broken for ui/lens with system ICU "//third_party/icu:icuuc_public"
|
||||
sed -i '/source_set("unit_tests") {/,/}/d' \
|
||||
chrome/browser/ui/lens/BUILD.gn || die "Failed to remove bad test target"
|
||||
sed -i '/lens:unit_tests/d' chrome/test/BUILD.gn components/BUILD.gn \
|
||||
|| die "Failed to remove dependencies on bad target"
|
||||
|
||||
if use widevine; then
|
||||
PATCHES+=("${FILESDIR}/chromium-001-widevine-support-for-arm.patch")
|
||||
fi
|
||||
|
@ -464,7 +413,7 @@ src_prepare() {
|
|||
|
||||
default
|
||||
|
||||
mkdir -p third_party/node/linux/node-linux-x64/bin || die
|
||||
rm third_party/node/linux/node-linux-x64/bin/node || die
|
||||
ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die
|
||||
|
||||
# adjust python interpreter version
|
||||
|
@ -477,7 +426,6 @@ src_prepare() {
|
|||
base/third_party/nspr
|
||||
base/third_party/superfasthash
|
||||
base/third_party/symbolize
|
||||
base/third_party/valgrind
|
||||
base/third_party/xdg_user_dirs
|
||||
buildtools/third_party/libc++
|
||||
buildtools/third_party/libc++abi
|
||||
|
@ -496,8 +444,8 @@ src_prepare() {
|
|||
third_party/anonymous_tokens
|
||||
third_party/apple_apsl
|
||||
third_party/axe-core
|
||||
third_party/blink
|
||||
third_party/bidimapper
|
||||
third_party/blink
|
||||
third_party/boringssl
|
||||
third_party/boringssl/src/third_party/fiat
|
||||
third_party/breakpad
|
||||
|
@ -522,6 +470,7 @@ src_prepare() {
|
|||
third_party/closure_compiler
|
||||
third_party/content_analysis_sdk
|
||||
third_party/cpuinfo
|
||||
third_party/crabbyavif
|
||||
third_party/crashpad
|
||||
third_party/crashpad/crashpad/third_party/lss
|
||||
third_party/crashpad/crashpad/third_party/zlib
|
||||
|
@ -553,6 +502,7 @@ src_prepare() {
|
|||
third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/rxjs
|
||||
third_party/devtools-frontend/src/front_end/third_party/vscode.web-custom-data
|
||||
third_party/devtools-frontend/src/front_end/third_party/wasmparser
|
||||
third_party/devtools-frontend/src/front_end/third_party/web-vitals
|
||||
third_party/devtools-frontend/src/third_party
|
||||
third_party/distributed_point_functions
|
||||
third_party/dom_distiller_js
|
||||
|
@ -567,15 +517,12 @@ src_prepare() {
|
|||
third_party/freetype
|
||||
third_party/fusejs
|
||||
third_party/fxdiv
|
||||
third_party/highway
|
||||
third_party/liburlpattern
|
||||
third_party/libzip
|
||||
third_party/lit
|
||||
third_party/gemmlowp
|
||||
third_party/google_input_tools
|
||||
third_party/google_input_tools/third_party/closure_library
|
||||
third_party/google_input_tools/third_party/closure_library/third_party/closure
|
||||
third_party/googletest
|
||||
third_party/highway
|
||||
third_party/hunspell
|
||||
third_party/iccjpeg
|
||||
third_party/inspector_protocol
|
||||
|
@ -593,6 +540,7 @@ src_prepare() {
|
|||
third_party/libaom/source/libaom/third_party/vector
|
||||
third_party/libaom/source/libaom/third_party/x86inc
|
||||
third_party/libavif
|
||||
third_party/libc++
|
||||
third_party/libevent
|
||||
third_party/libgav1
|
||||
third_party/libjingle
|
||||
|
@ -601,6 +549,7 @@ src_prepare() {
|
|||
third_party/libsrtp
|
||||
third_party/libsync
|
||||
third_party/libudev
|
||||
third_party/liburlpattern
|
||||
third_party/libva_protected_content
|
||||
third_party/libvpx
|
||||
third_party/libvpx/source/libvpx/third_party/x86inc
|
||||
|
@ -609,13 +558,12 @@ src_prepare() {
|
|||
third_party/libxcb-keysyms
|
||||
third_party/libxml/chromium
|
||||
third_party/libyuv
|
||||
third_party/libzip
|
||||
third_party/lit
|
||||
third_party/lottie
|
||||
third_party/lss
|
||||
third_party/lzma_sdk
|
||||
third_party/mako
|
||||
third_party/maldoca
|
||||
third_party/maldoca/src/third_party/tensorflow_protos
|
||||
third_party/maldoca/src/third_party/zlibwrapper
|
||||
third_party/markupsafe
|
||||
third_party/material_color_utilities
|
||||
third_party/mesa
|
||||
|
@ -642,11 +590,12 @@ src_prepare() {
|
|||
third_party/pdfium/third_party/libtiff
|
||||
third_party/perfetto
|
||||
third_party/perfetto/protos/third_party/chromium
|
||||
third_party/perfetto/protos/third_party/simpleperf
|
||||
third_party/pffft
|
||||
third_party/ply
|
||||
third_party/polymer
|
||||
third_party/private-join-and-compute
|
||||
third_party/private_membership
|
||||
third_party/private-join-and-compute
|
||||
third_party/protobuf
|
||||
third_party/pthreadpool
|
||||
third_party/puffin
|
||||
|
@ -656,6 +605,7 @@ src_prepare() {
|
|||
third_party/re2
|
||||
third_party/rnnoise
|
||||
third_party/rust
|
||||
third_party/ruy
|
||||
third_party/s2cellid
|
||||
third_party/securemessage
|
||||
third_party/selenium-atoms
|
||||
|
@ -663,19 +613,22 @@ src_prepare() {
|
|||
third_party/sentencepiece/src/third_party/darts_clone
|
||||
third_party/shell-encryption
|
||||
third_party/simplejson
|
||||
third_party/six
|
||||
third_party/skia
|
||||
third_party/skia/include/third_party/vulkan
|
||||
third_party/skia/third_party/vulkan
|
||||
third_party/smhasher
|
||||
third_party/snappy
|
||||
third_party/spirv-headers
|
||||
third_party/spirv-tools
|
||||
third_party/sqlite
|
||||
third_party/swiftshader
|
||||
third_party/swiftshader/third_party/astc-encoder
|
||||
third_party/swiftshader/third_party/llvm-subzero
|
||||
third_party/swiftshader/third_party/marl
|
||||
third_party/swiftshader/third_party/subzero
|
||||
third_party/swiftshader/third_party/SPIRV-Headers/include/spirv
|
||||
third_party/swiftshader/third_party/SPIRV-Tools
|
||||
third_party/swiftshader/third_party/subzero
|
||||
third_party/tensorflow_models
|
||||
third_party/tensorflow-text
|
||||
third_party/tflite
|
||||
|
@ -683,8 +636,6 @@ src_prepare() {
|
|||
third_party/tflite/src/third_party/fft2d
|
||||
third_party/tflite/src/third_party/xla/third_party/tsl
|
||||
third_party/tflite/src/third_party/xla/xla/tsl/util
|
||||
third_party/ruy
|
||||
third_party/six
|
||||
third_party/ukey2
|
||||
third_party/unrar
|
||||
third_party/utf
|
||||
|
@ -706,12 +657,12 @@ src_prepare() {
|
|||
third_party/x11proto
|
||||
third_party/xcbproto
|
||||
third_party/xnnpack
|
||||
third_party/zxcvbn-cpp
|
||||
third_party/zlib/google
|
||||
third_party/zxcvbn-cpp
|
||||
url/third_party/mozilla
|
||||
v8/src/third_party/siphash
|
||||
v8/src/third_party/valgrind
|
||||
v8/src/third_party/utf8-decoder
|
||||
v8/src/third_party/valgrind
|
||||
v8/third_party/glibc
|
||||
v8/third_party/inspector_protocol
|
||||
v8/third_party/v8
|
||||
|
@ -739,10 +690,6 @@ src_prepare() {
|
|||
keeplibs+=( third_party/zstd )
|
||||
fi
|
||||
|
||||
if use libcxx || [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then
|
||||
keeplibs+=( third_party/libc++ )
|
||||
fi
|
||||
|
||||
if ! use system-toolchain || [[ ${CHROMIUM_FORCE_GOOGLE_TOOLCHAIN} == yes ]]; then
|
||||
keeplibs+=( third_party/llvm )
|
||||
fi
|
||||
|
@ -797,54 +744,27 @@ chromium_configure() {
|
|||
|
||||
local myconf_gn=""
|
||||
|
||||
if use system-toolchain && [[ ${CHROMIUM_FORCE_GOOGLE_TOOLCHAIN} == no ]]; then
|
||||
# We already forced the correct clang via {llvm-r1_}pkg_setup
|
||||
if use system-toolchain; then
|
||||
if tc-is-cross-compiler; then
|
||||
CC="${CC} -target ${CHOST} --sysroot ${ESYSROOT}"
|
||||
CXX="${CXX} -target ${CHOST} --sysroot ${ESYSROOT}"
|
||||
BUILD_AR=${AR}
|
||||
BUILD_CC=${CC}
|
||||
BUILD_CXX=${CXX}
|
||||
BUILD_NM=${NM}
|
||||
fi
|
||||
|
||||
strip-unsupported-flags
|
||||
|
||||
myconf_gn+=" is_clang=true clang_use_chrome_plugins=false"
|
||||
# https://bugs.gentoo.org/918897#c32
|
||||
append-ldflags -Wl,--undefined-version
|
||||
myconf_gn+=" use_lld=true"
|
||||
|
||||
# Make sure the build system will use the right tools, bug #340795.
|
||||
tc-export AR CC CXX NM
|
||||
|
||||
if needs_clang && ! tc-is-clang; then
|
||||
# Force clang since gcc is either broken or build is using libcxx.
|
||||
if tc-is-cross-compiler; then
|
||||
CC="${CBUILD}-clang -target ${CHOST} --sysroot ${ESYSROOT}"
|
||||
CXX="${CBUILD}-clang++ -target ${CHOST} --sysroot ${ESYSROOT}"
|
||||
BUILD_CC=${CBUILD}-clang
|
||||
BUILD_CXX=${CBUILD}-clang++
|
||||
else
|
||||
CC=${CHOST}-clang
|
||||
CXX=${CHOST}-clang++
|
||||
fi
|
||||
strip-unsupported-flags
|
||||
fi
|
||||
|
||||
if tc-is-clang; then
|
||||
myconf_gn+=" is_clang=true clang_use_chrome_plugins=false"
|
||||
# Workaround for build failure with clang-18 and -march=native without
|
||||
# avx512. Does not affect e.g. -march=skylake, only native (bug #931623).
|
||||
use amd64 && is-flagq -march=native &&
|
||||
[[ $(clang-major-version) -eq 18 ]] && [[ $(clang-minor-version) -lt 6 ]] &&
|
||||
tc-cpp-is-true "!defined(__AVX512F__)" ${CXXFLAGS} &&
|
||||
append-flags -mevex512
|
||||
else
|
||||
myconf_gn+=" is_clang=false"
|
||||
fi
|
||||
|
||||
if needs_lld ; then
|
||||
# https://bugs.gentoo.org/918897#c32
|
||||
append-ldflags -Wl,--undefined-version
|
||||
myconf_gn+=" use_lld=true"
|
||||
else
|
||||
# This doesn't prevent lld from being used, but rather prevents gn from forcing it
|
||||
myconf_gn+=" use_lld=false"
|
||||
fi
|
||||
|
||||
if use lto; then
|
||||
AR=llvm-ar
|
||||
NM=llvm-nm
|
||||
if tc-is-cross-compiler; then
|
||||
BUILD_AR=llvm-ar
|
||||
BUILD_NM=llvm-nm
|
||||
fi
|
||||
fi
|
||||
|
||||
myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\""
|
||||
|
||||
if tc-is-cross-compiler; then
|
||||
|
@ -867,6 +787,17 @@ chromium_configure() {
|
|||
myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\""
|
||||
fi
|
||||
|
||||
# bindgen settings
|
||||
# From 127, to make bindgen work, we need to provide a location for libclang.
|
||||
# We patch this in for gentoo - see chromium-*-bindgen-custom-toolchain.patch
|
||||
# rust_bindgen_root = directory with `bin/bindgen` beneath it.
|
||||
myconf_gn+=" rust_bindgen_root=\"${EPREFIX}/usr/\""
|
||||
myconf_gn+=" bindgen_libclang_path=\"$(get_llvm_prefix)/$(get_libdir)\""
|
||||
# We don't need to set 'clang_base_bath' for anything in our build
|
||||
# and it defaults to the google toolchain location. Instead provide a location
|
||||
# to where system clang lives sot that bindgen can find system headers (e.g. stddef.h)
|
||||
myconf_gn+=" clang_base_path=\"${EPREFIX}/usr/lib/clang/${LLVM_SLOT}/\""
|
||||
|
||||
local rustc_ver
|
||||
rustc_ver=$(chromium_rust_version_check)
|
||||
if ver_test "${rustc_ver}" -lt "${RUST_MIN_VER}"; then
|
||||
|
@ -965,20 +896,13 @@ chromium_configure() {
|
|||
# Chromium builds provided by Linux distros) should disable the testing config
|
||||
myconf_gn+=" disable_fieldtrial_testing_config=true"
|
||||
|
||||
if use system-toolchain; then
|
||||
myconf_gn+=" use_gold=false"
|
||||
fi
|
||||
|
||||
# The sysroot is the oldest debian image that chromium supports, we don't need it
|
||||
myconf_gn+=" use_sysroot=false"
|
||||
|
||||
# This determines whether or not GN uses the bundled libcxx
|
||||
# default: true
|
||||
if use libcxx || [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then
|
||||
myconf_gn+=" use_custom_libcxx=true"
|
||||
else
|
||||
myconf_gn+=" use_custom_libcxx=false"
|
||||
fi
|
||||
# Use in-tree libc++ (buildtools/third_party/libc++ and buildtools/third_party/libc++abi)
|
||||
# instead of the system C++ library for C++ standard library support.
|
||||
# default: true, but let's be explicit (forced since 120 ; USE removed 127).
|
||||
myconf_gn+=" use_custom_libcxx=true"
|
||||
|
||||
# Disable pseudolocales, only used for testing
|
||||
myconf_gn+=" enable_pseudolocales=false"
|
||||
|
@ -1026,13 +950,6 @@ chromium_configure() {
|
|||
if [[ ${myarch} == amd64 ]]; then
|
||||
filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4 -mno-xop -mno-sse4a
|
||||
fi
|
||||
|
||||
if tc-is-gcc; then
|
||||
# https://bugs.gentoo.org/904455
|
||||
local -x CPP="$(tc-getCXX) -E"
|
||||
# https://bugs.gentoo.org/912381
|
||||
filter-lto
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ $myarch = amd64 ]] ; then
|
||||
|
@ -1048,11 +965,7 @@ chromium_configure() {
|
|||
die "Failed to determine target arch, got '$myarch'."
|
||||
fi
|
||||
|
||||
# Make sure that -Werror doesn't get added to CFLAGS by the build system.
|
||||
# Depending on GCC version the warnings are different and we don't want
|
||||
# the build to fail because of that.
|
||||
myconf_gn+=" treat_warnings_as_errors=false"
|
||||
|
||||
# Disable fatal linker warnings, bug 506268.
|
||||
myconf_gn+=" fatal_linker_warnings=false"
|
||||
|
||||
|
@ -1074,13 +987,12 @@ chromium_configure() {
|
|||
# https://bugs.gentoo.org/654216
|
||||
addpredict /dev/dri/ #nowarn
|
||||
|
||||
# Disable unknown warning message from clang.
|
||||
if tc-is-clang; then
|
||||
append-flags -Wno-unknown-warning-option
|
||||
if tc-is-cross-compiler; then
|
||||
# We don't use the same clang version as upstream, and with -Werror
|
||||
# we need to make sure that we don't get superfluous warnings.
|
||||
append-flags -Wno-unknown-warning-option
|
||||
if tc-is-cross-compiler; then
|
||||
export BUILD_CXXFLAGS+=" -Wno-unknown-warning-option"
|
||||
export BUILD_CFLAGS+=" -Wno-unknown-warning-option"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Explicitly disable ICU data file support for system-icu/headless builds.
|
||||
|
@ -1149,7 +1061,7 @@ chromium_configure() {
|
|||
# Allow building against system libraries in official builds
|
||||
sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \
|
||||
tools/generate_shim_headers/generate_shim_headers.py || die
|
||||
# Disable CFI: unsupported for GCC, requires clang+lto+lld
|
||||
# Req's LTO; handled by REQUIRED_USE - TODO: not compatible with -fno-split-lto-unit
|
||||
myconf_gn+=" is_cfi=false"
|
||||
# Don't add symbols to build
|
||||
myconf_gn+=" symbol_level=0"
|
||||
|
@ -1165,12 +1077,6 @@ chromium_configure() {
|
|||
myconf_gn+=" chrome_pgo_phase=0"
|
||||
fi
|
||||
|
||||
# user CXXFLAGS might overwrite -march=armv8-a+crc+crypto, bug #851639
|
||||
if use arm64 && tc-is-gcc; then
|
||||
sed -i '/^#if HAVE_ARM64_CRC32C/a #pragma GCC target ("+crc+crypto")' \
|
||||
third_party/crc32c/src/src/crc32c_arm64.cc || die
|
||||
fi
|
||||
|
||||
# skipping typecheck is only supported on amd64, bug #876157
|
||||
if ! use amd64; then
|
||||
myconf_gn+=" devtools_skip_typecheck=false"
|
|
@ -0,0 +1,111 @@
|
|||
From 6df5a080f58ddb6a49a9d33e4a3619a34fffa78c Mon Sep 17 00:00:00 2001
|
||||
From: Matt Jolly <Matt.Jolly@footclan.ninja>
|
||||
Date: Fri, 5 Jul 2024 20:49:01 +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.
|
||||
---
|
||||
build/config/rust.gni | 11 +++++++++++
|
||||
build/rust/rust_bindgen.gni | 28 ++++++++++++++++++----------
|
||||
2 files changed, 29 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/build/config/rust.gni b/build/config/rust.gni
|
||||
index 97e788a227..78b9daa7e8 100644
|
||||
--- 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
|
||||
diff --git a/build/rust/rust_bindgen.gni b/build/rust/rust_bindgen.gni
|
||||
index bf110ca93c..d7eb04eb00 100644
|
||||
--- a/build/rust/rust_bindgen.gni
|
||||
+++ b/build/rust/rust_bindgen.gni
|
||||
@@ -16,13 +16,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.
|
||||
@@ -100,7 +100,7 @@ template("rust_bindgen") {
|
||||
"--output",
|
||||
rebase_path(out_gen_rs, root_build_dir),
|
||||
"--libclang-path",
|
||||
- rebase_path(_libclang_path, root_build_dir),
|
||||
+ rebase_path(bindgen_libclang_path, root_build_dir),
|
||||
]
|
||||
|
||||
if (wrap_static_fns) {
|
||||
@@ -117,7 +117,7 @@ template("rust_bindgen") {
|
||||
# point to.
|
||||
args += [
|
||||
"--ld-library-path",
|
||||
- rebase_path(clang_base_path + "/lib", root_build_dir),
|
||||
+ rebase_path(_clang_ld_libpath, root_build_dir),
|
||||
]
|
||||
}
|
||||
|
||||
@@ -145,8 +145,7 @@ template("rust_bindgen") {
|
||||
# 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)
|
||||
+ rebase_path(_clang_libpath, root_build_dir)
|
||||
args += [
|
||||
"-resource-dir",
|
||||
clang_resource_dir,
|
||||
@@ -167,6 +166,15 @@ template("rust_bindgen") {
|
||||
}
|
||||
}
|
||||
|
||||
+ 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.45.2
|
||||
|
57
www-client/chromium/files/chromium-127-browser-ui-deps.patch
Normal file
57
www-client/chromium/files/chromium-127-browser-ui-deps.patch
Normal file
|
@ -0,0 +1,57 @@
|
|||
https://gitlab.exherbo.org/exherbo/desktop/-/raw/master/packages/net-www/chromium-beta/files/chromium-browser-ui-missing-deps.patch
|
||||
https://issues.chromium.org/u/2/issues/351157339
|
||||
Source: Tom Briden <tom@decompile.me.uk>
|
||||
Upstream: No
|
||||
|
||||
--- a/chrome/browser/ui/views/side_panel/BUILD.gn
|
||||
+++ b/chrome/browser/ui/views/side_panel/BUILD.gn
|
||||
@@ -142,18 +142,30 @@ static_library("side_panel") {
|
||||
}
|
||||
public_deps = [
|
||||
"//base",
|
||||
+ "//chrome/browser/cart:mojo_bindings",
|
||||
"//chrome/browser/companion/core/mojom:mojo_bindings",
|
||||
"//chrome/browser/profiles:profile",
|
||||
"//chrome/browser/ui/actions:actions_headers",
|
||||
"//chrome/browser/ui/color:color_headers",
|
||||
+ "//chrome/browser/ui/webui/side_panel/customize_chrome:mojo_bindings",
|
||||
+ "//chrome/browser/ui/webui/side_panel/bookmarks:mojo_bindings",
|
||||
"//chrome/browser/ui/webui/side_panel/performance_controls:mojo_bindings",
|
||||
+ "//chrome/browser/ui/webui/side_panel/reading_list:mojo_bindings",
|
||||
+ "//chrome/browser/ui:webui_name_variants",
|
||||
"//chrome/common",
|
||||
"//chrome/common/accessibility:mojo_bindings",
|
||||
+ "//chrome/common/companion:mojo_bindings",
|
||||
+ "//components/enterprise/buildflags:buildflags",
|
||||
+ "//components/enterprise/common/proto:connectors_proto",
|
||||
"//components/lens",
|
||||
"//components/lens:buildflags",
|
||||
"//components/omnibox/browser",
|
||||
+ "//components/page_image_service/mojom:mojo_bindings",
|
||||
+ "//components/paint_preview/buildflags:buildflags",
|
||||
"//components/prefs",
|
||||
"//components/search_engines",
|
||||
+ "//components/segmentation_platform/public/proto:proto",
|
||||
+ "//components/webapps/common:mojo_bindings",
|
||||
"//content/public/browser",
|
||||
"//extensions/browser",
|
||||
"//extensions/common",
|
||||
@@ -165,6 +177,8 @@ static_library("side_panel") {
|
||||
"//ui/gfx/geometry",
|
||||
"//ui/views",
|
||||
"//ui/views/controls/webview",
|
||||
+ "//ui/webui/resources/cr_components/commerce:mojo_bindings",
|
||||
+ "//ui/webui/resources/cr_components/help_bubble:mojo_bindings",
|
||||
"//url",
|
||||
]
|
||||
deps = [
|
||||
--- a/chrome/browser/ui/webui/top_chrome/BUILD.gn
|
||||
+++ b/chrome/browser/ui/webui/top_chrome/BUILD.gn
|
||||
@@ -19,6 +19,7 @@ source_set("top_chrome") {
|
||||
deps = [
|
||||
"//base",
|
||||
"//chrome/browser/profiles:profile",
|
||||
+ "//chrome/browser/ui:webui_name_variants",
|
||||
"//components/site_engagement/content:content",
|
||||
"//content/public/browser",
|
||||
"//ui/webui",
|
Loading…
Add table
Reference in a new issue