diff options
-rw-r--r-- | .SRCINFO | 174 | ||||
-rw-r--r-- | .gitignore | 5 | ||||
-rw-r--r-- | PKGBUILD | 1346 | ||||
-rw-r--r-- | chromium-dev.install | 9 | ||||
-rw-r--r-- | chromium-dev.svg | 365 | ||||
-rw-r--r-- | chromium-qt6.patch | 9 | ||||
-rw-r--r-- | fix_hevc_in_non_cromeos_r1.patch | 18 | ||||
-rw-r--r-- | gclient_args.gni | 14 | ||||
-rw-r--r-- | system-opus.diff | 13 | ||||
-rw-r--r-- | use-oauth2-client-switches-as-default.patch | 17 |
10 files changed, 1129 insertions, 841 deletions
@@ -1,6 +1,6 @@ pkgbase = chromium-dev pkgdesc = The open-source project behind Google Chrome (Dev Channel) - pkgver = 91.0.4472.10 + pkgver = 126.0.6423.2 pkgrel = 1 url = http://www.chromium.org install = chromium-dev.install @@ -10,56 +10,154 @@ pkgbase = chromium-dev makedepends = ninja makedepends = python-protobuf makedepends = python-setuptools - makedepends = python - makedepends = python2 makedepends = yasm makedepends = nasm makedepends = git - makedepends = hwids - makedepends = nodejs + makedepends = gn + makedepends = hwdata + makedepends = libspeechd makedepends = java-runtime-headless + makedepends = qt6-tools + depends = gcc-libs + depends = glibc + depends = flac + depends = alsa-lib + depends = libcups + depends = dbus + depends = libdrm + depends = expat + depends = libffi + depends = fontconfig + depends = glib2 + depends = harfbuzz + depends = libjpeg-turbo + depends = lcms2 + depends = openh264 + depends = opus + depends = pango + depends = libpipewire + depends = libpng + depends = libpulse + depends = libwebp + depends = libx11 + depends = libxcb + depends = libxcomposite + depends = libxdamage + depends = libxext + depends = libxfixes + depends = libxkbcommon + depends = libxml2 + depends = libxrandr + depends = libxtst depends = libxslt - depends = libxss + depends = mesa + depends = nspr depends = nss + depends = openjpeg2 + depends = hicolor-icon-theme depends = pciutils - depends = snappy depends = xdg-utils - depends = gtk3 - depends = openh264 - depends = vulkan-icd-loader - depends = libpulse - depends = libwebp - depends = libva - depends = opus - depends = bluez-libs - depends = libnet + depends = qt6-base optdepends = pepper-flash: PPAPI Flash Player optdepends = chromium-widevine: Widevine plugin (eg: Netflix) - optdepends = kdialog: Needed for file dialogs in KF5 - optdepends = kwalletmanager: Needed for storing passwords in KWallet5 - optdepends = org.freedesktop.secrets: password storage backend on GNOME / Xfce + optdepends = xdg-desktop-portal-gnome: GNOME portal support + optdepends = xdg-desktop-portal-kde: KDE portal support + optdepends = org.freedesktop.secrets: password storage backend on GNOME/Xfce/KDE optdepends = ttf-font: For some typography - source = https://commondatastorage.googleapis.com/chromium-browser-official/chromium-91.0.4472.10.tar.xz + optdepends = pipewire: WebRTC desktop sharing under Wayland + options = debug + options = !lto + source = chromium::git+https://chromium.googlesource.com/chromium/src.git#tag=126.0.6423.2 source = git+https://github.com/foutrelis/chromium-launcher.git + source = git+https://chromium.googlesource.com/chromium/tools/depot_tools.git#branch=main source = chromium-dev.svg - source = https://raw.githubusercontent.com/gentoo/gentoo/master/www-client/chromium/files/chromium-89-EnumTable-crash.patch - source = https://raw.githubusercontent.com/gentoo/gentoo/master/www-client/chromium/files/chromium-shim_headers.patch - source = https://raw.githubusercontent.com/gentoo/gentoo/master/www-client/chromium/files/chromium-91-system-icu.patch - source = https://raw.githubusercontent.com/gentoo/gentoo/master/www-client/chromium/files/chromium-91-ThemeService-crash.patch - source = fix_hevc_in_non_cromeos_r1.patch - source = https://raw.githubusercontent.com/archlinux/svntogit-packages/packages/chromium/trunk/chromium-glibc-2.33.patch - source = https://raw.githubusercontent.com/archlinux/svntogit-packages/packages/chromium/trunk/use-oauth2-client-switches-as-default.patch - sha256sums = b5df16401778459293b5758a5b71a57955334015b50ea978d1d37afb55100199 + source = gclient_args.gni + source = https://raw.githubusercontent.com/gentoo/gentoo/master/www-client/chromium/files/chromium-cross-compile.patch + source = https://raw.githubusercontent.com/gentoo/gentoo/master/www-client/chromium/files/chromium-111-InkDropHost-crash.patch + source = https://raw.githubusercontent.com/gentoo/gentoo/master/www-client/chromium/files/chromium-117-system-zstd.patch + source = https://raw.githubusercontent.com/gentoo/gentoo/master/www-client/chromium/files/chromium-124-libwebp-shim-sharpyuv.patch + source = use-oauth2-client-switches-as-default.patch + source = system-opus.diff + source = chromium-qt6.patch + source = copy_config.base64::https://chromium.googlesource.com/chromium/third_party/ffmpeg/+/a21071589971c54596dbbccbccdbac7bdd9d4e4c/chromium/scripts/copy_config.sh?format=TEXT + sha256sums = SKIP + sha256sums = SKIP + sha256sums = SKIP + sha256sums = 18a2dfc0a56b2fbbeb8ef16a19227b77bf9a6621c6021d04396e52a9a2313034 + sha256sums = 8c403dd7d732e39b6660b3d841338794a9583fab75d597db13f53ad987b2e8d5 + sha256sums = 9f8e90672e7914e1974ea73de48336800204a188b94d8b03e3ddd64a97f5e630 + sha256sums = 960556d2b337e091a2954f14ba00b2f67ec7d54c2ff54302f98dcb9830ccd97f + sha256sums = 3a71bf3b242a6c0936cac3d90587fded243d7c65f7967697c9a99bd1fb93d4a8 + sha256sums = 500da684872586baf3824def9c8a4d51a54177dfcc0a4f15a611897af80409ee + sha256sums = de110bfd8b35b2c31f5e673672c16eb2a3405e158f18ce47255a119e4bc95b1d + sha256sums = 8db539e3665e98a8efb17c3a0e2a2a71f8d57729e3abf8d884d5e99e781f76b4 + sha256sums = aa8f0ac027e0c7bd73f9359e6e6166288f49e3a31a241d43a54a3a9d71797b34 sha256sums = SKIP - sha256sums = dd2b5c4191e468972b5ea8ddb4fa2e2fa3c2c94c79fc06645d0efc0e63ce7ee1 - sha256sums = 61066e638ee795e888d12cc2c4af42c8cf3fe9f473b1dc0b78c9e87faf5eacda - sha256sums = fabf66cfb15449011a20e377d600573b6338cc4c52e3f28f80e0541772659e8b - sha256sums = 1276018471004688356ef70be708ce96a816ffca6625ed7cc99cb985b6e15559 - sha256sums = 26cc77232d06e55b50a253617fb87218b0058ba2b0271fef5845bcc474f6a117 - sha256sums = 70f7a1736aabd63bbdf5060c015b220ede7d5d19837408eb4a5172099aecd862 - sha256sums = 2fccecdcd4509d4c36af873988ca9dbcba7fdb95122894a9fdf502c33a1d7a4b - sha256sums = e393174d7695d0bafed69e868c5fbfecf07aa6969f3b64596d0bae8b067e1711 pkgname = chromium-dev - options = !strip - + depends = gcc-libs + depends = glibc + depends = flac + depends = alsa-lib + depends = libcups + depends = dbus + depends = libdrm + depends = expat + depends = libffi + depends = fontconfig + depends = glib2 + depends = harfbuzz + depends = libjpeg-turbo + depends = lcms2 + depends = openh264 + depends = opus + depends = pango + depends = libpipewire + depends = libpng + depends = libpulse + depends = libwebp + depends = libx11 + depends = libxcb + depends = libxcomposite + depends = libxdamage + depends = libxext + depends = libxfixes + depends = libxkbcommon + depends = libxml2 + depends = libxrandr + depends = libxtst + depends = libxslt + depends = mesa + depends = nspr + depends = nss + depends = openjpeg2 + depends = hicolor-icon-theme + depends = pciutils + depends = xdg-utils + depends = qt6-base + depends = libFLAC.so + depends = libasound.so + depends = libdbus-1.so + depends = libexpat.so + depends = libffi.so + depends = libfontconfig.so + depends = libfontconfig.so + depends = libgio-2.0.so + depends = libglib-2.0.so + depends = libgobject-2.0.so + depends = libharfbuzz-subset.so + depends = libharfbuzz.so + depends = libjpeg.so + depends = liblcms2.so + depends = libopenh264.so + depends = libopus.so + depends = libpango-1.0.so + depends = libpipewire-0.3.so + depends = libpng16.so + depends = libpulse.so + depends = libwebp.so + depends = libwebpdemux.so + depends = libwebpmux.so + depends = libxkbcommon.so + depends = libxml2.so + depends = libxslt.so diff --git a/.gitignore b/.gitignore index 7e29f38549a3..8cabc3784de2 100644 --- a/.gitignore +++ b/.gitignore @@ -4,4 +4,7 @@ !PKGBUILD !chromium-dev.install !chromium-dev.svg -!fix_hevc_in_non_cromeos_r1.patch +!gclient_args.gni +!system-opus.diff +!chromium-qt6.patch +!use-oauth2-client-switches-as-default.patch @@ -4,109 +4,212 @@ # Contributor: Misc <andreas.reis@gmail.com> # Contributor: Jeagoss <jgoliver@jeago.com> # Contributor: Saikrishna Arcot <saiarcot895@gmail.com> and Steven Newbury <steve@snewbury.org.uk> (First Authors of VAAPI patch) +_USE_GTK=0 -######################### -## -- Build options -- ## -######################### +# Select only one: +_USE_QT5=0 +_USE_QT6=1 -_use_wayland=0 # Build Wayland NOTE: extremely experimental and don't work at this moment +_VERBOSE_OUTPUT=0 ############################################## ## -- Package and components information -- ## ############################################## pkgname=chromium-dev -pkgver=91.0.4472.10 +pkgver=126.0.6423.2 pkgrel=1 pkgdesc="The open-source project behind Google Chrome (Dev Channel)" arch=('x86_64') url='http://www.chromium.org' license=('BSD') depends=( -# 'libsrtp' - 'libxslt' - 'libxss' -# 'minizip' - 'nss' - 'pciutils' -# 're2' - 'snappy' - 'xdg-utils' -# 'protobuf' -# 'libevent' -# 'ffmpeg' -# 'icu' # https://crbug.com/678661. - 'gtk3' - 'openh264' - 'vulkan-icd-loader' - 'libpulse' - 'libwebp' -# 'libvpx' - 'libva' - 'opus' - 'bluez-libs' - 'libnet' - ) -if [ "${_use_wayland}" = "1" ]; then - depends+=('pipewire') -fi + 'gcc-libs' + 'glibc' + 'flac' + 'alsa-lib' +# 'brotli' + 'libcups' + 'dbus' + 'libdrm' + 'expat' + 'libffi' + 'fontconfig' +# 'freetype2' + 'glib2' + 'harfbuzz' + 'libjpeg-turbo' + 'lcms2' + 'openh264' + 'opus' + 'pango' + 'libpipewire' + 'libpng' + 'libpulse' + 'libwebp' + 'libx11' + 'libxcb' + 'libxcomposite' + 'libxdamage' + 'libxext' + 'libxfixes' + 'libxkbcommon' + 'libxml2' + 'libxrandr' + 'libxtst' + 'libxslt' + 'mesa' + 'nspr' + 'nss' + 'openjpeg2' + 'hicolor-icon-theme' + 'pciutils' + 'xdg-utils' +# 'double-conversion' +# 'dav1d' +# 'libyuv' +# 'jsoncpp' +# 'aom' +# 'libvpx' +# 'libva' +# 'protobuf' +# 'libevent' +# 'ffmpeg' +# 'icu' # https://crbug.com/678661. +# 're2' +# 'snappy' +# 'minizip' +# 'libsrtp' +) makedepends=( - 'gperf' - 'ninja' - 'python-protobuf' - 'python-setuptools' - 'python' - 'python2' # for Nacl - 'yasm' - 'nasm' - 'git' - 'hwids' - 'nodejs' - 'java-runtime-headless' - ) + 'gperf' + 'ninja' + 'python-protobuf' + 'python-setuptools' + 'yasm' + 'nasm' + 'git' + 'gn' + 'hwdata' + 'libspeechd' + 'java-runtime-headless' +# 'abseil-cpp' +# 'woff2' +) optdepends=( - 'pepper-flash: PPAPI Flash Player' - 'chromium-widevine: Widevine plugin (eg: Netflix)' - # - 'kdialog: Needed for file dialogs in KF5' - 'kwalletmanager: Needed for storing passwords in KWallet5' - 'org.freedesktop.secrets: password storage backend on GNOME / Xfce' - # - 'ttf-font: For some typography' - ) + 'pepper-flash: PPAPI Flash Player' + 'chromium-widevine: Widevine plugin (eg: Netflix)' + 'xdg-desktop-portal-gnome: GNOME portal support' + 'xdg-desktop-portal-kde: KDE portal support' + # + 'org.freedesktop.secrets: password storage backend on GNOME/Xfce/KDE' + # + 'ttf-font: For some typography' + 'pipewire: WebRTC desktop sharing under Wayland' +) source=( - #"https://gsdview.appspot.com/chromium-browser-official/chromium-${pkgver}.tar.xz" - "https://commondatastorage.googleapis.com/chromium-browser-official/chromium-${pkgver}.tar.xz" - 'git+https://github.com/foutrelis/chromium-launcher.git' - 'chromium-dev.svg' - # Patch form Gentoo. - 'https://raw.githubusercontent.com/gentoo/gentoo/master/www-client/chromium/files/chromium-89-EnumTable-crash.patch' - 'https://raw.githubusercontent.com/gentoo/gentoo/master/www-client/chromium/files/chromium-shim_headers.patch' - 'https://raw.githubusercontent.com/gentoo/gentoo/master/www-client/chromium/files/chromium-91-system-icu.patch' - 'https://raw.githubusercontent.com/gentoo/gentoo/master/www-client/chromium/files/chromium-91-ThemeService-crash.patch' - # Misc Patches. - 'fix_hevc_in_non_cromeos_r1.patch' - # Patch from crbug.com (chromium bugtracker), chromium-review.googlesource.com / Gerrit or Arch chromium package. - 'https://raw.githubusercontent.com/archlinux/svntogit-packages/packages/chromium/trunk/chromium-glibc-2.33.patch' - 'https://raw.githubusercontent.com/archlinux/svntogit-packages/packages/chromium/trunk/use-oauth2-client-switches-as-default.patch' - ) +# "https://gsdview.appspot.com/chromium-browser-official/chromium-${pkgver}.tar.xz" +# "https://commondatastorage.googleapis.com/chromium-browser-official/chromium-${pkgver}.tar.xz" + "chromium::git+https://chromium.googlesource.com/chromium/src.git#tag=${pkgver}" + 'git+https://github.com/foutrelis/chromium-launcher.git' + 'git+https://chromium.googlesource.com/chromium/tools/depot_tools.git#branch=main' + 'chromium-dev.svg' + 'gclient_args.gni' + # Patch form Gentoo. + 'https://raw.githubusercontent.com/gentoo/gentoo/master/www-client/chromium/files/chromium-cross-compile.patch' + 'https://raw.githubusercontent.com/gentoo/gentoo/master/www-client/chromium/files/chromium-111-InkDropHost-crash.patch' + 'https://raw.githubusercontent.com/gentoo/gentoo/master/www-client/chromium/files/chromium-117-system-zstd.patch' + 'https://raw.githubusercontent.com/gentoo/gentoo/master/www-client/chromium/files/chromium-124-libwebp-shim-sharpyuv.patch' + # Misc Patches. + + # Patch from crbug.com (chromium bugtracker), chromium-review.googlesource.com / Gerrit or Arch chromium package. + 'use-oauth2-client-switches-as-default.patch' #'https://raw.githubusercontent.com/archlinux/svntogit-packages/packages/chromium/trunk/use-oauth2-client-switches-as-default.patch' + 'system-opus.diff' + 'chromium-qt6.patch' # https://issues.chromium.org/issues/332724863 + 'copy_config.base64::https://chromium.googlesource.com/chromium/third_party/ffmpeg/+/a21071589971c54596dbbccbccdbac7bdd9d4e4c/chromium/scripts/copy_config.sh?format=TEXT' +) sha256sums=( - #"$(curl -sL https://gsdview.appspot.com/chromium-browser-official/chromium-${pkgver}.tar.xz.hashes | grep sha256 | cut -d ' ' -f3)" - "$(curl -sL https://commondatastorage.googleapis.com/chromium-browser-official/chromium-${pkgver}.tar.xz.hashes | grep sha256 | cut -d ' ' -f3)" - 'SKIP' - 'dd2b5c4191e468972b5ea8ddb4fa2e2fa3c2c94c79fc06645d0efc0e63ce7ee1' - # Patch form Gentoo - '61066e638ee795e888d12cc2c4af42c8cf3fe9f473b1dc0b78c9e87faf5eacda' - 'fabf66cfb15449011a20e377d600573b6338cc4c52e3f28f80e0541772659e8b' - '1276018471004688356ef70be708ce96a816ffca6625ed7cc99cb985b6e15559' - '26cc77232d06e55b50a253617fb87218b0058ba2b0271fef5845bcc474f6a117' - # Misc Patches - '70f7a1736aabd63bbdf5060c015b220ede7d5d19837408eb4a5172099aecd862' - # Patch from crbug (chromium bugtracker) or Arch chromium package - '2fccecdcd4509d4c36af873988ca9dbcba7fdb95122894a9fdf502c33a1d7a4b' - 'e393174d7695d0bafed69e868c5fbfecf07aa6969f3b64596d0bae8b067e1711' - ) +# "$(curl -sL https://gsdview.appspot.com/chromium-browser-official/chromium-${pkgver}.tar.xz.hashes | grep sha256 | cut -d ' ' -f3)" +# "$(curl -sL https://commondatastorage.googleapis.com/chromium-browser-official/chromium-${pkgver}.tar.xz.hashes | grep sha256 | cut -d ' ' -f3)" + 'SKIP' + 'SKIP' + 'SKIP' + '18a2dfc0a56b2fbbeb8ef16a19227b77bf9a6621c6021d04396e52a9a2313034' + '8c403dd7d732e39b6660b3d841338794a9583fab75d597db13f53ad987b2e8d5' + # Patch form Gentoo + '9f8e90672e7914e1974ea73de48336800204a188b94d8b03e3ddd64a97f5e630' + '960556d2b337e091a2954f14ba00b2f67ec7d54c2ff54302f98dcb9830ccd97f' + '3a71bf3b242a6c0936cac3d90587fded243d7c65f7967697c9a99bd1fb93d4a8' + '500da684872586baf3824def9c8a4d51a54177dfcc0a4f15a611897af80409ee' + # Misc Patches + + # Patch from crbug (chromium bugtracker) or Arch chromium package + 'de110bfd8b35b2c31f5e673672c16eb2a3405e158f18ce47255a119e4bc95b1d' + '8db539e3665e98a8efb17c3a0e2a2a71f8d57729e3abf8d884d5e99e781f76b4' + 'aa8f0ac027e0c7bd73f9359e6e6166288f49e3a31a241d43a54a3a9d71797b34' + 'SKIP' +) +options=('debug' '!lto') # Chromium adds its own flags for ThinLTO install=chromium-dev.install +_keeplibs=() +_flags=() +_use_system=() + +if [ "${_USE_GTK}" == "1" ]; then + depends+=( + 'cairo' 'libcairo.so' + 'libgio-2.0.so' + 'libxslt' 'libxslt.so' + 'at-spi2-core' 'libatk-1.0.so' 'libatk-bridge-2.0.so' 'libatspi.so' + ) + makedepends+=( + 'gtk3' +# 'gtk4' + ) + _flags+=( + 'use_gtk=true' + 'use_gio=true' + 'gtk_version=3' +# 'gtk_version=4' + 'enable_remoting=true' +) +else + _flags+=( + 'use_gtk=false' + 'use_gio=false' + 'enable_remoting=false' # side-efect if disable GTK :( + ) +fi + +if [ "${_USE_QT5}" == "1" ] || [ "${_USE_QT6}" == "1" ]; then + _flags+=('use_qt=true') + if [ "${_USE_QT5}" == "1" ]; then + depends+=('qt5-base') # 'libQt5Core.so' 'libQt5Gui.so' 'libQt5Widgets.so') + makedepends+=('qt5-tools') + _flags+=( + 'use_qt6=false' + "moc_qt5_path=\"$(qtpaths --binaries-dir)\"" + ) + fi + if [ "${_USE_QT6}" == "1" ]; then + depends+=('qt6-base') # 'libQt6Core.so' 'libQt6Gui.so' 'libQt6Widgets.so') + makedepends+=('qt6-tools') + _flags+=( + 'use_qt6=true' + "moc_qt6_path=\"/usr/lib/qt6\"" + ) + fi +else + _flags+=('use_qt=false') +fi + + +if [ "${_VERBOSE_OUTPUT}" == "1" ]; then + _verbose_ffmpeg="'V=1'," + _verbose_output="-v" +fi + + ################################################ ## -- Don't touch anything below this line -- ## ################################################ @@ -119,352 +222,424 @@ _google_api_key="AIzaSyDwr302FpOSkGRpLlUpPThNTDPbXcIn_FM" #_google_default_client_id="413772536636.apps.googleusercontent.com" #_google_default_client_secret="0ZChLK6AxeA3Isu96MkwqDR4" -# List of third-party components needed for build chromium. The rest is remove by remove_bundled_libraries srcipt in prepare(). -_keeplibs=( - 'base/third_party/cityhash' - 'base/third_party/double_conversion' - 'base/third_party/dynamic_annotations' - 'base/third_party/icu' - 'base/third_party/nspr' - 'base/third_party/superfasthash' - 'base/third_party/symbolize' - 'base/third_party/valgrind' - 'base/third_party/xdg_mime' - 'base/third_party/xdg_user_dirs' - 'buildtools/third_party/libc++' - 'buildtools/third_party/libc++abi' - 'chrome/third_party/mozilla_security_manager' - 'courgette/third_party' - 'native_client/src/third_party/dlmalloc' - 'native_client_sdk/src/libraries/third_party/newlib-extras' - 'net/third_party/mozilla_security_manager' - 'net/third_party/nss' - 'net/third_party/quic' - 'net/third_party/uri_template' - 'third_party/abseil-cpp' - 'third_party/angle' - 'third_party/angle/src/common/third_party/base' - 'third_party/angle/src/common/third_party/smhasher' - 'third_party/angle/src/common/third_party/xxhash' - 'third_party/angle/src/third_party/compiler' - 'third_party/angle/src/third_party/libXNVCtrl' - 'third_party/angle/src/third_party/trace_event' - 'third_party/angle/src/third_party/volk' - 'third_party/apple_apsl' - 'third_party/axe-core' - 'third_party/blink' - 'third_party/boringssl' - 'third_party/boringssl/src/third_party/fiat' - 'third_party/breakpad' - 'third_party/breakpad/breakpad/src/third_party/curl' - 'third_party/brotli' - 'third_party/catapult' - 'third_party/catapult/common/py_vulcanize/third_party/rcssmin' - 'third_party/catapult/common/py_vulcanize/third_party/rjsmin' - 'third_party/catapult/third_party/beautifulsoup4' - 'third_party/catapult/third_party/html5lib-python' - 'third_party/catapult/third_party/polymer' - 'third_party/catapult/third_party/six' - 'third_party/catapult/tracing/third_party/d3' - 'third_party/catapult/tracing/third_party/gl-matrix' - 'third_party/catapult/tracing/third_party/jpeg-js' - 'third_party/catapult/tracing/third_party/jszip' - 'third_party/catapult/tracing/third_party/mannwhitneyu' - 'third_party/catapult/tracing/third_party/oboe' - 'third_party/catapult/tracing/third_party/pako' - 'third_party/ced' - 'third_party/cld_3' - 'third_party/closure_compiler' - 'third_party/crashpad' - 'third_party/crashpad/crashpad/third_party/lss' - 'third_party/crashpad/crashpad/third_party/zlib' - 'third_party/crc32c' - 'third_party/cros_system_api' - 'third_party/dav1d' - 'third_party/dawn' - 'third_party/dawn/third_party/khronos' - 'third_party/depot_tools' - 'third_party/devscripts' - 'third_party/devtools-frontend' - 'third_party/devtools-frontend/src/front_end/third_party/acorn' - 'third_party/devtools-frontend/src/front_end/third_party/axe-core' - 'third_party/devtools-frontend/src/front_end/third_party/chromium' - 'third_party/devtools-frontend/src/front_end/third_party/codemirror' - 'third_party/devtools-frontend/src/front_end/third_party/fabricjs' - 'third_party/devtools-frontend/src/front_end/third_party/i18n' - 'third_party/devtools-frontend/src/front_end/third_party/intl-messageformat' - 'third_party/devtools-frontend/src/front_end/third_party/lighthouse' - 'third_party/devtools-frontend/src/front_end/third_party/lit-html' - 'third_party/devtools-frontend/src/front_end/third_party/lodash-isequal' - 'third_party/devtools-frontend/src/front_end/third_party/marked' - 'third_party/devtools-frontend/src/front_end/third_party/puppeteer' - 'third_party/devtools-frontend/src/front_end/third_party/wasmparser' - 'third_party/devtools-frontend/src/third_party' - 'third_party/dom_distiller_js' - 'third_party/eigen3' - 'third_party/emoji-segmenter' - 'third_party/farmhash' - 'third_party/fdlibm' - 'third_party/fft2d' - 'third_party/ffmpeg' - 'third_party/flatbuffers' - 'third_party/fusejs' - '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/harfbuzz-ng/utils' - 'third_party/highway' - 'third_party/hunspell' - 'third_party/iccjpeg' - 'third_party/inspector_protocol' - 'third_party/jinja2' - 'third_party/jsoncpp' - 'third_party/jstemplate' - 'third_party/khronos' - 'third_party/leveldatabase' - 'third_party/libXNVCtrl' - 'third_party/libaddressinput' - 'third_party/libaom' - 'third_party/libaom/source/libaom/third_party/fastfeat' - 'third_party/libaom/source/libaom/third_party/vector' - 'third_party/libaom/source/libaom/third_party/x86inc' - 'third_party/libavif' - 'third_party/libgav1' - 'third_party/libgifcodec' - 'third_party/libjingle' - 'third_party/libjxl' - 'third_party/libphonenumber' - 'third_party/libsecret' - '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' - 'third_party/libwebm' - 'third_party/libx11' - 'third_party/libxcb-keysyms' - 'third_party/libxml/chromium' - 'third_party/libyuv' - 'third_party/libzip' - 'third_party/llvm' - 'third_party/lottie' - 'third_party/lss' - 'third_party/lzma_sdk' - 'third_party/mako' - 'third_party/markupsafe' - 'third_party/mesa' - 'third_party/metrics_proto' - 'third_party/minigbm' - 'third_party/modp_b64' - 'third_party/nasm' - 'third_party/nearby' - 'third_party/neon_2_sse' - 'third_party/node' - 'third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2' - 'third_party/one_euro_filter' - 'third_party/opencv' - 'third_party/openscreen' - 'third_party/openscreen/src/third_party/mozilla' - 'third_party/openscreen/src/third_party/tinycbor/src/src' - 'third_party/ots' - 'third_party/pdfium' - 'third_party/pdfium/third_party/agg23' - 'third_party/pdfium/third_party/base' - 'third_party/pdfium/third_party/bigint' - 'third_party/pdfium/third_party/freetype' - 'third_party/pdfium/third_party/lcms' - 'third_party/pdfium/third_party/libopenjpeg20' - 'third_party/pdfium/third_party/libpng16' - 'third_party/pdfium/third_party/libtiff' - 'third_party/pdfium/third_party/skia_shared' - 'third_party/perfetto' - 'third_party/perfetto/protos/third_party/chromium' - 'third_party/pffft' - 'third_party/ply' - 'third_party/polymer' - 'third_party/private-join-and-compute' - 'third_party/private_membership' - 'third_party/protobuf' - 'third_party/protobuf/third_party/six' - 'third_party/pyjson5' - 'third_party/qcms' - 'third_party/re2' - 'third_party/rnnoise' - 'third_party/s2cellid' - 'third_party/securemessage' - 'third_party/shell-encryption' - 'third_party/simplejson' - 'third_party/skia' - 'third_party/skia/include/third_party/skcms' - 'third_party/skia/include/third_party/vulkan' - 'third_party/skia/third_party/skcms' - 'third_party/skia/third_party/vulkan' - 'third_party/smhasher' - '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/unified1' - 'third_party/tensorflow-text' - 'third_party/tflite' - 'third_party/tflite/src/third_party/eigen3' - 'third_party/tflite/src/third_party/fft2d' - 'third_party/tflite-support' - 'third_party/tcmalloc' - 'third_party/tint' - 'third_party/ruy' - 'third_party/ukey2' - 'third_party/unrar' - 'third_party/usrsctp' - 'third_party/utf' - 'third_party/vulkan' - 'third_party/wayland' - 'third_party/web-animations-js' - 'third_party/webdriver' - 'third_party/webgpu-cts' - 'third_party/webrtc' - 'third_party/webrtc/common_audio/third_party/ooura' - 'third_party/webrtc/common_audio/third_party/spl_sqrt_floor' - 'third_party/webrtc/modules/third_party/fft' - 'third_party/webrtc/modules/third_party/g711' - 'third_party/webrtc/modules/third_party/g722' - 'third_party/webrtc/rtc_base/third_party/base64' - 'third_party/webrtc/rtc_base/third_party/sigslot' - 'third_party/widevine' - 'third_party/woff2' - 'third_party/wuffs' - 'third_party/x11proto' - 'third_party/xcbproto' - 'third_party/zxcvbn-cpp' - 'third_party/zlib' # /google - 'tools/grit/third_party/six' - 'url/third_party/mozilla' - 'v8/src/third_party/siphash' - 'v8/src/third_party/valgrind' - 'v8/src/third_party/utf8-decoder' - 'v8/third_party/inspector_protocol' - 'v8/third_party/v8' - - # gyp -> gn leftovers. - 'base/third_party/libevent' - 'third_party/speech-dispatcher' - 'third_party/usb_ids' - 'third_party/xdg-utils' - ) - +# List of third-party components neededs keep for build chromium. The rest is removed by remove_bundled_libraries srcipt in prepare(). _keeplibs+=( - 'third_party/icu' # https://crbug.com/678661. - ) + 'base/third_party/cityhash' + 'base/third_party/double_conversion' + 'base/third_party/dynamic_annotations' + 'base/third_party/icu' + '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' + 'chrome/third_party/mozilla_security_manager' + 'courgette/third_party' + 'native_client/src/third_party/dlmalloc' + 'native_client_sdk/src/libraries/third_party/newlib-extras' + 'net/third_party/mozilla_security_manager' + 'net/third_party/nss' + 'net/third_party/quic' + 'net/third_party/uri_template' + 'third_party/abseil-cpp' + 'third_party/angle' + 'third_party/angle/src/common/third_party/xxhash' + 'third_party/angle/src/third_party/ceval' + 'third_party/angle/src/third_party/libXNVCtrl' + 'third_party/angle/src/third_party/volk' + 'third_party/anonymous_tokens' + 'third_party/apple_apsl' + 'third_party/axe-core' + 'third_party/blink' + 'third_party/bidimapper' + 'third_party/boringssl' + 'third_party/boringssl/src/third_party/fiat' + 'third_party/breakpad' + 'third_party/breakpad/breakpad/src/third_party/curl' + 'third_party/brotli' + 'third_party/catapult' + 'third_party/catapult/common/py_vulcanize/third_party/rcssmin' + 'third_party/catapult/common/py_vulcanize/third_party/rjsmin' + 'third_party/catapult/third_party/beautifulsoup4-4.9.3' + 'third_party/catapult/third_party/html5lib-1.1' + 'third_party/catapult/third_party/polymer' + 'third_party/catapult/third_party/six' + 'third_party/catapult/tracing/third_party/d3' + 'third_party/catapult/tracing/third_party/gl-matrix' + 'third_party/catapult/tracing/third_party/jpeg-js' + 'third_party/catapult/tracing/third_party/jszip' + 'third_party/catapult/tracing/third_party/mannwhitneyu' + 'third_party/catapult/tracing/third_party/oboe' + 'third_party/catapult/tracing/third_party/pako' + 'third_party/ced' + 'third_party/cld_3' + 'third_party/closure_compiler' + 'third_party/content_analysis_sdk' + 'third_party/cpuinfo' + 'third_party/crashpad' + 'third_party/crashpad/crashpad/third_party/lss' + 'third_party/crashpad/crashpad/third_party/zlib' + 'third_party/crc32c' + 'third_party/cros_system_api' + 'third_party/d3' + 'third_party/dav1d' + 'third_party/dawn' + 'third_party/dawn/third_party/gn/webgpu-cts' + 'third_party/dawn/third_party/khronos' + 'third_party/depot_tools' + 'third_party/depot_tools' + 'third_party/depot_tools/third_party/colorama' + 'third_party/depot_tools/third_party/repo' + 'third_party/depot_tools/third_party/schema' + 'third_party/devscripts' + 'third_party/devtools-frontend' + 'third_party/devtools-frontend/src/front_end/third_party/acorn' + 'third_party/devtools-frontend/src/front_end/third_party/additional_readme_paths.json' + 'third_party/devtools-frontend/src/front_end/third_party/axe-core' + 'third_party/devtools-frontend/src/front_end/third_party/chromium' + 'third_party/devtools-frontend/src/front_end/third_party/codemirror' + 'third_party/devtools-frontend/src/front_end/third_party/codemirror.next' + 'third_party/devtools-frontend/src/front_end/third_party/csp_evaluator' + 'third_party/devtools-frontend/src/front_end/third_party/diff' + 'third_party/devtools-frontend/src/front_end/third_party/i18n' + 'third_party/devtools-frontend/src/front_end/third_party/intl-messageformat' + 'third_party/devtools-frontend/src/front_end/third_party/lighthouse' + 'third_party/devtools-frontend/src/front_end/third_party/lit' + 'third_party/devtools-frontend/src/front_end/third_party/lodash-isequal' + 'third_party/devtools-frontend/src/front_end/third_party/marked' + 'third_party/devtools-frontend/src/front_end/third_party/puppeteer' + 'third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/mitt' + '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/third_party' + 'third_party/distributed_point_functions' + 'third_party/dom_distiller_js' + 'third_party/eigen3' + 'third_party/emoji-segmenter' + 'third_party/farmhash' + 'third_party/fdlibm' + 'third_party/fft2d' + 'third_party/ffmpeg' + 'third_party/flatbuffers' + 'third_party/fp16' + 'third_party/freetype' + 'third_party/freetype-testing' + 'third_party/fusejs' + 'third_party/fxdiv' + '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/harfbuzz-ng' + 'third_party/highway' + 'third_party/hunspell' + 'third_party/iccjpeg' + 'third_party/icu' # https://crbug.com/678661. + 'third_party/inspector_protocol' + 'third_party/ipcz' + 'third_party/jinja2' + 'third_party/jsoncpp' + 'third_party/jstemplate' + 'third_party/khronos' + 'third_party/lens_server_proto' + 'third_party/leveldatabase' + 'third_party/libaddressinput' + 'third_party/libaom' + 'third_party/libaom/source/libaom/third_party/fastfeat' + 'third_party/libaom/source/libaom/third_party/SVT-AV1' + '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' + 'third_party/libphonenumber' + 'third_party/libsecret' + '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' + 'third_party/libwebm' + 'third_party/libx11' + 'third_party/libxcb-keysyms' + 'third_party/libxml' #/chromium' + 'third_party/libyuv' + 'third_party/libzip' + 'third_party/lit' +# 'third_party/llvm' + '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_headers' + 'third_party/metrics_proto' + 'third_party/minigbm' + 'third_party/modp_b64' + 'third_party/nasm' + 'third_party/nearby' + 'third_party/neon_2_sse' + 'third_party/node' + 'third_party/omnibox_proto' + 'third_party/one_euro_filter' + 'third_party/openscreen' + 'third_party/ots' + 'third_party/pdfium' + 'third_party/pdfium/third_party/agg23' + 'third_party/pdfium/third_party/bigint' + 'third_party/pdfium/third_party/freetype' + 'third_party/pdfium/third_party/lcms' + 'third_party/pdfium/third_party/libopenjpeg' + 'third_party/pdfium/third_party/libtiff' + 'third_party/perfetto' + 'third_party/perfetto/protos/third_party/chromium' + 'third_party/pffft' + 'third_party/ply' + 'third_party/polymer' + 'third_party/private-join-and-compute' + 'third_party/private_membership' + 'third_party/protobuf' + 'third_party/pthreadpool' + 'third_party/puffin' + 'third_party/pyjson5' + 'third_party/pyyaml' + 'third_party/qcms' + 'third_party/re2' + 'third_party/rnnoise' + 'third_party/rust' + 'third_party/s2cellid' + 'third_party/securemessage' + 'third_party/selenium-atoms' + 'third_party/shell-encryption' + 'third_party/simplejson' + 'third_party/skia' + 'third_party/skia/include/third_party/vulkan' + 'third_party/skia/third_party/vulkanmemoryallocator' + 'third_party/smhasher' + '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' + 'third_party/swiftshader/third_party/SPIRV-Tools' + 'third_party/tensorflow_models' + 'third_party/tensorflow-text' + 'third_party/tflite' + 'third_party/tflite/src/third_party/eigen3' + 'third_party/tflite/src/third_party/fft2d' + 'third_party/tflite/src/third_party/xla' + 'third_party/tflite/src/third_party/xla/third_party/tsl' + 'third_party/ruy' + 'third_party/six' + 'third_party/snappy' + 'third_party/ukey2' + 'third_party/unrar' + 'third_party/utf' + 'third_party/vulkan-deps' + 'third_party/vulkan_memory_allocator' + 'third_party/wayland' + 'third_party/webdriver' + 'third_party/webgpu-cts' + 'third_party/webrtc' + 'third_party/webrtc/common_audio/third_party/ooura' + 'third_party/webrtc/common_audio/third_party/spl_sqrt_floor' + 'third_party/webrtc/modules/third_party/fft' + 'third_party/webrtc/modules/third_party/g711' + 'third_party/webrtc/modules/third_party/g722' + 'third_party/webrtc/rtc_base/third_party/base64' + 'third_party/webrtc/rtc_base/third_party/sigslot' + 'third_party/widevine' + 'third_party/woff2' + 'third_party/wuffs' + 'third_party/x11proto' + 'third_party/xcbproto' + 'third_party/xnnpack' + 'third_party/zlib' # /google + 'third_party/zstd' + '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/third_party/glibc' + 'v8/third_party/inspector_protocol' + 'v8/third_party/v8' + + # gyp -> gn leftovers. + 'third_party/speech-dispatcher' + 'third_party/usb_ids' + 'third_party/xdg-utils' +) # Set build flags. -_flags=( - "custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" - "host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - 'is_debug=false' - 'is_official_build=false' - 'chrome_pgo_phase=0' # unsupported instrumentation profile format version - 'is_component_build=true' - 'enable_widevine=true' - 'enable_hangout_services_extension=true' - "ffmpeg_branding=\"ChromeOS\"" - 'proprietary_codecs=true' - "google_api_key=\"${_google_api_key}\"" - "google_default_client_id=\"${_google_default_client_id}\"" - "google_default_client_secret=\"${_google_default_client_secret}\"" - 'fieldtrial_testing_like_official_build=true' - 'blink_symbol_level=0' - 'use_aura=true' - 'use_gio=false' - 'use_gnome_keyring=false' - 'link_pulseaudio=true' - 'use_sysroot=false' - 'treat_warnings_as_errors=false' - 'enable_nacl=true' - 'enable_nacl_nonsfi=true' - 'use_custom_libcxx=true' # use true if you want use bundled RE2 - 'use_vaapi=true' - 'enable_platform_hevc=true' - 'enable_platform_ac3_eac3_audio=true' - 'enable_platform_mpeg_h_audio=true' - 'enable_platform_dolby_vision=true' - 'enable_mse_mpeg2ts_stream_parser=true' - 'clang_use_chrome_plugins=true' - 'use_gold=false' - 'use_dbus=true' - 'use_ozone=true' - 'ozone_auto_platforms=false' - 'ozone_platform_headless=true' - 'use_thin_lto=false' - ) - -if [ "${_use_wayland}" = "1" ]; then - _flags+=( - 'ozone_platform_wayland=true' - 'use_system_libdrm=true' - 'use_system_minigbm=true' - 'use_system_libwayland=true' - 'use_v4l2_codec=true' - 'use_xkbcommon=true' - "ozone_platform=\"wayland"\" - 'rtc_use_pipewire=true' - 'rtc_pipewire_version="0.3"' # will be the default in Chromium 90 - ) -fi +_flags+=( + "custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" + "host_toolchain=\"//build/toolchain/linux/unbundle:default\"" + 'is_debug=false' + 'symbol_level=0' # sufficient for backtraces on x86(_64) + 'is_official_build=false' + 'chrome_pgo_phase=0' # unsupported instrumentation profile format version + 'is_component_build=true' + 'enable_widevine=true' + 'enable_hangout_services_extension=true' + "ffmpeg_branding=\"ChromeOS\"" + 'proprietary_codecs=true' + "google_api_key=\"${_google_api_key}\"" +# "google_default_client_id=\"${_google_default_client_id}\"" +# "google_default_client_secret=\"${_google_default_client_secret}\"" + 'disable_fieldtrial_testing_config=true' + 'blink_enable_generated_code_formatting=false' + 'blink_symbol_level=0' + 'use_cups=true' + 'use_kerberos=true' + 'use_pulseaudio=true' + 'link_pulseaudio=true' + 'use_vaapi=true' + 'rtc_use_pipewire=true' + 'rtc_link_pipewire=true' + 'use_dbus=true' + 'use_sysroot=false' + 'use_gold=false' + 'treat_warnings_as_errors=false' + 'enable_nacl=true' + 'use_custom_libcxx=true' # use true if you want use bundled RE2 + 'enable_platform_hevc=true' + 'enable_platform_ac3_eac3_audio=true' + 'enable_platform_mpeg_h_audio=true' + 'enable_platform_dolby_vision=true' + 'enable_mse_mpeg2ts_stream_parser=true' + 'is_clang=true' + 'clang_use_chrome_plugins=false' + 'enable_pseudolocales=false' + 'dcheck_always_on=false' + 'dcheck_is_configurable=false' + 'use_system_harfbuzz=true' + 'use_system_freetype=false' + 'use_system_lcms2=true' + 'use_system_libpng=true' + 'use_system_libsync=false' + 'use_system_libopenjpeg2=true' + 'use_system_libffi=true' + 'v8_use_libm_trig_functions=true' +) # Set the bundled/external components. -# TODO: need ported to GN as GYP doing before. see status page: https://crbug.com/551343. -_use_system=( -# 'ffmpeg' # I'm not sure why, but all videos stop playback if use system ffmpeg. - 'flac' - 'fontconfig' - 'freetype' - 'harfbuzz-ng' -# 'icu' # https://crbug.com/678661. - 'libdrm' -# 'libevent' # Get segfaults and other problems https://bugs.gentoo.org/593458. - 'libjpeg' - 'libpng' -# 'libvpx' - 'libwebp' - 'libxml' - 'libxslt' - 'openh264' - 'opus' -# 're2' - 'snappy' -# 'yasm' -# 'zlib' # NaCL needs it - ) +# list of unbundled options: +# https://chromium.googlesource.com/chromium/src/+/refs/tags/${pkgver}/build/linux/unbundle/ +_use_system+=( +# 'absl_algorithm' # NaCL needs the bundled one +# 'absl_base' # NaCL needs the bundled one +# 'absl_cleanup' # NaCL needs the bundled one +# 'absl_container' # NaCL needs the bundled one +# 'absl_debugging' # NaCL needs the bundled one +# 'absl_flags' # NaCL needs the bundled one +# 'absl_functional' # NaCL needs the bundled one +# 'absl_hash' # NaCL needs the bundled one +# 'absl_log' # NaCL needs the bundled one +# 'absl_log_internal' # NaCL needs the bundled one +# 'absl_memory' # NaCL needs the bundled one +# 'absl_meta' # NaCL needs the bundled one +# 'absl_numeric' # NaCL needs the bundled one +# 'absl_random' # NaCL needs the bundled one +# 'absl_status' # NaCL needs the bundled one +# 'absl_strings' # NaCL needs the bundled one +# 'absl_synchronization' # NaCL needs the bundled one +# 'absl_time' # NaCL needs the bundled one +# 'absl_types' # NaCL needs the bundled one +# 'absl_utility' # NaCL needs the bundled one +# 'brotli' # Needs update +# 'crc32c' +# 'dav1d' # Fails due undeclared identifier +# 'double-conversion' # NaCL needs the bundled one +# 'ffmpeg' # I'm not sure why, but all videos stop playback if use system ffmpeg. + 'flac' + 'fontconfig' +# 'freetype' # Neeeds private headers + 'harfbuzz-ng' +# 'icu' # https://crbug.com/678661. +# 'jsoncpp' # Fails due undefined symbols +# 'libaom' # Fails due undeclared identifier +# 'libavif' # Fails due undeclared identifier + 'libdrm' +# 'libevent' # Get segfaults and other problems https://bugs.gentoo.org/593458. + 'libjpeg' + 'libpng' +# 'libvpx' # Some components hardcode the bundled code + 'libwebp' +# 'libxml' +# 'libXNVCtrl.gn' + 'libxslt' +# 'libyuv' # Missing pkg-config file + 'openh264' + 'opus' +# 're2' # Needs disable if build with clang +# 'snappy' # Needs disable if build with clang + 'swiftshader-SPIRV-Headers' +# 'swiftshader-SPIRV-Tools' # Fails due undefined symbols + 'vulkan-SPIRV-Headers' +# 'vulkan-SPIRV-Tools' # Fails due undefined symbols +# 'woff2' # Fails due undefined symbols +# 'zlib' # NaCL needs the bundled one +) + +CFLAGS="${CFLAGS/-march=x86-64 -mtune=generic/}" +CXXFLAGS="${CFLAGS/-march=x86-64 -mtune=generic/}" +CFLAGS="${CFLAGS/-march=native/}" +CXXFLAGS="${CFLAGS/-march=native/}" # Facilitate deterministic builds (taken from build/config/compiler/BUILD.gn). CFLAGS+=' -Wno-builtin-macro-redefined' CXXFLAGS+=' -Wno-builtin-macro-redefined' CPPFLAGS+=' -D__DATE__= -D__TIME__= -D__TIMESTAMP__=' -# Conditionals. -if check_option strip y; then - _flags+=( - 'symbol_level=0' - ) -fi +# Let Chromium set its own symbol level +CFLAGS=${CFLAGS/-g } +CXXFLAGS=${CXXFLAGS/-g } + +# https://github.com/ungoogled-software/ungoogled-chromium-archlinux/issues/123 +CFLAGS=${CFLAGS/-fexceptions} +CFLAGS=${CFLAGS/-fcf-protection} +CXXFLAGS=${CXXFLAGS/-fexceptions} +CXXFLAGS=${CXXFLAGS/-fcf-protection} + +# This appears to cause random segfaults when combined with ThinLTO +# https://bugs.archlinux.org/task/73518 +CFLAGS=${CFLAGS/-fstack-clash-protection} +CXXFLAGS=${CXXFLAGS/-fstack-clash-protection} + +# https://crbug.com/957519#c122 +CXXFLAGS=${CXXFLAGS/-Wp,-D_GLIBCXX_ASSERTIONS} + +# Seems bundled clang don't like Debug flag -fvar-tracking-assignments. +DEBUG_CFLAGS=${DEBUG_CFLAGS/-fvar-tracking-assignments} +DEBUG_CXXFLAGS=${DEBUG_CXXFLAGS/-fvar-tracking-assignments} if check_buildoption ccache y; then # Avoid falling back to preprocessor mode when sources contain time macros. export CCACHE_CPP2=yes export CCACHE_SLOPPINESS=time_macros + _flags+=("cc_wrapper=\"ccache\"") fi if [ ! -f "${BUILDDIR}/PKGBUILD" ]; then _builddir="/${pkgname}" fi -_clang_path="${BUILDDIR}${_builddir}/src/chromium-${pkgver}/third_party/llvm-build/Release+Asserts/bin/" +_clang_path="${BUILDDIR}${_builddir}/src/chromium/third_party/llvm-build/Release+Asserts/bin/" export CC="${_clang_path}clang" export CXX="${_clang_path}clang++" @@ -476,61 +651,78 @@ _lld="ld.lld" ################################################ prepare() { - cd "${srcdir}/chromium-${pkgver}" - - # Force script incompatible with Python 3 to use /usr/bin/python2. - sed -e '1s|python$|&2|' \ - -i third_party/ffmpeg/chromium/scripts/generate_gn.py \ - -i third_party/dom_distiller_js/protoc_plugins/json_values_converter.py \ - -i third_party/dom_distiller_js/protoc_plugins/json_values_converter_tests.py - - # Py3toniced. - 2to3 -w --no-diff build/linux/unbundle/remove_bundled_libraries.py - 2to3 -w --no-diff third_party/ffmpeg/chromium/scripts/build_ffmpeg.py - - # Remove most bundled libraries. Some are still needed. - msg2 "Removing unnecessary components to save disk space." - build/linux/unbundle/remove_bundled_libraries.py ${_keeplibs[@]} --do-remove - msg2 "Changing bundle libraries to system ones." - build/linux/unbundle/replace_gn_files.py --system-libraries ${_use_system[@]} - - msg2 "Setup NaCl/PNaCl SDK: Download and install toolchains" - build/download_nacl_toolchains.py --packages nacl_x86_newlib,pnacl_newlib,pnacl_translator sync --extract - - msg2 "Download prebuild clang from Google" - tools/clang/scripts/update.py + cat >.gclient <<EOF +solutions = [ + { + "name": "src", + "url": "file://${srcdir}/chromium", + "deps_file": "DEPS", + "managed": False, + "custom_deps": { + "src": None, + }, + "custom_vars": {}, + }, +] +EOF + + # enable again nacl(?) + sed "s|'checkout_nacl': 'checkout_chromeos',|'checkout_nacl': 'host_os == \"linux\"',|g" -i chromium/DEPS + + export PATH+=":${PWD}/depot_tools" DEPOT_TOOLS_UPDATE=0 + export VPYTHON_BYPASS='manually managed python not supported by chrome operations' + + echo "Linking chromium from sources..." + ln -s chromium src + + depot_tools/gclient.py sync -D \ + --nohooks \ + --shallow \ + --no-history \ + --no_bootstrap \ + --with_branch_heads \ + --with_tags + + cd "${srcdir}/chromium" + + cp "${srcdir}/gclient_args.gni" build/config/gclient_args.gni + + build/util/lastchange.py -o build/util/LASTCHANGE + build/util/lastchange.py -m GPU_LISTS_VERSION --revision-id-only --header gpu/config/gpu_lists_version.h + build/util/lastchange.py -m SKIA_COMMIT_HASH -s third_party/skia --header skia/ext/skia_commit_hash.h + build/util/lastchange.py -s third_party/dawn --revision gpu/webgpu/DAWN_VERSION # Use chromium-dev as brand name. - sed -e 's|=Chromium|&-dev|g' \ + sed -e 's|=Chromium|&-Dev|g' \ -i chrome/app/theme/chromium/BRANDING sed -e '0,/output_name = "chrome"/s/= "chrome"/= "chromium-dev"/' \ -e 's|root_out_dir/chrome"|root_out_dir/chromium-dev"|g' \ + -e 's|root_out_dir/chrome.debug"|root_out_dir/chromium-dev.debug"|g' \ + -e 's|root_out_dir/chrome.stripped"|root_out_dir/chromium-dev.stripped"|g' \ -i chrome/BUILD.gn sed -e 's|"chromium-browser"|"chromium-dev"|g' \ + -e 's|"Chromium"|"Chromium-Dev"|g' \ -i media/audio/pulse/pulse_util.cc - sed -e 's|"Chromium|&-dev|g' \ + sed -e 's|"Chromium|&-Dev|g' \ -i chrome/common/chrome_constants.cc sed -e 's|chromium-browser|chromium-dev|g' \ - -i chrome/browser/shell_integration_linux.cc \ - -i ui/gtk/gtk_util.cc + -i chrome/browser/shell_integration_linux.cc sed -e 's|chromium|&-dev|' \ -i chrome/common/chrome_paths_linux.cc sed -e 's|/etc/chromium|&-dev|' \ -e 's|/usr/share/chromium|&-dev|' \ - -i chrome/common/chrome_paths.cc + -i chrome/common/chrome_paths.cc \ + -i chrome/browser/web_applications/preinstalled_web_apps/README.md \ + -i chrome/browser/web_applications/preinstalled_web_app_manager.cc sed -e 's|/etc/chromium|&-dev|' \ - -e "s|'app_name': 'Chromium|&-dev|g" \ + -e "s|'app_name': 'Chromium|&-Dev|g" \ -i components/policy/tools/template_writers/writer_configuration.py # Fix(?) the name of the sandbox. sed -e 's|chrome-sandbox|chrome_sandbox|g'\ - -i sandbox/linux/suid/client/setuid_sandbox_host.cc - - # If use ccache, set it. - if check_buildoption ccache y; then - sed '36s|""|'ccache'|g' -i build/toolchain/cc_wrapper.gni - fi + -i sandbox/linux/suid/client/setuid_sandbox_host.cc \ + -i sandbox/linux/suid/client/setuid_sandbox_host.h msg2 "Patching the sources" @@ -548,18 +740,32 @@ prepare() { -e 's/\<xmlFree\>/free/' \ -i third_party/blink/renderer/core/xml/*.cc \ -i third_party/blink/renderer/core/xml/parser/xml_document_parser.cc \ - -i third_party/libxml/chromium/libxml_utils.cc + -i third_party/libxml/chromium/*.cc \ + -i third_party/maldoca/src/maldoca/ole/oss_utils.h + + # "unbundle" speech-dispatcher + _speechd_headers=( + 'libspeechd_version.h' + 'spd_audio_plugin.h' + 'speechd_defines.h' + 'speechd_types.h' + ) + for _i in "${_speechd_headers[@]}"; do + cp "/usr/include/speech-dispatcher/${_i}" "third_party/speech-dispatcher/${_i}" + done - ln -s /usr/bin/java third_party/jdk/current/bin/java + # # Patch from Gentoo + patch -p1 -i "${srcdir}/chromium-cross-compile.patch" + patch -p1 -i "${srcdir}/chromium-111-InkDropHost-crash.patch" + patch -p1 -i "${srcdir}/chromium-117-system-zstd.patch" + patch -p1 -i "${srcdir}/chromium-124-libwebp-shim-sharpyuv.patch" - # Fix build if enable HEVC in non-chromeOS system - patch -p1 -i "${srcdir}/fix_hevc_in_non_cromeos_r1.patch" + if [ "${_USE_QT6}" == "1" ]; then + patch -p1 -i "${srcdir}/chromium-qt6.patch" + fi - # # Patch from Gentoo - patch -p1 -i "${srcdir}/chromium-89-EnumTable-crash.patch" - patch -p1 -i "${srcdir}/chromium-shim_headers.patch" - patch -p1 -i "${srcdir}/chromium-91-ThemeService-crash.patch" - patch -p1 -i "${srcdir}/chromium-91-system-icu.patch" + mkdir -p buildtools/third_party/eu-strip/bin + ln -sf /usr/bin/true buildtools/third_party/eu-strip/bin/eu-strip # # Patch from crbug.com (chromium bugtracker), chromium-review.googlesource.com / Gerrit or Arch chromium package. @@ -568,46 +774,78 @@ prepare() { # runtime -- this allows signing into Chromium without baked-in values patch -p1 -i "${srcdir}/use-oauth2-client-switches-as-default.patch" - # https://crbug.com/1164975 - patch -p1 -i "${srcdir}/chromium-glibc-2.33.patch" - sed '34i#define AT_EMPTY_PATH 0x1000' -i sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc - # Upstream fixes - # Setup nodejs dependency. - mkdir -p third_party/node/linux/node-linux-x64/bin/ - ln -sf /usr/bin/node third_party/node/linux/node-linux-x64/bin/node # Use the file at run time instead of effectively compiling it in. - sed 's|//third_party/usb_ids/usb.ids|/usr/share/hwdata/usb.ids|g' -i services/device/usb/BUILD.gn + sed 's|//third_party/usb_ids/usb.ids|/usr/share/hwdata/usb.ids|g' \ + -i services/device/usb/BUILD.gn # Setup the linker in chromium. sed "s|-fuse-ld=lld|-fuse-ld=${_clang_path}${_lld}|g" \ - -i third_party/ffmpeg/chromium/scripts/build_ffmpeg.py \ + -i media/ffmpeg/scripts/build_ffmpeg.py \ -i build/config/compiler/BUILD.gn # Setup bundled ffmpeg. # Add build verbose output. # setup all cores - sed -e "s|'make', '-j|'make', 'V=1', '-j|g" \ + # comment out --disable-iamf + sed -e "s|'make', '-j|'make', $_verbose_ffmpeg '-j|g" \ -e "s|parallel_jobs = 8|parallel_jobs = $(nproc)|g" \ - -i third_party/ffmpeg/chromium/scripts/build_ffmpeg.py + -i media/ffmpeg/scripts/build_ffmpeg.py + sed -e "s|, \"src\"|, \"chromium\"|g" \ + -e 's|makeinfo|mkeinfo|g' \ + -i media/ffmpeg/scripts/robo_lib/config.py + sed '/iamf/s/^/#/g' -i media/ffmpeg/scripts/build_ffmpeg.py + # Use system opus. - rm -fr third_party/opus/src/include - ln -sf /usr/include/opus/ third_party/opus/src/include + patch -d media/ffmpeg -p4 -i "${srcdir}/system-opus.diff" + + # Use system openh264 + if [ -d /usr/include/openh264 ]; then + sed 's|wels/|openh264/wels/|g' \ + -i build/linux/unbundle/openh264.gn + fi + + # Remove most bundled libraries. Some are still needed. + msg2 "Removing unnecessary components to save disk space." + build/linux/unbundle/remove_bundled_libraries.py ${_keeplibs[@]} --do-remove + + msg2 "Changing bundle libraries to system ones." + build/linux/unbundle/replace_gn_files.py --system-libraries ${_use_system[@]} + + msg2 "Setup NaCl/PNaCl SDK: Download and install toolchains" + build/download_nacl_toolchains.py --packages saigo_newlib,nacl_x86_newlib,pnacl_newlib,pnacl_translator sync --extract + + msg2 "Download prebuild clang from Google" + tools/clang/scripts/update.py + + msg2 "Download prebuild rust from Google" + tools/rust/update_rust.py + + msg2 "Download prebuild node,js from Google" + # Setup nodejs dependency. + ( + cd third_party/node + sed -E -e '/mac/d' -e '/^update_win\n/d' -i update_node_binaries + ./update_node_binaries + ./update_npm_deps + ) } build() { - # set python 2 for build pnacl. - export PNACLPYTHON=/usr/bin/python2 + # set python for build pnacl. + export PNACLPYTHON=/usr/bin/python +# 'snappy' +# 'minizip' + + export PATH="${_clang_path}:$PATH" msg2 "Build the Launcher" make -C chromium-launcher \ CHROMIUM_SUFFIX="-dev" - cd "chromium-${pkgver}" - - #echo ${_flags[@]} + cd "${srcdir}/chromium" msg2 "Build bundled ffmpeg" pushd third_party/ffmpeg &> /dev/null @@ -616,31 +854,81 @@ build() { # bfd plugin: LLVM gold plugin has failed to create LTO module: Unknown attribute kind (60) (Producer: 'LLVM9.0.0svn' Reader: 'LLVM 8.0.0') # when you have installed clang in the system. # Use bundled clang - chromium/scripts/build_ffmpeg.py linux x64 --branding ChromeOS -- \ - --disable-lto \ + ../../media/ffmpeg/scripts/build_ffmpeg.py linux x64 --branding ChromeOS -- \ + --enable-lto=no \ --cc="${_clang_path}clang" \ --cxx="${_clang_path}clang++" \ --ld="${_clang_path}clang" \ --ar="${_clang_path}llvm-ar" \ + --disable-doc # --disable-asm + cat "${srcdir}/copy_config.base64" | base64 -d > chromium/scripts/copy_config.sh; chmod +x chromium/scripts/copy_config.sh chromium/scripts/copy_config.sh - chromium/scripts/generate_gn.py + ../../media/ffmpeg/scripts/generate_gn.py popd &> /dev/null - # new chromium seems not like this flag. see base/allocator/allocator_shim.cc:408 - CFLAGS="${CFLAGS/-fexceptions/}" - CXXFLAGS="${CXXFLAGS/-fexceptions/}" - msg2 "Starting building Chromium..." - LC_ALL=C buildtools/linux64/gn gen out/Release -v --args="${_flags[*]}" --script-executable=/usr/bin/python + msg2 "Flags Active:" + echo ${_flags[@]} + LC_ALL=C gn gen out/Release $_verbose_output --args="${_flags[*]}" --script-executable=/usr/bin/python + # LC_ALL=C gn args --list out/Release && exit # DEBUG: this command list the build options. only available if configure is sucessfull # Build all. - LC_ALL=C ninja -C out/Release -v chrome chrome_sandbox chromedriver + LC_ALL=C ninja -C out/Release $_verbose_output chrome chrome_sandbox chromedriver.unstripped } package() { - options=('!strip') + depends+=( +# 'libgcc_s.so' 'libstdc++.so' +# 'ld-linux-x86-64.so' 'libc.so' 'libm.so' + 'libFLAC.so' + 'libasound.so' +# 'libbrotlidec.so' +# 'libcups.so' + 'libdbus-1.so' +# 'libdrm.so' + 'libexpat.so' + 'libffi.so' + 'libfontconfig.so' 'libfontconfig.so' +# 'libfreetype.so' + 'libgio-2.0.so' 'libglib-2.0.so' 'libgobject-2.0.so' + 'libharfbuzz-subset.so' 'libharfbuzz.so' + 'libjpeg.so' + 'liblcms2.so' + 'libopenh264.so' + 'libopus.so' + 'libpango-1.0.so' + 'libpipewire-0.3.so' + 'libpng16.so' + 'libpulse.so' + 'libwebp.so' 'libwebpdemux.so' 'libwebpmux.so' +# 'libX11.so' +# 'libxcb.so' +# 'libXcomposite.so' +# 'libXdamage.so' +# 'libXext.so' +# 'libXfixes.so' + 'libxkbcommon.so' + 'libxml2.so' +# 'libXrandr.so' +# 'libXtst.so' + 'libxslt.so' +# 'libgbm.so' +# 'libnspr4.so' +# 'libnss3.so' 'libnssutil3.so' 'libsmime3.so' +# 'libopenjp2.so' +# 'libdav1d.so' +# 'libyuv.so' +# 'libjsoncpp.so' +# 'libaom.so' +# 'libvpx.so' +# 'libva-drm.so=' 'libva-glx.so' 'libva-wayland.so' 'libva-x11.so' 'libva.so' +# 'libprotobuf.so' +# 'libevent-2.1.so' 'libevent_core-2.1.so' 'libevent_extra-2.1.so' 'libevent_openssl-2.1.so' 'libevent_pthreads-2.1.so' +# 'libavcodec.so' 'libavdevice.so' 'libavfilter.so' 'libavformat.so' 'libavutil.so' 'libpostproc.so' 'libswresample.so' 'libswscale.so' +# 'libre2.so' + ) # Install launcher. make -C chromium-launcher \ @@ -649,95 +937,85 @@ package() { DESTDIR="${pkgdir}" \ install install -Dm644 "chromium-launcher/LICENSE" "${pkgdir}/usr/share/licenses/chromium-dev/LICENSE.launcher" - strip $STRIP_BINARIES "${pkgdir}/usr/bin/chromium-dev" - pushd "chromium-${pkgver}/out/Release" &> /dev/null + pushd "chromium/out/Release" &> /dev/null # Install binaries. _bin=( - 'chromium-dev' - 'chrome_sandbox' - 'chromedriver' - 'crashpad_handler' - ) + 'chromium-dev' + 'chrome_sandbox' + 'chromedriver.unstripped' + 'chrome_crashpad_handler' + ) for i in "${_bin[@]}"; do case "$i" in chrome_sandbox) install -Dm4755 "${i}" "${pkgdir}/usr/lib/chromium-dev/${i}" ;; + chromedriver.unstripped) + install -Dm775 "${i}" "${pkgdir}/usr/lib/chromium-dev/chromedriver" + ;; *) install -Dm755 "${i}" "${pkgdir}/usr/lib/chromium-dev/${i}" ;; esac - strip $STRIP_BINARIES "${pkgdir}/usr/lib/chromium-dev/${i}" done ln -sf /usr/lib/chromium-dev/chromedriver "${pkgdir}/usr/bin/chromedriver-dev" # Install libs. - for i in lib*.so swiftshader/lib*.so; do - install -Dm755 "${i}" "${pkgdir}/usr/lib/chromium-dev/${i}" - strip $STRIP_SHARED "${pkgdir}/usr/lib/chromium-dev/${i}" + for _i in lib*.so; do + install -Dm755 "${_i}" "${pkgdir}/usr/lib/chromium-dev/${_i}" done + local _blobs _blobs=( - 'snapshot_blob.bin' - 'v8_context_snapshot.bin' - 'icudtl.dat' # https://crbug.com/678661. - 'MEIPreload/manifest.json' - 'MEIPreload/preloaded_data.pb' - 'vk_swiftshader_icd.json' - ) - - if [ "${_use_wayland}" = "0" ]; then - _blobs+=( - 'angledata/VkICD_mock_icd.json' - ) - fi - - for i in "${_blobs[@]}"; do - install -Dm644 "${i}" "${pkgdir}/usr/lib/chromium-dev/${i}" + 'snapshot_blob.bin' + 'v8_context_snapshot.bin' + 'icudtl.dat' # https://crbug.com/678661. + 'MEIPreload/manifest.json' + 'MEIPreload/preloaded_data.pb' + ) + + for _i in "${_blobs[@]}"; do + install -Dm644 "${_i}" "${pkgdir}/usr/lib/chromium-dev/${_i}" done # Install NaCL. + local _nacl_libs _nacl_libs=( - 'nacl_helper' - 'nacl_helper_bootstrap' - 'nacl_helper_nonsfi' - 'nacl_irt_x86_64.nexe' - ) - for i in "${_nacl_libs[@]}"; do - install -Dm755 "${i}" "${pkgdir}/usr/lib/chromium-dev/${i}" - case "$i" in - nacl_irt_x86_64.nexe) - ;; - *) - strip $STRIP_BINARIES "${pkgdir}/usr/lib/chromium-dev/${i}" - ;; - esac + 'nacl_helper' + 'nacl_helper_bootstrap' + 'nacl_irt_x86_64.nexe' + ) + for _i in "${_nacl_libs[@]}"; do + install -Dm755 "${_i}" "${pkgdir}/usr/lib/chromium-dev/${_i}" done # Install Resources. + local _resources _resources=( - 'chrome_100_percent.pak' - 'chrome_200_percent.pak' - 'headless_lib.pak' - 'resources.pak' - ) - for i in "${_resources[@]}"; do - install -Dm644 "${i}" "${pkgdir}/usr/lib/chromium-dev/${i}" + 'chrome_100_percent.pak' + 'chrome_200_percent.pak' + 'headless_command_resources.pak' + 'headless_lib_data.pak' + 'headless_lib_strings.pak' + 'resources.pak' + ) + for _i in "${_resources[@]}"; do + install -Dm644 "${_i}" "${pkgdir}/usr/lib/chromium-dev/${_i}" done # Set info. - source "${srcdir}/chromium-${pkgver}/chrome/installer/linux/common/installer.include" + source "${srcdir}/chromium/chrome/installer/linux/common/installer.include" PACKAGE=chromium-dev PROGNAME=chromium-dev MENUNAME="Chromium-dev Web Browser" USR_BIN_SYMLINK_NAME=chromium-dev # Install .desktop and manpages. - process_template "${srcdir}/chromium-${pkgver}/chrome/app/resources/manpage.1.in" chromium-dev.1 + process_template "${srcdir}/chromium/chrome/app/resources/manpage.1.in" chromium-dev.1 install -Dm644 chromium-dev.1 "${pkgdir}/usr/share/man/man1/chromium-dev.1" - process_template "${srcdir}/chromium-${pkgver}/chrome/installer/linux/common/desktop.template" chromium-dev.desktop + process_template "${srcdir}/chromium/chrome/installer/linux/common/desktop.template" chromium-dev.desktop install -Dm644 chromium-dev.desktop "${pkgdir}/usr/share/applications/chromium-dev.desktop" # Install locales. @@ -746,8 +1024,8 @@ package() { # Install icons. for _size in 16 24 32 48 64 128 256; do case "${_size}" in - 16|32) _branding="${srcdir}/chromium-${pkgver}/chrome/app/theme/default_100_percent/chromium" ;; - *) _branding="${srcdir}/chromium-${pkgver}/chrome/app/theme/chromium" ;; + 16|32) local _branding="${srcdir}/chromium/chrome/app/theme/default_100_percent/chromium" ;; + *) local _branding="${srcdir}/chromium/chrome/app/theme/chromium" ;; esac install -Dm644 "${_branding}/product_logo_${_size}.png" "${pkgdir}/usr/share/icons/hicolor/${_size}x${_size}/apps/chromium-dev.png" done @@ -756,5 +1034,5 @@ package() { popd &> /dev/null # Install License. - install -Dm644 "chromium-${pkgver}/LICENSE" "${pkgdir}/usr/share/licenses/chromium-dev/LICENSE" + install -Dm644 "chromium/LICENSE" "${pkgdir}/usr/share/licenses/chromium-dev/LICENSE" } diff --git a/chromium-dev.install b/chromium-dev.install index d6ff195f31f0..47ab9c9514c5 100644 --- a/chromium-dev.install +++ b/chromium-dev.install @@ -25,7 +25,14 @@ ${green}==>${all_off} ${bold}Chromium-dev Policy path:${all_off} ${green}==>${all_off} ${bold}Chromium-dev Native Messaging Hosts path:${all_off} ${blue}->${all_off} Is stored into '${bold}/etc/chromium-dev/native-messaging-hosts${all_off}'. ${green}==>${all_off} ${bold}Chromium-dev external extensions path:${all_off} - ${blue}->${all_off} Is stored into '${bold}/usr/share/chromium-dev/extensions${all_off}'.\n" + ${blue}->${all_off} Is stored into '${bold}/usr/share/chromium-dev/extensions${all_off}'. +${green}==>${all_off} ${bold}Chromium detects Qt5 or Qt6 based on your desktop environment (if you builded with Qt5/6 support enabled):${all_off} + ${blue}->${all_off} To override you needs add '${bold}--qt-version=5${all_off}' or '${bold}--qt-version=6${all_off}' + into '${bold}chromium-dev-flags.conf${all_off}' file under '${bold}\x24HOME/.config/${all_off}' (or ${bold}\x24XDG_CONFIG_HOME${all_off}). +${green}==>${all_off} ${bold}Screencast is disabled by default at runtime:${all_off} + ${blue}->${all_off} Either enable it by navigating to '${bold}chrome://flags/#enable-webrtc-pipewire-capturer${all_off}' inside Chromium + or add '${bold}--enable-features=WebRTCPipeWireCapturer${all_off}' into '${bold}chromium-dev-flags.conf${all_off}' file + under '${bold}\x24HOME/.config/${all_off}' (or ${bold}\x24XDG_CONFIG_HOME${all_off}).\n" } post_install() { diff --git a/chromium-dev.svg b/chromium-dev.svg index 7ed1fb87db3c..b1134e4ac77b 100644 --- a/chromium-dev.svg +++ b/chromium-dev.svg @@ -1,43 +1,21 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> -<!-- Created with Inkscape (http://www.inkscape.org/) --> - <svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" - xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + id="svg2" version="1.1" - width="256" - height="256" - id="svg3039" - inkscape:version="0.47 r22583" - sodipodi:docname="Chromium_11_Logo.svg"> - <sodipodi:namedview - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1" - objecttolerance="10" - gridtolerance="10" - guidetolerance="10" - inkscape:pageopacity="0" - inkscape:pageshadow="2" - inkscape:window-width="1280" - inkscape:window-height="750" - id="namedview6" - showgrid="false" - inkscape:zoom="1.4142136" - inkscape:cx="372.87473" - inkscape:cy="103.791" - inkscape:window-x="-8" - inkscape:window-y="-8" - inkscape:window-maximized="1" - inkscape:current-layer="svg3039" /> + inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)" + width="512" + height="512" + sodipodi:docname="chromiumnewlogo.svg" + viewBox="0 0 512 512"> <metadata - id="metadata3045"> + id="metadata8"> <rdf:RDF> <cc:Work rdf:about=""> @@ -49,229 +27,118 @@ </rdf:RDF> </metadata> <defs - id="defs3043"> - <linearGradient - id="linearGradient3803"> - <stop - style="stop-color:#d7def0;stop-opacity:1;" - offset="0" - id="stop3805" /> - <stop - id="stop3811" - offset="0.5" - style="stop-color:#ffffff;stop-opacity:1" /> - <stop - style="stop-color:#d5def0;stop-opacity:1" - offset="1" - id="stop3807" /> - </linearGradient> - <linearGradient - id="linearGradient3776" - inkscape:collect="always"> - <stop - id="stop3778" - offset="0" - style="stop-color:#b2cde9;stop-opacity:1" /> - <stop - id="stop3780" - offset="1" - style="stop-color:#c4dbee;stop-opacity:1" /> - </linearGradient> - <linearGradient - id="linearGradient3750"> - <stop - id="stop3752" - offset="0" - style="stop-color:#d0e2f1;stop-opacity:1" /> - <stop - style="stop-color:#cadef0;stop-opacity:1" - offset="0.85580856" - id="stop3756" /> - <stop - id="stop3754" - offset="1" - style="stop-color:#95bee3;stop-opacity:1" /> - </linearGradient> - <linearGradient - id="linearGradient3708"> - <stop - style="stop-color:#658db6;stop-opacity:1" - offset="0" - id="stop3710" /> - <stop - id="stop3716" - offset="0.76777935" - style="stop-color:#527fab;stop-opacity:1;" /> - <stop - style="stop-color:#4071a0;stop-opacity:1" - offset="1" - id="stop3712" /> - </linearGradient> - <linearGradient - id="linearGradient3698"> - <stop - style="stop-color:#96d0e1;stop-opacity:1" - offset="0" - id="stop3700" /> - <stop - id="stop3706" - offset="0.67819428" - style="stop-color:#89b7e1;stop-opacity:1" /> - <stop - style="stop-color:#699dd3;stop-opacity:1" - offset="1" - id="stop3702" /> - </linearGradient> - <linearGradient - inkscape:collect="always" - id="linearGradient3647"> - <stop - style="stop-color:#3b79bc;stop-opacity:1;" - offset="0" - id="stop3649" /> - <stop - style="stop-color:#94b8e0;stop-opacity:1" - offset="1" - id="stop3651" /> - </linearGradient> - <linearGradient - inkscape:collect="always" - id="linearGradient3588"> - <stop - style="stop-color:#ffffff;stop-opacity:1" - offset="0" - id="stop3590" /> - <stop - style="stop-color:#000000;stop-opacity:0;" - offset="1" - id="stop3592" /> - </linearGradient> - <radialGradient - inkscape:collect="always" - xlink:href="#linearGradient3588" - id="radialGradient3594" - cx="-118.77966" - cy="121.49152" - fx="-118.77966" - fy="121.49152" - r="25.491526" - gradientUnits="userSpaceOnUse" - gradientTransform="matrix(0.02177942,-0.95743591,0.97872327,0.02221687,-235.0993,5.0684454)" /> - <linearGradient - inkscape:collect="always" - xlink:href="#linearGradient3647" - id="linearGradient3653" - x1="-397.81323" - y1="149.18764" - x2="-397.55933" - y2="51.355946" - gradientUnits="userSpaceOnUse" /> - <radialGradient - inkscape:collect="always" - xlink:href="#linearGradient3698" - id="radialGradient3704" - cx="-383.2746" - cy="217.91029" - fx="-383.2746" - fy="217.91029" - r="59.401995" - gradientTransform="matrix(-1.2861568,-0.08596317,0.11453678,-1.7136762,-425.01982,469.50099)" - gradientUnits="userSpaceOnUse" /> - <radialGradient - inkscape:collect="always" - xlink:href="#linearGradient3708" - id="radialGradient3714" - cx="-123.5" - cy="-11.570732" - fx="-123.5" - fy="-11.570732" - r="95.627118" - gradientTransform="matrix(-0.00756512,0.55751399,-1.0314585,-0.01398286,113.23967,103.212)" - gradientUnits="userSpaceOnUse" /> - <radialGradient - inkscape:collect="always" - xlink:href="#linearGradient3750" - id="radialGradient3748" - cx="-94.87291" - cy="165.27281" - fx="-94.87291" - fy="165.27281" - r="60.481357" - gradientTransform="matrix(0.81293878,1.6998003,-2.1519091,1.0291615,564.39485,118.47915)" - gradientUnits="userSpaceOnUse" /> - <linearGradient - inkscape:collect="always" - xlink:href="#linearGradient3776" - id="linearGradient3774" - x1="162.07127" - y1="85.239708" - x2="220.76114" - y2="78.875748" - gradientUnits="userSpaceOnUse" - gradientTransform="translate(3.3917128,7.418629)" /> - <linearGradient - inkscape:collect="always" - xlink:href="#linearGradient3803" - id="linearGradient3809" - x1="-382.04123" - y1="37.280548" - x2="-381.39438" - y2="165.56691" - gradientUnits="userSpaceOnUse" /> + id="defs6"> + <clipPath + id="clipPath3947" + clipPathUnits="userSpaceOnUse"> + <ellipse + ry="212.23589" + rx="203.24309" + cy="256.47083" + cx="256.52075" + id="ellipse3949" + style="opacity:1;fill:#ffc82d;fill-opacity:1;stroke:none;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + </clipPath> + <clipPath + id="clipPath4806" + clipPathUnits="userSpaceOnUse"> + <circle + r="211.62711" + cy="248.91539" + cx="249.4608" + id="circle4808" + style="opacity:1;fill:#f6c439;fill-opacity:1;stroke:none;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + </clipPath> + <clipPath + id="clipPath4837" + clipPathUnits="userSpaceOnUse"> + <circle + r="207.13615" + cy="256" + cx="256" + id="circle4839" + style="opacity:1;fill:#0fa15f;fill-opacity:1;stroke:none;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + </clipPath> + <clipPath + id="clipPath5050" + clipPathUnits="userSpaceOnUse"> + <path + inkscape:connector-curvature="0" + id="path5052" + d="M 255.99999,45.26758 A 210.73167,210.73167 0 0 0 45.267565,256 210.73167,210.73167 0 0 0 255.99999,466.73242 210.73167,210.73167 0 0 0 466.73244,256 210.73167,210.73167 0 0 0 255.99999,45.26758 Z m 0,111.84375 A 98.888542,98.888542 0 0 1 354.88866,256 98.888542,98.888542 0 0 1 255.99999,354.88867 98.888542,98.888542 0 0 1 157.11132,256 98.888542,98.888542 0 0 1 255.99999,157.11133 Z" + style="opacity:1;fill:#f9f9f9;fill-opacity:1;stroke:none;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + </clipPath> + <clipPath + id="clipPath5127" + clipPathUnits="userSpaceOnUse"> + <path + inkscape:connector-curvature="0" + id="path5129" + d="M 255.99999,45.26758 A 210.73167,210.73167 0 0 0 45.26756,256 210.73167,210.73167 0 0 0 255.99999,466.73242 210.73167,210.73167 0 0 0 466.73244,256 210.73167,210.73167 0 0 0 255.99999,45.26758 Z m 0,111.84375 A 98.888542,98.888542 0 0 1 354.88864,256 98.888542,98.888542 0 0 1 255.99999,354.88867 98.888542,98.888542 0 0 1 157.11132,256 98.888542,98.888542 0 0 1 255.99999,157.11133 Z" + style="opacity:1;fill:#f9f9f9;fill-opacity:1;stroke:none;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + </clipPath> </defs> + <sodipodi:namedview + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:window-width="1366" + inkscape:window-height="715" + id="namedview4" + showgrid="false" + inkscape:zoom="0.7653989" + inkscape:cx="356.58999" + inkscape:cy="256.99769" + inkscape:window-x="-8" + inkscape:window-y="-8" + inkscape:window-maximized="1" + inkscape:current-layer="svg2" + inkscape:document-units="px" + inkscape:document-rotation="0" /> <path - sodipodi:type="arc" - style="fill:url(#radialGradient3594);fill-opacity:1;fill-rule:nonzero;stroke:none" - id="path2814" - sodipodi:cx="-118.23729" - sodipodi:cy="122.57627" - sodipodi:rx="25.491526" - sodipodi:ry="25.491526" - d="m -92.745764,122.57627 a 25.491526,25.491526 0 1 1 -50.983056,0 25.491526,25.491526 0 1 1 50.983056,0 z" - transform="matrix(4.680851,0,0,4.7978723,685.10478,-449.69946)" /> - <path - style="fill:url(#linearGradient3774);fill-opacity:1;fill-rule:nonzero;stroke:none" - d="m 232.17258,88.120422 c 0,15.673918 -19.79135,34.931518 -45.84395,34.931518 -26.0526,0 -59.92241,-16.08123 -59.92241,-31.755152 0,-15.673924 21.11981,-28.38015 47.17241,-28.38015 19.90254,0 46.36122,18.293224 56.45971,20.3521 0.79179,1.710571 1.36862,2.925087 2.13424,4.851684 z" - id="path3655" - sodipodi:nodetypes="cssscc" /> - <path - style="fill:#2e5c91;fill-opacity:1;fill-rule:nonzero;stroke:none" - d="m 38.822019,65.971523 c 12.38148,-9.610993 35.314514,-1.245318 51.289554,19.334679 15.975027,20.579998 17.694937,51.065068 5.31349,60.676058 -12.38147,9.61099 -34.17571,-5.29155 -50.15074,-25.87156 -12.20392,-15.72181 -4.05062,-41.19089 -8.61646,-50.430553 0.61589,-1.122052 1.381696,-2.456607 2.164156,-3.708624 z" - id="path3655-4-8" - sodipodi:nodetypes="cssscc" /> - <path - style="fill:url(#radialGradient3714);fill-opacity:1;fill-rule:nonzero;stroke:none" - d="m 230.04347,83.261765 c -7.0081,-0.03265 -61.07025,0.289575 -107.66568,0.0654 -17.371,5.108098 -31.704627,13.258827 -39.181777,29.154945 -5.33639,-4.54237 -40.74576,-42.215609 -44.40678,-46.440684 31.38983,-41.648805 74.528017,-45.559321 82.915257,-45.559321 8.38724,0 70.64407,-8.631855 108.33898,62.77966 z" - id="path3596" - sodipodi:nodetypes="ccccsc" /> - <path - style="fill:#699dd3;fill-opacity:1;fill-rule:nonzero;stroke:none" - d="m 117.12454,243.96815 c -12.49835,-9.45851 -14.5752,-36.93927 1.14635,-57.71356 15.72155,-20.77428 41.03582,-34.94753 53.53417,-25.48904 12.49834,9.4585 7.44792,38.96701 -8.27364,59.74129 -12.01027,15.87024 -35.4911,16.88498 -43.22681,23.69505 -1.23894,-0.0455 -1.95523,-0.0605 -3.18007,-0.23374 z" - id="path3655-4" - sodipodi:nodetypes="cssscc" /> - <path - style="fill:url(#radialGradient3748);fill-opacity:1;fill-rule:nonzero;stroke:none" - d="m 120.3032,244.20103 c 3.58354,-6.02268 28.85859,-52.8991 52.69131,-92.9389 4.41104,-17.56095 5.34663,-33.64185 -4.5584,-48.14993 6.62173,-2.29412 58.23852,-13.976353 63.73684,-14.987686 19.9656,48.180076 1.44992,87.338276 -2.80522,94.565966 -4.25515,7.22768 -28.40179,65.25666 -109.06453,61.51055 z" - id="path3596-1" - sodipodi:nodetypes="ccccsc" /> - <path - style="fill:url(#radialGradient3704);fill-opacity:1;fill-rule:nonzero;stroke:none" - d="m 36.696853,69.642524 c 3.46858,6.089612 30.72312,52.780196 53.77852,93.272576 13.094367,12.50527 27.684997,19.48512 45.191737,18.03328 -1.2738,6.89113 -16.62898,57.75037 -18.4638,63.03126 -51.756237,-6.42158 -76.669777,-41.85476 -80.854757,-49.1233 -4.18497,-7.26855 -42.7297502,-56.91452 0.3483,-125.213816 z" - id="path3596-1-7" - sodipodi:nodetypes="ccccsc" /> + style="opacity:1;fill:#91b0e8;fill-opacity:1;stroke:none;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + d="m 455.38343,151.67357 c -315.14389,251.77256 -157.57195,125.88628 0,0 z m 0,0 -182.15835,0.0709 c 50.16028,8.2262 88.43552,51.76739 88.43598,104.25553 -0.0369,25.81373 -9.52228,50.72096 -26.66551,70.02016 l -90.33991,154.69625 c 3.75834,0.18663 7.53969,0.28361 11.34436,0.2836 124.26425,4.4e-4 225.00044,-100.73575 225,-225 1.4e-4,-37.65523 -9.26487,-73.14043 -25.61657,-104.32643 z" + id="path4797" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccccccssc" /> <path - transform="matrix(0.77294737,0,0,0.77619098,435.90647,53.275706)" - style="fill:url(#linearGradient3653);fill-opacity:1;stroke:url(#linearGradient3809);stroke-width:10.07013607;stroke-miterlimit:4;stroke-opacity:1" - d="m -338.44068,101.42373 c 0,32.65032 -26.46832,59.11864 -59.11865,59.11864 -32.65032,0 -59.11864,-26.46832 -59.11864,-59.11864 0,-32.650327 26.46832,-59.118646 59.11864,-59.118646 32.65033,0 59.11865,26.468319 59.11865,59.118646 z" - id="path3645" /> + style="fill:#396BD7;fill-opacity:1;stroke-width:1.19056" + clip-path="none" + d="M 256,30.999995 C 175.10717,30.999707 104.19611,73.695969 64.543022,137.77464 L 152.34506,276.05075 C 152.75237,282.63197 150.34377,256.47274 150.33894,256 150.33945,197.64522 197.64522,150.33945 256,150.33894 c 5.47864,0.0439 16.79301,1.14833 22.19877,2.04005 l 177.18466,-0.70542 C 417.77367,79.944188 342.60901,30.999685 256,30.999995 Z M 64.515913,137.81843 c -54.565551,261.00932 -27.28277,130.50467 0,0 z" + id="path3923" + inkscape:connector-curvature="0" + sodipodi:nodetypes="sccccccscc" /> <path - style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" - d="m 163.54619,108.89582 c 18.52979,17.09836 16.03302,29.55794 10.0625,44 -3.10892,-22.25001 -2.34478,-32.42697 -10.0625,-44 z" - id="rect3782" - sodipodi:nodetypes="ccc" /> + style="fill:#6199F6;fill-opacity:1;stroke-width:1.19056" + clip-path="none" + d="M 64.543022,137.77464 C 43.282672,172.13098 30.99984,212.6286 31,256 30.999573,376.45958 125.66286,474.80722 244.65564,480.7164 L 334.99555,326.02016 C 314.97124,348.64934 286.21674,361.62269 256,361.66106 205.40869,361.61946 161.94586,325.72274 152.34506,276.05075 Z" + id="path3923-1" + inkscape:connector-curvature="0" + sodipodi:nodetypes="csccccc" /> + <circle + style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="path4162" + cx="256" + cy="256" + r="105.66199" /> + <circle + style="opacity:1;fill:#4688F4;fill-opacity:1;stroke:none;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="path3956" + cx="256" + cy="256" + clip-path="none" + r="87.187675" /> <path - style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" - d="m 101.42092,173.63924 c -22.645593,-14.47335 -29.809884,-45.71983 -8.813354,-62.99032 -10.847561,19.77514 -6.225429,32.39863 8.813354,62.99032 z" - id="rect3782-4" - sodipodi:nodetypes="ccc" /> + inkscape:connector-curvature="0" + style="opacity:0.1;fill:#367100;fill-opacity:1;stroke:none;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + d="m 76.519531,145.27539 82.558589,129.43945 31.16747,-34.48226 z m 366.238279,12.96484 -165.96669,0.70953 16.34175,37.87768 149.62494,-38.58717 z m -167.4029,150.67233 -29.98186,157.57377 84.55468,-144.8086 z" + id="rect5020-5-5" + clip-path="url(#clipPath5127)" + transform="matrix(1.0677047,0,0,1.0677047,-17.332409,-17.332414)" + sodipodi:nodetypes="ccccccccccccc" /> </svg> diff --git a/chromium-qt6.patch b/chromium-qt6.patch new file mode 100644 index 000000000000..4d4eb1e357c3 --- /dev/null +++ b/chromium-qt6.patch @@ -0,0 +1,9 @@ +--- a/ui/qt/BUILD.gn 2024-03-20 21:45:17.817038800 +0000 ++++ b/ui/qt/BUILD.gn 2024-04-04 16:06:36.817852683 +0100 +@@ -61,6 +61,7 @@ + packages = [ + "Qt" + invoker.qt_version + "Core", + "Qt" + invoker.qt_version + "Widgets", ++ "Qt" + invoker.qt_version + "Gui", + ] + } diff --git a/fix_hevc_in_non_cromeos_r1.patch b/fix_hevc_in_non_cromeos_r1.patch deleted file mode 100644 index b4143c5dcb15..000000000000 --- a/fix_hevc_in_non_cromeos_r1.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff --git a/chrome/renderer/media/chrome_key_systems.cc.orig b/chrome/renderer/media/chrome_key_systems.cc -index 11ab5f8..a3a9eef 100644 ---- a/chrome/renderer/media/chrome_key_systems.cc.orig -+++ b/chrome/renderer/media/chrome_key_systems.cc -@@ -184,10 +184,12 @@ static SupportedCodecs GetSupportedCodecs( - #if BUILDFLAG(IS_CHROMEOS_ASH) - if (is_secure && base::FeatureList::IsEnabled( - chromeos::features::kCdmFactoryDaemon)) { -+#else // BUILDFLAG(IS_CHROMEOS_ASH) -+ if (is_secure) { -+#endif - supported_codecs |= media::EME_CODEC_HEVC_PROFILE_MAIN; - supported_codecs |= media::EME_CODEC_HEVC_PROFILE_MAIN10; - } --#endif // BUILDFLAG(IS_CHROMEOS_ASH) - break; - #endif // BUILDFLAG(ENABLE_PLATFORM_HEVC) - default: diff --git a/gclient_args.gni b/gclient_args.gni new file mode 100644 index 000000000000..04c01c247964 --- /dev/null +++ b/gclient_args.gni @@ -0,0 +1,14 @@ +# Generated from 'DEPS' +build_with_chromium = true +checkout_android = false +checkout_android_prebuilts_build_tools = false +checkout_android_native_support = false +checkout_clang_coverage_tools = false +checkout_ios_webkit = false +checkout_nacl = true +checkout_openxr = false +checkout_rts_model = false +checkout_src_internal = false +cros_boards = "" +cros_boards_with_qemu_images = "" +generate_location_tags = true
\ No newline at end of file diff --git a/system-opus.diff b/system-opus.diff new file mode 100644 index 000000000000..3c9a02b8c23a --- /dev/null +++ b/system-opus.diff @@ -0,0 +1,13 @@ +diff --git a/third_party/ffmpeg/chromium/scripts/build_ffmpeg.py b/third_party/ffmpeg/chromium/scripts/build_ffmpeg.py +index 638964e..fe5a2dd 100755 +--- a/third_party/ffmpeg/chromium/scripts/build_ffmpeg.py ++++ b/third_party/ffmpeg/chromium/scripts/build_ffmpeg.py +@@ -686,7 +686,7 @@ def ConfigureAndBuild(target_arch, target_os, host_os, host_arch, + + # Setup include path so Chromium's libopus can be used. + '--extra-cflags=-I' + +- os.path.join(CHROMIUM_ROOT_DIR, 'third_party/opus/src/include'), ++ os.path.join('/usr/include/opus'), + + # Disable usage of Linux Performance API. Not used in production code, but + # missing system headers break some Android builds. diff --git a/use-oauth2-client-switches-as-default.patch b/use-oauth2-client-switches-as-default.patch new file mode 100644 index 000000000000..de5cc78aabff --- /dev/null +++ b/use-oauth2-client-switches-as-default.patch @@ -0,0 +1,17 @@ +diff -upr chromium-89.0.4389.58.orig/google_apis/google_api_keys-inc.cc chromium-89.0.4389.58/google_apis/google_api_keys-inc.cc +--- chromium-89.0.4389.58.orig/google_apis/google_api_keys-inc.cc 2021-02-24 22:37:18.494007649 +0000 ++++ chromium-89.0.4389.58/google_apis/google_api_keys-inc.cc 2021-02-24 22:35:00.865777600 +0000 +@@ -154,11 +154,11 @@ class APIKeyCache { + + std::string default_client_id = CalculateKeyValue( + GOOGLE_DEFAULT_CLIENT_ID, +- STRINGIZE_NO_EXPANSION(GOOGLE_DEFAULT_CLIENT_ID), nullptr, ++ STRINGIZE_NO_EXPANSION(GOOGLE_DEFAULT_CLIENT_ID), ::switches::kOAuth2ClientID, + std::string(), environment.get(), command_line, gaia_config); + std::string default_client_secret = CalculateKeyValue( + GOOGLE_DEFAULT_CLIENT_SECRET, +- STRINGIZE_NO_EXPANSION(GOOGLE_DEFAULT_CLIENT_SECRET), nullptr, ++ STRINGIZE_NO_EXPANSION(GOOGLE_DEFAULT_CLIENT_SECRET), ::switches::kOAuth2ClientSecret, + std::string(), environment.get(), command_line, gaia_config); + + // We currently only allow overriding the baked-in values for the |