diff options
author | Chris Xiong <chirs241097@gmail.com> | 2022-07-14 19:16:24 -0400 |
---|---|---|
committer | Chris Xiong <chirs241097@gmail.com> | 2022-07-14 19:16:24 -0400 |
commit | 43609ca84694acca988dc0ae591c69ac447659b2 (patch) | |
tree | c82fdae375ed2a5948700dfb8a309de9e3238d7b | |
parent | b3c6fc25a909d82262f12df4d55fa8ec6ac392d3 (diff) | |
download | ppo-43609ca84694acca988dc0ae591c69ac447659b2.tar.xz |
chromium: Remove obsolete versions and patches
333 files changed, 0 insertions, 66990 deletions
diff --git a/www-client/chromium/chromium-100.0.4867.0.ebuild b/www-client/chromium/chromium-100.0.4867.0.ebuild deleted file mode 100644 index d9fa17d..0000000 --- a/www-client/chromium/chromium-100.0.4867.0.ebuild +++ /dev/null @@ -1,963 +0,0 @@ -# Copyright 2009-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -PYTHON_COMPAT=( python3_{8..10} ) -PYTHON_REQ_USE="xml" - -CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - 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 vi zh-CN zh-TW" - -inherit check-reqs chromium-2 desktop flag-o-matic ninja-utils pax-utils python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="https://chromium.org/" -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" -IUSE="component-build cups cpu_flags_arm_neon debug +hangouts headless +js-type-check kerberos official pic +proprietary-codecs pulseaudio screencast selinux +suid +system-ffmpeg +system-harfbuzz +system-icu +system-png vaapi wayland widevine" -REQUIRED_USE=" - component-build? ( !suid ) - screencast? ( wayland ) -" - -COMMON_X_DEPEND=" - media-libs/mesa:=[gbm(+)] - x11-libs/libX11:= - x11-libs/libXcomposite:= - x11-libs/libXcursor:= - x11-libs/libXdamage:= - x11-libs/libXext:= - x11-libs/libXfixes:= - >=x11-libs/libXi-1.6.0:= - x11-libs/libXrandr:= - x11-libs/libXrender:= - x11-libs/libXtst:= - x11-libs/libxcb:= - x11-libs/libxshmfence:= - vaapi? ( >=x11-libs/libva-2.7:=[X,drm] ) -" - -COMMON_DEPEND=" - app-arch/bzip2:= - cups? ( >=net-print/cups-1.3.11:= ) - dev-libs/expat:= - dev-libs/glib:2 - >=dev-libs/libxml2-2.9.4-r3:=[icu] - dev-libs/nspr:= - >=dev-libs/nss-3.26:= - >=media-libs/alsa-lib-1.0.19:= - media-libs/fontconfig:= - >=media-libs/freetype-2.11.0-r1:= - system-harfbuzz? ( >=media-libs/harfbuzz-2.9.0:0=[icu(-)] ) - media-libs/libjpeg-turbo:= - system-png? ( media-libs/libpng:=[-apng] ) - pulseaudio? ( media-sound/pulseaudio:= ) - system-ffmpeg? ( - >=media-video/ffmpeg-4.3:= - || ( - media-video/ffmpeg[-samba] - >=net-fs/samba-4.5.10-r1[-debug(-)] - ) - >=media-libs/opus-1.3.1:= - ) - net-misc/curl[ssl] - sys-apps/dbus:= - sys-apps/pciutils:= - virtual/udev - x11-libs/cairo:= - x11-libs/gdk-pixbuf:2 - x11-libs/libxkbcommon:= - x11-libs/pango:= - media-libs/flac:= - >=media-libs/libwebp-0.4.0:= - sys-libs/zlib:=[minizip] - kerberos? ( virtual/krb5 ) - !headless? ( - ${COMMON_X_DEPEND} - >=app-accessibility/at-spi2-atk-2.26:2 - >=app-accessibility/at-spi2-core-2.26:2 - >=dev-libs/atk-2.26 - x11-libs/gtk+:3[X] - wayland? ( - dev-libs/wayland:= - screencast? ( media-video/pipewire:0/0.3 ) - x11-libs/gtk+:3[wayland,X] - x11-libs/libdrm:= - ) - ) -" -RDEPEND="${COMMON_DEPEND} - x11-misc/xdg-utils - virtual/opengl - virtual/ttf-fonts - selinux? ( sec-policy/selinux-chromium ) -" -DEPEND="${COMMON_DEPEND} -" -# dev-vcs/git - https://bugs.gentoo.org/593476 -BDEPEND=" - ${PYTHON_DEPS} - $(python_gen_any_dep ' - dev-python/setuptools[${PYTHON_USEDEP}] - ') - >=app-arch/gzip-1.7 - dev-lang/perl - >=dev-util/gn-0.1807 - dev-vcs/git - >=dev-util/gperf-3.0.3 - >=dev-util/ninja-1.7.2 - >=net-libs/nodejs-7.6.0[inspector] - >=sys-devel/bison-2.4.3 - sys-devel/flex - virtual/pkgconfig - js-type-check? ( virtual/jre ) -" - -# These are intended for ebuild maintainer use to force clang if GCC is broken. -: ${CHROMIUM_FORCE_CLANG=yes} -: ${CHROMIUM_FORCE_LIBCXX=no} - -if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then - BDEPEND+=" >=sys-devel/clang-12" -fi - -if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - RDEPEND+=" >=sys-libs/libcxx-12" - DEPEND+=" >=sys-libs/libcxx-12" -else - COMMON_DEPEND=" - dev-libs/libxslt:= - >=dev-libs/re2-0.2019.08.01:= - >=media-libs/openh264-1.6.0:= - system-icu? ( >=dev-libs/icu-69.1:= ) - " - RDEPEND+="${COMMON_DEPEND}" - DEPEND+="${COMMON_DEPEND}" -fi - -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then - EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; -fi - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -Some web pages may require additional fonts to display properly. -Try installing some of the following packages if some characters -are not displayed properly: -- media-fonts/arphicfonts -- media-fonts/droid -- media-fonts/ipamonafont -- media-fonts/noto -- media-fonts/ja-ipafonts -- media-fonts/takao-fonts -- media-fonts/wqy-microhei -- media-fonts/wqy-zenhei - -To fix broken icons on the Downloads page, you should install an icon -theme that covers the appropriate MIME types, and configure this as your -GTK+ icon theme. - -For native file dialogs in KDE, install kde-apps/kdialog. - -To make password storage work with your desktop environment you may -have install one of the supported credentials management applications: -- app-crypt/libsecret (GNOME) -- kde-frameworks/kwallet (KDE) -If you have one of above packages installed, but don't want to use -them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS -in /etc/chromium/default. -" - -python_check_deps() { - has_version -b "dev-python/setuptools[${PYTHON_USEDEP}]" -} - -pre_build_checks() { - if [[ ${MERGE_TYPE} != binary ]]; then - local -x CPP="$(tc-getCXX) -E" - if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 9.2; then - die "At least gcc 9.2 is required" - fi - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || tc-is-clang; then - CPP="${CHOST}-clang++ -E" - if ! ver_test "$(clang-major-version)" -ge 12; then - die "At least clang 12 is required" - fi - fi - fi - - # Check build requirements, bug #541816 and bug #471810 . - CHECKREQS_MEMORY="4G" - CHECKREQS_DISK_BUILD="9G" - if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then - if use custom-cflags || use component-build; then - CHECKREQS_DISK_BUILD="25G" - fi - if ! use component-build; then - CHECKREQS_MEMORY="16G" - fi - fi - check-reqs_pkg_setup -} - -pkg_pretend() { - pre_build_checks -} - -pkg_setup() { - pre_build_checks - - chromium_suid_sandbox_check_kernel_config - - # nvidia-drivers does not work correctly with Wayland due to unsupported EGLStreams - if use wayland && ! use headless && has_version "x11-drivers/nvidia-drivers"; then - ewarn "Proprietary nVidia driver does not work with Wayland. You can disable" - ewarn "Wayland by setting DISABLE_OZONE_PLATFORM=true in /etc/chromium/default." - fi -} - -src_prepare() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local PATCHES=( - "${FILESDIR}/chromium-78-protobuf-RepeatedPtrField-export.patch" - "${FILESDIR}/chromium-100-compiler.patch" - "${FILESDIR}/chromium-100-ByteSwapUintPtrT-constexpr.patch" - "${FILESDIR}/chromium-100-LayoutUnit-constexpr.patch" - "${FILESDIR}/chromium-100-PartitionFreelistEntry-namespace.patch" - "${FILESDIR}/chromium-99-sqlcursor.patch" - "${FILESDIR}/chromium-99-sandbox-glib234.patch" - - "${FILESDIR}/chromium-93-InkDropHost-crash.patch" - "${FILESDIR}/chromium-98-EnumTable-crash.patch" - "${FILESDIR}/chromium-use-oauth2-client-switches-as-default.patch" - "${FILESDIR}/chromium-shim_headers.patch" - ) - - default - - mkdir -p third_party/node/linux/node-linux-x64/bin || die - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die - - # adjust python interpreter version - sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die - - local 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 - 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/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-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/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/dawn/third_party/tint - 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/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/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-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/test/unittests/front_end/third_party/i18n - 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/flatbuffers - third_party/freetype - third_party/fusejs - third_party/highway - third_party/libgifcodec - third_party/liburlpattern - third_party/libzip - 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/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/libjingle - third_party/libjxl - third_party/libphonenumber - third_party/libsecret - third_party/libsrtp - third_party/libsync - third_party/libudev - 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/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/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/rnnoise - third_party/s2cellid - third_party/securemessage - third_party/shell-encryption - third_party/simplejson - third_party/six - 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/snappy - 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/ruy - third_party/ukey2 - third_party/unrar - third_party/usrsctp - third_party/utf - third_party/vulkan - 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 - 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 - ) - if ! use system-ffmpeg; then - keeplibs+=( third_party/ffmpeg third_party/opus ) - fi - if ! use system-icu; then - keeplibs+=( third_party/icu ) - fi - if ! use system-png; then - keeplibs+=( third_party/libpng ) - fi - if use system-harfbuzz; then - keeplibs+=( third_party/harfbuzz-ng/utils ) - else - keeplibs+=( third_party/harfbuzz-ng ) - fi - if use wayland && ! use headless ; then - keeplibs+=( third_party/wayland ) - fi - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - keeplibs+=( third_party/libxml ) - keeplibs+=( third_party/libxslt ) - keeplibs+=( third_party/openh264 ) - keeplibs+=( third_party/re2 ) - if use system-icu; then - keeplibs+=( third_party/icu ) - fi - fi - if use arm64 || use ppc64 ; then - keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 ) - fi - # we need to generate ppc64 stuff because upstream does not ship it yet - # it has to be done before unbundling. - if use ppc64; then - pushd third_party/libvpx >/dev/null || die - mkdir -p source/config/linux/ppc64 || die - ./generate_gni.sh || die - popd >/dev/null || die - fi - - # Remove most bundled libraries. Some are still needed. - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die - - if use js-type-check; then - ln -s "${EPREFIX}"/usr/bin/java third_party/jdk/current/bin/java || die - fi - - # bundled eu-strip is for amd64 only and we don't want to pre-stripped binaries - mkdir -p buildtools/third_party/eu-strip/bin || die - ln -s "${EPREFIX}"/bin/true buildtools/third_party/eu-strip/bin/eu-strip || die -} - -src_configure() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local myconf_gn="" - - # Make sure the build system will use the right tools, bug #340795. - tc-export AR CC CXX NM - - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] && ! tc-is-clang; then - # Force clang since gcc is pretty broken at the moment. - CC=${CHOST}-clang - CXX=${CHOST}-clang++ - strip-unsupported-flags - fi - - if tc-is-clang; then - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" - else - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - die "Compiling with sys-libs/libcxx requires clang." - fi - myconf_gn+=" is_clang=false" - fi - - # Define a custom toolchain for GN - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" - - if tc-is-cross-compiler; then - tc-export BUILD_{AR,CC,CXX,NM} - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" - else - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - fi - - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - myconf_gn+=" is_debug=false" - - # enable DCHECK with USE=debug only, increases chrome binary size by 30%, bug #811138. - # DCHECK is fatal by default, make it configurable at runtime, #bug 807881. - myconf_gn+=" dcheck_always_on=$(usex debug true false)" - myconf_gn+=" dcheck_is_configurable=$(usex debug true false)" - - # Component build isn't generally intended for use by end users. It's mostly useful - # for development and debugging. - myconf_gn+=" is_component_build=$(usex component-build true false)" - - # Disable nacl, we can't build without pnacl (http://crbug.com/269560). - myconf_gn+=" enable_nacl=false" - - # Use system-provided libraries. - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_protobuf (bug #525560). - # TODO: use_system_sqlite (http://crbug.com/22208). - - # libevent: https://bugs.gentoo.org/593458 - local gn_system_libraries=( - flac - fontconfig - freetype - # Need harfbuzz_from_pkgconfig target - #harfbuzz-ng - libdrm - libjpeg - libwebp - zlib - ) - if use system-ffmpeg; then - gn_system_libraries+=( ffmpeg opus ) - fi - if use system-icu; then - gn_system_libraries+=( icu ) - fi - if use system-png; then - gn_system_libraries+=( libpng ) - fi - if [[ ${CHROMIUM_FORCE_LIBCXX} != yes ]]; then - # unbundle only without libc++, because libc++ is not fully ABI compatible with libstdc++ - gn_system_libraries+=( libxml ) - gn_system_libraries+=( libxslt ) - gn_system_libraries+=( openh264 ) - gn_system_libraries+=( re2 ) - fi - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die - - # See dependency logic in third_party/BUILD.gn - myconf_gn+=" use_system_harfbuzz=$(usex system-harfbuzz true false)" - - # Disable deprecated libgnome-keyring dependency, bug #713012 - myconf_gn+=" use_gnome_keyring=false" - - # Optional dependencies. - myconf_gn+=" enable_js_type_check=$(usex js-type-check true false)" - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" - myconf_gn+=" enable_widevine=$(usex widevine true false)" - myconf_gn+=" use_cups=$(usex cups true false)" - myconf_gn+=" use_kerberos=$(usex kerberos true false)" - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" - myconf_gn+=" use_vaapi=$(usex vaapi true false)" - myconf_gn+=" rtc_use_pipewire=$(usex screencast true false)" - - # TODO: link_pulseaudio=true for GN. - - myconf_gn+=" disable_fieldtrial_testing_config=true" - - # Never use bundled gold binary. Disable gold linker flags for now. - # Do not use bundled clang. - # Trying to use gold results in linker crash. - myconf_gn+=" use_gold=false use_sysroot=false use_custom_libcxx=false" - - # Disable forced lld, bug 641556 - myconf_gn+=" use_lld=false" - - # Disable pseudolocales, only used for testing - myconf_gn+=" enable_pseudolocales=false" - - # Disable code formating of generated files - myconf_gn+=" blink_enable_generated_code_formatting=false" - - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" - - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . - # Note: these are for Gentoo use ONLY. For your own distribution, - # please get your own set of keys. Feel free to contact chromium@gentoo.org - # for more info. The OAuth2 credentials, however, have been left out. - # Those OAuth2 credentials have been broken for quite some time anyway. - # Instead we apply a patch to use the --oauth2-client-id= and - # --oauth2-client-secret= switches for setting GOOGLE_DEFAULT_CLIENT_ID and - # GOOGLE_DEFAULT_CLIENT_SECRET at runtime. This allows signing into - # Chromium without baked-in values. - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" - myconf_gn+=" google_api_key=\"${google_api_key}\"" - local myarch="$(tc-arch)" - - # Avoid CFLAGS problems, bug #352457, bug #390147. - if ! use custom-cflags; then - replace-flags "-Os" "-O2" - strip-flags - - # Debug info section overflows without component build - # Prevent linker from running out of address space, bug #471810 . - if ! use component-build || use x86; then - filter-flags "-g*" - fi - - # Prevent libvpx build failures. Bug 530248, 544702, 546984. - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4 - fi - fi - - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - append-flags -stdlib=libc++ - append-ldflags -stdlib=libc++ - fi - - if [[ $myarch = amd64 ]] ; then - myconf_gn+=" target_cpu=\"x64\"" - ffmpeg_target_arch=x64 - elif [[ $myarch = x86 ]] ; then - myconf_gn+=" target_cpu=\"x86\"" - ffmpeg_target_arch=ia32 - - # This is normally defined by compiler_cpu_abi in - # build/config/compiler/BUILD.gn, but we patch that part out. - append-flags -msse2 -mfpmath=sse -mmmx - elif [[ $myarch = arm64 ]] ; then - myconf_gn+=" target_cpu=\"arm64\"" - ffmpeg_target_arch=arm64 - elif [[ $myarch = arm ]] ; then - myconf_gn+=" target_cpu=\"arm\"" - ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm) - elif [[ $myarch = ppc64 ]] ; then - myconf_gn+=" target_cpu=\"ppc64\"" - ffmpeg_target_arch=ppc64 - else - 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" - - # Bug 491582. - export TMPDIR="${WORKDIR}/temp" - mkdir -p -m 755 "${TMPDIR}" || die - - # https://bugs.gentoo.org/654216 - addpredict /dev/dri/ #nowarn - - #if ! use system-ffmpeg; then - if false; then - local build_ffmpeg_args="" - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then - build_ffmpeg_args+=" --disable-asm" - fi - - # Re-configure bundled ffmpeg. See bug #491378 for example reasons. - einfo "Configuring bundled ffmpeg..." - pushd third_party/ffmpeg > /dev/null || die - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \ - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die - chromium/scripts/copy_config.sh || die - chromium/scripts/generate_gn.py || die - popd > /dev/null || die - fi - - # Chromium relies on this, but was disabled in >=clang-10, crbug.com/1042470 - append-cxxflags $(test-flags-CXX -flax-vector-conversions=all) - - # Disable unknown warning message from clang. - tc-is-clang && append-flags -Wno-unknown-warning-option - - # Explicitly disable ICU data file support for system-icu builds. - if use system-icu; then - myconf_gn+=" icu_use_data_file=false" - fi - - # Enable ozone wayland and/or headless support - myconf_gn+=" use_ozone=true ozone_auto_platforms=false" - myconf_gn+=" ozone_platform_headless=true" - myconf_gn+=" ozone_platform_x11=$(usex headless false true)" - if use wayland || use headless; then - if use headless; then - myconf_gn+=" ozone_platform=\"headless\"" - myconf_gn+=" use_x11=false" - else - myconf_gn+=" ozone_platform_wayland=true" - myconf_gn+=" use_system_libdrm=true" - myconf_gn+=" use_system_minigbm=true" - myconf_gn+=" use_xkbcommon=true" - myconf_gn+=" ozone_platform=\"wayland\"" - fi - else - myconf_gn+=" ozone_platform=\"x11\"" - fi - - # Enable official builds - myconf_gn+=" is_official_build=$(usex official true false)" - myconf_gn+=" use_thin_lto=false" - if use official; then - # 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 - myconf_gn+=" is_cfi=false" - # Disable PGO, because profile data is only compatible with >=clang-11 - myconf_gn+=" chrome_pgo_phase=0" - fi - - einfo "Configuring Chromium..." - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release - echo "$@" - "$@" || die -} - -src_compile() { - # Final link uses lots of file descriptors. - ulimit -n 2048 - - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - # Don't inherit PYTHONPATH from environment, bug #789021, #812689 - local -x PYTHONPATH= - - #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die - - # Build mksnapshot and pax-mark it. - local x - for x in mksnapshot v8_context_snapshot_generator; do - if tc-is-cross-compiler; then - eninja -C out/Release "host/${x}" - pax-mark m "out/Release/host/${x}" - else - eninja -C out/Release "${x}" - pax-mark m "out/Release/${x}" - fi - done - - # Even though ninja autodetects number of CPUs, we respect - # user's options, for debugging with -j 1 or any other reason. - eninja -C out/Release chrome chromedriver - use suid && eninja -C out/Release chrome_sandbox - - pax-mark m out/Release/chrome - - mv out/Release/chromedriver{.unstripped,} || die - - # Build manpage; bug #684550 - sed -e 's|@@PACKAGE@@|chromium-browser|g; - s|@@MENUNAME@@|Chromium|g;' \ - chrome/app/resources/manpage.1.in > \ - out/Release/chromium-browser.1 || die - - # Build desktop file; bug #706786 - sed -e 's|@@MENUNAME@@|Chromium|g; - s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g; - s|@@PACKAGE@@|chromium-browser|g; - s|\(^Exec=\)/usr/bin/|\1|g;' \ - chrome/installer/linux/common/desktop.template > \ - out/Release/chromium-browser-chromium.desktop || die - - # Build vk_swiftshader_icd.json; bug #827861 - sed -e 's|${ICD_LIBRARY_PATH}|./libvk_swiftshader.so|g' \ - third_party/swiftshader/src/Vulkan/vk_swiftshader_icd.json.tmpl > \ - out/Release/vk_swiftshader_icd.json || die -} - -src_install() { - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" - exeinto "${CHROMIUM_HOME}" - doexe out/Release/chrome - - if use suid; then - newexe out/Release/chrome_sandbox chrome-sandbox - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" - fi - - doexe out/Release/chromedriver - doexe out/Release/chrome_crashpad_handler - - ozone_auto_session () { - use wayland && ! use headless && echo true || echo false - } - local sedargs=( -e - "s:/usr/lib/:/usr/$(get_libdir)/:g; - s:@@OZONE_AUTO_SESSION@@:$(ozone_auto_session):g" - ) - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r7.sh" > chromium-launcher.sh || die - doexe chromium-launcher.sh - - # It is important that we name the target "chromium-browser", - # xdg-utils expect it; bug #355517. - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser - # keep the old symlink around for consistency - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium - - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver - - # Allow users to override command-line options, bug #357629. - insinto /etc/chromium - newins "${FILESDIR}/chromium.default" "default" - - pushd out/Release/locales > /dev/null || die - chromium_remove_language_paks - popd - - insinto "${CHROMIUM_HOME}" - doins out/Release/*.bin - doins out/Release/*.pak - ( - shopt -s nullglob - local files=(out/Release/*.so out/Release/*.so.[0-9]) - [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}" - ) - - if ! use system-icu; then - doins out/Release/icudtl.dat - fi - - doins -r out/Release/locales - doins -r out/Release/resources - doins -r out/Release/MEIPreload - - # Install vk_swiftshader_icd.json; bug #827861 - doins out/Release/vk_swiftshader_icd.json - - if [[ -d out/Release/swiftshader ]]; then - insinto "${CHROMIUM_HOME}/swiftshader" - doins out/Release/swiftshader/*.so - fi - - # Install icons - local branding size - for size in 16 24 32 48 64 128 256 ; do - case ${size} in - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; - *) branding="chrome/app/theme/chromium" ;; - esac - newicon -s ${size} "${branding}/product_logo_${size}.png" \ - chromium-browser.png - done - - # Install desktop entry - domenu out/Release/chromium-browser-chromium.desktop - - # Install GNOME default application entry (bug #303100). - insinto /usr/share/gnome-control-center/default-apps - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml - - # Install manpage; bug #684550 - doman out/Release/chromium-browser.1 - dosym chromium-browser.1 /usr/share/man/man1/chromium.1 - - readme.gentoo_create_doc -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_desktop_database_update -} - -pkg_postinst() { - xdg_icon_cache_update - xdg_desktop_database_update - readme.gentoo_print_elog - - if use vaapi; then - elog "VA-API is disabled by default at runtime. You have to enable it" - elog "by adding --enable-features=VaapiVideoDecoder to CHROMIUM_FLAGS" - elog "in /etc/chromium/default." - fi - if use screencast; then - elog "Screencast is disabled by default at runtime. Either enable it" - elog "by navigating to chrome://flags/#enable-webrtc-pipewire-capturer" - elog "inside Chromium or add --enable-webrtc-pipewire-capturer" - elog "to CHROMIUM_FLAGS in /etc/chromium/default." - fi -} diff --git a/www-client/chromium/chromium-100.0.4896.12.ebuild b/www-client/chromium/chromium-100.0.4896.12.ebuild deleted file mode 100644 index 7d52a04..0000000 --- a/www-client/chromium/chromium-100.0.4896.12.ebuild +++ /dev/null @@ -1,964 +0,0 @@ -# Copyright 2009-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -PYTHON_COMPAT=( python3_{8..10} ) -PYTHON_REQ_USE="xml" - -CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - 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 vi zh-CN zh-TW" - -inherit check-reqs chromium-2 desktop flag-o-matic ninja-utils pax-utils python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="https://chromium.org/" -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" -IUSE="component-build cups cpu_flags_arm_neon debug +hangouts headless +js-type-check kerberos official pic +proprietary-codecs pulseaudio screencast selinux +suid +system-ffmpeg +system-harfbuzz +system-icu +system-png vaapi wayland widevine" -REQUIRED_USE=" - component-build? ( !suid ) - screencast? ( wayland ) -" - -COMMON_X_DEPEND=" - media-libs/mesa:=[gbm(+)] - x11-libs/libX11:= - x11-libs/libXcomposite:= - x11-libs/libXcursor:= - x11-libs/libXdamage:= - x11-libs/libXext:= - x11-libs/libXfixes:= - >=x11-libs/libXi-1.6.0:= - x11-libs/libXrandr:= - x11-libs/libXrender:= - x11-libs/libXtst:= - x11-libs/libxcb:= - x11-libs/libxshmfence:= - vaapi? ( >=x11-libs/libva-2.7:=[X,drm] ) -" - -COMMON_DEPEND=" - app-arch/bzip2:= - cups? ( >=net-print/cups-1.3.11:= ) - dev-libs/expat:= - dev-libs/glib:2 - >=dev-libs/libxml2-2.9.4-r3:=[icu] - dev-libs/nspr:= - >=dev-libs/nss-3.26:= - >=media-libs/alsa-lib-1.0.19:= - media-libs/fontconfig:= - >=media-libs/freetype-2.11.0-r1:= - system-harfbuzz? ( >=media-libs/harfbuzz-2.9.0:0=[icu(-)] ) - media-libs/libjpeg-turbo:= - system-png? ( media-libs/libpng:=[-apng] ) - pulseaudio? ( media-sound/pulseaudio:= ) - system-ffmpeg? ( - >=media-video/ffmpeg-4.3:= - || ( - media-video/ffmpeg[-samba] - >=net-fs/samba-4.5.10-r1[-debug(-)] - ) - >=media-libs/opus-1.3.1:= - ) - net-misc/curl[ssl] - sys-apps/dbus:= - sys-apps/pciutils:= - virtual/udev - x11-libs/cairo:= - x11-libs/gdk-pixbuf:2 - x11-libs/libxkbcommon:= - x11-libs/pango:= - media-libs/flac:= - >=media-libs/libwebp-0.4.0:= - sys-libs/zlib:=[minizip] - kerberos? ( virtual/krb5 ) - !headless? ( - ${COMMON_X_DEPEND} - >=app-accessibility/at-spi2-atk-2.26:2 - >=app-accessibility/at-spi2-core-2.26:2 - >=dev-libs/atk-2.26 - x11-libs/gtk+:3[X] - wayland? ( - dev-libs/wayland:= - screencast? ( media-video/pipewire:0/0.3 ) - x11-libs/gtk+:3[wayland,X] - x11-libs/libdrm:= - ) - ) -" -RDEPEND="${COMMON_DEPEND} - x11-misc/xdg-utils - virtual/opengl - virtual/ttf-fonts - selinux? ( sec-policy/selinux-chromium ) -" -DEPEND="${COMMON_DEPEND} -" -# dev-vcs/git - https://bugs.gentoo.org/593476 -BDEPEND=" - ${PYTHON_DEPS} - $(python_gen_any_dep ' - dev-python/setuptools[${PYTHON_USEDEP}] - ') - >=app-arch/gzip-1.7 - dev-lang/perl - >=dev-util/gn-0.1807 - dev-vcs/git - >=dev-util/gperf-3.0.3 - >=dev-util/ninja-1.7.2 - >=net-libs/nodejs-7.6.0[inspector] - >=sys-devel/bison-2.4.3 - sys-devel/flex - virtual/pkgconfig - js-type-check? ( virtual/jre ) -" - -# These are intended for ebuild maintainer use to force clang if GCC is broken. -: ${CHROMIUM_FORCE_CLANG=yes} -: ${CHROMIUM_FORCE_LIBCXX=no} - -if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then - BDEPEND+=" >=sys-devel/clang-12" -fi - -if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - RDEPEND+=" >=sys-libs/libcxx-12" - DEPEND+=" >=sys-libs/libcxx-12" -else - COMMON_DEPEND=" - dev-libs/libxslt:= - >=dev-libs/re2-0.2019.08.01:= - >=media-libs/openh264-1.6.0:= - system-icu? ( >=dev-libs/icu-69.1:= ) - " - RDEPEND+="${COMMON_DEPEND}" - DEPEND+="${COMMON_DEPEND}" -fi - -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then - EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; -fi - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -Some web pages may require additional fonts to display properly. -Try installing some of the following packages if some characters -are not displayed properly: -- media-fonts/arphicfonts -- media-fonts/droid -- media-fonts/ipamonafont -- media-fonts/noto -- media-fonts/ja-ipafonts -- media-fonts/takao-fonts -- media-fonts/wqy-microhei -- media-fonts/wqy-zenhei - -To fix broken icons on the Downloads page, you should install an icon -theme that covers the appropriate MIME types, and configure this as your -GTK+ icon theme. - -For native file dialogs in KDE, install kde-apps/kdialog. - -To make password storage work with your desktop environment you may -have install one of the supported credentials management applications: -- app-crypt/libsecret (GNOME) -- kde-frameworks/kwallet (KDE) -If you have one of above packages installed, but don't want to use -them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS -in /etc/chromium/default. -" - -python_check_deps() { - has_version -b "dev-python/setuptools[${PYTHON_USEDEP}]" -} - -pre_build_checks() { - if [[ ${MERGE_TYPE} != binary ]]; then - local -x CPP="$(tc-getCXX) -E" - if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 9.2; then - die "At least gcc 9.2 is required" - fi - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || tc-is-clang; then - CPP="${CHOST}-clang++ -E" - if ! ver_test "$(clang-major-version)" -ge 12; then - die "At least clang 12 is required" - fi - fi - fi - - # Check build requirements, bug #541816 and bug #471810 . - CHECKREQS_MEMORY="4G" - CHECKREQS_DISK_BUILD="9G" - if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then - if use custom-cflags || use component-build; then - CHECKREQS_DISK_BUILD="25G" - fi - if ! use component-build; then - CHECKREQS_MEMORY="16G" - fi - fi - check-reqs_pkg_setup -} - -pkg_pretend() { - pre_build_checks -} - -pkg_setup() { - pre_build_checks - - chromium_suid_sandbox_check_kernel_config - - # nvidia-drivers does not work correctly with Wayland due to unsupported EGLStreams - if use wayland && ! use headless && has_version "x11-drivers/nvidia-drivers"; then - ewarn "Proprietary nVidia driver does not work with Wayland. You can disable" - ewarn "Wayland by setting DISABLE_OZONE_PLATFORM=true in /etc/chromium/default." - fi -} - -src_prepare() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local PATCHES=( - "${FILESDIR}/chromium-78-protobuf-RepeatedPtrField-export.patch" - "${FILESDIR}/chromium-100-compiler.patch" - "${FILESDIR}/chromium-100-GLImplementationParts-constexpr.patch" - "${FILESDIR}/chromium-100-InMilliseconds-constexpr.patch" - "${FILESDIR}/chromium-100-SCTHashdanceMetadata-move.patch" - "${FILESDIR}/chromium-100-macro-typo.patch" - "${FILESDIR}/chromium-99-sqlcursor.patch" - "${FILESDIR}/chromium-100-sandbox-include.patch" - - "${FILESDIR}/chromium-93-InkDropHost-crash.patch" - "${FILESDIR}/chromium-98-EnumTable-crash.patch" - "${FILESDIR}/chromium-use-oauth2-client-switches-as-default.patch" - "${FILESDIR}/chromium-shim_headers.patch" - ) - - default - - mkdir -p third_party/node/linux/node-linux-x64/bin || die - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die - - # adjust python interpreter version - sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die - - local 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 - 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/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-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/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/dawn/third_party/tint - 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/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/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-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/test/unittests/front_end/third_party/i18n - 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/flatbuffers - third_party/freetype - third_party/fusejs - third_party/highway - third_party/libgifcodec - third_party/liburlpattern - third_party/libzip - 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/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/libjingle - third_party/libjxl - third_party/libphonenumber - third_party/libsecret - third_party/libsrtp - third_party/libsync - third_party/libudev - 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/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/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/rnnoise - third_party/s2cellid - third_party/securemessage - third_party/shell-encryption - third_party/simplejson - third_party/six - 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/snappy - 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/ruy - third_party/ukey2 - third_party/unrar - third_party/usrsctp - third_party/utf - third_party/vulkan - 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 - 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 - ) - if ! use system-ffmpeg; then - keeplibs+=( third_party/ffmpeg third_party/opus ) - fi - if ! use system-icu; then - keeplibs+=( third_party/icu ) - fi - if ! use system-png; then - keeplibs+=( third_party/libpng ) - fi - if use system-harfbuzz; then - keeplibs+=( third_party/harfbuzz-ng/utils ) - else - keeplibs+=( third_party/harfbuzz-ng ) - fi - if use wayland && ! use headless ; then - keeplibs+=( third_party/wayland ) - fi - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - keeplibs+=( third_party/libxml ) - keeplibs+=( third_party/libxslt ) - keeplibs+=( third_party/openh264 ) - keeplibs+=( third_party/re2 ) - if use system-icu; then - keeplibs+=( third_party/icu ) - fi - fi - if use arm64 || use ppc64 ; then - keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 ) - fi - # we need to generate ppc64 stuff because upstream does not ship it yet - # it has to be done before unbundling. - if use ppc64; then - pushd third_party/libvpx >/dev/null || die - mkdir -p source/config/linux/ppc64 || die - ./generate_gni.sh || die - popd >/dev/null || die - fi - - # Remove most bundled libraries. Some are still needed. - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die - - if use js-type-check; then - ln -s "${EPREFIX}"/usr/bin/java third_party/jdk/current/bin/java || die - fi - - # bundled eu-strip is for amd64 only and we don't want to pre-stripped binaries - mkdir -p buildtools/third_party/eu-strip/bin || die - ln -s "${EPREFIX}"/bin/true buildtools/third_party/eu-strip/bin/eu-strip || die -} - -src_configure() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local myconf_gn="" - - # Make sure the build system will use the right tools, bug #340795. - tc-export AR CC CXX NM - - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] && ! tc-is-clang; then - # Force clang since gcc is pretty broken at the moment. - CC=${CHOST}-clang - CXX=${CHOST}-clang++ - strip-unsupported-flags - fi - - if tc-is-clang; then - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" - else - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - die "Compiling with sys-libs/libcxx requires clang." - fi - myconf_gn+=" is_clang=false" - fi - - # Define a custom toolchain for GN - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" - - if tc-is-cross-compiler; then - tc-export BUILD_{AR,CC,CXX,NM} - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" - else - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - fi - - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - myconf_gn+=" is_debug=false" - - # enable DCHECK with USE=debug only, increases chrome binary size by 30%, bug #811138. - # DCHECK is fatal by default, make it configurable at runtime, #bug 807881. - myconf_gn+=" dcheck_always_on=$(usex debug true false)" - myconf_gn+=" dcheck_is_configurable=$(usex debug true false)" - - # Component build isn't generally intended for use by end users. It's mostly useful - # for development and debugging. - myconf_gn+=" is_component_build=$(usex component-build true false)" - - # Disable nacl, we can't build without pnacl (http://crbug.com/269560). - myconf_gn+=" enable_nacl=false" - - # Use system-provided libraries. - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_protobuf (bug #525560). - # TODO: use_system_sqlite (http://crbug.com/22208). - - # libevent: https://bugs.gentoo.org/593458 - local gn_system_libraries=( - flac - fontconfig - freetype - # Need harfbuzz_from_pkgconfig target - #harfbuzz-ng - libdrm - libjpeg - libwebp - zlib - ) - if use system-ffmpeg; then - gn_system_libraries+=( ffmpeg opus ) - fi - if use system-icu; then - gn_system_libraries+=( icu ) - fi - if use system-png; then - gn_system_libraries+=( libpng ) - fi - if [[ ${CHROMIUM_FORCE_LIBCXX} != yes ]]; then - # unbundle only without libc++, because libc++ is not fully ABI compatible with libstdc++ - gn_system_libraries+=( libxml ) - gn_system_libraries+=( libxslt ) - gn_system_libraries+=( openh264 ) - gn_system_libraries+=( re2 ) - fi - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die - - # See dependency logic in third_party/BUILD.gn - myconf_gn+=" use_system_harfbuzz=$(usex system-harfbuzz true false)" - - # Disable deprecated libgnome-keyring dependency, bug #713012 - myconf_gn+=" use_gnome_keyring=false" - - # Optional dependencies. - myconf_gn+=" enable_js_type_check=$(usex js-type-check true false)" - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" - myconf_gn+=" enable_widevine=$(usex widevine true false)" - myconf_gn+=" use_cups=$(usex cups true false)" - myconf_gn+=" use_kerberos=$(usex kerberos true false)" - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" - myconf_gn+=" use_vaapi=$(usex vaapi true false)" - myconf_gn+=" rtc_use_pipewire=$(usex screencast true false)" - - # TODO: link_pulseaudio=true for GN. - - myconf_gn+=" disable_fieldtrial_testing_config=true" - - # Never use bundled gold binary. Disable gold linker flags for now. - # Do not use bundled clang. - # Trying to use gold results in linker crash. - myconf_gn+=" use_gold=false use_sysroot=false use_custom_libcxx=false" - - # Disable forced lld, bug 641556 - myconf_gn+=" use_lld=false" - - # Disable pseudolocales, only used for testing - myconf_gn+=" enable_pseudolocales=false" - - # Disable code formating of generated files - myconf_gn+=" blink_enable_generated_code_formatting=false" - - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" - - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . - # Note: these are for Gentoo use ONLY. For your own distribution, - # please get your own set of keys. Feel free to contact chromium@gentoo.org - # for more info. The OAuth2 credentials, however, have been left out. - # Those OAuth2 credentials have been broken for quite some time anyway. - # Instead we apply a patch to use the --oauth2-client-id= and - # --oauth2-client-secret= switches for setting GOOGLE_DEFAULT_CLIENT_ID and - # GOOGLE_DEFAULT_CLIENT_SECRET at runtime. This allows signing into - # Chromium without baked-in values. - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" - myconf_gn+=" google_api_key=\"${google_api_key}\"" - local myarch="$(tc-arch)" - - # Avoid CFLAGS problems, bug #352457, bug #390147. - if ! use custom-cflags; then - replace-flags "-Os" "-O2" - strip-flags - - # Debug info section overflows without component build - # Prevent linker from running out of address space, bug #471810 . - if ! use component-build || use x86; then - filter-flags "-g*" - fi - - # Prevent libvpx build failures. Bug 530248, 544702, 546984. - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4 - fi - fi - - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - append-flags -stdlib=libc++ - append-ldflags -stdlib=libc++ - fi - - if [[ $myarch = amd64 ]] ; then - myconf_gn+=" target_cpu=\"x64\"" - ffmpeg_target_arch=x64 - elif [[ $myarch = x86 ]] ; then - myconf_gn+=" target_cpu=\"x86\"" - ffmpeg_target_arch=ia32 - - # This is normally defined by compiler_cpu_abi in - # build/config/compiler/BUILD.gn, but we patch that part out. - append-flags -msse2 -mfpmath=sse -mmmx - elif [[ $myarch = arm64 ]] ; then - myconf_gn+=" target_cpu=\"arm64\"" - ffmpeg_target_arch=arm64 - elif [[ $myarch = arm ]] ; then - myconf_gn+=" target_cpu=\"arm\"" - ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm) - elif [[ $myarch = ppc64 ]] ; then - myconf_gn+=" target_cpu=\"ppc64\"" - ffmpeg_target_arch=ppc64 - else - 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" - - # Bug 491582. - export TMPDIR="${WORKDIR}/temp" - mkdir -p -m 755 "${TMPDIR}" || die - - # https://bugs.gentoo.org/654216 - addpredict /dev/dri/ #nowarn - - #if ! use system-ffmpeg; then - if false; then - local build_ffmpeg_args="" - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then - build_ffmpeg_args+=" --disable-asm" - fi - - # Re-configure bundled ffmpeg. See bug #491378 for example reasons. - einfo "Configuring bundled ffmpeg..." - pushd third_party/ffmpeg > /dev/null || die - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \ - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die - chromium/scripts/copy_config.sh || die - chromium/scripts/generate_gn.py || die - popd > /dev/null || die - fi - - # Chromium relies on this, but was disabled in >=clang-10, crbug.com/1042470 - append-cxxflags $(test-flags-CXX -flax-vector-conversions=all) - - # Disable unknown warning message from clang. - tc-is-clang && append-flags -Wno-unknown-warning-option - - # Explicitly disable ICU data file support for system-icu builds. - if use system-icu; then - myconf_gn+=" icu_use_data_file=false" - fi - - # Enable ozone wayland and/or headless support - myconf_gn+=" use_ozone=true ozone_auto_platforms=false" - myconf_gn+=" ozone_platform_headless=true" - myconf_gn+=" ozone_platform_x11=$(usex headless false true)" - if use wayland || use headless; then - if use headless; then - myconf_gn+=" ozone_platform=\"headless\"" - myconf_gn+=" use_x11=false" - else - myconf_gn+=" ozone_platform_wayland=true" - myconf_gn+=" use_system_libdrm=true" - myconf_gn+=" use_system_minigbm=true" - myconf_gn+=" use_xkbcommon=true" - myconf_gn+=" ozone_platform=\"wayland\"" - fi - else - myconf_gn+=" ozone_platform=\"x11\"" - fi - - # Enable official builds - myconf_gn+=" is_official_build=$(usex official true false)" - myconf_gn+=" use_thin_lto=false" - if use official; then - # 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 - myconf_gn+=" is_cfi=false" - # Disable PGO, because profile data is only compatible with >=clang-11 - myconf_gn+=" chrome_pgo_phase=0" - fi - - einfo "Configuring Chromium..." - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release - echo "$@" - "$@" || die -} - -src_compile() { - # Final link uses lots of file descriptors. - ulimit -n 2048 - - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - # Don't inherit PYTHONPATH from environment, bug #789021, #812689 - local -x PYTHONPATH= - - #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die - - # Build mksnapshot and pax-mark it. - local x - for x in mksnapshot v8_context_snapshot_generator; do - if tc-is-cross-compiler; then - eninja -C out/Release "host/${x}" - pax-mark m "out/Release/host/${x}" - else - eninja -C out/Release "${x}" - pax-mark m "out/Release/${x}" - fi - done - - # Even though ninja autodetects number of CPUs, we respect - # user's options, for debugging with -j 1 or any other reason. - eninja -C out/Release chrome chromedriver - use suid && eninja -C out/Release chrome_sandbox - - pax-mark m out/Release/chrome - - mv out/Release/chromedriver{.unstripped,} || die - - # Build manpage; bug #684550 - sed -e 's|@@PACKAGE@@|chromium-browser|g; - s|@@MENUNAME@@|Chromium|g;' \ - chrome/app/resources/manpage.1.in > \ - out/Release/chromium-browser.1 || die - - # Build desktop file; bug #706786 - sed -e 's|@@MENUNAME@@|Chromium|g; - s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g; - s|@@PACKAGE@@|chromium-browser|g; - s|\(^Exec=\)/usr/bin/|\1|g;' \ - chrome/installer/linux/common/desktop.template > \ - out/Release/chromium-browser-chromium.desktop || die - - # Build vk_swiftshader_icd.json; bug #827861 - sed -e 's|${ICD_LIBRARY_PATH}|./libvk_swiftshader.so|g' \ - third_party/swiftshader/src/Vulkan/vk_swiftshader_icd.json.tmpl > \ - out/Release/vk_swiftshader_icd.json || die -} - -src_install() { - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" - exeinto "${CHROMIUM_HOME}" - doexe out/Release/chrome - - if use suid; then - newexe out/Release/chrome_sandbox chrome-sandbox - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" - fi - - doexe out/Release/chromedriver - doexe out/Release/chrome_crashpad_handler - - ozone_auto_session () { - use wayland && ! use headless && echo true || echo false - } - local sedargs=( -e - "s:/usr/lib/:/usr/$(get_libdir)/:g; - s:@@OZONE_AUTO_SESSION@@:$(ozone_auto_session):g" - ) - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r7.sh" > chromium-launcher.sh || die - doexe chromium-launcher.sh - - # It is important that we name the target "chromium-browser", - # xdg-utils expect it; bug #355517. - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser - # keep the old symlink around for consistency - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium - - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver - - # Allow users to override command-line options, bug #357629. - insinto /etc/chromium - newins "${FILESDIR}/chromium.default" "default" - - pushd out/Release/locales > /dev/null || die - chromium_remove_language_paks - popd - - insinto "${CHROMIUM_HOME}" - doins out/Release/*.bin - doins out/Release/*.pak - ( - shopt -s nullglob - local files=(out/Release/*.so out/Release/*.so.[0-9]) - [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}" - ) - - if ! use system-icu; then - doins out/Release/icudtl.dat - fi - - doins -r out/Release/locales - doins -r out/Release/resources - doins -r out/Release/MEIPreload - - # Install vk_swiftshader_icd.json; bug #827861 - doins out/Release/vk_swiftshader_icd.json - - if [[ -d out/Release/swiftshader ]]; then - insinto "${CHROMIUM_HOME}/swiftshader" - doins out/Release/swiftshader/*.so - fi - - # Install icons - local branding size - for size in 16 24 32 48 64 128 256 ; do - case ${size} in - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; - *) branding="chrome/app/theme/chromium" ;; - esac - newicon -s ${size} "${branding}/product_logo_${size}.png" \ - chromium-browser.png - done - - # Install desktop entry - domenu out/Release/chromium-browser-chromium.desktop - - # Install GNOME default application entry (bug #303100). - insinto /usr/share/gnome-control-center/default-apps - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml - - # Install manpage; bug #684550 - doman out/Release/chromium-browser.1 - dosym chromium-browser.1 /usr/share/man/man1/chromium.1 - - readme.gentoo_create_doc -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_desktop_database_update -} - -pkg_postinst() { - xdg_icon_cache_update - xdg_desktop_database_update - readme.gentoo_print_elog - - if use vaapi; then - elog "VA-API is disabled by default at runtime. You have to enable it" - elog "by adding --enable-features=VaapiVideoDecoder to CHROMIUM_FLAGS" - elog "in /etc/chromium/default." - fi - if use screencast; then - elog "Screencast is disabled by default at runtime. Either enable it" - elog "by navigating to chrome://flags/#enable-webrtc-pipewire-capturer" - elog "inside Chromium or add --enable-webrtc-pipewire-capturer" - elog "to CHROMIUM_FLAGS in /etc/chromium/default." - fi -} diff --git a/www-client/chromium/chromium-101.0.4929.5.ebuild b/www-client/chromium/chromium-101.0.4929.5.ebuild deleted file mode 100644 index 7616d49..0000000 --- a/www-client/chromium/chromium-101.0.4929.5.ebuild +++ /dev/null @@ -1,1013 +0,0 @@ -# Copyright 2009-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -PYTHON_COMPAT=( python3_{8..10} ) -PYTHON_REQ_USE="xml" - -CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - 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 vi zh-CN zh-TW" - -inherit check-reqs chromium-2 desktop flag-o-matic ninja-utils pax-utils python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="https://chromium.org/" -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" -IUSE="component-build cups cpu_flags_arm_neon debug gtk4 +hangouts headless +js-type-check kerberos libcxx +official pic +proprietary-codecs pulseaudio screencast selinux +suid +system-ffmpeg +system-harfbuzz +system-icu +system-png vaapi wayland widevine" -REQUIRED_USE=" - component-build? ( !suid !libcxx ) - screencast? ( wayland ) -" - -COMMON_X_DEPEND=" - x11-libs/gdk-pixbuf:2 - x11-libs/libXcomposite:= - x11-libs/libXcursor:= - x11-libs/libXdamage:= - x11-libs/libXfixes:= - >=x11-libs/libXi-1.6.0:= - x11-libs/libXrandr:= - x11-libs/libXrender:= - x11-libs/libXtst:= - x11-libs/libxshmfence:= - virtual/opengl -" - -COMMON_SNAPSHOT_DEPEND=" - system-icu? ( >=dev-libs/icu-69.1:= ) - >=dev-libs/libxml2-2.9.4-r3:=[icu] - dev-libs/nspr:= - >=dev-libs/nss-3.26:= - !libcxx? ( >=dev-libs/re2-0.2019.08.01:= ) - dev-libs/libxslt:= - media-libs/fontconfig:= - >=media-libs/freetype-2.11.0-r1:= - system-harfbuzz? ( >=media-libs/harfbuzz-3:0=[icu(-)] ) - media-libs/libjpeg-turbo:= - system-png? ( media-libs/libpng:=[-apng] ) - >=media-libs/libwebp-0.4.0:= - media-libs/mesa:=[gbm(+)] - >=media-libs/openh264-1.6.0:= - sys-libs/zlib:= - x11-libs/libdrm:= - !headless? ( - dev-libs/glib:2 - >=media-libs/alsa-lib-1.0.19:= - pulseaudio? ( media-sound/pulseaudio:= ) - kerberos? ( virtual/krb5 ) - vaapi? ( >=x11-libs/libva-2.7:=[X,drm] ) - x11-libs/libX11:= - x11-libs/libXext:= - x11-libs/libxcb:= - x11-libs/libxkbcommon:= - wayland? ( - dev-libs/wayland:= - screencast? ( media-video/pipewire:= ) - ) - ) -" - -COMMON_DEPEND=" - ${COMMON_SNAPSHOT_DEPEND} - app-arch/bzip2:= - dev-libs/expat:= - system-ffmpeg? ( - >=media-video/ffmpeg-4.3:= - || ( - media-video/ffmpeg[-samba] - >=net-fs/samba-4.5.10-r1[-debug(-)] - ) - >=media-libs/opus-1.3.1:= - ) - net-misc/curl[ssl] - sys-apps/dbus:= - media-libs/flac:= - sys-libs/zlib:=[minizip] - !headless? ( - ${COMMON_X_DEPEND} - >=app-accessibility/at-spi2-atk-2.26:2 - >=app-accessibility/at-spi2-core-2.26:2 - >=dev-libs/atk-2.26 - cups? ( >=net-print/cups-1.3.11:= ) - sys-apps/pciutils:= - virtual/udev - x11-libs/cairo:= - x11-libs/pango:= - ) -" -RDEPEND="${COMMON_DEPEND} - !headless? ( - || ( - x11-libs/gtk+:3[X,wayland?] - gui-libs/gtk:4[X,wayland?] - ) - ) - x11-misc/xdg-utils - virtual/ttf-fonts - selinux? ( sec-policy/selinux-chromium ) -" -DEPEND="${COMMON_DEPEND} - !headless? ( - gtk4? ( gui-libs/gtk:4[X,wayland?] ) - !gtk4? ( x11-libs/gtk+:3[X,wayland?] ) - ) -" -BDEPEND=" - ${COMMON_SNAPSHOT_DEPEND} - ${PYTHON_DEPS} - $(python_gen_any_dep ' - dev-python/setuptools[${PYTHON_USEDEP}] - ') - >=app-arch/gzip-1.7 - libcxx? ( >=sys-devel/clang-12 ) - dev-lang/perl - >=dev-util/gn-0.1807 - >=dev-util/gperf-3.0.3 - >=dev-util/ninja-1.7.2 - >=net-libs/nodejs-7.6.0[inspector] - >=sys-devel/bison-2.4.3 - sys-devel/flex - virtual/pkgconfig - js-type-check? ( virtual/jre ) -" - -# These are intended for ebuild maintainer use to force clang if GCC is broken. -: ${CHROMIUM_FORCE_CLANG=yes} - -if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then - BDEPEND+=" >=sys-devel/clang-12" -fi - -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then - EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; -fi - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -Some web pages may require additional fonts to display properly. -Try installing some of the following packages if some characters -are not displayed properly: -- media-fonts/arphicfonts -- media-fonts/droid -- media-fonts/ipamonafont -- media-fonts/noto -- media-fonts/ja-ipafonts -- media-fonts/takao-fonts -- media-fonts/wqy-microhei -- media-fonts/wqy-zenhei - -To fix broken icons on the Downloads page, you should install an icon -theme that covers the appropriate MIME types, and configure this as your -GTK+ icon theme. - -For native file dialogs in KDE, install kde-apps/kdialog. - -To make password storage work with your desktop environment you may -have install one of the supported credentials management applications: -- app-crypt/libsecret (GNOME) -- kde-frameworks/kwallet (KDE) -If you have one of above packages installed, but don't want to use -them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS -in /etc/chromium/default. -" - -python_check_deps() { - has_version -b "dev-python/setuptools[${PYTHON_USEDEP}]" -} - -pre_build_checks() { - if [[ ${MERGE_TYPE} != binary ]]; then - local -x CPP="$(tc-getCXX) -E" - if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 9.2; then - die "At least gcc 9.2 is required" - fi - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || tc-is-clang || use libcxx; then - tc-is-cross-compiler && CPP=${CBUILD}-clang++ || CPP=${CHOST}-clang++ - CPP+=" -E" - if ! ver_test "$(clang-major-version)" -ge 12; then - die "At least clang 12 is required" - fi - fi - fi - - # Check build requirements, bug #541816 and bug #471810 . - CHECKREQS_MEMORY="4G" - CHECKREQS_DISK_BUILD="9G" - tc-is-cross-compiler && CHECKREQS_DISK_BUILD="12G" - if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then - if use custom-cflags || use component-build; then - CHECKREQS_DISK_BUILD="25G" - fi - if ! use component-build; then - CHECKREQS_MEMORY="16G" - fi - fi - check-reqs_pkg_setup -} - -pkg_pretend() { - pre_build_checks - - if use headless; then - local headless_unused_flags=("cups" "kerberos" "pulseaudio" "vaapi" "wayland") - for myiuse in ${headless_unused_flags[@]}; do - use ${myiuse} && ewarn "Ignoring USE=${myiuse} since USE=headless is set." - done - fi -} - -pkg_setup() { - pre_build_checks - - chromium_suid_sandbox_check_kernel_config - - # nvidia-drivers does not work correctly with Wayland due to unsupported EGLStreams - if use wayland && ! use headless && has_version "x11-drivers/nvidia-drivers"; then - ewarn "Proprietary nVidia driver does not work with Wayland. You can disable" - ewarn "Wayland by setting DISABLE_OZONE_PLATFORM=true in /etc/chromium/default." - fi -} - -src_prepare() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local PATCHES=( - "${FILESDIR}/chromium-78-protobuf-RepeatedPtrField-export.patch" - "${FILESDIR}/chromium-99-sqlcursor.patch" - "${FILESDIR}/chromium-100-compiler.patch" - "${FILESDIR}/chromium-101-AccountInfo-noexcept.patch" - "${FILESDIR}/chromium-101-WebURLLoaderFactory-incomplete-type.patch" - - "${FILESDIR}/chromium-93-InkDropHost-crash.patch" - "${FILESDIR}/chromium-97-arm-tflite-cast.patch" - "${FILESDIR}/chromium-98-EnumTable-crash.patch" - "${FILESDIR}/chromium-98-gtk4-build.patch" - "${FILESDIR}/chromium-101-libxml-unbundle.patch" - "${FILESDIR}/chromium-use-oauth2-client-switches-as-default.patch" - "${FILESDIR}/chromium-shim_headers.patch" - "${FILESDIR}/chromium-cross-compile.patch" - ) - - default - - mkdir -p third_party/node/linux/node-linux-x64/bin || die - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die - - # adjust python interpreter version - sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die - - local 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 - 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/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-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/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/dawn/third_party/tint - 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/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/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-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/test/unittests/front_end/third_party/i18n - 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/flatbuffers - third_party/freetype - third_party/fusejs - third_party/highway - third_party/libgifcodec - third_party/liburlpattern - third_party/libzip - 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/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/libjingle - third_party/libjxl - third_party/libphonenumber - third_party/libsecret - third_party/libsrtp - third_party/libsync - third_party/libudev - 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/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/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/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/snappy - 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/ruy - third_party/six - third_party/ukey2 - third_party/unrar - third_party/usrsctp - third_party/utf - third_party/vulkan - 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 - 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 - ) - if ! use system-ffmpeg; then - keeplibs+=( third_party/ffmpeg third_party/opus ) - fi - if ! use system-icu; then - keeplibs+=( third_party/icu ) - fi - if ! use system-png; then - keeplibs+=( third_party/libpng ) - fi - if use libcxx; then - keeplibs+=( third_party/re2 ) - fi - if use system-harfbuzz; then - keeplibs+=( third_party/harfbuzz-ng/utils ) - else - keeplibs+=( third_party/harfbuzz-ng ) - fi - if use wayland && ! use headless ; then - keeplibs+=( third_party/wayland ) - fi - if use arm64 || use ppc64 ; then - keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 ) - fi - # we need to generate ppc64 stuff because upstream does not ship it yet - # it has to be done before unbundling. - if use ppc64; then - pushd third_party/libvpx >/dev/null || die - mkdir -p source/config/linux/ppc64 || die - # requires git and clang, bug #832803 - sed -i -e "s|^update_readme||g; s|clang-format|${EPREFIX}/bin/true|g" \ - generate_gni.sh || die - ./generate_gni.sh || die - popd >/dev/null || die - fi - - # Remove most bundled libraries. Some are still needed. - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die - - if use js-type-check; then - ln -s "${EPREFIX}"/usr/bin/java third_party/jdk/current/bin/java || die - fi - - # bundled eu-strip is for amd64 only and we don't want to pre-stripped binaries - mkdir -p buildtools/third_party/eu-strip/bin || die - ln -s "${EPREFIX}"/bin/true buildtools/third_party/eu-strip/bin/eu-strip || die -} - -src_configure() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local myconf_gn="" - - # Make sure the build system will use the right tools, bug #340795. - tc-export AR CC CXX NM - - if { [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || use libcxx; } && ! 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 || use libcxx; then - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" - else - myconf_gn+=" is_clang=false" - fi - - # Define a custom toolchain for GN - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" - - if tc-is-cross-compiler; then - tc-export BUILD_{AR,CC,CXX,NM} - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" pkg_config=\"$(tc-get_PKG_CONFIG)\"" - myconf_gn+=" host_pkg_config=\"$(tc-getBUILD_PKG_CONFIG)\"" - - # setup cups-config, build system only uses --libs option - if use cups; then - mkdir "${T}/cups-config" || die - cp "${ESYSROOT}/usr/bin/${CHOST}-cups-config" "${T}/cups-config/cups-config" || die - export PATH="${PATH}:${T}/cups-config" - fi - - # Don't inherit PKG_CONFIG_PATH from environment - local -x PKG_CONFIG_PATH= - else - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - fi - - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - myconf_gn+=" is_debug=false" - - # enable DCHECK with USE=debug only, increases chrome binary size by 30%, bug #811138. - # DCHECK is fatal by default, make it configurable at runtime, #bug 807881. - myconf_gn+=" dcheck_always_on=$(usex debug true false)" - myconf_gn+=" dcheck_is_configurable=$(usex debug true false)" - - # Component build isn't generally intended for use by end users. It's mostly useful - # for development and debugging. - myconf_gn+=" is_component_build=$(usex component-build true false)" - - # Disable nacl, we can't build without pnacl (http://crbug.com/269560). - myconf_gn+=" enable_nacl=false" - - # Use system-provided libraries. - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_protobuf (bug #525560). - # TODO: use_system_sqlite (http://crbug.com/22208). - - # libevent: https://bugs.gentoo.org/593458 - local gn_system_libraries=( - flac - fontconfig - freetype - # Need harfbuzz_from_pkgconfig target - #harfbuzz-ng - libdrm - libjpeg - libwebp - libxml - libxslt - openh264 - zlib - ) - if use system-ffmpeg; then - gn_system_libraries+=( ffmpeg opus ) - fi - if use system-icu; then - gn_system_libraries+=( icu ) - fi - if use system-png; then - gn_system_libraries+=( libpng ) - fi - # re2 library interface relies on std::string and std::vector - if ! use libcxx; then - gn_system_libraries+=( re2 ) - fi - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die - - # See dependency logic in third_party/BUILD.gn - myconf_gn+=" use_system_harfbuzz=$(usex system-harfbuzz true false)" - - # Disable deprecated libgnome-keyring dependency, bug #713012 - myconf_gn+=" use_gnome_keyring=false" - - # Optional dependencies. - myconf_gn+=" enable_js_type_check=$(usex js-type-check true false)" - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" - myconf_gn+=" enable_widevine=$(usex widevine true false)" - - if use headless; then - myconf_gn+=" use_cups=false" - myconf_gn+=" use_kerberos=false" - myconf_gn+=" use_pulseaudio=false" - myconf_gn+=" use_vaapi=false" - myconf_gn+=" rtc_use_pipewire=false" - else - myconf_gn+=" use_cups=$(usex cups true false)" - myconf_gn+=" use_kerberos=$(usex kerberos true false)" - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" - myconf_gn+=" use_vaapi=$(usex vaapi true false)" - myconf_gn+=" rtc_use_pipewire=$(usex screencast true false)" - myconf_gn+=" gtk_version=$(usex gtk4 4 3)" - fi - - # TODO: link_pulseaudio=true for GN. - - myconf_gn+=" disable_fieldtrial_testing_config=true" - - # Never use bundled gold binary. Disable gold linker flags for now. - # Do not use bundled clang. - # Trying to use gold results in linker crash. - myconf_gn+=" use_gold=false use_sysroot=false" - myconf_gn+=" use_custom_libcxx=$(usex libcxx true false)" - - # Disable forced lld, bug 641556 - myconf_gn+=" use_lld=false" - - # Disable pseudolocales, only used for testing - myconf_gn+=" enable_pseudolocales=false" - - # Disable code formating of generated files - myconf_gn+=" blink_enable_generated_code_formatting=false" - - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" - - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . - # Note: these are for Gentoo use ONLY. For your own distribution, - # please get your own set of keys. Feel free to contact chromium@gentoo.org - # for more info. The OAuth2 credentials, however, have been left out. - # Those OAuth2 credentials have been broken for quite some time anyway. - # Instead we apply a patch to use the --oauth2-client-id= and - # --oauth2-client-secret= switches for setting GOOGLE_DEFAULT_CLIENT_ID and - # GOOGLE_DEFAULT_CLIENT_SECRET at runtime. This allows signing into - # Chromium without baked-in values. - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" - myconf_gn+=" google_api_key=\"${google_api_key}\"" - local myarch="$(tc-arch)" - - # Avoid CFLAGS problems, bug #352457, bug #390147. - if ! use custom-cflags; then - replace-flags "-Os" "-O2" - strip-flags - - # Debug info section overflows without component build - # Prevent linker from running out of address space, bug #471810 . - if ! use component-build || use x86; then - filter-flags "-g*" - fi - - # Prevent libvpx build failures. Bug 530248, 544702, 546984. - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4 - fi - fi - - if [[ $myarch = amd64 ]] ; then - myconf_gn+=" target_cpu=\"x64\"" - ffmpeg_target_arch=x64 - elif [[ $myarch = x86 ]] ; then - myconf_gn+=" target_cpu=\"x86\"" - ffmpeg_target_arch=ia32 - - # This is normally defined by compiler_cpu_abi in - # build/config/compiler/BUILD.gn, but we patch that part out. - append-flags -msse2 -mfpmath=sse -mmmx - elif [[ $myarch = arm64 ]] ; then - myconf_gn+=" target_cpu=\"arm64\"" - ffmpeg_target_arch=arm64 - elif [[ $myarch = arm ]] ; then - myconf_gn+=" target_cpu=\"arm\"" - ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm) - elif [[ $myarch = ppc64 ]] ; then - myconf_gn+=" target_cpu=\"ppc64\"" - ffmpeg_target_arch=ppc64 - else - 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" - - # Bug 491582. - export TMPDIR="${WORKDIR}/temp" - mkdir -p -m 755 "${TMPDIR}" || die - - # https://bugs.gentoo.org/654216 - addpredict /dev/dri/ #nowarn - - #if ! use system-ffmpeg; then - if false; then - local build_ffmpeg_args="" - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then - build_ffmpeg_args+=" --disable-asm" - fi - - # Re-configure bundled ffmpeg. See bug #491378 for example reasons. - einfo "Configuring bundled ffmpeg..." - pushd third_party/ffmpeg > /dev/null || die - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \ - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die - chromium/scripts/copy_config.sh || die - chromium/scripts/generate_gn.py || die - popd > /dev/null || die - fi - - # Disable unknown warning message from clang. - if tc-is-clang; then - 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. - if use system-icu || use headless; then - myconf_gn+=" icu_use_data_file=false" - fi - - # Enable ozone wayland and/or headless support - myconf_gn+=" use_ozone=true ozone_auto_platforms=false" - myconf_gn+=" ozone_platform_headless=true" - myconf_gn+=" ozone_platform_x11=$(usex headless false true)" - if use wayland || use headless; then - if use headless; then - myconf_gn+=" ozone_platform=\"headless\"" - myconf_gn+=" use_xkbcommon=false use_gtk=false" - myconf_gn+=" use_glib=false use_gio=false" - myconf_gn+=" use_pangocairo=false use_alsa=false" - myconf_gn+=" use_libpci=false use_udev=false" - myconf_gn+=" enable_print_preview=false" - myconf_gn+=" enable_remoting=false" - else - myconf_gn+=" ozone_platform_wayland=true" - myconf_gn+=" use_system_libdrm=true" - myconf_gn+=" use_system_minigbm=true" - myconf_gn+=" use_xkbcommon=true" - myconf_gn+=" ozone_platform=\"wayland\"" - fi - else - myconf_gn+=" ozone_platform=\"x11\"" - fi - - # Enable official builds - myconf_gn+=" is_official_build=$(usex official true false)" - myconf_gn+=" use_thin_lto=false" - if use official; then - # 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 - myconf_gn+=" is_cfi=false" - # Disable PGO, because profile data is only compatible with >=clang-11 - myconf_gn+=" chrome_pgo_phase=0" - # Don't add symbols to build - myconf_gn+=" symbol_level=0" - fi - - einfo "Configuring Chromium..." - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release - echo "$@" - "$@" || die -} - -src_compile() { - # Final link uses lots of file descriptors. - ulimit -n 2048 - - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - # Don't inherit PYTHONPATH from environment, bug #789021, #812689 - local -x PYTHONPATH= - - #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die - - # Build mksnapshot and pax-mark it. - local x - for x in mksnapshot v8_context_snapshot_generator; do - if tc-is-cross-compiler; then - eninja -C out/Release "host/${x}" - pax-mark m "out/Release/host/${x}" - else - eninja -C out/Release "${x}" - pax-mark m "out/Release/${x}" - fi - done - - # Even though ninja autodetects number of CPUs, we respect - # user's options, for debugging with -j 1 or any other reason. - eninja -C out/Release chrome chromedriver - use suid && eninja -C out/Release chrome_sandbox - - pax-mark m out/Release/chrome - - mv out/Release/chromedriver{.unstripped,} || die - - # Build manpage; bug #684550 - sed -e 's|@@PACKAGE@@|chromium-browser|g; - s|@@MENUNAME@@|Chromium|g;' \ - chrome/app/resources/manpage.1.in > \ - out/Release/chromium-browser.1 || die - - # Build desktop file; bug #706786 - sed -e 's|@@MENUNAME@@|Chromium|g; - s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g; - s|@@PACKAGE@@|chromium-browser|g; - s|\(^Exec=\)/usr/bin/|\1|g;' \ - chrome/installer/linux/common/desktop.template > \ - out/Release/chromium-browser-chromium.desktop || die - - # Build vk_swiftshader_icd.json; bug #827861 - sed -e 's|${ICD_LIBRARY_PATH}|./libvk_swiftshader.so|g' \ - third_party/swiftshader/src/Vulkan/vk_swiftshader_icd.json.tmpl > \ - out/Release/vk_swiftshader_icd.json || die -} - -src_install() { - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" - exeinto "${CHROMIUM_HOME}" - doexe out/Release/chrome - - if use suid; then - newexe out/Release/chrome_sandbox chrome-sandbox - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" - fi - - doexe out/Release/chromedriver - doexe out/Release/chrome_crashpad_handler - - ozone_auto_session () { - use wayland && ! use headless && echo true || echo false - } - local sedargs=( -e - "s:/usr/lib/:/usr/$(get_libdir)/:g; - s:@@OZONE_AUTO_SESSION@@:$(ozone_auto_session):g" - ) - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r7.sh" > chromium-launcher.sh || die - doexe chromium-launcher.sh - - # It is important that we name the target "chromium-browser", - # xdg-utils expect it; bug #355517. - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser - # keep the old symlink around for consistency - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium - - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver - - # Allow users to override command-line options, bug #357629. - insinto /etc/chromium - newins "${FILESDIR}/chromium.default" "default" - - pushd out/Release/locales > /dev/null || die - chromium_remove_language_paks - popd - - insinto "${CHROMIUM_HOME}" - doins out/Release/*.bin - doins out/Release/*.pak - ( - shopt -s nullglob - local files=(out/Release/*.so out/Release/*.so.[0-9]) - [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}" - ) - - if ! use system-icu && ! use headless; then - doins out/Release/icudtl.dat - fi - - doins -r out/Release/locales - doins -r out/Release/MEIPreload - - # Install vk_swiftshader_icd.json; bug #827861 - doins out/Release/vk_swiftshader_icd.json - - if [[ -d out/Release/swiftshader ]]; then - insinto "${CHROMIUM_HOME}/swiftshader" - doins out/Release/swiftshader/*.so - fi - - # Install icons - local branding size - for size in 16 24 32 48 64 128 256 ; do - case ${size} in - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; - *) branding="chrome/app/theme/chromium" ;; - esac - newicon -s ${size} "${branding}/product_logo_${size}.png" \ - chromium-browser.png - done - - # Install desktop entry - domenu out/Release/chromium-browser-chromium.desktop - - # Install GNOME default application entry (bug #303100). - insinto /usr/share/gnome-control-center/default-apps - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml - - # Install manpage; bug #684550 - doman out/Release/chromium-browser.1 - dosym chromium-browser.1 /usr/share/man/man1/chromium.1 - - readme.gentoo_create_doc -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_desktop_database_update -} - -pkg_postinst() { - xdg_icon_cache_update - xdg_desktop_database_update - readme.gentoo_print_elog - - if ! use headless; then - if use vaapi; then - elog "VA-API is disabled by default at runtime. You have to enable it" - elog "by adding --enable-features=VaapiVideoDecoder to CHROMIUM_FLAGS" - elog "in /etc/chromium/default." - fi - if use screencast; then - elog "Screencast is disabled by default at runtime. Either enable it" - elog "by navigating to chrome://flags/#enable-webrtc-pipewire-capturer" - elog "inside Chromium or add --enable-features=WebRTCPipeWireCapturer" - elog "to CHROMIUM_FLAGS in /etc/chromium/default." - fi - if use gtk4; then - elog "Chromium prefers GTK3 over GTK4 at runtime. To override this" - elog "behavior you need to pass --gtk-version=4, e.g. by adding it" - elog "to CHROMIUM_FLAGS in /etc/chromium/default." - fi - fi -} diff --git a/www-client/chromium/chromium-101.0.4951.15.ebuild b/www-client/chromium/chromium-101.0.4951.15.ebuild deleted file mode 100644 index 5be4f3e..0000000 --- a/www-client/chromium/chromium-101.0.4951.15.ebuild +++ /dev/null @@ -1,1011 +0,0 @@ -# Copyright 2009-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -PYTHON_COMPAT=( python3_{8..10} ) -PYTHON_REQ_USE="xml" - -CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - 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 vi zh-CN zh-TW" - -inherit check-reqs chromium-2 desktop flag-o-matic ninja-utils pax-utils python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="https://chromium.org/" -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" -IUSE="component-build cups cpu_flags_arm_neon debug gtk4 +hangouts headless +js-type-check kerberos libcxx +official pic +proprietary-codecs pulseaudio screencast selinux +suid +system-ffmpeg +system-harfbuzz +system-icu +system-png vaapi wayland widevine" -REQUIRED_USE=" - component-build? ( !suid !libcxx ) - screencast? ( wayland ) -" - -COMMON_X_DEPEND=" - x11-libs/gdk-pixbuf:2 - x11-libs/libXcomposite:= - x11-libs/libXcursor:= - x11-libs/libXdamage:= - x11-libs/libXfixes:= - >=x11-libs/libXi-1.6.0:= - x11-libs/libXrandr:= - x11-libs/libXrender:= - x11-libs/libXtst:= - x11-libs/libxshmfence:= - virtual/opengl -" - -COMMON_SNAPSHOT_DEPEND=" - system-icu? ( >=dev-libs/icu-69.1:= ) - >=dev-libs/libxml2-2.9.4-r3:=[icu] - dev-libs/nspr:= - >=dev-libs/nss-3.26:= - !libcxx? ( >=dev-libs/re2-0.2019.08.01:= ) - dev-libs/libxslt:= - media-libs/fontconfig:= - >=media-libs/freetype-2.11.0-r1:= - system-harfbuzz? ( >=media-libs/harfbuzz-3:0=[icu(-)] ) - media-libs/libjpeg-turbo:= - system-png? ( media-libs/libpng:=[-apng] ) - >=media-libs/libwebp-0.4.0:= - media-libs/mesa:=[gbm(+)] - >=media-libs/openh264-1.6.0:= - sys-libs/zlib:= - x11-libs/libdrm:= - !headless? ( - dev-libs/glib:2 - >=media-libs/alsa-lib-1.0.19:= - pulseaudio? ( media-sound/pulseaudio:= ) - kerberos? ( virtual/krb5 ) - vaapi? ( >=x11-libs/libva-2.7:=[X,drm] ) - x11-libs/libX11:= - x11-libs/libXext:= - x11-libs/libxcb:= - x11-libs/libxkbcommon:= - wayland? ( - dev-libs/wayland:= - screencast? ( media-video/pipewire:= ) - ) - ) -" - -COMMON_DEPEND=" - ${COMMON_SNAPSHOT_DEPEND} - app-arch/bzip2:= - dev-libs/expat:= - system-ffmpeg? ( - >=media-video/ffmpeg-4.3:= - || ( - media-video/ffmpeg[-samba] - >=net-fs/samba-4.5.10-r1[-debug(-)] - ) - >=media-libs/opus-1.3.1:= - ) - net-misc/curl[ssl] - sys-apps/dbus:= - media-libs/flac:= - sys-libs/zlib:=[minizip] - !headless? ( - ${COMMON_X_DEPEND} - >=app-accessibility/at-spi2-atk-2.26:2 - >=app-accessibility/at-spi2-core-2.26:2 - >=dev-libs/atk-2.26 - cups? ( >=net-print/cups-1.3.11:= ) - sys-apps/pciutils:= - virtual/udev - x11-libs/cairo:= - x11-libs/pango:= - ) -" -RDEPEND="${COMMON_DEPEND} - !headless? ( - || ( - x11-libs/gtk+:3[X,wayland?] - gui-libs/gtk:4[X,wayland?] - ) - ) - x11-misc/xdg-utils - virtual/ttf-fonts - selinux? ( sec-policy/selinux-chromium ) -" -DEPEND="${COMMON_DEPEND} - !headless? ( - gtk4? ( gui-libs/gtk:4[X,wayland?] ) - !gtk4? ( x11-libs/gtk+:3[X,wayland?] ) - ) -" -BDEPEND=" - ${COMMON_SNAPSHOT_DEPEND} - ${PYTHON_DEPS} - $(python_gen_any_dep ' - dev-python/setuptools[${PYTHON_USEDEP}] - ') - >=app-arch/gzip-1.7 - libcxx? ( >=sys-devel/clang-12 ) - dev-lang/perl - >=dev-util/gn-0.1807 - >=dev-util/gperf-3.0.3 - >=dev-util/ninja-1.7.2 - >=net-libs/nodejs-7.6.0[inspector] - >=sys-devel/bison-2.4.3 - sys-devel/flex - virtual/pkgconfig - js-type-check? ( virtual/jre ) -" - -# These are intended for ebuild maintainer use to force clang if GCC is broken. -: ${CHROMIUM_FORCE_CLANG=yes} - -if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then - BDEPEND+=" >=sys-devel/clang-12" -fi - -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then - EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; -fi - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -Some web pages may require additional fonts to display properly. -Try installing some of the following packages if some characters -are not displayed properly: -- media-fonts/arphicfonts -- media-fonts/droid -- media-fonts/ipamonafont -- media-fonts/noto -- media-fonts/ja-ipafonts -- media-fonts/takao-fonts -- media-fonts/wqy-microhei -- media-fonts/wqy-zenhei - -To fix broken icons on the Downloads page, you should install an icon -theme that covers the appropriate MIME types, and configure this as your -GTK+ icon theme. - -For native file dialogs in KDE, install kde-apps/kdialog. - -To make password storage work with your desktop environment you may -have install one of the supported credentials management applications: -- app-crypt/libsecret (GNOME) -- kde-frameworks/kwallet (KDE) -If you have one of above packages installed, but don't want to use -them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS -in /etc/chromium/default. -" - -python_check_deps() { - has_version -b "dev-python/setuptools[${PYTHON_USEDEP}]" -} - -pre_build_checks() { - if [[ ${MERGE_TYPE} != binary ]]; then - local -x CPP="$(tc-getCXX) -E" - if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 9.2; then - die "At least gcc 9.2 is required" - fi - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || tc-is-clang || use libcxx; then - tc-is-cross-compiler && CPP=${CBUILD}-clang++ || CPP=${CHOST}-clang++ - CPP+=" -E" - if ! ver_test "$(clang-major-version)" -ge 12; then - die "At least clang 12 is required" - fi - fi - fi - - # Check build requirements, bug #541816 and bug #471810 . - CHECKREQS_MEMORY="4G" - CHECKREQS_DISK_BUILD="9G" - tc-is-cross-compiler && CHECKREQS_DISK_BUILD="12G" - if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then - if use custom-cflags || use component-build; then - CHECKREQS_DISK_BUILD="25G" - fi - if ! use component-build; then - CHECKREQS_MEMORY="16G" - fi - fi - check-reqs_pkg_setup -} - -pkg_pretend() { - pre_build_checks - - if use headless; then - local headless_unused_flags=("cups" "kerberos" "pulseaudio" "vaapi" "wayland") - for myiuse in ${headless_unused_flags[@]}; do - use ${myiuse} && ewarn "Ignoring USE=${myiuse} since USE=headless is set." - done - fi -} - -pkg_setup() { - pre_build_checks - - chromium_suid_sandbox_check_kernel_config - - # nvidia-drivers does not work correctly with Wayland due to unsupported EGLStreams - if use wayland && ! use headless && has_version "x11-drivers/nvidia-drivers"; then - ewarn "Proprietary nVidia driver does not work with Wayland. You can disable" - ewarn "Wayland by setting DISABLE_OZONE_PLATFORM=true in /etc/chromium/default." - fi -} - -src_prepare() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local PATCHES=( - "${FILESDIR}/chromium-78-protobuf-RepeatedPtrField-export.patch" - "${FILESDIR}/chromium-99-sqlcursor.patch" - "${FILESDIR}/chromium-100-compiler.patch" - - "${FILESDIR}/chromium-93-InkDropHost-crash.patch" - "${FILESDIR}/chromium-97-arm-tflite-cast.patch" - "${FILESDIR}/chromium-98-EnumTable-crash.patch" - "${FILESDIR}/chromium-98-gtk4-build.patch" - "${FILESDIR}/chromium-101-libxml-unbundle.patch" - "${FILESDIR}/chromium-use-oauth2-client-switches-as-default.patch" - "${FILESDIR}/chromium-shim_headers.patch" - "${FILESDIR}/chromium-cross-compile.patch" - ) - - default - - mkdir -p third_party/node/linux/node-linux-x64/bin || die - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die - - # adjust python interpreter version - sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die - - local 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 - 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/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-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/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/dawn/third_party/tint - 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/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/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-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/test/unittests/front_end/third_party/i18n - 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/flatbuffers - third_party/freetype - third_party/fusejs - third_party/highway - third_party/libgifcodec - third_party/liburlpattern - third_party/libzip - 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/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/libjingle - third_party/libjxl - third_party/libphonenumber - third_party/libsecret - third_party/libsrtp - third_party/libsync - third_party/libudev - 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/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/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/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/snappy - 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/ruy - third_party/six - third_party/ukey2 - third_party/unrar - third_party/usrsctp - third_party/utf - third_party/vulkan - 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 - 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 - ) - if ! use system-ffmpeg; then - keeplibs+=( third_party/ffmpeg third_party/opus ) - fi - if ! use system-icu; then - keeplibs+=( third_party/icu ) - fi - if ! use system-png; then - keeplibs+=( third_party/libpng ) - fi - if use libcxx; then - keeplibs+=( third_party/re2 ) - fi - if use system-harfbuzz; then - keeplibs+=( third_party/harfbuzz-ng/utils ) - else - keeplibs+=( third_party/harfbuzz-ng ) - fi - if use wayland && ! use headless ; then - keeplibs+=( third_party/wayland ) - fi - if use arm64 || use ppc64 ; then - keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 ) - fi - # we need to generate ppc64 stuff because upstream does not ship it yet - # it has to be done before unbundling. - if use ppc64; then - pushd third_party/libvpx >/dev/null || die - mkdir -p source/config/linux/ppc64 || die - # requires git and clang, bug #832803 - sed -i -e "s|^update_readme||g; s|clang-format|${EPREFIX}/bin/true|g" \ - generate_gni.sh || die - ./generate_gni.sh || die - popd >/dev/null || die - fi - - # Remove most bundled libraries. Some are still needed. - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die - - if use js-type-check; then - ln -s "${EPREFIX}"/usr/bin/java third_party/jdk/current/bin/java || die - fi - - # bundled eu-strip is for amd64 only and we don't want to pre-stripped binaries - mkdir -p buildtools/third_party/eu-strip/bin || die - ln -s "${EPREFIX}"/bin/true buildtools/third_party/eu-strip/bin/eu-strip || die -} - -src_configure() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local myconf_gn="" - - # Make sure the build system will use the right tools, bug #340795. - tc-export AR CC CXX NM - - if { [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || use libcxx; } && ! 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 || use libcxx; then - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" - else - myconf_gn+=" is_clang=false" - fi - - # Define a custom toolchain for GN - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" - - if tc-is-cross-compiler; then - tc-export BUILD_{AR,CC,CXX,NM} - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" pkg_config=\"$(tc-get_PKG_CONFIG)\"" - myconf_gn+=" host_pkg_config=\"$(tc-getBUILD_PKG_CONFIG)\"" - - # setup cups-config, build system only uses --libs option - if use cups; then - mkdir "${T}/cups-config" || die - cp "${ESYSROOT}/usr/bin/${CHOST}-cups-config" "${T}/cups-config/cups-config" || die - export PATH="${PATH}:${T}/cups-config" - fi - - # Don't inherit PKG_CONFIG_PATH from environment - local -x PKG_CONFIG_PATH= - else - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - fi - - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - myconf_gn+=" is_debug=false" - - # enable DCHECK with USE=debug only, increases chrome binary size by 30%, bug #811138. - # DCHECK is fatal by default, make it configurable at runtime, #bug 807881. - myconf_gn+=" dcheck_always_on=$(usex debug true false)" - myconf_gn+=" dcheck_is_configurable=$(usex debug true false)" - - # Component build isn't generally intended for use by end users. It's mostly useful - # for development and debugging. - myconf_gn+=" is_component_build=$(usex component-build true false)" - - # Disable nacl, we can't build without pnacl (http://crbug.com/269560). - myconf_gn+=" enable_nacl=false" - - # Use system-provided libraries. - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_protobuf (bug #525560). - # TODO: use_system_sqlite (http://crbug.com/22208). - - # libevent: https://bugs.gentoo.org/593458 - local gn_system_libraries=( - flac - fontconfig - freetype - # Need harfbuzz_from_pkgconfig target - #harfbuzz-ng - libdrm - libjpeg - libwebp - libxml - libxslt - openh264 - zlib - ) - if use system-ffmpeg; then - gn_system_libraries+=( ffmpeg opus ) - fi - if use system-icu; then - gn_system_libraries+=( icu ) - fi - if use system-png; then - gn_system_libraries+=( libpng ) - fi - # re2 library interface relies on std::string and std::vector - if ! use libcxx; then - gn_system_libraries+=( re2 ) - fi - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die - - # See dependency logic in third_party/BUILD.gn - myconf_gn+=" use_system_harfbuzz=$(usex system-harfbuzz true false)" - - # Disable deprecated libgnome-keyring dependency, bug #713012 - myconf_gn+=" use_gnome_keyring=false" - - # Optional dependencies. - myconf_gn+=" enable_js_type_check=$(usex js-type-check true false)" - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" - myconf_gn+=" enable_widevine=$(usex widevine true false)" - - if use headless; then - myconf_gn+=" use_cups=false" - myconf_gn+=" use_kerberos=false" - myconf_gn+=" use_pulseaudio=false" - myconf_gn+=" use_vaapi=false" - myconf_gn+=" rtc_use_pipewire=false" - else - myconf_gn+=" use_cups=$(usex cups true false)" - myconf_gn+=" use_kerberos=$(usex kerberos true false)" - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" - myconf_gn+=" use_vaapi=$(usex vaapi true false)" - myconf_gn+=" rtc_use_pipewire=$(usex screencast true false)" - myconf_gn+=" gtk_version=$(usex gtk4 4 3)" - fi - - # TODO: link_pulseaudio=true for GN. - - myconf_gn+=" disable_fieldtrial_testing_config=true" - - # Never use bundled gold binary. Disable gold linker flags for now. - # Do not use bundled clang. - # Trying to use gold results in linker crash. - myconf_gn+=" use_gold=false use_sysroot=false" - myconf_gn+=" use_custom_libcxx=$(usex libcxx true false)" - - # Disable forced lld, bug 641556 - myconf_gn+=" use_lld=false" - - # Disable pseudolocales, only used for testing - myconf_gn+=" enable_pseudolocales=false" - - # Disable code formating of generated files - myconf_gn+=" blink_enable_generated_code_formatting=false" - - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" - - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . - # Note: these are for Gentoo use ONLY. For your own distribution, - # please get your own set of keys. Feel free to contact chromium@gentoo.org - # for more info. The OAuth2 credentials, however, have been left out. - # Those OAuth2 credentials have been broken for quite some time anyway. - # Instead we apply a patch to use the --oauth2-client-id= and - # --oauth2-client-secret= switches for setting GOOGLE_DEFAULT_CLIENT_ID and - # GOOGLE_DEFAULT_CLIENT_SECRET at runtime. This allows signing into - # Chromium without baked-in values. - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" - myconf_gn+=" google_api_key=\"${google_api_key}\"" - local myarch="$(tc-arch)" - - # Avoid CFLAGS problems, bug #352457, bug #390147. - if ! use custom-cflags; then - replace-flags "-Os" "-O2" - strip-flags - - # Debug info section overflows without component build - # Prevent linker from running out of address space, bug #471810 . - if ! use component-build || use x86; then - filter-flags "-g*" - fi - - # Prevent libvpx build failures. Bug 530248, 544702, 546984. - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4 - fi - fi - - if [[ $myarch = amd64 ]] ; then - myconf_gn+=" target_cpu=\"x64\"" - ffmpeg_target_arch=x64 - elif [[ $myarch = x86 ]] ; then - myconf_gn+=" target_cpu=\"x86\"" - ffmpeg_target_arch=ia32 - - # This is normally defined by compiler_cpu_abi in - # build/config/compiler/BUILD.gn, but we patch that part out. - append-flags -msse2 -mfpmath=sse -mmmx - elif [[ $myarch = arm64 ]] ; then - myconf_gn+=" target_cpu=\"arm64\"" - ffmpeg_target_arch=arm64 - elif [[ $myarch = arm ]] ; then - myconf_gn+=" target_cpu=\"arm\"" - ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm) - elif [[ $myarch = ppc64 ]] ; then - myconf_gn+=" target_cpu=\"ppc64\"" - ffmpeg_target_arch=ppc64 - else - 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" - - # Bug 491582. - export TMPDIR="${WORKDIR}/temp" - mkdir -p -m 755 "${TMPDIR}" || die - - # https://bugs.gentoo.org/654216 - addpredict /dev/dri/ #nowarn - - #if ! use system-ffmpeg; then - if false; then - local build_ffmpeg_args="" - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then - build_ffmpeg_args+=" --disable-asm" - fi - - # Re-configure bundled ffmpeg. See bug #491378 for example reasons. - einfo "Configuring bundled ffmpeg..." - pushd third_party/ffmpeg > /dev/null || die - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \ - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die - chromium/scripts/copy_config.sh || die - chromium/scripts/generate_gn.py || die - popd > /dev/null || die - fi - - # Disable unknown warning message from clang. - if tc-is-clang; then - 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. - if use system-icu || use headless; then - myconf_gn+=" icu_use_data_file=false" - fi - - # Enable ozone wayland and/or headless support - myconf_gn+=" use_ozone=true ozone_auto_platforms=false" - myconf_gn+=" ozone_platform_headless=true" - myconf_gn+=" ozone_platform_x11=$(usex headless false true)" - if use wayland || use headless; then - if use headless; then - myconf_gn+=" ozone_platform=\"headless\"" - myconf_gn+=" use_xkbcommon=false use_gtk=false" - myconf_gn+=" use_glib=false use_gio=false" - myconf_gn+=" use_pangocairo=false use_alsa=false" - myconf_gn+=" use_libpci=false use_udev=false" - myconf_gn+=" enable_print_preview=false" - myconf_gn+=" enable_remoting=false" - else - myconf_gn+=" ozone_platform_wayland=true" - myconf_gn+=" use_system_libdrm=true" - myconf_gn+=" use_system_minigbm=true" - myconf_gn+=" use_xkbcommon=true" - myconf_gn+=" ozone_platform=\"wayland\"" - fi - else - myconf_gn+=" ozone_platform=\"x11\"" - fi - - # Enable official builds - myconf_gn+=" is_official_build=$(usex official true false)" - myconf_gn+=" use_thin_lto=false" - if use official; then - # 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 - myconf_gn+=" is_cfi=false" - # Disable PGO, because profile data is only compatible with >=clang-11 - myconf_gn+=" chrome_pgo_phase=0" - # Don't add symbols to build - myconf_gn+=" symbol_level=0" - fi - - einfo "Configuring Chromium..." - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release - echo "$@" - "$@" || die -} - -src_compile() { - # Final link uses lots of file descriptors. - ulimit -n 2048 - - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - # Don't inherit PYTHONPATH from environment, bug #789021, #812689 - local -x PYTHONPATH= - - #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die - - # Build mksnapshot and pax-mark it. - local x - for x in mksnapshot v8_context_snapshot_generator; do - if tc-is-cross-compiler; then - eninja -C out/Release "host/${x}" - pax-mark m "out/Release/host/${x}" - else - eninja -C out/Release "${x}" - pax-mark m "out/Release/${x}" - fi - done - - # Even though ninja autodetects number of CPUs, we respect - # user's options, for debugging with -j 1 or any other reason. - eninja -C out/Release chrome chromedriver - use suid && eninja -C out/Release chrome_sandbox - - pax-mark m out/Release/chrome - - mv out/Release/chromedriver{.unstripped,} || die - - # Build manpage; bug #684550 - sed -e 's|@@PACKAGE@@|chromium-browser|g; - s|@@MENUNAME@@|Chromium|g;' \ - chrome/app/resources/manpage.1.in > \ - out/Release/chromium-browser.1 || die - - # Build desktop file; bug #706786 - sed -e 's|@@MENUNAME@@|Chromium|g; - s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g; - s|@@PACKAGE@@|chromium-browser|g; - s|\(^Exec=\)/usr/bin/|\1|g;' \ - chrome/installer/linux/common/desktop.template > \ - out/Release/chromium-browser-chromium.desktop || die - - # Build vk_swiftshader_icd.json; bug #827861 - sed -e 's|${ICD_LIBRARY_PATH}|./libvk_swiftshader.so|g' \ - third_party/swiftshader/src/Vulkan/vk_swiftshader_icd.json.tmpl > \ - out/Release/vk_swiftshader_icd.json || die -} - -src_install() { - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" - exeinto "${CHROMIUM_HOME}" - doexe out/Release/chrome - - if use suid; then - newexe out/Release/chrome_sandbox chrome-sandbox - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" - fi - - doexe out/Release/chromedriver - doexe out/Release/chrome_crashpad_handler - - ozone_auto_session () { - use wayland && ! use headless && echo true || echo false - } - local sedargs=( -e - "s:/usr/lib/:/usr/$(get_libdir)/:g; - s:@@OZONE_AUTO_SESSION@@:$(ozone_auto_session):g" - ) - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r7.sh" > chromium-launcher.sh || die - doexe chromium-launcher.sh - - # It is important that we name the target "chromium-browser", - # xdg-utils expect it; bug #355517. - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser - # keep the old symlink around for consistency - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium - - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver - - # Allow users to override command-line options, bug #357629. - insinto /etc/chromium - newins "${FILESDIR}/chromium.default" "default" - - pushd out/Release/locales > /dev/null || die - chromium_remove_language_paks - popd - - insinto "${CHROMIUM_HOME}" - doins out/Release/*.bin - doins out/Release/*.pak - ( - shopt -s nullglob - local files=(out/Release/*.so out/Release/*.so.[0-9]) - [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}" - ) - - if ! use system-icu && ! use headless; then - doins out/Release/icudtl.dat - fi - - doins -r out/Release/locales - doins -r out/Release/MEIPreload - - # Install vk_swiftshader_icd.json; bug #827861 - doins out/Release/vk_swiftshader_icd.json - - if [[ -d out/Release/swiftshader ]]; then - insinto "${CHROMIUM_HOME}/swiftshader" - doins out/Release/swiftshader/*.so - fi - - # Install icons - local branding size - for size in 16 24 32 48 64 128 256 ; do - case ${size} in - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; - *) branding="chrome/app/theme/chromium" ;; - esac - newicon -s ${size} "${branding}/product_logo_${size}.png" \ - chromium-browser.png - done - - # Install desktop entry - domenu out/Release/chromium-browser-chromium.desktop - - # Install GNOME default application entry (bug #303100). - insinto /usr/share/gnome-control-center/default-apps - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml - - # Install manpage; bug #684550 - doman out/Release/chromium-browser.1 - dosym chromium-browser.1 /usr/share/man/man1/chromium.1 - - readme.gentoo_create_doc -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_desktop_database_update -} - -pkg_postinst() { - xdg_icon_cache_update - xdg_desktop_database_update - readme.gentoo_print_elog - - if ! use headless; then - if use vaapi; then - elog "VA-API is disabled by default at runtime. You have to enable it" - elog "by adding --enable-features=VaapiVideoDecoder to CHROMIUM_FLAGS" - elog "in /etc/chromium/default." - fi - if use screencast; then - elog "Screencast is disabled by default at runtime. Either enable it" - elog "by navigating to chrome://flags/#enable-webrtc-pipewire-capturer" - elog "inside Chromium or add --enable-features=WebRTCPipeWireCapturer" - elog "to CHROMIUM_FLAGS in /etc/chromium/default." - fi - if use gtk4; then - elog "Chromium prefers GTK3 over GTK4 at runtime. To override this" - elog "behavior you need to pass --gtk-version=4, e.g. by adding it" - elog "to CHROMIUM_FLAGS in /etc/chromium/default." - fi - fi -} diff --git a/www-client/chromium/chromium-102.0.5005.12.ebuild b/www-client/chromium/chromium-102.0.5005.12.ebuild deleted file mode 100644 index f9490b4..0000000 --- a/www-client/chromium/chromium-102.0.5005.12.ebuild +++ /dev/null @@ -1,1015 +0,0 @@ -# Copyright 2009-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -PYTHON_COMPAT=( python3_{8..10} ) -PYTHON_REQ_USE="xml" - -CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - 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 ninja-utils pax-utils python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="https://chromium.org/" -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" -IUSE="component-build cups cpu_flags_arm_neon debug gtk4 +hangouts headless +js-type-check kerberos libcxx +official pic +proprietary-codecs pulseaudio screencast selinux +suid +system-ffmpeg +system-harfbuzz +system-icu +system-png vaapi wayland widevine" -REQUIRED_USE=" - component-build? ( !suid !libcxx ) - screencast? ( wayland ) -" - -COMMON_X_DEPEND=" - x11-libs/gdk-pixbuf:2 - x11-libs/libXcomposite:= - x11-libs/libXcursor:= - x11-libs/libXdamage:= - x11-libs/libXfixes:= - >=x11-libs/libXi-1.6.0:= - x11-libs/libXrandr:= - x11-libs/libXrender:= - x11-libs/libXtst:= - x11-libs/libxshmfence:= - virtual/opengl -" - -COMMON_SNAPSHOT_DEPEND=" - system-icu? ( >=dev-libs/icu-69.1:= ) - >=dev-libs/libxml2-2.9.4-r3:=[icu] - dev-libs/nspr:= - >=dev-libs/nss-3.26:= - !libcxx? ( >=dev-libs/re2-0.2019.08.01:= ) - dev-libs/libxslt:= - media-libs/fontconfig:= - >=media-libs/freetype-2.11.0-r1:= - system-harfbuzz? ( >=media-libs/harfbuzz-3:0=[icu(-)] ) - media-libs/libjpeg-turbo:= - system-png? ( media-libs/libpng:=[-apng] ) - >=media-libs/libwebp-0.4.0:= - media-libs/mesa:=[gbm(+)] - >=media-libs/openh264-1.6.0:= - sys-libs/zlib:= - x11-libs/libdrm:= - !headless? ( - dev-libs/glib:2 - >=media-libs/alsa-lib-1.0.19:= - pulseaudio? ( media-sound/pulseaudio:= ) - sys-apps/pciutils:= - kerberos? ( virtual/krb5 ) - vaapi? ( >=x11-libs/libva-2.7:=[X] ) - x11-libs/libX11:= - x11-libs/libXext:= - x11-libs/libxcb:= - x11-libs/libxkbcommon:= - wayland? ( - dev-libs/wayland:= - screencast? ( media-video/pipewire:= ) - ) - ) -" - -COMMON_DEPEND=" - ${COMMON_SNAPSHOT_DEPEND} - app-arch/bzip2:= - dev-libs/expat:= - system-ffmpeg? ( - >=media-video/ffmpeg-4.3:= - || ( - media-video/ffmpeg[-samba] - >=net-fs/samba-4.5.10-r1[-debug(-)] - ) - >=media-libs/opus-1.3.1:= - ) - net-misc/curl[ssl] - sys-apps/dbus:= - media-libs/flac:= - sys-libs/zlib:=[minizip] - !headless? ( - ${COMMON_X_DEPEND} - >=app-accessibility/at-spi2-atk-2.26:2 - >=app-accessibility/at-spi2-core-2.26:2 - >=dev-libs/atk-2.26 - cups? ( >=net-print/cups-1.3.11:= ) - virtual/udev - x11-libs/cairo:= - x11-libs/pango:= - ) -" -RDEPEND="${COMMON_DEPEND} - !headless? ( - || ( - x11-libs/gtk+:3[X,wayland?] - gui-libs/gtk:4[X,wayland?] - ) - ) - x11-misc/xdg-utils - virtual/ttf-fonts - selinux? ( sec-policy/selinux-chromium ) -" -DEPEND="${COMMON_DEPEND} - !headless? ( - gtk4? ( gui-libs/gtk:4[X,wayland?] ) - !gtk4? ( x11-libs/gtk+:3[X,wayland?] ) - ) -" -BDEPEND=" - ${COMMON_SNAPSHOT_DEPEND} - ${PYTHON_DEPS} - $(python_gen_any_dep ' - dev-python/setuptools[${PYTHON_USEDEP}] - ') - >=app-arch/gzip-1.7 - libcxx? ( >=sys-devel/clang-12 ) - dev-lang/perl - >=dev-util/gn-0.1807 - >=dev-util/gperf-3.0.3 - >=dev-util/ninja-1.7.2 - >=net-libs/nodejs-7.6.0[inspector] - >=sys-devel/bison-2.4.3 - sys-devel/flex - virtual/pkgconfig - js-type-check? ( virtual/jre ) -" - -# These are intended for ebuild maintainer use to force clang if GCC is broken. -: ${CHROMIUM_FORCE_CLANG=yes} - -if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then - BDEPEND+=" >=sys-devel/clang-12" -fi - -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then - EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; -fi - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -Some web pages may require additional fonts to display properly. -Try installing some of the following packages if some characters -are not displayed properly: -- media-fonts/arphicfonts -- media-fonts/droid -- media-fonts/ipamonafont -- media-fonts/noto -- media-fonts/ja-ipafonts -- media-fonts/takao-fonts -- media-fonts/wqy-microhei -- media-fonts/wqy-zenhei - -To fix broken icons on the Downloads page, you should install an icon -theme that covers the appropriate MIME types, and configure this as your -GTK+ icon theme. - -For native file dialogs in KDE, install kde-apps/kdialog. - -To make password storage work with your desktop environment you may -have install one of the supported credentials management applications: -- app-crypt/libsecret (GNOME) -- kde-frameworks/kwallet (KDE) -If you have one of above packages installed, but don't want to use -them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS -in /etc/chromium/default. -" - -python_check_deps() { - has_version -b "dev-python/setuptools[${PYTHON_USEDEP}]" -} - -pre_build_checks() { - if [[ ${MERGE_TYPE} != binary ]]; then - local -x CPP="$(tc-getCXX) -E" - if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 9.2; then - die "At least gcc 9.2 is required" - fi - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || tc-is-clang || use libcxx; then - tc-is-cross-compiler && CPP=${CBUILD}-clang++ || CPP=${CHOST}-clang++ - CPP+=" -E" - if ! ver_test "$(clang-major-version)" -ge 12; then - die "At least clang 12 is required" - fi - fi - fi - - # Check build requirements, bug #541816 and bug #471810 . - CHECKREQS_MEMORY="4G" - CHECKREQS_DISK_BUILD="10G" - tc-is-cross-compiler && CHECKREQS_DISK_BUILD="13G" - if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then - if use custom-cflags || use component-build; then - CHECKREQS_DISK_BUILD="25G" - fi - if ! use component-build; then - CHECKREQS_MEMORY="16G" - fi - fi - check-reqs_pkg_setup -} - -pkg_pretend() { - pre_build_checks - - if use headless; then - local headless_unused_flags=("cups" "kerberos" "pulseaudio" "vaapi" "wayland") - for myiuse in ${headless_unused_flags[@]}; do - use ${myiuse} && ewarn "Ignoring USE=${myiuse} since USE=headless is set." - done - fi -} - -pkg_setup() { - pre_build_checks - - chromium_suid_sandbox_check_kernel_config - - # nvidia-drivers does not work correctly with Wayland due to unsupported EGLStreams - if use wayland && ! use headless && has_version "x11-drivers/nvidia-drivers"; then - ewarn "Proprietary nVidia driver does not work with Wayland. You can disable" - ewarn "Wayland by setting DISABLE_OZONE_PLATFORM=true in /etc/chromium/default." - fi -} - -src_prepare() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local PATCHES=( - "${FILESDIR}/chromium-78-protobuf-RepeatedPtrField-export.patch" - "${FILESDIR}/chromium-99-sqlcursor.patch" - "${FILESDIR}/chromium-102-compiler.patch" - - "${FILESDIR}/chromium-93-InkDropHost-crash.patch" - "${FILESDIR}/chromium-97-arm-tflite-cast.patch" - "${FILESDIR}/chromium-98-EnumTable-crash.patch" - "${FILESDIR}/chromium-98-gtk4-build.patch" - "${FILESDIR}/chromium-101-libxml-unbundle.patch" - "${FILESDIR}/chromium-use-oauth2-client-switches-as-default.patch" - "${FILESDIR}/chromium-shim_headers.patch" - "${FILESDIR}/chromium-cross-compile.patch" - ) - - default - - mkdir -p third_party/node/linux/node-linux-x64/bin || die - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die - - # only required to fulfill gn dependencies - touch third_party/blink/tools/merge_web_test_results.pydeps || die - mkdir -p third_party/blink/tools/blinkpy/web_tests || die - touch third_party/blink/tools/blinkpy/web_tests/merge_results.pydeps || die - - # adjust python interpreter version - sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die - - local 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 - 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/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-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/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/gn/webgpu-cts - 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/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/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-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/test/unittests/front_end/third_party/i18n - 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/flatbuffers - third_party/freetype - third_party/fusejs - third_party/highway - third_party/libgifcodec - third_party/liburlpattern - third_party/libzip - 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/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/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/libjingle - third_party/libjxl - third_party/libphonenumber - third_party/libsecret - third_party/libsrtp - third_party/libsync - third_party/libudev - 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/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/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/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/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/snappy - 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/swiftshader/third_party/SPIRV-Tools - third_party/tensorflow-text - third_party/tflite - third_party/tflite/src/third_party/eigen3 - third_party/tflite/src/third_party/fft2d - third_party/ruy - third_party/six - third_party/ukey2 - third_party/unrar - third_party/utf - third_party/vulkan - 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 - 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 - ) - if ! use system-ffmpeg; then - keeplibs+=( third_party/ffmpeg third_party/opus ) - fi - if ! use system-icu; then - keeplibs+=( third_party/icu ) - fi - if ! use system-png; then - keeplibs+=( third_party/libpng ) - fi - if use libcxx; then - keeplibs+=( third_party/re2 ) - fi - if use system-harfbuzz; then - keeplibs+=( third_party/harfbuzz-ng/utils ) - else - keeplibs+=( third_party/harfbuzz-ng ) - fi - if use wayland && ! use headless ; then - keeplibs+=( third_party/wayland ) - fi - if use arm64 || use ppc64 ; then - keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 ) - fi - # we need to generate ppc64 stuff because upstream does not ship it yet - # it has to be done before unbundling. - if use ppc64; then - pushd third_party/libvpx >/dev/null || die - mkdir -p source/config/linux/ppc64 || die - # requires git and clang, bug #832803 - sed -i -e "s|^update_readme||g; s|clang-format|${EPREFIX}/bin/true|g" \ - generate_gni.sh || die - ./generate_gni.sh || die - popd >/dev/null || die - fi - - # Remove most bundled libraries. Some are still needed. - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die - - if use js-type-check; then - ln -s "${EPREFIX}"/usr/bin/java third_party/jdk/current/bin/java || die - fi - - # bundled eu-strip is for amd64 only and we don't want to pre-stripped binaries - mkdir -p buildtools/third_party/eu-strip/bin || die - ln -s "${EPREFIX}"/bin/true buildtools/third_party/eu-strip/bin/eu-strip || die -} - -src_configure() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local myconf_gn="" - - # Make sure the build system will use the right tools, bug #340795. - tc-export AR CC CXX NM - - if { [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || use libcxx; } && ! 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 || use libcxx; then - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" - else - myconf_gn+=" is_clang=false" - fi - - # Define a custom toolchain for GN - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" - - if tc-is-cross-compiler; then - tc-export BUILD_{AR,CC,CXX,NM} - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" pkg_config=\"$(tc-getPKG_CONFIG)\"" - myconf_gn+=" host_pkg_config=\"$(tc-getBUILD_PKG_CONFIG)\"" - - # setup cups-config, build system only uses --libs option - if use cups; then - mkdir "${T}/cups-config" || die - cp "${ESYSROOT}/usr/bin/${CHOST}-cups-config" "${T}/cups-config/cups-config" || die - export PATH="${PATH}:${T}/cups-config" - fi - - # Don't inherit PKG_CONFIG_PATH from environment - local -x PKG_CONFIG_PATH= - else - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - fi - - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - myconf_gn+=" is_debug=false" - - # enable DCHECK with USE=debug only, increases chrome binary size by 30%, bug #811138. - # DCHECK is fatal by default, make it configurable at runtime, #bug 807881. - myconf_gn+=" dcheck_always_on=$(usex debug true false)" - myconf_gn+=" dcheck_is_configurable=$(usex debug true false)" - - # Component build isn't generally intended for use by end users. It's mostly useful - # for development and debugging. - myconf_gn+=" is_component_build=$(usex component-build true false)" - - # Disable nacl, we can't build without pnacl (http://crbug.com/269560). - myconf_gn+=" enable_nacl=false" - - # Use system-provided libraries. - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_protobuf (bug #525560). - # TODO: use_system_sqlite (http://crbug.com/22208). - - # libevent: https://bugs.gentoo.org/593458 - local gn_system_libraries=( - flac - fontconfig - freetype - # Need harfbuzz_from_pkgconfig target - #harfbuzz-ng - libdrm - libjpeg - libwebp - libxml - libxslt - openh264 - zlib - ) - if use system-ffmpeg; then - gn_system_libraries+=( ffmpeg opus ) - fi - if use system-icu; then - gn_system_libraries+=( icu ) - fi - if use system-png; then - gn_system_libraries+=( libpng ) - fi - # re2 library interface relies on std::string and std::vector - if ! use libcxx; then - gn_system_libraries+=( re2 ) - fi - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die - - # See dependency logic in third_party/BUILD.gn - myconf_gn+=" use_system_harfbuzz=$(usex system-harfbuzz true false)" - - # Disable deprecated libgnome-keyring dependency, bug #713012 - myconf_gn+=" use_gnome_keyring=false" - - # Optional dependencies. - myconf_gn+=" enable_js_type_check=$(usex js-type-check true false)" - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" - myconf_gn+=" enable_widevine=$(usex widevine true false)" - - if use headless; then - myconf_gn+=" use_cups=false" - myconf_gn+=" use_kerberos=false" - myconf_gn+=" use_pulseaudio=false" - myconf_gn+=" use_vaapi=false" - myconf_gn+=" rtc_use_pipewire=false" - else - myconf_gn+=" use_cups=$(usex cups true false)" - myconf_gn+=" use_kerberos=$(usex kerberos true false)" - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" - myconf_gn+=" use_vaapi=$(usex vaapi true false)" - myconf_gn+=" rtc_use_pipewire=$(usex screencast true false)" - myconf_gn+=" gtk_version=$(usex gtk4 4 3)" - fi - - # TODO: link_pulseaudio=true for GN. - - myconf_gn+=" disable_fieldtrial_testing_config=true" - - # Never use bundled gold binary. Disable gold linker flags for now. - # Do not use bundled clang. - # Trying to use gold results in linker crash. - myconf_gn+=" use_gold=false use_sysroot=false" - myconf_gn+=" use_custom_libcxx=$(usex libcxx true false)" - - # Disable forced lld, bug 641556 - myconf_gn+=" use_lld=false" - - # Disable pseudolocales, only used for testing - myconf_gn+=" enable_pseudolocales=false" - - # Disable code formating of generated files - myconf_gn+=" blink_enable_generated_code_formatting=false" - - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" - - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . - # Note: these are for Gentoo use ONLY. For your own distribution, - # please get your own set of keys. Feel free to contact chromium@gentoo.org - # for more info. The OAuth2 credentials, however, have been left out. - # Those OAuth2 credentials have been broken for quite some time anyway. - # Instead we apply a patch to use the --oauth2-client-id= and - # --oauth2-client-secret= switches for setting GOOGLE_DEFAULT_CLIENT_ID and - # GOOGLE_DEFAULT_CLIENT_SECRET at runtime. This allows signing into - # Chromium without baked-in values. - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" - myconf_gn+=" google_api_key=\"${google_api_key}\"" - local myarch="$(tc-arch)" - - # Avoid CFLAGS problems, bug #352457, bug #390147. - if ! use custom-cflags; then - replace-flags "-Os" "-O2" - strip-flags - - # Debug info section overflows without component build - # Prevent linker from running out of address space, bug #471810 . - if ! use component-build || use x86; then - filter-flags "-g*" - fi - - # Prevent libvpx build failures. Bug 530248, 544702, 546984. - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4 - fi - fi - - if [[ $myarch = amd64 ]] ; then - myconf_gn+=" target_cpu=\"x64\"" - ffmpeg_target_arch=x64 - elif [[ $myarch = x86 ]] ; then - myconf_gn+=" target_cpu=\"x86\"" - ffmpeg_target_arch=ia32 - - # This is normally defined by compiler_cpu_abi in - # build/config/compiler/BUILD.gn, but we patch that part out. - append-flags -msse2 -mfpmath=sse -mmmx - elif [[ $myarch = arm64 ]] ; then - myconf_gn+=" target_cpu=\"arm64\"" - ffmpeg_target_arch=arm64 - elif [[ $myarch = arm ]] ; then - myconf_gn+=" target_cpu=\"arm\"" - ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm) - elif [[ $myarch = ppc64 ]] ; then - myconf_gn+=" target_cpu=\"ppc64\"" - ffmpeg_target_arch=ppc64 - else - 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" - - # Bug 491582. - export TMPDIR="${WORKDIR}/temp" - mkdir -p -m 755 "${TMPDIR}" || die - - # https://bugs.gentoo.org/654216 - addpredict /dev/dri/ #nowarn - - #if ! use system-ffmpeg; then - if false; then - local build_ffmpeg_args="" - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then - build_ffmpeg_args+=" --disable-asm" - fi - - # Re-configure bundled ffmpeg. See bug #491378 for example reasons. - einfo "Configuring bundled ffmpeg..." - pushd third_party/ffmpeg > /dev/null || die - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \ - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die - chromium/scripts/copy_config.sh || die - chromium/scripts/generate_gn.py || die - popd > /dev/null || die - fi - - # Disable unknown warning message from clang. - if tc-is-clang; then - append-flags -Wno-unknown-warning-option - append-flags "-fbracket-depth=1024" - 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. - if use system-icu || use headless; then - myconf_gn+=" icu_use_data_file=false" - fi - - # Enable ozone wayland and/or headless support - myconf_gn+=" use_ozone=true ozone_auto_platforms=false" - myconf_gn+=" ozone_platform_headless=true" - myconf_gn+=" ozone_platform_x11=$(usex headless false true)" - if use wayland || use headless; then - if use headless; then - myconf_gn+=" ozone_platform=\"headless\"" - myconf_gn+=" use_xkbcommon=false use_gtk=false" - myconf_gn+=" use_glib=false use_gio=false" - myconf_gn+=" use_pangocairo=false use_alsa=false" - myconf_gn+=" use_libpci=false use_udev=false" - myconf_gn+=" enable_print_preview=false" - myconf_gn+=" enable_remoting=false" - else - myconf_gn+=" ozone_platform_wayland=true" - myconf_gn+=" use_system_libdrm=true" - myconf_gn+=" use_system_minigbm=true" - myconf_gn+=" use_xkbcommon=true" - myconf_gn+=" ozone_platform=\"wayland\"" - fi - else - myconf_gn+=" ozone_platform=\"x11\"" - fi - - # Enable official builds - myconf_gn+=" is_official_build=$(usex official true false)" - myconf_gn+=" use_thin_lto=false" - if use official; then - # 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 - myconf_gn+=" is_cfi=false" - # Disable PGO, because profile data is only compatible with >=clang-11 - myconf_gn+=" chrome_pgo_phase=0" - # Don't add symbols to build - myconf_gn+=" symbol_level=0" - fi - - einfo "Configuring Chromium..." - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release - echo "$@" - "$@" || die -} - -src_compile() { - # Final link uses lots of file descriptors. - ulimit -n 2048 - - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - # Don't inherit PYTHONPATH from environment, bug #789021, #812689 - local -x PYTHONPATH= - - #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die - - # Build mksnapshot and pax-mark it. - local x - for x in mksnapshot v8_context_snapshot_generator; do - if tc-is-cross-compiler; then - eninja -C out/Release "host/${x}" - pax-mark m "out/Release/host/${x}" - else - eninja -C out/Release "${x}" - pax-mark m "out/Release/${x}" - fi - done - - # Even though ninja autodetects number of CPUs, we respect - # user's options, for debugging with -j 1 or any other reason. - eninja -C out/Release chrome chromedriver - use suid && eninja -C out/Release chrome_sandbox - - pax-mark m out/Release/chrome - - mv out/Release/chromedriver{.unstripped,} || die - - # Build manpage; bug #684550 - sed -e 's|@@PACKAGE@@|chromium-browser|g; - s|@@MENUNAME@@|Chromium|g;' \ - chrome/app/resources/manpage.1.in > \ - out/Release/chromium-browser.1 || die - - # Build desktop file; bug #706786 - sed -e 's|@@MENUNAME@@|Chromium|g; - s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g; - s|@@PACKAGE@@|chromium-browser|g; - s|\(^Exec=\)/usr/bin/|\1|g;' \ - chrome/installer/linux/common/desktop.template > \ - out/Release/chromium-browser-chromium.desktop || die - - # Build vk_swiftshader_icd.json; bug #827861 - sed -e 's|${ICD_LIBRARY_PATH}|./libvk_swiftshader.so|g' \ - third_party/swiftshader/src/Vulkan/vk_swiftshader_icd.json.tmpl > \ - out/Release/vk_swiftshader_icd.json || die -} - -src_install() { - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" - exeinto "${CHROMIUM_HOME}" - doexe out/Release/chrome - - if use suid; then - newexe out/Release/chrome_sandbox chrome-sandbox - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" - fi - - doexe out/Release/chromedriver - doexe out/Release/chrome_crashpad_handler - - ozone_auto_session () { - use wayland && ! use headless && echo true || echo false - } - local sedargs=( -e - "s:/usr/lib/:/usr/$(get_libdir)/:g; - s:@@OZONE_AUTO_SESSION@@:$(ozone_auto_session):g" - ) - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r7.sh" > chromium-launcher.sh || die - doexe chromium-launcher.sh - - # It is important that we name the target "chromium-browser", - # xdg-utils expect it; bug #355517. - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser - # keep the old symlink around for consistency - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium - - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver - - # Allow users to override command-line options, bug #357629. - insinto /etc/chromium - newins "${FILESDIR}/chromium.default" "default" - - pushd out/Release/locales > /dev/null || die - chromium_remove_language_paks - popd - - insinto "${CHROMIUM_HOME}" - doins out/Release/*.bin - doins out/Release/*.pak - ( - shopt -s nullglob - local files=(out/Release/*.so out/Release/*.so.[0-9]) - [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}" - ) - - if ! use system-icu && ! use headless; then - doins out/Release/icudtl.dat - fi - - doins -r out/Release/locales - doins -r out/Release/MEIPreload - - # Install vk_swiftshader_icd.json; bug #827861 - doins out/Release/vk_swiftshader_icd.json - - if [[ -d out/Release/swiftshader ]]; then - insinto "${CHROMIUM_HOME}/swiftshader" - doins out/Release/swiftshader/*.so - fi - - # Install icons - local branding size - for size in 16 24 32 48 64 128 256 ; do - case ${size} in - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; - *) branding="chrome/app/theme/chromium" ;; - esac - newicon -s ${size} "${branding}/product_logo_${size}.png" \ - chromium-browser.png - done - - # Install desktop entry - domenu out/Release/chromium-browser-chromium.desktop - - # Install GNOME default application entry (bug #303100). - insinto /usr/share/gnome-control-center/default-apps - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml - - # Install manpage; bug #684550 - doman out/Release/chromium-browser.1 - dosym chromium-browser.1 /usr/share/man/man1/chromium.1 - - readme.gentoo_create_doc -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_desktop_database_update -} - -pkg_postinst() { - xdg_icon_cache_update - xdg_desktop_database_update - readme.gentoo_print_elog - - if ! use headless; then - if use vaapi; then - elog "VA-API is disabled by default at runtime. You have to enable it" - elog "by adding --enable-features=VaapiVideoDecoder to CHROMIUM_FLAGS" - elog "in /etc/chromium/default." - fi - if use screencast; then - elog "Screencast is disabled by default at runtime. Either enable it" - elog "by navigating to chrome://flags/#enable-webrtc-pipewire-capturer" - elog "inside Chromium or add --enable-features=WebRTCPipeWireCapturer" - elog "to CHROMIUM_FLAGS in /etc/chromium/default." - fi - if use gtk4; then - elog "Chromium prefers GTK3 over GTK4 at runtime. To override this" - elog "behavior you need to pass --gtk-version=4, e.g. by adding it" - elog "to CHROMIUM_FLAGS in /etc/chromium/default." - fi - fi -} diff --git a/www-client/chromium/chromium-103.0.5056.0.ebuild b/www-client/chromium/chromium-103.0.5056.0.ebuild deleted file mode 100644 index 5808c25..0000000 --- a/www-client/chromium/chromium-103.0.5056.0.ebuild +++ /dev/null @@ -1,1015 +0,0 @@ -# Copyright 2009-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -PYTHON_COMPAT=( python3_{8..10} ) -PYTHON_REQ_USE="xml" - -CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - 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 ninja-utils pax-utils python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="https://chromium.org/" -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" -IUSE="component-build cups cpu_flags_arm_neon debug gtk4 +hangouts headless +js-type-check kerberos libcxx +official pic +proprietary-codecs pulseaudio screencast selinux +suid +system-ffmpeg +system-harfbuzz +system-icu +system-png vaapi wayland widevine" -REQUIRED_USE=" - component-build? ( !suid !libcxx ) - screencast? ( wayland ) -" - -COMMON_X_DEPEND=" - x11-libs/gdk-pixbuf:2 - x11-libs/libXcomposite:= - x11-libs/libXcursor:= - x11-libs/libXdamage:= - x11-libs/libXfixes:= - >=x11-libs/libXi-1.6.0:= - x11-libs/libXrandr:= - x11-libs/libXrender:= - x11-libs/libXtst:= - x11-libs/libxshmfence:= - virtual/opengl -" - -COMMON_SNAPSHOT_DEPEND=" - system-icu? ( >=dev-libs/icu-69.1:= ) - >=dev-libs/libxml2-2.9.4-r3:=[icu] - dev-libs/nspr:= - >=dev-libs/nss-3.26:= - !libcxx? ( >=dev-libs/re2-0.2019.08.01:= ) - dev-libs/libxslt:= - media-libs/fontconfig:= - >=media-libs/freetype-2.11.0-r1:= - system-harfbuzz? ( >=media-libs/harfbuzz-3:0=[icu(-)] ) - media-libs/libjpeg-turbo:= - system-png? ( media-libs/libpng:=[-apng] ) - >=media-libs/libwebp-0.4.0:= - media-libs/mesa:=[gbm(+)] - >=media-libs/openh264-1.6.0:= - sys-libs/zlib:= - x11-libs/libdrm:= - !headless? ( - dev-libs/glib:2 - >=media-libs/alsa-lib-1.0.19:= - pulseaudio? ( media-sound/pulseaudio:= ) - sys-apps/pciutils:= - kerberos? ( virtual/krb5 ) - vaapi? ( >=x11-libs/libva-2.7:=[X] ) - x11-libs/libX11:= - x11-libs/libXext:= - x11-libs/libxcb:= - x11-libs/libxkbcommon:= - wayland? ( - dev-libs/wayland:= - screencast? ( media-video/pipewire:= ) - ) - ) -" - -COMMON_DEPEND=" - ${COMMON_SNAPSHOT_DEPEND} - app-arch/bzip2:= - dev-libs/expat:= - system-ffmpeg? ( - >=media-video/ffmpeg-4.3:= - || ( - media-video/ffmpeg[-samba] - >=net-fs/samba-4.5.10-r1[-debug(-)] - ) - >=media-libs/opus-1.3.1:= - ) - net-misc/curl[ssl] - sys-apps/dbus:= - media-libs/flac:= - sys-libs/zlib:=[minizip] - !headless? ( - ${COMMON_X_DEPEND} - >=app-accessibility/at-spi2-atk-2.26:2 - >=app-accessibility/at-spi2-core-2.26:2 - >=dev-libs/atk-2.26 - cups? ( >=net-print/cups-1.3.11:= ) - virtual/udev - x11-libs/cairo:= - x11-libs/pango:= - ) -" -RDEPEND="${COMMON_DEPEND} - !headless? ( - || ( - x11-libs/gtk+:3[X,wayland?] - gui-libs/gtk:4[X,wayland?] - ) - ) - x11-misc/xdg-utils - virtual/ttf-fonts - selinux? ( sec-policy/selinux-chromium ) -" -DEPEND="${COMMON_DEPEND} - !headless? ( - gtk4? ( gui-libs/gtk:4[X,wayland?] ) - !gtk4? ( x11-libs/gtk+:3[X,wayland?] ) - ) -" -BDEPEND=" - ${COMMON_SNAPSHOT_DEPEND} - ${PYTHON_DEPS} - $(python_gen_any_dep ' - dev-python/setuptools[${PYTHON_USEDEP}] - ') - >=app-arch/gzip-1.7 - libcxx? ( >=sys-devel/clang-12 ) - dev-lang/perl - >=dev-util/gn-0.1807 - >=dev-util/gperf-3.0.3 - >=dev-util/ninja-1.7.2 - >=net-libs/nodejs-7.6.0[inspector] - >=sys-devel/bison-2.4.3 - sys-devel/flex - virtual/pkgconfig - js-type-check? ( virtual/jre ) -" - -# These are intended for ebuild maintainer use to force clang if GCC is broken. -: ${CHROMIUM_FORCE_CLANG=yes} - -if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then - BDEPEND+=" >=sys-devel/clang-12" -fi - -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then - EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; -fi - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -Some web pages may require additional fonts to display properly. -Try installing some of the following packages if some characters -are not displayed properly: -- media-fonts/arphicfonts -- media-fonts/droid -- media-fonts/ipamonafont -- media-fonts/noto -- media-fonts/ja-ipafonts -- media-fonts/takao-fonts -- media-fonts/wqy-microhei -- media-fonts/wqy-zenhei - -To fix broken icons on the Downloads page, you should install an icon -theme that covers the appropriate MIME types, and configure this as your -GTK+ icon theme. - -For native file dialogs in KDE, install kde-apps/kdialog. - -To make password storage work with your desktop environment you may -have install one of the supported credentials management applications: -- app-crypt/libsecret (GNOME) -- kde-frameworks/kwallet (KDE) -If you have one of above packages installed, but don't want to use -them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS -in /etc/chromium/default. -" - -python_check_deps() { - has_version -b "dev-python/setuptools[${PYTHON_USEDEP}]" -} - -pre_build_checks() { - if [[ ${MERGE_TYPE} != binary ]]; then - local -x CPP="$(tc-getCXX) -E" - if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 9.2; then - die "At least gcc 9.2 is required" - fi - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || tc-is-clang || use libcxx; then - tc-is-cross-compiler && CPP=${CBUILD}-clang++ || CPP=${CHOST}-clang++ - CPP+=" -E" - if ! ver_test "$(clang-major-version)" -ge 12; then - die "At least clang 12 is required" - fi - fi - fi - - # Check build requirements, bug #541816 and bug #471810 . - CHECKREQS_MEMORY="4G" - CHECKREQS_DISK_BUILD="10G" - tc-is-cross-compiler && CHECKREQS_DISK_BUILD="13G" - if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then - if use custom-cflags || use component-build; then - CHECKREQS_DISK_BUILD="25G" - fi - if ! use component-build; then - CHECKREQS_MEMORY="16G" - fi - fi - check-reqs_pkg_setup -} - -pkg_pretend() { - pre_build_checks - - if use headless; then - local headless_unused_flags=("cups" "kerberos" "pulseaudio" "vaapi" "wayland") - for myiuse in ${headless_unused_flags[@]}; do - use ${myiuse} && ewarn "Ignoring USE=${myiuse} since USE=headless is set." - done - fi -} - -pkg_setup() { - pre_build_checks - - chromium_suid_sandbox_check_kernel_config - - # nvidia-drivers does not work correctly with Wayland due to unsupported EGLStreams - if use wayland && ! use headless && has_version "x11-drivers/nvidia-drivers"; then - ewarn "Proprietary nVidia driver does not work with Wayland. You can disable" - ewarn "Wayland by setting DISABLE_OZONE_PLATFORM=true in /etc/chromium/default." - fi -} - -src_prepare() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local PATCHES=( - "${FILESDIR}/chromium-78-protobuf-RepeatedPtrField-export.patch" - "${FILESDIR}/chromium-103-compiler.patch" - "${FILESDIR}/chromium-103-FrameLoadRequest-type.patch" - "${FILESDIR}/chromium-103-SubstringSetMatcher-packed.patch" - "${FILESDIR}/chromium-103-VirtualCursor-std-layout.patch" - - "${FILESDIR}/chromium-93-InkDropHost-crash.patch" - "${FILESDIR}/chromium-98-EnumTable-crash.patch" - "${FILESDIR}/chromium-98-gtk4-build.patch" - "${FILESDIR}/chromium-use-oauth2-client-switches-as-default.patch" - "${FILESDIR}/chromium-shim_headers.patch" - "${FILESDIR}/chromium-cross-compile.patch" - ) - - default - - mkdir -p third_party/node/linux/node-linux-x64/bin || die - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die - - # only required to fulfill gn dependencies - touch third_party/blink/tools/merge_web_test_results.pydeps || die - mkdir -p third_party/blink/tools/blinkpy/web_tests || die - touch third_party/blink/tools/blinkpy/web_tests/merge_results.pydeps || die - - # adjust python interpreter version - sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die - - local 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 - 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/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-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/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/gn/webgpu-cts - 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/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/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-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/test/unittests/front_end/third_party/i18n - 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/flatbuffers - third_party/freetype - third_party/fusejs - third_party/highway - third_party/libgifcodec - third_party/liburlpattern - third_party/libzip - 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/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/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/libjingle - third_party/libjxl - third_party/libphonenumber - third_party/libsecret - third_party/libsrtp - third_party/libsync - third_party/libudev - 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/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/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/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/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/snappy - 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/swiftshader/third_party/SPIRV-Tools - third_party/tensorflow-text - third_party/tflite - third_party/tflite/src/third_party/eigen3 - third_party/tflite/src/third_party/fft2d - third_party/ruy - third_party/six - third_party/ukey2 - third_party/unrar - third_party/utf - third_party/vulkan - 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 - 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 - ) - if ! use system-ffmpeg; then - keeplibs+=( third_party/ffmpeg third_party/opus ) - fi - if ! use system-icu; then - keeplibs+=( third_party/icu ) - fi - if ! use system-png; then - keeplibs+=( third_party/libpng ) - fi - if use libcxx; then - keeplibs+=( third_party/re2 ) - fi - if use system-harfbuzz; then - keeplibs+=( third_party/harfbuzz-ng/utils ) - else - keeplibs+=( third_party/harfbuzz-ng ) - fi - if use wayland && ! use headless ; then - keeplibs+=( third_party/wayland ) - fi - if use arm64 || use ppc64 ; then - keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 ) - fi - # we need to generate ppc64 stuff because upstream does not ship it yet - # it has to be done before unbundling. - if use ppc64; then - pushd third_party/libvpx >/dev/null || die - mkdir -p source/config/linux/ppc64 || die - # requires git and clang, bug #832803 - sed -i -e "s|^update_readme||g; s|clang-format|${EPREFIX}/bin/true|g" \ - generate_gni.sh || die - ./generate_gni.sh || die - popd >/dev/null || die - fi - - # Remove most bundled libraries. Some are still needed. - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die - - if use js-type-check; then - ln -s "${EPREFIX}"/usr/bin/java third_party/jdk/current/bin/java || die - fi - - # bundled eu-strip is for amd64 only and we don't want to pre-stripped binaries - mkdir -p buildtools/third_party/eu-strip/bin || die - ln -s "${EPREFIX}"/bin/true buildtools/third_party/eu-strip/bin/eu-strip || die -} - -src_configure() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local myconf_gn="" - - # Make sure the build system will use the right tools, bug #340795. - tc-export AR CC CXX NM - - if { [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || use libcxx; } && ! 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 || use libcxx; then - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" - else - myconf_gn+=" is_clang=false" - fi - - # Define a custom toolchain for GN - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" - - if tc-is-cross-compiler; then - tc-export BUILD_{AR,CC,CXX,NM} - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" pkg_config=\"$(tc-getPKG_CONFIG)\"" - myconf_gn+=" host_pkg_config=\"$(tc-getBUILD_PKG_CONFIG)\"" - - # setup cups-config, build system only uses --libs option - if use cups; then - mkdir "${T}/cups-config" || die - cp "${ESYSROOT}/usr/bin/${CHOST}-cups-config" "${T}/cups-config/cups-config" || die - export PATH="${PATH}:${T}/cups-config" - fi - - # Don't inherit PKG_CONFIG_PATH from environment - local -x PKG_CONFIG_PATH= - else - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - fi - - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - myconf_gn+=" is_debug=false" - - # enable DCHECK with USE=debug only, increases chrome binary size by 30%, bug #811138. - # DCHECK is fatal by default, make it configurable at runtime, #bug 807881. - myconf_gn+=" dcheck_always_on=$(usex debug true false)" - myconf_gn+=" dcheck_is_configurable=$(usex debug true false)" - - # Component build isn't generally intended for use by end users. It's mostly useful - # for development and debugging. - myconf_gn+=" is_component_build=$(usex component-build true false)" - - # Disable nacl, we can't build without pnacl (http://crbug.com/269560). - myconf_gn+=" enable_nacl=false" - - # Use system-provided libraries. - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_protobuf (bug #525560). - # TODO: use_system_sqlite (http://crbug.com/22208). - - # libevent: https://bugs.gentoo.org/593458 - local gn_system_libraries=( - flac - fontconfig - freetype - # Need harfbuzz_from_pkgconfig target - #harfbuzz-ng - libdrm - libjpeg - libwebp - libxml - libxslt - openh264 - zlib - ) - if use system-ffmpeg; then - gn_system_libraries+=( ffmpeg opus ) - fi - if use system-icu; then - gn_system_libraries+=( icu ) - fi - if use system-png; then - gn_system_libraries+=( libpng ) - fi - # re2 library interface relies on std::string and std::vector - if ! use libcxx; then - gn_system_libraries+=( re2 ) - fi - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die - - # See dependency logic in third_party/BUILD.gn - myconf_gn+=" use_system_harfbuzz=$(usex system-harfbuzz true false)" - - # Disable deprecated libgnome-keyring dependency, bug #713012 - myconf_gn+=" use_gnome_keyring=false" - - # Optional dependencies. - myconf_gn+=" enable_js_type_check=$(usex js-type-check true false)" - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" - myconf_gn+=" enable_widevine=$(usex widevine true false)" - - if use headless; then - myconf_gn+=" use_cups=false" - myconf_gn+=" use_kerberos=false" - myconf_gn+=" use_pulseaudio=false" - myconf_gn+=" use_vaapi=false" - myconf_gn+=" rtc_use_pipewire=false" - else - myconf_gn+=" use_cups=$(usex cups true false)" - myconf_gn+=" use_kerberos=$(usex kerberos true false)" - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" - myconf_gn+=" use_vaapi=$(usex vaapi true false)" - myconf_gn+=" rtc_use_pipewire=$(usex screencast true false)" - myconf_gn+=" gtk_version=$(usex gtk4 4 3)" - fi - - # TODO: link_pulseaudio=true for GN. - - myconf_gn+=" disable_fieldtrial_testing_config=true" - - # Never use bundled gold binary. Disable gold linker flags for now. - # Do not use bundled clang. - # Trying to use gold results in linker crash. - myconf_gn+=" use_gold=false use_sysroot=false" - myconf_gn+=" use_custom_libcxx=$(usex libcxx true false)" - - # Disable forced lld, bug 641556 - myconf_gn+=" use_lld=false" - - # Disable pseudolocales, only used for testing - myconf_gn+=" enable_pseudolocales=false" - - # Disable code formating of generated files - myconf_gn+=" blink_enable_generated_code_formatting=false" - - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" - - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . - # Note: these are for Gentoo use ONLY. For your own distribution, - # please get your own set of keys. Feel free to contact chromium@gentoo.org - # for more info. The OAuth2 credentials, however, have been left out. - # Those OAuth2 credentials have been broken for quite some time anyway. - # Instead we apply a patch to use the --oauth2-client-id= and - # --oauth2-client-secret= switches for setting GOOGLE_DEFAULT_CLIENT_ID and - # GOOGLE_DEFAULT_CLIENT_SECRET at runtime. This allows signing into - # Chromium without baked-in values. - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" - myconf_gn+=" google_api_key=\"${google_api_key}\"" - local myarch="$(tc-arch)" - - # Avoid CFLAGS problems, bug #352457, bug #390147. - if ! use custom-cflags; then - replace-flags "-Os" "-O2" - strip-flags - - # Debug info section overflows without component build - # Prevent linker from running out of address space, bug #471810 . - if ! use component-build || use x86; then - filter-flags "-g*" - fi - - # Prevent libvpx build failures. Bug 530248, 544702, 546984. - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4 - fi - fi - - if [[ $myarch = amd64 ]] ; then - myconf_gn+=" target_cpu=\"x64\"" - ffmpeg_target_arch=x64 - elif [[ $myarch = x86 ]] ; then - myconf_gn+=" target_cpu=\"x86\"" - ffmpeg_target_arch=ia32 - - # This is normally defined by compiler_cpu_abi in - # build/config/compiler/BUILD.gn, but we patch that part out. - append-flags -msse2 -mfpmath=sse -mmmx - elif [[ $myarch = arm64 ]] ; then - myconf_gn+=" target_cpu=\"arm64\"" - ffmpeg_target_arch=arm64 - elif [[ $myarch = arm ]] ; then - myconf_gn+=" target_cpu=\"arm\"" - ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm) - elif [[ $myarch = ppc64 ]] ; then - myconf_gn+=" target_cpu=\"ppc64\"" - ffmpeg_target_arch=ppc64 - else - 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" - - # Bug 491582. - export TMPDIR="${WORKDIR}/temp" - mkdir -p -m 755 "${TMPDIR}" || die - - # https://bugs.gentoo.org/654216 - addpredict /dev/dri/ #nowarn - - #if ! use system-ffmpeg; then - if false; then - local build_ffmpeg_args="" - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then - build_ffmpeg_args+=" --disable-asm" - fi - - # Re-configure bundled ffmpeg. See bug #491378 for example reasons. - einfo "Configuring bundled ffmpeg..." - pushd third_party/ffmpeg > /dev/null || die - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \ - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die - chromium/scripts/copy_config.sh || die - chromium/scripts/generate_gn.py || die - popd > /dev/null || die - fi - - # Disable unknown warning message from clang. - if tc-is-clang; then - append-flags -Wno-unknown-warning-option - append-flags "-fbracket-depth=1024" - 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. - if use system-icu || use headless; then - myconf_gn+=" icu_use_data_file=false" - fi - - # Enable ozone wayland and/or headless support - myconf_gn+=" use_ozone=true ozone_auto_platforms=false" - myconf_gn+=" ozone_platform_headless=true" - myconf_gn+=" ozone_platform_x11=$(usex headless false true)" - if use wayland || use headless; then - if use headless; then - myconf_gn+=" ozone_platform=\"headless\"" - myconf_gn+=" use_xkbcommon=false use_gtk=false" - myconf_gn+=" use_glib=false use_gio=false" - myconf_gn+=" use_pangocairo=false use_alsa=false" - myconf_gn+=" use_libpci=false use_udev=false" - myconf_gn+=" enable_print_preview=false" - myconf_gn+=" enable_remoting=false" - else - myconf_gn+=" ozone_platform_wayland=true" - myconf_gn+=" use_system_libdrm=true" - myconf_gn+=" use_system_minigbm=true" - myconf_gn+=" use_xkbcommon=true" - myconf_gn+=" ozone_platform=\"wayland\"" - fi - else - myconf_gn+=" ozone_platform=\"x11\"" - fi - - # Enable official builds - myconf_gn+=" is_official_build=$(usex official true false)" - myconf_gn+=" use_thin_lto=false" - if use official; then - # 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 - myconf_gn+=" is_cfi=false" - # Disable PGO, because profile data is only compatible with >=clang-11 - myconf_gn+=" chrome_pgo_phase=0" - # Don't add symbols to build - myconf_gn+=" symbol_level=0" - fi - - einfo "Configuring Chromium..." - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release - echo "$@" - "$@" || die -} - -src_compile() { - # Final link uses lots of file descriptors. - ulimit -n 2048 - - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - # Don't inherit PYTHONPATH from environment, bug #789021, #812689 - local -x PYTHONPATH= - - #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die - - # Build mksnapshot and pax-mark it. - local x - for x in mksnapshot v8_context_snapshot_generator; do - if tc-is-cross-compiler; then - eninja -C out/Release "host/${x}" - pax-mark m "out/Release/host/${x}" - else - eninja -C out/Release "${x}" - pax-mark m "out/Release/${x}" - fi - done - - # Even though ninja autodetects number of CPUs, we respect - # user's options, for debugging with -j 1 or any other reason. - eninja -C out/Release chrome chromedriver - use suid && eninja -C out/Release chrome_sandbox - - pax-mark m out/Release/chrome - - mv out/Release/chromedriver{.unstripped,} || die - - # Build manpage; bug #684550 - sed -e 's|@@PACKAGE@@|chromium-browser|g; - s|@@MENUNAME@@|Chromium|g;' \ - chrome/app/resources/manpage.1.in > \ - out/Release/chromium-browser.1 || die - - # Build desktop file; bug #706786 - sed -e 's|@@MENUNAME@@|Chromium|g; - s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g; - s|@@PACKAGE@@|chromium-browser|g; - s|\(^Exec=\)/usr/bin/|\1|g;' \ - chrome/installer/linux/common/desktop.template > \ - out/Release/chromium-browser-chromium.desktop || die - - # Build vk_swiftshader_icd.json; bug #827861 - sed -e 's|${ICD_LIBRARY_PATH}|./libvk_swiftshader.so|g' \ - third_party/swiftshader/src/Vulkan/vk_swiftshader_icd.json.tmpl > \ - out/Release/vk_swiftshader_icd.json || die -} - -src_install() { - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" - exeinto "${CHROMIUM_HOME}" - doexe out/Release/chrome - - if use suid; then - newexe out/Release/chrome_sandbox chrome-sandbox - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" - fi - - doexe out/Release/chromedriver - doexe out/Release/chrome_crashpad_handler - - ozone_auto_session () { - use wayland && ! use headless && echo true || echo false - } - local sedargs=( -e - "s:/usr/lib/:/usr/$(get_libdir)/:g; - s:@@OZONE_AUTO_SESSION@@:$(ozone_auto_session):g" - ) - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r7.sh" > chromium-launcher.sh || die - doexe chromium-launcher.sh - - # It is important that we name the target "chromium-browser", - # xdg-utils expect it; bug #355517. - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser - # keep the old symlink around for consistency - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium - - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver - - # Allow users to override command-line options, bug #357629. - insinto /etc/chromium - newins "${FILESDIR}/chromium.default" "default" - - pushd out/Release/locales > /dev/null || die - chromium_remove_language_paks - popd - - insinto "${CHROMIUM_HOME}" - doins out/Release/*.bin - doins out/Release/*.pak - ( - shopt -s nullglob - local files=(out/Release/*.so out/Release/*.so.[0-9]) - [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}" - ) - - if ! use system-icu && ! use headless; then - doins out/Release/icudtl.dat - fi - - doins -r out/Release/locales - doins -r out/Release/MEIPreload - - # Install vk_swiftshader_icd.json; bug #827861 - doins out/Release/vk_swiftshader_icd.json - - if [[ -d out/Release/swiftshader ]]; then - insinto "${CHROMIUM_HOME}/swiftshader" - doins out/Release/swiftshader/*.so - fi - - # Install icons - local branding size - for size in 16 24 32 48 64 128 256 ; do - case ${size} in - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; - *) branding="chrome/app/theme/chromium" ;; - esac - newicon -s ${size} "${branding}/product_logo_${size}.png" \ - chromium-browser.png - done - - # Install desktop entry - domenu out/Release/chromium-browser-chromium.desktop - - # Install GNOME default application entry (bug #303100). - insinto /usr/share/gnome-control-center/default-apps - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml - - # Install manpage; bug #684550 - doman out/Release/chromium-browser.1 - dosym chromium-browser.1 /usr/share/man/man1/chromium.1 - - readme.gentoo_create_doc -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_desktop_database_update -} - -pkg_postinst() { - xdg_icon_cache_update - xdg_desktop_database_update - readme.gentoo_print_elog - - if ! use headless; then - if use vaapi; then - elog "VA-API is disabled by default at runtime. You have to enable it" - elog "by adding --enable-features=VaapiVideoDecoder to CHROMIUM_FLAGS" - elog "in /etc/chromium/default." - fi - if use screencast; then - elog "Screencast is disabled by default at runtime. Either enable it" - elog "by navigating to chrome://flags/#enable-webrtc-pipewire-capturer" - elog "inside Chromium or add --enable-features=WebRTCPipeWireCapturer" - elog "to CHROMIUM_FLAGS in /etc/chromium/default." - fi - if use gtk4; then - elog "Chromium prefers GTK3 over GTK4 at runtime. To override this" - elog "behavior you need to pass --gtk-version=4, e.g. by adding it" - elog "to CHROMIUM_FLAGS in /etc/chromium/default." - fi - fi -} diff --git a/www-client/chromium/chromium-73.0.3683.10.ebuild b/www-client/chromium/chromium-73.0.3683.10.ebuild deleted file mode 100644 index 7dc459d..0000000 --- a/www-client/chromium/chromium-73.0.3683.10.ebuild +++ /dev/null @@ -1,727 +0,0 @@ -# Copyright 1999-2018 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python2_7 ) - -CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - 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 vi zh-CN zh-TW" - -inherit check-reqs chromium-2 desktop flag-o-matic multilib ninja-utils pax-utils portability python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="http://chromium.org/" -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="component-build cups gnome-keyring +hangouts jumbo-build kerberos neon pic +proprietary-codecs pulseaudio selinux +suid +system-ffmpeg +system-icu +system-libvpx +tcmalloc widevine" -RESTRICT="!system-ffmpeg? ( proprietary-codecs? ( bindist ) )" - -COMMON_DEPEND=" - >=app-accessibility/at-spi2-atk-2.26:2 - app-arch/bzip2:= - cups? ( >=net-print/cups-1.3.11:= ) - >=dev-libs/atk-2.26 - dev-libs/expat:= - dev-libs/glib:2 - system-icu? ( >=dev-libs/icu-59:= ) - >=dev-libs/libxml2-2.9.4-r3:=[icu] - dev-libs/libxslt:= - dev-libs/nspr:= - >=dev-libs/nss-3.26:= - >=dev-libs/re2-0.2016.11.01:= - gnome-keyring? ( >=gnome-base/libgnome-keyring-3.12:= ) - >=media-libs/alsa-lib-1.0.19:= - media-libs/fontconfig:= - media-libs/freetype:= - >=media-libs/harfbuzz-2.0.0:0=[icu(-)] - media-libs/libjpeg-turbo:= - media-libs/libpng:= - system-libvpx? ( media-libs/libvpx:=[postproc,svc] ) - >=media-libs/openh264-1.6.0:= - pulseaudio? ( media-sound/pulseaudio:= ) - system-ffmpeg? ( - >=media-video/ffmpeg-4:= - || ( - media-video/ffmpeg[-samba] - >=net-fs/samba-4.5.10-r1[-debug(-)] - ) - !=net-fs/samba-4.5.12-r0 - media-libs/opus:= - ) - sys-apps/dbus:= - sys-apps/pciutils:= - virtual/udev - x11-libs/cairo:= - x11-libs/gdk-pixbuf:2 - x11-libs/gtk+:3[X] - x11-libs/libX11:= - x11-libs/libXcomposite:= - x11-libs/libXcursor:= - x11-libs/libXdamage:= - x11-libs/libXext:= - x11-libs/libXfixes:= - >=x11-libs/libXi-1.6.0:= - x11-libs/libXrandr:= - x11-libs/libXrender:= - x11-libs/libXScrnSaver:= - x11-libs/libXtst:= - x11-libs/pango:= - app-arch/snappy:= - media-libs/flac:= - >=media-libs/libwebp-0.4.0:= - sys-libs/zlib:=[minizip] - kerberos? ( virtual/krb5 ) -" -# For nvidia-drivers blocker, see bug #413637 . -RDEPEND="${COMMON_DEPEND} - !<www-plugins/chrome-binary-plugins-57 - x11-misc/xdg-utils - virtual/opengl - virtual/ttf-fonts - selinux? ( sec-policy/selinux-chromium ) - tcmalloc? ( !<x11-drivers/nvidia-drivers-331.20 ) - widevine? ( www-plugins/chrome-binary-plugins[widevine(-)] ) -" -# dev-vcs/git - https://bugs.gentoo.org/593476 -# sys-apps/sandbox - https://crbug.com/586444 -DEPEND="${COMMON_DEPEND} -" -BDEPEND=" - >=app-arch/gzip-1.7 - !arm? ( - dev-lang/yasm - ) - dev-lang/perl - dev-util/gn - >=dev-util/gperf-3.0.3 - >=dev-util/ninja-1.7.2 - >=net-libs/nodejs-7.6.0[inspector] - sys-apps/hwids[usb(+)] - >=sys-devel/bison-2.4.3 - sys-devel/flex - virtual/pkgconfig - dev-vcs/git -" - -: ${CHROMIUM_FORCE_CLANG=no} - -if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then - BDEPEND+=" >=sys-devel/clang-5" -fi - -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then - EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; -fi - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -Some web pages may require additional fonts to display properly. -Try installing some of the following packages if some characters -are not displayed properly: -- media-fonts/arphicfonts -- media-fonts/droid -- media-fonts/ipamonafont -- media-fonts/noto -- media-fonts/ja-ipafonts -- media-fonts/takao-fonts -- media-fonts/wqy-microhei -- media-fonts/wqy-zenhei - -To fix broken icons on the Downloads page, you should install an icon -theme that covers the appropriate MIME types, and configure this as your -GTK+ icon theme. -" - -PATCHES=( - "${FILESDIR}/chromium-compiler-r8.patch" - "${FILESDIR}/chromium-widevine-r3.patch" - "${FILESDIR}/chromium-webrtc-r0.patch" - "${FILESDIR}/chromium-memcpy-r0.patch" - "${FILESDIR}/chromium-math.h-r0.patch" - "${FILESDIR}/chromium-stdint.patch" - "${FILESDIR}/chromium-noexcept.patch" - "${FILESDIR}/chromium-noexcept-2.patch" - "${FILESDIR}/chromium-sqrt.patch" - "${FILESDIR}/chromium-gcc-initlist.patch" - "${FILESDIR}/chromium-blink-template.patch" - "${FILESDIR}/chromium-link.patch" -# "${FILESDIR}/chromium-vk.patch" -# "${FILESDIR}/chromium-harfbuzz-r0.patch" -) - -pre_build_checks() { - #if [[ ${MERGE_TYPE} != binary ]]; then - # local -x CPP="$(tc-getCXX) -E" - # if tc-is-clang && ! version_is_at_least "3.9.1" "$(clang-fullversion)"; then - # # bugs: #601654 - # die "At least clang 3.9.1 is required" - # fi - # if tc-is-gcc && ! version_is_at_least 5.0 "$(gcc-version)"; then - # # bugs: #535730, #525374, #518668, #600288, #627356 - # die "At least gcc 5.0 is required" - # fi - #fi - - # Check build requirements, bug #541816 and bug #471810 . - CHECKREQS_MEMORY="3G" - CHECKREQS_DISK_BUILD="5G" - if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then - CHECKREQS_DISK_BUILD="25G" - if ! use component-build; then - CHECKREQS_MEMORY="16G" - fi - fi - check-reqs_pkg_setup -} - -pkg_pretend() { - pre_build_checks -} - -pkg_setup() { - pre_build_checks - - chromium_suid_sandbox_check_kernel_config -} - -src_prepare() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - default - - mkdir -p third_party/node/linux/node-linux-x64/bin || die - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die - - local keeplibs=( - base/third_party/dmg_fp - 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 -# net/third_party/http2 - net/third_party/mozilla_security_manager - net/third_party/nss - net/third_party/quic -# net/third_party/spdy - net/third_party/uri_template -# third_party/WebKit - third_party/abseil-cpp -# third_party/analytics - 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/third_party/glslang - third_party/angle/third_party/spirv-headers - third_party/angle/third_party/spirv-tools - third_party/angle/third_party/vulkan-headers - third_party/angle/third_party/vulkan-loader - third_party/angle/third_party/vulkan-tools - third_party/angle/third_party/vulkan-validation-layers - third_party/apple_apsl - 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/cacheinvalidation - 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/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/zlib - third_party/crc32c - third_party/cros_system_api - third_party/devscripts - third_party/dom_distiller_js - third_party/fips181 - third_party/flatbuffers - third_party/flot - third_party/freetype -# third_party/glslang-angle - 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/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/vector - third_party/libaom/source/libaom/third_party/x86inc - third_party/libjingle - third_party/libphonenumber - third_party/libsecret - third_party/libsrtp - third_party/libsync - third_party/libudev - third_party/libwebm - third_party/libxml/chromium - third_party/libyuv - third_party/llvm - third_party/lss - third_party/lzma_sdk - third_party/markupsafe - third_party/mesa - third_party/metrics_proto - third_party/modp_b64 - third_party/node - third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2 - third_party/openmax_dl - 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/ply - third_party/polymer - third_party/protobuf - third_party/protobuf/third_party/six - third_party/pyjson5 - third_party/qcms - third_party/rnnoise - third_party/s2cellid - third_party/sfntly - third_party/simplejson - third_party/skia - third_party/skia/third_party/gif - third_party/skia/third_party/skcms - third_party/skia/third_party/vulkan - third_party/skia/include/third_party/vulkan - third_party/smhasher - third_party/spirv-headers - third_party/SPIRV-Tools -# third_party/spirv-tools-angle - third_party/sqlite - third_party/swiftshader - third_party/swiftshader/third_party/llvm-subzero - third_party/swiftshader/third_party/subzero - third_party/unrar - third_party/usrsctp - third_party/vulkan -# third_party/vulkan-validation-layers - third_party/web-animations-js - third_party/webdriver - third_party/webrtc - third_party/webrtc/common_audio/third_party/fft4g - 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/zlib/google - 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/adobe - third_party/speech-dispatcher - third_party/usb_ids - third_party/xdg-utils - third_party/yasm/run_yasm.py - ) - if ! use system-ffmpeg; then - keeplibs+=( third_party/ffmpeg third_party/opus ) - fi - if ! use system-icu; then - keeplibs+=( third_party/icu ) - fi - if ! use system-libvpx; then - keeplibs+=( third_party/libvpx ) - keeplibs+=( third_party/libvpx/source/libvpx/third_party/x86inc ) - fi - if use tcmalloc; then - keeplibs+=( third_party/tcmalloc ) - fi - - # Remove most bundled libraries. Some are still needed. - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die -} - -src_configure() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local myconf_gn="" - - # Make sure the build system will use the right tools, bug #340795. - tc-export AR CC CXX NM - - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] && ! tc-is-clang; then - # Force clang since gcc is pretty broken at the moment. - CC=${CHOST}-clang - CXX=${CHOST}-clang++ - strip-unsupported-flags - fi - - if tc-is-clang; then - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" - else - myconf_gn+=" is_clang=false" - fi - - # Define a custom toolchain for GN - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" - - if tc-is-cross-compiler; then - tc-export BUILD_{AR,CC,CXX,NM} - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" - else - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - fi - - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - myconf_gn+=" is_debug=false" - - # Component build isn't generally intended for use by end users. It's mostly useful - # for development and debugging. - myconf_gn+=" is_component_build=$(usex component-build true false)" - - # https://chromium.googlesource.com/chromium/src/+/lkcr/docs/jumbo.md - myconf_gn+=" use_jumbo_build=$(usex jumbo-build true false)" - - myconf_gn+=" use_allocator=$(usex tcmalloc \"tcmalloc\" \"none\")" - - # Disable nacl, we can't build without pnacl (http://crbug.com/269560). - myconf_gn+=" enable_nacl=false" - - # Use system-provided libraries. - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_libsrtp (bug #459932). - # TODO: use_system_protobuf (bug #525560). - # TODO: use_system_ssl (http://crbug.com/58087). - # TODO: use_system_sqlite (http://crbug.com/22208). - - # libevent: https://bugs.gentoo.org/593458 - local gn_system_libraries=( - flac - fontconfig - freetype - # Need harfbuzz_from_pkgconfig target - #harfbuzz-ng - libdrm - libjpeg - libpng - libwebp - libxml - libxslt - openh264 - re2 - snappy - yasm - zlib - ) - if use system-ffmpeg; then - gn_system_libraries+=( ffmpeg opus ) - fi - if use system-icu; then - gn_system_libraries+=( icu ) - fi - if use system-libvpx; then - gn_system_libraries+=( libvpx ) - fi - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die - - # See dependency logic in third_party/BUILD.gn - myconf_gn+=" use_system_harfbuzz=true" - - # Optional dependencies. - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" - myconf_gn+=" enable_widevine=$(usex widevine true false)" - myconf_gn+=" use_cups=$(usex cups true false)" - myconf_gn+=" use_gnome_keyring=$(usex gnome-keyring true false)" - myconf_gn+=" use_kerberos=$(usex kerberos true false)" - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" - - # TODO: link_pulseaudio=true for GN. - - myconf_gn+=" fieldtrial_testing_like_official_build=true" - - # Never use bundled gold binary. Disable gold linker flags for now. - # Do not use bundled clang. - # Trying to use gold results in linker crash. - myconf_gn+=" use_gold=false use_sysroot=false linux_use_bundled_binutils=false use_custom_libcxx=false" - - # Disable forced lld, bug 641556 - myconf_gn+=" use_lld=false" - - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" - - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . - # Note: these are for Gentoo use ONLY. For your own distribution, - # please get your own set of keys. Feel free to contact chromium@gentoo.org - # for more info. - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" - local google_default_client_id="329227923882.apps.googleusercontent.com" - local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu" - myconf_gn+=" google_api_key=\"${google_api_key}\"" - myconf_gn+=" google_default_client_id=\"${google_default_client_id}\"" - myconf_gn+=" google_default_client_secret=\"${google_default_client_secret}\"" - - local myarch="$(tc-arch)" - if [[ $myarch = amd64 ]] ; then - myconf_gn+=" target_cpu=\"x64\"" - ffmpeg_target_arch=x64 - elif [[ $myarch = x86 ]] ; then - myconf_gn+=" target_cpu=\"x86\"" - ffmpeg_target_arch=ia32 - - # This is normally defined by compiler_cpu_abi in - # build/config/compiler/BUILD.gn, but we patch that part out. - append-flags -msse2 -mfpmath=sse -mmmx - elif [[ $myarch = arm64 ]] ; then - myconf_gn+=" target_cpu=\"arm64\"" - ffmpeg_target_arch=arm64 - elif [[ $myarch = arm ]] ; then - myconf_gn+=" target_cpu=\"arm\"" - ffmpeg_target_arch=$(usex neon arm-neon arm) - else - 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" - - # Avoid CFLAGS problems, bug #352457, bug #390147. - if ! use custom-cflags; then - replace-flags "-Os" "-O2" - strip-flags - - # Prevent linker from running out of address space, bug #471810 . - if use x86; then - filter-flags "-g*" - fi - - # Prevent libvpx build failures. Bug 530248, 544702, 546984. - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 - fi - fi - - # https://bugs.gentoo.org/588596 - #append-cxxflags $(test-flags-CXX -fno-delete-null-pointer-checks) - - append-cxxflags $(test-flags-CXX -std=gnu++17) - - # Bug 491582. - export TMPDIR="${WORKDIR}/temp" - mkdir -p -m 755 "${TMPDIR}" || die - - # https://bugs.gentoo.org/654216 - addpredict /dev/dri/ #nowarn - - #if ! use system-ffmpeg; then - if false; then - local build_ffmpeg_args="" - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then - build_ffmpeg_args+=" --disable-asm" - fi - - # Re-configure bundled ffmpeg. See bug #491378 for example reasons. - einfo "Configuring bundled ffmpeg..." - pushd third_party/ffmpeg > /dev/null || die - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \ - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die - chromium/scripts/copy_config.sh || die - chromium/scripts/generate_gn.py || die - popd > /dev/null || die - fi - - einfo "Configuring Chromium..." - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release - echo "$@" - "$@" || die -} - -src_compile() { - # Final link uses lots of file descriptors. - ulimit -n 2048 - - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die - - # Work around broken deps - eninja -C out/Release gen/ui/accessibility/ax_enums.mojom{,-shared}.h - -if false; then - # Build mksnapshot and pax-mark it. - local x - for x in mksnapshot v8_context_snapshot_generator; do - if tc-is-cross-compiler; then - eninja -C out/Release "host/${x}" - pax-mark m "out/Release/host/${x}" - else - eninja -C out/Release "${x}" - pax-mark m "out/Release/${x}" - fi - done -fi - - # Even though ninja autodetects number of CPUs, we respect - # user's options, for debugging with -j 1 or any other reason. - eninja -C out/Release chrome chromedriver - use suid && eninja -C out/Release chrome_sandbox - - pax-mark m out/Release/chrome -} - -src_install() { - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" - exeinto "${CHROMIUM_HOME}" - doexe out/Release/chrome - - if use suid; then - newexe out/Release/chrome_sandbox chrome-sandbox - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" - fi - - doexe out/Release/chromedriver - - local sedargs=( -e "s:/usr/lib/:/usr/$(get_libdir)/:g" ) - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r3.sh" > chromium-launcher.sh || die - doexe chromium-launcher.sh - - # It is important that we name the target "chromium-browser", - # xdg-utils expect it; bug #355517. - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser - # keep the old symlink around for consistency - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium - - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver - - # Allow users to override command-line options, bug #357629. - insinto /etc/chromium - newins "${FILESDIR}/chromium.default" "default" - - pushd out/Release/locales > /dev/null || die - chromium_remove_language_paks - popd - - insinto "${CHROMIUM_HOME}" - doins out/Release/*.bin - doins out/Release/*.pak - doins out/Release/*.so - - if ! use system-icu; then - doins out/Release/icudtl.dat - fi - - doins -r out/Release/locales - doins -r out/Release/resources - - if [[ -d out/Release/swiftshader ]]; then - insinto "${CHROMIUM_HOME}/swiftshader" - doins out/Release/swiftshader/*.so - fi - - # Install icons and desktop entry. - local branding size - for size in 16 22 24 32 48 64 128 256 ; do - case ${size} in - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; - *) branding="chrome/app/theme/chromium" ;; - esac - newicon -s ${size} "${branding}/product_logo_${size}.png" \ - chromium-browser.png - done - - local mime_types="text/html;text/xml;application/xhtml+xml;" - mime_types+="x-scheme-handler/http;x-scheme-handler/https;" # bug #360797 - mime_types+="x-scheme-handler/ftp;" # bug #412185 - mime_types+="x-scheme-handler/mailto;x-scheme-handler/webcal;" # bug #416393 - make_desktop_entry \ - chromium-browser \ - "Chromium" \ - chromium-browser \ - "Network;WebBrowser" \ - "MimeType=${mime_types}\nStartupWMClass=chromium-browser" - sed -e "/^Exec/s/$/ %U/" -i "${ED}"/usr/share/applications/*.desktop || die - - # Install GNOME default application entry (bug #303100). - insinto /usr/share/gnome-control-center/default-apps - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml - - readme.gentoo_create_doc -} - -pkg_postrm() { - if type gtk-update-icon-cache &>/dev/null; then - ebegin "Updating GTK icon cache" - gtk-update-icon-cache "${EROOT}/usr/share/icons/hicolor" - eend $? - fi - xdg_desktop_database_update -} - -pkg_postinst() { - if type gtk-update-icon-cache &>/dev/null; then - ebegin "Updating GTK icon cache" - gtk-update-icon-cache "${EROOT}/usr/share/icons/hicolor" - eend $? - fi - xdg_desktop_database_update - readme.gentoo_print_elog -} diff --git a/www-client/chromium/chromium-74.0.3702.0.ebuild b/www-client/chromium/chromium-74.0.3702.0.ebuild deleted file mode 100644 index 270ccf4..0000000 --- a/www-client/chromium/chromium-74.0.3702.0.ebuild +++ /dev/null @@ -1,733 +0,0 @@ -# Copyright 1999-2018 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python2_7 ) - -CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - 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 vi zh-CN zh-TW" - -inherit check-reqs chromium-2 desktop flag-o-matic multilib ninja-utils pax-utils portability python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="http://chromium.org/" -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="component-build cups gnome-keyring +hangouts jumbo-build kerberos neon pic +proprietary-codecs pulseaudio selinux +suid +system-ffmpeg +system-icu +system-libvpx +tcmalloc widevine" -RESTRICT="!system-ffmpeg? ( proprietary-codecs? ( bindist ) )" - -COMMON_DEPEND=" - >=app-accessibility/at-spi2-atk-2.26:2 - app-arch/bzip2:= - cups? ( >=net-print/cups-1.3.11:= ) - >=dev-libs/atk-2.26 - dev-libs/expat:= - dev-libs/glib:2 - system-icu? ( >=dev-libs/icu-59:= ) - >=dev-libs/libxml2-2.9.4-r3:=[icu] - dev-libs/libxslt:= - dev-libs/nspr:= - >=dev-libs/nss-3.26:= - >=dev-libs/re2-0.2016.11.01:= - gnome-keyring? ( >=gnome-base/libgnome-keyring-3.12:= ) - >=media-libs/alsa-lib-1.0.19:= - media-libs/fontconfig:= - media-libs/freetype:= - >=media-libs/harfbuzz-2.0.0:0=[icu(-)] - media-libs/libjpeg-turbo:= - media-libs/libpng:= - system-libvpx? ( media-libs/libvpx:=[postproc,svc] ) - >=media-libs/openh264-1.6.0:= - pulseaudio? ( media-sound/pulseaudio:= ) - system-ffmpeg? ( - >=media-video/ffmpeg-4:= - || ( - media-video/ffmpeg[-samba] - >=net-fs/samba-4.5.10-r1[-debug(-)] - ) - !=net-fs/samba-4.5.12-r0 - media-libs/opus:= - ) - sys-apps/dbus:= - sys-apps/pciutils:= - virtual/udev - x11-libs/cairo:= - x11-libs/gdk-pixbuf:2 - x11-libs/gtk+:3[X] - x11-libs/libX11:= - x11-libs/libXcomposite:= - x11-libs/libXcursor:= - x11-libs/libXdamage:= - x11-libs/libXext:= - x11-libs/libXfixes:= - >=x11-libs/libXi-1.6.0:= - x11-libs/libXrandr:= - x11-libs/libXrender:= - x11-libs/libXScrnSaver:= - x11-libs/libXtst:= - x11-libs/pango:= - app-arch/snappy:= - media-libs/flac:= - >=media-libs/libwebp-0.4.0:= - sys-libs/zlib:=[minizip] - kerberos? ( virtual/krb5 ) -" -# For nvidia-drivers blocker, see bug #413637 . -RDEPEND="${COMMON_DEPEND} - !<www-plugins/chrome-binary-plugins-57 - x11-misc/xdg-utils - virtual/opengl - virtual/ttf-fonts - selinux? ( sec-policy/selinux-chromium ) - tcmalloc? ( !<x11-drivers/nvidia-drivers-331.20 ) - widevine? ( www-plugins/chrome-binary-plugins[widevine(-)] ) -" -# dev-vcs/git - https://bugs.gentoo.org/593476 -# sys-apps/sandbox - https://crbug.com/586444 -DEPEND="${COMMON_DEPEND} -" -BDEPEND=" - >=app-arch/gzip-1.7 - !arm? ( - dev-lang/yasm - ) - dev-lang/perl - dev-util/gn - >=dev-util/gperf-3.0.3 - >=dev-util/ninja-1.7.2 - >=net-libs/nodejs-7.6.0[inspector] - sys-apps/hwids[usb(+)] - >=sys-devel/bison-2.4.3 - sys-devel/flex - virtual/pkgconfig - dev-vcs/git -" - -: ${CHROMIUM_FORCE_CLANG=no} - -if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then - BDEPEND+=" >=sys-devel/clang-5" -fi - -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then - EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; -fi - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -Some web pages may require additional fonts to display properly. -Try installing some of the following packages if some characters -are not displayed properly: -- media-fonts/arphicfonts -- media-fonts/droid -- media-fonts/ipamonafont -- media-fonts/noto -- media-fonts/ja-ipafonts -- media-fonts/takao-fonts -- media-fonts/wqy-microhei -- media-fonts/wqy-zenhei - -To fix broken icons on the Downloads page, you should install an icon -theme that covers the appropriate MIME types, and configure this as your -GTK+ icon theme. -" - -PATCHES=( - "${FILESDIR}/chromium-compiler-r8.patch" - "${FILESDIR}/chromium-widevine-r3.patch" - "${FILESDIR}/chromium-webrtc-r0.patch" - "${FILESDIR}/chromium-memcpy-r0.patch" - "${FILESDIR}/chromium-math.h-r0.patch" - "${FILESDIR}/chromium-stdint.patch" - "${FILESDIR}/chromium-noexcept.patch" - "${FILESDIR}/chromium-noexcept-2.patch" - "${FILESDIR}/chromium-noexcept-3.patch" - "${FILESDIR}/chromium-blink-template.patch" - "${FILESDIR}/chromium-link.patch" - "${FILESDIR}/chromium-74-gcc.patch" - "${FILESDIR}/chromium-webrtc.patch" - "${FILESDIR}/chromium-gcc-89311.patch" -# "${FILESDIR}/chromium-vk.patch" -# "${FILESDIR}/chromium-harfbuzz-r0.patch" -) - -pre_build_checks() { - #if [[ ${MERGE_TYPE} != binary ]]; then - # local -x CPP="$(tc-getCXX) -E" - # if tc-is-clang && ! version_is_at_least "3.9.1" "$(clang-fullversion)"; then - # # bugs: #601654 - # die "At least clang 3.9.1 is required" - # fi - # if tc-is-gcc && ! version_is_at_least 5.0 "$(gcc-version)"; then - # # bugs: #535730, #525374, #518668, #600288, #627356 - # die "At least gcc 5.0 is required" - # fi - #fi - - # Check build requirements, bug #541816 and bug #471810 . - CHECKREQS_MEMORY="3G" - CHECKREQS_DISK_BUILD="5G" - if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then - CHECKREQS_DISK_BUILD="25G" - if ! use component-build; then - CHECKREQS_MEMORY="16G" - fi - fi - check-reqs_pkg_setup -} - -pkg_pretend() { - pre_build_checks -} - -pkg_setup() { - pre_build_checks - - chromium_suid_sandbox_check_kernel_config -} - -src_prepare() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - default - - mkdir -p third_party/node/linux/node-linux-x64/bin || die - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die - - local keeplibs=( - base/third_party/dmg_fp - 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 -# net/third_party/http2 - net/third_party/mozilla_security_manager - net/third_party/nss - net/third_party/quic -# net/third_party/spdy - net/third_party/uri_template -# third_party/WebKit - third_party/abseil-cpp -# third_party/analytics - 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/third_party/glslang - third_party/angle/third_party/spirv-headers - third_party/angle/third_party/spirv-tools - third_party/angle/third_party/vulkan-headers - third_party/angle/third_party/vulkan-loader - third_party/angle/third_party/vulkan-tools - third_party/angle/third_party/vulkan-validation-layers - third_party/apple_apsl - 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/cacheinvalidation - 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/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/zlib - third_party/crc32c - third_party/cros_system_api - third_party/dav1d - third_party/devscripts - third_party/dom_distiller_js - third_party/emoji-segmenter - third_party/fips181 - third_party/flatbuffers - third_party/flot - third_party/freetype - third_party/glslang -# third_party/glslang-angle - 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/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/vector - third_party/libaom/source/libaom/third_party/x86inc - third_party/libjingle - third_party/libphonenumber - third_party/libsecret - third_party/libsrtp - third_party/libsync - third_party/libudev - third_party/libwebm - third_party/libxml/chromium - third_party/libyuv - third_party/llvm - third_party/lss - third_party/lzma_sdk - third_party/markupsafe - third_party/mesa - third_party/metrics_proto - third_party/modp_b64 - third_party/nasm - third_party/node - third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2 - third_party/openmax_dl - 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/ply - third_party/polymer - third_party/protobuf - third_party/protobuf/third_party/six - third_party/pyjson5 - third_party/qcms - third_party/rnnoise - third_party/s2cellid - third_party/sfntly - third_party/simplejson - third_party/skia - third_party/skia/third_party/gif - third_party/skia/third_party/skcms - third_party/skia/third_party/vulkan - third_party/skia/include/third_party/vulkan - third_party/smhasher - third_party/spirv-headers - third_party/SPIRV-Tools -# third_party/spirv-tools-angle - third_party/sqlite - third_party/swiftshader - third_party/swiftshader/third_party/llvm-subzero - third_party/swiftshader/third_party/subzero - third_party/unrar - third_party/usrsctp - third_party/vulkan -# third_party/vulkan-validation-layers - third_party/web-animations-js - third_party/webdriver - third_party/webrtc - third_party/webrtc/common_audio/third_party/fft4g - 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/zlib/google - 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/adobe - third_party/speech-dispatcher - third_party/usb_ids - third_party/xdg-utils - third_party/yasm/run_yasm.py - ) - if ! use system-ffmpeg; then - keeplibs+=( third_party/ffmpeg third_party/opus ) - fi - if ! use system-icu; then - keeplibs+=( third_party/icu ) - fi - if ! use system-libvpx; then - keeplibs+=( third_party/libvpx ) - keeplibs+=( third_party/libvpx/source/libvpx/third_party/x86inc ) - fi - if use tcmalloc; then - keeplibs+=( third_party/tcmalloc ) - fi - - # Remove most bundled libraries. Some are still needed. - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die -} - -src_configure() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local myconf_gn="" - - # Make sure the build system will use the right tools, bug #340795. - tc-export AR CC CXX NM - - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] && ! tc-is-clang; then - # Force clang since gcc is pretty broken at the moment. - CC=${CHOST}-clang - CXX=${CHOST}-clang++ - strip-unsupported-flags - fi - - if tc-is-clang; then - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" - else - myconf_gn+=" is_clang=false" - fi - - # Define a custom toolchain for GN - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" - - if tc-is-cross-compiler; then - tc-export BUILD_{AR,CC,CXX,NM} - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" - else - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - fi - - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - myconf_gn+=" is_debug=false" - - # Component build isn't generally intended for use by end users. It's mostly useful - # for development and debugging. - myconf_gn+=" is_component_build=$(usex component-build true false)" - - # https://chromium.googlesource.com/chromium/src/+/lkcr/docs/jumbo.md - myconf_gn+=" use_jumbo_build=$(usex jumbo-build true false)" - - myconf_gn+=" use_allocator=$(usex tcmalloc \"tcmalloc\" \"none\")" - - # Disable nacl, we can't build without pnacl (http://crbug.com/269560). - myconf_gn+=" enable_nacl=false" - - # Use system-provided libraries. - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_libsrtp (bug #459932). - # TODO: use_system_protobuf (bug #525560). - # TODO: use_system_ssl (http://crbug.com/58087). - # TODO: use_system_sqlite (http://crbug.com/22208). - - # libevent: https://bugs.gentoo.org/593458 - local gn_system_libraries=( - flac - fontconfig - freetype - # Need harfbuzz_from_pkgconfig target - #harfbuzz-ng - libdrm - libjpeg - libpng - libwebp - libxml - libxslt - openh264 - re2 - snappy - yasm - zlib - ) - if use system-ffmpeg; then - gn_system_libraries+=( ffmpeg opus ) - fi - if use system-icu; then - gn_system_libraries+=( icu ) - fi - if use system-libvpx; then - gn_system_libraries+=( libvpx ) - fi - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die - - # See dependency logic in third_party/BUILD.gn - myconf_gn+=" use_system_harfbuzz=true" - - # Optional dependencies. - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" - myconf_gn+=" enable_widevine=$(usex widevine true false)" - myconf_gn+=" use_cups=$(usex cups true false)" - myconf_gn+=" use_gnome_keyring=$(usex gnome-keyring true false)" - myconf_gn+=" use_kerberos=$(usex kerberos true false)" - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" - - # TODO: link_pulseaudio=true for GN. - - myconf_gn+=" fieldtrial_testing_like_official_build=true" - - # Never use bundled gold binary. Disable gold linker flags for now. - # Do not use bundled clang. - # Trying to use gold results in linker crash. - myconf_gn+=" use_gold=false use_sysroot=false linux_use_bundled_binutils=false use_custom_libcxx=false" - - # Disable forced lld, bug 641556 - myconf_gn+=" use_lld=false" - - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" - - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . - # Note: these are for Gentoo use ONLY. For your own distribution, - # please get your own set of keys. Feel free to contact chromium@gentoo.org - # for more info. - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" - local google_default_client_id="329227923882.apps.googleusercontent.com" - local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu" - myconf_gn+=" google_api_key=\"${google_api_key}\"" - myconf_gn+=" google_default_client_id=\"${google_default_client_id}\"" - myconf_gn+=" google_default_client_secret=\"${google_default_client_secret}\"" - - local myarch="$(tc-arch)" - if [[ $myarch = amd64 ]] ; then - myconf_gn+=" target_cpu=\"x64\"" - ffmpeg_target_arch=x64 - elif [[ $myarch = x86 ]] ; then - myconf_gn+=" target_cpu=\"x86\"" - ffmpeg_target_arch=ia32 - - # This is normally defined by compiler_cpu_abi in - # build/config/compiler/BUILD.gn, but we patch that part out. - append-flags -msse2 -mfpmath=sse -mmmx - elif [[ $myarch = arm64 ]] ; then - myconf_gn+=" target_cpu=\"arm64\"" - ffmpeg_target_arch=arm64 - elif [[ $myarch = arm ]] ; then - myconf_gn+=" target_cpu=\"arm\"" - ffmpeg_target_arch=$(usex neon arm-neon arm) - else - 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" - - # Avoid CFLAGS problems, bug #352457, bug #390147. - if ! use custom-cflags; then - replace-flags "-Os" "-O2" - strip-flags - - # Prevent linker from running out of address space, bug #471810 . - if use x86; then - filter-flags "-g*" - fi - - # Prevent libvpx build failures. Bug 530248, 544702, 546984. - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 - fi - fi - - # https://bugs.gentoo.org/588596 - #append-cxxflags $(test-flags-CXX -fno-delete-null-pointer-checks) - - append-cxxflags $(test-flags-CXX -std=gnu++17) - - # Bug 491582. - export TMPDIR="${WORKDIR}/temp" - mkdir -p -m 755 "${TMPDIR}" || die - - # https://bugs.gentoo.org/654216 - addpredict /dev/dri/ #nowarn - - #if ! use system-ffmpeg; then - if false; then - local build_ffmpeg_args="" - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then - build_ffmpeg_args+=" --disable-asm" - fi - - # Re-configure bundled ffmpeg. See bug #491378 for example reasons. - einfo "Configuring bundled ffmpeg..." - pushd third_party/ffmpeg > /dev/null || die - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \ - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die - chromium/scripts/copy_config.sh || die - chromium/scripts/generate_gn.py || die - popd > /dev/null || die - fi - - einfo "Configuring Chromium..." - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release - echo "$@" - "$@" || die -} - -src_compile() { - # Final link uses lots of file descriptors. - ulimit -n 2048 - - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die - - # Work around broken deps - eninja -C out/Release gen/ui/accessibility/ax_enums.mojom{,-shared}.h - -if false; then - # Build mksnapshot and pax-mark it. - local x - for x in mksnapshot v8_context_snapshot_generator; do - if tc-is-cross-compiler; then - eninja -C out/Release "host/${x}" - pax-mark m "out/Release/host/${x}" - else - eninja -C out/Release "${x}" - pax-mark m "out/Release/${x}" - fi - done -fi - - # Even though ninja autodetects number of CPUs, we respect - # user's options, for debugging with -j 1 or any other reason. - eninja -C out/Release chrome chromedriver - use suid && eninja -C out/Release chrome_sandbox - - pax-mark m out/Release/chrome -} - -src_install() { - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" - exeinto "${CHROMIUM_HOME}" - doexe out/Release/chrome - - if use suid; then - newexe out/Release/chrome_sandbox chrome-sandbox - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" - fi - - doexe out/Release/chromedriver - - local sedargs=( -e "s:/usr/lib/:/usr/$(get_libdir)/:g" ) - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r3.sh" > chromium-launcher.sh || die - doexe chromium-launcher.sh - - # It is important that we name the target "chromium-browser", - # xdg-utils expect it; bug #355517. - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser - # keep the old symlink around for consistency - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium - - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver - - # Allow users to override command-line options, bug #357629. - insinto /etc/chromium - newins "${FILESDIR}/chromium.default" "default" - - pushd out/Release/locales > /dev/null || die - chromium_remove_language_paks - popd - - insinto "${CHROMIUM_HOME}" - doins out/Release/*.bin - doins out/Release/*.pak - doins out/Release/*.so - - if ! use system-icu; then - doins out/Release/icudtl.dat - fi - - doins -r out/Release/locales - doins -r out/Release/resources - - if [[ -d out/Release/swiftshader ]]; then - insinto "${CHROMIUM_HOME}/swiftshader" - doins out/Release/swiftshader/*.so - fi - - # Install icons and desktop entry. - local branding size - for size in 16 22 24 32 48 64 128 256 ; do - case ${size} in - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; - *) branding="chrome/app/theme/chromium" ;; - esac - newicon -s ${size} "${branding}/product_logo_${size}.png" \ - chromium-browser.png - done - - local mime_types="text/html;text/xml;application/xhtml+xml;" - mime_types+="x-scheme-handler/http;x-scheme-handler/https;" # bug #360797 - mime_types+="x-scheme-handler/ftp;" # bug #412185 - mime_types+="x-scheme-handler/mailto;x-scheme-handler/webcal;" # bug #416393 - make_desktop_entry \ - chromium-browser \ - "Chromium" \ - chromium-browser \ - "Network;WebBrowser" \ - "MimeType=${mime_types}\nStartupWMClass=chromium-browser" - sed -e "/^Exec/s/$/ %U/" -i "${ED}"/usr/share/applications/*.desktop || die - - # Install GNOME default application entry (bug #303100). - insinto /usr/share/gnome-control-center/default-apps - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml - - readme.gentoo_create_doc -} - -pkg_postrm() { - if type gtk-update-icon-cache &>/dev/null; then - ebegin "Updating GTK icon cache" - gtk-update-icon-cache "${EROOT}/usr/share/icons/hicolor" - eend $? - fi - xdg_desktop_database_update -} - -pkg_postinst() { - if type gtk-update-icon-cache &>/dev/null; then - ebegin "Updating GTK icon cache" - gtk-update-icon-cache "${EROOT}/usr/share/icons/hicolor" - eend $? - fi - xdg_desktop_database_update - readme.gentoo_print_elog -} diff --git a/www-client/chromium/chromium-75.0.3745.4.ebuild b/www-client/chromium/chromium-75.0.3745.4.ebuild deleted file mode 100644 index e274f16..0000000 --- a/www-client/chromium/chromium-75.0.3745.4.ebuild +++ /dev/null @@ -1,723 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python2_7 ) - -CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - 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 vi zh-CN zh-TW" - -inherit check-reqs chromium-2 desktop flag-o-matic multilib ninja-utils pax-utils portability python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="http://chromium.org/" -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="+closure-compile component-build cups gnome-keyring +hangouts jumbo-build kerberos neon pic +proprietary-codecs pulseaudio selinux +suid +system-ffmpeg +system-icu +system-libvpx +tcmalloc widevine vaapi" -RESTRICT="!system-ffmpeg? ( proprietary-codecs? ( bindist ) )" -REQUIRED_USE="component-build? ( !suid )" - -COMMON_DEPEND=" - >=app-accessibility/at-spi2-atk-2.26:2 - app-arch/bzip2:= - cups? ( >=net-print/cups-1.3.11:= ) - >=dev-libs/atk-2.26 - dev-libs/expat:= - dev-libs/glib:2 - system-icu? ( >=dev-libs/icu-59:= ) - >=dev-libs/libxml2-2.9.4-r3:=[icu] - dev-libs/libxslt:= - dev-libs/nspr:= - >=dev-libs/nss-3.26:= - >=dev-libs/re2-0.2016.11.01:= - gnome-keyring? ( >=gnome-base/libgnome-keyring-3.12:= ) - >=media-libs/alsa-lib-1.0.19:= - media-libs/fontconfig:= - media-libs/freetype:= - >=media-libs/harfbuzz-2.2.0:0=[icu(-)] - media-libs/libjpeg-turbo:= - media-libs/libpng:= - system-libvpx? ( media-libs/libvpx:=[postproc,svc] ) - >=media-libs/openh264-1.6.0:= - pulseaudio? ( media-sound/pulseaudio:= ) - system-ffmpeg? ( - >=media-video/ffmpeg-4:= - || ( - media-video/ffmpeg[-samba] - >=net-fs/samba-4.5.10-r1[-debug(-)] - ) - !=net-fs/samba-4.5.12-r0 - media-libs/opus:= - ) - sys-apps/dbus:= - sys-apps/pciutils:= - virtual/udev - x11-libs/cairo:= - x11-libs/gdk-pixbuf:2 - x11-libs/gtk+:3[X] - x11-libs/libX11:= - x11-libs/libXcomposite:= - x11-libs/libXcursor:= - x11-libs/libXdamage:= - x11-libs/libXext:= - x11-libs/libXfixes:= - >=x11-libs/libXi-1.6.0:= - x11-libs/libXrandr:= - x11-libs/libXrender:= - x11-libs/libXScrnSaver:= - x11-libs/libXtst:= - x11-libs/pango:= - app-arch/snappy:= - media-libs/flac:= - >=media-libs/libwebp-0.4.0:= - sys-libs/zlib:=[minizip] - kerberos? ( virtual/krb5 ) -" -# For nvidia-drivers blocker, see bug #413637 . -RDEPEND="${COMMON_DEPEND} - !<www-plugins/chrome-binary-plugins-57 - x11-misc/xdg-utils - virtual/opengl - virtual/ttf-fonts - selinux? ( sec-policy/selinux-chromium ) - tcmalloc? ( !<x11-drivers/nvidia-drivers-331.20 ) - widevine? ( www-plugins/chrome-binary-plugins[widevine(-)] ) -" -# dev-vcs/git - https://bugs.gentoo.org/593476 -# sys-apps/sandbox - https://crbug.com/586444 -DEPEND="${COMMON_DEPEND} -" -BDEPEND=" - >=app-arch/gzip-1.7 - !arm? ( - dev-lang/yasm - ) - dev-lang/perl - dev-util/gn - dev-vcs/git - >=dev-util/gperf-3.0.3 - >=dev-util/ninja-1.7.2 - >=net-libs/nodejs-7.6.0[inspector] - sys-apps/hwids[usb(+)] - >=sys-devel/bison-2.4.3 - sys-devel/flex - closure-compile? ( virtual/jre ) - virtual/pkgconfig -" - -: ${CHROMIUM_FORCE_CLANG=yes} - -if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then - BDEPEND+=" >=sys-devel/clang-5" -fi - -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then - EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; -fi - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -Some web pages may require additional fonts to display properly. -Try installing some of the following packages if some characters -are not displayed properly: -- media-fonts/arphicfonts -- media-fonts/droid -- media-fonts/ipamonafont -- media-fonts/noto -- media-fonts/ja-ipafonts -- media-fonts/takao-fonts -- media-fonts/wqy-microhei -- media-fonts/wqy-zenhei - -To fix broken icons on the Downloads page, you should install an icon -theme that covers the appropriate MIME types, and configure this as your -GTK+ icon theme. -" - -PATCHES=( - "${FILESDIR}/chromium-compiler-r9.patch" - "${FILESDIR}/chromium-widevine-r4.patch" - "${FILESDIR}/chromium-fix-char_traits.patch" - "${FILESDIR}/chromium-73-gcc-5.patch" - "${FILESDIR}/chromium-vr.patch" - "${FILESDIR}/chromium-75-vaapi.patch" - "${FILESDIR}/chromium-stdset.patch" - "${FILESDIR}/chromium-vaapi-signature.patch" - "${FILESDIR}/chromium-disable-mojovdec.patch" -# "${FILESDIR}/chromium-union.patch" -) - -pre_build_checks() { - if [[ ${MERGE_TYPE} != binary ]]; then - local -x CPP="$(tc-getCXX) -E" - if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 8.0; then - die "At least gcc 8.0 is required" - fi - fi - - # Check build requirements, bug #541816 and bug #471810 . - CHECKREQS_MEMORY="3G" - CHECKREQS_DISK_BUILD="5G" - if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then - CHECKREQS_DISK_BUILD="25G" - if ! use component-build; then - CHECKREQS_MEMORY="16G" - fi - fi - check-reqs_pkg_setup -} - -pkg_pretend() { - pre_build_checks -} - -pkg_setup() { - pre_build_checks - - chromium_suid_sandbox_check_kernel_config -} - -src_prepare() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - default - - mkdir -p third_party/node/linux/node-linux-x64/bin || die - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die - - local keeplibs=( - base/third_party/dmg_fp - 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 - 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/third_party/glslang - third_party/angle/third_party/spirv-headers - third_party/angle/third_party/spirv-tools - third_party/angle/third_party/vulkan-headers - third_party/angle/third_party/vulkan-loader - third_party/angle/third_party/vulkan-tools - third_party/angle/third_party/vulkan-validation-layers - third_party/apple_apsl - 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/cacheinvalidation - 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/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/zlib - third_party/crc32c - third_party/cros_system_api - third_party/dav1d - third_party/dawn - third_party/dawn/third_party/glad - third_party/dawn/third_party/picojson - third_party/dawn/third_party/tinygltfloader - third_party/dawn/third_party/vulkan - third_party/devscripts - third_party/dom_distiller_js - third_party/emoji-segmenter - third_party/fips181 - third_party/flatbuffers - third_party/flot - third_party/freetype - 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/glslang - 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/vector - third_party/libaom/source/libaom/third_party/x86inc - third_party/libjingle - third_party/libphonenumber - third_party/libsecret - third_party/libsrtp - third_party/libsync - third_party/libudev - third_party/libwebm - third_party/libxml/chromium - third_party/libyuv - third_party/llvm - third_party/lss - third_party/lzma_sdk - third_party/markupsafe - third_party/mesa - third_party/metrics_proto - third_party/modp_b64 - third_party/nasm - third_party/node - third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2 - third_party/openmax_dl - 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/ply - third_party/polymer - third_party/protobuf - third_party/protobuf/third_party/six - third_party/pyjson5 - third_party/qcms - third_party/rnnoise - third_party/s2cellid - third_party/sfntly - third_party/simplejson - third_party/skia - third_party/skia/include/third_party/vulkan - third_party/skia/third_party/gif - third_party/skia/third_party/skcms - third_party/skia/third_party/vulkan - third_party/smhasher - third_party/spirv-headers - third_party/SPIRV-Tools - third_party/sqlite - third_party/swiftshader - third_party/swiftshader/third_party/llvm-7.0 - third_party/swiftshader/third_party/llvm-subzero - third_party/swiftshader/third_party/subzero - third_party/unrar - third_party/usrsctp - third_party/vulkan - third_party/web-animations-js - third_party/webdriver - third_party/webrtc - third_party/webrtc/common_audio/third_party/fft4g - 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/zlib/google - 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/adobe - third_party/speech-dispatcher - third_party/usb_ids - third_party/xdg-utils - third_party/yasm/run_yasm.py - ) - if ! use system-ffmpeg; then - keeplibs+=( third_party/ffmpeg third_party/opus ) - fi - if ! use system-icu; then - keeplibs+=( third_party/icu ) - fi - if ! use system-libvpx; then - keeplibs+=( third_party/libvpx ) - keeplibs+=( third_party/libvpx/source/libvpx/third_party/x86inc ) - fi - if use tcmalloc; then - keeplibs+=( third_party/tcmalloc ) - fi - - # Remove most bundled libraries. Some are still needed. - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die -} - -src_configure() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local myconf_gn="" - - # Make sure the build system will use the right tools, bug #340795. - tc-export AR CC CXX NM - - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] && ! tc-is-clang; then - # Force clang since gcc is pretty broken at the moment. - CC=${CHOST}-clang - CXX=${CHOST}-clang++ - strip-unsupported-flags - fi - - if tc-is-clang; then - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" - else - myconf_gn+=" is_clang=false" - fi - - # Define a custom toolchain for GN - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" - - if tc-is-cross-compiler; then - tc-export BUILD_{AR,CC,CXX,NM} - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" - else - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - fi - - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - myconf_gn+=" is_debug=false" - - # Component build isn't generally intended for use by end users. It's mostly useful - # for development and debugging. - myconf_gn+=" is_component_build=$(usex component-build true false)" - - # https://chromium.googlesource.com/chromium/src/+/lkcr/docs/jumbo.md - myconf_gn+=" use_jumbo_build=$(usex jumbo-build true false)" - - myconf_gn+=" use_allocator=$(usex tcmalloc \"tcmalloc\" \"none\")" - - myconf_gn+=" use_vaapi=$(usex vaapi true false)" - - # Disable nacl, we can't build without pnacl (http://crbug.com/269560). - myconf_gn+=" enable_nacl=false" - - # Use system-provided libraries. - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_libsrtp (bug #459932). - # TODO: use_system_protobuf (bug #525560). - # TODO: use_system_ssl (http://crbug.com/58087). - # TODO: use_system_sqlite (http://crbug.com/22208). - - # libevent: https://bugs.gentoo.org/593458 - local gn_system_libraries=( - flac - fontconfig - freetype - # Need harfbuzz_from_pkgconfig target - #harfbuzz-ng - libdrm - libjpeg - libpng - libwebp - libxml - libxslt - openh264 - re2 - snappy - yasm - zlib - ) - if use system-ffmpeg; then - gn_system_libraries+=( ffmpeg opus ) - fi - if use system-icu; then - gn_system_libraries+=( icu ) - fi - if use system-libvpx; then - gn_system_libraries+=( libvpx ) - fi - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die - - # See dependency logic in third_party/BUILD.gn - myconf_gn+=" use_system_harfbuzz=true" - - # Optional dependencies. - myconf_gn+=" closure_compile=$(usex closure-compile true false)" - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" - myconf_gn+=" enable_widevine=$(usex widevine true false)" - myconf_gn+=" use_cups=$(usex cups true false)" - myconf_gn+=" use_gnome_keyring=$(usex gnome-keyring true false)" - myconf_gn+=" use_kerberos=$(usex kerberos true false)" - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" - - # TODO: link_pulseaudio=true for GN. - - myconf_gn+=" fieldtrial_testing_like_official_build=true" - - # Never use bundled gold binary. Disable gold linker flags for now. - # Do not use bundled clang. - # Trying to use gold results in linker crash. - myconf_gn+=" use_gold=false use_sysroot=false linux_use_bundled_binutils=false use_custom_libcxx=false" - - # Disable forced lld, bug 641556 - myconf_gn+=" use_lld=false" - - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" - - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . - # Note: these are for Gentoo use ONLY. For your own distribution, - # please get your own set of keys. Feel free to contact chromium@gentoo.org - # for more info. - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" - local google_default_client_id="329227923882.apps.googleusercontent.com" - local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu" - myconf_gn+=" google_api_key=\"${google_api_key}\"" - myconf_gn+=" google_default_client_id=\"${google_default_client_id}\"" - myconf_gn+=" google_default_client_secret=\"${google_default_client_secret}\"" - - local myarch="$(tc-arch)" - - # Avoid CFLAGS problems, bug #352457, bug #390147. - if ! use custom-cflags; then - replace-flags "-Os" "-O2" - strip-flags - - # Prevent linker from running out of address space, bug #471810 . - if use x86; then - filter-flags "-g*" - fi - - # Prevent libvpx build failures. Bug 530248, 544702, 546984. - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 - fi - fi - - if [[ $myarch = amd64 ]] ; then - myconf_gn+=" target_cpu=\"x64\"" - ffmpeg_target_arch=x64 - elif [[ $myarch = x86 ]] ; then - myconf_gn+=" target_cpu=\"x86\"" - ffmpeg_target_arch=ia32 - - # This is normally defined by compiler_cpu_abi in - # build/config/compiler/BUILD.gn, but we patch that part out. - append-flags -msse2 -mfpmath=sse -mmmx - elif [[ $myarch = arm64 ]] ; then - myconf_gn+=" target_cpu=\"arm64\"" - ffmpeg_target_arch=arm64 - elif [[ $myarch = arm ]] ; then - myconf_gn+=" target_cpu=\"arm\"" - ffmpeg_target_arch=$(usex neon arm-neon arm) - else - 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" - - # https://bugs.gentoo.org/588596 - #append-cxxflags $(test-flags-CXX -fno-delete-null-pointer-checks) - - # Bug 491582. - export TMPDIR="${WORKDIR}/temp" - mkdir -p -m 755 "${TMPDIR}" || die - - # https://bugs.gentoo.org/654216 - addpredict /dev/dri/ #nowarn - - #if ! use system-ffmpeg; then - if false; then - local build_ffmpeg_args="" - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then - build_ffmpeg_args+=" --disable-asm" - fi - - # Re-configure bundled ffmpeg. See bug #491378 for example reasons. - einfo "Configuring bundled ffmpeg..." - pushd third_party/ffmpeg > /dev/null || die - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \ - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die - chromium/scripts/copy_config.sh || die - chromium/scripts/generate_gn.py || die - popd > /dev/null || die - fi - - einfo "Configuring Chromium..." - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release - echo "$@" - "$@" || die -} - -src_compile() { - # Final link uses lots of file descriptors. - ulimit -n 2048 - - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die - - # Work around broken deps - eninja -C out/Release gen/ui/accessibility/ax_enums.mojom{,-shared}.h - - # Build mksnapshot and pax-mark it. - local x - for x in mksnapshot v8_context_snapshot_generator; do - if tc-is-cross-compiler; then - eninja -C out/Release "host/${x}" - pax-mark m "out/Release/host/${x}" - else - eninja -C out/Release "${x}" - pax-mark m "out/Release/${x}" - fi - done - - # Even though ninja autodetects number of CPUs, we respect - # user's options, for debugging with -j 1 or any other reason. - eninja -C out/Release chrome chromedriver - use suid && eninja -C out/Release chrome_sandbox - - pax-mark m out/Release/chrome -} - -src_install() { - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" - exeinto "${CHROMIUM_HOME}" - doexe out/Release/chrome - - if use suid; then - newexe out/Release/chrome_sandbox chrome-sandbox - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" - fi - - doexe out/Release/chromedriver - - local sedargs=( -e "s:/usr/lib/:/usr/$(get_libdir)/:g" ) - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r3.sh" > chromium-launcher.sh || die - doexe chromium-launcher.sh - - # It is important that we name the target "chromium-browser", - # xdg-utils expect it; bug #355517. - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser - # keep the old symlink around for consistency - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium - - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver - - # Allow users to override command-line options, bug #357629. - insinto /etc/chromium - newins "${FILESDIR}/chromium.default" "default" - - pushd out/Release/locales > /dev/null || die - chromium_remove_language_paks - popd - - insinto "${CHROMIUM_HOME}" - doins out/Release/*.bin - doins out/Release/*.pak - doins out/Release/*.so - - if ! use system-icu; then - doins out/Release/icudtl.dat - fi - - doins -r out/Release/locales - doins -r out/Release/resources - - if [[ -d out/Release/swiftshader ]]; then - insinto "${CHROMIUM_HOME}/swiftshader" - doins out/Release/swiftshader/*.so - fi - - # Install icons and desktop entry. - local branding size - for size in 16 22 24 32 48 64 128 256 ; do - case ${size} in - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; - *) branding="chrome/app/theme/chromium" ;; - esac - newicon -s ${size} "${branding}/product_logo_${size}.png" \ - chromium-browser.png - done - - local mime_types="text/html;text/xml;application/xhtml+xml;" - mime_types+="x-scheme-handler/http;x-scheme-handler/https;" # bug #360797 - mime_types+="x-scheme-handler/ftp;" # bug #412185 - mime_types+="x-scheme-handler/mailto;x-scheme-handler/webcal;" # bug #416393 - make_desktop_entry \ - chromium-browser \ - "Chromium" \ - chromium-browser \ - "Network;WebBrowser" \ - "MimeType=${mime_types}\nStartupWMClass=chromium-browser" - sed -e "/^Exec/s/$/ %U/" -i "${ED}"/usr/share/applications/*.desktop || die - - # Install GNOME default application entry (bug #303100). - insinto /usr/share/gnome-control-center/default-apps - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml - - readme.gentoo_create_doc -} - -pkg_postrm() { - if type gtk-update-icon-cache &>/dev/null; then - ebegin "Updating GTK icon cache" - gtk-update-icon-cache "${EROOT}/usr/share/icons/hicolor" - eend $? - fi - xdg_desktop_database_update -} - -pkg_postinst() { - if type gtk-update-icon-cache &>/dev/null; then - ebegin "Updating GTK icon cache" - gtk-update-icon-cache "${EROOT}/usr/share/icons/hicolor" - eend $? - fi - xdg_desktop_database_update - readme.gentoo_print_elog -} diff --git a/www-client/chromium/chromium-76.0.3783.0.ebuild b/www-client/chromium/chromium-76.0.3783.0.ebuild deleted file mode 100644 index f31574a..0000000 --- a/www-client/chromium/chromium-76.0.3783.0.ebuild +++ /dev/null @@ -1,722 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python2_7 ) - -CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - 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 vi zh-CN zh-TW" - -inherit check-reqs chromium-2 desktop flag-o-matic multilib ninja-utils pax-utils portability python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="http://chromium.org/" -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="+closure-compile component-build cups gnome-keyring +hangouts jumbo-build kerberos neon pic +proprietary-codecs pulseaudio selinux +suid +system-ffmpeg +system-icu +system-libvpx +tcmalloc widevine vaapi" -RESTRICT="!system-ffmpeg? ( proprietary-codecs? ( bindist ) )" -REQUIRED_USE="component-build? ( !suid )" - -COMMON_DEPEND=" - >=app-accessibility/at-spi2-atk-2.26:2 - app-arch/bzip2:= - cups? ( >=net-print/cups-1.3.11:= ) - >=dev-libs/atk-2.26 - dev-libs/expat:= - dev-libs/glib:2 - system-icu? ( >=dev-libs/icu-59:= ) - >=dev-libs/libxml2-2.9.4-r3:=[icu] - dev-libs/libxslt:= - dev-libs/nspr:= - >=dev-libs/nss-3.26:= - >=dev-libs/re2-0.2016.11.01:= - gnome-keyring? ( >=gnome-base/libgnome-keyring-3.12:= ) - >=media-libs/alsa-lib-1.0.19:= - media-libs/fontconfig:= - media-libs/freetype:= - >=media-libs/harfbuzz-2.2.0:0=[icu(-)] - media-libs/libjpeg-turbo:= - media-libs/libpng:= - system-libvpx? ( media-libs/libvpx:=[postproc,svc] ) - >=media-libs/openh264-1.6.0:= - pulseaudio? ( media-sound/pulseaudio:= ) - system-ffmpeg? ( - >=media-video/ffmpeg-4:= - || ( - media-video/ffmpeg[-samba] - >=net-fs/samba-4.5.10-r1[-debug(-)] - ) - !=net-fs/samba-4.5.12-r0 - media-libs/opus:= - ) - sys-apps/dbus:= - sys-apps/pciutils:= - virtual/udev - x11-libs/cairo:= - x11-libs/gdk-pixbuf:2 - x11-libs/gtk+:3[X] - x11-libs/libX11:= - x11-libs/libXcomposite:= - x11-libs/libXcursor:= - x11-libs/libXdamage:= - x11-libs/libXext:= - x11-libs/libXfixes:= - >=x11-libs/libXi-1.6.0:= - x11-libs/libXrandr:= - x11-libs/libXrender:= - x11-libs/libXScrnSaver:= - x11-libs/libXtst:= - x11-libs/pango:= - app-arch/snappy:= - media-libs/flac:= - >=media-libs/libwebp-0.4.0:= - sys-libs/zlib:=[minizip] - kerberos? ( virtual/krb5 ) -" -# For nvidia-drivers blocker, see bug #413637 . -RDEPEND="${COMMON_DEPEND} - !<www-plugins/chrome-binary-plugins-57 - x11-misc/xdg-utils - virtual/opengl - virtual/ttf-fonts - selinux? ( sec-policy/selinux-chromium ) - tcmalloc? ( !<x11-drivers/nvidia-drivers-331.20 ) - widevine? ( www-plugins/chrome-binary-plugins[widevine(-)] ) -" -# dev-vcs/git - https://bugs.gentoo.org/593476 -# sys-apps/sandbox - https://crbug.com/586444 -DEPEND="${COMMON_DEPEND} -" -BDEPEND=" - >=app-arch/gzip-1.7 - !arm? ( - dev-lang/yasm - ) - dev-lang/perl - dev-util/gn - dev-vcs/git - >=dev-util/gperf-3.0.3 - >=dev-util/ninja-1.7.2 - >=net-libs/nodejs-7.6.0[inspector] - sys-apps/hwids[usb(+)] - >=sys-devel/bison-2.4.3 - sys-devel/flex - closure-compile? ( virtual/jre ) - virtual/pkgconfig -" - -: ${CHROMIUM_FORCE_CLANG=yes} - -if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then - BDEPEND+=" >=sys-devel/clang-5" -fi - -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then - EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; -fi - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -Some web pages may require additional fonts to display properly. -Try installing some of the following packages if some characters -are not displayed properly: -- media-fonts/arphicfonts -- media-fonts/droid -- media-fonts/ipamonafont -- media-fonts/noto -- media-fonts/ja-ipafonts -- media-fonts/takao-fonts -- media-fonts/wqy-microhei -- media-fonts/wqy-zenhei - -To fix broken icons on the Downloads page, you should install an icon -theme that covers the appropriate MIME types, and configure this as your -GTK+ icon theme. -" - -PATCHES=( - "${FILESDIR}/chromium-compiler-76.patch" - "${FILESDIR}/chromium-widevine-r4.patch" - "${FILESDIR}/chromium-fix-char_traits.patch" - "${FILESDIR}/chromium-vr.patch" - "${FILESDIR}/chromium-vaapi-76.patch" - "${FILESDIR}/chromium-vector-init.patch" -) - -pre_build_checks() { - if [[ ${MERGE_TYPE} != binary ]]; then - local -x CPP="$(tc-getCXX) -E" - if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 8.0; then - die "At least gcc 8.0 is required" - fi - fi - - # Check build requirements, bug #541816 and bug #471810 . - CHECKREQS_MEMORY="3G" - CHECKREQS_DISK_BUILD="5G" - if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then - CHECKREQS_DISK_BUILD="25G" - if ! use component-build; then - CHECKREQS_MEMORY="16G" - fi - fi - check-reqs_pkg_setup -} - -pkg_pretend() { - pre_build_checks -} - -pkg_setup() { - pre_build_checks - - chromium_suid_sandbox_check_kernel_config -} - -src_prepare() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - default - - mkdir -p third_party/node/linux/node-linux-x64/bin || die - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die - - local keeplibs=( - base/third_party/dmg_fp - 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 - 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/third_party/glslang - third_party/angle/third_party/spirv-headers - third_party/angle/third_party/spirv-tools - third_party/angle/third_party/vulkan-headers - third_party/angle/third_party/vulkan-loader - third_party/angle/third_party/vulkan-tools - third_party/angle/third_party/vulkan-validation-layers - 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/cacheinvalidation - 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/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/glad - third_party/dawn/third_party/picojson - third_party/dawn/third_party/tinygltfloader - third_party/dawn/third_party/vulkan - third_party/devscripts - third_party/dom_distiller_js - third_party/emoji-segmenter - third_party/flatbuffers - third_party/flot - third_party/freetype - 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/glslang - 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/vector - third_party/libaom/source/libaom/third_party/x86inc - third_party/libjingle - third_party/libphonenumber - third_party/libsecret - third_party/libsrtp - third_party/libsync - third_party/libudev - third_party/libwebm - third_party/libxml/chromium - third_party/libyuv - third_party/llvm - third_party/lss - third_party/lzma_sdk - third_party/markupsafe - third_party/mesa - third_party/metrics_proto - third_party/modp_b64 - third_party/nasm - third_party/node - third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2 - third_party/openmax_dl - 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/pffft - third_party/ply - third_party/polymer - third_party/protobuf - third_party/protobuf/third_party/six - third_party/pyjson5 - third_party/qcms - third_party/rnnoise - third_party/s2cellid - third_party/sfntly - 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/gif - third_party/skia/third_party/skcms - third_party/skia/third_party/vulkan - third_party/smhasher - third_party/spirv-headers - third_party/SPIRV-Tools - third_party/sqlite - third_party/swiftshader - third_party/swiftshader/third_party/llvm-7.0 - third_party/swiftshader/third_party/llvm-subzero - third_party/swiftshader/third_party/subzero - third_party/unrar - third_party/usrsctp - third_party/vulkan - third_party/web-animations-js - third_party/webdriver - third_party/webrtc - third_party/webrtc/common_audio/third_party/fft4g - 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/zlib/google - 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/adobe - third_party/speech-dispatcher - third_party/usb_ids - third_party/xdg-utils - third_party/yasm/run_yasm.py - ) - if ! use system-ffmpeg; then - keeplibs+=( third_party/ffmpeg third_party/opus ) - fi - if ! use system-icu; then - keeplibs+=( third_party/icu ) - fi - if ! use system-libvpx; then - keeplibs+=( third_party/libvpx ) - keeplibs+=( third_party/libvpx/source/libvpx/third_party/x86inc ) - fi - if use tcmalloc; then - keeplibs+=( third_party/tcmalloc ) - fi - - # Remove most bundled libraries. Some are still needed. - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die -} - -src_configure() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local myconf_gn="" - - # Make sure the build system will use the right tools, bug #340795. - tc-export AR CC CXX NM - - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] && ! tc-is-clang; then - # Force clang since gcc is pretty broken at the moment. - CC=${CHOST}-clang - CXX=${CHOST}-clang++ - strip-unsupported-flags - fi - - if tc-is-clang; then - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" - else - myconf_gn+=" is_clang=false" - fi - - # Define a custom toolchain for GN - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" - - if tc-is-cross-compiler; then - tc-export BUILD_{AR,CC,CXX,NM} - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" - else - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - fi - - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - myconf_gn+=" is_debug=false" - - # Component build isn't generally intended for use by end users. It's mostly useful - # for development and debugging. - myconf_gn+=" is_component_build=$(usex component-build true false)" - - # https://chromium.googlesource.com/chromium/src/+/lkcr/docs/jumbo.md - myconf_gn+=" use_jumbo_build=$(usex jumbo-build true false)" - - myconf_gn+=" use_allocator=$(usex tcmalloc \"tcmalloc\" \"none\")" - - myconf_gn+=" use_vaapi=$(usex vaapi true false)" - - # Disable nacl, we can't build without pnacl (http://crbug.com/269560). - myconf_gn+=" enable_nacl=false" - - # Use system-provided libraries. - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_libsrtp (bug #459932). - # TODO: use_system_protobuf (bug #525560). - # TODO: use_system_ssl (http://crbug.com/58087). - # TODO: use_system_sqlite (http://crbug.com/22208). - - # libevent: https://bugs.gentoo.org/593458 - local gn_system_libraries=( - flac - fontconfig - freetype - # Need harfbuzz_from_pkgconfig target - #harfbuzz-ng - libdrm - libjpeg - libpng - libwebp - libxml - libxslt - openh264 - re2 - snappy - yasm - zlib - ) - if use system-ffmpeg; then - gn_system_libraries+=( ffmpeg opus ) - fi - if use system-icu; then - gn_system_libraries+=( icu ) - fi - if use system-libvpx; then - gn_system_libraries+=( libvpx ) - fi - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die - - # See dependency logic in third_party/BUILD.gn - myconf_gn+=" use_system_harfbuzz=true" - - # Optional dependencies. - myconf_gn+=" closure_compile=$(usex closure-compile true false)" - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" - myconf_gn+=" enable_widevine=$(usex widevine true false)" - myconf_gn+=" use_cups=$(usex cups true false)" - myconf_gn+=" use_gnome_keyring=$(usex gnome-keyring true false)" - myconf_gn+=" use_kerberos=$(usex kerberos true false)" - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" - - # TODO: link_pulseaudio=true for GN. - - myconf_gn+=" fieldtrial_testing_like_official_build=true" - - # Never use bundled gold binary. Disable gold linker flags for now. - # Do not use bundled clang. - # Trying to use gold results in linker crash. - myconf_gn+=" use_gold=false use_sysroot=false linux_use_bundled_binutils=false use_custom_libcxx=false" - - # Disable forced lld, bug 641556 - myconf_gn+=" use_lld=false" - - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" - - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . - # Note: these are for Gentoo use ONLY. For your own distribution, - # please get your own set of keys. Feel free to contact chromium@gentoo.org - # for more info. - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" - local google_default_client_id="329227923882.apps.googleusercontent.com" - local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu" - myconf_gn+=" google_api_key=\"${google_api_key}\"" - myconf_gn+=" google_default_client_id=\"${google_default_client_id}\"" - myconf_gn+=" google_default_client_secret=\"${google_default_client_secret}\"" - - local myarch="$(tc-arch)" - - # Avoid CFLAGS problems, bug #352457, bug #390147. - if ! use custom-cflags; then - replace-flags "-Os" "-O2" - strip-flags - - # Prevent linker from running out of address space, bug #471810 . - if use x86; then - filter-flags "-g*" - fi - - # Prevent libvpx build failures. Bug 530248, 544702, 546984. - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 - fi - fi - - if [[ $myarch = amd64 ]] ; then - myconf_gn+=" target_cpu=\"x64\"" - ffmpeg_target_arch=x64 - elif [[ $myarch = x86 ]] ; then - myconf_gn+=" target_cpu=\"x86\"" - ffmpeg_target_arch=ia32 - - # This is normally defined by compiler_cpu_abi in - # build/config/compiler/BUILD.gn, but we patch that part out. - append-flags -msse2 -mfpmath=sse -mmmx - elif [[ $myarch = arm64 ]] ; then - myconf_gn+=" target_cpu=\"arm64\"" - ffmpeg_target_arch=arm64 - elif [[ $myarch = arm ]] ; then - myconf_gn+=" target_cpu=\"arm\"" - ffmpeg_target_arch=$(usex neon arm-neon arm) - else - 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" - - # https://bugs.gentoo.org/588596 - #append-cxxflags $(test-flags-CXX -fno-delete-null-pointer-checks) - - # Bug 491582. - export TMPDIR="${WORKDIR}/temp" - mkdir -p -m 755 "${TMPDIR}" || die - - # https://bugs.gentoo.org/654216 - addpredict /dev/dri/ #nowarn - - #if ! use system-ffmpeg; then - if false; then - local build_ffmpeg_args="" - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then - build_ffmpeg_args+=" --disable-asm" - fi - - # Re-configure bundled ffmpeg. See bug #491378 for example reasons. - einfo "Configuring bundled ffmpeg..." - pushd third_party/ffmpeg > /dev/null || die - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \ - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die - chromium/scripts/copy_config.sh || die - chromium/scripts/generate_gn.py || die - popd > /dev/null || die - fi - - einfo "Configuring Chromium..." - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release - echo "$@" - "$@" || die -} - -src_compile() { - # Final link uses lots of file descriptors. - ulimit -n 2048 - - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die - - # Work around broken deps - eninja -C out/Release gen/ui/accessibility/ax_enums.mojom{,-shared}.h - - # Build mksnapshot and pax-mark it. - local x - for x in mksnapshot v8_context_snapshot_generator; do - if tc-is-cross-compiler; then - eninja -C out/Release "host/${x}" - pax-mark m "out/Release/host/${x}" - else - eninja -C out/Release "${x}" - pax-mark m "out/Release/${x}" - fi - done - - # Even though ninja autodetects number of CPUs, we respect - # user's options, for debugging with -j 1 or any other reason. - eninja -C out/Release chrome chromedriver - use suid && eninja -C out/Release chrome_sandbox - - pax-mark m out/Release/chrome -} - -src_install() { - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" - exeinto "${CHROMIUM_HOME}" - doexe out/Release/chrome - - if use suid; then - newexe out/Release/chrome_sandbox chrome-sandbox - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" - fi - - doexe out/Release/chromedriver - - local sedargs=( -e "s:/usr/lib/:/usr/$(get_libdir)/:g" ) - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r3.sh" > chromium-launcher.sh || die - doexe chromium-launcher.sh - - # It is important that we name the target "chromium-browser", - # xdg-utils expect it; bug #355517. - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser - # keep the old symlink around for consistency - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium - - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver - - # Allow users to override command-line options, bug #357629. - insinto /etc/chromium - newins "${FILESDIR}/chromium.default" "default" - - pushd out/Release/locales > /dev/null || die - chromium_remove_language_paks - popd - - insinto "${CHROMIUM_HOME}" - doins out/Release/*.bin - doins out/Release/*.pak - doins out/Release/*.so - - if ! use system-icu; then - doins out/Release/icudtl.dat - fi - - doins -r out/Release/locales - doins -r out/Release/resources - - if [[ -d out/Release/swiftshader ]]; then - insinto "${CHROMIUM_HOME}/swiftshader" - doins out/Release/swiftshader/*.so - fi - - # Install icons and desktop entry. - local branding size - for size in 16 22 24 32 48 64 128 256 ; do - case ${size} in - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; - *) branding="chrome/app/theme/chromium" ;; - esac - newicon -s ${size} "${branding}/product_logo_${size}.png" \ - chromium-browser.png - done - - local mime_types="text/html;text/xml;application/xhtml+xml;" - mime_types+="x-scheme-handler/http;x-scheme-handler/https;" # bug #360797 - mime_types+="x-scheme-handler/ftp;" # bug #412185 - mime_types+="x-scheme-handler/mailto;x-scheme-handler/webcal;" # bug #416393 - make_desktop_entry \ - chromium-browser \ - "Chromium" \ - chromium-browser \ - "Network;WebBrowser" \ - "MimeType=${mime_types}\nStartupWMClass=chromium-browser" - sed -e "/^Exec/s/$/ %U/" -i "${ED}"/usr/share/applications/*.desktop || die - - # Install GNOME default application entry (bug #303100). - insinto /usr/share/gnome-control-center/default-apps - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml - - readme.gentoo_create_doc -} - -pkg_postrm() { - if type gtk-update-icon-cache &>/dev/null; then - ebegin "Updating GTK icon cache" - gtk-update-icon-cache "${EROOT}/usr/share/icons/hicolor" - eend $? - fi - xdg_desktop_database_update -} - -pkg_postinst() { - if type gtk-update-icon-cache &>/dev/null; then - ebegin "Updating GTK icon cache" - gtk-update-icon-cache "${EROOT}/usr/share/icons/hicolor" - eend $? - fi - xdg_desktop_database_update - readme.gentoo_print_elog -} diff --git a/www-client/chromium/chromium-76.0.3800.0.ebuild b/www-client/chromium/chromium-76.0.3800.0.ebuild deleted file mode 100644 index f7e98ec..0000000 --- a/www-client/chromium/chromium-76.0.3800.0.ebuild +++ /dev/null @@ -1,717 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python2_7 ) - -CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - 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 vi zh-CN zh-TW" - -inherit check-reqs chromium-2 desktop flag-o-matic multilib ninja-utils pax-utils portability python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="http://chromium.org/" -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="+closure-compile component-build cups gnome-keyring +hangouts jumbo-build kerberos neon pic +proprietary-codecs pulseaudio selinux +suid +system-ffmpeg +system-icu +system-libvpx +tcmalloc widevine vaapi" -RESTRICT="!system-ffmpeg? ( proprietary-codecs? ( bindist ) )" -REQUIRED_USE="component-build? ( !suid )" - -COMMON_DEPEND=" - >=app-accessibility/at-spi2-atk-2.26:2 - app-arch/bzip2:= - cups? ( >=net-print/cups-1.3.11:= ) - >=dev-libs/atk-2.26 - dev-libs/expat:= - dev-libs/glib:2 - system-icu? ( >=dev-libs/icu-59:= ) - >=dev-libs/libxml2-2.9.4-r3:=[icu] - dev-libs/libxslt:= - dev-libs/nspr:= - >=dev-libs/nss-3.26:= - >=dev-libs/re2-0.2016.11.01:= - gnome-keyring? ( >=gnome-base/libgnome-keyring-3.12:= ) - >=media-libs/alsa-lib-1.0.19:= - media-libs/fontconfig:= - media-libs/freetype:= - >=media-libs/harfbuzz-2.2.0:0=[icu(-)] - media-libs/libjpeg-turbo:= - media-libs/libpng:= - system-libvpx? ( media-libs/libvpx:=[postproc,svc] ) - >=media-libs/openh264-1.6.0:= - pulseaudio? ( media-sound/pulseaudio:= ) - system-ffmpeg? ( - >=media-video/ffmpeg-4:= - || ( - media-video/ffmpeg[-samba] - >=net-fs/samba-4.5.10-r1[-debug(-)] - ) - !=net-fs/samba-4.5.12-r0 - media-libs/opus:= - ) - sys-apps/dbus:= - sys-apps/pciutils:= - virtual/udev - x11-libs/cairo:= - x11-libs/gdk-pixbuf:2 - x11-libs/gtk+:3[X] - x11-libs/libX11:= - x11-libs/libXcomposite:= - x11-libs/libXcursor:= - x11-libs/libXdamage:= - x11-libs/libXext:= - x11-libs/libXfixes:= - >=x11-libs/libXi-1.6.0:= - x11-libs/libXrandr:= - x11-libs/libXrender:= - x11-libs/libXScrnSaver:= - x11-libs/libXtst:= - x11-libs/pango:= - app-arch/snappy:= - media-libs/flac:= - >=media-libs/libwebp-0.4.0:= - sys-libs/zlib:=[minizip] - kerberos? ( virtual/krb5 ) -" -# For nvidia-drivers blocker, see bug #413637 . -RDEPEND="${COMMON_DEPEND} - !<www-plugins/chrome-binary-plugins-57 - x11-misc/xdg-utils - virtual/opengl - virtual/ttf-fonts - selinux? ( sec-policy/selinux-chromium ) - tcmalloc? ( !<x11-drivers/nvidia-drivers-331.20 ) - widevine? ( www-plugins/chrome-binary-plugins[widevine(-)] ) -" -# dev-vcs/git - https://bugs.gentoo.org/593476 -# sys-apps/sandbox - https://crbug.com/586444 -DEPEND="${COMMON_DEPEND} -" -BDEPEND=" - >=app-arch/gzip-1.7 - !arm? ( - dev-lang/yasm - ) - dev-lang/perl - dev-util/gn - dev-vcs/git - >=dev-util/gperf-3.0.3 - >=dev-util/ninja-1.7.2 - >=net-libs/nodejs-7.6.0[inspector] - sys-apps/hwids[usb(+)] - >=sys-devel/bison-2.4.3 - sys-devel/flex - closure-compile? ( virtual/jre ) - virtual/pkgconfig -" - -: ${CHROMIUM_FORCE_CLANG=yes} - -if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then - BDEPEND+=" >=sys-devel/clang-5" -fi - -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then - EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; -fi - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -Some web pages may require additional fonts to display properly. -Try installing some of the following packages if some characters -are not displayed properly: -- media-fonts/arphicfonts -- media-fonts/droid -- media-fonts/ipamonafont -- media-fonts/noto -- media-fonts/ja-ipafonts -- media-fonts/takao-fonts -- media-fonts/wqy-microhei -- media-fonts/wqy-zenhei - -To fix broken icons on the Downloads page, you should install an icon -theme that covers the appropriate MIME types, and configure this as your -GTK+ icon theme. -" - -PATCHES=( - "${FILESDIR}/chromium-compiler-76.patch" - "${FILESDIR}/chromium-widevine-r4.patch" - "${FILESDIR}/chromium-fix-char_traits.patch" - "${FILESDIR}/chromium-vaapi-76-r1.patch" -) - -pre_build_checks() { - if [[ ${MERGE_TYPE} != binary ]]; then - local -x CPP="$(tc-getCXX) -E" - if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 8.0; then - die "At least gcc 8.0 is required" - fi - fi - - # Check build requirements, bug #541816 and bug #471810 . - CHECKREQS_MEMORY="3G" - CHECKREQS_DISK_BUILD="5G" - if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then - CHECKREQS_DISK_BUILD="25G" - if ! use component-build; then - CHECKREQS_MEMORY="16G" - fi - fi - check-reqs_pkg_setup -} - -pkg_pretend() { - pre_build_checks -} - -pkg_setup() { - pre_build_checks - - chromium_suid_sandbox_check_kernel_config -} - -src_prepare() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - default - - mkdir -p third_party/node/linux/node-linux-x64/bin || die - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die - - local keeplibs=( - base/third_party/dmg_fp - 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 - 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/third_party/glslang - third_party/angle/third_party/spirv-headers - third_party/angle/third_party/spirv-tools - third_party/angle/third_party/vulkan-headers - third_party/angle/third_party/vulkan-loader - third_party/angle/third_party/vulkan-tools - third_party/angle/third_party/vulkan-validation-layers - 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/cacheinvalidation - 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/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/glad - third_party/dawn/third_party/vulkan - third_party/devscripts - third_party/dom_distiller_js - third_party/emoji-segmenter - third_party/flatbuffers - third_party/flot - third_party/freetype - 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/glslang - 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/vector - third_party/libaom/source/libaom/third_party/x86inc - third_party/libjingle - third_party/libphonenumber - third_party/libsecret - third_party/libsrtp - third_party/libsync - third_party/libudev - third_party/libwebm - third_party/libxml/chromium - third_party/libyuv - third_party/llvm - third_party/lss - third_party/lzma_sdk - third_party/markupsafe - third_party/mesa - third_party/metrics_proto - third_party/modp_b64 - third_party/nasm - third_party/node - third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2 - 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/pffft - third_party/ply - third_party/polymer - third_party/protobuf - third_party/protobuf/third_party/six - third_party/pyjson5 - third_party/qcms - third_party/rnnoise - third_party/s2cellid - third_party/sfntly - 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/gif - third_party/skia/third_party/skcms - third_party/skia/third_party/vulkan - third_party/smhasher - third_party/spirv-headers - third_party/SPIRV-Tools - third_party/sqlite - third_party/swiftshader - third_party/swiftshader/third_party/llvm-7.0 - third_party/swiftshader/third_party/llvm-subzero - third_party/swiftshader/third_party/subzero - third_party/unrar - third_party/usrsctp - third_party/vulkan - third_party/web-animations-js - third_party/webdriver - third_party/webrtc - third_party/webrtc/common_audio/third_party/fft4g - 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/zlib/google - 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/adobe - third_party/speech-dispatcher - third_party/usb_ids - third_party/xdg-utils - third_party/yasm/run_yasm.py - ) - if ! use system-ffmpeg; then - keeplibs+=( third_party/ffmpeg third_party/opus ) - fi - if ! use system-icu; then - keeplibs+=( third_party/icu ) - fi - if ! use system-libvpx; then - keeplibs+=( third_party/libvpx ) - keeplibs+=( third_party/libvpx/source/libvpx/third_party/x86inc ) - fi - if use tcmalloc; then - keeplibs+=( third_party/tcmalloc ) - fi - - # Remove most bundled libraries. Some are still needed. - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die -} - -src_configure() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local myconf_gn="" - - # Make sure the build system will use the right tools, bug #340795. - tc-export AR CC CXX NM - - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] && ! tc-is-clang; then - # Force clang since gcc is pretty broken at the moment. - CC=${CHOST}-clang - CXX=${CHOST}-clang++ - strip-unsupported-flags - fi - - if tc-is-clang; then - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" - else - myconf_gn+=" is_clang=false" - fi - - # Define a custom toolchain for GN - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" - - if tc-is-cross-compiler; then - tc-export BUILD_{AR,CC,CXX,NM} - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" - else - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - fi - - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - myconf_gn+=" is_debug=false" - - # Component build isn't generally intended for use by end users. It's mostly useful - # for development and debugging. - myconf_gn+=" is_component_build=$(usex component-build true false)" - - # https://chromium.googlesource.com/chromium/src/+/lkcr/docs/jumbo.md - myconf_gn+=" use_jumbo_build=$(usex jumbo-build true false)" - - myconf_gn+=" use_allocator=$(usex tcmalloc \"tcmalloc\" \"none\")" - - myconf_gn+=" use_vaapi=$(usex vaapi true false)" - - # Disable nacl, we can't build without pnacl (http://crbug.com/269560). - myconf_gn+=" enable_nacl=false" - - # Use system-provided libraries. - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_libsrtp (bug #459932). - # TODO: use_system_protobuf (bug #525560). - # TODO: use_system_ssl (http://crbug.com/58087). - # TODO: use_system_sqlite (http://crbug.com/22208). - - # libevent: https://bugs.gentoo.org/593458 - local gn_system_libraries=( - flac - fontconfig - freetype - # Need harfbuzz_from_pkgconfig target - #harfbuzz-ng - libdrm - libjpeg - libpng - libwebp - libxml - libxslt - openh264 - re2 - snappy - yasm - zlib - ) - if use system-ffmpeg; then - gn_system_libraries+=( ffmpeg opus ) - fi - if use system-icu; then - gn_system_libraries+=( icu ) - fi - if use system-libvpx; then - gn_system_libraries+=( libvpx ) - fi - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die - - # See dependency logic in third_party/BUILD.gn - myconf_gn+=" use_system_harfbuzz=true" - - # Optional dependencies. - myconf_gn+=" closure_compile=$(usex closure-compile true false)" - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" - myconf_gn+=" enable_widevine=$(usex widevine true false)" - myconf_gn+=" use_cups=$(usex cups true false)" - myconf_gn+=" use_gnome_keyring=$(usex gnome-keyring true false)" - myconf_gn+=" use_kerberos=$(usex kerberos true false)" - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" - - # TODO: link_pulseaudio=true for GN. - - myconf_gn+=" fieldtrial_testing_like_official_build=true" - - # Never use bundled gold binary. Disable gold linker flags for now. - # Do not use bundled clang. - # Trying to use gold results in linker crash. - myconf_gn+=" use_gold=false use_sysroot=false linux_use_bundled_binutils=false use_custom_libcxx=false" - - # Disable forced lld, bug 641556 - myconf_gn+=" use_lld=false" - - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" - - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . - # Note: these are for Gentoo use ONLY. For your own distribution, - # please get your own set of keys. Feel free to contact chromium@gentoo.org - # for more info. - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" - local google_default_client_id="329227923882.apps.googleusercontent.com" - local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu" - myconf_gn+=" google_api_key=\"${google_api_key}\"" - myconf_gn+=" google_default_client_id=\"${google_default_client_id}\"" - myconf_gn+=" google_default_client_secret=\"${google_default_client_secret}\"" - - local myarch="$(tc-arch)" - - # Avoid CFLAGS problems, bug #352457, bug #390147. - if ! use custom-cflags; then - replace-flags "-Os" "-O2" - strip-flags - - # Prevent linker from running out of address space, bug #471810 . - if use x86; then - filter-flags "-g*" - fi - - # Prevent libvpx build failures. Bug 530248, 544702, 546984. - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 - fi - fi - - if [[ $myarch = amd64 ]] ; then - myconf_gn+=" target_cpu=\"x64\"" - ffmpeg_target_arch=x64 - elif [[ $myarch = x86 ]] ; then - myconf_gn+=" target_cpu=\"x86\"" - ffmpeg_target_arch=ia32 - - # This is normally defined by compiler_cpu_abi in - # build/config/compiler/BUILD.gn, but we patch that part out. - append-flags -msse2 -mfpmath=sse -mmmx - elif [[ $myarch = arm64 ]] ; then - myconf_gn+=" target_cpu=\"arm64\"" - ffmpeg_target_arch=arm64 - elif [[ $myarch = arm ]] ; then - myconf_gn+=" target_cpu=\"arm\"" - ffmpeg_target_arch=$(usex neon arm-neon arm) - else - 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" - - # https://bugs.gentoo.org/588596 - #append-cxxflags $(test-flags-CXX -fno-delete-null-pointer-checks) - - # Bug 491582. - export TMPDIR="${WORKDIR}/temp" - mkdir -p -m 755 "${TMPDIR}" || die - - # https://bugs.gentoo.org/654216 - addpredict /dev/dri/ #nowarn - - #if ! use system-ffmpeg; then - if false; then - local build_ffmpeg_args="" - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then - build_ffmpeg_args+=" --disable-asm" - fi - - # Re-configure bundled ffmpeg. See bug #491378 for example reasons. - einfo "Configuring bundled ffmpeg..." - pushd third_party/ffmpeg > /dev/null || die - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \ - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die - chromium/scripts/copy_config.sh || die - chromium/scripts/generate_gn.py || die - popd > /dev/null || die - fi - - einfo "Configuring Chromium..." - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release - echo "$@" - "$@" || die -} - -src_compile() { - # Final link uses lots of file descriptors. - ulimit -n 2048 - - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die - - # Work around broken deps - eninja -C out/Release gen/ui/accessibility/ax_enums.mojom{,-shared}.h - - # Build mksnapshot and pax-mark it. - local x - for x in mksnapshot v8_context_snapshot_generator; do - if tc-is-cross-compiler; then - eninja -C out/Release "host/${x}" - pax-mark m "out/Release/host/${x}" - else - eninja -C out/Release "${x}" - pax-mark m "out/Release/${x}" - fi - done - - # Even though ninja autodetects number of CPUs, we respect - # user's options, for debugging with -j 1 or any other reason. - eninja -C out/Release chrome chromedriver - use suid && eninja -C out/Release chrome_sandbox - - pax-mark m out/Release/chrome -} - -src_install() { - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" - exeinto "${CHROMIUM_HOME}" - doexe out/Release/chrome - - if use suid; then - newexe out/Release/chrome_sandbox chrome-sandbox - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" - fi - - doexe out/Release/chromedriver - - local sedargs=( -e "s:/usr/lib/:/usr/$(get_libdir)/:g" ) - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r3.sh" > chromium-launcher.sh || die - doexe chromium-launcher.sh - - # It is important that we name the target "chromium-browser", - # xdg-utils expect it; bug #355517. - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser - # keep the old symlink around for consistency - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium - - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver - - # Allow users to override command-line options, bug #357629. - insinto /etc/chromium - newins "${FILESDIR}/chromium.default" "default" - - pushd out/Release/locales > /dev/null || die - chromium_remove_language_paks - popd - - insinto "${CHROMIUM_HOME}" - doins out/Release/*.bin - doins out/Release/*.pak - doins out/Release/*.so - - if ! use system-icu; then - doins out/Release/icudtl.dat - fi - - doins -r out/Release/locales - doins -r out/Release/resources - - if [[ -d out/Release/swiftshader ]]; then - insinto "${CHROMIUM_HOME}/swiftshader" - doins out/Release/swiftshader/*.so - fi - - # Install icons and desktop entry. - local branding size - for size in 16 22 24 32 48 64 128 256 ; do - case ${size} in - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; - *) branding="chrome/app/theme/chromium" ;; - esac - newicon -s ${size} "${branding}/product_logo_${size}.png" \ - chromium-browser.png - done - - local mime_types="text/html;text/xml;application/xhtml+xml;" - mime_types+="x-scheme-handler/http;x-scheme-handler/https;" # bug #360797 - mime_types+="x-scheme-handler/ftp;" # bug #412185 - mime_types+="x-scheme-handler/mailto;x-scheme-handler/webcal;" # bug #416393 - make_desktop_entry \ - chromium-browser \ - "Chromium" \ - chromium-browser \ - "Network;WebBrowser" \ - "MimeType=${mime_types}\nStartupWMClass=chromium-browser" - sed -e "/^Exec/s/$/ %U/" -i "${ED}"/usr/share/applications/*.desktop || die - - # Install GNOME default application entry (bug #303100). - insinto /usr/share/gnome-control-center/default-apps - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml - - readme.gentoo_create_doc -} - -pkg_postrm() { - if type gtk-update-icon-cache &>/dev/null; then - ebegin "Updating GTK icon cache" - gtk-update-icon-cache "${EROOT}/usr/share/icons/hicolor" - eend $? - fi - xdg_desktop_database_update -} - -pkg_postinst() { - if type gtk-update-icon-cache &>/dev/null; then - ebegin "Updating GTK icon cache" - gtk-update-icon-cache "${EROOT}/usr/share/icons/hicolor" - eend $? - fi - xdg_desktop_database_update - readme.gentoo_print_elog -} diff --git a/www-client/chromium/chromium-77.0.3824.6.ebuild b/www-client/chromium/chromium-77.0.3824.6.ebuild deleted file mode 100644 index 1f7c191..0000000 --- a/www-client/chromium/chromium-77.0.3824.6.ebuild +++ /dev/null @@ -1,725 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python2_7 ) - -CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - 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 vi zh-CN zh-TW" - -inherit check-reqs chromium-2 desktop flag-o-matic multilib ninja-utils pax-utils portability python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="http://chromium.org/" -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="+closure-compile component-build cups gnome-keyring +hangouts jumbo-build kerberos neon pic +proprietary-codecs pulseaudio selinux +suid +system-ffmpeg +system-icu +system-libvpx +tcmalloc widevine vaapi" -RESTRICT="!system-ffmpeg? ( proprietary-codecs? ( bindist ) )" -REQUIRED_USE="component-build? ( !suid )" - -COMMON_DEPEND=" - >=app-accessibility/at-spi2-atk-2.26:2 - app-arch/bzip2:= - cups? ( >=net-print/cups-1.3.11:= ) - >=dev-libs/atk-2.26 - dev-libs/expat:= - dev-libs/glib:2 - system-icu? ( >=dev-libs/icu-59:= ) - >=dev-libs/libxml2-2.9.4-r3:=[icu] - dev-libs/libxslt:= - dev-libs/nspr:= - >=dev-libs/nss-3.26:= - >=dev-libs/re2-0.2016.11.01:= - gnome-keyring? ( >=gnome-base/libgnome-keyring-3.12:= ) - >=media-libs/alsa-lib-1.0.19:= - media-libs/fontconfig:= - media-libs/freetype:= - >=media-libs/harfbuzz-2.2.0:0=[icu(-)] - media-libs/libjpeg-turbo:= - media-libs/libpng:= - system-libvpx? ( media-libs/libvpx:=[postproc,svc] ) - >=media-libs/openh264-1.6.0:= - pulseaudio? ( media-sound/pulseaudio:= ) - system-ffmpeg? ( - >=media-video/ffmpeg-4:= - || ( - media-video/ffmpeg[-samba] - >=net-fs/samba-4.5.10-r1[-debug(-)] - ) - !=net-fs/samba-4.5.12-r0 - media-libs/opus:= - ) - sys-apps/dbus:= - sys-apps/pciutils:= - virtual/udev - x11-libs/cairo:= - x11-libs/gdk-pixbuf:2 - x11-libs/gtk+:3[X] - x11-libs/libX11:= - x11-libs/libXcomposite:= - x11-libs/libXcursor:= - x11-libs/libXdamage:= - x11-libs/libXext:= - x11-libs/libXfixes:= - >=x11-libs/libXi-1.6.0:= - x11-libs/libXrandr:= - x11-libs/libXrender:= - x11-libs/libXScrnSaver:= - x11-libs/libXtst:= - x11-libs/pango:= - app-arch/snappy:= - media-libs/flac:= - >=media-libs/libwebp-0.4.0:= - sys-libs/zlib:=[minizip] - kerberos? ( virtual/krb5 ) -" -# For nvidia-drivers blocker, see bug #413637 . -RDEPEND="${COMMON_DEPEND} - !<www-plugins/chrome-binary-plugins-57 - x11-misc/xdg-utils - virtual/opengl - virtual/ttf-fonts - selinux? ( sec-policy/selinux-chromium ) - tcmalloc? ( !<x11-drivers/nvidia-drivers-331.20 ) - widevine? ( www-plugins/chrome-binary-plugins[widevine(-)] ) -" -# dev-vcs/git - https://bugs.gentoo.org/593476 -# sys-apps/sandbox - https://crbug.com/586444 -DEPEND="${COMMON_DEPEND} -" -BDEPEND=" - >=app-arch/gzip-1.7 - !arm? ( - dev-lang/yasm - ) - dev-lang/perl - dev-util/gn - dev-vcs/git - >=dev-util/gperf-3.0.3 - >=dev-util/ninja-1.7.2 - >=net-libs/nodejs-7.6.0[inspector] - sys-apps/hwids[usb(+)] - >=sys-devel/bison-2.4.3 - sys-devel/flex - closure-compile? ( virtual/jre ) - virtual/pkgconfig -" - -: ${CHROMIUM_FORCE_CLANG=yes} - -if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then - BDEPEND+=" >=sys-devel/clang-5" -fi - -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then - EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; -fi - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -Some web pages may require additional fonts to display properly. -Try installing some of the following packages if some characters -are not displayed properly: -- media-fonts/arphicfonts -- media-fonts/droid -- media-fonts/ipamonafont -- media-fonts/noto -- media-fonts/ja-ipafonts -- media-fonts/takao-fonts -- media-fonts/wqy-microhei -- media-fonts/wqy-zenhei - -To fix broken icons on the Downloads page, you should install an icon -theme that covers the appropriate MIME types, and configure this as your -GTK+ icon theme. -" - -PATCHES=( - "${FILESDIR}/chromium-compiler-77.patch" - "${FILESDIR}/chromium-widevine-r4.patch" - "${FILESDIR}/chromium-fix-char_traits.patch" - "${FILESDIR}/chromium-vaapi-77.patch" - "${FILESDIR}/chromium-swiftshader-77.patch" -) - -pre_build_checks() { - if [[ ${MERGE_TYPE} != binary ]]; then - local -x CPP="$(tc-getCXX) -E" - if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 8.0; then - die "At least gcc 8.0 is required" - fi - fi - - # Check build requirements, bug #541816 and bug #471810 . - CHECKREQS_MEMORY="3G" - CHECKREQS_DISK_BUILD="5G" - if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then - CHECKREQS_DISK_BUILD="25G" - if ! use component-build; then - CHECKREQS_MEMORY="16G" - fi - fi - check-reqs_pkg_setup -} - -pkg_pretend() { - pre_build_checks -} - -pkg_setup() { - pre_build_checks - - chromium_suid_sandbox_check_kernel_config -} - -src_prepare() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - default - - mkdir -p third_party/node/linux/node-linux-x64/bin || die - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die - - local keeplibs=( - base/third_party/cityhash - base/third_party/dmg_fp - 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 - 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/third_party/glslang - third_party/angle/third_party/spirv-headers - third_party/angle/third_party/spirv-tools - third_party/angle/third_party/vulkan-headers - third_party/angle/third_party/vulkan-loader - third_party/angle/third_party/vulkan-tools - third_party/angle/third_party/vulkan-validation-layers - third_party/apple_apsl - third_party/axe-core - third_party/blink - third_party/boringssl - third_party/boringssl/src/third_party/fiat - third_party/boringssl/src/third_party/sike - third_party/boringssl/linux-x86_64/crypto/third_party/sike - third_party/breakpad - third_party/breakpad/breakpad/src/third_party/curl - third_party/brotli - third_party/cacheinvalidation - 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/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/glad - third_party/dawn/third_party/vulkan - third_party/devscripts - third_party/dom_distiller_js - third_party/emoji-segmenter - third_party/flatbuffers - third_party/flot - third_party/freetype - 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/glslang - 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/vector - third_party/libaom/source/libaom/third_party/x86inc - third_party/libjingle - third_party/libphonenumber - third_party/libsecret - third_party/libsrtp - third_party/libsync - third_party/libudev - third_party/libwebm - third_party/libxml/chromium - third_party/libyuv - third_party/llvm - third_party/lss - third_party/lzma_sdk - third_party/markupsafe - third_party/mesa - third_party/metrics_proto - third_party/modp_b64 - third_party/nasm - third_party/node - third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2 - third_party/openscreen - third_party/openscreen/src/third_party/tinycbor - 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/pffft - third_party/ply - third_party/polymer - third_party/protobuf - third_party/protobuf/third_party/six - third_party/pyjson5 - third_party/qcms - third_party/rnnoise - third_party/s2cellid - third_party/sfntly - 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/gif - third_party/skia/third_party/skcms - third_party/skia/third_party/vulkan - third_party/smhasher - third_party/spirv-headers - third_party/SPIRV-Tools - third_party/sqlite - third_party/swiftshader - third_party/swiftshader/third_party/llvm-7.0 - third_party/swiftshader/third_party/llvm-subzero - third_party/swiftshader/third_party/subzero - third_party/swiftshader/third_party/SPIRV-Headers - third_party/unrar - third_party/usrsctp - third_party/vulkan - third_party/web-animations-js - third_party/webdriver - third_party/webrtc - third_party/webrtc/common_audio/third_party/fft4g - 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/zlib - third_party/zlib/google - 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/adobe - third_party/speech-dispatcher - third_party/usb_ids - third_party/xdg-utils - third_party/yasm/run_yasm.py - ) - if ! use system-ffmpeg; then - keeplibs+=( third_party/ffmpeg third_party/opus ) - fi - if ! use system-icu; then - keeplibs+=( third_party/icu ) - fi - if ! use system-libvpx; then - keeplibs+=( third_party/libvpx ) - keeplibs+=( third_party/libvpx/source/libvpx/third_party/x86inc ) - fi - if use tcmalloc; then - keeplibs+=( third_party/tcmalloc ) - fi - - # Remove most bundled libraries. Some are still needed. - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die -} - -src_configure() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local myconf_gn="" - - # Make sure the build system will use the right tools, bug #340795. - tc-export AR CC CXX NM - - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] && ! tc-is-clang; then - # Force clang since gcc is pretty broken at the moment. - CC=${CHOST}-clang - CXX=${CHOST}-clang++ - strip-unsupported-flags - fi - - if tc-is-clang; then - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" - else - myconf_gn+=" is_clang=false" - fi - - # Define a custom toolchain for GN - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" - - if tc-is-cross-compiler; then - tc-export BUILD_{AR,CC,CXX,NM} - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" - else - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - fi - - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - myconf_gn+=" is_debug=false" - - # Component build isn't generally intended for use by end users. It's mostly useful - # for development and debugging. - myconf_gn+=" is_component_build=$(usex component-build true false)" - - # https://chromium.googlesource.com/chromium/src/+/lkcr/docs/jumbo.md - myconf_gn+=" use_jumbo_build=$(usex jumbo-build true false)" - - myconf_gn+=" use_allocator=$(usex tcmalloc \"tcmalloc\" \"none\")" - - myconf_gn+=" use_vaapi=$(usex vaapi true false)" - - # Disable nacl, we can't build without pnacl (http://crbug.com/269560). - myconf_gn+=" enable_nacl=false" - - # Use system-provided libraries. - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_libsrtp (bug #459932). - # TODO: use_system_protobuf (bug #525560). - # TODO: use_system_ssl (http://crbug.com/58087). - # TODO: use_system_sqlite (http://crbug.com/22208). - - # libevent: https://bugs.gentoo.org/593458 - local gn_system_libraries=( - flac - fontconfig - freetype - # Need harfbuzz_from_pkgconfig target - #harfbuzz-ng - libdrm - libjpeg - libpng - libwebp - libxml - libxslt - openh264 - re2 - snappy - yasm - #zlib - ) - if use system-ffmpeg; then - gn_system_libraries+=( ffmpeg opus ) - fi - if use system-icu; then - gn_system_libraries+=( icu ) - fi - if use system-libvpx; then - gn_system_libraries+=( libvpx ) - fi - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die - - # See dependency logic in third_party/BUILD.gn - myconf_gn+=" use_system_harfbuzz=true" - - # Optional dependencies. - myconf_gn+=" closure_compile=$(usex closure-compile true false)" - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" - myconf_gn+=" enable_widevine=$(usex widevine true false)" - myconf_gn+=" use_cups=$(usex cups true false)" - myconf_gn+=" use_gnome_keyring=$(usex gnome-keyring true false)" - myconf_gn+=" use_kerberos=$(usex kerberos true false)" - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" - - # TODO: link_pulseaudio=true for GN. - - myconf_gn+=" fieldtrial_testing_like_official_build=true" - - # Never use bundled gold binary. Disable gold linker flags for now. - # Do not use bundled clang. - # Trying to use gold results in linker crash. - myconf_gn+=" use_gold=false use_sysroot=false linux_use_bundled_binutils=false use_custom_libcxx=false" - - # Disable forced lld, bug 641556 - myconf_gn+=" use_lld=false" - - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" - - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . - # Note: these are for Gentoo use ONLY. For your own distribution, - # please get your own set of keys. Feel free to contact chromium@gentoo.org - # for more info. - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" - local google_default_client_id="329227923882.apps.googleusercontent.com" - local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu" - myconf_gn+=" google_api_key=\"${google_api_key}\"" - myconf_gn+=" google_default_client_id=\"${google_default_client_id}\"" - myconf_gn+=" google_default_client_secret=\"${google_default_client_secret}\"" - - local myarch="$(tc-arch)" - - # Avoid CFLAGS problems, bug #352457, bug #390147. - if ! use custom-cflags; then - replace-flags "-Os" "-O2" - strip-flags - - # Prevent linker from running out of address space, bug #471810 . - if use x86; then - filter-flags "-g*" - fi - - # Prevent libvpx build failures. Bug 530248, 544702, 546984. - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 - fi - fi - - if [[ $myarch = amd64 ]] ; then - myconf_gn+=" target_cpu=\"x64\"" - ffmpeg_target_arch=x64 - elif [[ $myarch = x86 ]] ; then - myconf_gn+=" target_cpu=\"x86\"" - ffmpeg_target_arch=ia32 - - # This is normally defined by compiler_cpu_abi in - # build/config/compiler/BUILD.gn, but we patch that part out. - append-flags -msse2 -mfpmath=sse -mmmx - elif [[ $myarch = arm64 ]] ; then - myconf_gn+=" target_cpu=\"arm64\"" - ffmpeg_target_arch=arm64 - elif [[ $myarch = arm ]] ; then - myconf_gn+=" target_cpu=\"arm\"" - ffmpeg_target_arch=$(usex neon arm-neon arm) - else - 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" - - # https://bugs.gentoo.org/588596 - #append-cxxflags $(test-flags-CXX -fno-delete-null-pointer-checks) - - # Bug 491582. - export TMPDIR="${WORKDIR}/temp" - mkdir -p -m 755 "${TMPDIR}" || die - - # https://bugs.gentoo.org/654216 - addpredict /dev/dri/ #nowarn - - #if ! use system-ffmpeg; then - if false; then - local build_ffmpeg_args="" - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then - build_ffmpeg_args+=" --disable-asm" - fi - - # Re-configure bundled ffmpeg. See bug #491378 for example reasons. - einfo "Configuring bundled ffmpeg..." - pushd third_party/ffmpeg > /dev/null || die - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \ - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die - chromium/scripts/copy_config.sh || die - chromium/scripts/generate_gn.py || die - popd > /dev/null || die - fi - - einfo "Configuring Chromium..." - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release - echo "$@" - "$@" || die -} - -src_compile() { - # Final link uses lots of file descriptors. - ulimit -n 2048 - - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die - - # Work around broken deps - eninja -C out/Release gen/ui/accessibility/ax_enums.mojom{,-shared}.h - - # Build mksnapshot and pax-mark it. - local x - for x in mksnapshot v8_context_snapshot_generator; do - if tc-is-cross-compiler; then - eninja -C out/Release "host/${x}" - pax-mark m "out/Release/host/${x}" - else - eninja -C out/Release "${x}" - pax-mark m "out/Release/${x}" - fi - done - - # Even though ninja autodetects number of CPUs, we respect - # user's options, for debugging with -j 1 or any other reason. - eninja -C out/Release chrome chromedriver - use suid && eninja -C out/Release chrome_sandbox - - pax-mark m out/Release/chrome -} - -src_install() { - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" - exeinto "${CHROMIUM_HOME}" - doexe out/Release/chrome - - if use suid; then - newexe out/Release/chrome_sandbox chrome-sandbox - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" - fi - - doexe out/Release/chromedriver - - local sedargs=( -e "s:/usr/lib/:/usr/$(get_libdir)/:g" ) - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r3.sh" > chromium-launcher.sh || die - doexe chromium-launcher.sh - - # It is important that we name the target "chromium-browser", - # xdg-utils expect it; bug #355517. - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser - # keep the old symlink around for consistency - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium - - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver - - # Allow users to override command-line options, bug #357629. - insinto /etc/chromium - newins "${FILESDIR}/chromium.default" "default" - - pushd out/Release/locales > /dev/null || die - chromium_remove_language_paks - popd - - insinto "${CHROMIUM_HOME}" - doins out/Release/*.bin - doins out/Release/*.pak - doins out/Release/*.so - - if ! use system-icu; then - doins out/Release/icudtl.dat - fi - - doins -r out/Release/locales - doins -r out/Release/resources - - if [[ -d out/Release/swiftshader ]]; then - insinto "${CHROMIUM_HOME}/swiftshader" - doins out/Release/swiftshader/*.so - fi - - # Install icons and desktop entry. - local branding size - for size in 16 22 24 32 48 64 128 256 ; do - case ${size} in - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; - *) branding="chrome/app/theme/chromium" ;; - esac - newicon -s ${size} "${branding}/product_logo_${size}.png" \ - chromium-browser.png - done - - local mime_types="text/html;text/xml;application/xhtml+xml;" - mime_types+="x-scheme-handler/http;x-scheme-handler/https;" # bug #360797 - mime_types+="x-scheme-handler/ftp;" # bug #412185 - mime_types+="x-scheme-handler/mailto;x-scheme-handler/webcal;" # bug #416393 - make_desktop_entry \ - chromium-browser \ - "Chromium" \ - chromium-browser \ - "Network;WebBrowser" \ - "MimeType=${mime_types}\nStartupWMClass=chromium-browser" - sed -e "/^Exec/s/$/ %U/" -i "${ED}"/usr/share/applications/*.desktop || die - - # Install GNOME default application entry (bug #303100). - insinto /usr/share/gnome-control-center/default-apps - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml - - readme.gentoo_create_doc -} - -pkg_postrm() { - if type gtk-update-icon-cache &>/dev/null; then - ebegin "Updating GTK icon cache" - gtk-update-icon-cache "${EROOT}/usr/share/icons/hicolor" - eend $? - fi - xdg_desktop_database_update -} - -pkg_postinst() { - if type gtk-update-icon-cache &>/dev/null; then - ebegin "Updating GTK icon cache" - gtk-update-icon-cache "${EROOT}/usr/share/icons/hicolor" - eend $? - fi - xdg_desktop_database_update - readme.gentoo_print_elog -} diff --git a/www-client/chromium/chromium-78.0.3876.0.ebuild b/www-client/chromium/chromium-78.0.3876.0.ebuild deleted file mode 100644 index ccc1842..0000000 --- a/www-client/chromium/chromium-78.0.3876.0.ebuild +++ /dev/null @@ -1,725 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python2_7 ) - -CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - 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 vi zh-CN zh-TW" - -inherit check-reqs chromium-2 desktop flag-o-matic multilib ninja-utils pax-utils portability python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="http://chromium.org/" -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="+closure-compile component-build cups gnome-keyring +hangouts jumbo-build kerberos neon pic +proprietary-codecs pulseaudio selinux +suid +system-ffmpeg +system-icu +system-libvpx +tcmalloc widevine vaapi" -RESTRICT="!system-ffmpeg? ( proprietary-codecs? ( bindist ) )" -REQUIRED_USE="component-build? ( !suid )" - -COMMON_DEPEND=" - >=app-accessibility/at-spi2-atk-2.26:2 - app-arch/bzip2:= - cups? ( >=net-print/cups-1.3.11:= ) - >=dev-libs/atk-2.26 - dev-libs/expat:= - dev-libs/glib:2 - system-icu? ( >=dev-libs/icu-59:= ) - >=dev-libs/libxml2-2.9.4-r3:=[icu] - dev-libs/libxslt:= - dev-libs/nspr:= - >=dev-libs/nss-3.26:= - >=dev-libs/re2-0.2016.11.01:= - gnome-keyring? ( >=gnome-base/libgnome-keyring-3.12:= ) - >=media-libs/alsa-lib-1.0.19:= - media-libs/fontconfig:= - media-libs/freetype:= - >=media-libs/harfbuzz-2.2.0:0=[icu(-)] - media-libs/libjpeg-turbo:= - media-libs/libpng:= - system-libvpx? ( media-libs/libvpx:=[postproc,svc] ) - >=media-libs/openh264-1.6.0:= - pulseaudio? ( media-sound/pulseaudio:= ) - system-ffmpeg? ( - >=media-video/ffmpeg-4:= - || ( - media-video/ffmpeg[-samba] - >=net-fs/samba-4.5.10-r1[-debug(-)] - ) - !=net-fs/samba-4.5.12-r0 - media-libs/opus:= - ) - sys-apps/dbus:= - sys-apps/pciutils:= - virtual/udev - x11-libs/cairo:= - x11-libs/gdk-pixbuf:2 - x11-libs/gtk+:3[X] - x11-libs/libX11:= - x11-libs/libXcomposite:= - x11-libs/libXcursor:= - x11-libs/libXdamage:= - x11-libs/libXext:= - x11-libs/libXfixes:= - >=x11-libs/libXi-1.6.0:= - x11-libs/libXrandr:= - x11-libs/libXrender:= - x11-libs/libXScrnSaver:= - x11-libs/libXtst:= - x11-libs/pango:= - app-arch/snappy:= - media-libs/flac:= - >=media-libs/libwebp-0.4.0:= - sys-libs/zlib:=[minizip] - kerberos? ( virtual/krb5 ) -" -# For nvidia-drivers blocker, see bug #413637 . -RDEPEND="${COMMON_DEPEND} - !<www-plugins/chrome-binary-plugins-57 - x11-misc/xdg-utils - virtual/opengl - virtual/ttf-fonts - selinux? ( sec-policy/selinux-chromium ) - tcmalloc? ( !<x11-drivers/nvidia-drivers-331.20 ) - widevine? ( www-plugins/chrome-binary-plugins[widevine(-)] ) -" -# dev-vcs/git - https://bugs.gentoo.org/593476 -# sys-apps/sandbox - https://crbug.com/586444 -DEPEND="${COMMON_DEPEND} -" -BDEPEND=" - >=app-arch/gzip-1.7 - !arm? ( - dev-lang/yasm - ) - dev-lang/perl - dev-util/gn - dev-vcs/git - >=dev-util/gperf-3.0.3 - >=dev-util/ninja-1.7.2 - >=net-libs/nodejs-7.6.0[inspector] - sys-apps/hwids[usb(+)] - >=sys-devel/bison-2.4.3 - sys-devel/flex - closure-compile? ( virtual/jre ) - virtual/pkgconfig -" - -: ${CHROMIUM_FORCE_CLANG=yes} - -if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then - BDEPEND+=" >=sys-devel/clang-5" -fi - -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then - EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; -fi - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -Some web pages may require additional fonts to display properly. -Try installing some of the following packages if some characters -are not displayed properly: -- media-fonts/arphicfonts -- media-fonts/droid -- media-fonts/ipamonafont -- media-fonts/noto -- media-fonts/ja-ipafonts -- media-fonts/takao-fonts -- media-fonts/wqy-microhei -- media-fonts/wqy-zenhei - -To fix broken icons on the Downloads page, you should install an icon -theme that covers the appropriate MIME types, and configure this as your -GTK+ icon theme. -" - -PATCHES=( - "${FILESDIR}/chromium-compiler-77.patch" - "${FILESDIR}/chromium-widevine-r4.patch" - "${FILESDIR}/chromium-fix-char_traits.patch" - "${FILESDIR}/chromium-vaapi-78.patch" - "${FILESDIR}/chromium-wpt-gn-78.patch" -) - -pre_build_checks() { - if [[ ${MERGE_TYPE} != binary ]]; then - local -x CPP="$(tc-getCXX) -E" - if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 8.0; then - die "At least gcc 8.0 is required" - fi - fi - - # Check build requirements, bug #541816 and bug #471810 . - CHECKREQS_MEMORY="3G" - CHECKREQS_DISK_BUILD="5G" - if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then - CHECKREQS_DISK_BUILD="25G" - if ! use component-build; then - CHECKREQS_MEMORY="16G" - fi - fi - check-reqs_pkg_setup -} - -pkg_pretend() { - pre_build_checks -} - -pkg_setup() { - pre_build_checks - - chromium_suid_sandbox_check_kernel_config -} - -src_prepare() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - default - - mkdir -p third_party/node/linux/node-linux-x64/bin || die - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die - - local keeplibs=( - base/third_party/cityhash - base/third_party/dmg_fp - 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 - 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/third_party/glslang - third_party/angle/third_party/spirv-headers - third_party/angle/third_party/spirv-tools - third_party/angle/third_party/vulkan-headers - third_party/angle/third_party/vulkan-loader - third_party/angle/third_party/vulkan-tools - third_party/angle/third_party/vulkan-validation-layers - third_party/apple_apsl - third_party/axe-core - third_party/blink - third_party/boringssl - third_party/boringssl/src/third_party/fiat - third_party/boringssl/src/third_party/sike - third_party/boringssl/linux-x86_64/crypto/third_party/sike - third_party/breakpad - third_party/breakpad/breakpad/src/third_party/curl - third_party/brotli - third_party/cacheinvalidation - 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/devscripts - third_party/dom_distiller_js - third_party/emoji-segmenter - third_party/flatbuffers - third_party/flot - third_party/freetype - 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/glslang - 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/vector - third_party/libaom/source/libaom/third_party/x86inc - third_party/libjingle - third_party/libphonenumber - third_party/libsecret - third_party/libsrtp - third_party/libsync - third_party/libudev - third_party/libwebm - third_party/libxml/chromium - third_party/libyuv - third_party/llvm - third_party/lss - third_party/lzma_sdk - third_party/markupsafe - third_party/mesa - third_party/metrics_proto - third_party/modp_b64 - third_party/nasm - third_party/node - third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2 - third_party/one_euro_filter - third_party/openscreen - third_party/openscreen/src/third_party/tinycbor - 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/pffft - third_party/ply - third_party/polymer - third_party/protobuf - third_party/protobuf/third_party/six - third_party/pyjson5 - third_party/qcms - third_party/rnnoise - third_party/s2cellid - third_party/sfntly - 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/gif - third_party/skia/third_party/skcms - third_party/skia/third_party/vulkan - third_party/smhasher - third_party/spirv-headers - third_party/SPIRV-Tools - third_party/sqlite - third_party/swiftshader - third_party/swiftshader/third_party/llvm-7.0 - third_party/swiftshader/third_party/llvm-subzero - third_party/swiftshader/third_party/subzero - third_party/swiftshader/third_party/SPIRV-Headers - third_party/unrar - third_party/usrsctp - third_party/vulkan - third_party/web-animations-js - third_party/webdriver - third_party/webrtc - third_party/webrtc/common_audio/third_party/fft4g - 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/zlib - third_party/zlib/google - 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/adobe - third_party/speech-dispatcher - third_party/usb_ids - third_party/xdg-utils - third_party/yasm/run_yasm.py - ) - if ! use system-ffmpeg; then - keeplibs+=( third_party/ffmpeg third_party/opus ) - fi - if ! use system-icu; then - keeplibs+=( third_party/icu ) - fi - if ! use system-libvpx; then - keeplibs+=( third_party/libvpx ) - keeplibs+=( third_party/libvpx/source/libvpx/third_party/x86inc ) - fi - if use tcmalloc; then - keeplibs+=( third_party/tcmalloc ) - fi - - # Remove most bundled libraries. Some are still needed. - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die -} - -src_configure() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local myconf_gn="" - - # Make sure the build system will use the right tools, bug #340795. - tc-export AR CC CXX NM - - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] && ! tc-is-clang; then - # Force clang since gcc is pretty broken at the moment. - CC=${CHOST}-clang - CXX=${CHOST}-clang++ - strip-unsupported-flags - fi - - if tc-is-clang; then - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" - else - myconf_gn+=" is_clang=false" - fi - - # Define a custom toolchain for GN - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" - - if tc-is-cross-compiler; then - tc-export BUILD_{AR,CC,CXX,NM} - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" - else - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - fi - - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - myconf_gn+=" is_debug=false" - - # Component build isn't generally intended for use by end users. It's mostly useful - # for development and debugging. - myconf_gn+=" is_component_build=$(usex component-build true false)" - - # https://chromium.googlesource.com/chromium/src/+/lkcr/docs/jumbo.md - myconf_gn+=" use_jumbo_build=$(usex jumbo-build true false)" - - myconf_gn+=" use_allocator=$(usex tcmalloc \"tcmalloc\" \"none\")" - - myconf_gn+=" use_vaapi=$(usex vaapi true false)" - - # Disable nacl, we can't build without pnacl (http://crbug.com/269560). - myconf_gn+=" enable_nacl=false" - - # Use system-provided libraries. - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_libsrtp (bug #459932). - # TODO: use_system_protobuf (bug #525560). - # TODO: use_system_ssl (http://crbug.com/58087). - # TODO: use_system_sqlite (http://crbug.com/22208). - - # libevent: https://bugs.gentoo.org/593458 - local gn_system_libraries=( - flac - fontconfig - freetype - # Need harfbuzz_from_pkgconfig target - #harfbuzz-ng - libdrm - libjpeg - libpng - libwebp - libxml - libxslt - openh264 - re2 - snappy - yasm - #zlib - ) - if use system-ffmpeg; then - gn_system_libraries+=( ffmpeg opus ) - fi - if use system-icu; then - gn_system_libraries+=( icu ) - fi - if use system-libvpx; then - gn_system_libraries+=( libvpx ) - fi - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die - - # See dependency logic in third_party/BUILD.gn - myconf_gn+=" use_system_harfbuzz=true" - - # Optional dependencies. - myconf_gn+=" closure_compile=$(usex closure-compile true false)" - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" - myconf_gn+=" enable_widevine=$(usex widevine true false)" - myconf_gn+=" use_cups=$(usex cups true false)" - myconf_gn+=" use_gnome_keyring=$(usex gnome-keyring true false)" - myconf_gn+=" use_kerberos=$(usex kerberos true false)" - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" - - # TODO: link_pulseaudio=true for GN. - - myconf_gn+=" fieldtrial_testing_like_official_build=true" - - # Never use bundled gold binary. Disable gold linker flags for now. - # Do not use bundled clang. - # Trying to use gold results in linker crash. - myconf_gn+=" use_gold=false use_sysroot=false linux_use_bundled_binutils=false use_custom_libcxx=false" - - # Disable forced lld, bug 641556 - myconf_gn+=" use_lld=false" - - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" - - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . - # Note: these are for Gentoo use ONLY. For your own distribution, - # please get your own set of keys. Feel free to contact chromium@gentoo.org - # for more info. - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" - local google_default_client_id="329227923882.apps.googleusercontent.com" - local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu" - myconf_gn+=" google_api_key=\"${google_api_key}\"" - myconf_gn+=" google_default_client_id=\"${google_default_client_id}\"" - myconf_gn+=" google_default_client_secret=\"${google_default_client_secret}\"" - - local myarch="$(tc-arch)" - - # Avoid CFLAGS problems, bug #352457, bug #390147. - if ! use custom-cflags; then - replace-flags "-Os" "-O2" - strip-flags - - # Prevent linker from running out of address space, bug #471810 . - if use x86; then - filter-flags "-g*" - fi - - # Prevent libvpx build failures. Bug 530248, 544702, 546984. - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 - fi - fi - - if [[ $myarch = amd64 ]] ; then - myconf_gn+=" target_cpu=\"x64\"" - ffmpeg_target_arch=x64 - elif [[ $myarch = x86 ]] ; then - myconf_gn+=" target_cpu=\"x86\"" - ffmpeg_target_arch=ia32 - - # This is normally defined by compiler_cpu_abi in - # build/config/compiler/BUILD.gn, but we patch that part out. - append-flags -msse2 -mfpmath=sse -mmmx - elif [[ $myarch = arm64 ]] ; then - myconf_gn+=" target_cpu=\"arm64\"" - ffmpeg_target_arch=arm64 - elif [[ $myarch = arm ]] ; then - myconf_gn+=" target_cpu=\"arm\"" - ffmpeg_target_arch=$(usex neon arm-neon arm) - else - 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" - - # https://bugs.gentoo.org/588596 - #append-cxxflags $(test-flags-CXX -fno-delete-null-pointer-checks) - - # Bug 491582. - export TMPDIR="${WORKDIR}/temp" - mkdir -p -m 755 "${TMPDIR}" || die - - # https://bugs.gentoo.org/654216 - addpredict /dev/dri/ #nowarn - - #if ! use system-ffmpeg; then - if false; then - local build_ffmpeg_args="" - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then - build_ffmpeg_args+=" --disable-asm" - fi - - # Re-configure bundled ffmpeg. See bug #491378 for example reasons. - einfo "Configuring bundled ffmpeg..." - pushd third_party/ffmpeg > /dev/null || die - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \ - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die - chromium/scripts/copy_config.sh || die - chromium/scripts/generate_gn.py || die - popd > /dev/null || die - fi - - einfo "Configuring Chromium..." - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release - echo "$@" - "$@" || die -} - -src_compile() { - # Final link uses lots of file descriptors. - ulimit -n 2048 - - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die - - # Work around broken deps - eninja -C out/Release gen/ui/accessibility/ax_enums.mojom{,-shared}.h - - # Build mksnapshot and pax-mark it. - local x - for x in mksnapshot v8_context_snapshot_generator; do - if tc-is-cross-compiler; then - eninja -C out/Release "host/${x}" - pax-mark m "out/Release/host/${x}" - else - eninja -C out/Release "${x}" - pax-mark m "out/Release/${x}" - fi - done - - # Even though ninja autodetects number of CPUs, we respect - # user's options, for debugging with -j 1 or any other reason. - eninja -C out/Release chrome chromedriver - use suid && eninja -C out/Release chrome_sandbox - - pax-mark m out/Release/chrome -} - -src_install() { - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" - exeinto "${CHROMIUM_HOME}" - doexe out/Release/chrome - - if use suid; then - newexe out/Release/chrome_sandbox chrome-sandbox - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" - fi - - doexe out/Release/chromedriver - - local sedargs=( -e "s:/usr/lib/:/usr/$(get_libdir)/:g" ) - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r3.sh" > chromium-launcher.sh || die - doexe chromium-launcher.sh - - # It is important that we name the target "chromium-browser", - # xdg-utils expect it; bug #355517. - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser - # keep the old symlink around for consistency - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium - - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver - - # Allow users to override command-line options, bug #357629. - insinto /etc/chromium - newins "${FILESDIR}/chromium.default" "default" - - pushd out/Release/locales > /dev/null || die - chromium_remove_language_paks - popd - - insinto "${CHROMIUM_HOME}" - doins out/Release/*.bin - doins out/Release/*.pak - doins out/Release/*.so - - if ! use system-icu; then - doins out/Release/icudtl.dat - fi - - doins -r out/Release/locales - doins -r out/Release/resources - - if [[ -d out/Release/swiftshader ]]; then - insinto "${CHROMIUM_HOME}/swiftshader" - doins out/Release/swiftshader/*.so - fi - - # Install icons and desktop entry. - local branding size - for size in 16 24 32 48 64 128 256 ; do - case ${size} in - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; - *) branding="chrome/app/theme/chromium" ;; - esac - newicon -s ${size} "${branding}/product_logo_${size}.png" \ - chromium-browser.png - done - - local mime_types="text/html;text/xml;application/xhtml+xml;" - mime_types+="x-scheme-handler/http;x-scheme-handler/https;" # bug #360797 - mime_types+="x-scheme-handler/ftp;" # bug #412185 - mime_types+="x-scheme-handler/mailto;x-scheme-handler/webcal;" # bug #416393 - make_desktop_entry \ - chromium-browser \ - "Chromium" \ - chromium-browser \ - "Network;WebBrowser" \ - "MimeType=${mime_types}\nStartupWMClass=chromium-browser" - sed -e "/^Exec/s/$/ %U/" -i "${ED}"/usr/share/applications/*.desktop || die - - # Install GNOME default application entry (bug #303100). - insinto /usr/share/gnome-control-center/default-apps - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml - - readme.gentoo_create_doc -} - -pkg_postrm() { - if type gtk-update-icon-cache &>/dev/null; then - ebegin "Updating GTK icon cache" - gtk-update-icon-cache "${EROOT}/usr/share/icons/hicolor" - eend $? - fi - xdg_desktop_database_update -} - -pkg_postinst() { - if type gtk-update-icon-cache &>/dev/null; then - ebegin "Updating GTK icon cache" - gtk-update-icon-cache "${EROOT}/usr/share/icons/hicolor" - eend $? - fi - xdg_desktop_database_update - readme.gentoo_print_elog -} diff --git a/www-client/chromium/chromium-78.0.3880.4.ebuild b/www-client/chromium/chromium-78.0.3880.4.ebuild deleted file mode 100644 index da73ace..0000000 --- a/www-client/chromium/chromium-78.0.3880.4.ebuild +++ /dev/null @@ -1,718 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python2_7 ) - -CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - 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 vi zh-CN zh-TW" - -inherit check-reqs chromium-2 desktop flag-o-matic multilib ninja-utils pax-utils portability python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="http://chromium.org/" -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" -IUSE="+closure-compile component-build cups cpu_flags_arm_neon gnome-keyring +hangouts jumbo-build kerberos pic +proprietary-codecs pulseaudio selinux +suid +system-ffmpeg +system-icu +system-libvpx +tcmalloc widevine vaapi" -RESTRICT="!system-ffmpeg? ( proprietary-codecs? ( bindist ) )" -REQUIRED_USE="component-build? ( !suid )" - -COMMON_DEPEND=" - >=app-accessibility/at-spi2-atk-2.26:2 - app-arch/bzip2:= - cups? ( >=net-print/cups-1.3.11:= ) - >=dev-libs/atk-2.26 - dev-libs/expat:= - dev-libs/glib:2 - system-icu? ( >=dev-libs/icu-64:= ) - >=dev-libs/libxml2-2.9.4-r3:=[icu] - dev-libs/libxslt:= - dev-libs/nspr:= - >=dev-libs/nss-3.26:= - >=dev-libs/re2-0.2016.11.01:= - gnome-keyring? ( >=gnome-base/libgnome-keyring-3.12:= ) - >=media-libs/alsa-lib-1.0.19:= - media-libs/fontconfig:= - media-libs/freetype:= - >=media-libs/harfbuzz-2.4.0:0=[icu(-)] - media-libs/libjpeg-turbo:= - media-libs/libpng:= - system-libvpx? ( media-libs/libvpx:=[postproc,svc] ) - >=media-libs/openh264-1.6.0:= - pulseaudio? ( media-sound/pulseaudio:= ) - system-ffmpeg? ( - >=media-video/ffmpeg-4:= - || ( - media-video/ffmpeg[-samba] - >=net-fs/samba-4.5.10-r1[-debug(-)] - ) - !=net-fs/samba-4.5.12-r0 - media-libs/opus:= - ) - sys-apps/dbus:= - sys-apps/pciutils:= - virtual/udev - x11-libs/cairo:= - x11-libs/gdk-pixbuf:2 - x11-libs/gtk+:3[X] - x11-libs/libX11:= - x11-libs/libXcomposite:= - x11-libs/libXcursor:= - x11-libs/libXdamage:= - x11-libs/libXext:= - x11-libs/libXfixes:= - >=x11-libs/libXi-1.6.0:= - x11-libs/libXrandr:= - x11-libs/libXrender:= - x11-libs/libXScrnSaver:= - x11-libs/libXtst:= - x11-libs/pango:= - app-arch/snappy:= - media-libs/flac:= - >=media-libs/libwebp-0.4.0:= - sys-libs/zlib:=[minizip] - kerberos? ( virtual/krb5 ) -" -# For nvidia-drivers blocker, see bug #413637 . -RDEPEND="${COMMON_DEPEND} - !<www-plugins/chrome-binary-plugins-57 - x11-misc/xdg-utils - virtual/opengl - virtual/ttf-fonts - selinux? ( sec-policy/selinux-chromium ) - tcmalloc? ( !<x11-drivers/nvidia-drivers-331.20 ) - widevine? ( www-plugins/chrome-binary-plugins[widevine(-)] ) -" -DEPEND="${COMMON_DEPEND} -" -# dev-vcs/git - https://bugs.gentoo.org/593476 -BDEPEND=" - ${PYTHON_DEPS} - >=app-arch/gzip-1.7 - !arm? ( - dev-lang/yasm - ) - dev-lang/perl - dev-util/gn - dev-vcs/git - >=dev-util/gperf-3.0.3 - >=dev-util/ninja-1.7.2 - >=net-libs/nodejs-7.6.0[inspector] - sys-apps/hwids[usb(+)] - >=sys-devel/bison-2.4.3 - sys-devel/flex - closure-compile? ( virtual/jre ) - virtual/pkgconfig -" - -: ${CHROMIUM_FORCE_CLANG=yes} - -if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then - BDEPEND+=" >=sys-devel/clang-7" -fi - -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then - EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; -fi - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -Some web pages may require additional fonts to display properly. -Try installing some of the following packages if some characters -are not displayed properly: -- media-fonts/arphicfonts -- media-fonts/droid -- media-fonts/ipamonafont -- media-fonts/noto -- media-fonts/ja-ipafonts -- media-fonts/takao-fonts -- media-fonts/wqy-microhei -- media-fonts/wqy-zenhei - -To fix broken icons on the Downloads page, you should install an icon -theme that covers the appropriate MIME types, and configure this as your -GTK+ icon theme. - -For native file dialogs in KDE, install kde-apps/kdialog. -" - -PATCHES=( - "${FILESDIR}/chromium-compiler-78.patch" - "${FILESDIR}/chromium-widevine-r4.patch" - "${FILESDIR}/chromium-fix-char_traits.patch" - "${FILESDIR}/chromium-unbundle-zlib.patch" - "${FILESDIR}/chromium-wpt-gn-78.patch" - "${FILESDIR}/chromium-77-system-icu.patch" - "${FILESDIR}/chromium-77-clang.patch" - "${FILESDIR}/chromium-77-blink-include.patch" - "${FILESDIR}/chromium-vaapi-78.patch" - "${FILESDIR}/chromium-revert-e7963c4-78.patch" -) - -pre_build_checks() { - if [[ ${MERGE_TYPE} != binary ]]; then - local -x CPP="$(tc-getCXX) -E" - if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 8.0; then - die "At least gcc 8.0 is required" - fi - fi - - # Check build requirements, bug #541816 and bug #471810 . - CHECKREQS_MEMORY="3G" - CHECKREQS_DISK_BUILD="7G" - if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then - CHECKREQS_DISK_BUILD="25G" - if ! use component-build; then - CHECKREQS_MEMORY="16G" - fi - fi - check-reqs_pkg_setup -} - -pkg_pretend() { - pre_build_checks -} - -pkg_setup() { - pre_build_checks - - chromium_suid_sandbox_check_kernel_config -} - -src_prepare() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - default - - mkdir -p third_party/node/linux/node-linux-x64/bin || die - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die - - local keeplibs=( - base/third_party/cityhash - base/third_party/dmg_fp - 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 - 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/third_party/glslang - third_party/angle/third_party/spirv-headers - third_party/angle/third_party/spirv-tools - third_party/angle/third_party/vulkan-headers - third_party/angle/third_party/vulkan-loader - third_party/angle/third_party/vulkan-tools - third_party/angle/third_party/vulkan-validation-layers - third_party/apple_apsl - third_party/axe-core - third_party/blink - third_party/boringssl - third_party/boringssl/src/third_party/fiat - third_party/boringssl/src/third_party/sike - third_party/boringssl/linux-aarch64/crypto/third_party/sike - third_party/boringssl/linux-x86_64/crypto/third_party/sike - third_party/breakpad - third_party/breakpad/breakpad/src/third_party/curl - third_party/brotli - third_party/cacheinvalidation - 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/devscripts - third_party/dom_distiller_js - third_party/emoji-segmenter - third_party/flatbuffers - third_party/flot - third_party/freetype - third_party/glslang - 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/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/vector - third_party/libaom/source/libaom/third_party/x86inc - third_party/libjingle - third_party/libphonenumber - third_party/libsecret - third_party/libsrtp - third_party/libsync - third_party/libudev - third_party/libwebm - third_party/libxml/chromium - third_party/libyuv - third_party/llvm - third_party/lss - third_party/lzma_sdk - third_party/markupsafe - third_party/mesa - third_party/metrics_proto - third_party/modp_b64 - third_party/nasm - third_party/node - third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2 - third_party/one_euro_filter - third_party/openscreen - 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/pffft - third_party/ply - third_party/polymer - third_party/private-join-and-compute - third_party/protobuf - third_party/protobuf/third_party/six - third_party/pyjson5 - third_party/qcms - third_party/rnnoise - third_party/s2cellid - third_party/sfntly - 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/gif - third_party/skia/third_party/skcms - third_party/skia/third_party/vulkan - third_party/smhasher - third_party/spirv-headers - third_party/SPIRV-Tools - third_party/sqlite - third_party/swiftshader - third_party/swiftshader/third_party/llvm-7.0 - third_party/swiftshader/third_party/llvm-subzero - third_party/swiftshader/third_party/subzero - third_party/swiftshader/third_party/SPIRV-Headers/include/spirv/unified1 - third_party/unrar - third_party/usrsctp - third_party/vulkan - third_party/web-animations-js - third_party/webdriver - third_party/webrtc - third_party/webrtc/common_audio/third_party/fft4g - 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/zlib/google - 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/adobe - third_party/speech-dispatcher - third_party/usb_ids - third_party/xdg-utils - third_party/yasm/run_yasm.py - ) - if ! use system-ffmpeg; then - keeplibs+=( third_party/ffmpeg third_party/opus ) - fi - if ! use system-icu; then - keeplibs+=( third_party/icu ) - fi - if ! use system-libvpx; then - keeplibs+=( third_party/libvpx ) - keeplibs+=( third_party/libvpx/source/libvpx/third_party/x86inc ) - fi - if use tcmalloc; then - keeplibs+=( third_party/tcmalloc ) - fi - - # Remove most bundled libraries. Some are still needed. - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die -} - -src_configure() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local myconf_gn="" - - # Make sure the build system will use the right tools, bug #340795. - tc-export AR CC CXX NM - - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] && ! tc-is-clang; then - # Force clang since gcc is pretty broken at the moment. - CC=${CHOST}-clang - CXX=${CHOST}-clang++ - strip-unsupported-flags - fi - - if tc-is-clang; then - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" - else - myconf_gn+=" is_clang=false" - fi - - # Define a custom toolchain for GN - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" - - if tc-is-cross-compiler; then - tc-export BUILD_{AR,CC,CXX,NM} - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" - else - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - fi - - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - myconf_gn+=" is_debug=false" - - # Component build isn't generally intended for use by end users. It's mostly useful - # for development and debugging. - myconf_gn+=" is_component_build=$(usex component-build true false)" - - # https://chromium.googlesource.com/chromium/src/+/lkcr/docs/jumbo.md - myconf_gn+=" use_jumbo_build=$(usex jumbo-build true false)" - - myconf_gn+=" use_allocator=$(usex tcmalloc \"tcmalloc\" \"none\")" - - # Disable nacl, we can't build without pnacl (http://crbug.com/269560). - myconf_gn+=" enable_nacl=false" - - # Use system-provided libraries. - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_libsrtp (bug #459932). - # TODO: use_system_protobuf (bug #525560). - # TODO: use_system_ssl (http://crbug.com/58087). - # TODO: use_system_sqlite (http://crbug.com/22208). - - # libevent: https://bugs.gentoo.org/593458 - local gn_system_libraries=( - flac - fontconfig - freetype - # Need harfbuzz_from_pkgconfig target - #harfbuzz-ng - libdrm - libjpeg - libpng - libwebp - libxml - libxslt - openh264 - re2 - snappy - yasm - zlib - ) - if use system-ffmpeg; then - gn_system_libraries+=( ffmpeg opus ) - fi - if use system-icu; then - gn_system_libraries+=( icu ) - fi - if use system-libvpx; then - gn_system_libraries+=( libvpx ) - fi - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die - - # See dependency logic in third_party/BUILD.gn - myconf_gn+=" use_system_harfbuzz=true" - - # Optional dependencies. - myconf_gn+=" closure_compile=$(usex closure-compile true false)" - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" - myconf_gn+=" enable_widevine=$(usex widevine true false)" - myconf_gn+=" use_cups=$(usex cups true false)" - myconf_gn+=" use_gnome_keyring=$(usex gnome-keyring true false)" - myconf_gn+=" use_kerberos=$(usex kerberos true false)" - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" - myconf_gn+=" use_vaapi=$(usex vaapi true false)" - - # TODO: link_pulseaudio=true for GN. - - myconf_gn+=" fieldtrial_testing_like_official_build=true" - - # Never use bundled gold binary. Disable gold linker flags for now. - # Do not use bundled clang. - # Trying to use gold results in linker crash. - myconf_gn+=" use_gold=false use_sysroot=false linux_use_bundled_binutils=false use_custom_libcxx=false" - - # Disable forced lld, bug 641556 - myconf_gn+=" use_lld=false" - - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" - - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . - # Note: these are for Gentoo use ONLY. For your own distribution, - # please get your own set of keys. Feel free to contact chromium@gentoo.org - # for more info. - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" - local google_default_client_id="329227923882.apps.googleusercontent.com" - local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu" - myconf_gn+=" google_api_key=\"${google_api_key}\"" - myconf_gn+=" google_default_client_id=\"${google_default_client_id}\"" - myconf_gn+=" google_default_client_secret=\"${google_default_client_secret}\"" - - local myarch="$(tc-arch)" - - # Avoid CFLAGS problems, bug #352457, bug #390147. - if ! use custom-cflags; then - replace-flags "-Os" "-O2" - strip-flags - - # Prevent linker from running out of address space, bug #471810 . - if use x86; then - filter-flags "-g*" - fi - - # Prevent libvpx build failures. Bug 530248, 544702, 546984. - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 - fi - fi - - if [[ $myarch = amd64 ]] ; then - myconf_gn+=" target_cpu=\"x64\"" - ffmpeg_target_arch=x64 - elif [[ $myarch = x86 ]] ; then - myconf_gn+=" target_cpu=\"x86\"" - ffmpeg_target_arch=ia32 - - # This is normally defined by compiler_cpu_abi in - # build/config/compiler/BUILD.gn, but we patch that part out. - append-flags -msse2 -mfpmath=sse -mmmx - elif [[ $myarch = arm64 ]] ; then - myconf_gn+=" target_cpu=\"arm64\"" - ffmpeg_target_arch=arm64 - elif [[ $myarch = arm ]] ; then - myconf_gn+=" target_cpu=\"arm\"" - ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm) - else - 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" - - # Bug 491582. - export TMPDIR="${WORKDIR}/temp" - mkdir -p -m 755 "${TMPDIR}" || die - - # https://bugs.gentoo.org/654216 - addpredict /dev/dri/ #nowarn - - #if ! use system-ffmpeg; then - if false; then - local build_ffmpeg_args="" - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then - build_ffmpeg_args+=" --disable-asm" - fi - - # Re-configure bundled ffmpeg. See bug #491378 for example reasons. - einfo "Configuring bundled ffmpeg..." - pushd third_party/ffmpeg > /dev/null || die - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \ - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die - chromium/scripts/copy_config.sh || die - chromium/scripts/generate_gn.py || die - popd > /dev/null || die - fi - - einfo "Configuring Chromium..." - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release - echo "$@" - "$@" || die -} - -src_compile() { - # Final link uses lots of file descriptors. - ulimit -n 2048 - - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die - - # Build mksnapshot and pax-mark it. - local x - for x in mksnapshot v8_context_snapshot_generator; do - if tc-is-cross-compiler; then - eninja -C out/Release "host/${x}" - pax-mark m "out/Release/host/${x}" - else - eninja -C out/Release "${x}" - pax-mark m "out/Release/${x}" - fi - done - - # Even though ninja autodetects number of CPUs, we respect - # user's options, for debugging with -j 1 or any other reason. - eninja -C out/Release chrome chromedriver - use suid && eninja -C out/Release chrome_sandbox - - pax-mark m out/Release/chrome -} - -src_install() { - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" - exeinto "${CHROMIUM_HOME}" - doexe out/Release/chrome - - if use suid; then - newexe out/Release/chrome_sandbox chrome-sandbox - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" - fi - - doexe out/Release/chromedriver - - local sedargs=( -e "s:/usr/lib/:/usr/$(get_libdir)/:g" ) - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r3.sh" > chromium-launcher.sh || die - doexe chromium-launcher.sh - - # It is important that we name the target "chromium-browser", - # xdg-utils expect it; bug #355517. - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser - # keep the old symlink around for consistency - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium - - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver - - # Allow users to override command-line options, bug #357629. - insinto /etc/chromium - newins "${FILESDIR}/chromium.default" "default" - - pushd out/Release/locales > /dev/null || die - chromium_remove_language_paks - popd - - insinto "${CHROMIUM_HOME}" - doins out/Release/*.bin - doins out/Release/*.pak - doins out/Release/*.so - - if ! use system-icu; then - doins out/Release/icudtl.dat - fi - - doins -r out/Release/locales - doins -r out/Release/resources - - if [[ -d out/Release/swiftshader ]]; then - insinto "${CHROMIUM_HOME}/swiftshader" - doins out/Release/swiftshader/*.so - fi - - # Install icons and desktop entry. - local branding size - for size in 16 24 32 48 64 128 256 ; do - case ${size} in - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; - *) branding="chrome/app/theme/chromium" ;; - esac - newicon -s ${size} "${branding}/product_logo_${size}.png" \ - chromium-browser.png - done - - local mime_types="text/html;text/xml;application/xhtml+xml;" - mime_types+="x-scheme-handler/http;x-scheme-handler/https;" # bug #360797 - mime_types+="x-scheme-handler/ftp;" # bug #412185 - mime_types+="x-scheme-handler/mailto;x-scheme-handler/webcal;" # bug #416393 - make_desktop_entry \ - chromium-browser \ - "Chromium" \ - chromium-browser \ - "Network;WebBrowser" \ - "MimeType=${mime_types}\nStartupWMClass=chromium-browser" - sed -e "/^Exec/s/$/ %U/" -i "${ED}"/usr/share/applications/*.desktop || die - - # Install GNOME default application entry (bug #303100). - insinto /usr/share/gnome-control-center/default-apps - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml - - readme.gentoo_create_doc -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_desktop_database_update -} - -pkg_postinst() { - xdg_icon_cache_update - xdg_desktop_database_update - readme.gentoo_print_elog -} diff --git a/www-client/chromium/chromium-78.0.3902.4.ebuild b/www-client/chromium/chromium-78.0.3902.4.ebuild deleted file mode 100644 index d8233a1..0000000 --- a/www-client/chromium/chromium-78.0.3902.4.ebuild +++ /dev/null @@ -1,727 +0,0 @@ -# Copyright 2009-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python2_7 ) - -CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - 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 vi zh-CN zh-TW" - -inherit check-reqs chromium-2 desktop flag-o-matic multilib ninja-utils pax-utils portability python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="http://chromium.org/" -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" -IUSE="+closure-compile component-build cups cpu_flags_arm_neon gnome-keyring +hangouts jumbo-build kerberos pic +proprietary-codecs pulseaudio selinux +suid +system-ffmpeg +system-icu +system-libvpx +tcmalloc widevine vaapi" -RESTRICT="!system-ffmpeg? ( proprietary-codecs? ( bindist ) )" -REQUIRED_USE="component-build? ( !suid )" - -COMMON_DEPEND=" - >=app-accessibility/at-spi2-atk-2.26:2 - app-arch/bzip2:= - cups? ( >=net-print/cups-1.3.11:= ) - >=dev-libs/atk-2.26 - dev-libs/expat:= - dev-libs/glib:2 - system-icu? ( >=dev-libs/icu-64:= ) - >=dev-libs/libxml2-2.9.4-r3:=[icu] - dev-libs/libxslt:= - dev-libs/nspr:= - >=dev-libs/nss-3.26:= - >=dev-libs/re2-0.2016.11.01:= - gnome-keyring? ( >=gnome-base/libgnome-keyring-3.12:= ) - >=media-libs/alsa-lib-1.0.19:= - media-libs/fontconfig:= - media-libs/freetype:= - >=media-libs/harfbuzz-2.4.0:0=[icu(-)] - media-libs/libjpeg-turbo:= - media-libs/libpng:= - system-libvpx? ( media-libs/libvpx:=[postproc,svc] ) - >=media-libs/openh264-1.6.0:= - pulseaudio? ( media-sound/pulseaudio:= ) - system-ffmpeg? ( - >=media-video/ffmpeg-4:= - || ( - media-video/ffmpeg[-samba] - >=net-fs/samba-4.5.10-r1[-debug(-)] - ) - !=net-fs/samba-4.5.12-r0 - media-libs/opus:= - ) - sys-apps/dbus:= - sys-apps/pciutils:= - virtual/udev - x11-libs/cairo:= - x11-libs/gdk-pixbuf:2 - x11-libs/gtk+:3[X] - x11-libs/libX11:= - x11-libs/libXcomposite:= - x11-libs/libXcursor:= - x11-libs/libXdamage:= - x11-libs/libXext:= - x11-libs/libXfixes:= - >=x11-libs/libXi-1.6.0:= - x11-libs/libXrandr:= - x11-libs/libXrender:= - x11-libs/libXScrnSaver:= - x11-libs/libXtst:= - x11-libs/pango:= - app-arch/snappy:= - media-libs/flac:= - >=media-libs/libwebp-0.4.0:= - sys-libs/zlib:=[minizip] - kerberos? ( virtual/krb5 ) -" -# For nvidia-drivers blocker, see bug #413637 . -RDEPEND="${COMMON_DEPEND} - !<www-plugins/chrome-binary-plugins-57 - x11-misc/xdg-utils - virtual/opengl - virtual/ttf-fonts - selinux? ( sec-policy/selinux-chromium ) - tcmalloc? ( !<x11-drivers/nvidia-drivers-331.20 ) - widevine? ( www-plugins/chrome-binary-plugins[widevine(-)] ) -" -DEPEND="${COMMON_DEPEND} -" -# dev-vcs/git - https://bugs.gentoo.org/593476 -BDEPEND=" - ${PYTHON_DEPS} - >=app-arch/gzip-1.7 - !arm? ( - dev-lang/yasm - ) - dev-lang/perl - dev-util/gn - dev-vcs/git - >=dev-util/gperf-3.0.3 - >=dev-util/ninja-1.7.2 - >=net-libs/nodejs-7.6.0[inspector] - sys-apps/hwids[usb(+)] - >=sys-devel/bison-2.4.3 - sys-devel/flex - closure-compile? ( virtual/jre ) - virtual/pkgconfig -" - -: ${CHROMIUM_FORCE_CLANG=yes} - -if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then - BDEPEND+=" >=sys-devel/clang-7" -fi - -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then - EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; -fi - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -Some web pages may require additional fonts to display properly. -Try installing some of the following packages if some characters -are not displayed properly: -- media-fonts/arphicfonts -- media-fonts/droid -- media-fonts/ipamonafont -- media-fonts/noto -- media-fonts/ja-ipafonts -- media-fonts/takao-fonts -- media-fonts/wqy-microhei -- media-fonts/wqy-zenhei - -To fix broken icons on the Downloads page, you should install an icon -theme that covers the appropriate MIME types, and configure this as your -GTK+ icon theme. - -For native file dialogs in KDE, install kde-apps/kdialog. -" - -PATCHES=( - "${FILESDIR}/chromium-compiler-78.patch" - "${FILESDIR}/chromium-widevine-r4.patch" - "${FILESDIR}/chromium-fix-char_traits.patch" - "${FILESDIR}/chromium-zlib-78.patch" - "${FILESDIR}/chromium-77-system-icu.patch" - "${FILESDIR}/chromium-77-clang.patch" - "${FILESDIR}/chromium-vaapi-78-r1.patch" -) - -pre_build_checks() { - if [[ ${MERGE_TYPE} != binary ]]; then - local -x CPP="$(tc-getCXX) -E" - if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 8.0; then - die "At least gcc 8.0 is required" - fi - fi - - # Check build requirements, bug #541816 and bug #471810 . - CHECKREQS_MEMORY="3G" - CHECKREQS_DISK_BUILD="7G" - if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then - CHECKREQS_DISK_BUILD="25G" - if ! use component-build; then - CHECKREQS_MEMORY="16G" - fi - fi - check-reqs_pkg_setup -} - -pkg_pretend() { - pre_build_checks -} - -pkg_setup() { - pre_build_checks - - chromium_suid_sandbox_check_kernel_config -} - -src_prepare() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - default - - mkdir -p third_party/node/linux/node-linux-x64/bin || die - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die - - local 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 - 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/third_party/glslang - third_party/angle/third_party/spirv-headers - third_party/angle/third_party/spirv-tools - third_party/angle/third_party/vulkan-headers - third_party/angle/third_party/vulkan-loader - third_party/angle/third_party/vulkan-tools - third_party/angle/third_party/vulkan-validation-layers - third_party/apple_apsl - third_party/axe-core - third_party/blink - third_party/boringssl - third_party/boringssl/src/third_party/fiat - third_party/boringssl/src/third_party/sike - third_party/boringssl/linux-aarch64/crypto/third_party/sike - third_party/boringssl/linux-x86_64/crypto/third_party/sike - third_party/breakpad - third_party/breakpad/breakpad/src/third_party/curl - third_party/brotli - third_party/cacheinvalidation - 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/devscripts - third_party/depot_tools - third_party/dom_distiller_js - third_party/emoji-segmenter - third_party/flatbuffers - third_party/flot - third_party/freetype - third_party/glslang - 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/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/vector - third_party/libaom/source/libaom/third_party/x86inc - third_party/libjingle - third_party/libphonenumber - third_party/libsecret - third_party/libsrtp - third_party/libsync - third_party/libudev - third_party/libwebm - third_party/libxml/chromium - third_party/libyuv - third_party/llvm - third_party/lss - third_party/lzma_sdk - third_party/markupsafe - third_party/mesa - third_party/metrics_proto - third_party/modp_b64 - third_party/nasm - third_party/node - third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2 - third_party/one_euro_filter - third_party/openscreen - 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/pffft - third_party/ply - third_party/polymer - third_party/private-join-and-compute - third_party/protobuf - third_party/protobuf/third_party/six - third_party/pyjson5 - third_party/qcms - third_party/rnnoise - third_party/s2cellid - third_party/sfntly - 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/gif - third_party/skia/third_party/skcms - third_party/skia/third_party/vulkan - third_party/smhasher - third_party/spirv-headers - third_party/SPIRV-Tools - third_party/sqlite - third_party/swiftshader - third_party/swiftshader/third_party/llvm-7.0 - third_party/swiftshader/third_party/llvm-subzero - third_party/swiftshader/third_party/subzero - third_party/swiftshader/third_party/SPIRV-Headers/include/spirv/unified1 - third_party/unrar - third_party/usrsctp - third_party/vulkan - third_party/web-animations-js - third_party/webdriver - third_party/webrtc - third_party/webrtc/common_audio/third_party/fft4g - 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/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/adobe - third_party/speech-dispatcher - third_party/usb_ids - third_party/xdg-utils - third_party/yasm/run_yasm.py - ) - if ! use system-ffmpeg; then - keeplibs+=( third_party/ffmpeg third_party/opus ) - fi - if ! use system-icu; then - keeplibs+=( third_party/icu ) - fi - if ! use system-libvpx; then - keeplibs+=( third_party/libvpx ) - keeplibs+=( third_party/libvpx/source/libvpx/third_party/x86inc ) - fi - if use tcmalloc; then - keeplibs+=( third_party/tcmalloc ) - fi - - # Remove most bundled libraries. Some are still needed. - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die -} - -src_configure() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local myconf_gn="" - - # Make sure the build system will use the right tools, bug #340795. - tc-export AR CC CXX NM - - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] && ! tc-is-clang; then - # Force clang since gcc is pretty broken at the moment. - CC=${CHOST}-clang - CXX=${CHOST}-clang++ - strip-unsupported-flags - fi - - if tc-is-clang; then - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" - else - myconf_gn+=" is_clang=false" - fi - - # Define a custom toolchain for GN - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" - - if tc-is-cross-compiler; then - tc-export BUILD_{AR,CC,CXX,NM} - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" - else - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - fi - - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - myconf_gn+=" is_debug=false" - - # Component build isn't generally intended for use by end users. It's mostly useful - # for development and debugging. - myconf_gn+=" is_component_build=$(usex component-build true false)" - - # https://chromium.googlesource.com/chromium/src/+/lkcr/docs/jumbo.md - myconf_gn+=" use_jumbo_build=$(usex jumbo-build true false)" - - myconf_gn+=" use_allocator=$(usex tcmalloc \"tcmalloc\" \"none\")" - - # Disable nacl, we can't build without pnacl (http://crbug.com/269560). - myconf_gn+=" enable_nacl=false" - - # Use system-provided libraries. - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_libsrtp (bug #459932). - # TODO: use_system_protobuf (bug #525560). - # TODO: use_system_ssl (http://crbug.com/58087). - # TODO: use_system_sqlite (http://crbug.com/22208). - - # libevent: https://bugs.gentoo.org/593458 - local gn_system_libraries=( - flac - fontconfig - freetype - # Need harfbuzz_from_pkgconfig target - #harfbuzz-ng - libdrm - libjpeg - libpng - libwebp - libxml - libxslt - openh264 - re2 - snappy - yasm - zlib - ) - if use system-ffmpeg; then - gn_system_libraries+=( ffmpeg opus ) - fi - if use system-icu; then - gn_system_libraries+=( icu ) - fi - if use system-libvpx; then - gn_system_libraries+=( libvpx ) - fi - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die - - # See dependency logic in third_party/BUILD.gn - myconf_gn+=" use_system_harfbuzz=true" - - # Optional dependencies. - myconf_gn+=" closure_compile=$(usex closure-compile true false)" - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" - myconf_gn+=" enable_widevine=$(usex widevine true false)" - myconf_gn+=" use_cups=$(usex cups true false)" - myconf_gn+=" use_gnome_keyring=$(usex gnome-keyring true false)" - myconf_gn+=" use_kerberos=$(usex kerberos true false)" - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" - myconf_gn+=" use_vaapi=$(usex vaapi true false)" - - # TODO: link_pulseaudio=true for GN. - - myconf_gn+=" fieldtrial_testing_like_official_build=true" - - # Never use bundled gold binary. Disable gold linker flags for now. - # Do not use bundled clang. - # Trying to use gold results in linker crash. - myconf_gn+=" use_gold=false use_sysroot=false linux_use_bundled_binutils=false use_custom_libcxx=false" - - # Disable forced lld, bug 641556 - myconf_gn+=" use_lld=false" - - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" - - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . - # Note: these are for Gentoo use ONLY. For your own distribution, - # please get your own set of keys. Feel free to contact chromium@gentoo.org - # for more info. - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" - local google_default_client_id="329227923882.apps.googleusercontent.com" - local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu" - myconf_gn+=" google_api_key=\"${google_api_key}\"" - myconf_gn+=" google_default_client_id=\"${google_default_client_id}\"" - myconf_gn+=" google_default_client_secret=\"${google_default_client_secret}\"" - - local myarch="$(tc-arch)" - - # Avoid CFLAGS problems, bug #352457, bug #390147. - if ! use custom-cflags; then - replace-flags "-Os" "-O2" - strip-flags - - # Prevent linker from running out of address space, bug #471810 . - if use x86; then - filter-flags "-g*" - fi - - # Prevent libvpx build failures. Bug 530248, 544702, 546984. - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 - fi - fi - - if [[ $myarch = amd64 ]] ; then - myconf_gn+=" target_cpu=\"x64\"" - ffmpeg_target_arch=x64 - elif [[ $myarch = x86 ]] ; then - myconf_gn+=" target_cpu=\"x86\"" - ffmpeg_target_arch=ia32 - - # This is normally defined by compiler_cpu_abi in - # build/config/compiler/BUILD.gn, but we patch that part out. - append-flags -msse2 -mfpmath=sse -mmmx - elif [[ $myarch = arm64 ]] ; then - myconf_gn+=" target_cpu=\"arm64\"" - ffmpeg_target_arch=arm64 - elif [[ $myarch = arm ]] ; then - myconf_gn+=" target_cpu=\"arm\"" - ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm) - else - 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" - - # Bug 491582. - export TMPDIR="${WORKDIR}/temp" - mkdir -p -m 755 "${TMPDIR}" || die - - # https://bugs.gentoo.org/654216 - addpredict /dev/dri/ #nowarn - - #if ! use system-ffmpeg; then - if false; then - local build_ffmpeg_args="" - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then - build_ffmpeg_args+=" --disable-asm" - fi - - # Re-configure bundled ffmpeg. See bug #491378 for example reasons. - einfo "Configuring bundled ffmpeg..." - pushd third_party/ffmpeg > /dev/null || die - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \ - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die - chromium/scripts/copy_config.sh || die - chromium/scripts/generate_gn.py || die - popd > /dev/null || die - fi - - einfo "Configuring Chromium..." - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release - echo "$@" - "$@" || die -} - -src_compile() { - # Final link uses lots of file descriptors. - ulimit -n 2048 - - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die - - # Build mksnapshot and pax-mark it. - local x - for x in mksnapshot v8_context_snapshot_generator; do - if tc-is-cross-compiler; then - eninja -C out/Release "host/${x}" - pax-mark m "out/Release/host/${x}" - else - eninja -C out/Release "${x}" - pax-mark m "out/Release/${x}" - fi - done - - # Even though ninja autodetects number of CPUs, we respect - # user's options, for debugging with -j 1 or any other reason. - eninja -C out/Release chrome chromedriver - use suid && eninja -C out/Release chrome_sandbox - - pax-mark m out/Release/chrome - - # Build manpage; bug #684550 - sed -e 's|@@PACKAGE@@|chromium-browser|g; - s|@@MENUNAME@@|Chromium|g;' \ - chrome/app/resources/manpage.1.in > \ - out/Release/chromium-browser.1 || die -} - -src_install() { - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" - exeinto "${CHROMIUM_HOME}" - doexe out/Release/chrome - - if use suid; then - newexe out/Release/chrome_sandbox chrome-sandbox - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" - fi - - doexe out/Release/chromedriver - - local sedargs=( -e "s:/usr/lib/:/usr/$(get_libdir)/:g" ) - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r3.sh" > chromium-launcher.sh || die - doexe chromium-launcher.sh - - # It is important that we name the target "chromium-browser", - # xdg-utils expect it; bug #355517. - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser - # keep the old symlink around for consistency - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium - - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver - - # Allow users to override command-line options, bug #357629. - insinto /etc/chromium - newins "${FILESDIR}/chromium.default" "default" - - pushd out/Release/locales > /dev/null || die - chromium_remove_language_paks - popd - - insinto "${CHROMIUM_HOME}" - doins out/Release/*.bin - doins out/Release/*.pak - doins out/Release/*.so - - if ! use system-icu; then - doins out/Release/icudtl.dat - fi - - doins -r out/Release/locales - doins -r out/Release/resources - - if [[ -d out/Release/swiftshader ]]; then - insinto "${CHROMIUM_HOME}/swiftshader" - doins out/Release/swiftshader/*.so - fi - - # Install icons and desktop entry. - local branding size - for size in 16 24 32 48 64 128 256 ; do - case ${size} in - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; - *) branding="chrome/app/theme/chromium" ;; - esac - newicon -s ${size} "${branding}/product_logo_${size}.png" \ - chromium-browser.png - done - - local mime_types="text/html;text/xml;application/xhtml+xml;" - mime_types+="x-scheme-handler/http;x-scheme-handler/https;" # bug #360797 - mime_types+="x-scheme-handler/ftp;" # bug #412185 - mime_types+="x-scheme-handler/mailto;x-scheme-handler/webcal;" # bug #416393 - make_desktop_entry \ - chromium-browser \ - "Chromium" \ - chromium-browser \ - "Network;WebBrowser" \ - "MimeType=${mime_types}\nStartupWMClass=chromium-browser" - sed -e "/^Exec/s/$/ %U/" -i "${ED}"/usr/share/applications/*.desktop || die - - # Install GNOME default application entry (bug #303100). - insinto /usr/share/gnome-control-center/default-apps - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml - - # Install manpage; bug #684550 - doman out/Release/chromium-browser.1 - dosym chromium-browser.1 /usr/share/man/man1/chromium.1 - - readme.gentoo_create_doc -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_desktop_database_update -} - -pkg_postinst() { - xdg_icon_cache_update - xdg_desktop_database_update - readme.gentoo_print_elog -} diff --git a/www-client/chromium/chromium-79.0.3921.0.ebuild b/www-client/chromium/chromium-79.0.3921.0.ebuild deleted file mode 100644 index f835db2..0000000 --- a/www-client/chromium/chromium-79.0.3921.0.ebuild +++ /dev/null @@ -1,731 +0,0 @@ -# Copyright 2009-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python2_7 ) - -CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - 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 vi zh-CN zh-TW" - -inherit check-reqs chromium-2 desktop flag-o-matic multilib ninja-utils pax-utils portability python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="http://chromium.org/" -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" -IUSE="+closure-compile component-build cups cpu_flags_arm_neon gnome-keyring +hangouts jumbo-build kerberos pic +proprietary-codecs pulseaudio selinux +suid +system-ffmpeg +system-icu +system-libvpx +tcmalloc widevine vaapi" -RESTRICT="!system-ffmpeg? ( proprietary-codecs? ( bindist ) )" -REQUIRED_USE="component-build? ( !suid )" - -COMMON_DEPEND=" - >=app-accessibility/at-spi2-atk-2.26:2 - app-arch/bzip2:= - cups? ( >=net-print/cups-1.3.11:= ) - >=dev-libs/atk-2.26 - dev-libs/expat:= - dev-libs/glib:2 - system-icu? ( >=dev-libs/icu-64:= ) - >=dev-libs/libxml2-2.9.4-r3:=[icu] - dev-libs/libxslt:= - dev-libs/nspr:= - >=dev-libs/nss-3.26:= - >=dev-libs/re2-0.2016.11.01:= - gnome-keyring? ( >=gnome-base/libgnome-keyring-3.12:= ) - >=media-libs/alsa-lib-1.0.19:= - media-libs/fontconfig:= - media-libs/freetype:= - >=media-libs/harfbuzz-2.4.0:0=[icu(-)] - media-libs/libjpeg-turbo:= - media-libs/libpng:= - system-libvpx? ( media-libs/libvpx:=[postproc,svc] ) - >=media-libs/openh264-1.6.0:= - pulseaudio? ( media-sound/pulseaudio:= ) - system-ffmpeg? ( - >=media-video/ffmpeg-4:= - || ( - media-video/ffmpeg[-samba] - >=net-fs/samba-4.5.10-r1[-debug(-)] - ) - !=net-fs/samba-4.5.12-r0 - media-libs/opus:= - ) - sys-apps/dbus:= - sys-apps/pciutils:= - virtual/udev - x11-libs/cairo:= - x11-libs/gdk-pixbuf:2 - x11-libs/gtk+:3[X] - x11-libs/libX11:= - x11-libs/libXcomposite:= - x11-libs/libXcursor:= - x11-libs/libXdamage:= - x11-libs/libXext:= - x11-libs/libXfixes:= - >=x11-libs/libXi-1.6.0:= - x11-libs/libXrandr:= - x11-libs/libXrender:= - x11-libs/libXScrnSaver:= - x11-libs/libXtst:= - x11-libs/pango:= - app-arch/snappy:= - media-libs/flac:= - >=media-libs/libwebp-0.4.0:= - sys-libs/zlib:=[minizip] - kerberos? ( virtual/krb5 ) -" -# For nvidia-drivers blocker, see bug #413637 . -RDEPEND="${COMMON_DEPEND} - !<www-plugins/chrome-binary-plugins-57 - x11-misc/xdg-utils - virtual/opengl - virtual/ttf-fonts - selinux? ( sec-policy/selinux-chromium ) - tcmalloc? ( !<x11-drivers/nvidia-drivers-331.20 ) - widevine? ( www-plugins/chrome-binary-plugins[widevine(-)] ) -" -DEPEND="${COMMON_DEPEND} -" -# dev-vcs/git - https://bugs.gentoo.org/593476 -BDEPEND=" - ${PYTHON_DEPS} - >=app-arch/gzip-1.7 - !arm? ( - dev-lang/yasm - ) - dev-lang/perl - dev-util/gn - dev-vcs/git - >=dev-util/gperf-3.0.3 - >=dev-util/ninja-1.7.2 - >=net-libs/nodejs-7.6.0[inspector] - sys-apps/hwids[usb(+)] - >=sys-devel/bison-2.4.3 - sys-devel/flex - closure-compile? ( virtual/jre ) - virtual/pkgconfig -" - -: ${CHROMIUM_FORCE_CLANG=yes} - -if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then - BDEPEND+=" >=sys-devel/clang-7" -fi - -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then - EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; -fi - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -Some web pages may require additional fonts to display properly. -Try installing some of the following packages if some characters -are not displayed properly: -- media-fonts/arphicfonts -- media-fonts/droid -- media-fonts/ipamonafont -- media-fonts/noto -- media-fonts/ja-ipafonts -- media-fonts/takao-fonts -- media-fonts/wqy-microhei -- media-fonts/wqy-zenhei - -To fix broken icons on the Downloads page, you should install an icon -theme that covers the appropriate MIME types, and configure this as your -GTK+ icon theme. - -For native file dialogs in KDE, install kde-apps/kdialog. -" - -PATCHES=( - "${FILESDIR}/chromium-compiler-78.patch" - "${FILESDIR}/chromium-widevine-r4.patch" - "${FILESDIR}/chromium-fix-char_traits.patch" - "${FILESDIR}/chromium-zlib-78.patch" - "${FILESDIR}/chromium-77-system-icu.patch" - "${FILESDIR}/chromium-77-clang.patch" - "${FILESDIR}/chromium-vaapi-79.patch" - "${FILESDIR}/chromium-pa13.patch" - "${FILESDIR}/chromium-layer_tree_impl-stlcompat.patch" - "${FILESDIR}/chromium-string_view-79.patch" -) - -pre_build_checks() { - if [[ ${MERGE_TYPE} != binary ]]; then - local -x CPP="$(tc-getCXX) -E" - if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 8.0; then - die "At least gcc 8.0 is required" - fi - fi - - # Check build requirements, bug #541816 and bug #471810 . - CHECKREQS_MEMORY="3G" - CHECKREQS_DISK_BUILD="7G" - if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then - CHECKREQS_DISK_BUILD="25G" - if ! use component-build; then - CHECKREQS_MEMORY="16G" - fi - fi - check-reqs_pkg_setup -} - -pkg_pretend() { - pre_build_checks -} - -pkg_setup() { - pre_build_checks - - chromium_suid_sandbox_check_kernel_config -} - -src_prepare() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - default - - mkdir -p third_party/node/linux/node-linux-x64/bin || die - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die - - local 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 - 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/third_party/glslang - third_party/angle/third_party/spirv-headers - third_party/angle/third_party/spirv-tools - third_party/angle/third_party/vulkan-headers - third_party/angle/third_party/vulkan-loader - third_party/angle/third_party/vulkan-tools - third_party/angle/third_party/vulkan-validation-layers - third_party/apple_apsl - third_party/axe-core - third_party/blink - third_party/boringssl - third_party/boringssl/src/third_party/fiat - third_party/boringssl/src/third_party/sike - third_party/boringssl/linux-aarch64/crypto/third_party/sike - third_party/boringssl/linux-x86_64/crypto/third_party/sike - third_party/breakpad - third_party/breakpad/breakpad/src/third_party/curl - third_party/brotli - third_party/cacheinvalidation - 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/devscripts - third_party/depot_tools - third_party/dom_distiller_js - third_party/emoji-segmenter - third_party/flatbuffers - third_party/flot - third_party/freetype - third_party/glslang - 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/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/vector - third_party/libaom/source/libaom/third_party/x86inc - third_party/libjingle - third_party/libphonenumber - third_party/libsecret - third_party/libsrtp - third_party/libsync - third_party/libudev - third_party/libwebm - third_party/libxml/chromium - third_party/libyuv - third_party/llvm - third_party/lss - third_party/lzma_sdk - third_party/markupsafe - third_party/mesa - third_party/metrics_proto - third_party/modp_b64 - third_party/nasm - third_party/node - third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2 - third_party/one_euro_filter - third_party/openscreen - 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/pffft - third_party/ply - third_party/polymer - third_party/private-join-and-compute - third_party/protobuf - third_party/protobuf/third_party/six - third_party/pyjson5 - third_party/qcms - third_party/rnnoise - third_party/s2cellid - third_party/sfntly - 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/gif - third_party/skia/third_party/skcms - third_party/skia/third_party/vulkan - third_party/smhasher - third_party/spirv-headers - third_party/SPIRV-Tools - third_party/sqlite - third_party/swiftshader - third_party/swiftshader/third_party/llvm-7.0 - 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/unrar - third_party/usrsctp - third_party/vulkan - third_party/web-animations-js - third_party/webdriver - third_party/webrtc - third_party/webrtc/common_audio/third_party/fft4g - 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/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/adobe - third_party/speech-dispatcher - third_party/usb_ids - third_party/xdg-utils - third_party/yasm/run_yasm.py - ) - if ! use system-ffmpeg; then - keeplibs+=( third_party/ffmpeg third_party/opus ) - fi - if ! use system-icu; then - keeplibs+=( third_party/icu ) - fi - if ! use system-libvpx; then - keeplibs+=( third_party/libvpx ) - keeplibs+=( third_party/libvpx/source/libvpx/third_party/x86inc ) - fi - if use tcmalloc; then - keeplibs+=( third_party/tcmalloc ) - fi - - # Remove most bundled libraries. Some are still needed. - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die -} - -src_configure() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local myconf_gn="" - - # Make sure the build system will use the right tools, bug #340795. - tc-export AR CC CXX NM - - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] && ! tc-is-clang; then - # Force clang since gcc is pretty broken at the moment. - CC=${CHOST}-clang - CXX=${CHOST}-clang++ - strip-unsupported-flags - fi - - if tc-is-clang; then - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" - else - myconf_gn+=" is_clang=false" - fi - - # Define a custom toolchain for GN - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" - - if tc-is-cross-compiler; then - tc-export BUILD_{AR,CC,CXX,NM} - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" - else - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - fi - - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - myconf_gn+=" is_debug=false" - - # Component build isn't generally intended for use by end users. It's mostly useful - # for development and debugging. - myconf_gn+=" is_component_build=$(usex component-build true false)" - - # https://chromium.googlesource.com/chromium/src/+/lkcr/docs/jumbo.md - myconf_gn+=" use_jumbo_build=$(usex jumbo-build true false)" - - myconf_gn+=" use_allocator=$(usex tcmalloc \"tcmalloc\" \"none\")" - - # Disable nacl, we can't build without pnacl (http://crbug.com/269560). - myconf_gn+=" enable_nacl=false" - - # Use system-provided libraries. - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_libsrtp (bug #459932). - # TODO: use_system_protobuf (bug #525560). - # TODO: use_system_ssl (http://crbug.com/58087). - # TODO: use_system_sqlite (http://crbug.com/22208). - - # libevent: https://bugs.gentoo.org/593458 - local gn_system_libraries=( - flac - fontconfig - freetype - # Need harfbuzz_from_pkgconfig target - #harfbuzz-ng - libdrm - libjpeg - libpng - libwebp - libxml - libxslt - openh264 - re2 - snappy - yasm - zlib - ) - if use system-ffmpeg; then - gn_system_libraries+=( ffmpeg opus ) - fi - if use system-icu; then - gn_system_libraries+=( icu ) - fi - if use system-libvpx; then - gn_system_libraries+=( libvpx ) - fi - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die - - # See dependency logic in third_party/BUILD.gn - myconf_gn+=" use_system_harfbuzz=true" - - # Optional dependencies. - myconf_gn+=" closure_compile=$(usex closure-compile true false)" - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" - myconf_gn+=" enable_widevine=$(usex widevine true false)" - myconf_gn+=" use_cups=$(usex cups true false)" - myconf_gn+=" use_gnome_keyring=$(usex gnome-keyring true false)" - myconf_gn+=" use_kerberos=$(usex kerberos true false)" - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" - myconf_gn+=" use_vaapi=$(usex vaapi true false)" - - # TODO: link_pulseaudio=true for GN. - - myconf_gn+=" fieldtrial_testing_like_official_build=true" - - # Never use bundled gold binary. Disable gold linker flags for now. - # Do not use bundled clang. - # Trying to use gold results in linker crash. - myconf_gn+=" use_gold=false use_sysroot=false linux_use_bundled_binutils=false use_custom_libcxx=false" - - # Disable forced lld, bug 641556 - myconf_gn+=" use_lld=false" - - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" - - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . - # Note: these are for Gentoo use ONLY. For your own distribution, - # please get your own set of keys. Feel free to contact chromium@gentoo.org - # for more info. - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" - local google_default_client_id="329227923882.apps.googleusercontent.com" - local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu" - myconf_gn+=" google_api_key=\"${google_api_key}\"" - myconf_gn+=" google_default_client_id=\"${google_default_client_id}\"" - myconf_gn+=" google_default_client_secret=\"${google_default_client_secret}\"" - - local myarch="$(tc-arch)" - - # Avoid CFLAGS problems, bug #352457, bug #390147. - if ! use custom-cflags; then - replace-flags "-Os" "-O2" - strip-flags - - # Prevent linker from running out of address space, bug #471810 . - if use x86; then - filter-flags "-g*" - fi - - # Prevent libvpx build failures. Bug 530248, 544702, 546984. - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 - fi - fi - - if [[ $myarch = amd64 ]] ; then - myconf_gn+=" target_cpu=\"x64\"" - ffmpeg_target_arch=x64 - elif [[ $myarch = x86 ]] ; then - myconf_gn+=" target_cpu=\"x86\"" - ffmpeg_target_arch=ia32 - - # This is normally defined by compiler_cpu_abi in - # build/config/compiler/BUILD.gn, but we patch that part out. - append-flags -msse2 -mfpmath=sse -mmmx - elif [[ $myarch = arm64 ]] ; then - myconf_gn+=" target_cpu=\"arm64\"" - ffmpeg_target_arch=arm64 - elif [[ $myarch = arm ]] ; then - myconf_gn+=" target_cpu=\"arm\"" - ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm) - else - 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" - - # Bug 491582. - export TMPDIR="${WORKDIR}/temp" - mkdir -p -m 755 "${TMPDIR}" || die - - # https://bugs.gentoo.org/654216 - addpredict /dev/dri/ #nowarn - - #if ! use system-ffmpeg; then - if false; then - local build_ffmpeg_args="" - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then - build_ffmpeg_args+=" --disable-asm" - fi - - # Re-configure bundled ffmpeg. See bug #491378 for example reasons. - einfo "Configuring bundled ffmpeg..." - pushd third_party/ffmpeg > /dev/null || die - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \ - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die - chromium/scripts/copy_config.sh || die - chromium/scripts/generate_gn.py || die - popd > /dev/null || die - fi - - einfo "Configuring Chromium..." - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release - echo "$@" - "$@" || die -} - -src_compile() { - # Final link uses lots of file descriptors. - ulimit -n 2048 - - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die - - # Build mksnapshot and pax-mark it. - local x - for x in mksnapshot v8_context_snapshot_generator; do - if tc-is-cross-compiler; then - eninja -C out/Release "host/${x}" - pax-mark m "out/Release/host/${x}" - else - eninja -C out/Release "${x}" - pax-mark m "out/Release/${x}" - fi - done - - # Even though ninja autodetects number of CPUs, we respect - # user's options, for debugging with -j 1 or any other reason. - eninja -C out/Release chrome chromedriver - use suid && eninja -C out/Release chrome_sandbox - - pax-mark m out/Release/chrome - - # Build manpage; bug #684550 - sed -e 's|@@PACKAGE@@|chromium-browser|g; - s|@@MENUNAME@@|Chromium|g;' \ - chrome/app/resources/manpage.1.in > \ - out/Release/chromium-browser.1 || die -} - -src_install() { - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" - exeinto "${CHROMIUM_HOME}" - doexe out/Release/chrome - - if use suid; then - newexe out/Release/chrome_sandbox chrome-sandbox - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" - fi - - doexe out/Release/chromedriver - - local sedargs=( -e "s:/usr/lib/:/usr/$(get_libdir)/:g" ) - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r3.sh" > chromium-launcher.sh || die - doexe chromium-launcher.sh - - # It is important that we name the target "chromium-browser", - # xdg-utils expect it; bug #355517. - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser - # keep the old symlink around for consistency - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium - - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver - - # Allow users to override command-line options, bug #357629. - insinto /etc/chromium - newins "${FILESDIR}/chromium.default" "default" - - pushd out/Release/locales > /dev/null || die - chromium_remove_language_paks - popd - - insinto "${CHROMIUM_HOME}" - doins out/Release/*.bin - doins out/Release/*.pak - doins out/Release/*.so - - if ! use system-icu; then - doins out/Release/icudtl.dat - fi - - doins -r out/Release/locales - doins -r out/Release/resources - - if [[ -d out/Release/swiftshader ]]; then - insinto "${CHROMIUM_HOME}/swiftshader" - doins out/Release/swiftshader/*.so - fi - - # Install icons and desktop entry. - local branding size - for size in 16 24 32 48 64 128 256 ; do - case ${size} in - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; - *) branding="chrome/app/theme/chromium" ;; - esac - newicon -s ${size} "${branding}/product_logo_${size}.png" \ - chromium-browser.png - done - - local mime_types="text/html;text/xml;application/xhtml+xml;" - mime_types+="x-scheme-handler/http;x-scheme-handler/https;" # bug #360797 - mime_types+="x-scheme-handler/ftp;" # bug #412185 - mime_types+="x-scheme-handler/mailto;x-scheme-handler/webcal;" # bug #416393 - make_desktop_entry \ - chromium-browser \ - "Chromium" \ - chromium-browser \ - "Network;WebBrowser" \ - "MimeType=${mime_types}\nStartupWMClass=chromium-browser" - sed -e "/^Exec/s/$/ %U/" -i "${ED}"/usr/share/applications/*.desktop || die - - # Install GNOME default application entry (bug #303100). - insinto /usr/share/gnome-control-center/default-apps - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml - - # Install manpage; bug #684550 - doman out/Release/chromium-browser.1 - dosym chromium-browser.1 /usr/share/man/man1/chromium.1 - - readme.gentoo_create_doc -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_desktop_database_update -} - -pkg_postinst() { - xdg_icon_cache_update - xdg_desktop_database_update - readme.gentoo_print_elog -} diff --git a/www-client/chromium/chromium-80.0.3955.4.ebuild b/www-client/chromium/chromium-80.0.3955.4.ebuild deleted file mode 100644 index 01938b3..0000000 --- a/www-client/chromium/chromium-80.0.3955.4.ebuild +++ /dev/null @@ -1,726 +0,0 @@ -# Copyright 2009-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python2_7 ) - -CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - 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 vi zh-CN zh-TW" - -inherit check-reqs chromium-2 desktop flag-o-matic multilib ninja-utils pax-utils portability python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="http://chromium.org/" -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" -IUSE="+closure-compile component-build cups cpu_flags_arm_neon gnome-keyring +hangouts kerberos pic +proprietary-codecs pulseaudio selinux +suid +system-ffmpeg +system-icu +system-libvpx +tcmalloc widevine vaapi" -RESTRICT="!system-ffmpeg? ( proprietary-codecs? ( bindist ) )" -REQUIRED_USE="component-build? ( !suid )" - -COMMON_DEPEND=" - >=app-accessibility/at-spi2-atk-2.26:2 - app-arch/bzip2:= - cups? ( >=net-print/cups-1.3.11:= ) - >=dev-libs/atk-2.26 - dev-libs/expat:= - dev-libs/glib:2 - system-icu? ( >=dev-libs/icu-64:= ) - >=dev-libs/libxml2-2.9.4-r3:=[icu] - dev-libs/libxslt:= - dev-libs/nspr:= - >=dev-libs/nss-3.26:= - >=dev-libs/re2-0.2016.11.01:= - gnome-keyring? ( >=gnome-base/libgnome-keyring-3.12:= ) - >=media-libs/alsa-lib-1.0.19:= - media-libs/fontconfig:= - media-libs/freetype:= - >=media-libs/harfbuzz-2.4.0:0=[icu(-)] - media-libs/libjpeg-turbo:= - media-libs/libpng:= - system-libvpx? ( media-libs/libvpx:=[postproc,svc] ) - >=media-libs/openh264-1.6.0:= - pulseaudio? ( media-sound/pulseaudio:= ) - system-ffmpeg? ( - >=media-video/ffmpeg-4:= - || ( - media-video/ffmpeg[-samba] - >=net-fs/samba-4.5.10-r1[-debug(-)] - ) - !=net-fs/samba-4.5.12-r0 - media-libs/opus:= - ) - sys-apps/dbus:= - sys-apps/pciutils:= - virtual/udev - x11-libs/cairo:= - x11-libs/gdk-pixbuf:2 - x11-libs/gtk+:3[X] - x11-libs/libX11:= - x11-libs/libXcomposite:= - x11-libs/libXcursor:= - x11-libs/libXdamage:= - x11-libs/libXext:= - x11-libs/libXfixes:= - >=x11-libs/libXi-1.6.0:= - x11-libs/libXrandr:= - x11-libs/libXrender:= - x11-libs/libXScrnSaver:= - x11-libs/libXtst:= - x11-libs/pango:= - app-arch/snappy:= - media-libs/flac:= - >=media-libs/libwebp-0.4.0:= - sys-libs/zlib:=[minizip] - kerberos? ( virtual/krb5 ) -" -# For nvidia-drivers blocker, see bug #413637 . -RDEPEND="${COMMON_DEPEND} - !<www-plugins/chrome-binary-plugins-57 - x11-misc/xdg-utils - virtual/opengl - virtual/ttf-fonts - selinux? ( sec-policy/selinux-chromium ) - tcmalloc? ( !<x11-drivers/nvidia-drivers-331.20 ) - widevine? ( www-plugins/chrome-binary-plugins[widevine(-)] ) -" -DEPEND="${COMMON_DEPEND} -" -# dev-vcs/git - https://bugs.gentoo.org/593476 -BDEPEND=" - ${PYTHON_DEPS} - >=app-arch/gzip-1.7 - !arm? ( - dev-lang/yasm - ) - dev-lang/perl - dev-util/gn - dev-vcs/git - >=dev-util/gperf-3.0.3 - >=dev-util/ninja-1.7.2 - >=net-libs/nodejs-7.6.0[inspector] - sys-apps/hwids[usb(+)] - >=sys-devel/bison-2.4.3 - sys-devel/flex - closure-compile? ( virtual/jre ) - virtual/pkgconfig -" - -: ${CHROMIUM_FORCE_CLANG=yes} - -if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then - BDEPEND+=" >=sys-devel/clang-7" -fi - -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then - EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; -fi - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -Some web pages may require additional fonts to display properly. -Try installing some of the following packages if some characters -are not displayed properly: -- media-fonts/arphicfonts -- media-fonts/droid -- media-fonts/ipamonafont -- media-fonts/noto -- media-fonts/ja-ipafonts -- media-fonts/takao-fonts -- media-fonts/wqy-microhei -- media-fonts/wqy-zenhei - -To fix broken icons on the Downloads page, you should install an icon -theme that covers the appropriate MIME types, and configure this as your -GTK+ icon theme. - -For native file dialogs in KDE, install kde-apps/kdialog. -" - -PATCHES=( - "${FILESDIR}/chromium-compiler-78.patch" - "${FILESDIR}/chromium-widevine-80.patch" - "${FILESDIR}/chromium-fix-char_traits.patch" - "${FILESDIR}/chromium-zlib-78.patch" - "${FILESDIR}/chromium-77-system-icu.patch" - "${FILESDIR}/chromium-77-clang.patch" - "${FILESDIR}/chromium-vaapi-80.patch" - "${FILESDIR}/chromium-unique_ptr-80.patch" -) - -pre_build_checks() { - if [[ ${MERGE_TYPE} != binary ]]; then - local -x CPP="$(tc-getCXX) -E" - if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 8.0; then - die "At least gcc 8.0 is required" - fi - fi - - # Check build requirements, bug #541816 and bug #471810 . - CHECKREQS_MEMORY="3G" - CHECKREQS_DISK_BUILD="7G" - if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then - CHECKREQS_DISK_BUILD="25G" - if ! use component-build; then - CHECKREQS_MEMORY="16G" - fi - fi - check-reqs_pkg_setup -} - -pkg_pretend() { - pre_build_checks -} - -pkg_setup() { - pre_build_checks - - chromium_suid_sandbox_check_kernel_config -} - -src_prepare() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - default - - mkdir -p third_party/node/linux/node-linux-x64/bin || die - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die - - local 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 - 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/third_party/glslang - third_party/angle/third_party/spirv-headers - third_party/angle/third_party/spirv-tools - third_party/angle/third_party/vulkan-headers - third_party/angle/third_party/vulkan-loader - third_party/angle/third_party/vulkan-tools - third_party/angle/third_party/vulkan-validation-layers - 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/cacheinvalidation - 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/devscripts - third_party/devtools-frontend - third_party/devtools-frontend/src/third_party/axe-core - third_party/devtools-frontend/src/third_party/pyjson5 - third_party/depot_tools - third_party/dom_distiller_js - third_party/emoji-segmenter - third_party/flatbuffers - third_party/flot - third_party/freetype - third_party/glslang - 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/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/vector - third_party/libaom/source/libaom/third_party/x86inc - third_party/libjingle - third_party/libphonenumber - third_party/libsecret - third_party/libsrtp - third_party/libsync - third_party/libudev - third_party/libwebm - third_party/libxml/chromium - third_party/libyuv - third_party/llvm - third_party/lss - third_party/lzma_sdk - third_party/markupsafe - third_party/mesa - third_party/metrics_proto - third_party/modp_b64 - third_party/nasm - third_party/node - third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2 - third_party/one_euro_filter - third_party/openscreen - 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/pffft - third_party/ply - third_party/polymer - third_party/private-join-and-compute - third_party/protobuf - third_party/protobuf/third_party/six - third_party/pyjson5 - third_party/qcms - third_party/rnnoise - third_party/s2cellid - third_party/sfntly - 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/gif - third_party/skia/third_party/skcms - third_party/skia/third_party/vulkan - third_party/smhasher - third_party/spirv-headers - third_party/SPIRV-Tools - third_party/sqlite - third_party/swiftshader - third_party/swiftshader/third_party/llvm-7.0 - 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/unrar - third_party/usrsctp - third_party/vulkan - third_party/web-animations-js - third_party/webdriver - third_party/webrtc - third_party/webrtc/common_audio/third_party/fft4g - 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/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/adobe - third_party/speech-dispatcher - third_party/usb_ids - third_party/xdg-utils - third_party/yasm/run_yasm.py - ) - if ! use system-ffmpeg; then - keeplibs+=( third_party/ffmpeg third_party/opus ) - fi - if ! use system-icu; then - keeplibs+=( third_party/icu ) - fi - if ! use system-libvpx; then - keeplibs+=( third_party/libvpx ) - keeplibs+=( third_party/libvpx/source/libvpx/third_party/x86inc ) - fi - if use tcmalloc; then - keeplibs+=( third_party/tcmalloc ) - fi - - # Remove most bundled libraries. Some are still needed. - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die -} - -src_configure() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local myconf_gn="" - - # Make sure the build system will use the right tools, bug #340795. - tc-export AR CC CXX NM - - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] && ! tc-is-clang; then - # Force clang since gcc is pretty broken at the moment. - CC=${CHOST}-clang - CXX=${CHOST}-clang++ - strip-unsupported-flags - fi - - if tc-is-clang; then - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" - else - myconf_gn+=" is_clang=false" - fi - - # Define a custom toolchain for GN - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" - - if tc-is-cross-compiler; then - tc-export BUILD_{AR,CC,CXX,NM} - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" - else - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - fi - - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - myconf_gn+=" is_debug=false" - - # Component build isn't generally intended for use by end users. It's mostly useful - # for development and debugging. - myconf_gn+=" is_component_build=$(usex component-build true false)" - - myconf_gn+=" use_allocator=$(usex tcmalloc \"tcmalloc\" \"none\")" - - # Disable nacl, we can't build without pnacl (http://crbug.com/269560). - myconf_gn+=" enable_nacl=false" - - # Use system-provided libraries. - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_libsrtp (bug #459932). - # TODO: use_system_protobuf (bug #525560). - # TODO: use_system_ssl (http://crbug.com/58087). - # TODO: use_system_sqlite (http://crbug.com/22208). - - # libevent: https://bugs.gentoo.org/593458 - local gn_system_libraries=( - flac - fontconfig - freetype - # Need harfbuzz_from_pkgconfig target - #harfbuzz-ng - libdrm - libjpeg - libpng - libwebp - libxml - libxslt - openh264 - re2 - snappy - yasm - zlib - ) - if use system-ffmpeg; then - gn_system_libraries+=( ffmpeg opus ) - fi - if use system-icu; then - gn_system_libraries+=( icu ) - fi - if use system-libvpx; then - gn_system_libraries+=( libvpx ) - fi - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die - - # See dependency logic in third_party/BUILD.gn - myconf_gn+=" use_system_harfbuzz=true" - - # Optional dependencies. - myconf_gn+=" closure_compile=$(usex closure-compile true false)" - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" - myconf_gn+=" enable_widevine=$(usex widevine true false)" - myconf_gn+=" use_cups=$(usex cups true false)" - myconf_gn+=" use_gnome_keyring=$(usex gnome-keyring true false)" - myconf_gn+=" use_kerberos=$(usex kerberos true false)" - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" - myconf_gn+=" use_vaapi=$(usex vaapi true false)" - - # TODO: link_pulseaudio=true for GN. - - myconf_gn+=" fieldtrial_testing_like_official_build=true" - - # Never use bundled gold binary. Disable gold linker flags for now. - # Do not use bundled clang. - # Trying to use gold results in linker crash. - myconf_gn+=" use_gold=false use_sysroot=false linux_use_bundled_binutils=false use_custom_libcxx=false" - - # Disable forced lld, bug 641556 - myconf_gn+=" use_lld=false" - - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" - - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . - # Note: these are for Gentoo use ONLY. For your own distribution, - # please get your own set of keys. Feel free to contact chromium@gentoo.org - # for more info. - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" - local google_default_client_id="329227923882.apps.googleusercontent.com" - local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu" - myconf_gn+=" google_api_key=\"${google_api_key}\"" - myconf_gn+=" google_default_client_id=\"${google_default_client_id}\"" - myconf_gn+=" google_default_client_secret=\"${google_default_client_secret}\"" - - local myarch="$(tc-arch)" - - # Avoid CFLAGS problems, bug #352457, bug #390147. - if ! use custom-cflags; then - replace-flags "-Os" "-O2" - strip-flags - - # Prevent linker from running out of address space, bug #471810 . - if use x86; then - filter-flags "-g*" - fi - - # Prevent libvpx build failures. Bug 530248, 544702, 546984. - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 - fi - fi - - if [[ $myarch = amd64 ]] ; then - myconf_gn+=" target_cpu=\"x64\"" - ffmpeg_target_arch=x64 - elif [[ $myarch = x86 ]] ; then - myconf_gn+=" target_cpu=\"x86\"" - ffmpeg_target_arch=ia32 - - # This is normally defined by compiler_cpu_abi in - # build/config/compiler/BUILD.gn, but we patch that part out. - append-flags -msse2 -mfpmath=sse -mmmx - elif [[ $myarch = arm64 ]] ; then - myconf_gn+=" target_cpu=\"arm64\"" - ffmpeg_target_arch=arm64 - elif [[ $myarch = arm ]] ; then - myconf_gn+=" target_cpu=\"arm\"" - ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm) - else - 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" - - # Bug 491582. - export TMPDIR="${WORKDIR}/temp" - mkdir -p -m 755 "${TMPDIR}" || die - - # https://bugs.gentoo.org/654216 - addpredict /dev/dri/ #nowarn - - #if ! use system-ffmpeg; then - if false; then - local build_ffmpeg_args="" - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then - build_ffmpeg_args+=" --disable-asm" - fi - - # Re-configure bundled ffmpeg. See bug #491378 for example reasons. - einfo "Configuring bundled ffmpeg..." - pushd third_party/ffmpeg > /dev/null || die - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \ - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die - chromium/scripts/copy_config.sh || die - chromium/scripts/generate_gn.py || die - popd > /dev/null || die - fi - - einfo "Configuring Chromium..." - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release - echo "$@" - "$@" || die -} - -src_compile() { - # Final link uses lots of file descriptors. - ulimit -n 2048 - - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die - - # Build mksnapshot and pax-mark it. - local x - for x in mksnapshot v8_context_snapshot_generator; do - if tc-is-cross-compiler; then - eninja -C out/Release "host/${x}" - pax-mark m "out/Release/host/${x}" - else - eninja -C out/Release "${x}" - pax-mark m "out/Release/${x}" - fi - done - - # Even though ninja autodetects number of CPUs, we respect - # user's options, for debugging with -j 1 or any other reason. - eninja -C out/Release chrome chromedriver - use suid && eninja -C out/Release chrome_sandbox - - pax-mark m out/Release/chrome - - # Build manpage; bug #684550 - sed -e 's|@@PACKAGE@@|chromium-browser|g; - s|@@MENUNAME@@|Chromium|g;' \ - chrome/app/resources/manpage.1.in > \ - out/Release/chromium-browser.1 || die -} - -src_install() { - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" - exeinto "${CHROMIUM_HOME}" - doexe out/Release/chrome - - if use suid; then - newexe out/Release/chrome_sandbox chrome-sandbox - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" - fi - - doexe out/Release/chromedriver - - local sedargs=( -e "s:/usr/lib/:/usr/$(get_libdir)/:g" ) - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r3.sh" > chromium-launcher.sh || die - doexe chromium-launcher.sh - - # It is important that we name the target "chromium-browser", - # xdg-utils expect it; bug #355517. - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser - # keep the old symlink around for consistency - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium - - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver - - # Allow users to override command-line options, bug #357629. - insinto /etc/chromium - newins "${FILESDIR}/chromium.default" "default" - - pushd out/Release/locales > /dev/null || die - chromium_remove_language_paks - popd - - insinto "${CHROMIUM_HOME}" - doins out/Release/*.bin - doins out/Release/*.pak - doins out/Release/*.so - - if ! use system-icu; then - doins out/Release/icudtl.dat - fi - - doins -r out/Release/locales - doins -r out/Release/resources - - if [[ -d out/Release/swiftshader ]]; then - insinto "${CHROMIUM_HOME}/swiftshader" - doins out/Release/swiftshader/*.so - fi - - # Install icons and desktop entry. - local branding size - for size in 16 24 32 48 64 128 256 ; do - case ${size} in - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; - *) branding="chrome/app/theme/chromium" ;; - esac - newicon -s ${size} "${branding}/product_logo_${size}.png" \ - chromium-browser.png - done - - local mime_types="text/html;text/xml;application/xhtml+xml;" - mime_types+="x-scheme-handler/http;x-scheme-handler/https;" # bug #360797 - mime_types+="x-scheme-handler/ftp;" # bug #412185 - mime_types+="x-scheme-handler/mailto;x-scheme-handler/webcal;" # bug #416393 - make_desktop_entry \ - chromium-browser \ - "Chromium" \ - chromium-browser \ - "Network;WebBrowser" \ - "MimeType=${mime_types}\nStartupWMClass=chromium-browser" - sed -e "/^Exec/s/$/ %U/" -i "${ED}"/usr/share/applications/*.desktop || die - - # Install GNOME default application entry (bug #303100). - insinto /usr/share/gnome-control-center/default-apps - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml - - # Install manpage; bug #684550 - doman out/Release/chromium-browser.1 - dosym chromium-browser.1 /usr/share/man/man1/chromium.1 - - readme.gentoo_create_doc -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_desktop_database_update -} - -pkg_postinst() { - xdg_icon_cache_update - xdg_desktop_database_update - readme.gentoo_print_elog -} diff --git a/www-client/chromium/chromium-80.0.3970.5.ebuild b/www-client/chromium/chromium-80.0.3970.5.ebuild deleted file mode 100644 index 7085b0b..0000000 --- a/www-client/chromium/chromium-80.0.3970.5.ebuild +++ /dev/null @@ -1,728 +0,0 @@ -# Copyright 2009-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python2_7 ) - -CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - 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 vi zh-CN zh-TW" - -inherit check-reqs chromium-2 desktop flag-o-matic multilib ninja-utils pax-utils portability python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="http://chromium.org/" -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" -IUSE="+closure-compile component-build cups cpu_flags_arm_neon gnome-keyring +hangouts kerberos pic +proprietary-codecs pulseaudio selinux +suid +system-ffmpeg +system-icu +system-libvpx +tcmalloc widevine vaapi" -RESTRICT="!system-ffmpeg? ( proprietary-codecs? ( bindist ) )" -REQUIRED_USE="component-build? ( !suid )" - -COMMON_DEPEND=" - >=app-accessibility/at-spi2-atk-2.26:2 - app-arch/bzip2:= - cups? ( >=net-print/cups-1.3.11:= ) - >=dev-libs/atk-2.26 - dev-libs/expat:= - dev-libs/glib:2 - system-icu? ( >=dev-libs/icu-64:= ) - >=dev-libs/libxml2-2.9.4-r3:=[icu] - dev-libs/libxslt:= - dev-libs/nspr:= - >=dev-libs/nss-3.26:= - >=dev-libs/re2-0.2016.11.01:= - gnome-keyring? ( >=gnome-base/libgnome-keyring-3.12:= ) - >=media-libs/alsa-lib-1.0.19:= - media-libs/fontconfig:= - media-libs/freetype:= - >=media-libs/harfbuzz-2.4.0:0=[icu(-)] - media-libs/libjpeg-turbo:= - media-libs/libpng:= - system-libvpx? ( media-libs/libvpx:=[postproc,svc] ) - >=media-libs/openh264-1.6.0:= - pulseaudio? ( media-sound/pulseaudio:= ) - system-ffmpeg? ( - >=media-video/ffmpeg-4:= - || ( - media-video/ffmpeg[-samba] - >=net-fs/samba-4.5.10-r1[-debug(-)] - ) - !=net-fs/samba-4.5.12-r0 - media-libs/opus:= - ) - sys-apps/dbus:= - sys-apps/pciutils:= - virtual/udev - x11-libs/cairo:= - x11-libs/gdk-pixbuf:2 - x11-libs/gtk+:3[X] - x11-libs/libX11:= - x11-libs/libXcomposite:= - x11-libs/libXcursor:= - x11-libs/libXdamage:= - x11-libs/libXext:= - x11-libs/libXfixes:= - >=x11-libs/libXi-1.6.0:= - x11-libs/libXrandr:= - x11-libs/libXrender:= - x11-libs/libXScrnSaver:= - x11-libs/libXtst:= - x11-libs/pango:= - app-arch/snappy:= - media-libs/flac:= - >=media-libs/libwebp-0.4.0:= - sys-libs/zlib:=[minizip] - kerberos? ( virtual/krb5 ) -" -# For nvidia-drivers blocker, see bug #413637 . -RDEPEND="${COMMON_DEPEND} - !<www-plugins/chrome-binary-plugins-57 - x11-misc/xdg-utils - virtual/opengl - virtual/ttf-fonts - selinux? ( sec-policy/selinux-chromium ) - tcmalloc? ( !<x11-drivers/nvidia-drivers-331.20 ) - widevine? ( www-plugins/chrome-binary-plugins[widevine(-)] ) -" -DEPEND="${COMMON_DEPEND} -" -# dev-vcs/git - https://bugs.gentoo.org/593476 -BDEPEND=" - ${PYTHON_DEPS} - >=app-arch/gzip-1.7 - !arm? ( - dev-lang/yasm - ) - dev-lang/perl - dev-util/gn - dev-vcs/git - >=dev-util/gperf-3.0.3 - >=dev-util/ninja-1.7.2 - >=net-libs/nodejs-7.6.0[inspector] - sys-apps/hwids[usb(+)] - >=sys-devel/bison-2.4.3 - sys-devel/flex - closure-compile? ( virtual/jre ) - virtual/pkgconfig -" - -: ${CHROMIUM_FORCE_CLANG=yes} - -if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then - BDEPEND+=" >=sys-devel/clang-7" -fi - -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then - EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; -fi - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -Some web pages may require additional fonts to display properly. -Try installing some of the following packages if some characters -are not displayed properly: -- media-fonts/arphicfonts -- media-fonts/droid -- media-fonts/ipamonafont -- media-fonts/noto -- media-fonts/ja-ipafonts -- media-fonts/takao-fonts -- media-fonts/wqy-microhei -- media-fonts/wqy-zenhei - -To fix broken icons on the Downloads page, you should install an icon -theme that covers the appropriate MIME types, and configure this as your -GTK+ icon theme. - -For native file dialogs in KDE, install kde-apps/kdialog. -" - -PATCHES=( - "${FILESDIR}/chromium-compiler-78.patch" - "${FILESDIR}/chromium-widevine-80.patch" - "${FILESDIR}/chromium-fix-char_traits.patch" - "${FILESDIR}/chromium-zlib-78.patch" - "${FILESDIR}/chromium-77-system-icu.patch" - "${FILESDIR}/chromium-77-clang.patch" - "${FILESDIR}/chromium-vaapi-80.patch" - "${FILESDIR}/chromium-unique_ptr-80-r1.patch" - "${FILESDIR}/chromium-cursor-80.patch" -) - -pre_build_checks() { - if [[ ${MERGE_TYPE} != binary ]]; then - local -x CPP="$(tc-getCXX) -E" - if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 8.0; then - die "At least gcc 8.0 is required" - fi - fi - - # Check build requirements, bug #541816 and bug #471810 . - CHECKREQS_MEMORY="3G" - CHECKREQS_DISK_BUILD="7G" - if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then - CHECKREQS_DISK_BUILD="25G" - if ! use component-build; then - CHECKREQS_MEMORY="16G" - fi - fi - check-reqs_pkg_setup -} - -pkg_pretend() { - pre_build_checks -} - -pkg_setup() { - pre_build_checks - - chromium_suid_sandbox_check_kernel_config -} - -src_prepare() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - default - - mkdir -p third_party/node/linux/node-linux-x64/bin || die - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die - - local 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 - 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/third_party/glslang - third_party/angle/third_party/spirv-headers - third_party/angle/third_party/spirv-tools - third_party/angle/third_party/vulkan-headers - third_party/angle/third_party/vulkan-loader - third_party/angle/third_party/vulkan-tools - third_party/angle/third_party/vulkan-validation-layers - 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/cacheinvalidation - 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/devscripts - third_party/devtools-frontend - third_party/devtools-frontend/src/third_party/axe-core - third_party/devtools-frontend/src/third_party/pyjson5 - third_party/depot_tools - third_party/dom_distiller_js - third_party/emoji-segmenter - third_party/flatbuffers - third_party/flot - third_party/freetype - third_party/glslang - 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/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/vector - third_party/libaom/source/libaom/third_party/x86inc - third_party/libjingle - third_party/libphonenumber - third_party/libsecret - third_party/libsrtp - third_party/libsync - third_party/libudev - third_party/libwebm - third_party/libxml - third_party/libyuv - third_party/llvm - third_party/lss - third_party/lzma_sdk - third_party/markupsafe - third_party/mesa - third_party/metrics_proto - third_party/modp_b64 - third_party/nasm - third_party/node - third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2 - third_party/one_euro_filter - third_party/openscreen - 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/pffft - third_party/ply - third_party/polymer - third_party/private-join-and-compute - third_party/protobuf - third_party/protobuf/third_party/six - third_party/pyjson5 - third_party/qcms - third_party/rnnoise - third_party/s2cellid - third_party/sfntly - 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/gif - third_party/skia/third_party/skcms - third_party/skia/third_party/vulkan - third_party/smhasher - third_party/spirv-headers - third_party/SPIRV-Tools - third_party/sqlite - third_party/swiftshader - third_party/swiftshader/third_party/llvm-7.0 - 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/unrar - third_party/usrsctp - third_party/vulkan - third_party/web-animations-js - third_party/webdriver - third_party/webrtc - third_party/webrtc/common_audio/third_party/fft4g - 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/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/adobe - third_party/speech-dispatcher - third_party/usb_ids - third_party/xdg-utils - third_party/yasm/run_yasm.py - ) - if ! use system-ffmpeg; then - keeplibs+=( third_party/ffmpeg third_party/opus ) - fi - if ! use system-icu; then - keeplibs+=( third_party/icu ) - fi - if ! use system-libvpx; then - keeplibs+=( third_party/libvpx ) - keeplibs+=( third_party/libvpx/source/libvpx/third_party/x86inc ) - fi - if use tcmalloc; then - keeplibs+=( third_party/tcmalloc ) - fi - - # Remove most bundled libraries. Some are still needed. - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die -} - -src_configure() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local myconf_gn="" - - # Make sure the build system will use the right tools, bug #340795. - tc-export AR CC CXX NM - - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] && ! tc-is-clang; then - # Force clang since gcc is pretty broken at the moment. - CC=${CHOST}-clang - CXX=${CHOST}-clang++ - strip-unsupported-flags - fi - - if tc-is-clang; then - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" - else - myconf_gn+=" is_clang=false" - fi - - # Define a custom toolchain for GN - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" - - if tc-is-cross-compiler; then - tc-export BUILD_{AR,CC,CXX,NM} - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" - else - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - fi - - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - myconf_gn+=" is_debug=false" - - # Component build isn't generally intended for use by end users. It's mostly useful - # for development and debugging. - myconf_gn+=" is_component_build=$(usex component-build true false)" - - myconf_gn+=" use_allocator=$(usex tcmalloc \"tcmalloc\" \"none\")" - - # Disable nacl, we can't build without pnacl (http://crbug.com/269560). - myconf_gn+=" enable_nacl=false" - - # Use system-provided libraries. - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_libsrtp (bug #459932). - # TODO: use_system_protobuf (bug #525560). - # TODO: use_system_ssl (http://crbug.com/58087). - # TODO: use_system_sqlite (http://crbug.com/22208). - - # libevent: https://bugs.gentoo.org/593458 - local gn_system_libraries=( - flac - fontconfig - freetype - # Need harfbuzz_from_pkgconfig target - #harfbuzz-ng - libdrm - libjpeg - libpng - libwebp - #libxml - libxslt - openh264 - re2 - snappy - yasm - zlib - ) - if use system-ffmpeg; then - gn_system_libraries+=( ffmpeg opus ) - fi - if use system-icu; then - gn_system_libraries+=( icu ) - fi - if use system-libvpx; then - gn_system_libraries+=( libvpx ) - fi - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die - - # See dependency logic in third_party/BUILD.gn - myconf_gn+=" use_system_harfbuzz=true" - - # Optional dependencies. - myconf_gn+=" closure_compile=$(usex closure-compile true false)" - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" - myconf_gn+=" enable_widevine=$(usex widevine true false)" - myconf_gn+=" use_cups=$(usex cups true false)" - myconf_gn+=" use_gnome_keyring=$(usex gnome-keyring true false)" - myconf_gn+=" use_kerberos=$(usex kerberos true false)" - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" - myconf_gn+=" use_vaapi=$(usex vaapi true false)" - - # TODO: link_pulseaudio=true for GN. - - myconf_gn+=" fieldtrial_testing_like_official_build=true" - - # Never use bundled gold binary. Disable gold linker flags for now. - # Do not use bundled clang. - # Trying to use gold results in linker crash. - myconf_gn+=" use_gold=false use_sysroot=false linux_use_bundled_binutils=false use_custom_libcxx=false" - - # Disable forced lld, bug 641556 - myconf_gn+=" use_lld=false" - - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" - - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . - # Note: these are for Gentoo use ONLY. For your own distribution, - # please get your own set of keys. Feel free to contact chromium@gentoo.org - # for more info. - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" - local google_default_client_id="329227923882.apps.googleusercontent.com" - local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu" - myconf_gn+=" google_api_key=\"${google_api_key}\"" - myconf_gn+=" google_default_client_id=\"${google_default_client_id}\"" - myconf_gn+=" google_default_client_secret=\"${google_default_client_secret}\"" - - local myarch="$(tc-arch)" - - # Avoid CFLAGS problems, bug #352457, bug #390147. - if ! use custom-cflags; then - replace-flags "-Os" "-O2" - strip-flags - - # Prevent linker from running out of address space, bug #471810 . - if use x86; then - filter-flags "-g*" - fi - - # Prevent libvpx build failures. Bug 530248, 544702, 546984. - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 - fi - fi - - if [[ $myarch = amd64 ]] ; then - myconf_gn+=" target_cpu=\"x64\"" - ffmpeg_target_arch=x64 - elif [[ $myarch = x86 ]] ; then - myconf_gn+=" target_cpu=\"x86\"" - ffmpeg_target_arch=ia32 - - # This is normally defined by compiler_cpu_abi in - # build/config/compiler/BUILD.gn, but we patch that part out. - append-flags -msse2 -mfpmath=sse -mmmx - elif [[ $myarch = arm64 ]] ; then - myconf_gn+=" target_cpu=\"arm64\"" - ffmpeg_target_arch=arm64 - elif [[ $myarch = arm ]] ; then - myconf_gn+=" target_cpu=\"arm\"" - ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm) - else - 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" - - # Bug 491582. - export TMPDIR="${WORKDIR}/temp" - mkdir -p -m 755 "${TMPDIR}" || die - - # https://bugs.gentoo.org/654216 - addpredict /dev/dri/ #nowarn - - #if ! use system-ffmpeg; then - if false; then - local build_ffmpeg_args="" - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then - build_ffmpeg_args+=" --disable-asm" - fi - - # Re-configure bundled ffmpeg. See bug #491378 for example reasons. - einfo "Configuring bundled ffmpeg..." - pushd third_party/ffmpeg > /dev/null || die - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \ - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die - chromium/scripts/copy_config.sh || die - chromium/scripts/generate_gn.py || die - popd > /dev/null || die - fi - - einfo "Configuring Chromium..." - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release - echo "$@" - "$@" || die -} - -src_compile() { - # Final link uses lots of file descriptors. - ulimit -n 2048 - - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die - - # Build mksnapshot and pax-mark it. - local x - for x in mksnapshot v8_context_snapshot_generator; do - if tc-is-cross-compiler; then - eninja -C out/Release "host/${x}" - pax-mark m "out/Release/host/${x}" - else - eninja -C out/Release "${x}" - pax-mark m "out/Release/${x}" - fi - done - - # Even though ninja autodetects number of CPUs, we respect - # user's options, for debugging with -j 1 or any other reason. - eninja -C out/Release chrome chromedriver - use suid && eninja -C out/Release chrome_sandbox - - pax-mark m out/Release/chrome - - # Build manpage; bug #684550 - sed -e 's|@@PACKAGE@@|chromium-browser|g; - s|@@MENUNAME@@|Chromium|g;' \ - chrome/app/resources/manpage.1.in > \ - out/Release/chromium-browser.1 || die -} - -src_install() { - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" - exeinto "${CHROMIUM_HOME}" - doexe out/Release/chrome - - if use suid; then - newexe out/Release/chrome_sandbox chrome-sandbox - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" - fi - - doexe out/Release/chromedriver - - local sedargs=( -e "s:/usr/lib/:/usr/$(get_libdir)/:g" ) - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r3.sh" > chromium-launcher.sh || die - doexe chromium-launcher.sh - - # It is important that we name the target "chromium-browser", - # xdg-utils expect it; bug #355517. - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser - # keep the old symlink around for consistency - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium - - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver - - # Allow users to override command-line options, bug #357629. - insinto /etc/chromium - newins "${FILESDIR}/chromium.default" "default" - - pushd out/Release/locales > /dev/null || die - chromium_remove_language_paks - popd - - insinto "${CHROMIUM_HOME}" - doins out/Release/*.bin - doins out/Release/*.pak - doins out/Release/*.so - - if ! use system-icu; then - doins out/Release/icudtl.dat - fi - - doins -r out/Release/locales - doins -r out/Release/resources - - if [[ -d out/Release/swiftshader ]]; then - insinto "${CHROMIUM_HOME}/swiftshader" - doins out/Release/swiftshader/*.so - fi - - # Install icons and desktop entry. - local branding size - for size in 16 24 32 48 64 128 256 ; do - case ${size} in - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; - *) branding="chrome/app/theme/chromium" ;; - esac - newicon -s ${size} "${branding}/product_logo_${size}.png" \ - chromium-browser.png - done - - local mime_types="text/html;text/xml;application/xhtml+xml;" - mime_types+="x-scheme-handler/http;x-scheme-handler/https;" # bug #360797 - mime_types+="x-scheme-handler/ftp;" # bug #412185 - mime_types+="x-scheme-handler/mailto;x-scheme-handler/webcal;" # bug #416393 - make_desktop_entry \ - chromium-browser \ - "Chromium" \ - chromium-browser \ - "Network;WebBrowser" \ - "MimeType=${mime_types}\nStartupWMClass=chromium-browser" - sed -e "/^Exec/s/$/ %U/" -i "${ED}"/usr/share/applications/*.desktop || die - - # Install GNOME default application entry (bug #303100). - insinto /usr/share/gnome-control-center/default-apps - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml - - # Install manpage; bug #684550 - doman out/Release/chromium-browser.1 - dosym chromium-browser.1 /usr/share/man/man1/chromium.1 - - readme.gentoo_create_doc -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_desktop_database_update -} - -pkg_postinst() { - xdg_icon_cache_update - xdg_desktop_database_update - readme.gentoo_print_elog -} diff --git a/www-client/chromium/chromium-81.0.4000.3.ebuild b/www-client/chromium/chromium-81.0.4000.3.ebuild deleted file mode 100644 index 4a0fd04..0000000 --- a/www-client/chromium/chromium-81.0.4000.3.ebuild +++ /dev/null @@ -1,728 +0,0 @@ -# Copyright 2009-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python2_7 ) - -CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - 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 vi zh-CN zh-TW" - -inherit check-reqs chromium-2 desktop flag-o-matic multilib ninja-utils pax-utils portability python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="http://chromium.org/" -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" -IUSE="+closure-compile component-build cups cpu_flags_arm_neon gnome-keyring +hangouts kerberos pic +proprietary-codecs pulseaudio selinux +suid +system-ffmpeg +system-icu +system-libvpx +tcmalloc widevine vaapi" -RESTRICT="!system-ffmpeg? ( proprietary-codecs? ( bindist ) )" -REQUIRED_USE="component-build? ( !suid )" - -COMMON_DEPEND=" - >=app-accessibility/at-spi2-atk-2.26:2 - app-arch/bzip2:= - cups? ( >=net-print/cups-1.3.11:= ) - >=dev-libs/atk-2.26 - dev-libs/expat:= - dev-libs/glib:2 - system-icu? ( >=dev-libs/icu-64:= ) - >=dev-libs/libxml2-2.9.4-r3:=[icu] - dev-libs/libxslt:= - dev-libs/nspr:= - >=dev-libs/nss-3.26:= - >=dev-libs/re2-0.2016.11.01:= - gnome-keyring? ( >=gnome-base/libgnome-keyring-3.12:= ) - >=media-libs/alsa-lib-1.0.19:= - media-libs/fontconfig:= - media-libs/freetype:= - >=media-libs/harfbuzz-2.4.0:0=[icu(-)] - media-libs/libjpeg-turbo:= - media-libs/libpng:= - system-libvpx? ( media-libs/libvpx:=[postproc,svc] ) - >=media-libs/openh264-1.6.0:= - pulseaudio? ( media-sound/pulseaudio:= ) - system-ffmpeg? ( - >=media-video/ffmpeg-4:= - || ( - media-video/ffmpeg[-samba] - >=net-fs/samba-4.5.10-r1[-debug(-)] - ) - !=net-fs/samba-4.5.12-r0 - media-libs/opus:= - ) - sys-apps/dbus:= - sys-apps/pciutils:= - virtual/udev - x11-libs/cairo:= - x11-libs/gdk-pixbuf:2 - x11-libs/gtk+:3[X] - x11-libs/libX11:= - x11-libs/libXcomposite:= - x11-libs/libXcursor:= - x11-libs/libXdamage:= - x11-libs/libXext:= - x11-libs/libXfixes:= - >=x11-libs/libXi-1.6.0:= - x11-libs/libXrandr:= - x11-libs/libXrender:= - x11-libs/libXScrnSaver:= - x11-libs/libXtst:= - x11-libs/pango:= - app-arch/snappy:= - media-libs/flac:= - >=media-libs/libwebp-0.4.0:= - sys-libs/zlib:=[minizip] - kerberos? ( virtual/krb5 ) -" -# For nvidia-drivers blocker, see bug #413637 . -RDEPEND="${COMMON_DEPEND} - !<www-plugins/chrome-binary-plugins-57 - x11-misc/xdg-utils - virtual/opengl - virtual/ttf-fonts - selinux? ( sec-policy/selinux-chromium ) - tcmalloc? ( !<x11-drivers/nvidia-drivers-331.20 ) - widevine? ( www-plugins/chrome-binary-plugins[widevine(-)] ) -" -DEPEND="${COMMON_DEPEND} -" -# dev-vcs/git - https://bugs.gentoo.org/593476 -BDEPEND=" - ${PYTHON_DEPS} - >=app-arch/gzip-1.7 - !arm? ( - dev-lang/yasm - ) - dev-lang/perl - dev-util/gn - dev-vcs/git - >=dev-util/gperf-3.0.3 - >=dev-util/ninja-1.7.2 - >=net-libs/nodejs-7.6.0[inspector] - sys-apps/hwids[usb(+)] - >=sys-devel/bison-2.4.3 - sys-devel/flex - closure-compile? ( virtual/jre ) - virtual/pkgconfig -" - -: ${CHROMIUM_FORCE_CLANG=yes} - -if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then - BDEPEND+=" >=sys-devel/clang-7" -fi - -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then - EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; -fi - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -Some web pages may require additional fonts to display properly. -Try installing some of the following packages if some characters -are not displayed properly: -- media-fonts/arphicfonts -- media-fonts/droid -- media-fonts/ipamonafont -- media-fonts/noto -- media-fonts/ja-ipafonts -- media-fonts/takao-fonts -- media-fonts/wqy-microhei -- media-fonts/wqy-zenhei - -To fix broken icons on the Downloads page, you should install an icon -theme that covers the appropriate MIME types, and configure this as your -GTK+ icon theme. - -For native file dialogs in KDE, install kde-apps/kdialog. -" - -PATCHES=( - "${FILESDIR}/chromium-compiler-78.patch" - "${FILESDIR}/chromium-widevine-80.patch" - "${FILESDIR}/chromium-fix-char_traits.patch" - "${FILESDIR}/chromium-zlib-78.patch" - "${FILESDIR}/chromium-77-system-icu.patch" - "${FILESDIR}/chromium-77-clang.patch" - "${FILESDIR}/chromium-vaapi-81.patch" - "${FILESDIR}/chromium-vector-include-81.patch" -) - -pre_build_checks() { - if [[ ${MERGE_TYPE} != binary ]]; then - local -x CPP="$(tc-getCXX) -E" - if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 8.0; then - die "At least gcc 8.0 is required" - fi - fi - - # Check build requirements, bug #541816 and bug #471810 . - CHECKREQS_MEMORY="3G" - CHECKREQS_DISK_BUILD="7G" - if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then - CHECKREQS_DISK_BUILD="25G" - if ! use component-build; then - CHECKREQS_MEMORY="16G" - fi - fi - check-reqs_pkg_setup -} - -pkg_pretend() { - pre_build_checks -} - -pkg_setup() { - pre_build_checks - - chromium_suid_sandbox_check_kernel_config -} - -src_prepare() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - default - - mkdir -p third_party/node/linux/node-linux-x64/bin || die - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die - - local 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 - 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/angle/third_party/glslang - third_party/angle/third_party/spirv-headers - third_party/angle/third_party/spirv-tools - third_party/angle/third_party/vulkan-headers - third_party/angle/third_party/vulkan-loader - third_party/angle/third_party/vulkan-tools - third_party/angle/third_party/vulkan-validation-layers - 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/cacheinvalidation - 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/devscripts - third_party/devtools-frontend - third_party/devtools-frontend/src/front_end/third_party/fabricjs - third_party/devtools-frontend/src/third_party/axe-core - third_party/devtools-frontend/src/third_party/pyjson5 - third_party/depot_tools - third_party/dom_distiller_js - third_party/emoji-segmenter - third_party/flatbuffers - third_party/freetype - third_party/glslang - 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/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/vector - third_party/libaom/source/libaom/third_party/x86inc - third_party/libjingle - third_party/libphonenumber - third_party/libsecret - third_party/libsrtp - third_party/libsync - third_party/libudev - third_party/libwebm - third_party/libxml - third_party/libyuv - third_party/llvm - third_party/lss - third_party/lzma_sdk - third_party/markupsafe - third_party/mesa - third_party/metrics_proto - third_party/minigbm - third_party/modp_b64 - third_party/nasm - third_party/node - third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2 - third_party/one_euro_filter - third_party/openscreen - 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/pffft - third_party/ply - third_party/polymer - third_party/private-join-and-compute - third_party/protobuf - third_party/protobuf/third_party/six - third_party/pyjson5 - third_party/qcms - third_party/rnnoise - third_party/s2cellid - third_party/sfntly - 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/spirv-headers - third_party/SPIRV-Tools - third_party/sqlite - third_party/swiftshader - third_party/swiftshader/third_party/llvm-7.0 - 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/unrar - third_party/usrsctp - third_party/vulkan - third_party/web-animations-js - third_party/webdriver - third_party/webrtc - third_party/webrtc/common_audio/third_party/fft4g - 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/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/adobe - third_party/speech-dispatcher - third_party/usb_ids - third_party/xdg-utils - third_party/yasm/run_yasm.py - ) - if ! use system-ffmpeg; then - keeplibs+=( third_party/ffmpeg third_party/opus ) - fi - if ! use system-icu; then - keeplibs+=( third_party/icu ) - fi - if ! use system-libvpx; then - keeplibs+=( third_party/libvpx ) - keeplibs+=( third_party/libvpx/source/libvpx/third_party/x86inc ) - fi - if use tcmalloc; then - keeplibs+=( third_party/tcmalloc ) - fi - - # Remove most bundled libraries. Some are still needed. - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die -} - -src_configure() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local myconf_gn="" - - # Make sure the build system will use the right tools, bug #340795. - tc-export AR CC CXX NM - - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] && ! tc-is-clang; then - # Force clang since gcc is pretty broken at the moment. - CC=${CHOST}-clang - CXX=${CHOST}-clang++ - strip-unsupported-flags - fi - - if tc-is-clang; then - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" - else - myconf_gn+=" is_clang=false" - fi - - # Define a custom toolchain for GN - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" - - if tc-is-cross-compiler; then - tc-export BUILD_{AR,CC,CXX,NM} - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" - else - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - fi - - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - myconf_gn+=" is_debug=false" - - # Component build isn't generally intended for use by end users. It's mostly useful - # for development and debugging. - myconf_gn+=" is_component_build=$(usex component-build true false)" - - myconf_gn+=" use_allocator=$(usex tcmalloc \"tcmalloc\" \"none\")" - - # Disable nacl, we can't build without pnacl (http://crbug.com/269560). - myconf_gn+=" enable_nacl=false" - - # Use system-provided libraries. - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_libsrtp (bug #459932). - # TODO: use_system_protobuf (bug #525560). - # TODO: use_system_ssl (http://crbug.com/58087). - # TODO: use_system_sqlite (http://crbug.com/22208). - - # libevent: https://bugs.gentoo.org/593458 - local gn_system_libraries=( - flac - fontconfig - freetype - # Need harfbuzz_from_pkgconfig target - #harfbuzz-ng - libdrm - libjpeg - libpng - libwebp - #libxml - libxslt - openh264 - re2 - snappy - yasm - zlib - ) - if use system-ffmpeg; then - gn_system_libraries+=( ffmpeg opus ) - fi - if use system-icu; then - gn_system_libraries+=( icu ) - fi - if use system-libvpx; then - gn_system_libraries+=( libvpx ) - fi - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die - - # See dependency logic in third_party/BUILD.gn - myconf_gn+=" use_system_harfbuzz=true" - - # Optional dependencies. - myconf_gn+=" closure_compile=$(usex closure-compile true false)" - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" - myconf_gn+=" enable_widevine=$(usex widevine true false)" - myconf_gn+=" use_cups=$(usex cups true false)" - myconf_gn+=" use_gnome_keyring=$(usex gnome-keyring true false)" - myconf_gn+=" use_kerberos=$(usex kerberos true false)" - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" - myconf_gn+=" use_vaapi=$(usex vaapi true false)" - - # TODO: link_pulseaudio=true for GN. - - myconf_gn+=" fieldtrial_testing_like_official_build=true" - - # Never use bundled gold binary. Disable gold linker flags for now. - # Do not use bundled clang. - # Trying to use gold results in linker crash. - myconf_gn+=" use_gold=false use_sysroot=false linux_use_bundled_binutils=false use_custom_libcxx=false" - - # Disable forced lld, bug 641556 - myconf_gn+=" use_lld=false" - - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" - - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . - # Note: these are for Gentoo use ONLY. For your own distribution, - # please get your own set of keys. Feel free to contact chromium@gentoo.org - # for more info. - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" - local google_default_client_id="329227923882.apps.googleusercontent.com" - local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu" - myconf_gn+=" google_api_key=\"${google_api_key}\"" - myconf_gn+=" google_default_client_id=\"${google_default_client_id}\"" - myconf_gn+=" google_default_client_secret=\"${google_default_client_secret}\"" - - local myarch="$(tc-arch)" - - # Avoid CFLAGS problems, bug #352457, bug #390147. - if ! use custom-cflags; then - replace-flags "-Os" "-O2" - strip-flags - - # Prevent linker from running out of address space, bug #471810 . - if use x86; then - filter-flags "-g*" - fi - - # Prevent libvpx build failures. Bug 530248, 544702, 546984. - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 - fi - fi - - if [[ $myarch = amd64 ]] ; then - myconf_gn+=" target_cpu=\"x64\"" - ffmpeg_target_arch=x64 - elif [[ $myarch = x86 ]] ; then - myconf_gn+=" target_cpu=\"x86\"" - ffmpeg_target_arch=ia32 - - # This is normally defined by compiler_cpu_abi in - # build/config/compiler/BUILD.gn, but we patch that part out. - append-flags -msse2 -mfpmath=sse -mmmx - elif [[ $myarch = arm64 ]] ; then - myconf_gn+=" target_cpu=\"arm64\"" - ffmpeg_target_arch=arm64 - elif [[ $myarch = arm ]] ; then - myconf_gn+=" target_cpu=\"arm\"" - ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm) - else - 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" - - # Bug 491582. - export TMPDIR="${WORKDIR}/temp" - mkdir -p -m 755 "${TMPDIR}" || die - - # https://bugs.gentoo.org/654216 - addpredict /dev/dri/ #nowarn - - #if ! use system-ffmpeg; then - if false; then - local build_ffmpeg_args="" - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then - build_ffmpeg_args+=" --disable-asm" - fi - - # Re-configure bundled ffmpeg. See bug #491378 for example reasons. - einfo "Configuring bundled ffmpeg..." - pushd third_party/ffmpeg > /dev/null || die - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \ - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die - chromium/scripts/copy_config.sh || die - chromium/scripts/generate_gn.py || die - popd > /dev/null || die - fi - - einfo "Configuring Chromium..." - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release - echo "$@" - "$@" || die -} - -src_compile() { - # Final link uses lots of file descriptors. - ulimit -n 2048 - - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die - - # Build mksnapshot and pax-mark it. - local x - for x in mksnapshot v8_context_snapshot_generator; do - if tc-is-cross-compiler; then - eninja -C out/Release "host/${x}" - pax-mark m "out/Release/host/${x}" - else - eninja -C out/Release "${x}" - pax-mark m "out/Release/${x}" - fi - done - - # Even though ninja autodetects number of CPUs, we respect - # user's options, for debugging with -j 1 or any other reason. - eninja -C out/Release chrome chromedriver - use suid && eninja -C out/Release chrome_sandbox - - pax-mark m out/Release/chrome - - # Build manpage; bug #684550 - sed -e 's|@@PACKAGE@@|chromium-browser|g; - s|@@MENUNAME@@|Chromium|g;' \ - chrome/app/resources/manpage.1.in > \ - out/Release/chromium-browser.1 || die -} - -src_install() { - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" - exeinto "${CHROMIUM_HOME}" - doexe out/Release/chrome - - if use suid; then - newexe out/Release/chrome_sandbox chrome-sandbox - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" - fi - - doexe out/Release/chromedriver - - local sedargs=( -e "s:/usr/lib/:/usr/$(get_libdir)/:g" ) - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r3.sh" > chromium-launcher.sh || die - doexe chromium-launcher.sh - - # It is important that we name the target "chromium-browser", - # xdg-utils expect it; bug #355517. - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser - # keep the old symlink around for consistency - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium - - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver - - # Allow users to override command-line options, bug #357629. - insinto /etc/chromium - newins "${FILESDIR}/chromium.default" "default" - - pushd out/Release/locales > /dev/null || die - chromium_remove_language_paks - popd - - insinto "${CHROMIUM_HOME}" - doins out/Release/*.bin - doins out/Release/*.pak - doins out/Release/*.so - - if ! use system-icu; then - doins out/Release/icudtl.dat - fi - - doins -r out/Release/locales - doins -r out/Release/resources - - if [[ -d out/Release/swiftshader ]]; then - insinto "${CHROMIUM_HOME}/swiftshader" - doins out/Release/swiftshader/*.so - fi - - # Install icons and desktop entry. - local branding size - for size in 16 24 32 48 64 128 256 ; do - case ${size} in - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; - *) branding="chrome/app/theme/chromium" ;; - esac - newicon -s ${size} "${branding}/product_logo_${size}.png" \ - chromium-browser.png - done - - local mime_types="text/html;text/xml;application/xhtml+xml;" - mime_types+="x-scheme-handler/http;x-scheme-handler/https;" # bug #360797 - mime_types+="x-scheme-handler/ftp;" # bug #412185 - mime_types+="x-scheme-handler/mailto;x-scheme-handler/webcal;" # bug #416393 - make_desktop_entry \ - chromium-browser \ - "Chromium" \ - chromium-browser \ - "Network;WebBrowser" \ - "MimeType=${mime_types}\nStartupWMClass=chromium-browser" - sed -e "/^Exec/s/$/ %U/" -i "${ED}"/usr/share/applications/*.desktop || die - - # Install GNOME default application entry (bug #303100). - insinto /usr/share/gnome-control-center/default-apps - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml - - # Install manpage; bug #684550 - doman out/Release/chromium-browser.1 - dosym chromium-browser.1 /usr/share/man/man1/chromium.1 - - readme.gentoo_create_doc -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_desktop_database_update -} - -pkg_postinst() { - xdg_icon_cache_update - xdg_desktop_database_update - readme.gentoo_print_elog -} diff --git a/www-client/chromium/chromium-82.0.4056.3.ebuild b/www-client/chromium/chromium-82.0.4056.3.ebuild deleted file mode 100644 index 06647dc..0000000 --- a/www-client/chromium/chromium-82.0.4056.3.ebuild +++ /dev/null @@ -1,732 +0,0 @@ -# Copyright 2009-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python2_7 ) - -CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - 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 vi zh-CN zh-TW" - -inherit check-reqs chromium-2 desktop flag-o-matic multilib ninja-utils pax-utils portability python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="http://chromium.org/" -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" -IUSE="+closure-compile component-build cups cpu_flags_arm_neon gnome-keyring +hangouts kerberos pic +proprietary-codecs pulseaudio selinux +suid +system-ffmpeg +system-icu +system-libvpx +tcmalloc widevine vaapi" -RESTRICT="!system-ffmpeg? ( proprietary-codecs? ( bindist ) )" -REQUIRED_USE="component-build? ( !suid )" - -COMMON_DEPEND=" - >=app-accessibility/at-spi2-atk-2.26:2 - app-arch/bzip2:= - cups? ( >=net-print/cups-1.3.11:= ) - >=dev-libs/atk-2.26 - dev-libs/expat:= - dev-libs/glib:2 - system-icu? ( >=dev-libs/icu-64:= ) - >=dev-libs/libxml2-2.9.4-r3:=[icu] - dev-libs/libxslt:= - dev-libs/nspr:= - >=dev-libs/nss-3.26:= - >=dev-libs/re2-0.2016.11.01:= - gnome-keyring? ( >=gnome-base/libgnome-keyring-3.12:= ) - >=media-libs/alsa-lib-1.0.19:= - media-libs/fontconfig:= - media-libs/freetype:= - >=media-libs/harfbuzz-2.4.0:0=[icu(-)] - media-libs/libjpeg-turbo:= - media-libs/libpng:= - system-libvpx? ( media-libs/libvpx:=[postproc,svc] ) - >=media-libs/openh264-1.6.0:= - pulseaudio? ( media-sound/pulseaudio:= ) - system-ffmpeg? ( - >=media-video/ffmpeg-4:= - || ( - media-video/ffmpeg[-samba] - >=net-fs/samba-4.5.10-r1[-debug(-)] - ) - !=net-fs/samba-4.5.12-r0 - media-libs/opus:= - ) - sys-apps/dbus:= - sys-apps/pciutils:= - virtual/udev - x11-libs/cairo:= - x11-libs/gdk-pixbuf:2 - x11-libs/gtk+:3[X] - x11-libs/libX11:= - x11-libs/libXcomposite:= - x11-libs/libXcursor:= - x11-libs/libXdamage:= - x11-libs/libXext:= - x11-libs/libXfixes:= - >=x11-libs/libXi-1.6.0:= - x11-libs/libXrandr:= - x11-libs/libXrender:= - x11-libs/libXScrnSaver:= - x11-libs/libXtst:= - x11-libs/pango:= - app-arch/snappy:= - media-libs/flac:= - >=media-libs/libwebp-0.4.0:= - sys-libs/zlib:=[minizip] - kerberos? ( virtual/krb5 ) -" -# For nvidia-drivers blocker, see bug #413637 . -RDEPEND="${COMMON_DEPEND} - !<www-plugins/chrome-binary-plugins-57 - x11-misc/xdg-utils - virtual/opengl - virtual/ttf-fonts - selinux? ( sec-policy/selinux-chromium ) - tcmalloc? ( !<x11-drivers/nvidia-drivers-331.20 ) - widevine? ( www-plugins/chrome-binary-plugins[widevine(-)] ) -" -DEPEND="${COMMON_DEPEND} -" -# dev-vcs/git - https://bugs.gentoo.org/593476 -BDEPEND=" - ${PYTHON_DEPS} - >=app-arch/gzip-1.7 - !arm? ( - dev-lang/yasm - ) - dev-lang/perl - dev-util/gn - dev-vcs/git - >=dev-util/gperf-3.0.3 - >=dev-util/ninja-1.7.2 - >=net-libs/nodejs-7.6.0[inspector] - sys-apps/hwids[usb(+)] - >=sys-devel/bison-2.4.3 - sys-devel/flex - closure-compile? ( virtual/jre ) - virtual/pkgconfig -" - -: ${CHROMIUM_FORCE_CLANG=yes} - -if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then - BDEPEND+=" >=sys-devel/clang-7" -fi - -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then - EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; -fi - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -Some web pages may require additional fonts to display properly. -Try installing some of the following packages if some characters -are not displayed properly: -- media-fonts/arphicfonts -- media-fonts/droid -- media-fonts/ipamonafont -- media-fonts/noto -- media-fonts/ja-ipafonts -- media-fonts/takao-fonts -- media-fonts/wqy-microhei -- media-fonts/wqy-zenhei - -To fix broken icons on the Downloads page, you should install an icon -theme that covers the appropriate MIME types, and configure this as your -GTK+ icon theme. - -For native file dialogs in KDE, install kde-apps/kdialog. -" - -PATCHES=( - "${FILESDIR}/chromium-compiler-82.patch" - "${FILESDIR}/chromium-widevine-80.patch" - "${FILESDIR}/chromium-fix-char_traits.patch" - "${FILESDIR}/chromium-zlib-82.patch" - "${FILESDIR}/chromium-77-clang.patch" - "${FILESDIR}/chromium-vaapi-82.patch" - "${FILESDIR}/chromium-clang-format-path-82.patch" - "${FILESDIR}/chromium-deque-constructor-82.patch" -) - -pre_build_checks() { - if [[ ${MERGE_TYPE} != binary ]]; then - local -x CPP="$(tc-getCXX) -E" - if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 8.0; then - die "At least gcc 8.0 is required" - fi - fi - - # Check build requirements, bug #541816 and bug #471810 . - CHECKREQS_MEMORY="3G" - CHECKREQS_DISK_BUILD="7G" - if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then - CHECKREQS_DISK_BUILD="25G" - if ! use component-build; then - CHECKREQS_MEMORY="16G" - fi - fi - check-reqs_pkg_setup -} - -pkg_pretend() { - pre_build_checks -} - -pkg_setup() { - pre_build_checks - - chromium_suid_sandbox_check_kernel_config -} - -src_prepare() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - default - - mkdir -p third_party/node/linux/node-linux-x64/bin || die - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die - - local 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 - 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/angle/third_party/glslang - third_party/angle/third_party/spirv-headers - third_party/angle/third_party/spirv-tools - third_party/angle/third_party/vulkan-headers - third_party/angle/third_party/vulkan-loader - third_party/angle/third_party/vulkan-tools - third_party/angle/third_party/vulkan-validation-layers - 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/cacheinvalidation - 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/devscripts - third_party/devtools-frontend - third_party/devtools-frontend/src/front_end/third_party/fabricjs - third_party/devtools-frontend/src/front_end/third_party/wasmparser - third_party/devtools-frontend/src/third_party/axe-core - third_party/devtools-frontend/src/third_party/pyjson5 - third_party/devtools-frontend/src/third_party/typescript - third_party/depot_tools - third_party/dom_distiller_js - third_party/emoji-segmenter - third_party/flatbuffers - third_party/freetype - third_party/glslang - 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/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/vector - third_party/libaom/source/libaom/third_party/x86inc - third_party/libgifcodec - third_party/libjingle - third_party/libphonenumber - third_party/libsecret - third_party/libsrtp - third_party/libsync - third_party/libudev - third_party/libwebm - third_party/libxml - third_party/libyuv - third_party/llvm - 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/node - third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2 - third_party/one_euro_filter - third_party/openscreen - 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/pffft - third_party/ply - third_party/polymer - third_party/private-join-and-compute - third_party/protobuf - third_party/protobuf/third_party/six - third_party/pyjson5 - third_party/qcms - third_party/rnnoise - third_party/s2cellid - 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/spirv-headers - third_party/SPIRV-Tools - third_party/sqlite - third_party/swiftshader - third_party/swiftshader/third_party/llvm-7.0 - 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/unrar - third_party/usrsctp - third_party/vulkan - third_party/web-animations-js - third_party/webdriver - third_party/webrtc - third_party/webrtc/common_audio/third_party/fft4g - 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/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/adobe - third_party/speech-dispatcher - third_party/usb_ids - third_party/xdg-utils - third_party/yasm/run_yasm.py - ) - if ! use system-ffmpeg; then - keeplibs+=( third_party/ffmpeg third_party/opus ) - fi - if ! use system-icu; then - keeplibs+=( third_party/icu ) - fi - if ! use system-libvpx; then - keeplibs+=( third_party/libvpx ) - keeplibs+=( third_party/libvpx/source/libvpx/third_party/x86inc ) - fi - if use tcmalloc; then - keeplibs+=( third_party/tcmalloc ) - fi - - # Remove most bundled libraries. Some are still needed. - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die -} - -src_configure() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local myconf_gn="" - - # Make sure the build system will use the right tools, bug #340795. - tc-export AR CC CXX NM - - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] && ! tc-is-clang; then - # Force clang since gcc is pretty broken at the moment. - CC=${CHOST}-clang - CXX=${CHOST}-clang++ - strip-unsupported-flags - fi - - if tc-is-clang; then - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" - else - myconf_gn+=" is_clang=false" - fi - - # Define a custom toolchain for GN - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" - - if tc-is-cross-compiler; then - tc-export BUILD_{AR,CC,CXX,NM} - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" - else - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - fi - - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - myconf_gn+=" is_debug=false" - - # Component build isn't generally intended for use by end users. It's mostly useful - # for development and debugging. - myconf_gn+=" is_component_build=$(usex component-build true false)" - - myconf_gn+=" use_allocator=$(usex tcmalloc \"tcmalloc\" \"none\")" - - # Disable nacl, we can't build without pnacl (http://crbug.com/269560). - myconf_gn+=" enable_nacl=false" - - # Use system-provided libraries. - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_libsrtp (bug #459932). - # TODO: use_system_protobuf (bug #525560). - # TODO: use_system_ssl (http://crbug.com/58087). - # TODO: use_system_sqlite (http://crbug.com/22208). - - # libevent: https://bugs.gentoo.org/593458 - local gn_system_libraries=( - flac - fontconfig - freetype - # Need harfbuzz_from_pkgconfig target - #harfbuzz-ng - libdrm - libjpeg - libpng - libwebp - #libxml - libxslt - openh264 - re2 - snappy - yasm - zlib - ) - if use system-ffmpeg; then - gn_system_libraries+=( ffmpeg opus ) - fi - if use system-icu; then - gn_system_libraries+=( icu ) - fi - if use system-libvpx; then - gn_system_libraries+=( libvpx ) - fi - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die - - # See dependency logic in third_party/BUILD.gn - myconf_gn+=" use_system_harfbuzz=true" - - # Optional dependencies. - myconf_gn+=" closure_compile=$(usex closure-compile true false)" - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" - myconf_gn+=" enable_widevine=$(usex widevine true false)" - myconf_gn+=" use_cups=$(usex cups true false)" - myconf_gn+=" use_gnome_keyring=$(usex gnome-keyring true false)" - myconf_gn+=" use_kerberos=$(usex kerberos true false)" - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" - myconf_gn+=" use_vaapi=$(usex vaapi true false)" - - # TODO: link_pulseaudio=true for GN. - - myconf_gn+=" fieldtrial_testing_like_official_build=true" - - # Never use bundled gold binary. Disable gold linker flags for now. - # Do not use bundled clang. - # Trying to use gold results in linker crash. - myconf_gn+=" use_gold=false use_sysroot=false linux_use_bundled_binutils=false use_custom_libcxx=false" - - # Disable forced lld, bug 641556 - myconf_gn+=" use_lld=false" - - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" - - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . - # Note: these are for Gentoo use ONLY. For your own distribution, - # please get your own set of keys. Feel free to contact chromium@gentoo.org - # for more info. - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" - local google_default_client_id="329227923882.apps.googleusercontent.com" - local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu" - myconf_gn+=" google_api_key=\"${google_api_key}\"" - myconf_gn+=" google_default_client_id=\"${google_default_client_id}\"" - myconf_gn+=" google_default_client_secret=\"${google_default_client_secret}\"" - - local myarch="$(tc-arch)" - - # Avoid CFLAGS problems, bug #352457, bug #390147. - if ! use custom-cflags; then - replace-flags "-Os" "-O2" - strip-flags - - # Prevent linker from running out of address space, bug #471810 . - if use x86; then - filter-flags "-g*" - fi - - # Prevent libvpx build failures. Bug 530248, 544702, 546984. - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 - fi - fi - - if [[ $myarch = amd64 ]] ; then - myconf_gn+=" target_cpu=\"x64\"" - ffmpeg_target_arch=x64 - elif [[ $myarch = x86 ]] ; then - myconf_gn+=" target_cpu=\"x86\"" - ffmpeg_target_arch=ia32 - - # This is normally defined by compiler_cpu_abi in - # build/config/compiler/BUILD.gn, but we patch that part out. - append-flags -msse2 -mfpmath=sse -mmmx - elif [[ $myarch = arm64 ]] ; then - myconf_gn+=" target_cpu=\"arm64\"" - ffmpeg_target_arch=arm64 - elif [[ $myarch = arm ]] ; then - myconf_gn+=" target_cpu=\"arm\"" - ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm) - else - 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" - - # Bug 491582. - export TMPDIR="${WORKDIR}/temp" - mkdir -p -m 755 "${TMPDIR}" || die - - # https://bugs.gentoo.org/654216 - addpredict /dev/dri/ #nowarn - - #if ! use system-ffmpeg; then - if false; then - local build_ffmpeg_args="" - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then - build_ffmpeg_args+=" --disable-asm" - fi - - # Re-configure bundled ffmpeg. See bug #491378 for example reasons. - einfo "Configuring bundled ffmpeg..." - pushd third_party/ffmpeg > /dev/null || die - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \ - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die - chromium/scripts/copy_config.sh || die - chromium/scripts/generate_gn.py || die - popd > /dev/null || die - fi - - einfo "Configuring Chromium..." - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release - echo "$@" - "$@" || die -} - -src_compile() { - # Final link uses lots of file descriptors. - ulimit -n 2048 - - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die - - # Build mksnapshot and pax-mark it. - local x - for x in mksnapshot v8_context_snapshot_generator; do - if tc-is-cross-compiler; then - eninja -C out/Release "host/${x}" - pax-mark m "out/Release/host/${x}" - else - eninja -C out/Release "${x}" - pax-mark m "out/Release/${x}" - fi - done - - # Even though ninja autodetects number of CPUs, we respect - # user's options, for debugging with -j 1 or any other reason. - eninja -C out/Release chrome chromedriver - use suid && eninja -C out/Release chrome_sandbox - - pax-mark m out/Release/chrome - - # Build manpage; bug #684550 - sed -e 's|@@PACKAGE@@|chromium-browser|g; - s|@@MENUNAME@@|Chromium|g;' \ - chrome/app/resources/manpage.1.in > \ - out/Release/chromium-browser.1 || die -} - -src_install() { - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" - exeinto "${CHROMIUM_HOME}" - doexe out/Release/chrome - - if use suid; then - newexe out/Release/chrome_sandbox chrome-sandbox - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" - fi - - doexe out/Release/chromedriver - - local sedargs=( -e "s:/usr/lib/:/usr/$(get_libdir)/:g" ) - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r3.sh" > chromium-launcher.sh || die - doexe chromium-launcher.sh - - # It is important that we name the target "chromium-browser", - # xdg-utils expect it; bug #355517. - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser - # keep the old symlink around for consistency - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium - - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver - - # Allow users to override command-line options, bug #357629. - insinto /etc/chromium - newins "${FILESDIR}/chromium.default" "default" - - pushd out/Release/locales > /dev/null || die - chromium_remove_language_paks - popd - - insinto "${CHROMIUM_HOME}" - doins out/Release/*.bin - doins out/Release/*.pak - doins out/Release/*.so - - if ! use system-icu; then - doins out/Release/icudtl.dat - fi - - doins -r out/Release/locales - doins -r out/Release/resources - - if [[ -d out/Release/swiftshader ]]; then - insinto "${CHROMIUM_HOME}/swiftshader" - doins out/Release/swiftshader/*.so - fi - - # Install icons and desktop entry. - local branding size - for size in 16 24 32 48 64 128 256 ; do - case ${size} in - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; - *) branding="chrome/app/theme/chromium" ;; - esac - newicon -s ${size} "${branding}/product_logo_${size}.png" \ - chromium-browser.png - done - - local mime_types="text/html;text/xml;application/xhtml+xml;" - mime_types+="x-scheme-handler/http;x-scheme-handler/https;" # bug #360797 - mime_types+="x-scheme-handler/ftp;" # bug #412185 - mime_types+="x-scheme-handler/mailto;x-scheme-handler/webcal;" # bug #416393 - make_desktop_entry \ - chromium-browser \ - "Chromium" \ - chromium-browser \ - "Network;WebBrowser" \ - "MimeType=${mime_types}\nStartupWMClass=chromium-browser" - sed -e "/^Exec/s/$/ %U/" -i "${ED}"/usr/share/applications/*.desktop || die - - # Install GNOME default application entry (bug #303100). - insinto /usr/share/gnome-control-center/default-apps - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml - - # Install manpage; bug #684550 - doman out/Release/chromium-browser.1 - dosym chromium-browser.1 /usr/share/man/man1/chromium.1 - - readme.gentoo_create_doc -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_desktop_database_update -} - -pkg_postinst() { - xdg_icon_cache_update - xdg_desktop_database_update - readme.gentoo_print_elog -} diff --git a/www-client/chromium/chromium-83.0.4093.3.ebuild b/www-client/chromium/chromium-83.0.4093.3.ebuild deleted file mode 100644 index b02eb94..0000000 --- a/www-client/chromium/chromium-83.0.4093.3.ebuild +++ /dev/null @@ -1,745 +0,0 @@ -# Copyright 2009-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python2_7 ) - -CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - 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 vi zh-CN zh-TW" - -inherit check-reqs chromium-2 desktop flag-o-matic multilib ninja-utils pax-utils portability python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="http://chromium.org/" -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" -IUSE="+closure-compile component-build cups cpu_flags_arm_neon gnome-keyring +hangouts kerberos pic +proprietary-codecs pulseaudio selinux +suid +system-ffmpeg +system-icu +system-libvpx +tcmalloc widevine vaapi" -RESTRICT="!system-ffmpeg? ( proprietary-codecs? ( bindist ) )" -REQUIRED_USE="component-build? ( !suid )" - -COMMON_DEPEND=" - >=app-accessibility/at-spi2-atk-2.26:2 - app-arch/bzip2:= - cups? ( >=net-print/cups-1.3.11:= ) - >=dev-libs/atk-2.26 - dev-libs/expat:= - dev-libs/glib:2 - system-icu? ( >=dev-libs/icu-65:= ) - >=dev-libs/libxml2-2.9.4-r3:=[icu] - dev-libs/libxslt:= - dev-libs/nspr:= - >=dev-libs/nss-3.26:= - >=dev-libs/re2-0.2019.08.01:= - gnome-keyring? ( >=gnome-base/libgnome-keyring-3.12:= ) - >=media-libs/alsa-lib-1.0.19:= - media-libs/fontconfig:= - media-libs/freetype:= - >=media-libs/harfbuzz-2.4.0:0=[icu(-)] - media-libs/libjpeg-turbo:= - media-libs/libpng:= - system-libvpx? ( media-libs/libvpx:=[postproc,svc] ) - >=media-libs/openh264-1.6.0:= - pulseaudio? ( media-sound/pulseaudio:= ) - system-ffmpeg? ( - >=media-video/ffmpeg-4:= - || ( - media-video/ffmpeg[-samba] - >=net-fs/samba-4.5.10-r1[-debug(-)] - ) - !=net-fs/samba-4.5.12-r0 - media-libs/opus:= - ) - sys-apps/dbus:= - sys-apps/pciutils:= - virtual/udev - x11-libs/cairo:= - x11-libs/gdk-pixbuf:2 - x11-libs/gtk+:3[X] - x11-libs/libX11:= - x11-libs/libXcomposite:= - x11-libs/libXcursor:= - x11-libs/libXdamage:= - x11-libs/libXext:= - x11-libs/libXfixes:= - >=x11-libs/libXi-1.6.0:= - x11-libs/libXrandr:= - x11-libs/libXrender:= - x11-libs/libXScrnSaver:= - x11-libs/libXtst:= - x11-libs/pango:= - app-arch/snappy:= - media-libs/flac:= - >=media-libs/libwebp-0.4.0:= - sys-libs/zlib:=[minizip] - kerberos? ( virtual/krb5 ) -" -# For nvidia-drivers blocker, see bug #413637 . -RDEPEND="${COMMON_DEPEND} - !<www-plugins/chrome-binary-plugins-57 - x11-misc/xdg-utils - virtual/opengl - virtual/ttf-fonts - selinux? ( sec-policy/selinux-chromium ) - tcmalloc? ( !<x11-drivers/nvidia-drivers-331.20 ) - widevine? ( www-plugins/chrome-binary-plugins[widevine(-)] ) -" -DEPEND="${COMMON_DEPEND} -" -# dev-vcs/git - https://bugs.gentoo.org/593476 -BDEPEND=" - ${PYTHON_DEPS} - >=app-arch/gzip-1.7 - !arm? ( - dev-lang/yasm - ) - dev-lang/perl - dev-util/gn - dev-vcs/git - >=dev-util/gperf-3.0.3 - >=dev-util/ninja-1.7.2 - >=net-libs/nodejs-7.6.0[inspector] - sys-apps/hwids[usb(+)] - >=sys-devel/bison-2.4.3 - sys-devel/flex - closure-compile? ( virtual/jre ) - virtual/pkgconfig -" - -: ${CHROMIUM_FORCE_CLANG=yes} - -if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then - BDEPEND+=" >=sys-devel/clang-7" -fi - -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then - EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; -fi - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -Some web pages may require additional fonts to display properly. -Try installing some of the following packages if some characters -are not displayed properly: -- media-fonts/arphicfonts -- media-fonts/droid -- media-fonts/ipamonafont -- media-fonts/noto -- media-fonts/ja-ipafonts -- media-fonts/takao-fonts -- media-fonts/wqy-microhei -- media-fonts/wqy-zenhei - -To fix broken icons on the Downloads page, you should install an icon -theme that covers the appropriate MIME types, and configure this as your -GTK+ icon theme. - -For native file dialogs in KDE, install kde-apps/kdialog. -" - -PATCHES=( - "${FILESDIR}/chromium-compiler-83.patch" - "${FILESDIR}/chromium-widevine-80.patch" - "${FILESDIR}/chromium-fix-char_traits.patch" - "${FILESDIR}/chromium-zlib-82.patch" - "${FILESDIR}/chromium-77-clang.patch" - "${FILESDIR}/chromium-vaapi-83.patch" - "${FILESDIR}/chromium-clang-format-path-82.patch" - "${FILESDIR}/chromium-std-nullptr-83.patch" - "${FILESDIR}/chromium-ngphyscontainer-iterator-cat-83.patch" - "${FILESDIR}/chromium-renderer-std-nullptr-83.patch" - "${FILESDIR}/chromium-axtree-incomplete-type-83.patch" -) - -pre_build_checks() { - if [[ ${MERGE_TYPE} != binary ]]; then - local -x CPP="$(tc-getCXX) -E" - if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 8.0; then - die "At least gcc 8.0 is required" - fi - fi - - # Check build requirements, bug #541816 and bug #471810 . - CHECKREQS_MEMORY="3G" - CHECKREQS_DISK_BUILD="7G" - if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then - CHECKREQS_DISK_BUILD="25G" - if ! use component-build; then - CHECKREQS_MEMORY="16G" - fi - fi - check-reqs_pkg_setup -} - -pkg_pretend() { - pre_build_checks -} - -pkg_setup() { - pre_build_checks - - chromium_suid_sandbox_check_kernel_config -} - -src_prepare() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - default - - mkdir -p third_party/node/linux/node-linux-x64/bin || die - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die - - local 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 - 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/angle/third_party/glslang - third_party/angle/third_party/spirv-headers - third_party/angle/third_party/spirv-tools - third_party/angle/third_party/vulkan-headers - third_party/angle/third_party/vulkan-loader - third_party/angle/third_party/vulkan-tools - third_party/angle/third_party/vulkan-validation-layers - 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/cacheinvalidation - 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/devscripts - third_party/devtools-frontend - third_party/devtools-frontend/src/front_end/third_party/fabricjs - third_party/devtools-frontend/src/front_end/third_party/wasmparser - third_party/devtools-frontend/src/front_end/third_party/lighthouse - third_party/devtools-frontend/src/third_party/axe-core - third_party/devtools-frontend/src/third_party/pyjson5 - third_party/devtools-frontend/src/third_party/typescript - third_party/depot_tools - third_party/dom_distiller_js - third_party/emoji-segmenter - third_party/flatbuffers - third_party/freetype - third_party/glslang - 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/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/vector - third_party/libaom/source/libaom/third_party/x86inc - third_party/libgifcodec - third_party/libjingle - third_party/libphonenumber - third_party/libsecret - third_party/libsrtp - third_party/libsync - third_party/libudev - third_party/libwebm - third_party/libxml - third_party/libyuv - third_party/llvm - 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/node - third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2 - third_party/one_euro_filter - third_party/openscreen - 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/pffft - third_party/ply - third_party/polymer - third_party/private-join-and-compute - third_party/protobuf - third_party/protobuf/third_party/six - third_party/pyjson5 - third_party/qcms - third_party/rnnoise - third_party/s2cellid - third_party/schema_org - 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/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-7.0 - 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/unrar - third_party/usrsctp - third_party/vulkan - third_party/web-animations-js - third_party/webdriver - third_party/webrtc - third_party/webrtc/common_audio/third_party/fft4g - 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/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/adobe - third_party/speech-dispatcher - third_party/usb_ids - third_party/xdg-utils - third_party/yasm/run_yasm.py - ) - if ! use system-ffmpeg; then - keeplibs+=( third_party/ffmpeg third_party/opus ) - fi - if ! use system-icu; then - keeplibs+=( third_party/icu ) - fi - if ! use system-libvpx; then - keeplibs+=( third_party/libvpx ) - keeplibs+=( third_party/libvpx/source/libvpx/third_party/x86inc ) - fi - if use tcmalloc; then - keeplibs+=( third_party/tcmalloc ) - fi - - # Remove most bundled libraries. Some are still needed. - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die -} - -src_configure() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local myconf_gn="" - - # Make sure the build system will use the right tools, bug #340795. - tc-export AR CC CXX NM - - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] && ! tc-is-clang; then - # Force clang since gcc is pretty broken at the moment. - CC=${CHOST}-clang - CXX=${CHOST}-clang++ - strip-unsupported-flags - fi - - if tc-is-clang; then - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" - else - myconf_gn+=" is_clang=false" - fi - - # Define a custom toolchain for GN - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" - - if tc-is-cross-compiler; then - tc-export BUILD_{AR,CC,CXX,NM} - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" - else - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - fi - - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - myconf_gn+=" is_debug=false" - - # Component build isn't generally intended for use by end users. It's mostly useful - # for development and debugging. - myconf_gn+=" is_component_build=$(usex component-build true false)" - - myconf_gn+=" use_allocator=$(usex tcmalloc \"tcmalloc\" \"none\")" - - # Disable nacl, we can't build without pnacl (http://crbug.com/269560). - myconf_gn+=" enable_nacl=false" - - # Use system-provided libraries. - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_libsrtp (bug #459932). - # TODO: use_system_protobuf (bug #525560). - # TODO: use_system_ssl (http://crbug.com/58087). - # TODO: use_system_sqlite (http://crbug.com/22208). - - # libevent: https://bugs.gentoo.org/593458 - local gn_system_libraries=( - flac - fontconfig - freetype - # Need harfbuzz_from_pkgconfig target - #harfbuzz-ng - libdrm - libjpeg - libpng - libwebp - #libxml - libxslt - openh264 - re2 - snappy - yasm - zlib - ) - if use system-ffmpeg; then - gn_system_libraries+=( ffmpeg opus ) - fi - if use system-icu; then - gn_system_libraries+=( icu ) - fi - if use system-libvpx; then - gn_system_libraries+=( libvpx ) - fi - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die - - # See dependency logic in third_party/BUILD.gn - myconf_gn+=" use_system_harfbuzz=true" - - # Optional dependencies. - myconf_gn+=" closure_compile=$(usex closure-compile true false)" - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" - myconf_gn+=" enable_widevine=$(usex widevine true false)" - myconf_gn+=" use_cups=$(usex cups true false)" - myconf_gn+=" use_gnome_keyring=$(usex gnome-keyring true false)" - myconf_gn+=" use_kerberos=$(usex kerberos true false)" - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" - myconf_gn+=" use_vaapi=$(usex vaapi true false)" - - # TODO: link_pulseaudio=true for GN. - - myconf_gn+=" fieldtrial_testing_like_official_build=true" - - # Never use bundled gold binary. Disable gold linker flags for now. - # Do not use bundled clang. - # Trying to use gold results in linker crash. - myconf_gn+=" use_gold=false use_sysroot=false linux_use_bundled_binutils=false use_custom_libcxx=false" - - # Disable forced lld, bug 641556 - myconf_gn+=" use_lld=false" - - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" - - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . - # Note: these are for Gentoo use ONLY. For your own distribution, - # please get your own set of keys. Feel free to contact chromium@gentoo.org - # for more info. - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" - local google_default_client_id="329227923882.apps.googleusercontent.com" - local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu" - myconf_gn+=" google_api_key=\"${google_api_key}\"" - myconf_gn+=" google_default_client_id=\"${google_default_client_id}\"" - myconf_gn+=" google_default_client_secret=\"${google_default_client_secret}\"" - - local myarch="$(tc-arch)" - - # Avoid CFLAGS problems, bug #352457, bug #390147. - if ! use custom-cflags; then - replace-flags "-Os" "-O2" - strip-flags - - # Prevent linker from running out of address space, bug #471810 . - if use x86; then - filter-flags "-g*" - fi - - # Prevent libvpx build failures. Bug 530248, 544702, 546984. - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 - fi - fi - - if [[ $myarch = amd64 ]] ; then - myconf_gn+=" target_cpu=\"x64\"" - ffmpeg_target_arch=x64 - elif [[ $myarch = x86 ]] ; then - myconf_gn+=" target_cpu=\"x86\"" - ffmpeg_target_arch=ia32 - - # This is normally defined by compiler_cpu_abi in - # build/config/compiler/BUILD.gn, but we patch that part out. - append-flags -msse2 -mfpmath=sse -mmmx - elif [[ $myarch = arm64 ]] ; then - myconf_gn+=" target_cpu=\"arm64\"" - ffmpeg_target_arch=arm64 - elif [[ $myarch = arm ]] ; then - myconf_gn+=" target_cpu=\"arm\"" - ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm) - else - 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" - - # Bug 491582. - export TMPDIR="${WORKDIR}/temp" - mkdir -p -m 755 "${TMPDIR}" || die - - # https://bugs.gentoo.org/654216 - addpredict /dev/dri/ #nowarn - - #if ! use system-ffmpeg; then - if false; then - local build_ffmpeg_args="" - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then - build_ffmpeg_args+=" --disable-asm" - fi - - # Re-configure bundled ffmpeg. See bug #491378 for example reasons. - einfo "Configuring bundled ffmpeg..." - pushd third_party/ffmpeg > /dev/null || die - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \ - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die - chromium/scripts/copy_config.sh || die - chromium/scripts/generate_gn.py || die - popd > /dev/null || die - fi - - # Chromium relies on this, but was disabled in >=clang-10, crbug.com/1042470 - append-cxxflags $(test-flags-CXX -flax-vector-conversions=all) - - # Explicitly disable ICU data file support for system-icu builds. - if use system-icu; then - myconf_gn+=" icu_use_data_file=false" - fi - - einfo "Configuring Chromium..." - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release - echo "$@" - "$@" || die -} - -src_compile() { - # Final link uses lots of file descriptors. - ulimit -n 2048 - - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die - - # Build mksnapshot and pax-mark it. - local x - for x in mksnapshot v8_context_snapshot_generator; do - if tc-is-cross-compiler; then - eninja -C out/Release "host/${x}" - pax-mark m "out/Release/host/${x}" - else - eninja -C out/Release "${x}" - pax-mark m "out/Release/${x}" - fi - done - - # Even though ninja autodetects number of CPUs, we respect - # user's options, for debugging with -j 1 or any other reason. - eninja -C out/Release chrome chromedriver - use suid && eninja -C out/Release chrome_sandbox - - pax-mark m out/Release/chrome - - # Build desktop file; bug #706786 - sed -e 's|@@MENUNAME@@|Chromium|g; - s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g; - s|@@PACKAGE@@|chromium-browser|g; - s|\(^Exec=\)/usr/bin/|\1|g;' \ - chrome/installer/linux/common/desktop.template > \ - out/Release/chromium-browser-chromium.desktop || die - - # Build manpage; bug #684550 - sed -e 's|@@PACKAGE@@|chromium-browser|g; - s|@@MENUNAME@@|Chromium|g;' \ - chrome/app/resources/manpage.1.in > \ - out/Release/chromium-browser.1 || die -} - -src_install() { - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" - exeinto "${CHROMIUM_HOME}" - doexe out/Release/chrome - - if use suid; then - newexe out/Release/chrome_sandbox chrome-sandbox - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" - fi - - doexe out/Release/chromedriver - - local sedargs=( -e "s:/usr/lib/:/usr/$(get_libdir)/:g" ) - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r3.sh" > chromium-launcher.sh || die - doexe chromium-launcher.sh - - # It is important that we name the target "chromium-browser", - # xdg-utils expect it; bug #355517. - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser - # keep the old symlink around for consistency - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium - - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver - - # Allow users to override command-line options, bug #357629. - insinto /etc/chromium - newins "${FILESDIR}/chromium.default" "default" - - pushd out/Release/locales > /dev/null || die - chromium_remove_language_paks - popd - - insinto "${CHROMIUM_HOME}" - doins out/Release/*.bin - doins out/Release/*.pak - doins out/Release/*.so - - if ! use system-icu; then - doins out/Release/icudtl.dat - fi - - doins -r out/Release/locales - doins -r out/Release/resources - - if [[ -d out/Release/swiftshader ]]; then - insinto "${CHROMIUM_HOME}/swiftshader" - doins out/Release/swiftshader/*.so - fi - - # Install icons - local branding size - for size in 16 24 32 48 64 128 256 ; do - case ${size} in - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; - *) branding="chrome/app/theme/chromium" ;; - esac - newicon -s ${size} "${branding}/product_logo_${size}.png" \ - chromium-browser.png - done - - # Install desktop entry - domenu out/Release/chromium-browser-chromium.desktop - - # Install GNOME default application entry (bug #303100). - insinto /usr/share/gnome-control-center/default-apps - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml - - # Install manpage; bug #684550 - doman out/Release/chromium-browser.1 - dosym chromium-browser.1 /usr/share/man/man1/chromium.1 - - readme.gentoo_create_doc -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_desktop_database_update -} - -pkg_postinst() { - xdg_icon_cache_update - xdg_desktop_database_update - readme.gentoo_print_elog -} diff --git a/www-client/chromium/chromium-83.0.4100.3.ebuild b/www-client/chromium/chromium-83.0.4100.3.ebuild deleted file mode 100644 index abbfd6e..0000000 --- a/www-client/chromium/chromium-83.0.4100.3.ebuild +++ /dev/null @@ -1,744 +0,0 @@ -# Copyright 2009-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python2_7 ) - -CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - 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 vi zh-CN zh-TW" - -inherit check-reqs chromium-2 desktop flag-o-matic multilib ninja-utils pax-utils portability python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="http://chromium.org/" -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" -IUSE="+closure-compile component-build cups cpu_flags_arm_neon gnome-keyring +hangouts kerberos pic +proprietary-codecs pulseaudio selinux +suid +system-ffmpeg +system-icu +system-libvpx +tcmalloc widevine vaapi" -RESTRICT="!system-ffmpeg? ( proprietary-codecs? ( bindist ) )" -REQUIRED_USE="component-build? ( !suid )" - -COMMON_DEPEND=" - >=app-accessibility/at-spi2-atk-2.26:2 - app-arch/bzip2:= - cups? ( >=net-print/cups-1.3.11:= ) - >=dev-libs/atk-2.26 - dev-libs/expat:= - dev-libs/glib:2 - system-icu? ( >=dev-libs/icu-65:= ) - >=dev-libs/libxml2-2.9.4-r3:=[icu] - dev-libs/libxslt:= - dev-libs/nspr:= - >=dev-libs/nss-3.26:= - >=dev-libs/re2-0.2019.08.01:= - gnome-keyring? ( >=gnome-base/libgnome-keyring-3.12:= ) - >=media-libs/alsa-lib-1.0.19:= - media-libs/fontconfig:= - media-libs/freetype:= - >=media-libs/harfbuzz-2.4.0:0=[icu(-)] - media-libs/libjpeg-turbo:= - media-libs/libpng:= - system-libvpx? ( media-libs/libvpx:=[postproc,svc] ) - >=media-libs/openh264-1.6.0:= - pulseaudio? ( media-sound/pulseaudio:= ) - system-ffmpeg? ( - >=media-video/ffmpeg-4:= - || ( - media-video/ffmpeg[-samba] - >=net-fs/samba-4.5.10-r1[-debug(-)] - ) - !=net-fs/samba-4.5.12-r0 - media-libs/opus:= - ) - sys-apps/dbus:= - sys-apps/pciutils:= - virtual/udev - x11-libs/cairo:= - x11-libs/gdk-pixbuf:2 - x11-libs/gtk+:3[X] - x11-libs/libX11:= - x11-libs/libXcomposite:= - x11-libs/libXcursor:= - x11-libs/libXdamage:= - x11-libs/libXext:= - x11-libs/libXfixes:= - >=x11-libs/libXi-1.6.0:= - x11-libs/libXrandr:= - x11-libs/libXrender:= - x11-libs/libXScrnSaver:= - x11-libs/libXtst:= - x11-libs/pango:= - app-arch/snappy:= - media-libs/flac:= - >=media-libs/libwebp-0.4.0:= - sys-libs/zlib:=[minizip] - kerberos? ( virtual/krb5 ) -" -# For nvidia-drivers blocker, see bug #413637 . -RDEPEND="${COMMON_DEPEND} - !<www-plugins/chrome-binary-plugins-57 - x11-misc/xdg-utils - virtual/opengl - virtual/ttf-fonts - selinux? ( sec-policy/selinux-chromium ) - tcmalloc? ( !<x11-drivers/nvidia-drivers-331.20 ) - widevine? ( www-plugins/chrome-binary-plugins[widevine(-)] ) -" -DEPEND="${COMMON_DEPEND} -" -# dev-vcs/git - https://bugs.gentoo.org/593476 -BDEPEND=" - ${PYTHON_DEPS} - >=app-arch/gzip-1.7 - !arm? ( - dev-lang/yasm - ) - dev-lang/perl - dev-util/gn - dev-vcs/git - >=dev-util/gperf-3.0.3 - >=dev-util/ninja-1.7.2 - >=net-libs/nodejs-7.6.0[inspector] - sys-apps/hwids[usb(+)] - >=sys-devel/bison-2.4.3 - sys-devel/flex - closure-compile? ( virtual/jre ) - virtual/pkgconfig -" - -: ${CHROMIUM_FORCE_CLANG=yes} - -if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then - BDEPEND+=" >=sys-devel/clang-7" -fi - -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then - EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; -fi - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -Some web pages may require additional fonts to display properly. -Try installing some of the following packages if some characters -are not displayed properly: -- media-fonts/arphicfonts -- media-fonts/droid -- media-fonts/ipamonafont -- media-fonts/noto -- media-fonts/ja-ipafonts -- media-fonts/takao-fonts -- media-fonts/wqy-microhei -- media-fonts/wqy-zenhei - -To fix broken icons on the Downloads page, you should install an icon -theme that covers the appropriate MIME types, and configure this as your -GTK+ icon theme. - -For native file dialogs in KDE, install kde-apps/kdialog. -" - -PATCHES=( - "${FILESDIR}/chromium-compiler-83.patch" - "${FILESDIR}/chromium-widevine-80.patch" - "${FILESDIR}/chromium-fix-char_traits.patch" - "${FILESDIR}/chromium-zlib-82.patch" - "${FILESDIR}/chromium-77-clang.patch" - "${FILESDIR}/chromium-vaapi-83.patch" - "${FILESDIR}/chromium-clang-format-path-82.patch" - "${FILESDIR}/chromium-ngphyscontainer-iterator-cat-83.patch" - "${FILESDIR}/chromium-axtree-incomplete-type-83.patch" - "${FILESDIR}/chromium-crx-install-err-include-83.patch" -) - -pre_build_checks() { - if [[ ${MERGE_TYPE} != binary ]]; then - local -x CPP="$(tc-getCXX) -E" - if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 8.0; then - die "At least gcc 8.0 is required" - fi - fi - - # Check build requirements, bug #541816 and bug #471810 . - CHECKREQS_MEMORY="3G" - CHECKREQS_DISK_BUILD="7G" - if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then - CHECKREQS_DISK_BUILD="25G" - if ! use component-build; then - CHECKREQS_MEMORY="16G" - fi - fi - check-reqs_pkg_setup -} - -pkg_pretend() { - pre_build_checks -} - -pkg_setup() { - pre_build_checks - - chromium_suid_sandbox_check_kernel_config -} - -src_prepare() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - default - - mkdir -p third_party/node/linux/node-linux-x64/bin || die - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die - - local 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 - 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/angle/third_party/glslang - third_party/angle/third_party/spirv-headers - third_party/angle/third_party/spirv-tools - third_party/angle/third_party/vulkan-headers - third_party/angle/third_party/vulkan-loader - third_party/angle/third_party/vulkan-tools - third_party/angle/third_party/vulkan-validation-layers - 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/cacheinvalidation - 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/devscripts - third_party/devtools-frontend - third_party/devtools-frontend/src/front_end/third_party/fabricjs - third_party/devtools-frontend/src/front_end/third_party/wasmparser - third_party/devtools-frontend/src/front_end/third_party/lighthouse - third_party/devtools-frontend/src/third_party/axe-core - third_party/devtools-frontend/src/third_party/pyjson5 - third_party/devtools-frontend/src/third_party/typescript - third_party/depot_tools - third_party/dom_distiller_js - third_party/emoji-segmenter - third_party/flatbuffers - third_party/freetype - third_party/glslang - 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/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/vector - third_party/libaom/source/libaom/third_party/x86inc - third_party/libgifcodec - third_party/libjingle - third_party/libphonenumber - third_party/libsecret - third_party/libsrtp - third_party/libsync - third_party/libudev - third_party/libwebm - third_party/libxml - third_party/libyuv - third_party/llvm - 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/node - third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2 - third_party/one_euro_filter - third_party/openscreen - 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/pffft - third_party/ply - third_party/polymer - third_party/private-join-and-compute - third_party/protobuf - third_party/protobuf/third_party/six - third_party/pyjson5 - third_party/qcms - third_party/rnnoise - third_party/s2cellid - third_party/schema_org - 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/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-7.0 - 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/unrar - third_party/usrsctp - third_party/vulkan - third_party/web-animations-js - third_party/webdriver - third_party/webrtc - third_party/webrtc/common_audio/third_party/fft4g - 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/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/adobe - third_party/speech-dispatcher - third_party/usb_ids - third_party/xdg-utils - third_party/yasm/run_yasm.py - ) - if ! use system-ffmpeg; then - keeplibs+=( third_party/ffmpeg third_party/opus ) - fi - if ! use system-icu; then - keeplibs+=( third_party/icu ) - fi - if ! use system-libvpx; then - keeplibs+=( third_party/libvpx ) - keeplibs+=( third_party/libvpx/source/libvpx/third_party/x86inc ) - fi - if use tcmalloc; then - keeplibs+=( third_party/tcmalloc ) - fi - - # Remove most bundled libraries. Some are still needed. - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die -} - -src_configure() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local myconf_gn="" - - # Make sure the build system will use the right tools, bug #340795. - tc-export AR CC CXX NM - - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] && ! tc-is-clang; then - # Force clang since gcc is pretty broken at the moment. - CC=${CHOST}-clang - CXX=${CHOST}-clang++ - strip-unsupported-flags - fi - - if tc-is-clang; then - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" - else - myconf_gn+=" is_clang=false" - fi - - # Define a custom toolchain for GN - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" - - if tc-is-cross-compiler; then - tc-export BUILD_{AR,CC,CXX,NM} - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" - else - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - fi - - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - myconf_gn+=" is_debug=false" - - # Component build isn't generally intended for use by end users. It's mostly useful - # for development and debugging. - myconf_gn+=" is_component_build=$(usex component-build true false)" - - myconf_gn+=" use_allocator=$(usex tcmalloc \"tcmalloc\" \"none\")" - - # Disable nacl, we can't build without pnacl (http://crbug.com/269560). - myconf_gn+=" enable_nacl=false" - - # Use system-provided libraries. - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_libsrtp (bug #459932). - # TODO: use_system_protobuf (bug #525560). - # TODO: use_system_ssl (http://crbug.com/58087). - # TODO: use_system_sqlite (http://crbug.com/22208). - - # libevent: https://bugs.gentoo.org/593458 - local gn_system_libraries=( - flac - fontconfig - freetype - # Need harfbuzz_from_pkgconfig target - #harfbuzz-ng - libdrm - libjpeg - libpng - libwebp - #libxml - libxslt - openh264 - re2 - snappy - yasm - zlib - ) - if use system-ffmpeg; then - gn_system_libraries+=( ffmpeg opus ) - fi - if use system-icu; then - gn_system_libraries+=( icu ) - fi - if use system-libvpx; then - gn_system_libraries+=( libvpx ) - fi - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die - - # See dependency logic in third_party/BUILD.gn - myconf_gn+=" use_system_harfbuzz=true" - - # Optional dependencies. - myconf_gn+=" closure_compile=$(usex closure-compile true false)" - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" - myconf_gn+=" enable_widevine=$(usex widevine true false)" - myconf_gn+=" use_cups=$(usex cups true false)" - myconf_gn+=" use_gnome_keyring=$(usex gnome-keyring true false)" - myconf_gn+=" use_kerberos=$(usex kerberos true false)" - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" - myconf_gn+=" use_vaapi=$(usex vaapi true false)" - - # TODO: link_pulseaudio=true for GN. - - myconf_gn+=" fieldtrial_testing_like_official_build=true" - - # Never use bundled gold binary. Disable gold linker flags for now. - # Do not use bundled clang. - # Trying to use gold results in linker crash. - myconf_gn+=" use_gold=false use_sysroot=false linux_use_bundled_binutils=false use_custom_libcxx=false" - - # Disable forced lld, bug 641556 - myconf_gn+=" use_lld=false" - - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" - - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . - # Note: these are for Gentoo use ONLY. For your own distribution, - # please get your own set of keys. Feel free to contact chromium@gentoo.org - # for more info. - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" - local google_default_client_id="329227923882.apps.googleusercontent.com" - local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu" - myconf_gn+=" google_api_key=\"${google_api_key}\"" - myconf_gn+=" google_default_client_id=\"${google_default_client_id}\"" - myconf_gn+=" google_default_client_secret=\"${google_default_client_secret}\"" - - local myarch="$(tc-arch)" - - # Avoid CFLAGS problems, bug #352457, bug #390147. - if ! use custom-cflags; then - replace-flags "-Os" "-O2" - strip-flags - - # Prevent linker from running out of address space, bug #471810 . - if use x86; then - filter-flags "-g*" - fi - - # Prevent libvpx build failures. Bug 530248, 544702, 546984. - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 - fi - fi - - if [[ $myarch = amd64 ]] ; then - myconf_gn+=" target_cpu=\"x64\"" - ffmpeg_target_arch=x64 - elif [[ $myarch = x86 ]] ; then - myconf_gn+=" target_cpu=\"x86\"" - ffmpeg_target_arch=ia32 - - # This is normally defined by compiler_cpu_abi in - # build/config/compiler/BUILD.gn, but we patch that part out. - append-flags -msse2 -mfpmath=sse -mmmx - elif [[ $myarch = arm64 ]] ; then - myconf_gn+=" target_cpu=\"arm64\"" - ffmpeg_target_arch=arm64 - elif [[ $myarch = arm ]] ; then - myconf_gn+=" target_cpu=\"arm\"" - ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm) - else - 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" - - # Bug 491582. - export TMPDIR="${WORKDIR}/temp" - mkdir -p -m 755 "${TMPDIR}" || die - - # https://bugs.gentoo.org/654216 - addpredict /dev/dri/ #nowarn - - #if ! use system-ffmpeg; then - if false; then - local build_ffmpeg_args="" - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then - build_ffmpeg_args+=" --disable-asm" - fi - - # Re-configure bundled ffmpeg. See bug #491378 for example reasons. - einfo "Configuring bundled ffmpeg..." - pushd third_party/ffmpeg > /dev/null || die - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \ - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die - chromium/scripts/copy_config.sh || die - chromium/scripts/generate_gn.py || die - popd > /dev/null || die - fi - - # Chromium relies on this, but was disabled in >=clang-10, crbug.com/1042470 - append-cxxflags $(test-flags-CXX -flax-vector-conversions=all) - - # Explicitly disable ICU data file support for system-icu builds. - if use system-icu; then - myconf_gn+=" icu_use_data_file=false" - fi - - einfo "Configuring Chromium..." - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release - echo "$@" - "$@" || die -} - -src_compile() { - # Final link uses lots of file descriptors. - ulimit -n 2048 - - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die - - # Build mksnapshot and pax-mark it. - local x - for x in mksnapshot v8_context_snapshot_generator; do - if tc-is-cross-compiler; then - eninja -C out/Release "host/${x}" - pax-mark m "out/Release/host/${x}" - else - eninja -C out/Release "${x}" - pax-mark m "out/Release/${x}" - fi - done - - # Even though ninja autodetects number of CPUs, we respect - # user's options, for debugging with -j 1 or any other reason. - eninja -C out/Release chrome chromedriver - use suid && eninja -C out/Release chrome_sandbox - - pax-mark m out/Release/chrome - - # Build desktop file; bug #706786 - sed -e 's|@@MENUNAME@@|Chromium|g; - s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g; - s|@@PACKAGE@@|chromium-browser|g; - s|\(^Exec=\)/usr/bin/|\1|g;' \ - chrome/installer/linux/common/desktop.template > \ - out/Release/chromium-browser-chromium.desktop || die - - # Build manpage; bug #684550 - sed -e 's|@@PACKAGE@@|chromium-browser|g; - s|@@MENUNAME@@|Chromium|g;' \ - chrome/app/resources/manpage.1.in > \ - out/Release/chromium-browser.1 || die -} - -src_install() { - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" - exeinto "${CHROMIUM_HOME}" - doexe out/Release/chrome - - if use suid; then - newexe out/Release/chrome_sandbox chrome-sandbox - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" - fi - - doexe out/Release/chromedriver - - local sedargs=( -e "s:/usr/lib/:/usr/$(get_libdir)/:g" ) - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r3.sh" > chromium-launcher.sh || die - doexe chromium-launcher.sh - - # It is important that we name the target "chromium-browser", - # xdg-utils expect it; bug #355517. - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser - # keep the old symlink around for consistency - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium - - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver - - # Allow users to override command-line options, bug #357629. - insinto /etc/chromium - newins "${FILESDIR}/chromium.default" "default" - - pushd out/Release/locales > /dev/null || die - chromium_remove_language_paks - popd - - insinto "${CHROMIUM_HOME}" - doins out/Release/*.bin - doins out/Release/*.pak - doins out/Release/*.so - - if ! use system-icu; then - doins out/Release/icudtl.dat - fi - - doins -r out/Release/locales - doins -r out/Release/resources - - if [[ -d out/Release/swiftshader ]]; then - insinto "${CHROMIUM_HOME}/swiftshader" - doins out/Release/swiftshader/*.so - fi - - # Install icons - local branding size - for size in 16 24 32 48 64 128 256 ; do - case ${size} in - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; - *) branding="chrome/app/theme/chromium" ;; - esac - newicon -s ${size} "${branding}/product_logo_${size}.png" \ - chromium-browser.png - done - - # Install desktop entry - domenu out/Release/chromium-browser-chromium.desktop - - # Install GNOME default application entry (bug #303100). - insinto /usr/share/gnome-control-center/default-apps - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml - - # Install manpage; bug #684550 - doman out/Release/chromium-browser.1 - dosym chromium-browser.1 /usr/share/man/man1/chromium.1 - - readme.gentoo_create_doc -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_desktop_database_update -} - -pkg_postinst() { - xdg_icon_cache_update - xdg_desktop_database_update - readme.gentoo_print_elog -} diff --git a/www-client/chromium/chromium-83.0.4103.7.ebuild b/www-client/chromium/chromium-83.0.4103.7.ebuild deleted file mode 100644 index 8e28715..0000000 --- a/www-client/chromium/chromium-83.0.4103.7.ebuild +++ /dev/null @@ -1,747 +0,0 @@ -# Copyright 2009-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python2_7 ) - -CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - 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 vi zh-CN zh-TW" - -inherit check-reqs chromium-2 desktop flag-o-matic multilib ninja-utils pax-utils portability python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="http://chromium.org/" -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" -IUSE="+closure-compile component-build cups cpu_flags_arm_neon gnome-keyring +hangouts kerberos pic +proprietary-codecs pulseaudio selinux +suid +system-ffmpeg +system-icu +system-libvpx +tcmalloc widevine vaapi" -RESTRICT="!system-ffmpeg? ( proprietary-codecs? ( bindist ) )" -REQUIRED_USE="component-build? ( !suid )" - -COMMON_DEPEND=" - >=app-accessibility/at-spi2-atk-2.26:2 - app-arch/bzip2:= - cups? ( >=net-print/cups-1.3.11:= ) - >=dev-libs/atk-2.26 - dev-libs/expat:= - dev-libs/glib:2 - system-icu? ( >=dev-libs/icu-65:= ) - >=dev-libs/libxml2-2.9.4-r3:=[icu] - dev-libs/libxslt:= - dev-libs/nspr:= - >=dev-libs/nss-3.26:= - >=dev-libs/re2-0.2019.08.01:= - gnome-keyring? ( >=gnome-base/libgnome-keyring-3.12:= ) - >=media-libs/alsa-lib-1.0.19:= - media-libs/fontconfig:= - media-libs/freetype:= - >=media-libs/harfbuzz-2.4.0:0=[icu(-)] - media-libs/libjpeg-turbo:= - media-libs/libpng:= - system-libvpx? ( media-libs/libvpx:=[postproc,svc] ) - >=media-libs/openh264-1.6.0:= - pulseaudio? ( media-sound/pulseaudio:= ) - system-ffmpeg? ( - >=media-video/ffmpeg-4:= - || ( - media-video/ffmpeg[-samba] - >=net-fs/samba-4.5.10-r1[-debug(-)] - ) - !=net-fs/samba-4.5.12-r0 - media-libs/opus:= - ) - sys-apps/dbus:= - sys-apps/pciutils:= - virtual/udev - x11-libs/cairo:= - x11-libs/gdk-pixbuf:2 - x11-libs/gtk+:3[X] - x11-libs/libX11:= - x11-libs/libXcomposite:= - x11-libs/libXcursor:= - x11-libs/libXdamage:= - x11-libs/libXext:= - x11-libs/libXfixes:= - >=x11-libs/libXi-1.6.0:= - x11-libs/libXrandr:= - x11-libs/libXrender:= - x11-libs/libXScrnSaver:= - x11-libs/libXtst:= - x11-libs/pango:= - app-arch/snappy:= - media-libs/flac:= - >=media-libs/libwebp-0.4.0:= - sys-libs/zlib:=[minizip] - kerberos? ( virtual/krb5 ) -" -# For nvidia-drivers blocker, see bug #413637 . -RDEPEND="${COMMON_DEPEND} - !<www-plugins/chrome-binary-plugins-57 - x11-misc/xdg-utils - virtual/opengl - virtual/ttf-fonts - selinux? ( sec-policy/selinux-chromium ) - tcmalloc? ( !<x11-drivers/nvidia-drivers-331.20 ) - widevine? ( www-plugins/chrome-binary-plugins[widevine(-)] ) -" -DEPEND="${COMMON_DEPEND} -" -# dev-vcs/git - https://bugs.gentoo.org/593476 -BDEPEND=" - ${PYTHON_DEPS} - >=app-arch/gzip-1.7 - !arm? ( - dev-lang/yasm - ) - dev-lang/perl - dev-util/gn - dev-vcs/git - >=dev-util/gperf-3.0.3 - >=dev-util/ninja-1.7.2 - >=net-libs/nodejs-7.6.0[inspector] - sys-apps/hwids[usb(+)] - >=sys-devel/bison-2.4.3 - sys-devel/flex - closure-compile? ( virtual/jre ) - virtual/pkgconfig -" - -: ${CHROMIUM_FORCE_CLANG=yes} - -if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then - BDEPEND+=" >=sys-devel/clang-7" -fi - -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then - EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; -fi - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -Some web pages may require additional fonts to display properly. -Try installing some of the following packages if some characters -are not displayed properly: -- media-fonts/arphicfonts -- media-fonts/droid -- media-fonts/ipamonafont -- media-fonts/noto -- media-fonts/ja-ipafonts -- media-fonts/takao-fonts -- media-fonts/wqy-microhei -- media-fonts/wqy-zenhei - -To fix broken icons on the Downloads page, you should install an icon -theme that covers the appropriate MIME types, and configure this as your -GTK+ icon theme. - -For native file dialogs in KDE, install kde-apps/kdialog. -" - -PATCHES=( - "${FILESDIR}/chromium-compiler-83.patch" - "${FILESDIR}/chromium-widevine-80.patch" - "${FILESDIR}/chromium-fix-char_traits.patch" - "${FILESDIR}/chromium-zlib-82.patch" - "${FILESDIR}/chromium-77-clang.patch" - "${FILESDIR}/chromium-vaapi-83.patch" - "${FILESDIR}/chromium-clang-format-path-82.patch" - "${FILESDIR}/chromium-ngphyscontainer-iterator-cat-83.patch" - "${FILESDIR}/chromium-axtree-incomplete-type-83.patch" - "${FILESDIR}/chromium-crx-install-err-include-83.patch" - "${FILESDIR}/chromium-hashtable-iterator-cat-83.patch" - "${FILESDIR}/chromium-blink-include-memory-83.patch" - "${FILESDIR}/chromium-include-limits-83.patch" -) - -pre_build_checks() { - if [[ ${MERGE_TYPE} != binary ]]; then - local -x CPP="$(tc-getCXX) -E" - if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 8.0; then - die "At least gcc 8.0 is required" - fi - fi - - # Check build requirements, bug #541816 and bug #471810 . - CHECKREQS_MEMORY="3G" - CHECKREQS_DISK_BUILD="7G" - if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then - CHECKREQS_DISK_BUILD="25G" - if ! use component-build; then - CHECKREQS_MEMORY="16G" - fi - fi - check-reqs_pkg_setup -} - -pkg_pretend() { - pre_build_checks -} - -pkg_setup() { - pre_build_checks - - chromium_suid_sandbox_check_kernel_config -} - -src_prepare() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - default - - mkdir -p third_party/node/linux/node-linux-x64/bin || die - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die - - local 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 - 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/angle/third_party/glslang - third_party/angle/third_party/spirv-headers - third_party/angle/third_party/spirv-tools - third_party/angle/third_party/vulkan-headers - third_party/angle/third_party/vulkan-loader - third_party/angle/third_party/vulkan-tools - third_party/angle/third_party/vulkan-validation-layers - 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/cacheinvalidation - 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/devscripts - third_party/devtools-frontend - third_party/devtools-frontend/src/front_end/third_party/fabricjs - third_party/devtools-frontend/src/front_end/third_party/wasmparser - third_party/devtools-frontend/src/front_end/third_party/lighthouse - third_party/devtools-frontend/src/third_party/axe-core - third_party/devtools-frontend/src/third_party/pyjson5 - third_party/devtools-frontend/src/third_party/typescript - third_party/depot_tools - third_party/dom_distiller_js - third_party/emoji-segmenter - third_party/flatbuffers - third_party/freetype - third_party/glslang - 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/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/vector - third_party/libaom/source/libaom/third_party/x86inc - third_party/libgifcodec - third_party/libjingle - third_party/libphonenumber - third_party/libsecret - third_party/libsrtp - third_party/libsync - third_party/libudev - third_party/libwebm - third_party/libxml - third_party/libyuv - third_party/llvm - 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/node - third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2 - third_party/one_euro_filter - third_party/openscreen - 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/pffft - third_party/ply - third_party/polymer - third_party/private-join-and-compute - third_party/protobuf - third_party/protobuf/third_party/six - third_party/pyjson5 - third_party/qcms - third_party/rnnoise - third_party/s2cellid - third_party/schema_org - 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/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-7.0 - 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/unrar - third_party/usrsctp - third_party/vulkan - third_party/web-animations-js - third_party/webdriver - third_party/webrtc - third_party/webrtc/common_audio/third_party/fft4g - 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/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/adobe - third_party/speech-dispatcher - third_party/usb_ids - third_party/xdg-utils - third_party/yasm/run_yasm.py - ) - if ! use system-ffmpeg; then - keeplibs+=( third_party/ffmpeg third_party/opus ) - fi - if ! use system-icu; then - keeplibs+=( third_party/icu ) - fi - if ! use system-libvpx; then - keeplibs+=( third_party/libvpx ) - keeplibs+=( third_party/libvpx/source/libvpx/third_party/x86inc ) - fi - if use tcmalloc; then - keeplibs+=( third_party/tcmalloc ) - fi - - # Remove most bundled libraries. Some are still needed. - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die -} - -src_configure() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local myconf_gn="" - - # Make sure the build system will use the right tools, bug #340795. - tc-export AR CC CXX NM - - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] && ! tc-is-clang; then - # Force clang since gcc is pretty broken at the moment. - CC=${CHOST}-clang - CXX=${CHOST}-clang++ - strip-unsupported-flags - fi - - if tc-is-clang; then - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" - else - myconf_gn+=" is_clang=false" - fi - - # Define a custom toolchain for GN - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" - - if tc-is-cross-compiler; then - tc-export BUILD_{AR,CC,CXX,NM} - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" - else - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - fi - - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - myconf_gn+=" is_debug=false" - - # Component build isn't generally intended for use by end users. It's mostly useful - # for development and debugging. - myconf_gn+=" is_component_build=$(usex component-build true false)" - - myconf_gn+=" use_allocator=$(usex tcmalloc \"tcmalloc\" \"none\")" - - # Disable nacl, we can't build without pnacl (http://crbug.com/269560). - myconf_gn+=" enable_nacl=false" - - # Use system-provided libraries. - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_libsrtp (bug #459932). - # TODO: use_system_protobuf (bug #525560). - # TODO: use_system_ssl (http://crbug.com/58087). - # TODO: use_system_sqlite (http://crbug.com/22208). - - # libevent: https://bugs.gentoo.org/593458 - local gn_system_libraries=( - flac - fontconfig - freetype - # Need harfbuzz_from_pkgconfig target - #harfbuzz-ng - libdrm - libjpeg - libpng - libwebp - #libxml - libxslt - openh264 - re2 - snappy - yasm - zlib - ) - if use system-ffmpeg; then - gn_system_libraries+=( ffmpeg opus ) - fi - if use system-icu; then - gn_system_libraries+=( icu ) - fi - if use system-libvpx; then - gn_system_libraries+=( libvpx ) - fi - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die - - # See dependency logic in third_party/BUILD.gn - myconf_gn+=" use_system_harfbuzz=true" - - # Optional dependencies. - myconf_gn+=" closure_compile=$(usex closure-compile true false)" - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" - myconf_gn+=" enable_widevine=$(usex widevine true false)" - myconf_gn+=" use_cups=$(usex cups true false)" - myconf_gn+=" use_gnome_keyring=$(usex gnome-keyring true false)" - myconf_gn+=" use_kerberos=$(usex kerberos true false)" - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" - myconf_gn+=" use_vaapi=$(usex vaapi true false)" - - # TODO: link_pulseaudio=true for GN. - - myconf_gn+=" fieldtrial_testing_like_official_build=true" - - # Never use bundled gold binary. Disable gold linker flags for now. - # Do not use bundled clang. - # Trying to use gold results in linker crash. - myconf_gn+=" use_gold=false use_sysroot=false linux_use_bundled_binutils=false use_custom_libcxx=false" - - # Disable forced lld, bug 641556 - myconf_gn+=" use_lld=false" - - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" - - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . - # Note: these are for Gentoo use ONLY. For your own distribution, - # please get your own set of keys. Feel free to contact chromium@gentoo.org - # for more info. - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" - local google_default_client_id="329227923882.apps.googleusercontent.com" - local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu" - myconf_gn+=" google_api_key=\"${google_api_key}\"" - myconf_gn+=" google_default_client_id=\"${google_default_client_id}\"" - myconf_gn+=" google_default_client_secret=\"${google_default_client_secret}\"" - - local myarch="$(tc-arch)" - - # Avoid CFLAGS problems, bug #352457, bug #390147. - if ! use custom-cflags; then - replace-flags "-Os" "-O2" - strip-flags - - # Prevent linker from running out of address space, bug #471810 . - if use x86; then - filter-flags "-g*" - fi - - # Prevent libvpx build failures. Bug 530248, 544702, 546984. - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 - fi - fi - - if [[ $myarch = amd64 ]] ; then - myconf_gn+=" target_cpu=\"x64\"" - ffmpeg_target_arch=x64 - elif [[ $myarch = x86 ]] ; then - myconf_gn+=" target_cpu=\"x86\"" - ffmpeg_target_arch=ia32 - - # This is normally defined by compiler_cpu_abi in - # build/config/compiler/BUILD.gn, but we patch that part out. - append-flags -msse2 -mfpmath=sse -mmmx - elif [[ $myarch = arm64 ]] ; then - myconf_gn+=" target_cpu=\"arm64\"" - ffmpeg_target_arch=arm64 - elif [[ $myarch = arm ]] ; then - myconf_gn+=" target_cpu=\"arm\"" - ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm) - else - 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" - - # Bug 491582. - export TMPDIR="${WORKDIR}/temp" - mkdir -p -m 755 "${TMPDIR}" || die - - # https://bugs.gentoo.org/654216 - addpredict /dev/dri/ #nowarn - - #if ! use system-ffmpeg; then - if false; then - local build_ffmpeg_args="" - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then - build_ffmpeg_args+=" --disable-asm" - fi - - # Re-configure bundled ffmpeg. See bug #491378 for example reasons. - einfo "Configuring bundled ffmpeg..." - pushd third_party/ffmpeg > /dev/null || die - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \ - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die - chromium/scripts/copy_config.sh || die - chromium/scripts/generate_gn.py || die - popd > /dev/null || die - fi - - # Chromium relies on this, but was disabled in >=clang-10, crbug.com/1042470 - append-cxxflags $(test-flags-CXX -flax-vector-conversions=all) - - # Explicitly disable ICU data file support for system-icu builds. - if use system-icu; then - myconf_gn+=" icu_use_data_file=false" - fi - - einfo "Configuring Chromium..." - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release - echo "$@" - "$@" || die -} - -src_compile() { - # Final link uses lots of file descriptors. - ulimit -n 2048 - - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die - - # Build mksnapshot and pax-mark it. - local x - for x in mksnapshot v8_context_snapshot_generator; do - if tc-is-cross-compiler; then - eninja -C out/Release "host/${x}" - pax-mark m "out/Release/host/${x}" - else - eninja -C out/Release "${x}" - pax-mark m "out/Release/${x}" - fi - done - - # Even though ninja autodetects number of CPUs, we respect - # user's options, for debugging with -j 1 or any other reason. - eninja -C out/Release chrome chromedriver - use suid && eninja -C out/Release chrome_sandbox - - pax-mark m out/Release/chrome - - # Build desktop file; bug #706786 - sed -e 's|@@MENUNAME@@|Chromium|g; - s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g; - s|@@PACKAGE@@|chromium-browser|g; - s|\(^Exec=\)/usr/bin/|\1|g;' \ - chrome/installer/linux/common/desktop.template > \ - out/Release/chromium-browser-chromium.desktop || die - - # Build manpage; bug #684550 - sed -e 's|@@PACKAGE@@|chromium-browser|g; - s|@@MENUNAME@@|Chromium|g;' \ - chrome/app/resources/manpage.1.in > \ - out/Release/chromium-browser.1 || die -} - -src_install() { - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" - exeinto "${CHROMIUM_HOME}" - doexe out/Release/chrome - - if use suid; then - newexe out/Release/chrome_sandbox chrome-sandbox - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" - fi - - doexe out/Release/chromedriver - - local sedargs=( -e "s:/usr/lib/:/usr/$(get_libdir)/:g" ) - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r3.sh" > chromium-launcher.sh || die - doexe chromium-launcher.sh - - # It is important that we name the target "chromium-browser", - # xdg-utils expect it; bug #355517. - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser - # keep the old symlink around for consistency - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium - - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver - - # Allow users to override command-line options, bug #357629. - insinto /etc/chromium - newins "${FILESDIR}/chromium.default" "default" - - pushd out/Release/locales > /dev/null || die - chromium_remove_language_paks - popd - - insinto "${CHROMIUM_HOME}" - doins out/Release/*.bin - doins out/Release/*.pak - doins out/Release/*.so - - if ! use system-icu; then - doins out/Release/icudtl.dat - fi - - doins -r out/Release/locales - doins -r out/Release/resources - - if [[ -d out/Release/swiftshader ]]; then - insinto "${CHROMIUM_HOME}/swiftshader" - doins out/Release/swiftshader/*.so - fi - - # Install icons - local branding size - for size in 16 24 32 48 64 128 256 ; do - case ${size} in - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; - *) branding="chrome/app/theme/chromium" ;; - esac - newicon -s ${size} "${branding}/product_logo_${size}.png" \ - chromium-browser.png - done - - # Install desktop entry - domenu out/Release/chromium-browser-chromium.desktop - - # Install GNOME default application entry (bug #303100). - insinto /usr/share/gnome-control-center/default-apps - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml - - # Install manpage; bug #684550 - doman out/Release/chromium-browser.1 - dosym chromium-browser.1 /usr/share/man/man1/chromium.1 - - readme.gentoo_create_doc -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_desktop_database_update -} - -pkg_postinst() { - xdg_icon_cache_update - xdg_desktop_database_update - readme.gentoo_print_elog -} diff --git a/www-client/chromium/chromium-84.0.4115.5.ebuild b/www-client/chromium/chromium-84.0.4115.5.ebuild deleted file mode 100644 index 178184f..0000000 --- a/www-client/chromium/chromium-84.0.4115.5.ebuild +++ /dev/null @@ -1,752 +0,0 @@ -# Copyright 2009-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python2_7 ) - -CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - 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 vi zh-CN zh-TW" - -inherit check-reqs chromium-2 desktop flag-o-matic multilib ninja-utils pax-utils portability python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="http://chromium.org/" -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" -IUSE="+closure-compile component-build cups cpu_flags_arm_neon gnome-keyring +hangouts kerberos pic +proprietary-codecs pulseaudio selinux +suid +system-ffmpeg +system-icu +system-libvpx +tcmalloc widevine vaapi" -RESTRICT="!system-ffmpeg? ( proprietary-codecs? ( bindist ) )" -REQUIRED_USE="component-build? ( !suid )" - -COMMON_DEPEND=" - >=app-accessibility/at-spi2-atk-2.26:2 - app-arch/bzip2:= - cups? ( >=net-print/cups-1.3.11:= ) - >=dev-libs/atk-2.26 - dev-libs/expat:= - dev-libs/glib:2 - system-icu? ( >=dev-libs/icu-65:= ) - >=dev-libs/libxml2-2.9.4-r3:=[icu] - dev-libs/libxslt:= - dev-libs/nspr:= - >=dev-libs/nss-3.26:= - >=dev-libs/re2-0.2019.08.01:= - gnome-keyring? ( >=gnome-base/libgnome-keyring-3.12:= ) - >=media-libs/alsa-lib-1.0.19:= - media-libs/fontconfig:= - media-libs/freetype:= - >=media-libs/harfbuzz-2.4.0:0=[icu(-)] - media-libs/libjpeg-turbo:= - media-libs/libpng:= - system-libvpx? ( media-libs/libvpx:=[postproc,svc] ) - >=media-libs/openh264-1.6.0:= - pulseaudio? ( media-sound/pulseaudio:= ) - system-ffmpeg? ( - >=media-video/ffmpeg-4:= - || ( - media-video/ffmpeg[-samba] - >=net-fs/samba-4.5.10-r1[-debug(-)] - ) - !=net-fs/samba-4.5.12-r0 - media-libs/opus:= - ) - sys-apps/dbus:= - sys-apps/pciutils:= - virtual/udev - x11-libs/cairo:= - x11-libs/gdk-pixbuf:2 - x11-libs/gtk+:3[X] - x11-libs/libX11:= - x11-libs/libXcomposite:= - x11-libs/libXcursor:= - x11-libs/libXdamage:= - x11-libs/libXext:= - x11-libs/libXfixes:= - >=x11-libs/libXi-1.6.0:= - x11-libs/libXrandr:= - x11-libs/libXrender:= - x11-libs/libXScrnSaver:= - x11-libs/libXtst:= - x11-libs/pango:= - app-arch/snappy:= - media-libs/flac:= - >=media-libs/libwebp-0.4.0:= - sys-libs/zlib:=[minizip] - kerberos? ( virtual/krb5 ) -" -# For nvidia-drivers blocker, see bug #413637 . -RDEPEND="${COMMON_DEPEND} - !<www-plugins/chrome-binary-plugins-57 - x11-misc/xdg-utils - virtual/opengl - virtual/ttf-fonts - selinux? ( sec-policy/selinux-chromium ) - tcmalloc? ( !<x11-drivers/nvidia-drivers-331.20 ) - widevine? ( www-plugins/chrome-binary-plugins[widevine(-)] ) -" -DEPEND="${COMMON_DEPEND} -" -# dev-vcs/git - https://bugs.gentoo.org/593476 -BDEPEND=" - ${PYTHON_DEPS} - >=app-arch/gzip-1.7 - !arm? ( - dev-lang/yasm - ) - dev-lang/perl - dev-util/gn - dev-vcs/git - >=dev-util/gperf-3.0.3 - >=dev-util/ninja-1.7.2 - >=net-libs/nodejs-7.6.0[inspector] - sys-apps/hwids[usb(+)] - >=sys-devel/bison-2.4.3 - sys-devel/flex - closure-compile? ( virtual/jre ) - virtual/pkgconfig -" - -: ${CHROMIUM_FORCE_CLANG=yes} - -if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then - BDEPEND+=" >=sys-devel/clang-7" -fi - -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then - EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; -fi - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -Some web pages may require additional fonts to display properly. -Try installing some of the following packages if some characters -are not displayed properly: -- media-fonts/arphicfonts -- media-fonts/droid -- media-fonts/ipamonafont -- media-fonts/noto -- media-fonts/ja-ipafonts -- media-fonts/takao-fonts -- media-fonts/wqy-microhei -- media-fonts/wqy-zenhei - -To fix broken icons on the Downloads page, you should install an icon -theme that covers the appropriate MIME types, and configure this as your -GTK+ icon theme. - -For native file dialogs in KDE, install kde-apps/kdialog. -" - -PATCHES=( - "${FILESDIR}/chromium-compiler-84.patch" - "${FILESDIR}/chromium-widevine-80.patch" - "${FILESDIR}/chromium-fix-char_traits.patch" - "${FILESDIR}/chromium-zlib-82.patch" - "${FILESDIR}/chromium-77-clang.patch" - "${FILESDIR}/chromium-vaapi-83.patch" - "${FILESDIR}/chromium-clang-format-path-82.patch" - "${FILESDIR}/chromium-ngphyscontainer-iterator-cat-83.patch" - "${FILESDIR}/chromium-axtree-incomplete-type-83.patch" - "${FILESDIR}/chromium-crx-install-err-include-83.patch" - "${FILESDIR}/chromium-hashtable-iterator-cat-83.patch" - "${FILESDIR}/chromium-blink-include-memory-83.patch" - "${FILESDIR}/chromium-include-limits-84.patch" - "${FILESDIR}/chromium-base-include-84.patch" - "${FILESDIR}/chromium-mojo-ltm-83.patch" -) - -pre_build_checks() { - if [[ ${MERGE_TYPE} != binary ]]; then - local -x CPP="$(tc-getCXX) -E" - if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 8.0; then - die "At least gcc 8.0 is required" - fi - fi - - # Check build requirements, bug #541816 and bug #471810 . - CHECKREQS_MEMORY="3G" - CHECKREQS_DISK_BUILD="7G" - if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then - CHECKREQS_DISK_BUILD="25G" - if ! use component-build; then - CHECKREQS_MEMORY="16G" - fi - fi - check-reqs_pkg_setup -} - -pkg_pretend() { - pre_build_checks -} - -pkg_setup() { - pre_build_checks - - chromium_suid_sandbox_check_kernel_config -} - -src_prepare() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - default - - mkdir -p third_party/node/linux/node-linux-x64/bin || die - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die - - local 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 - 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/angle/third_party/glslang - third_party/angle/third_party/spirv-headers - third_party/angle/third_party/spirv-tools - third_party/angle/third_party/VulkanMemoryAllocator - third_party/angle/third_party/vulkan-headers - third_party/angle/third_party/vulkan-loader - third_party/angle/third_party/vulkan-tools - third_party/angle/third_party/vulkan-validation-layers - 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/cacheinvalidation - 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/devscripts - third_party/devtools-frontend - third_party/devtools-frontend/src/front_end/third_party/fabricjs - third_party/devtools-frontend/src/front_end/third_party/wasmparser - third_party/devtools-frontend/src/front_end/third_party/lighthouse - third_party/devtools-frontend/src/third_party/axe-core - third_party/devtools-frontend/src/third_party/pyjson5 - third_party/devtools-frontend/src/third_party/typescript - third_party/depot_tools - third_party/dom_distiller_js - third_party/emoji-segmenter - third_party/flatbuffers - third_party/freetype - third_party/glslang - 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/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/vector - third_party/libaom/source/libaom/third_party/x86inc - third_party/libavif - third_party/libgifcodec - third_party/libjingle - third_party/libphonenumber - third_party/libsecret - third_party/libsrtp - third_party/libsync - third_party/libudev - third_party/libwebm - third_party/libxml - third_party/libyuv - third_party/llvm - 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/node - third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2 - third_party/one_euro_filter - third_party/openscreen - third_party/openscreen/src/third_party/tinycbor/src/src - third_party/openscreen/src/third_party/mozilla - 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/pffft - third_party/ply - third_party/polymer - third_party/private-join-and-compute - third_party/protobuf - third_party/protobuf/third_party/six - third_party/pyjson5 - third_party/qcms - third_party/rnnoise - third_party/s2cellid - third_party/schema_org - 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/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-7.0 - 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/unrar - third_party/usrsctp - third_party/vulkan - third_party/web-animations-js - third_party/webdriver - third_party/webrtc - third_party/webrtc/common_audio/third_party/fft4g - 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/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/adobe - third_party/speech-dispatcher - third_party/usb_ids - third_party/xdg-utils - third_party/yasm/run_yasm.py - ) - if ! use system-ffmpeg; then - keeplibs+=( third_party/ffmpeg third_party/opus ) - fi - if ! use system-icu; then - keeplibs+=( third_party/icu ) - fi - if ! use system-libvpx; then - keeplibs+=( third_party/libvpx ) - keeplibs+=( third_party/libvpx/source/libvpx/third_party/x86inc ) - fi - if use tcmalloc; then - keeplibs+=( third_party/tcmalloc ) - fi - - # Remove most bundled libraries. Some are still needed. - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die -} - -src_configure() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local myconf_gn="" - - # Make sure the build system will use the right tools, bug #340795. - tc-export AR CC CXX NM - - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] && ! tc-is-clang; then - # Force clang since gcc is pretty broken at the moment. - CC=${CHOST}-clang - CXX=${CHOST}-clang++ - strip-unsupported-flags - fi - - if tc-is-clang; then - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" - else - myconf_gn+=" is_clang=false" - fi - - # Define a custom toolchain for GN - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" - - if tc-is-cross-compiler; then - tc-export BUILD_{AR,CC,CXX,NM} - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" - else - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - fi - - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - myconf_gn+=" is_debug=false" - - # Component build isn't generally intended for use by end users. It's mostly useful - # for development and debugging. - myconf_gn+=" is_component_build=$(usex component-build true false)" - - myconf_gn+=" use_allocator=$(usex tcmalloc \"tcmalloc\" \"none\")" - - # Disable nacl, we can't build without pnacl (http://crbug.com/269560). - myconf_gn+=" enable_nacl=false" - - # Use system-provided libraries. - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_libsrtp (bug #459932). - # TODO: use_system_protobuf (bug #525560). - # TODO: use_system_ssl (http://crbug.com/58087). - # TODO: use_system_sqlite (http://crbug.com/22208). - - # libevent: https://bugs.gentoo.org/593458 - local gn_system_libraries=( - flac - fontconfig - freetype - # Need harfbuzz_from_pkgconfig target - #harfbuzz-ng - libdrm - libjpeg - libpng - libwebp - #libxml - libxslt - openh264 - re2 - snappy - yasm - zlib - ) - if use system-ffmpeg; then - gn_system_libraries+=( ffmpeg opus ) - fi - if use system-icu; then - gn_system_libraries+=( icu ) - fi - if use system-libvpx; then - gn_system_libraries+=( libvpx ) - fi - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die - - # See dependency logic in third_party/BUILD.gn - myconf_gn+=" use_system_harfbuzz=true" - - # Optional dependencies. - myconf_gn+=" closure_compile=$(usex closure-compile true false)" - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" - myconf_gn+=" enable_widevine=$(usex widevine true false)" - myconf_gn+=" use_cups=$(usex cups true false)" - myconf_gn+=" use_gnome_keyring=$(usex gnome-keyring true false)" - myconf_gn+=" use_kerberos=$(usex kerberos true false)" - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" - myconf_gn+=" use_vaapi=$(usex vaapi true false)" - - # TODO: link_pulseaudio=true for GN. - - myconf_gn+=" fieldtrial_testing_like_official_build=true" - - # Never use bundled gold binary. Disable gold linker flags for now. - # Do not use bundled clang. - # Trying to use gold results in linker crash. - myconf_gn+=" use_gold=false use_sysroot=false linux_use_bundled_binutils=false use_custom_libcxx=false" - - # Disable forced lld, bug 641556 - myconf_gn+=" use_lld=false" - - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" - - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . - # Note: these are for Gentoo use ONLY. For your own distribution, - # please get your own set of keys. Feel free to contact chromium@gentoo.org - # for more info. - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" - local google_default_client_id="329227923882.apps.googleusercontent.com" - local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu" - myconf_gn+=" google_api_key=\"${google_api_key}\"" - myconf_gn+=" google_default_client_id=\"${google_default_client_id}\"" - myconf_gn+=" google_default_client_secret=\"${google_default_client_secret}\"" - - local myarch="$(tc-arch)" - - # Avoid CFLAGS problems, bug #352457, bug #390147. - if ! use custom-cflags; then - replace-flags "-Os" "-O2" - strip-flags - - # Prevent linker from running out of address space, bug #471810 . - if use x86; then - filter-flags "-g*" - fi - - # Prevent libvpx build failures. Bug 530248, 544702, 546984. - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 - fi - fi - - if [[ $myarch = amd64 ]] ; then - myconf_gn+=" target_cpu=\"x64\"" - ffmpeg_target_arch=x64 - elif [[ $myarch = x86 ]] ; then - myconf_gn+=" target_cpu=\"x86\"" - ffmpeg_target_arch=ia32 - - # This is normally defined by compiler_cpu_abi in - # build/config/compiler/BUILD.gn, but we patch that part out. - append-flags -msse2 -mfpmath=sse -mmmx - elif [[ $myarch = arm64 ]] ; then - myconf_gn+=" target_cpu=\"arm64\"" - ffmpeg_target_arch=arm64 - elif [[ $myarch = arm ]] ; then - myconf_gn+=" target_cpu=\"arm\"" - ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm) - else - 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" - - # Bug 491582. - export TMPDIR="${WORKDIR}/temp" - mkdir -p -m 755 "${TMPDIR}" || die - - # https://bugs.gentoo.org/654216 - addpredict /dev/dri/ #nowarn - - #if ! use system-ffmpeg; then - if false; then - local build_ffmpeg_args="" - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then - build_ffmpeg_args+=" --disable-asm" - fi - - # Re-configure bundled ffmpeg. See bug #491378 for example reasons. - einfo "Configuring bundled ffmpeg..." - pushd third_party/ffmpeg > /dev/null || die - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \ - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die - chromium/scripts/copy_config.sh || die - chromium/scripts/generate_gn.py || die - popd > /dev/null || die - fi - - # Chromium relies on this, but was disabled in >=clang-10, crbug.com/1042470 - append-cxxflags $(test-flags-CXX -flax-vector-conversions=all) - - # Explicitly disable ICU data file support for system-icu builds. - if use system-icu; then - myconf_gn+=" icu_use_data_file=false" - fi - - einfo "Configuring Chromium..." - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release - echo "$@" - "$@" || die -} - -src_compile() { - # Final link uses lots of file descriptors. - ulimit -n 2048 - - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die - - # Build mksnapshot and pax-mark it. - local x - for x in mksnapshot v8_context_snapshot_generator; do - if tc-is-cross-compiler; then - eninja -C out/Release "host/${x}" - pax-mark m "out/Release/host/${x}" - else - eninja -C out/Release "${x}" - pax-mark m "out/Release/${x}" - fi - done - - # Even though ninja autodetects number of CPUs, we respect - # user's options, for debugging with -j 1 or any other reason. - eninja -C out/Release chrome chromedriver - use suid && eninja -C out/Release chrome_sandbox - - pax-mark m out/Release/chrome - - # Build desktop file; bug #706786 - sed -e 's|@@MENUNAME@@|Chromium|g; - s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g; - s|@@PACKAGE@@|chromium-browser|g; - s|\(^Exec=\)/usr/bin/|\1|g;' \ - chrome/installer/linux/common/desktop.template > \ - out/Release/chromium-browser-chromium.desktop || die - - # Build manpage; bug #684550 - sed -e 's|@@PACKAGE@@|chromium-browser|g; - s|@@MENUNAME@@|Chromium|g;' \ - chrome/app/resources/manpage.1.in > \ - out/Release/chromium-browser.1 || die -} - -src_install() { - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" - exeinto "${CHROMIUM_HOME}" - doexe out/Release/chrome - - if use suid; then - newexe out/Release/chrome_sandbox chrome-sandbox - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" - fi - - doexe out/Release/chromedriver - - local sedargs=( -e "s:/usr/lib/:/usr/$(get_libdir)/:g" ) - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r3.sh" > chromium-launcher.sh || die - doexe chromium-launcher.sh - - # It is important that we name the target "chromium-browser", - # xdg-utils expect it; bug #355517. - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser - # keep the old symlink around for consistency - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium - - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver - - # Allow users to override command-line options, bug #357629. - insinto /etc/chromium - newins "${FILESDIR}/chromium.default" "default" - - pushd out/Release/locales > /dev/null || die - chromium_remove_language_paks - popd - - insinto "${CHROMIUM_HOME}" - doins out/Release/*.bin - doins out/Release/*.pak - doins out/Release/*.so - - if ! use system-icu; then - doins out/Release/icudtl.dat - fi - - doins -r out/Release/locales - doins -r out/Release/resources - - if [[ -d out/Release/swiftshader ]]; then - insinto "${CHROMIUM_HOME}/swiftshader" - doins out/Release/swiftshader/*.so - fi - - # Install icons - local branding size - for size in 16 24 32 48 64 128 256 ; do - case ${size} in - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; - *) branding="chrome/app/theme/chromium" ;; - esac - newicon -s ${size} "${branding}/product_logo_${size}.png" \ - chromium-browser.png - done - - # Install desktop entry - domenu out/Release/chromium-browser-chromium.desktop - - # Install GNOME default application entry (bug #303100). - insinto /usr/share/gnome-control-center/default-apps - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml - - # Install manpage; bug #684550 - doman out/Release/chromium-browser.1 - dosym chromium-browser.1 /usr/share/man/man1/chromium.1 - - readme.gentoo_create_doc -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_desktop_database_update -} - -pkg_postinst() { - xdg_icon_cache_update - xdg_desktop_database_update - readme.gentoo_print_elog -} diff --git a/www-client/chromium/chromium-84.0.4122.7.ebuild b/www-client/chromium/chromium-84.0.4122.7.ebuild deleted file mode 100644 index 48a2d14..0000000 --- a/www-client/chromium/chromium-84.0.4122.7.ebuild +++ /dev/null @@ -1,754 +0,0 @@ -# Copyright 2009-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python2_7 ) - -CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - 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 vi zh-CN zh-TW" - -inherit check-reqs chromium-2 desktop flag-o-matic multilib ninja-utils pax-utils portability python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="http://chromium.org/" -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" -IUSE="+closure-compile component-build cups cpu_flags_arm_neon gnome-keyring +hangouts kerberos pic +proprietary-codecs pulseaudio selinux +suid +system-ffmpeg +system-icu +system-libvpx +tcmalloc widevine vaapi" -RESTRICT="!system-ffmpeg? ( proprietary-codecs? ( bindist ) )" -REQUIRED_USE="component-build? ( !suid )" - -COMMON_DEPEND=" - >=app-accessibility/at-spi2-atk-2.26:2 - app-arch/bzip2:= - cups? ( >=net-print/cups-1.3.11:= ) - >=dev-libs/atk-2.26 - dev-libs/expat:= - dev-libs/glib:2 - system-icu? ( >=dev-libs/icu-65:= ) - >=dev-libs/libxml2-2.9.4-r3:=[icu] - dev-libs/libxslt:= - dev-libs/nspr:= - >=dev-libs/nss-3.26:= - >=dev-libs/re2-0.2019.08.01:= - gnome-keyring? ( >=gnome-base/libgnome-keyring-3.12:= ) - >=media-libs/alsa-lib-1.0.19:= - media-libs/fontconfig:= - media-libs/freetype:= - >=media-libs/harfbuzz-2.4.0:0=[icu(-)] - media-libs/libjpeg-turbo:= - media-libs/libpng:= - system-libvpx? ( media-libs/libvpx:=[postproc,svc] ) - >=media-libs/openh264-1.6.0:= - pulseaudio? ( media-sound/pulseaudio:= ) - system-ffmpeg? ( - >=media-video/ffmpeg-4:= - || ( - media-video/ffmpeg[-samba] - >=net-fs/samba-4.5.10-r1[-debug(-)] - ) - !=net-fs/samba-4.5.12-r0 - media-libs/opus:= - ) - sys-apps/dbus:= - sys-apps/pciutils:= - virtual/udev - x11-libs/cairo:= - x11-libs/gdk-pixbuf:2 - x11-libs/gtk+:3[X] - x11-libs/libX11:= - x11-libs/libXcomposite:= - x11-libs/libXcursor:= - x11-libs/libXdamage:= - x11-libs/libXext:= - x11-libs/libXfixes:= - >=x11-libs/libXi-1.6.0:= - x11-libs/libXrandr:= - x11-libs/libXrender:= - x11-libs/libXScrnSaver:= - x11-libs/libXtst:= - x11-libs/pango:= - app-arch/snappy:= - media-libs/flac:= - >=media-libs/libwebp-0.4.0:= - sys-libs/zlib:=[minizip] - kerberos? ( virtual/krb5 ) -" -# For nvidia-drivers blocker, see bug #413637 . -RDEPEND="${COMMON_DEPEND} - !<www-plugins/chrome-binary-plugins-57 - x11-misc/xdg-utils - virtual/opengl - virtual/ttf-fonts - selinux? ( sec-policy/selinux-chromium ) - tcmalloc? ( !<x11-drivers/nvidia-drivers-331.20 ) - widevine? ( www-plugins/chrome-binary-plugins[widevine(-)] ) -" -DEPEND="${COMMON_DEPEND} -" -# dev-vcs/git - https://bugs.gentoo.org/593476 -BDEPEND=" - ${PYTHON_DEPS} - >=app-arch/gzip-1.7 - !arm? ( - dev-lang/yasm - ) - dev-lang/perl - dev-util/gn - dev-vcs/git - >=dev-util/gperf-3.0.3 - >=dev-util/ninja-1.7.2 - >=net-libs/nodejs-7.6.0[inspector] - sys-apps/hwids[usb(+)] - >=sys-devel/bison-2.4.3 - sys-devel/flex - closure-compile? ( virtual/jre ) - virtual/pkgconfig -" - -: ${CHROMIUM_FORCE_CLANG=yes} - -if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then - BDEPEND+=" >=sys-devel/clang-7" -fi - -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then - EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; -fi - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -Some web pages may require additional fonts to display properly. -Try installing some of the following packages if some characters -are not displayed properly: -- media-fonts/arphicfonts -- media-fonts/droid -- media-fonts/ipamonafont -- media-fonts/noto -- media-fonts/ja-ipafonts -- media-fonts/takao-fonts -- media-fonts/wqy-microhei -- media-fonts/wqy-zenhei - -To fix broken icons on the Downloads page, you should install an icon -theme that covers the appropriate MIME types, and configure this as your -GTK+ icon theme. - -For native file dialogs in KDE, install kde-apps/kdialog. -" - -PATCHES=( - "${FILESDIR}/chromium-compiler-84.patch" - "${FILESDIR}/chromium-widevine-80.patch" - "${FILESDIR}/chromium-fix-char_traits.patch" - "${FILESDIR}/chromium-zlib-82.patch" - "${FILESDIR}/chromium-77-clang.patch" - "${FILESDIR}/chromium-vaapi-83.patch" - "${FILESDIR}/chromium-clang-format-path-82.patch" - "${FILESDIR}/chromium-ngphyscontainer-iterator-cat-83.patch" - "${FILESDIR}/chromium-crx-install-err-include-83.patch" - "${FILESDIR}/chromium-hashtable-iterator-cat-83.patch" - "${FILESDIR}/chromium-blink-include-memory-83.patch" - "${FILESDIR}/chromium-base-include-84-r1.patch" - "${FILESDIR}/chromium-inline-node-ptr-84.patch" - "${FILESDIR}/chromium-mojo-ltm-83.patch" - "${FILESDIR}/chromium-char-max-84.patch" - "${FILESDIR}/chromium-cc-matrics-include-84.patch" - "${FILESDIR}/chromium-blink-include-limits-84.patch" -) - -pre_build_checks() { - if [[ ${MERGE_TYPE} != binary ]]; then - local -x CPP="$(tc-getCXX) -E" - if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 8.0; then - die "At least gcc 8.0 is required" - fi - fi - - # Check build requirements, bug #541816 and bug #471810 . - CHECKREQS_MEMORY="3G" - CHECKREQS_DISK_BUILD="7G" - if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then - CHECKREQS_DISK_BUILD="25G" - if ! use component-build; then - CHECKREQS_MEMORY="16G" - fi - fi - check-reqs_pkg_setup -} - -pkg_pretend() { - pre_build_checks -} - -pkg_setup() { - pre_build_checks - - chromium_suid_sandbox_check_kernel_config -} - -src_prepare() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - default - - mkdir -p third_party/node/linux/node-linux-x64/bin || die - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die - - local 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 - 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/angle/third_party/glslang - third_party/angle/third_party/spirv-headers - third_party/angle/third_party/spirv-tools - third_party/angle/third_party/VulkanMemoryAllocator - third_party/angle/third_party/vulkan-headers - third_party/angle/third_party/vulkan-loader - third_party/angle/third_party/vulkan-tools - third_party/angle/third_party/vulkan-validation-layers - 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/cacheinvalidation - 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/devscripts - third_party/devtools-frontend - third_party/devtools-frontend/src/front_end/third_party/fabricjs - third_party/devtools-frontend/src/front_end/third_party/wasmparser - third_party/devtools-frontend/src/front_end/third_party/lighthouse - third_party/devtools-frontend/src/third_party/axe-core - third_party/devtools-frontend/src/third_party/pyjson5 - third_party/devtools-frontend/src/third_party/typescript - third_party/depot_tools - third_party/dom_distiller_js - third_party/emoji-segmenter - third_party/flatbuffers - third_party/freetype - third_party/glslang - 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/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/vector - third_party/libaom/source/libaom/third_party/x86inc - third_party/libavif - third_party/libgifcodec - third_party/libjingle - third_party/libphonenumber - third_party/libsecret - third_party/libsrtp - third_party/libsync - third_party/libudev - third_party/libwebm - third_party/libxml - third_party/libyuv - third_party/llvm - 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/node - third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2 - third_party/one_euro_filter - third_party/openscreen - third_party/openscreen/src/third_party/tinycbor/src/src - third_party/openscreen/src/third_party/mozilla - 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/pffft - third_party/ply - third_party/polymer - third_party/private-join-and-compute - third_party/protobuf - third_party/protobuf/third_party/six - third_party/pyjson5 - third_party/qcms - third_party/rnnoise - third_party/s2cellid - third_party/schema_org - 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/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-7.0 - 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/unrar - third_party/usrsctp - third_party/vulkan - third_party/web-animations-js - third_party/webdriver - third_party/webrtc - third_party/webrtc/common_audio/third_party/spl_sqrt_floor - third_party/webrtc/common_audio/third_party/ooura - 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/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/adobe - third_party/speech-dispatcher - third_party/usb_ids - third_party/xdg-utils - third_party/yasm/run_yasm.py - ) - if ! use system-ffmpeg; then - keeplibs+=( third_party/ffmpeg third_party/opus ) - fi - if ! use system-icu; then - keeplibs+=( third_party/icu ) - fi - if ! use system-libvpx; then - keeplibs+=( third_party/libvpx ) - keeplibs+=( third_party/libvpx/source/libvpx/third_party/x86inc ) - fi - if use tcmalloc; then - keeplibs+=( third_party/tcmalloc ) - fi - - # Remove most bundled libraries. Some are still needed. - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die -} - -src_configure() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local myconf_gn="" - - # Make sure the build system will use the right tools, bug #340795. - tc-export AR CC CXX NM - - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] && ! tc-is-clang; then - # Force clang since gcc is pretty broken at the moment. - CC=${CHOST}-clang - CXX=${CHOST}-clang++ - strip-unsupported-flags - fi - - if tc-is-clang; then - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" - else - myconf_gn+=" is_clang=false" - fi - - # Define a custom toolchain for GN - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" - - if tc-is-cross-compiler; then - tc-export BUILD_{AR,CC,CXX,NM} - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" - else - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - fi - - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - myconf_gn+=" is_debug=false" - - # Component build isn't generally intended for use by end users. It's mostly useful - # for development and debugging. - myconf_gn+=" is_component_build=$(usex component-build true false)" - - myconf_gn+=" use_allocator=$(usex tcmalloc \"tcmalloc\" \"none\")" - - # Disable nacl, we can't build without pnacl (http://crbug.com/269560). - myconf_gn+=" enable_nacl=false" - - # Use system-provided libraries. - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_libsrtp (bug #459932). - # TODO: use_system_protobuf (bug #525560). - # TODO: use_system_ssl (http://crbug.com/58087). - # TODO: use_system_sqlite (http://crbug.com/22208). - - # libevent: https://bugs.gentoo.org/593458 - local gn_system_libraries=( - flac - fontconfig - freetype - # Need harfbuzz_from_pkgconfig target - #harfbuzz-ng - libdrm - libjpeg - libpng - libwebp - #libxml - libxslt - openh264 - re2 - snappy - yasm - zlib - ) - if use system-ffmpeg; then - gn_system_libraries+=( ffmpeg opus ) - fi - if use system-icu; then - gn_system_libraries+=( icu ) - fi - if use system-libvpx; then - gn_system_libraries+=( libvpx ) - fi - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die - - # See dependency logic in third_party/BUILD.gn - myconf_gn+=" use_system_harfbuzz=true" - - # Optional dependencies. - myconf_gn+=" closure_compile=$(usex closure-compile true false)" - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" - myconf_gn+=" enable_widevine=$(usex widevine true false)" - myconf_gn+=" use_cups=$(usex cups true false)" - myconf_gn+=" use_gnome_keyring=$(usex gnome-keyring true false)" - myconf_gn+=" use_kerberos=$(usex kerberos true false)" - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" - myconf_gn+=" use_vaapi=$(usex vaapi true false)" - - # TODO: link_pulseaudio=true for GN. - - myconf_gn+=" fieldtrial_testing_like_official_build=true" - - # Never use bundled gold binary. Disable gold linker flags for now. - # Do not use bundled clang. - # Trying to use gold results in linker crash. - myconf_gn+=" use_gold=false use_sysroot=false linux_use_bundled_binutils=false use_custom_libcxx=false" - - # Disable forced lld, bug 641556 - myconf_gn+=" use_lld=false" - - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" - - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . - # Note: these are for Gentoo use ONLY. For your own distribution, - # please get your own set of keys. Feel free to contact chromium@gentoo.org - # for more info. - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" - local google_default_client_id="329227923882.apps.googleusercontent.com" - local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu" - myconf_gn+=" google_api_key=\"${google_api_key}\"" - myconf_gn+=" google_default_client_id=\"${google_default_client_id}\"" - myconf_gn+=" google_default_client_secret=\"${google_default_client_secret}\"" - - local myarch="$(tc-arch)" - - # Avoid CFLAGS problems, bug #352457, bug #390147. - if ! use custom-cflags; then - replace-flags "-Os" "-O2" - strip-flags - - # Prevent linker from running out of address space, bug #471810 . - if use x86; then - filter-flags "-g*" - fi - - # Prevent libvpx build failures. Bug 530248, 544702, 546984. - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 - fi - fi - - if [[ $myarch = amd64 ]] ; then - myconf_gn+=" target_cpu=\"x64\"" - ffmpeg_target_arch=x64 - elif [[ $myarch = x86 ]] ; then - myconf_gn+=" target_cpu=\"x86\"" - ffmpeg_target_arch=ia32 - - # This is normally defined by compiler_cpu_abi in - # build/config/compiler/BUILD.gn, but we patch that part out. - append-flags -msse2 -mfpmath=sse -mmmx - elif [[ $myarch = arm64 ]] ; then - myconf_gn+=" target_cpu=\"arm64\"" - ffmpeg_target_arch=arm64 - elif [[ $myarch = arm ]] ; then - myconf_gn+=" target_cpu=\"arm\"" - ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm) - else - 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" - - # Bug 491582. - export TMPDIR="${WORKDIR}/temp" - mkdir -p -m 755 "${TMPDIR}" || die - - # https://bugs.gentoo.org/654216 - addpredict /dev/dri/ #nowarn - - #if ! use system-ffmpeg; then - if false; then - local build_ffmpeg_args="" - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then - build_ffmpeg_args+=" --disable-asm" - fi - - # Re-configure bundled ffmpeg. See bug #491378 for example reasons. - einfo "Configuring bundled ffmpeg..." - pushd third_party/ffmpeg > /dev/null || die - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \ - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die - chromium/scripts/copy_config.sh || die - chromium/scripts/generate_gn.py || die - popd > /dev/null || die - fi - - # Chromium relies on this, but was disabled in >=clang-10, crbug.com/1042470 - append-cxxflags $(test-flags-CXX -flax-vector-conversions=all) - - # Explicitly disable ICU data file support for system-icu builds. - if use system-icu; then - myconf_gn+=" icu_use_data_file=false" - fi - - einfo "Configuring Chromium..." - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release - echo "$@" - "$@" || die -} - -src_compile() { - # Final link uses lots of file descriptors. - ulimit -n 2048 - - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die - - # Build mksnapshot and pax-mark it. - local x - for x in mksnapshot v8_context_snapshot_generator; do - if tc-is-cross-compiler; then - eninja -C out/Release "host/${x}" - pax-mark m "out/Release/host/${x}" - else - eninja -C out/Release "${x}" - pax-mark m "out/Release/${x}" - fi - done - - # Even though ninja autodetects number of CPUs, we respect - # user's options, for debugging with -j 1 or any other reason. - eninja -C out/Release chrome chromedriver - use suid && eninja -C out/Release chrome_sandbox - - pax-mark m out/Release/chrome - - # Build desktop file; bug #706786 - sed -e 's|@@MENUNAME@@|Chromium|g; - s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g; - s|@@PACKAGE@@|chromium-browser|g; - s|\(^Exec=\)/usr/bin/|\1|g;' \ - chrome/installer/linux/common/desktop.template > \ - out/Release/chromium-browser-chromium.desktop || die - - # Build manpage; bug #684550 - sed -e 's|@@PACKAGE@@|chromium-browser|g; - s|@@MENUNAME@@|Chromium|g;' \ - chrome/app/resources/manpage.1.in > \ - out/Release/chromium-browser.1 || die -} - -src_install() { - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" - exeinto "${CHROMIUM_HOME}" - doexe out/Release/chrome - - if use suid; then - newexe out/Release/chrome_sandbox chrome-sandbox - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" - fi - - doexe out/Release/chromedriver - - local sedargs=( -e "s:/usr/lib/:/usr/$(get_libdir)/:g" ) - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r3.sh" > chromium-launcher.sh || die - doexe chromium-launcher.sh - - # It is important that we name the target "chromium-browser", - # xdg-utils expect it; bug #355517. - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser - # keep the old symlink around for consistency - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium - - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver - - # Allow users to override command-line options, bug #357629. - insinto /etc/chromium - newins "${FILESDIR}/chromium.default" "default" - - pushd out/Release/locales > /dev/null || die - chromium_remove_language_paks - popd - - insinto "${CHROMIUM_HOME}" - doins out/Release/*.bin - doins out/Release/*.pak - doins out/Release/*.so - - if ! use system-icu; then - doins out/Release/icudtl.dat - fi - - doins -r out/Release/locales - doins -r out/Release/resources - - if [[ -d out/Release/swiftshader ]]; then - insinto "${CHROMIUM_HOME}/swiftshader" - doins out/Release/swiftshader/*.so - fi - - # Install icons - local branding size - for size in 16 24 32 48 64 128 256 ; do - case ${size} in - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; - *) branding="chrome/app/theme/chromium" ;; - esac - newicon -s ${size} "${branding}/product_logo_${size}.png" \ - chromium-browser.png - done - - # Install desktop entry - domenu out/Release/chromium-browser-chromium.desktop - - # Install GNOME default application entry (bug #303100). - insinto /usr/share/gnome-control-center/default-apps - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml - - # Install manpage; bug #684550 - doman out/Release/chromium-browser.1 - dosym chromium-browser.1 /usr/share/man/man1/chromium.1 - - readme.gentoo_create_doc -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_desktop_database_update -} - -pkg_postinst() { - xdg_icon_cache_update - xdg_desktop_database_update - readme.gentoo_print_elog -} diff --git a/www-client/chromium/chromium-84.0.4136.5.ebuild b/www-client/chromium/chromium-84.0.4136.5.ebuild deleted file mode 100644 index fc1b627..0000000 --- a/www-client/chromium/chromium-84.0.4136.5.ebuild +++ /dev/null @@ -1,748 +0,0 @@ -# Copyright 2009-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python2_7 ) - -CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - 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 vi zh-CN zh-TW" - -inherit check-reqs chromium-2 desktop flag-o-matic multilib ninja-utils pax-utils portability python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="http://chromium.org/" -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" -IUSE="+closure-compile component-build cups cpu_flags_arm_neon gnome-keyring +hangouts kerberos pic +proprietary-codecs pulseaudio selinux +suid +system-ffmpeg +system-icu +system-libvpx +tcmalloc widevine vaapi" -RESTRICT="!system-ffmpeg? ( proprietary-codecs? ( bindist ) )" -REQUIRED_USE="component-build? ( !suid )" - -COMMON_DEPEND=" - >=app-accessibility/at-spi2-atk-2.26:2 - app-arch/bzip2:= - cups? ( >=net-print/cups-1.3.11:= ) - >=dev-libs/atk-2.26 - dev-libs/expat:= - dev-libs/glib:2 - system-icu? ( >=dev-libs/icu-65:= ) - >=dev-libs/libxml2-2.9.4-r3:=[icu] - dev-libs/libxslt:= - dev-libs/nspr:= - >=dev-libs/nss-3.26:= - >=dev-libs/re2-0.2019.08.01:= - gnome-keyring? ( >=gnome-base/libgnome-keyring-3.12:= ) - >=media-libs/alsa-lib-1.0.19:= - media-libs/fontconfig:= - media-libs/freetype:= - >=media-libs/harfbuzz-2.4.0:0=[icu(-)] - media-libs/libjpeg-turbo:= - media-libs/libpng:= - system-libvpx? ( media-libs/libvpx:=[postproc,svc] ) - >=media-libs/openh264-1.6.0:= - pulseaudio? ( media-sound/pulseaudio:= ) - system-ffmpeg? ( - >=media-video/ffmpeg-4:= - || ( - media-video/ffmpeg[-samba] - >=net-fs/samba-4.5.10-r1[-debug(-)] - ) - !=net-fs/samba-4.5.12-r0 - media-libs/opus:= - ) - sys-apps/dbus:= - sys-apps/pciutils:= - virtual/udev - x11-libs/cairo:= - x11-libs/gdk-pixbuf:2 - x11-libs/gtk+:3[X] - x11-libs/libX11:= - x11-libs/libXcomposite:= - x11-libs/libXcursor:= - x11-libs/libXdamage:= - x11-libs/libXext:= - x11-libs/libXfixes:= - >=x11-libs/libXi-1.6.0:= - x11-libs/libXrandr:= - x11-libs/libXrender:= - x11-libs/libXScrnSaver:= - x11-libs/libXtst:= - x11-libs/pango:= - app-arch/snappy:= - media-libs/flac:= - >=media-libs/libwebp-0.4.0:= - sys-libs/zlib:=[minizip] - kerberos? ( virtual/krb5 ) -" -# For nvidia-drivers blocker, see bug #413637 . -RDEPEND="${COMMON_DEPEND} - !<www-plugins/chrome-binary-plugins-57 - x11-misc/xdg-utils - virtual/opengl - virtual/ttf-fonts - selinux? ( sec-policy/selinux-chromium ) - tcmalloc? ( !<x11-drivers/nvidia-drivers-331.20 ) - widevine? ( www-plugins/chrome-binary-plugins[widevine(-)] ) -" -DEPEND="${COMMON_DEPEND} -" -# dev-vcs/git - https://bugs.gentoo.org/593476 -BDEPEND=" - ${PYTHON_DEPS} - >=app-arch/gzip-1.7 - !arm? ( - dev-lang/yasm - ) - dev-lang/perl - dev-util/gn - dev-vcs/git - >=dev-util/gperf-3.0.3 - >=dev-util/ninja-1.7.2 - >=net-libs/nodejs-7.6.0[inspector] - sys-apps/hwids[usb(+)] - >=sys-devel/bison-2.4.3 - sys-devel/flex - closure-compile? ( virtual/jre ) - virtual/pkgconfig -" - -: ${CHROMIUM_FORCE_CLANG=yes} - -if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then - BDEPEND+=" >=sys-devel/clang-7" -fi - -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then - EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; -fi - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -Some web pages may require additional fonts to display properly. -Try installing some of the following packages if some characters -are not displayed properly: -- media-fonts/arphicfonts -- media-fonts/droid -- media-fonts/ipamonafont -- media-fonts/noto -- media-fonts/ja-ipafonts -- media-fonts/takao-fonts -- media-fonts/wqy-microhei -- media-fonts/wqy-zenhei - -To fix broken icons on the Downloads page, you should install an icon -theme that covers the appropriate MIME types, and configure this as your -GTK+ icon theme. - -For native file dialogs in KDE, install kde-apps/kdialog. -" - -PATCHES=( - "${FILESDIR}/chromium-compiler-84-r1.patch" - "${FILESDIR}/chromium-widevine-80.patch" - "${FILESDIR}/chromium-fix-char_traits.patch" - "${FILESDIR}/chromium-zlib-82.patch" - "${FILESDIR}/chromium-77-clang.patch" - "${FILESDIR}/chromium-vaapi-83.patch" - "${FILESDIR}/chromium-clang-format-path-82.patch" - "${FILESDIR}/chromium-base-include-84-r2.patch" - "${FILESDIR}/chromium-inline-node-ptr-84.patch" - "${FILESDIR}/chromium-mojo-ltm-83.patch" - "${FILESDIR}/chromium-serviceworker-83.patch" - "${FILESDIR}/chromium-blink-include-bitset-84.patch" -) - -pre_build_checks() { - if [[ ${MERGE_TYPE} != binary ]]; then - local -x CPP="$(tc-getCXX) -E" - if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 8.0; then - die "At least gcc 8.0 is required" - fi - fi - - # Check build requirements, bug #541816 and bug #471810 . - CHECKREQS_MEMORY="3G" - CHECKREQS_DISK_BUILD="7G" - if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then - CHECKREQS_DISK_BUILD="25G" - if ! use component-build; then - CHECKREQS_MEMORY="16G" - fi - fi - check-reqs_pkg_setup -} - -pkg_pretend() { - pre_build_checks -} - -pkg_setup() { - pre_build_checks - - chromium_suid_sandbox_check_kernel_config -} - -src_prepare() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - default - - mkdir -p third_party/node/linux/node-linux-x64/bin || die - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die - - local 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 - 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/angle/third_party/glslang - third_party/angle/third_party/spirv-headers - third_party/angle/third_party/spirv-tools - third_party/angle/third_party/VulkanMemoryAllocator - third_party/angle/third_party/vulkan-headers - third_party/angle/third_party/vulkan-loader - third_party/angle/third_party/vulkan-tools - third_party/angle/third_party/vulkan-validation-layers - 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/cacheinvalidation - 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/devscripts - third_party/devtools-frontend - 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/wasmparser - third_party/devtools-frontend/src/front_end/third_party/lighthouse - third_party/devtools-frontend/src/third_party/axe-core - third_party/devtools-frontend/src/third_party/pyjson5 - third_party/devtools-frontend/src/third_party/typescript - third_party/depot_tools - third_party/dom_distiller_js - third_party/emoji-segmenter - third_party/flatbuffers - third_party/freetype - third_party/glslang - 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/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/vector - third_party/libaom/source/libaom/third_party/x86inc - third_party/libavif - third_party/libgifcodec - third_party/libjingle - third_party/libphonenumber - third_party/libsecret - third_party/libsrtp - third_party/libsync - third_party/libudev - third_party/libwebm - third_party/libxml - third_party/libyuv - third_party/llvm - 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/node - third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2 - third_party/one_euro_filter - third_party/openscreen - third_party/openscreen/src/third_party/tinycbor/src/src - third_party/openscreen/src/third_party/mozilla - 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/pffft - third_party/ply - third_party/polymer - third_party/private-join-and-compute - third_party/protobuf - third_party/protobuf/third_party/six - third_party/pyjson5 - third_party/qcms - third_party/rnnoise - third_party/s2cellid - third_party/schema_org - 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/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-7.0 - 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/unrar - third_party/usrsctp - third_party/vulkan - third_party/web-animations-js - third_party/webdriver - third_party/webrtc - third_party/webrtc/common_audio/third_party/spl_sqrt_floor - third_party/webrtc/common_audio/third_party/ooura - 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/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/adobe - third_party/speech-dispatcher - third_party/usb_ids - third_party/xdg-utils - ) - if ! use system-ffmpeg; then - keeplibs+=( third_party/ffmpeg third_party/opus ) - fi - if ! use system-icu; then - keeplibs+=( third_party/icu ) - fi - if ! use system-libvpx; then - keeplibs+=( third_party/libvpx ) - keeplibs+=( third_party/libvpx/source/libvpx/third_party/x86inc ) - fi - if use tcmalloc; then - keeplibs+=( third_party/tcmalloc ) - fi - - # Remove most bundled libraries. Some are still needed. - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die -} - -src_configure() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local myconf_gn="" - - # Make sure the build system will use the right tools, bug #340795. - tc-export AR CC CXX NM - - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] && ! tc-is-clang; then - # Force clang since gcc is pretty broken at the moment. - CC=${CHOST}-clang - CXX=${CHOST}-clang++ - strip-unsupported-flags - fi - - if tc-is-clang; then - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" - else - myconf_gn+=" is_clang=false" - fi - - # Define a custom toolchain for GN - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" - - if tc-is-cross-compiler; then - tc-export BUILD_{AR,CC,CXX,NM} - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" - else - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - fi - - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - myconf_gn+=" is_debug=false" - - # Component build isn't generally intended for use by end users. It's mostly useful - # for development and debugging. - myconf_gn+=" is_component_build=$(usex component-build true false)" - - myconf_gn+=" use_allocator=$(usex tcmalloc \"tcmalloc\" \"none\")" - - # Disable nacl, we can't build without pnacl (http://crbug.com/269560). - myconf_gn+=" enable_nacl=false" - - # Use system-provided libraries. - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_libsrtp (bug #459932). - # TODO: use_system_protobuf (bug #525560). - # TODO: use_system_ssl (http://crbug.com/58087). - # TODO: use_system_sqlite (http://crbug.com/22208). - - # libevent: https://bugs.gentoo.org/593458 - local gn_system_libraries=( - flac - fontconfig - freetype - # Need harfbuzz_from_pkgconfig target - #harfbuzz-ng - libdrm - libjpeg - libpng - libwebp - #libxml - libxslt - openh264 - re2 - snappy - zlib - ) - if use system-ffmpeg; then - gn_system_libraries+=( ffmpeg opus ) - fi - if use system-icu; then - gn_system_libraries+=( icu ) - fi - if use system-libvpx; then - gn_system_libraries+=( libvpx ) - fi - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die - - # See dependency logic in third_party/BUILD.gn - myconf_gn+=" use_system_harfbuzz=true" - - # Optional dependencies. - myconf_gn+=" closure_compile=$(usex closure-compile true false)" - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" - myconf_gn+=" enable_widevine=$(usex widevine true false)" - myconf_gn+=" use_cups=$(usex cups true false)" - myconf_gn+=" use_gnome_keyring=$(usex gnome-keyring true false)" - myconf_gn+=" use_kerberos=$(usex kerberos true false)" - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" - myconf_gn+=" use_vaapi=$(usex vaapi true false)" - - # TODO: link_pulseaudio=true for GN. - - myconf_gn+=" fieldtrial_testing_like_official_build=true" - - # Never use bundled gold binary. Disable gold linker flags for now. - # Do not use bundled clang. - # Trying to use gold results in linker crash. - myconf_gn+=" use_gold=false use_sysroot=false linux_use_bundled_binutils=false use_custom_libcxx=false" - - # Disable forced lld, bug 641556 - myconf_gn+=" use_lld=false" - - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" - - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . - # Note: these are for Gentoo use ONLY. For your own distribution, - # please get your own set of keys. Feel free to contact chromium@gentoo.org - # for more info. - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" - local google_default_client_id="329227923882.apps.googleusercontent.com" - local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu" - myconf_gn+=" google_api_key=\"${google_api_key}\"" - myconf_gn+=" google_default_client_id=\"${google_default_client_id}\"" - myconf_gn+=" google_default_client_secret=\"${google_default_client_secret}\"" - - local myarch="$(tc-arch)" - - # Avoid CFLAGS problems, bug #352457, bug #390147. - if ! use custom-cflags; then - replace-flags "-Os" "-O2" - strip-flags - - # Prevent linker from running out of address space, bug #471810 . - if use x86; then - filter-flags "-g*" - fi - - # Prevent libvpx build failures. Bug 530248, 544702, 546984. - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 - fi - fi - - if [[ $myarch = amd64 ]] ; then - myconf_gn+=" target_cpu=\"x64\"" - ffmpeg_target_arch=x64 - elif [[ $myarch = x86 ]] ; then - myconf_gn+=" target_cpu=\"x86\"" - ffmpeg_target_arch=ia32 - - # This is normally defined by compiler_cpu_abi in - # build/config/compiler/BUILD.gn, but we patch that part out. - append-flags -msse2 -mfpmath=sse -mmmx - elif [[ $myarch = arm64 ]] ; then - myconf_gn+=" target_cpu=\"arm64\"" - ffmpeg_target_arch=arm64 - elif [[ $myarch = arm ]] ; then - myconf_gn+=" target_cpu=\"arm\"" - ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm) - else - 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" - - # Bug 491582. - export TMPDIR="${WORKDIR}/temp" - mkdir -p -m 755 "${TMPDIR}" || die - - # https://bugs.gentoo.org/654216 - addpredict /dev/dri/ #nowarn - - #if ! use system-ffmpeg; then - if false; then - local build_ffmpeg_args="" - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then - build_ffmpeg_args+=" --disable-asm" - fi - - # Re-configure bundled ffmpeg. See bug #491378 for example reasons. - einfo "Configuring bundled ffmpeg..." - pushd third_party/ffmpeg > /dev/null || die - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \ - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die - chromium/scripts/copy_config.sh || die - chromium/scripts/generate_gn.py || die - popd > /dev/null || die - fi - - # Chromium relies on this, but was disabled in >=clang-10, crbug.com/1042470 - append-cxxflags $(test-flags-CXX -flax-vector-conversions=all) - - # Explicitly disable ICU data file support for system-icu builds. - if use system-icu; then - myconf_gn+=" icu_use_data_file=false" - fi - - einfo "Configuring Chromium..." - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release - echo "$@" - "$@" || die -} - -src_compile() { - # Final link uses lots of file descriptors. - ulimit -n 2048 - - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die - - # Build mksnapshot and pax-mark it. - local x - for x in mksnapshot v8_context_snapshot_generator; do - if tc-is-cross-compiler; then - eninja -C out/Release "host/${x}" - pax-mark m "out/Release/host/${x}" - else - eninja -C out/Release "${x}" - pax-mark m "out/Release/${x}" - fi - done - - # Even though ninja autodetects number of CPUs, we respect - # user's options, for debugging with -j 1 or any other reason. - eninja -C out/Release chrome chromedriver - use suid && eninja -C out/Release chrome_sandbox - - pax-mark m out/Release/chrome - - # Build desktop file; bug #706786 - sed -e 's|@@MENUNAME@@|Chromium|g; - s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g; - s|@@PACKAGE@@|chromium-browser|g; - s|\(^Exec=\)/usr/bin/|\1|g;' \ - chrome/installer/linux/common/desktop.template > \ - out/Release/chromium-browser-chromium.desktop || die - - # Build manpage; bug #684550 - sed -e 's|@@PACKAGE@@|chromium-browser|g; - s|@@MENUNAME@@|Chromium|g;' \ - chrome/app/resources/manpage.1.in > \ - out/Release/chromium-browser.1 || die -} - -src_install() { - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" - exeinto "${CHROMIUM_HOME}" - doexe out/Release/chrome - - if use suid; then - newexe out/Release/chrome_sandbox chrome-sandbox - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" - fi - - doexe out/Release/chromedriver - - local sedargs=( -e "s:/usr/lib/:/usr/$(get_libdir)/:g" ) - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r3.sh" > chromium-launcher.sh || die - doexe chromium-launcher.sh - - # It is important that we name the target "chromium-browser", - # xdg-utils expect it; bug #355517. - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser - # keep the old symlink around for consistency - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium - - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver - - # Allow users to override command-line options, bug #357629. - insinto /etc/chromium - newins "${FILESDIR}/chromium.default" "default" - - pushd out/Release/locales > /dev/null || die - chromium_remove_language_paks - popd - - insinto "${CHROMIUM_HOME}" - doins out/Release/*.bin - doins out/Release/*.pak - doins out/Release/*.so - - if ! use system-icu; then - doins out/Release/icudtl.dat - fi - - doins -r out/Release/locales - doins -r out/Release/resources - - if [[ -d out/Release/swiftshader ]]; then - insinto "${CHROMIUM_HOME}/swiftshader" - doins out/Release/swiftshader/*.so - fi - - # Install icons - local branding size - for size in 16 24 32 48 64 128 256 ; do - case ${size} in - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; - *) branding="chrome/app/theme/chromium" ;; - esac - newicon -s ${size} "${branding}/product_logo_${size}.png" \ - chromium-browser.png - done - - # Install desktop entry - domenu out/Release/chromium-browser-chromium.desktop - - # Install GNOME default application entry (bug #303100). - insinto /usr/share/gnome-control-center/default-apps - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml - - # Install manpage; bug #684550 - doman out/Release/chromium-browser.1 - dosym chromium-browser.1 /usr/share/man/man1/chromium.1 - - readme.gentoo_create_doc -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_desktop_database_update -} - -pkg_postinst() { - xdg_icon_cache_update - xdg_desktop_database_update - readme.gentoo_print_elog -} diff --git a/www-client/chromium/chromium-84.0.4147.13.ebuild b/www-client/chromium/chromium-84.0.4147.13.ebuild deleted file mode 100644 index 28d8d0e..0000000 --- a/www-client/chromium/chromium-84.0.4147.13.ebuild +++ /dev/null @@ -1,752 +0,0 @@ -# Copyright 2009-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python2_7 ) - -CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - 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 vi zh-CN zh-TW" - -inherit check-reqs chromium-2 desktop flag-o-matic multilib ninja-utils pax-utils portability python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="http://chromium.org/" -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" -IUSE="+closure-compile component-build cups cpu_flags_arm_neon gnome-keyring +hangouts kerberos pic +proprietary-codecs pulseaudio selinux +suid +system-ffmpeg +system-icu +system-libvpx +tcmalloc widevine vaapi" -RESTRICT="!system-ffmpeg? ( proprietary-codecs? ( bindist ) )" -REQUIRED_USE="component-build? ( !suid )" - -COMMON_DEPEND=" - >=app-accessibility/at-spi2-atk-2.26:2 - app-arch/bzip2:= - cups? ( >=net-print/cups-1.3.11:= ) - >=dev-libs/atk-2.26 - dev-libs/expat:= - dev-libs/glib:2 - system-icu? ( >=dev-libs/icu-65:= ) - >=dev-libs/libxml2-2.9.4-r3:=[icu] - dev-libs/libxslt:= - dev-libs/nspr:= - >=dev-libs/nss-3.26:= - >=dev-libs/re2-0.2019.08.01:= - gnome-keyring? ( >=gnome-base/libgnome-keyring-3.12:= ) - >=media-libs/alsa-lib-1.0.19:= - media-libs/fontconfig:= - media-libs/freetype:= - >=media-libs/harfbuzz-2.4.0:0=[icu(-)] - media-libs/libjpeg-turbo:= - media-libs/libpng:= - system-libvpx? ( media-libs/libvpx:=[postproc,svc] ) - >=media-libs/openh264-1.6.0:= - pulseaudio? ( media-sound/pulseaudio:= ) - system-ffmpeg? ( - >=media-video/ffmpeg-4:= - || ( - media-video/ffmpeg[-samba] - >=net-fs/samba-4.5.10-r1[-debug(-)] - ) - !=net-fs/samba-4.5.12-r0 - media-libs/opus:= - ) - sys-apps/dbus:= - sys-apps/pciutils:= - virtual/udev - x11-libs/cairo:= - x11-libs/gdk-pixbuf:2 - x11-libs/gtk+:3[X] - x11-libs/libX11:= - x11-libs/libXcomposite:= - x11-libs/libXcursor:= - x11-libs/libXdamage:= - x11-libs/libXext:= - x11-libs/libXfixes:= - >=x11-libs/libXi-1.6.0:= - x11-libs/libXrandr:= - x11-libs/libXrender:= - x11-libs/libXScrnSaver:= - x11-libs/libXtst:= - x11-libs/pango:= - app-arch/snappy:= - media-libs/flac:= - >=media-libs/libwebp-0.4.0:= - sys-libs/zlib:=[minizip] - kerberos? ( virtual/krb5 ) -" -# For nvidia-drivers blocker, see bug #413637 . -RDEPEND="${COMMON_DEPEND} - !<www-plugins/chrome-binary-plugins-57 - x11-misc/xdg-utils - virtual/opengl - virtual/ttf-fonts - selinux? ( sec-policy/selinux-chromium ) - tcmalloc? ( !<x11-drivers/nvidia-drivers-331.20 ) - widevine? ( www-plugins/chrome-binary-plugins[widevine(-)] ) -" -DEPEND="${COMMON_DEPEND} -" -# dev-vcs/git - https://bugs.gentoo.org/593476 -BDEPEND=" - ${PYTHON_DEPS} - >=app-arch/gzip-1.7 - !arm? ( - dev-lang/yasm - ) - dev-lang/perl - dev-util/gn - dev-vcs/git - >=dev-util/gperf-3.0.3 - >=dev-util/ninja-1.7.2 - >=net-libs/nodejs-7.6.0[inspector] - sys-apps/hwids[usb(+)] - >=sys-devel/bison-2.4.3 - sys-devel/flex - closure-compile? ( virtual/jre ) - virtual/pkgconfig -" - -: ${CHROMIUM_FORCE_CLANG=yes} - -if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then - BDEPEND+=" >=sys-devel/clang-7" -fi - -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then - EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; -fi - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -Some web pages may require additional fonts to display properly. -Try installing some of the following packages if some characters -are not displayed properly: -- media-fonts/arphicfonts -- media-fonts/droid -- media-fonts/ipamonafont -- media-fonts/noto -- media-fonts/ja-ipafonts -- media-fonts/takao-fonts -- media-fonts/wqy-microhei -- media-fonts/wqy-zenhei - -To fix broken icons on the Downloads page, you should install an icon -theme that covers the appropriate MIME types, and configure this as your -GTK+ icon theme. - -For native file dialogs in KDE, install kde-apps/kdialog. -" - -PATCHES=( - "${FILESDIR}/chromium-compiler-84-r1.patch" - "${FILESDIR}/chromium-widevine-80.patch" - "${FILESDIR}/chromium-fix-char_traits.patch" - "${FILESDIR}/chromium-zlib-82.patch" - "${FILESDIR}/chromium-77-clang.patch" - "${FILESDIR}/chromium-vaapi-83.patch" - "${FILESDIR}/chromium-clang-format-path-82.patch" - "${FILESDIR}/chromium-base-include-84-r2.patch" - "${FILESDIR}/chromium-inline-node-ptr-84.patch" - "${FILESDIR}/chromium-mojo-ltm-83.patch" - "${FILESDIR}/chromium-webrtc-include-84.patch" - "${FILESDIR}/chromium-axobj-ancestoriter-cat-84.patch" - "${FILESDIR}/chromium-ntp_backgrounds-include-84.patch" - "${FILESDIR}/chromium-ext-no-vector-const-84.patch" - "${FILESDIR}/chromium-revert-crrev-2147485-84.patch" -) - -pre_build_checks() { - if [[ ${MERGE_TYPE} != binary ]]; then - local -x CPP="$(tc-getCXX) -E" - if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 8.0; then - die "At least gcc 8.0 is required" - fi - fi - - # Check build requirements, bug #541816 and bug #471810 . - CHECKREQS_MEMORY="3G" - CHECKREQS_DISK_BUILD="7G" - if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then - CHECKREQS_DISK_BUILD="25G" - if ! use component-build; then - CHECKREQS_MEMORY="16G" - fi - fi - check-reqs_pkg_setup -} - -pkg_pretend() { - pre_build_checks -} - -pkg_setup() { - pre_build_checks - - chromium_suid_sandbox_check_kernel_config -} - -src_prepare() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - default - - mkdir -p third_party/node/linux/node-linux-x64/bin || die - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die - - local 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 - 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/angle/third_party/glslang - third_party/angle/third_party/spirv-headers - third_party/angle/third_party/spirv-tools - third_party/angle/third_party/vulkan-headers - third_party/angle/third_party/vulkan-loader - third_party/angle/third_party/vulkan-tools - third_party/angle/third_party/vulkan-validation-layers - 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/cacheinvalidation - 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/devscripts - third_party/devtools-frontend - third_party/devtools-frontend/src/front_end/third_party/acorn - 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/wasmparser - third_party/devtools-frontend/src/front_end/third_party/lighthouse - third_party/devtools-frontend/src/third_party/axe-core - third_party/devtools-frontend/src/third_party/pyjson5 - third_party/devtools-frontend/src/third_party/typescript - third_party/depot_tools - third_party/dom_distiller_js - third_party/emoji-segmenter - third_party/flatbuffers - third_party/freetype - third_party/glslang - 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/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/vector - third_party/libaom/source/libaom/third_party/x86inc - third_party/libavif - third_party/libgifcodec - third_party/libjingle - third_party/libphonenumber - third_party/libsecret - third_party/libsrtp - third_party/libsync - third_party/libudev - third_party/libwebm - third_party/libxml - third_party/libyuv - 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/node - third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2 - third_party/one_euro_filter - third_party/openscreen - third_party/openscreen/src/third_party/tinycbor/src/src - third_party/openscreen/src/third_party/mozilla - 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/pffft - third_party/ply - third_party/polymer - third_party/private-join-and-compute - third_party/protobuf - third_party/protobuf/third_party/six - third_party/pyjson5 - third_party/qcms - third_party/rnnoise - third_party/s2cellid - third_party/schema_org - 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/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-7.0 - 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/unrar - third_party/usrsctp - third_party/vulkan - third_party/web-animations-js - third_party/webdriver - third_party/webrtc - third_party/webrtc/common_audio/third_party/spl_sqrt_floor - third_party/webrtc/common_audio/third_party/ooura - 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/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/adobe - third_party/speech-dispatcher - third_party/usb_ids - third_party/xdg-utils - ) - if ! use system-ffmpeg; then - keeplibs+=( third_party/ffmpeg third_party/opus ) - fi - if ! use system-icu; then - keeplibs+=( third_party/icu ) - fi - if ! use system-libvpx; then - keeplibs+=( third_party/libvpx ) - keeplibs+=( third_party/libvpx/source/libvpx/third_party/x86inc ) - fi - if use tcmalloc; then - keeplibs+=( third_party/tcmalloc ) - fi - - # Remove most bundled libraries. Some are still needed. - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die -} - -src_configure() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local myconf_gn="" - - # Make sure the build system will use the right tools, bug #340795. - tc-export AR CC CXX NM - - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] && ! tc-is-clang; then - # Force clang since gcc is pretty broken at the moment. - CC=${CHOST}-clang - CXX=${CHOST}-clang++ - strip-unsupported-flags - fi - - if tc-is-clang; then - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" - else - myconf_gn+=" is_clang=false" - fi - - # Define a custom toolchain for GN - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" - - if tc-is-cross-compiler; then - tc-export BUILD_{AR,CC,CXX,NM} - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" - else - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - fi - - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - myconf_gn+=" is_debug=false" - - # Component build isn't generally intended for use by end users. It's mostly useful - # for development and debugging. - myconf_gn+=" is_component_build=$(usex component-build true false)" - - myconf_gn+=" use_allocator=$(usex tcmalloc \"tcmalloc\" \"none\")" - - # Disable nacl, we can't build without pnacl (http://crbug.com/269560). - myconf_gn+=" enable_nacl=false" - - # Use system-provided libraries. - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_libsrtp (bug #459932). - # TODO: use_system_protobuf (bug #525560). - # TODO: use_system_ssl (http://crbug.com/58087). - # TODO: use_system_sqlite (http://crbug.com/22208). - - # libevent: https://bugs.gentoo.org/593458 - local gn_system_libraries=( - flac - fontconfig - freetype - # Need harfbuzz_from_pkgconfig target - #harfbuzz-ng - libdrm - libjpeg - libpng - libwebp - #libxml - libxslt - openh264 - re2 - snappy - zlib - ) - if use system-ffmpeg; then - gn_system_libraries+=( ffmpeg opus ) - fi - if use system-icu; then - gn_system_libraries+=( icu ) - fi - if use system-libvpx; then - gn_system_libraries+=( libvpx ) - fi - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die - - # See dependency logic in third_party/BUILD.gn - myconf_gn+=" use_system_harfbuzz=true" - - # Optional dependencies. - myconf_gn+=" closure_compile=$(usex closure-compile true false)" - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" - myconf_gn+=" enable_widevine=$(usex widevine true false)" - myconf_gn+=" use_cups=$(usex cups true false)" - myconf_gn+=" use_gnome_keyring=$(usex gnome-keyring true false)" - myconf_gn+=" use_kerberos=$(usex kerberos true false)" - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" - myconf_gn+=" use_vaapi=$(usex vaapi true false)" - - # TODO: link_pulseaudio=true for GN. - - myconf_gn+=" fieldtrial_testing_like_official_build=true" - - # Never use bundled gold binary. Disable gold linker flags for now. - # Do not use bundled clang. - # Trying to use gold results in linker crash. - myconf_gn+=" use_gold=false use_sysroot=false linux_use_bundled_binutils=false use_custom_libcxx=false" - - # Disable forced lld, bug 641556 - myconf_gn+=" use_lld=false" - - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" - - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . - # Note: these are for Gentoo use ONLY. For your own distribution, - # please get your own set of keys. Feel free to contact chromium@gentoo.org - # for more info. - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" - local google_default_client_id="329227923882.apps.googleusercontent.com" - local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu" - myconf_gn+=" google_api_key=\"${google_api_key}\"" - myconf_gn+=" google_default_client_id=\"${google_default_client_id}\"" - myconf_gn+=" google_default_client_secret=\"${google_default_client_secret}\"" - - local myarch="$(tc-arch)" - - # Avoid CFLAGS problems, bug #352457, bug #390147. - if ! use custom-cflags; then - replace-flags "-Os" "-O2" - strip-flags - - # Prevent linker from running out of address space, bug #471810 . - if use x86; then - filter-flags "-g*" - fi - - # Prevent libvpx build failures. Bug 530248, 544702, 546984. - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 - fi - fi - - if [[ $myarch = amd64 ]] ; then - myconf_gn+=" target_cpu=\"x64\"" - ffmpeg_target_arch=x64 - elif [[ $myarch = x86 ]] ; then - myconf_gn+=" target_cpu=\"x86\"" - ffmpeg_target_arch=ia32 - - # This is normally defined by compiler_cpu_abi in - # build/config/compiler/BUILD.gn, but we patch that part out. - append-flags -msse2 -mfpmath=sse -mmmx - elif [[ $myarch = arm64 ]] ; then - myconf_gn+=" target_cpu=\"arm64\"" - ffmpeg_target_arch=arm64 - elif [[ $myarch = arm ]] ; then - myconf_gn+=" target_cpu=\"arm\"" - ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm) - else - 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" - - # Bug 491582. - export TMPDIR="${WORKDIR}/temp" - mkdir -p -m 755 "${TMPDIR}" || die - - # https://bugs.gentoo.org/654216 - addpredict /dev/dri/ #nowarn - - #if ! use system-ffmpeg; then - if false; then - local build_ffmpeg_args="" - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then - build_ffmpeg_args+=" --disable-asm" - fi - - # Re-configure bundled ffmpeg. See bug #491378 for example reasons. - einfo "Configuring bundled ffmpeg..." - pushd third_party/ffmpeg > /dev/null || die - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \ - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die - chromium/scripts/copy_config.sh || die - chromium/scripts/generate_gn.py || die - popd > /dev/null || die - fi - - # Chromium relies on this, but was disabled in >=clang-10, crbug.com/1042470 - append-cxxflags $(test-flags-CXX -flax-vector-conversions=all) - - # Explicitly disable ICU data file support for system-icu builds. - if use system-icu; then - myconf_gn+=" icu_use_data_file=false" - fi - - einfo "Configuring Chromium..." - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release - echo "$@" - "$@" || die -} - -src_compile() { - # Final link uses lots of file descriptors. - ulimit -n 2048 - - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die - - # Build mksnapshot and pax-mark it. - local x - for x in mksnapshot v8_context_snapshot_generator; do - if tc-is-cross-compiler; then - eninja -C out/Release "host/${x}" - pax-mark m "out/Release/host/${x}" - else - eninja -C out/Release "${x}" - pax-mark m "out/Release/${x}" - fi - done - - # Even though ninja autodetects number of CPUs, we respect - # user's options, for debugging with -j 1 or any other reason. - eninja -C out/Release chrome chromedriver - use suid && eninja -C out/Release chrome_sandbox - - pax-mark m out/Release/chrome - - # Build desktop file; bug #706786 - sed -e 's|@@MENUNAME@@|Chromium|g; - s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g; - s|@@PACKAGE@@|chromium-browser|g; - s|\(^Exec=\)/usr/bin/|\1|g;' \ - chrome/installer/linux/common/desktop.template > \ - out/Release/chromium-browser-chromium.desktop || die - - # Build manpage; bug #684550 - sed -e 's|@@PACKAGE@@|chromium-browser|g; - s|@@MENUNAME@@|Chromium|g;' \ - chrome/app/resources/manpage.1.in > \ - out/Release/chromium-browser.1 || die -} - -src_install() { - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" - exeinto "${CHROMIUM_HOME}" - doexe out/Release/chrome - - if use suid; then - newexe out/Release/chrome_sandbox chrome-sandbox - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" - fi - - doexe out/Release/chromedriver - - local sedargs=( -e "s:/usr/lib/:/usr/$(get_libdir)/:g" ) - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r3.sh" > chromium-launcher.sh || die - doexe chromium-launcher.sh - - # It is important that we name the target "chromium-browser", - # xdg-utils expect it; bug #355517. - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser - # keep the old symlink around for consistency - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium - - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver - - # Allow users to override command-line options, bug #357629. - insinto /etc/chromium - newins "${FILESDIR}/chromium.default" "default" - - pushd out/Release/locales > /dev/null || die - chromium_remove_language_paks - popd - - insinto "${CHROMIUM_HOME}" - doins out/Release/*.bin - doins out/Release/*.pak - doins out/Release/*.so - - if ! use system-icu; then - doins out/Release/icudtl.dat - fi - - doins -r out/Release/locales - doins -r out/Release/resources - - if [[ -d out/Release/swiftshader ]]; then - insinto "${CHROMIUM_HOME}/swiftshader" - doins out/Release/swiftshader/*.so - fi - - # Install icons - local branding size - for size in 16 24 32 48 64 128 256 ; do - case ${size} in - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; - *) branding="chrome/app/theme/chromium" ;; - esac - newicon -s ${size} "${branding}/product_logo_${size}.png" \ - chromium-browser.png - done - - # Install desktop entry - domenu out/Release/chromium-browser-chromium.desktop - - # Install GNOME default application entry (bug #303100). - insinto /usr/share/gnome-control-center/default-apps - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml - - # Install manpage; bug #684550 - doman out/Release/chromium-browser.1 - dosym chromium-browser.1 /usr/share/man/man1/chromium.1 - - readme.gentoo_create_doc -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_desktop_database_update -} - -pkg_postinst() { - xdg_icon_cache_update - xdg_desktop_database_update - readme.gentoo_print_elog -} diff --git a/www-client/chromium/chromium-85.0.4164.2.ebuild b/www-client/chromium/chromium-85.0.4164.2.ebuild deleted file mode 100644 index 80df496..0000000 --- a/www-client/chromium/chromium-85.0.4164.2.ebuild +++ /dev/null @@ -1,754 +0,0 @@ -# Copyright 2009-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python2_7 ) - -CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - 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 vi zh-CN zh-TW" - -inherit check-reqs chromium-2 desktop flag-o-matic multilib ninja-utils pax-utils portability python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="http://chromium.org/" -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" -IUSE="+closure-compile component-build cups cpu_flags_arm_neon gnome-keyring +hangouts kerberos pic +proprietary-codecs pulseaudio selinux +suid +system-ffmpeg +system-icu +system-libvpx +tcmalloc widevine vaapi" -RESTRICT="!system-ffmpeg? ( proprietary-codecs? ( bindist ) )" -REQUIRED_USE="component-build? ( !suid )" - -COMMON_DEPEND=" - >=app-accessibility/at-spi2-atk-2.26:2 - app-arch/bzip2:= - cups? ( >=net-print/cups-1.3.11:= ) - >=dev-libs/atk-2.26 - dev-libs/expat:= - dev-libs/glib:2 - system-icu? ( >=dev-libs/icu-65:= ) - >=dev-libs/libxml2-2.9.4-r3:=[icu] - dev-libs/libxslt:= - dev-libs/nspr:= - >=dev-libs/nss-3.26:= - >=dev-libs/re2-0.2019.08.01:= - gnome-keyring? ( >=gnome-base/libgnome-keyring-3.12:= ) - >=media-libs/alsa-lib-1.0.19:= - media-libs/fontconfig:= - media-libs/freetype:= - >=media-libs/harfbuzz-2.4.0:0=[icu(-)] - media-libs/libjpeg-turbo:= - media-libs/libpng:= - system-libvpx? ( media-libs/libvpx:=[postproc,svc] ) - >=media-libs/openh264-1.6.0:= - pulseaudio? ( media-sound/pulseaudio:= ) - system-ffmpeg? ( - >=media-video/ffmpeg-4:= - || ( - media-video/ffmpeg[-samba] - >=net-fs/samba-4.5.10-r1[-debug(-)] - ) - !=net-fs/samba-4.5.12-r0 - media-libs/opus:= - ) - sys-apps/dbus:= - sys-apps/pciutils:= - virtual/udev - x11-libs/cairo:= - x11-libs/gdk-pixbuf:2 - x11-libs/gtk+:3[X] - x11-libs/libX11:= - x11-libs/libXcomposite:= - x11-libs/libXcursor:= - x11-libs/libXdamage:= - x11-libs/libXext:= - x11-libs/libXfixes:= - >=x11-libs/libXi-1.6.0:= - x11-libs/libXrandr:= - x11-libs/libXrender:= - x11-libs/libXScrnSaver:= - x11-libs/libXtst:= - x11-libs/pango:= - app-arch/snappy:= - media-libs/flac:= - >=media-libs/libwebp-0.4.0:= - sys-libs/zlib:=[minizip] - kerberos? ( virtual/krb5 ) -" -# For nvidia-drivers blocker, see bug #413637 . -RDEPEND="${COMMON_DEPEND} - !<www-plugins/chrome-binary-plugins-57 - x11-misc/xdg-utils - virtual/opengl - virtual/ttf-fonts - selinux? ( sec-policy/selinux-chromium ) - tcmalloc? ( !<x11-drivers/nvidia-drivers-331.20 ) - widevine? ( www-plugins/chrome-binary-plugins[widevine(-)] ) -" -DEPEND="${COMMON_DEPEND} -" -# dev-vcs/git - https://bugs.gentoo.org/593476 -BDEPEND=" - ${PYTHON_DEPS} - >=app-arch/gzip-1.7 - !arm? ( - dev-lang/yasm - ) - dev-lang/perl - dev-util/gn - dev-vcs/git - >=dev-util/gperf-3.0.3 - >=dev-util/ninja-1.7.2 - >=net-libs/nodejs-7.6.0[inspector] - sys-apps/hwids[usb(+)] - >=sys-devel/bison-2.4.3 - sys-devel/flex - closure-compile? ( virtual/jre ) - virtual/pkgconfig -" - -: ${CHROMIUM_FORCE_CLANG=yes} - -if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then - BDEPEND+=" >=sys-devel/clang-7" -fi - -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then - EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; -fi - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -Some web pages may require additional fonts to display properly. -Try installing some of the following packages if some characters -are not displayed properly: -- media-fonts/arphicfonts -- media-fonts/droid -- media-fonts/ipamonafont -- media-fonts/noto -- media-fonts/ja-ipafonts -- media-fonts/takao-fonts -- media-fonts/wqy-microhei -- media-fonts/wqy-zenhei - -To fix broken icons on the Downloads page, you should install an icon -theme that covers the appropriate MIME types, and configure this as your -GTK+ icon theme. - -For native file dialogs in KDE, install kde-apps/kdialog. -" - -PATCHES=( - "${FILESDIR}/chromium-compiler-84-r1.patch" - "${FILESDIR}/chromium-widevine-80.patch" - "${FILESDIR}/chromium-fix-char_traits.patch" - "${FILESDIR}/chromium-zlib-82.patch" - "${FILESDIR}/chromium-77-clang.patch" - "${FILESDIR}/chromium-vaapi-83.patch" - "${FILESDIR}/chromium-clang-format-path-82.patch" - "${FILESDIR}/chromium-base-include-84-r2.patch" - "${FILESDIR}/chromium-inline-node-ptr-84.patch" - "${FILESDIR}/chromium-mojo-ltm-83.patch" - "${FILESDIR}/chromium-gamepad-include-84.patch" - "${FILESDIR}/chromium-bluetooth-tuple-84.patch" - "${FILESDIR}/chromium-simhash-include-84.patch" - "${FILESDIR}/chromium-opencv-include-84.patch" - "${FILESDIR}/chromium-core-management-svc-84.patch" - "${FILESDIR}/chromium-gpu-vp9-include-84.patch" -) - -pre_build_checks() { - if [[ ${MERGE_TYPE} != binary ]]; then - local -x CPP="$(tc-getCXX) -E" - if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 8.0; then - die "At least gcc 8.0 is required" - fi - fi - - # Check build requirements, bug #541816 and bug #471810 . - CHECKREQS_MEMORY="3G" - CHECKREQS_DISK_BUILD="7G" - if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then - CHECKREQS_DISK_BUILD="25G" - if ! use component-build; then - CHECKREQS_MEMORY="16G" - fi - fi - check-reqs_pkg_setup -} - -pkg_pretend() { - pre_build_checks -} - -pkg_setup() { - pre_build_checks - - chromium_suid_sandbox_check_kernel_config -} - -src_prepare() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - default - - mkdir -p third_party/node/linux/node-linux-x64/bin || die - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die - - local 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 - 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/angle/third_party/glslang - third_party/angle/third_party/spirv-headers - third_party/angle/third_party/spirv-tools - third_party/angle/third_party/vulkan-headers - third_party/angle/third_party/vulkan-loader - third_party/angle/third_party/vulkan-tools - third_party/angle/third_party/vulkan-validation-layers - 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/cacheinvalidation - 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/devscripts - third_party/devtools-frontend - third_party/devtools-frontend/src/front_end/third_party/acorn - 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/wasmparser - third_party/devtools-frontend/src/front_end/third_party/lighthouse - third_party/devtools-frontend/src/third_party/axe-core - third_party/devtools-frontend/src/third_party/pyjson5 - third_party/devtools-frontend/src/third_party/typescript - third_party/depot_tools - third_party/dom_distiller_js - third_party/emoji-segmenter - third_party/flatbuffers - third_party/freetype - third_party/glslang - 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/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/vector - third_party/libaom/source/libaom/third_party/x86inc - third_party/libavif - third_party/libgifcodec - third_party/libjingle - third_party/libphonenumber - third_party/libsecret - third_party/libsrtp - third_party/libsync - third_party/libudev - third_party/libwebm - third_party/libxml - third_party/libyuv - 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/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/tinycbor/src/src - third_party/openscreen/src/third_party/mozilla - 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/pffft - third_party/ply - third_party/polymer - third_party/private-join-and-compute - third_party/protobuf - third_party/protobuf/third_party/six - third_party/pyjson5 - third_party/qcms - third_party/rnnoise - third_party/s2cellid - third_party/schema_org - 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/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-7.0 - 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/unrar - third_party/usrsctp - third_party/vulkan - third_party/web-animations-js - third_party/webdriver - third_party/webrtc - third_party/webrtc/common_audio/third_party/spl_sqrt_floor - third_party/webrtc/common_audio/third_party/ooura - 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/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/adobe - third_party/speech-dispatcher - third_party/usb_ids - third_party/xdg-utils - ) - if ! use system-ffmpeg; then - keeplibs+=( third_party/ffmpeg third_party/opus ) - fi - if ! use system-icu; then - keeplibs+=( third_party/icu ) - fi - if ! use system-libvpx; then - keeplibs+=( third_party/libvpx ) - keeplibs+=( third_party/libvpx/source/libvpx/third_party/x86inc ) - fi - if use tcmalloc; then - keeplibs+=( third_party/tcmalloc ) - fi - - # Remove most bundled libraries. Some are still needed. - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die -} - -src_configure() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local myconf_gn="" - - # Make sure the build system will use the right tools, bug #340795. - tc-export AR CC CXX NM - - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] && ! tc-is-clang; then - # Force clang since gcc is pretty broken at the moment. - CC=${CHOST}-clang - CXX=${CHOST}-clang++ - strip-unsupported-flags - fi - - if tc-is-clang; then - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" - else - myconf_gn+=" is_clang=false" - fi - - # Define a custom toolchain for GN - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" - - if tc-is-cross-compiler; then - tc-export BUILD_{AR,CC,CXX,NM} - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" - else - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - fi - - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - myconf_gn+=" is_debug=false" - - # Component build isn't generally intended for use by end users. It's mostly useful - # for development and debugging. - myconf_gn+=" is_component_build=$(usex component-build true false)" - - myconf_gn+=" use_allocator=$(usex tcmalloc \"tcmalloc\" \"none\")" - - # Disable nacl, we can't build without pnacl (http://crbug.com/269560). - myconf_gn+=" enable_nacl=false" - - # Use system-provided libraries. - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_libsrtp (bug #459932). - # TODO: use_system_protobuf (bug #525560). - # TODO: use_system_ssl (http://crbug.com/58087). - # TODO: use_system_sqlite (http://crbug.com/22208). - - # libevent: https://bugs.gentoo.org/593458 - local gn_system_libraries=( - flac - fontconfig - freetype - # Need harfbuzz_from_pkgconfig target - #harfbuzz-ng - libdrm - libjpeg - libpng - libwebp - #libxml - libxslt - openh264 - re2 - snappy - zlib - ) - if use system-ffmpeg; then - gn_system_libraries+=( ffmpeg opus ) - fi - if use system-icu; then - gn_system_libraries+=( icu ) - fi - if use system-libvpx; then - gn_system_libraries+=( libvpx ) - fi - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die - - # See dependency logic in third_party/BUILD.gn - myconf_gn+=" use_system_harfbuzz=true" - - # Optional dependencies. - myconf_gn+=" closure_compile=$(usex closure-compile true false)" - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" - myconf_gn+=" enable_widevine=$(usex widevine true false)" - myconf_gn+=" use_cups=$(usex cups true false)" - myconf_gn+=" use_gnome_keyring=$(usex gnome-keyring true false)" - myconf_gn+=" use_kerberos=$(usex kerberos true false)" - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" - myconf_gn+=" use_vaapi=$(usex vaapi true false)" - - # TODO: link_pulseaudio=true for GN. - - myconf_gn+=" fieldtrial_testing_like_official_build=true" - - # Never use bundled gold binary. Disable gold linker flags for now. - # Do not use bundled clang. - # Trying to use gold results in linker crash. - myconf_gn+=" use_gold=false use_sysroot=false linux_use_bundled_binutils=false use_custom_libcxx=false" - - # Disable forced lld, bug 641556 - myconf_gn+=" use_lld=false" - - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" - - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . - # Note: these are for Gentoo use ONLY. For your own distribution, - # please get your own set of keys. Feel free to contact chromium@gentoo.org - # for more info. - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" - local google_default_client_id="329227923882.apps.googleusercontent.com" - local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu" - myconf_gn+=" google_api_key=\"${google_api_key}\"" - myconf_gn+=" google_default_client_id=\"${google_default_client_id}\"" - myconf_gn+=" google_default_client_secret=\"${google_default_client_secret}\"" - - local myarch="$(tc-arch)" - - # Avoid CFLAGS problems, bug #352457, bug #390147. - if ! use custom-cflags; then - replace-flags "-Os" "-O2" - strip-flags - - # Prevent linker from running out of address space, bug #471810 . - if use x86; then - filter-flags "-g*" - fi - - # Prevent libvpx build failures. Bug 530248, 544702, 546984. - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 - fi - fi - - if [[ $myarch = amd64 ]] ; then - myconf_gn+=" target_cpu=\"x64\"" - ffmpeg_target_arch=x64 - elif [[ $myarch = x86 ]] ; then - myconf_gn+=" target_cpu=\"x86\"" - ffmpeg_target_arch=ia32 - - # This is normally defined by compiler_cpu_abi in - # build/config/compiler/BUILD.gn, but we patch that part out. - append-flags -msse2 -mfpmath=sse -mmmx - elif [[ $myarch = arm64 ]] ; then - myconf_gn+=" target_cpu=\"arm64\"" - ffmpeg_target_arch=arm64 - elif [[ $myarch = arm ]] ; then - myconf_gn+=" target_cpu=\"arm\"" - ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm) - else - 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" - - # Bug 491582. - export TMPDIR="${WORKDIR}/temp" - mkdir -p -m 755 "${TMPDIR}" || die - - # https://bugs.gentoo.org/654216 - addpredict /dev/dri/ #nowarn - - #if ! use system-ffmpeg; then - if false; then - local build_ffmpeg_args="" - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then - build_ffmpeg_args+=" --disable-asm" - fi - - # Re-configure bundled ffmpeg. See bug #491378 for example reasons. - einfo "Configuring bundled ffmpeg..." - pushd third_party/ffmpeg > /dev/null || die - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \ - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die - chromium/scripts/copy_config.sh || die - chromium/scripts/generate_gn.py || die - popd > /dev/null || die - fi - - # Chromium relies on this, but was disabled in >=clang-10, crbug.com/1042470 - append-cxxflags $(test-flags-CXX -flax-vector-conversions=all) - - # Explicitly disable ICU data file support for system-icu builds. - if use system-icu; then - myconf_gn+=" icu_use_data_file=false" - fi - - einfo "Configuring Chromium..." - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release - echo "$@" - "$@" || die -} - -src_compile() { - # Final link uses lots of file descriptors. - ulimit -n 2048 - - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die - - # Build mksnapshot and pax-mark it. - local x - for x in mksnapshot v8_context_snapshot_generator; do - if tc-is-cross-compiler; then - eninja -C out/Release "host/${x}" - pax-mark m "out/Release/host/${x}" - else - eninja -C out/Release "${x}" - pax-mark m "out/Release/${x}" - fi - done - - # Even though ninja autodetects number of CPUs, we respect - # user's options, for debugging with -j 1 or any other reason. - eninja -C out/Release chrome chromedriver - use suid && eninja -C out/Release chrome_sandbox - - pax-mark m out/Release/chrome - - # Build desktop file; bug #706786 - sed -e 's|@@MENUNAME@@|Chromium|g; - s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g; - s|@@PACKAGE@@|chromium-browser|g; - s|\(^Exec=\)/usr/bin/|\1|g;' \ - chrome/installer/linux/common/desktop.template > \ - out/Release/chromium-browser-chromium.desktop || die - - # Build manpage; bug #684550 - sed -e 's|@@PACKAGE@@|chromium-browser|g; - s|@@MENUNAME@@|Chromium|g;' \ - chrome/app/resources/manpage.1.in > \ - out/Release/chromium-browser.1 || die -} - -src_install() { - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" - exeinto "${CHROMIUM_HOME}" - doexe out/Release/chrome - - if use suid; then - newexe out/Release/chrome_sandbox chrome-sandbox - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" - fi - - doexe out/Release/chromedriver - - local sedargs=( -e "s:/usr/lib/:/usr/$(get_libdir)/:g" ) - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r3.sh" > chromium-launcher.sh || die - doexe chromium-launcher.sh - - # It is important that we name the target "chromium-browser", - # xdg-utils expect it; bug #355517. - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser - # keep the old symlink around for consistency - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium - - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver - - # Allow users to override command-line options, bug #357629. - insinto /etc/chromium - newins "${FILESDIR}/chromium.default" "default" - - pushd out/Release/locales > /dev/null || die - chromium_remove_language_paks - popd - - insinto "${CHROMIUM_HOME}" - doins out/Release/*.bin - doins out/Release/*.pak - doins out/Release/*.so - - if ! use system-icu; then - doins out/Release/icudtl.dat - fi - - doins -r out/Release/locales - doins -r out/Release/resources - - if [[ -d out/Release/swiftshader ]]; then - insinto "${CHROMIUM_HOME}/swiftshader" - doins out/Release/swiftshader/*.so - fi - - # Install icons - local branding size - for size in 16 24 32 48 64 128 256 ; do - case ${size} in - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; - *) branding="chrome/app/theme/chromium" ;; - esac - newicon -s ${size} "${branding}/product_logo_${size}.png" \ - chromium-browser.png - done - - # Install desktop entry - domenu out/Release/chromium-browser-chromium.desktop - - # Install GNOME default application entry (bug #303100). - insinto /usr/share/gnome-control-center/default-apps - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml - - # Install manpage; bug #684550 - doman out/Release/chromium-browser.1 - dosym chromium-browser.1 /usr/share/man/man1/chromium.1 - - readme.gentoo_create_doc -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_desktop_database_update -} - -pkg_postinst() { - xdg_icon_cache_update - xdg_desktop_database_update - readme.gentoo_print_elog -} diff --git a/www-client/chromium/chromium-85.0.4183.15.ebuild b/www-client/chromium/chromium-85.0.4183.15.ebuild deleted file mode 100644 index 4ffd415..0000000 --- a/www-client/chromium/chromium-85.0.4183.15.ebuild +++ /dev/null @@ -1,752 +0,0 @@ -# Copyright 2009-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python2_7 ) - -CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - 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 vi zh-CN zh-TW" - -inherit check-reqs chromium-2 desktop flag-o-matic multilib ninja-utils pax-utils portability python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="http://chromium.org/" -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" -IUSE="+closure-compile component-build cups cpu_flags_arm_neon gnome-keyring +hangouts kerberos pic +proprietary-codecs pulseaudio selinux +suid +system-ffmpeg +system-icu +system-libvpx +tcmalloc widevine vaapi" -RESTRICT="!system-ffmpeg? ( proprietary-codecs? ( bindist ) )" -REQUIRED_USE="component-build? ( !suid )" - -COMMON_DEPEND=" - >=app-accessibility/at-spi2-atk-2.26:2 - app-arch/bzip2:= - cups? ( >=net-print/cups-1.3.11:= ) - >=dev-libs/atk-2.26 - dev-libs/expat:= - dev-libs/glib:2 - system-icu? ( >=dev-libs/icu-65:= ) - >=dev-libs/libxml2-2.9.4-r3:=[icu] - dev-libs/libxslt:= - dev-libs/nspr:= - >=dev-libs/nss-3.26:= - >=dev-libs/re2-0.2019.08.01:= - gnome-keyring? ( >=gnome-base/libgnome-keyring-3.12:= ) - >=media-libs/alsa-lib-1.0.19:= - media-libs/fontconfig:= - media-libs/freetype:= - >=media-libs/harfbuzz-2.4.0:0=[icu(-)] - media-libs/libjpeg-turbo:= - media-libs/libpng:= - system-libvpx? ( media-libs/libvpx:=[postproc,svc] ) - >=media-libs/openh264-1.6.0:= - pulseaudio? ( media-sound/pulseaudio:= ) - system-ffmpeg? ( - >=media-video/ffmpeg-4:= - || ( - media-video/ffmpeg[-samba] - >=net-fs/samba-4.5.10-r1[-debug(-)] - ) - !=net-fs/samba-4.5.12-r0 - media-libs/opus:= - ) - sys-apps/dbus:= - sys-apps/pciutils:= - virtual/udev - x11-libs/cairo:= - x11-libs/gdk-pixbuf:2 - x11-libs/gtk+:3[X] - x11-libs/libX11:= - x11-libs/libXcomposite:= - x11-libs/libXcursor:= - x11-libs/libXdamage:= - x11-libs/libXext:= - x11-libs/libXfixes:= - >=x11-libs/libXi-1.6.0:= - x11-libs/libXrandr:= - x11-libs/libXrender:= - x11-libs/libXScrnSaver:= - x11-libs/libXtst:= - x11-libs/pango:= - app-arch/snappy:= - media-libs/flac:= - >=media-libs/libwebp-0.4.0:= - sys-libs/zlib:=[minizip] - kerberos? ( virtual/krb5 ) -" -# For nvidia-drivers blocker, see bug #413637 . -RDEPEND="${COMMON_DEPEND} - !<www-plugins/chrome-binary-plugins-57 - x11-misc/xdg-utils - virtual/opengl - virtual/ttf-fonts - selinux? ( sec-policy/selinux-chromium ) - tcmalloc? ( !<x11-drivers/nvidia-drivers-331.20 ) - widevine? ( www-plugins/chrome-binary-plugins[widevine(-)] ) -" -DEPEND="${COMMON_DEPEND} -" -# dev-vcs/git - https://bugs.gentoo.org/593476 -BDEPEND=" - ${PYTHON_DEPS} - >=app-arch/gzip-1.7 - !arm? ( - dev-lang/yasm - ) - dev-lang/perl - dev-util/gn - dev-vcs/git - >=dev-util/gperf-3.0.3 - >=dev-util/ninja-1.7.2 - >=net-libs/nodejs-7.6.0[inspector] - sys-apps/hwids[usb(+)] - >=sys-devel/bison-2.4.3 - sys-devel/flex - closure-compile? ( virtual/jre ) - virtual/pkgconfig -" - -: ${CHROMIUM_FORCE_CLANG=yes} - -if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then - BDEPEND+=" >=sys-devel/clang-7" -fi - -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then - EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; -fi - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -Some web pages may require additional fonts to display properly. -Try installing some of the following packages if some characters -are not displayed properly: -- media-fonts/arphicfonts -- media-fonts/droid -- media-fonts/ipamonafont -- media-fonts/noto -- media-fonts/ja-ipafonts -- media-fonts/takao-fonts -- media-fonts/wqy-microhei -- media-fonts/wqy-zenhei - -To fix broken icons on the Downloads page, you should install an icon -theme that covers the appropriate MIME types, and configure this as your -GTK+ icon theme. - -For native file dialogs in KDE, install kde-apps/kdialog. -" - -PATCHES=( - "${FILESDIR}/chromium-compiler-84-r1.patch" - "${FILESDIR}/chromium-widevine-80.patch" - "${FILESDIR}/chromium-fix-char_traits.patch" - "${FILESDIR}/chromium-zlib-82.patch" - "${FILESDIR}/chromium-77-clang.patch" - "${FILESDIR}/chromium-vaapi-83.patch" - "${FILESDIR}/chromium-clang-format-path-82.patch" - "${FILESDIR}/chromium-base-include-84-r2.patch" - "${FILESDIR}/chromium-mojo-ltm-83.patch" - "${FILESDIR}/chromium-core-management-svc-84.patch" - "${FILESDIR}/chromium-gpu-vp9-include-84.patch" - "${FILESDIR}/chromium-cert-share-encrypted-85.patch" - "${FILESDIR}/chromium-simhash-include-85.patch" - "${FILESDIR}/chromium-media-alloc-84.patch" -) - -pre_build_checks() { - if [[ ${MERGE_TYPE} != binary ]]; then - local -x CPP="$(tc-getCXX) -E" - if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 8.0; then - die "At least gcc 8.0 is required" - fi - fi - - # Check build requirements, bug #541816 and bug #471810 . - CHECKREQS_MEMORY="3G" - CHECKREQS_DISK_BUILD="7G" - if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then - CHECKREQS_DISK_BUILD="25G" - if ! use component-build; then - CHECKREQS_MEMORY="16G" - fi - fi - check-reqs_pkg_setup -} - -pkg_pretend() { - pre_build_checks -} - -pkg_setup() { - pre_build_checks - - chromium_suid_sandbox_check_kernel_config -} - -src_prepare() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - default - - mkdir -p third_party/node/linux/node-linux-x64/bin || die - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die - - local 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 - 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/angle/third_party/glslang - third_party/angle/third_party/spirv-headers - third_party/angle/third_party/spirv-tools - third_party/angle/third_party/vulkan-headers - third_party/angle/third_party/vulkan-loader - third_party/angle/third_party/vulkan-tools - third_party/angle/third_party/vulkan-validation-layers - 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/cacheinvalidation - 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/devscripts - third_party/devtools-frontend - third_party/devtools-frontend/src/front_end/third_party/acorn - 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/wasmparser - third_party/devtools-frontend/src/front_end/third_party/lighthouse - third_party/devtools-frontend/src/third_party/axe-core - third_party/devtools-frontend/src/third_party/pyjson5 - third_party/devtools-frontend/src/third_party/typescript - third_party/depot_tools - third_party/dom_distiller_js - third_party/emoji-segmenter - third_party/flatbuffers - third_party/freetype - third_party/glslang - 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/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/vector - third_party/libaom/source/libaom/third_party/x86inc - third_party/libavif - third_party/libgifcodec - third_party/libjingle - third_party/libphonenumber - third_party/libsecret - third_party/libsrtp - third_party/libsync - third_party/libudev - third_party/libwebm - third_party/libxml - third_party/libyuv - 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/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/tinycbor/src/src - third_party/openscreen/src/third_party/mozilla - 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/pffft - third_party/ply - third_party/polymer - third_party/private-join-and-compute - third_party/protobuf - third_party/protobuf/third_party/six - third_party/pyjson5 - third_party/qcms - third_party/rnnoise - third_party/s2cellid - third_party/schema_org - 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/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-7.0 - 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/unrar - third_party/usrsctp - third_party/vulkan - third_party/web-animations-js - third_party/webdriver - third_party/webrtc - third_party/webrtc/common_audio/third_party/spl_sqrt_floor - third_party/webrtc/common_audio/third_party/ooura - 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/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/adobe - third_party/speech-dispatcher - third_party/usb_ids - third_party/xdg-utils - ) - if ! use system-ffmpeg; then - keeplibs+=( third_party/ffmpeg third_party/opus ) - fi - if ! use system-icu; then - keeplibs+=( third_party/icu ) - fi - if ! use system-libvpx; then - keeplibs+=( third_party/libvpx ) - keeplibs+=( third_party/libvpx/source/libvpx/third_party/x86inc ) - fi - if use tcmalloc; then - keeplibs+=( third_party/tcmalloc ) - fi - - # Remove most bundled libraries. Some are still needed. - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die -} - -src_configure() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local myconf_gn="" - - # Make sure the build system will use the right tools, bug #340795. - tc-export AR CC CXX NM - - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] && ! tc-is-clang; then - # Force clang since gcc is pretty broken at the moment. - CC=${CHOST}-clang - CXX=${CHOST}-clang++ - strip-unsupported-flags - fi - - if tc-is-clang; then - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" - else - myconf_gn+=" is_clang=false" - fi - - # Define a custom toolchain for GN - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" - - if tc-is-cross-compiler; then - tc-export BUILD_{AR,CC,CXX,NM} - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" - else - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - fi - - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - myconf_gn+=" is_debug=false" - - # Component build isn't generally intended for use by end users. It's mostly useful - # for development and debugging. - myconf_gn+=" is_component_build=$(usex component-build true false)" - - myconf_gn+=" use_allocator=$(usex tcmalloc \"tcmalloc\" \"none\")" - - # Disable nacl, we can't build without pnacl (http://crbug.com/269560). - myconf_gn+=" enable_nacl=false" - - # Use system-provided libraries. - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_libsrtp (bug #459932). - # TODO: use_system_protobuf (bug #525560). - # TODO: use_system_ssl (http://crbug.com/58087). - # TODO: use_system_sqlite (http://crbug.com/22208). - - # libevent: https://bugs.gentoo.org/593458 - local gn_system_libraries=( - flac - fontconfig - freetype - # Need harfbuzz_from_pkgconfig target - #harfbuzz-ng - libdrm - libjpeg - libpng - libwebp - #libxml - libxslt - openh264 - re2 - snappy - zlib - ) - if use system-ffmpeg; then - gn_system_libraries+=( ffmpeg opus ) - fi - if use system-icu; then - gn_system_libraries+=( icu ) - fi - if use system-libvpx; then - gn_system_libraries+=( libvpx ) - fi - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die - - # See dependency logic in third_party/BUILD.gn - myconf_gn+=" use_system_harfbuzz=true" - - # Optional dependencies. - myconf_gn+=" closure_compile=$(usex closure-compile true false)" - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" - myconf_gn+=" enable_widevine=$(usex widevine true false)" - myconf_gn+=" use_cups=$(usex cups true false)" - myconf_gn+=" use_gnome_keyring=$(usex gnome-keyring true false)" - myconf_gn+=" use_kerberos=$(usex kerberos true false)" - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" - myconf_gn+=" use_vaapi=$(usex vaapi true false)" - - # TODO: link_pulseaudio=true for GN. - - myconf_gn+=" fieldtrial_testing_like_official_build=true" - - # Never use bundled gold binary. Disable gold linker flags for now. - # Do not use bundled clang. - # Trying to use gold results in linker crash. - myconf_gn+=" use_gold=false use_sysroot=false linux_use_bundled_binutils=false use_custom_libcxx=false" - - # Disable forced lld, bug 641556 - myconf_gn+=" use_lld=false" - - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" - - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . - # Note: these are for Gentoo use ONLY. For your own distribution, - # please get your own set of keys. Feel free to contact chromium@gentoo.org - # for more info. - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" - local google_default_client_id="329227923882.apps.googleusercontent.com" - local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu" - myconf_gn+=" google_api_key=\"${google_api_key}\"" - myconf_gn+=" google_default_client_id=\"${google_default_client_id}\"" - myconf_gn+=" google_default_client_secret=\"${google_default_client_secret}\"" - - local myarch="$(tc-arch)" - - # Avoid CFLAGS problems, bug #352457, bug #390147. - if ! use custom-cflags; then - replace-flags "-Os" "-O2" - strip-flags - - # Prevent linker from running out of address space, bug #471810 . - if use x86; then - filter-flags "-g*" - fi - - # Prevent libvpx build failures. Bug 530248, 544702, 546984. - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 - fi - fi - - if [[ $myarch = amd64 ]] ; then - myconf_gn+=" target_cpu=\"x64\"" - ffmpeg_target_arch=x64 - elif [[ $myarch = x86 ]] ; then - myconf_gn+=" target_cpu=\"x86\"" - ffmpeg_target_arch=ia32 - - # This is normally defined by compiler_cpu_abi in - # build/config/compiler/BUILD.gn, but we patch that part out. - append-flags -msse2 -mfpmath=sse -mmmx - elif [[ $myarch = arm64 ]] ; then - myconf_gn+=" target_cpu=\"arm64\"" - ffmpeg_target_arch=arm64 - elif [[ $myarch = arm ]] ; then - myconf_gn+=" target_cpu=\"arm\"" - ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm) - else - 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" - - # Bug 491582. - export TMPDIR="${WORKDIR}/temp" - mkdir -p -m 755 "${TMPDIR}" || die - - # https://bugs.gentoo.org/654216 - addpredict /dev/dri/ #nowarn - - #if ! use system-ffmpeg; then - if false; then - local build_ffmpeg_args="" - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then - build_ffmpeg_args+=" --disable-asm" - fi - - # Re-configure bundled ffmpeg. See bug #491378 for example reasons. - einfo "Configuring bundled ffmpeg..." - pushd third_party/ffmpeg > /dev/null || die - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \ - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die - chromium/scripts/copy_config.sh || die - chromium/scripts/generate_gn.py || die - popd > /dev/null || die - fi - - # Chromium relies on this, but was disabled in >=clang-10, crbug.com/1042470 - append-cxxflags $(test-flags-CXX -flax-vector-conversions=all) - - # Explicitly disable ICU data file support for system-icu builds. - if use system-icu; then - myconf_gn+=" icu_use_data_file=false" - fi - - einfo "Configuring Chromium..." - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release - echo "$@" - "$@" || die -} - -src_compile() { - # Final link uses lots of file descriptors. - ulimit -n 2048 - - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die - - # Build mksnapshot and pax-mark it. - local x - for x in mksnapshot v8_context_snapshot_generator; do - if tc-is-cross-compiler; then - eninja -C out/Release "host/${x}" - pax-mark m "out/Release/host/${x}" - else - eninja -C out/Release "${x}" - pax-mark m "out/Release/${x}" - fi - done - - # Even though ninja autodetects number of CPUs, we respect - # user's options, for debugging with -j 1 or any other reason. - eninja -C out/Release chrome chromedriver - use suid && eninja -C out/Release chrome_sandbox - - pax-mark m out/Release/chrome - - # Build desktop file; bug #706786 - sed -e 's|@@MENUNAME@@|Chromium|g; - s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g; - s|@@PACKAGE@@|chromium-browser|g; - s|\(^Exec=\)/usr/bin/|\1|g;' \ - chrome/installer/linux/common/desktop.template > \ - out/Release/chromium-browser-chromium.desktop || die - - # Build manpage; bug #684550 - sed -e 's|@@PACKAGE@@|chromium-browser|g; - s|@@MENUNAME@@|Chromium|g;' \ - chrome/app/resources/manpage.1.in > \ - out/Release/chromium-browser.1 || die -} - -src_install() { - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" - exeinto "${CHROMIUM_HOME}" - doexe out/Release/chrome - - if use suid; then - newexe out/Release/chrome_sandbox chrome-sandbox - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" - fi - - doexe out/Release/chromedriver - - local sedargs=( -e "s:/usr/lib/:/usr/$(get_libdir)/:g" ) - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r3.sh" > chromium-launcher.sh || die - doexe chromium-launcher.sh - - # It is important that we name the target "chromium-browser", - # xdg-utils expect it; bug #355517. - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser - # keep the old symlink around for consistency - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium - - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver - - # Allow users to override command-line options, bug #357629. - insinto /etc/chromium - newins "${FILESDIR}/chromium.default" "default" - - pushd out/Release/locales > /dev/null || die - chromium_remove_language_paks - popd - - insinto "${CHROMIUM_HOME}" - doins out/Release/*.bin - doins out/Release/*.pak - doins out/Release/*.so - - if ! use system-icu; then - doins out/Release/icudtl.dat - fi - - doins -r out/Release/locales - doins -r out/Release/resources - - if [[ -d out/Release/swiftshader ]]; then - insinto "${CHROMIUM_HOME}/swiftshader" - doins out/Release/swiftshader/*.so - fi - - # Install icons - local branding size - for size in 16 24 32 48 64 128 256 ; do - case ${size} in - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; - *) branding="chrome/app/theme/chromium" ;; - esac - newicon -s ${size} "${branding}/product_logo_${size}.png" \ - chromium-browser.png - done - - # Install desktop entry - domenu out/Release/chromium-browser-chromium.desktop - - # Install GNOME default application entry (bug #303100). - insinto /usr/share/gnome-control-center/default-apps - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml - - # Install manpage; bug #684550 - doman out/Release/chromium-browser.1 - dosym chromium-browser.1 /usr/share/man/man1/chromium.1 - - readme.gentoo_create_doc -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_desktop_database_update -} - -pkg_postinst() { - xdg_icon_cache_update - xdg_desktop_database_update - readme.gentoo_print_elog -} diff --git a/www-client/chromium/chromium-86.0.4214.2.ebuild b/www-client/chromium/chromium-86.0.4214.2.ebuild deleted file mode 100644 index 3ad74ef..0000000 --- a/www-client/chromium/chromium-86.0.4214.2.ebuild +++ /dev/null @@ -1,757 +0,0 @@ -# Copyright 2009-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python2_7 ) - -CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - 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 vi zh-CN zh-TW" - -inherit check-reqs chromium-2 desktop flag-o-matic multilib ninja-utils pax-utils portability python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="http://chromium.org/" -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" -IUSE="+js-type-check component-build cups cpu_flags_arm_neon gnome-keyring +hangouts kerberos pic +proprietary-codecs pulseaudio selinux +suid +system-ffmpeg +system-icu +system-libvpx +tcmalloc widevine vaapi" -RESTRICT="!system-ffmpeg? ( proprietary-codecs? ( bindist ) )" -REQUIRED_USE="component-build? ( !suid )" - -COMMON_DEPEND=" - >=app-accessibility/at-spi2-atk-2.26:2 - app-arch/bzip2:= - cups? ( >=net-print/cups-1.3.11:= ) - >=dev-libs/atk-2.26 - dev-libs/expat:= - dev-libs/glib:2 - system-icu? ( >=dev-libs/icu-65:= ) - >=dev-libs/libxml2-2.9.4-r3:=[icu] - dev-libs/libxslt:= - dev-libs/nspr:= - >=dev-libs/nss-3.26:= - >=dev-libs/re2-0.2019.08.01:= - gnome-keyring? ( >=gnome-base/libgnome-keyring-3.12:= ) - >=media-libs/alsa-lib-1.0.19:= - media-libs/fontconfig:= - media-libs/freetype:= - >=media-libs/harfbuzz-2.4.0:0=[icu(-)] - media-libs/libjpeg-turbo:= - media-libs/libpng:= - system-libvpx? ( media-libs/libvpx:=[postproc,svc] ) - >=media-libs/openh264-1.6.0:= - pulseaudio? ( media-sound/pulseaudio:= ) - system-ffmpeg? ( - >=media-video/ffmpeg-4:= - || ( - media-video/ffmpeg[-samba] - >=net-fs/samba-4.5.10-r1[-debug(-)] - ) - !=net-fs/samba-4.5.12-r0 - media-libs/opus:= - ) - sys-apps/dbus:= - sys-apps/pciutils:= - virtual/udev - x11-libs/cairo:= - x11-libs/gdk-pixbuf:2 - x11-libs/gtk+:3[X] - x11-libs/libX11:= - x11-libs/libXcomposite:= - x11-libs/libXcursor:= - x11-libs/libXdamage:= - x11-libs/libXext:= - x11-libs/libXfixes:= - >=x11-libs/libXi-1.6.0:= - x11-libs/libXrandr:= - x11-libs/libXrender:= - x11-libs/libXScrnSaver:= - x11-libs/libXtst:= - x11-libs/pango:= - app-arch/snappy:= - media-libs/flac:= - >=media-libs/libwebp-0.4.0:= - sys-libs/zlib:=[minizip] - kerberos? ( virtual/krb5 ) -" -# For nvidia-drivers blocker, see bug #413637 . -RDEPEND="${COMMON_DEPEND} - !<www-plugins/chrome-binary-plugins-57 - x11-misc/xdg-utils - virtual/opengl - virtual/ttf-fonts - selinux? ( sec-policy/selinux-chromium ) - tcmalloc? ( !<x11-drivers/nvidia-drivers-331.20 ) - widevine? ( www-plugins/chrome-binary-plugins[widevine(-)] ) -" -DEPEND="${COMMON_DEPEND} -" -# dev-vcs/git - https://bugs.gentoo.org/593476 -BDEPEND=" - ${PYTHON_DEPS} - >=app-arch/gzip-1.7 - !arm? ( - dev-lang/yasm - ) - dev-lang/perl - dev-util/gn - dev-vcs/git - >=dev-util/gperf-3.0.3 - >=dev-util/ninja-1.7.2 - >=net-libs/nodejs-7.6.0[inspector] - sys-apps/hwids[usb(+)] - >=sys-devel/bison-2.4.3 - sys-devel/flex - js-type-check? ( virtual/jre ) - virtual/pkgconfig -" - -: ${CHROMIUM_FORCE_CLANG=yes} - -if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then - BDEPEND+=" >=sys-devel/clang-7" -fi - -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then - EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; -fi - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -Some web pages may require additional fonts to display properly. -Try installing some of the following packages if some characters -are not displayed properly: -- media-fonts/arphicfonts -- media-fonts/droid -- media-fonts/ipamonafont -- media-fonts/noto -- media-fonts/ja-ipafonts -- media-fonts/takao-fonts -- media-fonts/wqy-microhei -- media-fonts/wqy-zenhei - -To fix broken icons on the Downloads page, you should install an icon -theme that covers the appropriate MIME types, and configure this as your -GTK+ icon theme. - -For native file dialogs in KDE, install kde-apps/kdialog. -" - -PATCHES=( - "${FILESDIR}/chromium-compiler-86.patch" - "${FILESDIR}/chromium-widevine-80.patch" - "${FILESDIR}/chromium-fix-char_traits.patch" - "${FILESDIR}/chromium-zlib-82.patch" - "${FILESDIR}/chromium-vaapi-83.patch" - "${FILESDIR}/chromium-clang-format-path-82.patch" - "${FILESDIR}/chromium-base-include-84-r2.patch" - "${FILESDIR}/chromium-mojo-ltm-83.patch" - "${FILESDIR}/chromium-core-management-svc-84.patch" - "${FILESDIR}/chromium-gpu-vp9-include-84.patch" - "${FILESDIR}/chromium-media-alloc-84.patch" - "${FILESDIR}/chromium-remove-no_check_targets-86.patch" - "${FILESDIR}/chromium-nearby-inc-86.patch" -) - -pre_build_checks() { - if [[ ${MERGE_TYPE} != binary ]]; then - local -x CPP="$(tc-getCXX) -E" - if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 8.0; then - die "At least gcc 8.0 is required" - fi - fi - - # Check build requirements, bug #541816 and bug #471810 . - CHECKREQS_MEMORY="3G" - CHECKREQS_DISK_BUILD="7G" - if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then - CHECKREQS_DISK_BUILD="25G" - if ! use component-build; then - CHECKREQS_MEMORY="16G" - fi - fi - check-reqs_pkg_setup -} - -pkg_pretend() { - pre_build_checks -} - -pkg_setup() { - pre_build_checks - - chromium_suid_sandbox_check_kernel_config -} - -src_prepare() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - default - - mkdir -p third_party/node/linux/node-linux-x64/bin || die - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die - - local 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 - 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/angle/third_party/glslang - third_party/angle/third_party/spirv-headers - third_party/angle/third_party/spirv-tools - third_party/angle/third_party/vulkan-headers - third_party/angle/third_party/vulkan-loader - third_party/angle/third_party/vulkan-tools - third_party/angle/third_party/vulkan-validation-layers - 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/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/codemirror - third_party/devtools-frontend/src/front_end/third_party/chromium - 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/wasmparser - third_party/devtools-frontend/src/third_party - third_party/dom_distiller_js - third_party/emoji-segmenter - third_party/flatbuffers - third_party/freetype - third_party/glslang - 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/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/vector - third_party/libaom/source/libaom/third_party/x86inc - third_party/libavif - third_party/libgifcodec - third_party/libjingle - third_party/libphonenumber - third_party/libsecret - third_party/libsrtp - third_party/libsync - third_party/libudev - third_party/libwebm - third_party/libxml - third_party/libyuv - 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/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/tinycbor/src/src - third_party/openscreen/src/third_party/mozilla - 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/pffft - third_party/ply - third_party/polymer - third_party/private-join-and-compute - third_party/protobuf - third_party/protobuf/third_party/six - third_party/pyjson5 - third_party/qcms - third_party/rnnoise - third_party/s2cellid - third_party/schema_org - third_party/securemessage - 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/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/unified1 - third_party/ukey2 - third_party/unrar - third_party/usrsctp - third_party/vulkan - third_party/web-animations-js - third_party/webdriver - third_party/webrtc - third_party/webrtc/common_audio/third_party/spl_sqrt_floor - third_party/webrtc/common_audio/third_party/ooura - 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/xcbproto - 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/adobe - third_party/speech-dispatcher - third_party/usb_ids - third_party/xdg-utils - ) - if ! use system-ffmpeg; then - keeplibs+=( third_party/ffmpeg third_party/opus ) - fi - if ! use system-icu; then - keeplibs+=( third_party/icu ) - fi - if ! use system-libvpx; then - keeplibs+=( third_party/libvpx ) - keeplibs+=( third_party/libvpx/source/libvpx/third_party/x86inc ) - fi - if use tcmalloc; then - keeplibs+=( third_party/tcmalloc ) - fi - - # Remove most bundled libraries. Some are still needed. - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die -} - -src_configure() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local myconf_gn="" - - # Make sure the build system will use the right tools, bug #340795. - tc-export AR CC CXX NM - - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] && ! tc-is-clang; then - # Force clang since gcc is pretty broken at the moment. - CC=${CHOST}-clang - CXX=${CHOST}-clang++ - strip-unsupported-flags - fi - - if tc-is-clang; then - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" - else - myconf_gn+=" is_clang=false" - fi - - # Define a custom toolchain for GN - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" - - if tc-is-cross-compiler; then - tc-export BUILD_{AR,CC,CXX,NM} - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" - else - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - fi - - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - myconf_gn+=" is_debug=false" - - # Component build isn't generally intended for use by end users. It's mostly useful - # for development and debugging. - myconf_gn+=" is_component_build=$(usex component-build true false)" - - myconf_gn+=" use_allocator=$(usex tcmalloc \"tcmalloc\" \"none\")" - - # Disable nacl, we can't build without pnacl (http://crbug.com/269560). - myconf_gn+=" enable_nacl=false" - - # Use system-provided libraries. - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_libsrtp (bug #459932). - # TODO: use_system_protobuf (bug #525560). - # TODO: use_system_ssl (http://crbug.com/58087). - # TODO: use_system_sqlite (http://crbug.com/22208). - - # libevent: https://bugs.gentoo.org/593458 - local gn_system_libraries=( - flac - fontconfig - freetype - # Need harfbuzz_from_pkgconfig target - #harfbuzz-ng - libdrm - libjpeg - libpng - libwebp - #libxml - libxslt - openh264 - re2 - snappy - zlib - ) - if use system-ffmpeg; then - gn_system_libraries+=( ffmpeg opus ) - fi - if use system-icu; then - gn_system_libraries+=( icu ) - fi - if use system-libvpx; then - gn_system_libraries+=( libvpx ) - fi - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die - - # See dependency logic in third_party/BUILD.gn - myconf_gn+=" use_system_harfbuzz=true" - - # Optional dependencies. - myconf_gn+=" enable_js_type_check=$(usex js-type-check true false)" - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" - myconf_gn+=" enable_widevine=$(usex widevine true false)" - myconf_gn+=" use_cups=$(usex cups true false)" - myconf_gn+=" use_gnome_keyring=$(usex gnome-keyring true false)" - myconf_gn+=" use_kerberos=$(usex kerberos true false)" - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" - myconf_gn+=" use_vaapi=$(usex vaapi true false)" - - # TODO: link_pulseaudio=true for GN. - - myconf_gn+=" fieldtrial_testing_like_official_build=true" - - # Never use bundled gold binary. Disable gold linker flags for now. - # Do not use bundled clang. - # Trying to use gold results in linker crash. - myconf_gn+=" use_gold=false use_sysroot=false linux_use_bundled_binutils=false use_custom_libcxx=false" - - # Disable forced lld, bug 641556 - myconf_gn+=" use_lld=false" - - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" - - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . - # Note: these are for Gentoo use ONLY. For your own distribution, - # please get your own set of keys. Feel free to contact chromium@gentoo.org - # for more info. - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" - local google_default_client_id="329227923882.apps.googleusercontent.com" - local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu" - myconf_gn+=" google_api_key=\"${google_api_key}\"" - myconf_gn+=" google_default_client_id=\"${google_default_client_id}\"" - myconf_gn+=" google_default_client_secret=\"${google_default_client_secret}\"" - - local myarch="$(tc-arch)" - - # Avoid CFLAGS problems, bug #352457, bug #390147. - if ! use custom-cflags; then - replace-flags "-Os" "-O2" - strip-flags - - # Prevent linker from running out of address space, bug #471810 . - if use x86; then - filter-flags "-g*" - fi - - # Prevent libvpx build failures. Bug 530248, 544702, 546984. - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 - fi - fi - - if [[ $myarch = amd64 ]] ; then - myconf_gn+=" target_cpu=\"x64\"" - ffmpeg_target_arch=x64 - elif [[ $myarch = x86 ]] ; then - myconf_gn+=" target_cpu=\"x86\"" - ffmpeg_target_arch=ia32 - - # This is normally defined by compiler_cpu_abi in - # build/config/compiler/BUILD.gn, but we patch that part out. - append-flags -msse2 -mfpmath=sse -mmmx - elif [[ $myarch = arm64 ]] ; then - myconf_gn+=" target_cpu=\"arm64\"" - ffmpeg_target_arch=arm64 - elif [[ $myarch = arm ]] ; then - myconf_gn+=" target_cpu=\"arm\"" - ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm) - else - 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" - - # Bug 491582. - export TMPDIR="${WORKDIR}/temp" - mkdir -p -m 755 "${TMPDIR}" || die - - # https://bugs.gentoo.org/654216 - addpredict /dev/dri/ #nowarn - - #if ! use system-ffmpeg; then - if false; then - local build_ffmpeg_args="" - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then - build_ffmpeg_args+=" --disable-asm" - fi - - # Re-configure bundled ffmpeg. See bug #491378 for example reasons. - einfo "Configuring bundled ffmpeg..." - pushd third_party/ffmpeg > /dev/null || die - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \ - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die - chromium/scripts/copy_config.sh || die - chromium/scripts/generate_gn.py || die - popd > /dev/null || die - fi - - # Chromium relies on this, but was disabled in >=clang-10, crbug.com/1042470 - append-cxxflags $(test-flags-CXX -flax-vector-conversions=all) - - # Explicitly disable ICU data file support for system-icu builds. - if use system-icu; then - myconf_gn+=" icu_use_data_file=false" - fi - - einfo "Configuring Chromium..." - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release - echo "$@" - "$@" || die -} - -src_compile() { - # Final link uses lots of file descriptors. - ulimit -n 2048 - - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die - - # Build mksnapshot and pax-mark it. - local x - for x in mksnapshot v8_context_snapshot_generator; do - if tc-is-cross-compiler; then - eninja -C out/Release "host/${x}" - pax-mark m "out/Release/host/${x}" - else - eninja -C out/Release "${x}" - pax-mark m "out/Release/${x}" - fi - done - - # Even though ninja autodetects number of CPUs, we respect - # user's options, for debugging with -j 1 or any other reason. - eninja -C out/Release chrome chromedriver - use suid && eninja -C out/Release chrome_sandbox - - pax-mark m out/Release/chrome - - # Build desktop file; bug #706786 - sed -e 's|@@MENUNAME@@|Chromium|g; - s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g; - s|@@PACKAGE@@|chromium-browser|g; - s|\(^Exec=\)/usr/bin/|\1|g;' \ - chrome/installer/linux/common/desktop.template > \ - out/Release/chromium-browser-chromium.desktop || die - - # Build manpage; bug #684550 - sed -e 's|@@PACKAGE@@|chromium-browser|g; - s|@@MENUNAME@@|Chromium|g;' \ - chrome/app/resources/manpage.1.in > \ - out/Release/chromium-browser.1 || die -} - -src_install() { - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" - exeinto "${CHROMIUM_HOME}" - doexe out/Release/chrome - - if use suid; then - newexe out/Release/chrome_sandbox chrome-sandbox - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" - fi - - doexe out/Release/chromedriver - - local sedargs=( -e "s:/usr/lib/:/usr/$(get_libdir)/:g" ) - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r3.sh" > chromium-launcher.sh || die - doexe chromium-launcher.sh - - # It is important that we name the target "chromium-browser", - # xdg-utils expect it; bug #355517. - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser - # keep the old symlink around for consistency - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium - - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver - - # Allow users to override command-line options, bug #357629. - insinto /etc/chromium - newins "${FILESDIR}/chromium.default" "default" - - pushd out/Release/locales > /dev/null || die - chromium_remove_language_paks - popd - - insinto "${CHROMIUM_HOME}" - doins out/Release/*.bin - doins out/Release/*.pak - doins out/Release/*.so - - if ! use system-icu; then - doins out/Release/icudtl.dat - fi - - doins -r out/Release/locales - doins -r out/Release/resources - - if [[ -d out/Release/swiftshader ]]; then - insinto "${CHROMIUM_HOME}/swiftshader" - doins out/Release/swiftshader/*.so - fi - - # Install icons - local branding size - for size in 16 24 32 48 64 128 256 ; do - case ${size} in - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; - *) branding="chrome/app/theme/chromium" ;; - esac - newicon -s ${size} "${branding}/product_logo_${size}.png" \ - chromium-browser.png - done - - # Install desktop entry - domenu out/Release/chromium-browser-chromium.desktop - - # Install GNOME default application entry (bug #303100). - insinto /usr/share/gnome-control-center/default-apps - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml - - # Install manpage; bug #684550 - doman out/Release/chromium-browser.1 - dosym chromium-browser.1 /usr/share/man/man1/chromium.1 - - readme.gentoo_create_doc -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_desktop_database_update -} - -pkg_postinst() { - xdg_icon_cache_update - xdg_desktop_database_update - readme.gentoo_print_elog -} diff --git a/www-client/chromium/chromium-87.0.4259.3.ebuild b/www-client/chromium/chromium-87.0.4259.3.ebuild deleted file mode 100644 index 123d16f..0000000 --- a/www-client/chromium/chromium-87.0.4259.3.ebuild +++ /dev/null @@ -1,758 +0,0 @@ -# Copyright 2009-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python2_7 ) - -CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - 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 vi zh-CN zh-TW" - -inherit check-reqs chromium-2 desktop flag-o-matic multilib ninja-utils pax-utils portability python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="http://chromium.org/" -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" -IUSE="+js-type-check component-build cups cpu_flags_arm_neon gnome-keyring +hangouts kerberos pic +proprietary-codecs pulseaudio selinux +suid +system-ffmpeg +system-icu +system-libvpx +tcmalloc widevine vaapi" -RESTRICT="!system-ffmpeg? ( proprietary-codecs? ( bindist ) )" -REQUIRED_USE="component-build? ( !suid )" - -COMMON_DEPEND=" - >=app-accessibility/at-spi2-atk-2.26:2 - app-arch/bzip2:= - cups? ( >=net-print/cups-1.3.11:= ) - >=dev-libs/atk-2.26 - dev-libs/expat:= - dev-libs/glib:2 - system-icu? ( >=dev-libs/icu-65:= ) - >=dev-libs/libxml2-2.9.4-r3:=[icu] - dev-libs/libxslt:= - dev-libs/nspr:= - >=dev-libs/nss-3.26:= - >=dev-libs/re2-0.2019.08.01:= - gnome-keyring? ( >=gnome-base/libgnome-keyring-3.12:= ) - >=media-libs/alsa-lib-1.0.19:= - media-libs/fontconfig:= - media-libs/freetype:= - >=media-libs/harfbuzz-2.4.0:0=[icu(-)] - media-libs/libjpeg-turbo:= - media-libs/libpng:= - system-libvpx? ( media-libs/libvpx:=[postproc,svc] ) - >=media-libs/openh264-1.6.0:= - pulseaudio? ( media-sound/pulseaudio:= ) - system-ffmpeg? ( - >=media-video/ffmpeg-4:= - || ( - media-video/ffmpeg[-samba] - >=net-fs/samba-4.5.10-r1[-debug(-)] - ) - !=net-fs/samba-4.5.12-r0 - media-libs/opus:= - ) - sys-apps/dbus:= - sys-apps/pciutils:= - virtual/udev - x11-libs/cairo:= - x11-libs/gdk-pixbuf:2 - x11-libs/gtk+:3[X] - x11-libs/libX11:= - x11-libs/libXcomposite:= - x11-libs/libXcursor:= - x11-libs/libXdamage:= - x11-libs/libXext:= - x11-libs/libXfixes:= - >=x11-libs/libXi-1.6.0:= - x11-libs/libXrandr:= - x11-libs/libXrender:= - x11-libs/libXScrnSaver:= - x11-libs/libXtst:= - x11-libs/pango:= - app-arch/snappy:= - media-libs/flac:= - >=media-libs/libwebp-0.4.0:= - sys-libs/zlib:=[minizip] - kerberos? ( virtual/krb5 ) -" -# For nvidia-drivers blocker, see bug #413637 . -RDEPEND="${COMMON_DEPEND} - !<www-plugins/chrome-binary-plugins-57 - x11-misc/xdg-utils - virtual/opengl - virtual/ttf-fonts - selinux? ( sec-policy/selinux-chromium ) - tcmalloc? ( !<x11-drivers/nvidia-drivers-331.20 ) - widevine? ( www-plugins/chrome-binary-plugins[widevine(-)] ) -" -DEPEND="${COMMON_DEPEND} -" -# dev-vcs/git - https://bugs.gentoo.org/593476 -BDEPEND=" - ${PYTHON_DEPS} - >=app-arch/gzip-1.7 - !arm? ( - dev-lang/yasm - ) - dev-lang/perl - dev-util/gn - dev-vcs/git - >=dev-util/gperf-3.0.3 - >=dev-util/ninja-1.7.2 - >=net-libs/nodejs-7.6.0[inspector] - sys-apps/hwids[usb(+)] - >=sys-devel/bison-2.4.3 - sys-devel/flex - js-type-check? ( virtual/jre ) - virtual/pkgconfig -" - -: ${CHROMIUM_FORCE_CLANG=yes} - -if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then - BDEPEND+=" >=sys-devel/clang-7" -fi - -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then - EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; -fi - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -Some web pages may require additional fonts to display properly. -Try installing some of the following packages if some characters -are not displayed properly: -- media-fonts/arphicfonts -- media-fonts/droid -- media-fonts/ipamonafont -- media-fonts/noto -- media-fonts/ja-ipafonts -- media-fonts/takao-fonts -- media-fonts/wqy-microhei -- media-fonts/wqy-zenhei - -To fix broken icons on the Downloads page, you should install an icon -theme that covers the appropriate MIME types, and configure this as your -GTK+ icon theme. - -For native file dialogs in KDE, install kde-apps/kdialog. -" - -PATCHES=( - "${FILESDIR}/chromium-compiler-87.patch" - "${FILESDIR}/chromium-widevine-80.patch" - "${FILESDIR}/chromium-fix-char_traits.patch" - "${FILESDIR}/chromium-zlib-82.patch" - "${FILESDIR}/chromium-clang-format-path-82.patch" - "${FILESDIR}/chromium-base-include-84-r2.patch" - "${FILESDIR}/chromium-mojo-ltm-83.patch" - "${FILESDIR}/chromium-core-management-svc-84.patch" - "${FILESDIR}/chromium-gpu-vp9-include-84.patch" - "${FILESDIR}/chromium-nearby-inc-86.patch" -) - -pre_build_checks() { - if [[ ${MERGE_TYPE} != binary ]]; then - local -x CPP="$(tc-getCXX) -E" - if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 8.0; then - die "At least gcc 8.0 is required" - fi - fi - - # Check build requirements, bug #541816 and bug #471810 . - CHECKREQS_MEMORY="3G" - CHECKREQS_DISK_BUILD="7G" - if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then - CHECKREQS_DISK_BUILD="25G" - if ! use component-build; then - CHECKREQS_MEMORY="16G" - fi - fi - check-reqs_pkg_setup -} - -pkg_pretend() { - pre_build_checks -} - -pkg_setup() { - pre_build_checks - - chromium_suid_sandbox_check_kernel_config -} - -src_prepare() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - default - - mkdir -p third_party/node/linux/node-linux-x64/bin || die - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die - - local 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 - 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/angle/third_party/glslang - third_party/angle/third_party/spirv-headers - third_party/angle/third_party/spirv-tools - third_party/angle/third_party/vulkan-headers - third_party/angle/third_party/vulkan-loader - third_party/angle/third_party/vulkan-tools - third_party/angle/third_party/vulkan-validation-layers - 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/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/codemirror - third_party/devtools-frontend/src/front_end/third_party/chromium - 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/wasmparser - third_party/devtools-frontend/src/third_party - third_party/dom_distiller_js - third_party/emoji-segmenter - third_party/flatbuffers - third_party/freetype - third_party/glslang - 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/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/vector - third_party/libaom/source/libaom/third_party/x86inc - third_party/libavif - third_party/libgifcodec - third_party/libjingle - third_party/libphonenumber - third_party/libsecret - third_party/libsrtp - third_party/libsync - third_party/libudev - third_party/libwebm - third_party/libxml - third_party/libyuv - 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/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/tinycbor/src/src - third_party/openscreen/src/third_party/mozilla - 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/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/rnnoise - third_party/s2cellid - third_party/schema_org - 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/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/unified1 - third_party/ukey2 - third_party/unrar - third_party/usrsctp - third_party/vulkan - third_party/wayland - third_party/web-animations-js - third_party/webdriver - third_party/webrtc - third_party/webrtc/common_audio/third_party/spl_sqrt_floor - third_party/webrtc/common_audio/third_party/ooura - 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/xcbproto - third_party/zlib/google - third_party/zxcvbn-cpp - 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/adobe - third_party/speech-dispatcher - third_party/usb_ids - third_party/xdg-utils - ) - if ! use system-ffmpeg; then - keeplibs+=( third_party/ffmpeg third_party/opus ) - fi - if ! use system-icu; then - keeplibs+=( third_party/icu ) - fi - if ! use system-libvpx; then - keeplibs+=( third_party/libvpx ) - keeplibs+=( third_party/libvpx/source/libvpx/third_party/x86inc ) - fi - if use tcmalloc; then - keeplibs+=( third_party/tcmalloc ) - fi - - # Remove most bundled libraries. Some are still needed. - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die -} - -src_configure() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local myconf_gn="" - - # Make sure the build system will use the right tools, bug #340795. - tc-export AR CC CXX NM - - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] && ! tc-is-clang; then - # Force clang since gcc is pretty broken at the moment. - CC=${CHOST}-clang - CXX=${CHOST}-clang++ - strip-unsupported-flags - fi - - if tc-is-clang; then - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" - else - myconf_gn+=" is_clang=false" - fi - - # Define a custom toolchain for GN - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" - - if tc-is-cross-compiler; then - tc-export BUILD_{AR,CC,CXX,NM} - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" - else - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - fi - - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - myconf_gn+=" is_debug=false" - - # Component build isn't generally intended for use by end users. It's mostly useful - # for development and debugging. - myconf_gn+=" is_component_build=$(usex component-build true false)" - - myconf_gn+=" use_allocator=$(usex tcmalloc \"tcmalloc\" \"none\")" - - # Disable nacl, we can't build without pnacl (http://crbug.com/269560). - myconf_gn+=" enable_nacl=false" - - # Use system-provided libraries. - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_libsrtp (bug #459932). - # TODO: use_system_protobuf (bug #525560). - # TODO: use_system_ssl (http://crbug.com/58087). - # TODO: use_system_sqlite (http://crbug.com/22208). - - # libevent: https://bugs.gentoo.org/593458 - local gn_system_libraries=( - flac - fontconfig - freetype - # Need harfbuzz_from_pkgconfig target - #harfbuzz-ng - libdrm - libjpeg - libpng - libwebp - #libxml - libxslt - openh264 - re2 - snappy - zlib - ) - if use system-ffmpeg; then - gn_system_libraries+=( ffmpeg opus ) - fi - if use system-icu; then - gn_system_libraries+=( icu ) - fi - if use system-libvpx; then - gn_system_libraries+=( libvpx ) - fi - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die - - # See dependency logic in third_party/BUILD.gn - myconf_gn+=" use_system_harfbuzz=true" - - # Optional dependencies. - myconf_gn+=" enable_js_type_check=$(usex js-type-check true false)" - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" - myconf_gn+=" enable_widevine=$(usex widevine true false)" - myconf_gn+=" use_cups=$(usex cups true false)" - myconf_gn+=" use_gnome_keyring=$(usex gnome-keyring true false)" - myconf_gn+=" use_kerberos=$(usex kerberos true false)" - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" - myconf_gn+=" use_vaapi=$(usex vaapi true false)" - - # TODO: link_pulseaudio=true for GN. - - myconf_gn+=" fieldtrial_testing_like_official_build=true" - - # Never use bundled gold binary. Disable gold linker flags for now. - # Do not use bundled clang. - # Trying to use gold results in linker crash. - myconf_gn+=" use_gold=false use_sysroot=false linux_use_bundled_binutils=false use_custom_libcxx=false" - - # Disable forced lld, bug 641556 - myconf_gn+=" use_lld=false" - - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" - - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . - # Note: these are for Gentoo use ONLY. For your own distribution, - # please get your own set of keys. Feel free to contact chromium@gentoo.org - # for more info. - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" - local google_default_client_id="329227923882.apps.googleusercontent.com" - local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu" - myconf_gn+=" google_api_key=\"${google_api_key}\"" - myconf_gn+=" google_default_client_id=\"${google_default_client_id}\"" - myconf_gn+=" google_default_client_secret=\"${google_default_client_secret}\"" - - local myarch="$(tc-arch)" - - # Avoid CFLAGS problems, bug #352457, bug #390147. - if ! use custom-cflags; then - replace-flags "-Os" "-O2" - strip-flags - - # Prevent linker from running out of address space, bug #471810 . - if use x86; then - filter-flags "-g*" - fi - - # Prevent libvpx build failures. Bug 530248, 544702, 546984. - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 - fi - fi - - if [[ $myarch = amd64 ]] ; then - myconf_gn+=" target_cpu=\"x64\"" - ffmpeg_target_arch=x64 - elif [[ $myarch = x86 ]] ; then - myconf_gn+=" target_cpu=\"x86\"" - ffmpeg_target_arch=ia32 - - # This is normally defined by compiler_cpu_abi in - # build/config/compiler/BUILD.gn, but we patch that part out. - append-flags -msse2 -mfpmath=sse -mmmx - elif [[ $myarch = arm64 ]] ; then - myconf_gn+=" target_cpu=\"arm64\"" - ffmpeg_target_arch=arm64 - elif [[ $myarch = arm ]] ; then - myconf_gn+=" target_cpu=\"arm\"" - ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm) - else - 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" - - # Bug 491582. - export TMPDIR="${WORKDIR}/temp" - mkdir -p -m 755 "${TMPDIR}" || die - - # https://bugs.gentoo.org/654216 - addpredict /dev/dri/ #nowarn - - #if ! use system-ffmpeg; then - if false; then - local build_ffmpeg_args="" - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then - build_ffmpeg_args+=" --disable-asm" - fi - - # Re-configure bundled ffmpeg. See bug #491378 for example reasons. - einfo "Configuring bundled ffmpeg..." - pushd third_party/ffmpeg > /dev/null || die - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \ - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die - chromium/scripts/copy_config.sh || die - chromium/scripts/generate_gn.py || die - popd > /dev/null || die - fi - - # Chromium relies on this, but was disabled in >=clang-10, crbug.com/1042470 - append-cxxflags $(test-flags-CXX -flax-vector-conversions=all) - - # Explicitly disable ICU data file support for system-icu builds. - if use system-icu; then - myconf_gn+=" icu_use_data_file=false" - fi - - einfo "Configuring Chromium..." - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release - echo "$@" - "$@" || die -} - -src_compile() { - # Final link uses lots of file descriptors. - ulimit -n 2048 - - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die - - # Build mksnapshot and pax-mark it. - local x - for x in mksnapshot v8_context_snapshot_generator; do - if tc-is-cross-compiler; then - eninja -C out/Release "host/${x}" - pax-mark m "out/Release/host/${x}" - else - eninja -C out/Release "${x}" - pax-mark m "out/Release/${x}" - fi - done - - # Even though ninja autodetects number of CPUs, we respect - # user's options, for debugging with -j 1 or any other reason. - eninja -C out/Release chrome chromedriver - use suid && eninja -C out/Release chrome_sandbox - - pax-mark m out/Release/chrome - - # Build desktop file; bug #706786 - sed -e 's|@@MENUNAME@@|Chromium|g; - s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g; - s|@@PACKAGE@@|chromium-browser|g; - s|\(^Exec=\)/usr/bin/|\1|g;' \ - chrome/installer/linux/common/desktop.template > \ - out/Release/chromium-browser-chromium.desktop || die - - # Build manpage; bug #684550 - sed -e 's|@@PACKAGE@@|chromium-browser|g; - s|@@MENUNAME@@|Chromium|g;' \ - chrome/app/resources/manpage.1.in > \ - out/Release/chromium-browser.1 || die -} - -src_install() { - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" - exeinto "${CHROMIUM_HOME}" - doexe out/Release/chrome - - if use suid; then - newexe out/Release/chrome_sandbox chrome-sandbox - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" - fi - - doexe out/Release/chromedriver - - local sedargs=( -e "s:/usr/lib/:/usr/$(get_libdir)/:g" ) - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r3.sh" > chromium-launcher.sh || die - doexe chromium-launcher.sh - - # It is important that we name the target "chromium-browser", - # xdg-utils expect it; bug #355517. - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser - # keep the old symlink around for consistency - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium - - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver - - # Allow users to override command-line options, bug #357629. - insinto /etc/chromium - newins "${FILESDIR}/chromium.default" "default" - - pushd out/Release/locales > /dev/null || die - chromium_remove_language_paks - popd - - insinto "${CHROMIUM_HOME}" - doins out/Release/*.bin - doins out/Release/*.pak - doins out/Release/*.so - - if ! use system-icu; then - doins out/Release/icudtl.dat - fi - - doins -r out/Release/locales - doins -r out/Release/resources - - if [[ -d out/Release/swiftshader ]]; then - insinto "${CHROMIUM_HOME}/swiftshader" - doins out/Release/swiftshader/*.so - fi - - # Install icons - local branding size - for size in 16 24 32 48 64 128 256 ; do - case ${size} in - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; - *) branding="chrome/app/theme/chromium" ;; - esac - newicon -s ${size} "${branding}/product_logo_${size}.png" \ - chromium-browser.png - done - - # Install desktop entry - domenu out/Release/chromium-browser-chromium.desktop - - # Install GNOME default application entry (bug #303100). - insinto /usr/share/gnome-control-center/default-apps - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml - - # Install manpage; bug #684550 - doman out/Release/chromium-browser.1 - dosym chromium-browser.1 /usr/share/man/man1/chromium.1 - - readme.gentoo_create_doc -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_desktop_database_update -} - -pkg_postinst() { - xdg_icon_cache_update - xdg_desktop_database_update - readme.gentoo_print_elog -} diff --git a/www-client/chromium/chromium-87.0.4263.3-r1.ebuild b/www-client/chromium/chromium-87.0.4263.3-r1.ebuild deleted file mode 100644 index 7c83611..0000000 --- a/www-client/chromium/chromium-87.0.4263.3-r1.ebuild +++ /dev/null @@ -1,894 +0,0 @@ -# Copyright 2009-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python2_7 ) - -CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - 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 vi zh-CN zh-TW" - -inherit check-reqs chromium-2 desktop flag-o-matic multilib ninja-utils pax-utils portability python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="https://chromium.org/" -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz - https://files.pythonhosted.org/packages/ed/7b/bbf89ca71e722b7f9464ebffe4b5ee20a9e5c9a555a56e2d3914bb9119a6/setuptools-44.1.0.zip" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" -IUSE="component-build cups cpu_flags_arm_neon +hangouts headless js-type-check kerberos official pic +proprietary-codecs pulseaudio selinux +suid +system-ffmpeg +system-icu +system-libvpx +tcmalloc wayland widevine vaapi" -RESTRICT="!system-ffmpeg? ( proprietary-codecs? ( bindist ) )" -REQUIRED_USE=" - component-build? ( !suid ) -" - -COMMON_X_DEPEND=" - media-libs/mesa:=[gbm] - x11-libs/libX11:= - x11-libs/libXcomposite:= - x11-libs/libXcursor:= - x11-libs/libXdamage:= - x11-libs/libXext:= - x11-libs/libXfixes:= - >=x11-libs/libXi-1.6.0:= - x11-libs/libXrandr:= - x11-libs/libXrender:= - x11-libs/libXtst:= - x11-libs/libXScrnSaver:= - x11-libs/libxcb:= -" - -COMMON_DEPEND=" - app-arch/bzip2:= - cups? ( >=net-print/cups-1.3.11:= ) - dev-libs/expat:= - dev-libs/glib:2 - >=dev-libs/libxml2-2.9.4-r3:=[icu] - dev-libs/nspr:= - >=dev-libs/nss-3.26:= - >=media-libs/alsa-lib-1.0.19:= - media-libs/fontconfig:= - media-libs/freetype:= - >=media-libs/harfbuzz-2.4.0:0=[icu(-)] - media-libs/libjpeg-turbo:= - media-libs/libpng:= - system-libvpx? ( >=media-libs/libvpx-1.8.2:=[postproc] ) - pulseaudio? ( media-sound/pulseaudio:= ) - system-ffmpeg? ( - >=media-video/ffmpeg-4.3:= - || ( - media-video/ffmpeg[-samba] - >=net-fs/samba-4.5.10-r1[-debug(-)] - ) - >=media-libs/opus-1.3.1:= - ) - sys-apps/dbus:= - sys-apps/pciutils:= - virtual/udev - x11-libs/cairo:= - x11-libs/gdk-pixbuf:2 - x11-libs/pango:= - media-libs/flac:= - >=media-libs/libwebp-0.4.0:= - sys-libs/zlib:=[minizip] - kerberos? ( virtual/krb5 ) - !headless? ( - ${COMMON_X_DEPEND} - >=app-accessibility/at-spi2-atk-2.26:2 - >=app-accessibility/at-spi2-core-2.26:2 - >=dev-libs/atk-2.26 - x11-libs/gtk+:3[X] - wayland? ( - dev-libs/wayland:= - dev-libs/libffi:= - x11-libs/gtk+:3[wayland,X] - x11-libs/libdrm:= - x11-libs/libxkbcommon:= - ) - ) -" -# For nvidia-drivers blocker, see bug #413637 . -RDEPEND="${COMMON_DEPEND} - x11-misc/xdg-utils - virtual/opengl - virtual/ttf-fonts - selinux? ( sec-policy/selinux-chromium ) - tcmalloc? ( !<x11-drivers/nvidia-drivers-331.20 ) -" -DEPEND="${COMMON_DEPEND} -" -# dev-vcs/git - https://bugs.gentoo.org/593476 -BDEPEND=" - ${PYTHON_DEPS} - >=app-arch/gzip-1.7 - app-arch/unzip - dev-lang/perl - >=dev-util/gn-0.1807 - dev-vcs/git - >=dev-util/gperf-3.0.3 - >=dev-util/ninja-1.7.2 - >=net-libs/nodejs-7.6.0[inspector] - sys-apps/hwids[usb(+)] - >=sys-devel/bison-2.4.3 - sys-devel/flex - virtual/pkgconfig - js-type-check? ( virtual/jre ) -" - -: ${CHROMIUM_FORCE_CLANG=yes} -: ${CHROMIUM_FORCE_LIBCXX=no} - -if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then - BDEPEND+=" >=sys-devel/clang-10" -fi - -if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - RDEPEND+=" >=sys-libs/libcxx-10" - DEPEND+=" >=sys-libs/libcxx-10" -else - COMMON_DEPEND=" - app-arch/snappy:= - dev-libs/libxslt:= - >=dev-libs/re2-0.2019.08.01:= - >=media-libs/openh264-1.6.0:= - system-icu? ( >=dev-libs/icu-67.1:= ) - " - RDEPEND+="${COMMON_DEPEND}" - DEPEND+="${COMMON_DEPEND}" -fi - -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then - EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; -fi - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -Some web pages may require additional fonts to display properly. -Try installing some of the following packages if some characters -are not displayed properly: -- media-fonts/arphicfonts -- media-fonts/droid -- media-fonts/ipamonafont -- media-fonts/noto -- media-fonts/ja-ipafonts -- media-fonts/takao-fonts -- media-fonts/wqy-microhei -- media-fonts/wqy-zenhei - -To fix broken icons on the Downloads page, you should install an icon -theme that covers the appropriate MIME types, and configure this as your -GTK+ icon theme. - -For native file dialogs in KDE, install kde-apps/kdialog. - -To make password storage work with your desktop environment you may -have install one of the supported credentials management applications: -- app-crypt/libsecret (GNOME) -- kde-frameworks/kwallet (KDE) -If you have one of above packages installed, but don't want to use -them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS -in /etc/chromium/default. -" - -PATCHES=( - "${FILESDIR}/chromium-78-protobuf-RepeatedPtrField-export.patch" - "${FILESDIR}/chromium-79-gcc-protobuf-alignas.patch" - "${FILESDIR}/chromium-80-QuicStreamSendBuffer-deleted-move-constructor.patch" - "${FILESDIR}/chromium-84-blink-disable-clang-format.patch" - "${FILESDIR}/chromium-86-compiler.patch" - "${FILESDIR}/chromium-86-ConsumeDurationNumber-constexpr.patch" - "${FILESDIR}/chromium-86-ImageMemoryBarrierData-init.patch" - "${FILESDIR}/chromium-86-nearby-explicit.patch" - "${FILESDIR}/chromium-86-nearby-include.patch" - "${FILESDIR}/chromium-87-anonymous-struct.patch" - "${FILESDIR}/chromium-87-CrossThreadPersistent-template.patch" - "${FILESDIR}/chromium-87-CursorFactory-include.patch" - "${FILESDIR}/chromium-87-SystemMemoryPressureEvaluator-namespace.patch" - "${FILESDIR}/chromium-87-Thumbnail-noexcept.patch" - "${FILESDIR}/chromium-fix-char_traits.patch" - "${FILESDIR}/chromium-vaapi-fix-87.patch" -) - -pre_build_checks() { - if [[ ${MERGE_TYPE} != binary ]]; then - local -x CPP="$(tc-getCXX) -E" - if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 9.2; then - die "At least gcc 9.2 is required" - fi - # component build hangs with tcmalloc enabled due to sandbox issue, bug #695976. - if has usersandbox ${FEATURES} && use tcmalloc && use component-build; then - die "Component build with tcmalloc requires FEATURES=-usersandbox." - fi - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || tc-is-clang; then - if use component-build; then - die "Component build with clang requires fuzzer headers." - fi - fi - fi - - # Check build requirements, bug #541816 and bug #471810 . - CHECKREQS_MEMORY="3G" - CHECKREQS_DISK_BUILD="7G" - if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then - if use custom-cflags || use component-build; then - CHECKREQS_DISK_BUILD="25G" - fi - if ! use component-build; then - CHECKREQS_MEMORY="16G" - fi - fi - check-reqs_pkg_setup -} - -pkg_pretend() { - pre_build_checks -} - -pkg_setup() { - pre_build_checks - - chromium_suid_sandbox_check_kernel_config - - # nvidia-drivers does not work correctly with Wayland due to unsupported EGLStreams - if use wayland && ! use headless && has_version "x11-drivers/nvidia-drivers"; then - ewarn "Proprietary nVidia driver does not work with Wayland. You can disable" - ewarn "Wayland by setting DISABLE_OZONE_PLATFORM=true in /etc/chromium/default." - fi -} - -src_prepare() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - default - - mkdir -p third_party/node/linux/node-linux-x64/bin || die - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die - - local 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 - 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/angle/third_party/glslang - third_party/angle/third_party/spirv-headers - third_party/angle/third_party/spirv-tools - third_party/angle/third_party/vulkan-headers - third_party/angle/third_party/vulkan-loader - third_party/angle/third_party/vulkan-tools - third_party/angle/third_party/vulkan-validation-layers - 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/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/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/puppeteer - third_party/devtools-frontend/src/front_end/third_party/marked - third_party/devtools-frontend/src/front_end/third_party/wasmparser - third_party/devtools-frontend/src/third_party - third_party/dom_distiller_js - third_party/emoji-segmenter - third_party/flatbuffers - third_party/freetype - third_party/libgifcodec - third_party/glslang - 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/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/vector - third_party/libaom/source/libaom/third_party/x86inc - third_party/libavif - third_party/libjingle - third_party/libphonenumber - third_party/libsecret - third_party/libsrtp - third_party/libsync - third_party/libudev - third_party/libwebm - third_party/libxml/chromium - third_party/libyuv - 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/modp_b64 - third_party/nasm - third_party/nearby - 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/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/rnnoise - third_party/s2cellid - third_party/schema_org - 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/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/unified1 - third_party/ukey2 - third_party/unrar - third_party/usrsctp - third_party/vulkan - third_party/web-animations-js - third_party/webdriver - 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/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/adobe - third_party/speech-dispatcher - third_party/usb_ids - third_party/xdg-utils - ) - if ! use system-ffmpeg; then - keeplibs+=( third_party/ffmpeg third_party/opus ) - fi - if ! use system-icu; then - keeplibs+=( third_party/icu ) - fi - if ! use system-libvpx; then - keeplibs+=( third_party/libvpx ) - keeplibs+=( third_party/libvpx/source/libvpx/third_party/x86inc ) - - # we need to generate ppc64 stuff because upstream does not ship it yet - # it has to be done before unbundling. - if use ppc64; then - pushd third_party/libvpx >/dev/null || die - mkdir -p source/config/linux/ppc64 || die - ./generate_gni.sh || die - popd >/dev/null || die - fi - fi - if use tcmalloc; then - keeplibs+=( third_party/tcmalloc ) - fi - if use wayland && ! use headless ; then - keeplibs+=( third_party/wayland ) - fi - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - keeplibs+=( third_party/libxml ) - keeplibs+=( third_party/libxslt ) - keeplibs+=( third_party/openh264 ) - keeplibs+=( third_party/re2 ) - keeplibs+=( third_party/snappy ) - if use system-icu; then - keeplibs+=( third_party/icu ) - fi - fi - if use arm64 || use ppc64 ; then - keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 ) - fi - # Remove most bundled libraries. Some are still needed. - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die -} - -src_configure() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local myconf_gn="" - - # Make sure the build system will use the right tools, bug #340795. - tc-export AR CC CXX NM - - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] && ! tc-is-clang; then - # Force clang since gcc is pretty broken at the moment. - CC=${CHOST}-clang - CXX=${CHOST}-clang++ - strip-unsupported-flags - fi - - if tc-is-clang; then - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" - else - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - die "Compiling with sys-libs/libcxx requires clang." - fi - myconf_gn+=" is_clang=false" - fi - - # Define a custom toolchain for GN - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" - - if tc-is-cross-compiler; then - tc-export BUILD_{AR,CC,CXX,NM} - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" - else - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - fi - - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - myconf_gn+=" is_debug=false" - - # Component build isn't generally intended for use by end users. It's mostly useful - # for development and debugging. - myconf_gn+=" is_component_build=$(usex component-build true false)" - - myconf_gn+=" use_allocator=$(usex tcmalloc \"tcmalloc\" \"none\")" - - # Disable nacl, we can't build without pnacl (http://crbug.com/269560). - myconf_gn+=" enable_nacl=false" - - # Use system-provided libraries. - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_libsrtp (bug #459932). - # TODO: use_system_protobuf (bug #525560). - # TODO: use_system_ssl (http://crbug.com/58087). - # TODO: use_system_sqlite (http://crbug.com/22208). - - # libevent: https://bugs.gentoo.org/593458 - local gn_system_libraries=( - flac - fontconfig - freetype - # Need harfbuzz_from_pkgconfig target - #harfbuzz-ng - libdrm - libjpeg - libpng - libwebp - zlib - ) - if use system-ffmpeg; then - gn_system_libraries+=( ffmpeg opus ) - fi - if use system-icu; then - gn_system_libraries+=( icu ) - fi - if use system-libvpx; then - gn_system_libraries+=( libvpx ) - fi - if [[ ${CHROMIUM_FORCE_LIBCXX} != yes ]]; then - # unbundle only without libc++, because libc++ is not fully ABI compatible with libstdc++ - gn_system_libraries+=( libxml ) - gn_system_libraries+=( libxslt ) - gn_system_libraries+=( openh264 ) - gn_system_libraries+=( re2 ) - gn_system_libraries+=( snappy ) - fi - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die - - # See dependency logic in third_party/BUILD.gn - myconf_gn+=" use_system_harfbuzz=true" - - # Disable deprecated libgnome-keyring dependency, bug #713012 - myconf_gn+=" use_gnome_keyring=false" - - # Optional dependencies. - myconf_gn+=" enable_js_type_check=$(usex js-type-check true false)" - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" - myconf_gn+=" enable_widevine=$(usex widevine true false)" - myconf_gn+=" use_cups=$(usex cups true false)" - myconf_gn+=" use_kerberos=$(usex kerberos true false)" - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" - myconf_gn+=" use_vaapi=$(usex vaapi true false)" - - # TODO: link_pulseaudio=true for GN. - - myconf_gn+=" fieldtrial_testing_like_official_build=true" - - # Never use bundled gold binary. Disable gold linker flags for now. - # Do not use bundled clang. - # Trying to use gold results in linker crash. - myconf_gn+=" use_gold=false use_sysroot=false use_custom_libcxx=false" - - # Disable forced lld, bug 641556 - myconf_gn+=" use_lld=false" - - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" - - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . - # Note: these are for Gentoo use ONLY. For your own distribution, - # please get your own set of keys. Feel free to contact chromium@gentoo.org - # for more info. - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" - local google_default_client_id="329227923882.apps.googleusercontent.com" - local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu" - myconf_gn+=" google_api_key=\"${google_api_key}\"" - myconf_gn+=" google_default_client_id=\"${google_default_client_id}\"" - myconf_gn+=" google_default_client_secret=\"${google_default_client_secret}\"" - local myarch="$(tc-arch)" - - # Avoid CFLAGS problems, bug #352457, bug #390147. - if ! use custom-cflags; then - replace-flags "-Os" "-O2" - strip-flags - - # Debug info section overflows without component build - # Prevent linker from running out of address space, bug #471810 . - if ! use component-build || use x86; then - filter-flags "-g*" - fi - - # Prevent libvpx build failures. Bug 530248, 544702, 546984. - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4 - fi - fi - - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - append-flags -stdlib=libc++ - append-ldflags -stdlib=libc++ - fi - - if [[ $myarch = amd64 ]] ; then - myconf_gn+=" target_cpu=\"x64\"" - ffmpeg_target_arch=x64 - elif [[ $myarch = x86 ]] ; then - myconf_gn+=" target_cpu=\"x86\"" - ffmpeg_target_arch=ia32 - - # This is normally defined by compiler_cpu_abi in - # build/config/compiler/BUILD.gn, but we patch that part out. - append-flags -msse2 -mfpmath=sse -mmmx - elif [[ $myarch = arm64 ]] ; then - myconf_gn+=" target_cpu=\"arm64\"" - ffmpeg_target_arch=arm64 - elif [[ $myarch = arm ]] ; then - myconf_gn+=" target_cpu=\"arm\"" - ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm) - elif [[ $myarch = ppc64 ]] ; then - myconf_gn+=" target_cpu=\"ppc64\"" - ffmpeg_target_arch=ppc64 - else - 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" - - # Bug 491582. - export TMPDIR="${WORKDIR}/temp" - mkdir -p -m 755 "${TMPDIR}" || die - - # https://bugs.gentoo.org/654216 - addpredict /dev/dri/ #nowarn - - #if ! use system-ffmpeg; then - if false; then - local build_ffmpeg_args="" - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then - build_ffmpeg_args+=" --disable-asm" - fi - - # Re-configure bundled ffmpeg. See bug #491378 for example reasons. - einfo "Configuring bundled ffmpeg..." - pushd third_party/ffmpeg > /dev/null || die - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \ - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die - chromium/scripts/copy_config.sh || die - chromium/scripts/generate_gn.py || die - popd > /dev/null || die - fi - - # Chromium relies on this, but was disabled in >=clang-10, crbug.com/1042470 - append-cxxflags $(test-flags-CXX -flax-vector-conversions=all) - - # Disable unknown warning message from clang. - tc-is-clang && append-flags -Wno-unknown-warning-option - - # Explicitly disable ICU data file support for system-icu builds. - if use system-icu; then - myconf_gn+=" icu_use_data_file=false" - fi - - # Enable ozone wayland and/or headless support - if use wayland || use headless; then - myconf_gn+=" use_ozone=true ozone_auto_platforms=false" - myconf_gn+=" ozone_platform_headless=true" - if use headless; then - myconf_gn+=" ozone_platform=\"headless\"" - myconf_gn+=" use_x11=false" - else - myconf_gn+=" ozone_platform_wayland=true" - myconf_gn+=" use_system_libdrm=true" - myconf_gn+=" use_system_minigbm=true" - myconf_gn+=" use_xkbcommon=true" - myconf_gn+=" ozone_platform=\"wayland\"" - fi - else - myconf_gn+=" use_ozone=false" - fi - - # Enable official builds - myconf_gn+=" is_official_build=$(usex official true false)" - if use official; then - # 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 - myconf_gn+=" is_cfi=false" - fi - - einfo "Configuring Chromium..." - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release - echo "$@" - "$@" || die -} - -src_compile() { - # Final link uses lots of file descriptors. - ulimit -n 2048 - - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - # https://bugs.gentoo.org/717456 - local -x PYTHONPATH="${WORKDIR}/setuptools-44.1.0:${PYTHONPATH+:}${PYTHONPATH}" - - #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die - - # Build mksnapshot and pax-mark it. - local x - for x in mksnapshot v8_context_snapshot_generator; do - if tc-is-cross-compiler; then - eninja -C out/Release "host/${x}" - pax-mark m "out/Release/host/${x}" - else - eninja -C out/Release "${x}" - pax-mark m "out/Release/${x}" - fi - done - - # Even though ninja autodetects number of CPUs, we respect - # user's options, for debugging with -j 1 or any other reason. - eninja -C out/Release chrome chromedriver - use suid && eninja -C out/Release chrome_sandbox - - pax-mark m out/Release/chrome - - # Build manpage; bug #684550 - sed -e 's|@@PACKAGE@@|chromium-browser|g; - s|@@MENUNAME@@|Chromium|g;' \ - chrome/app/resources/manpage.1.in > \ - out/Release/chromium-browser.1 || die - - # Build desktop file; bug #706786 - sed -e 's|@@MENUNAME@@|Chromium|g; - s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g; - s|@@PACKAGE@@|chromium-browser|g; - s|\(^Exec=\)/usr/bin/|\1|g;' \ - chrome/installer/linux/common/desktop.template > \ - out/Release/chromium-browser-chromium.desktop || die -} - -src_install() { - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" - exeinto "${CHROMIUM_HOME}" - doexe out/Release/chrome - - if use suid; then - newexe out/Release/chrome_sandbox chrome-sandbox - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" - fi - - doexe out/Release/chromedriver - - local sedargs=( -e - "s:/usr/lib/:/usr/$(get_libdir)/:g; - s:@@OZONE_AUTO_SESSION@@:$(usex wayland true false):g; - s:@@FORCE_OZONE_PLATFORM@@:$(usex headless true false):g" - ) - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r6.sh" > chromium-launcher.sh || die - doexe chromium-launcher.sh - - # It is important that we name the target "chromium-browser", - # xdg-utils expect it; bug #355517. - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser - # keep the old symlink around for consistency - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium - - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver - - # Allow users to override command-line options, bug #357629. - insinto /etc/chromium - newins "${FILESDIR}/chromium.default" "default" - - pushd out/Release/locales > /dev/null || die - chromium_remove_language_paks - popd - - insinto "${CHROMIUM_HOME}" - doins out/Release/*.bin - doins out/Release/*.pak - ( - shopt -s nullglob - local files=(out/Release/*.so) - [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}" - ) - - if ! use system-icu; then - doins out/Release/icudtl.dat - fi - - doins -r out/Release/locales - doins -r out/Release/resources - - if [[ -d out/Release/swiftshader ]]; then - insinto "${CHROMIUM_HOME}/swiftshader" - doins out/Release/swiftshader/*.so - fi - - # Install icons - local branding size - for size in 16 24 32 48 64 128 256 ; do - case ${size} in - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; - *) branding="chrome/app/theme/chromium" ;; - esac - newicon -s ${size} "${branding}/product_logo_${size}.png" \ - chromium-browser.png - done - - # Install desktop entry - domenu out/Release/chromium-browser-chromium.desktop - - # Install GNOME default application entry (bug #303100). - insinto /usr/share/gnome-control-center/default-apps - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml - - # Install manpage; bug #684550 - doman out/Release/chromium-browser.1 - dosym chromium-browser.1 /usr/share/man/man1/chromium.1 - - readme.gentoo_create_doc -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_desktop_database_update -} - -pkg_postinst() { - xdg_icon_cache_update - xdg_desktop_database_update - readme.gentoo_print_elog -} diff --git a/www-client/chromium/chromium-87.0.4263.3.ebuild b/www-client/chromium/chromium-87.0.4263.3.ebuild deleted file mode 100644 index f75a2d6..0000000 --- a/www-client/chromium/chromium-87.0.4263.3.ebuild +++ /dev/null @@ -1,760 +0,0 @@ -# Copyright 2009-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python2_7 ) - -CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - 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 vi zh-CN zh-TW" - -inherit check-reqs chromium-2 desktop flag-o-matic multilib ninja-utils pax-utils portability python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="http://chromium.org/" -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" -IUSE="+js-type-check component-build cups cpu_flags_arm_neon gnome-keyring +hangouts kerberos pic +proprietary-codecs pulseaudio selinux +suid +system-ffmpeg +system-icu +system-libvpx +tcmalloc widevine vaapi" -RESTRICT="!system-ffmpeg? ( proprietary-codecs? ( bindist ) )" -REQUIRED_USE="component-build? ( !suid )" - -COMMON_DEPEND=" - >=app-accessibility/at-spi2-atk-2.26:2 - app-arch/bzip2:= - cups? ( >=net-print/cups-1.3.11:= ) - >=dev-libs/atk-2.26 - dev-libs/expat:= - dev-libs/glib:2 - system-icu? ( >=dev-libs/icu-65:= ) - >=dev-libs/libxml2-2.9.4-r3:=[icu] - dev-libs/libxslt:= - dev-libs/nspr:= - >=dev-libs/nss-3.26:= - >=dev-libs/re2-0.2019.08.01:= - gnome-keyring? ( >=gnome-base/libgnome-keyring-3.12:= ) - >=media-libs/alsa-lib-1.0.19:= - media-libs/fontconfig:= - media-libs/freetype:= - >=media-libs/harfbuzz-2.4.0:0=[icu(-)] - media-libs/libjpeg-turbo:= - media-libs/libpng:= - system-libvpx? ( media-libs/libvpx:=[postproc,svc] ) - >=media-libs/openh264-1.6.0:= - pulseaudio? ( media-sound/pulseaudio:= ) - system-ffmpeg? ( - >=media-video/ffmpeg-4:= - || ( - media-video/ffmpeg[-samba] - >=net-fs/samba-4.5.10-r1[-debug(-)] - ) - !=net-fs/samba-4.5.12-r0 - media-libs/opus:= - ) - sys-apps/dbus:= - sys-apps/pciutils:= - virtual/udev - x11-libs/cairo:= - x11-libs/gdk-pixbuf:2 - x11-libs/gtk+:3[X] - x11-libs/libX11:= - x11-libs/libXcomposite:= - x11-libs/libXcursor:= - x11-libs/libXdamage:= - x11-libs/libXext:= - x11-libs/libXfixes:= - >=x11-libs/libXi-1.6.0:= - x11-libs/libXrandr:= - x11-libs/libXrender:= - x11-libs/libXScrnSaver:= - x11-libs/libXtst:= - x11-libs/pango:= - app-arch/snappy:= - media-libs/flac:= - >=media-libs/libwebp-0.4.0:= - sys-libs/zlib:=[minizip] - kerberos? ( virtual/krb5 ) -" -# For nvidia-drivers blocker, see bug #413637 . -RDEPEND="${COMMON_DEPEND} - !<www-plugins/chrome-binary-plugins-57 - x11-misc/xdg-utils - virtual/opengl - virtual/ttf-fonts - selinux? ( sec-policy/selinux-chromium ) - tcmalloc? ( !<x11-drivers/nvidia-drivers-331.20 ) - widevine? ( www-plugins/chrome-binary-plugins[widevine(-)] ) -" -DEPEND="${COMMON_DEPEND} -" -# dev-vcs/git - https://bugs.gentoo.org/593476 -BDEPEND=" - ${PYTHON_DEPS} - >=app-arch/gzip-1.7 - !arm? ( - dev-lang/yasm - ) - dev-lang/perl - dev-util/gn - dev-vcs/git - >=dev-util/gperf-3.0.3 - >=dev-util/ninja-1.7.2 - >=net-libs/nodejs-7.6.0[inspector] - sys-apps/hwids[usb(+)] - >=sys-devel/bison-2.4.3 - sys-devel/flex - js-type-check? ( virtual/jre ) - virtual/pkgconfig -" - -: ${CHROMIUM_FORCE_CLANG=yes} - -if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then - BDEPEND+=" >=sys-devel/clang-7" -fi - -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then - EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; -fi - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -Some web pages may require additional fonts to display properly. -Try installing some of the following packages if some characters -are not displayed properly: -- media-fonts/arphicfonts -- media-fonts/droid -- media-fonts/ipamonafont -- media-fonts/noto -- media-fonts/ja-ipafonts -- media-fonts/takao-fonts -- media-fonts/wqy-microhei -- media-fonts/wqy-zenhei - -To fix broken icons on the Downloads page, you should install an icon -theme that covers the appropriate MIME types, and configure this as your -GTK+ icon theme. - -For native file dialogs in KDE, install kde-apps/kdialog. -" - -PATCHES=( - "${FILESDIR}/chromium-compiler-87.patch" - "${FILESDIR}/chromium-widevine-80.patch" - "${FILESDIR}/chromium-fix-char_traits.patch" - "${FILESDIR}/chromium-zlib-82.patch" - "${FILESDIR}/chromium-clang-format-path-82.patch" - "${FILESDIR}/chromium-base-include-84-r2.patch" - "${FILESDIR}/chromium-mojo-ltm-83.patch" - "${FILESDIR}/chromium-core-management-svc-84.patch" - "${FILESDIR}/chromium-gpu-vp9-include-84.patch" - "${FILESDIR}/chromium-nearby-inc-86.patch" - "${FILESDIR}/chromium-vaapi-fix-87.patch" -) - -pre_build_checks() { - if [[ ${MERGE_TYPE} != binary ]]; then - local -x CPP="$(tc-getCXX) -E" - if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 8.0; then - die "At least gcc 8.0 is required" - fi - fi - - # Check build requirements, bug #541816 and bug #471810 . - CHECKREQS_MEMORY="3G" - CHECKREQS_DISK_BUILD="7G" - if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then - CHECKREQS_DISK_BUILD="25G" - if ! use component-build; then - CHECKREQS_MEMORY="16G" - fi - fi - check-reqs_pkg_setup -} - -pkg_pretend() { - pre_build_checks -} - -pkg_setup() { - pre_build_checks - - chromium_suid_sandbox_check_kernel_config -} - -src_prepare() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - default - - mkdir -p third_party/node/linux/node-linux-x64/bin || die - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die - - local 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 - 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/angle/third_party/glslang - third_party/angle/third_party/spirv-headers - third_party/angle/third_party/spirv-tools - third_party/angle/third_party/vulkan-headers - third_party/angle/third_party/vulkan-loader - third_party/angle/third_party/vulkan-tools - third_party/angle/third_party/vulkan-validation-layers - 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/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/codemirror - third_party/devtools-frontend/src/front_end/third_party/chromium - 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/emoji-segmenter - third_party/flatbuffers - third_party/freetype - third_party/glslang - 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/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/vector - third_party/libaom/source/libaom/third_party/x86inc - third_party/libavif - third_party/libgifcodec - third_party/libjingle - third_party/libphonenumber - third_party/libsecret - third_party/libsrtp - third_party/libsync - third_party/libudev - third_party/libwebm - third_party/libxml - third_party/libyuv - 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/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/tinycbor/src/src - third_party/openscreen/src/third_party/mozilla - 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/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/rnnoise - third_party/s2cellid - third_party/schema_org - 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/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/unified1 - third_party/ukey2 - third_party/unrar - third_party/usrsctp - third_party/vulkan - third_party/wayland - third_party/web-animations-js - third_party/webdriver - third_party/webrtc - third_party/webrtc/common_audio/third_party/spl_sqrt_floor - third_party/webrtc/common_audio/third_party/ooura - 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/xcbproto - third_party/zlib/google - third_party/zxcvbn-cpp - 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/adobe - third_party/speech-dispatcher - third_party/usb_ids - third_party/xdg-utils - ) - if ! use system-ffmpeg; then - keeplibs+=( third_party/ffmpeg third_party/opus ) - fi - if ! use system-icu; then - keeplibs+=( third_party/icu ) - fi - if ! use system-libvpx; then - keeplibs+=( third_party/libvpx ) - keeplibs+=( third_party/libvpx/source/libvpx/third_party/x86inc ) - fi - if use tcmalloc; then - keeplibs+=( third_party/tcmalloc ) - fi - - # Remove most bundled libraries. Some are still needed. - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die -} - -src_configure() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local myconf_gn="" - - # Make sure the build system will use the right tools, bug #340795. - tc-export AR CC CXX NM - - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] && ! tc-is-clang; then - # Force clang since gcc is pretty broken at the moment. - CC=${CHOST}-clang - CXX=${CHOST}-clang++ - strip-unsupported-flags - fi - - if tc-is-clang; then - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" - else - myconf_gn+=" is_clang=false" - fi - - # Define a custom toolchain for GN - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" - - if tc-is-cross-compiler; then - tc-export BUILD_{AR,CC,CXX,NM} - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" - else - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - fi - - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - myconf_gn+=" is_debug=false" - - # Component build isn't generally intended for use by end users. It's mostly useful - # for development and debugging. - myconf_gn+=" is_component_build=$(usex component-build true false)" - - myconf_gn+=" use_allocator=$(usex tcmalloc \"tcmalloc\" \"none\")" - - # Disable nacl, we can't build without pnacl (http://crbug.com/269560). - myconf_gn+=" enable_nacl=false" - - # Use system-provided libraries. - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_libsrtp (bug #459932). - # TODO: use_system_protobuf (bug #525560). - # TODO: use_system_ssl (http://crbug.com/58087). - # TODO: use_system_sqlite (http://crbug.com/22208). - - # libevent: https://bugs.gentoo.org/593458 - local gn_system_libraries=( - flac - fontconfig - freetype - # Need harfbuzz_from_pkgconfig target - #harfbuzz-ng - libdrm - libjpeg - libpng - libwebp - #libxml - libxslt - openh264 - re2 - snappy - zlib - ) - if use system-ffmpeg; then - gn_system_libraries+=( ffmpeg opus ) - fi - if use system-icu; then - gn_system_libraries+=( icu ) - fi - if use system-libvpx; then - gn_system_libraries+=( libvpx ) - fi - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die - - # See dependency logic in third_party/BUILD.gn - myconf_gn+=" use_system_harfbuzz=true" - - # Optional dependencies. - myconf_gn+=" enable_js_type_check=$(usex js-type-check true false)" - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" - myconf_gn+=" enable_widevine=$(usex widevine true false)" - myconf_gn+=" use_cups=$(usex cups true false)" - myconf_gn+=" use_gnome_keyring=$(usex gnome-keyring true false)" - myconf_gn+=" use_kerberos=$(usex kerberos true false)" - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" - myconf_gn+=" use_vaapi=$(usex vaapi true false)" - - # TODO: link_pulseaudio=true for GN. - - myconf_gn+=" fieldtrial_testing_like_official_build=true" - - # Never use bundled gold binary. Disable gold linker flags for now. - # Do not use bundled clang. - # Trying to use gold results in linker crash. - myconf_gn+=" use_gold=false use_sysroot=false linux_use_bundled_binutils=false use_custom_libcxx=false" - - # Disable forced lld, bug 641556 - myconf_gn+=" use_lld=false" - - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" - - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . - # Note: these are for Gentoo use ONLY. For your own distribution, - # please get your own set of keys. Feel free to contact chromium@gentoo.org - # for more info. - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" - local google_default_client_id="329227923882.apps.googleusercontent.com" - local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu" - myconf_gn+=" google_api_key=\"${google_api_key}\"" - myconf_gn+=" google_default_client_id=\"${google_default_client_id}\"" - myconf_gn+=" google_default_client_secret=\"${google_default_client_secret}\"" - - local myarch="$(tc-arch)" - - # Avoid CFLAGS problems, bug #352457, bug #390147. - if ! use custom-cflags; then - replace-flags "-Os" "-O2" - strip-flags - - # Prevent linker from running out of address space, bug #471810 . - if use x86; then - filter-flags "-g*" - fi - - # Prevent libvpx build failures. Bug 530248, 544702, 546984. - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 - fi - fi - - if [[ $myarch = amd64 ]] ; then - myconf_gn+=" target_cpu=\"x64\"" - ffmpeg_target_arch=x64 - elif [[ $myarch = x86 ]] ; then - myconf_gn+=" target_cpu=\"x86\"" - ffmpeg_target_arch=ia32 - - # This is normally defined by compiler_cpu_abi in - # build/config/compiler/BUILD.gn, but we patch that part out. - append-flags -msse2 -mfpmath=sse -mmmx - elif [[ $myarch = arm64 ]] ; then - myconf_gn+=" target_cpu=\"arm64\"" - ffmpeg_target_arch=arm64 - elif [[ $myarch = arm ]] ; then - myconf_gn+=" target_cpu=\"arm\"" - ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm) - else - 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" - - # Bug 491582. - export TMPDIR="${WORKDIR}/temp" - mkdir -p -m 755 "${TMPDIR}" || die - - # https://bugs.gentoo.org/654216 - addpredict /dev/dri/ #nowarn - - #if ! use system-ffmpeg; then - if false; then - local build_ffmpeg_args="" - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then - build_ffmpeg_args+=" --disable-asm" - fi - - # Re-configure bundled ffmpeg. See bug #491378 for example reasons. - einfo "Configuring bundled ffmpeg..." - pushd third_party/ffmpeg > /dev/null || die - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \ - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die - chromium/scripts/copy_config.sh || die - chromium/scripts/generate_gn.py || die - popd > /dev/null || die - fi - - # Chromium relies on this, but was disabled in >=clang-10, crbug.com/1042470 - append-cxxflags $(test-flags-CXX -flax-vector-conversions=all) - - # Explicitly disable ICU data file support for system-icu builds. - if use system-icu; then - myconf_gn+=" icu_use_data_file=false" - fi - - einfo "Configuring Chromium..." - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release - echo "$@" - "$@" || die -} - -src_compile() { - # Final link uses lots of file descriptors. - ulimit -n 2048 - - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die - - # Build mksnapshot and pax-mark it. - local x - for x in mksnapshot v8_context_snapshot_generator; do - if tc-is-cross-compiler; then - eninja -C out/Release "host/${x}" - pax-mark m "out/Release/host/${x}" - else - eninja -C out/Release "${x}" - pax-mark m "out/Release/${x}" - fi - done - - # Even though ninja autodetects number of CPUs, we respect - # user's options, for debugging with -j 1 or any other reason. - eninja -C out/Release chrome chromedriver - use suid && eninja -C out/Release chrome_sandbox - - pax-mark m out/Release/chrome - - # Build desktop file; bug #706786 - sed -e 's|@@MENUNAME@@|Chromium|g; - s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g; - s|@@PACKAGE@@|chromium-browser|g; - s|\(^Exec=\)/usr/bin/|\1|g;' \ - chrome/installer/linux/common/desktop.template > \ - out/Release/chromium-browser-chromium.desktop || die - - # Build manpage; bug #684550 - sed -e 's|@@PACKAGE@@|chromium-browser|g; - s|@@MENUNAME@@|Chromium|g;' \ - chrome/app/resources/manpage.1.in > \ - out/Release/chromium-browser.1 || die -} - -src_install() { - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" - exeinto "${CHROMIUM_HOME}" - doexe out/Release/chrome - - if use suid; then - newexe out/Release/chrome_sandbox chrome-sandbox - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" - fi - - doexe out/Release/chromedriver - - local sedargs=( -e "s:/usr/lib/:/usr/$(get_libdir)/:g" ) - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r3.sh" > chromium-launcher.sh || die - doexe chromium-launcher.sh - - # It is important that we name the target "chromium-browser", - # xdg-utils expect it; bug #355517. - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser - # keep the old symlink around for consistency - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium - - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver - - # Allow users to override command-line options, bug #357629. - insinto /etc/chromium - newins "${FILESDIR}/chromium.default" "default" - - pushd out/Release/locales > /dev/null || die - chromium_remove_language_paks - popd - - insinto "${CHROMIUM_HOME}" - doins out/Release/*.bin - doins out/Release/*.pak - doins out/Release/*.so - - if ! use system-icu; then - doins out/Release/icudtl.dat - fi - - doins -r out/Release/locales - doins -r out/Release/resources - - if [[ -d out/Release/swiftshader ]]; then - insinto "${CHROMIUM_HOME}/swiftshader" - doins out/Release/swiftshader/*.so - fi - - # Install icons - local branding size - for size in 16 24 32 48 64 128 256 ; do - case ${size} in - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; - *) branding="chrome/app/theme/chromium" ;; - esac - newicon -s ${size} "${branding}/product_logo_${size}.png" \ - chromium-browser.png - done - - # Install desktop entry - domenu out/Release/chromium-browser-chromium.desktop - - # Install GNOME default application entry (bug #303100). - insinto /usr/share/gnome-control-center/default-apps - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml - - # Install manpage; bug #684550 - doman out/Release/chromium-browser.1 - dosym chromium-browser.1 /usr/share/man/man1/chromium.1 - - readme.gentoo_create_doc -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_desktop_database_update -} - -pkg_postinst() { - xdg_icon_cache_update - xdg_desktop_database_update - readme.gentoo_print_elog -} diff --git a/www-client/chromium/chromium-87.0.4278.0.ebuild b/www-client/chromium/chromium-87.0.4278.0.ebuild deleted file mode 100644 index 7539055..0000000 --- a/www-client/chromium/chromium-87.0.4278.0.ebuild +++ /dev/null @@ -1,892 +0,0 @@ -# Copyright 2009-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python2_7 ) - -CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - 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 vi zh-CN zh-TW" - -inherit check-reqs chromium-2 desktop flag-o-matic multilib ninja-utils pax-utils portability python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="https://chromium.org/" -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz - https://files.pythonhosted.org/packages/ed/7b/bbf89ca71e722b7f9464ebffe4b5ee20a9e5c9a555a56e2d3914bb9119a6/setuptools-44.1.0.zip" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" -IUSE="component-build cups cpu_flags_arm_neon +hangouts headless js-type-check kerberos official pic +proprietary-codecs pulseaudio selinux +suid +system-ffmpeg +system-icu +system-libvpx +tcmalloc wayland widevine vaapi" -RESTRICT="!system-ffmpeg? ( proprietary-codecs? ( bindist ) )" -REQUIRED_USE=" - component-build? ( !suid ) -" - -COMMON_X_DEPEND=" - media-libs/mesa:=[gbm] - x11-libs/libX11:= - x11-libs/libXcomposite:= - x11-libs/libXcursor:= - x11-libs/libXdamage:= - x11-libs/libXext:= - x11-libs/libXfixes:= - >=x11-libs/libXi-1.6.0:= - x11-libs/libXrandr:= - x11-libs/libXrender:= - x11-libs/libXtst:= - x11-libs/libXScrnSaver:= - x11-libs/libxcb:= -" - -COMMON_DEPEND=" - app-arch/bzip2:= - cups? ( >=net-print/cups-1.3.11:= ) - dev-libs/expat:= - dev-libs/glib:2 - >=dev-libs/libxml2-2.9.4-r3:=[icu] - dev-libs/nspr:= - >=dev-libs/nss-3.26:= - >=media-libs/alsa-lib-1.0.19:= - media-libs/fontconfig:= - media-libs/freetype:= - >=media-libs/harfbuzz-2.4.0:0=[icu(-)] - media-libs/libjpeg-turbo:= - media-libs/libpng:= - system-libvpx? ( >=media-libs/libvpx-1.8.2:=[postproc] ) - pulseaudio? ( media-sound/pulseaudio:= ) - system-ffmpeg? ( - >=media-video/ffmpeg-4.3:= - || ( - media-video/ffmpeg[-samba] - >=net-fs/samba-4.5.10-r1[-debug(-)] - ) - >=media-libs/opus-1.3.1:= - ) - sys-apps/dbus:= - sys-apps/pciutils:= - virtual/udev - x11-libs/cairo:= - x11-libs/gdk-pixbuf:2 - x11-libs/pango:= - media-libs/flac:= - >=media-libs/libwebp-0.4.0:= - sys-libs/zlib:=[minizip] - kerberos? ( virtual/krb5 ) - !headless? ( - ${COMMON_X_DEPEND} - >=app-accessibility/at-spi2-atk-2.26:2 - >=app-accessibility/at-spi2-core-2.26:2 - >=dev-libs/atk-2.26 - x11-libs/gtk+:3[X] - wayland? ( - dev-libs/wayland:= - dev-libs/libffi:= - x11-libs/gtk+:3[wayland,X] - x11-libs/libdrm:= - x11-libs/libxkbcommon:= - ) - ) -" -# For nvidia-drivers blocker, see bug #413637 . -RDEPEND="${COMMON_DEPEND} - x11-misc/xdg-utils - virtual/opengl - virtual/ttf-fonts - selinux? ( sec-policy/selinux-chromium ) - tcmalloc? ( !<x11-drivers/nvidia-drivers-331.20 ) -" -DEPEND="${COMMON_DEPEND} -" -# dev-vcs/git - https://bugs.gentoo.org/593476 -BDEPEND=" - ${PYTHON_DEPS} - >=app-arch/gzip-1.7 - app-arch/unzip - dev-lang/perl - >=dev-util/gn-0.1807 - dev-vcs/git - >=dev-util/gperf-3.0.3 - >=dev-util/ninja-1.7.2 - >=net-libs/nodejs-7.6.0[inspector] - sys-apps/hwids[usb(+)] - >=sys-devel/bison-2.4.3 - sys-devel/flex - virtual/pkgconfig - js-type-check? ( virtual/jre ) -" - -: ${CHROMIUM_FORCE_CLANG=yes} -: ${CHROMIUM_FORCE_LIBCXX=no} - -if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then - BDEPEND+=" >=sys-devel/clang-10" -fi - -if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - RDEPEND+=" >=sys-libs/libcxx-10" - DEPEND+=" >=sys-libs/libcxx-10" -else - COMMON_DEPEND=" - app-arch/snappy:= - dev-libs/libxslt:= - >=dev-libs/re2-0.2019.08.01:= - >=media-libs/openh264-1.6.0:= - system-icu? ( >=dev-libs/icu-67.1:= ) - " - RDEPEND+="${COMMON_DEPEND}" - DEPEND+="${COMMON_DEPEND}" -fi - -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then - EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; -fi - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -Some web pages may require additional fonts to display properly. -Try installing some of the following packages if some characters -are not displayed properly: -- media-fonts/arphicfonts -- media-fonts/droid -- media-fonts/ipamonafont -- media-fonts/noto -- media-fonts/ja-ipafonts -- media-fonts/takao-fonts -- media-fonts/wqy-microhei -- media-fonts/wqy-zenhei - -To fix broken icons on the Downloads page, you should install an icon -theme that covers the appropriate MIME types, and configure this as your -GTK+ icon theme. - -For native file dialogs in KDE, install kde-apps/kdialog. - -To make password storage work with your desktop environment you may -have install one of the supported credentials management applications: -- app-crypt/libsecret (GNOME) -- kde-frameworks/kwallet (KDE) -If you have one of above packages installed, but don't want to use -them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS -in /etc/chromium/default. -" - -PATCHES=( - "${FILESDIR}/chromium-78-protobuf-RepeatedPtrField-export.patch" - "${FILESDIR}/chromium-79-gcc-protobuf-alignas.patch" - "${FILESDIR}/chromium-84-blink-disable-clang-format.patch" - "${FILESDIR}/chromium-86-ConsumeDurationNumber-constexpr.patch" - "${FILESDIR}/chromium-87-compiler-r1.patch" - "${FILESDIR}/chromium-87-CursorFactory-include.patch" - "${FILESDIR}/chromium-87-std-max_align_t.patch" - "${FILESDIR}/chromium-fix-char_traits.patch" - "${FILESDIR}/chromium-87-ozone-deps.patch" - "${FILESDIR}/chromium-87-thread_cache.patch" - "${FILESDIR}/chromium-87-openscreen-crypto-include.patch" - "${FILESDIR}/chromium-87-remotesyscall.patch" -) - -pre_build_checks() { - if [[ ${MERGE_TYPE} != binary ]]; then - local -x CPP="$(tc-getCXX) -E" - if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 9.2; then - die "At least gcc 9.2 is required" - fi - # component build hangs with tcmalloc enabled due to sandbox issue, bug #695976. - if has usersandbox ${FEATURES} && use tcmalloc && use component-build; then - die "Component build with tcmalloc requires FEATURES=-usersandbox." - fi - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || tc-is-clang; then - if use component-build; then - die "Component build with clang requires fuzzer headers." - fi - fi - fi - - # Check build requirements, bug #541816 and bug #471810 . - CHECKREQS_MEMORY="3G" - CHECKREQS_DISK_BUILD="7G" - if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then - if use custom-cflags || use component-build; then - CHECKREQS_DISK_BUILD="25G" - fi - if ! use component-build; then - CHECKREQS_MEMORY="16G" - fi - fi - check-reqs_pkg_setup -} - -pkg_pretend() { - pre_build_checks -} - -pkg_setup() { - pre_build_checks - - chromium_suid_sandbox_check_kernel_config - - # nvidia-drivers does not work correctly with Wayland due to unsupported EGLStreams - if use wayland && ! use headless && has_version "x11-drivers/nvidia-drivers"; then - ewarn "Proprietary nVidia driver does not work with Wayland. You can disable" - ewarn "Wayland by setting DISABLE_OZONE_PLATFORM=true in /etc/chromium/default." - fi -} - -src_prepare() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - default - - mkdir -p third_party/node/linux/node-linux-x64/bin || die - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die - - local 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 - 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/angle/third_party/glslang - third_party/angle/third_party/spirv-headers - third_party/angle/third_party/spirv-tools - third_party/angle/third_party/vulkan-headers - third_party/angle/third_party/vulkan-loader - third_party/angle/third_party/vulkan-tools - third_party/angle/third_party/vulkan-validation-layers - 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/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/puppeteer - third_party/devtools-frontend/src/front_end/third_party/marked - third_party/devtools-frontend/src/front_end/third_party/wasmparser - third_party/devtools-frontend/src/third_party - third_party/dom_distiller_js - third_party/emoji-segmenter - third_party/flatbuffers - third_party/freetype - third_party/libgifcodec - third_party/glslang - 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/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/vector - third_party/libaom/source/libaom/third_party/x86inc - third_party/libavif - third_party/libjingle - third_party/libphonenumber - third_party/libsecret - third_party/libsrtp - third_party/libsync - third_party/libudev - third_party/libwebm - third_party/libxml/chromium - third_party/libyuv - 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/modp_b64 - third_party/nasm - third_party/nearby - 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/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/rnnoise - third_party/s2cellid - third_party/schema_org - third_party/securemessage - third_party/shaka-player - 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/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/unified1 - third_party/ukey2 - third_party/unrar - third_party/usrsctp - third_party/vulkan - third_party/web-animations-js - third_party/webdriver - 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/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/adobe - third_party/speech-dispatcher - third_party/usb_ids - third_party/xdg-utils - ) - if ! use system-ffmpeg; then - keeplibs+=( third_party/ffmpeg third_party/opus ) - fi - if ! use system-icu; then - keeplibs+=( third_party/icu ) - fi - if ! use system-libvpx; then - keeplibs+=( third_party/libvpx ) - keeplibs+=( third_party/libvpx/source/libvpx/third_party/x86inc ) - - # we need to generate ppc64 stuff because upstream does not ship it yet - # it has to be done before unbundling. - if use ppc64; then - pushd third_party/libvpx >/dev/null || die - mkdir -p source/config/linux/ppc64 || die - ./generate_gni.sh || die - popd >/dev/null || die - fi - fi - if use tcmalloc; then - keeplibs+=( third_party/tcmalloc ) - fi - if use wayland && ! use headless ; then - keeplibs+=( third_party/wayland ) - fi - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - keeplibs+=( third_party/libxml ) - keeplibs+=( third_party/libxslt ) - keeplibs+=( third_party/openh264 ) - keeplibs+=( third_party/re2 ) - keeplibs+=( third_party/snappy ) - if use system-icu; then - keeplibs+=( third_party/icu ) - fi - fi - if use arm64 || use ppc64 ; then - keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 ) - fi - # Remove most bundled libraries. Some are still needed. - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die -} - -src_configure() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local myconf_gn="" - - # Make sure the build system will use the right tools, bug #340795. - tc-export AR CC CXX NM - - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] && ! tc-is-clang; then - # Force clang since gcc is pretty broken at the moment. - CC=${CHOST}-clang - CXX=${CHOST}-clang++ - strip-unsupported-flags - fi - - if tc-is-clang; then - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" - else - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - die "Compiling with sys-libs/libcxx requires clang." - fi - myconf_gn+=" is_clang=false" - fi - - # Define a custom toolchain for GN - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" - - if tc-is-cross-compiler; then - tc-export BUILD_{AR,CC,CXX,NM} - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" - else - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - fi - - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - myconf_gn+=" is_debug=false" - - # Component build isn't generally intended for use by end users. It's mostly useful - # for development and debugging. - myconf_gn+=" is_component_build=$(usex component-build true false)" - - myconf_gn+=" use_allocator=$(usex tcmalloc \"tcmalloc\" \"none\")" - - # Disable nacl, we can't build without pnacl (http://crbug.com/269560). - myconf_gn+=" enable_nacl=false" - - # Use system-provided libraries. - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_libsrtp (bug #459932). - # TODO: use_system_protobuf (bug #525560). - # TODO: use_system_ssl (http://crbug.com/58087). - # TODO: use_system_sqlite (http://crbug.com/22208). - - # libevent: https://bugs.gentoo.org/593458 - local gn_system_libraries=( - flac - fontconfig - freetype - # Need harfbuzz_from_pkgconfig target - #harfbuzz-ng - libdrm - libjpeg - libpng - libwebp - zlib - ) - if use system-ffmpeg; then - gn_system_libraries+=( ffmpeg opus ) - fi - if use system-icu; then - gn_system_libraries+=( icu ) - fi - if use system-libvpx; then - gn_system_libraries+=( libvpx ) - fi - if [[ ${CHROMIUM_FORCE_LIBCXX} != yes ]]; then - # unbundle only without libc++, because libc++ is not fully ABI compatible with libstdc++ - gn_system_libraries+=( libxml ) - gn_system_libraries+=( libxslt ) - gn_system_libraries+=( openh264 ) - gn_system_libraries+=( re2 ) - gn_system_libraries+=( snappy ) - fi - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die - - # See dependency logic in third_party/BUILD.gn - myconf_gn+=" use_system_harfbuzz=true" - - # Disable deprecated libgnome-keyring dependency, bug #713012 - myconf_gn+=" use_gnome_keyring=false" - - # Optional dependencies. - myconf_gn+=" enable_js_type_check=$(usex js-type-check true false)" - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" - myconf_gn+=" enable_widevine=$(usex widevine true false)" - myconf_gn+=" use_cups=$(usex cups true false)" - myconf_gn+=" use_kerberos=$(usex kerberos true false)" - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" - myconf_gn+=" use_vaapi=$(usex vaapi true false)" - - # TODO: link_pulseaudio=true for GN. - - myconf_gn+=" fieldtrial_testing_like_official_build=true" - - # Never use bundled gold binary. Disable gold linker flags for now. - # Do not use bundled clang. - # Trying to use gold results in linker crash. - myconf_gn+=" use_gold=false use_sysroot=false use_custom_libcxx=false" - - # Disable forced lld, bug 641556 - myconf_gn+=" use_lld=false" - - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" - - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . - # Note: these are for Gentoo use ONLY. For your own distribution, - # please get your own set of keys. Feel free to contact chromium@gentoo.org - # for more info. - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" - local google_default_client_id="329227923882.apps.googleusercontent.com" - local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu" - myconf_gn+=" google_api_key=\"${google_api_key}\"" - myconf_gn+=" google_default_client_id=\"${google_default_client_id}\"" - myconf_gn+=" google_default_client_secret=\"${google_default_client_secret}\"" - local myarch="$(tc-arch)" - - # Avoid CFLAGS problems, bug #352457, bug #390147. - if ! use custom-cflags; then - replace-flags "-Os" "-O2" - strip-flags - - # Debug info section overflows without component build - # Prevent linker from running out of address space, bug #471810 . - if ! use component-build || use x86; then - filter-flags "-g*" - fi - - # Prevent libvpx build failures. Bug 530248, 544702, 546984. - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4 - fi - fi - - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - append-flags -stdlib=libc++ - append-ldflags -stdlib=libc++ - fi - - if [[ $myarch = amd64 ]] ; then - myconf_gn+=" target_cpu=\"x64\"" - ffmpeg_target_arch=x64 - elif [[ $myarch = x86 ]] ; then - myconf_gn+=" target_cpu=\"x86\"" - ffmpeg_target_arch=ia32 - - # This is normally defined by compiler_cpu_abi in - # build/config/compiler/BUILD.gn, but we patch that part out. - append-flags -msse2 -mfpmath=sse -mmmx - elif [[ $myarch = arm64 ]] ; then - myconf_gn+=" target_cpu=\"arm64\"" - ffmpeg_target_arch=arm64 - elif [[ $myarch = arm ]] ; then - myconf_gn+=" target_cpu=\"arm\"" - ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm) - elif [[ $myarch = ppc64 ]] ; then - myconf_gn+=" target_cpu=\"ppc64\"" - ffmpeg_target_arch=ppc64 - else - 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" - - # Bug 491582. - export TMPDIR="${WORKDIR}/temp" - mkdir -p -m 755 "${TMPDIR}" || die - - # https://bugs.gentoo.org/654216 - addpredict /dev/dri/ #nowarn - - #if ! use system-ffmpeg; then - if false; then - local build_ffmpeg_args="" - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then - build_ffmpeg_args+=" --disable-asm" - fi - - # Re-configure bundled ffmpeg. See bug #491378 for example reasons. - einfo "Configuring bundled ffmpeg..." - pushd third_party/ffmpeg > /dev/null || die - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \ - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die - chromium/scripts/copy_config.sh || die - chromium/scripts/generate_gn.py || die - popd > /dev/null || die - fi - - # Chromium relies on this, but was disabled in >=clang-10, crbug.com/1042470 - append-cxxflags $(test-flags-CXX -flax-vector-conversions=all) - - # Disable unknown warning message from clang. - tc-is-clang && append-flags -Wno-unknown-warning-option - - # Explicitly disable ICU data file support for system-icu builds. - if use system-icu; then - myconf_gn+=" icu_use_data_file=false" - fi - - # Enable ozone wayland and/or headless support - if use wayland || use headless; then - myconf_gn+=" use_ozone=true ozone_auto_platforms=false" - myconf_gn+=" ozone_platform_headless=true" - if use headless; then - myconf_gn+=" ozone_platform=\"headless\"" - myconf_gn+=" use_x11=false" - else - myconf_gn+=" ozone_platform_wayland=true" - myconf_gn+=" use_system_libdrm=true" - myconf_gn+=" use_system_minigbm=true" - myconf_gn+=" use_xkbcommon=true" - myconf_gn+=" ozone_platform=\"wayland\"" - fi - else - myconf_gn+=" use_ozone=false" - fi - - # Enable official builds - myconf_gn+=" is_official_build=$(usex official true false)" - if use official; then - # 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 - myconf_gn+=" is_cfi=false" - fi - - einfo "Configuring Chromium..." - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release - echo "$@" - "$@" || die -} - -src_compile() { - # Final link uses lots of file descriptors. - ulimit -n 2048 - - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - # https://bugs.gentoo.org/717456 - local -x PYTHONPATH="${WORKDIR}/setuptools-44.1.0:${PYTHONPATH+:}${PYTHONPATH}" - - #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die - - # Build mksnapshot and pax-mark it. - local x - for x in mksnapshot v8_context_snapshot_generator; do - if tc-is-cross-compiler; then - eninja -C out/Release "host/${x}" - pax-mark m "out/Release/host/${x}" - else - eninja -C out/Release "${x}" - pax-mark m "out/Release/${x}" - fi - done - - # Even though ninja autodetects number of CPUs, we respect - # user's options, for debugging with -j 1 or any other reason. - eninja -C out/Release chrome chromedriver - use suid && eninja -C out/Release chrome_sandbox - - pax-mark m out/Release/chrome - - # Build manpage; bug #684550 - sed -e 's|@@PACKAGE@@|chromium-browser|g; - s|@@MENUNAME@@|Chromium|g;' \ - chrome/app/resources/manpage.1.in > \ - out/Release/chromium-browser.1 || die - - # Build desktop file; bug #706786 - sed -e 's|@@MENUNAME@@|Chromium|g; - s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g; - s|@@PACKAGE@@|chromium-browser|g; - s|\(^Exec=\)/usr/bin/|\1|g;' \ - chrome/installer/linux/common/desktop.template > \ - out/Release/chromium-browser-chromium.desktop || die -} - -src_install() { - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" - exeinto "${CHROMIUM_HOME}" - doexe out/Release/chrome - - if use suid; then - newexe out/Release/chrome_sandbox chrome-sandbox - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" - fi - - doexe out/Release/chromedriver - - local sedargs=( -e - "s:/usr/lib/:/usr/$(get_libdir)/:g; - s:@@OZONE_AUTO_SESSION@@:$(usex wayland true false):g; - s:@@FORCE_OZONE_PLATFORM@@:$(usex headless true false):g" - ) - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r6.sh" > chromium-launcher.sh || die - doexe chromium-launcher.sh - - # It is important that we name the target "chromium-browser", - # xdg-utils expect it; bug #355517. - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser - # keep the old symlink around for consistency - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium - - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver - - # Allow users to override command-line options, bug #357629. - insinto /etc/chromium - newins "${FILESDIR}/chromium.default" "default" - - pushd out/Release/locales > /dev/null || die - chromium_remove_language_paks - popd - - insinto "${CHROMIUM_HOME}" - doins out/Release/*.bin - doins out/Release/*.pak - ( - shopt -s nullglob - local files=(out/Release/*.so) - [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}" - ) - - if ! use system-icu; then - doins out/Release/icudtl.dat - fi - - doins -r out/Release/locales - doins -r out/Release/resources - - if [[ -d out/Release/swiftshader ]]; then - insinto "${CHROMIUM_HOME}/swiftshader" - doins out/Release/swiftshader/*.so - fi - - # Install icons - local branding size - for size in 16 24 32 48 64 128 256 ; do - case ${size} in - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; - *) branding="chrome/app/theme/chromium" ;; - esac - newicon -s ${size} "${branding}/product_logo_${size}.png" \ - chromium-browser.png - done - - # Install desktop entry - domenu out/Release/chromium-browser-chromium.desktop - - # Install GNOME default application entry (bug #303100). - insinto /usr/share/gnome-control-center/default-apps - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml - - # Install manpage; bug #684550 - doman out/Release/chromium-browser.1 - dosym chromium-browser.1 /usr/share/man/man1/chromium.1 - - readme.gentoo_create_doc -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_desktop_database_update -} - -pkg_postinst() { - xdg_icon_cache_update - xdg_desktop_database_update - readme.gentoo_print_elog -} diff --git a/www-client/chromium/chromium-88.0.4298.4.ebuild b/www-client/chromium/chromium-88.0.4298.4.ebuild deleted file mode 100644 index 66467b3..0000000 --- a/www-client/chromium/chromium-88.0.4298.4.ebuild +++ /dev/null @@ -1,905 +0,0 @@ -# Copyright 2009-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python2_7 ) - -CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - 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 vi zh-CN zh-TW" - -inherit check-reqs chromium-2 desktop flag-o-matic multilib ninja-utils pax-utils portability python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="https://chromium.org/" -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz - https://files.pythonhosted.org/packages/ed/7b/bbf89ca71e722b7f9464ebffe4b5ee20a9e5c9a555a56e2d3914bb9119a6/setuptools-44.1.0.zip" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" -IUSE="component-build cups cpu_flags_arm_neon +hangouts headless js-type-check kerberos official pic +proprietary-codecs pulseaudio selinux +suid +system-ffmpeg +system-icu +system-libvpx +tcmalloc wayland widevine vaapi" -RESTRICT="!system-ffmpeg? ( proprietary-codecs? ( bindist ) )" -REQUIRED_USE=" - component-build? ( !suid ) -" - -COMMON_X_DEPEND=" - media-libs/mesa:=[gbm] - x11-libs/libX11:= - x11-libs/libXcomposite:= - x11-libs/libXcursor:= - x11-libs/libXdamage:= - x11-libs/libXext:= - x11-libs/libXfixes:= - >=x11-libs/libXi-1.6.0:= - x11-libs/libXrandr:= - x11-libs/libXrender:= - x11-libs/libXtst:= - x11-libs/libXScrnSaver:= - x11-libs/libxcb:= -" - -COMMON_DEPEND=" - app-arch/bzip2:= - cups? ( >=net-print/cups-1.3.11:= ) - dev-libs/expat:= - dev-libs/glib:2 - >=dev-libs/libxml2-2.9.4-r3:=[icu] - dev-libs/nspr:= - >=dev-libs/nss-3.26:= - >=media-libs/alsa-lib-1.0.19:= - media-libs/fontconfig:= - media-libs/freetype:= - >=media-libs/harfbuzz-2.4.0:0=[icu(-)] - media-libs/libjpeg-turbo:= - media-libs/libpng:= - system-libvpx? ( >=media-libs/libvpx-1.8.2:=[postproc] ) - pulseaudio? ( media-sound/pulseaudio:= ) - system-ffmpeg? ( - >=media-video/ffmpeg-4.3:= - || ( - media-video/ffmpeg[-samba] - >=net-fs/samba-4.5.10-r1[-debug(-)] - ) - >=media-libs/opus-1.3.1:= - ) - sys-apps/dbus:= - sys-apps/pciutils:= - virtual/udev - x11-libs/cairo:= - x11-libs/gdk-pixbuf:2 - x11-libs/pango:= - media-libs/flac:= - >=media-libs/libwebp-0.4.0:= - sys-libs/zlib:=[minizip] - kerberos? ( virtual/krb5 ) - !headless? ( - ${COMMON_X_DEPEND} - >=app-accessibility/at-spi2-atk-2.26:2 - >=app-accessibility/at-spi2-core-2.26:2 - >=dev-libs/atk-2.26 - x11-libs/gtk+:3[X] - wayland? ( - dev-libs/wayland:= - dev-libs/libffi:= - x11-libs/gtk+:3[wayland,X] - x11-libs/libdrm:= - x11-libs/libxkbcommon:= - ) - ) -" -# For nvidia-drivers blocker, see bug #413637 . -RDEPEND="${COMMON_DEPEND} - x11-misc/xdg-utils - virtual/opengl - virtual/ttf-fonts - selinux? ( sec-policy/selinux-chromium ) - tcmalloc? ( !<x11-drivers/nvidia-drivers-331.20 ) -" -DEPEND="${COMMON_DEPEND} -" -# dev-vcs/git - https://bugs.gentoo.org/593476 -BDEPEND=" - ${PYTHON_DEPS} - >=app-arch/gzip-1.7 - app-arch/unzip - dev-lang/perl - >=dev-util/gn-0.1807 - dev-vcs/git - >=dev-util/gperf-3.0.3 - >=dev-util/ninja-1.7.2 - >=net-libs/nodejs-7.6.0[inspector] - sys-apps/hwids[usb(+)] - >=sys-devel/bison-2.4.3 - sys-devel/flex - virtual/pkgconfig - js-type-check? ( virtual/jre ) -" - -: ${CHROMIUM_FORCE_CLANG=yes} -: ${CHROMIUM_FORCE_LIBCXX=no} - -if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then - BDEPEND+=" >=sys-devel/clang-10" -fi - -if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - RDEPEND+=" >=sys-libs/libcxx-10" - DEPEND+=" >=sys-libs/libcxx-10" -else - COMMON_DEPEND=" - app-arch/snappy:= - dev-libs/libxslt:= - >=dev-libs/re2-0.2019.08.01:= - >=media-libs/openh264-1.6.0:= - system-icu? ( >=dev-libs/icu-67.1:= ) - " - RDEPEND+="${COMMON_DEPEND}" - DEPEND+="${COMMON_DEPEND}" -fi - -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then - EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; -fi - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -Some web pages may require additional fonts to display properly. -Try installing some of the following packages if some characters -are not displayed properly: -- media-fonts/arphicfonts -- media-fonts/droid -- media-fonts/ipamonafont -- media-fonts/noto -- media-fonts/ja-ipafonts -- media-fonts/takao-fonts -- media-fonts/wqy-microhei -- media-fonts/wqy-zenhei - -To fix broken icons on the Downloads page, you should install an icon -theme that covers the appropriate MIME types, and configure this as your -GTK+ icon theme. - -For native file dialogs in KDE, install kde-apps/kdialog. - -To make password storage work with your desktop environment you may -have install one of the supported credentials management applications: -- app-crypt/libsecret (GNOME) -- kde-frameworks/kwallet (KDE) -If you have one of above packages installed, but don't want to use -them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS -in /etc/chromium/default. -" - -PATCHES=( - "${FILESDIR}/chromium-78-protobuf-RepeatedPtrField-export.patch" - "${FILESDIR}/chromium-79-gcc-protobuf-alignas.patch" - "${FILESDIR}/chromium-84-blink-disable-clang-format.patch" - "${FILESDIR}/chromium-86-ConsumeDurationNumber-constexpr.patch" - "${FILESDIR}/chromium-87-compiler-r1.patch" - "${FILESDIR}/chromium-87-CursorFactory-include.patch" - "${FILESDIR}/chromium-87-std-max_align_t.patch" - "${FILESDIR}/chromium-fix-char_traits.patch" - "${FILESDIR}/chromium-87-ozone-deps.patch" - "${FILESDIR}/chromium-87-openscreen-crypto-include.patch" - "${FILESDIR}/chromium-88-service-worker-registration-crash.patch" - "${FILESDIR}/chromium-88-dawn-include.patch" - "${FILESDIR}/chromium-88-dawn-size_t-std.patch" - "${FILESDIR}/chromium-88-angle-renderer.patch" - "${FILESDIR}/chromium-88-pcscan-nonfinal.patch" - "${FILESDIR}/chromium-88-mediasource-uniqptrostream.patch" -) - -pre_build_checks() { - if [[ ${MERGE_TYPE} != binary ]]; then - local -x CPP="$(tc-getCXX) -E" - if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 9.2; then - die "At least gcc 9.2 is required" - fi - # component build hangs with tcmalloc enabled due to sandbox issue, bug #695976. - if has usersandbox ${FEATURES} && use tcmalloc && use component-build; then - die "Component build with tcmalloc requires FEATURES=-usersandbox." - fi - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || tc-is-clang; then - if use component-build; then - die "Component build with clang requires fuzzer headers." - fi - fi - fi - - # Check build requirements, bug #541816 and bug #471810 . - CHECKREQS_MEMORY="3G" - CHECKREQS_DISK_BUILD="7G" - if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then - if use custom-cflags || use component-build; then - CHECKREQS_DISK_BUILD="25G" - fi - if ! use component-build; then - CHECKREQS_MEMORY="16G" - fi - fi - check-reqs_pkg_setup -} - -pkg_pretend() { - pre_build_checks -} - -pkg_setup() { - pre_build_checks - - chromium_suid_sandbox_check_kernel_config - - # nvidia-drivers does not work correctly with Wayland due to unsupported EGLStreams - if use wayland && ! use headless && has_version "x11-drivers/nvidia-drivers"; then - ewarn "Proprietary nVidia driver does not work with Wayland. You can disable" - ewarn "Wayland by setting DISABLE_OZONE_PLATFORM=true in /etc/chromium/default." - fi -} - -src_prepare() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - default - - mkdir -p third_party/node/linux/node-linux-x64/bin || die - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die - - local 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 - 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/angle/third_party/glslang - third_party/angle/third_party/spirv-headers - third_party/angle/third_party/spirv-tools - third_party/angle/third_party/vulkan-headers - third_party/angle/third_party/vulkan-loader - third_party/angle/third_party/vulkan-tools - third_party/angle/third_party/vulkan-validation-layers - 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/depot_tools/third_party - 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/puppeteer - third_party/devtools-frontend/src/front_end/third_party/marked - third_party/devtools-frontend/src/front_end/third_party/wasmparser - third_party/devtools-frontend/src/third_party - third_party/dom_distiller_js - third_party/emoji-segmenter - third_party/flatbuffers - third_party/freetype - third_party/libgifcodec - third_party/glslang - 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/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/vector - third_party/libaom/source/libaom/third_party/x86inc - third_party/libavif - third_party/libjingle - third_party/libphonenumber - third_party/libsecret - third_party/libsrtp - third_party/libsync - third_party/libudev - third_party/libwebm - third_party/libxml/chromium - third_party/libyuv - 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/modp_b64 - third_party/nasm - third_party/nearby - 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/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/rnnoise - third_party/s2cellid - third_party/schema_org - third_party/securemessage - third_party/shaka-player - 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/spirv-cross - 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/unified1 - third_party/tint - third_party/ukey2 - third_party/unrar - third_party/usrsctp - third_party/vulkan - third_party/web-animations-js - third_party/webdriver - 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/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/adobe - third_party/speech-dispatcher - third_party/usb_ids - third_party/xdg-utils - ) - if ! use system-ffmpeg; then - keeplibs+=( third_party/ffmpeg third_party/opus ) - fi - if ! use system-icu; then - keeplibs+=( third_party/icu ) - fi - if ! use system-libvpx; then - keeplibs+=( third_party/libvpx ) - keeplibs+=( third_party/libvpx/source/libvpx/third_party/x86inc ) - - # we need to generate ppc64 stuff because upstream does not ship it yet - # it has to be done before unbundling. - if use ppc64; then - pushd third_party/libvpx >/dev/null || die - mkdir -p source/config/linux/ppc64 || die - ./generate_gni.sh || die - popd >/dev/null || die - fi - fi - if use tcmalloc; then - keeplibs+=( third_party/tcmalloc ) - fi - if use wayland && ! use headless ; then - keeplibs+=( third_party/wayland ) - fi - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - keeplibs+=( third_party/libxml ) - keeplibs+=( third_party/libxslt ) - keeplibs+=( third_party/openh264 ) - keeplibs+=( third_party/re2 ) - keeplibs+=( third_party/snappy ) - if use system-icu; then - keeplibs+=( third_party/icu ) - fi - fi - if use arm64 || use ppc64 ; then - keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 ) - fi - # Remove most bundled libraries. Some are still needed. - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die -} - -src_configure() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local myconf_gn="" - - # Make sure the build system will use the right tools, bug #340795. - tc-export AR CC CXX NM - - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] && ! tc-is-clang; then - # Force clang since gcc is pretty broken at the moment. - CC=${CHOST}-clang - CXX=${CHOST}-clang++ - strip-unsupported-flags - fi - - if tc-is-clang; then - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" - else - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - die "Compiling with sys-libs/libcxx requires clang." - fi - myconf_gn+=" is_clang=false" - fi - - # Define a custom toolchain for GN - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" - - if tc-is-cross-compiler; then - tc-export BUILD_{AR,CC,CXX,NM} - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" - else - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - fi - - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - myconf_gn+=" is_debug=false" - - # Component build isn't generally intended for use by end users. It's mostly useful - # for development and debugging. - myconf_gn+=" is_component_build=$(usex component-build true false)" - - myconf_gn+=" use_allocator=$(usex tcmalloc \"tcmalloc\" \"none\")" - - # Disable nacl, we can't build without pnacl (http://crbug.com/269560). - myconf_gn+=" enable_nacl=false" - - # Use system-provided libraries. - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_libsrtp (bug #459932). - # TODO: use_system_protobuf (bug #525560). - # TODO: use_system_ssl (http://crbug.com/58087). - # TODO: use_system_sqlite (http://crbug.com/22208). - - # libevent: https://bugs.gentoo.org/593458 - local gn_system_libraries=( - flac - fontconfig - freetype - # Need harfbuzz_from_pkgconfig target - #harfbuzz-ng - libdrm - libjpeg - libpng - libwebp - zlib - ) - if use system-ffmpeg; then - gn_system_libraries+=( ffmpeg opus ) - fi - if use system-icu; then - gn_system_libraries+=( icu ) - fi - if use system-libvpx; then - gn_system_libraries+=( libvpx ) - fi - if [[ ${CHROMIUM_FORCE_LIBCXX} != yes ]]; then - # unbundle only without libc++, because libc++ is not fully ABI compatible with libstdc++ - gn_system_libraries+=( libxml ) - gn_system_libraries+=( libxslt ) - gn_system_libraries+=( openh264 ) - gn_system_libraries+=( re2 ) - gn_system_libraries+=( snappy ) - fi - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die - - # See dependency logic in third_party/BUILD.gn - myconf_gn+=" use_system_harfbuzz=true" - - # Disable deprecated libgnome-keyring dependency, bug #713012 - myconf_gn+=" use_gnome_keyring=false" - - # Optional dependencies. - myconf_gn+=" enable_js_type_check=$(usex js-type-check true false)" - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" - myconf_gn+=" enable_widevine=$(usex widevine true false)" - myconf_gn+=" use_cups=$(usex cups true false)" - myconf_gn+=" use_kerberos=$(usex kerberos true false)" - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" - myconf_gn+=" use_vaapi=$(usex vaapi true false)" - - # TODO: link_pulseaudio=true for GN. - - myconf_gn+=" fieldtrial_testing_like_official_build=true" - - # Never use bundled gold binary. Disable gold linker flags for now. - # Do not use bundled clang. - # Trying to use gold results in linker crash. - myconf_gn+=" use_gold=false use_sysroot=false use_custom_libcxx=false" - - # Disable forced lld, bug 641556 - myconf_gn+=" use_lld=false" - - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" - - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . - # Note: these are for Gentoo use ONLY. For your own distribution, - # please get your own set of keys. Feel free to contact chromium@gentoo.org - # for more info. - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" - local google_default_client_id="329227923882.apps.googleusercontent.com" - local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu" - myconf_gn+=" google_api_key=\"${google_api_key}\"" - myconf_gn+=" google_default_client_id=\"${google_default_client_id}\"" - myconf_gn+=" google_default_client_secret=\"${google_default_client_secret}\"" - local myarch="$(tc-arch)" - - # Avoid CFLAGS problems, bug #352457, bug #390147. - if ! use custom-cflags; then - replace-flags "-Os" "-O2" - strip-flags - - # Debug info section overflows without component build - # Prevent linker from running out of address space, bug #471810 . - if ! use component-build || use x86; then - filter-flags "-g*" - fi - - # Prevent libvpx build failures. Bug 530248, 544702, 546984. - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4 - fi - fi - - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - append-flags -stdlib=libc++ - append-ldflags -stdlib=libc++ - fi - - if [[ $myarch = amd64 ]] ; then - myconf_gn+=" target_cpu=\"x64\"" - ffmpeg_target_arch=x64 - elif [[ $myarch = x86 ]] ; then - myconf_gn+=" target_cpu=\"x86\"" - ffmpeg_target_arch=ia32 - - # This is normally defined by compiler_cpu_abi in - # build/config/compiler/BUILD.gn, but we patch that part out. - append-flags -msse2 -mfpmath=sse -mmmx - elif [[ $myarch = arm64 ]] ; then - myconf_gn+=" target_cpu=\"arm64\"" - ffmpeg_target_arch=arm64 - elif [[ $myarch = arm ]] ; then - myconf_gn+=" target_cpu=\"arm\"" - ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm) - elif [[ $myarch = ppc64 ]] ; then - myconf_gn+=" target_cpu=\"ppc64\"" - ffmpeg_target_arch=ppc64 - else - 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" - - # Bug 491582. - export TMPDIR="${WORKDIR}/temp" - mkdir -p -m 755 "${TMPDIR}" || die - - # https://bugs.gentoo.org/654216 - addpredict /dev/dri/ #nowarn - - #if ! use system-ffmpeg; then - if false; then - local build_ffmpeg_args="" - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then - build_ffmpeg_args+=" --disable-asm" - fi - - # Re-configure bundled ffmpeg. See bug #491378 for example reasons. - einfo "Configuring bundled ffmpeg..." - pushd third_party/ffmpeg > /dev/null || die - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \ - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die - chromium/scripts/copy_config.sh || die - chromium/scripts/generate_gn.py || die - popd > /dev/null || die - fi - - # Chromium relies on this, but was disabled in >=clang-10, crbug.com/1042470 - append-cxxflags $(test-flags-CXX -flax-vector-conversions=all) - - # Disable unknown warning message from clang. - tc-is-clang && append-flags -Wno-unknown-warning-option - - # Explicitly disable ICU data file support for system-icu builds. - if use system-icu; then - myconf_gn+=" icu_use_data_file=false" - fi - - # Enable ozone wayland and/or headless support - if use wayland || use headless; then - myconf_gn+=" use_ozone=true ozone_auto_platforms=false" - myconf_gn+=" ozone_platform_headless=true" - if use headless; then - myconf_gn+=" ozone_platform=\"headless\"" - myconf_gn+=" use_x11=false" - else - myconf_gn+=" ozone_platform_wayland=true" - myconf_gn+=" use_system_libdrm=true" - myconf_gn+=" use_system_minigbm=true" - myconf_gn+=" use_xkbcommon=true" - myconf_gn+=" ozone_platform=\"wayland\"" - fi - else - myconf_gn+=" use_ozone=false" - fi - - # Enable official builds - myconf_gn+=" is_official_build=$(usex official true false)" - if use official; then - # 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 - myconf_gn+=" is_cfi=false" - fi - - einfo "Configuring Chromium..." - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release - echo "$@" - "$@" || die -} - -src_compile() { - # Final link uses lots of file descriptors. - ulimit -n 2048 - - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - # https://bugs.gentoo.org/717456 - local -x PYTHONPATH="${WORKDIR}/setuptools-44.1.0:${PYTHONPATH+:}${PYTHONPATH}" - - #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die - - # Build mksnapshot and pax-mark it. - local x - for x in mksnapshot v8_context_snapshot_generator; do - if tc-is-cross-compiler; then - eninja -C out/Release "host/${x}" - pax-mark m "out/Release/host/${x}" - else - eninja -C out/Release "${x}" - pax-mark m "out/Release/${x}" - fi - done - - export HTTP_PROXY=127.0.0.1:8123 - export HTTPS_PROXY=127.0.0.1:8123 - export http_proxy=127.0.0.1:8123 - export https_proxy=127.0.0.1:8123 - - # Even though ninja autodetects number of CPUs, we respect - # user's options, for debugging with -j 1 or any other reason. - eninja -C out/Release chrome chromedriver - use suid && eninja -C out/Release chrome_sandbox - - pax-mark m out/Release/chrome - - # Build manpage; bug #684550 - sed -e 's|@@PACKAGE@@|chromium-browser|g; - s|@@MENUNAME@@|Chromium|g;' \ - chrome/app/resources/manpage.1.in > \ - out/Release/chromium-browser.1 || die - - # Build desktop file; bug #706786 - sed -e 's|@@MENUNAME@@|Chromium|g; - s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g; - s|@@PACKAGE@@|chromium-browser|g; - s|\(^Exec=\)/usr/bin/|\1|g;' \ - chrome/installer/linux/common/desktop.template > \ - out/Release/chromium-browser-chromium.desktop || die -} - -src_install() { - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" - exeinto "${CHROMIUM_HOME}" - doexe out/Release/chrome - - if use suid; then - newexe out/Release/chrome_sandbox chrome-sandbox - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" - fi - - doexe out/Release/chromedriver - - local sedargs=( -e - "s:/usr/lib/:/usr/$(get_libdir)/:g; - s:@@OZONE_AUTO_SESSION@@:$(usex wayland true false):g; - s:@@FORCE_OZONE_PLATFORM@@:$(usex headless true false):g" - ) - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r6.sh" > chromium-launcher.sh || die - doexe chromium-launcher.sh - - # It is important that we name the target "chromium-browser", - # xdg-utils expect it; bug #355517. - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser - # keep the old symlink around for consistency - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium - - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver - - # Allow users to override command-line options, bug #357629. - insinto /etc/chromium - newins "${FILESDIR}/chromium.default" "default" - - pushd out/Release/locales > /dev/null || die - chromium_remove_language_paks - popd - - insinto "${CHROMIUM_HOME}" - doins out/Release/*.bin - doins out/Release/*.pak - ( - shopt -s nullglob - local files=(out/Release/*.so) - [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}" - ) - - if ! use system-icu; then - doins out/Release/icudtl.dat - fi - - doins -r out/Release/locales - doins -r out/Release/resources - - if [[ -d out/Release/swiftshader ]]; then - insinto "${CHROMIUM_HOME}/swiftshader" - doins out/Release/swiftshader/*.so - fi - - # Install icons - local branding size - for size in 16 24 32 48 64 128 256 ; do - case ${size} in - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; - *) branding="chrome/app/theme/chromium" ;; - esac - newicon -s ${size} "${branding}/product_logo_${size}.png" \ - chromium-browser.png - done - - # Install desktop entry - domenu out/Release/chromium-browser-chromium.desktop - - # Install GNOME default application entry (bug #303100). - insinto /usr/share/gnome-control-center/default-apps - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml - - # Install manpage; bug #684550 - doman out/Release/chromium-browser.1 - dosym chromium-browser.1 /usr/share/man/man1/chromium.1 - - readme.gentoo_create_doc -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_desktop_database_update -} - -pkg_postinst() { - xdg_icon_cache_update - xdg_desktop_database_update - readme.gentoo_print_elog -} diff --git a/www-client/chromium/chromium-88.0.4302.0.ebuild b/www-client/chromium/chromium-88.0.4302.0.ebuild deleted file mode 100644 index 6b66aff..0000000 --- a/www-client/chromium/chromium-88.0.4302.0.ebuild +++ /dev/null @@ -1,901 +0,0 @@ -# Copyright 2009-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python2_7 ) - -CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - 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 vi zh-CN zh-TW" - -inherit check-reqs chromium-2 desktop flag-o-matic multilib ninja-utils pax-utils portability python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="https://chromium.org/" -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz - https://files.pythonhosted.org/packages/ed/7b/bbf89ca71e722b7f9464ebffe4b5ee20a9e5c9a555a56e2d3914bb9119a6/setuptools-44.1.0.zip" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" -IUSE="component-build cups cpu_flags_arm_neon +hangouts headless js-type-check kerberos official pic +proprietary-codecs pulseaudio selinux +suid +system-ffmpeg +system-icu +system-libvpx +tcmalloc wayland widevine vaapi" -RESTRICT="!system-ffmpeg? ( proprietary-codecs? ( bindist ) )" -REQUIRED_USE=" - component-build? ( !suid ) -" - -COMMON_X_DEPEND=" - media-libs/mesa:=[gbm] - x11-libs/libX11:= - x11-libs/libXcomposite:= - x11-libs/libXcursor:= - x11-libs/libXdamage:= - x11-libs/libXext:= - x11-libs/libXfixes:= - >=x11-libs/libXi-1.6.0:= - x11-libs/libXrandr:= - x11-libs/libXrender:= - x11-libs/libXtst:= - x11-libs/libXScrnSaver:= - x11-libs/libxcb:= -" - -COMMON_DEPEND=" - app-arch/bzip2:= - cups? ( >=net-print/cups-1.3.11:= ) - dev-libs/expat:= - dev-libs/glib:2 - >=dev-libs/libxml2-2.9.4-r3:=[icu] - dev-libs/nspr:= - >=dev-libs/nss-3.26:= - >=media-libs/alsa-lib-1.0.19:= - media-libs/fontconfig:= - media-libs/freetype:= - >=media-libs/harfbuzz-2.4.0:0=[icu(-)] - media-libs/libjpeg-turbo:= - media-libs/libpng:= - system-libvpx? ( >=media-libs/libvpx-1.8.2:=[postproc] ) - pulseaudio? ( media-sound/pulseaudio:= ) - system-ffmpeg? ( - >=media-video/ffmpeg-4.3:= - || ( - media-video/ffmpeg[-samba] - >=net-fs/samba-4.5.10-r1[-debug(-)] - ) - >=media-libs/opus-1.3.1:= - ) - sys-apps/dbus:= - sys-apps/pciutils:= - virtual/udev - x11-libs/cairo:= - x11-libs/gdk-pixbuf:2 - x11-libs/pango:= - media-libs/flac:= - >=media-libs/libwebp-0.4.0:= - sys-libs/zlib:=[minizip] - kerberos? ( virtual/krb5 ) - !headless? ( - ${COMMON_X_DEPEND} - >=app-accessibility/at-spi2-atk-2.26:2 - >=app-accessibility/at-spi2-core-2.26:2 - >=dev-libs/atk-2.26 - x11-libs/gtk+:3[X] - wayland? ( - dev-libs/wayland:= - dev-libs/libffi:= - x11-libs/gtk+:3[wayland,X] - x11-libs/libdrm:= - x11-libs/libxkbcommon:= - ) - ) -" -# For nvidia-drivers blocker, see bug #413637 . -RDEPEND="${COMMON_DEPEND} - x11-misc/xdg-utils - virtual/opengl - virtual/ttf-fonts - selinux? ( sec-policy/selinux-chromium ) - tcmalloc? ( !<x11-drivers/nvidia-drivers-331.20 ) -" -DEPEND="${COMMON_DEPEND} -" -# dev-vcs/git - https://bugs.gentoo.org/593476 -BDEPEND=" - ${PYTHON_DEPS} - >=app-arch/gzip-1.7 - app-arch/unzip - dev-lang/perl - >=dev-util/gn-0.1807 - dev-vcs/git - >=dev-util/gperf-3.0.3 - >=dev-util/ninja-1.7.2 - >=net-libs/nodejs-7.6.0[inspector] - sys-apps/hwids[usb(+)] - >=sys-devel/bison-2.4.3 - sys-devel/flex - virtual/pkgconfig - js-type-check? ( virtual/jre ) -" - -: ${CHROMIUM_FORCE_CLANG=yes} -: ${CHROMIUM_FORCE_LIBCXX=no} - -if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then - BDEPEND+=" >=sys-devel/clang-10" -fi - -if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - RDEPEND+=" >=sys-libs/libcxx-10" - DEPEND+=" >=sys-libs/libcxx-10" -else - COMMON_DEPEND=" - app-arch/snappy:= - dev-libs/libxslt:= - >=dev-libs/re2-0.2019.08.01:= - >=media-libs/openh264-1.6.0:= - system-icu? ( >=dev-libs/icu-67.1:= ) - " - RDEPEND+="${COMMON_DEPEND}" - DEPEND+="${COMMON_DEPEND}" -fi - -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then - EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; -fi - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -Some web pages may require additional fonts to display properly. -Try installing some of the following packages if some characters -are not displayed properly: -- media-fonts/arphicfonts -- media-fonts/droid -- media-fonts/ipamonafont -- media-fonts/noto -- media-fonts/ja-ipafonts -- media-fonts/takao-fonts -- media-fonts/wqy-microhei -- media-fonts/wqy-zenhei - -To fix broken icons on the Downloads page, you should install an icon -theme that covers the appropriate MIME types, and configure this as your -GTK+ icon theme. - -For native file dialogs in KDE, install kde-apps/kdialog. - -To make password storage work with your desktop environment you may -have install one of the supported credentials management applications: -- app-crypt/libsecret (GNOME) -- kde-frameworks/kwallet (KDE) -If you have one of above packages installed, but don't want to use -them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS -in /etc/chromium/default. -" - -PATCHES=( - "${FILESDIR}/chromium-78-protobuf-RepeatedPtrField-export.patch" - "${FILESDIR}/chromium-79-gcc-protobuf-alignas.patch" - "${FILESDIR}/chromium-84-blink-disable-clang-format.patch" - "${FILESDIR}/chromium-86-ConsumeDurationNumber-constexpr.patch" - "${FILESDIR}/chromium-87-compiler-r1.patch" - "${FILESDIR}/chromium-87-CursorFactory-include.patch" - "${FILESDIR}/chromium-87-std-max_align_t.patch" - "${FILESDIR}/chromium-fix-char_traits.patch" - "${FILESDIR}/chromium-87-ozone-deps.patch" - "${FILESDIR}/chromium-87-openscreen-crypto-include.patch" - "${FILESDIR}/chromium-88-service-worker-registration-crash.patch" - "${FILESDIR}/chromium-88-dawn-size_t-std.patch" -) - -pre_build_checks() { - if [[ ${MERGE_TYPE} != binary ]]; then - local -x CPP="$(tc-getCXX) -E" - if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 9.2; then - die "At least gcc 9.2 is required" - fi - # component build hangs with tcmalloc enabled due to sandbox issue, bug #695976. - if has usersandbox ${FEATURES} && use tcmalloc && use component-build; then - die "Component build with tcmalloc requires FEATURES=-usersandbox." - fi - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || tc-is-clang; then - if use component-build; then - die "Component build with clang requires fuzzer headers." - fi - fi - fi - - # Check build requirements, bug #541816 and bug #471810 . - CHECKREQS_MEMORY="3G" - CHECKREQS_DISK_BUILD="7G" - if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then - if use custom-cflags || use component-build; then - CHECKREQS_DISK_BUILD="25G" - fi - if ! use component-build; then - CHECKREQS_MEMORY="16G" - fi - fi - check-reqs_pkg_setup -} - -pkg_pretend() { - pre_build_checks -} - -pkg_setup() { - pre_build_checks - - chromium_suid_sandbox_check_kernel_config - - # nvidia-drivers does not work correctly with Wayland due to unsupported EGLStreams - if use wayland && ! use headless && has_version "x11-drivers/nvidia-drivers"; then - ewarn "Proprietary nVidia driver does not work with Wayland. You can disable" - ewarn "Wayland by setting DISABLE_OZONE_PLATFORM=true in /etc/chromium/default." - fi -} - -src_prepare() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - default - - mkdir -p third_party/node/linux/node-linux-x64/bin || die - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die - - local 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 - 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/angle/third_party/glslang - third_party/angle/third_party/spirv-headers - third_party/angle/third_party/spirv-tools - third_party/angle/third_party/vulkan-headers - third_party/angle/third_party/vulkan-loader - third_party/angle/third_party/vulkan-tools - third_party/angle/third_party/vulkan-validation-layers - 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/depot_tools/third_party - 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/puppeteer - third_party/devtools-frontend/src/front_end/third_party/marked - third_party/devtools-frontend/src/front_end/third_party/wasmparser - third_party/devtools-frontend/src/third_party - third_party/dom_distiller_js - third_party/emoji-segmenter - third_party/flatbuffers - third_party/freetype - third_party/libgifcodec - third_party/glslang - 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/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/vector - third_party/libaom/source/libaom/third_party/x86inc - third_party/libavif - third_party/libjingle - third_party/libphonenumber - third_party/libsecret - third_party/libsrtp - third_party/libsync - third_party/libudev - third_party/libwebm - third_party/libxml/chromium - third_party/libyuv - 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/modp_b64 - third_party/nasm - third_party/nearby - 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/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/rnnoise - third_party/s2cellid - third_party/schema_org - third_party/securemessage - third_party/shaka-player - 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/spirv-cross - 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/unified1 - third_party/tint - third_party/ukey2 - third_party/unrar - third_party/usrsctp - third_party/vulkan - third_party/web-animations-js - third_party/webdriver - 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/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/adobe - third_party/speech-dispatcher - third_party/usb_ids - third_party/xdg-utils - ) - if ! use system-ffmpeg; then - keeplibs+=( third_party/ffmpeg third_party/opus ) - fi - if ! use system-icu; then - keeplibs+=( third_party/icu ) - fi - if ! use system-libvpx; then - keeplibs+=( third_party/libvpx ) - keeplibs+=( third_party/libvpx/source/libvpx/third_party/x86inc ) - - # we need to generate ppc64 stuff because upstream does not ship it yet - # it has to be done before unbundling. - if use ppc64; then - pushd third_party/libvpx >/dev/null || die - mkdir -p source/config/linux/ppc64 || die - ./generate_gni.sh || die - popd >/dev/null || die - fi - fi - if use tcmalloc; then - keeplibs+=( third_party/tcmalloc ) - fi - if use wayland && ! use headless ; then - keeplibs+=( third_party/wayland ) - fi - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - keeplibs+=( third_party/libxml ) - keeplibs+=( third_party/libxslt ) - keeplibs+=( third_party/openh264 ) - keeplibs+=( third_party/re2 ) - keeplibs+=( third_party/snappy ) - if use system-icu; then - keeplibs+=( third_party/icu ) - fi - fi - if use arm64 || use ppc64 ; then - keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 ) - fi - # Remove most bundled libraries. Some are still needed. - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die -} - -src_configure() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local myconf_gn="" - - # Make sure the build system will use the right tools, bug #340795. - tc-export AR CC CXX NM - - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] && ! tc-is-clang; then - # Force clang since gcc is pretty broken at the moment. - CC=${CHOST}-clang - CXX=${CHOST}-clang++ - strip-unsupported-flags - fi - - if tc-is-clang; then - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" - else - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - die "Compiling with sys-libs/libcxx requires clang." - fi - myconf_gn+=" is_clang=false" - fi - - # Define a custom toolchain for GN - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" - - if tc-is-cross-compiler; then - tc-export BUILD_{AR,CC,CXX,NM} - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" - else - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - fi - - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - myconf_gn+=" is_debug=false" - - # Component build isn't generally intended for use by end users. It's mostly useful - # for development and debugging. - myconf_gn+=" is_component_build=$(usex component-build true false)" - - myconf_gn+=" use_allocator=$(usex tcmalloc \"tcmalloc\" \"none\")" - - # Disable nacl, we can't build without pnacl (http://crbug.com/269560). - myconf_gn+=" enable_nacl=false" - - # Use system-provided libraries. - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_libsrtp (bug #459932). - # TODO: use_system_protobuf (bug #525560). - # TODO: use_system_ssl (http://crbug.com/58087). - # TODO: use_system_sqlite (http://crbug.com/22208). - - # libevent: https://bugs.gentoo.org/593458 - local gn_system_libraries=( - flac - fontconfig - freetype - # Need harfbuzz_from_pkgconfig target - #harfbuzz-ng - libdrm - libjpeg - libpng - libwebp - zlib - ) - if use system-ffmpeg; then - gn_system_libraries+=( ffmpeg opus ) - fi - if use system-icu; then - gn_system_libraries+=( icu ) - fi - if use system-libvpx; then - gn_system_libraries+=( libvpx ) - fi - if [[ ${CHROMIUM_FORCE_LIBCXX} != yes ]]; then - # unbundle only without libc++, because libc++ is not fully ABI compatible with libstdc++ - gn_system_libraries+=( libxml ) - gn_system_libraries+=( libxslt ) - gn_system_libraries+=( openh264 ) - gn_system_libraries+=( re2 ) - gn_system_libraries+=( snappy ) - fi - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die - - # See dependency logic in third_party/BUILD.gn - myconf_gn+=" use_system_harfbuzz=true" - - # Disable deprecated libgnome-keyring dependency, bug #713012 - myconf_gn+=" use_gnome_keyring=false" - - # Optional dependencies. - myconf_gn+=" enable_js_type_check=$(usex js-type-check true false)" - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" - myconf_gn+=" enable_widevine=$(usex widevine true false)" - myconf_gn+=" use_cups=$(usex cups true false)" - myconf_gn+=" use_kerberos=$(usex kerberos true false)" - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" - myconf_gn+=" use_vaapi=$(usex vaapi true false)" - - # TODO: link_pulseaudio=true for GN. - - myconf_gn+=" fieldtrial_testing_like_official_build=true" - - # Never use bundled gold binary. Disable gold linker flags for now. - # Do not use bundled clang. - # Trying to use gold results in linker crash. - myconf_gn+=" use_gold=false use_sysroot=false use_custom_libcxx=false" - - # Disable forced lld, bug 641556 - myconf_gn+=" use_lld=false" - - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" - - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . - # Note: these are for Gentoo use ONLY. For your own distribution, - # please get your own set of keys. Feel free to contact chromium@gentoo.org - # for more info. - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" - local google_default_client_id="329227923882.apps.googleusercontent.com" - local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu" - myconf_gn+=" google_api_key=\"${google_api_key}\"" - myconf_gn+=" google_default_client_id=\"${google_default_client_id}\"" - myconf_gn+=" google_default_client_secret=\"${google_default_client_secret}\"" - local myarch="$(tc-arch)" - - # Avoid CFLAGS problems, bug #352457, bug #390147. - if ! use custom-cflags; then - replace-flags "-Os" "-O2" - strip-flags - - # Debug info section overflows without component build - # Prevent linker from running out of address space, bug #471810 . - if ! use component-build || use x86; then - filter-flags "-g*" - fi - - # Prevent libvpx build failures. Bug 530248, 544702, 546984. - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4 - fi - fi - - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - append-flags -stdlib=libc++ - append-ldflags -stdlib=libc++ - fi - - if [[ $myarch = amd64 ]] ; then - myconf_gn+=" target_cpu=\"x64\"" - ffmpeg_target_arch=x64 - elif [[ $myarch = x86 ]] ; then - myconf_gn+=" target_cpu=\"x86\"" - ffmpeg_target_arch=ia32 - - # This is normally defined by compiler_cpu_abi in - # build/config/compiler/BUILD.gn, but we patch that part out. - append-flags -msse2 -mfpmath=sse -mmmx - elif [[ $myarch = arm64 ]] ; then - myconf_gn+=" target_cpu=\"arm64\"" - ffmpeg_target_arch=arm64 - elif [[ $myarch = arm ]] ; then - myconf_gn+=" target_cpu=\"arm\"" - ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm) - elif [[ $myarch = ppc64 ]] ; then - myconf_gn+=" target_cpu=\"ppc64\"" - ffmpeg_target_arch=ppc64 - else - 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" - - # Bug 491582. - export TMPDIR="${WORKDIR}/temp" - mkdir -p -m 755 "${TMPDIR}" || die - - # https://bugs.gentoo.org/654216 - addpredict /dev/dri/ #nowarn - - #if ! use system-ffmpeg; then - if false; then - local build_ffmpeg_args="" - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then - build_ffmpeg_args+=" --disable-asm" - fi - - # Re-configure bundled ffmpeg. See bug #491378 for example reasons. - einfo "Configuring bundled ffmpeg..." - pushd third_party/ffmpeg > /dev/null || die - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \ - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die - chromium/scripts/copy_config.sh || die - chromium/scripts/generate_gn.py || die - popd > /dev/null || die - fi - - # Chromium relies on this, but was disabled in >=clang-10, crbug.com/1042470 - append-cxxflags $(test-flags-CXX -flax-vector-conversions=all) - - # Disable unknown warning message from clang. - tc-is-clang && append-flags -Wno-unknown-warning-option - - # Explicitly disable ICU data file support for system-icu builds. - if use system-icu; then - myconf_gn+=" icu_use_data_file=false" - fi - - # Enable ozone wayland and/or headless support - if use wayland || use headless; then - myconf_gn+=" use_ozone=true ozone_auto_platforms=false" - myconf_gn+=" ozone_platform_headless=true" - if use headless; then - myconf_gn+=" ozone_platform=\"headless\"" - myconf_gn+=" use_x11=false" - else - myconf_gn+=" ozone_platform_wayland=true" - myconf_gn+=" use_system_libdrm=true" - myconf_gn+=" use_system_minigbm=true" - myconf_gn+=" use_xkbcommon=true" - myconf_gn+=" ozone_platform=\"wayland\"" - fi - else - myconf_gn+=" use_ozone=false" - fi - - # Enable official builds - myconf_gn+=" is_official_build=$(usex official true false)" - if use official; then - # 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 - myconf_gn+=" is_cfi=false" - fi - - einfo "Configuring Chromium..." - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release - echo "$@" - "$@" || die -} - -src_compile() { - # Final link uses lots of file descriptors. - ulimit -n 2048 - - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - # https://bugs.gentoo.org/717456 - local -x PYTHONPATH="${WORKDIR}/setuptools-44.1.0:${PYTHONPATH+:}${PYTHONPATH}" - - #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die - - # Build mksnapshot and pax-mark it. - local x - for x in mksnapshot v8_context_snapshot_generator; do - if tc-is-cross-compiler; then - eninja -C out/Release "host/${x}" - pax-mark m "out/Release/host/${x}" - else - eninja -C out/Release "${x}" - pax-mark m "out/Release/${x}" - fi - done - - export HTTP_PROXY=127.0.0.1:8123 - export HTTPS_PROXY=127.0.0.1:8123 - export http_proxy=127.0.0.1:8123 - export https_proxy=127.0.0.1:8123 - - # Even though ninja autodetects number of CPUs, we respect - # user's options, for debugging with -j 1 or any other reason. - eninja -C out/Release chrome chromedriver - use suid && eninja -C out/Release chrome_sandbox - - pax-mark m out/Release/chrome - - # Build manpage; bug #684550 - sed -e 's|@@PACKAGE@@|chromium-browser|g; - s|@@MENUNAME@@|Chromium|g;' \ - chrome/app/resources/manpage.1.in > \ - out/Release/chromium-browser.1 || die - - # Build desktop file; bug #706786 - sed -e 's|@@MENUNAME@@|Chromium|g; - s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g; - s|@@PACKAGE@@|chromium-browser|g; - s|\(^Exec=\)/usr/bin/|\1|g;' \ - chrome/installer/linux/common/desktop.template > \ - out/Release/chromium-browser-chromium.desktop || die -} - -src_install() { - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" - exeinto "${CHROMIUM_HOME}" - doexe out/Release/chrome - - if use suid; then - newexe out/Release/chrome_sandbox chrome-sandbox - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" - fi - - doexe out/Release/chromedriver - - local sedargs=( -e - "s:/usr/lib/:/usr/$(get_libdir)/:g; - s:@@OZONE_AUTO_SESSION@@:$(usex wayland true false):g; - s:@@FORCE_OZONE_PLATFORM@@:$(usex headless true false):g" - ) - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r6.sh" > chromium-launcher.sh || die - doexe chromium-launcher.sh - - # It is important that we name the target "chromium-browser", - # xdg-utils expect it; bug #355517. - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser - # keep the old symlink around for consistency - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium - - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver - - # Allow users to override command-line options, bug #357629. - insinto /etc/chromium - newins "${FILESDIR}/chromium.default" "default" - - pushd out/Release/locales > /dev/null || die - chromium_remove_language_paks - popd - - insinto "${CHROMIUM_HOME}" - doins out/Release/*.bin - doins out/Release/*.pak - ( - shopt -s nullglob - local files=(out/Release/*.so) - [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}" - ) - - if ! use system-icu; then - doins out/Release/icudtl.dat - fi - - doins -r out/Release/locales - doins -r out/Release/resources - - if [[ -d out/Release/swiftshader ]]; then - insinto "${CHROMIUM_HOME}/swiftshader" - doins out/Release/swiftshader/*.so - fi - - # Install icons - local branding size - for size in 16 24 32 48 64 128 256 ; do - case ${size} in - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; - *) branding="chrome/app/theme/chromium" ;; - esac - newicon -s ${size} "${branding}/product_logo_${size}.png" \ - chromium-browser.png - done - - # Install desktop entry - domenu out/Release/chromium-browser-chromium.desktop - - # Install GNOME default application entry (bug #303100). - insinto /usr/share/gnome-control-center/default-apps - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml - - # Install manpage; bug #684550 - doman out/Release/chromium-browser.1 - dosym chromium-browser.1 /usr/share/man/man1/chromium.1 - - readme.gentoo_create_doc -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_desktop_database_update -} - -pkg_postinst() { - xdg_icon_cache_update - xdg_desktop_database_update - readme.gentoo_print_elog -} diff --git a/www-client/chromium/chromium-88.0.4324.11.ebuild b/www-client/chromium/chromium-88.0.4324.11.ebuild deleted file mode 100644 index e6bc8e9..0000000 --- a/www-client/chromium/chromium-88.0.4324.11.ebuild +++ /dev/null @@ -1,907 +0,0 @@ -# Copyright 2009-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python2_7 ) - -CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - 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 vi zh-CN zh-TW" - -inherit check-reqs chromium-2 desktop flag-o-matic multilib ninja-utils pax-utils portability python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="https://chromium.org/" -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz - https://files.pythonhosted.org/packages/ed/7b/bbf89ca71e722b7f9464ebffe4b5ee20a9e5c9a555a56e2d3914bb9119a6/setuptools-44.1.0.zip" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" -IUSE="component-build cups cpu_flags_arm_neon +hangouts headless js-type-check kerberos official pic +proprietary-codecs pulseaudio selinux +suid +system-ffmpeg +system-icu +system-libvpx +tcmalloc wayland widevine vaapi" -RESTRICT="!system-ffmpeg? ( proprietary-codecs? ( bindist ) )" -REQUIRED_USE=" - component-build? ( !suid ) -" - -COMMON_X_DEPEND=" - media-libs/mesa:=[gbm] - x11-libs/libX11:= - x11-libs/libXcomposite:= - x11-libs/libXcursor:= - x11-libs/libXdamage:= - x11-libs/libXext:= - x11-libs/libXfixes:= - >=x11-libs/libXi-1.6.0:= - x11-libs/libXrandr:= - x11-libs/libXrender:= - x11-libs/libXtst:= - x11-libs/libXScrnSaver:= - x11-libs/libxcb:= -" - -COMMON_DEPEND=" - app-arch/bzip2:= - cups? ( >=net-print/cups-1.3.11:= ) - dev-libs/expat:= - dev-libs/glib:2 - >=dev-libs/libxml2-2.9.4-r3:=[icu] - dev-libs/nspr:= - >=dev-libs/nss-3.26:= - >=media-libs/alsa-lib-1.0.19:= - media-libs/fontconfig:= - media-libs/freetype:= - >=media-libs/harfbuzz-2.4.0:0=[icu(-)] - media-libs/libjpeg-turbo:= - media-libs/libpng:= - system-libvpx? ( >=media-libs/libvpx-1.8.2:=[postproc] ) - pulseaudio? ( media-sound/pulseaudio:= ) - system-ffmpeg? ( - >=media-video/ffmpeg-4.3:= - || ( - media-video/ffmpeg[-samba] - >=net-fs/samba-4.5.10-r1[-debug(-)] - ) - >=media-libs/opus-1.3.1:= - ) - sys-apps/dbus:= - sys-apps/pciutils:= - virtual/udev - x11-libs/cairo:= - x11-libs/gdk-pixbuf:2 - x11-libs/pango:= - media-libs/flac:= - >=media-libs/libwebp-0.4.0:= - sys-libs/zlib:=[minizip] - kerberos? ( virtual/krb5 ) - !headless? ( - ${COMMON_X_DEPEND} - >=app-accessibility/at-spi2-atk-2.26:2 - >=app-accessibility/at-spi2-core-2.26:2 - >=dev-libs/atk-2.26 - x11-libs/gtk+:3[X] - wayland? ( - dev-libs/wayland:= - dev-libs/libffi:= - x11-libs/gtk+:3[wayland,X] - x11-libs/libdrm:= - x11-libs/libxkbcommon:= - ) - ) -" -# For nvidia-drivers blocker, see bug #413637 . -RDEPEND="${COMMON_DEPEND} - x11-misc/xdg-utils - virtual/opengl - virtual/ttf-fonts - selinux? ( sec-policy/selinux-chromium ) - tcmalloc? ( !<x11-drivers/nvidia-drivers-331.20 ) -" -DEPEND="${COMMON_DEPEND} -" -# dev-vcs/git - https://bugs.gentoo.org/593476 -BDEPEND=" - ${PYTHON_DEPS} - >=app-arch/gzip-1.7 - app-arch/unzip - dev-lang/perl - >=dev-util/gn-0.1807 - dev-vcs/git - >=dev-util/gperf-3.0.3 - >=dev-util/ninja-1.7.2 - >=net-libs/nodejs-7.6.0[inspector] - sys-apps/hwids[usb(+)] - >=sys-devel/bison-2.4.3 - sys-devel/flex - virtual/pkgconfig - js-type-check? ( virtual/jre ) -" - -: ${CHROMIUM_FORCE_CLANG=yes} -: ${CHROMIUM_FORCE_LIBCXX=no} - -if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then - BDEPEND+=" >=sys-devel/clang-10" -fi - -if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - RDEPEND+=" >=sys-libs/libcxx-10" - DEPEND+=" >=sys-libs/libcxx-10" -else - COMMON_DEPEND=" - app-arch/snappy:= - dev-libs/libxslt:= - >=dev-libs/re2-0.2019.08.01:= - >=media-libs/openh264-1.6.0:= - system-icu? ( >=dev-libs/icu-67.1:= ) - " - RDEPEND+="${COMMON_DEPEND}" - DEPEND+="${COMMON_DEPEND}" -fi - -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then - EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; -fi - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -Some web pages may require additional fonts to display properly. -Try installing some of the following packages if some characters -are not displayed properly: -- media-fonts/arphicfonts -- media-fonts/droid -- media-fonts/ipamonafont -- media-fonts/noto -- media-fonts/ja-ipafonts -- media-fonts/takao-fonts -- media-fonts/wqy-microhei -- media-fonts/wqy-zenhei - -To fix broken icons on the Downloads page, you should install an icon -theme that covers the appropriate MIME types, and configure this as your -GTK+ icon theme. - -For native file dialogs in KDE, install kde-apps/kdialog. - -To make password storage work with your desktop environment you may -have install one of the supported credentials management applications: -- app-crypt/libsecret (GNOME) -- kde-frameworks/kwallet (KDE) -If you have one of above packages installed, but don't want to use -them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS -in /etc/chromium/default. -" - -PATCHES=( - "${FILESDIR}/chromium-78-protobuf-RepeatedPtrField-export.patch" - "${FILESDIR}/chromium-79-gcc-protobuf-alignas.patch" - "${FILESDIR}/chromium-84-blink-disable-clang-format.patch" - "${FILESDIR}/chromium-86-ConsumeDurationNumber-constexpr.patch" - "${FILESDIR}/chromium-88-compiler.patch" - "${FILESDIR}/chromium-87-CursorFactory-include.patch" - "${FILESDIR}/chromium-87-std-max_align_t.patch" - "${FILESDIR}/chromium-fix-char_traits.patch" - "${FILESDIR}/chromium-87-openscreen-crypto-include.patch" - "${FILESDIR}/chromium-88-dawn-size_t-std.patch" - "${FILESDIR}/chromium-88-compositor-dcheck.patch" - "${FILESDIR}/chromium-88-system-icu.patch" - "${FILESDIR}/chromium-88-tree-formatter-include.patch" - "${FILESDIR}/chromium-88-gpu-internals-ozone.patch" -) - -pre_build_checks() { - if [[ ${MERGE_TYPE} != binary ]]; then - local -x CPP="$(tc-getCXX) -E" - if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 9.2; then - die "At least gcc 9.2 is required" - fi - # component build hangs with tcmalloc enabled due to sandbox issue, bug #695976. - if has usersandbox ${FEATURES} && use tcmalloc && use component-build; then - die "Component build with tcmalloc requires FEATURES=-usersandbox." - fi - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || tc-is-clang; then - if use component-build; then - die "Component build with clang requires fuzzer headers." - fi - fi - fi - - # Check build requirements, bug #541816 and bug #471810 . - CHECKREQS_MEMORY="3G" - CHECKREQS_DISK_BUILD="7G" - if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then - if use custom-cflags || use component-build; then - CHECKREQS_DISK_BUILD="25G" - fi - if ! use component-build; then - CHECKREQS_MEMORY="16G" - fi - fi - check-reqs_pkg_setup -} - -pkg_pretend() { - pre_build_checks -} - -pkg_setup() { - pre_build_checks - - chromium_suid_sandbox_check_kernel_config - - # nvidia-drivers does not work correctly with Wayland due to unsupported EGLStreams - if use wayland && ! use headless && has_version "x11-drivers/nvidia-drivers"; then - ewarn "Proprietary nVidia driver does not work with Wayland. You can disable" - ewarn "Wayland by setting DISABLE_OZONE_PLATFORM=true in /etc/chromium/default." - fi -} - -src_prepare() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - default - - mkdir -p third_party/node/linux/node-linux-x64/bin || die - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die - - local 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 - 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/angle/third_party/glslang - third_party/angle/third_party/spirv-headers - third_party/angle/third_party/spirv-tools - third_party/angle/third_party/vulkan-headers - third_party/angle/third_party/vulkan-loader - third_party/angle/third_party/vulkan-tools - third_party/angle/third_party/vulkan-validation-layers - 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/depot_tools/third_party - 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/puppeteer - third_party/devtools-frontend/src/front_end/third_party/marked - third_party/devtools-frontend/src/front_end/third_party/wasmparser - third_party/devtools-frontend/src/third_party - third_party/dom_distiller_js - third_party/emoji-segmenter - third_party/flatbuffers - third_party/freetype - third_party/fusejs - third_party/libgifcodec - third_party/glslang - 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/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/vector - third_party/libaom/source/libaom/third_party/x86inc - third_party/libavif - third_party/libjingle - third_party/libphonenumber - third_party/libsecret - third_party/libsrtp - third_party/libsync - third_party/libudev - third_party/libwebm - third_party/libx11 - third_party/libxcb-keysyms - third_party/libxml/chromium - third_party/libyuv - 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/modp_b64 - third_party/nasm - third_party/nearby - 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/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/rnnoise - third_party/s2cellid - third_party/schema_org - third_party/securemessage - third_party/shaka-player - 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/spirv-cross - 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/unified1 - third_party/tint - third_party/ukey2 - third_party/unrar - third_party/usrsctp - third_party/vulkan - third_party/web-animations-js - third_party/webdriver - 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/adobe - third_party/speech-dispatcher - third_party/usb_ids - third_party/xdg-utils - ) - if ! use system-ffmpeg; then - keeplibs+=( third_party/ffmpeg third_party/opus ) - fi - if ! use system-icu; then - keeplibs+=( third_party/icu ) - fi - if ! use system-libvpx; then - keeplibs+=( third_party/libvpx ) - keeplibs+=( third_party/libvpx/source/libvpx/third_party/x86inc ) - - # we need to generate ppc64 stuff because upstream does not ship it yet - # it has to be done before unbundling. - if use ppc64; then - pushd third_party/libvpx >/dev/null || die - mkdir -p source/config/linux/ppc64 || die - ./generate_gni.sh || die - popd >/dev/null || die - fi - fi - if use tcmalloc; then - keeplibs+=( third_party/tcmalloc ) - fi - if use wayland && ! use headless ; then - keeplibs+=( third_party/wayland ) - fi - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - keeplibs+=( third_party/libxml ) - keeplibs+=( third_party/libxslt ) - keeplibs+=( third_party/openh264 ) - keeplibs+=( third_party/re2 ) - keeplibs+=( third_party/snappy ) - if use system-icu; then - keeplibs+=( third_party/icu ) - fi - fi - if use arm64 || use ppc64 ; then - keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 ) - fi - # Remove most bundled libraries. Some are still needed. - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die -} - -src_configure() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local myconf_gn="" - - # Make sure the build system will use the right tools, bug #340795. - tc-export AR CC CXX NM - - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] && ! tc-is-clang; then - # Force clang since gcc is pretty broken at the moment. - CC=${CHOST}-clang - CXX=${CHOST}-clang++ - strip-unsupported-flags - fi - - if tc-is-clang; then - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" - else - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - die "Compiling with sys-libs/libcxx requires clang." - fi - myconf_gn+=" is_clang=false" - fi - - # Define a custom toolchain for GN - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" - - if tc-is-cross-compiler; then - tc-export BUILD_{AR,CC,CXX,NM} - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" - else - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - fi - - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - myconf_gn+=" is_debug=false" - - # Component build isn't generally intended for use by end users. It's mostly useful - # for development and debugging. - myconf_gn+=" is_component_build=$(usex component-build true false)" - - myconf_gn+=" use_allocator=$(usex tcmalloc \"tcmalloc\" \"none\")" - - # Disable nacl, we can't build without pnacl (http://crbug.com/269560). - myconf_gn+=" enable_nacl=false" - - # Use system-provided libraries. - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_libsrtp (bug #459932). - # TODO: use_system_protobuf (bug #525560). - # TODO: use_system_ssl (http://crbug.com/58087). - # TODO: use_system_sqlite (http://crbug.com/22208). - - # libevent: https://bugs.gentoo.org/593458 - local gn_system_libraries=( - flac - fontconfig - freetype - # Need harfbuzz_from_pkgconfig target - #harfbuzz-ng - libdrm - libjpeg - libpng - libwebp - zlib - ) - if use system-ffmpeg; then - gn_system_libraries+=( ffmpeg opus ) - fi - if use system-icu; then - gn_system_libraries+=( icu ) - fi - if use system-libvpx; then - gn_system_libraries+=( libvpx ) - fi - if [[ ${CHROMIUM_FORCE_LIBCXX} != yes ]]; then - # unbundle only without libc++, because libc++ is not fully ABI compatible with libstdc++ - gn_system_libraries+=( libxml ) - gn_system_libraries+=( libxslt ) - gn_system_libraries+=( openh264 ) - gn_system_libraries+=( re2 ) - gn_system_libraries+=( snappy ) - fi - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die - - # See dependency logic in third_party/BUILD.gn - myconf_gn+=" use_system_harfbuzz=true" - - # Disable deprecated libgnome-keyring dependency, bug #713012 - myconf_gn+=" use_gnome_keyring=false" - - # Optional dependencies. - myconf_gn+=" enable_js_type_check=$(usex js-type-check true false)" - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" - myconf_gn+=" enable_widevine=$(usex widevine true false)" - myconf_gn+=" use_cups=$(usex cups true false)" - myconf_gn+=" use_kerberos=$(usex kerberos true false)" - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" - myconf_gn+=" use_vaapi=$(usex vaapi true false)" - - # TODO: link_pulseaudio=true for GN. - - myconf_gn+=" fieldtrial_testing_like_official_build=true" - - # Never use bundled gold binary. Disable gold linker flags for now. - # Do not use bundled clang. - # Trying to use gold results in linker crash. - myconf_gn+=" use_gold=false use_sysroot=false use_custom_libcxx=false" - - # Disable forced lld, bug 641556 - myconf_gn+=" use_lld=false" - - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" - - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . - # Note: these are for Gentoo use ONLY. For your own distribution, - # please get your own set of keys. Feel free to contact chromium@gentoo.org - # for more info. - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" - local google_default_client_id="329227923882.apps.googleusercontent.com" - local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu" - myconf_gn+=" google_api_key=\"${google_api_key}\"" - myconf_gn+=" google_default_client_id=\"${google_default_client_id}\"" - myconf_gn+=" google_default_client_secret=\"${google_default_client_secret}\"" - local myarch="$(tc-arch)" - - # Avoid CFLAGS problems, bug #352457, bug #390147. - if ! use custom-cflags; then - replace-flags "-Os" "-O2" - strip-flags - - # Debug info section overflows without component build - # Prevent linker from running out of address space, bug #471810 . - if ! use component-build || use x86; then - filter-flags "-g*" - fi - - # Prevent libvpx build failures. Bug 530248, 544702, 546984. - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4 - fi - fi - - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - append-flags -stdlib=libc++ - append-ldflags -stdlib=libc++ - fi - - if [[ $myarch = amd64 ]] ; then - myconf_gn+=" target_cpu=\"x64\"" - ffmpeg_target_arch=x64 - elif [[ $myarch = x86 ]] ; then - myconf_gn+=" target_cpu=\"x86\"" - ffmpeg_target_arch=ia32 - - # This is normally defined by compiler_cpu_abi in - # build/config/compiler/BUILD.gn, but we patch that part out. - append-flags -msse2 -mfpmath=sse -mmmx - elif [[ $myarch = arm64 ]] ; then - myconf_gn+=" target_cpu=\"arm64\"" - ffmpeg_target_arch=arm64 - elif [[ $myarch = arm ]] ; then - myconf_gn+=" target_cpu=\"arm\"" - ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm) - elif [[ $myarch = ppc64 ]] ; then - myconf_gn+=" target_cpu=\"ppc64\"" - ffmpeg_target_arch=ppc64 - else - 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" - - # Bug 491582. - export TMPDIR="${WORKDIR}/temp" - mkdir -p -m 755 "${TMPDIR}" || die - - # https://bugs.gentoo.org/654216 - addpredict /dev/dri/ #nowarn - - #if ! use system-ffmpeg; then - if false; then - local build_ffmpeg_args="" - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then - build_ffmpeg_args+=" --disable-asm" - fi - - # Re-configure bundled ffmpeg. See bug #491378 for example reasons. - einfo "Configuring bundled ffmpeg..." - pushd third_party/ffmpeg > /dev/null || die - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \ - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die - chromium/scripts/copy_config.sh || die - chromium/scripts/generate_gn.py || die - popd > /dev/null || die - fi - - # Chromium relies on this, but was disabled in >=clang-10, crbug.com/1042470 - append-cxxflags $(test-flags-CXX -flax-vector-conversions=all) - - # Disable unknown warning message from clang. - tc-is-clang && append-flags -Wno-unknown-warning-option - - # Explicitly disable ICU data file support for system-icu builds. - if use system-icu; then - myconf_gn+=" icu_use_data_file=false" - fi - - # Enable ozone wayland and/or headless support - if use wayland || use headless; then - myconf_gn+=" use_ozone=true ozone_auto_platforms=false" - myconf_gn+=" ozone_platform_headless=true" - if use headless; then - myconf_gn+=" ozone_platform=\"headless\"" - myconf_gn+=" use_x11=false" - else - myconf_gn+=" ozone_platform_wayland=true" - myconf_gn+=" use_system_libdrm=true" - myconf_gn+=" use_system_minigbm=true" - myconf_gn+=" use_xkbcommon=true" - myconf_gn+=" ozone_platform=\"wayland\"" - fi - else - myconf_gn+=" use_ozone=false" - fi - - # Enable official builds - myconf_gn+=" is_official_build=$(usex official true false)" - if use official; then - # 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 - myconf_gn+=" is_cfi=false" - fi - - einfo "Configuring Chromium..." - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release - echo "$@" - "$@" || die -} - -src_compile() { - # Final link uses lots of file descriptors. - ulimit -n 2048 - - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - # https://bugs.gentoo.org/717456 - local -x PYTHONPATH="${WORKDIR}/setuptools-44.1.0:${PYTHONPATH+:}${PYTHONPATH}" - - #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die - - # Build mksnapshot and pax-mark it. - local x - for x in mksnapshot v8_context_snapshot_generator; do - if tc-is-cross-compiler; then - eninja -C out/Release "host/${x}" - pax-mark m "out/Release/host/${x}" - else - eninja -C out/Release "${x}" - pax-mark m "out/Release/${x}" - fi - done - - export HTTP_PROXY=127.0.0.1:8123 - export HTTPS_PROXY=127.0.0.1:8123 - export http_proxy=127.0.0.1:8123 - export https_proxy=127.0.0.1:8123 - - # Even though ninja autodetects number of CPUs, we respect - # user's options, for debugging with -j 1 or any other reason. - eninja -C out/Release chrome chromedriver - use suid && eninja -C out/Release chrome_sandbox - - pax-mark m out/Release/chrome - - # Build manpage; bug #684550 - sed -e 's|@@PACKAGE@@|chromium-browser|g; - s|@@MENUNAME@@|Chromium|g;' \ - chrome/app/resources/manpage.1.in > \ - out/Release/chromium-browser.1 || die - - # Build desktop file; bug #706786 - sed -e 's|@@MENUNAME@@|Chromium|g; - s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g; - s|@@PACKAGE@@|chromium-browser|g; - s|\(^Exec=\)/usr/bin/|\1|g;' \ - chrome/installer/linux/common/desktop.template > \ - out/Release/chromium-browser-chromium.desktop || die -} - -src_install() { - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" - exeinto "${CHROMIUM_HOME}" - doexe out/Release/chrome - - if use suid; then - newexe out/Release/chrome_sandbox chrome-sandbox - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" - fi - - doexe out/Release/chromedriver - - local sedargs=( -e - "s:/usr/lib/:/usr/$(get_libdir)/:g; - s:@@OZONE_AUTO_SESSION@@:$(usex wayland true false):g; - s:@@FORCE_OZONE_PLATFORM@@:$(usex headless true false):g" - ) - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r6.sh" > chromium-launcher.sh || die - doexe chromium-launcher.sh - - # It is important that we name the target "chromium-browser", - # xdg-utils expect it; bug #355517. - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser - # keep the old symlink around for consistency - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium - - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver - - # Allow users to override command-line options, bug #357629. - insinto /etc/chromium - newins "${FILESDIR}/chromium.default" "default" - - pushd out/Release/locales > /dev/null || die - chromium_remove_language_paks - popd - - insinto "${CHROMIUM_HOME}" - doins out/Release/*.bin - doins out/Release/*.pak - ( - shopt -s nullglob - local files=(out/Release/*.so) - [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}" - ) - - if ! use system-icu; then - doins out/Release/icudtl.dat - fi - - doins -r out/Release/locales - doins -r out/Release/resources - - if [[ -d out/Release/swiftshader ]]; then - insinto "${CHROMIUM_HOME}/swiftshader" - doins out/Release/swiftshader/*.so - fi - - # Install icons - local branding size - for size in 16 24 32 48 64 128 256 ; do - case ${size} in - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; - *) branding="chrome/app/theme/chromium" ;; - esac - newicon -s ${size} "${branding}/product_logo_${size}.png" \ - chromium-browser.png - done - - # Install desktop entry - domenu out/Release/chromium-browser-chromium.desktop - - # Install GNOME default application entry (bug #303100). - insinto /usr/share/gnome-control-center/default-apps - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml - - # Install manpage; bug #684550 - doman out/Release/chromium-browser.1 - dosym chromium-browser.1 /usr/share/man/man1/chromium.1 - - readme.gentoo_create_doc -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_desktop_database_update -} - -pkg_postinst() { - xdg_icon_cache_update - xdg_desktop_database_update - readme.gentoo_print_elog -} diff --git a/www-client/chromium/chromium-89.0.4343.0.ebuild b/www-client/chromium/chromium-89.0.4343.0.ebuild deleted file mode 100644 index c6cafc8..0000000 --- a/www-client/chromium/chromium-89.0.4343.0.ebuild +++ /dev/null @@ -1,912 +0,0 @@ -# Copyright 2009-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python2_7 ) - -CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - 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 vi zh-CN zh-TW" - -inherit check-reqs chromium-2 desktop flag-o-matic multilib ninja-utils pax-utils portability python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="https://chromium.org/" -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz - https://files.pythonhosted.org/packages/ed/7b/bbf89ca71e722b7f9464ebffe4b5ee20a9e5c9a555a56e2d3914bb9119a6/setuptools-44.1.0.zip" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" -IUSE="component-build cups cpu_flags_arm_neon +hangouts headless js-type-check kerberos official pic +proprietary-codecs pulseaudio selinux +suid +system-ffmpeg +system-icu +system-libvpx +tcmalloc wayland widevine vaapi" -RESTRICT="!system-ffmpeg? ( proprietary-codecs? ( bindist ) )" -REQUIRED_USE=" - component-build? ( !suid ) -" - -COMMON_X_DEPEND=" - media-libs/mesa:=[gbm] - x11-libs/libX11:= - x11-libs/libXcomposite:= - x11-libs/libXcursor:= - x11-libs/libXdamage:= - x11-libs/libXext:= - x11-libs/libXfixes:= - >=x11-libs/libXi-1.6.0:= - x11-libs/libXrandr:= - x11-libs/libXrender:= - x11-libs/libXtst:= - x11-libs/libXScrnSaver:= - x11-libs/libxcb:= -" - -COMMON_DEPEND=" - app-arch/bzip2:= - cups? ( >=net-print/cups-1.3.11:= ) - dev-libs/expat:= - dev-libs/glib:2 - >=dev-libs/libxml2-2.9.4-r3:=[icu] - dev-libs/nspr:= - >=dev-libs/nss-3.26:= - >=media-libs/alsa-lib-1.0.19:= - media-libs/fontconfig:= - media-libs/freetype:= - >=media-libs/harfbuzz-2.4.0:0=[icu(-)] - media-libs/libjpeg-turbo:= - media-libs/libpng:= - system-libvpx? ( >=media-libs/libvpx-1.8.2:=[postproc] ) - pulseaudio? ( media-sound/pulseaudio:= ) - system-ffmpeg? ( - >=media-video/ffmpeg-4.3:= - || ( - media-video/ffmpeg[-samba] - >=net-fs/samba-4.5.10-r1[-debug(-)] - ) - >=media-libs/opus-1.3.1:= - ) - sys-apps/dbus:= - sys-apps/pciutils:= - virtual/udev - x11-libs/cairo:= - x11-libs/gdk-pixbuf:2 - x11-libs/pango:= - media-libs/flac:= - >=media-libs/libwebp-0.4.0:= - sys-libs/zlib:=[minizip] - kerberos? ( virtual/krb5 ) - !headless? ( - ${COMMON_X_DEPEND} - >=app-accessibility/at-spi2-atk-2.26:2 - >=app-accessibility/at-spi2-core-2.26:2 - >=dev-libs/atk-2.26 - x11-libs/gtk+:3[X] - wayland? ( - dev-libs/wayland:= - dev-libs/libffi:= - x11-libs/gtk+:3[wayland,X] - x11-libs/libdrm:= - x11-libs/libxkbcommon:= - ) - ) -" -# For nvidia-drivers blocker, see bug #413637 . -RDEPEND="${COMMON_DEPEND} - x11-misc/xdg-utils - virtual/opengl - virtual/ttf-fonts - selinux? ( sec-policy/selinux-chromium ) - tcmalloc? ( !<x11-drivers/nvidia-drivers-331.20 ) -" -DEPEND="${COMMON_DEPEND} -" -# dev-vcs/git - https://bugs.gentoo.org/593476 -BDEPEND=" - ${PYTHON_DEPS} - >=app-arch/gzip-1.7 - app-arch/unzip - dev-lang/perl - >=dev-util/gn-0.1807 - dev-vcs/git - >=dev-util/gperf-3.0.3 - >=dev-util/ninja-1.7.2 - >=net-libs/nodejs-7.6.0[inspector] - sys-apps/hwids[usb(+)] - >=sys-devel/bison-2.4.3 - sys-devel/flex - virtual/pkgconfig - js-type-check? ( virtual/jre ) -" - -: ${CHROMIUM_FORCE_CLANG=yes} -: ${CHROMIUM_FORCE_LIBCXX=no} - -if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then - BDEPEND+=" >=sys-devel/clang-10" -fi - -if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - RDEPEND+=" >=sys-libs/libcxx-10" - DEPEND+=" >=sys-libs/libcxx-10" -else - COMMON_DEPEND=" - app-arch/snappy:= - dev-libs/libxslt:= - >=dev-libs/re2-0.2019.08.01:= - >=media-libs/openh264-1.6.0:= - system-icu? ( >=dev-libs/icu-67.1:= ) - " - RDEPEND+="${COMMON_DEPEND}" - DEPEND+="${COMMON_DEPEND}" -fi - -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then - EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; -fi - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -Some web pages may require additional fonts to display properly. -Try installing some of the following packages if some characters -are not displayed properly: -- media-fonts/arphicfonts -- media-fonts/droid -- media-fonts/ipamonafont -- media-fonts/noto -- media-fonts/ja-ipafonts -- media-fonts/takao-fonts -- media-fonts/wqy-microhei -- media-fonts/wqy-zenhei - -To fix broken icons on the Downloads page, you should install an icon -theme that covers the appropriate MIME types, and configure this as your -GTK+ icon theme. - -For native file dialogs in KDE, install kde-apps/kdialog. - -To make password storage work with your desktop environment you may -have install one of the supported credentials management applications: -- app-crypt/libsecret (GNOME) -- kde-frameworks/kwallet (KDE) -If you have one of above packages installed, but don't want to use -them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS -in /etc/chromium/default. -" - -PATCHES=( - "${FILESDIR}/chromium-fix-char_traits.patch" - "${FILESDIR}/chromium-78-protobuf-RepeatedPtrField-export.patch" - "${FILESDIR}/chromium-84-blink-disable-clang-format.patch" - "${FILESDIR}/chromium-86-ConsumeDurationNumber-constexpr.patch" - "${FILESDIR}/chromium-87-std-max_align_t.patch" - "${FILESDIR}/chromium-87-openscreen-crypto-include.patch" - "${FILESDIR}/chromium-88-compiler.patch" - "${FILESDIR}/chromium-88-dawn-size_t-std.patch" - "${FILESDIR}/chromium-88-compositor-dcheck.patch" - "${FILESDIR}/chromium-88-system-icu.patch" - "${FILESDIR}/chromium-88-tree-formatter-include.patch" - "${FILESDIR}/chromium-89-CursorFactory-include.patch" - "${FILESDIR}/chromium-89-dawn-string-include.patch" - "${FILESDIR}/chromium-89-angle-display.patch" - "${FILESDIR}/chromium-89-pcscan-include.patch" - "${FILESDIR}/chromium-89-quiche-uniqueptr.patch" - "${FILESDIR}/chromium-89-sstream.patch" - "${FILESDIR}/chromium-89-content-dcheck-uniqueptr.patch" -) - -pre_build_checks() { - if [[ ${MERGE_TYPE} != binary ]]; then - local -x CPP="$(tc-getCXX) -E" - if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 9.2; then - die "At least gcc 9.2 is required" - fi - # component build hangs with tcmalloc enabled due to sandbox issue, bug #695976. - if has usersandbox ${FEATURES} && use tcmalloc && use component-build; then - die "Component build with tcmalloc requires FEATURES=-usersandbox." - fi - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || tc-is-clang; then - if use component-build; then - die "Component build with clang requires fuzzer headers." - fi - fi - fi - - # Check build requirements, bug #541816 and bug #471810 . - CHECKREQS_MEMORY="3G" - CHECKREQS_DISK_BUILD="7G" - if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then - if use custom-cflags || use component-build; then - CHECKREQS_DISK_BUILD="25G" - fi - if ! use component-build; then - CHECKREQS_MEMORY="16G" - fi - fi - check-reqs_pkg_setup -} - -pkg_pretend() { - pre_build_checks -} - -pkg_setup() { - pre_build_checks - - chromium_suid_sandbox_check_kernel_config - - # nvidia-drivers does not work correctly with Wayland due to unsupported EGLStreams - if use wayland && ! use headless && has_version "x11-drivers/nvidia-drivers"; then - ewarn "Proprietary nVidia driver does not work with Wayland. You can disable" - ewarn "Wayland by setting DISABLE_OZONE_PLATFORM=true in /etc/chromium/default." - fi -} - -src_prepare() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - default - - mkdir -p third_party/node/linux/node-linux-x64/bin || die - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die - - local 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 - 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/angle/third_party/glslang - third_party/angle/third_party/spirv-headers - third_party/angle/third_party/spirv-tools - third_party/angle/third_party/vulkan-headers - third_party/angle/third_party/vulkan-loader - third_party/angle/third_party/vulkan-tools - third_party/angle/third_party/vulkan-validation-layers - 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/depot_tools/third_party - 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/puppeteer - third_party/devtools-frontend/src/front_end/third_party/marked - third_party/devtools-frontend/src/front_end/third_party/wasmparser - third_party/devtools-frontend/src/third_party - third_party/dom_distiller_js - third_party/emoji-segmenter - third_party/flatbuffers - third_party/freetype - third_party/fusejs - third_party/libgifcodec - third_party/glslang - 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/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/vector - third_party/libaom/source/libaom/third_party/x86inc - third_party/libavif - third_party/libjingle - third_party/libphonenumber - third_party/libsecret - third_party/libsrtp - third_party/libsync - third_party/libva_protected_content - third_party/libudev - third_party/libwebm - third_party/libx11 - third_party/libxcb-keysyms - third_party/libxml/chromium - third_party/libyuv - 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/modp_b64 - third_party/nasm - third_party/nearby - 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/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/rnnoise - third_party/s2cellid - third_party/schema_org - third_party/securemessage - third_party/shaka-player - 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/spirv-cross - 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/unified1 - third_party/tint - third_party/ukey2 - third_party/unrar - third_party/usrsctp - third_party/vulkan - third_party/web-animations-js - third_party/webdriver - 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/adobe - third_party/speech-dispatcher - third_party/usb_ids - third_party/xdg-utils - ) - if ! use system-ffmpeg; then - keeplibs+=( third_party/ffmpeg third_party/opus ) - fi - if ! use system-icu; then - keeplibs+=( third_party/icu ) - fi - if ! use system-libvpx; then - keeplibs+=( third_party/libvpx ) - keeplibs+=( third_party/libvpx/source/libvpx/third_party/x86inc ) - - # we need to generate ppc64 stuff because upstream does not ship it yet - # it has to be done before unbundling. - if use ppc64; then - pushd third_party/libvpx >/dev/null || die - mkdir -p source/config/linux/ppc64 || die - ./generate_gni.sh || die - popd >/dev/null || die - fi - fi - if use tcmalloc; then - keeplibs+=( third_party/tcmalloc ) - fi - if use wayland && ! use headless ; then - keeplibs+=( third_party/wayland ) - fi - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - keeplibs+=( third_party/libxml ) - keeplibs+=( third_party/libxslt ) - keeplibs+=( third_party/openh264 ) - keeplibs+=( third_party/re2 ) - keeplibs+=( third_party/snappy ) - if use system-icu; then - keeplibs+=( third_party/icu ) - fi - fi - if use arm64 || use ppc64 ; then - keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 ) - fi - # Remove most bundled libraries. Some are still needed. - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die -} - -src_configure() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local myconf_gn="" - - # Make sure the build system will use the right tools, bug #340795. - tc-export AR CC CXX NM - - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] && ! tc-is-clang; then - # Force clang since gcc is pretty broken at the moment. - CC=${CHOST}-clang - CXX=${CHOST}-clang++ - strip-unsupported-flags - fi - - if tc-is-clang; then - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" - else - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - die "Compiling with sys-libs/libcxx requires clang." - fi - myconf_gn+=" is_clang=false" - fi - - # Define a custom toolchain for GN - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" - - if tc-is-cross-compiler; then - tc-export BUILD_{AR,CC,CXX,NM} - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" - else - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - fi - - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - myconf_gn+=" is_debug=false" - - # Component build isn't generally intended for use by end users. It's mostly useful - # for development and debugging. - myconf_gn+=" is_component_build=$(usex component-build true false)" - - myconf_gn+=" use_allocator=$(usex tcmalloc \"tcmalloc\" \"none\")" - - # Disable nacl, we can't build without pnacl (http://crbug.com/269560). - myconf_gn+=" enable_nacl=false" - - # Use system-provided libraries. - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_libsrtp (bug #459932). - # TODO: use_system_protobuf (bug #525560). - # TODO: use_system_ssl (http://crbug.com/58087). - # TODO: use_system_sqlite (http://crbug.com/22208). - - # libevent: https://bugs.gentoo.org/593458 - local gn_system_libraries=( - flac - fontconfig - freetype - # Need harfbuzz_from_pkgconfig target - #harfbuzz-ng - libdrm - libjpeg - libpng - libwebp - zlib - ) - if use system-ffmpeg; then - gn_system_libraries+=( ffmpeg opus ) - fi - if use system-icu; then - gn_system_libraries+=( icu ) - fi - if use system-libvpx; then - gn_system_libraries+=( libvpx ) - fi - if [[ ${CHROMIUM_FORCE_LIBCXX} != yes ]]; then - # unbundle only without libc++, because libc++ is not fully ABI compatible with libstdc++ - gn_system_libraries+=( libxml ) - gn_system_libraries+=( libxslt ) - gn_system_libraries+=( openh264 ) - gn_system_libraries+=( re2 ) - gn_system_libraries+=( snappy ) - fi - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die - - # See dependency logic in third_party/BUILD.gn - myconf_gn+=" use_system_harfbuzz=true" - - # Disable deprecated libgnome-keyring dependency, bug #713012 - myconf_gn+=" use_gnome_keyring=false" - - # Optional dependencies. - myconf_gn+=" enable_js_type_check=$(usex js-type-check true false)" - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" - myconf_gn+=" enable_widevine=$(usex widevine true false)" - myconf_gn+=" use_cups=$(usex cups true false)" - myconf_gn+=" use_kerberos=$(usex kerberos true false)" - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" - myconf_gn+=" use_vaapi=$(usex vaapi true false)" - - # TODO: link_pulseaudio=true for GN. - - myconf_gn+=" fieldtrial_testing_like_official_build=true" - - # Never use bundled gold binary. Disable gold linker flags for now. - # Do not use bundled clang. - # Trying to use gold results in linker crash. - myconf_gn+=" use_gold=false use_sysroot=false use_custom_libcxx=false" - - # Disable forced lld, bug 641556 - myconf_gn+=" use_lld=false" - - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" - - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . - # Note: these are for Gentoo use ONLY. For your own distribution, - # please get your own set of keys. Feel free to contact chromium@gentoo.org - # for more info. - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" - local google_default_client_id="329227923882.apps.googleusercontent.com" - local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu" - myconf_gn+=" google_api_key=\"${google_api_key}\"" - myconf_gn+=" google_default_client_id=\"${google_default_client_id}\"" - myconf_gn+=" google_default_client_secret=\"${google_default_client_secret}\"" - local myarch="$(tc-arch)" - - # Avoid CFLAGS problems, bug #352457, bug #390147. - if ! use custom-cflags; then - replace-flags "-Os" "-O2" - strip-flags - - # Debug info section overflows without component build - # Prevent linker from running out of address space, bug #471810 . - if ! use component-build || use x86; then - filter-flags "-g*" - fi - - # Prevent libvpx build failures. Bug 530248, 544702, 546984. - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4 - fi - fi - - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - append-flags -stdlib=libc++ - append-ldflags -stdlib=libc++ - fi - - if [[ $myarch = amd64 ]] ; then - myconf_gn+=" target_cpu=\"x64\"" - ffmpeg_target_arch=x64 - elif [[ $myarch = x86 ]] ; then - myconf_gn+=" target_cpu=\"x86\"" - ffmpeg_target_arch=ia32 - - # This is normally defined by compiler_cpu_abi in - # build/config/compiler/BUILD.gn, but we patch that part out. - append-flags -msse2 -mfpmath=sse -mmmx - elif [[ $myarch = arm64 ]] ; then - myconf_gn+=" target_cpu=\"arm64\"" - ffmpeg_target_arch=arm64 - elif [[ $myarch = arm ]] ; then - myconf_gn+=" target_cpu=\"arm\"" - ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm) - elif [[ $myarch = ppc64 ]] ; then - myconf_gn+=" target_cpu=\"ppc64\"" - ffmpeg_target_arch=ppc64 - else - 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" - - # Bug 491582. - export TMPDIR="${WORKDIR}/temp" - mkdir -p -m 755 "${TMPDIR}" || die - - # https://bugs.gentoo.org/654216 - addpredict /dev/dri/ #nowarn - - #if ! use system-ffmpeg; then - if false; then - local build_ffmpeg_args="" - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then - build_ffmpeg_args+=" --disable-asm" - fi - - # Re-configure bundled ffmpeg. See bug #491378 for example reasons. - einfo "Configuring bundled ffmpeg..." - pushd third_party/ffmpeg > /dev/null || die - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \ - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die - chromium/scripts/copy_config.sh || die - chromium/scripts/generate_gn.py || die - popd > /dev/null || die - fi - - # Chromium relies on this, but was disabled in >=clang-10, crbug.com/1042470 - append-cxxflags $(test-flags-CXX -flax-vector-conversions=all) - - # Disable unknown warning message from clang. - tc-is-clang && append-flags -Wno-unknown-warning-option - - # Explicitly disable ICU data file support for system-icu builds. - if use system-icu; then - myconf_gn+=" icu_use_data_file=false" - fi - - # Enable ozone wayland and/or headless support - if use wayland || use headless; then - myconf_gn+=" use_ozone=true ozone_auto_platforms=false" - myconf_gn+=" ozone_platform_headless=true" - if use headless; then - myconf_gn+=" ozone_platform=\"headless\"" - myconf_gn+=" use_x11=false" - else - myconf_gn+=" ozone_platform_wayland=true" - myconf_gn+=" use_system_libdrm=true" - myconf_gn+=" use_system_minigbm=true" - myconf_gn+=" use_xkbcommon=true" - myconf_gn+=" ozone_platform=\"wayland\"" - fi - else - myconf_gn+=" use_ozone=false" - fi - - # Enable official builds - myconf_gn+=" is_official_build=$(usex official true false)" - if use official; then - # 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 - myconf_gn+=" is_cfi=false" - fi - - einfo "Configuring Chromium..." - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release - echo "$@" - "$@" || die -} - -src_compile() { - # Final link uses lots of file descriptors. - ulimit -n 2048 - - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - # https://bugs.gentoo.org/717456 - local -x PYTHONPATH="${WORKDIR}/setuptools-44.1.0:${PYTHONPATH+:}${PYTHONPATH}" - - #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die - - # Build mksnapshot and pax-mark it. - local x - for x in mksnapshot v8_context_snapshot_generator; do - if tc-is-cross-compiler; then - eninja -C out/Release "host/${x}" - pax-mark m "out/Release/host/${x}" - else - eninja -C out/Release "${x}" - pax-mark m "out/Release/${x}" - fi - done - - export HTTP_PROXY=127.0.0.1:8123 - export HTTPS_PROXY=127.0.0.1:8123 - export http_proxy=127.0.0.1:8123 - export https_proxy=127.0.0.1:8123 - - # Even though ninja autodetects number of CPUs, we respect - # user's options, for debugging with -j 1 or any other reason. - eninja -C out/Release chrome chromedriver - use suid && eninja -C out/Release chrome_sandbox - - pax-mark m out/Release/chrome - - # Build manpage; bug #684550 - sed -e 's|@@PACKAGE@@|chromium-browser|g; - s|@@MENUNAME@@|Chromium|g;' \ - chrome/app/resources/manpage.1.in > \ - out/Release/chromium-browser.1 || die - - # Build desktop file; bug #706786 - sed -e 's|@@MENUNAME@@|Chromium|g; - s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g; - s|@@PACKAGE@@|chromium-browser|g; - s|\(^Exec=\)/usr/bin/|\1|g;' \ - chrome/installer/linux/common/desktop.template > \ - out/Release/chromium-browser-chromium.desktop || die -} - -src_install() { - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" - exeinto "${CHROMIUM_HOME}" - doexe out/Release/chrome - - if use suid; then - newexe out/Release/chrome_sandbox chrome-sandbox - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" - fi - - doexe out/Release/chromedriver - - local sedargs=( -e - "s:/usr/lib/:/usr/$(get_libdir)/:g; - s:@@OZONE_AUTO_SESSION@@:$(usex wayland true false):g; - s:@@FORCE_OZONE_PLATFORM@@:$(usex headless true false):g" - ) - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r6.sh" > chromium-launcher.sh || die - doexe chromium-launcher.sh - - # It is important that we name the target "chromium-browser", - # xdg-utils expect it; bug #355517. - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser - # keep the old symlink around for consistency - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium - - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver - - # Allow users to override command-line options, bug #357629. - insinto /etc/chromium - newins "${FILESDIR}/chromium.default" "default" - - pushd out/Release/locales > /dev/null || die - chromium_remove_language_paks - popd - - insinto "${CHROMIUM_HOME}" - doins out/Release/*.bin - doins out/Release/*.pak - ( - shopt -s nullglob - local files=(out/Release/*.so) - [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}" - ) - - if ! use system-icu; then - doins out/Release/icudtl.dat - fi - - doins -r out/Release/locales - doins -r out/Release/resources - - if [[ -d out/Release/swiftshader ]]; then - insinto "${CHROMIUM_HOME}/swiftshader" - doins out/Release/swiftshader/*.so - fi - - # Install icons - local branding size - for size in 16 24 32 48 64 128 256 ; do - case ${size} in - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; - *) branding="chrome/app/theme/chromium" ;; - esac - newicon -s ${size} "${branding}/product_logo_${size}.png" \ - chromium-browser.png - done - - # Install desktop entry - domenu out/Release/chromium-browser-chromium.desktop - - # Install GNOME default application entry (bug #303100). - insinto /usr/share/gnome-control-center/default-apps - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml - - # Install manpage; bug #684550 - doman out/Release/chromium-browser.1 - dosym chromium-browser.1 /usr/share/man/man1/chromium.1 - - readme.gentoo_create_doc -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_desktop_database_update -} - -pkg_postinst() { - xdg_icon_cache_update - xdg_desktop_database_update - readme.gentoo_print_elog -} diff --git a/www-client/chromium/chromium-89.0.4381.6.ebuild b/www-client/chromium/chromium-89.0.4381.6.ebuild deleted file mode 100644 index 1c1c565..0000000 --- a/www-client/chromium/chromium-89.0.4381.6.ebuild +++ /dev/null @@ -1,894 +0,0 @@ -# Copyright 2009-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python2_7 ) - -CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - 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 vi zh-CN zh-TW" - -inherit check-reqs chromium-2 desktop flag-o-matic multilib ninja-utils pax-utils portability python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="https://chromium.org/" -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz - https://files.pythonhosted.org/packages/ed/7b/bbf89ca71e722b7f9464ebffe4b5ee20a9e5c9a555a56e2d3914bb9119a6/setuptools-44.1.0.zip" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" -IUSE="component-build cups cpu_flags_arm_neon +hangouts headless js-type-check kerberos official pic +proprietary-codecs pulseaudio selinux +suid +system-ffmpeg +system-icu +system-libvpx +tcmalloc wayland widevine vaapi" -RESTRICT="!system-ffmpeg? ( proprietary-codecs? ( bindist ) )" -REQUIRED_USE=" - component-build? ( !suid ) -" - -COMMON_X_DEPEND=" - media-libs/mesa:=[gbm] - x11-libs/libX11:= - x11-libs/libXcomposite:= - x11-libs/libXcursor:= - x11-libs/libXdamage:= - x11-libs/libXext:= - x11-libs/libXfixes:= - >=x11-libs/libXi-1.6.0:= - x11-libs/libXrandr:= - x11-libs/libXrender:= - x11-libs/libXtst:= - x11-libs/libXScrnSaver:= - x11-libs/libxcb:= -" - -COMMON_DEPEND=" - app-arch/bzip2:= - cups? ( >=net-print/cups-1.3.11:= ) - dev-libs/expat:= - dev-libs/glib:2 - >=dev-libs/libxml2-2.9.4-r3:=[icu] - dev-libs/nspr:= - >=dev-libs/nss-3.26:= - >=media-libs/alsa-lib-1.0.19:= - media-libs/fontconfig:= - media-libs/freetype:= - >=media-libs/harfbuzz-2.4.0:0=[icu(-)] - media-libs/libjpeg-turbo:= - media-libs/libpng:= - system-libvpx? ( >=media-libs/libvpx-1.8.2:=[postproc] ) - pulseaudio? ( media-sound/pulseaudio:= ) - system-ffmpeg? ( - >=media-video/ffmpeg-4.3:= - || ( - media-video/ffmpeg[-samba] - >=net-fs/samba-4.5.10-r1[-debug(-)] - ) - >=media-libs/opus-1.3.1:= - ) - sys-apps/dbus:= - sys-apps/pciutils:= - virtual/udev - x11-libs/cairo:= - x11-libs/gdk-pixbuf:2 - x11-libs/pango:= - media-libs/flac:= - >=media-libs/libwebp-0.4.0:= - sys-libs/zlib:=[minizip] - kerberos? ( virtual/krb5 ) - !headless? ( - ${COMMON_X_DEPEND} - >=app-accessibility/at-spi2-atk-2.26:2 - >=app-accessibility/at-spi2-core-2.26:2 - >=dev-libs/atk-2.26 - x11-libs/gtk+:3[X] - wayland? ( - dev-libs/wayland:= - dev-libs/libffi:= - x11-libs/gtk+:3[wayland,X] - x11-libs/libdrm:= - x11-libs/libxkbcommon:= - ) - ) -" -# For nvidia-drivers blocker, see bug #413637 . -RDEPEND="${COMMON_DEPEND} - x11-misc/xdg-utils - virtual/opengl - virtual/ttf-fonts - selinux? ( sec-policy/selinux-chromium ) - tcmalloc? ( !<x11-drivers/nvidia-drivers-331.20 ) -" -DEPEND="${COMMON_DEPEND} -" -# dev-vcs/git - https://bugs.gentoo.org/593476 -BDEPEND=" - ${PYTHON_DEPS} - >=app-arch/gzip-1.7 - app-arch/unzip - dev-lang/perl - >=dev-util/gn-0.1807 - dev-vcs/git - >=dev-util/gperf-3.0.3 - >=dev-util/ninja-1.7.2 - >=net-libs/nodejs-7.6.0[inspector] - sys-apps/hwids[usb(+)] - >=sys-devel/bison-2.4.3 - sys-devel/flex - virtual/pkgconfig - js-type-check? ( virtual/jre ) -" - -: ${CHROMIUM_FORCE_CLANG=yes} -: ${CHROMIUM_FORCE_LIBCXX=no} - -if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then - BDEPEND+=" >=sys-devel/clang-10" -fi - -if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - RDEPEND+=" >=sys-libs/libcxx-10" - DEPEND+=" >=sys-libs/libcxx-10" -else - COMMON_DEPEND=" - app-arch/snappy:= - dev-libs/libxslt:= - >=dev-libs/re2-0.2019.08.01:= - >=media-libs/openh264-1.6.0:= - system-icu? ( >=dev-libs/icu-67.1:= ) - " - RDEPEND+="${COMMON_DEPEND}" - DEPEND+="${COMMON_DEPEND}" -fi - -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then - EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; -fi - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -Some web pages may require additional fonts to display properly. -Try installing some of the following packages if some characters -are not displayed properly: -- media-fonts/arphicfonts -- media-fonts/droid -- media-fonts/ipamonafont -- media-fonts/noto -- media-fonts/ja-ipafonts -- media-fonts/takao-fonts -- media-fonts/wqy-microhei -- media-fonts/wqy-zenhei - -To fix broken icons on the Downloads page, you should install an icon -theme that covers the appropriate MIME types, and configure this as your -GTK+ icon theme. - -For native file dialogs in KDE, install kde-apps/kdialog. - -To make password storage work with your desktop environment you may -have install one of the supported credentials management applications: -- app-crypt/libsecret (GNOME) -- kde-frameworks/kwallet (KDE) -If you have one of above packages installed, but don't want to use -them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS -in /etc/chromium/default. -" - -PATCHES=( - "${FILESDIR}/chromium-78-protobuf-RepeatedPtrField-export.patch" - "${FILESDIR}/chromium-84-blink-disable-clang-format.patch" - "${FILESDIR}/chromium-86-ConsumeDurationNumber-constexpr.patch" - "${FILESDIR}/chromium-87-std-max_align_t.patch" - "${FILESDIR}/chromium-88-compiler.patch" - "${FILESDIR}/chromium-88-dawn-size_t-std.patch" - "${FILESDIR}/chromium-89-compositor-dcheck.patch" - "${FILESDIR}/chromium-89-quiche-uniqueptr_r1.patch" - "${FILESDIR}/chromium-89-uigfx-image-skia.patch" - "${FILESDIR}/chromium-89-webui-config-include.patch" -) - -pre_build_checks() { - if [[ ${MERGE_TYPE} != binary ]]; then - local -x CPP="$(tc-getCXX) -E" - if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 9.2; then - die "At least gcc 9.2 is required" - fi - # component build hangs with tcmalloc enabled due to sandbox issue, bug #695976. - if has usersandbox ${FEATURES} && use tcmalloc && use component-build; then - die "Component build with tcmalloc requires FEATURES=-usersandbox." - fi - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || tc-is-clang; then - if use component-build; then - die "Component build with clang requires fuzzer headers." - fi - fi - fi - - # Check build requirements, bug #541816 and bug #471810 . - CHECKREQS_MEMORY="3G" - CHECKREQS_DISK_BUILD="7G" - if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then - if use custom-cflags || use component-build; then - CHECKREQS_DISK_BUILD="25G" - fi - if ! use component-build; then - CHECKREQS_MEMORY="16G" - fi - fi - check-reqs_pkg_setup -} - -pkg_pretend() { - pre_build_checks -} - -pkg_setup() { - pre_build_checks - - chromium_suid_sandbox_check_kernel_config - - # nvidia-drivers does not work correctly with Wayland due to unsupported EGLStreams - if use wayland && ! use headless && has_version "x11-drivers/nvidia-drivers"; then - ewarn "Proprietary nVidia driver does not work with Wayland. You can disable" - ewarn "Wayland by setting DISABLE_OZONE_PLATFORM=true in /etc/chromium/default." - fi -} - -src_prepare() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - default - - mkdir -p third_party/node/linux/node-linux-x64/bin || die - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die - - local 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 - 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/depot_tools/third_party - 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/puppeteer - third_party/devtools-frontend/src/front_end/third_party/marked - third_party/devtools-frontend/src/front_end/third_party/wasmparser - third_party/devtools-frontend/src/third_party - third_party/dom_distiller_js - third_party/emoji-segmenter - third_party/flatbuffers - third_party/freetype - third_party/fusejs - third_party/libgifcodec - 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/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/vector - third_party/libaom/source/libaom/third_party/x86inc - third_party/libavif - third_party/libjingle - third_party/libphonenumber - third_party/libsecret - third_party/libsrtp - third_party/libsync - third_party/libva_protected_content - third_party/libudev - third_party/liburlpattern - third_party/libwebm - third_party/libx11 - third_party/libxcb-keysyms - third_party/libxml/chromium - third_party/libyuv - 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/modp_b64 - third_party/nasm - third_party/nearby - 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/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/rnnoise - third_party/s2cellid - third_party/schema_org - third_party/securemessage - third_party/shaka-player - 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/tint - third_party/ukey2 - third_party/unrar - third_party/usrsctp - third_party/vulkan - third_party/web-animations-js - third_party/webdriver - 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/adobe - third_party/speech-dispatcher - third_party/usb_ids - third_party/xdg-utils - ) - if ! use system-ffmpeg; then - keeplibs+=( third_party/ffmpeg third_party/opus ) - fi - if ! use system-icu; then - keeplibs+=( third_party/icu ) - fi - if ! use system-libvpx; then - keeplibs+=( third_party/libvpx ) - keeplibs+=( third_party/libvpx/source/libvpx/third_party/x86inc ) - - # we need to generate ppc64 stuff because upstream does not ship it yet - # it has to be done before unbundling. - if use ppc64; then - pushd third_party/libvpx >/dev/null || die - mkdir -p source/config/linux/ppc64 || die - ./generate_gni.sh || die - popd >/dev/null || die - fi - fi - if use tcmalloc; then - keeplibs+=( third_party/tcmalloc ) - fi - if use wayland && ! use headless ; then - keeplibs+=( third_party/wayland ) - fi - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - keeplibs+=( third_party/libxml ) - keeplibs+=( third_party/libxslt ) - keeplibs+=( third_party/openh264 ) - keeplibs+=( third_party/re2 ) - keeplibs+=( third_party/snappy ) - if use system-icu; then - keeplibs+=( third_party/icu ) - fi - fi - if use arm64 || use ppc64 ; then - keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 ) - fi - # Remove most bundled libraries. Some are still needed. - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die -} - -src_configure() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local myconf_gn="" - - # Make sure the build system will use the right tools, bug #340795. - tc-export AR CC CXX NM - - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] && ! tc-is-clang; then - # Force clang since gcc is pretty broken at the moment. - CC=${CHOST}-clang - CXX=${CHOST}-clang++ - strip-unsupported-flags - fi - - if tc-is-clang; then - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" - else - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - die "Compiling with sys-libs/libcxx requires clang." - fi - myconf_gn+=" is_clang=false" - fi - - # Define a custom toolchain for GN - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" - - if tc-is-cross-compiler; then - tc-export BUILD_{AR,CC,CXX,NM} - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" - else - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - fi - - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - myconf_gn+=" is_debug=false" - - # Component build isn't generally intended for use by end users. It's mostly useful - # for development and debugging. - myconf_gn+=" is_component_build=$(usex component-build true false)" - - myconf_gn+=" use_allocator=$(usex tcmalloc \"tcmalloc\" \"none\")" - - # Disable nacl, we can't build without pnacl (http://crbug.com/269560). - myconf_gn+=" enable_nacl=false" - - # Use system-provided libraries. - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_libsrtp (bug #459932). - # TODO: use_system_protobuf (bug #525560). - # TODO: use_system_ssl (http://crbug.com/58087). - # TODO: use_system_sqlite (http://crbug.com/22208). - - # libevent: https://bugs.gentoo.org/593458 - local gn_system_libraries=( - flac - fontconfig - freetype - # Need harfbuzz_from_pkgconfig target - #harfbuzz-ng - libdrm - libjpeg - libpng - libwebp - zlib - ) - if use system-ffmpeg; then - gn_system_libraries+=( ffmpeg opus ) - fi - if use system-icu; then - gn_system_libraries+=( icu ) - fi - if use system-libvpx; then - gn_system_libraries+=( libvpx ) - fi - if [[ ${CHROMIUM_FORCE_LIBCXX} != yes ]]; then - # unbundle only without libc++, because libc++ is not fully ABI compatible with libstdc++ - gn_system_libraries+=( libxml ) - gn_system_libraries+=( libxslt ) - gn_system_libraries+=( openh264 ) - gn_system_libraries+=( re2 ) - gn_system_libraries+=( snappy ) - fi - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die - - # See dependency logic in third_party/BUILD.gn - myconf_gn+=" use_system_harfbuzz=true" - - # Disable deprecated libgnome-keyring dependency, bug #713012 - myconf_gn+=" use_gnome_keyring=false" - - # Optional dependencies. - myconf_gn+=" enable_js_type_check=$(usex js-type-check true false)" - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" - myconf_gn+=" enable_widevine=$(usex widevine true false)" - myconf_gn+=" use_cups=$(usex cups true false)" - myconf_gn+=" use_kerberos=$(usex kerberos true false)" - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" - myconf_gn+=" use_vaapi=$(usex vaapi true false)" - - # TODO: link_pulseaudio=true for GN. - - myconf_gn+=" fieldtrial_testing_like_official_build=true" - - # Never use bundled gold binary. Disable gold linker flags for now. - # Do not use bundled clang. - # Trying to use gold results in linker crash. - myconf_gn+=" use_gold=false use_sysroot=false use_custom_libcxx=false" - - # Disable forced lld, bug 641556 - myconf_gn+=" use_lld=false" - - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" - - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . - # Note: these are for Gentoo use ONLY. For your own distribution, - # please get your own set of keys. Feel free to contact chromium@gentoo.org - # for more info. - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" - local google_default_client_id="329227923882.apps.googleusercontent.com" - local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu" - myconf_gn+=" google_api_key=\"${google_api_key}\"" - myconf_gn+=" google_default_client_id=\"${google_default_client_id}\"" - myconf_gn+=" google_default_client_secret=\"${google_default_client_secret}\"" - local myarch="$(tc-arch)" - - # Avoid CFLAGS problems, bug #352457, bug #390147. - if ! use custom-cflags; then - replace-flags "-Os" "-O2" - strip-flags - - # Debug info section overflows without component build - # Prevent linker from running out of address space, bug #471810 . - if ! use component-build || use x86; then - filter-flags "-g*" - fi - - # Prevent libvpx build failures. Bug 530248, 544702, 546984. - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4 - fi - fi - - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - append-flags -stdlib=libc++ - append-ldflags -stdlib=libc++ - fi - - if [[ $myarch = amd64 ]] ; then - myconf_gn+=" target_cpu=\"x64\"" - ffmpeg_target_arch=x64 - elif [[ $myarch = x86 ]] ; then - myconf_gn+=" target_cpu=\"x86\"" - ffmpeg_target_arch=ia32 - - # This is normally defined by compiler_cpu_abi in - # build/config/compiler/BUILD.gn, but we patch that part out. - append-flags -msse2 -mfpmath=sse -mmmx - elif [[ $myarch = arm64 ]] ; then - myconf_gn+=" target_cpu=\"arm64\"" - ffmpeg_target_arch=arm64 - elif [[ $myarch = arm ]] ; then - myconf_gn+=" target_cpu=\"arm\"" - ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm) - elif [[ $myarch = ppc64 ]] ; then - myconf_gn+=" target_cpu=\"ppc64\"" - ffmpeg_target_arch=ppc64 - else - 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" - - # Bug 491582. - export TMPDIR="${WORKDIR}/temp" - mkdir -p -m 755 "${TMPDIR}" || die - - # https://bugs.gentoo.org/654216 - addpredict /dev/dri/ #nowarn - - #if ! use system-ffmpeg; then - if false; then - local build_ffmpeg_args="" - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then - build_ffmpeg_args+=" --disable-asm" - fi - - # Re-configure bundled ffmpeg. See bug #491378 for example reasons. - einfo "Configuring bundled ffmpeg..." - pushd third_party/ffmpeg > /dev/null || die - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \ - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die - chromium/scripts/copy_config.sh || die - chromium/scripts/generate_gn.py || die - popd > /dev/null || die - fi - - # Chromium relies on this, but was disabled in >=clang-10, crbug.com/1042470 - append-cxxflags $(test-flags-CXX -flax-vector-conversions=all) - - # Disable unknown warning message from clang. - tc-is-clang && append-flags -Wno-unknown-warning-option - - # Explicitly disable ICU data file support for system-icu builds. - if use system-icu; then - myconf_gn+=" icu_use_data_file=false" - fi - - # Enable ozone wayland and/or headless support - if use wayland || use headless; then - myconf_gn+=" use_ozone=true ozone_auto_platforms=false" - myconf_gn+=" ozone_platform_headless=true" - if use headless; then - myconf_gn+=" ozone_platform=\"headless\"" - myconf_gn+=" use_x11=false" - else - myconf_gn+=" ozone_platform_wayland=true" - myconf_gn+=" use_system_libdrm=true" - myconf_gn+=" use_system_minigbm=true" - myconf_gn+=" use_xkbcommon=true" - myconf_gn+=" ozone_platform=\"wayland\"" - fi - else - myconf_gn+=" use_ozone=false" - fi - - # Enable official builds - myconf_gn+=" is_official_build=$(usex official true false)" - if use official; then - # 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 - myconf_gn+=" is_cfi=false" - fi - - einfo "Configuring Chromium..." - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release - echo "$@" - "$@" || die -} - -src_compile() { - # Final link uses lots of file descriptors. - ulimit -n 2048 - - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - # https://bugs.gentoo.org/717456 - local -x PYTHONPATH="${WORKDIR}/setuptools-44.1.0:${PYTHONPATH+:}${PYTHONPATH}" - - #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die - - # Build mksnapshot and pax-mark it. - local x - for x in mksnapshot v8_context_snapshot_generator; do - if tc-is-cross-compiler; then - eninja -C out/Release "host/${x}" - pax-mark m "out/Release/host/${x}" - else - eninja -C out/Release "${x}" - pax-mark m "out/Release/${x}" - fi - done - - export HTTP_PROXY=127.0.0.1:8123 - export HTTPS_PROXY=127.0.0.1:8123 - export http_proxy=127.0.0.1:8123 - export https_proxy=127.0.0.1:8123 - - # Even though ninja autodetects number of CPUs, we respect - # user's options, for debugging with -j 1 or any other reason. - eninja -C out/Release chrome chromedriver - use suid && eninja -C out/Release chrome_sandbox - - pax-mark m out/Release/chrome - - # Build manpage; bug #684550 - sed -e 's|@@PACKAGE@@|chromium-browser|g; - s|@@MENUNAME@@|Chromium|g;' \ - chrome/app/resources/manpage.1.in > \ - out/Release/chromium-browser.1 || die - - # Build desktop file; bug #706786 - sed -e 's|@@MENUNAME@@|Chromium|g; - s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g; - s|@@PACKAGE@@|chromium-browser|g; - s|\(^Exec=\)/usr/bin/|\1|g;' \ - chrome/installer/linux/common/desktop.template > \ - out/Release/chromium-browser-chromium.desktop || die -} - -src_install() { - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" - exeinto "${CHROMIUM_HOME}" - doexe out/Release/chrome - - if use suid; then - newexe out/Release/chrome_sandbox chrome-sandbox - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" - fi - - doexe out/Release/chromedriver - - local sedargs=( -e - "s:/usr/lib/:/usr/$(get_libdir)/:g; - s:@@OZONE_AUTO_SESSION@@:$(usex wayland true false):g; - s:@@FORCE_OZONE_PLATFORM@@:$(usex headless true false):g" - ) - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r6.sh" > chromium-launcher.sh || die - doexe chromium-launcher.sh - - # It is important that we name the target "chromium-browser", - # xdg-utils expect it; bug #355517. - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser - # keep the old symlink around for consistency - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium - - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver - - # Allow users to override command-line options, bug #357629. - insinto /etc/chromium - newins "${FILESDIR}/chromium.default" "default" - - pushd out/Release/locales > /dev/null || die - chromium_remove_language_paks - popd - - insinto "${CHROMIUM_HOME}" - doins out/Release/*.bin - doins out/Release/*.pak - ( - shopt -s nullglob - local files=(out/Release/*.so) - [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}" - ) - - if ! use system-icu; then - doins out/Release/icudtl.dat - fi - - doins -r out/Release/locales - doins -r out/Release/resources - - if [[ -d out/Release/swiftshader ]]; then - insinto "${CHROMIUM_HOME}/swiftshader" - doins out/Release/swiftshader/*.so - fi - - # Install icons - local branding size - for size in 16 24 32 48 64 128 256 ; do - case ${size} in - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; - *) branding="chrome/app/theme/chromium" ;; - esac - newicon -s ${size} "${branding}/product_logo_${size}.png" \ - chromium-browser.png - done - - # Install desktop entry - domenu out/Release/chromium-browser-chromium.desktop - - # Install GNOME default application entry (bug #303100). - insinto /usr/share/gnome-control-center/default-apps - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml - - # Install manpage; bug #684550 - doman out/Release/chromium-browser.1 - dosym chromium-browser.1 /usr/share/man/man1/chromium.1 - - readme.gentoo_create_doc -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_desktop_database_update -} - -pkg_postinst() { - xdg_icon_cache_update - xdg_desktop_database_update - readme.gentoo_print_elog -} diff --git a/www-client/chromium/chromium-90.0.4430.19.ebuild b/www-client/chromium/chromium-90.0.4430.19.ebuild deleted file mode 100644 index 9bc361f..0000000 --- a/www-client/chromium/chromium-90.0.4430.19.ebuild +++ /dev/null @@ -1,911 +0,0 @@ -# Copyright 2009-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python2_7 ) - -CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - 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 vi zh-CN zh-TW" - -inherit check-reqs chromium-2 desktop flag-o-matic multilib ninja-utils pax-utils portability python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="https://chromium.org/" -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz - https://files.pythonhosted.org/packages/ed/7b/bbf89ca71e722b7f9464ebffe4b5ee20a9e5c9a555a56e2d3914bb9119a6/setuptools-44.1.0.zip" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" -IUSE="component-build cups cpu_flags_arm_neon +hangouts headless js-type-check kerberos official pic +proprietary-codecs pulseaudio selinux +suid +system-ffmpeg +system-icu +system-libvpx +tcmalloc wayland widevine vaapi" -RESTRICT="!system-ffmpeg? ( proprietary-codecs? ( bindist ) )" -REQUIRED_USE=" - component-build? ( !suid ) -" - -COMMON_X_DEPEND=" - media-libs/mesa:=[gbm] - x11-libs/libX11:= - x11-libs/libXcomposite:= - x11-libs/libXcursor:= - x11-libs/libXdamage:= - x11-libs/libXext:= - x11-libs/libXfixes:= - >=x11-libs/libXi-1.6.0:= - x11-libs/libXrandr:= - x11-libs/libXrender:= - x11-libs/libXtst:= - x11-libs/libXScrnSaver:= - x11-libs/libxcb:= -" - -COMMON_DEPEND=" - app-arch/bzip2:= - cups? ( >=net-print/cups-1.3.11:= ) - dev-libs/expat:= - dev-libs/glib:2 - >=dev-libs/libxml2-2.9.4-r3:=[icu] - dev-libs/nspr:= - >=dev-libs/nss-3.26:= - >=media-libs/alsa-lib-1.0.19:= - media-libs/fontconfig:= - media-libs/freetype:= - >=media-libs/harfbuzz-2.4.0:0=[icu(-)] - media-libs/libjpeg-turbo:= - media-libs/libpng:= - system-libvpx? ( >=media-libs/libvpx-1.8.2:=[postproc] ) - pulseaudio? ( media-sound/pulseaudio:= ) - system-ffmpeg? ( - >=media-video/ffmpeg-4.3:= - || ( - media-video/ffmpeg[-samba] - >=net-fs/samba-4.5.10-r1[-debug(-)] - ) - >=media-libs/opus-1.3.1:= - ) - sys-apps/dbus:= - sys-apps/pciutils:= - virtual/udev - x11-libs/cairo:= - x11-libs/gdk-pixbuf:2 - x11-libs/pango:= - media-libs/flac:= - >=media-libs/libwebp-0.4.0:= - sys-libs/zlib:=[minizip] - kerberos? ( virtual/krb5 ) - !headless? ( - ${COMMON_X_DEPEND} - >=app-accessibility/at-spi2-atk-2.26:2 - >=app-accessibility/at-spi2-core-2.26:2 - >=dev-libs/atk-2.26 - x11-libs/gtk+:3[X] - wayland? ( - dev-libs/wayland:= - dev-libs/libffi:= - x11-libs/gtk+:3[wayland,X] - x11-libs/libdrm:= - x11-libs/libxkbcommon:= - ) - ) -" -# For nvidia-drivers blocker, see bug #413637 . -RDEPEND="${COMMON_DEPEND} - x11-misc/xdg-utils - virtual/opengl - virtual/ttf-fonts - selinux? ( sec-policy/selinux-chromium ) - tcmalloc? ( !<x11-drivers/nvidia-drivers-331.20 ) -" -DEPEND="${COMMON_DEPEND} -" -# dev-vcs/git - https://bugs.gentoo.org/593476 -BDEPEND=" - ${PYTHON_DEPS} - >=app-arch/gzip-1.7 - app-arch/unzip - dev-lang/perl - >=dev-util/gn-0.1807 - dev-vcs/git - >=dev-util/gperf-3.0.3 - >=dev-util/ninja-1.7.2 - >=net-libs/nodejs-7.6.0[inspector] - sys-apps/hwids[usb(+)] - >=sys-devel/bison-2.4.3 - sys-devel/flex - virtual/pkgconfig - js-type-check? ( virtual/jre ) -" - -: ${CHROMIUM_FORCE_CLANG=yes} -: ${CHROMIUM_FORCE_LIBCXX=no} - -if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then - BDEPEND+=" >=sys-devel/clang-10" -fi - -if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - RDEPEND+=" >=sys-libs/libcxx-10" - DEPEND+=" >=sys-libs/libcxx-10" -else - COMMON_DEPEND=" - app-arch/snappy:= - dev-libs/libxslt:= - >=dev-libs/re2-0.2019.08.01:= - >=media-libs/openh264-1.6.0:= - system-icu? ( >=dev-libs/icu-67.1:= ) - " - RDEPEND+="${COMMON_DEPEND}" - DEPEND+="${COMMON_DEPEND}" -fi - -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then - EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; -fi - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -Some web pages may require additional fonts to display properly. -Try installing some of the following packages if some characters -are not displayed properly: -- media-fonts/arphicfonts -- media-fonts/droid -- media-fonts/ipamonafont -- media-fonts/noto -- media-fonts/ja-ipafonts -- media-fonts/takao-fonts -- media-fonts/wqy-microhei -- media-fonts/wqy-zenhei - -To fix broken icons on the Downloads page, you should install an icon -theme that covers the appropriate MIME types, and configure this as your -GTK+ icon theme. - -For native file dialogs in KDE, install kde-apps/kdialog. - -To make password storage work with your desktop environment you may -have install one of the supported credentials management applications: -- app-crypt/libsecret (GNOME) -- kde-frameworks/kwallet (KDE) -If you have one of above packages installed, but don't want to use -them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS -in /etc/chromium/default. -" - -PATCHES=( - "${FILESDIR}/chromium-78-protobuf-RepeatedPtrField-export.patch" - "${FILESDIR}/chromium-86-ConsumeDurationNumber-constexpr.patch" - "${FILESDIR}/chromium-87-std-max_align_t.patch" - "${FILESDIR}/chromium-88-compiler.patch" - "${FILESDIR}/chromium-88-dawn-size_t-std.patch" - "${FILESDIR}/chromium-90-blink-disable-clang-format.patch" - "${FILESDIR}/chromium-90-compositor-dcheck.patch" - "${FILESDIR}/chromium-90-quiche-uniqueptr.patch" - "${FILESDIR}/chromium-90-disable-nomerge.patch" - "${FILESDIR}/chromium-90-quantization-util-stdint.patch" - "${FILESDIR}/chromium-90-langdetect-include.patch" -) - -pre_build_checks() { - if [[ ${MERGE_TYPE} != binary ]]; then - local -x CPP="$(tc-getCXX) -E" - if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 9.2; then - die "At least gcc 9.2 is required" - fi - # component build hangs with tcmalloc enabled due to sandbox issue, bug #695976. - if has usersandbox ${FEATURES} && use tcmalloc && use component-build; then - die "Component build with tcmalloc requires FEATURES=-usersandbox." - fi - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || tc-is-clang; then - if use component-build; then - die "Component build with clang requires fuzzer headers." - fi - fi - fi - - # Check build requirements, bug #541816 and bug #471810 . - CHECKREQS_MEMORY="3G" - CHECKREQS_DISK_BUILD="7G" - if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then - if use custom-cflags || use component-build; then - CHECKREQS_DISK_BUILD="25G" - fi - if ! use component-build; then - CHECKREQS_MEMORY="16G" - fi - fi - check-reqs_pkg_setup -} - -pkg_pretend() { - pre_build_checks -} - -pkg_setup() { - pre_build_checks - - chromium_suid_sandbox_check_kernel_config - - # nvidia-drivers does not work correctly with Wayland due to unsupported EGLStreams - if use wayland && ! use headless && has_version "x11-drivers/nvidia-drivers"; then - ewarn "Proprietary nVidia driver does not work with Wayland. You can disable" - ewarn "Wayland by setting DISABLE_OZONE_PLATFORM=true in /etc/chromium/default." - fi -} - -src_prepare() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - default - - mkdir -p third_party/node/linux/node-linux-x64/bin || die - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die - - local 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 - 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/depot_tools/third_party - 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/puppeteer - third_party/devtools-frontend/src/front_end/third_party/marked - 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/flatbuffers - third_party/freetype - third_party/fusejs - third_party/libgav1 - third_party/libgifcodec - 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/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/vector - third_party/libaom/source/libaom/third_party/x86inc - third_party/libaom/source/libaom/third_party/fastfeat - third_party/libavif - third_party/libjingle - third_party/libphonenumber - third_party/libsecret - third_party/libsrtp - third_party/libsync - third_party/libva_protected_content - third_party/libudev - third_party/liburlpattern - 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/rnnoise - third_party/ruy - third_party/s2cellid - third_party/schema_org - 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/tint - third_party/tflite-support - third_party/tflite - third_party/tflite/src/third_party/eigen3 - third_party/tflite/src/third_party/fft2d - third_party/ukey2 - third_party/unrar - third_party/usrsctp - third_party/utf - third_party/vulkan - third_party/web-animations-js - third_party/webdriver - 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 - ) - if ! use system-ffmpeg; then - keeplibs+=( third_party/ffmpeg third_party/opus ) - fi - if ! use system-icu; then - keeplibs+=( third_party/icu ) - fi - if ! use system-libvpx; then - keeplibs+=( third_party/libvpx ) - keeplibs+=( third_party/libvpx/source/libvpx/third_party/x86inc ) - - # we need to generate ppc64 stuff because upstream does not ship it yet - # it has to be done before unbundling. - if use ppc64; then - pushd third_party/libvpx >/dev/null || die - mkdir -p source/config/linux/ppc64 || die - ./generate_gni.sh || die - popd >/dev/null || die - fi - fi - if use tcmalloc; then - keeplibs+=( third_party/tcmalloc ) - fi - if use wayland && ! use headless ; then - keeplibs+=( third_party/wayland ) - fi - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - keeplibs+=( third_party/libxml ) - keeplibs+=( third_party/libxslt ) - keeplibs+=( third_party/openh264 ) - keeplibs+=( third_party/re2 ) - keeplibs+=( third_party/snappy ) - if use system-icu; then - keeplibs+=( third_party/icu ) - fi - fi - if use arm64 || use ppc64 ; then - keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 ) - fi - # Remove most bundled libraries. Some are still needed. - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die -} - -src_configure() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local myconf_gn="" - - # Make sure the build system will use the right tools, bug #340795. - tc-export AR CC CXX NM - - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] && ! tc-is-clang; then - # Force clang since gcc is pretty broken at the moment. - CC=${CHOST}-clang - CXX=${CHOST}-clang++ - strip-unsupported-flags - fi - - if tc-is-clang; then - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" - else - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - die "Compiling with sys-libs/libcxx requires clang." - fi - myconf_gn+=" is_clang=false" - fi - - # Define a custom toolchain for GN - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" - - if tc-is-cross-compiler; then - tc-export BUILD_{AR,CC,CXX,NM} - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" - else - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - fi - - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - myconf_gn+=" is_debug=false" - - # Component build isn't generally intended for use by end users. It's mostly useful - # for development and debugging. - myconf_gn+=" is_component_build=$(usex component-build true false)" - - myconf_gn+=" use_allocator=$(usex tcmalloc \"tcmalloc\" \"none\")" - - # Disable nacl, we can't build without pnacl (http://crbug.com/269560). - myconf_gn+=" enable_nacl=false" - - # Use system-provided libraries. - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_libsrtp (bug #459932). - # TODO: use_system_protobuf (bug #525560). - # TODO: use_system_ssl (http://crbug.com/58087). - # TODO: use_system_sqlite (http://crbug.com/22208). - - # libevent: https://bugs.gentoo.org/593458 - local gn_system_libraries=( - flac - fontconfig - freetype - # Need harfbuzz_from_pkgconfig target - #harfbuzz-ng - libdrm - libjpeg - libpng - libwebp - zlib - ) - if use system-ffmpeg; then - gn_system_libraries+=( ffmpeg opus ) - fi - if use system-icu; then - gn_system_libraries+=( icu ) - fi - if use system-libvpx; then - gn_system_libraries+=( libvpx ) - fi - if [[ ${CHROMIUM_FORCE_LIBCXX} != yes ]]; then - # unbundle only without libc++, because libc++ is not fully ABI compatible with libstdc++ - gn_system_libraries+=( libxml ) - gn_system_libraries+=( libxslt ) - gn_system_libraries+=( openh264 ) - gn_system_libraries+=( re2 ) - gn_system_libraries+=( snappy ) - fi - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die - - # See dependency logic in third_party/BUILD.gn - myconf_gn+=" use_system_harfbuzz=true" - - # Disable deprecated libgnome-keyring dependency, bug #713012 - myconf_gn+=" use_gnome_keyring=false" - - # Optional dependencies. - myconf_gn+=" enable_js_type_check=$(usex js-type-check true false)" - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" - myconf_gn+=" enable_widevine=$(usex widevine true false)" - myconf_gn+=" use_cups=$(usex cups true false)" - myconf_gn+=" use_kerberos=$(usex kerberos true false)" - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" - myconf_gn+=" use_vaapi=$(usex vaapi true false)" - - # TODO: link_pulseaudio=true for GN. - - myconf_gn+=" fieldtrial_testing_like_official_build=true" - - # Never use bundled gold binary. Disable gold linker flags for now. - # Do not use bundled clang. - # Trying to use gold results in linker crash. - myconf_gn+=" use_gold=false use_sysroot=false use_custom_libcxx=false" - - # Disable forced lld, bug 641556 - myconf_gn+=" use_lld=false" - - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" - - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . - # Note: these are for Gentoo use ONLY. For your own distribution, - # please get your own set of keys. Feel free to contact chromium@gentoo.org - # for more info. - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" - local google_default_client_id="329227923882.apps.googleusercontent.com" - local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu" - myconf_gn+=" google_api_key=\"${google_api_key}\"" - myconf_gn+=" google_default_client_id=\"${google_default_client_id}\"" - myconf_gn+=" google_default_client_secret=\"${google_default_client_secret}\"" - local myarch="$(tc-arch)" - - # Avoid CFLAGS problems, bug #352457, bug #390147. - if ! use custom-cflags; then - replace-flags "-Os" "-O2" - strip-flags - - # Debug info section overflows without component build - # Prevent linker from running out of address space, bug #471810 . - if ! use component-build || use x86; then - filter-flags "-g*" - fi - - # Prevent libvpx build failures. Bug 530248, 544702, 546984. - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4 - fi - fi - - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - append-flags -stdlib=libc++ - append-ldflags -stdlib=libc++ - fi - - if [[ $myarch = amd64 ]] ; then - myconf_gn+=" target_cpu=\"x64\"" - ffmpeg_target_arch=x64 - elif [[ $myarch = x86 ]] ; then - myconf_gn+=" target_cpu=\"x86\"" - ffmpeg_target_arch=ia32 - - # This is normally defined by compiler_cpu_abi in - # build/config/compiler/BUILD.gn, but we patch that part out. - append-flags -msse2 -mfpmath=sse -mmmx - elif [[ $myarch = arm64 ]] ; then - myconf_gn+=" target_cpu=\"arm64\"" - ffmpeg_target_arch=arm64 - elif [[ $myarch = arm ]] ; then - myconf_gn+=" target_cpu=\"arm\"" - ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm) - elif [[ $myarch = ppc64 ]] ; then - myconf_gn+=" target_cpu=\"ppc64\"" - ffmpeg_target_arch=ppc64 - else - 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" - - # Bug 491582. - export TMPDIR="${WORKDIR}/temp" - mkdir -p -m 755 "${TMPDIR}" || die - - # https://bugs.gentoo.org/654216 - addpredict /dev/dri/ #nowarn - - #if ! use system-ffmpeg; then - if false; then - local build_ffmpeg_args="" - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then - build_ffmpeg_args+=" --disable-asm" - fi - - # Re-configure bundled ffmpeg. See bug #491378 for example reasons. - einfo "Configuring bundled ffmpeg..." - pushd third_party/ffmpeg > /dev/null || die - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \ - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die - chromium/scripts/copy_config.sh || die - chromium/scripts/generate_gn.py || die - popd > /dev/null || die - fi - - # Chromium relies on this, but was disabled in >=clang-10, crbug.com/1042470 - append-cxxflags $(test-flags-CXX -flax-vector-conversions=all) - - # Disable unknown warning message from clang. - tc-is-clang && append-flags -Wno-unknown-warning-option - - # Explicitly disable ICU data file support for system-icu builds. - if use system-icu; then - myconf_gn+=" icu_use_data_file=false" - fi - - # Enable ozone wayland and/or headless support - if use wayland || use headless; then - myconf_gn+=" use_ozone=true ozone_auto_platforms=false" - myconf_gn+=" ozone_platform_headless=true" - if use headless; then - myconf_gn+=" ozone_platform=\"headless\"" - myconf_gn+=" use_x11=false" - else - myconf_gn+=" ozone_platform_wayland=true" - myconf_gn+=" use_system_libdrm=true" - myconf_gn+=" use_system_minigbm=true" - myconf_gn+=" use_xkbcommon=true" - myconf_gn+=" ozone_platform=\"wayland\"" - fi - else - myconf_gn+=" use_ozone=false" - fi - - # Enable official builds - myconf_gn+=" is_official_build=$(usex official true false)" - if use official; then - # 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 - myconf_gn+=" is_cfi=false" - fi - - einfo "Configuring Chromium..." - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release - echo "$@" - "$@" || die -} - -src_compile() { - # Final link uses lots of file descriptors. - ulimit -n 2048 - - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - # https://bugs.gentoo.org/717456 - local -x PYTHONPATH="${WORKDIR}/setuptools-44.1.0:${PYTHONPATH+:}${PYTHONPATH}" - - #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die - - # Build mksnapshot and pax-mark it. - local x - for x in mksnapshot v8_context_snapshot_generator; do - if tc-is-cross-compiler; then - eninja -C out/Release "host/${x}" - pax-mark m "out/Release/host/${x}" - else - eninja -C out/Release "${x}" - pax-mark m "out/Release/${x}" - fi - done - - export HTTP_PROXY=127.0.0.1:8123 - export HTTPS_PROXY=127.0.0.1:8123 - export http_proxy=127.0.0.1:8123 - export https_proxy=127.0.0.1:8123 - - # Even though ninja autodetects number of CPUs, we respect - # user's options, for debugging with -j 1 or any other reason. - eninja -C out/Release chrome chromedriver - use suid && eninja -C out/Release chrome_sandbox - - pax-mark m out/Release/chrome - - # Build manpage; bug #684550 - sed -e 's|@@PACKAGE@@|chromium-browser|g; - s|@@MENUNAME@@|Chromium|g;' \ - chrome/app/resources/manpage.1.in > \ - out/Release/chromium-browser.1 || die - - # Build desktop file; bug #706786 - sed -e 's|@@MENUNAME@@|Chromium|g; - s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g; - s|@@PACKAGE@@|chromium-browser|g; - s|\(^Exec=\)/usr/bin/|\1|g;' \ - chrome/installer/linux/common/desktop.template > \ - out/Release/chromium-browser-chromium.desktop || die -} - -src_install() { - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" - exeinto "${CHROMIUM_HOME}" - doexe out/Release/chrome - - if use suid; then - newexe out/Release/chrome_sandbox chrome-sandbox - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" - fi - - doexe out/Release/chromedriver - - local sedargs=( -e - "s:/usr/lib/:/usr/$(get_libdir)/:g; - s:@@OZONE_AUTO_SESSION@@:$(usex wayland true false):g; - s:@@FORCE_OZONE_PLATFORM@@:$(usex headless true false):g" - ) - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r6.sh" > chromium-launcher.sh || die - doexe chromium-launcher.sh - - # It is important that we name the target "chromium-browser", - # xdg-utils expect it; bug #355517. - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser - # keep the old symlink around for consistency - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium - - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver - - # Allow users to override command-line options, bug #357629. - insinto /etc/chromium - newins "${FILESDIR}/chromium.default" "default" - - pushd out/Release/locales > /dev/null || die - chromium_remove_language_paks - popd - - insinto "${CHROMIUM_HOME}" - doins out/Release/*.bin - doins out/Release/*.pak - ( - shopt -s nullglob - local files=(out/Release/*.so) - [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}" - ) - - if ! use system-icu; then - doins out/Release/icudtl.dat - fi - - doins -r out/Release/locales - doins -r out/Release/resources - - if [[ -d out/Release/swiftshader ]]; then - insinto "${CHROMIUM_HOME}/swiftshader" - doins out/Release/swiftshader/*.so - fi - - # Install icons - local branding size - for size in 16 24 32 48 64 128 256 ; do - case ${size} in - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; - *) branding="chrome/app/theme/chromium" ;; - esac - newicon -s ${size} "${branding}/product_logo_${size}.png" \ - chromium-browser.png - done - - # Install desktop entry - domenu out/Release/chromium-browser-chromium.desktop - - # Install GNOME default application entry (bug #303100). - insinto /usr/share/gnome-control-center/default-apps - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml - - # Install manpage; bug #684550 - doman out/Release/chromium-browser.1 - dosym chromium-browser.1 /usr/share/man/man1/chromium.1 - - readme.gentoo_create_doc -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_desktop_database_update -} - -pkg_postinst() { - xdg_icon_cache_update - xdg_desktop_database_update - readme.gentoo_print_elog -} diff --git a/www-client/chromium/chromium-91.0.4442.4.ebuild b/www-client/chromium/chromium-91.0.4442.4.ebuild deleted file mode 100644 index d6e872a..0000000 --- a/www-client/chromium/chromium-91.0.4442.4.ebuild +++ /dev/null @@ -1,910 +0,0 @@ -# Copyright 2009-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python2_7 ) - -CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - 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 vi zh-CN zh-TW" - -inherit check-reqs chromium-2 desktop flag-o-matic multilib ninja-utils pax-utils portability python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="https://chromium.org/" -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz - https://files.pythonhosted.org/packages/ed/7b/bbf89ca71e722b7f9464ebffe4b5ee20a9e5c9a555a56e2d3914bb9119a6/setuptools-44.1.0.zip" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" -IUSE="component-build cups cpu_flags_arm_neon +hangouts headless js-type-check kerberos official pic +proprietary-codecs pulseaudio selinux +suid +system-ffmpeg +system-icu +system-libvpx +tcmalloc wayland widevine vaapi" -RESTRICT="!system-ffmpeg? ( proprietary-codecs? ( bindist ) )" -REQUIRED_USE=" - component-build? ( !suid ) -" - -COMMON_X_DEPEND=" - media-libs/mesa:=[gbm] - x11-libs/libX11:= - x11-libs/libXcomposite:= - x11-libs/libXcursor:= - x11-libs/libXdamage:= - x11-libs/libXext:= - x11-libs/libXfixes:= - >=x11-libs/libXi-1.6.0:= - x11-libs/libXrandr:= - x11-libs/libXrender:= - x11-libs/libXtst:= - x11-libs/libXScrnSaver:= - x11-libs/libxcb:= -" - -COMMON_DEPEND=" - app-arch/bzip2:= - cups? ( >=net-print/cups-1.3.11:= ) - dev-libs/expat:= - dev-libs/glib:2 - >=dev-libs/libxml2-2.9.4-r3:=[icu] - dev-libs/nspr:= - >=dev-libs/nss-3.26:= - >=media-libs/alsa-lib-1.0.19:= - media-libs/fontconfig:= - media-libs/freetype:= - >=media-libs/harfbuzz-2.4.0:0=[icu(-)] - media-libs/libjpeg-turbo:= - media-libs/libpng:= - system-libvpx? ( >=media-libs/libvpx-1.8.2:=[postproc] ) - pulseaudio? ( media-sound/pulseaudio:= ) - system-ffmpeg? ( - >=media-video/ffmpeg-4.3:= - || ( - media-video/ffmpeg[-samba] - >=net-fs/samba-4.5.10-r1[-debug(-)] - ) - >=media-libs/opus-1.3.1:= - ) - sys-apps/dbus:= - sys-apps/pciutils:= - virtual/udev - x11-libs/cairo:= - x11-libs/gdk-pixbuf:2 - x11-libs/pango:= - media-libs/flac:= - >=media-libs/libwebp-0.4.0:= - sys-libs/zlib:=[minizip] - kerberos? ( virtual/krb5 ) - !headless? ( - ${COMMON_X_DEPEND} - >=app-accessibility/at-spi2-atk-2.26:2 - >=app-accessibility/at-spi2-core-2.26:2 - >=dev-libs/atk-2.26 - x11-libs/gtk+:3[X] - wayland? ( - dev-libs/wayland:= - dev-libs/libffi:= - x11-libs/gtk+:3[wayland,X] - x11-libs/libdrm:= - x11-libs/libxkbcommon:= - ) - ) -" -# For nvidia-drivers blocker, see bug #413637 . -RDEPEND="${COMMON_DEPEND} - x11-misc/xdg-utils - virtual/opengl - virtual/ttf-fonts - selinux? ( sec-policy/selinux-chromium ) - tcmalloc? ( !<x11-drivers/nvidia-drivers-331.20 ) -" -DEPEND="${COMMON_DEPEND} -" -# dev-vcs/git - https://bugs.gentoo.org/593476 -BDEPEND=" - ${PYTHON_DEPS} - >=app-arch/gzip-1.7 - app-arch/unzip - dev-lang/perl - >=dev-util/gn-0.1807 - dev-vcs/git - >=dev-util/gperf-3.0.3 - >=dev-util/ninja-1.7.2 - >=net-libs/nodejs-7.6.0[inspector] - sys-apps/hwids[usb(+)] - >=sys-devel/bison-2.4.3 - sys-devel/flex - virtual/pkgconfig - js-type-check? ( virtual/jre ) -" - -: ${CHROMIUM_FORCE_CLANG=yes} -: ${CHROMIUM_FORCE_LIBCXX=no} - -if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then - BDEPEND+=" >=sys-devel/clang-10" -fi - -if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - RDEPEND+=" >=sys-libs/libcxx-10" - DEPEND+=" >=sys-libs/libcxx-10" -else - COMMON_DEPEND=" - app-arch/snappy:= - dev-libs/libxslt:= - >=dev-libs/re2-0.2019.08.01:= - >=media-libs/openh264-1.6.0:= - system-icu? ( >=dev-libs/icu-67.1:= ) - " - RDEPEND+="${COMMON_DEPEND}" - DEPEND+="${COMMON_DEPEND}" -fi - -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then - EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; -fi - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -Some web pages may require additional fonts to display properly. -Try installing some of the following packages if some characters -are not displayed properly: -- media-fonts/arphicfonts -- media-fonts/droid -- media-fonts/ipamonafont -- media-fonts/noto -- media-fonts/ja-ipafonts -- media-fonts/takao-fonts -- media-fonts/wqy-microhei -- media-fonts/wqy-zenhei - -To fix broken icons on the Downloads page, you should install an icon -theme that covers the appropriate MIME types, and configure this as your -GTK+ icon theme. - -For native file dialogs in KDE, install kde-apps/kdialog. - -To make password storage work with your desktop environment you may -have install one of the supported credentials management applications: -- app-crypt/libsecret (GNOME) -- kde-frameworks/kwallet (KDE) -If you have one of above packages installed, but don't want to use -them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS -in /etc/chromium/default. -" - -PATCHES=( - "${FILESDIR}/chromium-78-protobuf-RepeatedPtrField-export.patch" - "${FILESDIR}/chromium-86-ConsumeDurationNumber-constexpr.patch" - "${FILESDIR}/chromium-87-std-max_align_t.patch" - "${FILESDIR}/chromium-88-compiler.patch" - "${FILESDIR}/chromium-88-dawn-size_t-std.patch" - "${FILESDIR}/chromium-90-blink-disable-clang-format.patch" - "${FILESDIR}/chromium-90-compositor-dcheck.patch" - "${FILESDIR}/chromium-90-quiche-uniqueptr.patch" - "${FILESDIR}/chromium-91-disable-nomerge.patch" - "${FILESDIR}/chromium-91-clipboard-ozone.patch" -) - -pre_build_checks() { - if [[ ${MERGE_TYPE} != binary ]]; then - local -x CPP="$(tc-getCXX) -E" - if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 9.2; then - die "At least gcc 9.2 is required" - fi - # component build hangs with tcmalloc enabled due to sandbox issue, bug #695976. - if has usersandbox ${FEATURES} && use tcmalloc && use component-build; then - die "Component build with tcmalloc requires FEATURES=-usersandbox." - fi - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || tc-is-clang; then - if use component-build; then - die "Component build with clang requires fuzzer headers." - fi - fi - fi - - # Check build requirements, bug #541816 and bug #471810 . - CHECKREQS_MEMORY="3G" - CHECKREQS_DISK_BUILD="7G" - if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then - if use custom-cflags || use component-build; then - CHECKREQS_DISK_BUILD="25G" - fi - if ! use component-build; then - CHECKREQS_MEMORY="16G" - fi - fi - check-reqs_pkg_setup -} - -pkg_pretend() { - pre_build_checks -} - -pkg_setup() { - pre_build_checks - - chromium_suid_sandbox_check_kernel_config - - # nvidia-drivers does not work correctly with Wayland due to unsupported EGLStreams - if use wayland && ! use headless && has_version "x11-drivers/nvidia-drivers"; then - ewarn "Proprietary nVidia driver does not work with Wayland. You can disable" - ewarn "Wayland by setting DISABLE_OZONE_PLATFORM=true in /etc/chromium/default." - fi -} - -src_prepare() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - default - - mkdir -p third_party/node/linux/node-linux-x64/bin || die - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die - - local 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 - 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/depot_tools/third_party - 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/puppeteer - third_party/devtools-frontend/src/front_end/third_party/marked - 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/flatbuffers - third_party/freetype - third_party/fusejs - third_party/libgav1 - third_party/libgifcodec - 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/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/vector - third_party/libaom/source/libaom/third_party/x86inc - third_party/libaom/source/libaom/third_party/fastfeat - third_party/libavif - third_party/libjingle - third_party/libphonenumber - third_party/libsecret - third_party/libsrtp - third_party/libsync - third_party/libva_protected_content - third_party/libudev - third_party/liburlpattern - 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/rnnoise - third_party/ruy - third_party/s2cellid - third_party/schema_org - 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/tint - third_party/tflite-support - third_party/tflite - third_party/tflite/src/third_party/eigen3 - third_party/tflite/src/third_party/fft2d - third_party/ukey2 - third_party/unrar - third_party/usrsctp - third_party/utf - third_party/vulkan - third_party/web-animations-js - third_party/webdriver - 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 - ) - if ! use system-ffmpeg; then - keeplibs+=( third_party/ffmpeg third_party/opus ) - fi - if ! use system-icu; then - keeplibs+=( third_party/icu ) - fi - if ! use system-libvpx; then - keeplibs+=( third_party/libvpx ) - keeplibs+=( third_party/libvpx/source/libvpx/third_party/x86inc ) - - # we need to generate ppc64 stuff because upstream does not ship it yet - # it has to be done before unbundling. - if use ppc64; then - pushd third_party/libvpx >/dev/null || die - mkdir -p source/config/linux/ppc64 || die - ./generate_gni.sh || die - popd >/dev/null || die - fi - fi - if use tcmalloc; then - keeplibs+=( third_party/tcmalloc ) - fi - if use wayland && ! use headless ; then - keeplibs+=( third_party/wayland ) - fi - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - keeplibs+=( third_party/libxml ) - keeplibs+=( third_party/libxslt ) - keeplibs+=( third_party/openh264 ) - keeplibs+=( third_party/re2 ) - keeplibs+=( third_party/snappy ) - if use system-icu; then - keeplibs+=( third_party/icu ) - fi - fi - if use arm64 || use ppc64 ; then - keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 ) - fi - # Remove most bundled libraries. Some are still needed. - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die -} - -src_configure() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local myconf_gn="" - - # Make sure the build system will use the right tools, bug #340795. - tc-export AR CC CXX NM - - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] && ! tc-is-clang; then - # Force clang since gcc is pretty broken at the moment. - CC=${CHOST}-clang - CXX=${CHOST}-clang++ - strip-unsupported-flags - fi - - if tc-is-clang; then - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" - else - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - die "Compiling with sys-libs/libcxx requires clang." - fi - myconf_gn+=" is_clang=false" - fi - - # Define a custom toolchain for GN - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" - - if tc-is-cross-compiler; then - tc-export BUILD_{AR,CC,CXX,NM} - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" - else - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - fi - - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - myconf_gn+=" is_debug=false" - - # Component build isn't generally intended for use by end users. It's mostly useful - # for development and debugging. - myconf_gn+=" is_component_build=$(usex component-build true false)" - - myconf_gn+=" use_allocator=$(usex tcmalloc \"tcmalloc\" \"none\")" - - # Disable nacl, we can't build without pnacl (http://crbug.com/269560). - myconf_gn+=" enable_nacl=false" - - # Use system-provided libraries. - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_libsrtp (bug #459932). - # TODO: use_system_protobuf (bug #525560). - # TODO: use_system_ssl (http://crbug.com/58087). - # TODO: use_system_sqlite (http://crbug.com/22208). - - # libevent: https://bugs.gentoo.org/593458 - local gn_system_libraries=( - flac - fontconfig - freetype - # Need harfbuzz_from_pkgconfig target - #harfbuzz-ng - libdrm - libjpeg - libpng - libwebp - zlib - ) - if use system-ffmpeg; then - gn_system_libraries+=( ffmpeg opus ) - fi - if use system-icu; then - gn_system_libraries+=( icu ) - fi - if use system-libvpx; then - gn_system_libraries+=( libvpx ) - fi - if [[ ${CHROMIUM_FORCE_LIBCXX} != yes ]]; then - # unbundle only without libc++, because libc++ is not fully ABI compatible with libstdc++ - gn_system_libraries+=( libxml ) - gn_system_libraries+=( libxslt ) - gn_system_libraries+=( openh264 ) - gn_system_libraries+=( re2 ) - gn_system_libraries+=( snappy ) - fi - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die - - # See dependency logic in third_party/BUILD.gn - myconf_gn+=" use_system_harfbuzz=true" - - # Disable deprecated libgnome-keyring dependency, bug #713012 - myconf_gn+=" use_gnome_keyring=false" - - # Optional dependencies. - myconf_gn+=" enable_js_type_check=$(usex js-type-check true false)" - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" - myconf_gn+=" enable_widevine=$(usex widevine true false)" - myconf_gn+=" use_cups=$(usex cups true false)" - myconf_gn+=" use_kerberos=$(usex kerberos true false)" - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" - myconf_gn+=" use_vaapi=$(usex vaapi true false)" - - # TODO: link_pulseaudio=true for GN. - - myconf_gn+=" fieldtrial_testing_like_official_build=true" - - # Never use bundled gold binary. Disable gold linker flags for now. - # Do not use bundled clang. - # Trying to use gold results in linker crash. - myconf_gn+=" use_gold=false use_sysroot=false use_custom_libcxx=false" - - # Disable forced lld, bug 641556 - myconf_gn+=" use_lld=false" - - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" - - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . - # Note: these are for Gentoo use ONLY. For your own distribution, - # please get your own set of keys. Feel free to contact chromium@gentoo.org - # for more info. - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" - local google_default_client_id="329227923882.apps.googleusercontent.com" - local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu" - myconf_gn+=" google_api_key=\"${google_api_key}\"" - myconf_gn+=" google_default_client_id=\"${google_default_client_id}\"" - myconf_gn+=" google_default_client_secret=\"${google_default_client_secret}\"" - local myarch="$(tc-arch)" - - # Avoid CFLAGS problems, bug #352457, bug #390147. - if ! use custom-cflags; then - replace-flags "-Os" "-O2" - strip-flags - - # Debug info section overflows without component build - # Prevent linker from running out of address space, bug #471810 . - if ! use component-build || use x86; then - filter-flags "-g*" - fi - - # Prevent libvpx build failures. Bug 530248, 544702, 546984. - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4 - fi - fi - - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - append-flags -stdlib=libc++ - append-ldflags -stdlib=libc++ - fi - - if [[ $myarch = amd64 ]] ; then - myconf_gn+=" target_cpu=\"x64\"" - ffmpeg_target_arch=x64 - elif [[ $myarch = x86 ]] ; then - myconf_gn+=" target_cpu=\"x86\"" - ffmpeg_target_arch=ia32 - - # This is normally defined by compiler_cpu_abi in - # build/config/compiler/BUILD.gn, but we patch that part out. - append-flags -msse2 -mfpmath=sse -mmmx - elif [[ $myarch = arm64 ]] ; then - myconf_gn+=" target_cpu=\"arm64\"" - ffmpeg_target_arch=arm64 - elif [[ $myarch = arm ]] ; then - myconf_gn+=" target_cpu=\"arm\"" - ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm) - elif [[ $myarch = ppc64 ]] ; then - myconf_gn+=" target_cpu=\"ppc64\"" - ffmpeg_target_arch=ppc64 - else - 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" - - # Bug 491582. - export TMPDIR="${WORKDIR}/temp" - mkdir -p -m 755 "${TMPDIR}" || die - - # https://bugs.gentoo.org/654216 - addpredict /dev/dri/ #nowarn - - #if ! use system-ffmpeg; then - if false; then - local build_ffmpeg_args="" - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then - build_ffmpeg_args+=" --disable-asm" - fi - - # Re-configure bundled ffmpeg. See bug #491378 for example reasons. - einfo "Configuring bundled ffmpeg..." - pushd third_party/ffmpeg > /dev/null || die - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \ - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die - chromium/scripts/copy_config.sh || die - chromium/scripts/generate_gn.py || die - popd > /dev/null || die - fi - - # Chromium relies on this, but was disabled in >=clang-10, crbug.com/1042470 - append-cxxflags $(test-flags-CXX -flax-vector-conversions=all) - - # Disable unknown warning message from clang. - tc-is-clang && append-flags -Wno-unknown-warning-option - - # Explicitly disable ICU data file support for system-icu builds. - if use system-icu; then - myconf_gn+=" icu_use_data_file=false" - fi - - # Enable ozone wayland and/or headless support - if use wayland || use headless; then - myconf_gn+=" use_ozone=true ozone_auto_platforms=false" - myconf_gn+=" ozone_platform_headless=true" - if use headless; then - myconf_gn+=" ozone_platform=\"headless\"" - myconf_gn+=" use_x11=false" - else - myconf_gn+=" ozone_platform_wayland=true" - myconf_gn+=" use_system_libdrm=true" - myconf_gn+=" use_system_minigbm=true" - myconf_gn+=" use_xkbcommon=true" - myconf_gn+=" ozone_platform=\"wayland\"" - fi - else - myconf_gn+=" use_ozone=false" - fi - - # Enable official builds - myconf_gn+=" is_official_build=$(usex official true false)" - if use official; then - # 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 - myconf_gn+=" is_cfi=false" - fi - - einfo "Configuring Chromium..." - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release - echo "$@" - "$@" || die -} - -src_compile() { - # Final link uses lots of file descriptors. - ulimit -n 2048 - - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - # https://bugs.gentoo.org/717456 - local -x PYTHONPATH="${WORKDIR}/setuptools-44.1.0:${PYTHONPATH+:}${PYTHONPATH}" - - #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die - - # Build mksnapshot and pax-mark it. - local x - for x in mksnapshot v8_context_snapshot_generator; do - if tc-is-cross-compiler; then - eninja -C out/Release "host/${x}" - pax-mark m "out/Release/host/${x}" - else - eninja -C out/Release "${x}" - pax-mark m "out/Release/${x}" - fi - done - - export HTTP_PROXY=127.0.0.1:8123 - export HTTPS_PROXY=127.0.0.1:8123 - export http_proxy=127.0.0.1:8123 - export https_proxy=127.0.0.1:8123 - - # Even though ninja autodetects number of CPUs, we respect - # user's options, for debugging with -j 1 or any other reason. - eninja -C out/Release chrome chromedriver - use suid && eninja -C out/Release chrome_sandbox - - pax-mark m out/Release/chrome - - # Build manpage; bug #684550 - sed -e 's|@@PACKAGE@@|chromium-browser|g; - s|@@MENUNAME@@|Chromium|g;' \ - chrome/app/resources/manpage.1.in > \ - out/Release/chromium-browser.1 || die - - # Build desktop file; bug #706786 - sed -e 's|@@MENUNAME@@|Chromium|g; - s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g; - s|@@PACKAGE@@|chromium-browser|g; - s|\(^Exec=\)/usr/bin/|\1|g;' \ - chrome/installer/linux/common/desktop.template > \ - out/Release/chromium-browser-chromium.desktop || die -} - -src_install() { - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" - exeinto "${CHROMIUM_HOME}" - doexe out/Release/chrome - - if use suid; then - newexe out/Release/chrome_sandbox chrome-sandbox - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" - fi - - doexe out/Release/chromedriver - - local sedargs=( -e - "s:/usr/lib/:/usr/$(get_libdir)/:g; - s:@@OZONE_AUTO_SESSION@@:$(usex wayland true false):g; - s:@@FORCE_OZONE_PLATFORM@@:$(usex headless true false):g" - ) - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r6.sh" > chromium-launcher.sh || die - doexe chromium-launcher.sh - - # It is important that we name the target "chromium-browser", - # xdg-utils expect it; bug #355517. - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser - # keep the old symlink around for consistency - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium - - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver - - # Allow users to override command-line options, bug #357629. - insinto /etc/chromium - newins "${FILESDIR}/chromium.default" "default" - - pushd out/Release/locales > /dev/null || die - chromium_remove_language_paks - popd - - insinto "${CHROMIUM_HOME}" - doins out/Release/*.bin - doins out/Release/*.pak - ( - shopt -s nullglob - local files=(out/Release/*.so) - [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}" - ) - - if ! use system-icu; then - doins out/Release/icudtl.dat - fi - - doins -r out/Release/locales - doins -r out/Release/resources - - if [[ -d out/Release/swiftshader ]]; then - insinto "${CHROMIUM_HOME}/swiftshader" - doins out/Release/swiftshader/*.so - fi - - # Install icons - local branding size - for size in 16 24 32 48 64 128 256 ; do - case ${size} in - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; - *) branding="chrome/app/theme/chromium" ;; - esac - newicon -s ${size} "${branding}/product_logo_${size}.png" \ - chromium-browser.png - done - - # Install desktop entry - domenu out/Release/chromium-browser-chromium.desktop - - # Install GNOME default application entry (bug #303100). - insinto /usr/share/gnome-control-center/default-apps - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml - - # Install manpage; bug #684550 - doman out/Release/chromium-browser.1 - dosym chromium-browser.1 /usr/share/man/man1/chromium.1 - - readme.gentoo_create_doc -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_desktop_database_update -} - -pkg_postinst() { - xdg_icon_cache_update - xdg_desktop_database_update - readme.gentoo_print_elog -} diff --git a/www-client/chromium/chromium-91.0.4469.4.ebuild b/www-client/chromium/chromium-91.0.4469.4.ebuild deleted file mode 100644 index 43245a7..0000000 --- a/www-client/chromium/chromium-91.0.4469.4.ebuild +++ /dev/null @@ -1,917 +0,0 @@ -# Copyright 2009-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python3_9 ) - -CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - 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 vi zh-CN zh-TW" - -inherit check-reqs chromium-2 desktop flag-o-matic multilib ninja-utils pax-utils portability python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="https://chromium.org/" -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz - https://files.pythonhosted.org/packages/ed/7b/bbf89ca71e722b7f9464ebffe4b5ee20a9e5c9a555a56e2d3914bb9119a6/setuptools-44.1.0.zip" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" -IUSE="component-build cups cpu_flags_arm_neon +hangouts headless js-type-check kerberos official pic +proprietary-codecs pulseaudio selinux +suid +system-ffmpeg +system-icu +system-libvpx +tcmalloc wayland widevine vaapi" -RESTRICT="!system-ffmpeg? ( proprietary-codecs? ( bindist ) )" -REQUIRED_USE=" - component-build? ( !suid ) -" - -COMMON_X_DEPEND=" - media-libs/mesa:=[gbm] - x11-libs/libX11:= - x11-libs/libXcomposite:= - x11-libs/libXcursor:= - x11-libs/libXdamage:= - x11-libs/libXext:= - x11-libs/libXfixes:= - >=x11-libs/libXi-1.6.0:= - x11-libs/libXrandr:= - x11-libs/libXrender:= - x11-libs/libXtst:= - x11-libs/libXScrnSaver:= - x11-libs/libxcb:= -" - -COMMON_DEPEND=" - app-arch/bzip2:= - cups? ( >=net-print/cups-1.3.11:= ) - dev-libs/expat:= - dev-libs/glib:2 - >=dev-libs/libxml2-2.9.4-r3:=[icu] - dev-libs/nspr:= - >=dev-libs/nss-3.26:= - >=media-libs/alsa-lib-1.0.19:= - media-libs/fontconfig:= - media-libs/freetype:= - >=media-libs/harfbuzz-2.4.0:0=[icu(-)] - media-libs/libjpeg-turbo:= - media-libs/libpng:= - system-libvpx? ( >=media-libs/libvpx-1.8.2:=[postproc] ) - pulseaudio? ( media-sound/pulseaudio:= ) - system-ffmpeg? ( - >=media-video/ffmpeg-4.3:= - || ( - media-video/ffmpeg[-samba] - >=net-fs/samba-4.5.10-r1[-debug(-)] - ) - >=media-libs/opus-1.3.1:= - ) - sys-apps/dbus:= - sys-apps/pciutils:= - virtual/udev - x11-libs/cairo:= - x11-libs/gdk-pixbuf:2 - x11-libs/pango:= - media-libs/flac:= - >=media-libs/libwebp-0.4.0:= - sys-libs/zlib:=[minizip] - kerberos? ( virtual/krb5 ) - !headless? ( - ${COMMON_X_DEPEND} - >=app-accessibility/at-spi2-atk-2.26:2 - >=app-accessibility/at-spi2-core-2.26:2 - >=dev-libs/atk-2.26 - x11-libs/gtk+:3[X] - wayland? ( - dev-libs/wayland:= - dev-libs/libffi:= - x11-libs/gtk+:3[wayland,X] - x11-libs/libdrm:= - x11-libs/libxkbcommon:= - ) - ) -" -# For nvidia-drivers blocker, see bug #413637 . -RDEPEND="${COMMON_DEPEND} - x11-misc/xdg-utils - virtual/opengl - virtual/ttf-fonts - selinux? ( sec-policy/selinux-chromium ) - tcmalloc? ( !<x11-drivers/nvidia-drivers-331.20 ) -" -DEPEND="${COMMON_DEPEND} -" -# dev-vcs/git - https://bugs.gentoo.org/593476 -BDEPEND=" - ${PYTHON_DEPS} - >=app-arch/gzip-1.7 - app-arch/unzip - dev-lang/perl - >=dev-util/gn-0.1807 - dev-vcs/git - >=dev-util/gperf-3.0.3 - >=dev-util/ninja-1.7.2 - >=net-libs/nodejs-7.6.0[inspector] - sys-apps/hwids[usb(+)] - >=sys-devel/bison-2.4.3 - sys-devel/flex - virtual/pkgconfig - js-type-check? ( virtual/jre ) -" - -: ${CHROMIUM_FORCE_CLANG=yes} -: ${CHROMIUM_FORCE_LIBCXX=no} - -if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then - BDEPEND+=" >=sys-devel/clang-10" -fi - -if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - RDEPEND+=" >=sys-libs/libcxx-10" - DEPEND+=" >=sys-libs/libcxx-10" -else - COMMON_DEPEND=" - app-arch/snappy:= - dev-libs/libxslt:= - >=dev-libs/re2-0.2019.08.01:= - >=media-libs/openh264-1.6.0:= - system-icu? ( >=dev-libs/icu-67.1:= ) - " - RDEPEND+="${COMMON_DEPEND}" - DEPEND+="${COMMON_DEPEND}" -fi - -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then - EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; -fi - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -Some web pages may require additional fonts to display properly. -Try installing some of the following packages if some characters -are not displayed properly: -- media-fonts/arphicfonts -- media-fonts/droid -- media-fonts/ipamonafont -- media-fonts/noto -- media-fonts/ja-ipafonts -- media-fonts/takao-fonts -- media-fonts/wqy-microhei -- media-fonts/wqy-zenhei - -To fix broken icons on the Downloads page, you should install an icon -theme that covers the appropriate MIME types, and configure this as your -GTK+ icon theme. - -For native file dialogs in KDE, install kde-apps/kdialog. - -To make password storage work with your desktop environment you may -have install one of the supported credentials management applications: -- app-crypt/libsecret (GNOME) -- kde-frameworks/kwallet (KDE) -If you have one of above packages installed, but don't want to use -them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS -in /etc/chromium/default. -" - -PATCHES=( - "${FILESDIR}/chromium-78-protobuf-RepeatedPtrField-export.patch" - "${FILESDIR}/chromium-86-ConsumeDurationNumber-constexpr.patch" - "${FILESDIR}/chromium-87-std-max_align_t.patch" - "${FILESDIR}/chromium-91-compiler.patch" - "${FILESDIR}/chromium-88-dawn-size_t-std.patch" - "${FILESDIR}/chromium-90-blink-disable-clang-format.patch" - "${FILESDIR}/chromium-90-compositor-dcheck.patch" - "${FILESDIR}/chromium-90-quiche-uniqueptr.patch" - "${FILESDIR}/chromium-91-disable-nomerge.patch" - "${FILESDIR}/chromium-91-clipboard-ozone.patch" -) - -pre_build_checks() { - if [[ ${MERGE_TYPE} != binary ]]; then - local -x CPP="$(tc-getCXX) -E" - if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 9.2; then - die "At least gcc 9.2 is required" - fi - # component build hangs with tcmalloc enabled due to sandbox issue, bug #695976. - if has usersandbox ${FEATURES} && use tcmalloc && use component-build; then - die "Component build with tcmalloc requires FEATURES=-usersandbox." - fi - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || tc-is-clang; then - if use component-build; then - die "Component build with clang requires fuzzer headers." - fi - fi - fi - - # Check build requirements, bug #541816 and bug #471810 . - CHECKREQS_MEMORY="3G" - CHECKREQS_DISK_BUILD="7G" - if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then - if use custom-cflags || use component-build; then - CHECKREQS_DISK_BUILD="25G" - fi - if ! use component-build; then - CHECKREQS_MEMORY="16G" - fi - fi - check-reqs_pkg_setup -} - -pkg_pretend() { - pre_build_checks -} - -pkg_setup() { - pre_build_checks - - chromium_suid_sandbox_check_kernel_config - - # nvidia-drivers does not work correctly with Wayland due to unsupported EGLStreams - if use wayland && ! use headless && has_version "x11-drivers/nvidia-drivers"; then - ewarn "Proprietary nVidia driver does not work with Wayland. You can disable" - ewarn "Wayland by setting DISABLE_OZONE_PLATFORM=true in /etc/chromium/default." - fi -} - -src_prepare() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - default - - mkdir -p third_party/node/linux/node-linux-x64/bin || die - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die - - # adjust python interpreter versions - sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die - sed -i -e "s|python2|python2\.7|g" buildtools/linux64/clang-format || die - sed -i -e "s|python|python2\.7|g" \ - third_party/dom_distiller_js/protoc_plugins/json_values_converter.py || die - - local 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 - 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/depot_tools/third_party - 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/puppeteer - third_party/devtools-frontend/src/front_end/third_party/marked - 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/flatbuffers - third_party/freetype - third_party/fusejs - third_party/libgav1 - third_party/libgifcodec - 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/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/vector - third_party/libaom/source/libaom/third_party/x86inc - third_party/libaom/source/libaom/third_party/fastfeat - third_party/libavif - third_party/libjingle - third_party/libphonenumber - third_party/libsecret - third_party/libsrtp - third_party/libsync - third_party/libva_protected_content - third_party/libudev - third_party/liburlpattern - 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/rnnoise - third_party/ruy - third_party/s2cellid - third_party/schema_org - 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/tint - third_party/tflite-support - third_party/tflite - third_party/tflite/src/third_party/eigen3 - third_party/tflite/src/third_party/fft2d - third_party/ukey2 - third_party/unrar - third_party/usrsctp - third_party/utf - third_party/vulkan - 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 - ) - if ! use system-ffmpeg; then - keeplibs+=( third_party/ffmpeg third_party/opus ) - fi - if ! use system-icu; then - keeplibs+=( third_party/icu ) - fi - if ! use system-libvpx; then - keeplibs+=( third_party/libvpx ) - keeplibs+=( third_party/libvpx/source/libvpx/third_party/x86inc ) - - # we need to generate ppc64 stuff because upstream does not ship it yet - # it has to be done before unbundling. - if use ppc64; then - pushd third_party/libvpx >/dev/null || die - mkdir -p source/config/linux/ppc64 || die - ./generate_gni.sh || die - popd >/dev/null || die - fi - fi - if use tcmalloc; then - keeplibs+=( third_party/tcmalloc ) - fi - if use wayland && ! use headless ; then - keeplibs+=( third_party/wayland ) - fi - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - keeplibs+=( third_party/libxml ) - keeplibs+=( third_party/libxslt ) - keeplibs+=( third_party/openh264 ) - keeplibs+=( third_party/re2 ) - keeplibs+=( third_party/snappy ) - if use system-icu; then - keeplibs+=( third_party/icu ) - fi - fi - if use arm64 || use ppc64 ; then - keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 ) - fi - # Remove most bundled libraries. Some are still needed. - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die -} - -src_configure() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local myconf_gn="" - - # Make sure the build system will use the right tools, bug #340795. - tc-export AR CC CXX NM - - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] && ! tc-is-clang; then - # Force clang since gcc is pretty broken at the moment. - CC=${CHOST}-clang - CXX=${CHOST}-clang++ - strip-unsupported-flags - fi - - if tc-is-clang; then - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" - else - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - die "Compiling with sys-libs/libcxx requires clang." - fi - myconf_gn+=" is_clang=false" - fi - - # Define a custom toolchain for GN - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" - - if tc-is-cross-compiler; then - tc-export BUILD_{AR,CC,CXX,NM} - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" - else - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - fi - - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - myconf_gn+=" is_debug=false" - - # Component build isn't generally intended for use by end users. It's mostly useful - # for development and debugging. - myconf_gn+=" is_component_build=$(usex component-build true false)" - - myconf_gn+=" use_allocator=$(usex tcmalloc \"tcmalloc\" \"none\")" - - # Disable nacl, we can't build without pnacl (http://crbug.com/269560). - myconf_gn+=" enable_nacl=false" - - # Use system-provided libraries. - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_libsrtp (bug #459932). - # TODO: use_system_protobuf (bug #525560). - # TODO: use_system_ssl (http://crbug.com/58087). - # TODO: use_system_sqlite (http://crbug.com/22208). - - # libevent: https://bugs.gentoo.org/593458 - local gn_system_libraries=( - flac - fontconfig - freetype - # Need harfbuzz_from_pkgconfig target - #harfbuzz-ng - libdrm - libjpeg - libpng - libwebp - zlib - ) - if use system-ffmpeg; then - gn_system_libraries+=( ffmpeg opus ) - fi - if use system-icu; then - gn_system_libraries+=( icu ) - fi - if use system-libvpx; then - gn_system_libraries+=( libvpx ) - fi - if [[ ${CHROMIUM_FORCE_LIBCXX} != yes ]]; then - # unbundle only without libc++, because libc++ is not fully ABI compatible with libstdc++ - gn_system_libraries+=( libxml ) - gn_system_libraries+=( libxslt ) - gn_system_libraries+=( openh264 ) - gn_system_libraries+=( re2 ) - gn_system_libraries+=( snappy ) - fi - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die - - # See dependency logic in third_party/BUILD.gn - myconf_gn+=" use_system_harfbuzz=true" - - # Disable deprecated libgnome-keyring dependency, bug #713012 - myconf_gn+=" use_gnome_keyring=false" - - # Optional dependencies. - myconf_gn+=" enable_js_type_check=$(usex js-type-check true false)" - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" - myconf_gn+=" enable_widevine=$(usex widevine true false)" - myconf_gn+=" use_cups=$(usex cups true false)" - myconf_gn+=" use_kerberos=$(usex kerberos true false)" - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" - myconf_gn+=" use_vaapi=$(usex vaapi true false)" - - # TODO: link_pulseaudio=true for GN. - - myconf_gn+=" fieldtrial_testing_like_official_build=true" - - # Never use bundled gold binary. Disable gold linker flags for now. - # Do not use bundled clang. - # Trying to use gold results in linker crash. - myconf_gn+=" use_gold=false use_sysroot=false use_custom_libcxx=false" - - # Disable forced lld, bug 641556 - myconf_gn+=" use_lld=false" - - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" - - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . - # Note: these are for Gentoo use ONLY. For your own distribution, - # please get your own set of keys. Feel free to contact chromium@gentoo.org - # for more info. - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" - local google_default_client_id="329227923882.apps.googleusercontent.com" - local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu" - myconf_gn+=" google_api_key=\"${google_api_key}\"" - myconf_gn+=" google_default_client_id=\"${google_default_client_id}\"" - myconf_gn+=" google_default_client_secret=\"${google_default_client_secret}\"" - local myarch="$(tc-arch)" - - # Avoid CFLAGS problems, bug #352457, bug #390147. - if ! use custom-cflags; then - replace-flags "-Os" "-O2" - strip-flags - - # Debug info section overflows without component build - # Prevent linker from running out of address space, bug #471810 . - if ! use component-build || use x86; then - filter-flags "-g*" - fi - - # Prevent libvpx build failures. Bug 530248, 544702, 546984. - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4 - fi - fi - - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - append-flags -stdlib=libc++ - append-ldflags -stdlib=libc++ - fi - - if [[ $myarch = amd64 ]] ; then - myconf_gn+=" target_cpu=\"x64\"" - ffmpeg_target_arch=x64 - elif [[ $myarch = x86 ]] ; then - myconf_gn+=" target_cpu=\"x86\"" - ffmpeg_target_arch=ia32 - - # This is normally defined by compiler_cpu_abi in - # build/config/compiler/BUILD.gn, but we patch that part out. - append-flags -msse2 -mfpmath=sse -mmmx - elif [[ $myarch = arm64 ]] ; then - myconf_gn+=" target_cpu=\"arm64\"" - ffmpeg_target_arch=arm64 - elif [[ $myarch = arm ]] ; then - myconf_gn+=" target_cpu=\"arm\"" - ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm) - elif [[ $myarch = ppc64 ]] ; then - myconf_gn+=" target_cpu=\"ppc64\"" - ffmpeg_target_arch=ppc64 - else - 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" - - # Bug 491582. - export TMPDIR="${WORKDIR}/temp" - mkdir -p -m 755 "${TMPDIR}" || die - - # https://bugs.gentoo.org/654216 - addpredict /dev/dri/ #nowarn - - #if ! use system-ffmpeg; then - if false; then - local build_ffmpeg_args="" - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then - build_ffmpeg_args+=" --disable-asm" - fi - - # Re-configure bundled ffmpeg. See bug #491378 for example reasons. - einfo "Configuring bundled ffmpeg..." - pushd third_party/ffmpeg > /dev/null || die - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \ - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die - chromium/scripts/copy_config.sh || die - chromium/scripts/generate_gn.py || die - popd > /dev/null || die - fi - - # Chromium relies on this, but was disabled in >=clang-10, crbug.com/1042470 - append-cxxflags $(test-flags-CXX -flax-vector-conversions=all) - - # Disable unknown warning message from clang. - tc-is-clang && append-flags -Wno-unknown-warning-option - - # Explicitly disable ICU data file support for system-icu builds. - if use system-icu; then - myconf_gn+=" icu_use_data_file=false" - fi - - # Enable ozone wayland and/or headless support - if use wayland || use headless; then - myconf_gn+=" use_ozone=true ozone_auto_platforms=false" - myconf_gn+=" ozone_platform_headless=true" - if use headless; then - myconf_gn+=" ozone_platform=\"headless\"" - myconf_gn+=" use_x11=false" - else - myconf_gn+=" ozone_platform_wayland=true" - myconf_gn+=" use_system_libdrm=true" - myconf_gn+=" use_system_minigbm=true" - myconf_gn+=" use_xkbcommon=true" - myconf_gn+=" ozone_platform=\"wayland\"" - fi - else - myconf_gn+=" use_ozone=false" - fi - - # Enable official builds - myconf_gn+=" is_official_build=$(usex official true false)" - if use official; then - # 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 - myconf_gn+=" is_cfi=false" - fi - - einfo "Configuring Chromium..." - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release - echo "$@" - "$@" || die -} - -src_compile() { - # Final link uses lots of file descriptors. - ulimit -n 2048 - - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - # https://bugs.gentoo.org/717456 - local -x PYTHONPATH="${WORKDIR}/setuptools-44.1.0:${PYTHONPATH+:}${PYTHONPATH}" - - #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die - - # Build mksnapshot and pax-mark it. - local x - for x in mksnapshot v8_context_snapshot_generator; do - if tc-is-cross-compiler; then - eninja -C out/Release "host/${x}" - pax-mark m "out/Release/host/${x}" - else - eninja -C out/Release "${x}" - pax-mark m "out/Release/${x}" - fi - done - - export HTTP_PROXY=127.0.0.1:8123 - export HTTPS_PROXY=127.0.0.1:8123 - export http_proxy=127.0.0.1:8123 - export https_proxy=127.0.0.1:8123 - - # Even though ninja autodetects number of CPUs, we respect - # user's options, for debugging with -j 1 or any other reason. - eninja -C out/Release chrome chromedriver - use suid && eninja -C out/Release chrome_sandbox - - pax-mark m out/Release/chrome - - # Build manpage; bug #684550 - sed -e 's|@@PACKAGE@@|chromium-browser|g; - s|@@MENUNAME@@|Chromium|g;' \ - chrome/app/resources/manpage.1.in > \ - out/Release/chromium-browser.1 || die - - # Build desktop file; bug #706786 - sed -e 's|@@MENUNAME@@|Chromium|g; - s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g; - s|@@PACKAGE@@|chromium-browser|g; - s|\(^Exec=\)/usr/bin/|\1|g;' \ - chrome/installer/linux/common/desktop.template > \ - out/Release/chromium-browser-chromium.desktop || die -} - -src_install() { - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" - exeinto "${CHROMIUM_HOME}" - doexe out/Release/chrome - - if use suid; then - newexe out/Release/chrome_sandbox chrome-sandbox - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" - fi - - doexe out/Release/chromedriver - - local sedargs=( -e - "s:/usr/lib/:/usr/$(get_libdir)/:g; - s:@@OZONE_AUTO_SESSION@@:$(usex wayland true false):g; - s:@@FORCE_OZONE_PLATFORM@@:$(usex headless true false):g" - ) - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r6.sh" > chromium-launcher.sh || die - doexe chromium-launcher.sh - - # It is important that we name the target "chromium-browser", - # xdg-utils expect it; bug #355517. - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser - # keep the old symlink around for consistency - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium - - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver - - # Allow users to override command-line options, bug #357629. - insinto /etc/chromium - newins "${FILESDIR}/chromium.default" "default" - - pushd out/Release/locales > /dev/null || die - chromium_remove_language_paks - popd - - insinto "${CHROMIUM_HOME}" - doins out/Release/*.bin - doins out/Release/*.pak - ( - shopt -s nullglob - local files=(out/Release/*.so) - [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}" - ) - - if ! use system-icu; then - doins out/Release/icudtl.dat - fi - - doins -r out/Release/locales - doins -r out/Release/resources - - if [[ -d out/Release/swiftshader ]]; then - insinto "${CHROMIUM_HOME}/swiftshader" - doins out/Release/swiftshader/*.so - fi - - # Install icons - local branding size - for size in 16 24 32 48 64 128 256 ; do - case ${size} in - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; - *) branding="chrome/app/theme/chromium" ;; - esac - newicon -s ${size} "${branding}/product_logo_${size}.png" \ - chromium-browser.png - done - - # Install desktop entry - domenu out/Release/chromium-browser-chromium.desktop - - # Install GNOME default application entry (bug #303100). - insinto /usr/share/gnome-control-center/default-apps - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml - - # Install manpage; bug #684550 - doman out/Release/chromium-browser.1 - dosym chromium-browser.1 /usr/share/man/man1/chromium.1 - - readme.gentoo_create_doc -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_desktop_database_update -} - -pkg_postinst() { - xdg_icon_cache_update - xdg_desktop_database_update - readme.gentoo_print_elog -} diff --git a/www-client/chromium/chromium-92.0.4503.0.ebuild b/www-client/chromium/chromium-92.0.4503.0.ebuild deleted file mode 100644 index 4d64594..0000000 --- a/www-client/chromium/chromium-92.0.4503.0.ebuild +++ /dev/null @@ -1,919 +0,0 @@ -# Copyright 2009-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python3_9 ) - -CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - 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 vi zh-CN zh-TW" - -inherit check-reqs chromium-2 desktop flag-o-matic multilib ninja-utils pax-utils portability python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="https://chromium.org/" -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz - https://files.pythonhosted.org/packages/ed/7b/bbf89ca71e722b7f9464ebffe4b5ee20a9e5c9a555a56e2d3914bb9119a6/setuptools-44.1.0.zip" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" -IUSE="component-build cups cpu_flags_arm_neon +hangouts headless js-type-check kerberos official pic +proprietary-codecs pulseaudio selinux +suid +system-ffmpeg +system-icu +system-libvpx +tcmalloc wayland widevine vaapi" -RESTRICT="!system-ffmpeg? ( proprietary-codecs? ( bindist ) )" -REQUIRED_USE=" - component-build? ( !suid ) -" - -COMMON_X_DEPEND=" - media-libs/mesa:=[gbm] - x11-libs/libX11:= - x11-libs/libXcomposite:= - x11-libs/libXcursor:= - x11-libs/libXdamage:= - x11-libs/libXext:= - x11-libs/libXfixes:= - >=x11-libs/libXi-1.6.0:= - x11-libs/libXrandr:= - x11-libs/libXrender:= - x11-libs/libXtst:= - x11-libs/libXScrnSaver:= - x11-libs/libxcb:= -" - -COMMON_DEPEND=" - app-arch/bzip2:= - cups? ( >=net-print/cups-1.3.11:= ) - dev-libs/expat:= - dev-libs/glib:2 - >=dev-libs/libxml2-2.9.4-r3:=[icu] - dev-libs/nspr:= - >=dev-libs/nss-3.26:= - >=media-libs/alsa-lib-1.0.19:= - media-libs/fontconfig:= - media-libs/freetype:= - >=media-libs/harfbuzz-2.4.0:0=[icu(-)] - media-libs/libjpeg-turbo:= - media-libs/libpng:= - system-libvpx? ( >=media-libs/libvpx-1.8.2:=[postproc] ) - pulseaudio? ( media-sound/pulseaudio:= ) - system-ffmpeg? ( - >=media-video/ffmpeg-4.3:= - || ( - media-video/ffmpeg[-samba] - >=net-fs/samba-4.5.10-r1[-debug(-)] - ) - >=media-libs/opus-1.3.1:= - ) - sys-apps/dbus:= - sys-apps/pciutils:= - virtual/udev - x11-libs/cairo:= - x11-libs/gdk-pixbuf:2 - x11-libs/pango:= - media-libs/flac:= - >=media-libs/libwebp-0.4.0:= - sys-libs/zlib:=[minizip] - kerberos? ( virtual/krb5 ) - !headless? ( - ${COMMON_X_DEPEND} - >=app-accessibility/at-spi2-atk-2.26:2 - >=app-accessibility/at-spi2-core-2.26:2 - >=dev-libs/atk-2.26 - x11-libs/gtk+:3[X] - wayland? ( - dev-libs/wayland:= - dev-libs/libffi:= - x11-libs/gtk+:3[wayland,X] - x11-libs/libdrm:= - x11-libs/libxkbcommon:= - ) - ) -" -# For nvidia-drivers blocker, see bug #413637 . -RDEPEND="${COMMON_DEPEND} - x11-misc/xdg-utils - virtual/opengl - virtual/ttf-fonts - selinux? ( sec-policy/selinux-chromium ) - tcmalloc? ( !<x11-drivers/nvidia-drivers-331.20 ) -" -DEPEND="${COMMON_DEPEND} -" -# dev-vcs/git - https://bugs.gentoo.org/593476 -BDEPEND=" - ${PYTHON_DEPS} - >=app-arch/gzip-1.7 - app-arch/unzip - dev-lang/perl - >=dev-util/gn-0.1807 - dev-vcs/git - >=dev-util/gperf-3.0.3 - >=dev-util/ninja-1.7.2 - >=net-libs/nodejs-7.6.0[inspector] - sys-apps/hwids[usb(+)] - >=sys-devel/bison-2.4.3 - sys-devel/flex - virtual/pkgconfig - js-type-check? ( virtual/jre ) -" - -: ${CHROMIUM_FORCE_CLANG=yes} -: ${CHROMIUM_FORCE_LIBCXX=no} - -if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then - BDEPEND+=" >=sys-devel/clang-10" -fi - -if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - RDEPEND+=" >=sys-libs/libcxx-10" - DEPEND+=" >=sys-libs/libcxx-10" -else - COMMON_DEPEND=" - app-arch/snappy:= - dev-libs/libxslt:= - >=dev-libs/re2-0.2019.08.01:= - >=media-libs/openh264-1.6.0:= - system-icu? ( >=dev-libs/icu-67.1:= ) - " - RDEPEND+="${COMMON_DEPEND}" - DEPEND+="${COMMON_DEPEND}" -fi - -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then - EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; -fi - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -Some web pages may require additional fonts to display properly. -Try installing some of the following packages if some characters -are not displayed properly: -- media-fonts/arphicfonts -- media-fonts/droid -- media-fonts/ipamonafont -- media-fonts/noto -- media-fonts/ja-ipafonts -- media-fonts/takao-fonts -- media-fonts/wqy-microhei -- media-fonts/wqy-zenhei - -To fix broken icons on the Downloads page, you should install an icon -theme that covers the appropriate MIME types, and configure this as your -GTK+ icon theme. - -For native file dialogs in KDE, install kde-apps/kdialog. - -To make password storage work with your desktop environment you may -have install one of the supported credentials management applications: -- app-crypt/libsecret (GNOME) -- kde-frameworks/kwallet (KDE) -If you have one of above packages installed, but don't want to use -them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS -in /etc/chromium/default. -" - -PATCHES=( - "${FILESDIR}/chromium-78-protobuf-RepeatedPtrField-export.patch" - "${FILESDIR}/chromium-86-ConsumeDurationNumber-constexpr.patch" - "${FILESDIR}/chromium-91-compiler.patch" - "${FILESDIR}/chromium-88-dawn-size_t-std.patch" - "${FILESDIR}/chromium-90-blink-disable-clang-format.patch" - "${FILESDIR}/chromium-90-compositor-dcheck.patch" - "${FILESDIR}/chromium-90-quiche-uniqueptr.patch" - "${FILESDIR}/chromium-91-disable-nomerge.patch" - "${FILESDIR}/chromium-92-base_atomic_include.patch" -) - -pre_build_checks() { - if [[ ${MERGE_TYPE} != binary ]]; then - local -x CPP="$(tc-getCXX) -E" - if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 9.2; then - die "At least gcc 9.2 is required" - fi - # component build hangs with tcmalloc enabled due to sandbox issue, bug #695976. - if has usersandbox ${FEATURES} && use tcmalloc && use component-build; then - die "Component build with tcmalloc requires FEATURES=-usersandbox." - fi - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || tc-is-clang; then - if use component-build; then - die "Component build with clang requires fuzzer headers." - fi - fi - fi - - # Check build requirements, bug #541816 and bug #471810 . - CHECKREQS_MEMORY="3G" - CHECKREQS_DISK_BUILD="7G" - if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then - if use custom-cflags || use component-build; then - CHECKREQS_DISK_BUILD="25G" - fi - if ! use component-build; then - CHECKREQS_MEMORY="16G" - fi - fi - check-reqs_pkg_setup -} - -pkg_pretend() { - pre_build_checks -} - -pkg_setup() { - pre_build_checks - - chromium_suid_sandbox_check_kernel_config - - # nvidia-drivers does not work correctly with Wayland due to unsupported EGLStreams - if use wayland && ! use headless && has_version "x11-drivers/nvidia-drivers"; then - ewarn "Proprietary nVidia driver does not work with Wayland. You can disable" - ewarn "Wayland by setting DISABLE_OZONE_PLATFORM=true in /etc/chromium/default." - fi -} - -src_prepare() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - default - - mkdir -p third_party/node/linux/node-linux-x64/bin || die - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die - - # adjust python interpreter versions - sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die - sed -i -e "s|python2|python2\.7|g" buildtools/linux64/clang-format || die - sed -i -e "s|python|python2\.7|g" \ - third_party/dom_distiller_js/protoc_plugins/json_values_converter.py || die - - local 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/eu-strip - buildtools/third_party/libc++ - buildtools/third_party/libc++abi - chrome/third_party/mozilla_security_manager - courgette/third_party - 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/dawn/third_party/tint - third_party/depot_tools - third_party/depot_tools/third_party - 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/diff - 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/puppeteer - third_party/devtools-frontend/src/front_end/third_party/marked - 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/flatbuffers - third_party/freetype - third_party/fusejs - third_party/libgav1 - third_party/libgifcodec - 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/vector - third_party/libaom/source/libaom/third_party/x86inc - third_party/libaom/source/libaom/third_party/fastfeat - third_party/libavif - third_party/libjingle - third_party/libjxl - third_party/libphonenumber - third_party/libsecret - third_party/libsrtp - third_party/libsync - third_party/libva_protected_content - third_party/libudev - third_party/liburlpattern - 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/rnnoise - third_party/ruy - 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-support - third_party/tflite - third_party/tflite/src/third_party/eigen3 - third_party/tflite/src/third_party/fft2d - third_party/ukey2 - third_party/unrar - third_party/usrsctp - third_party/utf - third_party/vulkan - 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 - ) - if ! use system-ffmpeg; then - keeplibs+=( third_party/ffmpeg third_party/opus ) - fi - if ! use system-icu; then - keeplibs+=( third_party/icu ) - fi - if ! use system-libvpx; then - keeplibs+=( third_party/libvpx ) - keeplibs+=( third_party/libvpx/source/libvpx/third_party/x86inc ) - - # we need to generate ppc64 stuff because upstream does not ship it yet - # it has to be done before unbundling. - if use ppc64; then - pushd third_party/libvpx >/dev/null || die - mkdir -p source/config/linux/ppc64 || die - ./generate_gni.sh || die - popd >/dev/null || die - fi - fi - if use tcmalloc; then - keeplibs+=( third_party/tcmalloc ) - fi - if use wayland && ! use headless ; then - keeplibs+=( third_party/wayland ) - fi - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - keeplibs+=( third_party/libxml ) - keeplibs+=( third_party/libxslt ) - keeplibs+=( third_party/openh264 ) - keeplibs+=( third_party/re2 ) - keeplibs+=( third_party/snappy ) - if use system-icu; then - keeplibs+=( third_party/icu ) - fi - fi - if use arm64 || use ppc64 ; then - keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 ) - fi - # Remove most bundled libraries. Some are still needed. - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die -} - -src_configure() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local myconf_gn="" - - # Make sure the build system will use the right tools, bug #340795. - tc-export AR CC CXX NM - - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] && ! tc-is-clang; then - # Force clang since gcc is pretty broken at the moment. - CC=${CHOST}-clang - CXX=${CHOST}-clang++ - strip-unsupported-flags - fi - - if tc-is-clang; then - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" - else - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - die "Compiling with sys-libs/libcxx requires clang." - fi - myconf_gn+=" is_clang=false" - fi - - # Define a custom toolchain for GN - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" - - if tc-is-cross-compiler; then - tc-export BUILD_{AR,CC,CXX,NM} - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" - else - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - fi - - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - myconf_gn+=" is_debug=false" - - # Component build isn't generally intended for use by end users. It's mostly useful - # for development and debugging. - myconf_gn+=" is_component_build=$(usex component-build true false)" - - myconf_gn+=" use_allocator=$(usex tcmalloc \"tcmalloc\" \"none\")" - - # Disable nacl, we can't build without pnacl (http://crbug.com/269560). - myconf_gn+=" enable_nacl=false" - - # Use system-provided libraries. - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_libsrtp (bug #459932). - # TODO: use_system_protobuf (bug #525560). - # TODO: use_system_ssl (http://crbug.com/58087). - # TODO: use_system_sqlite (http://crbug.com/22208). - - # libevent: https://bugs.gentoo.org/593458 - local gn_system_libraries=( - flac - fontconfig - freetype - # Need harfbuzz_from_pkgconfig target - #harfbuzz-ng - libdrm - libjpeg - libpng - libwebp - zlib - ) - if use system-ffmpeg; then - gn_system_libraries+=( ffmpeg opus ) - fi - if use system-icu; then - gn_system_libraries+=( icu ) - fi - if use system-libvpx; then - gn_system_libraries+=( libvpx ) - fi - if [[ ${CHROMIUM_FORCE_LIBCXX} != yes ]]; then - # unbundle only without libc++, because libc++ is not fully ABI compatible with libstdc++ - gn_system_libraries+=( libxml ) - gn_system_libraries+=( libxslt ) - gn_system_libraries+=( openh264 ) - gn_system_libraries+=( re2 ) - gn_system_libraries+=( snappy ) - fi - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die - - # See dependency logic in third_party/BUILD.gn - myconf_gn+=" use_system_harfbuzz=true" - - # Disable deprecated libgnome-keyring dependency, bug #713012 - myconf_gn+=" use_gnome_keyring=false" - - # Optional dependencies. - myconf_gn+=" enable_js_type_check=$(usex js-type-check true false)" - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" - myconf_gn+=" enable_widevine=$(usex widevine true false)" - myconf_gn+=" use_cups=$(usex cups true false)" - myconf_gn+=" use_kerberos=$(usex kerberos true false)" - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" - myconf_gn+=" use_vaapi=$(usex vaapi true false)" - - # TODO: link_pulseaudio=true for GN. - - myconf_gn+=" fieldtrial_testing_like_official_build=true" - - # Never use bundled gold binary. Disable gold linker flags for now. - # Do not use bundled clang. - # Trying to use gold results in linker crash. - myconf_gn+=" use_gold=false use_sysroot=false use_custom_libcxx=false" - - # Disable forced lld, bug 641556 - myconf_gn+=" use_lld=false" - - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" - - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . - # Note: these are for Gentoo use ONLY. For your own distribution, - # please get your own set of keys. Feel free to contact chromium@gentoo.org - # for more info. - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" - local google_default_client_id="329227923882.apps.googleusercontent.com" - local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu" - myconf_gn+=" google_api_key=\"${google_api_key}\"" - myconf_gn+=" google_default_client_id=\"${google_default_client_id}\"" - myconf_gn+=" google_default_client_secret=\"${google_default_client_secret}\"" - local myarch="$(tc-arch)" - - # Avoid CFLAGS problems, bug #352457, bug #390147. - if ! use custom-cflags; then - replace-flags "-Os" "-O2" - strip-flags - - # Debug info section overflows without component build - # Prevent linker from running out of address space, bug #471810 . - if ! use component-build || use x86; then - filter-flags "-g*" - fi - - # Prevent libvpx build failures. Bug 530248, 544702, 546984. - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4 - fi - fi - - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - append-flags -stdlib=libc++ - append-ldflags -stdlib=libc++ - fi - - if [[ $myarch = amd64 ]] ; then - myconf_gn+=" target_cpu=\"x64\"" - ffmpeg_target_arch=x64 - elif [[ $myarch = x86 ]] ; then - myconf_gn+=" target_cpu=\"x86\"" - ffmpeg_target_arch=ia32 - - # This is normally defined by compiler_cpu_abi in - # build/config/compiler/BUILD.gn, but we patch that part out. - append-flags -msse2 -mfpmath=sse -mmmx - elif [[ $myarch = arm64 ]] ; then - myconf_gn+=" target_cpu=\"arm64\"" - ffmpeg_target_arch=arm64 - elif [[ $myarch = arm ]] ; then - myconf_gn+=" target_cpu=\"arm\"" - ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm) - elif [[ $myarch = ppc64 ]] ; then - myconf_gn+=" target_cpu=\"ppc64\"" - ffmpeg_target_arch=ppc64 - else - 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" - - # Bug 491582. - export TMPDIR="${WORKDIR}/temp" - mkdir -p -m 755 "${TMPDIR}" || die - - # https://bugs.gentoo.org/654216 - addpredict /dev/dri/ #nowarn - - #if ! use system-ffmpeg; then - if false; then - local build_ffmpeg_args="" - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then - build_ffmpeg_args+=" --disable-asm" - fi - - # Re-configure bundled ffmpeg. See bug #491378 for example reasons. - einfo "Configuring bundled ffmpeg..." - pushd third_party/ffmpeg > /dev/null || die - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \ - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die - chromium/scripts/copy_config.sh || die - chromium/scripts/generate_gn.py || die - popd > /dev/null || die - fi - - # Chromium relies on this, but was disabled in >=clang-10, crbug.com/1042470 - append-cxxflags $(test-flags-CXX -flax-vector-conversions=all) - - # Disable unknown warning message from clang. - tc-is-clang && append-flags -Wno-unknown-warning-option - - # Explicitly disable ICU data file support for system-icu builds. - if use system-icu; then - myconf_gn+=" icu_use_data_file=false" - fi - - # Enable ozone wayland and/or headless support - if use wayland || use headless; then - myconf_gn+=" use_ozone=true ozone_auto_platforms=false" - myconf_gn+=" ozone_platform_headless=true" - if use headless; then - myconf_gn+=" ozone_platform=\"headless\"" - myconf_gn+=" use_x11=false" - else - myconf_gn+=" ozone_platform_wayland=true" - myconf_gn+=" use_system_libdrm=true" - myconf_gn+=" use_system_minigbm=true" - myconf_gn+=" use_xkbcommon=true" - myconf_gn+=" ozone_platform=\"wayland\"" - fi - else - myconf_gn+=" use_ozone=false" - fi - - # Enable official builds - myconf_gn+=" is_official_build=$(usex official true false)" - if use official; then - # 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 - myconf_gn+=" is_cfi=false" - fi - - einfo "Configuring Chromium..." - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release - echo "$@" - "$@" || die -} - -src_compile() { - # Final link uses lots of file descriptors. - ulimit -n 2048 - - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - # https://bugs.gentoo.org/717456 - local -x PYTHONPATH="${WORKDIR}/setuptools-44.1.0:${PYTHONPATH+:}${PYTHONPATH}" - - #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die - - # Build mksnapshot and pax-mark it. - local x - for x in mksnapshot v8_context_snapshot_generator; do - if tc-is-cross-compiler; then - eninja -C out/Release "host/${x}" - pax-mark m "out/Release/host/${x}" - else - eninja -C out/Release "${x}" - pax-mark m "out/Release/${x}" - fi - done - - export HTTP_PROXY=127.0.0.1:8123 - export HTTPS_PROXY=127.0.0.1:8123 - export http_proxy=127.0.0.1:8123 - export https_proxy=127.0.0.1:8123 - - # Even though ninja autodetects number of CPUs, we respect - # user's options, for debugging with -j 1 or any other reason. - eninja -C out/Release chrome chromedriver - use suid && eninja -C out/Release chrome_sandbox - - pax-mark m out/Release/chrome - - # Build manpage; bug #684550 - sed -e 's|@@PACKAGE@@|chromium-browser|g; - s|@@MENUNAME@@|Chromium|g;' \ - chrome/app/resources/manpage.1.in > \ - out/Release/chromium-browser.1 || die - - # Build desktop file; bug #706786 - sed -e 's|@@MENUNAME@@|Chromium|g; - s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g; - s|@@PACKAGE@@|chromium-browser|g; - s|\(^Exec=\)/usr/bin/|\1|g;' \ - chrome/installer/linux/common/desktop.template > \ - out/Release/chromium-browser-chromium.desktop || die -} - -src_install() { - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" - exeinto "${CHROMIUM_HOME}" - doexe out/Release/chrome - - if use suid; then - newexe out/Release/chrome_sandbox chrome-sandbox - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" - fi - - doexe out/Release/chromedriver - - local sedargs=( -e - "s:/usr/lib/:/usr/$(get_libdir)/:g; - s:@@OZONE_AUTO_SESSION@@:$(usex wayland true false):g; - s:@@FORCE_OZONE_PLATFORM@@:$(usex headless true false):g" - ) - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r6.sh" > chromium-launcher.sh || die - doexe chromium-launcher.sh - - # It is important that we name the target "chromium-browser", - # xdg-utils expect it; bug #355517. - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser - # keep the old symlink around for consistency - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium - - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver - - # Allow users to override command-line options, bug #357629. - insinto /etc/chromium - newins "${FILESDIR}/chromium.default" "default" - - pushd out/Release/locales > /dev/null || die - chromium_remove_language_paks - popd - - insinto "${CHROMIUM_HOME}" - doins out/Release/*.bin - doins out/Release/*.pak - ( - shopt -s nullglob - local files=(out/Release/*.so) - [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}" - ) - - if ! use system-icu; then - doins out/Release/icudtl.dat - fi - - doins -r out/Release/locales - doins -r out/Release/resources - - if [[ -d out/Release/swiftshader ]]; then - insinto "${CHROMIUM_HOME}/swiftshader" - doins out/Release/swiftshader/*.so - fi - - # Install icons - local branding size - for size in 16 24 32 48 64 128 256 ; do - case ${size} in - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; - *) branding="chrome/app/theme/chromium" ;; - esac - newicon -s ${size} "${branding}/product_logo_${size}.png" \ - chromium-browser.png - done - - # Install desktop entry - domenu out/Release/chromium-browser-chromium.desktop - - # Install GNOME default application entry (bug #303100). - insinto /usr/share/gnome-control-center/default-apps - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml - - # Install manpage; bug #684550 - doman out/Release/chromium-browser.1 - dosym chromium-browser.1 /usr/share/man/man1/chromium.1 - - readme.gentoo_create_doc -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_desktop_database_update -} - -pkg_postinst() { - xdg_icon_cache_update - xdg_desktop_database_update - readme.gentoo_print_elog -} diff --git a/www-client/chromium/chromium-92.0.4512.4.ebuild b/www-client/chromium/chromium-92.0.4512.4.ebuild deleted file mode 100644 index 2ddcb4a..0000000 --- a/www-client/chromium/chromium-92.0.4512.4.ebuild +++ /dev/null @@ -1,937 +0,0 @@ -# Copyright 2009-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python3_9 ) -PYTHON_REQ_USE="xml" - -CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - 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 vi zh-CN zh-TW" - -inherit check-reqs chromium-2 desktop flag-o-matic multilib ninja-utils pax-utils portability python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="https://chromium.org/" -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz - https://files.pythonhosted.org/packages/ed/7b/bbf89ca71e722b7f9464ebffe4b5ee20a9e5c9a555a56e2d3914bb9119a6/setuptools-44.1.0.zip" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" -IUSE="component-build cups cpu_flags_arm_neon +hangouts headless +js-type-check kerberos official pic +proprietary-codecs pulseaudio screencast selinux +suid +system-ffmpeg +system-icu vaapi wayland widevine" -REQUIRED_USE=" - component-build? ( !suid ) - screencast? ( wayland ) -" - -COMMON_X_DEPEND=" - media-libs/mesa:=[gbm] - x11-libs/libX11:= - x11-libs/libXcomposite:= - x11-libs/libXcursor:= - x11-libs/libXdamage:= - x11-libs/libXext:= - x11-libs/libXfixes:= - >=x11-libs/libXi-1.6.0:= - x11-libs/libXrandr:= - x11-libs/libXrender:= - x11-libs/libXtst:= - x11-libs/libxcb:= - x11-libs/libxshmfence:= - vaapi? ( >=x11-libs/libva-2.7:=[X,drm] ) -" - -COMMON_DEPEND=" - app-arch/bzip2:= - cups? ( >=net-print/cups-1.3.11:= ) - dev-libs/expat:= - dev-libs/glib:2 - >=dev-libs/libxml2-2.9.4-r3:=[icu] - dev-libs/nspr:= - >=dev-libs/nss-3.26:= - >=media-libs/alsa-lib-1.0.19:= - media-libs/fontconfig:= - media-libs/freetype:= - >=media-libs/harfbuzz-2.4.0:0=[icu(-)] - media-libs/libjpeg-turbo:= - media-libs/libpng:= - pulseaudio? ( media-sound/pulseaudio:= ) - system-ffmpeg? ( - >=media-video/ffmpeg-4.3:= - || ( - media-video/ffmpeg[-samba] - >=net-fs/samba-4.5.10-r1[-debug(-)] - ) - >=media-libs/opus-1.3.1:= - ) - net-misc/curl[ssl] - sys-apps/dbus:= - sys-apps/pciutils:= - virtual/udev - x11-libs/cairo:= - x11-libs/gdk-pixbuf:2 - x11-libs/libxkbcommon:= - x11-libs/pango:= - media-libs/flac:= - >=media-libs/libwebp-0.4.0:= - sys-libs/zlib:=[minizip] - kerberos? ( virtual/krb5 ) - !headless? ( - ${COMMON_X_DEPEND} - >=app-accessibility/at-spi2-atk-2.26:2 - >=app-accessibility/at-spi2-core-2.26:2 - >=dev-libs/atk-2.26 - x11-libs/gtk+:3[X] - wayland? ( - dev-libs/wayland:= - screencast? ( media-video/pipewire:0/0.3 ) - x11-libs/gtk+:3[wayland,X] - x11-libs/libdrm:= - ) - ) -" -RDEPEND="${COMMON_DEPEND} - x11-misc/xdg-utils - virtual/opengl - virtual/ttf-fonts - selinux? ( sec-policy/selinux-chromium ) -" -DEPEND="${COMMON_DEPEND} -" -# dev-vcs/git - https://bugs.gentoo.org/593476 -BDEPEND=" - ${PYTHON_DEPS} - >=app-arch/gzip-1.7 - app-arch/unzip - dev-lang/perl - dev-lang/python:2.7[xml] - >=dev-util/gn-0.1807 - dev-vcs/git - >=dev-util/gperf-3.0.3 - >=dev-util/ninja-1.7.2 - >=net-libs/nodejs-7.6.0[inspector] - sys-apps/hwids[usb(+)] - >=sys-devel/bison-2.4.3 - sys-devel/flex - virtual/pkgconfig - js-type-check? ( virtual/jre ) -" - -# These are intended for ebuild maintainer use to force clang if GCC is broken. -: ${CHROMIUM_FORCE_CLANG=yes} -: ${CHROMIUM_FORCE_LIBCXX=no} - -if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then - BDEPEND+=" >=sys-devel/clang-12" -fi - -if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - RDEPEND+=" >=sys-libs/libcxx-12" - DEPEND+=" >=sys-libs/libcxx-12" -else - COMMON_DEPEND=" - app-arch/snappy:= - dev-libs/libxslt:= - >=dev-libs/re2-0.2019.08.01:= - >=media-libs/openh264-1.6.0:= - system-icu? ( >=dev-libs/icu-69.1:= ) - " - RDEPEND+="${COMMON_DEPEND}" - DEPEND+="${COMMON_DEPEND}" -fi - -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then - EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; -fi - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -Some web pages may require additional fonts to display properly. -Try installing some of the following packages if some characters -are not displayed properly: -- media-fonts/arphicfonts -- media-fonts/droid -- media-fonts/ipamonafont -- media-fonts/noto -- media-fonts/ja-ipafonts -- media-fonts/takao-fonts -- media-fonts/wqy-microhei -- media-fonts/wqy-zenhei - -To fix broken icons on the Downloads page, you should install an icon -theme that covers the appropriate MIME types, and configure this as your -GTK+ icon theme. - -For native file dialogs in KDE, install kde-apps/kdialog. - -To make password storage work with your desktop environment you may -have install one of the supported credentials management applications: -- app-crypt/libsecret (GNOME) -- kde-frameworks/kwallet (KDE) -If you have one of above packages installed, but don't want to use -them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS -in /etc/chromium/default. -" - -pre_build_checks() { - if [[ ${MERGE_TYPE} != binary ]]; then - local -x CPP="$(tc-getCXX) -E" - if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 9.2; then - die "At least gcc 9.2 is required" - fi - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || tc-is-clang; then - CPP="${CHOST}-clang++ -E" - if ! ver_test "$(clang-major-version)" -ge 12; then - die "At least clang 12 is required" - fi - fi - fi - - # Check build requirements, bug #541816 and bug #471810 . - CHECKREQS_MEMORY="3G" - CHECKREQS_DISK_BUILD="8G" - if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then - if use custom-cflags || use component-build; then - CHECKREQS_DISK_BUILD="25G" - fi - if ! use component-build; then - CHECKREQS_MEMORY="16G" - fi - fi - check-reqs_pkg_setup -} - -pkg_pretend() { - pre_build_checks -} - -pkg_setup() { - pre_build_checks - - chromium_suid_sandbox_check_kernel_config - - # nvidia-drivers does not work correctly with Wayland due to unsupported EGLStreams - if use wayland && ! use headless && has_version "x11-drivers/nvidia-drivers"; then - ewarn "Proprietary nVidia driver does not work with Wayland. You can disable" - ewarn "Wayland by setting DISABLE_OZONE_PLATFORM=true in /etc/chromium/default." - fi -} - -src_prepare() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local PATCHES=( - "${FILESDIR}/chromium-78-protobuf-RepeatedPtrField-export.patch" - "${FILESDIR}/chromium-90-ruy-include.patch" - "${FILESDIR}/chromium-91-compiler-r1.patch" - "${FILESDIR}/chromium-92-sql-cursor.patch" -# "${FILESDIR}/chromium-89-EnumTable-crash.patch" - "${FILESDIR}/chromium-shim_headers.patch" - ) - - # seccomp sandbox is broken if compiled against >=sys-libs/glibc-2.33, bug #769989 - if has_version -d ">=sys-libs/glibc-2.33"; then - ewarn "Adding experimental glibc-2.33 sandbox patch. Seccomp sandbox might" - ewarn "still not work correctly. In case of issues, try to disable seccomp" - ewarn "sandbox by adding --disable-seccomp-filter-sandbox to CHROMIUM_FLAGS" - ewarn "in /etc/chromium/default." - PATCHES+=( - "${FILESDIR}/chromium-92-glibc-2.33.patch" - ) - fi - - default - - mkdir -p third_party/node/linux/node-linux-x64/bin || die - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die - - # adjust python interpreter versions - sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die - sed -i -e "s|python2|python2\.7|g" buildtools/linux64/clang-format || die - - local 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 - buildtools/third_party/eu-strip - chrome/third_party/mozilla_security_manager - courgette/third_party - 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/dawn/third_party/tint - 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/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-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/flatbuffers - third_party/freetype - third_party/fusejs - third_party/highway - third_party/libgifcodec - third_party/liburlpattern - third_party/libzip - 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/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/libjingle - third_party/libjxl - third_party/libphonenumber - third_party/libsecret - third_party/libsrtp - third_party/libsync - third_party/libudev - 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/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/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/tcmalloc - 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/ruy - third_party/ukey2 - third_party/unrar - third_party/usrsctp - third_party/utf - third_party/vulkan - 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 - ) - if ! use system-ffmpeg; then - keeplibs+=( third_party/ffmpeg third_party/opus ) - fi - if ! use system-icu; then - keeplibs+=( third_party/icu ) - fi - if use wayland && ! use headless ; then - keeplibs+=( third_party/wayland ) - fi - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - keeplibs+=( third_party/libxml ) - keeplibs+=( third_party/libxslt ) - keeplibs+=( third_party/openh264 ) - keeplibs+=( third_party/re2 ) - keeplibs+=( third_party/snappy ) - if use system-icu; then - keeplibs+=( third_party/icu ) - fi - fi - if use arm64 || use ppc64 ; then - keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 ) - fi - # we need to generate ppc64 stuff because upstream does not ship it yet - # it has to be done before unbundling. - if use ppc64; then - pushd third_party/libvpx >/dev/null || die - mkdir -p source/config/linux/ppc64 || die - ./generate_gni.sh || die - popd >/dev/null || die - fi - - # Remove most bundled libraries. Some are still needed. - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die - - if use js-type-check; then - ln -s "${EPREFIX}"/usr/bin/java third_party/jdk/current/bin/java || die - fi -} - -src_configure() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local myconf_gn="" - - # Make sure the build system will use the right tools, bug #340795. - tc-export AR CC CXX NM - - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] && ! tc-is-clang; then - # Force clang since gcc is pretty broken at the moment. - CC=${CHOST}-clang - CXX=${CHOST}-clang++ - strip-unsupported-flags - fi - - if tc-is-clang; then - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" - else - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - die "Compiling with sys-libs/libcxx requires clang." - fi - myconf_gn+=" is_clang=false" - fi - - # Define a custom toolchain for GN - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" - - if tc-is-cross-compiler; then - tc-export BUILD_{AR,CC,CXX,NM} - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" - else - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - fi - - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - myconf_gn+=" is_debug=false" - - # Component build isn't generally intended for use by end users. It's mostly useful - # for development and debugging. - myconf_gn+=" is_component_build=$(usex component-build true false)" - - # Disable nacl, we can't build without pnacl (http://crbug.com/269560). - myconf_gn+=" enable_nacl=false" - - # Use system-provided libraries. - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_libsrtp (bug #459932). - # TODO: use_system_protobuf (bug #525560). - # TODO: use_system_ssl (http://crbug.com/58087). - # TODO: use_system_sqlite (http://crbug.com/22208). - - # libevent: https://bugs.gentoo.org/593458 - local gn_system_libraries=( - flac - fontconfig - freetype - # Need harfbuzz_from_pkgconfig target - #harfbuzz-ng - libdrm - libjpeg - libpng - libwebp - zlib - ) - if use system-ffmpeg; then - gn_system_libraries+=( ffmpeg opus ) - fi - if use system-icu; then - gn_system_libraries+=( icu ) - fi - if [[ ${CHROMIUM_FORCE_LIBCXX} != yes ]]; then - # unbundle only without libc++, because libc++ is not fully ABI compatible with libstdc++ - gn_system_libraries+=( libxml ) - gn_system_libraries+=( libxslt ) - gn_system_libraries+=( openh264 ) - gn_system_libraries+=( re2 ) - gn_system_libraries+=( snappy ) - fi - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die - - # See dependency logic in third_party/BUILD.gn - myconf_gn+=" use_system_harfbuzz=true" - - # Disable deprecated libgnome-keyring dependency, bug #713012 - myconf_gn+=" use_gnome_keyring=false" - - # Optional dependencies. - myconf_gn+=" enable_js_type_check=$(usex js-type-check true false)" - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" - myconf_gn+=" enable_widevine=$(usex widevine true false)" - myconf_gn+=" use_cups=$(usex cups true false)" - myconf_gn+=" use_kerberos=$(usex kerberos true false)" - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" - myconf_gn+=" use_vaapi=$(usex vaapi true false)" - myconf_gn+=" rtc_use_pipewire=$(usex screencast true false) rtc_pipewire_version=\"0.3\"" - - # TODO: link_pulseaudio=true for GN. - - myconf_gn+=" fieldtrial_testing_like_official_build=true" - - # Never use bundled gold binary. Disable gold linker flags for now. - # Do not use bundled clang. - # Trying to use gold results in linker crash. - myconf_gn+=" use_gold=false use_sysroot=false use_custom_libcxx=false" - - # Disable forced lld, bug 641556 - myconf_gn+=" use_lld=false" - - # Disable pseudolocales, only used for testing - myconf_gn+=" enable_pseudolocales=false" - - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" - - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . - # Note: these are for Gentoo use ONLY. For your own distribution, - # please get your own set of keys. Feel free to contact chromium@gentoo.org - # for more info. - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" - local google_default_client_id="329227923882.apps.googleusercontent.com" - local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu" - myconf_gn+=" google_api_key=\"${google_api_key}\"" - myconf_gn+=" google_default_client_id=\"${google_default_client_id}\"" - myconf_gn+=" google_default_client_secret=\"${google_default_client_secret}\"" - local myarch="$(tc-arch)" - - # Avoid CFLAGS problems, bug #352457, bug #390147. - if ! use custom-cflags; then - replace-flags "-Os" "-O2" - strip-flags - - # Debug info section overflows without component build - # Prevent linker from running out of address space, bug #471810 . - if ! use component-build || use x86; then - filter-flags "-g*" - fi - - # Prevent libvpx build failures. Bug 530248, 544702, 546984. - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4 - fi - fi - - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - append-flags -stdlib=libc++ - append-ldflags -stdlib=libc++ - fi - - if [[ $myarch = amd64 ]] ; then - myconf_gn+=" target_cpu=\"x64\"" - ffmpeg_target_arch=x64 - elif [[ $myarch = x86 ]] ; then - myconf_gn+=" target_cpu=\"x86\"" - ffmpeg_target_arch=ia32 - - # This is normally defined by compiler_cpu_abi in - # build/config/compiler/BUILD.gn, but we patch that part out. - append-flags -msse2 -mfpmath=sse -mmmx - elif [[ $myarch = arm64 ]] ; then - myconf_gn+=" target_cpu=\"arm64\"" - ffmpeg_target_arch=arm64 - elif [[ $myarch = arm ]] ; then - myconf_gn+=" target_cpu=\"arm\"" - ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm) - elif [[ $myarch = ppc64 ]] ; then - myconf_gn+=" target_cpu=\"ppc64\"" - ffmpeg_target_arch=ppc64 - else - 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" - - # Bug 491582. - export TMPDIR="${WORKDIR}/temp" - mkdir -p -m 755 "${TMPDIR}" || die - - # https://bugs.gentoo.org/654216 - addpredict /dev/dri/ #nowarn - - #if ! use system-ffmpeg; then - if false; then - local build_ffmpeg_args="" - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then - build_ffmpeg_args+=" --disable-asm" - fi - - # Re-configure bundled ffmpeg. See bug #491378 for example reasons. - einfo "Configuring bundled ffmpeg..." - pushd third_party/ffmpeg > /dev/null || die - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \ - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die - chromium/scripts/copy_config.sh || die - chromium/scripts/generate_gn.py || die - popd > /dev/null || die - fi - - # Chromium relies on this, but was disabled in >=clang-10, crbug.com/1042470 - append-cxxflags $(test-flags-CXX -flax-vector-conversions=all) - - # Disable unknown warning message from clang. - tc-is-clang && append-flags -Wno-unknown-warning-option - - # Explicitly disable ICU data file support for system-icu builds. - if use system-icu; then - myconf_gn+=" icu_use_data_file=false" - fi - - # Enable ozone wayland and/or headless support - myconf_gn+=" use_ozone=true ozone_auto_platforms=false" - myconf_gn+=" ozone_platform_headless=true" - if use wayland || use headless; then - if use headless; then - myconf_gn+=" ozone_platform=\"headless\"" - myconf_gn+=" use_x11=false" - else - myconf_gn+=" ozone_platform_wayland=true" - myconf_gn+=" use_system_libdrm=true" - myconf_gn+=" use_system_minigbm=true" - myconf_gn+=" use_xkbcommon=true" - myconf_gn+=" ozone_platform=\"wayland\"" - fi - fi - - # Enable official builds - myconf_gn+=" is_official_build=$(usex official true false)" - myconf_gn+=" use_thin_lto=false" - if use official; then - # 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 - myconf_gn+=" is_cfi=false" - # Disable PGO, because profile data is only compatible with >=clang-11 - myconf_gn+=" chrome_pgo_phase=0" - fi - - einfo "Configuring Chromium..." - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release - echo "$@" - "$@" || die -} - -src_compile() { - # Final link uses lots of file descriptors. - ulimit -n 2048 - - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - # https://bugs.gentoo.org/717456 - # don't inherit PYTHONPATH from environment, bug #789021 - local -x PYTHONPATH="${WORKDIR}/setuptools-44.1.0" - - #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die - - # Build mksnapshot and pax-mark it. - local x - for x in mksnapshot v8_context_snapshot_generator; do - if tc-is-cross-compiler; then - eninja -C out/Release "host/${x}" - pax-mark m "out/Release/host/${x}" - else - eninja -C out/Release "${x}" - pax-mark m "out/Release/${x}" - fi - done - - export HTTP_PROXY=127.0.0.1:8123 - export HTTPS_PROXY=127.0.0.1:8123 - export http_proxy=127.0.0.1:8123 - export https_proxy=127.0.0.1:8123 - # Even though ninja autodetects number of CPUs, we respect - # user's options, for debugging with -j 1 or any other reason. - eninja -C out/Release chrome chromedriver - use suid && eninja -C out/Release chrome_sandbox - - pax-mark m out/Release/chrome - - mv out/Release/chromedriver{.unstripped,} || die - - # Build manpage; bug #684550 - sed -e 's|@@PACKAGE@@|chromium-browser|g; - s|@@MENUNAME@@|Chromium|g;' \ - chrome/app/resources/manpage.1.in > \ - out/Release/chromium-browser.1 || die - - # Build desktop file; bug #706786 - sed -e 's|@@MENUNAME@@|Chromium|g; - s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g; - s|@@PACKAGE@@|chromium-browser|g; - s|\(^Exec=\)/usr/bin/|\1|g;' \ - chrome/installer/linux/common/desktop.template > \ - out/Release/chromium-browser-chromium.desktop || die -} - -src_install() { - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" - exeinto "${CHROMIUM_HOME}" - doexe out/Release/chrome - - if use suid; then - newexe out/Release/chrome_sandbox chrome-sandbox - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" - fi - - doexe out/Release/chromedriver - doexe out/Release/crashpad_handler - - local sedargs=( -e - "s:/usr/lib/:/usr/$(get_libdir)/:g; - s:@@OZONE_AUTO_SESSION@@:$(usex wayland true false):g; - s:@@FORCE_OZONE_PLATFORM@@:$(usex headless true false):g" - ) - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r6.sh" > chromium-launcher.sh || die - doexe chromium-launcher.sh - - # It is important that we name the target "chromium-browser", - # xdg-utils expect it; bug #355517. - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser - # keep the old symlink around for consistency - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium - - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver - - # Allow users to override command-line options, bug #357629. - insinto /etc/chromium - newins "${FILESDIR}/chromium.default" "default" - - pushd out/Release/locales > /dev/null || die - chromium_remove_language_paks - popd - - insinto "${CHROMIUM_HOME}" - doins out/Release/*.bin - doins out/Release/*.pak - ( - shopt -s nullglob - local files=(out/Release/*.so out/Release/*.so.[0-9]) - [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}" - ) - - if ! use system-icu; then - doins out/Release/icudtl.dat - fi - - doins -r out/Release/locales - doins -r out/Release/resources - - if [[ -d out/Release/swiftshader ]]; then - insinto "${CHROMIUM_HOME}/swiftshader" - doins out/Release/swiftshader/*.so - fi - - # Install icons - local branding size - for size in 16 24 32 48 64 128 256 ; do - case ${size} in - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; - *) branding="chrome/app/theme/chromium" ;; - esac - newicon -s ${size} "${branding}/product_logo_${size}.png" \ - chromium-browser.png - done - - # Install desktop entry - domenu out/Release/chromium-browser-chromium.desktop - - # Install GNOME default application entry (bug #303100). - insinto /usr/share/gnome-control-center/default-apps - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml - - # Install manpage; bug #684550 - doman out/Release/chromium-browser.1 - dosym chromium-browser.1 /usr/share/man/man1/chromium.1 - - readme.gentoo_create_doc -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_desktop_database_update -} - -pkg_postinst() { - xdg_icon_cache_update - xdg_desktop_database_update - readme.gentoo_print_elog - - if use vaapi; then - elog "VA-API is disabled by default at runtime. You have to enable it" - elog "by adding --enable-features=VaapiVideoDecoder to CHROMIUM_FLAGS" - elog "in /etc/chromium/default." - fi - if use screencast; then - elog "Screencast is disabled by default at runtime. Either enable it" - elog "by navigating to chrome://flags/#enable-webrtc-pipewire-capturer" - elog "inside Chromium or add --enable-webrtc-pipewire-capturer" - elog "to CHROMIUM_FLAGS in /etc/chromium/default." - fi -} diff --git a/www-client/chromium/chromium-93.0.4535.3.ebuild b/www-client/chromium/chromium-93.0.4535.3.ebuild deleted file mode 100644 index f01fdb2..0000000 --- a/www-client/chromium/chromium-93.0.4535.3.ebuild +++ /dev/null @@ -1,939 +0,0 @@ -# Copyright 2009-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python3_9 ) -PYTHON_REQ_USE="xml" - -CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - 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 vi zh-CN zh-TW" - -inherit check-reqs chromium-2 desktop flag-o-matic multilib ninja-utils pax-utils portability python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="https://chromium.org/" -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz - https://files.pythonhosted.org/packages/ed/7b/bbf89ca71e722b7f9464ebffe4b5ee20a9e5c9a555a56e2d3914bb9119a6/setuptools-44.1.0.zip" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" -IUSE="component-build cups cpu_flags_arm_neon +hangouts headless +js-type-check kerberos official pic +proprietary-codecs pulseaudio screencast selinux +suid +system-ffmpeg +system-icu vaapi wayland widevine" -REQUIRED_USE=" - component-build? ( !suid ) - screencast? ( wayland ) -" - -COMMON_X_DEPEND=" - media-libs/mesa:=[gbm] - x11-libs/libX11:= - x11-libs/libXcomposite:= - x11-libs/libXcursor:= - x11-libs/libXdamage:= - x11-libs/libXext:= - x11-libs/libXfixes:= - >=x11-libs/libXi-1.6.0:= - x11-libs/libXrandr:= - x11-libs/libXrender:= - x11-libs/libXtst:= - x11-libs/libxcb:= - x11-libs/libxshmfence:= - vaapi? ( >=x11-libs/libva-2.7:=[X,drm] ) -" - -COMMON_DEPEND=" - app-arch/bzip2:= - cups? ( >=net-print/cups-1.3.11:= ) - dev-libs/expat:= - dev-libs/glib:2 - >=dev-libs/libxml2-2.9.4-r3:=[icu] - dev-libs/nspr:= - >=dev-libs/nss-3.26:= - >=media-libs/alsa-lib-1.0.19:= - media-libs/fontconfig:= - media-libs/freetype:= - >=media-libs/harfbuzz-2.4.0:0=[icu(-)] - media-libs/libjpeg-turbo:= - media-libs/libpng:= - pulseaudio? ( media-sound/pulseaudio:= ) - system-ffmpeg? ( - >=media-video/ffmpeg-4.3:= - || ( - media-video/ffmpeg[-samba] - >=net-fs/samba-4.5.10-r1[-debug(-)] - ) - >=media-libs/opus-1.3.1:= - ) - net-misc/curl[ssl] - sys-apps/dbus:= - sys-apps/pciutils:= - virtual/udev - x11-libs/cairo:= - x11-libs/gdk-pixbuf:2 - x11-libs/libxkbcommon:= - x11-libs/pango:= - media-libs/flac:= - >=media-libs/libwebp-0.4.0:= - sys-libs/zlib:=[minizip] - kerberos? ( virtual/krb5 ) - !headless? ( - ${COMMON_X_DEPEND} - >=app-accessibility/at-spi2-atk-2.26:2 - >=app-accessibility/at-spi2-core-2.26:2 - >=dev-libs/atk-2.26 - x11-libs/gtk+:3[X] - wayland? ( - dev-libs/wayland:= - screencast? ( media-video/pipewire:0/0.3 ) - x11-libs/gtk+:3[wayland,X] - x11-libs/libdrm:= - ) - ) -" -RDEPEND="${COMMON_DEPEND} - x11-misc/xdg-utils - virtual/opengl - virtual/ttf-fonts - selinux? ( sec-policy/selinux-chromium ) -" -DEPEND="${COMMON_DEPEND} -" -# dev-vcs/git - https://bugs.gentoo.org/593476 -BDEPEND=" - ${PYTHON_DEPS} - >=app-arch/gzip-1.7 - app-arch/unzip - dev-lang/perl - dev-lang/python:2.7[xml] - >=dev-util/gn-0.1807 - dev-vcs/git - >=dev-util/gperf-3.0.3 - >=dev-util/ninja-1.7.2 - >=net-libs/nodejs-7.6.0[inspector] - sys-apps/hwids[usb(+)] - >=sys-devel/bison-2.4.3 - sys-devel/flex - virtual/pkgconfig - js-type-check? ( virtual/jre ) -" - -# These are intended for ebuild maintainer use to force clang if GCC is broken. -: ${CHROMIUM_FORCE_CLANG=yes} -: ${CHROMIUM_FORCE_LIBCXX=no} - -if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then - BDEPEND+=" >=sys-devel/clang-12" -fi - -if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - RDEPEND+=" >=sys-libs/libcxx-12" - DEPEND+=" >=sys-libs/libcxx-12" -else - COMMON_DEPEND=" - app-arch/snappy:= - dev-libs/libxslt:= - >=dev-libs/re2-0.2019.08.01:= - >=media-libs/openh264-1.6.0:= - system-icu? ( >=dev-libs/icu-69.1:= ) - " - RDEPEND+="${COMMON_DEPEND}" - DEPEND+="${COMMON_DEPEND}" -fi - -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then - EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; -fi - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -Some web pages may require additional fonts to display properly. -Try installing some of the following packages if some characters -are not displayed properly: -- media-fonts/arphicfonts -- media-fonts/droid -- media-fonts/ipamonafont -- media-fonts/noto -- media-fonts/ja-ipafonts -- media-fonts/takao-fonts -- media-fonts/wqy-microhei -- media-fonts/wqy-zenhei - -To fix broken icons on the Downloads page, you should install an icon -theme that covers the appropriate MIME types, and configure this as your -GTK+ icon theme. - -For native file dialogs in KDE, install kde-apps/kdialog. - -To make password storage work with your desktop environment you may -have install one of the supported credentials management applications: -- app-crypt/libsecret (GNOME) -- kde-frameworks/kwallet (KDE) -If you have one of above packages installed, but don't want to use -them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS -in /etc/chromium/default. -" - -pre_build_checks() { - if [[ ${MERGE_TYPE} != binary ]]; then - local -x CPP="$(tc-getCXX) -E" - if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 9.2; then - die "At least gcc 9.2 is required" - fi - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || tc-is-clang; then - CPP="${CHOST}-clang++ -E" - if ! ver_test "$(clang-major-version)" -ge 12; then - die "At least clang 12 is required" - fi - fi - fi - - # Check build requirements, bug #541816 and bug #471810 . - CHECKREQS_MEMORY="3G" - CHECKREQS_DISK_BUILD="8G" - if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then - if use custom-cflags || use component-build; then - CHECKREQS_DISK_BUILD="25G" - fi - if ! use component-build; then - CHECKREQS_MEMORY="16G" - fi - fi - check-reqs_pkg_setup -} - -pkg_pretend() { - pre_build_checks -} - -pkg_setup() { - pre_build_checks - - chromium_suid_sandbox_check_kernel_config - - # nvidia-drivers does not work correctly with Wayland due to unsupported EGLStreams - if use wayland && ! use headless && has_version "x11-drivers/nvidia-drivers"; then - ewarn "Proprietary nVidia driver does not work with Wayland. You can disable" - ewarn "Wayland by setting DISABLE_OZONE_PLATFORM=true in /etc/chromium/default." - fi -} - -src_prepare() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local PATCHES=( - "${FILESDIR}/chromium-78-protobuf-RepeatedPtrField-export.patch" - "${FILESDIR}/chromium-90-ruy-include.patch" - "${FILESDIR}/chromium-91-compiler-r1.patch" - "${FILESDIR}/chromium-91-libyuv-aarch64.patch" - "${FILESDIR}/chromium-93-sql-virtual-cursor.patch" - "${FILESDIR}/chromium-93-AXPropertyNode-private.patch" - "${FILESDIR}/chromium-93-site_settings_helper-initialzation.patch" - "${FILESDIR}/chromium-93-tint-include.patch" - "${FILESDIR}/chromium-shim_headers.patch" - ) - - # seccomp sandbox is broken if compiled against >=sys-libs/glibc-2.33, bug #769989 - if has_version -d ">=sys-libs/glibc-2.33"; then - ewarn "Adding experimental glibc-2.33 sandbox patch. Seccomp sandbox might" - ewarn "still not work correctly. In case of issues, try to disable seccomp" - ewarn "sandbox by adding --disable-seccomp-filter-sandbox to CHROMIUM_FLAGS" - ewarn "in /etc/chromium/default." - PATCHES+=( - "${FILESDIR}/chromium-92-glibc-2.33.patch" - ) - fi - - default - - mkdir -p third_party/node/linux/node-linux-x64/bin || die - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die - - # adjust python interpreter versions - sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die - sed -i -e "s|python2|python2\.7|g" buildtools/linux64/clang-format || die - - local 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 - buildtools/third_party/eu-strip - chrome/third_party/mozilla_security_manager - courgette/third_party - 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/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-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/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/dawn/third_party/tint - 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/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-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/flatbuffers - third_party/freetype - third_party/fusejs - third_party/highway - third_party/libgifcodec - third_party/liburlpattern - third_party/libzip - 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/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/libjingle - third_party/libjxl - third_party/libphonenumber - third_party/libsecret - third_party/libsrtp - third_party/libsync - third_party/libudev - 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/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/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/tcmalloc - 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/ruy - third_party/ukey2 - third_party/unrar - third_party/usrsctp - third_party/utf - third_party/vulkan - 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 - ) - if ! use system-ffmpeg; then - keeplibs+=( third_party/ffmpeg third_party/opus ) - fi - if ! use system-icu; then - keeplibs+=( third_party/icu ) - fi - if use wayland && ! use headless ; then - keeplibs+=( third_party/wayland ) - fi - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - keeplibs+=( third_party/libxml ) - keeplibs+=( third_party/libxslt ) - keeplibs+=( third_party/openh264 ) - keeplibs+=( third_party/re2 ) - keeplibs+=( third_party/snappy ) - if use system-icu; then - keeplibs+=( third_party/icu ) - fi - fi - if use arm64 || use ppc64 ; then - keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 ) - fi - # we need to generate ppc64 stuff because upstream does not ship it yet - # it has to be done before unbundling. - if use ppc64; then - pushd third_party/libvpx >/dev/null || die - mkdir -p source/config/linux/ppc64 || die - ./generate_gni.sh || die - popd >/dev/null || die - fi - - # Remove most bundled libraries. Some are still needed. - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die - - if use js-type-check; then - ln -s "${EPREFIX}"/usr/bin/java third_party/jdk/current/bin/java || die - fi -} - -src_configure() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local myconf_gn="" - - # Make sure the build system will use the right tools, bug #340795. - tc-export AR CC CXX NM - - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] && ! tc-is-clang; then - # Force clang since gcc is pretty broken at the moment. - CC=${CHOST}-clang - CXX=${CHOST}-clang++ - strip-unsupported-flags - fi - - if tc-is-clang; then - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" - else - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - die "Compiling with sys-libs/libcxx requires clang." - fi - myconf_gn+=" is_clang=false" - fi - - # Define a custom toolchain for GN - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" - - if tc-is-cross-compiler; then - tc-export BUILD_{AR,CC,CXX,NM} - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" - else - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - fi - - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - myconf_gn+=" is_debug=false" - - # Component build isn't generally intended for use by end users. It's mostly useful - # for development and debugging. - myconf_gn+=" is_component_build=$(usex component-build true false)" - - # Disable nacl, we can't build without pnacl (http://crbug.com/269560). - myconf_gn+=" enable_nacl=false" - - # Use system-provided libraries. - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_libsrtp (bug #459932). - # TODO: use_system_protobuf (bug #525560). - # TODO: use_system_ssl (http://crbug.com/58087). - # TODO: use_system_sqlite (http://crbug.com/22208). - - # libevent: https://bugs.gentoo.org/593458 - local gn_system_libraries=( - flac - fontconfig - freetype - # Need harfbuzz_from_pkgconfig target - #harfbuzz-ng - libdrm - libjpeg - libpng - libwebp - zlib - ) - if use system-ffmpeg; then - gn_system_libraries+=( ffmpeg opus ) - fi - if use system-icu; then - gn_system_libraries+=( icu ) - fi - if [[ ${CHROMIUM_FORCE_LIBCXX} != yes ]]; then - # unbundle only without libc++, because libc++ is not fully ABI compatible with libstdc++ - gn_system_libraries+=( libxml ) - gn_system_libraries+=( libxslt ) - gn_system_libraries+=( openh264 ) - gn_system_libraries+=( re2 ) - gn_system_libraries+=( snappy ) - fi - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die - - # See dependency logic in third_party/BUILD.gn - myconf_gn+=" use_system_harfbuzz=true" - - # Disable deprecated libgnome-keyring dependency, bug #713012 - myconf_gn+=" use_gnome_keyring=false" - - # Optional dependencies. - myconf_gn+=" enable_js_type_check=$(usex js-type-check true false)" - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" - myconf_gn+=" enable_widevine=$(usex widevine true false)" - myconf_gn+=" use_cups=$(usex cups true false)" - myconf_gn+=" use_kerberos=$(usex kerberos true false)" - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" - myconf_gn+=" use_vaapi=$(usex vaapi true false)" - myconf_gn+=" rtc_use_pipewire=$(usex screencast true false) rtc_pipewire_version=\"0.3\"" - - # TODO: link_pulseaudio=true for GN. - - myconf_gn+=" fieldtrial_testing_like_official_build=true" - - # Never use bundled gold binary. Disable gold linker flags for now. - # Do not use bundled clang. - # Trying to use gold results in linker crash. - myconf_gn+=" use_gold=false use_sysroot=false use_custom_libcxx=false" - - # Disable forced lld, bug 641556 - myconf_gn+=" use_lld=false" - - # Disable pseudolocales, only used for testing - myconf_gn+=" enable_pseudolocales=false" - - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" - - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . - # Note: these are for Gentoo use ONLY. For your own distribution, - # please get your own set of keys. Feel free to contact chromium@gentoo.org - # for more info. - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" - local google_default_client_id="329227923882.apps.googleusercontent.com" - local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu" - myconf_gn+=" google_api_key=\"${google_api_key}\"" - myconf_gn+=" google_default_client_id=\"${google_default_client_id}\"" - myconf_gn+=" google_default_client_secret=\"${google_default_client_secret}\"" - local myarch="$(tc-arch)" - - # Avoid CFLAGS problems, bug #352457, bug #390147. - if ! use custom-cflags; then - replace-flags "-Os" "-O2" - strip-flags - - # Debug info section overflows without component build - # Prevent linker from running out of address space, bug #471810 . - if ! use component-build || use x86; then - filter-flags "-g*" - fi - - # Prevent libvpx build failures. Bug 530248, 544702, 546984. - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4 - fi - fi - - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - append-flags -stdlib=libc++ - append-ldflags -stdlib=libc++ - fi - - if [[ $myarch = amd64 ]] ; then - myconf_gn+=" target_cpu=\"x64\"" - ffmpeg_target_arch=x64 - elif [[ $myarch = x86 ]] ; then - myconf_gn+=" target_cpu=\"x86\"" - ffmpeg_target_arch=ia32 - - # This is normally defined by compiler_cpu_abi in - # build/config/compiler/BUILD.gn, but we patch that part out. - append-flags -msse2 -mfpmath=sse -mmmx - elif [[ $myarch = arm64 ]] ; then - myconf_gn+=" target_cpu=\"arm64\"" - ffmpeg_target_arch=arm64 - elif [[ $myarch = arm ]] ; then - myconf_gn+=" target_cpu=\"arm\"" - ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm) - elif [[ $myarch = ppc64 ]] ; then - myconf_gn+=" target_cpu=\"ppc64\"" - ffmpeg_target_arch=ppc64 - else - 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" - - # Bug 491582. - export TMPDIR="${WORKDIR}/temp" - mkdir -p -m 755 "${TMPDIR}" || die - - # https://bugs.gentoo.org/654216 - addpredict /dev/dri/ #nowarn - - #if ! use system-ffmpeg; then - if false; then - local build_ffmpeg_args="" - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then - build_ffmpeg_args+=" --disable-asm" - fi - - # Re-configure bundled ffmpeg. See bug #491378 for example reasons. - einfo "Configuring bundled ffmpeg..." - pushd third_party/ffmpeg > /dev/null || die - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \ - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die - chromium/scripts/copy_config.sh || die - chromium/scripts/generate_gn.py || die - popd > /dev/null || die - fi - - # Chromium relies on this, but was disabled in >=clang-10, crbug.com/1042470 - append-cxxflags $(test-flags-CXX -flax-vector-conversions=all) - - # Disable unknown warning message from clang. - tc-is-clang && append-flags -Wno-unknown-warning-option - - # Explicitly disable ICU data file support for system-icu builds. - if use system-icu; then - myconf_gn+=" icu_use_data_file=false" - fi - - # Enable ozone wayland and/or headless support - myconf_gn+=" use_ozone=true ozone_auto_platforms=false" - myconf_gn+=" ozone_platform_headless=true" - if use wayland || use headless; then - if use headless; then - myconf_gn+=" ozone_platform=\"headless\"" - myconf_gn+=" use_x11=false" - else - myconf_gn+=" ozone_platform_wayland=true" - myconf_gn+=" use_system_libdrm=true" - myconf_gn+=" use_system_minigbm=true" - myconf_gn+=" use_xkbcommon=true" - myconf_gn+=" ozone_platform=\"wayland\"" - fi - fi - - # Enable official builds - myconf_gn+=" is_official_build=$(usex official true false)" - myconf_gn+=" use_thin_lto=false" - if use official; then - # 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 - myconf_gn+=" is_cfi=false" - # Disable PGO, because profile data is only compatible with >=clang-11 - myconf_gn+=" chrome_pgo_phase=0" - fi - - einfo "Configuring Chromium..." - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release - echo "$@" - "$@" || die -} - -src_compile() { - # Final link uses lots of file descriptors. - ulimit -n 2048 - - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - # https://bugs.gentoo.org/717456 - # don't inherit PYTHONPATH from environment, bug #789021 - local -x PYTHONPATH="${WORKDIR}/setuptools-44.1.0" - - #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die - - # Build mksnapshot and pax-mark it. - local x - for x in mksnapshot v8_context_snapshot_generator; do - if tc-is-cross-compiler; then - eninja -C out/Release "host/${x}" - pax-mark m "out/Release/host/${x}" - else - eninja -C out/Release "${x}" - pax-mark m "out/Release/${x}" - fi - done - - export HTTP_PROXY=127.0.0.1:8123 - export HTTPS_PROXY=127.0.0.1:8123 - export http_proxy=127.0.0.1:8123 - export https_proxy=127.0.0.1:8123 - # Even though ninja autodetects number of CPUs, we respect - # user's options, for debugging with -j 1 or any other reason. - eninja -C out/Release chrome chromedriver - use suid && eninja -C out/Release chrome_sandbox - - pax-mark m out/Release/chrome - - mv out/Release/chromedriver{.unstripped,} || die - - # Build manpage; bug #684550 - sed -e 's|@@PACKAGE@@|chromium-browser|g; - s|@@MENUNAME@@|Chromium|g;' \ - chrome/app/resources/manpage.1.in > \ - out/Release/chromium-browser.1 || die - - # Build desktop file; bug #706786 - sed -e 's|@@MENUNAME@@|Chromium|g; - s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g; - s|@@PACKAGE@@|chromium-browser|g; - s|\(^Exec=\)/usr/bin/|\1|g;' \ - chrome/installer/linux/common/desktop.template > \ - out/Release/chromium-browser-chromium.desktop || die -} - -src_install() { - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" - exeinto "${CHROMIUM_HOME}" - doexe out/Release/chrome - - if use suid; then - newexe out/Release/chrome_sandbox chrome-sandbox - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" - fi - - doexe out/Release/chromedriver - doexe out/Release/crashpad_handler - - local sedargs=( -e - "s:/usr/lib/:/usr/$(get_libdir)/:g; - s:@@OZONE_AUTO_SESSION@@:$(usex wayland true false):g; - s:@@FORCE_OZONE_PLATFORM@@:$(usex headless true false):g" - ) - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r6.sh" > chromium-launcher.sh || die - doexe chromium-launcher.sh - - # It is important that we name the target "chromium-browser", - # xdg-utils expect it; bug #355517. - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser - # keep the old symlink around for consistency - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium - - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver - - # Allow users to override command-line options, bug #357629. - insinto /etc/chromium - newins "${FILESDIR}/chromium.default" "default" - - pushd out/Release/locales > /dev/null || die - chromium_remove_language_paks - popd - - insinto "${CHROMIUM_HOME}" - doins out/Release/*.bin - doins out/Release/*.pak - ( - shopt -s nullglob - local files=(out/Release/*.so out/Release/*.so.[0-9]) - [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}" - ) - - if ! use system-icu; then - doins out/Release/icudtl.dat - fi - - doins -r out/Release/locales - doins -r out/Release/resources - - if [[ -d out/Release/swiftshader ]]; then - insinto "${CHROMIUM_HOME}/swiftshader" - doins out/Release/swiftshader/*.so - fi - - # Install icons - local branding size - for size in 16 24 32 48 64 128 256 ; do - case ${size} in - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; - *) branding="chrome/app/theme/chromium" ;; - esac - newicon -s ${size} "${branding}/product_logo_${size}.png" \ - chromium-browser.png - done - - # Install desktop entry - domenu out/Release/chromium-browser-chromium.desktop - - # Install GNOME default application entry (bug #303100). - insinto /usr/share/gnome-control-center/default-apps - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml - - # Install manpage; bug #684550 - doman out/Release/chromium-browser.1 - dosym chromium-browser.1 /usr/share/man/man1/chromium.1 - - readme.gentoo_create_doc -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_desktop_database_update -} - -pkg_postinst() { - xdg_icon_cache_update - xdg_desktop_database_update - readme.gentoo_print_elog - - if use vaapi; then - elog "VA-API is disabled by default at runtime. You have to enable it" - elog "by adding --enable-features=VaapiVideoDecoder to CHROMIUM_FLAGS" - elog "in /etc/chromium/default." - fi - if use screencast; then - elog "Screencast is disabled by default at runtime. Either enable it" - elog "by navigating to chrome://flags/#enable-webrtc-pipewire-capturer" - elog "inside Chromium or add --enable-webrtc-pipewire-capturer" - elog "to CHROMIUM_FLAGS in /etc/chromium/default." - fi -} diff --git a/www-client/chromium/chromium-93.0.4573.0.ebuild b/www-client/chromium/chromium-93.0.4573.0.ebuild deleted file mode 100644 index 8058db7..0000000 --- a/www-client/chromium/chromium-93.0.4573.0.ebuild +++ /dev/null @@ -1,954 +0,0 @@ -# Copyright 2009-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python3_9 ) -PYTHON_REQ_USE="xml" - -CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - 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 vi zh-CN zh-TW" - -inherit check-reqs chromium-2 desktop flag-o-matic multilib ninja-utils pax-utils portability python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="https://chromium.org/" -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz - https://files.pythonhosted.org/packages/ed/7b/bbf89ca71e722b7f9464ebffe4b5ee20a9e5c9a555a56e2d3914bb9119a6/setuptools-44.1.0.zip" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" -IUSE="component-build cups cpu_flags_arm_neon +hangouts headless +js-type-check kerberos official pic +proprietary-codecs pulseaudio screencast selinux +suid +system-ffmpeg +system-icu vaapi wayland widevine" -REQUIRED_USE=" - component-build? ( !suid ) - screencast? ( wayland ) -" - -COMMON_X_DEPEND=" - media-libs/mesa:=[gbm] - x11-libs/libX11:= - x11-libs/libXcomposite:= - x11-libs/libXcursor:= - x11-libs/libXdamage:= - x11-libs/libXext:= - x11-libs/libXfixes:= - >=x11-libs/libXi-1.6.0:= - x11-libs/libXrandr:= - x11-libs/libXrender:= - x11-libs/libXtst:= - x11-libs/libxcb:= - x11-libs/libxshmfence:= - vaapi? ( >=x11-libs/libva-2.7:=[X,drm] ) -" - -COMMON_DEPEND=" - app-arch/bzip2:= - cups? ( >=net-print/cups-1.3.11:= ) - dev-libs/expat:= - dev-libs/glib:2 - >=dev-libs/libxml2-2.9.4-r3:=[icu] - dev-libs/nspr:= - >=dev-libs/nss-3.26:= - >=media-libs/alsa-lib-1.0.19:= - media-libs/fontconfig:= - media-libs/freetype:= - >=media-libs/harfbuzz-2.4.0:0=[icu(-)] - media-libs/libjpeg-turbo:= - media-libs/libpng:= - pulseaudio? ( media-sound/pulseaudio:= ) - system-ffmpeg? ( - >=media-video/ffmpeg-4.3:= - || ( - media-video/ffmpeg[-samba] - >=net-fs/samba-4.5.10-r1[-debug(-)] - ) - >=media-libs/opus-1.3.1:= - ) - net-misc/curl[ssl] - sys-apps/dbus:= - sys-apps/pciutils:= - virtual/udev - x11-libs/cairo:= - x11-libs/gdk-pixbuf:2 - x11-libs/libxkbcommon:= - x11-libs/pango:= - media-libs/flac:= - >=media-libs/libwebp-0.4.0:= - sys-libs/zlib:=[minizip] - kerberos? ( virtual/krb5 ) - !headless? ( - ${COMMON_X_DEPEND} - >=app-accessibility/at-spi2-atk-2.26:2 - >=app-accessibility/at-spi2-core-2.26:2 - >=dev-libs/atk-2.26 - x11-libs/gtk+:3[X] - wayland? ( - dev-libs/wayland:= - screencast? ( media-video/pipewire:0/0.3 ) - x11-libs/gtk+:3[wayland,X] - x11-libs/libdrm:= - ) - ) -" -RDEPEND="${COMMON_DEPEND} - x11-misc/xdg-utils - virtual/opengl - virtual/ttf-fonts - selinux? ( sec-policy/selinux-chromium ) -" -DEPEND="${COMMON_DEPEND} -" -# dev-vcs/git - https://bugs.gentoo.org/593476 -BDEPEND=" - ${PYTHON_DEPS} - >=app-arch/gzip-1.7 - app-arch/unzip - dev-lang/perl - dev-lang/python:2.7[xml] - >=dev-util/gn-0.1807 - dev-vcs/git - >=dev-util/gperf-3.0.3 - >=dev-util/ninja-1.7.2 - >=net-libs/nodejs-7.6.0[inspector] - sys-apps/hwids[usb(+)] - >=sys-devel/bison-2.4.3 - sys-devel/flex - virtual/pkgconfig - js-type-check? ( virtual/jre ) -" - -# These are intended for ebuild maintainer use to force clang if GCC is broken. -: ${CHROMIUM_FORCE_CLANG=yes} -: ${CHROMIUM_FORCE_LIBCXX=no} - -if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then - BDEPEND+=" >=sys-devel/clang-12" -fi - -if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - RDEPEND+=" >=sys-libs/libcxx-12" - DEPEND+=" >=sys-libs/libcxx-12" -else - COMMON_DEPEND=" - app-arch/snappy:= - dev-libs/libxslt:= - >=dev-libs/re2-0.2019.08.01:= - >=media-libs/openh264-1.6.0:= - system-icu? ( >=dev-libs/icu-69.1:= ) - " - RDEPEND+="${COMMON_DEPEND}" - DEPEND+="${COMMON_DEPEND}" -fi - -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then - EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; -fi - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -Some web pages may require additional fonts to display properly. -Try installing some of the following packages if some characters -are not displayed properly: -- media-fonts/arphicfonts -- media-fonts/droid -- media-fonts/ipamonafont -- media-fonts/noto -- media-fonts/ja-ipafonts -- media-fonts/takao-fonts -- media-fonts/wqy-microhei -- media-fonts/wqy-zenhei - -To fix broken icons on the Downloads page, you should install an icon -theme that covers the appropriate MIME types, and configure this as your -GTK+ icon theme. - -For native file dialogs in KDE, install kde-apps/kdialog. - -To make password storage work with your desktop environment you may -have install one of the supported credentials management applications: -- app-crypt/libsecret (GNOME) -- kde-frameworks/kwallet (KDE) -If you have one of above packages installed, but don't want to use -them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS -in /etc/chromium/default. -" - -pre_build_checks() { - if [[ ${MERGE_TYPE} != binary ]]; then - local -x CPP="$(tc-getCXX) -E" - if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 9.2; then - die "At least gcc 9.2 is required" - fi - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || tc-is-clang; then - CPP="${CHOST}-clang++ -E" - if ! ver_test "$(clang-major-version)" -ge 12; then - die "At least clang 12 is required" - fi - fi - fi - - # Check build requirements, bug #541816 and bug #471810 . - CHECKREQS_MEMORY="3G" - CHECKREQS_DISK_BUILD="8G" - if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then - if use custom-cflags || use component-build; then - CHECKREQS_DISK_BUILD="25G" - fi - if ! use component-build; then - CHECKREQS_MEMORY="16G" - fi - fi - check-reqs_pkg_setup -} - -pkg_pretend() { - pre_build_checks -} - -pkg_setup() { - pre_build_checks - - chromium_suid_sandbox_check_kernel_config - - # nvidia-drivers does not work correctly with Wayland due to unsupported EGLStreams - if use wayland && ! use headless && has_version "x11-drivers/nvidia-drivers"; then - ewarn "Proprietary nVidia driver does not work with Wayland. You can disable" - ewarn "Wayland by setting DISABLE_OZONE_PLATFORM=true in /etc/chromium/default." - fi -} - -src_prepare() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local PATCHES=( - "${FILESDIR}/chromium-78-protobuf-RepeatedPtrField-export.patch" - "${FILESDIR}/chromium-90-ruy-include.patch" - "${FILESDIR}/chromium-91-compiler-r1.patch" - "${FILESDIR}/chromium-91-libyuv-aarch64.patch" - "${FILESDIR}/chromium-93-sql-virtual-cursor.patch" - "${FILESDIR}/chromium-93-net-http-include.patch" - "${FILESDIR}/chromium-93-quiche-logging-include.patch" - "${FILESDIR}/chromium-93-ui-event-include.patch" - "${FILESDIR}/chromium-93-media-ffmpeg-type.patch" - "${FILESDIR}/chromium-93-pwdmgr-include.patch" - "${FILESDIR}/chromium-93-lang-prefs-include.patch" - "${FILESDIR}/chromium-93-gpu-ipc-include.patch" - "${FILESDIR}/chromium-93-pdfium-include.patch" - "${FILESDIR}/chromium-93-payment-include.patch" - "${FILESDIR}/chromium-93-webapp-include.patch" - "${FILESDIR}/chromium-93-dnsprefetch-include.patch" - "${FILESDIR}/chromium-93-phishing-classifier-include.patch" - "${FILESDIR}/chromium-93-devtools-msg-dispatcher-include.patch" - "${FILESDIR}/chromium-93-hid-chooser-include.patch" - "${FILESDIR}/chromium-93-url-loader-throttles-include.patch" - "${FILESDIR}/chromium-93-sms-fetcher-include.patch" - "${FILESDIR}/chromium-93-cart-include.patch" - "${FILESDIR}/chromium-93-login-detection-include.patch" - "${FILESDIR}/chromium-93-media-history-include.patch" - "${FILESDIR}/chromium-shim_headers.patch" - ) - - # seccomp sandbox is broken if compiled against >=sys-libs/glibc-2.33, bug #769989 - if has_version -d ">=sys-libs/glibc-2.33"; then - ewarn "Adding experimental glibc-2.33 sandbox patch. Seccomp sandbox might" - ewarn "still not work correctly. In case of issues, try to disable seccomp" - ewarn "sandbox by adding --disable-seccomp-filter-sandbox to CHROMIUM_FLAGS" - ewarn "in /etc/chromium/default." - PATCHES+=( - "${FILESDIR}/chromium-92-glibc-2.33.patch" - ) - fi - - default - - mkdir -p third_party/node/linux/node-linux-x64/bin || die - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die - - # adjust python interpreter versions - sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die - sed -i -e "s|python2|python2\.7|g" buildtools/linux64/clang-format || die - - local 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 - buildtools/third_party/eu-strip - chrome/third_party/mozilla_security_manager - courgette/third_party - 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/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-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/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/dawn/third_party/tint - 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/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-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/flatbuffers - third_party/freetype - third_party/fusejs - third_party/highway - third_party/libgifcodec - third_party/liburlpattern - third_party/libzip - 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/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/libjingle - third_party/libjxl - third_party/libphonenumber - third_party/libsecret - third_party/libsrtp - third_party/libsync - third_party/libudev - 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/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/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/tcmalloc - 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/ruy - third_party/ukey2 - third_party/unrar - third_party/usrsctp - third_party/utf - third_party/vulkan - 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 - 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 - ) - if ! use system-ffmpeg; then - keeplibs+=( third_party/ffmpeg third_party/opus ) - fi - if ! use system-icu; then - keeplibs+=( third_party/icu ) - fi - if use wayland && ! use headless ; then - keeplibs+=( third_party/wayland ) - fi - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - keeplibs+=( third_party/libxml ) - keeplibs+=( third_party/libxslt ) - keeplibs+=( third_party/openh264 ) - keeplibs+=( third_party/re2 ) - keeplibs+=( third_party/snappy ) - if use system-icu; then - keeplibs+=( third_party/icu ) - fi - fi - if use arm64 || use ppc64 ; then - keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 ) - fi - # we need to generate ppc64 stuff because upstream does not ship it yet - # it has to be done before unbundling. - if use ppc64; then - pushd third_party/libvpx >/dev/null || die - mkdir -p source/config/linux/ppc64 || die - ./generate_gni.sh || die - popd >/dev/null || die - fi - - # Remove most bundled libraries. Some are still needed. - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die - - if use js-type-check; then - ln -s "${EPREFIX}"/usr/bin/java third_party/jdk/current/bin/java || die - fi -} - -src_configure() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local myconf_gn="" - - # Make sure the build system will use the right tools, bug #340795. - tc-export AR CC CXX NM - - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] && ! tc-is-clang; then - # Force clang since gcc is pretty broken at the moment. - CC=${CHOST}-clang - CXX=${CHOST}-clang++ - strip-unsupported-flags - fi - - if tc-is-clang; then - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" - else - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - die "Compiling with sys-libs/libcxx requires clang." - fi - myconf_gn+=" is_clang=false" - fi - - # Define a custom toolchain for GN - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" - - if tc-is-cross-compiler; then - tc-export BUILD_{AR,CC,CXX,NM} - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" - else - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - fi - - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - myconf_gn+=" is_debug=false" - - # Component build isn't generally intended for use by end users. It's mostly useful - # for development and debugging. - myconf_gn+=" is_component_build=$(usex component-build true false)" - - # Disable nacl, we can't build without pnacl (http://crbug.com/269560). - myconf_gn+=" enable_nacl=false" - - # Use system-provided libraries. - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_libsrtp (bug #459932). - # TODO: use_system_protobuf (bug #525560). - # TODO: use_system_ssl (http://crbug.com/58087). - # TODO: use_system_sqlite (http://crbug.com/22208). - - # libevent: https://bugs.gentoo.org/593458 - local gn_system_libraries=( - flac - fontconfig - freetype - # Need harfbuzz_from_pkgconfig target - #harfbuzz-ng - libdrm - libjpeg - libpng - libwebp - zlib - ) - if use system-ffmpeg; then - gn_system_libraries+=( ffmpeg opus ) - fi - if use system-icu; then - gn_system_libraries+=( icu ) - fi - if [[ ${CHROMIUM_FORCE_LIBCXX} != yes ]]; then - # unbundle only without libc++, because libc++ is not fully ABI compatible with libstdc++ - gn_system_libraries+=( libxml ) - gn_system_libraries+=( libxslt ) - gn_system_libraries+=( openh264 ) - gn_system_libraries+=( re2 ) - gn_system_libraries+=( snappy ) - fi - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die - - # See dependency logic in third_party/BUILD.gn - myconf_gn+=" use_system_harfbuzz=true" - - # Disable deprecated libgnome-keyring dependency, bug #713012 - myconf_gn+=" use_gnome_keyring=false" - - # Optional dependencies. - myconf_gn+=" enable_js_type_check=$(usex js-type-check true false)" - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" - myconf_gn+=" enable_widevine=$(usex widevine true false)" - myconf_gn+=" use_cups=$(usex cups true false)" - myconf_gn+=" use_kerberos=$(usex kerberos true false)" - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" - myconf_gn+=" use_vaapi=$(usex vaapi true false)" - myconf_gn+=" rtc_use_pipewire=$(usex screencast true false) rtc_pipewire_version=\"0.3\"" - - # TODO: link_pulseaudio=true for GN. - - myconf_gn+=" fieldtrial_testing_like_official_build=true" - - # Never use bundled gold binary. Disable gold linker flags for now. - # Do not use bundled clang. - # Trying to use gold results in linker crash. - myconf_gn+=" use_gold=false use_sysroot=false use_custom_libcxx=false" - - # Disable forced lld, bug 641556 - myconf_gn+=" use_lld=false" - - # Disable pseudolocales, only used for testing - myconf_gn+=" enable_pseudolocales=false" - - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" - - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . - # Note: these are for Gentoo use ONLY. For your own distribution, - # please get your own set of keys. Feel free to contact chromium@gentoo.org - # for more info. - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" - local google_default_client_id="329227923882.apps.googleusercontent.com" - local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu" - myconf_gn+=" google_api_key=\"${google_api_key}\"" - myconf_gn+=" google_default_client_id=\"${google_default_client_id}\"" - myconf_gn+=" google_default_client_secret=\"${google_default_client_secret}\"" - local myarch="$(tc-arch)" - - # Avoid CFLAGS problems, bug #352457, bug #390147. - if ! use custom-cflags; then - replace-flags "-Os" "-O2" - strip-flags - - # Debug info section overflows without component build - # Prevent linker from running out of address space, bug #471810 . - if ! use component-build || use x86; then - filter-flags "-g*" - fi - - # Prevent libvpx build failures. Bug 530248, 544702, 546984. - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4 - fi - fi - - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - append-flags -stdlib=libc++ - append-ldflags -stdlib=libc++ - fi - - if [[ $myarch = amd64 ]] ; then - myconf_gn+=" target_cpu=\"x64\"" - ffmpeg_target_arch=x64 - elif [[ $myarch = x86 ]] ; then - myconf_gn+=" target_cpu=\"x86\"" - ffmpeg_target_arch=ia32 - - # This is normally defined by compiler_cpu_abi in - # build/config/compiler/BUILD.gn, but we patch that part out. - append-flags -msse2 -mfpmath=sse -mmmx - elif [[ $myarch = arm64 ]] ; then - myconf_gn+=" target_cpu=\"arm64\"" - ffmpeg_target_arch=arm64 - elif [[ $myarch = arm ]] ; then - myconf_gn+=" target_cpu=\"arm\"" - ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm) - elif [[ $myarch = ppc64 ]] ; then - myconf_gn+=" target_cpu=\"ppc64\"" - ffmpeg_target_arch=ppc64 - else - 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" - - # Bug 491582. - export TMPDIR="${WORKDIR}/temp" - mkdir -p -m 755 "${TMPDIR}" || die - - # https://bugs.gentoo.org/654216 - addpredict /dev/dri/ #nowarn - - #if ! use system-ffmpeg; then - if false; then - local build_ffmpeg_args="" - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then - build_ffmpeg_args+=" --disable-asm" - fi - - # Re-configure bundled ffmpeg. See bug #491378 for example reasons. - einfo "Configuring bundled ffmpeg..." - pushd third_party/ffmpeg > /dev/null || die - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \ - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die - chromium/scripts/copy_config.sh || die - chromium/scripts/generate_gn.py || die - popd > /dev/null || die - fi - - # Chromium relies on this, but was disabled in >=clang-10, crbug.com/1042470 - append-cxxflags $(test-flags-CXX -flax-vector-conversions=all) - - # Disable unknown warning message from clang. - tc-is-clang && append-flags -Wno-unknown-warning-option - - # Explicitly disable ICU data file support for system-icu builds. - if use system-icu; then - myconf_gn+=" icu_use_data_file=false" - fi - - # Enable ozone wayland and/or headless support - myconf_gn+=" use_ozone=true ozone_auto_platforms=false" - myconf_gn+=" ozone_platform_headless=true" - if use wayland || use headless; then - if use headless; then - myconf_gn+=" ozone_platform=\"headless\"" - myconf_gn+=" use_x11=false" - else - myconf_gn+=" ozone_platform_wayland=true" - myconf_gn+=" use_system_libdrm=true" - myconf_gn+=" use_system_minigbm=true" - myconf_gn+=" use_xkbcommon=true" - myconf_gn+=" ozone_platform=\"wayland\"" - fi - fi - - # Enable official builds - myconf_gn+=" is_official_build=$(usex official true false)" - myconf_gn+=" use_thin_lto=false" - if use official; then - # 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 - myconf_gn+=" is_cfi=false" - # Disable PGO, because profile data is only compatible with >=clang-11 - myconf_gn+=" chrome_pgo_phase=0" - fi - - einfo "Configuring Chromium..." - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release - echo "$@" - "$@" || die -} - -src_compile() { - # Final link uses lots of file descriptors. - ulimit -n 2048 - - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - # https://bugs.gentoo.org/717456 - # don't inherit PYTHONPATH from environment, bug #789021 - local -x PYTHONPATH="${WORKDIR}/setuptools-44.1.0" - - #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die - - # Build mksnapshot and pax-mark it. - local x - for x in mksnapshot v8_context_snapshot_generator; do - if tc-is-cross-compiler; then - eninja -C out/Release "host/${x}" - pax-mark m "out/Release/host/${x}" - else - eninja -C out/Release "${x}" - pax-mark m "out/Release/${x}" - fi - done - - export HTTP_PROXY=127.0.0.1:8123 - export HTTPS_PROXY=127.0.0.1:8123 - export http_proxy=127.0.0.1:8123 - export https_proxy=127.0.0.1:8123 - # Even though ninja autodetects number of CPUs, we respect - # user's options, for debugging with -j 1 or any other reason. - eninja -C out/Release chrome chromedriver - use suid && eninja -C out/Release chrome_sandbox - - pax-mark m out/Release/chrome - - mv out/Release/chromedriver{.unstripped,} || die - - # Build manpage; bug #684550 - sed -e 's|@@PACKAGE@@|chromium-browser|g; - s|@@MENUNAME@@|Chromium|g;' \ - chrome/app/resources/manpage.1.in > \ - out/Release/chromium-browser.1 || die - - # Build desktop file; bug #706786 - sed -e 's|@@MENUNAME@@|Chromium|g; - s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g; - s|@@PACKAGE@@|chromium-browser|g; - s|\(^Exec=\)/usr/bin/|\1|g;' \ - chrome/installer/linux/common/desktop.template > \ - out/Release/chromium-browser-chromium.desktop || die -} - -src_install() { - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" - exeinto "${CHROMIUM_HOME}" - doexe out/Release/chrome - - if use suid; then - newexe out/Release/chrome_sandbox chrome-sandbox - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" - fi - - doexe out/Release/chromedriver - doexe out/Release/crashpad_handler - - local sedargs=( -e - "s:/usr/lib/:/usr/$(get_libdir)/:g; - s:@@OZONE_AUTO_SESSION@@:$(usex wayland true false):g; - s:@@FORCE_OZONE_PLATFORM@@:$(usex headless true false):g" - ) - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r6.sh" > chromium-launcher.sh || die - doexe chromium-launcher.sh - - # It is important that we name the target "chromium-browser", - # xdg-utils expect it; bug #355517. - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser - # keep the old symlink around for consistency - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium - - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver - - # Allow users to override command-line options, bug #357629. - insinto /etc/chromium - newins "${FILESDIR}/chromium.default" "default" - - pushd out/Release/locales > /dev/null || die - chromium_remove_language_paks - popd - - insinto "${CHROMIUM_HOME}" - doins out/Release/*.bin - doins out/Release/*.pak - ( - shopt -s nullglob - local files=(out/Release/*.so out/Release/*.so.[0-9]) - [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}" - ) - - if ! use system-icu; then - doins out/Release/icudtl.dat - fi - - doins -r out/Release/locales - doins -r out/Release/resources - - if [[ -d out/Release/swiftshader ]]; then - insinto "${CHROMIUM_HOME}/swiftshader" - doins out/Release/swiftshader/*.so - fi - - # Install icons - local branding size - for size in 16 24 32 48 64 128 256 ; do - case ${size} in - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; - *) branding="chrome/app/theme/chromium" ;; - esac - newicon -s ${size} "${branding}/product_logo_${size}.png" \ - chromium-browser.png - done - - # Install desktop entry - domenu out/Release/chromium-browser-chromium.desktop - - # Install GNOME default application entry (bug #303100). - insinto /usr/share/gnome-control-center/default-apps - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml - - # Install manpage; bug #684550 - doman out/Release/chromium-browser.1 - dosym chromium-browser.1 /usr/share/man/man1/chromium.1 - - readme.gentoo_create_doc -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_desktop_database_update -} - -pkg_postinst() { - xdg_icon_cache_update - xdg_desktop_database_update - readme.gentoo_print_elog - - if use vaapi; then - elog "VA-API is disabled by default at runtime. You have to enable it" - elog "by adding --enable-features=VaapiVideoDecoder to CHROMIUM_FLAGS" - elog "in /etc/chromium/default." - fi - if use screencast; then - elog "Screencast is disabled by default at runtime. Either enable it" - elog "by navigating to chrome://flags/#enable-webrtc-pipewire-capturer" - elog "inside Chromium or add --enable-webrtc-pipewire-capturer" - elog "to CHROMIUM_FLAGS in /etc/chromium/default." - fi -} diff --git a/www-client/chromium/chromium-93.0.4577.8.ebuild b/www-client/chromium/chromium-93.0.4577.8.ebuild deleted file mode 100644 index 6ea058a..0000000 --- a/www-client/chromium/chromium-93.0.4577.8.ebuild +++ /dev/null @@ -1,941 +0,0 @@ -# Copyright 2009-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python3_9 ) -PYTHON_REQ_USE="xml" - -CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - 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 vi zh-CN zh-TW" - -inherit check-reqs chromium-2 desktop flag-o-matic multilib ninja-utils pax-utils portability python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="https://chromium.org/" -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz - https://files.pythonhosted.org/packages/ed/7b/bbf89ca71e722b7f9464ebffe4b5ee20a9e5c9a555a56e2d3914bb9119a6/setuptools-44.1.0.zip" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" -IUSE="component-build cups cpu_flags_arm_neon +hangouts headless +js-type-check kerberos official pic +proprietary-codecs pulseaudio screencast selinux +suid +system-ffmpeg +system-icu vaapi wayland widevine" -REQUIRED_USE=" - component-build? ( !suid ) - screencast? ( wayland ) -" - -COMMON_X_DEPEND=" - media-libs/mesa:=[gbm] - x11-libs/libX11:= - x11-libs/libXcomposite:= - x11-libs/libXcursor:= - x11-libs/libXdamage:= - x11-libs/libXext:= - x11-libs/libXfixes:= - >=x11-libs/libXi-1.6.0:= - x11-libs/libXrandr:= - x11-libs/libXrender:= - x11-libs/libXtst:= - x11-libs/libxcb:= - x11-libs/libxshmfence:= - vaapi? ( >=x11-libs/libva-2.7:=[X,drm] ) -" - -COMMON_DEPEND=" - app-arch/bzip2:= - cups? ( >=net-print/cups-1.3.11:= ) - dev-libs/expat:= - dev-libs/glib:2 - >=dev-libs/libxml2-2.9.4-r3:=[icu] - dev-libs/nspr:= - >=dev-libs/nss-3.26:= - >=media-libs/alsa-lib-1.0.19:= - media-libs/fontconfig:= - media-libs/freetype:= - >=media-libs/harfbuzz-2.4.0:0=[icu(-)] - media-libs/libjpeg-turbo:= - media-libs/libpng:= - pulseaudio? ( media-sound/pulseaudio:= ) - system-ffmpeg? ( - >=media-video/ffmpeg-4.3:= - || ( - media-video/ffmpeg[-samba] - >=net-fs/samba-4.5.10-r1[-debug(-)] - ) - >=media-libs/opus-1.3.1:= - ) - net-misc/curl[ssl] - sys-apps/dbus:= - sys-apps/pciutils:= - virtual/udev - x11-libs/cairo:= - x11-libs/gdk-pixbuf:2 - x11-libs/libxkbcommon:= - x11-libs/pango:= - media-libs/flac:= - >=media-libs/libwebp-0.4.0:= - sys-libs/zlib:=[minizip] - kerberos? ( virtual/krb5 ) - !headless? ( - ${COMMON_X_DEPEND} - >=app-accessibility/at-spi2-atk-2.26:2 - >=app-accessibility/at-spi2-core-2.26:2 - >=dev-libs/atk-2.26 - x11-libs/gtk+:3[X] - wayland? ( - dev-libs/wayland:= - screencast? ( media-video/pipewire:0/0.3 ) - x11-libs/gtk+:3[wayland,X] - x11-libs/libdrm:= - ) - ) -" -RDEPEND="${COMMON_DEPEND} - x11-misc/xdg-utils - virtual/opengl - virtual/ttf-fonts - selinux? ( sec-policy/selinux-chromium ) -" -DEPEND="${COMMON_DEPEND} -" -# dev-vcs/git - https://bugs.gentoo.org/593476 -BDEPEND=" - ${PYTHON_DEPS} - >=app-arch/gzip-1.7 - app-arch/unzip - dev-lang/perl - dev-lang/python:2.7[xml] - >=dev-util/gn-0.1807 - dev-vcs/git - >=dev-util/gperf-3.0.3 - >=dev-util/ninja-1.7.2 - >=net-libs/nodejs-7.6.0[inspector] - sys-apps/hwids[usb(+)] - >=sys-devel/bison-2.4.3 - sys-devel/flex - virtual/pkgconfig - js-type-check? ( virtual/jre ) -" - -# These are intended for ebuild maintainer use to force clang if GCC is broken. -: ${CHROMIUM_FORCE_CLANG=yes} -: ${CHROMIUM_FORCE_LIBCXX=no} - -if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then - BDEPEND+=" >=sys-devel/clang-12" -fi - -if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - RDEPEND+=" >=sys-libs/libcxx-12" - DEPEND+=" >=sys-libs/libcxx-12" -else - COMMON_DEPEND=" - app-arch/snappy:= - dev-libs/libxslt:= - >=dev-libs/re2-0.2019.08.01:= - >=media-libs/openh264-1.6.0:= - system-icu? ( >=dev-libs/icu-69.1:= ) - " - RDEPEND+="${COMMON_DEPEND}" - DEPEND+="${COMMON_DEPEND}" -fi - -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then - EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; -fi - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -Some web pages may require additional fonts to display properly. -Try installing some of the following packages if some characters -are not displayed properly: -- media-fonts/arphicfonts -- media-fonts/droid -- media-fonts/ipamonafont -- media-fonts/noto -- media-fonts/ja-ipafonts -- media-fonts/takao-fonts -- media-fonts/wqy-microhei -- media-fonts/wqy-zenhei - -To fix broken icons on the Downloads page, you should install an icon -theme that covers the appropriate MIME types, and configure this as your -GTK+ icon theme. - -For native file dialogs in KDE, install kde-apps/kdialog. - -To make password storage work with your desktop environment you may -have install one of the supported credentials management applications: -- app-crypt/libsecret (GNOME) -- kde-frameworks/kwallet (KDE) -If you have one of above packages installed, but don't want to use -them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS -in /etc/chromium/default. -" - -pre_build_checks() { - if [[ ${MERGE_TYPE} != binary ]]; then - local -x CPP="$(tc-getCXX) -E" - if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 9.2; then - die "At least gcc 9.2 is required" - fi - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || tc-is-clang; then - CPP="${CHOST}-clang++ -E" - if ! ver_test "$(clang-major-version)" -ge 12; then - die "At least clang 12 is required" - fi - fi - fi - - # Check build requirements, bug #541816 and bug #471810 . - CHECKREQS_MEMORY="3G" - CHECKREQS_DISK_BUILD="8G" - if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then - if use custom-cflags || use component-build; then - CHECKREQS_DISK_BUILD="25G" - fi - if ! use component-build; then - CHECKREQS_MEMORY="16G" - fi - fi - check-reqs_pkg_setup -} - -pkg_pretend() { - pre_build_checks -} - -pkg_setup() { - pre_build_checks - - chromium_suid_sandbox_check_kernel_config - - # nvidia-drivers does not work correctly with Wayland due to unsupported EGLStreams - if use wayland && ! use headless && has_version "x11-drivers/nvidia-drivers"; then - ewarn "Proprietary nVidia driver does not work with Wayland. You can disable" - ewarn "Wayland by setting DISABLE_OZONE_PLATFORM=true in /etc/chromium/default." - fi -} - -src_prepare() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local PATCHES=( - "${FILESDIR}/chromium-78-protobuf-RepeatedPtrField-export.patch" - "${FILESDIR}/chromium-90-ruy-include.patch" - "${FILESDIR}/chromium-91-compiler-r1.patch" - "${FILESDIR}/chromium-91-libyuv-aarch64.patch" - "${FILESDIR}/chromium-93-sql-virtual-cursor.patch" - "${FILESDIR}/chromium-93-media-ffmpeg-type.patch" - "${FILESDIR}/chromium-93-pdfium-include.patch" - "${FILESDIR}/chromium-93-devtools-msg-dispatcher-include.patch" - "${FILESDIR}/chromium-93-worksp-ext-include.patch" - "${FILESDIR}/chromium-93-pwdmgr-include-r1.patch" - "${FILESDIR}/chromium-93-ext-autoconfirm-include.patch" - "${FILESDIR}/chromium-shim_headers.patch" - ) - - # seccomp sandbox is broken if compiled against >=sys-libs/glibc-2.33, bug #769989 - if has_version -d ">=sys-libs/glibc-2.33"; then - ewarn "Adding experimental glibc-2.33 sandbox patch. Seccomp sandbox might" - ewarn "still not work correctly. In case of issues, try to disable seccomp" - ewarn "sandbox by adding --disable-seccomp-filter-sandbox to CHROMIUM_FLAGS" - ewarn "in /etc/chromium/default." - PATCHES+=( - "${FILESDIR}/chromium-92-glibc-2.33.patch" - ) - fi - - default - - mkdir -p third_party/node/linux/node-linux-x64/bin || die - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die - - # adjust python interpreter versions - sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die - sed -i -e "s|python2|python2\.7|g" buildtools/linux64/clang-format || die - - local 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 - buildtools/third_party/eu-strip - chrome/third_party/mozilla_security_manager - courgette/third_party - 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/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-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/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/dawn/third_party/tint - 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/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-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/flatbuffers - third_party/freetype - third_party/fusejs - third_party/highway - third_party/libgifcodec - third_party/liburlpattern - third_party/libzip - 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/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/libjingle - third_party/libjxl - third_party/libphonenumber - third_party/libsecret - third_party/libsrtp - third_party/libsync - third_party/libudev - 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/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/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/tcmalloc - 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/ruy - third_party/ukey2 - third_party/unrar - third_party/usrsctp - third_party/utf - third_party/vulkan - 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 - 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 - ) - if ! use system-ffmpeg; then - keeplibs+=( third_party/ffmpeg third_party/opus ) - fi - if ! use system-icu; then - keeplibs+=( third_party/icu ) - fi - if use wayland && ! use headless ; then - keeplibs+=( third_party/wayland ) - fi - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - keeplibs+=( third_party/libxml ) - keeplibs+=( third_party/libxslt ) - keeplibs+=( third_party/openh264 ) - keeplibs+=( third_party/re2 ) - keeplibs+=( third_party/snappy ) - if use system-icu; then - keeplibs+=( third_party/icu ) - fi - fi - if use arm64 || use ppc64 ; then - keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 ) - fi - # we need to generate ppc64 stuff because upstream does not ship it yet - # it has to be done before unbundling. - if use ppc64; then - pushd third_party/libvpx >/dev/null || die - mkdir -p source/config/linux/ppc64 || die - ./generate_gni.sh || die - popd >/dev/null || die - fi - - # Remove most bundled libraries. Some are still needed. - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die - - if use js-type-check; then - ln -s "${EPREFIX}"/usr/bin/java third_party/jdk/current/bin/java || die - fi -} - -src_configure() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local myconf_gn="" - - # Make sure the build system will use the right tools, bug #340795. - tc-export AR CC CXX NM - - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] && ! tc-is-clang; then - # Force clang since gcc is pretty broken at the moment. - CC=${CHOST}-clang - CXX=${CHOST}-clang++ - strip-unsupported-flags - fi - - if tc-is-clang; then - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" - else - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - die "Compiling with sys-libs/libcxx requires clang." - fi - myconf_gn+=" is_clang=false" - fi - - # Define a custom toolchain for GN - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" - - if tc-is-cross-compiler; then - tc-export BUILD_{AR,CC,CXX,NM} - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" - else - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - fi - - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - myconf_gn+=" is_debug=false" - - # Component build isn't generally intended for use by end users. It's mostly useful - # for development and debugging. - myconf_gn+=" is_component_build=$(usex component-build true false)" - - # Disable nacl, we can't build without pnacl (http://crbug.com/269560). - myconf_gn+=" enable_nacl=false" - - # Use system-provided libraries. - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_libsrtp (bug #459932). - # TODO: use_system_protobuf (bug #525560). - # TODO: use_system_ssl (http://crbug.com/58087). - # TODO: use_system_sqlite (http://crbug.com/22208). - - # libevent: https://bugs.gentoo.org/593458 - local gn_system_libraries=( - flac - fontconfig - freetype - # Need harfbuzz_from_pkgconfig target - #harfbuzz-ng - libdrm - libjpeg - libpng - libwebp - zlib - ) - if use system-ffmpeg; then - gn_system_libraries+=( ffmpeg opus ) - fi - if use system-icu; then - gn_system_libraries+=( icu ) - fi - if [[ ${CHROMIUM_FORCE_LIBCXX} != yes ]]; then - # unbundle only without libc++, because libc++ is not fully ABI compatible with libstdc++ - gn_system_libraries+=( libxml ) - gn_system_libraries+=( libxslt ) - gn_system_libraries+=( openh264 ) - gn_system_libraries+=( re2 ) - gn_system_libraries+=( snappy ) - fi - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die - - # See dependency logic in third_party/BUILD.gn - myconf_gn+=" use_system_harfbuzz=true" - - # Disable deprecated libgnome-keyring dependency, bug #713012 - myconf_gn+=" use_gnome_keyring=false" - - # Optional dependencies. - myconf_gn+=" enable_js_type_check=$(usex js-type-check true false)" - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" - myconf_gn+=" enable_widevine=$(usex widevine true false)" - myconf_gn+=" use_cups=$(usex cups true false)" - myconf_gn+=" use_kerberos=$(usex kerberos true false)" - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" - myconf_gn+=" use_vaapi=$(usex vaapi true false)" - myconf_gn+=" rtc_use_pipewire=$(usex screencast true false) rtc_pipewire_version=\"0.3\"" - - # TODO: link_pulseaudio=true for GN. - - myconf_gn+=" fieldtrial_testing_like_official_build=true" - - # Never use bundled gold binary. Disable gold linker flags for now. - # Do not use bundled clang. - # Trying to use gold results in linker crash. - myconf_gn+=" use_gold=false use_sysroot=false use_custom_libcxx=false" - - # Disable forced lld, bug 641556 - myconf_gn+=" use_lld=false" - - # Disable pseudolocales, only used for testing - myconf_gn+=" enable_pseudolocales=false" - - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" - - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . - # Note: these are for Gentoo use ONLY. For your own distribution, - # please get your own set of keys. Feel free to contact chromium@gentoo.org - # for more info. - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" - local google_default_client_id="329227923882.apps.googleusercontent.com" - local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu" - myconf_gn+=" google_api_key=\"${google_api_key}\"" - myconf_gn+=" google_default_client_id=\"${google_default_client_id}\"" - myconf_gn+=" google_default_client_secret=\"${google_default_client_secret}\"" - local myarch="$(tc-arch)" - - # Avoid CFLAGS problems, bug #352457, bug #390147. - if ! use custom-cflags; then - replace-flags "-Os" "-O2" - strip-flags - - # Debug info section overflows without component build - # Prevent linker from running out of address space, bug #471810 . - if ! use component-build || use x86; then - filter-flags "-g*" - fi - - # Prevent libvpx build failures. Bug 530248, 544702, 546984. - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4 - fi - fi - - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - append-flags -stdlib=libc++ - append-ldflags -stdlib=libc++ - fi - - if [[ $myarch = amd64 ]] ; then - myconf_gn+=" target_cpu=\"x64\"" - ffmpeg_target_arch=x64 - elif [[ $myarch = x86 ]] ; then - myconf_gn+=" target_cpu=\"x86\"" - ffmpeg_target_arch=ia32 - - # This is normally defined by compiler_cpu_abi in - # build/config/compiler/BUILD.gn, but we patch that part out. - append-flags -msse2 -mfpmath=sse -mmmx - elif [[ $myarch = arm64 ]] ; then - myconf_gn+=" target_cpu=\"arm64\"" - ffmpeg_target_arch=arm64 - elif [[ $myarch = arm ]] ; then - myconf_gn+=" target_cpu=\"arm\"" - ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm) - elif [[ $myarch = ppc64 ]] ; then - myconf_gn+=" target_cpu=\"ppc64\"" - ffmpeg_target_arch=ppc64 - else - 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" - - # Bug 491582. - export TMPDIR="${WORKDIR}/temp" - mkdir -p -m 755 "${TMPDIR}" || die - - # https://bugs.gentoo.org/654216 - addpredict /dev/dri/ #nowarn - - #if ! use system-ffmpeg; then - if false; then - local build_ffmpeg_args="" - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then - build_ffmpeg_args+=" --disable-asm" - fi - - # Re-configure bundled ffmpeg. See bug #491378 for example reasons. - einfo "Configuring bundled ffmpeg..." - pushd third_party/ffmpeg > /dev/null || die - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \ - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die - chromium/scripts/copy_config.sh || die - chromium/scripts/generate_gn.py || die - popd > /dev/null || die - fi - - # Chromium relies on this, but was disabled in >=clang-10, crbug.com/1042470 - append-cxxflags $(test-flags-CXX -flax-vector-conversions=all) - - # Disable unknown warning message from clang. - tc-is-clang && append-flags -Wno-unknown-warning-option - - # Explicitly disable ICU data file support for system-icu builds. - if use system-icu; then - myconf_gn+=" icu_use_data_file=false" - fi - - # Enable ozone wayland and/or headless support - myconf_gn+=" use_ozone=true ozone_auto_platforms=false" - myconf_gn+=" ozone_platform_headless=true" - if use wayland || use headless; then - if use headless; then - myconf_gn+=" ozone_platform=\"headless\"" - myconf_gn+=" use_x11=false" - else - myconf_gn+=" ozone_platform_wayland=true" - myconf_gn+=" use_system_libdrm=true" - myconf_gn+=" use_system_minigbm=true" - myconf_gn+=" use_xkbcommon=true" - myconf_gn+=" ozone_platform=\"wayland\"" - fi - fi - - # Enable official builds - myconf_gn+=" is_official_build=$(usex official true false)" - myconf_gn+=" use_thin_lto=false" - if use official; then - # 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 - myconf_gn+=" is_cfi=false" - # Disable PGO, because profile data is only compatible with >=clang-11 - myconf_gn+=" chrome_pgo_phase=0" - fi - - einfo "Configuring Chromium..." - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release - echo "$@" - "$@" || die -} - -src_compile() { - # Final link uses lots of file descriptors. - ulimit -n 2048 - - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - # https://bugs.gentoo.org/717456 - # don't inherit PYTHONPATH from environment, bug #789021 - local -x PYTHONPATH="${WORKDIR}/setuptools-44.1.0" - - #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die - - # Build mksnapshot and pax-mark it. - local x - for x in mksnapshot v8_context_snapshot_generator; do - if tc-is-cross-compiler; then - eninja -C out/Release "host/${x}" - pax-mark m "out/Release/host/${x}" - else - eninja -C out/Release "${x}" - pax-mark m "out/Release/${x}" - fi - done - - export HTTP_PROXY=127.0.0.1:8123 - export HTTPS_PROXY=127.0.0.1:8123 - export http_proxy=127.0.0.1:8123 - export https_proxy=127.0.0.1:8123 - # Even though ninja autodetects number of CPUs, we respect - # user's options, for debugging with -j 1 or any other reason. - eninja -C out/Release chrome chromedriver - use suid && eninja -C out/Release chrome_sandbox - - pax-mark m out/Release/chrome - - mv out/Release/chromedriver{.unstripped,} || die - - # Build manpage; bug #684550 - sed -e 's|@@PACKAGE@@|chromium-browser|g; - s|@@MENUNAME@@|Chromium|g;' \ - chrome/app/resources/manpage.1.in > \ - out/Release/chromium-browser.1 || die - - # Build desktop file; bug #706786 - sed -e 's|@@MENUNAME@@|Chromium|g; - s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g; - s|@@PACKAGE@@|chromium-browser|g; - s|\(^Exec=\)/usr/bin/|\1|g;' \ - chrome/installer/linux/common/desktop.template > \ - out/Release/chromium-browser-chromium.desktop || die -} - -src_install() { - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" - exeinto "${CHROMIUM_HOME}" - doexe out/Release/chrome - - if use suid; then - newexe out/Release/chrome_sandbox chrome-sandbox - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" - fi - - doexe out/Release/chromedriver - doexe out/Release/crashpad_handler - - local sedargs=( -e - "s:/usr/lib/:/usr/$(get_libdir)/:g; - s:@@OZONE_AUTO_SESSION@@:$(usex wayland true false):g; - s:@@FORCE_OZONE_PLATFORM@@:$(usex headless true false):g" - ) - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r6.sh" > chromium-launcher.sh || die - doexe chromium-launcher.sh - - # It is important that we name the target "chromium-browser", - # xdg-utils expect it; bug #355517. - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser - # keep the old symlink around for consistency - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium - - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver - - # Allow users to override command-line options, bug #357629. - insinto /etc/chromium - newins "${FILESDIR}/chromium.default" "default" - - pushd out/Release/locales > /dev/null || die - chromium_remove_language_paks - popd - - insinto "${CHROMIUM_HOME}" - doins out/Release/*.bin - doins out/Release/*.pak - ( - shopt -s nullglob - local files=(out/Release/*.so out/Release/*.so.[0-9]) - [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}" - ) - - if ! use system-icu; then - doins out/Release/icudtl.dat - fi - - doins -r out/Release/locales - doins -r out/Release/resources - - if [[ -d out/Release/swiftshader ]]; then - insinto "${CHROMIUM_HOME}/swiftshader" - doins out/Release/swiftshader/*.so - fi - - # Install icons - local branding size - for size in 16 24 32 48 64 128 256 ; do - case ${size} in - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; - *) branding="chrome/app/theme/chromium" ;; - esac - newicon -s ${size} "${branding}/product_logo_${size}.png" \ - chromium-browser.png - done - - # Install desktop entry - domenu out/Release/chromium-browser-chromium.desktop - - # Install GNOME default application entry (bug #303100). - insinto /usr/share/gnome-control-center/default-apps - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml - - # Install manpage; bug #684550 - doman out/Release/chromium-browser.1 - dosym chromium-browser.1 /usr/share/man/man1/chromium.1 - - readme.gentoo_create_doc -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_desktop_database_update -} - -pkg_postinst() { - xdg_icon_cache_update - xdg_desktop_database_update - readme.gentoo_print_elog - - if use vaapi; then - elog "VA-API is disabled by default at runtime. You have to enable it" - elog "by adding --enable-features=VaapiVideoDecoder to CHROMIUM_FLAGS" - elog "in /etc/chromium/default." - fi - if use screencast; then - elog "Screencast is disabled by default at runtime. Either enable it" - elog "by navigating to chrome://flags/#enable-webrtc-pipewire-capturer" - elog "inside Chromium or add --enable-webrtc-pipewire-capturer" - elog "to CHROMIUM_FLAGS in /etc/chromium/default." - fi -} diff --git a/www-client/chromium/chromium-94.0.4606.12.ebuild b/www-client/chromium/chromium-94.0.4606.12.ebuild deleted file mode 100644 index 865710c..0000000 --- a/www-client/chromium/chromium-94.0.4606.12.ebuild +++ /dev/null @@ -1,937 +0,0 @@ -# Copyright 2009-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python3_9 ) -PYTHON_REQ_USE="xml" - -CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - 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 vi zh-CN zh-TW" - -inherit check-reqs chromium-2 desktop flag-o-matic multilib ninja-utils pax-utils portability python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="https://chromium.org/" -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" -IUSE="component-build cups cpu_flags_arm_neon +hangouts headless +js-type-check kerberos official pic +proprietary-codecs pulseaudio screencast selinux +suid +system-ffmpeg +system-icu vaapi wayland widevine" -REQUIRED_USE=" - component-build? ( !suid ) - screencast? ( wayland ) -" - -COMMON_X_DEPEND=" - media-libs/mesa:=[gbm(+)] - x11-libs/libX11:= - x11-libs/libXcomposite:= - x11-libs/libXcursor:= - x11-libs/libXdamage:= - x11-libs/libXext:= - x11-libs/libXfixes:= - >=x11-libs/libXi-1.6.0:= - x11-libs/libXrandr:= - x11-libs/libXrender:= - x11-libs/libXtst:= - x11-libs/libxcb:= - x11-libs/libxshmfence:= - vaapi? ( >=x11-libs/libva-2.7:=[X,drm] ) -" - -COMMON_DEPEND=" - app-arch/bzip2:= - cups? ( >=net-print/cups-1.3.11:= ) - dev-libs/expat:= - dev-libs/glib:2 - >=dev-libs/libxml2-2.9.4-r3:=[icu] - dev-libs/nspr:= - >=dev-libs/nss-3.26:= - >=media-libs/alsa-lib-1.0.19:= - media-libs/fontconfig:= - >=media-libs/freetype-2.11.0:= - media-libs/libjpeg-turbo:= - media-libs/libpng:= - pulseaudio? ( media-sound/pulseaudio:= ) - system-ffmpeg? ( - >=media-video/ffmpeg-4.3:= - || ( - media-video/ffmpeg[-samba] - >=net-fs/samba-4.5.10-r1[-debug(-)] - ) - >=media-libs/opus-1.3.1:= - ) - net-misc/curl[ssl] - sys-apps/dbus:= - sys-apps/pciutils:= - virtual/udev - x11-libs/cairo:= - x11-libs/gdk-pixbuf:2 - x11-libs/libxkbcommon:= - x11-libs/pango:= - media-libs/flac:= - >=media-libs/libwebp-0.4.0:= - sys-libs/zlib:=[minizip] - kerberos? ( virtual/krb5 ) - !headless? ( - ${COMMON_X_DEPEND} - >=app-accessibility/at-spi2-atk-2.26:2 - >=app-accessibility/at-spi2-core-2.26:2 - >=dev-libs/atk-2.26 - x11-libs/gtk+:3[X] - wayland? ( - dev-libs/wayland:= - screencast? ( media-video/pipewire:0/0.3 ) - x11-libs/gtk+:3[wayland,X] - x11-libs/libdrm:= - ) - ) -" -RDEPEND="${COMMON_DEPEND} - x11-misc/xdg-utils - virtual/opengl - virtual/ttf-fonts - selinux? ( sec-policy/selinux-chromium ) -" -DEPEND="${COMMON_DEPEND} -" -# dev-vcs/git - https://bugs.gentoo.org/593476 -BDEPEND=" - ${PYTHON_DEPS} - $(python_gen_any_dep ' - dev-python/setuptools[${PYTHON_USEDEP}] - ') - >=app-arch/gzip-1.7 - dev-lang/perl - >=dev-util/gn-0.1807 - dev-vcs/git - >=dev-util/gperf-3.0.3 - >=dev-util/ninja-1.7.2 - >=net-libs/nodejs-7.6.0[inspector] - sys-apps/hwids[usb(+)] - >=sys-devel/bison-2.4.3 - sys-devel/flex - virtual/pkgconfig - js-type-check? ( virtual/jre ) -" - -# These are intended for ebuild maintainer use to force clang if GCC is broken. -: ${CHROMIUM_FORCE_CLANG=yes} -: ${CHROMIUM_FORCE_LIBCXX=yes} - -if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then - BDEPEND+=" >=sys-devel/clang-12" -fi - -if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - RDEPEND+=" >=sys-libs/libcxx-12" - DEPEND+=" >=sys-libs/libcxx-12" -else - COMMON_DEPEND=" - app-arch/snappy:= - dev-libs/libxslt:= - >=dev-libs/re2-0.2019.08.01:= - >=media-libs/openh264-1.6.0:= - system-icu? ( >=dev-libs/icu-69.1:= ) - " - RDEPEND+="${COMMON_DEPEND}" - DEPEND+="${COMMON_DEPEND}" -fi - -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then - EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; -fi - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -Some web pages may require additional fonts to display properly. -Try installing some of the following packages if some characters -are not displayed properly: -- media-fonts/arphicfonts -- media-fonts/droid -- media-fonts/ipamonafont -- media-fonts/noto -- media-fonts/ja-ipafonts -- media-fonts/takao-fonts -- media-fonts/wqy-microhei -- media-fonts/wqy-zenhei - -To fix broken icons on the Downloads page, you should install an icon -theme that covers the appropriate MIME types, and configure this as your -GTK+ icon theme. - -For native file dialogs in KDE, install kde-apps/kdialog. - -To make password storage work with your desktop environment you may -have install one of the supported credentials management applications: -- app-crypt/libsecret (GNOME) -- kde-frameworks/kwallet (KDE) -If you have one of above packages installed, but don't want to use -them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS -in /etc/chromium/default. -" - -python_check_deps() { - has_version -b "dev-python/setuptools[${PYTHON_USEDEP}]" -} - -pre_build_checks() { - if [[ ${MERGE_TYPE} != binary ]]; then - local -x CPP="$(tc-getCXX) -E" - if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 9.2; then - die "At least gcc 9.2 is required" - fi - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || tc-is-clang; then - CPP="${CHOST}-clang++ -E" - if ! ver_test "$(clang-major-version)" -ge 12; then - die "At least clang 12 is required" - fi - fi - fi - - # Check build requirements, bug #541816 and bug #471810 . - CHECKREQS_MEMORY="4G" - CHECKREQS_DISK_BUILD="9G" - if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then - if use custom-cflags || use component-build; then - CHECKREQS_DISK_BUILD="25G" - fi - if ! use component-build; then - CHECKREQS_MEMORY="16G" - fi - fi - check-reqs_pkg_setup -} - -pkg_pretend() { - pre_build_checks -} - -pkg_setup() { - pre_build_checks - - chromium_suid_sandbox_check_kernel_config - - # nvidia-drivers does not work correctly with Wayland due to unsupported EGLStreams - if use wayland && ! use headless && has_version "x11-drivers/nvidia-drivers"; then - ewarn "Proprietary nVidia driver does not work with Wayland. You can disable" - ewarn "Wayland by setting DISABLE_OZONE_PLATFORM=true in /etc/chromium/default." - fi -} - -src_prepare() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local PATCHES=( - "${FILESDIR}/chromium-78-protobuf-RepeatedPtrField-export.patch" - "${FILESDIR}/chromium-90-ruy-include.patch" - "${FILESDIR}/chromium-91-libyuv-aarch64.patch" - "${FILESDIR}/chromium-94-compiler.patch" - "${FILESDIR}/chromium-94-ConversionStorageSql-lambda.patch" - "${FILESDIR}/chromium-94-CustomSpaces-include.patch" - "${FILESDIR}/chromium-93-EnumTable-crash.patch" - "${FILESDIR}/chromium-93-InkDropHost-crash.patch" - "${FILESDIR}/chromium-94-translate.patch" - "${FILESDIR}/chromium-use-oauth2-client-switches-as-default.patch" - "${FILESDIR}/chromium-shim_headers.patch" - ) - - default - - mkdir -p third_party/node/linux/node-linux-x64/bin || die - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die - - # adjust python interpreter version - sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die - - local 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 - 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/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-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/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/dawn/third_party/tint - 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/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-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/test/unittests/front_end/third_party/i18n - 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/flatbuffers - third_party/freetype - third_party/fusejs - third_party/highway - third_party/libgifcodec - third_party/liburlpattern - third_party/libzip - 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/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/libjingle - third_party/libjxl - third_party/libphonenumber - third_party/libsecret - third_party/libsrtp - third_party/libsync - third_party/libudev - 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/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/rnnoise - third_party/s2cellid - third_party/securemessage - third_party/shell-encryption - third_party/simplejson - third_party/six - 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/tcmalloc - 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/ruy - third_party/ukey2 - third_party/unrar - third_party/usrsctp - third_party/utf - third_party/vulkan - 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 - 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 - ) - if ! use system-ffmpeg; then - keeplibs+=( third_party/ffmpeg third_party/opus ) - fi - if ! use system-icu; then - keeplibs+=( third_party/icu ) - fi - if use wayland && ! use headless ; then - keeplibs+=( third_party/wayland ) - fi - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - keeplibs+=( third_party/libxml ) - keeplibs+=( third_party/libxslt ) - keeplibs+=( third_party/openh264 ) - keeplibs+=( third_party/re2 ) - keeplibs+=( third_party/snappy ) - if use system-icu; then - keeplibs+=( third_party/icu ) - fi - fi - if use arm64 || use ppc64 ; then - keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 ) - fi - # we need to generate ppc64 stuff because upstream does not ship it yet - # it has to be done before unbundling. - if use ppc64; then - pushd third_party/libvpx >/dev/null || die - mkdir -p source/config/linux/ppc64 || die - ./generate_gni.sh || die - popd >/dev/null || die - fi - - # Remove most bundled libraries. Some are still needed. - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die - - if use js-type-check; then - ln -s "${EPREFIX}"/usr/bin/java third_party/jdk/current/bin/java || die - fi - - # bundled eu-strip is for amd64 only and we don't want to pre-stripped binaries - mkdir -p buildtools/third_party/eu-strip/bin || die - ln -s "${EPREFIX}"/bin/true buildtools/third_party/eu-strip/bin/eu-strip || die -} - -src_configure() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local myconf_gn="" - - # Make sure the build system will use the right tools, bug #340795. - tc-export AR CC CXX NM - - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] && ! tc-is-clang; then - # Force clang since gcc is pretty broken at the moment. - CC=${CHOST}-clang - CXX=${CHOST}-clang++ - strip-unsupported-flags - fi - - if tc-is-clang; then - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" - else - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - die "Compiling with sys-libs/libcxx requires clang." - fi - myconf_gn+=" is_clang=false" - fi - - # Define a custom toolchain for GN - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" - - if tc-is-cross-compiler; then - tc-export BUILD_{AR,CC,CXX,NM} - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" - else - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - fi - - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - myconf_gn+=" is_debug=false" - - # Component build isn't generally intended for use by end users. It's mostly useful - # for development and debugging. - myconf_gn+=" is_component_build=$(usex component-build true false)" - - # Disable nacl, we can't build without pnacl (http://crbug.com/269560). - myconf_gn+=" enable_nacl=false" - - # Use system-provided libraries. - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_libsrtp (bug #459932). - # TODO: use_system_protobuf (bug #525560). - # TODO: use_system_ssl (http://crbug.com/58087). - # TODO: use_system_sqlite (http://crbug.com/22208). - - # libevent: https://bugs.gentoo.org/593458 - local gn_system_libraries=( - flac - fontconfig - freetype - # Need harfbuzz_from_pkgconfig target - #harfbuzz-ng - libdrm - libjpeg - libpng - libwebp - zlib - ) - if use system-ffmpeg; then - gn_system_libraries+=( ffmpeg opus ) - fi - if use system-icu; then - gn_system_libraries+=( icu ) - fi - if [[ ${CHROMIUM_FORCE_LIBCXX} != yes ]]; then - # unbundle only without libc++, because libc++ is not fully ABI compatible with libstdc++ - gn_system_libraries+=( libxml ) - gn_system_libraries+=( libxslt ) - gn_system_libraries+=( openh264 ) - gn_system_libraries+=( re2 ) - gn_system_libraries+=( snappy ) - fi - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die - - # See dependency logic in third_party/BUILD.gn - # Depends on unreleased harfbuzz features - # myconf_gn+=" use_system_harfbuzz=true" - - # Disable deprecated libgnome-keyring dependency, bug #713012 - myconf_gn+=" use_gnome_keyring=false" - - # Optional dependencies. - myconf_gn+=" enable_js_type_check=$(usex js-type-check true false)" - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" - myconf_gn+=" enable_widevine=$(usex widevine true false)" - myconf_gn+=" use_cups=$(usex cups true false)" - myconf_gn+=" use_kerberos=$(usex kerberos true false)" - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" - myconf_gn+=" use_vaapi=$(usex vaapi true false)" - myconf_gn+=" rtc_use_pipewire=$(usex screencast true false) rtc_pipewire_version=\"0.3\"" - - # TODO: link_pulseaudio=true for GN. - - myconf_gn+=" disable_fieldtrial_testing_config=true" - - # Never use bundled gold binary. Disable gold linker flags for now. - # Do not use bundled clang. - # Trying to use gold results in linker crash. - myconf_gn+=" use_gold=false use_sysroot=false use_custom_libcxx=false" - - # Disable forced lld, bug 641556 - myconf_gn+=" use_lld=false" - - # Disable pseudolocales, only used for testing - myconf_gn+=" enable_pseudolocales=false" - - # Disable code formating of generated files - myconf_gn+=" blink_enable_generated_code_formatting=false" - - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" - - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . - # Note: these are for Gentoo use ONLY. For your own distribution, - # please get your own set of keys. Feel free to contact chromium@gentoo.org - # for more info. - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" - local google_default_client_id="329227923882.apps.googleusercontent.com" - local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu" - myconf_gn+=" google_api_key=\"${google_api_key}\"" - myconf_gn+=" google_default_client_id=\"${google_default_client_id}\"" - myconf_gn+=" google_default_client_secret=\"${google_default_client_secret}\"" - local myarch="$(tc-arch)" - - # Avoid CFLAGS problems, bug #352457, bug #390147. - if ! use custom-cflags; then - replace-flags "-Os" "-O2" - strip-flags - - # Debug info section overflows without component build - # Prevent linker from running out of address space, bug #471810 . - if ! use component-build || use x86; then - filter-flags "-g*" - fi - - # Prevent libvpx build failures. Bug 530248, 544702, 546984. - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4 - fi - fi - - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - append-flags -stdlib=libc++ - append-ldflags -stdlib=libc++ - fi - - if [[ $myarch = amd64 ]] ; then - myconf_gn+=" target_cpu=\"x64\"" - ffmpeg_target_arch=x64 - elif [[ $myarch = x86 ]] ; then - myconf_gn+=" target_cpu=\"x86\"" - ffmpeg_target_arch=ia32 - - # This is normally defined by compiler_cpu_abi in - # build/config/compiler/BUILD.gn, but we patch that part out. - append-flags -msse2 -mfpmath=sse -mmmx - elif [[ $myarch = arm64 ]] ; then - myconf_gn+=" target_cpu=\"arm64\"" - ffmpeg_target_arch=arm64 - elif [[ $myarch = arm ]] ; then - myconf_gn+=" target_cpu=\"arm\"" - ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm) - elif [[ $myarch = ppc64 ]] ; then - myconf_gn+=" target_cpu=\"ppc64\"" - ffmpeg_target_arch=ppc64 - else - 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" - - # Bug 491582. - export TMPDIR="${WORKDIR}/temp" - mkdir -p -m 755 "${TMPDIR}" || die - - # https://bugs.gentoo.org/654216 - addpredict /dev/dri/ #nowarn - - #if ! use system-ffmpeg; then - if false; then - local build_ffmpeg_args="" - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then - build_ffmpeg_args+=" --disable-asm" - fi - - # Re-configure bundled ffmpeg. See bug #491378 for example reasons. - einfo "Configuring bundled ffmpeg..." - pushd third_party/ffmpeg > /dev/null || die - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \ - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die - chromium/scripts/copy_config.sh || die - chromium/scripts/generate_gn.py || die - popd > /dev/null || die - fi - - # Chromium relies on this, but was disabled in >=clang-10, crbug.com/1042470 - append-cxxflags $(test-flags-CXX -flax-vector-conversions=all) - - # Disable unknown warning message from clang. - tc-is-clang && append-flags -Wno-unknown-warning-option - - # Explicitly disable ICU data file support for system-icu builds. - if use system-icu; then - myconf_gn+=" icu_use_data_file=false" - fi - - # Enable ozone wayland and/or headless support - myconf_gn+=" use_ozone=true ozone_auto_platforms=false" - myconf_gn+=" ozone_platform_headless=true" - if use wayland || use headless; then - if use headless; then - myconf_gn+=" ozone_platform=\"headless\"" - myconf_gn+=" use_x11=false" - else - myconf_gn+=" ozone_platform_wayland=true" - myconf_gn+=" use_system_libdrm=true" - myconf_gn+=" use_system_minigbm=true" - myconf_gn+=" use_xkbcommon=true" - myconf_gn+=" ozone_platform=\"wayland\"" - fi - fi - - # Enable official builds - myconf_gn+=" is_official_build=$(usex official true false)" - myconf_gn+=" use_thin_lto=false" - if use official; then - # 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 - myconf_gn+=" is_cfi=false" - # Disable PGO, because profile data is only compatible with >=clang-11 - myconf_gn+=" chrome_pgo_phase=0" - fi - - einfo "Configuring Chromium..." - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release - echo "$@" - "$@" || die -} - -src_compile() { - # Final link uses lots of file descriptors. - ulimit -n 2048 - - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die - - # Build mksnapshot and pax-mark it. - local x - for x in mksnapshot v8_context_snapshot_generator; do - if tc-is-cross-compiler; then - eninja -C out/Release "host/${x}" - pax-mark m "out/Release/host/${x}" - else - eninja -C out/Release "${x}" - pax-mark m "out/Release/${x}" - fi - done - - export HTTP_PROXY=127.0.0.1:8123 - export HTTPS_PROXY=127.0.0.1:8123 - export http_proxy=127.0.0.1:8123 - export https_proxy=127.0.0.1:8123 - # Even though ninja autodetects number of CPUs, we respect - # user's options, for debugging with -j 1 or any other reason. - eninja -C out/Release chrome chromedriver - use suid && eninja -C out/Release chrome_sandbox - - pax-mark m out/Release/chrome - - mv out/Release/chromedriver{.unstripped,} || die - - # Build manpage; bug #684550 - sed -e 's|@@PACKAGE@@|chromium-browser|g; - s|@@MENUNAME@@|Chromium|g;' \ - chrome/app/resources/manpage.1.in > \ - out/Release/chromium-browser.1 || die - - # Build desktop file; bug #706786 - sed -e 's|@@MENUNAME@@|Chromium|g; - s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g; - s|@@PACKAGE@@|chromium-browser|g; - s|\(^Exec=\)/usr/bin/|\1|g;' \ - chrome/installer/linux/common/desktop.template > \ - out/Release/chromium-browser-chromium.desktop || die -} - -src_install() { - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" - exeinto "${CHROMIUM_HOME}" - doexe out/Release/chrome - - if use suid; then - newexe out/Release/chrome_sandbox chrome-sandbox - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" - fi - - doexe out/Release/chromedriver - doexe out/Release/chrome_crashpad_handler - - local sedargs=( -e - "s:/usr/lib/:/usr/$(get_libdir)/:g; - s:@@OZONE_AUTO_SESSION@@:$(usex wayland true false):g; - s:@@FORCE_OZONE_PLATFORM@@:$(usex headless true false):g" - ) - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r6.sh" > chromium-launcher.sh || die - doexe chromium-launcher.sh - - # It is important that we name the target "chromium-browser", - # xdg-utils expect it; bug #355517. - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser - # keep the old symlink around for consistency - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium - - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver - - # Allow users to override command-line options, bug #357629. - insinto /etc/chromium - newins "${FILESDIR}/chromium.default" "default" - - pushd out/Release/locales > /dev/null || die - chromium_remove_language_paks - popd - - insinto "${CHROMIUM_HOME}" - doins out/Release/*.bin - doins out/Release/*.pak - ( - shopt -s nullglob - local files=(out/Release/*.so out/Release/*.so.[0-9]) - [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}" - ) - - if ! use system-icu; then - doins out/Release/icudtl.dat - fi - - doins -r out/Release/locales - doins -r out/Release/resources - doins -r out/Release/MEIPreload - - if [[ -d out/Release/swiftshader ]]; then - insinto "${CHROMIUM_HOME}/swiftshader" - doins out/Release/swiftshader/*.so - fi - - # Install icons - local branding size - for size in 16 24 32 48 64 128 256 ; do - case ${size} in - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; - *) branding="chrome/app/theme/chromium" ;; - esac - newicon -s ${size} "${branding}/product_logo_${size}.png" \ - chromium-browser.png - done - - # Install desktop entry - domenu out/Release/chromium-browser-chromium.desktop - - # Install GNOME default application entry (bug #303100). - insinto /usr/share/gnome-control-center/default-apps - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml - - # Install manpage; bug #684550 - doman out/Release/chromium-browser.1 - dosym chromium-browser.1 /usr/share/man/man1/chromium.1 - - readme.gentoo_create_doc -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_desktop_database_update -} - -pkg_postinst() { - xdg_icon_cache_update - xdg_desktop_database_update - readme.gentoo_print_elog - - if use vaapi; then - elog "VA-API is disabled by default at runtime. You have to enable it" - elog "by adding --enable-features=VaapiVideoDecoder to CHROMIUM_FLAGS" - elog "in /etc/chromium/default." - fi - if use screencast; then - elog "Screencast is disabled by default at runtime. Either enable it" - elog "by navigating to chrome://flags/#enable-webrtc-pipewire-capturer" - elog "inside Chromium or add --enable-webrtc-pipewire-capturer" - elog "to CHROMIUM_FLAGS in /etc/chromium/default." - fi -} diff --git a/www-client/chromium/chromium-95.0.4628.3.ebuild b/www-client/chromium/chromium-95.0.4628.3.ebuild deleted file mode 100644 index 3790e54..0000000 --- a/www-client/chromium/chromium-95.0.4628.3.ebuild +++ /dev/null @@ -1,935 +0,0 @@ -# Copyright 2009-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python3_9 ) -PYTHON_REQ_USE="xml" - -CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - 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 vi zh-CN zh-TW" - -inherit check-reqs chromium-2 desktop flag-o-matic multilib ninja-utils pax-utils portability python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="https://chromium.org/" -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" -IUSE="component-build cups cpu_flags_arm_neon +hangouts headless +js-type-check kerberos official pic +proprietary-codecs pulseaudio screencast selinux +suid +system-ffmpeg +system-icu vaapi wayland widevine" -REQUIRED_USE=" - component-build? ( !suid ) - screencast? ( wayland ) -" - -COMMON_X_DEPEND=" - media-libs/mesa:=[gbm(+)] - x11-libs/libX11:= - x11-libs/libXcomposite:= - x11-libs/libXcursor:= - x11-libs/libXdamage:= - x11-libs/libXext:= - x11-libs/libXfixes:= - >=x11-libs/libXi-1.6.0:= - x11-libs/libXrandr:= - x11-libs/libXrender:= - x11-libs/libXtst:= - x11-libs/libxcb:= - x11-libs/libxshmfence:= - vaapi? ( >=x11-libs/libva-2.7:=[X,drm] ) -" - -COMMON_DEPEND=" - app-arch/bzip2:= - cups? ( >=net-print/cups-1.3.11:= ) - dev-libs/expat:= - dev-libs/glib:2 - >=dev-libs/libxml2-2.9.4-r3:=[icu] - dev-libs/nspr:= - >=dev-libs/nss-3.26:= - >=media-libs/alsa-lib-1.0.19:= - media-libs/fontconfig:= - >=media-libs/freetype-2.11.0:= - media-libs/libjpeg-turbo:= - media-libs/libpng:= - pulseaudio? ( media-sound/pulseaudio:= ) - system-ffmpeg? ( - >=media-video/ffmpeg-4.3:= - || ( - media-video/ffmpeg[-samba] - >=net-fs/samba-4.5.10-r1[-debug(-)] - ) - >=media-libs/opus-1.3.1:= - ) - net-misc/curl[ssl] - sys-apps/dbus:= - sys-apps/pciutils:= - virtual/udev - x11-libs/cairo:= - x11-libs/gdk-pixbuf:2 - x11-libs/libxkbcommon:= - x11-libs/pango:= - media-libs/flac:= - >=media-libs/libwebp-0.4.0:= - sys-libs/zlib:=[minizip] - kerberos? ( virtual/krb5 ) - !headless? ( - ${COMMON_X_DEPEND} - >=app-accessibility/at-spi2-atk-2.26:2 - >=app-accessibility/at-spi2-core-2.26:2 - >=dev-libs/atk-2.26 - x11-libs/gtk+:3[X] - wayland? ( - dev-libs/wayland:= - screencast? ( media-video/pipewire:0/0.3 ) - x11-libs/gtk+:3[wayland,X] - x11-libs/libdrm:= - ) - ) -" -RDEPEND="${COMMON_DEPEND} - x11-misc/xdg-utils - virtual/opengl - virtual/ttf-fonts - selinux? ( sec-policy/selinux-chromium ) -" -DEPEND="${COMMON_DEPEND} -" -# dev-vcs/git - https://bugs.gentoo.org/593476 -BDEPEND=" - ${PYTHON_DEPS} - $(python_gen_any_dep ' - dev-python/setuptools[${PYTHON_USEDEP}] - ') - >=app-arch/gzip-1.7 - dev-lang/perl - >=dev-util/gn-0.1807 - dev-vcs/git - >=dev-util/gperf-3.0.3 - >=dev-util/ninja-1.7.2 - >=net-libs/nodejs-7.6.0[inspector] - sys-apps/hwids[usb(+)] - >=sys-devel/bison-2.4.3 - sys-devel/flex - virtual/pkgconfig - js-type-check? ( virtual/jre ) -" - -# These are intended for ebuild maintainer use to force clang if GCC is broken. -: ${CHROMIUM_FORCE_CLANG=no} -: ${CHROMIUM_FORCE_LIBCXX=no} - -if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then - BDEPEND+=" >=sys-devel/clang-12" -fi - -if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - RDEPEND+=" >=sys-libs/libcxx-12" - DEPEND+=" >=sys-libs/libcxx-12" -else - COMMON_DEPEND=" - app-arch/snappy:= - dev-libs/libxslt:= - >=dev-libs/re2-0.2019.08.01:= - >=media-libs/openh264-1.6.0:= - system-icu? ( >=dev-libs/icu-69.1:= ) - " - RDEPEND+="${COMMON_DEPEND}" - DEPEND+="${COMMON_DEPEND}" -fi - -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then - EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; -fi - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -Some web pages may require additional fonts to display properly. -Try installing some of the following packages if some characters -are not displayed properly: -- media-fonts/arphicfonts -- media-fonts/droid -- media-fonts/ipamonafont -- media-fonts/noto -- media-fonts/ja-ipafonts -- media-fonts/takao-fonts -- media-fonts/wqy-microhei -- media-fonts/wqy-zenhei - -To fix broken icons on the Downloads page, you should install an icon -theme that covers the appropriate MIME types, and configure this as your -GTK+ icon theme. - -For native file dialogs in KDE, install kde-apps/kdialog. - -To make password storage work with your desktop environment you may -have install one of the supported credentials management applications: -- app-crypt/libsecret (GNOME) -- kde-frameworks/kwallet (KDE) -If you have one of above packages installed, but don't want to use -them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS -in /etc/chromium/default. -" - -python_check_deps() { - has_version -b "dev-python/setuptools[${PYTHON_USEDEP}]" -} - -pre_build_checks() { - if [[ ${MERGE_TYPE} != binary ]]; then - local -x CPP="$(tc-getCXX) -E" - if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 9.2; then - die "At least gcc 9.2 is required" - fi - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || tc-is-clang; then - CPP="${CHOST}-clang++ -E" - if ! ver_test "$(clang-major-version)" -ge 12; then - die "At least clang 12 is required" - fi - fi - fi - - # Check build requirements, bug #541816 and bug #471810 . - CHECKREQS_MEMORY="4G" - CHECKREQS_DISK_BUILD="9G" - if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then - if use custom-cflags || use component-build; then - CHECKREQS_DISK_BUILD="25G" - fi - if ! use component-build; then - CHECKREQS_MEMORY="16G" - fi - fi - check-reqs_pkg_setup -} - -pkg_pretend() { - pre_build_checks -} - -pkg_setup() { - pre_build_checks - - chromium_suid_sandbox_check_kernel_config - - # nvidia-drivers does not work correctly with Wayland due to unsupported EGLStreams - if use wayland && ! use headless && has_version "x11-drivers/nvidia-drivers"; then - ewarn "Proprietary nVidia driver does not work with Wayland. You can disable" - ewarn "Wayland by setting DISABLE_OZONE_PLATFORM=true in /etc/chromium/default." - fi -} - -src_prepare() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local PATCHES=( - "${FILESDIR}/chromium-78-protobuf-RepeatedPtrField-export.patch" - "${FILESDIR}/chromium-91-libyuv-aarch64.patch" - "${FILESDIR}/chromium-94-compiler.patch" - "${FILESDIR}/chromium-95-hash_traits-include.patch" - "${FILESDIR}/chromium-95-text_fragments_utils-include.patch" - "${FILESDIR}/chromium-93-EnumTable-crash.patch" - "${FILESDIR}/chromium-93-InkDropHost-crash.patch" - "${FILESDIR}/chromium-use-oauth2-client-switches-as-default.patch" - "${FILESDIR}/chromium-shim_headers.patch" - ) - - default - - mkdir -p third_party/node/linux/node-linux-x64/bin || die - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die - - # adjust python interpreter version - sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die - - local 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 - 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/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-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/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/dawn/third_party/tint - 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/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-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/test/unittests/front_end/third_party/i18n - 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/flatbuffers - third_party/freetype - third_party/fusejs - third_party/highway - third_party/libgifcodec - third_party/liburlpattern - third_party/libzip - 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/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/libjingle - third_party/libjxl - third_party/libphonenumber - third_party/libsecret - third_party/libsrtp - third_party/libsync - third_party/libudev - 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/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/rnnoise - third_party/s2cellid - third_party/securemessage - third_party/shell-encryption - third_party/simplejson - third_party/six - 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/tcmalloc - 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/ruy - third_party/ukey2 - third_party/unrar - third_party/usrsctp - third_party/utf - third_party/vulkan - 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 - 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 - ) - if ! use system-ffmpeg; then - keeplibs+=( third_party/ffmpeg third_party/opus ) - fi - if ! use system-icu; then - keeplibs+=( third_party/icu ) - fi - if use wayland && ! use headless ; then - keeplibs+=( third_party/wayland ) - fi - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - keeplibs+=( third_party/libxml ) - keeplibs+=( third_party/libxslt ) - keeplibs+=( third_party/openh264 ) - keeplibs+=( third_party/re2 ) - keeplibs+=( third_party/snappy ) - if use system-icu; then - keeplibs+=( third_party/icu ) - fi - fi - if use arm64 || use ppc64 ; then - keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 ) - fi - # we need to generate ppc64 stuff because upstream does not ship it yet - # it has to be done before unbundling. - if use ppc64; then - pushd third_party/libvpx >/dev/null || die - mkdir -p source/config/linux/ppc64 || die - ./generate_gni.sh || die - popd >/dev/null || die - fi - - # Remove most bundled libraries. Some are still needed. - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die - - if use js-type-check; then - ln -s "${EPREFIX}"/usr/bin/java third_party/jdk/current/bin/java || die - fi - - # bundled eu-strip is for amd64 only and we don't want to pre-stripped binaries - mkdir -p buildtools/third_party/eu-strip/bin || die - ln -s "${EPREFIX}"/bin/true buildtools/third_party/eu-strip/bin/eu-strip || die -} - -src_configure() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local myconf_gn="" - - # Make sure the build system will use the right tools, bug #340795. - tc-export AR CC CXX NM - - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] && ! tc-is-clang; then - # Force clang since gcc is pretty broken at the moment. - CC=${CHOST}-clang - CXX=${CHOST}-clang++ - strip-unsupported-flags - fi - - if tc-is-clang; then - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" - else - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - die "Compiling with sys-libs/libcxx requires clang." - fi - myconf_gn+=" is_clang=false" - fi - - # Define a custom toolchain for GN - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" - - if tc-is-cross-compiler; then - tc-export BUILD_{AR,CC,CXX,NM} - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" - else - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - fi - - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - myconf_gn+=" is_debug=false" - - # Component build isn't generally intended for use by end users. It's mostly useful - # for development and debugging. - myconf_gn+=" is_component_build=$(usex component-build true false)" - - # Disable nacl, we can't build without pnacl (http://crbug.com/269560). - myconf_gn+=" enable_nacl=false" - - # Use system-provided libraries. - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_libsrtp (bug #459932). - # TODO: use_system_protobuf (bug #525560). - # TODO: use_system_ssl (http://crbug.com/58087). - # TODO: use_system_sqlite (http://crbug.com/22208). - - # libevent: https://bugs.gentoo.org/593458 - local gn_system_libraries=( - flac - fontconfig - freetype - # Need harfbuzz_from_pkgconfig target - #harfbuzz-ng - libdrm - libjpeg - libpng - libwebp - zlib - ) - if use system-ffmpeg; then - gn_system_libraries+=( ffmpeg opus ) - fi - if use system-icu; then - gn_system_libraries+=( icu ) - fi - if [[ ${CHROMIUM_FORCE_LIBCXX} != yes ]]; then - # unbundle only without libc++, because libc++ is not fully ABI compatible with libstdc++ - gn_system_libraries+=( libxml ) - gn_system_libraries+=( libxslt ) - gn_system_libraries+=( openh264 ) - gn_system_libraries+=( re2 ) - gn_system_libraries+=( snappy ) - fi - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die - - # See dependency logic in third_party/BUILD.gn - # Depends on unreleased harfbuzz features - # myconf_gn+=" use_system_harfbuzz=true" - - # Disable deprecated libgnome-keyring dependency, bug #713012 - myconf_gn+=" use_gnome_keyring=false" - - # Optional dependencies. - myconf_gn+=" enable_js_type_check=$(usex js-type-check true false)" - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" - myconf_gn+=" enable_widevine=$(usex widevine true false)" - myconf_gn+=" use_cups=$(usex cups true false)" - myconf_gn+=" use_kerberos=$(usex kerberos true false)" - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" - myconf_gn+=" use_vaapi=$(usex vaapi true false)" - myconf_gn+=" rtc_use_pipewire=$(usex screencast true false) rtc_pipewire_version=\"0.3\"" - - # TODO: link_pulseaudio=true for GN. - - myconf_gn+=" disable_fieldtrial_testing_config=true" - - # Never use bundled gold binary. Disable gold linker flags for now. - # Do not use bundled clang. - # Trying to use gold results in linker crash. - myconf_gn+=" use_gold=false use_sysroot=false use_custom_libcxx=false" - - # Disable forced lld, bug 641556 - myconf_gn+=" use_lld=false" - - # Disable pseudolocales, only used for testing - myconf_gn+=" enable_pseudolocales=false" - - # Disable code formating of generated files - myconf_gn+=" blink_enable_generated_code_formatting=false" - - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" - - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . - # Note: these are for Gentoo use ONLY. For your own distribution, - # please get your own set of keys. Feel free to contact chromium@gentoo.org - # for more info. - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" - local google_default_client_id="329227923882.apps.googleusercontent.com" - local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu" - myconf_gn+=" google_api_key=\"${google_api_key}\"" - myconf_gn+=" google_default_client_id=\"${google_default_client_id}\"" - myconf_gn+=" google_default_client_secret=\"${google_default_client_secret}\"" - local myarch="$(tc-arch)" - - # Avoid CFLAGS problems, bug #352457, bug #390147. - if ! use custom-cflags; then - replace-flags "-Os" "-O2" - strip-flags - - # Debug info section overflows without component build - # Prevent linker from running out of address space, bug #471810 . - if ! use component-build || use x86; then - filter-flags "-g*" - fi - - # Prevent libvpx build failures. Bug 530248, 544702, 546984. - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4 - fi - fi - - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - append-flags -stdlib=libc++ - append-ldflags -stdlib=libc++ - fi - - if [[ $myarch = amd64 ]] ; then - myconf_gn+=" target_cpu=\"x64\"" - ffmpeg_target_arch=x64 - elif [[ $myarch = x86 ]] ; then - myconf_gn+=" target_cpu=\"x86\"" - ffmpeg_target_arch=ia32 - - # This is normally defined by compiler_cpu_abi in - # build/config/compiler/BUILD.gn, but we patch that part out. - append-flags -msse2 -mfpmath=sse -mmmx - elif [[ $myarch = arm64 ]] ; then - myconf_gn+=" target_cpu=\"arm64\"" - ffmpeg_target_arch=arm64 - elif [[ $myarch = arm ]] ; then - myconf_gn+=" target_cpu=\"arm\"" - ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm) - elif [[ $myarch = ppc64 ]] ; then - myconf_gn+=" target_cpu=\"ppc64\"" - ffmpeg_target_arch=ppc64 - else - 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" - - # Bug 491582. - export TMPDIR="${WORKDIR}/temp" - mkdir -p -m 755 "${TMPDIR}" || die - - # https://bugs.gentoo.org/654216 - addpredict /dev/dri/ #nowarn - - #if ! use system-ffmpeg; then - if false; then - local build_ffmpeg_args="" - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then - build_ffmpeg_args+=" --disable-asm" - fi - - # Re-configure bundled ffmpeg. See bug #491378 for example reasons. - einfo "Configuring bundled ffmpeg..." - pushd third_party/ffmpeg > /dev/null || die - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \ - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die - chromium/scripts/copy_config.sh || die - chromium/scripts/generate_gn.py || die - popd > /dev/null || die - fi - - # Chromium relies on this, but was disabled in >=clang-10, crbug.com/1042470 - append-cxxflags $(test-flags-CXX -flax-vector-conversions=all) - - # Disable unknown warning message from clang. - tc-is-clang && append-flags -Wno-unknown-warning-option - - # Explicitly disable ICU data file support for system-icu builds. - if use system-icu; then - myconf_gn+=" icu_use_data_file=false" - fi - - # Enable ozone wayland and/or headless support - myconf_gn+=" use_ozone=true ozone_auto_platforms=false" - myconf_gn+=" ozone_platform_headless=true" - if use wayland || use headless; then - if use headless; then - myconf_gn+=" ozone_platform=\"headless\"" - myconf_gn+=" use_x11=false" - else - myconf_gn+=" ozone_platform_wayland=true" - myconf_gn+=" use_system_libdrm=true" - myconf_gn+=" use_system_minigbm=true" - myconf_gn+=" use_xkbcommon=true" - myconf_gn+=" ozone_platform=\"wayland\"" - fi - fi - - # Enable official builds - myconf_gn+=" is_official_build=$(usex official true false)" - myconf_gn+=" use_thin_lto=false" - if use official; then - # 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 - myconf_gn+=" is_cfi=false" - # Disable PGO, because profile data is only compatible with >=clang-11 - myconf_gn+=" chrome_pgo_phase=0" - fi - - einfo "Configuring Chromium..." - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release - echo "$@" - "$@" || die -} - -src_compile() { - # Final link uses lots of file descriptors. - ulimit -n 2048 - - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die - - # Build mksnapshot and pax-mark it. - local x - for x in mksnapshot v8_context_snapshot_generator; do - if tc-is-cross-compiler; then - eninja -C out/Release "host/${x}" - pax-mark m "out/Release/host/${x}" - else - eninja -C out/Release "${x}" - pax-mark m "out/Release/${x}" - fi - done - - export HTTP_PROXY=127.0.0.1:8123 - export HTTPS_PROXY=127.0.0.1:8123 - export http_proxy=127.0.0.1:8123 - export https_proxy=127.0.0.1:8123 - # Even though ninja autodetects number of CPUs, we respect - # user's options, for debugging with -j 1 or any other reason. - eninja -C out/Release chrome chromedriver - use suid && eninja -C out/Release chrome_sandbox - - pax-mark m out/Release/chrome - - mv out/Release/chromedriver{.unstripped,} || die - - # Build manpage; bug #684550 - sed -e 's|@@PACKAGE@@|chromium-browser|g; - s|@@MENUNAME@@|Chromium|g;' \ - chrome/app/resources/manpage.1.in > \ - out/Release/chromium-browser.1 || die - - # Build desktop file; bug #706786 - sed -e 's|@@MENUNAME@@|Chromium|g; - s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g; - s|@@PACKAGE@@|chromium-browser|g; - s|\(^Exec=\)/usr/bin/|\1|g;' \ - chrome/installer/linux/common/desktop.template > \ - out/Release/chromium-browser-chromium.desktop || die -} - -src_install() { - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" - exeinto "${CHROMIUM_HOME}" - doexe out/Release/chrome - - if use suid; then - newexe out/Release/chrome_sandbox chrome-sandbox - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" - fi - - doexe out/Release/chromedriver - doexe out/Release/chrome_crashpad_handler - - local sedargs=( -e - "s:/usr/lib/:/usr/$(get_libdir)/:g; - s:@@OZONE_AUTO_SESSION@@:$(usex wayland true false):g; - s:@@FORCE_OZONE_PLATFORM@@:$(usex headless true false):g" - ) - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r6.sh" > chromium-launcher.sh || die - doexe chromium-launcher.sh - - # It is important that we name the target "chromium-browser", - # xdg-utils expect it; bug #355517. - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser - # keep the old symlink around for consistency - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium - - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver - - # Allow users to override command-line options, bug #357629. - insinto /etc/chromium - newins "${FILESDIR}/chromium.default" "default" - - pushd out/Release/locales > /dev/null || die - chromium_remove_language_paks - popd - - insinto "${CHROMIUM_HOME}" - doins out/Release/*.bin - doins out/Release/*.pak - ( - shopt -s nullglob - local files=(out/Release/*.so out/Release/*.so.[0-9]) - [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}" - ) - - if ! use system-icu; then - doins out/Release/icudtl.dat - fi - - doins -r out/Release/locales - doins -r out/Release/resources - doins -r out/Release/MEIPreload - - if [[ -d out/Release/swiftshader ]]; then - insinto "${CHROMIUM_HOME}/swiftshader" - doins out/Release/swiftshader/*.so - fi - - # Install icons - local branding size - for size in 16 24 32 48 64 128 256 ; do - case ${size} in - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; - *) branding="chrome/app/theme/chromium" ;; - esac - newicon -s ${size} "${branding}/product_logo_${size}.png" \ - chromium-browser.png - done - - # Install desktop entry - domenu out/Release/chromium-browser-chromium.desktop - - # Install GNOME default application entry (bug #303100). - insinto /usr/share/gnome-control-center/default-apps - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml - - # Install manpage; bug #684550 - doman out/Release/chromium-browser.1 - dosym chromium-browser.1 /usr/share/man/man1/chromium.1 - - readme.gentoo_create_doc -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_desktop_database_update -} - -pkg_postinst() { - xdg_icon_cache_update - xdg_desktop_database_update - readme.gentoo_print_elog - - if use vaapi; then - elog "VA-API is disabled by default at runtime. You have to enable it" - elog "by adding --enable-features=VaapiVideoDecoder to CHROMIUM_FLAGS" - elog "in /etc/chromium/default." - fi - if use screencast; then - elog "Screencast is disabled by default at runtime. Either enable it" - elog "by navigating to chrome://flags/#enable-webrtc-pipewire-capturer" - elog "inside Chromium or add --enable-webrtc-pipewire-capturer" - elog "to CHROMIUM_FLAGS in /etc/chromium/default." - fi -} diff --git a/www-client/chromium/chromium-96.0.4662.6.ebuild b/www-client/chromium/chromium-96.0.4662.6.ebuild deleted file mode 100644 index 99ef5fd..0000000 --- a/www-client/chromium/chromium-96.0.4662.6.ebuild +++ /dev/null @@ -1,957 +0,0 @@ -# Copyright 2009-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python3_9 ) -PYTHON_REQ_USE="xml" - -CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - 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 vi zh-CN zh-TW" - -inherit check-reqs chromium-2 desktop flag-o-matic ninja-utils pax-utils python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="https://chromium.org/" -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" -IUSE="component-build cups cpu_flags_arm_neon debug +hangouts headless +js-type-check kerberos official pic +proprietary-codecs pulseaudio screencast selinux +suid +system-ffmpeg +system-harfbuzz +system-icu vaapi wayland widevine" -REQUIRED_USE=" - component-build? ( !suid ) - screencast? ( wayland ) -" - -COMMON_X_DEPEND=" - media-libs/mesa:=[gbm(+)] - x11-libs/libX11:= - x11-libs/libXcomposite:= - x11-libs/libXcursor:= - x11-libs/libXdamage:= - x11-libs/libXext:= - x11-libs/libXfixes:= - >=x11-libs/libXi-1.6.0:= - x11-libs/libXrandr:= - x11-libs/libXrender:= - x11-libs/libXtst:= - x11-libs/libxcb:= - x11-libs/libxshmfence:= - vaapi? ( >=x11-libs/libva-2.7:=[X,drm] ) -" - -COMMON_DEPEND=" - app-arch/bzip2:= - cups? ( >=net-print/cups-1.3.11:= ) - dev-libs/expat:= - dev-libs/glib:2 - >=dev-libs/libxml2-2.9.4-r3:=[icu] - dev-libs/nspr:= - >=dev-libs/nss-3.26:= - >=media-libs/alsa-lib-1.0.19:= - media-libs/fontconfig:= - >=media-libs/freetype-2.11.0-r1:= - system-harfbuzz? ( >=media-libs/harfbuzz-2.9.0:0=[icu(-)] ) - media-libs/libjpeg-turbo:= - media-libs/libpng:= - pulseaudio? ( media-sound/pulseaudio:= ) - system-ffmpeg? ( - >=media-video/ffmpeg-4.3:= - || ( - media-video/ffmpeg[-samba] - >=net-fs/samba-4.5.10-r1[-debug(-)] - ) - >=media-libs/opus-1.3.1:= - ) - net-misc/curl[ssl] - sys-apps/dbus:= - sys-apps/pciutils:= - virtual/udev - x11-libs/cairo:= - x11-libs/gdk-pixbuf:2 - x11-libs/libxkbcommon:= - x11-libs/pango:= - media-libs/flac:= - >=media-libs/libwebp-0.4.0:= - sys-libs/zlib:=[minizip] - kerberos? ( virtual/krb5 ) - !headless? ( - ${COMMON_X_DEPEND} - >=app-accessibility/at-spi2-atk-2.26:2 - >=app-accessibility/at-spi2-core-2.26:2 - >=dev-libs/atk-2.26 - x11-libs/gtk+:3[X] - wayland? ( - dev-libs/wayland:= - screencast? ( media-video/pipewire:0/0.3 ) - x11-libs/gtk+:3[wayland,X] - x11-libs/libdrm:= - ) - ) -" -RDEPEND="${COMMON_DEPEND} - x11-misc/xdg-utils - virtual/opengl - virtual/ttf-fonts - selinux? ( sec-policy/selinux-chromium ) -" -DEPEND="${COMMON_DEPEND} -" -# dev-vcs/git - https://bugs.gentoo.org/593476 -BDEPEND=" - ${PYTHON_DEPS} - $(python_gen_any_dep ' - dev-python/setuptools[${PYTHON_USEDEP}] - ') - >=app-arch/gzip-1.7 - dev-lang/perl - >=dev-util/gn-0.1807 - dev-vcs/git - >=dev-util/gperf-3.0.3 - >=dev-util/ninja-1.7.2 - >=net-libs/nodejs-7.6.0[inspector] - sys-apps/hwids[usb(+)] - >=sys-devel/bison-2.4.3 - sys-devel/flex - virtual/pkgconfig - js-type-check? ( virtual/jre ) -" - -# These are intended for ebuild maintainer use to force clang if GCC is broken. -: ${CHROMIUM_FORCE_CLANG=no} -: ${CHROMIUM_FORCE_LIBCXX=no} - -if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then - BDEPEND+=" >=sys-devel/clang-12" -fi - -if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - RDEPEND+=" >=sys-libs/libcxx-12" - DEPEND+=" >=sys-libs/libcxx-12" -else - COMMON_DEPEND=" - app-arch/snappy:= - dev-libs/libxslt:= - >=dev-libs/re2-0.2019.08.01:= - >=media-libs/openh264-1.6.0:= - system-icu? ( >=dev-libs/icu-69.1:= ) - " - RDEPEND+="${COMMON_DEPEND}" - DEPEND+="${COMMON_DEPEND}" -fi - -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then - EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; -fi - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -Some web pages may require additional fonts to display properly. -Try installing some of the following packages if some characters -are not displayed properly: -- media-fonts/arphicfonts -- media-fonts/droid -- media-fonts/ipamonafont -- media-fonts/noto -- media-fonts/ja-ipafonts -- media-fonts/takao-fonts -- media-fonts/wqy-microhei -- media-fonts/wqy-zenhei - -To fix broken icons on the Downloads page, you should install an icon -theme that covers the appropriate MIME types, and configure this as your -GTK+ icon theme. - -For native file dialogs in KDE, install kde-apps/kdialog. - -To make password storage work with your desktop environment you may -have install one of the supported credentials management applications: -- app-crypt/libsecret (GNOME) -- kde-frameworks/kwallet (KDE) -If you have one of above packages installed, but don't want to use -them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS -in /etc/chromium/default. -" - -python_check_deps() { - has_version -b "dev-python/setuptools[${PYTHON_USEDEP}]" -} - -pre_build_checks() { - if [[ ${MERGE_TYPE} != binary ]]; then - local -x CPP="$(tc-getCXX) -E" - if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 9.2; then - die "At least gcc 9.2 is required" - fi - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || tc-is-clang; then - CPP="${CHOST}-clang++ -E" - if ! ver_test "$(clang-major-version)" -ge 12; then - die "At least clang 12 is required" - fi - fi - fi - - # Check build requirements, bug #541816 and bug #471810 . - CHECKREQS_MEMORY="4G" - CHECKREQS_DISK_BUILD="9G" - if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then - if use custom-cflags || use component-build; then - CHECKREQS_DISK_BUILD="25G" - fi - if ! use component-build; then - CHECKREQS_MEMORY="16G" - fi - fi - check-reqs_pkg_setup -} - -pkg_pretend() { - pre_build_checks -} - -pkg_setup() { - pre_build_checks - - chromium_suid_sandbox_check_kernel_config - - # nvidia-drivers does not work correctly with Wayland due to unsupported EGLStreams - if use wayland && ! use headless && has_version "x11-drivers/nvidia-drivers"; then - ewarn "Proprietary nVidia driver does not work with Wayland. You can disable" - ewarn "Wayland by setting DISABLE_OZONE_PLATFORM=true in /etc/chromium/default." - fi -} - -src_prepare() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local PATCHES=( - "${FILESDIR}/chromium-78-protobuf-RepeatedPtrField-export.patch" - "${FILESDIR}/chromium-95-libyuv-aarch64.patch" - "${FILESDIR}/chromium-96-compiler.patch" - "${FILESDIR}/chromium-96-AppliedTextDecoration-include.patch" - "${FILESDIR}/chromium-96-template-friend.patch" - "${FILESDIR}/chromium-96-ax_platform-list-init.patch" - "${FILESDIR}/chromium-96-coupondb-include.patch" - - "${FILESDIR}/chromium-96-EnumTable-crash.patch" - "${FILESDIR}/chromium-93-InkDropHost-crash.patch" - "${FILESDIR}/chromium-use-oauth2-client-switches-as-default.patch" - "${FILESDIR}/chromium-shim_headers.patch" - ) - - default - - mkdir -p third_party/node/linux/node-linux-x64/bin || die - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die - - # adjust python interpreter version - sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die - - local 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 - 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/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-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/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/dawn/third_party/tint - 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/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-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/test/unittests/front_end/third_party/i18n - 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/flatbuffers - third_party/freetype - third_party/fusejs - third_party/highway - third_party/libgifcodec - third_party/liburlpattern - third_party/libzip - 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/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/libjingle - third_party/libjxl - third_party/libphonenumber - third_party/libsecret - third_party/libsrtp - third_party/libsync - third_party/libudev - 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/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/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/rnnoise - third_party/s2cellid - third_party/securemessage - third_party/shell-encryption - third_party/simplejson - third_party/six - 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/tcmalloc - third_party/tensorflow-text - third_party/tflite - third_party/tflite/src/third_party/eigen3 - third_party/tflite/src/third_party/fft2d - third_party/ruy - third_party/ukey2 - third_party/unrar - third_party/usrsctp - third_party/utf - third_party/vulkan - 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 - 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 - ) - if ! use system-ffmpeg; then - keeplibs+=( third_party/ffmpeg third_party/opus ) - fi - if ! use system-icu; then - keeplibs+=( third_party/icu ) - fi - if use system-harfbuzz; then - keeplibs+=( third_party/harfbuzz-ng/utils ) - else - keeplibs+=( third_party/harfbuzz-ng ) - fi - if use wayland && ! use headless ; then - keeplibs+=( third_party/wayland ) - fi - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - keeplibs+=( third_party/libxml ) - keeplibs+=( third_party/libxslt ) - keeplibs+=( third_party/openh264 ) - keeplibs+=( third_party/re2 ) - keeplibs+=( third_party/snappy ) - if use system-icu; then - keeplibs+=( third_party/icu ) - fi - fi - if use arm64 || use ppc64 ; then - keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 ) - fi - # we need to generate ppc64 stuff because upstream does not ship it yet - # it has to be done before unbundling. - if use ppc64; then - pushd third_party/libvpx >/dev/null || die - mkdir -p source/config/linux/ppc64 || die - ./generate_gni.sh || die - popd >/dev/null || die - fi - - # Remove most bundled libraries. Some are still needed. - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die - - if use js-type-check; then - ln -s "${EPREFIX}"/usr/bin/java third_party/jdk/current/bin/java || die - fi - - # bundled eu-strip is for amd64 only and we don't want to pre-stripped binaries - mkdir -p buildtools/third_party/eu-strip/bin || die - ln -s "${EPREFIX}"/bin/true buildtools/third_party/eu-strip/bin/eu-strip || die -} - -src_configure() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local myconf_gn="" - - # Make sure the build system will use the right tools, bug #340795. - tc-export AR CC CXX NM - - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] && ! tc-is-clang; then - # Force clang since gcc is pretty broken at the moment. - CC=${CHOST}-clang - CXX=${CHOST}-clang++ - strip-unsupported-flags - fi - - if tc-is-clang; then - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" - else - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - die "Compiling with sys-libs/libcxx requires clang." - fi - myconf_gn+=" is_clang=false" - fi - - # Define a custom toolchain for GN - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" - - if tc-is-cross-compiler; then - tc-export BUILD_{AR,CC,CXX,NM} - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" - else - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - fi - - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - myconf_gn+=" is_debug=false" - - # enable DCHECK with USE=debug only, increases chrome binary size by 30%, bug #811138. - # DCHECK is fatal by default, make it configurable at runtime, #bug 807881. - myconf_gn+=" dcheck_always_on=$(usex debug true false)" - myconf_gn+=" dcheck_is_configurable=$(usex debug true false)" - - # Component build isn't generally intended for use by end users. It's mostly useful - # for development and debugging. - myconf_gn+=" is_component_build=$(usex component-build true false)" - - # Disable nacl, we can't build without pnacl (http://crbug.com/269560). - myconf_gn+=" enable_nacl=false" - - # Use system-provided libraries. - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_protobuf (bug #525560). - # TODO: use_system_sqlite (http://crbug.com/22208). - - # libevent: https://bugs.gentoo.org/593458 - local gn_system_libraries=( - flac - fontconfig - freetype - # Need harfbuzz_from_pkgconfig target - #harfbuzz-ng - libdrm - libjpeg - libpng - libwebp - zlib - ) - if use system-ffmpeg; then - gn_system_libraries+=( ffmpeg opus ) - fi - if use system-icu; then - gn_system_libraries+=( icu ) - fi - if [[ ${CHROMIUM_FORCE_LIBCXX} != yes ]]; then - # unbundle only without libc++, because libc++ is not fully ABI compatible with libstdc++ - gn_system_libraries+=( libxml ) - gn_system_libraries+=( libxslt ) - gn_system_libraries+=( openh264 ) - gn_system_libraries+=( re2 ) - gn_system_libraries+=( snappy ) - fi - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die - - # See dependency logic in third_party/BUILD.gn - myconf_gn+=" use_system_harfbuzz=$(usex system-harfbuzz true false)" - - # Disable deprecated libgnome-keyring dependency, bug #713012 - myconf_gn+=" use_gnome_keyring=false" - - # Optional dependencies. - myconf_gn+=" enable_js_type_check=$(usex js-type-check true false)" - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" - myconf_gn+=" enable_widevine=$(usex widevine true false)" - myconf_gn+=" use_cups=$(usex cups true false)" - myconf_gn+=" use_kerberos=$(usex kerberos true false)" - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" - myconf_gn+=" use_vaapi=$(usex vaapi true false)" - myconf_gn+=" rtc_use_pipewire=$(usex screencast true false)" - - # TODO: link_pulseaudio=true for GN. - - myconf_gn+=" disable_fieldtrial_testing_config=true" - - # Never use bundled gold binary. Disable gold linker flags for now. - # Do not use bundled clang. - # Trying to use gold results in linker crash. - myconf_gn+=" use_gold=false use_sysroot=false use_custom_libcxx=false" - - # Disable forced lld, bug 641556 - myconf_gn+=" use_lld=false" - - # Disable pseudolocales, only used for testing - myconf_gn+=" enable_pseudolocales=false" - - # Disable code formating of generated files - myconf_gn+=" blink_enable_generated_code_formatting=false" - - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" - - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . - # Note: these are for Gentoo use ONLY. For your own distribution, - # please get your own set of keys. Feel free to contact chromium@gentoo.org - # for more info. The OAuth2 credentials, however, have been left out. - # Those OAuth2 credentials have been broken for quite some time anyway. - # Instead we apply a patch to use the --oauth2-client-id= and - # --oauth2-client-secret= switches for setting GOOGLE_DEFAULT_CLIENT_ID and - # GOOGLE_DEFAULT_CLIENT_SECRET at runtime. This allows signing into - # Chromium without baked-in values. - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" - local google_default_client_id="329227923882.apps.googleusercontent.com" - local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu" - myconf_gn+=" google_api_key=\"${google_api_key}\"" - myconf_gn+=" google_default_client_id=\"${google_default_client_id}\"" - myconf_gn+=" google_default_client_secret=\"${google_default_client_secret}\"" - local myarch="$(tc-arch)" - - # Avoid CFLAGS problems, bug #352457, bug #390147. - if ! use custom-cflags; then - replace-flags "-Os" "-O2" - strip-flags - - # Debug info section overflows without component build - # Prevent linker from running out of address space, bug #471810 . - if ! use component-build || use x86; then - filter-flags "-g*" - fi - - # Prevent libvpx build failures. Bug 530248, 544702, 546984. - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4 - fi - fi - - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - append-flags -stdlib=libc++ - append-ldflags -stdlib=libc++ - fi - - if [[ $myarch = amd64 ]] ; then - myconf_gn+=" target_cpu=\"x64\"" - ffmpeg_target_arch=x64 - elif [[ $myarch = x86 ]] ; then - myconf_gn+=" target_cpu=\"x86\"" - ffmpeg_target_arch=ia32 - - # This is normally defined by compiler_cpu_abi in - # build/config/compiler/BUILD.gn, but we patch that part out. - append-flags -msse2 -mfpmath=sse -mmmx - elif [[ $myarch = arm64 ]] ; then - myconf_gn+=" target_cpu=\"arm64\"" - ffmpeg_target_arch=arm64 - elif [[ $myarch = arm ]] ; then - myconf_gn+=" target_cpu=\"arm\"" - ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm) - elif [[ $myarch = ppc64 ]] ; then - myconf_gn+=" target_cpu=\"ppc64\"" - ffmpeg_target_arch=ppc64 - else - 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" - - # Bug 491582. - export TMPDIR="${WORKDIR}/temp" - mkdir -p -m 755 "${TMPDIR}" || die - - # https://bugs.gentoo.org/654216 - addpredict /dev/dri/ #nowarn - - #if ! use system-ffmpeg; then - if false; then - local build_ffmpeg_args="" - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then - build_ffmpeg_args+=" --disable-asm" - fi - - # Re-configure bundled ffmpeg. See bug #491378 for example reasons. - einfo "Configuring bundled ffmpeg..." - pushd third_party/ffmpeg > /dev/null || die - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \ - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die - chromium/scripts/copy_config.sh || die - chromium/scripts/generate_gn.py || die - popd > /dev/null || die - fi - - # Chromium relies on this, but was disabled in >=clang-10, crbug.com/1042470 - append-cxxflags $(test-flags-CXX -flax-vector-conversions=all) - - # Disable unknown warning message from clang. - tc-is-clang && append-flags -Wno-unknown-warning-option - - # Explicitly disable ICU data file support for system-icu builds. - if use system-icu; then - myconf_gn+=" icu_use_data_file=false" - fi - - # Enable ozone wayland and/or headless support - myconf_gn+=" use_ozone=true ozone_auto_platforms=false" - myconf_gn+=" ozone_platform_headless=true" - myconf_gn+=" ozone_platform_x11=$(usex headless false true)" - if use wayland || use headless; then - if use headless; then - myconf_gn+=" ozone_platform=\"headless\"" - myconf_gn+=" use_x11=false" - else - myconf_gn+=" ozone_platform_wayland=true" - myconf_gn+=" use_system_libdrm=true" - myconf_gn+=" use_system_minigbm=true" - myconf_gn+=" use_xkbcommon=true" - myconf_gn+=" ozone_platform=\"wayland\"" - fi - else - myconf_gn+=" ozone_platform=\"x11\"" - fi - - # Enable official builds - myconf_gn+=" is_official_build=$(usex official true false)" - myconf_gn+=" use_thin_lto=false" - if use official; then - # 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 - myconf_gn+=" is_cfi=false" - # Disable PGO, because profile data is only compatible with >=clang-11 - myconf_gn+=" chrome_pgo_phase=0" - fi - - einfo "Configuring Chromium..." - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release - echo "$@" - "$@" || die -} - -src_compile() { - # Final link uses lots of file descriptors. - ulimit -n 2048 - - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - # Don't inherit PYTHONPATH from environment, bug #789021, #812689 - local -x PYTHONPATH= - - #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die - - # Build mksnapshot and pax-mark it. - local x - for x in mksnapshot v8_context_snapshot_generator; do - if tc-is-cross-compiler; then - eninja -C out/Release "host/${x}" - pax-mark m "out/Release/host/${x}" - else - eninja -C out/Release "${x}" - pax-mark m "out/Release/${x}" - fi - done - - # Even though ninja autodetects number of CPUs, we respect - # user's options, for debugging with -j 1 or any other reason. - eninja -C out/Release chrome chromedriver - use suid && eninja -C out/Release chrome_sandbox - - pax-mark m out/Release/chrome - - mv out/Release/chromedriver{.unstripped,} || die - - # Build manpage; bug #684550 - sed -e 's|@@PACKAGE@@|chromium-browser|g; - s|@@MENUNAME@@|Chromium|g;' \ - chrome/app/resources/manpage.1.in > \ - out/Release/chromium-browser.1 || die - - # Build desktop file; bug #706786 - sed -e 's|@@MENUNAME@@|Chromium|g; - s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g; - s|@@PACKAGE@@|chromium-browser|g; - s|\(^Exec=\)/usr/bin/|\1|g;' \ - chrome/installer/linux/common/desktop.template > \ - out/Release/chromium-browser-chromium.desktop || die -} - -src_install() { - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" - exeinto "${CHROMIUM_HOME}" - doexe out/Release/chrome - - if use suid; then - newexe out/Release/chrome_sandbox chrome-sandbox - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" - fi - - doexe out/Release/chromedriver - doexe out/Release/chrome_crashpad_handler - - ozone_auto_session () { - use wayland && ! use headless && echo true || echo false - } - local sedargs=( -e - "s:/usr/lib/:/usr/$(get_libdir)/:g; - s:@@OZONE_AUTO_SESSION@@:$(ozone_auto_session):g" - ) - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r7.sh" > chromium-launcher.sh || die - doexe chromium-launcher.sh - - # It is important that we name the target "chromium-browser", - # xdg-utils expect it; bug #355517. - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser - # keep the old symlink around for consistency - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium - - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver - - # Allow users to override command-line options, bug #357629. - insinto /etc/chromium - newins "${FILESDIR}/chromium.default" "default" - - pushd out/Release/locales > /dev/null || die - chromium_remove_language_paks - popd - - insinto "${CHROMIUM_HOME}" - doins out/Release/*.bin - doins out/Release/*.pak - ( - shopt -s nullglob - local files=(out/Release/*.so out/Release/*.so.[0-9]) - [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}" - ) - - if ! use system-icu; then - doins out/Release/icudtl.dat - fi - - doins -r out/Release/locales - doins -r out/Release/resources - doins -r out/Release/MEIPreload - - if [[ -d out/Release/swiftshader ]]; then - insinto "${CHROMIUM_HOME}/swiftshader" - doins out/Release/swiftshader/*.so - fi - - # Install icons - local branding size - for size in 16 24 32 48 64 128 256 ; do - case ${size} in - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; - *) branding="chrome/app/theme/chromium" ;; - esac - newicon -s ${size} "${branding}/product_logo_${size}.png" \ - chromium-browser.png - done - - # Install desktop entry - domenu out/Release/chromium-browser-chromium.desktop - - # Install GNOME default application entry (bug #303100). - insinto /usr/share/gnome-control-center/default-apps - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml - - # Install manpage; bug #684550 - doman out/Release/chromium-browser.1 - dosym chromium-browser.1 /usr/share/man/man1/chromium.1 - - readme.gentoo_create_doc -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_desktop_database_update -} - -pkg_postinst() { - xdg_icon_cache_update - xdg_desktop_database_update - readme.gentoo_print_elog - - if use vaapi; then - elog "VA-API is disabled by default at runtime. You have to enable it" - elog "by adding --enable-features=VaapiVideoDecoder to CHROMIUM_FLAGS" - elog "in /etc/chromium/default." - fi - if use screencast; then - elog "Screencast is disabled by default at runtime. Either enable it" - elog "by navigating to chrome://flags/#enable-webrtc-pipewire-capturer" - elog "inside Chromium or add --enable-webrtc-pipewire-capturer" - elog "to CHROMIUM_FLAGS in /etc/chromium/default." - fi -} diff --git a/www-client/chromium/chromium-96.0.4664.18.ebuild b/www-client/chromium/chromium-96.0.4664.18.ebuild deleted file mode 100644 index 858ba12..0000000 --- a/www-client/chromium/chromium-96.0.4664.18.ebuild +++ /dev/null @@ -1,952 +0,0 @@ -# Copyright 2009-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -PYTHON_COMPAT=( python3_{8..10} ) -PYTHON_REQ_USE="xml" - -CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - 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 vi zh-CN zh-TW" - -inherit check-reqs chromium-2 desktop flag-o-matic ninja-utils pax-utils python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="https://chromium.org/" -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" -IUSE="component-build cups cpu_flags_arm_neon debug +hangouts headless +js-type-check kerberos official pic +proprietary-codecs pulseaudio screencast selinux +suid +system-ffmpeg +system-harfbuzz +system-icu vaapi wayland widevine" -REQUIRED_USE=" - component-build? ( !suid ) - screencast? ( wayland ) -" - -COMMON_X_DEPEND=" - media-libs/mesa:=[gbm(+)] - x11-libs/libX11:= - x11-libs/libXcomposite:= - x11-libs/libXcursor:= - x11-libs/libXdamage:= - x11-libs/libXext:= - x11-libs/libXfixes:= - >=x11-libs/libXi-1.6.0:= - x11-libs/libXrandr:= - x11-libs/libXrender:= - x11-libs/libXtst:= - x11-libs/libxcb:= - x11-libs/libxshmfence:= - vaapi? ( >=x11-libs/libva-2.7:=[X,drm] ) -" - -COMMON_DEPEND=" - app-arch/bzip2:= - cups? ( >=net-print/cups-1.3.11:= ) - dev-libs/expat:= - dev-libs/glib:2 - >=dev-libs/libxml2-2.9.4-r3:=[icu] - dev-libs/nspr:= - >=dev-libs/nss-3.26:= - >=media-libs/alsa-lib-1.0.19:= - media-libs/fontconfig:= - >=media-libs/freetype-2.11.0-r1:= - system-harfbuzz? ( >=media-libs/harfbuzz-2.9.0:0=[icu(-)] ) - media-libs/libjpeg-turbo:= - media-libs/libpng:= - pulseaudio? ( media-sound/pulseaudio:= ) - system-ffmpeg? ( - >=media-video/ffmpeg-4.3:= - || ( - media-video/ffmpeg[-samba] - >=net-fs/samba-4.5.10-r1[-debug(-)] - ) - >=media-libs/opus-1.3.1:= - ) - net-misc/curl[ssl] - sys-apps/dbus:= - sys-apps/pciutils:= - virtual/udev - x11-libs/cairo:= - x11-libs/gdk-pixbuf:2 - x11-libs/libxkbcommon:= - x11-libs/pango:= - media-libs/flac:= - >=media-libs/libwebp-0.4.0:= - sys-libs/zlib:=[minizip] - kerberos? ( virtual/krb5 ) - !headless? ( - ${COMMON_X_DEPEND} - >=app-accessibility/at-spi2-atk-2.26:2 - >=app-accessibility/at-spi2-core-2.26:2 - >=dev-libs/atk-2.26 - x11-libs/gtk+:3[X] - wayland? ( - dev-libs/wayland:= - screencast? ( media-video/pipewire:0/0.3 ) - x11-libs/gtk+:3[wayland,X] - x11-libs/libdrm:= - ) - ) -" -RDEPEND="${COMMON_DEPEND} - x11-misc/xdg-utils - virtual/opengl - virtual/ttf-fonts - selinux? ( sec-policy/selinux-chromium ) -" -DEPEND="${COMMON_DEPEND} -" -# dev-vcs/git - https://bugs.gentoo.org/593476 -BDEPEND=" - ${PYTHON_DEPS} - $(python_gen_any_dep ' - dev-python/setuptools[${PYTHON_USEDEP}] - ') - >=app-arch/gzip-1.7 - dev-lang/perl - >=dev-util/gn-0.1807 - dev-vcs/git - >=dev-util/gperf-3.0.3 - >=dev-util/ninja-1.7.2 - >=net-libs/nodejs-7.6.0[inspector] - sys-apps/hwids[usb(+)] - >=sys-devel/bison-2.4.3 - sys-devel/flex - virtual/pkgconfig - js-type-check? ( virtual/jre ) -" - -# These are intended for ebuild maintainer use to force clang if GCC is broken. -: ${CHROMIUM_FORCE_CLANG=no} -: ${CHROMIUM_FORCE_LIBCXX=no} - -if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then - BDEPEND+=" >=sys-devel/clang-12" -fi - -if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - RDEPEND+=" >=sys-libs/libcxx-12" - DEPEND+=" >=sys-libs/libcxx-12" -else - COMMON_DEPEND=" - app-arch/snappy:= - dev-libs/libxslt:= - >=dev-libs/re2-0.2019.08.01:= - >=media-libs/openh264-1.6.0:= - system-icu? ( >=dev-libs/icu-69.1:= ) - " - RDEPEND+="${COMMON_DEPEND}" - DEPEND+="${COMMON_DEPEND}" -fi - -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then - EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; -fi - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -Some web pages may require additional fonts to display properly. -Try installing some of the following packages if some characters -are not displayed properly: -- media-fonts/arphicfonts -- media-fonts/droid -- media-fonts/ipamonafont -- media-fonts/noto -- media-fonts/ja-ipafonts -- media-fonts/takao-fonts -- media-fonts/wqy-microhei -- media-fonts/wqy-zenhei - -To fix broken icons on the Downloads page, you should install an icon -theme that covers the appropriate MIME types, and configure this as your -GTK+ icon theme. - -For native file dialogs in KDE, install kde-apps/kdialog. - -To make password storage work with your desktop environment you may -have install one of the supported credentials management applications: -- app-crypt/libsecret (GNOME) -- kde-frameworks/kwallet (KDE) -If you have one of above packages installed, but don't want to use -them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS -in /etc/chromium/default. -" - -python_check_deps() { - has_version -b "dev-python/setuptools[${PYTHON_USEDEP}]" -} - -pre_build_checks() { - if [[ ${MERGE_TYPE} != binary ]]; then - local -x CPP="$(tc-getCXX) -E" - if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 9.2; then - die "At least gcc 9.2 is required" - fi - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || tc-is-clang; then - CPP="${CHOST}-clang++ -E" - if ! ver_test "$(clang-major-version)" -ge 12; then - die "At least clang 12 is required" - fi - fi - fi - - # Check build requirements, bug #541816 and bug #471810 . - CHECKREQS_MEMORY="4G" - CHECKREQS_DISK_BUILD="9G" - if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then - if use custom-cflags || use component-build; then - CHECKREQS_DISK_BUILD="25G" - fi - if ! use component-build; then - CHECKREQS_MEMORY="16G" - fi - fi - check-reqs_pkg_setup -} - -pkg_pretend() { - pre_build_checks -} - -pkg_setup() { - pre_build_checks - - chromium_suid_sandbox_check_kernel_config - - # nvidia-drivers does not work correctly with Wayland due to unsupported EGLStreams - if use wayland && ! use headless && has_version "x11-drivers/nvidia-drivers"; then - ewarn "Proprietary nVidia driver does not work with Wayland. You can disable" - ewarn "Wayland by setting DISABLE_OZONE_PLATFORM=true in /etc/chromium/default." - fi -} - -src_prepare() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local PATCHES=( - "${FILESDIR}/chromium-78-protobuf-RepeatedPtrField-export.patch" - "${FILESDIR}/chromium-95-libyuv-aarch64.patch" - "${FILESDIR}/chromium-96-compiler.patch" - "${FILESDIR}/chromium-96-AppliedTextDecoration-include.patch" - "${FILESDIR}/chromium-96-coupondb-include.patch" - "${FILESDIR}/chromium-96-restricted_cookie_manager-pair.patch" - "${FILESDIR}/chromium-96-drm_render_node_path_finder-include.patch" - "${FILESDIR}/chromium-96-command_line-include.patch" - - "${FILESDIR}/chromium-96-EnumTable-crash.patch" - "${FILESDIR}/chromium-93-InkDropHost-crash.patch" - "${FILESDIR}/chromium-use-oauth2-client-switches-as-default.patch" - "${FILESDIR}/chromium-shim_headers.patch" - ) - - default - - mkdir -p third_party/node/linux/node-linux-x64/bin || die - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die - - # adjust python interpreter version - sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die - - local 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 - 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/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-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/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/dawn/third_party/tint - 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/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-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/test/unittests/front_end/third_party/i18n - 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/flatbuffers - third_party/freetype - third_party/fusejs - third_party/highway - third_party/libgifcodec - third_party/liburlpattern - third_party/libzip - 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/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/libjingle - third_party/libjxl - third_party/libphonenumber - third_party/libsecret - third_party/libsrtp - third_party/libsync - third_party/libudev - 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/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/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/rnnoise - third_party/s2cellid - third_party/securemessage - third_party/shell-encryption - third_party/simplejson - third_party/six - 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/tcmalloc - third_party/tensorflow-text - third_party/tflite - third_party/tflite/src/third_party/eigen3 - third_party/tflite/src/third_party/fft2d - third_party/ruy - third_party/ukey2 - third_party/unrar - third_party/usrsctp - third_party/utf - third_party/vulkan - 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 - 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 - ) - if ! use system-ffmpeg; then - keeplibs+=( third_party/ffmpeg third_party/opus ) - fi - if ! use system-icu; then - keeplibs+=( third_party/icu ) - fi - if use system-harfbuzz; then - keeplibs+=( third_party/harfbuzz-ng/utils ) - else - keeplibs+=( third_party/harfbuzz-ng ) - fi - if use wayland && ! use headless ; then - keeplibs+=( third_party/wayland ) - fi - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - keeplibs+=( third_party/libxml ) - keeplibs+=( third_party/libxslt ) - keeplibs+=( third_party/openh264 ) - keeplibs+=( third_party/re2 ) - keeplibs+=( third_party/snappy ) - if use system-icu; then - keeplibs+=( third_party/icu ) - fi - fi - if use arm64 || use ppc64 ; then - keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 ) - fi - # we need to generate ppc64 stuff because upstream does not ship it yet - # it has to be done before unbundling. - if use ppc64; then - pushd third_party/libvpx >/dev/null || die - mkdir -p source/config/linux/ppc64 || die - ./generate_gni.sh || die - popd >/dev/null || die - fi - - # Remove most bundled libraries. Some are still needed. - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die - - if use js-type-check; then - ln -s "${EPREFIX}"/usr/bin/java third_party/jdk/current/bin/java || die - fi - - # bundled eu-strip is for amd64 only and we don't want to pre-stripped binaries - mkdir -p buildtools/third_party/eu-strip/bin || die - ln -s "${EPREFIX}"/bin/true buildtools/third_party/eu-strip/bin/eu-strip || die -} - -src_configure() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local myconf_gn="" - - # Make sure the build system will use the right tools, bug #340795. - tc-export AR CC CXX NM - - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] && ! tc-is-clang; then - # Force clang since gcc is pretty broken at the moment. - CC=${CHOST}-clang - CXX=${CHOST}-clang++ - strip-unsupported-flags - fi - - if tc-is-clang; then - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" - else - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - die "Compiling with sys-libs/libcxx requires clang." - fi - myconf_gn+=" is_clang=false" - fi - - # Define a custom toolchain for GN - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" - - if tc-is-cross-compiler; then - tc-export BUILD_{AR,CC,CXX,NM} - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" - else - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - fi - - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - myconf_gn+=" is_debug=false" - - # enable DCHECK with USE=debug only, increases chrome binary size by 30%, bug #811138. - # DCHECK is fatal by default, make it configurable at runtime, #bug 807881. - myconf_gn+=" dcheck_always_on=$(usex debug true false)" - myconf_gn+=" dcheck_is_configurable=$(usex debug true false)" - - # Component build isn't generally intended for use by end users. It's mostly useful - # for development and debugging. - myconf_gn+=" is_component_build=$(usex component-build true false)" - - # Disable nacl, we can't build without pnacl (http://crbug.com/269560). - myconf_gn+=" enable_nacl=false" - - # Use system-provided libraries. - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_protobuf (bug #525560). - # TODO: use_system_sqlite (http://crbug.com/22208). - - # libevent: https://bugs.gentoo.org/593458 - local gn_system_libraries=( - flac - fontconfig - freetype - # Need harfbuzz_from_pkgconfig target - #harfbuzz-ng - libdrm - libjpeg - libpng - libwebp - zlib - ) - if use system-ffmpeg; then - gn_system_libraries+=( ffmpeg opus ) - fi - if use system-icu; then - gn_system_libraries+=( icu ) - fi - if [[ ${CHROMIUM_FORCE_LIBCXX} != yes ]]; then - # unbundle only without libc++, because libc++ is not fully ABI compatible with libstdc++ - gn_system_libraries+=( libxml ) - gn_system_libraries+=( libxslt ) - gn_system_libraries+=( openh264 ) - gn_system_libraries+=( re2 ) - gn_system_libraries+=( snappy ) - fi - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die - - # See dependency logic in third_party/BUILD.gn - myconf_gn+=" use_system_harfbuzz=$(usex system-harfbuzz true false)" - - # Disable deprecated libgnome-keyring dependency, bug #713012 - myconf_gn+=" use_gnome_keyring=false" - - # Optional dependencies. - myconf_gn+=" enable_js_type_check=$(usex js-type-check true false)" - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" - myconf_gn+=" enable_widevine=$(usex widevine true false)" - myconf_gn+=" use_cups=$(usex cups true false)" - myconf_gn+=" use_kerberos=$(usex kerberos true false)" - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" - myconf_gn+=" use_vaapi=$(usex vaapi true false)" - myconf_gn+=" rtc_use_pipewire=$(usex screencast true false)" - - # TODO: link_pulseaudio=true for GN. - - myconf_gn+=" disable_fieldtrial_testing_config=true" - - # Never use bundled gold binary. Disable gold linker flags for now. - # Do not use bundled clang. - # Trying to use gold results in linker crash. - myconf_gn+=" use_gold=false use_sysroot=false use_custom_libcxx=false" - - # Disable forced lld, bug 641556 - myconf_gn+=" use_lld=false" - - # Disable pseudolocales, only used for testing - myconf_gn+=" enable_pseudolocales=false" - - # Disable code formating of generated files - myconf_gn+=" blink_enable_generated_code_formatting=false" - - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" - - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . - # Note: these are for Gentoo use ONLY. For your own distribution, - # please get your own set of keys. Feel free to contact chromium@gentoo.org - # for more info. The OAuth2 credentials, however, have been left out. - # Those OAuth2 credentials have been broken for quite some time anyway. - # Instead we apply a patch to use the --oauth2-client-id= and - # --oauth2-client-secret= switches for setting GOOGLE_DEFAULT_CLIENT_ID and - # GOOGLE_DEFAULT_CLIENT_SECRET at runtime. This allows signing into - # Chromium without baked-in values. - local myarch="$(tc-arch)" - - # Avoid CFLAGS problems, bug #352457, bug #390147. - if ! use custom-cflags; then - replace-flags "-Os" "-O2" - strip-flags - - # Debug info section overflows without component build - # Prevent linker from running out of address space, bug #471810 . - if ! use component-build || use x86; then - filter-flags "-g*" - fi - - # Prevent libvpx build failures. Bug 530248, 544702, 546984. - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4 - fi - fi - - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - append-flags -stdlib=libc++ - append-ldflags -stdlib=libc++ - fi - - if [[ $myarch = amd64 ]] ; then - myconf_gn+=" target_cpu=\"x64\"" - ffmpeg_target_arch=x64 - elif [[ $myarch = x86 ]] ; then - myconf_gn+=" target_cpu=\"x86\"" - ffmpeg_target_arch=ia32 - - # This is normally defined by compiler_cpu_abi in - # build/config/compiler/BUILD.gn, but we patch that part out. - append-flags -msse2 -mfpmath=sse -mmmx - elif [[ $myarch = arm64 ]] ; then - myconf_gn+=" target_cpu=\"arm64\"" - ffmpeg_target_arch=arm64 - elif [[ $myarch = arm ]] ; then - myconf_gn+=" target_cpu=\"arm\"" - ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm) - elif [[ $myarch = ppc64 ]] ; then - myconf_gn+=" target_cpu=\"ppc64\"" - ffmpeg_target_arch=ppc64 - else - 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" - - # Bug 491582. - export TMPDIR="${WORKDIR}/temp" - mkdir -p -m 755 "${TMPDIR}" || die - - # https://bugs.gentoo.org/654216 - addpredict /dev/dri/ #nowarn - - #if ! use system-ffmpeg; then - if false; then - local build_ffmpeg_args="" - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then - build_ffmpeg_args+=" --disable-asm" - fi - - # Re-configure bundled ffmpeg. See bug #491378 for example reasons. - einfo "Configuring bundled ffmpeg..." - pushd third_party/ffmpeg > /dev/null || die - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \ - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die - chromium/scripts/copy_config.sh || die - chromium/scripts/generate_gn.py || die - popd > /dev/null || die - fi - - # Chromium relies on this, but was disabled in >=clang-10, crbug.com/1042470 - append-cxxflags $(test-flags-CXX -flax-vector-conversions=all) - - # Disable unknown warning message from clang. - tc-is-clang && append-flags -Wno-unknown-warning-option - - # Explicitly disable ICU data file support for system-icu builds. - if use system-icu; then - myconf_gn+=" icu_use_data_file=false" - fi - - # Enable ozone wayland and/or headless support - myconf_gn+=" use_ozone=true ozone_auto_platforms=false" - myconf_gn+=" ozone_platform_headless=true" - myconf_gn+=" ozone_platform_x11=$(usex headless false true)" - if use wayland || use headless; then - if use headless; then - myconf_gn+=" ozone_platform=\"headless\"" - myconf_gn+=" use_x11=false" - else - myconf_gn+=" ozone_platform_wayland=true" - myconf_gn+=" use_system_libdrm=true" - myconf_gn+=" use_system_minigbm=true" - myconf_gn+=" use_xkbcommon=true" - myconf_gn+=" ozone_platform=\"wayland\"" - fi - else - myconf_gn+=" ozone_platform=\"x11\"" - fi - - # Enable official builds - myconf_gn+=" is_official_build=$(usex official true false)" - myconf_gn+=" use_thin_lto=false" - if use official; then - # 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 - myconf_gn+=" is_cfi=false" - # Disable PGO, because profile data is only compatible with >=clang-11 - myconf_gn+=" chrome_pgo_phase=0" - fi - - einfo "Configuring Chromium..." - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release - echo "$@" - "$@" || die -} - -src_compile() { - # Final link uses lots of file descriptors. - ulimit -n 2048 - - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - # Don't inherit PYTHONPATH from environment, bug #789021, #812689 - local -x PYTHONPATH= - - #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die - - # Build mksnapshot and pax-mark it. - local x - for x in mksnapshot v8_context_snapshot_generator; do - if tc-is-cross-compiler; then - eninja -C out/Release "host/${x}" - pax-mark m "out/Release/host/${x}" - else - eninja -C out/Release "${x}" - pax-mark m "out/Release/${x}" - fi - done - - # Even though ninja autodetects number of CPUs, we respect - # user's options, for debugging with -j 1 or any other reason. - eninja -C out/Release chrome chromedriver - use suid && eninja -C out/Release chrome_sandbox - - pax-mark m out/Release/chrome - - mv out/Release/chromedriver{.unstripped,} || die - - # Build manpage; bug #684550 - sed -e 's|@@PACKAGE@@|chromium-browser|g; - s|@@MENUNAME@@|Chromium|g;' \ - chrome/app/resources/manpage.1.in > \ - out/Release/chromium-browser.1 || die - - # Build desktop file; bug #706786 - sed -e 's|@@MENUNAME@@|Chromium|g; - s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g; - s|@@PACKAGE@@|chromium-browser|g; - s|\(^Exec=\)/usr/bin/|\1|g;' \ - chrome/installer/linux/common/desktop.template > \ - out/Release/chromium-browser-chromium.desktop || die -} - -src_install() { - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" - exeinto "${CHROMIUM_HOME}" - doexe out/Release/chrome - - if use suid; then - newexe out/Release/chrome_sandbox chrome-sandbox - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" - fi - - doexe out/Release/chromedriver - doexe out/Release/chrome_crashpad_handler - - ozone_auto_session () { - use wayland && ! use headless && echo true || echo false - } - local sedargs=( -e - "s:/usr/lib/:/usr/$(get_libdir)/:g; - s:@@OZONE_AUTO_SESSION@@:$(ozone_auto_session):g" - ) - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r7.sh" > chromium-launcher.sh || die - doexe chromium-launcher.sh - - # It is important that we name the target "chromium-browser", - # xdg-utils expect it; bug #355517. - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser - # keep the old symlink around for consistency - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium - - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver - - # Allow users to override command-line options, bug #357629. - insinto /etc/chromium - newins "${FILESDIR}/chromium.default" "default" - - pushd out/Release/locales > /dev/null || die - chromium_remove_language_paks - popd - - insinto "${CHROMIUM_HOME}" - doins out/Release/*.bin - doins out/Release/*.pak - ( - shopt -s nullglob - local files=(out/Release/*.so out/Release/*.so.[0-9]) - [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}" - ) - - if ! use system-icu; then - doins out/Release/icudtl.dat - fi - - doins -r out/Release/locales - doins -r out/Release/resources - doins -r out/Release/MEIPreload - - if [[ -d out/Release/swiftshader ]]; then - insinto "${CHROMIUM_HOME}/swiftshader" - doins out/Release/swiftshader/*.so - fi - - # Install icons - local branding size - for size in 16 24 32 48 64 128 256 ; do - case ${size} in - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; - *) branding="chrome/app/theme/chromium" ;; - esac - newicon -s ${size} "${branding}/product_logo_${size}.png" \ - chromium-browser.png - done - - # Install desktop entry - domenu out/Release/chromium-browser-chromium.desktop - - # Install GNOME default application entry (bug #303100). - insinto /usr/share/gnome-control-center/default-apps - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml - - # Install manpage; bug #684550 - doman out/Release/chromium-browser.1 - dosym chromium-browser.1 /usr/share/man/man1/chromium.1 - - readme.gentoo_create_doc -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_desktop_database_update -} - -pkg_postinst() { - xdg_icon_cache_update - xdg_desktop_database_update - readme.gentoo_print_elog - - if use vaapi; then - elog "VA-API is disabled by default at runtime. You have to enable it" - elog "by adding --enable-features=VaapiVideoDecoder to CHROMIUM_FLAGS" - elog "in /etc/chromium/default." - fi - if use screencast; then - elog "Screencast is disabled by default at runtime. Either enable it" - elog "by navigating to chrome://flags/#enable-webrtc-pipewire-capturer" - elog "inside Chromium or add --enable-webrtc-pipewire-capturer" - elog "to CHROMIUM_FLAGS in /etc/chromium/default." - fi -} diff --git a/www-client/chromium/chromium-97.0.4682.3.ebuild b/www-client/chromium/chromium-97.0.4682.3.ebuild deleted file mode 100644 index 7ab60cf..0000000 --- a/www-client/chromium/chromium-97.0.4682.3.ebuild +++ /dev/null @@ -1,948 +0,0 @@ -# Copyright 2009-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -PYTHON_COMPAT=( python3_{8..10} ) -PYTHON_REQ_USE="xml" - -CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - 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 vi zh-CN zh-TW" - -inherit check-reqs chromium-2 desktop flag-o-matic ninja-utils pax-utils python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="https://chromium.org/" -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" -IUSE="component-build cups cpu_flags_arm_neon debug +hangouts headless +js-type-check kerberos official pic +proprietary-codecs pulseaudio screencast selinux +suid +system-ffmpeg +system-harfbuzz +system-icu vaapi wayland widevine" -REQUIRED_USE=" - component-build? ( !suid ) - screencast? ( wayland ) -" - -COMMON_X_DEPEND=" - media-libs/mesa:=[gbm(+)] - x11-libs/libX11:= - x11-libs/libXcomposite:= - x11-libs/libXcursor:= - x11-libs/libXdamage:= - x11-libs/libXext:= - x11-libs/libXfixes:= - >=x11-libs/libXi-1.6.0:= - x11-libs/libXrandr:= - x11-libs/libXrender:= - x11-libs/libXtst:= - x11-libs/libxcb:= - x11-libs/libxshmfence:= - vaapi? ( >=x11-libs/libva-2.7:=[X,drm] ) -" - -COMMON_DEPEND=" - app-arch/bzip2:= - cups? ( >=net-print/cups-1.3.11:= ) - dev-libs/expat:= - dev-libs/glib:2 - >=dev-libs/libxml2-2.9.4-r3:=[icu] - dev-libs/nspr:= - >=dev-libs/nss-3.26:= - >=media-libs/alsa-lib-1.0.19:= - media-libs/fontconfig:= - >=media-libs/freetype-2.11.0-r1:= - system-harfbuzz? ( >=media-libs/harfbuzz-2.9.0:0=[icu(-)] ) - media-libs/libjpeg-turbo:= - media-libs/libpng:= - pulseaudio? ( media-sound/pulseaudio:= ) - system-ffmpeg? ( - >=media-video/ffmpeg-4.3:= - || ( - media-video/ffmpeg[-samba] - >=net-fs/samba-4.5.10-r1[-debug(-)] - ) - >=media-libs/opus-1.3.1:= - ) - net-misc/curl[ssl] - sys-apps/dbus:= - sys-apps/pciutils:= - virtual/udev - x11-libs/cairo:= - x11-libs/gdk-pixbuf:2 - x11-libs/libxkbcommon:= - x11-libs/pango:= - media-libs/flac:= - >=media-libs/libwebp-0.4.0:= - sys-libs/zlib:=[minizip] - kerberos? ( virtual/krb5 ) - !headless? ( - ${COMMON_X_DEPEND} - >=app-accessibility/at-spi2-atk-2.26:2 - >=app-accessibility/at-spi2-core-2.26:2 - >=dev-libs/atk-2.26 - x11-libs/gtk+:3[X] - wayland? ( - dev-libs/wayland:= - screencast? ( media-video/pipewire:0/0.3 ) - x11-libs/gtk+:3[wayland,X] - x11-libs/libdrm:= - ) - ) -" -RDEPEND="${COMMON_DEPEND} - x11-misc/xdg-utils - virtual/opengl - virtual/ttf-fonts - selinux? ( sec-policy/selinux-chromium ) -" -DEPEND="${COMMON_DEPEND} -" -# dev-vcs/git - https://bugs.gentoo.org/593476 -BDEPEND=" - ${PYTHON_DEPS} - $(python_gen_any_dep ' - dev-python/setuptools[${PYTHON_USEDEP}] - ') - >=app-arch/gzip-1.7 - dev-lang/perl - >=dev-util/gn-0.1807 - dev-vcs/git - >=dev-util/gperf-3.0.3 - >=dev-util/ninja-1.7.2 - >=net-libs/nodejs-7.6.0[inspector] - sys-apps/hwids[usb(+)] - >=sys-devel/bison-2.4.3 - sys-devel/flex - virtual/pkgconfig - js-type-check? ( virtual/jre ) -" - -# These are intended for ebuild maintainer use to force clang if GCC is broken. -: ${CHROMIUM_FORCE_CLANG=no} -: ${CHROMIUM_FORCE_LIBCXX=no} - -if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then - BDEPEND+=" >=sys-devel/clang-12" -fi - -if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - RDEPEND+=" >=sys-libs/libcxx-12" - DEPEND+=" >=sys-libs/libcxx-12" -else - COMMON_DEPEND=" - dev-libs/libxslt:= - >=dev-libs/re2-0.2019.08.01:= - >=media-libs/openh264-1.6.0:= - system-icu? ( >=dev-libs/icu-69.1:= ) - " - RDEPEND+="${COMMON_DEPEND}" - DEPEND+="${COMMON_DEPEND}" -fi - -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then - EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; -fi - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -Some web pages may require additional fonts to display properly. -Try installing some of the following packages if some characters -are not displayed properly: -- media-fonts/arphicfonts -- media-fonts/droid -- media-fonts/ipamonafont -- media-fonts/noto -- media-fonts/ja-ipafonts -- media-fonts/takao-fonts -- media-fonts/wqy-microhei -- media-fonts/wqy-zenhei - -To fix broken icons on the Downloads page, you should install an icon -theme that covers the appropriate MIME types, and configure this as your -GTK+ icon theme. - -For native file dialogs in KDE, install kde-apps/kdialog. - -To make password storage work with your desktop environment you may -have install one of the supported credentials management applications: -- app-crypt/libsecret (GNOME) -- kde-frameworks/kwallet (KDE) -If you have one of above packages installed, but don't want to use -them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS -in /etc/chromium/default. -" - -python_check_deps() { - has_version -b "dev-python/setuptools[${PYTHON_USEDEP}]" -} - -pre_build_checks() { - if [[ ${MERGE_TYPE} != binary ]]; then - local -x CPP="$(tc-getCXX) -E" - if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 9.2; then - die "At least gcc 9.2 is required" - fi - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || tc-is-clang; then - CPP="${CHOST}-clang++ -E" - if ! ver_test "$(clang-major-version)" -ge 12; then - die "At least clang 12 is required" - fi - fi - fi - - # Check build requirements, bug #541816 and bug #471810 . - CHECKREQS_MEMORY="4G" - CHECKREQS_DISK_BUILD="9G" - if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then - if use custom-cflags || use component-build; then - CHECKREQS_DISK_BUILD="25G" - fi - if ! use component-build; then - CHECKREQS_MEMORY="16G" - fi - fi - check-reqs_pkg_setup -} - -pkg_pretend() { - pre_build_checks -} - -pkg_setup() { - pre_build_checks - - chromium_suid_sandbox_check_kernel_config - - # nvidia-drivers does not work correctly with Wayland due to unsupported EGLStreams - if use wayland && ! use headless && has_version "x11-drivers/nvidia-drivers"; then - ewarn "Proprietary nVidia driver does not work with Wayland. You can disable" - ewarn "Wayland by setting DISABLE_OZONE_PLATFORM=true in /etc/chromium/default." - fi -} - -src_prepare() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local PATCHES=( - "${FILESDIR}/chromium-78-protobuf-RepeatedPtrField-export.patch" - "${FILESDIR}/chromium-95-libyuv-aarch64.patch" - "${FILESDIR}/chromium-96-compiler.patch" - "${FILESDIR}/chromium-97-shared_element_res-include.patch" - - "${FILESDIR}/chromium-96-EnumTable-crash.patch" - "${FILESDIR}/chromium-93-InkDropHost-crash.patch" - "${FILESDIR}/chromium-use-oauth2-client-switches-as-default.patch" - "${FILESDIR}/chromium-shim_headers.patch" - ) - - default - - mkdir -p third_party/node/linux/node-linux-x64/bin || die - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die - - # adjust python interpreter version - sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die - - local 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 - 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/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-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/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/dawn/third_party/tint - 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/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-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/test/unittests/front_end/third_party/i18n - 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/flatbuffers - third_party/freetype - third_party/fusejs - third_party/highway - third_party/libgifcodec - third_party/liburlpattern - third_party/libzip - 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/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/libjingle - third_party/libjxl - third_party/libphonenumber - third_party/libsecret - third_party/libsrtp - third_party/libsync - third_party/libudev - 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/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/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/rnnoise - third_party/s2cellid - third_party/securemessage - third_party/shell-encryption - third_party/simplejson - third_party/six - 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/snappy - 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/tcmalloc - third_party/tensorflow-text - third_party/tflite - third_party/tflite/src/third_party/eigen3 - third_party/tflite/src/third_party/fft2d - third_party/ruy - third_party/ukey2 - third_party/unrar - third_party/usrsctp - third_party/utf - third_party/vulkan - 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 - 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 - ) - if ! use system-ffmpeg; then - keeplibs+=( third_party/ffmpeg third_party/opus ) - fi - if ! use system-icu; then - keeplibs+=( third_party/icu ) - fi - if use system-harfbuzz; then - keeplibs+=( third_party/harfbuzz-ng/utils ) - else - keeplibs+=( third_party/harfbuzz-ng ) - fi - if use wayland && ! use headless ; then - keeplibs+=( third_party/wayland ) - fi - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - keeplibs+=( third_party/libxml ) - keeplibs+=( third_party/libxslt ) - keeplibs+=( third_party/openh264 ) - keeplibs+=( third_party/re2 ) - if use system-icu; then - keeplibs+=( third_party/icu ) - fi - fi - if use arm64 || use ppc64 ; then - keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 ) - fi - # we need to generate ppc64 stuff because upstream does not ship it yet - # it has to be done before unbundling. - if use ppc64; then - pushd third_party/libvpx >/dev/null || die - mkdir -p source/config/linux/ppc64 || die - ./generate_gni.sh || die - popd >/dev/null || die - fi - - # Remove most bundled libraries. Some are still needed. - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die - - if use js-type-check; then - ln -s "${EPREFIX}"/usr/bin/java third_party/jdk/current/bin/java || die - fi - - # bundled eu-strip is for amd64 only and we don't want to pre-stripped binaries - mkdir -p buildtools/third_party/eu-strip/bin || die - ln -s "${EPREFIX}"/bin/true buildtools/third_party/eu-strip/bin/eu-strip || die -} - -src_configure() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local myconf_gn="" - - # Make sure the build system will use the right tools, bug #340795. - tc-export AR CC CXX NM - - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] && ! tc-is-clang; then - # Force clang since gcc is pretty broken at the moment. - CC=${CHOST}-clang - CXX=${CHOST}-clang++ - strip-unsupported-flags - fi - - if tc-is-clang; then - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" - else - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - die "Compiling with sys-libs/libcxx requires clang." - fi - myconf_gn+=" is_clang=false" - fi - - # Define a custom toolchain for GN - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" - - if tc-is-cross-compiler; then - tc-export BUILD_{AR,CC,CXX,NM} - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" - else - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - fi - - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - myconf_gn+=" is_debug=false" - - # enable DCHECK with USE=debug only, increases chrome binary size by 30%, bug #811138. - # DCHECK is fatal by default, make it configurable at runtime, #bug 807881. - myconf_gn+=" dcheck_always_on=$(usex debug true false)" - myconf_gn+=" dcheck_is_configurable=$(usex debug true false)" - - # Component build isn't generally intended for use by end users. It's mostly useful - # for development and debugging. - myconf_gn+=" is_component_build=$(usex component-build true false)" - - # Disable nacl, we can't build without pnacl (http://crbug.com/269560). - myconf_gn+=" enable_nacl=false" - - # Use system-provided libraries. - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_protobuf (bug #525560). - # TODO: use_system_sqlite (http://crbug.com/22208). - - # libevent: https://bugs.gentoo.org/593458 - local gn_system_libraries=( - flac - fontconfig - freetype - # Need harfbuzz_from_pkgconfig target - #harfbuzz-ng - libdrm - libjpeg - libpng - libwebp - zlib - ) - if use system-ffmpeg; then - gn_system_libraries+=( ffmpeg opus ) - fi - if use system-icu; then - gn_system_libraries+=( icu ) - fi - if [[ ${CHROMIUM_FORCE_LIBCXX} != yes ]]; then - # unbundle only without libc++, because libc++ is not fully ABI compatible with libstdc++ - gn_system_libraries+=( libxml ) - gn_system_libraries+=( libxslt ) - gn_system_libraries+=( openh264 ) - gn_system_libraries+=( re2 ) - fi - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die - - # See dependency logic in third_party/BUILD.gn - myconf_gn+=" use_system_harfbuzz=$(usex system-harfbuzz true false)" - - # Disable deprecated libgnome-keyring dependency, bug #713012 - myconf_gn+=" use_gnome_keyring=false" - - # Optional dependencies. - myconf_gn+=" enable_js_type_check=$(usex js-type-check true false)" - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" - myconf_gn+=" enable_widevine=$(usex widevine true false)" - myconf_gn+=" use_cups=$(usex cups true false)" - myconf_gn+=" use_kerberos=$(usex kerberos true false)" - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" - myconf_gn+=" use_vaapi=$(usex vaapi true false)" - myconf_gn+=" rtc_use_pipewire=$(usex screencast true false)" - - # TODO: link_pulseaudio=true for GN. - - myconf_gn+=" disable_fieldtrial_testing_config=true" - - # Never use bundled gold binary. Disable gold linker flags for now. - # Do not use bundled clang. - # Trying to use gold results in linker crash. - myconf_gn+=" use_gold=false use_sysroot=false use_custom_libcxx=false" - - # Disable forced lld, bug 641556 - myconf_gn+=" use_lld=false" - - # Disable pseudolocales, only used for testing - myconf_gn+=" enable_pseudolocales=false" - - # Disable code formating of generated files - myconf_gn+=" blink_enable_generated_code_formatting=false" - - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" - - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . - # Note: these are for Gentoo use ONLY. For your own distribution, - # please get your own set of keys. Feel free to contact chromium@gentoo.org - # for more info. The OAuth2 credentials, however, have been left out. - # Those OAuth2 credentials have been broken for quite some time anyway. - # Instead we apply a patch to use the --oauth2-client-id= and - # --oauth2-client-secret= switches for setting GOOGLE_DEFAULT_CLIENT_ID and - # GOOGLE_DEFAULT_CLIENT_SECRET at runtime. This allows signing into - # Chromium without baked-in values. - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" - myconf_gn+=" google_api_key=\"${google_api_key}\"" - local myarch="$(tc-arch)" - - # Avoid CFLAGS problems, bug #352457, bug #390147. - if ! use custom-cflags; then - replace-flags "-Os" "-O2" - strip-flags - - # Debug info section overflows without component build - # Prevent linker from running out of address space, bug #471810 . - if ! use component-build || use x86; then - filter-flags "-g*" - fi - - # Prevent libvpx build failures. Bug 530248, 544702, 546984. - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4 - fi - fi - - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - append-flags -stdlib=libc++ - append-ldflags -stdlib=libc++ - fi - - if [[ $myarch = amd64 ]] ; then - myconf_gn+=" target_cpu=\"x64\"" - ffmpeg_target_arch=x64 - elif [[ $myarch = x86 ]] ; then - myconf_gn+=" target_cpu=\"x86\"" - ffmpeg_target_arch=ia32 - - # This is normally defined by compiler_cpu_abi in - # build/config/compiler/BUILD.gn, but we patch that part out. - append-flags -msse2 -mfpmath=sse -mmmx - elif [[ $myarch = arm64 ]] ; then - myconf_gn+=" target_cpu=\"arm64\"" - ffmpeg_target_arch=arm64 - elif [[ $myarch = arm ]] ; then - myconf_gn+=" target_cpu=\"arm\"" - ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm) - elif [[ $myarch = ppc64 ]] ; then - myconf_gn+=" target_cpu=\"ppc64\"" - ffmpeg_target_arch=ppc64 - else - 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" - - # Bug 491582. - export TMPDIR="${WORKDIR}/temp" - mkdir -p -m 755 "${TMPDIR}" || die - - # https://bugs.gentoo.org/654216 - addpredict /dev/dri/ #nowarn - - #if ! use system-ffmpeg; then - if false; then - local build_ffmpeg_args="" - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then - build_ffmpeg_args+=" --disable-asm" - fi - - # Re-configure bundled ffmpeg. See bug #491378 for example reasons. - einfo "Configuring bundled ffmpeg..." - pushd third_party/ffmpeg > /dev/null || die - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \ - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die - chromium/scripts/copy_config.sh || die - chromium/scripts/generate_gn.py || die - popd > /dev/null || die - fi - - # Chromium relies on this, but was disabled in >=clang-10, crbug.com/1042470 - append-cxxflags $(test-flags-CXX -flax-vector-conversions=all) - - # Disable unknown warning message from clang. - tc-is-clang && append-flags -Wno-unknown-warning-option - - # Explicitly disable ICU data file support for system-icu builds. - if use system-icu; then - myconf_gn+=" icu_use_data_file=false" - fi - - # Enable ozone wayland and/or headless support - myconf_gn+=" use_ozone=true ozone_auto_platforms=false" - myconf_gn+=" ozone_platform_headless=true" - myconf_gn+=" ozone_platform_x11=$(usex headless false true)" - if use wayland || use headless; then - if use headless; then - myconf_gn+=" ozone_platform=\"headless\"" - myconf_gn+=" use_x11=false" - else - myconf_gn+=" ozone_platform_wayland=true" - myconf_gn+=" use_system_libdrm=true" - myconf_gn+=" use_system_minigbm=true" - myconf_gn+=" use_xkbcommon=true" - myconf_gn+=" ozone_platform=\"wayland\"" - fi - else - myconf_gn+=" ozone_platform=\"x11\"" - fi - - # Enable official builds - myconf_gn+=" is_official_build=$(usex official true false)" - myconf_gn+=" use_thin_lto=false" - if use official; then - # 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 - myconf_gn+=" is_cfi=false" - # Disable PGO, because profile data is only compatible with >=clang-11 - myconf_gn+=" chrome_pgo_phase=0" - fi - - einfo "Configuring Chromium..." - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release - echo "$@" - "$@" || die -} - -src_compile() { - # Final link uses lots of file descriptors. - ulimit -n 2048 - - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - # Don't inherit PYTHONPATH from environment, bug #789021, #812689 - local -x PYTHONPATH= - - #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die - - # Build mksnapshot and pax-mark it. - local x - for x in mksnapshot v8_context_snapshot_generator; do - if tc-is-cross-compiler; then - eninja -C out/Release "host/${x}" - pax-mark m "out/Release/host/${x}" - else - eninja -C out/Release "${x}" - pax-mark m "out/Release/${x}" - fi - done - - # Even though ninja autodetects number of CPUs, we respect - # user's options, for debugging with -j 1 or any other reason. - eninja -C out/Release chrome chromedriver - use suid && eninja -C out/Release chrome_sandbox - - pax-mark m out/Release/chrome - - mv out/Release/chromedriver{.unstripped,} || die - - # Build manpage; bug #684550 - sed -e 's|@@PACKAGE@@|chromium-browser|g; - s|@@MENUNAME@@|Chromium|g;' \ - chrome/app/resources/manpage.1.in > \ - out/Release/chromium-browser.1 || die - - # Build desktop file; bug #706786 - sed -e 's|@@MENUNAME@@|Chromium|g; - s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g; - s|@@PACKAGE@@|chromium-browser|g; - s|\(^Exec=\)/usr/bin/|\1|g;' \ - chrome/installer/linux/common/desktop.template > \ - out/Release/chromium-browser-chromium.desktop || die -} - -src_install() { - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" - exeinto "${CHROMIUM_HOME}" - doexe out/Release/chrome - - if use suid; then - newexe out/Release/chrome_sandbox chrome-sandbox - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" - fi - - doexe out/Release/chromedriver - doexe out/Release/chrome_crashpad_handler - - ozone_auto_session () { - use wayland && ! use headless && echo true || echo false - } - local sedargs=( -e - "s:/usr/lib/:/usr/$(get_libdir)/:g; - s:@@OZONE_AUTO_SESSION@@:$(ozone_auto_session):g" - ) - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r7.sh" > chromium-launcher.sh || die - doexe chromium-launcher.sh - - # It is important that we name the target "chromium-browser", - # xdg-utils expect it; bug #355517. - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser - # keep the old symlink around for consistency - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium - - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver - - # Allow users to override command-line options, bug #357629. - insinto /etc/chromium - newins "${FILESDIR}/chromium.default" "default" - - pushd out/Release/locales > /dev/null || die - chromium_remove_language_paks - popd - - insinto "${CHROMIUM_HOME}" - doins out/Release/*.bin - doins out/Release/*.pak - ( - shopt -s nullglob - local files=(out/Release/*.so out/Release/*.so.[0-9]) - [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}" - ) - - if ! use system-icu; then - doins out/Release/icudtl.dat - fi - - doins -r out/Release/locales - doins -r out/Release/resources - doins -r out/Release/MEIPreload - - if [[ -d out/Release/swiftshader ]]; then - insinto "${CHROMIUM_HOME}/swiftshader" - doins out/Release/swiftshader/*.so - fi - - # Install icons - local branding size - for size in 16 24 32 48 64 128 256 ; do - case ${size} in - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; - *) branding="chrome/app/theme/chromium" ;; - esac - newicon -s ${size} "${branding}/product_logo_${size}.png" \ - chromium-browser.png - done - - # Install desktop entry - domenu out/Release/chromium-browser-chromium.desktop - - # Install GNOME default application entry (bug #303100). - insinto /usr/share/gnome-control-center/default-apps - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml - - # Install manpage; bug #684550 - doman out/Release/chromium-browser.1 - dosym chromium-browser.1 /usr/share/man/man1/chromium.1 - - readme.gentoo_create_doc -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_desktop_database_update -} - -pkg_postinst() { - xdg_icon_cache_update - xdg_desktop_database_update - readme.gentoo_print_elog - - if use vaapi; then - elog "VA-API is disabled by default at runtime. You have to enable it" - elog "by adding --enable-features=VaapiVideoDecoder to CHROMIUM_FLAGS" - elog "in /etc/chromium/default." - fi - if use screencast; then - elog "Screencast is disabled by default at runtime. Either enable it" - elog "by navigating to chrome://flags/#enable-webrtc-pipewire-capturer" - elog "inside Chromium or add --enable-webrtc-pipewire-capturer" - elog "to CHROMIUM_FLAGS in /etc/chromium/default." - fi -} diff --git a/www-client/chromium/chromium-97.0.4688.2.ebuild b/www-client/chromium/chromium-97.0.4688.2.ebuild deleted file mode 100644 index ecab0ce..0000000 --- a/www-client/chromium/chromium-97.0.4688.2.ebuild +++ /dev/null @@ -1,947 +0,0 @@ -# Copyright 2009-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -PYTHON_COMPAT=( python3_{8..10} ) -PYTHON_REQ_USE="xml" - -CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - 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 vi zh-CN zh-TW" - -inherit check-reqs chromium-2 desktop flag-o-matic ninja-utils pax-utils python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="https://chromium.org/" -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" -IUSE="component-build cups cpu_flags_arm_neon debug +hangouts headless +js-type-check kerberos official pic +proprietary-codecs pulseaudio screencast selinux +suid +system-ffmpeg +system-harfbuzz +system-icu vaapi wayland widevine" -REQUIRED_USE=" - component-build? ( !suid ) - screencast? ( wayland ) -" - -COMMON_X_DEPEND=" - media-libs/mesa:=[gbm(+)] - x11-libs/libX11:= - x11-libs/libXcomposite:= - x11-libs/libXcursor:= - x11-libs/libXdamage:= - x11-libs/libXext:= - x11-libs/libXfixes:= - >=x11-libs/libXi-1.6.0:= - x11-libs/libXrandr:= - x11-libs/libXrender:= - x11-libs/libXtst:= - x11-libs/libxcb:= - x11-libs/libxshmfence:= - vaapi? ( >=x11-libs/libva-2.7:=[X,drm] ) -" - -COMMON_DEPEND=" - app-arch/bzip2:= - cups? ( >=net-print/cups-1.3.11:= ) - dev-libs/expat:= - dev-libs/glib:2 - >=dev-libs/libxml2-2.9.4-r3:=[icu] - dev-libs/nspr:= - >=dev-libs/nss-3.26:= - >=media-libs/alsa-lib-1.0.19:= - media-libs/fontconfig:= - >=media-libs/freetype-2.11.0-r1:= - system-harfbuzz? ( >=media-libs/harfbuzz-2.9.0:0=[icu(-)] ) - media-libs/libjpeg-turbo:= - media-libs/libpng:= - pulseaudio? ( media-sound/pulseaudio:= ) - system-ffmpeg? ( - >=media-video/ffmpeg-4.3:= - || ( - media-video/ffmpeg[-samba] - >=net-fs/samba-4.5.10-r1[-debug(-)] - ) - >=media-libs/opus-1.3.1:= - ) - net-misc/curl[ssl] - sys-apps/dbus:= - sys-apps/pciutils:= - virtual/udev - x11-libs/cairo:= - x11-libs/gdk-pixbuf:2 - x11-libs/libxkbcommon:= - x11-libs/pango:= - media-libs/flac:= - >=media-libs/libwebp-0.4.0:= - sys-libs/zlib:=[minizip] - kerberos? ( virtual/krb5 ) - !headless? ( - ${COMMON_X_DEPEND} - >=app-accessibility/at-spi2-atk-2.26:2 - >=app-accessibility/at-spi2-core-2.26:2 - >=dev-libs/atk-2.26 - x11-libs/gtk+:3[X] - wayland? ( - dev-libs/wayland:= - screencast? ( media-video/pipewire:0/0.3 ) - x11-libs/gtk+:3[wayland,X] - x11-libs/libdrm:= - ) - ) -" -RDEPEND="${COMMON_DEPEND} - x11-misc/xdg-utils - virtual/opengl - virtual/ttf-fonts - selinux? ( sec-policy/selinux-chromium ) -" -DEPEND="${COMMON_DEPEND} -" -# dev-vcs/git - https://bugs.gentoo.org/593476 -BDEPEND=" - ${PYTHON_DEPS} - $(python_gen_any_dep ' - dev-python/setuptools[${PYTHON_USEDEP}] - ') - >=app-arch/gzip-1.7 - dev-lang/perl - >=dev-util/gn-0.1807 - dev-vcs/git - >=dev-util/gperf-3.0.3 - >=dev-util/ninja-1.7.2 - >=net-libs/nodejs-7.6.0[inspector] - sys-apps/hwids[usb(+)] - >=sys-devel/bison-2.4.3 - sys-devel/flex - virtual/pkgconfig - js-type-check? ( virtual/jre ) -" - -# These are intended for ebuild maintainer use to force clang if GCC is broken. -: ${CHROMIUM_FORCE_CLANG=no} -: ${CHROMIUM_FORCE_LIBCXX=no} - -if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then - BDEPEND+=" >=sys-devel/clang-12" -fi - -if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - RDEPEND+=" >=sys-libs/libcxx-12" - DEPEND+=" >=sys-libs/libcxx-12" -else - COMMON_DEPEND=" - dev-libs/libxslt:= - >=dev-libs/re2-0.2019.08.01:= - >=media-libs/openh264-1.6.0:= - system-icu? ( >=dev-libs/icu-69.1:= ) - " - RDEPEND+="${COMMON_DEPEND}" - DEPEND+="${COMMON_DEPEND}" -fi - -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then - EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; -fi - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -Some web pages may require additional fonts to display properly. -Try installing some of the following packages if some characters -are not displayed properly: -- media-fonts/arphicfonts -- media-fonts/droid -- media-fonts/ipamonafont -- media-fonts/noto -- media-fonts/ja-ipafonts -- media-fonts/takao-fonts -- media-fonts/wqy-microhei -- media-fonts/wqy-zenhei - -To fix broken icons on the Downloads page, you should install an icon -theme that covers the appropriate MIME types, and configure this as your -GTK+ icon theme. - -For native file dialogs in KDE, install kde-apps/kdialog. - -To make password storage work with your desktop environment you may -have install one of the supported credentials management applications: -- app-crypt/libsecret (GNOME) -- kde-frameworks/kwallet (KDE) -If you have one of above packages installed, but don't want to use -them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS -in /etc/chromium/default. -" - -python_check_deps() { - has_version -b "dev-python/setuptools[${PYTHON_USEDEP}]" -} - -pre_build_checks() { - if [[ ${MERGE_TYPE} != binary ]]; then - local -x CPP="$(tc-getCXX) -E" - if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 9.2; then - die "At least gcc 9.2 is required" - fi - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || tc-is-clang; then - CPP="${CHOST}-clang++ -E" - if ! ver_test "$(clang-major-version)" -ge 12; then - die "At least clang 12 is required" - fi - fi - fi - - # Check build requirements, bug #541816 and bug #471810 . - CHECKREQS_MEMORY="4G" - CHECKREQS_DISK_BUILD="9G" - if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then - if use custom-cflags || use component-build; then - CHECKREQS_DISK_BUILD="25G" - fi - if ! use component-build; then - CHECKREQS_MEMORY="16G" - fi - fi - check-reqs_pkg_setup -} - -pkg_pretend() { - pre_build_checks -} - -pkg_setup() { - pre_build_checks - - chromium_suid_sandbox_check_kernel_config - - # nvidia-drivers does not work correctly with Wayland due to unsupported EGLStreams - if use wayland && ! use headless && has_version "x11-drivers/nvidia-drivers"; then - ewarn "Proprietary nVidia driver does not work with Wayland. You can disable" - ewarn "Wayland by setting DISABLE_OZONE_PLATFORM=true in /etc/chromium/default." - fi -} - -src_prepare() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local PATCHES=( - "${FILESDIR}/chromium-78-protobuf-RepeatedPtrField-export.patch" - "${FILESDIR}/chromium-95-libyuv-aarch64.patch" - "${FILESDIR}/chromium-96-compiler.patch" - - "${FILESDIR}/chromium-96-EnumTable-crash.patch" - "${FILESDIR}/chromium-93-InkDropHost-crash.patch" - "${FILESDIR}/chromium-use-oauth2-client-switches-as-default.patch" - "${FILESDIR}/chromium-shim_headers.patch" - ) - - default - - mkdir -p third_party/node/linux/node-linux-x64/bin || die - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die - - # adjust python interpreter version - sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die - - local 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 - 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/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-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/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/dawn/third_party/tint - 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/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-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/test/unittests/front_end/third_party/i18n - 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/flatbuffers - third_party/freetype - third_party/fusejs - third_party/highway - third_party/libgifcodec - third_party/liburlpattern - third_party/libzip - 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/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/libjingle - third_party/libjxl - third_party/libphonenumber - third_party/libsecret - third_party/libsrtp - third_party/libsync - third_party/libudev - 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/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/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/rnnoise - third_party/s2cellid - third_party/securemessage - third_party/shell-encryption - third_party/simplejson - third_party/six - 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/snappy - 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/tcmalloc - third_party/tensorflow-text - third_party/tflite - third_party/tflite/src/third_party/eigen3 - third_party/tflite/src/third_party/fft2d - third_party/ruy - third_party/ukey2 - third_party/unrar - third_party/usrsctp - third_party/utf - third_party/vulkan - 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 - 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 - ) - if ! use system-ffmpeg; then - keeplibs+=( third_party/ffmpeg third_party/opus ) - fi - if ! use system-icu; then - keeplibs+=( third_party/icu ) - fi - if use system-harfbuzz; then - keeplibs+=( third_party/harfbuzz-ng/utils ) - else - keeplibs+=( third_party/harfbuzz-ng ) - fi - if use wayland && ! use headless ; then - keeplibs+=( third_party/wayland ) - fi - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - keeplibs+=( third_party/libxml ) - keeplibs+=( third_party/libxslt ) - keeplibs+=( third_party/openh264 ) - keeplibs+=( third_party/re2 ) - if use system-icu; then - keeplibs+=( third_party/icu ) - fi - fi - if use arm64 || use ppc64 ; then - keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 ) - fi - # we need to generate ppc64 stuff because upstream does not ship it yet - # it has to be done before unbundling. - if use ppc64; then - pushd third_party/libvpx >/dev/null || die - mkdir -p source/config/linux/ppc64 || die - ./generate_gni.sh || die - popd >/dev/null || die - fi - - # Remove most bundled libraries. Some are still needed. - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die - - if use js-type-check; then - ln -s "${EPREFIX}"/usr/bin/java third_party/jdk/current/bin/java || die - fi - - # bundled eu-strip is for amd64 only and we don't want to pre-stripped binaries - mkdir -p buildtools/third_party/eu-strip/bin || die - ln -s "${EPREFIX}"/bin/true buildtools/third_party/eu-strip/bin/eu-strip || die -} - -src_configure() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local myconf_gn="" - - # Make sure the build system will use the right tools, bug #340795. - tc-export AR CC CXX NM - - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] && ! tc-is-clang; then - # Force clang since gcc is pretty broken at the moment. - CC=${CHOST}-clang - CXX=${CHOST}-clang++ - strip-unsupported-flags - fi - - if tc-is-clang; then - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" - else - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - die "Compiling with sys-libs/libcxx requires clang." - fi - myconf_gn+=" is_clang=false" - fi - - # Define a custom toolchain for GN - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" - - if tc-is-cross-compiler; then - tc-export BUILD_{AR,CC,CXX,NM} - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" - else - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - fi - - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - myconf_gn+=" is_debug=false" - - # enable DCHECK with USE=debug only, increases chrome binary size by 30%, bug #811138. - # DCHECK is fatal by default, make it configurable at runtime, #bug 807881. - myconf_gn+=" dcheck_always_on=$(usex debug true false)" - myconf_gn+=" dcheck_is_configurable=$(usex debug true false)" - - # Component build isn't generally intended for use by end users. It's mostly useful - # for development and debugging. - myconf_gn+=" is_component_build=$(usex component-build true false)" - - # Disable nacl, we can't build without pnacl (http://crbug.com/269560). - myconf_gn+=" enable_nacl=false" - - # Use system-provided libraries. - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_protobuf (bug #525560). - # TODO: use_system_sqlite (http://crbug.com/22208). - - # libevent: https://bugs.gentoo.org/593458 - local gn_system_libraries=( - flac - fontconfig - freetype - # Need harfbuzz_from_pkgconfig target - #harfbuzz-ng - libdrm - libjpeg - libpng - libwebp - zlib - ) - if use system-ffmpeg; then - gn_system_libraries+=( ffmpeg opus ) - fi - if use system-icu; then - gn_system_libraries+=( icu ) - fi - if [[ ${CHROMIUM_FORCE_LIBCXX} != yes ]]; then - # unbundle only without libc++, because libc++ is not fully ABI compatible with libstdc++ - gn_system_libraries+=( libxml ) - gn_system_libraries+=( libxslt ) - gn_system_libraries+=( openh264 ) - gn_system_libraries+=( re2 ) - fi - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die - - # See dependency logic in third_party/BUILD.gn - myconf_gn+=" use_system_harfbuzz=$(usex system-harfbuzz true false)" - - # Disable deprecated libgnome-keyring dependency, bug #713012 - myconf_gn+=" use_gnome_keyring=false" - - # Optional dependencies. - myconf_gn+=" enable_js_type_check=$(usex js-type-check true false)" - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" - myconf_gn+=" enable_widevine=$(usex widevine true false)" - myconf_gn+=" use_cups=$(usex cups true false)" - myconf_gn+=" use_kerberos=$(usex kerberos true false)" - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" - myconf_gn+=" use_vaapi=$(usex vaapi true false)" - myconf_gn+=" rtc_use_pipewire=$(usex screencast true false)" - - # TODO: link_pulseaudio=true for GN. - - myconf_gn+=" disable_fieldtrial_testing_config=true" - - # Never use bundled gold binary. Disable gold linker flags for now. - # Do not use bundled clang. - # Trying to use gold results in linker crash. - myconf_gn+=" use_gold=false use_sysroot=false use_custom_libcxx=false" - - # Disable forced lld, bug 641556 - myconf_gn+=" use_lld=false" - - # Disable pseudolocales, only used for testing - myconf_gn+=" enable_pseudolocales=false" - - # Disable code formating of generated files - myconf_gn+=" blink_enable_generated_code_formatting=false" - - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" - - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . - # Note: these are for Gentoo use ONLY. For your own distribution, - # please get your own set of keys. Feel free to contact chromium@gentoo.org - # for more info. The OAuth2 credentials, however, have been left out. - # Those OAuth2 credentials have been broken for quite some time anyway. - # Instead we apply a patch to use the --oauth2-client-id= and - # --oauth2-client-secret= switches for setting GOOGLE_DEFAULT_CLIENT_ID and - # GOOGLE_DEFAULT_CLIENT_SECRET at runtime. This allows signing into - # Chromium without baked-in values. - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" - myconf_gn+=" google_api_key=\"${google_api_key}\"" - local myarch="$(tc-arch)" - - # Avoid CFLAGS problems, bug #352457, bug #390147. - if ! use custom-cflags; then - replace-flags "-Os" "-O2" - strip-flags - - # Debug info section overflows without component build - # Prevent linker from running out of address space, bug #471810 . - if ! use component-build || use x86; then - filter-flags "-g*" - fi - - # Prevent libvpx build failures. Bug 530248, 544702, 546984. - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4 - fi - fi - - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - append-flags -stdlib=libc++ - append-ldflags -stdlib=libc++ - fi - - if [[ $myarch = amd64 ]] ; then - myconf_gn+=" target_cpu=\"x64\"" - ffmpeg_target_arch=x64 - elif [[ $myarch = x86 ]] ; then - myconf_gn+=" target_cpu=\"x86\"" - ffmpeg_target_arch=ia32 - - # This is normally defined by compiler_cpu_abi in - # build/config/compiler/BUILD.gn, but we patch that part out. - append-flags -msse2 -mfpmath=sse -mmmx - elif [[ $myarch = arm64 ]] ; then - myconf_gn+=" target_cpu=\"arm64\"" - ffmpeg_target_arch=arm64 - elif [[ $myarch = arm ]] ; then - myconf_gn+=" target_cpu=\"arm\"" - ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm) - elif [[ $myarch = ppc64 ]] ; then - myconf_gn+=" target_cpu=\"ppc64\"" - ffmpeg_target_arch=ppc64 - else - 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" - - # Bug 491582. - export TMPDIR="${WORKDIR}/temp" - mkdir -p -m 755 "${TMPDIR}" || die - - # https://bugs.gentoo.org/654216 - addpredict /dev/dri/ #nowarn - - #if ! use system-ffmpeg; then - if false; then - local build_ffmpeg_args="" - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then - build_ffmpeg_args+=" --disable-asm" - fi - - # Re-configure bundled ffmpeg. See bug #491378 for example reasons. - einfo "Configuring bundled ffmpeg..." - pushd third_party/ffmpeg > /dev/null || die - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \ - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die - chromium/scripts/copy_config.sh || die - chromium/scripts/generate_gn.py || die - popd > /dev/null || die - fi - - # Chromium relies on this, but was disabled in >=clang-10, crbug.com/1042470 - append-cxxflags $(test-flags-CXX -flax-vector-conversions=all) - - # Disable unknown warning message from clang. - tc-is-clang && append-flags -Wno-unknown-warning-option - - # Explicitly disable ICU data file support for system-icu builds. - if use system-icu; then - myconf_gn+=" icu_use_data_file=false" - fi - - # Enable ozone wayland and/or headless support - myconf_gn+=" use_ozone=true ozone_auto_platforms=false" - myconf_gn+=" ozone_platform_headless=true" - myconf_gn+=" ozone_platform_x11=$(usex headless false true)" - if use wayland || use headless; then - if use headless; then - myconf_gn+=" ozone_platform=\"headless\"" - myconf_gn+=" use_x11=false" - else - myconf_gn+=" ozone_platform_wayland=true" - myconf_gn+=" use_system_libdrm=true" - myconf_gn+=" use_system_minigbm=true" - myconf_gn+=" use_xkbcommon=true" - myconf_gn+=" ozone_platform=\"wayland\"" - fi - else - myconf_gn+=" ozone_platform=\"x11\"" - fi - - # Enable official builds - myconf_gn+=" is_official_build=$(usex official true false)" - myconf_gn+=" use_thin_lto=false" - if use official; then - # 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 - myconf_gn+=" is_cfi=false" - # Disable PGO, because profile data is only compatible with >=clang-11 - myconf_gn+=" chrome_pgo_phase=0" - fi - - einfo "Configuring Chromium..." - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release - echo "$@" - "$@" || die -} - -src_compile() { - # Final link uses lots of file descriptors. - ulimit -n 2048 - - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - # Don't inherit PYTHONPATH from environment, bug #789021, #812689 - local -x PYTHONPATH= - - #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die - - # Build mksnapshot and pax-mark it. - local x - for x in mksnapshot v8_context_snapshot_generator; do - if tc-is-cross-compiler; then - eninja -C out/Release "host/${x}" - pax-mark m "out/Release/host/${x}" - else - eninja -C out/Release "${x}" - pax-mark m "out/Release/${x}" - fi - done - - # Even though ninja autodetects number of CPUs, we respect - # user's options, for debugging with -j 1 or any other reason. - eninja -C out/Release chrome chromedriver - use suid && eninja -C out/Release chrome_sandbox - - pax-mark m out/Release/chrome - - mv out/Release/chromedriver{.unstripped,} || die - - # Build manpage; bug #684550 - sed -e 's|@@PACKAGE@@|chromium-browser|g; - s|@@MENUNAME@@|Chromium|g;' \ - chrome/app/resources/manpage.1.in > \ - out/Release/chromium-browser.1 || die - - # Build desktop file; bug #706786 - sed -e 's|@@MENUNAME@@|Chromium|g; - s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g; - s|@@PACKAGE@@|chromium-browser|g; - s|\(^Exec=\)/usr/bin/|\1|g;' \ - chrome/installer/linux/common/desktop.template > \ - out/Release/chromium-browser-chromium.desktop || die -} - -src_install() { - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" - exeinto "${CHROMIUM_HOME}" - doexe out/Release/chrome - - if use suid; then - newexe out/Release/chrome_sandbox chrome-sandbox - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" - fi - - doexe out/Release/chromedriver - doexe out/Release/chrome_crashpad_handler - - ozone_auto_session () { - use wayland && ! use headless && echo true || echo false - } - local sedargs=( -e - "s:/usr/lib/:/usr/$(get_libdir)/:g; - s:@@OZONE_AUTO_SESSION@@:$(ozone_auto_session):g" - ) - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r7.sh" > chromium-launcher.sh || die - doexe chromium-launcher.sh - - # It is important that we name the target "chromium-browser", - # xdg-utils expect it; bug #355517. - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser - # keep the old symlink around for consistency - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium - - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver - - # Allow users to override command-line options, bug #357629. - insinto /etc/chromium - newins "${FILESDIR}/chromium.default" "default" - - pushd out/Release/locales > /dev/null || die - chromium_remove_language_paks - popd - - insinto "${CHROMIUM_HOME}" - doins out/Release/*.bin - doins out/Release/*.pak - ( - shopt -s nullglob - local files=(out/Release/*.so out/Release/*.so.[0-9]) - [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}" - ) - - if ! use system-icu; then - doins out/Release/icudtl.dat - fi - - doins -r out/Release/locales - doins -r out/Release/resources - doins -r out/Release/MEIPreload - - if [[ -d out/Release/swiftshader ]]; then - insinto "${CHROMIUM_HOME}/swiftshader" - doins out/Release/swiftshader/*.so - fi - - # Install icons - local branding size - for size in 16 24 32 48 64 128 256 ; do - case ${size} in - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; - *) branding="chrome/app/theme/chromium" ;; - esac - newicon -s ${size} "${branding}/product_logo_${size}.png" \ - chromium-browser.png - done - - # Install desktop entry - domenu out/Release/chromium-browser-chromium.desktop - - # Install GNOME default application entry (bug #303100). - insinto /usr/share/gnome-control-center/default-apps - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml - - # Install manpage; bug #684550 - doman out/Release/chromium-browser.1 - dosym chromium-browser.1 /usr/share/man/man1/chromium.1 - - readme.gentoo_create_doc -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_desktop_database_update -} - -pkg_postinst() { - xdg_icon_cache_update - xdg_desktop_database_update - readme.gentoo_print_elog - - if use vaapi; then - elog "VA-API is disabled by default at runtime. You have to enable it" - elog "by adding --enable-features=VaapiVideoDecoder to CHROMIUM_FLAGS" - elog "in /etc/chromium/default." - fi - if use screencast; then - elog "Screencast is disabled by default at runtime. Either enable it" - elog "by navigating to chrome://flags/#enable-webrtc-pipewire-capturer" - elog "inside Chromium or add --enable-webrtc-pipewire-capturer" - elog "to CHROMIUM_FLAGS in /etc/chromium/default." - fi -} diff --git a/www-client/chromium/chromium-98.0.4710.4.ebuild b/www-client/chromium/chromium-98.0.4710.4.ebuild deleted file mode 100644 index a415bf6..0000000 --- a/www-client/chromium/chromium-98.0.4710.4.ebuild +++ /dev/null @@ -1,956 +0,0 @@ -# Copyright 2009-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -PYTHON_COMPAT=( python3_{8..10} ) -PYTHON_REQ_USE="xml" - -CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - 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 vi zh-CN zh-TW" - -inherit check-reqs chromium-2 desktop flag-o-matic ninja-utils pax-utils python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="https://chromium.org/" -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" -IUSE="component-build cups cpu_flags_arm_neon debug +hangouts headless +js-type-check kerberos official pic +proprietary-codecs pulseaudio screencast selinux +suid +system-ffmpeg +system-harfbuzz +system-icu +system-png vaapi wayland widevine" -REQUIRED_USE=" - component-build? ( !suid ) - screencast? ( wayland ) -" - -COMMON_X_DEPEND=" - media-libs/mesa:=[gbm(+)] - x11-libs/libX11:= - x11-libs/libXcomposite:= - x11-libs/libXcursor:= - x11-libs/libXdamage:= - x11-libs/libXext:= - x11-libs/libXfixes:= - >=x11-libs/libXi-1.6.0:= - x11-libs/libXrandr:= - x11-libs/libXrender:= - x11-libs/libXtst:= - x11-libs/libxcb:= - x11-libs/libxshmfence:= - vaapi? ( >=x11-libs/libva-2.7:=[X,drm] ) -" - -COMMON_DEPEND=" - app-arch/bzip2:= - cups? ( >=net-print/cups-1.3.11:= ) - dev-libs/expat:= - dev-libs/glib:2 - >=dev-libs/libxml2-2.9.4-r3:=[icu] - dev-libs/nspr:= - >=dev-libs/nss-3.26:= - >=media-libs/alsa-lib-1.0.19:= - media-libs/fontconfig:= - >=media-libs/freetype-2.11.0-r1:= - system-harfbuzz? ( >=media-libs/harfbuzz-2.9.0:0=[icu(-)] ) - media-libs/libjpeg-turbo:= - system-png? ( media-libs/libpng:=[-apng] ) - pulseaudio? ( media-sound/pulseaudio:= ) - system-ffmpeg? ( - >=media-video/ffmpeg-4.3:= - || ( - media-video/ffmpeg[-samba] - >=net-fs/samba-4.5.10-r1[-debug(-)] - ) - >=media-libs/opus-1.3.1:= - ) - net-misc/curl[ssl] - sys-apps/dbus:= - sys-apps/pciutils:= - virtual/udev - x11-libs/cairo:= - x11-libs/gdk-pixbuf:2 - x11-libs/libxkbcommon:= - x11-libs/pango:= - media-libs/flac:= - >=media-libs/libwebp-0.4.0:= - sys-libs/zlib:=[minizip] - kerberos? ( virtual/krb5 ) - !headless? ( - ${COMMON_X_DEPEND} - >=app-accessibility/at-spi2-atk-2.26:2 - >=app-accessibility/at-spi2-core-2.26:2 - >=dev-libs/atk-2.26 - x11-libs/gtk+:3[X] - wayland? ( - dev-libs/wayland:= - screencast? ( media-video/pipewire:0/0.3 ) - x11-libs/gtk+:3[wayland,X] - x11-libs/libdrm:= - ) - ) -" -RDEPEND="${COMMON_DEPEND} - x11-misc/xdg-utils - virtual/opengl - virtual/ttf-fonts - selinux? ( sec-policy/selinux-chromium ) -" -DEPEND="${COMMON_DEPEND} -" -# dev-vcs/git - https://bugs.gentoo.org/593476 -BDEPEND=" - ${PYTHON_DEPS} - $(python_gen_any_dep ' - dev-python/setuptools[${PYTHON_USEDEP}] - ') - >=app-arch/gzip-1.7 - dev-lang/perl - >=dev-util/gn-0.1807 - dev-vcs/git - >=dev-util/gperf-3.0.3 - >=dev-util/ninja-1.7.2 - >=net-libs/nodejs-7.6.0[inspector] - sys-apps/hwids[usb(+)] - >=sys-devel/bison-2.4.3 - sys-devel/flex - virtual/pkgconfig - js-type-check? ( virtual/jre ) -" - -# These are intended for ebuild maintainer use to force clang if GCC is broken. -: ${CHROMIUM_FORCE_CLANG=no} -: ${CHROMIUM_FORCE_LIBCXX=no} - -if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then - BDEPEND+=" >=sys-devel/clang-12" -fi - -if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - RDEPEND+=" >=sys-libs/libcxx-12" - DEPEND+=" >=sys-libs/libcxx-12" -else - COMMON_DEPEND=" - dev-libs/libxslt:= - >=dev-libs/re2-0.2019.08.01:= - >=media-libs/openh264-1.6.0:= - system-icu? ( >=dev-libs/icu-69.1:= ) - " - RDEPEND+="${COMMON_DEPEND}" - DEPEND+="${COMMON_DEPEND}" -fi - -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then - EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; -fi - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -Some web pages may require additional fonts to display properly. -Try installing some of the following packages if some characters -are not displayed properly: -- media-fonts/arphicfonts -- media-fonts/droid -- media-fonts/ipamonafont -- media-fonts/noto -- media-fonts/ja-ipafonts -- media-fonts/takao-fonts -- media-fonts/wqy-microhei -- media-fonts/wqy-zenhei - -To fix broken icons on the Downloads page, you should install an icon -theme that covers the appropriate MIME types, and configure this as your -GTK+ icon theme. - -For native file dialogs in KDE, install kde-apps/kdialog. - -To make password storage work with your desktop environment you may -have install one of the supported credentials management applications: -- app-crypt/libsecret (GNOME) -- kde-frameworks/kwallet (KDE) -If you have one of above packages installed, but don't want to use -them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS -in /etc/chromium/default. -" - -python_check_deps() { - has_version -b "dev-python/setuptools[${PYTHON_USEDEP}]" -} - -pre_build_checks() { - if [[ ${MERGE_TYPE} != binary ]]; then - local -x CPP="$(tc-getCXX) -E" - if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 9.2; then - die "At least gcc 9.2 is required" - fi - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || tc-is-clang; then - CPP="${CHOST}-clang++ -E" - if ! ver_test "$(clang-major-version)" -ge 12; then - die "At least clang 12 is required" - fi - fi - fi - - # Check build requirements, bug #541816 and bug #471810 . - CHECKREQS_MEMORY="4G" - CHECKREQS_DISK_BUILD="9G" - if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then - if use custom-cflags || use component-build; then - CHECKREQS_DISK_BUILD="25G" - fi - if ! use component-build; then - CHECKREQS_MEMORY="16G" - fi - fi - check-reqs_pkg_setup -} - -pkg_pretend() { - pre_build_checks -} - -pkg_setup() { - pre_build_checks - - chromium_suid_sandbox_check_kernel_config - - # nvidia-drivers does not work correctly with Wayland due to unsupported EGLStreams - if use wayland && ! use headless && has_version "x11-drivers/nvidia-drivers"; then - ewarn "Proprietary nVidia driver does not work with Wayland. You can disable" - ewarn "Wayland by setting DISABLE_OZONE_PLATFORM=true in /etc/chromium/default." - fi -} - -src_prepare() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local PATCHES=( - "${FILESDIR}/chromium-78-protobuf-RepeatedPtrField-export.patch" - "${FILESDIR}/chromium-95-libyuv-arm.patch" - "${FILESDIR}/chromium-97-ScrollView-reference.patch" - "${FILESDIR}/chromium-98-compiler.patch" - "${FILESDIR}/chromium-98-breakpad-max.patch" - - "${FILESDIR}/chromium-93-InkDropHost-crash.patch" - "${FILESDIR}/chromium-98-EnumTable-crash.patch" - "${FILESDIR}/chromium-use-oauth2-client-switches-as-default.patch" - "${FILESDIR}/chromium-shim_headers.patch" - ) - - default - - mkdir -p third_party/node/linux/node-linux-x64/bin || die - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die - - # adjust python interpreter version - sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die - - local 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 - 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/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-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/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/dawn/third_party/tint - 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/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-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/test/unittests/front_end/third_party/i18n - 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/flatbuffers - third_party/freetype - third_party/fusejs - third_party/highway - third_party/libgifcodec - third_party/liburlpattern - third_party/libzip - 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/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/libdrm - third_party/libgav1 - third_party/libjingle - third_party/libjxl - third_party/libphonenumber - third_party/libsecret - third_party/libsrtp - third_party/libsync - third_party/libudev - 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/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/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/rnnoise - third_party/s2cellid - third_party/securemessage - third_party/shell-encryption - third_party/simplejson - third_party/six - 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/snappy - 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/tcmalloc - third_party/tensorflow-text - third_party/tflite - third_party/tflite/src/third_party/eigen3 - third_party/tflite/src/third_party/fft2d - third_party/ruy - third_party/ukey2 - third_party/unrar - third_party/usrsctp - third_party/utf - third_party/vulkan - 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 - 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 - ) - if ! use system-ffmpeg; then - keeplibs+=( third_party/ffmpeg third_party/opus ) - fi - if ! use system-icu; then - keeplibs+=( third_party/icu ) - fi - if ! use system-png; then - keeplibs+=( third_party/libpng ) - fi - if use system-harfbuzz; then - keeplibs+=( third_party/harfbuzz-ng/utils ) - else - keeplibs+=( third_party/harfbuzz-ng ) - fi - if use wayland && ! use headless ; then - keeplibs+=( third_party/wayland ) - fi - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - keeplibs+=( third_party/libxml ) - keeplibs+=( third_party/libxslt ) - keeplibs+=( third_party/openh264 ) - keeplibs+=( third_party/re2 ) - if use system-icu; then - keeplibs+=( third_party/icu ) - fi - fi - if use arm64 || use ppc64 ; then - keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 ) - fi - # we need to generate ppc64 stuff because upstream does not ship it yet - # it has to be done before unbundling. - if use ppc64; then - pushd third_party/libvpx >/dev/null || die - mkdir -p source/config/linux/ppc64 || die - ./generate_gni.sh || die - popd >/dev/null || die - fi - - # Remove most bundled libraries. Some are still needed. - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die - - if use js-type-check; then - ln -s "${EPREFIX}"/usr/bin/java third_party/jdk/current/bin/java || die - fi - - # bundled eu-strip is for amd64 only and we don't want to pre-stripped binaries - mkdir -p buildtools/third_party/eu-strip/bin || die - ln -s "${EPREFIX}"/bin/true buildtools/third_party/eu-strip/bin/eu-strip || die -} - -src_configure() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local myconf_gn="" - - # Make sure the build system will use the right tools, bug #340795. - tc-export AR CC CXX NM - - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] && ! tc-is-clang; then - # Force clang since gcc is pretty broken at the moment. - CC=${CHOST}-clang - CXX=${CHOST}-clang++ - strip-unsupported-flags - fi - - if tc-is-clang; then - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" - else - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - die "Compiling with sys-libs/libcxx requires clang." - fi - myconf_gn+=" is_clang=false" - fi - - # Define a custom toolchain for GN - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" - - if tc-is-cross-compiler; then - tc-export BUILD_{AR,CC,CXX,NM} - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" - else - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - fi - - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - myconf_gn+=" is_debug=false" - - # enable DCHECK with USE=debug only, increases chrome binary size by 30%, bug #811138. - # DCHECK is fatal by default, make it configurable at runtime, #bug 807881. - myconf_gn+=" dcheck_always_on=$(usex debug true false)" - myconf_gn+=" dcheck_is_configurable=$(usex debug true false)" - - # Component build isn't generally intended for use by end users. It's mostly useful - # for development and debugging. - myconf_gn+=" is_component_build=$(usex component-build true false)" - - # Disable nacl, we can't build without pnacl (http://crbug.com/269560). - myconf_gn+=" enable_nacl=false" - - # Use system-provided libraries. - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_protobuf (bug #525560). - # TODO: use_system_sqlite (http://crbug.com/22208). - - # libevent: https://bugs.gentoo.org/593458 - local gn_system_libraries=( - flac - fontconfig - freetype - # Need harfbuzz_from_pkgconfig target - #harfbuzz-ng - libdrm - libjpeg - libpng - libwebp - zlib - ) - if use system-ffmpeg; then - gn_system_libraries+=( ffmpeg opus ) - fi - if use system-icu; then - gn_system_libraries+=( icu ) - fi - if use system-png; then - gn_system_libraries+=( libpng ) - fi - if [[ ${CHROMIUM_FORCE_LIBCXX} != yes ]]; then - # unbundle only without libc++, because libc++ is not fully ABI compatible with libstdc++ - gn_system_libraries+=( libxml ) - gn_system_libraries+=( libxslt ) - gn_system_libraries+=( openh264 ) - gn_system_libraries+=( re2 ) - fi - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die - - # See dependency logic in third_party/BUILD.gn - myconf_gn+=" use_system_harfbuzz=$(usex system-harfbuzz true false)" - - # Disable deprecated libgnome-keyring dependency, bug #713012 - myconf_gn+=" use_gnome_keyring=false" - - # Optional dependencies. - myconf_gn+=" enable_js_type_check=$(usex js-type-check true false)" - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" - myconf_gn+=" enable_widevine=$(usex widevine true false)" - myconf_gn+=" use_cups=$(usex cups true false)" - myconf_gn+=" use_kerberos=$(usex kerberos true false)" - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" - myconf_gn+=" use_vaapi=$(usex vaapi true false)" - myconf_gn+=" rtc_use_pipewire=$(usex screencast true false)" - - # TODO: link_pulseaudio=true for GN. - - myconf_gn+=" disable_fieldtrial_testing_config=true" - - # Never use bundled gold binary. Disable gold linker flags for now. - # Do not use bundled clang. - # Trying to use gold results in linker crash. - myconf_gn+=" use_gold=false use_sysroot=false use_custom_libcxx=false" - - # Disable forced lld, bug 641556 - myconf_gn+=" use_lld=false" - - # Disable pseudolocales, only used for testing - myconf_gn+=" enable_pseudolocales=false" - - # Disable code formating of generated files - myconf_gn+=" blink_enable_generated_code_formatting=false" - - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" - - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . - # Note: these are for Gentoo use ONLY. For your own distribution, - # please get your own set of keys. Feel free to contact chromium@gentoo.org - # for more info. The OAuth2 credentials, however, have been left out. - # Those OAuth2 credentials have been broken for quite some time anyway. - # Instead we apply a patch to use the --oauth2-client-id= and - # --oauth2-client-secret= switches for setting GOOGLE_DEFAULT_CLIENT_ID and - # GOOGLE_DEFAULT_CLIENT_SECRET at runtime. This allows signing into - # Chromium without baked-in values. - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" - myconf_gn+=" google_api_key=\"${google_api_key}\"" - local myarch="$(tc-arch)" - - # Avoid CFLAGS problems, bug #352457, bug #390147. - if ! use custom-cflags; then - replace-flags "-Os" "-O2" - strip-flags - - # Debug info section overflows without component build - # Prevent linker from running out of address space, bug #471810 . - if ! use component-build || use x86; then - filter-flags "-g*" - fi - - # Prevent libvpx build failures. Bug 530248, 544702, 546984. - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4 - fi - fi - - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - append-flags -stdlib=libc++ - append-ldflags -stdlib=libc++ - fi - - if [[ $myarch = amd64 ]] ; then - myconf_gn+=" target_cpu=\"x64\"" - ffmpeg_target_arch=x64 - elif [[ $myarch = x86 ]] ; then - myconf_gn+=" target_cpu=\"x86\"" - ffmpeg_target_arch=ia32 - - # This is normally defined by compiler_cpu_abi in - # build/config/compiler/BUILD.gn, but we patch that part out. - append-flags -msse2 -mfpmath=sse -mmmx - elif [[ $myarch = arm64 ]] ; then - myconf_gn+=" target_cpu=\"arm64\"" - ffmpeg_target_arch=arm64 - elif [[ $myarch = arm ]] ; then - myconf_gn+=" target_cpu=\"arm\"" - ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm) - elif [[ $myarch = ppc64 ]] ; then - myconf_gn+=" target_cpu=\"ppc64\"" - ffmpeg_target_arch=ppc64 - else - 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" - - # Bug 491582. - export TMPDIR="${WORKDIR}/temp" - mkdir -p -m 755 "${TMPDIR}" || die - - # https://bugs.gentoo.org/654216 - addpredict /dev/dri/ #nowarn - - #if ! use system-ffmpeg; then - if false; then - local build_ffmpeg_args="" - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then - build_ffmpeg_args+=" --disable-asm" - fi - - # Re-configure bundled ffmpeg. See bug #491378 for example reasons. - einfo "Configuring bundled ffmpeg..." - pushd third_party/ffmpeg > /dev/null || die - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \ - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die - chromium/scripts/copy_config.sh || die - chromium/scripts/generate_gn.py || die - popd > /dev/null || die - fi - - # Chromium relies on this, but was disabled in >=clang-10, crbug.com/1042470 - append-cxxflags $(test-flags-CXX -flax-vector-conversions=all) - - # Disable unknown warning message from clang. - tc-is-clang && append-flags -Wno-unknown-warning-option - - # Explicitly disable ICU data file support for system-icu builds. - if use system-icu; then - myconf_gn+=" icu_use_data_file=false" - fi - - # Enable ozone wayland and/or headless support - myconf_gn+=" use_ozone=true ozone_auto_platforms=false" - myconf_gn+=" ozone_platform_headless=true" - myconf_gn+=" ozone_platform_x11=$(usex headless false true)" - if use wayland || use headless; then - if use headless; then - myconf_gn+=" ozone_platform=\"headless\"" - myconf_gn+=" use_x11=false" - else - myconf_gn+=" ozone_platform_wayland=true" - myconf_gn+=" use_system_libdrm=true" - myconf_gn+=" use_system_minigbm=true" - myconf_gn+=" use_xkbcommon=true" - myconf_gn+=" ozone_platform=\"wayland\"" - fi - else - myconf_gn+=" ozone_platform=\"x11\"" - fi - - # Enable official builds - myconf_gn+=" is_official_build=$(usex official true false)" - myconf_gn+=" use_thin_lto=false" - if use official; then - # 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 - myconf_gn+=" is_cfi=false" - # Disable PGO, because profile data is only compatible with >=clang-11 - myconf_gn+=" chrome_pgo_phase=0" - fi - - einfo "Configuring Chromium..." - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release - echo "$@" - "$@" || die -} - -src_compile() { - # Final link uses lots of file descriptors. - ulimit -n 2048 - - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - # Don't inherit PYTHONPATH from environment, bug #789021, #812689 - local -x PYTHONPATH= - - #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die - - # Build mksnapshot and pax-mark it. - local x - for x in mksnapshot v8_context_snapshot_generator; do - if tc-is-cross-compiler; then - eninja -C out/Release "host/${x}" - pax-mark m "out/Release/host/${x}" - else - eninja -C out/Release "${x}" - pax-mark m "out/Release/${x}" - fi - done - - # Even though ninja autodetects number of CPUs, we respect - # user's options, for debugging with -j 1 or any other reason. - eninja -C out/Release chrome chromedriver - use suid && eninja -C out/Release chrome_sandbox - - pax-mark m out/Release/chrome - - mv out/Release/chromedriver{.unstripped,} || die - - # Build manpage; bug #684550 - sed -e 's|@@PACKAGE@@|chromium-browser|g; - s|@@MENUNAME@@|Chromium|g;' \ - chrome/app/resources/manpage.1.in > \ - out/Release/chromium-browser.1 || die - - # Build desktop file; bug #706786 - sed -e 's|@@MENUNAME@@|Chromium|g; - s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g; - s|@@PACKAGE@@|chromium-browser|g; - s|\(^Exec=\)/usr/bin/|\1|g;' \ - chrome/installer/linux/common/desktop.template > \ - out/Release/chromium-browser-chromium.desktop || die -} - -src_install() { - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" - exeinto "${CHROMIUM_HOME}" - doexe out/Release/chrome - - if use suid; then - newexe out/Release/chrome_sandbox chrome-sandbox - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" - fi - - doexe out/Release/chromedriver - doexe out/Release/chrome_crashpad_handler - - ozone_auto_session () { - use wayland && ! use headless && echo true || echo false - } - local sedargs=( -e - "s:/usr/lib/:/usr/$(get_libdir)/:g; - s:@@OZONE_AUTO_SESSION@@:$(ozone_auto_session):g" - ) - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r7.sh" > chromium-launcher.sh || die - doexe chromium-launcher.sh - - # It is important that we name the target "chromium-browser", - # xdg-utils expect it; bug #355517. - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser - # keep the old symlink around for consistency - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium - - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver - - # Allow users to override command-line options, bug #357629. - insinto /etc/chromium - newins "${FILESDIR}/chromium.default" "default" - - pushd out/Release/locales > /dev/null || die - chromium_remove_language_paks - popd - - insinto "${CHROMIUM_HOME}" - doins out/Release/*.bin - doins out/Release/*.pak - ( - shopt -s nullglob - local files=(out/Release/*.so out/Release/*.so.[0-9]) - [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}" - ) - - if ! use system-icu; then - doins out/Release/icudtl.dat - fi - - doins -r out/Release/locales - doins -r out/Release/resources - doins -r out/Release/MEIPreload - - if [[ -d out/Release/swiftshader ]]; then - insinto "${CHROMIUM_HOME}/swiftshader" - doins out/Release/swiftshader/*.so - fi - - # Install icons - local branding size - for size in 16 24 32 48 64 128 256 ; do - case ${size} in - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; - *) branding="chrome/app/theme/chromium" ;; - esac - newicon -s ${size} "${branding}/product_logo_${size}.png" \ - chromium-browser.png - done - - # Install desktop entry - domenu out/Release/chromium-browser-chromium.desktop - - # Install GNOME default application entry (bug #303100). - insinto /usr/share/gnome-control-center/default-apps - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml - - # Install manpage; bug #684550 - doman out/Release/chromium-browser.1 - dosym chromium-browser.1 /usr/share/man/man1/chromium.1 - - readme.gentoo_create_doc -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_desktop_database_update -} - -pkg_postinst() { - xdg_icon_cache_update - xdg_desktop_database_update - readme.gentoo_print_elog - - if use vaapi; then - elog "VA-API is disabled by default at runtime. You have to enable it" - elog "by adding --enable-features=VaapiVideoDecoder to CHROMIUM_FLAGS" - elog "in /etc/chromium/default." - fi - if use screencast; then - elog "Screencast is disabled by default at runtime. Either enable it" - elog "by navigating to chrome://flags/#enable-webrtc-pipewire-capturer" - elog "inside Chromium or add --enable-webrtc-pipewire-capturer" - elog "to CHROMIUM_FLAGS in /etc/chromium/default." - fi -} diff --git a/www-client/chromium/chromium-98.0.4750.0.ebuild b/www-client/chromium/chromium-98.0.4750.0.ebuild deleted file mode 100644 index a750046..0000000 --- a/www-client/chromium/chromium-98.0.4750.0.ebuild +++ /dev/null @@ -1,964 +0,0 @@ -# Copyright 2009-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -PYTHON_COMPAT=( python3_{8..10} ) -PYTHON_REQ_USE="xml" - -CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - 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 vi zh-CN zh-TW" - -inherit check-reqs chromium-2 desktop flag-o-matic ninja-utils pax-utils python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="https://chromium.org/" -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" -IUSE="component-build cups cpu_flags_arm_neon debug +hangouts headless +js-type-check kerberos official pic +proprietary-codecs pulseaudio screencast selinux +suid +system-ffmpeg +system-harfbuzz +system-icu +system-png vaapi wayland widevine" -REQUIRED_USE=" - component-build? ( !suid ) - screencast? ( wayland ) -" - -COMMON_X_DEPEND=" - media-libs/mesa:=[gbm(+)] - x11-libs/libX11:= - x11-libs/libXcomposite:= - x11-libs/libXcursor:= - x11-libs/libXdamage:= - x11-libs/libXext:= - x11-libs/libXfixes:= - >=x11-libs/libXi-1.6.0:= - x11-libs/libXrandr:= - x11-libs/libXrender:= - x11-libs/libXtst:= - x11-libs/libxcb:= - x11-libs/libxshmfence:= - vaapi? ( >=x11-libs/libva-2.7:=[X,drm] ) -" - -COMMON_DEPEND=" - app-arch/bzip2:= - cups? ( >=net-print/cups-1.3.11:= ) - dev-libs/expat:= - dev-libs/glib:2 - >=dev-libs/libxml2-2.9.4-r3:=[icu] - dev-libs/nspr:= - >=dev-libs/nss-3.26:= - >=media-libs/alsa-lib-1.0.19:= - media-libs/fontconfig:= - >=media-libs/freetype-2.11.0-r1:= - system-harfbuzz? ( >=media-libs/harfbuzz-2.9.0:0=[icu(-)] ) - media-libs/libjpeg-turbo:= - system-png? ( media-libs/libpng:=[-apng] ) - pulseaudio? ( media-sound/pulseaudio:= ) - system-ffmpeg? ( - >=media-video/ffmpeg-4.3:= - || ( - media-video/ffmpeg[-samba] - >=net-fs/samba-4.5.10-r1[-debug(-)] - ) - >=media-libs/opus-1.3.1:= - ) - net-misc/curl[ssl] - sys-apps/dbus:= - sys-apps/pciutils:= - virtual/udev - x11-libs/cairo:= - x11-libs/gdk-pixbuf:2 - x11-libs/libxkbcommon:= - x11-libs/pango:= - media-libs/flac:= - >=media-libs/libwebp-0.4.0:= - sys-libs/zlib:=[minizip] - kerberos? ( virtual/krb5 ) - !headless? ( - ${COMMON_X_DEPEND} - >=app-accessibility/at-spi2-atk-2.26:2 - >=app-accessibility/at-spi2-core-2.26:2 - >=dev-libs/atk-2.26 - x11-libs/gtk+:3[X] - wayland? ( - dev-libs/wayland:= - screencast? ( media-video/pipewire:0/0.3 ) - x11-libs/gtk+:3[wayland,X] - x11-libs/libdrm:= - ) - ) -" -RDEPEND="${COMMON_DEPEND} - x11-misc/xdg-utils - virtual/opengl - virtual/ttf-fonts - selinux? ( sec-policy/selinux-chromium ) -" -DEPEND="${COMMON_DEPEND} -" -# dev-vcs/git - https://bugs.gentoo.org/593476 -BDEPEND=" - ${PYTHON_DEPS} - $(python_gen_any_dep ' - dev-python/setuptools[${PYTHON_USEDEP}] - ') - >=app-arch/gzip-1.7 - dev-lang/perl - >=dev-util/gn-0.1807 - dev-vcs/git - >=dev-util/gperf-3.0.3 - >=dev-util/ninja-1.7.2 - >=net-libs/nodejs-7.6.0[inspector] - >=sys-devel/bison-2.4.3 - sys-devel/flex - virtual/pkgconfig - js-type-check? ( virtual/jre ) -" - -# These are intended for ebuild maintainer use to force clang if GCC is broken. -: ${CHROMIUM_FORCE_CLANG=no} -: ${CHROMIUM_FORCE_LIBCXX=no} - -if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then - BDEPEND+=" >=sys-devel/clang-12" -fi - -if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - RDEPEND+=" >=sys-libs/libcxx-12" - DEPEND+=" >=sys-libs/libcxx-12" -else - COMMON_DEPEND=" - dev-libs/libxslt:= - >=dev-libs/re2-0.2019.08.01:= - >=media-libs/openh264-1.6.0:= - system-icu? ( >=dev-libs/icu-69.1:= ) - " - RDEPEND+="${COMMON_DEPEND}" - DEPEND+="${COMMON_DEPEND}" -fi - -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then - EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; -fi - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -Some web pages may require additional fonts to display properly. -Try installing some of the following packages if some characters -are not displayed properly: -- media-fonts/arphicfonts -- media-fonts/droid -- media-fonts/ipamonafont -- media-fonts/noto -- media-fonts/ja-ipafonts -- media-fonts/takao-fonts -- media-fonts/wqy-microhei -- media-fonts/wqy-zenhei - -To fix broken icons on the Downloads page, you should install an icon -theme that covers the appropriate MIME types, and configure this as your -GTK+ icon theme. - -For native file dialogs in KDE, install kde-apps/kdialog. - -To make password storage work with your desktop environment you may -have install one of the supported credentials management applications: -- app-crypt/libsecret (GNOME) -- kde-frameworks/kwallet (KDE) -If you have one of above packages installed, but don't want to use -them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS -in /etc/chromium/default. -" - -python_check_deps() { - has_version -b "dev-python/setuptools[${PYTHON_USEDEP}]" -} - -pre_build_checks() { - if [[ ${MERGE_TYPE} != binary ]]; then - local -x CPP="$(tc-getCXX) -E" - if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 9.2; then - die "At least gcc 9.2 is required" - fi - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || tc-is-clang; then - CPP="${CHOST}-clang++ -E" - if ! ver_test "$(clang-major-version)" -ge 12; then - die "At least clang 12 is required" - fi - fi - fi - - # Check build requirements, bug #541816 and bug #471810 . - CHECKREQS_MEMORY="4G" - CHECKREQS_DISK_BUILD="9G" - if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then - if use custom-cflags || use component-build; then - CHECKREQS_DISK_BUILD="25G" - fi - if ! use component-build; then - CHECKREQS_MEMORY="16G" - fi - fi - check-reqs_pkg_setup -} - -pkg_pretend() { - pre_build_checks -} - -pkg_setup() { - pre_build_checks - - chromium_suid_sandbox_check_kernel_config - - # nvidia-drivers does not work correctly with Wayland due to unsupported EGLStreams - if use wayland && ! use headless && has_version "x11-drivers/nvidia-drivers"; then - ewarn "Proprietary nVidia driver does not work with Wayland. You can disable" - ewarn "Wayland by setting DISABLE_OZONE_PLATFORM=true in /etc/chromium/default." - fi -} - -src_prepare() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local PATCHES=( - "${FILESDIR}/chromium-78-protobuf-RepeatedPtrField-export.patch" - "${FILESDIR}/chromium-95-libyuv-arm.patch" - "${FILESDIR}/chromium-98-compiler-r1.patch" - "${FILESDIR}/chromium-98-MiraclePtr-gcc-ice.patch" - "${FILESDIR}/chromium-98-c++17-constexpr-1.patch" - "${FILESDIR}/chromium-98-geometry-cubic_bezier-include.patch" - - "${FILESDIR}/chromium-93-InkDropHost-crash.patch" - "${FILESDIR}/chromium-98-EnumTable-crash.patch" - "${FILESDIR}/chromium-98-system-libdrm.patch" - "${FILESDIR}/chromium-glibc-2.34.patch" - "${FILESDIR}/chromium-use-oauth2-client-switches-as-default.patch" - "${FILESDIR}/chromium-shim_headers.patch" - ) - - default - - mkdir -p third_party/node/linux/node-linux-x64/bin || die - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die - - # adjust python interpreter version - sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die - - local 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 - 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/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-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/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/dawn/third_party/tint - 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/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-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/test/unittests/front_end/third_party/i18n - 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/flatbuffers - third_party/freetype - third_party/fusejs - third_party/highway - third_party/libgifcodec - third_party/liburlpattern - third_party/libzip - 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/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/libjingle - third_party/libjxl - third_party/libphonenumber - third_party/libsecret - third_party/libsrtp - third_party/libsync - third_party/libudev - 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/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/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/rnnoise - third_party/s2cellid - third_party/securemessage - third_party/shell-encryption - third_party/simplejson - third_party/six - 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/snappy - 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/tcmalloc - third_party/tensorflow-text - third_party/tflite - third_party/tflite/src/third_party/eigen3 - third_party/tflite/src/third_party/fft2d - third_party/ruy - third_party/ukey2 - third_party/unrar - third_party/usrsctp - third_party/utf - third_party/vulkan - 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 - 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 - ) - if ! use system-ffmpeg; then - keeplibs+=( third_party/ffmpeg third_party/opus ) - fi - if ! use system-icu; then - keeplibs+=( third_party/icu ) - fi - if ! use system-png; then - keeplibs+=( third_party/libpng ) - fi - if use system-harfbuzz; then - keeplibs+=( third_party/harfbuzz-ng/utils ) - else - keeplibs+=( third_party/harfbuzz-ng ) - fi - if use wayland && ! use headless ; then - keeplibs+=( third_party/wayland ) - fi - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - keeplibs+=( third_party/libxml ) - keeplibs+=( third_party/libxslt ) - keeplibs+=( third_party/openh264 ) - keeplibs+=( third_party/re2 ) - if use system-icu; then - keeplibs+=( third_party/icu ) - fi - fi - if use arm64 || use ppc64 ; then - keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 ) - fi - # we need to generate ppc64 stuff because upstream does not ship it yet - # it has to be done before unbundling. - if use ppc64; then - pushd third_party/libvpx >/dev/null || die - mkdir -p source/config/linux/ppc64 || die - ./generate_gni.sh || die - popd >/dev/null || die - fi - - # Remove most bundled libraries. Some are still needed. - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die - - if use js-type-check; then - ln -s "${EPREFIX}"/usr/bin/java third_party/jdk/current/bin/java || die - fi - - # bundled eu-strip is for amd64 only and we don't want to pre-stripped binaries - mkdir -p buildtools/third_party/eu-strip/bin || die - ln -s "${EPREFIX}"/bin/true buildtools/third_party/eu-strip/bin/eu-strip || die -} - -src_configure() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local myconf_gn="" - - # Make sure the build system will use the right tools, bug #340795. - tc-export AR CC CXX NM - - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] && ! tc-is-clang; then - # Force clang since gcc is pretty broken at the moment. - CC=${CHOST}-clang - CXX=${CHOST}-clang++ - strip-unsupported-flags - fi - - if tc-is-clang; then - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" - else - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - die "Compiling with sys-libs/libcxx requires clang." - fi - myconf_gn+=" is_clang=false" - fi - - # Define a custom toolchain for GN - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" - - if tc-is-cross-compiler; then - tc-export BUILD_{AR,CC,CXX,NM} - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" - else - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - fi - - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - myconf_gn+=" is_debug=false" - - # enable DCHECK with USE=debug only, increases chrome binary size by 30%, bug #811138. - # DCHECK is fatal by default, make it configurable at runtime, #bug 807881. - myconf_gn+=" dcheck_always_on=$(usex debug true false)" - myconf_gn+=" dcheck_is_configurable=$(usex debug true false)" - - # Component build isn't generally intended for use by end users. It's mostly useful - # for development and debugging. - myconf_gn+=" is_component_build=$(usex component-build true false)" - - # Disable nacl, we can't build without pnacl (http://crbug.com/269560). - myconf_gn+=" enable_nacl=false" - - # Use system-provided libraries. - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_protobuf (bug #525560). - # TODO: use_system_sqlite (http://crbug.com/22208). - - # libevent: https://bugs.gentoo.org/593458 - local gn_system_libraries=( - flac - fontconfig - freetype - # Need harfbuzz_from_pkgconfig target - #harfbuzz-ng - libdrm - libjpeg - libwebp - zlib - ) - if use system-ffmpeg; then - gn_system_libraries+=( ffmpeg opus ) - fi - if use system-icu; then - gn_system_libraries+=( icu ) - fi - if use system-png; then - gn_system_libraries+=( libpng ) - fi - if [[ ${CHROMIUM_FORCE_LIBCXX} != yes ]]; then - # unbundle only without libc++, because libc++ is not fully ABI compatible with libstdc++ - gn_system_libraries+=( libxml ) - gn_system_libraries+=( libxslt ) - gn_system_libraries+=( openh264 ) - gn_system_libraries+=( re2 ) - fi - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die - - # See dependency logic in third_party/BUILD.gn - myconf_gn+=" use_system_harfbuzz=$(usex system-harfbuzz true false)" - - # Disable deprecated libgnome-keyring dependency, bug #713012 - myconf_gn+=" use_gnome_keyring=false" - - # Optional dependencies. - myconf_gn+=" enable_js_type_check=$(usex js-type-check true false)" - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" - myconf_gn+=" enable_widevine=$(usex widevine true false)" - myconf_gn+=" use_cups=$(usex cups true false)" - myconf_gn+=" use_kerberos=$(usex kerberos true false)" - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" - myconf_gn+=" use_vaapi=$(usex vaapi true false)" - myconf_gn+=" rtc_use_pipewire=$(usex screencast true false)" - - # TODO: link_pulseaudio=true for GN. - - myconf_gn+=" disable_fieldtrial_testing_config=true" - - # Never use bundled gold binary. Disable gold linker flags for now. - # Do not use bundled clang. - # Trying to use gold results in linker crash. - myconf_gn+=" use_gold=false use_sysroot=false use_custom_libcxx=false" - - # Disable forced lld, bug 641556 - myconf_gn+=" use_lld=false" - - # Disable pseudolocales, only used for testing - myconf_gn+=" enable_pseudolocales=false" - - # Disable code formating of generated files - myconf_gn+=" blink_enable_generated_code_formatting=false" - - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" - - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . - # Note: these are for Gentoo use ONLY. For your own distribution, - # please get your own set of keys. Feel free to contact chromium@gentoo.org - # for more info. The OAuth2 credentials, however, have been left out. - # Those OAuth2 credentials have been broken for quite some time anyway. - # Instead we apply a patch to use the --oauth2-client-id= and - # --oauth2-client-secret= switches for setting GOOGLE_DEFAULT_CLIENT_ID and - # GOOGLE_DEFAULT_CLIENT_SECRET at runtime. This allows signing into - # Chromium without baked-in values. - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" - myconf_gn+=" google_api_key=\"${google_api_key}\"" - local myarch="$(tc-arch)" - - # Avoid CFLAGS problems, bug #352457, bug #390147. - if ! use custom-cflags; then - replace-flags "-Os" "-O2" - strip-flags - - # Debug info section overflows without component build - # Prevent linker from running out of address space, bug #471810 . - if ! use component-build || use x86; then - filter-flags "-g*" - fi - - # Prevent libvpx build failures. Bug 530248, 544702, 546984. - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4 - fi - fi - - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - append-flags -stdlib=libc++ - append-ldflags -stdlib=libc++ - fi - - if [[ $myarch = amd64 ]] ; then - myconf_gn+=" target_cpu=\"x64\"" - ffmpeg_target_arch=x64 - elif [[ $myarch = x86 ]] ; then - myconf_gn+=" target_cpu=\"x86\"" - ffmpeg_target_arch=ia32 - - # This is normally defined by compiler_cpu_abi in - # build/config/compiler/BUILD.gn, but we patch that part out. - append-flags -msse2 -mfpmath=sse -mmmx - elif [[ $myarch = arm64 ]] ; then - myconf_gn+=" target_cpu=\"arm64\"" - ffmpeg_target_arch=arm64 - elif [[ $myarch = arm ]] ; then - myconf_gn+=" target_cpu=\"arm\"" - ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm) - elif [[ $myarch = ppc64 ]] ; then - myconf_gn+=" target_cpu=\"ppc64\"" - ffmpeg_target_arch=ppc64 - else - 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" - - # Bug 491582. - export TMPDIR="${WORKDIR}/temp" - mkdir -p -m 755 "${TMPDIR}" || die - - # https://bugs.gentoo.org/654216 - addpredict /dev/dri/ #nowarn - - #if ! use system-ffmpeg; then - if false; then - local build_ffmpeg_args="" - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then - build_ffmpeg_args+=" --disable-asm" - fi - - # Re-configure bundled ffmpeg. See bug #491378 for example reasons. - einfo "Configuring bundled ffmpeg..." - pushd third_party/ffmpeg > /dev/null || die - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \ - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die - chromium/scripts/copy_config.sh || die - chromium/scripts/generate_gn.py || die - popd > /dev/null || die - fi - - # Chromium relies on this, but was disabled in >=clang-10, crbug.com/1042470 - append-cxxflags $(test-flags-CXX -flax-vector-conversions=all) - - # Disable unknown warning message from clang. - tc-is-clang && append-flags -Wno-unknown-warning-option - - # Explicitly disable ICU data file support for system-icu builds. - if use system-icu; then - myconf_gn+=" icu_use_data_file=false" - fi - - # Enable ozone wayland and/or headless support - myconf_gn+=" use_ozone=true ozone_auto_platforms=false" - myconf_gn+=" ozone_platform_headless=true" - myconf_gn+=" ozone_platform_x11=$(usex headless false true)" - if use wayland || use headless; then - if use headless; then - myconf_gn+=" ozone_platform=\"headless\"" - myconf_gn+=" use_x11=false" - else - myconf_gn+=" ozone_platform_wayland=true" - myconf_gn+=" use_system_libdrm=true" - myconf_gn+=" use_system_minigbm=true" - myconf_gn+=" use_xkbcommon=true" - myconf_gn+=" ozone_platform=\"wayland\"" - fi - else - myconf_gn+=" ozone_platform=\"x11\"" - fi - - # Enable official builds - myconf_gn+=" is_official_build=$(usex official true false)" - myconf_gn+=" use_thin_lto=false" - if use official; then - # 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 - myconf_gn+=" is_cfi=false" - # Disable PGO, because profile data is only compatible with >=clang-11 - myconf_gn+=" chrome_pgo_phase=0" - fi - - einfo "Configuring Chromium..." - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release - echo "$@" - "$@" || die -} - -src_compile() { - # Final link uses lots of file descriptors. - ulimit -n 2048 - - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - # Don't inherit PYTHONPATH from environment, bug #789021, #812689 - local -x PYTHONPATH= - - #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die - - # Build mksnapshot and pax-mark it. - local x - for x in mksnapshot v8_context_snapshot_generator; do - if tc-is-cross-compiler; then - eninja -C out/Release "host/${x}" - pax-mark m "out/Release/host/${x}" - else - eninja -C out/Release "${x}" - pax-mark m "out/Release/${x}" - fi - done - - # Even though ninja autodetects number of CPUs, we respect - # user's options, for debugging with -j 1 or any other reason. - eninja -C out/Release chrome chromedriver - use suid && eninja -C out/Release chrome_sandbox - - pax-mark m out/Release/chrome - - mv out/Release/chromedriver{.unstripped,} || die - - # Build manpage; bug #684550 - sed -e 's|@@PACKAGE@@|chromium-browser|g; - s|@@MENUNAME@@|Chromium|g;' \ - chrome/app/resources/manpage.1.in > \ - out/Release/chromium-browser.1 || die - - # Build desktop file; bug #706786 - sed -e 's|@@MENUNAME@@|Chromium|g; - s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g; - s|@@PACKAGE@@|chromium-browser|g; - s|\(^Exec=\)/usr/bin/|\1|g;' \ - chrome/installer/linux/common/desktop.template > \ - out/Release/chromium-browser-chromium.desktop || die - - # Build vk_swiftshader_icd.json; bug #827861 - sed -e 's|${ICD_LIBRARY_PATH}|./libvk_swiftshader.so|g' \ - third_party/swiftshader/src/Vulkan/vk_swiftshader_icd.json.tmpl > \ - out/Release/vk_swiftshader_icd.json || die -} - -src_install() { - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" - exeinto "${CHROMIUM_HOME}" - doexe out/Release/chrome - - if use suid; then - newexe out/Release/chrome_sandbox chrome-sandbox - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" - fi - - doexe out/Release/chromedriver - doexe out/Release/chrome_crashpad_handler - - ozone_auto_session () { - use wayland && ! use headless && echo true || echo false - } - local sedargs=( -e - "s:/usr/lib/:/usr/$(get_libdir)/:g; - s:@@OZONE_AUTO_SESSION@@:$(ozone_auto_session):g" - ) - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r7.sh" > chromium-launcher.sh || die - doexe chromium-launcher.sh - - # It is important that we name the target "chromium-browser", - # xdg-utils expect it; bug #355517. - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser - # keep the old symlink around for consistency - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium - - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver - - # Allow users to override command-line options, bug #357629. - insinto /etc/chromium - newins "${FILESDIR}/chromium.default" "default" - - pushd out/Release/locales > /dev/null || die - chromium_remove_language_paks - popd - - insinto "${CHROMIUM_HOME}" - doins out/Release/*.bin - doins out/Release/*.pak - ( - shopt -s nullglob - local files=(out/Release/*.so out/Release/*.so.[0-9]) - [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}" - ) - - if ! use system-icu; then - doins out/Release/icudtl.dat - fi - - doins -r out/Release/locales - doins -r out/Release/resources - doins -r out/Release/MEIPreload - - # Install vk_swiftshader_icd.json; bug #827861 - doins out/Release/vk_swiftshader_icd.json - - if [[ -d out/Release/swiftshader ]]; then - insinto "${CHROMIUM_HOME}/swiftshader" - doins out/Release/swiftshader/*.so - fi - - # Install icons - local branding size - for size in 16 24 32 48 64 128 256 ; do - case ${size} in - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; - *) branding="chrome/app/theme/chromium" ;; - esac - newicon -s ${size} "${branding}/product_logo_${size}.png" \ - chromium-browser.png - done - - # Install desktop entry - domenu out/Release/chromium-browser-chromium.desktop - - # Install GNOME default application entry (bug #303100). - insinto /usr/share/gnome-control-center/default-apps - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml - - # Install manpage; bug #684550 - doman out/Release/chromium-browser.1 - dosym chromium-browser.1 /usr/share/man/man1/chromium.1 - - readme.gentoo_create_doc -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_desktop_database_update -} - -pkg_postinst() { - xdg_icon_cache_update - xdg_desktop_database_update - readme.gentoo_print_elog - - if use vaapi; then - elog "VA-API is disabled by default at runtime. You have to enable it" - elog "by adding --enable-features=VaapiVideoDecoder to CHROMIUM_FLAGS" - elog "in /etc/chromium/default." - fi - if use screencast; then - elog "Screencast is disabled by default at runtime. Either enable it" - elog "by navigating to chrome://flags/#enable-webrtc-pipewire-capturer" - elog "inside Chromium or add --enable-webrtc-pipewire-capturer" - elog "to CHROMIUM_FLAGS in /etc/chromium/default." - fi -} diff --git a/www-client/chromium/chromium-99.0.4818.0.ebuild b/www-client/chromium/chromium-99.0.4818.0.ebuild deleted file mode 100644 index 777eb91..0000000 --- a/www-client/chromium/chromium-99.0.4818.0.ebuild +++ /dev/null @@ -1,965 +0,0 @@ -# Copyright 2009-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -PYTHON_COMPAT=( python3_{8..10} ) -PYTHON_REQ_USE="xml" - -CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - 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 vi zh-CN zh-TW" - -inherit check-reqs chromium-2 desktop flag-o-matic ninja-utils pax-utils python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="https://chromium.org/" -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" -IUSE="component-build cups cpu_flags_arm_neon debug +hangouts headless +js-type-check kerberos official pic +proprietary-codecs pulseaudio screencast selinux +suid +system-ffmpeg +system-harfbuzz +system-icu +system-png vaapi wayland widevine" -REQUIRED_USE=" - component-build? ( !suid ) - screencast? ( wayland ) -" - -COMMON_X_DEPEND=" - media-libs/mesa:=[gbm(+)] - x11-libs/libX11:= - x11-libs/libXcomposite:= - x11-libs/libXcursor:= - x11-libs/libXdamage:= - x11-libs/libXext:= - x11-libs/libXfixes:= - >=x11-libs/libXi-1.6.0:= - x11-libs/libXrandr:= - x11-libs/libXrender:= - x11-libs/libXtst:= - x11-libs/libxcb:= - x11-libs/libxshmfence:= - vaapi? ( >=x11-libs/libva-2.7:=[X,drm] ) -" - -COMMON_DEPEND=" - app-arch/bzip2:= - cups? ( >=net-print/cups-1.3.11:= ) - dev-libs/expat:= - dev-libs/glib:2 - >=dev-libs/libxml2-2.9.4-r3:=[icu] - dev-libs/nspr:= - >=dev-libs/nss-3.26:= - >=media-libs/alsa-lib-1.0.19:= - media-libs/fontconfig:= - >=media-libs/freetype-2.11.0-r1:= - system-harfbuzz? ( >=media-libs/harfbuzz-2.9.0:0=[icu(-)] ) - media-libs/libjpeg-turbo:= - system-png? ( media-libs/libpng:=[-apng] ) - pulseaudio? ( media-sound/pulseaudio:= ) - system-ffmpeg? ( - >=media-video/ffmpeg-4.3:= - || ( - media-video/ffmpeg[-samba] - >=net-fs/samba-4.5.10-r1[-debug(-)] - ) - >=media-libs/opus-1.3.1:= - ) - net-misc/curl[ssl] - sys-apps/dbus:= - sys-apps/pciutils:= - virtual/udev - x11-libs/cairo:= - x11-libs/gdk-pixbuf:2 - x11-libs/libxkbcommon:= - x11-libs/pango:= - media-libs/flac:= - >=media-libs/libwebp-0.4.0:= - sys-libs/zlib:=[minizip] - kerberos? ( virtual/krb5 ) - !headless? ( - ${COMMON_X_DEPEND} - >=app-accessibility/at-spi2-atk-2.26:2 - >=app-accessibility/at-spi2-core-2.26:2 - >=dev-libs/atk-2.26 - x11-libs/gtk+:3[X] - wayland? ( - dev-libs/wayland:= - screencast? ( media-video/pipewire:0/0.3 ) - x11-libs/gtk+:3[wayland,X] - x11-libs/libdrm:= - ) - ) -" -RDEPEND="${COMMON_DEPEND} - x11-misc/xdg-utils - virtual/opengl - virtual/ttf-fonts - selinux? ( sec-policy/selinux-chromium ) -" -DEPEND="${COMMON_DEPEND} -" -# dev-vcs/git - https://bugs.gentoo.org/593476 -BDEPEND=" - ${PYTHON_DEPS} - $(python_gen_any_dep ' - dev-python/setuptools[${PYTHON_USEDEP}] - ') - >=app-arch/gzip-1.7 - dev-lang/perl - >=dev-util/gn-0.1807 - dev-vcs/git - >=dev-util/gperf-3.0.3 - >=dev-util/ninja-1.7.2 - >=net-libs/nodejs-7.6.0[inspector] - >=sys-devel/bison-2.4.3 - sys-devel/flex - virtual/pkgconfig - js-type-check? ( virtual/jre ) -" - -# These are intended for ebuild maintainer use to force clang if GCC is broken. -: ${CHROMIUM_FORCE_CLANG=yes} -: ${CHROMIUM_FORCE_LIBCXX=no} - -if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then - BDEPEND+=" >=sys-devel/clang-12" -fi - -if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - RDEPEND+=" >=sys-libs/libcxx-12" - DEPEND+=" >=sys-libs/libcxx-12" -else - COMMON_DEPEND=" - dev-libs/libxslt:= - >=dev-libs/re2-0.2019.08.01:= - >=media-libs/openh264-1.6.0:= - system-icu? ( >=dev-libs/icu-69.1:= ) - " - RDEPEND+="${COMMON_DEPEND}" - DEPEND+="${COMMON_DEPEND}" -fi - -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then - EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; -fi - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -Some web pages may require additional fonts to display properly. -Try installing some of the following packages if some characters -are not displayed properly: -- media-fonts/arphicfonts -- media-fonts/droid -- media-fonts/ipamonafont -- media-fonts/noto -- media-fonts/ja-ipafonts -- media-fonts/takao-fonts -- media-fonts/wqy-microhei -- media-fonts/wqy-zenhei - -To fix broken icons on the Downloads page, you should install an icon -theme that covers the appropriate MIME types, and configure this as your -GTK+ icon theme. - -For native file dialogs in KDE, install kde-apps/kdialog. - -To make password storage work with your desktop environment you may -have install one of the supported credentials management applications: -- app-crypt/libsecret (GNOME) -- kde-frameworks/kwallet (KDE) -If you have one of above packages installed, but don't want to use -them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS -in /etc/chromium/default. -" - -python_check_deps() { - has_version -b "dev-python/setuptools[${PYTHON_USEDEP}]" -} - -pre_build_checks() { - if [[ ${MERGE_TYPE} != binary ]]; then - local -x CPP="$(tc-getCXX) -E" - if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 9.2; then - die "At least gcc 9.2 is required" - fi - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || tc-is-clang; then - CPP="${CHOST}-clang++ -E" - if ! ver_test "$(clang-major-version)" -ge 12; then - die "At least clang 12 is required" - fi - fi - fi - - # Check build requirements, bug #541816 and bug #471810 . - CHECKREQS_MEMORY="4G" - CHECKREQS_DISK_BUILD="9G" - if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then - if use custom-cflags || use component-build; then - CHECKREQS_DISK_BUILD="25G" - fi - if ! use component-build; then - CHECKREQS_MEMORY="16G" - fi - fi - check-reqs_pkg_setup -} - -pkg_pretend() { - pre_build_checks -} - -pkg_setup() { - pre_build_checks - - chromium_suid_sandbox_check_kernel_config - - # nvidia-drivers does not work correctly with Wayland due to unsupported EGLStreams - if use wayland && ! use headless && has_version "x11-drivers/nvidia-drivers"; then - ewarn "Proprietary nVidia driver does not work with Wayland. You can disable" - ewarn "Wayland by setting DISABLE_OZONE_PLATFORM=true in /etc/chromium/default." - fi -} - -src_prepare() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local PATCHES=( - "${FILESDIR}/chromium-78-protobuf-RepeatedPtrField-export.patch" - "${FILESDIR}/chromium-98-compiler-r1.patch" - "${FILESDIR}/chromium-98-MiraclePtr-gcc-ice.patch" - "${FILESDIR}/chromium-99-dnd-3381679.patch" - "${FILESDIR}/chromium-99-sqlcursor.patch" - "${FILESDIR}/chromium-99-dns_scoped_res_state-include.patch" - "${FILESDIR}/chromium-99-predction_common-include.patch" - "${FILESDIR}/chromium-99-sandbox-glib234.patch" - - "${FILESDIR}/chromium-93-InkDropHost-crash.patch" - "${FILESDIR}/chromium-98-EnumTable-crash.patch" - "${FILESDIR}/chromium-98-system-libdrm.patch" - "${FILESDIR}/chromium-use-oauth2-client-switches-as-default.patch" - "${FILESDIR}/chromium-shim_headers.patch" - ) - - default - - mkdir -p third_party/node/linux/node-linux-x64/bin || die - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die - - # adjust python interpreter version - sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die - - local 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 - 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/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-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/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/dawn/third_party/tint - 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/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-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/test/unittests/front_end/third_party/i18n - 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/flatbuffers - third_party/freetype - third_party/fusejs - third_party/highway - third_party/libgifcodec - third_party/liburlpattern - third_party/libzip - 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/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/libjingle - third_party/libjxl - third_party/libphonenumber - third_party/libsecret - third_party/libsrtp - third_party/libsync - third_party/libudev - 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/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/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/rnnoise - third_party/s2cellid - third_party/securemessage - third_party/shell-encryption - third_party/simplejson - third_party/six - 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/snappy - 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/tcmalloc - third_party/tensorflow-text - third_party/tflite - third_party/tflite/src/third_party/eigen3 - third_party/tflite/src/third_party/fft2d - third_party/ruy - third_party/ukey2 - third_party/unrar - third_party/usrsctp - third_party/utf - third_party/vulkan - 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 - 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 - ) - if ! use system-ffmpeg; then - keeplibs+=( third_party/ffmpeg third_party/opus ) - fi - if ! use system-icu; then - keeplibs+=( third_party/icu ) - fi - if ! use system-png; then - keeplibs+=( third_party/libpng ) - fi - if use system-harfbuzz; then - keeplibs+=( third_party/harfbuzz-ng/utils ) - else - keeplibs+=( third_party/harfbuzz-ng ) - fi - if use wayland && ! use headless ; then - keeplibs+=( third_party/wayland ) - fi - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - keeplibs+=( third_party/libxml ) - keeplibs+=( third_party/libxslt ) - keeplibs+=( third_party/openh264 ) - keeplibs+=( third_party/re2 ) - if use system-icu; then - keeplibs+=( third_party/icu ) - fi - fi - if use arm64 || use ppc64 ; then - keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 ) - fi - # we need to generate ppc64 stuff because upstream does not ship it yet - # it has to be done before unbundling. - if use ppc64; then - pushd third_party/libvpx >/dev/null || die - mkdir -p source/config/linux/ppc64 || die - ./generate_gni.sh || die - popd >/dev/null || die - fi - - # Remove most bundled libraries. Some are still needed. - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die - - if use js-type-check; then - ln -s "${EPREFIX}"/usr/bin/java third_party/jdk/current/bin/java || die - fi - - # bundled eu-strip is for amd64 only and we don't want to pre-stripped binaries - mkdir -p buildtools/third_party/eu-strip/bin || die - ln -s "${EPREFIX}"/bin/true buildtools/third_party/eu-strip/bin/eu-strip || die -} - -src_configure() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local myconf_gn="" - - # Make sure the build system will use the right tools, bug #340795. - tc-export AR CC CXX NM - - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] && ! tc-is-clang; then - # Force clang since gcc is pretty broken at the moment. - CC=${CHOST}-clang - CXX=${CHOST}-clang++ - strip-unsupported-flags - fi - - if tc-is-clang; then - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" - else - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - die "Compiling with sys-libs/libcxx requires clang." - fi - myconf_gn+=" is_clang=false" - fi - - # Define a custom toolchain for GN - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" - - if tc-is-cross-compiler; then - tc-export BUILD_{AR,CC,CXX,NM} - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" - else - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - fi - - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - myconf_gn+=" is_debug=false" - - # enable DCHECK with USE=debug only, increases chrome binary size by 30%, bug #811138. - # DCHECK is fatal by default, make it configurable at runtime, #bug 807881. - myconf_gn+=" dcheck_always_on=$(usex debug true false)" - myconf_gn+=" dcheck_is_configurable=$(usex debug true false)" - - # Component build isn't generally intended for use by end users. It's mostly useful - # for development and debugging. - myconf_gn+=" is_component_build=$(usex component-build true false)" - - # Disable nacl, we can't build without pnacl (http://crbug.com/269560). - myconf_gn+=" enable_nacl=false" - - # Use system-provided libraries. - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_protobuf (bug #525560). - # TODO: use_system_sqlite (http://crbug.com/22208). - - # libevent: https://bugs.gentoo.org/593458 - local gn_system_libraries=( - flac - fontconfig - freetype - # Need harfbuzz_from_pkgconfig target - #harfbuzz-ng - libdrm - libjpeg - libwebp - zlib - ) - if use system-ffmpeg; then - gn_system_libraries+=( ffmpeg opus ) - fi - if use system-icu; then - gn_system_libraries+=( icu ) - fi - if use system-png; then - gn_system_libraries+=( libpng ) - fi - if [[ ${CHROMIUM_FORCE_LIBCXX} != yes ]]; then - # unbundle only without libc++, because libc++ is not fully ABI compatible with libstdc++ - gn_system_libraries+=( libxml ) - gn_system_libraries+=( libxslt ) - gn_system_libraries+=( openh264 ) - gn_system_libraries+=( re2 ) - fi - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die - - # See dependency logic in third_party/BUILD.gn - myconf_gn+=" use_system_harfbuzz=$(usex system-harfbuzz true false)" - - # Disable deprecated libgnome-keyring dependency, bug #713012 - myconf_gn+=" use_gnome_keyring=false" - - # Optional dependencies. - myconf_gn+=" enable_js_type_check=$(usex js-type-check true false)" - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" - myconf_gn+=" enable_widevine=$(usex widevine true false)" - myconf_gn+=" use_cups=$(usex cups true false)" - myconf_gn+=" use_kerberos=$(usex kerberos true false)" - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" - myconf_gn+=" use_vaapi=$(usex vaapi true false)" - myconf_gn+=" rtc_use_pipewire=$(usex screencast true false)" - - # TODO: link_pulseaudio=true for GN. - - myconf_gn+=" disable_fieldtrial_testing_config=true" - - # Never use bundled gold binary. Disable gold linker flags for now. - # Do not use bundled clang. - # Trying to use gold results in linker crash. - myconf_gn+=" use_gold=false use_sysroot=false use_custom_libcxx=false" - - # Disable forced lld, bug 641556 - myconf_gn+=" use_lld=false" - - # Disable pseudolocales, only used for testing - myconf_gn+=" enable_pseudolocales=false" - - # Disable code formating of generated files - myconf_gn+=" blink_enable_generated_code_formatting=false" - - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" - - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . - # Note: these are for Gentoo use ONLY. For your own distribution, - # please get your own set of keys. Feel free to contact chromium@gentoo.org - # for more info. The OAuth2 credentials, however, have been left out. - # Those OAuth2 credentials have been broken for quite some time anyway. - # Instead we apply a patch to use the --oauth2-client-id= and - # --oauth2-client-secret= switches for setting GOOGLE_DEFAULT_CLIENT_ID and - # GOOGLE_DEFAULT_CLIENT_SECRET at runtime. This allows signing into - # Chromium without baked-in values. - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" - myconf_gn+=" google_api_key=\"${google_api_key}\"" - local myarch="$(tc-arch)" - - # Avoid CFLAGS problems, bug #352457, bug #390147. - if ! use custom-cflags; then - replace-flags "-Os" "-O2" - strip-flags - - # Debug info section overflows without component build - # Prevent linker from running out of address space, bug #471810 . - if ! use component-build || use x86; then - filter-flags "-g*" - fi - - # Prevent libvpx build failures. Bug 530248, 544702, 546984. - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4 - fi - fi - - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - append-flags -stdlib=libc++ - append-ldflags -stdlib=libc++ - fi - - if [[ $myarch = amd64 ]] ; then - myconf_gn+=" target_cpu=\"x64\"" - ffmpeg_target_arch=x64 - elif [[ $myarch = x86 ]] ; then - myconf_gn+=" target_cpu=\"x86\"" - ffmpeg_target_arch=ia32 - - # This is normally defined by compiler_cpu_abi in - # build/config/compiler/BUILD.gn, but we patch that part out. - append-flags -msse2 -mfpmath=sse -mmmx - elif [[ $myarch = arm64 ]] ; then - myconf_gn+=" target_cpu=\"arm64\"" - ffmpeg_target_arch=arm64 - elif [[ $myarch = arm ]] ; then - myconf_gn+=" target_cpu=\"arm\"" - ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm) - elif [[ $myarch = ppc64 ]] ; then - myconf_gn+=" target_cpu=\"ppc64\"" - ffmpeg_target_arch=ppc64 - else - 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" - - # Bug 491582. - export TMPDIR="${WORKDIR}/temp" - mkdir -p -m 755 "${TMPDIR}" || die - - # https://bugs.gentoo.org/654216 - addpredict /dev/dri/ #nowarn - - #if ! use system-ffmpeg; then - if false; then - local build_ffmpeg_args="" - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then - build_ffmpeg_args+=" --disable-asm" - fi - - # Re-configure bundled ffmpeg. See bug #491378 for example reasons. - einfo "Configuring bundled ffmpeg..." - pushd third_party/ffmpeg > /dev/null || die - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \ - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die - chromium/scripts/copy_config.sh || die - chromium/scripts/generate_gn.py || die - popd > /dev/null || die - fi - - # Chromium relies on this, but was disabled in >=clang-10, crbug.com/1042470 - append-cxxflags $(test-flags-CXX -flax-vector-conversions=all) - - # Disable unknown warning message from clang. - tc-is-clang && append-flags -Wno-unknown-warning-option - - # Explicitly disable ICU data file support for system-icu builds. - if use system-icu; then - myconf_gn+=" icu_use_data_file=false" - fi - - # Enable ozone wayland and/or headless support - myconf_gn+=" use_ozone=true ozone_auto_platforms=false" - myconf_gn+=" ozone_platform_headless=true" - myconf_gn+=" ozone_platform_x11=$(usex headless false true)" - if use wayland || use headless; then - if use headless; then - myconf_gn+=" ozone_platform=\"headless\"" - myconf_gn+=" use_x11=false" - else - myconf_gn+=" ozone_platform_wayland=true" - myconf_gn+=" use_system_libdrm=true" - myconf_gn+=" use_system_minigbm=true" - myconf_gn+=" use_xkbcommon=true" - myconf_gn+=" ozone_platform=\"wayland\"" - fi - else - myconf_gn+=" ozone_platform=\"x11\"" - fi - - # Enable official builds - myconf_gn+=" is_official_build=$(usex official true false)" - myconf_gn+=" use_thin_lto=false" - if use official; then - # 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 - myconf_gn+=" is_cfi=false" - # Disable PGO, because profile data is only compatible with >=clang-11 - myconf_gn+=" chrome_pgo_phase=0" - fi - - einfo "Configuring Chromium..." - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release - echo "$@" - "$@" || die -} - -src_compile() { - # Final link uses lots of file descriptors. - ulimit -n 2048 - - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - # Don't inherit PYTHONPATH from environment, bug #789021, #812689 - local -x PYTHONPATH= - - #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die - - # Build mksnapshot and pax-mark it. - local x - for x in mksnapshot v8_context_snapshot_generator; do - if tc-is-cross-compiler; then - eninja -C out/Release "host/${x}" - pax-mark m "out/Release/host/${x}" - else - eninja -C out/Release "${x}" - pax-mark m "out/Release/${x}" - fi - done - - # Even though ninja autodetects number of CPUs, we respect - # user's options, for debugging with -j 1 or any other reason. - eninja -C out/Release chrome chromedriver - use suid && eninja -C out/Release chrome_sandbox - - pax-mark m out/Release/chrome - - mv out/Release/chromedriver{.unstripped,} || die - - # Build manpage; bug #684550 - sed -e 's|@@PACKAGE@@|chromium-browser|g; - s|@@MENUNAME@@|Chromium|g;' \ - chrome/app/resources/manpage.1.in > \ - out/Release/chromium-browser.1 || die - - # Build desktop file; bug #706786 - sed -e 's|@@MENUNAME@@|Chromium|g; - s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g; - s|@@PACKAGE@@|chromium-browser|g; - s|\(^Exec=\)/usr/bin/|\1|g;' \ - chrome/installer/linux/common/desktop.template > \ - out/Release/chromium-browser-chromium.desktop || die - - # Build vk_swiftshader_icd.json; bug #827861 - sed -e 's|${ICD_LIBRARY_PATH}|./libvk_swiftshader.so|g' \ - third_party/swiftshader/src/Vulkan/vk_swiftshader_icd.json.tmpl > \ - out/Release/vk_swiftshader_icd.json || die -} - -src_install() { - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" - exeinto "${CHROMIUM_HOME}" - doexe out/Release/chrome - - if use suid; then - newexe out/Release/chrome_sandbox chrome-sandbox - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" - fi - - doexe out/Release/chromedriver - doexe out/Release/chrome_crashpad_handler - - ozone_auto_session () { - use wayland && ! use headless && echo true || echo false - } - local sedargs=( -e - "s:/usr/lib/:/usr/$(get_libdir)/:g; - s:@@OZONE_AUTO_SESSION@@:$(ozone_auto_session):g" - ) - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r7.sh" > chromium-launcher.sh || die - doexe chromium-launcher.sh - - # It is important that we name the target "chromium-browser", - # xdg-utils expect it; bug #355517. - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser - # keep the old symlink around for consistency - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium - - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver - - # Allow users to override command-line options, bug #357629. - insinto /etc/chromium - newins "${FILESDIR}/chromium.default" "default" - - pushd out/Release/locales > /dev/null || die - chromium_remove_language_paks - popd - - insinto "${CHROMIUM_HOME}" - doins out/Release/*.bin - doins out/Release/*.pak - ( - shopt -s nullglob - local files=(out/Release/*.so out/Release/*.so.[0-9]) - [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}" - ) - - if ! use system-icu; then - doins out/Release/icudtl.dat - fi - - doins -r out/Release/locales - doins -r out/Release/resources - doins -r out/Release/MEIPreload - - # Install vk_swiftshader_icd.json; bug #827861 - doins out/Release/vk_swiftshader_icd.json - - if [[ -d out/Release/swiftshader ]]; then - insinto "${CHROMIUM_HOME}/swiftshader" - doins out/Release/swiftshader/*.so - fi - - # Install icons - local branding size - for size in 16 24 32 48 64 128 256 ; do - case ${size} in - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; - *) branding="chrome/app/theme/chromium" ;; - esac - newicon -s ${size} "${branding}/product_logo_${size}.png" \ - chromium-browser.png - done - - # Install desktop entry - domenu out/Release/chromium-browser-chromium.desktop - - # Install GNOME default application entry (bug #303100). - insinto /usr/share/gnome-control-center/default-apps - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml - - # Install manpage; bug #684550 - doman out/Release/chromium-browser.1 - dosym chromium-browser.1 /usr/share/man/man1/chromium.1 - - readme.gentoo_create_doc -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_desktop_database_update -} - -pkg_postinst() { - xdg_icon_cache_update - xdg_desktop_database_update - readme.gentoo_print_elog - - if use vaapi; then - elog "VA-API is disabled by default at runtime. You have to enable it" - elog "by adding --enable-features=VaapiVideoDecoder to CHROMIUM_FLAGS" - elog "in /etc/chromium/default." - fi - if use screencast; then - elog "Screencast is disabled by default at runtime. Either enable it" - elog "by navigating to chrome://flags/#enable-webrtc-pipewire-capturer" - elog "inside Chromium or add --enable-webrtc-pipewire-capturer" - elog "to CHROMIUM_FLAGS in /etc/chromium/default." - fi -} diff --git a/www-client/chromium/files/chromium-100-ByteSwapUintPtrT-constexpr.patch b/www-client/chromium/files/chromium-100-ByteSwapUintPtrT-constexpr.patch deleted file mode 100644 index dc85dc2..0000000 --- a/www-client/chromium/files/chromium-100-ByteSwapUintPtrT-constexpr.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 1ea2079fec7098cd0fdfabce259d65a09197532d Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann <stha09@googlemail.com> -Date: Thu, 27 Jan 2022 14:36:21 +0000 -Subject: [PATCH] GCC: add constexpr to base::ByteSwapUintPtrT and - base::ByteSwap - -base::internal::EncodedPartitionFreelistEntryPtr::Transform() is -constexpr. This requires base::ByteSwapUintPtrT() and -base::ByteSwap() to be constexpr too. ---- - base/sys_byteorder.h | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/base/sys_byteorder.h b/base/sys_byteorder.h -index 4de2b5f..d86cc36 100644 ---- a/base/sys_byteorder.h -+++ b/base/sys_byteorder.h -@@ -22,7 +22,7 @@ - namespace base { - - // Returns a value with all bytes in |x| swapped, i.e. reverses the endianness. --inline uint16_t ByteSwap(uint16_t x) { -+constexpr uint16_t ByteSwap(uint16_t x) { - #if defined(COMPILER_MSVC) && !defined(__clang__) - return _byteswap_ushort(x); - #else -@@ -30,7 +30,7 @@ inline uint16_t ByteSwap(uint16_t x) { - #endif - } - --inline uint32_t ByteSwap(uint32_t x) { -+constexpr uint32_t ByteSwap(uint32_t x) { - #if defined(COMPILER_MSVC) && !defined(__clang__) - return _byteswap_ulong(x); - #else -@@ -38,7 +38,7 @@ inline uint32_t ByteSwap(uint32_t x) { - #endif - } - --inline uint64_t ByteSwap(uint64_t x) { -+constexpr uint64_t ByteSwap(uint64_t x) { - // Per build/build_config.h, clang masquerades as MSVC on Windows. If we are - // actually using clang, we can rely on the builtin. - // -@@ -53,7 +53,7 @@ inline uint64_t ByteSwap(uint64_t x) { - #endif - } - --inline uintptr_t ByteSwapUintPtrT(uintptr_t x) { -+constexpr uintptr_t ByteSwapUintPtrT(uintptr_t x) { - // We do it this way because some build configurations are ILP32 even when - // defined(ARCH_CPU_64_BITS). Unfortunately, we can't use sizeof in #ifs. But, - // because these conditionals are constexprs, the irrelevant branches will --- -2.34.1 - diff --git a/www-client/chromium/files/chromium-100-GLImplementationParts-constexpr.patch b/www-client/chromium/files/chromium-100-GLImplementationParts-constexpr.patch deleted file mode 100644 index 437e672..0000000 --- a/www-client/chromium/files/chromium-100-GLImplementationParts-constexpr.patch +++ /dev/null @@ -1,92 +0,0 @@ -From d32156fd3773330eca99e9cba5e18db57aaa1a53 Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann <stha09@googlemail.com> -Date: Sat, 19 Feb 2022 10:14:24 +0000 -Subject: [PATCH] GCC: make GLImplementationParts constructors constexpr - -Fix build error in GCC, as the constexpr operator== requires its -invocations to be also constexpr. ---- - ui/gl/gl_implementation.cc | 23 ----------------------- - ui/gl/gl_implementation.h | 25 +++++++++++++++++++++++-- - 2 files changed, 23 insertions(+), 25 deletions(-) - -diff --git a/ui/gl/gl_implementation.cc b/ui/gl/gl_implementation.cc -index e4e5456..3e4a47c 100644 ---- a/ui/gl/gl_implementation.cc -+++ b/ui/gl/gl_implementation.cc -@@ -26,29 +26,6 @@ - - namespace gl { - --ANGLEImplementation MakeANGLEImplementation( -- const GLImplementation gl_impl, -- const ANGLEImplementation angle_impl) { -- if (gl_impl == kGLImplementationEGLANGLE) { -- if (angle_impl == ANGLEImplementation::kNone) { -- return ANGLEImplementation::kDefault; -- } else { -- return angle_impl; -- } -- } else { -- return ANGLEImplementation::kNone; -- } --} -- --GLImplementationParts::GLImplementationParts( -- const ANGLEImplementation angle_impl) -- : gl(kGLImplementationEGLANGLE), -- angle(MakeANGLEImplementation(kGLImplementationEGLANGLE, angle_impl)) {} -- --GLImplementationParts::GLImplementationParts(const GLImplementation gl_impl) -- : gl(gl_impl), -- angle(MakeANGLEImplementation(gl_impl, ANGLEImplementation::kDefault)) {} -- - bool GLImplementationParts::IsValid() const { - if (angle == ANGLEImplementation::kNone) { - return (gl != kGLImplementationEGLANGLE); -diff --git a/ui/gl/gl_implementation.h b/ui/gl/gl_implementation.h -index 376ed58..a2513ea 100644 ---- a/ui/gl/gl_implementation.h -+++ b/ui/gl/gl_implementation.h -@@ -59,8 +59,14 @@ enum class ANGLEImplementation { - }; - - struct GL_EXPORT GLImplementationParts { -- explicit GLImplementationParts(const ANGLEImplementation angle_impl); -- explicit GLImplementationParts(const GLImplementation gl_impl); -+ constexpr explicit GLImplementationParts(const ANGLEImplementation angle_impl) -+ : gl(kGLImplementationEGLANGLE), -+ angle(MakeANGLEImplementation(kGLImplementationEGLANGLE, angle_impl)) {} -+ -+ constexpr explicit GLImplementationParts(const GLImplementation gl_impl) -+ : gl(gl_impl), -+ angle(MakeANGLEImplementation(gl_impl, ANGLEImplementation::kDefault)) { -+ } - - GLImplementation gl = kGLImplementationNone; - ANGLEImplementation angle = ANGLEImplementation::kNone; -@@ -80,6 +86,21 @@ struct GL_EXPORT GLImplementationParts { - bool IsValid() const; - bool IsAllowed(const std::vector<GLImplementationParts>& allowed_impls) const; - std::string ToString() const; -+ -+ private: -+ constexpr ANGLEImplementation MakeANGLEImplementation( -+ const GLImplementation gl_impl, -+ const ANGLEImplementation angle_impl) { -+ if (gl_impl == kGLImplementationEGLANGLE) { -+ if (angle_impl == ANGLEImplementation::kNone) { -+ return ANGLEImplementation::kDefault; -+ } else { -+ return angle_impl; -+ } -+ } else { -+ return ANGLEImplementation::kNone; -+ } -+ } - }; - - struct GL_EXPORT GLWindowSystemBindingInfo { --- -2.34.1 - diff --git a/www-client/chromium/files/chromium-100-InMilliseconds-constexpr.patch b/www-client/chromium/files/chromium-100-InMilliseconds-constexpr.patch deleted file mode 100644 index cf4562a..0000000 --- a/www-client/chromium/files/chromium-100-InMilliseconds-constexpr.patch +++ /dev/null @@ -1,97 +0,0 @@ -From da6e3f6071fdabeb96c0805626418414b4a4cea8 Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann <stha09@googlemail.com> -Date: Wed, 9 Feb 2022 17:56:21 +0000 -Subject: [PATCH] GCC: make base::InMilliseconds(F,RoundedUp) constexpr - -media::DecodeTimestamp uses it in several constexpr methods. ---- - base/time/time.cc | 24 ------------------------ - base/time/time.h | 30 +++++++++++++++++++++++++++--- - 2 files changed, 27 insertions(+), 27 deletions(-) - -diff --git a/base/time/time.cc b/base/time/time.cc -index 0de273e..e0acda2 100644 ---- a/base/time/time.cc -+++ b/base/time/time.cc -@@ -74,30 +74,6 @@ int TimeDelta::InDaysFloored() const { - : std::numeric_limits<int>::max(); - } - --double TimeDelta::InMillisecondsF() const { -- if (!is_inf()) -- return static_cast<double>(delta_) / Time::kMicrosecondsPerMillisecond; -- return (delta_ < 0) ? -std::numeric_limits<double>::infinity() -- : std::numeric_limits<double>::infinity(); --} -- --int64_t TimeDelta::InMilliseconds() const { -- if (!is_inf()) -- return delta_ / Time::kMicrosecondsPerMillisecond; -- return (delta_ < 0) ? std::numeric_limits<int64_t>::min() -- : std::numeric_limits<int64_t>::max(); --} -- --int64_t TimeDelta::InMillisecondsRoundedUp() const { -- if (!is_inf()) { -- const int64_t result = delta_ / Time::kMicrosecondsPerMillisecond; -- // Convert |result| from truncating to ceiling. -- return (delta_ > result * Time::kMicrosecondsPerMillisecond) ? (result + 1) -- : result; -- } -- return delta_; --} -- - double TimeDelta::InMicrosecondsF() const { - if (!is_inf()) - return static_cast<double>(delta_); -diff --git a/base/time/time.h b/base/time/time.h -index c027aab..fb1d78d 100644 ---- a/base/time/time.h -+++ b/base/time/time.h -@@ -216,9 +216,9 @@ class BASE_EXPORT TimeDelta { - constexpr int InMinutes() const; - constexpr double InSecondsF() const; - constexpr int64_t InSeconds() const; -- double InMillisecondsF() const; -- int64_t InMilliseconds() const; -- int64_t InMillisecondsRoundedUp() const; -+ constexpr double InMillisecondsF() const; -+ constexpr int64_t InMilliseconds() const; -+ constexpr int64_t InMillisecondsRoundedUp() const; - constexpr int64_t InMicroseconds() const { return delta_; } - double InMicrosecondsF() const; - constexpr int64_t InNanoseconds() const; -@@ -889,6 +889,30 @@ constexpr int64_t TimeDelta::InSeconds() const { - return is_inf() ? delta_ : (delta_ / Time::kMicrosecondsPerSecond); - } - -+constexpr double TimeDelta::InMillisecondsF() const { -+ if (!is_inf()) -+ return static_cast<double>(delta_) / Time::kMicrosecondsPerMillisecond; -+ return (delta_ < 0) ? -std::numeric_limits<double>::infinity() -+ : std::numeric_limits<double>::infinity(); -+} -+ -+constexpr int64_t TimeDelta::InMilliseconds() const { -+ if (!is_inf()) -+ return delta_ / Time::kMicrosecondsPerMillisecond; -+ return (delta_ < 0) ? std::numeric_limits<int64_t>::min() -+ : std::numeric_limits<int64_t>::max(); -+} -+ -+constexpr int64_t TimeDelta::InMillisecondsRoundedUp() const { -+ if (!is_inf()) { -+ const int64_t result = delta_ / Time::kMicrosecondsPerMillisecond; -+ // Convert |result| from truncating to ceiling. -+ return (delta_ > result * Time::kMicrosecondsPerMillisecond) ? (result + 1) -+ : result; -+ } -+ return delta_; -+} -+ - constexpr int64_t TimeDelta::InNanoseconds() const { - return base::ClampMul(delta_, Time::kNanosecondsPerMicrosecond); - } --- -2.34.1 - diff --git a/www-client/chromium/files/chromium-100-LayoutUnit-constexpr.patch b/www-client/chromium/files/chromium-100-LayoutUnit-constexpr.patch deleted file mode 100644 index 41943c4..0000000 --- a/www-client/chromium/files/chromium-100-LayoutUnit-constexpr.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 23384ca857117c7dff6627847638e0ab2b9a9e6c Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann <stha09@googlemail.com> -Date: Tue, 25 Jan 2022 17:29:49 +0000 -Subject: [PATCH] GCC: default initialize member in blink::LayoutUnit - constructor - -Before C++20 the compiler is not required to check that members are -initialized before use in constexpr constructors. However, -expressions with undefined behaviour (e.g. due to unitialized data -members) is prohibited for constexpr. Default initialize to -value_ to 0 to workaround the problem. ---- - third_party/blink/renderer/platform/geometry/layout_unit.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/third_party/blink/renderer/platform/geometry/layout_unit.h b/third_party/blink/renderer/platform/geometry/layout_unit.h -index e6cbe37..d1e4f07 100644 ---- a/third_party/blink/renderer/platform/geometry/layout_unit.h -+++ b/third_party/blink/renderer/platform/geometry/layout_unit.h -@@ -95,7 +95,7 @@ class LayoutUnit { - public: - constexpr LayoutUnit() : value_(0) {} - template <typename IntegerType> -- constexpr explicit LayoutUnit(IntegerType value) { -+ constexpr explicit LayoutUnit(IntegerType value) : value_(0) { - if (std::is_signed<IntegerType>::value) - SaturatedSet(static_cast<int>(value)); - else --- -2.34.1 - diff --git a/www-client/chromium/files/chromium-100-PartitionFreelistEntry-namespace.patch b/www-client/chromium/files/chromium-100-PartitionFreelistEntry-namespace.patch deleted file mode 100644 index 0ca9956..0000000 --- a/www-client/chromium/files/chromium-100-PartitionFreelistEntry-namespace.patch +++ /dev/null @@ -1,26 +0,0 @@ -From f6490c3b85b1d6f2043c59680ac7c273b03b5a39 Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann <stha09@googlemail.com> -Date: Sun, 6 Feb 2022 07:58:32 +0000 -Subject: [PATCH] libstdc++: add namespace for nullptr_t in - PartitionFreelistEntry - ---- - base/allocator/partition_allocator/partition_freelist_entry.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/base/allocator/partition_allocator/partition_freelist_entry.h b/base/allocator/partition_allocator/partition_freelist_entry.h -index cb20598..850d27b 100644 ---- a/base/allocator/partition_allocator/partition_freelist_entry.h -+++ b/base/allocator/partition_allocator/partition_freelist_entry.h -@@ -86,7 +86,7 @@ class EncodedPartitionFreelistEntryPtr { - // the rationale and mechanism, respectively. - class PartitionFreelistEntry { - private: -- explicit constexpr PartitionFreelistEntry(nullptr_t) -+ explicit constexpr PartitionFreelistEntry(std::nullptr_t) - : encoded_next_(EncodedPartitionFreelistEntryPtr(nullptr)) - #if defined(PA_HAS_FREELIST_SHADOW_ENTRY) - , --- -2.34.1 - diff --git a/www-client/chromium/files/chromium-100-SCTHashdanceMetadata-move.patch b/www-client/chromium/files/chromium-100-SCTHashdanceMetadata-move.patch deleted file mode 100644 index 9039429..0000000 --- a/www-client/chromium/files/chromium-100-SCTHashdanceMetadata-move.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 364dc0067d1c20c7a2d21277a7ec0c4419d9bc11 Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz <jdapena@igalia.com> -Date: Wed, 23 Feb 2022 12:18:57 +0100 -Subject: [PATCH] GCC: explicitely move return value of SCTHashdanceMetadata::ToValue - -GCC rejects to do Return Value Optimization in -SCTHashdanceMetadata::ToValue, because the copy constructor is -deleted, and in that scenario RVO is rejected in GCC: - ../../services/network/sct_auditing/sct_auditing_reporter.cc: In member function ‘base::Value network::SCTAuditingReporter::SCTHashdanceMetadata::ToValue() const’: - ../../services/network/sct_auditing/sct_auditing_reporter.cc:191:10: error: use of deleted function ‘base::Value::Value(const base::Value&)’ - 191 | return value; - | ^~~~~ - In file included from ../../services/network/sct_auditing/sct_auditing_reporter.h:14, - from ../../services/network/sct_auditing/sct_auditing_reporter.cc:5: - ../../base/values.h:254:3: note: declared here - 254 | Value(const Value&) = delete; - | ^~~~~ - -Bug: 819294 -Change-Id: I111e51dd10eee7b909d4ac3c0911aac18a589166 ---- - -diff --git a/services/network/sct_auditing/sct_auditing_reporter.cc b/services/network/sct_auditing/sct_auditing_reporter.cc -index a057e8e..365527b 100644 ---- a/services/network/sct_auditing/sct_auditing_reporter.cc -+++ b/services/network/sct_auditing/sct_auditing_reporter.cc -@@ -188,7 +188,7 @@ - kLogIdKey, base::Base64Encode(base::as_bytes(base::make_span(log_id)))); - value.SetKey(kLogMMDKey, base::TimeDeltaToValue(log_mmd)); - value.SetKey(kCertificateExpiry, base::TimeToValue(certificate_expiry)); -- return value; -+ return std::move(value); - } - - // static diff --git a/www-client/chromium/files/chromium-100-compiler.patch b/www-client/chromium/files/chromium-100-compiler.patch deleted file mode 100644 index e4ca9b3..0000000 --- a/www-client/chromium/files/chromium-100-compiler.patch +++ /dev/null @@ -1,220 +0,0 @@ -From 307a0f63dd9b118f4b8470ed3d7567e81fdb7a6d Mon Sep 17 00:00:00 2001 -From: Mike Gilbert <floppym@gentoo.org> -Date: Thu, 3 Feb 2022 16:26:20 +0000 -Subject: [PATCH] Disable various compiler configs - ---- - build/config/compiler/BUILD.gn | 105 ++++++--------------------------- - 1 file changed, 17 insertions(+), 88 deletions(-) - -diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn -index 61ceb0d..7392018 100644 ---- a/build/config/compiler/BUILD.gn -+++ b/build/config/compiler/BUILD.gn -@@ -291,9 +291,7 @@ config("compiler") { - - configs += [ - # See the definitions below. -- ":clang_revision", - ":rustc_revision", -- ":compiler_cpu_abi", - ":compiler_codegen", - ":compiler_deterministic", - ] -@@ -534,31 +532,6 @@ config("compiler") { - ldflags += [ "-Wl,-z,keep-text-section-prefix" ] - } - -- if (is_clang && !is_nacl && current_os != "zos") { -- cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ] -- -- # TODO(hans): Remove this once Clang generates better optimized debug info -- # by default. https://crbug.com/765793 -- cflags += [ -- "-mllvm", -- "-instcombine-lower-dbg-declare=0", -- ] -- if (!is_debug && use_thin_lto && is_a_target_toolchain) { -- if (is_win) { -- ldflags += [ "-mllvm:-instcombine-lower-dbg-declare=0" ] -- } else { -- ldflags += [ "-Wl,-mllvm,-instcombine-lower-dbg-declare=0" ] -- } -- } -- -- # TODO(crbug.com/1235145): Investigate why/if this should be needed. -- if (is_win) { -- cflags += [ "/clang:-ffp-contract=off" ] -- } else { -- cflags += [ "-ffp-contract=off" ] -- } -- } -- - # Rust compiler setup (for either clang or rustc). - if (enable_rust) { - defines += [ "RUST_ENABLED" ] -@@ -1235,45 +1208,6 @@ config("compiler_deterministic") { - } - } - -- # Makes builds independent of absolute file path. -- if (is_clang && strip_absolute_paths_from_debug_symbols) { -- # If debug option is given, clang includes $cwd in debug info by default. -- # For such build, this flag generates reproducible obj files even we use -- # different build directory like "out/feature_a" and "out/feature_b" if -- # we build same files with same compile flag. -- # Other paths are already given in relative, no need to normalize them. -- if (is_nacl) { -- # TODO(https://crbug.com/1231236): Use -ffile-compilation-dir= here. -- cflags += [ -- "-Xclang", -- "-fdebug-compilation-dir", -- "-Xclang", -- ".", -- ] -- } else { -- # -ffile-compilation-dir is an alias for both -fdebug-compilation-dir= -- # and -fcoverage-compilation-dir=. -- cflags += [ "-ffile-compilation-dir=." ] -- } -- if (!is_win) { -- # We don't use clang -cc1as on Windows (yet? https://crbug.com/762167) -- asmflags = [ "-Wa,-fdebug-compilation-dir,." ] -- } -- -- if (is_win && use_lld) { -- if (symbol_level == 2 || (is_clang && using_sanitizer)) { -- # Absolutize source file paths for PDB. Pass the real build directory -- # if the pdb contains source-level debug information and if linker -- # reproducibility is not critical. -- ldflags += [ "/PDBSourcePath:" + rebase_path(root_build_dir) ] -- } else { -- # Use a fake fixed base directory for paths in the pdb to make the pdb -- # output fully deterministic and independent of the build directory. -- ldflags += [ "/PDBSourcePath:o:\fake\prefix" ] -- } -- } -- } -- - # Tells the compiler not to use absolute paths when passing the default - # paths to the tools it invokes. We don't want this because we don't - # really need it and it can mess up the goma cache entries. -@@ -1594,7 +1528,7 @@ config("chromium_code") { - defines = [ "_HAS_NODISCARD" ] - } - } else { -- cflags = [ "-Wall" ] -+ cflags = [] - if (treat_warnings_as_errors) { - cflags += [ "-Werror" ] - -@@ -1603,10 +1537,6 @@ config("chromium_code") { - # well. - ldflags = [ "-Werror" ] - } -- if (is_clang) { -- # Enable extra warnings for chromium_code when we control the compiler. -- cflags += [ "-Wextra" ] -- } - - # In Chromium code, we define __STDC_foo_MACROS in order to get the - # C99 macros on Mac and Linux. -@@ -1615,15 +1545,6 @@ config("chromium_code") { - "__STDC_FORMAT_MACROS", - ] - -- if (!is_debug && !using_sanitizer && current_cpu != "s390x" && -- current_cpu != "s390" && current_cpu != "ppc64" && -- current_cpu != "mips" && current_cpu != "mips64") { -- # Non-chromium code is not guaranteed to compile cleanly with -- # _FORTIFY_SOURCE. Also, fortified build may fail when optimizations are -- # disabled, so only do that for Release build. -- defines += [ "_FORTIFY_SOURCE=2" ] -- } -- - if (is_mac) { - cflags_objc = [ "-Wobjc-missing-property-synthesis" ] - cflags_objcc = [ "-Wobjc-missing-property-synthesis" ] -@@ -2026,7 +1947,8 @@ config("default_stack_frames") { - } - - # Default "optimization on" config. --config("optimize") { -+config("optimize") { } -+config("xoptimize") { - if (is_win) { - if (chrome_pgo_phase != 2) { - # Favor size over speed, /O1 must be before the common flags. -@@ -2064,7 +1986,8 @@ config("optimize") { - } - - # Turn off optimizations. --config("no_optimize") { -+config("no_optimize") { } -+config("xno_optimize") { - if (is_win) { - cflags = [ - "/Od", # Disable optimization. -@@ -2104,7 +2027,8 @@ config("no_optimize") { - # Turns up the optimization level. On Windows, this implies whole program - # optimization and link-time code generation which is very expensive and should - # be used sparingly. --config("optimize_max") { -+config("optimize_max") { } -+config("xoptimize_max") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2137,7 +2061,8 @@ config("optimize_max") { - # - # TODO(crbug.com/621335) - rework how all of these configs are related - # so that we don't need this disclaimer. --config("optimize_speed") { -+config("optimize_speed") { } -+config("xoptimize_speed") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2163,7 +2088,8 @@ config("optimize_speed") { - } - } - --config("optimize_fuzzing") { -+config("optimize_fuzzing") { } -+config("xoptimize_fuzzing") { - cflags = [ "-O1" ] + common_optimize_on_cflags - rustflags = [ "-Copt-level=1" ] - ldflags = common_optimize_on_ldflags -@@ -2283,7 +2209,8 @@ config("win_pdbaltpath") { - } - - # Full symbols. --config("symbols") { -+config("symbols") { } -+config("xsymbols") { - if (is_win) { - if (is_clang) { - cflags = [ "/Z7" ] # Debug information in the .obj files. -@@ -2411,7 +2338,8 @@ config("symbols") { - # Minimal symbols. - # This config guarantees to hold symbol for stack trace which are shown to user - # when crash happens in unittests running on buildbot. --config("minimal_symbols") { -+config("minimal_symbols") { } -+config("xminimal_symbols") { - if (is_win) { - # Functions, files, and line tables only. - cflags = [] -@@ -2480,7 +2408,8 @@ config("minimal_symbols") { - # This configuration contains function names only. That is, the compiler is - # told to not generate debug information and the linker then just puts function - # names in the final debug information. --config("no_symbols") { -+config("no_symbols") { } -+config("xno_symbols") { - if (is_win) { - ldflags = [ "/DEBUG" ] - --- -2.34.1 - diff --git a/www-client/chromium/files/chromium-100-macro-typo.patch b/www-client/chromium/files/chromium-100-macro-typo.patch deleted file mode 100644 index 833f869..0000000 --- a/www-client/chromium/files/chromium-100-macro-typo.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 1183b14db8bd08d731ff3433c436887de00be3aa Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz <jdapena@igalia.com> -Date: Fri, 18 Feb 2022 16:28:25 +0000 -Subject: [PATCH] Fix typo in non-clang GSL_OWNER macro - -GCC build fails because GSL_OWNER is not defined (GSL_OWNER_ was -the one actually declared). - -Bug: 819294 -Change-Id: I1c3d17cb1c08b9bc0e8a888452da9868c308ddb5 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3472080 -Reviewed-by: Daniel Cheng <dcheng@chromium.org> -Commit-Queue: Daniel Cheng <dcheng@chromium.org> -Cr-Commit-Position: refs/heads/main@{#972974} ---- - -diff --git a/base/compiler_specific.h b/base/compiler_specific.h -index eec5810..1ee8074 100644 ---- a/base/compiler_specific.h -+++ b/base/compiler_specific.h -@@ -386,7 +386,7 @@ - #define GSL_OWNER [[gsl::Owner]] - #define GSL_POINTER [[gsl::Pointer]] - #else --#define GSL_OWNER_ -+#define GSL_OWNER - #define GSL_POINTER - #endif - diff --git a/www-client/chromium/files/chromium-100-sandbox-include.patch b/www-client/chromium/files/chromium-100-sandbox-include.patch deleted file mode 100644 index 328d524..0000000 --- a/www-client/chromium/files/chromium-100-sandbox-include.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/sandbox/linux/services/credentials.cc b/sandbox/linux/services/credentials.cc -index c933eafd1..c0368e92b 100644 ---- a/sandbox/linux/services/credentials.cc -+++ b/sandbox/linux/services/credentials.cc -@@ -11,6 +11,7 @@ - #include <stddef.h> - #include <stdint.h> - #include <stdio.h> -+#include <string.h> - #include <sys/syscall.h> - #include <sys/types.h> - #include <sys/wait.h> diff --git a/www-client/chromium/files/chromium-101-AccountInfo-noexcept.patch b/www-client/chromium/files/chromium-101-AccountInfo-noexcept.patch deleted file mode 100644 index 5aff2f8..0000000 --- a/www-client/chromium/files/chromium-101-AccountInfo-noexcept.patch +++ /dev/null @@ -1,49 +0,0 @@ -From f5743bfaa6b02bc12d040a59f95bbe3abe7081d9 Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann <stha09@googlemail.com> -Date: Sat, 5 Mar 2022 08:40:55 +0000 -Subject: [PATCH] GCC: fix noexcept in AccountInfo - -Move constructor and move assignment operator for AccountInfo -is marked noexcept. However, move constructor and assignment operator -of member AccountCapabilities are not noexcept. Therefore, GCC fails to -compile AccountInfo. Fix this by adding noexcept to move -constructor and assignment operator of AccountCapabilities. ---- - .../signin/public/identity_manager/account_capabilities.cc | 4 ++++ - .../signin/public/identity_manager/account_capabilities.h | 2 ++ - 2 files changed, 6 insertions(+) - -diff --git a/components/signin/public/identity_manager/account_capabilities.cc b/components/signin/public/identity_manager/account_capabilities.cc -index 1fe703d..9005e94 100644 ---- a/components/signin/public/identity_manager/account_capabilities.cc -+++ b/components/signin/public/identity_manager/account_capabilities.cc -@@ -16,8 +16,12 @@ AccountCapabilities::AccountCapabilities() = default; - AccountCapabilities::~AccountCapabilities() = default; - AccountCapabilities::AccountCapabilities(const AccountCapabilities& other) = - default; -+AccountCapabilities::AccountCapabilities(AccountCapabilities&& other) noexcept = -+ default; - AccountCapabilities& AccountCapabilities::operator=( - const AccountCapabilities& other) = default; -+AccountCapabilities& AccountCapabilities::operator=( -+ AccountCapabilities&& other) noexcept = default; - - // static - const std::vector<std::string>& -diff --git a/components/signin/public/identity_manager/account_capabilities.h b/components/signin/public/identity_manager/account_capabilities.h -index a9f74c4..153ca4d 100644 ---- a/components/signin/public/identity_manager/account_capabilities.h -+++ b/components/signin/public/identity_manager/account_capabilities.h -@@ -23,7 +23,9 @@ class AccountCapabilities { - AccountCapabilities(); - ~AccountCapabilities(); - AccountCapabilities(const AccountCapabilities& other); -+ AccountCapabilities(AccountCapabilities&& other) noexcept; - AccountCapabilities& operator=(const AccountCapabilities& other); -+ AccountCapabilities& operator=(AccountCapabilities&& other) noexcept; - - // Chrome can offer extended promos for turning on Sync to accounts with this - // capability. --- -2.34.1 - diff --git a/www-client/chromium/files/chromium-101-WebURLLoaderFactory-incomplete-type.patch b/www-client/chromium/files/chromium-101-WebURLLoaderFactory-incomplete-type.patch deleted file mode 100644 index a331868..0000000 --- a/www-client/chromium/files/chromium-101-WebURLLoaderFactory-incomplete-type.patch +++ /dev/null @@ -1,26 +0,0 @@ -From a092650bfece8a67cddffc7983dce06146f81ffb Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann <stha09@googlemail.com> -Date: Sun, 6 Mar 2022 11:03:11 +0000 -Subject: [PATCH] libstdc++: fix incomplete type of blink::WebURLLoaderFactory - -std::unique_ptr of libstdc++ uses sizeof() which requires full -definition of blink::WebURLLoaderFactory in blink::EmptyChromeClient. ---- - third_party/blink/renderer/core/loader/empty_clients.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/third_party/blink/renderer/core/loader/empty_clients.h b/third_party/blink/renderer/core/loader/empty_clients.h -index d91e67a..e23de75 100644 ---- a/third_party/blink/renderer/core/loader/empty_clients.h -+++ b/third_party/blink/renderer/core/loader/empty_clients.h -@@ -43,6 +43,7 @@ - #include "third_party/blink/public/mojom/input/focus_type.mojom-blink-forward.h" - #include "third_party/blink/public/platform/web_spell_check_panel_host_client.h" - #include "third_party/blink/public/platform/web_url_loader.h" -+#include "third_party/blink/public/platform/web_url_loader_factory.h" - #include "third_party/blink/renderer/core/core_export.h" - #include "third_party/blink/renderer/core/frame/local_frame_client.h" - #include "third_party/blink/renderer/core/frame/remote_frame_client.h" --- -2.34.1 - diff --git a/www-client/chromium/files/chromium-101-libxml-unbundle.patch b/www-client/chromium/files/chromium-101-libxml-unbundle.patch deleted file mode 100644 index 5699bc8..0000000 --- a/www-client/chromium/files/chromium-101-libxml-unbundle.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/build/linux/unbundle/libxml.gn -+++ b/build/linux/unbundle/libxml.gn -@@ -19,6 +19,7 @@ static_library("libxml_utils") { - ":xml_reader", - ":xml_writer", - "//base/test:test_support", -+ "//services/data_decoder:lib", - "//services/data_decoder:xml_parser_fuzzer_deps", - ] - sources = [ diff --git a/www-client/chromium/files/chromium-102-compiler.patch b/www-client/chromium/files/chromium-102-compiler.patch deleted file mode 100644 index 5877f62..0000000 --- a/www-client/chromium/files/chromium-102-compiler.patch +++ /dev/null @@ -1,236 +0,0 @@ -From 307a0f63dd9b118f4b8470ed3d7567e81fdb7a6d Mon Sep 17 00:00:00 2001 -From: Mike Gilbert <floppym@gentoo.org> -Date: Fri, 22 Apr 2022 09:05:24 +0000 -Subject: [PATCH] Disable various compiler configs - ---- - build/config/compiler/BUILD.gn | 114 +++++---------------------------- - 1 file changed, 17 insertions(+), 97 deletions(-) - -diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn -index d40843b..b92f03b 100644 ---- a/build/config/compiler/BUILD.gn -+++ b/build/config/compiler/BUILD.gn -@@ -286,9 +286,7 @@ config("compiler") { - - configs += [ - # See the definitions below. -- ":clang_revision", - ":rustc_revision", -- ":compiler_cpu_abi", - ":compiler_codegen", - ":compiler_deterministic", - ] -@@ -522,31 +520,6 @@ config("compiler") { - ldflags += [ "-Wl,-z,keep-text-section-prefix" ] - } - -- if (is_clang && !is_nacl && current_os != "zos") { -- cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ] -- -- # TODO(hans): Remove this once Clang generates better optimized debug info -- # by default. https://crbug.com/765793 -- cflags += [ -- "-mllvm", -- "-instcombine-lower-dbg-declare=0", -- ] -- if (!is_debug && use_thin_lto && is_a_target_toolchain) { -- if (is_win) { -- ldflags += [ "-mllvm:-instcombine-lower-dbg-declare=0" ] -- } else { -- ldflags += [ "-Wl,-mllvm,-instcombine-lower-dbg-declare=0" ] -- } -- } -- -- # TODO(crbug.com/1235145): Investigate why/if this should be needed. -- if (is_win) { -- cflags += [ "/clang:-ffp-contract=off" ] -- } else { -- cflags += [ "-ffp-contract=off" ] -- } -- } -- - # Rust compiler setup (for either clang or rustc). - if (enable_rust) { - defines += [ "RUST_ENABLED" ] -@@ -1232,45 +1205,6 @@ config("compiler_deterministic") { - } - } - -- # Makes builds independent of absolute file path. -- if (is_clang && strip_absolute_paths_from_debug_symbols) { -- # If debug option is given, clang includes $cwd in debug info by default. -- # For such build, this flag generates reproducible obj files even we use -- # different build directory like "out/feature_a" and "out/feature_b" if -- # we build same files with same compile flag. -- # Other paths are already given in relative, no need to normalize them. -- if (is_nacl) { -- # TODO(https://crbug.com/1231236): Use -ffile-compilation-dir= here. -- cflags += [ -- "-Xclang", -- "-fdebug-compilation-dir", -- "-Xclang", -- ".", -- ] -- } else { -- # -ffile-compilation-dir is an alias for both -fdebug-compilation-dir= -- # and -fcoverage-compilation-dir=. -- cflags += [ "-ffile-compilation-dir=." ] -- } -- if (!is_win) { -- # We don't use clang -cc1as on Windows (yet? https://crbug.com/762167) -- asmflags = [ "-Wa,-fdebug-compilation-dir,." ] -- } -- -- if (is_win && use_lld) { -- if (symbol_level == 2 || (is_clang && using_sanitizer)) { -- # Absolutize source file paths for PDB. Pass the real build directory -- # if the pdb contains source-level debug information and if linker -- # reproducibility is not critical. -- ldflags += [ "/PDBSourcePath:" + rebase_path(root_build_dir) ] -- } else { -- # Use a fake fixed base directory for paths in the pdb to make the pdb -- # output fully deterministic and independent of the build directory. -- ldflags += [ "/PDBSourcePath:o:\fake\prefix" ] -- } -- } -- } -- - # Tells the compiler not to use absolute paths when passing the default - # paths to the tools it invokes. We don't want this because we don't - # really need it and it can mess up the goma cache entries. -@@ -1538,15 +1472,6 @@ config("default_warnings") { - cflags += [ "-Wno-deprecated-non-prototype" ] - } - -- if (!is_nacl && !(is_chromeos || -- default_toolchain == "//build/toolchain/cros:target")) { -- # TODO(https://crbug.com/1316298): Re-enable once test failure is figured out -- cflags += [ -- "-Xclang", -- "-no-opaque-pointers", -- ] -- } -- - if (is_fuchsia) { - # TODO(https://bugs.chromium.org/p/fuchsia/issues/detail?id=77383) - cflags += [ "-Wno-deprecated-copy" ] -@@ -1615,7 +1540,7 @@ config("chromium_code") { - defines = [ "_HAS_NODISCARD" ] - } - } else { -- cflags = [ "-Wall" ] -+ cflags = [] - if (treat_warnings_as_errors) { - cflags += [ "-Werror" ] - -@@ -1624,10 +1549,6 @@ config("chromium_code") { - # well. - ldflags = [ "-Werror" ] - } -- if (is_clang) { -- # Enable extra warnings for chromium_code when we control the compiler. -- cflags += [ "-Wextra" ] -- } - - # In Chromium code, we define __STDC_foo_MACROS in order to get the - # C99 macros on Mac and Linux. -@@ -1636,15 +1557,6 @@ config("chromium_code") { - "__STDC_FORMAT_MACROS", - ] - -- if (!is_debug && !using_sanitizer && current_cpu != "s390x" && -- current_cpu != "s390" && current_cpu != "ppc64" && -- current_cpu != "mips" && current_cpu != "mips64") { -- # Non-chromium code is not guaranteed to compile cleanly with -- # _FORTIFY_SOURCE. Also, fortified build may fail when optimizations are -- # disabled, so only do that for Release build. -- defines += [ "_FORTIFY_SOURCE=2" ] -- } -- - if (is_mac) { - cflags_objc = [ "-Wobjc-missing-property-synthesis" ] - cflags_objcc = [ "-Wobjc-missing-property-synthesis" ] -@@ -2035,7 +1947,8 @@ config("default_stack_frames") { - } - - # Default "optimization on" config. --config("optimize") { -+config("optimize") { } -+config("xoptimize") { - if (is_win) { - if (chrome_pgo_phase != 2) { - # Favor size over speed, /O1 must be before the common flags. -@@ -2073,7 +1986,8 @@ config("optimize") { - } - - # Turn off optimizations. --config("no_optimize") { -+config("no_optimize") { } -+config("xno_optimize") { - if (is_win) { - cflags = [ - "/Od", # Disable optimization. -@@ -2113,7 +2027,8 @@ config("no_optimize") { - # Turns up the optimization level. On Windows, this implies whole program - # optimization and link-time code generation which is very expensive and should - # be used sparingly. --config("optimize_max") { -+config("optimize_max") { } -+config("xoptimize_max") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2146,7 +2061,8 @@ config("optimize_max") { - # - # TODO(crbug.com/621335) - rework how all of these configs are related - # so that we don't need this disclaimer. --config("optimize_speed") { -+config("optimize_speed") { } -+config("xoptimize_speed") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2172,7 +2088,8 @@ config("optimize_speed") { - } - } - --config("optimize_fuzzing") { -+config("optimize_fuzzing") { } -+config("xoptimize_fuzzing") { - cflags = [ "-O1" ] + common_optimize_on_cflags - rustflags = [ "-Copt-level=1" ] - ldflags = common_optimize_on_ldflags -@@ -2291,7 +2208,8 @@ config("win_pdbaltpath") { - } - - # Full symbols. --config("symbols") { -+config("symbols") { } -+config("xsymbols") { - if (is_win) { - if (is_clang) { - cflags = [ "/Z7" ] # Debug information in the .obj files. -@@ -2419,7 +2337,8 @@ config("symbols") { - # Minimal symbols. - # This config guarantees to hold symbol for stack trace which are shown to user - # when crash happens in unittests running on buildbot. --config("minimal_symbols") { -+config("minimal_symbols") { } -+config("xminimal_symbols") { - if (is_win) { - # Functions, files, and line tables only. - cflags = [] -@@ -2492,7 +2411,8 @@ config("minimal_symbols") { - # This configuration contains function names only. That is, the compiler is - # told to not generate debug information and the linker then just puts function - # names in the final debug information. --config("no_symbols") { -+config("no_symbols") { } -+config("xno_symbols") { - if (is_win) { - ldflags = [ "/DEBUG" ] - --- -2.35.1 - diff --git a/www-client/chromium/files/chromium-103-FrameLoadRequest-type.patch b/www-client/chromium/files/chromium-103-FrameLoadRequest-type.patch deleted file mode 100644 index cdace4b..0000000 --- a/www-client/chromium/files/chromium-103-FrameLoadRequest-type.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 491bf840da4f76fa3591cc0aa2f4c19cdbe57ec4 Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann <stha09@googlemail.com> -Date: Thu, 12 May 2022 11:58:29 +0000 -Subject: [PATCH] GCC: fix ambiguous references in blink::FrameLoadRequest - -Add namespace to avoid confusion. ---- - third_party/blink/renderer/core/loader/frame_load_request.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/third_party/blink/renderer/core/loader/frame_load_request.h b/third_party/blink/renderer/core/loader/frame_load_request.h -index 444b25c..a86814d 100644 ---- a/third_party/blink/renderer/core/loader/frame_load_request.h -+++ b/third_party/blink/renderer/core/loader/frame_load_request.h -@@ -179,7 +179,7 @@ struct CORE_EXPORT FrameLoadRequest { - impression_ = impression; - } - -- const absl::optional<Impression>& Impression() const { return impression_; } -+ const absl::optional<blink::Impression>& Impression() const { return impression_; } - - bool CanDisplay(const KURL&) const; - --- -2.35.1 - diff --git a/www-client/chromium/files/chromium-103-SubstringSetMatcher-packed.patch b/www-client/chromium/files/chromium-103-SubstringSetMatcher-packed.patch deleted file mode 100644 index 03e9bd8..0000000 --- a/www-client/chromium/files/chromium-103-SubstringSetMatcher-packed.patch +++ /dev/null @@ -1,70 +0,0 @@ -From 3d274856e792a361336eb4ae1670bc9c1905f0cb Mon Sep 17 00:00:00 2001 -From: Steinar H. Gunderson <sesse@chromium.org> -Date: Thu, 12 May 2022 16:42:40 +0200 -Subject: [PATCH] Make AhoCorasickNode 4-aligned. - -This should fix an issue where std::vector could allocate unaligned -memory for AhoCorasickNode, and we'd then return a pointer to -inline_edges, where a caller would expect the pointer to be aligned -but it wasn't. - -Change-Id: Id9dff044c61f8e46062c63b8480b18ebc68c4862 ---- - -diff --git a/components/url_matcher/substring_set_matcher.cc b/components/url_matcher/substring_set_matcher.cc -index e110047..ef0b750 100644 ---- a/components/url_matcher/substring_set_matcher.cc -+++ b/components/url_matcher/substring_set_matcher.cc -@@ -424,7 +424,12 @@ - edges_.inline_edges[num_edges()] = AhoCorasickEdge{label, node}; - if (label == kFailureNodeLabel) { - // Make sure that kFailureNodeLabel is first. -- std::swap(edges_.inline_edges[0], edges_.inline_edges[num_edges()]); -+ // NOTE: We don't use std::swap here, because GCC -+ // doesn't understand that inline_edges[] is 4-aligned -+ // and gives a warning. -+ AhoCorasickEdge temp = edges_.inline_edges[0]; -+ edges_.inline_edges[0] = edges_.inline_edges[num_edges()]; -+ edges_.inline_edges[num_edges()] = temp; - } - --num_free_edges_; - return; -diff --git a/components/url_matcher/substring_set_matcher.cc b/components/url_matcher/substring_set_matcher.cc -index e110047..ef0b750 100644 ---- a/components/url_matcher/substring_set_matcher.h -+++ b/components/url_matcher/substring_set_matcher.h -@@ -154,8 +154,9 @@ - static constexpr uint32_t kEmptyLabel = 0x103; - - // A node in the trie, packed tightly together so that it occupies 12 bytes -- // (both on 32- and 64-bit platforms). -- class AhoCorasickNode { -+ // (both on 32- and 64-bit platforms), but aligned to at least 4 (see the -+ // comment on edges_). -+ class alignas(AhoCorasickEdge) AhoCorasickNode { - public: - AhoCorasickNode(); - ~AhoCorasickNode(); -@@ -178,6 +179,10 @@ - NodeID GetEdgeNoInline(uint32_t label) const; - void SetEdge(uint32_t label, NodeID node); - const AhoCorasickEdge* edges() const { -+ // NOTE: Returning edges_.inline_edges here is fine, because it's -+ // the first thing in the struct (see the comment on edges_). -+ DCHECK_EQ(0u, reinterpret_cast<uintptr_t>(edges_.inline_edges) % -+ alignof(AhoCorasickEdge)); - return edges_capacity_ == 0 ? edges_.inline_edges : edges_.edges; - } - -@@ -258,6 +263,11 @@ - // in the first slot if it exists (ie., is not equal to kRootID), since we - // need to access that label during every single node we look at during - // traversal. -+ // -+ // NOTE: Keep this the first member in the struct, so that inline_edges gets -+ // 4-aligned (since the class is marked as such, despite being packed. -+ // Otherwise, edges() can return an unaligned pointer marked as aligned -+ // (the unalignedness gets lost). - static constexpr int kNumInlineEdges = 2; - union { - // Out-of-line edge storage, having room for edges_capacity_ elements. diff --git a/www-client/chromium/files/chromium-103-compiler.patch b/www-client/chromium/files/chromium-103-compiler.patch deleted file mode 100644 index e1469bf..0000000 --- a/www-client/chromium/files/chromium-103-compiler.patch +++ /dev/null @@ -1,235 +0,0 @@ -From 307a0f63dd9b118f4b8470ed3d7567e81fdb7a6d Mon Sep 17 00:00:00 2001 -From: Mike Gilbert <floppym@gentoo.org> -Date: Tue, 3 May 2022 10:51:55 +0000 -Subject: [PATCH] Disable various compiler configs - ---- - build/config/compiler/BUILD.gn | 114 +++++---------------------------- - 1 file changed, 17 insertions(+), 97 deletions(-) - -diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn -index f378b95..cb2aeb3 100644 ---- a/build/config/compiler/BUILD.gn -+++ b/build/config/compiler/BUILD.gn -@@ -286,9 +286,7 @@ config("compiler") { - - configs += [ - # See the definitions below. -- ":clang_revision", - ":rustc_revision", -- ":compiler_cpu_abi", - ":compiler_codegen", - ":compiler_deterministic", - ] -@@ -522,31 +520,6 @@ config("compiler") { - ldflags += [ "-Wl,-z,keep-text-section-prefix" ] - } - -- if (is_clang && !is_nacl && current_os != "zos") { -- cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ] -- -- # TODO(hans): Remove this once Clang generates better optimized debug info -- # by default. https://crbug.com/765793 -- cflags += [ -- "-mllvm", -- "-instcombine-lower-dbg-declare=0", -- ] -- if (!is_debug && use_thin_lto && is_a_target_toolchain) { -- if (is_win) { -- ldflags += [ "-mllvm:-instcombine-lower-dbg-declare=0" ] -- } else { -- ldflags += [ "-Wl,-mllvm,-instcombine-lower-dbg-declare=0" ] -- } -- } -- -- # TODO(crbug.com/1235145): Investigate why/if this should be needed. -- if (is_win) { -- cflags += [ "/clang:-ffp-contract=off" ] -- } else { -- cflags += [ "-ffp-contract=off" ] -- } -- } -- - # Rust compiler setup (for either clang or rustc). - if (enable_rust) { - defines += [ "RUST_ENABLED" ] -@@ -1231,45 +1204,6 @@ config("compiler_deterministic") { - } - } - -- # Makes builds independent of absolute file path. -- if (is_clang && strip_absolute_paths_from_debug_symbols) { -- # If debug option is given, clang includes $cwd in debug info by default. -- # For such build, this flag generates reproducible obj files even we use -- # different build directory like "out/feature_a" and "out/feature_b" if -- # we build same files with same compile flag. -- # Other paths are already given in relative, no need to normalize them. -- if (is_nacl) { -- # TODO(https://crbug.com/1231236): Use -ffile-compilation-dir= here. -- cflags += [ -- "-Xclang", -- "-fdebug-compilation-dir", -- "-Xclang", -- ".", -- ] -- } else { -- # -ffile-compilation-dir is an alias for both -fdebug-compilation-dir= -- # and -fcoverage-compilation-dir=. -- cflags += [ "-ffile-compilation-dir=." ] -- } -- if (!is_win) { -- # We don't use clang -cc1as on Windows (yet? https://crbug.com/762167) -- asmflags = [ "-Wa,-fdebug-compilation-dir,." ] -- } -- -- if (is_win && use_lld) { -- if (symbol_level == 2 || (is_clang && using_sanitizer)) { -- # Absolutize source file paths for PDB. Pass the real build directory -- # if the pdb contains source-level debug information and if linker -- # reproducibility is not critical. -- ldflags += [ "/PDBSourcePath:" + rebase_path(root_build_dir) ] -- } else { -- # Use a fake fixed base directory for paths in the pdb to make the pdb -- # output fully deterministic and independent of the build directory. -- ldflags += [ "/PDBSourcePath:o:\fake\prefix" ] -- } -- } -- } -- - # Tells the compiler not to use absolute paths when passing the default - # paths to the tools it invokes. We don't want this because we don't - # really need it and it can mess up the goma cache entries. -@@ -1534,15 +1468,6 @@ config("default_warnings") { - cflags += [ "-Wno-unqualified-std-cast-call" ] - } - -- if (!is_nacl && !(is_chromeos || -- default_toolchain == "//build/toolchain/cros:target")) { -- # TODO(https://crbug.com/1316298): Re-enable once test failure is figured out -- cflags += [ -- "-Xclang", -- "-no-opaque-pointers", -- ] -- } -- - if (is_fuchsia) { - # TODO(https://bugs.chromium.org/p/fuchsia/issues/detail?id=77383) - cflags += [ "-Wno-deprecated-copy" ] -@@ -1611,7 +1536,7 @@ config("chromium_code") { - defines = [ "_HAS_NODISCARD" ] - } - } else { -- cflags = [ "-Wall" ] -+ cflags = [] - if (treat_warnings_as_errors) { - cflags += [ "-Werror" ] - -@@ -1620,10 +1545,6 @@ config("chromium_code") { - # well. - ldflags = [ "-Werror" ] - } -- if (is_clang) { -- # Enable extra warnings for chromium_code when we control the compiler. -- cflags += [ "-Wextra" ] -- } - - # In Chromium code, we define __STDC_foo_MACROS in order to get the - # C99 macros on Mac and Linux. -@@ -1632,15 +1553,6 @@ config("chromium_code") { - "__STDC_FORMAT_MACROS", - ] - -- if (!is_debug && !using_sanitizer && current_cpu != "s390x" && -- current_cpu != "s390" && current_cpu != "ppc64" && -- current_cpu != "mips" && current_cpu != "mips64") { -- # Non-chromium code is not guaranteed to compile cleanly with -- # _FORTIFY_SOURCE. Also, fortified build may fail when optimizations are -- # disabled, so only do that for Release build. -- defines += [ "_FORTIFY_SOURCE=2" ] -- } -- - if (is_mac) { - cflags_objc = [ "-Wobjc-missing-property-synthesis" ] - cflags_objcc = [ "-Wobjc-missing-property-synthesis" ] -@@ -2031,7 +1943,8 @@ config("default_stack_frames") { - } - - # Default "optimization on" config. --config("optimize") { -+config("optimize") { } -+config("xoptimize") { - if (is_win) { - if (chrome_pgo_phase != 2) { - # Favor size over speed, /O1 must be before the common flags. -@@ -2069,7 +1982,8 @@ config("optimize") { - } - - # Turn off optimizations. --config("no_optimize") { -+config("no_optimize") { } -+config("xno_optimize") { - if (is_win) { - cflags = [ - "/Od", # Disable optimization. -@@ -2109,7 +2023,8 @@ config("no_optimize") { - # Turns up the optimization level. On Windows, this implies whole program - # optimization and link-time code generation which is very expensive and should - # be used sparingly. --config("optimize_max") { -+config("optimize_max") { } -+config("xoptimize_max") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2142,7 +2057,8 @@ config("optimize_max") { - # - # TODO(crbug.com/621335) - rework how all of these configs are related - # so that we don't need this disclaimer. --config("optimize_speed") { -+config("optimize_speed") { } -+config("xoptimize_speed") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2168,7 +2084,8 @@ config("optimize_speed") { - } - } - --config("optimize_fuzzing") { -+config("optimize_fuzzing") { } -+config("xoptimize_fuzzing") { - cflags = [ "-O1" ] + common_optimize_on_cflags - rustflags = [ "-Copt-level=1" ] - ldflags = common_optimize_on_ldflags -@@ -2287,7 +2204,8 @@ config("win_pdbaltpath") { - } - - # Full symbols. --config("symbols") { -+config("symbols") { } -+config("xsymbols") { - if (is_win) { - if (is_clang) { - cflags = [ "/Z7" ] # Debug information in the .obj files. -@@ -2415,7 +2333,8 @@ config("symbols") { - # Minimal symbols. - # This config guarantees to hold symbol for stack trace which are shown to user - # when crash happens in unittests running on buildbot. --config("minimal_symbols") { -+config("minimal_symbols") { } -+config("xminimal_symbols") { - if (is_win) { - # Functions, files, and line tables only. - cflags = [] -@@ -2488,7 +2407,8 @@ config("minimal_symbols") { - # This configuration contains function names only. That is, the compiler is - # told to not generate debug information and the linker then just puts function - # names in the final debug information. --config("no_symbols") { -+config("no_symbols") { } -+config("xno_symbols") { - if (is_win) { - ldflags = [ "/DEBUG" ] - --- -2.35.1 diff --git a/www-client/chromium/files/chromium-71-gcc-0.patch b/www-client/chromium/files/chromium-71-gcc-0.patch deleted file mode 100644 index 711b827..0000000 --- a/www-client/chromium/files/chromium-71-gcc-0.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 65be571f6ac2f7942b4df9e50b24da517f829eec Mon Sep 17 00:00:00 2001 -From: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> -Date: Mon, 15 Oct 2018 20:26:10 +0000 -Subject: [PATCH] google_util: Explicitly use std::initializer_list with - base::NoDestructor -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Follow-up to ac53c5c53 ("Remove CR_DEFINE_STATIC_LOCAL from /components"). -Due to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84849, having -base::NoDestructor<T<U>> and passing an initializer list of Us does not -work if this is not done explicitly, as GCC incorrectly fails to determine -which constructor overload to use: - - ../../components/google/core/common/google_util.cc: In function ‘bool google_util::{anonymous}::IsCanonicalHostGoogleHostname(base::StringPiece, google_util::SubdomainPermission)’: - ../../components/google/core/common/google_util.cc:120:24: error: call of overloaded ‘NoDestructor(<brace-enclosed initializer list>)’ is ambiguous - {GOOGLE_TLD_LIST}); - -See also: https://chromium-review.googlesource.com/c/chromium/src/+/1170905 - -Bug: 819294 -Change-Id: Ie1490b6646d7998d636c485769caabf56c1cf44c -Reviewed-on: https://chromium-review.googlesource.com/c/1275854 -Reviewed-by: Peter Kasting <pkasting@chromium.org> -Commit-Queue: Raphael Kubo da Costa (CET) <raphael.kubo.da.costa@intel.com> -Cr-Commit-Position: refs/heads/master@{#599733} ---- - components/google/core/common/google_util.cc | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/components/google/core/common/google_util.cc b/components/google/core/common/google_util.cc -index a44c84393820..7733848a0443 100644 ---- a/components/google/core/common/google_util.cc -+++ b/components/google/core/common/google_util.cc -@@ -117,7 +117,7 @@ bool IsCanonicalHostGoogleHostname(base::StringPiece canonical_host, - StripTrailingDot(&tld); - - static base::NoDestructor<std::set<std::string>> google_tlds( -- {GOOGLE_TLD_LIST}); -+ std::initializer_list<std::string>({GOOGLE_TLD_LIST})); - return base::ContainsKey(*google_tlds, tld.as_string()); - } - -@@ -132,7 +132,8 @@ bool IsGoogleSearchSubdomainUrl(const GURL& url) { - StripTrailingDot(&host); - - static base::NoDestructor<std::set<std::string>> google_subdomains( -- {"ipv4.google.com", "ipv6.google.com"}); -+ std::initializer_list<std::string>( -+ {"ipv4.google.com", "ipv6.google.com"})); - - return base::ContainsKey(*google_subdomains, host.as_string()); - } --- -2.19.1 - diff --git a/www-client/chromium/files/chromium-73-gcc-0.patch b/www-client/chromium/files/chromium-73-gcc-0.patch deleted file mode 100644 index 5a50700..0000000 --- a/www-client/chromium/files/chromium-73-gcc-0.patch +++ /dev/null @@ -1,108 +0,0 @@ -From 2c3b57cafbbb38c13a519c9d2fda8b65691d9564 Mon Sep 17 00:00:00 2001 -From: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> -Date: Thu, 7 Feb 2019 22:55:37 +0000 -Subject: [PATCH] allocator shim: Swap ALIGN_LINKAGE and SHIM_ALWAYS_EXPORT's - positions -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This fixes the GCC build. GCC seems to be stricter with the position of the -linkage specification, so just swap the terms to prevent an error that looks -like: - -In file included from ../../base/allocator/allocator_shim.cc:333: -../../base/allocator/allocator_shim_override_cpp_symbols.h:39:30: error: expected unqualified-id before string constant - #define ALIGN_LINKAGE extern "C" - ^~~ -../../base/allocator/allocator_shim_override_cpp_symbols.h:99:20: note: in expansion of macro ‘ALIGN_LINKAGE’ - SHIM_ALWAYS_EXPORT ALIGN_LINKAGE void* ALIGN_NEW(std::size_t size, - ^~~~~~~~~~~~~ - -Bug: 819294 -Change-Id: I0aa16ea88cead42e83796a1c86afad8b447ddc50 -Reviewed-on: https://chromium-review.googlesource.com/c/1458256 -Auto-Submit: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> -Reviewed-by: Thomas Anderson <thomasanderson@chromium.org> -Reviewed-by: Primiano Tucci <primiano@chromium.org> -Commit-Queue: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> -Cr-Commit-Position: refs/heads/master@{#630084} ---- - .../allocator_shim_override_cpp_symbols.h | 20 +++++++++---------- - 1 file changed, 10 insertions(+), 10 deletions(-) - -diff --git a/base/allocator/allocator_shim_override_cpp_symbols.h b/base/allocator/allocator_shim_override_cpp_symbols.h -index 1228f5e33d28..01d25b7f6437 100644 ---- a/base/allocator/allocator_shim_override_cpp_symbols.h -+++ b/base/allocator/allocator_shim_override_cpp_symbols.h -@@ -96,57 +96,57 @@ SHIM_ALWAYS_EXPORT void operator delete[](void* p, size_t) __THROW { - ShimCppDelete(p); - } - --SHIM_ALWAYS_EXPORT ALIGN_LINKAGE void* ALIGN_NEW(std::size_t size, -+ALIGN_LINKAGE SHIM_ALWAYS_EXPORT void* ALIGN_NEW(std::size_t size, - ALIGN_VAL_T alignment) { - return ShimCppAlignedNew(size, static_cast<size_t>(alignment)); - } - --SHIM_ALWAYS_EXPORT ALIGN_LINKAGE void* ALIGN_NEW_NOTHROW( -+ALIGN_LINKAGE SHIM_ALWAYS_EXPORT void* ALIGN_NEW_NOTHROW( - std::size_t size, - ALIGN_VAL_T alignment, - const std::nothrow_t&) __THROW { - return ShimCppAlignedNew(size, static_cast<size_t>(alignment)); - } - --SHIM_ALWAYS_EXPORT ALIGN_LINKAGE void ALIGN_DEL(void* p, ALIGN_VAL_T) __THROW { -+ALIGN_LINKAGE SHIM_ALWAYS_EXPORT void ALIGN_DEL(void* p, ALIGN_VAL_T) __THROW { - ShimCppDelete(p); - } - --SHIM_ALWAYS_EXPORT ALIGN_LINKAGE void ALIGN_DEL_SIZED(void* p, -+ALIGN_LINKAGE SHIM_ALWAYS_EXPORT void ALIGN_DEL_SIZED(void* p, - std::size_t size, - ALIGN_VAL_T) __THROW { - ShimCppDelete(p); - } - --SHIM_ALWAYS_EXPORT ALIGN_LINKAGE void -+ALIGN_LINKAGE SHIM_ALWAYS_EXPORT void - ALIGN_DEL_NOTHROW(void* p, ALIGN_VAL_T, const std::nothrow_t&) __THROW { - ShimCppDelete(p); - } - --SHIM_ALWAYS_EXPORT ALIGN_LINKAGE void* ALIGN_NEW_ARR(std::size_t size, -+ALIGN_LINKAGE SHIM_ALWAYS_EXPORT void* ALIGN_NEW_ARR(std::size_t size, - ALIGN_VAL_T alignment) { - return ShimCppAlignedNew(size, static_cast<size_t>(alignment)); - } - --SHIM_ALWAYS_EXPORT ALIGN_LINKAGE void* ALIGN_NEW_ARR_NOTHROW( -+ALIGN_LINKAGE SHIM_ALWAYS_EXPORT void* ALIGN_NEW_ARR_NOTHROW( - std::size_t size, - ALIGN_VAL_T alignment, - const std::nothrow_t&) __THROW { - return ShimCppAlignedNew(size, static_cast<size_t>(alignment)); - } - --SHIM_ALWAYS_EXPORT ALIGN_LINKAGE void ALIGN_DEL_ARR(void* p, -+ALIGN_LINKAGE SHIM_ALWAYS_EXPORT void ALIGN_DEL_ARR(void* p, - ALIGN_VAL_T) __THROW { - ShimCppDelete(p); - } - --SHIM_ALWAYS_EXPORT ALIGN_LINKAGE void ALIGN_DEL_ARR_SIZED(void* p, -+ALIGN_LINKAGE SHIM_ALWAYS_EXPORT void ALIGN_DEL_ARR_SIZED(void* p, - std::size_t size, - ALIGN_VAL_T) __THROW { - ShimCppDelete(p); - } - --SHIM_ALWAYS_EXPORT ALIGN_LINKAGE void -+ALIGN_LINKAGE SHIM_ALWAYS_EXPORT void - ALIGN_DEL_ARR_NOTHROW(void* p, ALIGN_VAL_T, const std::nothrow_t&) __THROW { - ShimCppDelete(p); - } --- -2.20.1 - diff --git a/www-client/chromium/files/chromium-73-gcc-1.patch b/www-client/chromium/files/chromium-73-gcc-1.patch deleted file mode 100644 index c3f8e42..0000000 --- a/www-client/chromium/files/chromium-73-gcc-1.patch +++ /dev/null @@ -1,99 +0,0 @@ -From 130a5ae24a02daba8729ba2216bcaf3dbfacea69 Mon Sep 17 00:00:00 2001 -From: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> -Date: Fri, 8 Feb 2019 16:58:38 +0000 -Subject: [PATCH] media::learning: Make LabelledExample's move assignment - operator noexcept -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The GCC build is currently broken with an error like this: - - ../../media/learning/common/labelled_example.cc:20:1: error: function ‘media::learning::LabelledExample::LabelledExample(media::learning::LabelledExample&&)’ defaulted on its redeclaration with an exception-specification that differs from the implicit exception-specification ‘’ - LabelledExample::LabelledExample(LabelledExample&& rhs) noexcept = default; - ^~~~~~~~~~~~~~~ - -With GCC, having that noexcept marker requires all members to be marked with -noexcept themselves, and TargetValue was missing some assignment operators -and noexcept markers. - -clang is fine because we pass -fno-exceptions and it disables the same error -there, while GCC continues to raise it (bug 843143 and its corresponding CL -have a longer discussion on this issue). - -Bug: 819294 -Change-Id: Ide30932fc466ccb52d6883a82777e703dae48798 -Reviewed-on: https://chromium-review.googlesource.com/c/1458210 -Commit-Queue: Frank Liberato <liberato@chromium.org> -Reviewed-by: Frank Liberato <liberato@chromium.org> -Auto-Submit: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> -Cr-Commit-Position: refs/heads/master@{#630355} ---- - media/learning/common/labelled_example.cc | 3 ++- - media/learning/common/labelled_example.h | 2 +- - media/learning/common/value.cc | 6 ++++++ - media/learning/common/value.h | 4 ++++ - 4 files changed, 13 insertions(+), 2 deletions(-) - -diff --git a/media/learning/common/labelled_example.cc b/media/learning/common/labelled_example.cc -index 76d08509298e..43e834f9f3cf 100644 ---- a/media/learning/common/labelled_example.cc -+++ b/media/learning/common/labelled_example.cc -@@ -59,7 +59,8 @@ bool LabelledExample::operator<(const LabelledExample& rhs) const { - LabelledExample& LabelledExample::operator=(const LabelledExample& rhs) = - default; - --LabelledExample& LabelledExample::operator=(LabelledExample&& rhs) = default; -+LabelledExample& LabelledExample::operator=(LabelledExample&& rhs) noexcept = -+ default; - - TrainingData::TrainingData() = default; - -diff --git a/media/learning/common/labelled_example.h b/media/learning/common/labelled_example.h -index 4f43c54e7a76..365abc3c0ebf 100644 ---- a/media/learning/common/labelled_example.h -+++ b/media/learning/common/labelled_example.h -@@ -40,7 +40,7 @@ struct COMPONENT_EXPORT(LEARNING_COMMON) LabelledExample { - bool operator<(const LabelledExample& rhs) const; - - LabelledExample& operator=(const LabelledExample& rhs); -- LabelledExample& operator=(LabelledExample&& rhs); -+ LabelledExample& operator=(LabelledExample&& rhs) noexcept; - - // Observed feature values. - // Note that to interpret these values, you probably need to have the -diff --git a/media/learning/common/value.cc b/media/learning/common/value.cc -index 9c9395c25d4e..12ea399d24c3 100644 ---- a/media/learning/common/value.cc -+++ b/media/learning/common/value.cc -@@ -23,6 +23,12 @@ Value::Value(const std::string& x) : value_(base::PersistentHash(x)) {} - - Value::Value(const Value& other) : value_(other.value_) {} - -+Value::Value(Value&& rhs) noexcept = default; -+ -+Value& Value::operator=(const Value& rhs) = default; -+ -+Value& Value::operator=(Value&& rhs) noexcept = default; -+ - bool Value::operator==(const Value& rhs) const { - return value_ == rhs.value_; - } -diff --git a/media/learning/common/value.h b/media/learning/common/value.h -index 0e64da961f34..62f4953f691c 100644 ---- a/media/learning/common/value.h -+++ b/media/learning/common/value.h -@@ -38,6 +38,10 @@ class COMPONENT_EXPORT(LEARNING_COMMON) Value { - explicit Value(const std::string& x); - - Value(const Value& other); -+ Value(Value&&) noexcept; -+ -+ Value& operator=(const Value&); -+ Value& operator=(Value&&) noexcept; - - bool operator==(const Value& rhs) const; - bool operator!=(const Value& rhs) const; --- -2.20.1 - diff --git a/www-client/chromium/files/chromium-73-gcc-2.patch b/www-client/chromium/files/chromium-73-gcc-2.patch deleted file mode 100644 index 9d1f05a..0000000 --- a/www-client/chromium/files/chromium-73-gcc-2.patch +++ /dev/null @@ -1,51 +0,0 @@ -From a5ba6f9bb7665040045dc0f8087407096630ad7b Mon Sep 17 00:00:00 2001 -From: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> -Date: Fri, 8 Feb 2019 02:57:28 +0000 -Subject: [PATCH] color_utils: Use std::sqrt() instead of std::sqrtf() -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This fixes the build with libstdc++: - - ../../ui/gfx/color_utils.cc: In function ‘SkColor color_utils::SetDarkestColorForTesting(SkColor)’: - ../../ui/gfx/color_utils.cc:434:12: error: ‘sqrtf’ is not a member of ‘std’ - std::sqrtf((dark_luminance + 0.05f) * (kWhiteLuminance + 0.05f)) - 0.05f; - ^~~~~ - ../../ui/gfx/color_utils.cc:434:12: note: suggested alternative: ‘sqrt’ - std::sqrtf((dark_luminance + 0.05f) * (kWhiteLuminance + 0.05f)) - 0.05f; - ^~~~~ - sqrt - -sqrtf() is not formally part of C++14 as far as I can see even though libc++ -has it in <cmath>. Additionally, we're only dealing with floats in all parts -of the expression above, so using the float sqrt() overload should be -harmless anyway. - -Bug: 819294 -Change-Id: If6c7bf31819df97a761e6963def6d6506154c34d -Reviewed-on: https://chromium-review.googlesource.com/c/1458193 -Auto-Submit: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> -Reviewed-by: Peter Kasting <pkasting@chromium.org> -Commit-Queue: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> -Cr-Commit-Position: refs/heads/master@{#630140} ---- - ui/gfx/color_utils.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/ui/gfx/color_utils.cc b/ui/gfx/color_utils.cc -index c868cd54bac3..92ba1407d594 100644 ---- a/ui/gfx/color_utils.cc -+++ b/ui/gfx/color_utils.cc -@@ -431,7 +431,7 @@ SkColor SetDarkestColorForTesting(SkColor color) { - // GetContrastRatio(kWhiteLuminance, g_luminance_midpoint). The formula below - // can be verified by plugging it into how GetContrastRatio() operates. - g_luminance_midpoint = -- std::sqrtf((dark_luminance + 0.05f) * (kWhiteLuminance + 0.05f)) - 0.05f; -+ std::sqrt((dark_luminance + 0.05f) * (kWhiteLuminance + 0.05f)) - 0.05f; - - return previous_darkest_color; - } --- -2.20.1 - diff --git a/www-client/chromium/files/chromium-73-gcc-3.patch b/www-client/chromium/files/chromium-73-gcc-3.patch deleted file mode 100644 index 9cc6cf2..0000000 --- a/www-client/chromium/files/chromium-73-gcc-3.patch +++ /dev/null @@ -1,69 +0,0 @@ -From c33e832cc145c696d2157796c7640e659740dafa Mon Sep 17 00:00:00 2001 -From: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> -Date: Fri, 8 Feb 2019 08:44:00 +0000 -Subject: [PATCH] quic_flags_impl: Fix GCC build after #618558 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Due to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84849, having -base::NoDestructor<T<U>> and passing an initializer list of Us does not -work if this is not done explicitly, as GCC incorrectly fails to determine -which constructor overload to use: - - ../../net/third_party/quic/platform/impl/quic_flags_impl.cc: In member function ‘bool quic::TypedQuicFlagHelper<T>::SetFlag(const string&) const [with T = bool; std::__cxx11::string = std::__cxx11::basic_string<char>]’: - ../../net/third_party/quic/platform/impl/quic_flags_impl.cc:156:41: error: call of overloaded ‘NoDestructor(<brace-enclosed initializer list>)’ is ambiguous - {"", "1", "t", "true", "y", "yes"}); - ^ - In file included from ../../net/third_party/quic/platform/impl/quic_flags_impl.h:16, - from ../../net/third_party/quic/platform/impl/quic_flags_impl.cc:5: - ../../base/no_destructor.h:62:3: note: candidate: ‘base::NoDestructor<T>::NoDestructor(const base::NoDestructor<T>&) [with T = std::set<std::__cxx11::basic_string<char> >]’ <deleted> - NoDestructor(const NoDestructor&) = delete; - ^~~~~~~~~~~~ - ../../base/no_destructor.h:60:12: note: candidate: ‘base::NoDestructor<T>::NoDestructor(T&&) [with T = std::set<std::__cxx11::basic_string<char> >]’ - explicit NoDestructor(T&& x) { new (storage_) T(std::move(x)); } - ^~~~~~~~~~~~ - ../../base/no_destructor.h:59:12: note: candidate: ‘base::NoDestructor<T>::NoDestructor(const T&) [with T = std::set<std::__cxx11::basic_string<char> >]’ - explicit NoDestructor(const T& x) { new (storage_) T(x); } - ^~~~~~~~~~~~ - -Explicitly use an std::initializer_list to make the build work everywhere. - -Bug: 819294 -Change-Id: I775be20e3766a88a656b58c94c40869cb1bee2a8 -Reviewed-on: https://chromium-review.googlesource.com/c/1458214 -Auto-Submit: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> -Reviewed-by: Ryan Hamilton <rch@chromium.org> -Commit-Queue: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> -Cr-Commit-Position: refs/heads/master@{#630249} ---- - net/third_party/quic/platform/impl/quic_flags_impl.cc | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/net/third_party/quic/platform/impl/quic_flags_impl.cc b/net/third_party/quic/platform/impl/quic_flags_impl.cc -index 5e6962d1e770..3fa45fc6892d 100644 ---- a/net/third_party/quic/platform/impl/quic_flags_impl.cc -+++ b/net/third_party/quic/platform/impl/quic_flags_impl.cc -@@ -5,6 +5,7 @@ - #include "net/third_party/quic/platform/impl/quic_flags_impl.h" - - #include <algorithm> -+#include <initializer_list> - #include <iostream> - #include <set> - -@@ -153,9 +154,9 @@ std::string QuicFlagRegistry::GetHelp() const { - template <> - bool TypedQuicFlagHelper<bool>::SetFlag(const std::string& s) const { - static const base::NoDestructor<std::set<std::string>> kTrueValues( -- {"", "1", "t", "true", "y", "yes"}); -+ std::initializer_list<std::string>({"", "1", "t", "true", "y", "yes"})); - static const base::NoDestructor<std::set<std::string>> kFalseValues( -- {"0", "f", "false", "n", "no"}); -+ std::initializer_list<std::string>({"0", "f", "false", "n", "no"})); - if (kTrueValues->find(base::ToLowerASCII(s)) != kTrueValues->end()) { - *flag_ = true; - return true; --- -2.20.1 - diff --git a/www-client/chromium/files/chromium-73-gcc-4.patch b/www-client/chromium/files/chromium-73-gcc-4.patch deleted file mode 100644 index df7d630..0000000 --- a/www-client/chromium/files/chromium-73-gcc-4.patch +++ /dev/null @@ -1,59 +0,0 @@ -From bdd76190e54e6a0e11343dd19e4bf1d06956fa48 Mon Sep 17 00:00:00 2001 -From: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> -Date: Wed, 13 Feb 2019 01:02:27 +0000 -Subject: [PATCH] BaseRenderingContext2D: Use base::CheckMul and simplify code - in putImageData() -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Follow-up to commit e0b3253a56 ("Fix image conversion truncation issues"). -The current code does not build with GCC due to -https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89287: - - ../../third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc: In member function ‘void blink::BaseRenderingContext2D::putImageData(blink::ImageData*, int, int, int, int, int, int, blink::ExceptionState&)’: - ../../third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc:1777:44: error: default type conversion can't deduce template argument for ‘template<class Dst, typename std::enable_if<base::internal::IsNumericRangeContained<Dst, long unsigned int, void>::value, void>::type* <anonymous> > constexpr base::internal::StrictNumeric<T>::operator Dst() const [with Dst = Dst; typename std::enable_if<base::internal::IsNumericRangeContained<Dst, T>::value>::type* <anonymous> = <enumerator>; T = long unsigned int]’ - new uint8_t[data_length.ValueOrDie()]); - ^ - -Work around it by using the more idiomatic base::CheckMul() with -AssignIfValid, so that we can have |data_length| be a size_t again and not -leave it to the compiler to figure out the type we want when creating the -|converted_pixels| array. - -Bug: 819294 -Change-Id: Id124cc4f3d749b45def4708e21e4badafd708578 -Reviewed-on: https://chromium-review.googlesource.com/c/1467201 -Auto-Submit: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> -Commit-Queue: Kentaro Hara <haraken@chromium.org> -Reviewed-by: Kentaro Hara <haraken@chromium.org> -Cr-Commit-Position: refs/heads/master@{#631472} ---- - .../canvas/canvas2d/base_rendering_context_2d.cc | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc b/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc -index d9fa696c9a9d..34a8a202bfd3 100644 ---- a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc -+++ b/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc -@@ -1769,12 +1769,12 @@ void BaseRenderingContext2D::putImageData(ImageData* data, - CanvasColorParams(ColorParams().ColorSpace(), PixelFormat(), kNonOpaque); - if (data_color_params.NeedsColorConversion(context_color_params) || - PixelFormat() == kF16CanvasPixelFormat) { -- base::CheckedNumeric<size_t> data_length = data->Size().Area(); -- data_length *= context_color_params.BytesPerPixel(); -- if (!data_length.IsValid()) -+ size_t data_length; -+ if (!base::CheckMul(data->Size().Area(), -+ context_color_params.BytesPerPixel()) -+ .AssignIfValid(&data_length)) - return; -- std::unique_ptr<uint8_t[]> converted_pixels( -- new uint8_t[data_length.ValueOrDie()]); -+ std::unique_ptr<uint8_t[]> converted_pixels(new uint8_t[data_length]); - if (data->ImageDataInCanvasColorSettings( - ColorParams().ColorSpace(), PixelFormat(), converted_pixels.get(), - kRGBAColorType)) { --- -2.20.1 - diff --git a/www-client/chromium/files/chromium-73-gcc-5.patch b/www-client/chromium/files/chromium-73-gcc-5.patch deleted file mode 100644 index 033861e..0000000 --- a/www-client/chromium/files/chromium-73-gcc-5.patch +++ /dev/null @@ -1,65 +0,0 @@ -From 78b0f0dfa9e6f3c37b71102c01def92f1ab8c330 Mon Sep 17 00:00:00 2001 -From: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> -Date: Wed, 13 Feb 2019 23:28:46 +0000 -Subject: [PATCH] CastActivityManager: Do not make DoLaunchSessionParams' move - constructor noexcept -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This fixes the GCC build: - - ../../chrome/browser/media/router/providers/cast/cast_activity_manager.cc:806:1: error: function ‘media_router::CastActivityManager::DoLaunchSessionParams::DoLaunchSessionParams(media_router::CastActivityManager::DoLaunchSessionParams&&)’ defaulted on its redeclaration with an exception-specification that differs from the implicit exception-specification ‘’ - CastActivityManager::DoLaunchSessionParams::DoLaunchSessionParams( - ^~~~~~~~~~~~~~~~~~~ - -With GCC, having that noexcept marker requires all members to be marked with -noexcept themselves, and MediaRoute, CastMediaSource and url::Origin need -the right annotations. Just making DoLaunchSessionParams not noexcept is the -least intrusive solution for now. - -clang is fine because we pass -fno-exceptions and it disables the same error -there, while GCC continues to raise it (bug 843143 and its corresponding CL -have a longer discussion on this issue). - -Bug: 819294 -Change-Id: Ia3a5fb60b5e74e68bd35cfa50e2fcc728b64e5eb -Reviewed-on: https://chromium-review.googlesource.com/c/1469942 -Commit-Queue: mark a. foltz <mfoltz@chromium.org> -Auto-Submit: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> -Reviewed-by: mark a. foltz <mfoltz@chromium.org> -Cr-Commit-Position: refs/heads/master@{#631962} ---- - .../media/router/providers/cast/cast_activity_manager.cc | 2 +- - .../browser/media/router/providers/cast/cast_activity_manager.h | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/chrome/browser/media/router/providers/cast/cast_activity_manager.cc b/chrome/browser/media/router/providers/cast/cast_activity_manager.cc -index b7ee9695f69a..8569e0cd30a3 100644 ---- a/chrome/browser/media/router/providers/cast/cast_activity_manager.cc -+++ b/chrome/browser/media/router/providers/cast/cast_activity_manager.cc -@@ -804,7 +804,7 @@ CastActivityManager::DoLaunchSessionParams::DoLaunchSessionParams( - callback(std::move(callback)) {} - - CastActivityManager::DoLaunchSessionParams::DoLaunchSessionParams( -- DoLaunchSessionParams&& other) noexcept = default; -+ DoLaunchSessionParams&& other) = default; - - CastActivityManager::DoLaunchSessionParams::~DoLaunchSessionParams() = default; - -diff --git a/chrome/browser/media/router/providers/cast/cast_activity_manager.h b/chrome/browser/media/router/providers/cast/cast_activity_manager.h -index 325bffc725ee..08fe0ccca603 100644 ---- a/chrome/browser/media/router/providers/cast/cast_activity_manager.h -+++ b/chrome/browser/media/router/providers/cast/cast_activity_manager.h -@@ -295,7 +295,7 @@ class CastActivityManager : public cast_channel::CastMessageHandler::Observer, - const url::Origin& origin, - int tab_id, - mojom::MediaRouteProvider::CreateRouteCallback callback); -- DoLaunchSessionParams(DoLaunchSessionParams&& other) noexcept; -+ DoLaunchSessionParams(DoLaunchSessionParams&& other); - ~DoLaunchSessionParams(); - DoLaunchSessionParams& operator=(DoLaunchSessionParams&&) = delete; - --- -2.20.1 - diff --git a/www-client/chromium/files/chromium-73-gcc-6.patch b/www-client/chromium/files/chromium-73-gcc-6.patch deleted file mode 100644 index 3cd72ab..0000000 --- a/www-client/chromium/files/chromium-73-gcc-6.patch +++ /dev/null @@ -1,88 +0,0 @@ -From cf4c534f04c223f8a9d65407852e2a531a6d7fb6 Mon Sep 17 00:00:00 2001 -From: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> -Date: Thu, 14 Feb 2019 22:22:21 +0000 -Subject: [PATCH] chrome/browser: Replace some forward declarations with actual - includes -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This fixes the GCC build which was failing like this: - - ../../base/scoped_observer.h: In instantiation of ‘void ScopedObserver<Source, Observer>::RemoveAll() [with Source = TabStripModel; Observer = TabStripModelObserver]’: - ../../base/scoped_observer.h:26:5: required from ‘ScopedObserver<Source, Observer>::~ScopedObserver() [with Source = TabStripModel; Observer = TabStripModelObserver]’ - ../../chrome/browser/ui/views/extensions/extension_popup.h:115:70: required from here - ../../base/scoped_observer.h:45:20: error: invalid use of incomplete type ‘class TabStripModel’ - sources_[i]->RemoveObserver(observer_); - ~~~~~~~~~~~~~^~~~~~~~~~~~~~ - -This is caused by https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89311 ("Brace -initialization needlessly invokes destructor"), i.e. having something like - - ScopedObserver<T, U> observer_{this}; - -in a header declaration requires T and U to be fully declared because -ScopedObserver's destructor references them. In a few cases, T was only -forward-declared. - -Bug: 819294 -Change-Id: Ie5b9dc2745e27d4532c5539e3845a8c9147a0595 -Reviewed-on: https://chromium-review.googlesource.com/c/1472576 -Auto-Submit: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> -Commit-Queue: Alan Cutter <alancutter@chromium.org> -Reviewed-by: Finnur Thorarinsson <finnur@chromium.org> -Reviewed-by: Alan Cutter <alancutter@chromium.org> -Cr-Commit-Position: refs/heads/master@{#632385} ---- - chrome/browser/ui/views/extensions/extension_popup.cc | 1 - - chrome/browser/ui/views/extensions/extension_popup.h | 1 + - chrome/browser/ui/views/toolbar/extension_toolbar_menu_view.cc | 1 - - chrome/browser/ui/views/toolbar/extension_toolbar_menu_view.h | 2 +- - .../web_applications/extensions/bookmark_app_tab_helper.cc | 1 - - .../web_applications/extensions/bookmark_app_tab_helper.h | 2 +- - 6 files changed, 3 insertions(+), 5 deletions(-) - -diff --git a/chrome/browser/ui/views/extensions/extension_popup.cc b/chrome/browser/ui/views/extensions/extension_popup.cc -index 3f0985d383dd..57d16aba9e9f 100644 ---- a/chrome/browser/ui/views/extensions/extension_popup.cc -+++ b/chrome/browser/ui/views/extensions/extension_popup.cc -@@ -8,7 +8,6 @@ - #include "chrome/browser/devtools/devtools_window.h" - #include "chrome/browser/extensions/extension_view_host.h" - #include "chrome/browser/ui/browser.h" --#include "chrome/browser/ui/tabs/tab_strip_model.h" - #include "content/public/browser/devtools_agent_host.h" - #include "content/public/browser/notification_details.h" - #include "content/public/browser/notification_source.h" -diff --git a/chrome/browser/ui/views/extensions/extension_popup.h b/chrome/browser/ui/views/extensions/extension_popup.h -index 3661b5bda950..9018efa0fea5 100644 ---- a/chrome/browser/ui/views/extensions/extension_popup.h -+++ b/chrome/browser/ui/views/extensions/extension_popup.h -@@ -9,6 +9,7 @@ - #include "base/compiler_specific.h" - #include "base/macros.h" - #include "base/scoped_observer.h" -+#include "chrome/browser/ui/tabs/tab_strip_model.h" - #include "chrome/browser/ui/tabs/tab_strip_model_observer.h" - #include "chrome/browser/ui/views/extensions/extension_view_views.h" - #include "content/public/browser/devtools_agent_host_observer.h" -diff --git a/chrome/browser/ui/views/toolbar/extension_toolbar_menu_view.h b/chrome/browser/ui/views/toolbar/extension_toolbar_menu_view.h -index 2a3ea8e4f91f..ac44a4f05dec 100644 ---- a/chrome/browser/ui/views/toolbar/extension_toolbar_menu_view.h -+++ b/chrome/browser/ui/views/toolbar/extension_toolbar_menu_view.h -@@ -8,6 +8,7 @@ - #include "base/macros.h" - #include "base/memory/weak_ptr.h" - #include "base/scoped_observer.h" -+#include "chrome/browser/ui/toolbar/toolbar_actions_bar.h" - #include "chrome/browser/ui/toolbar/toolbar_actions_bar_observer.h" - #include "chrome/browser/ui/views/frame/app_menu_button_observer.h" - #include "ui/views/controls/scroll_view.h" -@@ -16,7 +17,6 @@ class AppMenu; - class AppMenuButton; - class Browser; - class BrowserActionsContainer; --class ToolbarActionsBar; - - namespace views { - class MenuItemView; diff --git a/www-client/chromium/files/chromium-74-gcc.patch b/www-client/chromium/files/chromium-74-gcc.patch deleted file mode 100644 index d4829ff..0000000 --- a/www-client/chromium/files/chromium-74-gcc.patch +++ /dev/null @@ -1,25 +0,0 @@ -diff --git a/third_party/dav1d/BUILD.gn b/third_party/dav1d/BUILD.gn -index aedc658c3..4baeac7df 100644 ---- a/third_party/dav1d/BUILD.gn -+++ b/third_party/dav1d/BUILD.gn -@@ -31,9 +31,9 @@ if (current_cpu == "x86" || current_cpu == "x64") { - } else { - needs_stack_alignment = true - if (current_cpu == "x86") { -- stack_alignment = 16 -+ stack_alignment = 4 - } else if (current_cpu == "x64") { -- stack_alignment = 32 -+ stack_alignment = 5 - } - } - } else { -@@ -73,7 +73,7 @@ dav1d_copts = [ - if (!is_win) { - dav1d_copts += [ "-std=c99" ] - if (needs_stack_alignment) { -- dav1d_copts += [ "-mstack-alignment=$stack_alignment" ] -+ dav1d_copts += [ "-mpreferred-stack-boundary=$stack_alignment" ] - } - } - diff --git a/www-client/chromium/files/chromium-75-vaapi.patch b/www-client/chromium/files/chromium-75-vaapi.patch deleted file mode 100644 index 7e08455..0000000 --- a/www-client/chromium/files/chromium-75-vaapi.patch +++ /dev/null @@ -1,254 +0,0 @@ -diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc -index cb04c939a..dc1a995a6 100644 ---- a/chrome/browser/about_flags.cc -+++ b/chrome/browser/about_flags.cc -@@ -1434,7 +1434,7 @@ const FeatureEntry kFeatureEntries[] = { - "disable-accelerated-video-decode", - flag_descriptions::kAcceleratedVideoDecodeName, - flag_descriptions::kAcceleratedVideoDecodeDescription, -- kOsMac | kOsWin | kOsCrOS | kOsAndroid, -+ kOsMac | kOsWin | kOsCrOS | kOsAndroid | kOsLinux, - SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedVideoDecode), - }, - #if defined(OS_WIN) -@@ -1980,12 +1980,12 @@ const FeatureEntry kFeatureEntries[] = { - FEATURE_VALUE_TYPE(service_manager::features::kXRSandbox)}, - #endif // ENABLE_ISOLATED_XR_SERVICE - #endif // ENABLE_VR --#if defined(OS_CHROMEOS) -+#if defined(OS_CHROMEOS) || defined(OS_LINUX) - {"disable-accelerated-mjpeg-decode", - flag_descriptions::kAcceleratedMjpegDecodeName, -- flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS, -+ flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS | kOsLinux, - SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedMjpegDecode)}, --#endif // OS_CHROMEOS -+#endif // OS_CHROMEOS OS_LINUX - {"v8-cache-options", flag_descriptions::kV8CacheOptionsName, - flag_descriptions::kV8CacheOptionsDescription, kOsAll, - MULTI_VALUE_TYPE(kV8CacheOptionsChoices)}, -@@ -3696,10 +3696,10 @@ const FeatureEntry kFeatureEntries[] = { - "AutofillDropdownLayout")}, - #endif // OS_ANDROID - --#if defined(OS_CHROMEOS) -+#if defined(OS_CHROMEOS) || defined(OS_LINUX) - {"enable-vaapi-jpeg-image-decode-acceleration", - flag_descriptions::kVaapiJpegImageDecodeAccelerationName, -- flag_descriptions::kVaapiJpegImageDecodeAccelerationDescription, kOsCrOS, -+ flag_descriptions::kVaapiJpegImageDecodeAccelerationDescription, kOsCrOS | kOsLinux, - FEATURE_VALUE_TYPE(features::kVaapiJpegImageDecodeAcceleration)}, - #endif - -diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc -index 7457414f6..5c84e90f6 100644 ---- a/chrome/browser/flag_descriptions.cc -+++ b/chrome/browser/flag_descriptions.cc -@@ -2991,13 +2991,22 @@ const char kMacViewsTaskManagerDescription[] = - - // Chrome OS ------------------------------------------------------------------- - --#if defined(OS_CHROMEOS) -+#if defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID)) - - const char kAcceleratedMjpegDecodeName[] = - "Hardware-accelerated mjpeg decode for captured frame"; - const char kAcceleratedMjpegDecodeDescription[] = - "Enable hardware-accelerated mjpeg decode for captured frame where " - "available."; -+const char kVaapiJpegImageDecodeAccelerationName[] = -+ "VA-API JPEG decode acceleration for images"; -+const char kVaapiJpegImageDecodeAccelerationDescription[] = -+ "Enable or disable decode acceleration of JPEG images (as opposed to camera" -+ " captures) using the VA-API."; -+ -+#endif // defined(OS_CHROMEOS) defined(OS_LINUX) and !defined(OS_ANDROID) -+ -+#if defined(OS_CHROMEOS) - - const char kAppServiceAshName[] = "App Service Ash"; - const char kAppServiceAshDescription[] = -@@ -3437,12 +3446,6 @@ const char kUserActivityPredictionMlServiceName[] = - const char kUserActivityPredictionMlServiceDescription[] = - "Uses the new ML Service model for user activity prediction (Smart Dim)."; - --const char kVaapiJpegImageDecodeAccelerationName[] = -- "VA-API JPEG decode acceleration for images"; --const char kVaapiJpegImageDecodeAccelerationDescription[] = -- "Enable or disable decode acceleration of JPEG images (as opposed to camera" -- " captures) using the VA-API."; -- - const char kVideoPlayerChromecastSupportName[] = - "Experimental Chromecast support for Video Player"; - const char kVideoPlayerChromecastSupportDescription[] = -diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h -index 11e45a0ac..d7cbf8394 100644 ---- a/chrome/browser/flag_descriptions.h -+++ b/chrome/browser/flag_descriptions.h -@@ -1779,11 +1779,17 @@ extern const char kPermissionPromptPersistenceToggleDescription[]; - - // Chrome OS ------------------------------------------------------------------ - --#if defined(OS_CHROMEOS) -+#if defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID)) - - extern const char kAcceleratedMjpegDecodeName[]; - extern const char kAcceleratedMjpegDecodeDescription[]; - -+extern const char kVaapiJpegImageDecodeAccelerationName[]; -+extern const char kVaapiJpegImageDecodeAccelerationDescription[]; -+ -+#endif -+ -+#if defined(OS_CHROMEOS) - extern const char kAppServiceAshName[]; - extern const char kAppServiceAshDescription[]; - -@@ -2059,9 +2065,6 @@ extern const char kUseMonitorColorSpaceDescription[]; - extern const char kUserActivityPredictionMlServiceName[]; - extern const char kUserActivityPredictionMlServiceDescription[]; - --extern const char kVaapiJpegImageDecodeAccelerationName[]; --extern const char kVaapiJpegImageDecodeAccelerationDescription[]; -- - extern const char kVideoPlayerChromecastSupportName[]; - extern const char kVideoPlayerChromecastSupportDescription[]; - -diff --git a/components/viz/service/main/viz_main_impl.cc b/components/viz/service/main/viz_main_impl.cc -index 284d0167d..87d5e14c5 100644 ---- a/components/viz/service/main/viz_main_impl.cc -+++ b/components/viz/service/main/viz_main_impl.cc -@@ -36,7 +36,7 @@ std::unique_ptr<base::Thread> CreateAndStartIOThread() { - // It should be possible to use |main_task_runner_| for doing IO tasks. - base::Thread::Options thread_options(base::MessageLoop::TYPE_IO, 0); - thread_options.priority = base::ThreadPriority::NORMAL; --#if defined(OS_ANDROID) || defined(OS_CHROMEOS) || defined(USE_OZONE) -+#if defined(OS_ANDROID) || defined(OS_CHROMEOS) || defined(USE_OZONE) || defined(OS_LINUX) - // TODO(reveman): Remove this in favor of setting it explicitly for each - // type of process. - thread_options.priority = base::ThreadPriority::DISPLAY; -diff --git a/content/gpu/BUILD.gn b/content/gpu/BUILD.gn -index 2b1165264..fec963bd9 100644 ---- a/content/gpu/BUILD.gn -+++ b/content/gpu/BUILD.gn -@@ -6,6 +6,7 @@ import("//build/config/jumbo.gni") - import("//build/config/ui.gni") - import("//gpu/vulkan/features.gni") - import("//media/media_options.gni") -+import("//media/gpu/args.gni") - import("//ui/ozone/ozone.gni") - - # See //content/BUILD.gn for how this works. -@@ -127,4 +128,8 @@ target(link_target_type, "gpu_sources") { - (!is_chromecast || is_cast_desktop_build)) { - configs += [ "//build/config/linux/dri" ] - } -+ # Use vaapi on desktop Linux builds when use_vaapi is set -+ if (is_desktop_linux && use_vaapi) { -+ public_configs = [ "//media/gpu:libva_config" ] -+ } - } -diff --git a/content/gpu/gpu_main.cc b/content/gpu/gpu_main.cc -index a838f0ccf..4c891fb92 100644 ---- a/content/gpu/gpu_main.cc -+++ b/content/gpu/gpu_main.cc -@@ -288,7 +288,7 @@ int GpuMain(const MainFunctionParams& parameters) { - - base::PlatformThread::SetName("CrGpuMain"); - --#if defined(OS_ANDROID) || defined(OS_CHROMEOS) || defined(USE_OZONE) -+#if defined(OS_ANDROID) || defined(OS_CHROMEOS) || defined(USE_OZONE) || defined(OS_LINUX) - // Set thread priority before sandbox initialization. - base::PlatformThread::SetCurrentThreadPriority(base::ThreadPriority::DISPLAY); - #endif -@@ -321,7 +321,7 @@ int GpuMain(const MainFunctionParams& parameters) { - GetContentClient()->SetGpuInfo(gpu_init->gpu_info()); - - base::ThreadPriority io_thread_priority = base::ThreadPriority::NORMAL; --#if defined(OS_ANDROID) || defined(OS_CHROMEOS) || defined(USE_OZONE) -+#if defined(OS_ANDROID) || defined(OS_CHROMEOS) || defined(USE_OZONE) || defined(OS_LINUX) - io_thread_priority = base::ThreadPriority::DISPLAY; - #endif - -diff --git a/gpu/config/software_rendering_list.json b/gpu/config/software_rendering_list.json -index d4c3b4364..935fdeb86 100644 ---- a/gpu/config/software_rendering_list.json -+++ b/gpu/config/software_rendering_list.json -@@ -369,17 +369,6 @@ - "all" - ] - }, -- { -- "id": 48, -- "description": "Accelerated video decode is unavailable on Linux", -- "cr_bugs": [137247], -- "os": { -- "type": "linux" -- }, -- "features": [ -- "accelerated_video_decode" -- ] -- }, - { - "id": 50, - "description": "Disable VMware software renderer on older Mesa", -diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc -index b3477148d..477caecdb 100644 ---- a/media/base/media_switches.cc -+++ b/media/base/media_switches.cc -@@ -517,7 +517,7 @@ bool IsVideoCaptureAcceleratedJpegDecodingEnabled() { - switches::kUseFakeJpegDecodeAccelerator)) { - return true; - } --#if defined(OS_CHROMEOS) -+#if defined(OS_CHROMEOS) || defined(OS_LINUX) - return true; - #endif - return false; -diff --git a/media/filters/BUILD.gn b/media/filters/BUILD.gn -index 81c1e4fca..81996bc56 100644 ---- a/media/filters/BUILD.gn -+++ b/media/filters/BUILD.gn -@@ -5,6 +5,7 @@ - import("//build/config/jumbo.gni") - import("//media/media_options.gni") - import("//third_party/libaom/options.gni") -+import("//media/gpu/args.gni") - - jumbo_source_set("filters") { - # Do not expand the visibility here without double-checking with OWNERS, this -@@ -212,7 +213,7 @@ jumbo_source_set("filters") { - deps += [ "//media/base/android" ] - } - -- if (current_cpu != "arm" && is_linux) { -+ if (use_vaapi && is_linux) { - sources += [ - "h264_bitstream_buffer.cc", - "h264_bitstream_buffer.h", -diff --git a/media/gpu/BUILD.gn b/media/gpu/BUILD.gn -index b1750d527..cc1ad45af 100644 ---- a/media/gpu/BUILD.gn -+++ b/media/gpu/BUILD.gn -@@ -512,6 +512,13 @@ if (use_v4l2_codec || use_vaapi || is_mac || is_win) { - } - } - -+import("//build/config/linux/pkg_config.gni") -+ -+pkg_config("libva_config") { -+ packages = [ "libva" ] -+} -+ -+ - if (use_v4l2_codec || use_vaapi) { - test("jpeg_encode_accelerator_unittest") { - deps = [ -@@ -582,6 +589,7 @@ if (is_chromeos || is_linux) { - if (use_ozone) { - deps += [ "//ui/ozone" ] - } -+ public_configs = [ ":libva_config" ] - } - } - diff --git a/www-client/chromium/files/chromium-76-arm64-skia.patch b/www-client/chromium/files/chromium-76-arm64-skia.patch deleted file mode 100644 index 8a44235..0000000 --- a/www-client/chromium/files/chromium-76-arm64-skia.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 7aacb0b30a86936aedd1308708d1a51d951197f2 Mon Sep 17 00:00:00 2001 -From: Mike Klein <mtklein@google.com> -Date: Tue, 02 Jul 2019 13:23:06 -0500 -Subject: [PATCH] fix GCC arm64 builds - -These two guards are checking if we're building for aarch64 and thus -have F16 conversion instructions, but weren't checking if we want to use -them (if we have them _and_ we're being compiled by Clang). At head -we're trying to pass a 2-byte uint16_t to a function expecting an 8-byte -uint16x4_t, etc. - -Change-Id: I21f6cd2100ec81ccdd47c4ec0575107624cd7c5a -Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225257 -Reviewed-by: Herb Derby <herb@google.com> -Commit-Queue: Mike Klein <mtklein@google.com> ---- - -diff --git a/third_party/skia/src/opts/SkRasterPipeline_opts.h b/third_party/skia/src/opts/SkRasterPipeline_opts.h -index 0eae9fe..e05f36c 100644 ---- a/third_party/skia/src/opts/SkRasterPipeline_opts.h -+++ b/third_party/skia/src/opts/SkRasterPipeline_opts.h -@@ -972,7 +972,8 @@ - } - - SI F from_half(U16 h) { --#if defined(SK_CPU_ARM64) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds. -+#if defined(JUMPER_IS_NEON) && defined(SK_CPU_ARM64) \ -+ && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds. - return vcvt_f32_f16(h); - - #elif defined(JUMPER_IS_HSW) || defined(JUMPER_IS_AVX512) -@@ -992,7 +993,8 @@ - } - - SI U16 to_half(F f) { --#if defined(SK_CPU_ARM64) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds. -+#if defined(JUMPER_IS_NEON) && defined(SK_CPU_ARM64) \ -+ && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds. - return vcvt_f16_f32(f); - - #elif defined(JUMPER_IS_HSW) || defined(JUMPER_IS_AVX512) diff --git a/www-client/chromium/files/chromium-76-gcc-ambiguous-nodestructor.patch b/www-client/chromium/files/chromium-76-gcc-ambiguous-nodestructor.patch deleted file mode 100644 index 587abf3..0000000 --- a/www-client/chromium/files/chromium-76-gcc-ambiguous-nodestructor.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 52b5ceac95b67491b1c71f0ef9a32b778bbbaa2e Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz <jose.dapena@lge.com> -Date: Wed, 05 Jun 2019 19:46:55 +0000 -Subject: [PATCH] GCC: avoid ambiguous NoDestructor creation in GetNeverSniffedMimeTypes. - -Use brace-list notation to wrap the already existing brace-list for -initializing the flat-set. This resolves an ambiguous instantiation -in GCC. - -Bug: 819294 -Change-Id: I89ddf12522d62a5140a8c2c41dc98e30ec7a0e78 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1645774 -Reviewed-by: Matt Menke <mmenke@chromium.org> -Commit-Queue: José Dapena Paz <jose.dapena@lge.com> -Cr-Commit-Position: refs/heads/master@{#666401} ---- - -diff --git a/services/network/cross_origin_read_blocking.cc b/services/network/cross_origin_read_blocking.cc -index 30999c0..60a03f6 100644 ---- a/services/network/cross_origin_read_blocking.cc -+++ b/services/network/cross_origin_read_blocking.cc -@@ -211,7 +211,7 @@ - // confirmation sniffing because images, scripts, etc. are frequently - // mislabelled by http servers as HTML/JSON/XML). - base::flat_set<std::string>& GetNeverSniffedMimeTypes() { -- static base::NoDestructor<base::flat_set<std::string>> s_types({ -+ static base::NoDestructor<base::flat_set<std::string>> s_types{{ - // The list below has been populated based on most commonly used content - // types according to HTTP Archive - see: - // https://github.com/whatwg/fetch/issues/860#issuecomment-457330454 -@@ -224,7 +224,7 @@ - "application/x-www-form-urlencoded", - "application/zip", - "text/event-stream", -- }); -+ }}; - - // All items need to be lower-case, to support case-insensitive comparisons - // later. diff --git a/www-client/chromium/files/chromium-76-gcc-blink-constexpr.patch b/www-client/chromium/files/chromium-76-gcc-blink-constexpr.patch deleted file mode 100644 index 26bba05..0000000 --- a/www-client/chromium/files/chromium-76-gcc-blink-constexpr.patch +++ /dev/null @@ -1,32 +0,0 @@ -From cf6d6b40d711fce93a24a2cf517fa3becdbae8bb Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz <jose.dapena@lge.com> -Date: Wed, 05 Jun 2019 17:18:40 +0000 -Subject: [PATCH] Make blink::LayoutUnit::HasFraction constexpr - -Other HasFraction methods as in PhysicalUnit are declared already -constexpr and using it. It breaks GCC build. - -Bug: 819294. -Change-Id: I0c4bd9bd206d45cf31f7fa815ce8533718a425cb -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1645222 -Reviewed-by: vmpstr <vmpstr@chromium.org> -Reviewed-by: Xianzhu Wang <wangxianzhu@chromium.org> -Commit-Queue: José Dapena Paz <jose.dapena@lge.com> -Cr-Commit-Position: refs/heads/master@{#666336} ---- - -diff --git a/third_party/blink/renderer/platform/geometry/layout_unit.h b/third_party/blink/renderer/platform/geometry/layout_unit.h -index f073986..b6dbc76 100644 ---- a/third_party/blink/renderer/platform/geometry/layout_unit.h -+++ b/third_party/blink/renderer/platform/geometry/layout_unit.h -@@ -202,7 +202,9 @@ - return value_ > 0 ? LayoutUnit() : *this; - } - -- bool HasFraction() const { return RawValue() % kFixedPointDenominator; } -+ constexpr bool HasFraction() const { -+ return RawValue() % kFixedPointDenominator; -+ } - - LayoutUnit Fraction() const { - // Compute fraction using the mod operator to preserve the sign of the value diff --git a/www-client/chromium/files/chromium-76-gcc-blink-namespace1.patch b/www-client/chromium/files/chromium-76-gcc-blink-namespace1.patch deleted file mode 100644 index bae3ede..0000000 --- a/www-client/chromium/files/chromium-76-gcc-blink-namespace1.patch +++ /dev/null @@ -1,91 +0,0 @@ -From c6afbd59c997c2b64f11abdd1eaef71ae8ea2ddc Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz <jose.dapena@lge.com> -Date: Fri, 07 Jun 2019 18:11:15 +0000 -Subject: [PATCH] GCC: FeaturePolicyParser ParseValueForFuzzer is not in anonymous namespace - -Compilation fails because we are declaring ParseValueForFuzzer as friend method, -but we are declaring it is in anonymous namespace. Moving to global namespace -still fails (in this case in Clang). - -So final solution is making it a public static method of FeaturePolicyParser. - -Bug: 819294 -Change-Id: Iea307cb6faef675b748d6eb5da2175dcbb17fdc7 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1645223 -Commit-Queue: José Dapena Paz <jose.dapena@lge.com> -Reviewed-by: Luna Lu <loonybear@chromium.org> -Cr-Commit-Position: refs/heads/master@{#667228} ---- - -diff --git a/third_party/blink/renderer/core/feature_policy/feature_policy_parser.cc b/third_party/blink/renderer/core/feature_policy/feature_policy_parser.cc -index f1c9594..bae91a1 100644 ---- a/third_party/blink/renderer/core/feature_policy/feature_policy_parser.cc -+++ b/third_party/blink/renderer/core/feature_policy/feature_policy_parser.cc -@@ -323,6 +323,13 @@ - return value; - } - -+void FeaturePolicyParser::ParseValueForFuzzer( -+ blink::mojom::PolicyValueType feature_type, -+ const WTF::String& value_string) { -+ bool ok; -+ ParseValueForType(feature_type, value_string, &ok); -+} -+ - bool IsFeatureDeclared(mojom::FeaturePolicyFeature feature, - const ParsedFeaturePolicy& policy) { - return std::any_of(policy.begin(), policy.end(), -diff --git a/third_party/blink/renderer/core/feature_policy/feature_policy_parser.h b/third_party/blink/renderer/core/feature_policy/feature_policy_parser.h -index fd25d90..8aa7323 100644 ---- a/third_party/blink/renderer/core/feature_policy/feature_policy_parser.h -+++ b/third_party/blink/renderer/core/feature_policy/feature_policy_parser.h -@@ -16,9 +16,6 @@ - #include "third_party/blink/renderer/platform/wtf/text/wtf_string.h" - #include "third_party/blink/renderer/platform/wtf/vector.h" - --// Forward declare for friendship. --void ParseValueForFuzzer(blink::mojom::PolicyValueType, const WTF::String&); -- - namespace blink { - - class Document; -@@ -79,8 +76,10 @@ - const FeatureNameMap& feature_names, - ExecutionContext* execution_context = nullptr); - -+ // Used for LLVM fuzzer test -+ static void ParseValueForFuzzer(mojom::PolicyValueType, const String&); -+ - private: -- friend void ::ParseValueForFuzzer(mojom::PolicyValueType, const String&); - static PolicyValue GetFallbackValueForFeature( - mojom::FeaturePolicyFeature feature); - static PolicyValue ParseValueForType(mojom::PolicyValueType feature_type, -diff --git a/third_party/blink/renderer/core/feature_policy/feature_policy_value_fuzzer.cc b/third_party/blink/renderer/core/feature_policy/feature_policy_value_fuzzer.cc -index 7f8e6aa..1455636 100644 ---- a/third_party/blink/renderer/core/feature_policy/feature_policy_value_fuzzer.cc -+++ b/third_party/blink/renderer/core/feature_policy/feature_policy_value_fuzzer.cc -@@ -13,19 +13,12 @@ - #include "third_party/blink/renderer/platform/wtf/text/wtf_string.h" - #include "third_party/blink/renderer/platform/wtf/vector.h" - --void ParseValueForFuzzer(blink::mojom::PolicyValueType feature_type, -- const WTF::String& value_string) { -- bool ok; -- blink::FeaturePolicyParser::ParseValueForType(feature_type, value_string, -- &ok); --} -- - extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { - static blink::BlinkFuzzerTestSupport test_support = - blink::BlinkFuzzerTestSupport(); -- ParseValueForFuzzer(blink::mojom::PolicyValueType::kBool, -- WTF::String(data, size)); -- ParseValueForFuzzer(blink::mojom::PolicyValueType::kDecDouble, -- WTF::String(data, size)); -+ blink::FeaturePolicyParser::ParseValueForFuzzer( -+ blink::mojom::PolicyValueType::kBool, WTF::String(data, size)); -+ blink::FeaturePolicyParser::ParseValueForFuzzer( -+ blink::mojom::PolicyValueType::kDecDouble, WTF::String(data, size)); - return 0; - } diff --git a/www-client/chromium/files/chromium-76-gcc-blink-namespace2.patch b/www-client/chromium/files/chromium-76-gcc-blink-namespace2.patch deleted file mode 100644 index 1d4b90f..0000000 --- a/www-client/chromium/files/chromium-76-gcc-blink-namespace2.patch +++ /dev/null @@ -1,97 +0,0 @@ -From dcb55fb8f18abe5f43d260aa67b14b2dc996f992 Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz <jose.dapena@lge.com> -Date: Tue, 11 Jun 2019 08:00:13 +0000 -Subject: [PATCH] GCC: move explicit specialization out of RunInfo - -Explicit specialization in non-namespace scope is not allowed in C++, and GCC breaks -build because of that. Move the template specializations out of RunInfo declaration -in shape_result_inline_headeres.h to fix the GCC build issue. - -Bug: 819294 -Change-Id: Id083852bcf8e9efbdc911fdad28fd8767d2905d0 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1651728 -Reviewed-by: Kinuko Yasuda <kinuko@chromium.org> -Commit-Queue: José Dapena Paz <jose.dapena@lge.com> -Cr-Commit-Position: refs/heads/master@{#667901} ---- - -diff --git a/third_party/blink/renderer/platform/fonts/shaping/shape_result_inline_headers.h b/third_party/blink/renderer/platform/fonts/shaping/shape_result_inline_headers.h -index 76ee6091..c14d3a0 100644 ---- a/third_party/blink/renderer/platform/fonts/shaping/shape_result_inline_headers.h -+++ b/third_party/blink/renderer/platform/fonts/shaping/shape_result_inline_headers.h -@@ -251,37 +251,6 @@ - template <bool has_non_zero_glyph_offsets> - struct iterator final {}; - -- // For non-zero glyph offset array -- template <> -- struct iterator<true> final { -- // The constructor for ShapeResult -- explicit iterator(const GlyphOffsetArray& array) -- : pointer(array.storage_.get()) { -- DCHECK(pointer); -- } -- -- // The constructor for ShapeResultView -- explicit iterator(const GlyphDataRange& range) : pointer(range.offsets) { -- DCHECK(pointer); -- } -- -- GlyphOffset operator*() const { return *pointer; } -- void operator++() { ++pointer; } -- -- const GlyphOffset* pointer; -- }; -- -- // For zero glyph offset array -- template <> -- struct iterator<false> final { -- explicit iterator(const GlyphOffsetArray& array) { -- DCHECK(!array.HasStorage()); -- } -- explicit iterator(const GlyphDataRange& range) { DCHECK(!range.offsets); } -- GlyphOffset operator*() const { return GlyphOffset(); } -- void operator++() {} -- }; -- - template <bool has_non_zero_glyph_offsets> - iterator<has_non_zero_glyph_offsets> GetIterator() const { - return iterator<has_non_zero_glyph_offsets>(*this); -@@ -495,6 +464,37 @@ - float width_; - }; - -+// For non-zero glyph offset array -+template <> -+struct ShapeResult::RunInfo::GlyphOffsetArray::iterator<true> final { -+ // The constructor for ShapeResult -+ explicit iterator(const GlyphOffsetArray& array) -+ : pointer(array.storage_.get()) { -+ DCHECK(pointer); -+ } -+ -+ // The constructor for ShapeResultView -+ explicit iterator(const GlyphDataRange& range) : pointer(range.offsets) { -+ DCHECK(pointer); -+ } -+ -+ GlyphOffset operator*() const { return *pointer; } -+ void operator++() { ++pointer; } -+ -+ const GlyphOffset* pointer; -+}; -+ -+// For zero glyph offset array -+template <> -+struct ShapeResult::RunInfo::GlyphOffsetArray::iterator<false> final { -+ explicit iterator(const GlyphOffsetArray& array) { -+ DCHECK(!array.HasStorage()); -+ } -+ explicit iterator(const GlyphDataRange& range) { DCHECK(!range.offsets); } -+ GlyphOffset operator*() const { return GlyphOffset(); } -+ void operator++() {} -+}; -+ - // Find the range of HarfBuzzRunGlyphData for the specified character index - // range. This function uses binary search twice, hence O(2 log n). - inline ShapeResult::RunInfo::GlyphDataRange diff --git a/www-client/chromium/files/chromium-76-gcc-gl-init.patch b/www-client/chromium/files/chromium-76-gcc-gl-init.patch deleted file mode 100644 index 3bf394f..0000000 --- a/www-client/chromium/files/chromium-76-gcc-gl-init.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 7dc76c8d9f4cfbce7cf11424120aa6f6094916dc Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz <jose.dapena@lge.com> -Date: Wed, 05 Jun 2019 21:09:01 +0000 -Subject: [PATCH] GCC: XSetWindowAttributes struct initialization should keep order of declaration - -XSetWindowAttributes initialization of attributes in GLSurfaceGLX is not in the -same order of the declaration. GCC fails because of that. - -Bug: 819294 -Change-Id: I8a97da980d5961a35a47ae4d0d8d558b85291f1f -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1646253 -Reviewed-by: Zhenyao Mo <zmo@chromium.org> -Commit-Queue: José Dapena Paz <jose.dapena@lge.com> -Cr-Commit-Position: refs/heads/master@{#666436} ---- - -diff --git a/ui/gl/gl_surface_glx.cc b/ui/gl/gl_surface_glx.cc -index f649dd4..0aa6892 100644 ---- a/ui/gl/gl_surface_glx.cc -+++ b/ui/gl/gl_surface_glx.cc -@@ -583,10 +583,10 @@ - - XSetWindowAttributes swa = { - .background_pixmap = 0, -- .bit_gravity = NorthWestGravity, -- .colormap = g_colormap, - .background_pixel = 0, // ARGB(0,0,0,0) for compositing WM - .border_pixel = 0, -+ .bit_gravity = NorthWestGravity, -+ .colormap = g_colormap, - }; - auto value_mask = CWBackPixmap | CWBitGravity | CWColormap | CWBorderPixel; - if (ui::IsCompositingManagerPresent() && diff --git a/www-client/chromium/files/chromium-76-gcc-include.patch b/www-client/chromium/files/chromium-76-gcc-include.patch deleted file mode 100644 index adc7f3a..0000000 --- a/www-client/chromium/files/chromium-76-gcc-include.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/chrome/browser/themes/theme_service.h 2019-06-13 18:56:30.000000000 -0000 -+++ b/chrome/browser/themes/theme_service.h 2019-06-17 08:50:57.714289399 -0000 -@@ -26,6 +26,7 @@ - #include "extensions/common/extension_id.h" - #include "ui/base/theme_provider.h" - #include "ui/native_theme/native_theme_observer.h" -+#include "ui/native_theme/native_theme.h" - - class BrowserThemePack; - class CustomThemeSupplier; diff --git a/www-client/chromium/files/chromium-76-gcc-noexcept.patch b/www-client/chromium/files/chromium-76-gcc-noexcept.patch deleted file mode 100644 index 2a7f4b3..0000000 --- a/www-client/chromium/files/chromium-76-gcc-noexcept.patch +++ /dev/null @@ -1,347 +0,0 @@ -From 84c91abab33966f928497c24db4a39f436d2dca8 Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz <jose.dapena@lge.com> -Date: Fri, 07 Jun 2019 09:50:11 +0000 -Subject: [PATCH] Make SharedMemoryMapping move constructor noexcept - -As LayerTreeHostImpl::UIResourceData move constructor is declared -noexcept with default implementation, the move constructor of its -members should also be noexcept. GCC will fail to build otherwise -for mismatching noexcept declaration. - -We also set the move assignment operator. - -Bug: 819294 -Change-Id: Icd663da83b882e15f7d16780c9241972e09bc492 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1645297 -Commit-Queue: José Dapena Paz <jose.dapena@lge.com> -Reviewed-by: Daniel Cheng <dcheng@chromium.org> -Cr-Commit-Position: refs/heads/master@{#667064} ---- - -diff --git a/base/memory/shared_memory_mapping.cc b/base/memory/shared_memory_mapping.cc -index 2be2570..8426fa8 100644 ---- a/base/memory/shared_memory_mapping.cc -+++ b/base/memory/shared_memory_mapping.cc -@@ -33,7 +33,7 @@ - - SharedMemoryMapping::SharedMemoryMapping() = default; - --SharedMemoryMapping::SharedMemoryMapping(SharedMemoryMapping&& mapping) -+SharedMemoryMapping::SharedMemoryMapping(SharedMemoryMapping&& mapping) noexcept - : memory_(mapping.memory_), - size_(mapping.size_), - mapped_size_(mapping.mapped_size_), -@@ -42,7 +42,7 @@ - } - - SharedMemoryMapping& SharedMemoryMapping::operator=( -- SharedMemoryMapping&& mapping) { -+ SharedMemoryMapping&& mapping) noexcept { - Unmap(); - memory_ = mapping.memory_; - size_ = mapping.size_; -@@ -90,9 +90,9 @@ - - ReadOnlySharedMemoryMapping::ReadOnlySharedMemoryMapping() = default; - ReadOnlySharedMemoryMapping::ReadOnlySharedMemoryMapping( -- ReadOnlySharedMemoryMapping&&) = default; -+ ReadOnlySharedMemoryMapping&&) noexcept = default; - ReadOnlySharedMemoryMapping& ReadOnlySharedMemoryMapping::operator=( -- ReadOnlySharedMemoryMapping&&) = default; -+ ReadOnlySharedMemoryMapping&&) noexcept = default; - ReadOnlySharedMemoryMapping::ReadOnlySharedMemoryMapping( - void* address, - size_t size, -@@ -102,9 +102,9 @@ - - WritableSharedMemoryMapping::WritableSharedMemoryMapping() = default; - WritableSharedMemoryMapping::WritableSharedMemoryMapping( -- WritableSharedMemoryMapping&&) = default; -+ WritableSharedMemoryMapping&&) noexcept = default; - WritableSharedMemoryMapping& WritableSharedMemoryMapping::operator=( -- WritableSharedMemoryMapping&&) = default; -+ WritableSharedMemoryMapping&&) noexcept = default; - WritableSharedMemoryMapping::WritableSharedMemoryMapping( - void* address, - size_t size, -diff --git a/base/memory/shared_memory_mapping.h b/base/memory/shared_memory_mapping.h -index d9569af..2b8858e 100644 ---- a/base/memory/shared_memory_mapping.h -+++ b/base/memory/shared_memory_mapping.h -@@ -32,8 +32,8 @@ - SharedMemoryMapping(); - - // Move operations are allowed. -- SharedMemoryMapping(SharedMemoryMapping&& mapping); -- SharedMemoryMapping& operator=(SharedMemoryMapping&& mapping); -+ SharedMemoryMapping(SharedMemoryMapping&& mapping) noexcept; -+ SharedMemoryMapping& operator=(SharedMemoryMapping&& mapping) noexcept; - - // Unmaps the region if the mapping is valid. - virtual ~SharedMemoryMapping(); -@@ -93,8 +93,9 @@ - ReadOnlySharedMemoryMapping(); - - // Move operations are allowed. -- ReadOnlySharedMemoryMapping(ReadOnlySharedMemoryMapping&&); -- ReadOnlySharedMemoryMapping& operator=(ReadOnlySharedMemoryMapping&&); -+ ReadOnlySharedMemoryMapping(ReadOnlySharedMemoryMapping&&) noexcept; -+ ReadOnlySharedMemoryMapping& operator=( -+ ReadOnlySharedMemoryMapping&&) noexcept; - - // Returns the base address of the mapping. This is read-only memory. This is - // page-aligned. This is nullptr for invalid instances. -@@ -171,8 +172,9 @@ - WritableSharedMemoryMapping(); - - // Move operations are allowed. -- WritableSharedMemoryMapping(WritableSharedMemoryMapping&&); -- WritableSharedMemoryMapping& operator=(WritableSharedMemoryMapping&&); -+ WritableSharedMemoryMapping(WritableSharedMemoryMapping&&) noexcept; -+ WritableSharedMemoryMapping& operator=( -+ WritableSharedMemoryMapping&&) noexcept; - - // Returns the base address of the mapping. This is writable memory. This is - // page-aligned. This is nullptr for invalid instances. - -From bdc24128b75008743d819e298557a53205706e7c Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz <jose.dapena@lge.com> -Date: Sun, 09 Jun 2019 11:22:25 +0000 -Subject: [PATCH] GCC: fix noexcept from move constructor and assign operators of AccountInfo - -AccountInfo declares them as noexcept and uses default implementation, -so all its members (including AccountId) should be noexcept. But AccountId -is not noexcept. To fix it we just need to make CoreAccountId move -operator/assign operator noexcept. - -Bug: 819294 -Change-Id: Ice38654ab7cf3b9eaa6f54aa36e1fec329264f98 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1645296 -Reviewed-by: Roger Tawa <rogerta@chromium.org> -Reviewed-by: Sylvain Defresne <sdefresne@chromium.org> -Commit-Queue: José Dapena Paz <jose.dapena@lge.com> -Cr-Commit-Position: refs/heads/master@{#667484} ---- - -diff --git a/google_apis/gaia/core_account_id.cc b/google_apis/gaia/core_account_id.cc -index d808082..12eefe3 100644 ---- a/google_apis/gaia/core_account_id.cc -+++ b/google_apis/gaia/core_account_id.cc -@@ -6,8 +6,16 @@ - - CoreAccountId::CoreAccountId() = default; - -+CoreAccountId::CoreAccountId(const CoreAccountId&) = default; -+ -+CoreAccountId::CoreAccountId(CoreAccountId&&) noexcept = default; -+ - CoreAccountId::~CoreAccountId() = default; - -+CoreAccountId& CoreAccountId::operator=(const CoreAccountId&) = default; -+ -+CoreAccountId& CoreAccountId::operator=(CoreAccountId&&) noexcept = default; -+ - CoreAccountId::CoreAccountId(const char* id) : id(id) {} - - CoreAccountId::CoreAccountId(std::string&& id) : id(std::move(id)) {} -diff --git a/google_apis/gaia/core_account_id.h b/google_apis/gaia/core_account_id.h -index 5ea602a..c2d1911 100644 ---- a/google_apis/gaia/core_account_id.h -+++ b/google_apis/gaia/core_account_id.h -@@ -14,8 +14,13 @@ - // for design and tracking). - struct CoreAccountId { - CoreAccountId(); -+ CoreAccountId(const CoreAccountId&); -+ CoreAccountId(CoreAccountId&&) noexcept; - ~CoreAccountId(); - -+ CoreAccountId& operator=(const CoreAccountId&); -+ CoreAccountId& operator=(CoreAccountId&&) noexcept; -+ - // Those implicit constructor and conversion operator allow to - // progressively migrate the code to use this struct. Removing - // them is tracked by https://crbug.com/959161 - -From 9aae68736bc7eb7172d0d0c978ecb6d1f75c7b30 Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz <jose.dapena@lge.com> -Date: Tue, 11 Jun 2019 10:27:19 +0200 -Subject: [PATCH] GCC: add noexcept move assignment in history::URLRow - -In GCC, build is failing because history::QueryURLResult declares its move -assignment operator as noexcept using default implementation. That requires -its members to provide a move assignment operator that is noexcept too. - -But URLRow was missing noexcept declaration in move assignment operator (even -though it was providing noexcept to its move constructor). - -Bug: 819294 -Change-Id: I726e3cf7a4a50c9206a5d0fba8a561d363483d4f ---- - -diff --git a/components/history/core/browser/url_row.cc b/components/history/core/browser/url_row.cc -index 44c22fd..aec0101 100644 ---- a/components/history/core/browser/url_row.cc -+++ b/components/history/core/browser/url_row.cc -@@ -26,7 +26,7 @@ - } - - URLRow& URLRow::operator=(const URLRow& other) = default; --URLRow& URLRow::operator=(URLRow&& other) = default; -+URLRow& URLRow::operator=(URLRow&& other) noexcept = default; - - void URLRow::Swap(URLRow* other) { - std::swap(id_, other->id_); -diff --git a/components/history/core/browser/url_row.h b/components/history/core/browser/url_row.h -index 8f6f9cf..31a1ef8 100644 ---- a/components/history/core/browser/url_row.h -+++ b/components/history/core/browser/url_row.h -@@ -35,7 +35,7 @@ - - virtual ~URLRow(); - URLRow& operator=(const URLRow& other); -- URLRow& operator=(URLRow&& other); -+ URLRow& operator=(URLRow&& other) noexcept; - - URLID id() const { return id_; } - - -From 41d954dec0669c9a85730c0bde7df7ba7a0ff43e Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz <jose.dapena@lge.com> -Date: Thu, 06 Jun 2019 15:30:49 +0000 -Subject: [PATCH] Fix AutocompleteMatch move constructor/assign operator noexcept - -For AutocompleteMatch to declare noexcept them, all the contained -properties need to be noexcept too. This is required at least -for SuggestionAnswer, because base::string16 will make default -calculated signature of the move operator noexcept(false). - -To avoid this issue we explicitely declare them on SuggestionAnswer, -and its member classes TextField and ImageLine. - -Bug: 819294 -Change-Id: I8714f2c6352a3292bdebdc3aed9790270e49c580 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1554669 -Reviewed-by: Kevin Bailey <krb@chromium.org> -Commit-Queue: José Dapena Paz <jose.dapena@lge.com> -Cr-Commit-Position: refs/heads/master@{#666714} ---- - -diff --git a/components/omnibox/browser/suggestion_answer.cc b/components/omnibox/browser/suggestion_answer.cc -index 151e55f..a0c9049 100644 ---- a/components/omnibox/browser/suggestion_answer.cc -+++ b/components/omnibox/browser/suggestion_answer.cc -@@ -55,6 +55,12 @@ - - SuggestionAnswer::TextField::TextField() = default; - SuggestionAnswer::TextField::~TextField() = default; -+SuggestionAnswer::TextField::TextField(const TextField&) = default; -+SuggestionAnswer::TextField::TextField(TextField&&) noexcept = default; -+SuggestionAnswer::TextField& SuggestionAnswer::TextField::operator=( -+ const TextField&) = default; -+SuggestionAnswer::TextField& SuggestionAnswer::TextField::operator=( -+ TextField&&) noexcept = default; - - // static - bool SuggestionAnswer::TextField::ParseTextField(const base::Value& field_json, -@@ -93,9 +99,12 @@ - SuggestionAnswer::ImageLine::ImageLine() - : num_text_lines_(1) {} - SuggestionAnswer::ImageLine::ImageLine(const ImageLine& line) = default; -+SuggestionAnswer::ImageLine::ImageLine(ImageLine&&) noexcept = default; - - SuggestionAnswer::ImageLine& SuggestionAnswer::ImageLine::operator=( - const ImageLine& line) = default; -+SuggestionAnswer::ImageLine& SuggestionAnswer::ImageLine::operator=( -+ ImageLine&&) noexcept = default; - - SuggestionAnswer::ImageLine::~ImageLine() {} - -@@ -251,9 +260,14 @@ - - SuggestionAnswer::SuggestionAnswer(const SuggestionAnswer& answer) = default; - -+SuggestionAnswer::SuggestionAnswer(SuggestionAnswer&&) noexcept = default; -+ - SuggestionAnswer& SuggestionAnswer::operator=(const SuggestionAnswer& answer) = - default; - -+SuggestionAnswer& SuggestionAnswer::operator=(SuggestionAnswer&&) noexcept = -+ default; -+ - SuggestionAnswer::~SuggestionAnswer() = default; - - // static -diff --git a/components/omnibox/browser/suggestion_answer.h b/components/omnibox/browser/suggestion_answer.h -index 31be937..2840ace 100644 ---- a/components/omnibox/browser/suggestion_answer.h -+++ b/components/omnibox/browser/suggestion_answer.h -@@ -125,6 +125,10 @@ - public: - TextField(); - ~TextField(); -+ TextField(const TextField&); -+ TextField(TextField&&) noexcept; -+ TextField& operator=(const TextField&); -+ TextField& operator=(TextField&&) noexcept; - - // Parses |field_json| dictionary and populates |text_field| with the - // contents. If any of the required elements is missing, returns false and -@@ -162,7 +166,9 @@ - public: - ImageLine(); - explicit ImageLine(const ImageLine& line); -+ ImageLine(ImageLine&&) noexcept; - ImageLine& operator=(const ImageLine& line); -+ ImageLine& operator=(ImageLine&&) noexcept; - ~ImageLine(); - - // Parses dictionary |line_json| and populates |image_line| with the -@@ -213,7 +219,9 @@ - - SuggestionAnswer(); - SuggestionAnswer(const SuggestionAnswer& answer); -+ SuggestionAnswer(SuggestionAnswer&&) noexcept; - SuggestionAnswer& operator=(const SuggestionAnswer& answer); -+ SuggestionAnswer& operator=(SuggestionAnswer&&) noexcept; - ~SuggestionAnswer(); - - // Parses dictionary |answer_json| and fills a SuggestionAnswer containing the - -From 9f99af41cae3cfff3bcdcc856c1539801c9b745b Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz <jose.dapena@lge.com> -Date: Fri, 07 Jun 2019 18:59:59 +0000 -Subject: [PATCH] DisjoingRangeLockManager::Lock move constructor/assign operator cannot be noexcept - -They depend on LockRequest, that depends on WeakPtr, none of them noexcept. - -Bug: 819294 -Change-Id: I04ec15901ca627358df727540597f21f135c129b -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1646252 -Reviewed-by: Joshua Bell <jsbell@chromium.org> -Commit-Queue: José Dapena Paz <jose.dapena@lge.com> -Cr-Commit-Position: refs/heads/master@{#667260} ---- - -diff --git a/content/browser/indexed_db/scopes/disjoint_range_lock_manager.cc b/content/browser/indexed_db/scopes/disjoint_range_lock_manager.cc -index 478a5c9..a18c6cd 100644 ---- a/content/browser/indexed_db/scopes/disjoint_range_lock_manager.cc -+++ b/content/browser/indexed_db/scopes/disjoint_range_lock_manager.cc -@@ -19,14 +19,13 @@ - : requested_type(type), - locks_holder(std::move(locks_holder)), - acquired_callback(std::move(acquired_callback)) {} --DisjointRangeLockManager::LockRequest::LockRequest(LockRequest&&) noexcept = -- default; -+DisjointRangeLockManager::LockRequest::LockRequest(LockRequest&&) = default; - DisjointRangeLockManager::LockRequest::~LockRequest() = default; - DisjointRangeLockManager::Lock::Lock() = default; --DisjointRangeLockManager::Lock::Lock(Lock&&) noexcept = default; -+DisjointRangeLockManager::Lock::Lock(Lock&&) = default; - DisjointRangeLockManager::Lock::~Lock() = default; - DisjointRangeLockManager::Lock& DisjointRangeLockManager::Lock::operator=( -- DisjointRangeLockManager::Lock&&) noexcept = default; -+ DisjointRangeLockManager::Lock&&) = default; - - DisjointRangeLockManager::DisjointRangeLockManager(int level_count) - : task_runner_(base::SequencedTaskRunnerHandle::Get()), diff --git a/www-client/chromium/files/chromium-76-gcc-private.patch b/www-client/chromium/files/chromium-76-gcc-private.patch deleted file mode 100644 index bc0ed98..0000000 --- a/www-client/chromium/files/chromium-76-gcc-private.patch +++ /dev/null @@ -1,63 +0,0 @@ -From 502e6e42633d2571c8236c8649b031fe9915eb5b Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz <jose.dapena@lge.com> -Date: Tue, 11 Jun 2019 16:56:27 +0000 -Subject: [PATCH] GCC: CertNetFetcherImpl declares Job as a friend but it is in the anonymous namespace - -GCC does not allow friendship declaration to anonymous namespace as done with Job -object in the CertNetFetcherImpl. This fix removes the friend declaration, and just -makes RemoveJob method public, that was the only reason to make Job a friend. - -Error was: -./../net/cert_net/cert_net_fetcher_impl.cc: In member function ‘void net::{anonymous}::Job::DetachRequest(net::CertNetFetcherImpl::RequestCore*)’: -../../net/cert_net/cert_net_fetcher_impl.cc:458:42: error: ‘std::unique_ptr<net::{anonymous}::Job> net::CertNetFetcherImpl::AsyncCertNetFetcherImpl::RemoveJob(net::{anonymous}::Job*)’ is private within this context - delete_this = parent_->RemoveJob(this); - ^ -../../net/cert_net/cert_net_fetcher_impl.cc:151:24: note: declared private here - std::unique_ptr<Job> RemoveJob(Job* job); - ^~~~~~~~~ -../../net/cert_net/cert_net_fetcher_impl.cc: In member function ‘void net::{anonymous}::Job::OnJobCompleted(net::Error)’: -../../net/cert_net/cert_net_fetcher_impl.cc:610:61: error: ‘std::unique_ptr<net::{anonymous}::Job> net::CertNetFetcherImpl::AsyncCertNetFetcherImpl::RemoveJob(net::{anonymous}::Job*)’ is private within this context - std::unique_ptr<Job> delete_this = parent_->RemoveJob(this); - ^ -../../net/cert_net/cert_net_fetcher_impl.cc:151:24: note: declared private here - std::unique_ptr<Job> RemoveJob(Job* job); - ^~~~~~~~~ - -Bug: 819294 -Change-Id: I3609f4558e570741395366de6a4cd40577d91450 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1651783 -Commit-Queue: Eric Roman <eroman@chromium.org> -Reviewed-by: Eric Roman <eroman@chromium.org> -Cr-Commit-Position: refs/heads/master@{#668015} ---- - -diff --git a/net/cert_net/cert_net_fetcher_impl.cc b/net/cert_net/cert_net_fetcher_impl.cc -index 11a1166..349c656 100644 ---- a/net/cert_net/cert_net_fetcher_impl.cc -+++ b/net/cert_net/cert_net_fetcher_impl.cc -@@ -135,21 +135,19 @@ - void Fetch(std::unique_ptr<RequestParams> request_params, - scoped_refptr<RequestCore> request); - -+ // Removes |job| from the in progress jobs and transfers ownership to the -+ // caller. -+ std::unique_ptr<Job> RemoveJob(Job* job); -+ - // Cancels outstanding jobs, which stops network requests and signals the - // corresponding RequestCores that the requests have completed. - void Shutdown(); - - private: -- friend class Job; -- - // Finds a job with a matching RequestPararms or returns nullptr if there was - // no match. - Job* FindJob(const RequestParams& params); - -- // Removes |job| from the in progress jobs and transfers ownership to the -- // caller. -- std::unique_ptr<Job> RemoveJob(Job* job); -- - // The in-progress jobs. This set does not contain the job which is actively - // invoking callbacks (OnJobCompleted). - JobSet jobs_; diff --git a/www-client/chromium/files/chromium-76-gcc-pure-virtual.patch b/www-client/chromium/files/chromium-76-gcc-pure-virtual.patch deleted file mode 100644 index 3d34e43..0000000 --- a/www-client/chromium/files/chromium-76-gcc-pure-virtual.patch +++ /dev/null @@ -1,50 +0,0 @@ -From cdf306db81efaaaa954487585d5a5a16205a5ebd Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz <jose.dapena@lge.com> -Date: Wed, 05 Jun 2019 14:45:06 +0000 -Subject: [PATCH] Avoid pure virtual crash destroying RenderProcessUserData - -When RenderProcessUserData is destroyed from the destructor of -RenderProcessHostImpl, it is done in the destructor of RenderProcessHost. -At this point RemoveObserver override is already freed, so RenderProcessHost -is pure virtual. This crash happens at least building with GCC: - - at /usr/include/c++/8/ext/new_allocator.h:140 - (this=0x7fffffffcb50, __in_chrg=<optimized out>) at /usr/include/c++/8/bits/stl_tree.h:964 - -We need to destroy RenderProcessUserData before that happens. To do that -we can just override RenderProcessHostDestroyed. - -Bug: 910288 -Change-Id: I38107b178829b0cb7494f5333b765e5b087d82cd -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1645366 -Commit-Queue: Sigurður Ásgeirsson <siggi@chromium.org> -Reviewed-by: Sigurður Ásgeirsson <siggi@chromium.org> -Cr-Commit-Position: refs/heads/master@{#666279} ---- - -diff --git a/chrome/browser/performance_manager/render_process_user_data.cc b/chrome/browser/performance_manager/render_process_user_data.cc -index 2e2c199..ef6e1fb 100644 ---- a/chrome/browser/performance_manager/render_process_user_data.cc -+++ b/chrome/browser/performance_manager/render_process_user_data.cc -@@ -116,4 +116,9 @@ - base::Unretained(process_node_.get()), info.exit_code)); - } - -+void RenderProcessUserData::RenderProcessHostDestroyed( -+ content::RenderProcessHost* host) { -+ host->RemoveUserData(kRenderProcessUserDataKey); -+} -+ - } // namespace performance_manager -diff --git a/chrome/browser/performance_manager/render_process_user_data.h b/chrome/browser/performance_manager/render_process_user_data.h -index ac74b1d..f3b4d16 100644 ---- a/chrome/browser/performance_manager/render_process_user_data.h -+++ b/chrome/browser/performance_manager/render_process_user_data.h -@@ -47,6 +47,7 @@ - void RenderProcessExited( - content::RenderProcessHost* host, - const content::ChildProcessTerminationInfo& info) override; -+ void RenderProcessHostDestroyed(content::RenderProcessHost* host) override; - - // All instances are linked together in a doubly linked list to allow orderly - // destruction at browser shutdown time. diff --git a/www-client/chromium/files/chromium-76-gcc-uint32.patch b/www-client/chromium/files/chromium-76-gcc-uint32.patch deleted file mode 100644 index 5e392e6..0000000 --- a/www-client/chromium/files/chromium-76-gcc-uint32.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 53bb5a463ee956c70230eaa5450022185d0ddc3c Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz <jose.dapena@lge.com> -Date: Thu, 06 Jun 2019 07:54:05 +0000 -Subject: [PATCH] ThrottlingController::Liveness needs to be uint32_t - -We are setting kAlive and kDead values assigning values that -are bigger than the maximum signed int32. It is better to use -uint32_t in this case. - -Bug: 819294 -Change-Id: If72b48291a66a3a9db24b4c8e2d11d31936a66ee -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1645772 -Reviewed-by: Kinuko Yasuda <kinuko@chromium.org> -Commit-Queue: José Dapena Paz <jose.dapena@lge.com> -Cr-Commit-Position: refs/heads/master@{#666619} ---- - -diff --git a/services/network/throttling/throttling_controller.h b/services/network/throttling/throttling_controller.h -index 43751c4..3c6f87b 100644 ---- a/services/network/throttling/throttling_controller.h -+++ b/services/network/throttling/throttling_controller.h -@@ -38,7 +38,7 @@ - - // TODO(https://crbug.com/960874): Debugging code to try and shed some light - // on why the owned maps are invalid. -- enum class Liveness : int32_t { -+ enum class Liveness : uint32_t { - kAlive = 0xCA11AB13, - kDead = 0xDEADBEEF, - }; diff --git a/www-client/chromium/files/chromium-76-gcc-vulkan.patch b/www-client/chromium/files/chromium-76-gcc-vulkan.patch deleted file mode 100644 index cf93bce..0000000 --- a/www-client/chromium/files/chromium-76-gcc-vulkan.patch +++ /dev/null @@ -1,115 +0,0 @@ -From fdb3bb1f8c41d044a5b0cb80257a26dd3c8f83a3 Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz <jose.dapena@lge.com> -Date: Tue, 11 Jun 2019 17:39:38 +0000 -Subject: [PATCH] GCC: do not use old C notation to assign struct with property names. - -The notation for initialization of structs referring to its properties -is invalid in C++. This is not accepted in GCC. It was making build -fail in VulkanCommandBuffer. - -./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc: In member function 'void gpu::VulkanCommandBuffer::TransitionImageLayout(VkImage, VkImageLayout, VkImageLayout)': -./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:214:7: error: expected primary-expression before '.' token - .subresourceRange.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT, - ^ -./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:215:7: error: expected primary-expression before '.' token - .subresourceRange.baseMipLevel = 0, - ^ -./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:216:7: error: expected primary-expression before '.' token - .subresourceRange.levelCount = 1, - ^ -./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:217:7: error: expected primary-expression before '.' token - .subresourceRange.baseArrayLayer = 0, - ^ -./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:218:7: error: expected primary-expression before '.' token - .subresourceRange.layerCount = 1, - ^ -./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc: In member function 'void gpu::VulkanCommandBuffer::CopyBufferToImage(VkBuffer, VkImage, uint32_t, uint32_t, uint32_t, uint32_t)': -./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:235:7: error: expected primary-expression before '.' token - .imageSubresource.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT, - ^ -./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:236:7: error: expected primary-expression before '.' token - .imageSubresource.mipLevel = 0, - ^ -./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:237:7: error: expected primary-expression before '.' token - .imageSubresource.baseArrayLayer = 0, - ^ -./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:238:7: error: expected primary-expression before '.' token - .imageSubresource.layerCount = 1, - ^ -Bug: 819294 - -Change-Id: I999abece0c727e77964789183642ba62009c2c22 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1651802 -Commit-Queue: José Dapena Paz <jose.dapena@lge.com> -Reviewed-by: Antoine Labour <piman@chromium.org> -Cr-Commit-Position: refs/heads/master@{#668033} ---- - -diff --git a/gpu/vulkan/vulkan_command_buffer.cc b/gpu/vulkan/vulkan_command_buffer.cc -index ba776e4..4f14c85 100644 ---- a/gpu/vulkan/vulkan_command_buffer.cc -+++ b/gpu/vulkan/vulkan_command_buffer.cc -@@ -207,21 +207,20 @@ - void VulkanCommandBuffer::TransitionImageLayout(VkImage image, - VkImageLayout old_layout, - VkImageLayout new_layout) { -- VkImageMemoryBarrier barrier = { -- .sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER, -- .srcAccessMask = GetAccessMask(old_layout), -- .dstAccessMask = GetAccessMask(new_layout), -- .oldLayout = old_layout, -- .newLayout = new_layout, -- .srcQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED, -- .dstQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED, -- .image = image, -- .subresourceRange.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT, -- .subresourceRange.baseMipLevel = 0, -- .subresourceRange.levelCount = 1, -- .subresourceRange.baseArrayLayer = 0, -- .subresourceRange.layerCount = 1, -- }; -+ VkImageMemoryBarrier barrier = {}; -+ barrier.sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER; -+ barrier.srcAccessMask = GetAccessMask(old_layout); -+ barrier.dstAccessMask = GetAccessMask(new_layout); -+ barrier.oldLayout = old_layout; -+ barrier.newLayout = new_layout; -+ barrier.srcQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED; -+ barrier.dstQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED; -+ barrier.image = image; -+ barrier.subresourceRange.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT; -+ barrier.subresourceRange.baseMipLevel = 0; -+ barrier.subresourceRange.levelCount = 1; -+ barrier.subresourceRange.baseArrayLayer = 0; -+ barrier.subresourceRange.layerCount = 1; - vkCmdPipelineBarrier(command_buffer_, GetPipelineStageFlags(old_layout), - GetPipelineStageFlags(new_layout), 0, 0, nullptr, 0, - nullptr, 1, &barrier); -@@ -233,17 +232,16 @@ - uint32_t buffer_height, - uint32_t width, - uint32_t height) { -- VkBufferImageCopy region = { -- .bufferOffset = 0, -- .bufferRowLength = buffer_width, -- .bufferImageHeight = buffer_height, -- .imageSubresource.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT, -- .imageSubresource.mipLevel = 0, -- .imageSubresource.baseArrayLayer = 0, -- .imageSubresource.layerCount = 1, -- .imageOffset = {0, 0, 0}, -- .imageExtent = {width, height, 1}, -- }; -+ VkBufferImageCopy region = {}; -+ region.bufferOffset = 0; -+ region.bufferRowLength = buffer_width; -+ region.bufferImageHeight = buffer_height; -+ region.imageSubresource.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT; -+ region.imageSubresource.mipLevel = 0; -+ region.imageSubresource.baseArrayLayer = 0; -+ region.imageSubresource.layerCount = 1; -+ region.imageOffset = {0, 0, 0}; -+ region.imageExtent = {width, height, 1}; - vkCmdCopyBufferToImage(command_buffer_, buffer, image, - VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, 1, ®ion); - } diff --git a/www-client/chromium/files/chromium-76-quiche.patch b/www-client/chromium/files/chromium-76-quiche.patch deleted file mode 100644 index f3aa42a..0000000 --- a/www-client/chromium/files/chromium-76-quiche.patch +++ /dev/null @@ -1,239 +0,0 @@ -From 9424add9d73432a794b7944790253213cce6dcb8 Mon Sep 17 00:00:00 2001 -From: danzh <danzh@google.com> -Date: Thu, 06 Jun 2019 14:04:36 -0700 -Subject: [PATCH] gfe-relnote: (n/a) code cleanup. Fix envoy compile errors. - -Add #include header for std library. -Reference TransportParameters when using its enum TransportParameterId. - -PiperOrigin-RevId: 251922363 -Change-Id: Iba38660e5adc3069e377829acec44267658b11c6 ---- - -diff --git a/net/third_party/quiche/src/quic/core/crypto/transport_parameters.cc b/net/third_party/quiche/src/quic/core/crypto/transport_parameters.cc -index ee0ebf0..e5df9fe 100644 ---- a/net/third_party/quiche/src/quic/core/crypto/transport_parameters.cc -+++ b/net/third_party/quiche/src/quic/core/crypto/transport_parameters.cc -@@ -62,37 +62,37 @@ - std::string TransportParameterIdToString( - TransportParameters::TransportParameterId param_id) { - switch (param_id) { -- case kOriginalConnectionId: -+ case TransportParameters::kOriginalConnectionId: - return "original_connection_id"; -- case kIdleTimeout: -+ case TransportParameters::kIdleTimeout: - return "idle_timeout"; -- case kStatelessResetToken: -+ case TransportParameters::kStatelessResetToken: - return "stateless_reset_token"; -- case kMaxPacketSize: -+ case TransportParameters::kMaxPacketSize: - return "max_packet_size"; -- case kInitialMaxData: -+ case TransportParameters::kInitialMaxData: - return "initial_max_data"; -- case kInitialMaxStreamDataBidiLocal: -+ case TransportParameters::kInitialMaxStreamDataBidiLocal: - return "initial_max_stream_data_bidi_local"; -- case kInitialMaxStreamDataBidiRemote: -+ case TransportParameters::kInitialMaxStreamDataBidiRemote: - return "initial_max_stream_data_bidi_remote"; -- case kInitialMaxStreamDataUni: -+ case TransportParameters::kInitialMaxStreamDataUni: - return "initial_max_stream_data_uni"; -- case kInitialMaxStreamsBidi: -+ case TransportParameters::kInitialMaxStreamsBidi: - return "initial_max_streams_bidi"; -- case kInitialMaxStreamsUni: -+ case TransportParameters::kInitialMaxStreamsUni: - return "initial_max_streams_uni"; -- case kAckDelayExponent: -+ case TransportParameters::kAckDelayExponent: - return "ack_delay_exponent"; -- case kMaxAckDelay: -+ case TransportParameters::kMaxAckDelay: - return "max_ack_delay"; -- case kDisableMigration: -+ case TransportParameters::kDisableMigration: - return "disable_migration"; -- case kPreferredAddress: -+ case TransportParameters::kPreferredAddress: - return "preferred_address"; -- case kGoogleQuicParam: -+ case TransportParameters::kGoogleQuicParam: - return "google"; -- case kGoogleQuicVersion: -+ case TransportParameters::kGoogleQuicVersion: - return "google-version"; - } - return "Unknown(" + QuicTextUtils::Uint64ToString(param_id) + ")"; -@@ -390,7 +390,7 @@ - CBB original_connection_id_param; - if (!in.original_connection_id.IsEmpty()) { - DCHECK_EQ(Perspective::IS_SERVER, in.perspective); -- if (!CBB_add_u16(¶ms, kOriginalConnectionId) || -+ if (!CBB_add_u16(¶ms, TransportParameters::kOriginalConnectionId) || - !CBB_add_u16_length_prefixed(¶ms, &original_connection_id_param) || - !CBB_add_bytes( - &original_connection_id_param, -@@ -412,7 +412,7 @@ - if (!in.stateless_reset_token.empty()) { - DCHECK_EQ(kStatelessResetTokenLength, in.stateless_reset_token.size()); - DCHECK_EQ(Perspective::IS_SERVER, in.perspective); -- if (!CBB_add_u16(¶ms, kStatelessResetToken) || -+ if (!CBB_add_u16(¶ms, TransportParameters::kStatelessResetToken) || - !CBB_add_u16_length_prefixed(¶ms, &stateless_reset_token_param) || - !CBB_add_bytes(&stateless_reset_token_param, - in.stateless_reset_token.data(), -@@ -438,7 +438,7 @@ - - // disable_migration - if (in.disable_migration) { -- if (!CBB_add_u16(¶ms, kDisableMigration) || -+ if (!CBB_add_u16(¶ms, TransportParameters::kDisableMigration) || - !CBB_add_u16(¶ms, 0u)) { // 0 is the length of this parameter. - QUIC_BUG << "Failed to write disable_migration for " << in; - return false; -@@ -458,7 +458,7 @@ - QUIC_BUG << "Bad lengths " << *in.preferred_address; - return false; - } -- if (!CBB_add_u16(¶ms, kPreferredAddress) || -+ if (!CBB_add_u16(¶ms, TransportParameters::kPreferredAddress) || - !CBB_add_u16_length_prefixed(¶ms, &preferred_address_params) || - !CBB_add_bytes( - &preferred_address_params, -@@ -491,7 +491,7 @@ - if (in.google_quic_params) { - const QuicData& serialized_google_quic_params = - in.google_quic_params->GetSerialized(); -- if (!CBB_add_u16(¶ms, kGoogleQuicParam) || -+ if (!CBB_add_u16(¶ms, TransportParameters::kGoogleQuicParam) || - !CBB_add_u16_length_prefixed(¶ms, &google_quic_params) || - !CBB_add_bytes(&google_quic_params, - reinterpret_cast<const uint8_t*>( -@@ -505,7 +505,7 @@ - - // Google-specific version extension. - CBB google_version_params; -- if (!CBB_add_u16(¶ms, kGoogleQuicVersion) || -+ if (!CBB_add_u16(¶ms, TransportParameters::kGoogleQuicVersion) || - !CBB_add_u16_length_prefixed(¶ms, &google_version_params) || - !CBB_add_u32(&google_version_params, in.version)) { - QUIC_BUG << "Failed to write Google version extension for " << in; -@@ -565,7 +565,7 @@ - } - bool parse_success = true; - switch (param_id) { -- case kOriginalConnectionId: -+ case TransportParameters::kOriginalConnectionId: - if (!out->original_connection_id.IsEmpty()) { - QUIC_DLOG(ERROR) << "Received a second original connection ID"; - return false; -@@ -581,10 +581,10 @@ - CBS_len(&value)); - } - break; -- case kIdleTimeout: -+ case TransportParameters::kIdleTimeout: - parse_success = out->idle_timeout_milliseconds.ReadFromCbs(&value); - break; -- case kStatelessResetToken: -+ case TransportParameters::kStatelessResetToken: - if (!out->stateless_reset_token.empty()) { - QUIC_DLOG(ERROR) << "Received a second stateless reset token"; - return false; -@@ -597,36 +597,36 @@ - out->stateless_reset_token.assign(CBS_data(&value), - CBS_data(&value) + CBS_len(&value)); - break; -- case kMaxPacketSize: -+ case TransportParameters::kMaxPacketSize: - parse_success = out->max_packet_size.ReadFromCbs(&value); - break; -- case kInitialMaxData: -+ case TransportParameters::kInitialMaxData: - parse_success = out->initial_max_data.ReadFromCbs(&value); - break; -- case kInitialMaxStreamDataBidiLocal: -+ case TransportParameters::kInitialMaxStreamDataBidiLocal: - parse_success = - out->initial_max_stream_data_bidi_local.ReadFromCbs(&value); - break; -- case kInitialMaxStreamDataBidiRemote: -+ case TransportParameters::kInitialMaxStreamDataBidiRemote: - parse_success = - out->initial_max_stream_data_bidi_remote.ReadFromCbs(&value); - break; -- case kInitialMaxStreamDataUni: -+ case TransportParameters::kInitialMaxStreamDataUni: - parse_success = out->initial_max_stream_data_uni.ReadFromCbs(&value); - break; -- case kInitialMaxStreamsBidi: -+ case TransportParameters::kInitialMaxStreamsBidi: - parse_success = out->initial_max_streams_bidi.ReadFromCbs(&value); - break; -- case kInitialMaxStreamsUni: -+ case TransportParameters::kInitialMaxStreamsUni: - parse_success = out->initial_max_streams_uni.ReadFromCbs(&value); - break; -- case kAckDelayExponent: -+ case TransportParameters::kAckDelayExponent: - parse_success = out->ack_delay_exponent.ReadFromCbs(&value); - break; -- case kMaxAckDelay: -+ case TransportParameters::kMaxAckDelay: - parse_success = out->max_ack_delay.ReadFromCbs(&value); - break; -- case kDisableMigration: -+ case TransportParameters::kDisableMigration: - if (out->disable_migration) { - QUIC_DLOG(ERROR) << "Received a second disable migration"; - return false; -@@ -638,7 +638,7 @@ - } - out->disable_migration = true; - break; -- case kPreferredAddress: { -+ case TransportParameters::kPreferredAddress: { - uint16_t ipv4_port, ipv6_port; - in_addr ipv4_address; - in6_addr ipv6_address; -@@ -692,7 +692,7 @@ - QuicMakeUnique<TransportParameters::PreferredAddress>( - preferred_address); - } break; -- case kGoogleQuicParam: { -+ case TransportParameters::kGoogleQuicParam: { - if (out->google_quic_params) { - QUIC_DLOG(ERROR) << "Received a second Google parameter"; - return false; -@@ -701,7 +701,7 @@ - reinterpret_cast<const char*>(CBS_data(&value)), CBS_len(&value)); - out->google_quic_params = CryptoFramer::ParseMessage(serialized_params); - } break; -- case kGoogleQuicVersion: { -+ case TransportParameters::kGoogleQuicVersion: { - if (!CBS_get_u32(&value, &out->version)) { - QUIC_DLOG(ERROR) << "Failed to parse Google version extension"; - return false; -diff --git a/quic/core/quic_socket_address_coder.cc b/quic/core/quic_socket_address_coder.cc -index 2527fc9..b26103d 100644 ---- a/net/third_party/quiche/src/quic/core/quic_socket_address_coder.cc -+++ b/net/third_party/quiche/src/quic/core/quic_socket_address_coder.cc -@@ -2,10 +2,12 @@ - // Use of this source code is governed by a BSD-style license that can be - // found in the LICENSE file. - --#include <string> -- - #include "net/third_party/quiche/src/quic/core/quic_socket_address_coder.h" - -+#include <cstring> -+#include <string> -+#include <vector> -+ - namespace quic { - - namespace { diff --git a/www-client/chromium/files/chromium-77-blink-include.patch b/www-client/chromium/files/chromium-77-blink-include.patch deleted file mode 100644 index 3ac1770..0000000 --- a/www-client/chromium/files/chromium-77-blink-include.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 5baf7df7f4c5971dab552897eeef94b194650ce5 Mon Sep 17 00:00:00 2001 -From: Dave Tapuska <dtapuska@chromium.org> -Date: Mon, 12 Aug 2019 22:30:13 +0000 -Subject: [PATCH] Fix build failure due to missing include for std::numeric_limits usage. - -Some configurations fail to build, limits should have been included. - -BUG=992832 - -Change-Id: I894ba0543bfcef101c93259e39a31d12ae6d035c -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1747981 -Commit-Queue: Dave Tapuska <dtapuska@chromium.org> -Reviewed-by: Mostyn Bramley-Moore <mostynb@vewd.com> -Cr-Commit-Position: refs/heads/master@{#686214} ---- - -diff --git a/third_party/blink/renderer/platform/exported/web_time_range.cc b/third_party/blink/renderer/platform/exported/web_time_range.cc -index 384566a..68d83e1 100644 ---- a/third_party/blink/renderer/platform/exported/web_time_range.cc -+++ b/third_party/blink/renderer/platform/exported/web_time_range.cc -@@ -31,6 +31,7 @@ - #include "third_party/blink/public/platform/web_time_range.h" - - #include <cmath> -+#include <limits> - - namespace blink { - diff --git a/www-client/chromium/files/chromium-77-clang.patch b/www-client/chromium/files/chromium-77-clang.patch deleted file mode 100644 index a57b5a4..0000000 --- a/www-client/chromium/files/chromium-77-clang.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/base/location.h b/base/location.h -index c07e747..924db1c 100644 ---- a/base/location.h -+++ b/base/location.h -@@ -18,7 +18,7 @@ - - namespace base { - --#if defined(__has_builtin) -+#if defined(__clang__) - // Clang allows detection of these builtins. - #define SUPPORTS_LOCATION_BUILTINS \ - (__has_builtin(__builtin_FUNCTION) && __has_builtin(__builtin_FILE) && \ diff --git a/www-client/chromium/files/chromium-77-fix-gn-gen.patch b/www-client/chromium/files/chromium-77-fix-gn-gen.patch deleted file mode 100644 index 2c5f128..0000000 --- a/www-client/chromium/files/chromium-77-fix-gn-gen.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/third_party/blink/tools/BUILD.gn -+++ b/third_party/blink/tools/BUILD.gn -@@ -11,7 +11,7 @@ action("build_wpt_metadata") { - rebase_path("$root_out_dir/wpt_expectations_metadata"), - ] - outputs = [ -- "$root_out_dir/wpt_expectations_metadata/", -+ "$root_out_dir/wpt_expectations_metadata", - ] - data = [ - # Include the blinkpy tools to access expectations data diff --git a/www-client/chromium/files/chromium-77-gcc-abstract.patch b/www-client/chromium/files/chromium-77-gcc-abstract.patch deleted file mode 100644 index 6d77299..0000000 --- a/www-client/chromium/files/chromium-77-gcc-abstract.patch +++ /dev/null @@ -1,61 +0,0 @@ -From f08cb0022527081c078e8b96062e6c9b4fbda151 Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz <jose.dapena@lge.com> -Date: Fri, 26 Jul 2019 16:48:06 +0000 -Subject: [PATCH] BinaryUploadService: change parameter passing that cannot afford abstract class - -The method UploadForDeepScanning gets a Request as parameter. But Request is an -abstract class, so GCC will not allow that declaration (polimorphycs should be -passed by reference). Use std::unique_ptr so BinaryUploadService can assume -ownership. - -Bug: 819294 -Change-Id: I9e8c75cc92b01abd704d9049b0421555377da5ba -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1713550 -Reviewed-by: Daniel Rubery <drubery@chromium.org> -Commit-Queue: José Dapena Paz <jose.dapena@lge.com> -Cr-Commit-Position: refs/heads/master@{#681333} ---- - -diff --git a/chrome/browser/safe_browsing/download_protection/binary_upload_service.cc b/chrome/browser/safe_browsing/download_protection/binary_upload_service.cc -index 6430c89..4e90487 100644 ---- a/chrome/browser/safe_browsing/download_protection/binary_upload_service.cc -+++ b/chrome/browser/safe_browsing/download_protection/binary_upload_service.cc -@@ -10,7 +10,7 @@ - namespace safe_browsing { - - void BinaryUploadService::UploadForDeepScanning( -- BinaryUploadService::Request request) { -+ std::unique_ptr<BinaryUploadService::Request> request) { - DCHECK_CURRENTLY_ON(content::BrowserThread::UI); - NOTREACHED(); - } -diff --git a/chrome/browser/safe_browsing/download_protection/binary_upload_service.h b/chrome/browser/safe_browsing/download_protection/binary_upload_service.h -index d2dfd83..9b6f395 100644 ---- a/chrome/browser/safe_browsing/download_protection/binary_upload_service.h -+++ b/chrome/browser/safe_browsing/download_protection/binary_upload_service.h -@@ -5,6 +5,8 @@ - #ifndef CHROME_BROWSER_SAFE_BROWSING_DOWNLOAD_PROTECTION_BINARY_UPLOAD_SERVICE_H_ - #define CHROME_BROWSER_SAFE_BROWSING_DOWNLOAD_PROTECTION_BINARY_UPLOAD_SERVICE_H_ - -+#include <memory> -+ - #include "base/callback.h" - #include "components/safe_browsing/proto/webprotect.pb.h" - -@@ -40,6 +42,7 @@ - public: - // |callback| will run on the UI thread. - explicit Request(Callback callback); -+ virtual ~Request() = default; - Request(const Request&) = delete; - Request& operator=(const Request&) = delete; - -@@ -67,7 +70,7 @@ - // Upload the given file contents for deep scanning. The results will be - // returned asynchronously by calling |request|'s |callback|. This must be - // called on the UI thread. -- void UploadForDeepScanning(Request request); -+ void UploadForDeepScanning(std::unique_ptr<Request> request); - }; - - } // namespace safe_browsing diff --git a/www-client/chromium/files/chromium-77-gcc-include.patch b/www-client/chromium/files/chromium-77-gcc-include.patch deleted file mode 100644 index f464039..0000000 --- a/www-client/chromium/files/chromium-77-gcc-include.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 8c747a9c14ed4905f60f6680e2e09e33ea34163e Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz <jose.dapena@lge.com> -Date: Fri, 26 Jul 2019 16:18:17 +0000 -Subject: [PATCH] IWYU: include <memory> in one_euro_filter.h as it uses std::unique_ptr - -Bug: 819294 -Change-Id: Ie1530f7046b0c8eb76e26adca530fa57c67ed876 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1720637 -Reviewed-by: Ella Ge <eirage@chromium.org> -Commit-Queue: José Dapena Paz <jose.dapena@lge.com> -Cr-Commit-Position: refs/heads/master@{#681321} ---- - -diff --git a/third_party/one_euro_filter/src/one_euro_filter.h b/third_party/one_euro_filter/src/one_euro_filter.h -index 7f8d15b..a8cd0ab 100644 ---- a/third_party/one_euro_filter/src/one_euro_filter.h -+++ b/third_party/one_euro_filter/src/one_euro_filter.h -@@ -1,6 +1,8 @@ - #ifndef ONE_EURO_ONE_EURO_FILTER_H_ - #define ONE_EURO_ONE_EURO_FILTER_H_ - -+#include <memory> -+ - #include "low_pass_filter.h" - - namespace one_euro_filter { - -From 258f5f182f8dd72f727af26e614794c67a5996e6 Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz <jose.dapena@lge.com> -Date: Fri, 26 Jul 2019 15:17:54 +0000 -Subject: [PATCH] IWYU: ScopedObserver of TabStripModel requires it to be included - -Build with GCC and libstdc++ is failing in files using tab_sharing_ui.h -as it has a ScopedObserver of a TabStripModel without including it -in advance. - -Bug: 819294 -Change-Id: I4b12073484f65ad2bb873119daa748245296d282 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1713526 -Reviewed-by: Guido Urdaneta <guidou@chromium.org> -Commit-Queue: José Dapena Paz <jose.dapena@lge.com> -Cr-Commit-Position: refs/heads/master@{#681290} ---- - -diff --git a/chrome/browser/ui/tab_sharing/tab_sharing_ui.h b/chrome/browser/ui/tab_sharing/tab_sharing_ui.h -index 6d931129..147868f 100644 ---- a/chrome/browser/ui/tab_sharing/tab_sharing_ui.h -+++ b/chrome/browser/ui/tab_sharing/tab_sharing_ui.h -@@ -14,6 +14,7 @@ - #include "base/strings/string16.h" - #include "chrome/browser/media/webrtc/media_stream_capture_indicator.h" - #include "chrome/browser/ui/browser_list_observer.h" -+#include "chrome/browser/ui/tabs/tab_strip_model.h" - #include "chrome/browser/ui/tabs/tab_strip_model_observer.h" - #include "components/infobars/core/infobar_manager.h" - #include "content/public/browser/desktop_media_id.h" diff --git a/www-client/chromium/files/chromium-77-std-string.patch b/www-client/chromium/files/chromium-77-std-string.patch deleted file mode 100644 index f921f1a..0000000 --- a/www-client/chromium/files/chromium-77-std-string.patch +++ /dev/null @@ -1,130 +0,0 @@ -From 74138b9febd37eac0fc26b8efb110014a83a52c6 Mon Sep 17 00:00:00 2001 -From: Jeremy Roman <jbroman@chromium.org> -Date: Wed, 07 Aug 2019 13:26:48 +0000 -Subject: [PATCH] WTF: Make LinkedHashSet understand values for which memset initialization would be bad. - -Includes a unit test which fails before, and uses this to fix FontCacheKeyTraits. - -Bug: 980025 -Change-Id: If41f97444c7fd37b9b95d6dadaf3da5689079e9e -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1739948 -Reviewed-by: Kentaro Hara <haraken@chromium.org> -Reviewed-by: Yutaka Hirano <yhirano@chromium.org> -Commit-Queue: Jeremy Roman <jbroman@chromium.org> -Cr-Commit-Position: refs/heads/master@{#684731} ---- - -diff --git a/third_party/blink/renderer/platform/fonts/font_cache_key.h b/third_party/blink/renderer/platform/fonts/font_cache_key.h -index 0efc8fb..90063cb 100644 ---- a/third_party/blink/renderer/platform/fonts/font_cache_key.h -+++ b/third_party/blink/renderer/platform/fonts/font_cache_key.h -@@ -133,6 +133,10 @@ - - struct FontCacheKeyTraits : WTF::SimpleClassHashTraits<FontCacheKey> { - STATIC_ONLY(FontCacheKeyTraits); -+ -+ // std::string's empty state need not be zero in all implementations, -+ // and it is held within FontFaceCreationParams. -+ static const bool kEmptyValueIsZero = false; - }; - - } // namespace blink -diff --git a/third_party/blink/renderer/platform/wtf/linked_hash_set.h b/third_party/blink/renderer/platform/wtf/linked_hash_set.h -index b35b6e9..77e524c 100644 ---- a/third_party/blink/renderer/platform/wtf/linked_hash_set.h -+++ b/third_party/blink/renderer/platform/wtf/linked_hash_set.h -@@ -146,6 +146,11 @@ - LinkedHashSetNodeBase* next) - : LinkedHashSetNodeBase(prev, next), value_(value) {} - -+ LinkedHashSetNode(ValueArg&& value, -+ LinkedHashSetNodeBase* prev, -+ LinkedHashSetNodeBase* next) -+ : LinkedHashSetNodeBase(prev, next), value_(std::move(value)) {} -+ - LinkedHashSetNode(LinkedHashSetNode&& other) - : LinkedHashSetNodeBase(std::move(other)), - value_(std::move(other.value_)) {} -@@ -445,10 +450,13 @@ - - // The slot is empty when the next_ field is zero so it's safe to zero - // the backing. -- static const bool kEmptyValueIsZero = true; -+ static const bool kEmptyValueIsZero = ValueTraits::kEmptyValueIsZero; - - static const bool kHasIsEmptyValueFunction = true; - static bool IsEmptyValue(const Node& node) { return !node.next_; } -+ static Node EmptyValue() { -+ return Node(ValueTraits::EmptyValue(), nullptr, nullptr); -+ } - - static const int kDeletedValue = -1; - -diff --git a/third_party/blink/renderer/platform/wtf/list_hash_set_test.cc b/third_party/blink/renderer/platform/wtf/list_hash_set_test.cc -index 4c3f899..cd1be00 100644 ---- a/third_party/blink/renderer/platform/wtf/list_hash_set_test.cc -+++ b/third_party/blink/renderer/platform/wtf/list_hash_set_test.cc -@@ -487,6 +487,7 @@ - }; - - struct Complicated { -+ Complicated() : Complicated(0) {} - Complicated(int value) : simple_(value) { objects_constructed_++; } - - Complicated(const Complicated& other) : simple_(other.simple_) { -@@ -495,9 +496,6 @@ - - Simple simple_; - static int objects_constructed_; -- -- private: -- Complicated() = delete; - }; - - int Complicated::objects_constructed_ = 0; -@@ -731,4 +729,45 @@ - - } // anonymous namespace - -+// A unit type which objects to its state being initialized wrong. -+struct InvalidZeroValue { -+ InvalidZeroValue() = default; -+ InvalidZeroValue(WTF::HashTableDeletedValueType) : deleted_(true) {} -+ ~InvalidZeroValue() { CHECK(ok_); } -+ bool IsHashTableDeletedValue() const { return deleted_; } -+ -+ bool ok_ = true; -+ bool deleted_ = false; -+}; -+ -+template <> -+struct HashTraits<InvalidZeroValue> : SimpleClassHashTraits<InvalidZeroValue> { -+ static const bool kEmptyValueIsZero = false; -+}; -+ -+template <> -+struct DefaultHash<InvalidZeroValue> { -+ struct Hash { -+ static unsigned GetHash(const InvalidZeroValue&) { return 0; } -+ static bool Equal(const InvalidZeroValue&, const InvalidZeroValue&) { -+ return true; -+ } -+ }; -+}; -+ -+template <typename Set> -+class ListOrLinkedHashSetInvalidZeroTest : public testing::Test {}; -+ -+using InvalidZeroValueSetTypes = -+ testing::Types<ListHashSet<InvalidZeroValue>, -+ ListHashSet<InvalidZeroValue, 1>, -+ LinkedHashSet<InvalidZeroValue>>; -+TYPED_TEST_SUITE(ListOrLinkedHashSetInvalidZeroTest, InvalidZeroValueSetTypes); -+ -+TYPED_TEST(ListOrLinkedHashSetInvalidZeroTest, InvalidZeroValue) { -+ using Set = TypeParam; -+ Set set; -+ set.insert(InvalidZeroValue()); -+} -+ - } // namespace WTF diff --git a/www-client/chromium/files/chromium-77-system-hb.patch b/www-client/chromium/files/chromium-77-system-hb.patch deleted file mode 100644 index 9cea0fa..0000000 --- a/www-client/chromium/files/chromium-77-system-hb.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/third_party/harfbuzz-ng/BUILD.gn b/third_party/harfbuzz-ng/BUILD.gn -index 37d8e33..6610cc6 100644 ---- a/third_party/harfbuzz-ng/BUILD.gn -+++ b/third_party/harfbuzz-ng/BUILD.gn -@@ -16,7 +16,7 @@ if (use_system_harfbuzz) { - "//third_party:freetype_harfbuzz", - "//third_party/freetype:freetype_source", - ] -- packages = [ "harfbuzz" ] -+ packages = [ "harfbuzz", "harfbuzz-subset" ] - } - } else { - config("harfbuzz_config") { diff --git a/www-client/chromium/files/chromium-77-system-icu.patch b/www-client/chromium/files/chromium-77-system-icu.patch deleted file mode 100644 index 1f848d7..0000000 --- a/www-client/chromium/files/chromium-77-system-icu.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff --git a/build/linux/unbundle/icu.gn b/build/linux/unbundle/icu.gn -index 4450e40..9ca36dd 100644 ---- a/build/linux/unbundle/icu.gn -+++ b/build/linux/unbundle/icu.gn -@@ -96,6 +96,7 @@ shim_headers("icui18n_shim") { - "unicode/fpositer.h", - "unicode/gender.h", - "unicode/gregocal.h", -+ "unicode/listformatter.h", - "unicode/measfmt.h", - "unicode/measunit.h", - "unicode/measure.h", -@@ -178,7 +179,6 @@ shim_headers("icuuc_shim") { - "unicode/icudataver.h", - "unicode/icuplug.h", - "unicode/idna.h", -- "unicode/listformatter.h", - "unicode/localpointer.h", - "unicode/locdspnm.h", - "unicode/locid.h", diff --git a/www-client/chromium/files/chromium-78-include.patch b/www-client/chromium/files/chromium-78-include.patch deleted file mode 100644 index a0b77c4..0000000 --- a/www-client/chromium/files/chromium-78-include.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/components/password_manager/core/browser/leak_detection/encryption_utils.cc b/components/password_manager/core/browser/leak_detection/encryption_utils.cc -index 31a7116..53eb464 100644 ---- a/components/password_manager/core/browser/leak_detection/encryption_utils.cc -+++ b/components/password_manager/core/browser/leak_detection/encryption_utils.cc -@@ -13,6 +13,8 @@ - #include "crypto/sha2.h" - #include "third_party/boringssl/src/include/openssl/evp.h" - -+#include <climits> -+ - namespace password_manager { - - namespace { diff --git a/www-client/chromium/files/chromium-79-gcc-protobuf-alignas.patch b/www-client/chromium/files/chromium-79-gcc-protobuf-alignas.patch deleted file mode 100644 index 20180c4..0000000 --- a/www-client/chromium/files/chromium-79-gcc-protobuf-alignas.patch +++ /dev/null @@ -1,81 +0,0 @@ -From 5d66d5907ac3e76d1e382b8a8e8afe653bd00f4c Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann <stha09@googlemail.com> -Date: Sun, 31 May 2020 13:59:15 +0000 -Subject: [PATCH] Fix GCC build with PROTOBUF_USE_DLLS enabled - -GCC does not allow mixing __attribute__(()) syntax and alignas() -syntax. Re-use approach from chromium base/compiler_specific.h ---- - .../protobuf/src/google/protobuf/arena.h | 2 +- - .../protobuf/src/google/protobuf/port_def.inc | 29 +++++++++++++++++++ - .../src/google/protobuf/port_undef.inc | 1 + - 3 files changed, 31 insertions(+), 1 deletion(-) - -diff --git a/third_party/protobuf/src/google/protobuf/arena.h b/third_party/protobuf/src/google/protobuf/arena.h -index dedc221..a8515ce 100644 ---- a/third_party/protobuf/src/google/protobuf/arena.h -+++ b/third_party/protobuf/src/google/protobuf/arena.h -@@ -245,7 +245,7 @@ struct ArenaOptions { - // well as protobuf container types like RepeatedPtrField and Map. The protocol - // is internal to protobuf and is not guaranteed to be stable. Non-proto types - // should not rely on this protocol. --class PROTOBUF_EXPORT alignas(8) Arena final { -+class PROTOBUF_EXPORT PROTOBUF_ALIGNAS(8) Arena final { - public: - // Arena constructor taking custom options. See ArenaOptions below for - // descriptions of the options available. -diff --git a/third_party/protobuf/src/google/protobuf/port_def.inc b/third_party/protobuf/src/google/protobuf/port_def.inc -index f1bd85d..6d02b53 100644 ---- a/third_party/protobuf/src/google/protobuf/port_def.inc -+++ b/third_party/protobuf/src/google/protobuf/port_def.inc -@@ -528,6 +528,35 @@ PROTOBUF_EXPORT_TEMPLATE_TEST(DEFAULT, __declspec(dllimport)); - #undef IN - #endif // _MSC_VER - -+// Specify memory alignment for structs, classes, etc. -+// Use like: -+// class PROTOBUF_ALIGNAS(16) MyClass { ... } -+// PROTOBUF_ALIGNAS(16) int array[4]; -+// -+// In most places you can use the C++11 keyword "alignas", which is preferred. -+// -+// But compilers have trouble mixing __attribute__((...)) syntax with -+// alignas(...) syntax. -+// -+// Doesn't work in clang or gcc: -+// struct alignas(16) __attribute__((packed)) S { char c; }; -+// Works in clang but not gcc: -+// struct __attribute__((packed)) alignas(16) S2 { char c; }; -+// Works in clang and gcc: -+// struct alignas(16) S3 { char c; } __attribute__((packed)); -+// -+// There are also some attributes that must be specified *before* a class -+// definition: visibility (used for exporting functions/classes) is one of -+// these attributes. This means that it is not possible to use alignas() with a -+// class that is marked as exported. -+#if defined(_MSC_VER) -+#define PROTOBUF_ALIGNAS(byte_alignment) __declspec(align(byte_alignment)) -+#elif defined(__GNUC__) -+#define PROTOBUF_ALIGNAS(byte_alignment) __attribute__((aligned(byte_alignment))) -+#else -+#define PROTOBUF_ALIGNAS(byte_alignment) alignas(byte_alignment) -+#endif -+ - #if defined(__clang__) - #pragma clang diagnostic push - // TODO(gerbens) ideally we cleanup the code. But a cursory try shows many -diff --git a/third_party/protobuf/src/google/protobuf/port_undef.inc b/third_party/protobuf/src/google/protobuf/port_undef.inc -index b7e67fe..ba1fffc 100644 ---- a/third_party/protobuf/src/google/protobuf/port_undef.inc -+++ b/third_party/protobuf/src/google/protobuf/port_undef.inc -@@ -80,6 +80,7 @@ - #undef PROTOBUF_EXPORT_TEMPLATE_STYLE_MATCH_foj3FJo5StF0OvIzl7oMxA__declspec - #undef PROTOBUF_EXPORT_TEMPLATE_STYLE_MATCH_DECLSPEC_dllexport - #undef PROTOBUF_EXPORT_TEMPLATE_STYLE_MATCH_DECLSPEC_dllimport -+#undef PROTOBUF_ALIGNAS - - - --- -2.26.2 - diff --git a/www-client/chromium/files/chromium-79-span-stlcompat.patch b/www-client/chromium/files/chromium-79-span-stlcompat.patch deleted file mode 100644 index 9b47ee7..0000000 --- a/www-client/chromium/files/chromium-79-span-stlcompat.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/base/containers/span.h b/base/containers/span.h -index c03bdf836..ff00275e7 100644 ---- a/base/containers/span.h -+++ b/base/containers/span.h -@@ -224,6 +224,7 @@ class span : public internal::ExtentStorage<Extent> { - using difference_type = ptrdiff_t; - using pointer = T*; - using reference = T&; -+ using iterator_category = std::random_access_iterator_tag; - using iterator = CheckedContiguousIterator<T>; - using const_iterator = CheckedContiguousConstIterator<T>; - using reverse_iterator = std::reverse_iterator<iterator>; diff --git a/www-client/chromium/files/chromium-80-QuicStreamSendBuffer-deleted-move-constructor.patch b/www-client/chromium/files/chromium-80-QuicStreamSendBuffer-deleted-move-constructor.patch deleted file mode 100644 index aa3d541..0000000 --- a/www-client/chromium/files/chromium-80-QuicStreamSendBuffer-deleted-move-constructor.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 00f47df999c9b19e80fdc01db0ae9ca1b6a12b3a Mon Sep 17 00:00:00 2001 -From: vasilvv <vasilvv@google.com> -Date: Wed, 03 Apr 2019 13:58:53 -0700 -Subject: [PATCH] GCC: do not delete move constructor of QuicStreamSendBuffer - -QuicStreamSendBuffer constructor is implicitely required in the -initialization of the vector of substreams in QuicCryptoStream. -Though clang apparently ignores that, GCC fails to build. - -BUG=chromium:819294 - -Originally submitted by José Dapena Paz <jose.dapena@lge.com> at https://quiche-review.googlesource.com/c/quiche/+/2420 - -PiperOrigin-RevId: 241800134 -Change-Id: I4e3c97d6e5895d85340e8c1b740e6196d9104066 ---- - -diff --git a/net/third_party/quiche/src/quic/core/quic_stream_send_buffer.h b/net/third_party/quiche/src/quic/core/quic_stream_send_buffer.h -index e34514b..74e9d0d 100644 ---- a/net/third_party/quiche/src/quic/core/quic_stream_send_buffer.h -+++ b/net/third_party/quiche/src/quic/core/quic_stream_send_buffer.h -@@ -62,7 +62,7 @@ - public: - explicit QuicStreamSendBuffer(QuicBufferAllocator* allocator); - QuicStreamSendBuffer(const QuicStreamSendBuffer& other) = delete; -- QuicStreamSendBuffer(QuicStreamSendBuffer&& other) = delete; -+ QuicStreamSendBuffer(QuicStreamSendBuffer&& other) = default; - ~QuicStreamSendBuffer(); - - // Save |data_length| of data starts at |iov_offset| in |iov| to send buffer. diff --git a/www-client/chromium/files/chromium-84-blink-disable-clang-format.patch b/www-client/chromium/files/chromium-84-blink-disable-clang-format.patch deleted file mode 100644 index c573db8..0000000 --- a/www-client/chromium/files/chromium-84-blink-disable-clang-format.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 08ac7188f414218ac9d764e29e7aa64a6bfc2f96 Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann <stha09@googlemail.com> -Date: Sun, 31 May 2020 10:02:03 +0000 -Subject: [PATCH] disable clang-format for generated code in blink - -For GCC builds clang-format might be not available. Additionally, -current scripts look for clang-format within chromium sources and -don't consider system clang-format. ---- - .../bindings/scripts/bind_gen/codegen_utils.py | 10 +--------- - 1 file changed, 1 insertion(+), 9 deletions(-) - -diff --git a/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_utils.py b/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_utils.py -index 7021f1a..33bf5bf 100644 ---- a/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_utils.py -+++ b/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_utils.py -@@ -150,12 +150,4 @@ def write_code_node_to_file(code_node, filepath): - - rendered_text = render_code_node(code_node) - -- format_result = style_format.auto_format(rendered_text, filename=filepath) -- if not format_result.did_succeed: -- raise RuntimeError("Style-formatting failed: filename = {filename}\n" -- "---- stderr ----\n" -- "{stderr}:".format( -- filename=format_result.filename, -- stderr=format_result.error_message)) -- -- web_idl.file_io.write_to_file_if_changed(filepath, format_result.contents) -+ web_idl.file_io.write_to_file_if_changed(filepath, rendered_text) --- -2.26.2 - diff --git a/www-client/chromium/files/chromium-86-ConsumeDurationNumber-constexpr.patch b/www-client/chromium/files/chromium-86-ConsumeDurationNumber-constexpr.patch deleted file mode 100644 index b623223..0000000 --- a/www-client/chromium/files/chromium-86-ConsumeDurationNumber-constexpr.patch +++ /dev/null @@ -1,32 +0,0 @@ -From f64e2d2daa64749995253f8ad00679ce74abdc1b Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz <jdapena@igalia.com> -Date: Wed, 19 Aug 2020 11:02:00 +0200 -Subject: [PATCH] GCC: ConsumeDurationNumber cannot be a constexpr - -Declaring base::ConsumeDurationNumber as constexpr is not valid, as it -uses the BasicStringPiece::begin method, that is not constexpr. - -build error in GCC: -../../base/time/time.cc: In function ‘constexpr base::Optional<base::{anonymous}::ParsedDecimal> base::{anonymous}::ConsumeDurationNumber(base::StringPiece&)’: -../../base/time/time.cc:67:63: error: call to non-‘constexpr’ function ‘const value_type* base::BasicStringPiece<STRING_TYPE>::begin() const [with STRING_TYPE = std::__cxx11::basic_string<char>; base::BasicStringPiece<STRING_TYPE>::const_iterator = const char*; base::BasicStringPiece<STRING_TYPE>::value_type = char]’ - 67 | StringPiece::const_iterator orig_start = number_string.begin(); - | ~~~~~~~~~~~~~~~~~~~^~ - -Bug: 859294 -Change-Id: Id987d003f66052848d7083bb33abc3acfd109b73 ---- - -diff --git a/base/time/time.cc b/base/time/time.cc -index 1b1a830..7c47419 100644 ---- a/base/time/time.cc -+++ b/base/time/time.cc -@@ -61,8 +61,7 @@ - // - // Adapted from absl: - // https://cs.chromium.org/chromium/src/third_party/abseil-cpp/absl/time/duration.cc?l=807&rcl=2c22e9135f107a4319582ae52e2e3e6b201b6b7c --constexpr Optional<ParsedDecimal> ConsumeDurationNumber( -- StringPiece& number_string) { -+Optional<ParsedDecimal> ConsumeDurationNumber(StringPiece& number_string) { - ParsedDecimal res; - StringPiece::const_iterator orig_start = number_string.begin(); - // Parse contiguous digits. diff --git a/www-client/chromium/files/chromium-86-ImageMemoryBarrierData-init.patch b/www-client/chromium/files/chromium-86-ImageMemoryBarrierData-init.patch deleted file mode 100644 index ff12a80..0000000 --- a/www-client/chromium/files/chromium-86-ImageMemoryBarrierData-init.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 2879a6ba43b65c33e3c02432b4ae7a7462d24096 Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann <stha09@googlemail.com> -Date: Fri, 28 Aug 2020 07:23:29 +0000 -Subject: [PATCH] GCC: fix ImageMemoryBarrierData initialization - -GCC can't convert constant string to char[40]. Use const char * instead. -Otherwise fails like this: - -src/libANGLE/renderer/vulkan/vk_helpers.cpp:121:1: error: could not convert -'...' from '<brace-enclosed initializer list>' to -'const angle::PackedEnumMap<rx::vk::ImageLayout, rx::vk::{anonymous}::ImageMemoryBarrierData>' ---- - third_party/angle/src/libANGLE/renderer/vulkan/vk_helpers.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/third_party/angle/src/libANGLE/renderer/vulkan/vk_helpers.cpp b/third_party/angle/src/libANGLE/renderer/vulkan/vk_helpers.cpp -index af957d7..7fe82ae 100644 ---- a/third_party/angle/src/libANGLE/renderer/vulkan/vk_helpers.cpp -+++ b/third_party/angle/src/libANGLE/renderer/vulkan/vk_helpers.cpp -@@ -73,7 +73,7 @@ enum BarrierType - - struct ImageMemoryBarrierData - { -- char name[40]; -+ const char *name; - - // The Vk layout corresponding to the ImageLayout key. - VkImageLayout layout; --- -2.26.2 - diff --git a/www-client/chromium/files/chromium-86-compiler.patch b/www-client/chromium/files/chromium-86-compiler.patch deleted file mode 100644 index 3088207..0000000 --- a/www-client/chromium/files/chromium-86-compiler.patch +++ /dev/null @@ -1,159 +0,0 @@ -From f4d0b0eb899005b4b8b6388e1d8bb82cc0018fc8 Mon Sep 17 00:00:00 2001 -From: Mike Gilbert <floppym@gentoo.org> -Date: Thu, 20 Aug 2020 19:12:21 +0000 -Subject: [PATCH] Disable various compiler configs - ---- - build/config/compiler/BUILD.gn | 52 +++++++++++----------------------- - 1 file changed, 17 insertions(+), 35 deletions(-) - -diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn -index 06c166f..fe5d340 100644 ---- a/build/config/compiler/BUILD.gn -+++ b/build/config/compiler/BUILD.gn -@@ -254,8 +254,6 @@ config("compiler") { - - configs += [ - # See the definitions below. -- ":clang_revision", -- ":compiler_cpu_abi", - ":compiler_codegen", - ":compiler_deterministic", - ] -@@ -488,17 +486,6 @@ config("compiler") { - ldflags += [ "-Wl,-z,keep-text-section-prefix" ] - } - -- if (is_clang && !is_nacl && !use_xcode_clang) { -- cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ] -- -- cflags += [ -- # TODO(hans): Remove this once Clang generates better optimized debug info -- # by default. https://crbug.com/765793 -- "-mllvm", -- "-instcombine-lower-dbg-declare=0", -- ] -- } -- - # C11/C++11 compiler flags setup. - # --------------------------- - if (is_linux || is_chromeos || is_android || (is_nacl && is_clang) || -@@ -1575,7 +1562,7 @@ config("chromium_code") { - defines = [ "_HAS_NODISCARD" ] - } - } else { -- cflags = [ "-Wall" ] -+ cflags = [] - if (treat_warnings_as_errors) { - cflags += [ "-Werror" ] - -@@ -1584,10 +1571,6 @@ config("chromium_code") { - # well. - ldflags = [ "-Werror" ] - } -- if (is_clang) { -- # Enable extra warnings for chromium_code when we control the compiler. -- cflags += [ "-Wextra" ] -- } - - # In Chromium code, we define __STDC_foo_MACROS in order to get the - # C99 macros on Mac and Linux. -@@ -1596,15 +1579,6 @@ config("chromium_code") { - "__STDC_FORMAT_MACROS", - ] - -- if (!is_debug && !using_sanitizer && current_cpu != "s390x" && -- current_cpu != "s390" && current_cpu != "ppc64" && -- current_cpu != "mips" && current_cpu != "mips64") { -- # Non-chromium code is not guaranteed to compile cleanly with -- # _FORTIFY_SOURCE. Also, fortified build may fail when optimizations are -- # disabled, so only do that for Release build. -- defines += [ "_FORTIFY_SOURCE=2" ] -- } -- - if (is_mac) { - cflags_objc = [ "-Wobjc-missing-property-synthesis" ] - cflags_objcc = [ "-Wobjc-missing-property-synthesis" ] -@@ -2002,7 +1976,8 @@ config("default_stack_frames") { - } - - # Default "optimization on" config. --config("optimize") { -+config("optimize") { } -+config("xoptimize") { - if (is_win) { - if (chrome_pgo_phase != 2) { - # Favor size over speed, /O1 must be before the common flags. -@@ -2037,7 +2012,8 @@ config("optimize") { - } - - # Turn off optimizations. --config("no_optimize") { -+config("no_optimize") { } -+config("xno_optimize") { - if (is_win) { - cflags = [ - "/Od", # Disable optimization. -@@ -2077,7 +2053,8 @@ config("no_optimize") { - # Turns up the optimization level. On Windows, this implies whole program - # optimization and link-time code generation which is very expensive and should - # be used sparingly. --config("optimize_max") { -+config("optimize_max") { } -+config("xoptimize_max") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2109,7 +2086,8 @@ config("optimize_max") { - # - # TODO(crbug.com/621335) - rework how all of these configs are related - # so that we don't need this disclaimer. --config("optimize_speed") { -+config("optimize_speed") { } -+config("xoptimize_speed") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2134,7 +2112,8 @@ config("optimize_speed") { - } - } - --config("optimize_fuzzing") { -+config("optimize_fuzzing") { } -+config("xoptimize_fuzzing") { - cflags = [ "-O1" ] + common_optimize_on_cflags - ldflags = common_optimize_on_ldflags - visibility = [ ":default_optimization" ] -@@ -2251,7 +2230,8 @@ config("win_pdbaltpath") { - } - - # Full symbols. --config("symbols") { -+config("symbols") { } -+config("xsymbols") { - if (is_win) { - if (is_clang) { - cflags = [ "/Z7" ] # Debug information in the .obj files. -@@ -2346,7 +2326,8 @@ config("symbols") { - # Minimal symbols. - # This config guarantees to hold symbol for stack trace which are shown to user - # when crash happens in unittests running on buildbot. --config("minimal_symbols") { -+config("minimal_symbols") { } -+config("xminimal_symbols") { - if (is_win) { - # Functions, files, and line tables only. - cflags = [] -@@ -2399,7 +2380,8 @@ config("minimal_symbols") { - # This configuration contains function names only. That is, the compiler is - # told to not generate debug information and the linker then just puts function - # names in the final debug information. --config("no_symbols") { -+config("no_symbols") { } -+config("xno_symbols") { - if (is_win) { - ldflags = [ "/DEBUG" ] - --- -2.26.2 - diff --git a/www-client/chromium/files/chromium-86-nearby-explicit.patch b/www-client/chromium/files/chromium-86-nearby-explicit.patch deleted file mode 100644 index 84709cb..0000000 --- a/www-client/chromium/files/chromium-86-nearby-explicit.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 849e5c6b3a8746d9205102bd3df4e140cead405a Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann <stha09@googlemail.com> -Date: Sat, 18 Jul 2020 15:11:13 +0000 -Subject: [PATCH] GCC: remove explicit from AtomicReference constructor - ---- - .../nearby/src/cpp/platform_v2/public/atomic_reference.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/third_party/nearby/src/cpp/platform_v2/public/atomic_reference.h b/third_party/nearby/src/cpp/platform_v2/public/atomic_reference.h -index 5742724..bbb8c01 100644 ---- a/third_party/nearby/src/cpp/platform_v2/public/atomic_reference.h -+++ b/third_party/nearby/src/cpp/platform_v2/public/atomic_reference.h -@@ -37,7 +37,7 @@ class AtomicReference<T, std::enable_if_t<sizeof(T) <= sizeof(std::uint32_t) && - final { - public: - using Platform = api::ImplementationPlatform; -- explicit AtomicReference(T value) -+ AtomicReference(T value) - : impl_(Platform::CreateAtomicUint32(static_cast<std::uint32_t>(value))) { - } - ~AtomicReference() = default; --- -2.26.2 - diff --git a/www-client/chromium/files/chromium-86-nearby-include.patch b/www-client/chromium/files/chromium-86-nearby-include.patch deleted file mode 100644 index d3f02c2..0000000 --- a/www-client/chromium/files/chromium-86-nearby-include.patch +++ /dev/null @@ -1,24 +0,0 @@ -From a5b2ee9dd7dfb186e26ec6c0c06c2ae1a9d27195 Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann <stha09@googlemail.com> -Date: Sat, 18 Jul 2020 14:15:50 +0000 -Subject: [PATCH] IWYU: memcpy is defined in cstring - ---- - third_party/nearby/src/cpp/platform_v2/base/byte_array.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/third_party/nearby/src/cpp/platform_v2/base/byte_array.h b/third_party/nearby/src/cpp/platform_v2/base/byte_array.h -index ee5d0eb..4b1d79b 100644 ---- a/third_party/nearby/src/cpp/platform_v2/base/byte_array.h -+++ b/third_party/nearby/src/cpp/platform_v2/base/byte_array.h -@@ -17,6 +17,7 @@ - - #include <array> - #include <cstdint> -+#include <cstring> - #include <string> - #include <type_traits> - #include <utility> --- -2.26.2 - diff --git a/www-client/chromium/files/chromium-87-CrossThreadPersistent-template.patch b/www-client/chromium/files/chromium-87-CrossThreadPersistent-template.patch deleted file mode 100644 index 585c91f..0000000 --- a/www-client/chromium/files/chromium-87-CrossThreadPersistent-template.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 37070745728cd7744e12fa5110cde304ab6a048d Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz <jdapena@igalia.com> -Date: Tue, 15 Sep 2020 16:55:19 +0200 -Subject: [PATCH] GCC: avoid GCC getting confused with wrong using resolution in CrossThreadPersistent - -In the method to assign a CrossThreadWeakPersistent<U> to a CrossThreadPersistent<T>, -there is a call to the parent class implementation of Get. It uses Parent, that is, -in CrossThreadPersistent<T> an alias to its parent. GCC resolves it as that, but -that's wrong, and it should resolve to the parent of CrossThreadWeakPersistent<U>. - -To avoid the problem, we define in that method ParentU resolving to the right -parent, and use a static cast to it. - -Bug: 819294 -Change-Id: I0152dac92d4a28eb1f1abbc56473204b62f33797 ---- - -diff --git a/third_party/blink/renderer/platform/heap/persistent.h b/third_party/blink/renderer/platform/heap/persistent.h -index f08f42f..32cadc0 100644 ---- a/third_party/blink/renderer/platform/heap/persistent.h -+++ b/third_party/blink/renderer/platform/heap/persistent.h -@@ -784,7 +784,9 @@ - CrossThreadPersistent<T>& CrossThreadPersistent<T>::operator=( - const CrossThreadWeakPersistent<U>& other) { - MutexLocker locker(ProcessHeap::CrossThreadPersistentMutex()); -- this->AssignUnsafe(other.Parent::Get()); -+ using ParentU = PersistentBase<U, kWeakPersistentConfiguration, -+ kCrossThreadPersistentConfiguration>; -+ this->AssignUnsafe(static_cast<const ParentU&>(other).Get()); - return *this; - } - diff --git a/www-client/chromium/files/chromium-87-CursorFactory-include.patch b/www-client/chromium/files/chromium-87-CursorFactory-include.patch deleted file mode 100644 index 98cb9cf..0000000 --- a/www-client/chromium/files/chromium-87-CursorFactory-include.patch +++ /dev/null @@ -1,36 +0,0 @@ -From c4f6e8cd34a245c3640b86a91c9694d69594d80b Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann <stha09@googlemail.com> -Date: Wed, 16 Sep 2020 15:05:02 +0000 -Subject: [PATCH] IWYU: ui::CursorFactory is now required independent from - Ozone - ---- - .../ui/views/chrome_browser_main_extra_parts_views_linux.cc | 5 +---- - 1 file changed, 1 insertion(+), 4 deletions(-) - -diff --git a/chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.cc b/chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.cc -index 5a97d61..ccedd2a 100644 ---- a/chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.cc -+++ b/chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.cc -@@ -7,6 +7,7 @@ - #include "chrome/browser/themes/theme_service_aura_linux.h" - #include "chrome/browser/ui/browser_list.h" - #include "chrome/browser/ui/views/theme_profile_key.h" -+#include "ui/base/cursor/cursor_factory.h" - #include "ui/display/screen.h" - #include "ui/views/linux_ui/linux_ui.h" - -@@ -15,10 +16,6 @@ - #include "ui/gtk/gtk_ui_delegate.h" - #endif - --#if defined(USE_OZONE) --#include "ui/base/cursor/cursor_factory.h" --#endif -- - #if defined(USE_X11) - #include "ui/gfx/x/connection.h" // nogncheck - #if BUILDFLAG(USE_GTK) --- -2.26.2 - diff --git a/www-client/chromium/files/chromium-87-SystemMemoryPressureEvaluator-namespace.patch b/www-client/chromium/files/chromium-87-SystemMemoryPressureEvaluator-namespace.patch deleted file mode 100644 index 3129a75..0000000 --- a/www-client/chromium/files/chromium-87-SystemMemoryPressureEvaluator-namespace.patch +++ /dev/null @@ -1,70 +0,0 @@ -From b73f096a06f4241a1459b0e02ddaa0bb4e14f7a1 Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann <stha09@googlemail.com> -Date: Fri, 4 Sep 2020 17:57:22 +0000 -Subject: [PATCH] GCC: fix clash in predefined macro "linux" - -"linux" is predefined in GCC and can't be used for namespace name. ---- - base/util/memory_pressure/system_memory_pressure_evaluator.cc | 2 +- - .../memory_pressure/system_memory_pressure_evaluator_linux.cc | 4 ++-- - .../memory_pressure/system_memory_pressure_evaluator_linux.h | 4 ++-- - 3 files changed, 5 insertions(+), 5 deletions(-) - -diff --git a/base/util/memory_pressure/system_memory_pressure_evaluator.cc b/base/util/memory_pressure/system_memory_pressure_evaluator.cc -index babb4f8..4a9963b 100644 ---- a/base/util/memory_pressure/system_memory_pressure_evaluator.cc -+++ b/base/util/memory_pressure/system_memory_pressure_evaluator.cc -@@ -46,7 +46,7 @@ SystemMemoryPressureEvaluator::CreateDefaultSystemEvaluator( - } - return evaluator; - #elif defined(OS_LINUX) && !defined(OS_CHROMEOS) -- return std::make_unique<util::linux::SystemMemoryPressureEvaluator>( -+ return std::make_unique<util::os_linux::SystemMemoryPressureEvaluator>( - monitor->CreateVoter()); - #endif - return nullptr; -diff --git a/base/util/memory_pressure/system_memory_pressure_evaluator_linux.cc b/base/util/memory_pressure/system_memory_pressure_evaluator_linux.cc -index 258d983..1878d88 100644 ---- a/base/util/memory_pressure/system_memory_pressure_evaluator_linux.cc -+++ b/base/util/memory_pressure/system_memory_pressure_evaluator_linux.cc -@@ -32,7 +32,7 @@ int GetAvailableSystemMemoryMiB(const base::SystemMemoryInfoKB& mem_info) { - } // namespace - - namespace util { --namespace linux { -+namespace os_linux { - - const base::TimeDelta SystemMemoryPressureEvaluator::kModeratePressureCooldown = - base::TimeDelta::FromSeconds(10); -@@ -153,5 +153,5 @@ SystemMemoryPressureEvaluator::CalculateCurrentPressureLevel() { - return base::MemoryPressureListener::MEMORY_PRESSURE_LEVEL_NONE; - } - --} // namespace linux -+} // namespace os_linux - } // namespace util -diff --git a/base/util/memory_pressure/system_memory_pressure_evaluator_linux.h b/base/util/memory_pressure/system_memory_pressure_evaluator_linux.h -index 0f5c43d..3a24427 100644 ---- a/base/util/memory_pressure/system_memory_pressure_evaluator_linux.h -+++ b/base/util/memory_pressure/system_memory_pressure_evaluator_linux.h -@@ -13,7 +13,7 @@ - #include "base/util/memory_pressure/system_memory_pressure_evaluator.h" - - namespace util { --namespace linux { -+namespace os_linux { - - // Linux memory pressure voter. Because there is no OS provided signal this - // polls at a low frequency, and applies internal hysteresis. -@@ -106,7 +106,7 @@ class SystemMemoryPressureEvaluator - SEQUENCE_CHECKER(sequence_checker_); - }; - --} // namespace linux -+} // namespace os_linux - } // namespace util - - #endif // BASE_UTIL_MEMORY_PRESSURE_SYSTEM_MEMORY_PRESSURE_EVALUATOR_LINUX_H_ --- -2.26.2 - diff --git a/www-client/chromium/files/chromium-87-Thumbnail-noexcept.patch b/www-client/chromium/files/chromium-87-Thumbnail-noexcept.patch deleted file mode 100644 index 76c3d43..0000000 --- a/www-client/chromium/files/chromium-87-Thumbnail-noexcept.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 92db841a0d8449b46ce9d9e76bb4a23e5b370f9c Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann <stha09@googlemail.com> -Date: Fri, 11 Sep 2020 07:07:00 +0000 -Subject: [PATCH] GCC: remove noexcept from PDF Thumbnail - -Move constructor/operator can't be noexcept, because of SkBitmap -member has no noexcept move constructor/operator. ---- - pdf/thumbnail.cc | 4 ++-- - pdf/thumbnail.h | 4 ++-- - 2 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/pdf/thumbnail.cc b/pdf/thumbnail.cc -index d46b20b..82f4790 100644 ---- a/pdf/thumbnail.cc -+++ b/pdf/thumbnail.cc -@@ -113,9 +113,9 @@ Thumbnail::Thumbnail(const gfx::Size& page_size, float device_pixel_ratio) { - DCHECK(success); - } - --Thumbnail::Thumbnail(Thumbnail&& other) noexcept = default; -+Thumbnail::Thumbnail(Thumbnail&& other) = default; - --Thumbnail& Thumbnail::operator=(Thumbnail&& other) noexcept = default; -+Thumbnail& Thumbnail::operator=(Thumbnail&& other) = default; - - Thumbnail::~Thumbnail() = default; - -diff --git a/pdf/thumbnail.h b/pdf/thumbnail.h -index 4b2bdef..d62a56a 100644 ---- a/pdf/thumbnail.h -+++ b/pdf/thumbnail.h -@@ -17,8 +17,8 @@ class Thumbnail final { - public: - Thumbnail(); - Thumbnail(const gfx::Size& page_size, float device_pixel_ratio); -- Thumbnail(Thumbnail&& other) noexcept; -- Thumbnail& operator=(Thumbnail&& other) noexcept; -+ Thumbnail(Thumbnail&& other); -+ Thumbnail& operator=(Thumbnail&& other); - ~Thumbnail(); - - SkBitmap& bitmap() { return bitmap_; } --- -2.26.2 - diff --git a/www-client/chromium/files/chromium-87-anonymous-struct.patch b/www-client/chromium/files/chromium-87-anonymous-struct.patch deleted file mode 100644 index 7d7c356..0000000 --- a/www-client/chromium/files/chromium-87-anonymous-struct.patch +++ /dev/null @@ -1,61 +0,0 @@ -From 9f2b2a3a6153be7ae5cef3305161c07fa2f6f70c Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz <jdapena@igalia.com> -Date: Tue, 15 Sep 2020 18:58:11 +0000 -Subject: [PATCH] GCC: do not use anonymous structs - -Two using declarations have been added in x11.h for an -unnamed struct. This is not allowed by C++ (and GCC). An example: -using XErrorEvent = struct { - ... -}; - -The solution is giving a name to the struct. - -Bug: 819294 -Change-Id: I9e77017851efe8e0a92fb37c01fdba693bb7a36d -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2412450 -Reviewed-by: Thomas Anderson <thomasanderson@chromium.org> -Commit-Queue: José Dapena Paz <jdapena@igalia.com> -Cr-Commit-Position: refs/heads/master@{#807126} ---- - -diff --git a/ui/gfx/x/x11.h b/ui/gfx/x/x11.h -index 6b36d48..d2dab40 100644 ---- a/ui/gfx/x/x11.h -+++ b/ui/gfx/x/x11.h -@@ -139,7 +139,7 @@ - - enum XEventQueueOwner { XlibOwnsEventQueue = 0, XCBOwnsEventQueue }; - --using XErrorEvent = struct { -+using XErrorEvent = struct _XErrorEvent { - int type; - Display* display; - XID resourceid; -@@ -149,7 +149,7 @@ - unsigned char minor_code; - }; - --using XRectangle = struct { -+using XRectangle = struct _XRectangle { - short x, y; - unsigned short width, height; - }; -@@ -161,7 +161,7 @@ - XPointer private_data; - }; - --using Visual = struct { -+using Visual = struct _Visual { - XExtData* ext_data; - VisualID visualid; - int c_class; -@@ -170,7 +170,7 @@ - int map_entries; - }; - --using XVisualInfo = struct { -+using XVisualInfo = struct _XVisualInfo { - Visual* visual; - VisualID visualid; - int screen; diff --git a/www-client/chromium/files/chromium-87-compiler-r1.patch b/www-client/chromium/files/chromium-87-compiler-r1.patch deleted file mode 100644 index 181e724..0000000 --- a/www-client/chromium/files/chromium-87-compiler-r1.patch +++ /dev/null @@ -1,166 +0,0 @@ -diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn -index 4f6461b6b..b5d2c7700 100644 ---- a/build/config/compiler/BUILD.gn -+++ b/build/config/compiler/BUILD.gn -@@ -254,8 +254,6 @@ config("compiler") { - - configs += [ - # See the definitions below. -- ":clang_revision", -- ":compiler_cpu_abi", - ":compiler_codegen", - ":compiler_deterministic", - ] -@@ -480,36 +478,6 @@ config("compiler") { - ldflags += [ "-Wl,-z,keep-text-section-prefix" ] - } - -- if (is_clang && !is_nacl && !use_xcode_clang) { -- cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ] -- -- cflags += [ -- # TODO(hans): Remove this once Clang generates better optimized debug info -- # by default. https://crbug.com/765793 -- "-mllvm", -- "-instcombine-lower-dbg-declare=0", -- ] -- -- # Pinned clang has enable-dse-memoryssa enabled by default but it's broken, -- # so we have to force it off. -- # Trunk clang has it disabled by default but it might work, so we force it -- # on so the ToT bots can check if it works now. -- if (!llvm_force_head_revision) { -- cflags += [ -- # TODO(https://crbug.com/1127713): Investigate, remove. -- "-mllvm", -- "-enable-dse-memoryssa=false", -- ] -- } -- if (llvm_force_head_revision) { -- cflags += [ -- # TODO(https://crbug.com/1127713): Investigate, remove. -- "-mllvm", -- "-enable-dse-memoryssa=true", -- ] -- } -- } -- - # C11/C++11 compiler flags setup. - # --------------------------- - if (is_linux || is_chromeos || is_android || (is_nacl && is_clang) || -@@ -1571,7 +1539,7 @@ config("chromium_code") { - defines = [ "_HAS_NODISCARD" ] - } - } else { -- cflags = [ "-Wall" ] -+ cflags = [] - if (treat_warnings_as_errors) { - cflags += [ "-Werror" ] - -@@ -1580,10 +1548,6 @@ config("chromium_code") { - # well. - ldflags = [ "-Werror" ] - } -- if (is_clang) { -- # Enable extra warnings for chromium_code when we control the compiler. -- cflags += [ "-Wextra" ] -- } - - # In Chromium code, we define __STDC_foo_MACROS in order to get the - # C99 macros on Mac and Linux. -@@ -1592,15 +1556,6 @@ config("chromium_code") { - "__STDC_FORMAT_MACROS", - ] - -- if (!is_debug && !using_sanitizer && current_cpu != "s390x" && -- current_cpu != "s390" && current_cpu != "ppc64" && -- current_cpu != "mips" && current_cpu != "mips64") { -- # Non-chromium code is not guaranteed to compile cleanly with -- # _FORTIFY_SOURCE. Also, fortified build may fail when optimizations are -- # disabled, so only do that for Release build. -- defines += [ "_FORTIFY_SOURCE=2" ] -- } -- - if (is_mac) { - cflags_objc = [ "-Wobjc-missing-property-synthesis" ] - cflags_objcc = [ "-Wobjc-missing-property-synthesis" ] -@@ -1998,7 +1953,8 @@ config("default_stack_frames") { - } - - # Default "optimization on" config. --config("optimize") { -+config("optimize") { } -+config("xoptimize") { - if (is_win) { - if (chrome_pgo_phase != 2) { - # Favor size over speed, /O1 must be before the common flags. -@@ -2033,7 +1989,8 @@ config("optimize") { - } - - # Turn off optimizations. --config("no_optimize") { -+config("no_optimize") { } -+config("xno_optimize") { - if (is_win) { - cflags = [ - "/Od", # Disable optimization. -@@ -2073,7 +2030,8 @@ config("no_optimize") { - # Turns up the optimization level. On Windows, this implies whole program - # optimization and link-time code generation which is very expensive and should - # be used sparingly. --config("optimize_max") { -+config("optimize_max") { } -+config("xoptimize_max") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2105,7 +2063,8 @@ config("optimize_max") { - # - # TODO(crbug.com/621335) - rework how all of these configs are related - # so that we don't need this disclaimer. --config("optimize_speed") { -+config("optimize_speed") { } -+config("xoptimize_speed") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2130,7 +2089,8 @@ config("optimize_speed") { - } - } - --config("optimize_fuzzing") { -+config("optimize_fuzzing") { } -+config("xoptimize_fuzzing") { - cflags = [ "-O1" ] + common_optimize_on_cflags - ldflags = common_optimize_on_ldflags - visibility = [ ":default_optimization" ] -@@ -2247,7 +2207,8 @@ config("win_pdbaltpath") { - } - - # Full symbols. --config("symbols") { -+config("symbols") { } -+config("xsymbols") { - if (is_win) { - if (is_clang) { - cflags = [ "/Z7" ] # Debug information in the .obj files. -@@ -2355,7 +2316,8 @@ config("symbols") { - # Minimal symbols. - # This config guarantees to hold symbol for stack trace which are shown to user - # when crash happens in unittests running on buildbot. --config("minimal_symbols") { -+config("minimal_symbols") { } -+config("xminimal_symbols") { - if (is_win) { - # Functions, files, and line tables only. - cflags = [] -@@ -2408,7 +2370,8 @@ config("minimal_symbols") { - # This configuration contains function names only. That is, the compiler is - # told to not generate debug information and the linker then just puts function - # names in the final debug information. --config("no_symbols") { -+config("no_symbols") { } -+config("xno_symbols") { - if (is_win) { - ldflags = [ "/DEBUG" ] - diff --git a/www-client/chromium/files/chromium-87-openscreen-crypto-include.patch b/www-client/chromium/files/chromium-87-openscreen-crypto-include.patch deleted file mode 100644 index 5edd10b..0000000 --- a/www-client/chromium/files/chromium-87-openscreen-crypto-include.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/third_party/openscreen/src/util/crypto/random_bytes.h 2020-10-03 07:37:39.335192533 +0800 -+++ b/third_party/openscreen/src/util/crypto/random_bytes.h 2020-10-03 07:37:29.548124971 +0800 -@@ -5,6 +5,8 @@ - #ifndef UTIL_CRYPTO_RANDOM_BYTES_H_ - #define UTIL_CRYPTO_RANDOM_BYTES_H_ - -+#include <stdint.h> -+ - #include <array> - - namespace openscreen { diff --git a/www-client/chromium/files/chromium-87-ozone-deps.patch b/www-client/chromium/files/chromium-87-ozone-deps.patch deleted file mode 100644 index c9bac08..0000000 --- a/www-client/chromium/files/chromium-87-ozone-deps.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn -index 51b25f1a8..56dfeb165 100644 ---- a/chrome/browser/BUILD.gn -+++ b/chrome/browser/BUILD.gn -@@ -5073,7 +5073,9 @@ static_library("browser") { - "chrome_browser_main_extra_parts_ozone.cc", - "chrome_browser_main_extra_parts_ozone.h", - ] -- deps += [ "//ui/ozone" ] -+ if (use_ozone) { -+ deps += [ "//ui/ozone" ] -+ } - } - - if (enable_background_mode) { diff --git a/www-client/chromium/files/chromium-87-remotesyscall.patch b/www-client/chromium/files/chromium-87-remotesyscall.patch deleted file mode 100644 index 63d1cf9..0000000 --- a/www-client/chromium/files/chromium-87-remotesyscall.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/sandbox/linux/syscall_broker/remote_syscall_arg_handler.cc b/sandbox/linux/syscall_broker/remote_syscall_arg_handler.cc -index 33ff80225..d503a86e0 100644 ---- a/sandbox/linux/syscall_broker/remote_syscall_arg_handler.cc -+++ b/sandbox/linux/syscall_broker/remote_syscall_arg_handler.cc -@@ -4,6 +4,8 @@ - - #include "sandbox/linux/syscall_broker/remote_syscall_arg_handler.h" - -+#include <string.h> -+ - #include <sys/ioctl.h> - #include <sys/syscall.h> - #include <sys/types.h> diff --git a/www-client/chromium/files/chromium-87-std-max_align_t.patch b/www-client/chromium/files/chromium-87-std-max_align_t.patch deleted file mode 100644 index e37d0fb..0000000 --- a/www-client/chromium/files/chromium-87-std-max_align_t.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 1e0683735e26c6fcecb0977e0cdae5da2eaf7c84 Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz <jdapena@igalia.com> -Date: Tue, 22 Sep 2020 13:18:55 +0200 -Subject: [PATCH] libstdc++: use max_align_t without std prefix in partition alloc constants. - -Using std::max_align_t would require using cstddef instead of stddef.h. As -partition alloc constants is including stddef.h, let's remove the std:: -namespace prefix. - -This fixes this error building with libstdc++ -../../base/allocator/partition_allocator/partition_alloc_constants.h:200:51: error: ‘max_align_t’ is not a member of ‘std’; did you mean ‘max_align_t’? - -Bug: 957519 -Change-Id: I72b22428937e7b7b1e6bb31fb0ac0bef3b72c581 - -(Adjusted to work with clang too) ---- - -diff --git a/base/allocator/partition_allocator/partition_alloc_constants.h b/base/allocator/partition_allocator/partition_alloc_constants.h -index 0c74dbe..ef1488f 100644 ---- a/base/allocator/partition_allocator/partition_alloc_constants.h -+++ b/base/allocator/partition_allocator/partition_alloc_constants.h -@@ -183,7 +183,7 @@ NumPartitionPagesPerSuperPage() { - } - - // Alignment has two constraints: --// - Alignment requirement for scalar types: alignof(std::max_align_t) -+// - Alignment requirement for scalar types: alignof(max_align_t) - // - Alignment requirement for operator new(). - // - // The two are separate on Windows 64 bits, where the first one is 8 bytes, and -@@ -195,9 +195,9 @@ NumPartitionPagesPerSuperPage() { - // platforms, as Chrome's requirement is C++14 as of 2020. - #if defined(__STDCPP_DEFAULT_NEW_ALIGNMENT__) - static constexpr size_t kAlignment = -- std::max(alignof(std::max_align_t), __STDCPP_DEFAULT_NEW_ALIGNMENT__); -+ std::max(alignof(max_align_t), __STDCPP_DEFAULT_NEW_ALIGNMENT__); - #else --static constexpr size_t kAlignment = alignof(std::max_align_t); -+static constexpr size_t kAlignment = alignof(max_align_t); - #endif - static_assert(kAlignment <= 16, - "PartitionAlloc doesn't support a fundamental alignment larger " diff --git a/www-client/chromium/files/chromium-87-thread_cache.patch b/www-client/chromium/files/chromium-87-thread_cache.patch deleted file mode 100644 index b2ef990..0000000 --- a/www-client/chromium/files/chromium-87-thread_cache.patch +++ /dev/null @@ -1,25 +0,0 @@ -diff --git a/base/allocator/partition_allocator/partition_alloc.h b/base/allocator/partition_allocator/partition_alloc.h -index 549451e2d..17b7deab3 100644 ---- a/base/allocator/partition_allocator/partition_alloc.h -+++ b/base/allocator/partition_allocator/partition_alloc.h -@@ -582,7 +582,7 @@ struct BASE_EXPORT PartitionRoot { - EXCLUSIVE_LOCKS_REQUIRED(lock_); - void DecommitEmptyPages() EXCLUSIVE_LOCKS_REQUIRED(lock_); - -- friend class internal::ThreadCache; -+ friend class base::internal::ThreadCache; - }; - - static_assert(sizeof(PartitionRoot<internal::ThreadSafe>) == -diff --git a/base/allocator/partition_allocator/thread_cache.h b/base/allocator/partition_allocator/thread_cache.h -index dd71ccc09..05097470a 100644 ---- a/base/allocator/partition_allocator/thread_cache.h -+++ b/base/allocator/partition_allocator/thread_cache.h -@@ -5,6 +5,7 @@ - #ifndef BASE_ALLOCATOR_PARTITION_ALLOCATOR_THREAD_CACHE_H_ - #define BASE_ALLOCATOR_PARTITION_ALLOCATOR_THREAD_CACHE_H_ - -+#include <atomic> - #include <cstdint> - #include <memory> - diff --git a/www-client/chromium/files/chromium-88-angle-renderer.patch b/www-client/chromium/files/chromium-88-angle-renderer.patch deleted file mode 100644 index 257c00c..0000000 --- a/www-client/chromium/files/chromium-88-angle-renderer.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/third_party/angle/src/libANGLE/renderer/EGLReusableSync.h b/third_party/angle/src/libANGLE/renderer/EGLReusableSync.h -index 9c65fccad..12c972565 100644 ---- a/third_party/angle/src/libANGLE/renderer/EGLReusableSync.h -+++ b/third_party/angle/src/libANGLE/renderer/EGLReusableSync.h -@@ -14,6 +14,8 @@ - - #include "common/angleutils.h" - -+#include <condition_variable> -+ - namespace rx - { - diff --git a/www-client/chromium/files/chromium-88-compiler.patch b/www-client/chromium/files/chromium-88-compiler.patch deleted file mode 100644 index cb72cf2..0000000 --- a/www-client/chromium/files/chromium-88-compiler.patch +++ /dev/null @@ -1,147 +0,0 @@ -diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn -index 9d66490cd..4e79a84f8 100644 ---- a/build/config/compiler/BUILD.gn -+++ b/build/config/compiler/BUILD.gn -@@ -254,8 +254,6 @@ config("compiler") { - - configs += [ - # See the definitions below. -- ":clang_revision", -- ":compiler_cpu_abi", - ":compiler_codegen", - ":compiler_deterministic", - ] -@@ -478,17 +476,6 @@ config("compiler") { - ldflags += [ "-Wl,-z,keep-text-section-prefix" ] - } - -- if (is_clang && !is_nacl && !use_xcode_clang) { -- cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ] -- -- cflags += [ -- # TODO(hans): Remove this once Clang generates better optimized debug info -- # by default. https://crbug.com/765793 -- "-mllvm", -- "-instcombine-lower-dbg-declare=0", -- ] -- } -- - # C11/C++11 compiler flags setup. - # --------------------------- - if (is_linux || is_chromeos || is_android || (is_nacl && is_clang) || -@@ -1574,7 +1561,7 @@ config("chromium_code") { - defines = [ "_HAS_NODISCARD" ] - } - } else { -- cflags = [ "-Wall" ] -+ cflags = [ ] - if (treat_warnings_as_errors) { - cflags += [ "-Werror" ] - -@@ -1583,10 +1570,6 @@ config("chromium_code") { - # well. - ldflags = [ "-Werror" ] - } -- if (is_clang) { -- # Enable extra warnings for chromium_code when we control the compiler. -- cflags += [ "-Wextra" ] -- } - - # In Chromium code, we define __STDC_foo_MACROS in order to get the - # C99 macros on Mac and Linux. -@@ -1595,15 +1578,6 @@ config("chromium_code") { - "__STDC_FORMAT_MACROS", - ] - -- if (!is_debug && !using_sanitizer && current_cpu != "s390x" && -- current_cpu != "s390" && current_cpu != "ppc64" && -- current_cpu != "mips" && current_cpu != "mips64") { -- # Non-chromium code is not guaranteed to compile cleanly with -- # _FORTIFY_SOURCE. Also, fortified build may fail when optimizations are -- # disabled, so only do that for Release build. -- defines += [ "_FORTIFY_SOURCE=2" ] -- } -- - if (is_mac) { - cflags_objc = [ "-Wobjc-missing-property-synthesis" ] - cflags_objcc = [ "-Wobjc-missing-property-synthesis" ] -@@ -2006,7 +1980,8 @@ config("default_stack_frames") { - } - - # Default "optimization on" config. --config("optimize") { -+config("optimize") { } -+config("xoptimize") { - if (is_win) { - if (chrome_pgo_phase != 2) { - # Favor size over speed, /O1 must be before the common flags. -@@ -2041,7 +2016,8 @@ config("optimize") { - } - - # Turn off optimizations. --config("no_optimize") { -+config("no_optimize") { } -+config("xno_optimize") { - if (is_win) { - cflags = [ - "/Od", # Disable optimization. -@@ -2081,7 +2057,8 @@ config("no_optimize") { - # Turns up the optimization level. On Windows, this implies whole program - # optimization and link-time code generation which is very expensive and should - # be used sparingly. --config("optimize_max") { -+config("optimize_max") { } -+config("xoptimize_max") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2113,7 +2090,8 @@ config("optimize_max") { - # - # TODO(crbug.com/621335) - rework how all of these configs are related - # so that we don't need this disclaimer. --config("optimize_speed") { -+config("optimize_speed") { } -+config("xoptimize_speed") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2138,7 +2116,8 @@ config("optimize_speed") { - } - } - --config("optimize_fuzzing") { -+config("optimize_fuzzing") { } -+config("xoptimize_fuzzing") { - cflags = [ "-O1" ] + common_optimize_on_cflags - ldflags = common_optimize_on_ldflags - visibility = [ ":default_optimization" ] -@@ -2267,7 +2246,8 @@ config("win_pdbaltpath") { - } - - # Full symbols. --config("symbols") { -+config("symbols") { } -+config("xsymbols") { - if (is_win) { - if (is_clang) { - cflags = [ "/Z7" ] # Debug information in the .obj files. -@@ -2365,7 +2345,8 @@ config("symbols") { - # Minimal symbols. - # This config guarantees to hold symbol for stack trace which are shown to user - # when crash happens in unittests running on buildbot. --config("minimal_symbols") { -+config("minimal_symbols") { } -+config("xminimal_symbols") { - if (is_win) { - # Functions, files, and line tables only. - cflags = [] -@@ -2418,7 +2399,8 @@ config("minimal_symbols") { - # This configuration contains function names only. That is, the compiler is - # told to not generate debug information and the linker then just puts function - # names in the final debug information. --config("no_symbols") { -+config("no_symbols") { } -+config("xno_symbols") { - if (is_win) { - ldflags = [ "/DEBUG" ] - diff --git a/www-client/chromium/files/chromium-88-compositor-dcheck.patch b/www-client/chromium/files/chromium-88-compositor-dcheck.patch deleted file mode 100644 index ef51614..0000000 --- a/www-client/chromium/files/chromium-88-compositor-dcheck.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/cc/metrics/compositor_frame_reporter.cc b/cc/metrics/compositor_frame_reporter.cc -index 93d0e2352..7ca5e379c 100644 ---- a/cc/metrics/compositor_frame_reporter.cc -+++ b/cc/metrics/compositor_frame_reporter.cc -@@ -671,7 +671,7 @@ void CompositorFrameReporter::ReportCompositorLatencyHistogram( - - void CompositorFrameReporter::ReportEventLatencyHistograms() const { - for (const auto& event_metrics : events_metrics_) { -- DCHECK_NE(event_metrics, nullptr); -+ DCHECK_NE(event_metrics.get(), nullptr); - const std::string histogram_base_name = - GetEventLatencyHistogramBaseName(*event_metrics); - const int event_type_index = static_cast<int>(event_metrics->type()); diff --git a/www-client/chromium/files/chromium-88-dawn-include.patch b/www-client/chromium/files/chromium-88-dawn-include.patch deleted file mode 100644 index 3b01546..0000000 --- a/www-client/chromium/files/chromium-88-dawn-include.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/third_party/dawn/src/dawn_wire/ChunkedCommandSerializer.h b/third_party/dawn/src/dawn_wire/ChunkedCommandSerializer.h -index cef4ebba4..db28b87e2 100644 ---- a/third_party/dawn/src/dawn_wire/ChunkedCommandSerializer.h -+++ b/third_party/dawn/src/dawn_wire/ChunkedCommandSerializer.h -@@ -21,6 +21,7 @@ - - #include <algorithm> - #include <cstring> -+#include <memory> - - namespace dawn_wire { - diff --git a/www-client/chromium/files/chromium-88-dawn-size_t-std.patch b/www-client/chromium/files/chromium-88-dawn-size_t-std.patch deleted file mode 100644 index f6392e9..0000000 --- a/www-client/chromium/files/chromium-88-dawn-size_t-std.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/third_party/dawn/src/common/ityp_array.h b/third_party/dawn/src/common/ityp_array.h -index 48e080fa5..d70d9e2da 100644 ---- a/third_party/dawn/src/common/ityp_array.h -+++ b/third_party/dawn/src/common/ityp_array.h -@@ -27,7 +27,7 @@ namespace ityp { - // indices must be a particular type |Index|. Dawn uses multiple flat maps of - // index-->data, and this class helps ensure an indices cannot be passed interchangably - // to a flat map of a different type. -- template <typename Index, typename Value, size_t Size> -+ template <typename Index, typename Value, std::size_t Size> - class array : private std::array<Value, Size> { - using I = UnderlyingType<Index>; - using Base = std::array<Value, Size>; diff --git a/www-client/chromium/files/chromium-88-gpu-internals-ozone.patch b/www-client/chromium/files/chromium-88-gpu-internals-ozone.patch deleted file mode 100644 index c74e72b..0000000 --- a/www-client/chromium/files/chromium-88-gpu-internals-ozone.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff --git a/content/browser/gpu/gpu_internals_ui.cc b/content/browser/gpu/gpu_internals_ui.cc -index ce9359413..472d42913 100644 ---- a/content/browser/gpu/gpu_internals_ui.cc -+++ b/content/browser/gpu/gpu_internals_ui.cc -@@ -69,6 +69,7 @@ - - #if defined(USE_OZONE) - #include "ui/base/ui_base_features.h" -+#include "ui/ozone/public/ozone_platform.h" - #endif - - namespace content { -@@ -393,7 +394,7 @@ std::unique_ptr<base::ListValue> GpuMemoryBufferInfo( - gpu::GpuMemoryBufferSupport gpu_memory_buffer_support; - - gpu::GpuMemoryBufferConfigurationSet native_config; --#if defined(USE_X11) -+#if defined(USE_X11) && defined(USE_OZONE) - if (!features::IsUsingOzonePlatform()) { - for (const auto& config : gpu_extra_info.gpu_memory_buffer_support_x11) { - native_config.emplace(config); diff --git a/www-client/chromium/files/chromium-88-mediasource-uniqptrostream.patch b/www-client/chromium/files/chromium-88-mediasource-uniqptrostream.patch deleted file mode 100644 index 908a993..0000000 --- a/www-client/chromium/files/chromium-88-mediasource-uniqptrostream.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/third_party/blink/renderer/modules/mediasource/cross_thread_media_source_attachment.cc b/third_party/blink/renderer/modules/mediasource/cross_thread_media_source_attachment.cc -index 4caa0753b..9efe53057 100644 ---- a/third_party/blink/renderer/modules/mediasource/cross_thread_media_source_attachment.cc -+++ b/third_party/blink/renderer/modules/mediasource/cross_thread_media_source_attachment.cc -@@ -575,7 +575,7 @@ void CrossThreadMediaSourceAttachment::CompleteAttachingToMediaElement( - MediaSourceTracer* /* tracer */, - std::unique_ptr<WebMediaSource> web_media_source) { - DVLOG(1) << __func__ << " this=" << this -- << ", web_media_source=" << web_media_source; -+ << ", web_media_source=" << web_media_source.get(); - DCHECK(web_media_source); - - { -@@ -618,7 +618,7 @@ void CrossThreadMediaSourceAttachment:: - DCHECK(worker_runner_->BelongsToCurrentThread()); - - DVLOG(1) << __func__ << " this=" << this -- << ", web_media_source=" << web_media_source; -+ << ", web_media_source=" << web_media_source.get(); - - // While awaiting task scheduling, the media element could have begun - // detachment or main context could have been destroyed. Return early in diff --git a/www-client/chromium/files/chromium-88-pcscan-nonfinal.patch b/www-client/chromium/files/chromium-88-pcscan-nonfinal.patch deleted file mode 100644 index ea7f31f..0000000 --- a/www-client/chromium/files/chromium-88-pcscan-nonfinal.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/base/allocator/partition_allocator/pcscan.cc b/base/allocator/partition_allocator/pcscan.cc -index 5cc93dbbd..69aaa0934 100644 ---- a/base/allocator/partition_allocator/pcscan.cc -+++ b/base/allocator/partition_allocator/pcscan.cc -@@ -41,7 +41,7 @@ ThreadSafePartitionRoot& PCScanMetadataAllocator() { - // STL allocator which is needed to keep internal data structures required by - // PCScan. - template <typename T> --class MetadataAllocator final { -+class MetadataAllocator { - public: - using value_type = T; - diff --git a/www-client/chromium/files/chromium-88-service-worker-registration-crash.patch b/www-client/chromium/files/chromium-88-service-worker-registration-crash.patch deleted file mode 100644 index e543fca..0000000 --- a/www-client/chromium/files/chromium-88-service-worker-registration-crash.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/content/browser/service_worker/service_worker_container_host.cc b/content/browser/service_worker/service_worker_container_host.cc -index 5cb7b2da2..fa11602ed 100644 ---- a/content/browser/service_worker/service_worker_container_host.cc -+++ b/content/browser/service_worker/service_worker_container_host.cc -@@ -626,6 +626,9 @@ void ServiceWorkerContainerHost::RemoveServiceWorkerRegistrationObjectHost( - int64_t registration_id) { - DCHECK_CURRENTLY_ON(ServiceWorkerContext::GetCoreThreadId()); - DCHECK(base::Contains(registration_object_hosts_, registration_id)); -+ std::unique_ptr<ServiceWorkerRegistrationObjectHost> to_be_deleted = -+ std::move(registration_object_hosts_[registration_id]); -+ DCHECK(to_be_deleted); - registration_object_hosts_.erase(registration_id); - } - diff --git a/www-client/chromium/files/chromium-88-system-icu.patch b/www-client/chromium/files/chromium-88-system-icu.patch deleted file mode 100644 index 968143e..0000000 --- a/www-client/chromium/files/chromium-88-system-icu.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/third_party/blink/renderer/platform/wtf/text/text_codec_icu.cc b/third_party/blink/renderer/platform/wtf/text/text_codec_icu.cc -index fb8ab0530..5d4ea13e7 100644 ---- a/third_party/blink/renderer/platform/wtf/text/text_codec_icu.cc -+++ b/third_party/blink/renderer/platform/wtf/text/text_codec_icu.cc -@@ -432,7 +432,7 @@ String TextCodecICU::Decode(const char* bytes, - // ICU decodes it as U+E5E5. - if (!strcmp(encoding_.GetName(), "GBK")) { - if (EqualIgnoringASCIICase(encoding_.GetName(), "gb18030")) -- resultString.Replace(0xE5E5, ideographicSpaceCharacter); -+ resultString.Replace(0xE5E5, kIdeographicSpaceCharacter); - // Make GBK compliant to the encoding spec and align with GB18030 - resultString.Replace(0x01F9, 0xE7C8); - // FIXME: Once https://www.w3.org/Bugs/Public/show_bug.cgi?id=28740#c3 diff --git a/www-client/chromium/files/chromium-88-tree-formatter-include.patch b/www-client/chromium/files/chromium-88-tree-formatter-include.patch deleted file mode 100644 index 71258c5..0000000 --- a/www-client/chromium/files/chromium-88-tree-formatter-include.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/ui/accessibility/platform/inspect/tree_formatter.h b/ui/accessibility/platform/inspect/tree_formatter.h -index 4a70a4d54..532da613a 100644 ---- a/ui/accessibility/platform/inspect/tree_formatter.h -+++ b/ui/accessibility/platform/inspect/tree_formatter.h -@@ -5,6 +5,9 @@ - #ifndef UI_ACCESSIBILITY_PLATFORM_INSPECT_TREE_FORMATTER_H_ - #define UI_ACCESSIBILITY_PLATFORM_INSPECT_TREE_FORMATTER_H_ - -+#include <vector> -+#include <memory> -+ - #include "ui/accessibility/platform/inspect/inspect.h" - - #include "ui/gfx/native_widget_types.h" diff --git a/www-client/chromium/files/chromium-89-CursorFactory-include.patch b/www-client/chromium/files/chromium-89-CursorFactory-include.patch deleted file mode 100644 index dfce7bc..0000000 --- a/www-client/chromium/files/chromium-89-CursorFactory-include.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff --git a/chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.cc b/chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.cc -index d69bec5b8..0f9a87571 100644 ---- a/chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.cc -+++ b/chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.cc -@@ -8,6 +8,7 @@ - #include "chrome/browser/ui/browser_list.h" - #include "chrome/browser/ui/views/theme_profile_key.h" - #include "ui/base/ime/linux/fake_input_method_context_factory.h" -+#include "ui/base/cursor/cursor_factory.h" - #include "ui/display/screen.h" - #include "ui/views/linux_ui/linux_ui.h" - -@@ -17,7 +18,6 @@ - #endif - - #if defined(USE_OZONE) --#include "ui/base/cursor/cursor_factory.h" - #include "ui/base/ime/input_method.h" - #include "ui/base/ui_base_features.h" - #include "ui/ozone/public/ozone_platform.h" diff --git a/www-client/chromium/files/chromium-89-EnumTable-crash.patch b/www-client/chromium/files/chromium-89-EnumTable-crash.patch deleted file mode 100644 index 89a5070..0000000 --- a/www-client/chromium/files/chromium-89-EnumTable-crash.patch +++ /dev/null @@ -1,71 +0,0 @@ -diff --git a/components/cast_channel/enum_table.h b/components/cast_channel/enum_table.h -index e3130c7..2ad16ea 100644 ---- a/components/cast_channel/enum_table.h -+++ b/components/cast_channel/enum_table.h -@@ -212,7 +212,7 @@ class - - template <typename E> - friend class EnumTable; -- DISALLOW_COPY_AND_ASSIGN(GenericEnumTableEntry); -+ DISALLOW_ASSIGN(GenericEnumTableEntry); - }; - - // Yes, these constructors really needs to be inlined. Even though they look -@@ -250,8 +250,7 @@ class EnumTable { - // Constructor for regular entries. - constexpr Entry(E value, base::StringPiece str) - : GenericEnumTableEntry(static_cast<int32_t>(value), str) {} -- -- DISALLOW_COPY_AND_ASSIGN(Entry); -+ DISALLOW_ASSIGN(Entry); - }; - - static_assert(sizeof(E) <= sizeof(int32_t), -@@ -306,15 +305,14 @@ class EnumTable { - if (is_sorted_) { - const std::size_t index = static_cast<std::size_t>(value); - if (ANALYZER_ASSUME_TRUE(index < data_.size())) { -- const auto& entry = data_.begin()[index]; -+ const auto& entry = data_[index]; - if (ANALYZER_ASSUME_TRUE(entry.has_str())) - return entry.str(); - } - return base::nullopt; - } - return GenericEnumTableEntry::FindByValue( -- reinterpret_cast<const GenericEnumTableEntry*>(data_.begin()), -- data_.size(), static_cast<int32_t>(value)); -+ &data_[0], data_.size(), static_cast<int32_t>(value)); - } - - // This overload of GetString is designed for cases where the argument is a -@@ -342,8 +340,7 @@ class EnumTable { - // enum value directly. - base::Optional<E> GetEnum(base::StringPiece str) const { - auto* entry = GenericEnumTableEntry::FindByString( -- reinterpret_cast<const GenericEnumTableEntry*>(data_.begin()), -- data_.size(), str); -+ &data_[0], data_.size(), str); - return entry ? static_cast<E>(entry->value) : base::Optional<E>(); - } - -@@ -358,7 +355,7 @@ class EnumTable { - // Align the data on a cache line boundary. - alignas(64) - #endif -- std::initializer_list<Entry> data_; -+ const std::vector<Entry> data_; - bool is_sorted_; - - constexpr EnumTable(std::initializer_list<Entry> data, bool is_sorted) -@@ -370,8 +367,8 @@ class EnumTable { - - for (std::size_t i = 0; i < data.size(); i++) { - for (std::size_t j = i + 1; j < data.size(); j++) { -- const Entry& ei = data.begin()[i]; -- const Entry& ej = data.begin()[j]; -+ const Entry& ei = data[i]; -+ const Entry& ej = data[j]; - DCHECK(ei.value != ej.value) - << "Found duplicate enum values at indices " << i << " and " << j; - DCHECK(!(ei.has_str() && ej.has_str() && ei.str() == ej.str())) diff --git a/www-client/chromium/files/chromium-89-angle-display.patch b/www-client/chromium/files/chromium-89-angle-display.patch deleted file mode 100644 index d467ce9..0000000 --- a/www-client/chromium/files/chromium-89-angle-display.patch +++ /dev/null @@ -1,1747 +0,0 @@ -diff --git a/third_party/angle/scripts/code_generation_hashes/GL_EGL_entry_points.json b/third_party/angle/scripts/code_generation_hashes/GL_EGL_entry_points.json -index c506d31fb..df8758d30 100644 ---- a/third_party/angle/scripts/code_generation_hashes/GL_EGL_entry_points.json -+++ b/third_party/angle/scripts/code_generation_hashes/GL_EGL_entry_points.json -@@ -8,7 +8,7 @@ - "scripts/entry_point_packed_gl_enums.json": - "846be5dc8cb36076207699b025633fcc", - "scripts/generate_entry_points.py": -- "95fc7635243122e679e82e1757816ab3", -+ "d15fcd0f5e3296787753ff507f7051d9", - "scripts/gl.xml": - "f66967f3f3d696b5d8306fd80bbd49a8", - "scripts/gl_angle_ext.xml": -@@ -102,7 +102,7 @@ - "src/libANGLE/frame_capture_utils_autogen.h": - "652b821a877d6eb2c62ba8d151157eea", - "src/libANGLE/validationEGL_autogen.h": -- "b3c0eae46748da68d6833cc40e4bb486", -+ "3927fa260ad183fd9193d65b3f8d82c5", - "src/libANGLE/validationES1_autogen.h": - "c8edb0a5b26303bf7c4692b9d0b05c1f", - "src/libANGLE/validationES2_autogen.h": -@@ -238,17 +238,17 @@ - "src/libGL/libGL_autogen.def": - "2789d87b05eea9f53d52e2aff499b785", - "src/libGLESv2/egl_ext_stubs_autogen.h": -- "03de6401c1695f8ca4acbde9c3ae1ba2", -+ "aeb007419aaab7b5e52b084d83dda77c", - "src/libGLESv2/egl_get_labeled_object_data.json": - "2f4148b2ddf34e62670e32c5e6da4937", - "src/libGLESv2/egl_stubs_autogen.h": -- "1c9d160acb1ed9bf5e7c26918d4a039e", -+ "6439daa350c1663e71dd0af37dcc91df", - "src/libGLESv2/entry_points_egl_autogen.cpp": -- "9fd1b2d1e0dbab804e854e33e5bc9ef2", -+ "ba9796b20452dbbe4180480aae02b8a3", - "src/libGLESv2/entry_points_egl_autogen.h": - "3bc7a8df9deadd7cfd615d0cfad0c6a8", - "src/libGLESv2/entry_points_egl_ext_autogen.cpp": -- "f52756d7a31ce136ea04a67e0ea1b447", -+ "5397ab40e9cbe1d7aa3faf91154a837a", - "src/libGLESv2/entry_points_egl_ext_autogen.h": - "9154781afd9bd6354ec6fc201b43c790", - "src/libGLESv2/entry_points_gles_1_0_autogen.cpp": -@@ -283,4 +283,4 @@ - "f93450c1f787f3da53f2525865568989", - "src/libGLESv2/libGLESv2_with_capture_autogen.def": - "7b78ab59dd1fe360a5d3c1f513c7ce55" --} -\ No newline at end of file -+} -diff --git a/third_party/angle/scripts/generate_entry_points.py b/third_party/angle/scripts/generate_entry_points.py -index de26a60ad..0e99f6bf2 100755 ---- a/third_party/angle/scripts/generate_entry_points.py -+++ b/third_party/angle/scripts/generate_entry_points.py -@@ -1010,7 +1010,8 @@ EGL_PACKED_TYPES = { - "EGLContext": "gl::Context *", - "EGLConfig": "Config *", - "EGLDeviceEXT": "Device *", -- "EGLDisplay": "Display *", -+ # Needs an explicit namespace to avoid an X11 namespace collision. -+ "EGLDisplay": "egl::Display *", - "EGLImage": "Image *", - "EGLImageKHR": "Image *", - "EGLStreamKHR": "Stream *", -@@ -2085,7 +2086,7 @@ def get_egl_entry_point_labeled_object(ep_to_object, cmd_stripped, params, packe - return just_the_name_packed(param, packed_enums) - return None - -- display_param = find_param(params, "Display", packed_enums) -+ display_param = find_param(params, "egl::Display", packed_enums) - - # For entry points not listed in the JSON file, they default to an EGLDisplay or nothing. - if cmd_stripped not in ep_to_object: -diff --git a/third_party/angle/src/libANGLE/validationEGL_autogen.h b/third_party/angle/src/libANGLE/validationEGL_autogen.h -index aa43ab156..869bd86e5 100644 ---- a/third_party/angle/src/libANGLE/validationEGL_autogen.h -+++ b/third_party/angle/src/libANGLE/validationEGL_autogen.h -@@ -18,47 +18,47 @@ namespace egl - - // EGL 1.0 - bool ValidateChooseConfig(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - const AttributeMap &attrib_listPacked, - const EGLConfig *configs, - EGLint config_size, - const EGLint *num_config); - bool ValidateCopyBuffers(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - const Surface *surfacePacked, - EGLNativePixmapType target); - bool ValidateCreateContext(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - const Config *configPacked, - const gl::Context *share_contextPacked, - const AttributeMap &attrib_listPacked); - bool ValidateCreatePbufferSurface(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - const Config *configPacked, - const AttributeMap &attrib_listPacked); - bool ValidateCreatePixmapSurface(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - const Config *configPacked, - EGLNativePixmapType pixmap, - const AttributeMap &attrib_listPacked); - bool ValidateCreateWindowSurface(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - const Config *configPacked, - EGLNativeWindowType win, - const AttributeMap &attrib_listPacked); - bool ValidateDestroyContext(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - const gl::Context *ctxPacked); - bool ValidateDestroySurface(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - const Surface *surfacePacked); - bool ValidateGetConfigAttrib(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - const Config *configPacked, - EGLint attribute, - const EGLint *value); - bool ValidateGetConfigs(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - const EGLConfig *configs, - EGLint config_size, - const EGLint *num_config); -@@ -68,52 +68,54 @@ bool ValidateGetDisplay(const ValidationContext *val, EGLNativeDisplayType displ - bool ValidateGetError(const ValidationContext *val); - bool ValidateGetProcAddress(const ValidationContext *val, const char *procname); - bool ValidateInitialize(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - const EGLint *major, - const EGLint *minor); - bool ValidateMakeCurrent(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - const Surface *drawPacked, - const Surface *readPacked, - const gl::Context *ctxPacked); - bool ValidateQueryContext(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - const gl::Context *ctxPacked, - EGLint attribute, - const EGLint *value); --bool ValidateQueryString(const ValidationContext *val, const Display *dpyPacked, EGLint name); -+bool ValidateQueryString(const ValidationContext *val, const egl::Display *dpyPacked, EGLint name); - bool ValidateQuerySurface(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - const Surface *surfacePacked, - EGLint attribute, - const EGLint *value); - bool ValidateSwapBuffers(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - const Surface *surfacePacked); --bool ValidateTerminate(const ValidationContext *val, const Display *dpyPacked); -+bool ValidateTerminate(const ValidationContext *val, const egl::Display *dpyPacked); - bool ValidateWaitGL(const ValidationContext *val); - bool ValidateWaitNative(const ValidationContext *val, EGLint engine); - - // EGL 1.1 - bool ValidateBindTexImage(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - const Surface *surfacePacked, - EGLint buffer); - bool ValidateReleaseTexImage(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - const Surface *surfacePacked, - EGLint buffer); - bool ValidateSurfaceAttrib(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - const Surface *surfacePacked, - EGLint attribute, - EGLint value); --bool ValidateSwapInterval(const ValidationContext *val, const Display *dpyPacked, EGLint interval); -+bool ValidateSwapInterval(const ValidationContext *val, -+ const egl::Display *dpyPacked, -+ EGLint interval); - - // EGL 1.2 - bool ValidateBindAPI(const ValidationContext *val, EGLenum api); - bool ValidateCreatePbufferFromClientBuffer(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - EGLenum buftype, - EGLClientBuffer buffer, - const Config *configPacked, -@@ -127,53 +129,53 @@ bool ValidateGetCurrentContext(const ValidationContext *val); - - // EGL 1.5 - bool ValidateClientWaitSync(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - const Sync *syncPacked, - EGLint flags, - EGLTime timeout); - bool ValidateCreateImage(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - const gl::Context *ctxPacked, - EGLenum target, - EGLClientBuffer buffer, - const AttributeMap &attrib_listPacked); - bool ValidateCreatePlatformPixmapSurface(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - const Config *configPacked, - const void *native_pixmap, - const AttributeMap &attrib_listPacked); - bool ValidateCreatePlatformWindowSurface(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - const Config *configPacked, - const void *native_window, - const AttributeMap &attrib_listPacked); - bool ValidateCreateSync(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - EGLenum type, - const AttributeMap &attrib_listPacked); - bool ValidateDestroyImage(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - const Image *imagePacked); - bool ValidateDestroySync(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - const Sync *syncPacked); - bool ValidateGetPlatformDisplay(const ValidationContext *val, - EGLenum platform, - const void *native_display, - const AttributeMap &attrib_listPacked); - bool ValidateGetSyncAttrib(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - const Sync *syncPacked, - EGLint attribute, - const EGLAttrib *value); - bool ValidateWaitSync(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - const Sync *syncPacked, - EGLint flags); - - // EGL_ANDROID_blob_cache - bool ValidateSetBlobCacheFuncsANDROID(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - EGLSetBlobFuncANDROID set, - EGLGetBlobFuncANDROID get); - -@@ -183,25 +185,25 @@ bool ValidateCreateNativeClientBufferANDROID(const ValidationContext *val, - - // EGL_ANDROID_get_frame_timestamps - bool ValidateGetCompositorTimingSupportedANDROID(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - const Surface *surfacePacked, - CompositorTiming namePacked); - bool ValidateGetCompositorTimingANDROID(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - const Surface *surfacePacked, - EGLint numTimestamps, - const EGLint *names, - const EGLnsecsANDROID *values); - bool ValidateGetNextFrameIdANDROID(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - const Surface *surfacePacked, - const EGLuint64KHR *frameId); - bool ValidateGetFrameTimestampSupportedANDROID(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - const Surface *surfacePacked, - Timestamp timestampPacked); - bool ValidateGetFrameTimestampsANDROID(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - const Surface *surfacePacked, - EGLuint64KHR frameId, - EGLint numTimestamps, -@@ -214,12 +216,12 @@ bool ValidateGetNativeClientBufferANDROID(const ValidationContext *val, - - // EGL_ANDROID_native_fence_sync - bool ValidateDupNativeFenceFDANDROID(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - const Sync *syncPacked); - - // EGL_ANDROID_presentation_time - bool ValidatePresentationTimeANDROID(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - const Surface *surfacePacked, - EGLnsecsANDROID time); - -@@ -232,79 +234,79 @@ bool ValidateReleaseDeviceANGLE(const ValidationContext *val, const Device *devi - - // EGL_ANGLE_feature_control - bool ValidateQueryStringiANGLE(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - EGLint name, - EGLint index); - bool ValidateQueryDisplayAttribANGLE(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - EGLint attribute, - const EGLAttrib *value); - - // EGL_ANGLE_power_preference - bool ValidateReleaseHighPowerGPUANGLE(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - const gl::Context *ctxPacked); - bool ValidateReacquireHighPowerGPUANGLE(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - const gl::Context *ctxPacked); --bool ValidateHandleGPUSwitchANGLE(const ValidationContext *val, const Display *dpyPacked); -+bool ValidateHandleGPUSwitchANGLE(const ValidationContext *val, const egl::Display *dpyPacked); - - // EGL_ANGLE_program_cache_control - bool ValidateProgramCacheGetAttribANGLE(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - EGLenum attrib); - bool ValidateProgramCacheQueryANGLE(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - EGLint index, - const void *key, - const EGLint *keysize, - const void *binary, - const EGLint *binarysize); - bool ValidateProgramCachePopulateANGLE(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - const void *key, - EGLint keysize, - const void *binary, - EGLint binarysize); - bool ValidateProgramCacheResizeANGLE(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - EGLint limit, - EGLint mode); - - // EGL_ANGLE_query_surface_pointer - bool ValidateQuerySurfacePointerANGLE(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - const Surface *surfacePacked, - EGLint attribute, - void *const *value); - - // EGL_ANGLE_stream_producer_d3d_texture - bool ValidateCreateStreamProducerD3DTextureANGLE(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - const Stream *streamPacked, - const AttributeMap &attrib_listPacked); - bool ValidateStreamPostD3DTextureANGLE(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - const Stream *streamPacked, - const void *texture, - const AttributeMap &attrib_listPacked); - - // EGL_ANGLE_swap_with_frame_token - bool ValidateSwapBuffersWithFrameTokenANGLE(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - const Surface *surfacePacked, - EGLFrameTokenANGLE frametoken); - - // EGL_ANGLE_sync_control_rate - bool ValidateGetMscRateANGLE(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - const Surface *surfacePacked, - const EGLint *numerator, - const EGLint *denominator); - - // EGL_CHROMIUM_sync_control - bool ValidateGetSyncValuesCHROMIUM(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - const Surface *surfacePacked, - const EGLuint64KHR *ust, - const EGLuint64KHR *msc, -@@ -319,18 +321,18 @@ bool ValidateQueryDeviceStringEXT(const ValidationContext *val, - const Device *devicePacked, - EGLint name); - bool ValidateQueryDisplayAttribEXT(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - EGLint attribute, - const EGLAttrib *value); - - // EGL_EXT_platform_base - bool ValidateCreatePlatformPixmapSurfaceEXT(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - const Config *configPacked, - const void *native_pixmap, - const AttributeMap &attrib_listPacked); - bool ValidateCreatePlatformWindowSurfaceEXT(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - const Config *configPacked, - const void *native_window, - const AttributeMap &attrib_listPacked); -@@ -344,7 +346,7 @@ bool ValidateDebugMessageControlKHR(const ValidationContext *val, - EGLDEBUGPROCKHR callback, - const AttributeMap &attrib_listPacked); - bool ValidateLabelObjectKHR(const ValidationContext *val, -- const Display *displayPacked, -+ const egl::Display *displayPacked, - ObjectType objectTypePacked, - EGLObjectKHR object, - EGLLabelKHR label); -@@ -352,90 +354,90 @@ bool ValidateQueryDebugKHR(const ValidationContext *val, EGLint attribute, const - - // EGL_KHR_fence_sync - bool ValidateClientWaitSyncKHR(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - const Sync *syncPacked, - EGLint flags, - EGLTimeKHR timeout); - bool ValidateCreateSyncKHR(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - EGLenum type, - const AttributeMap &attrib_listPacked); - bool ValidateDestroySyncKHR(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - const Sync *syncPacked); - bool ValidateGetSyncAttribKHR(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - const Sync *syncPacked, - EGLint attribute, - const EGLint *value); - - // EGL_KHR_image - bool ValidateCreateImageKHR(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - const gl::Context *ctxPacked, - EGLenum target, - EGLClientBuffer buffer, - const AttributeMap &attrib_listPacked); - bool ValidateDestroyImageKHR(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - const Image *imagePacked); - - // EGL_KHR_reusable_sync - bool ValidateSignalSyncKHR(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - const Sync *syncPacked, - EGLenum mode); - - // EGL_KHR_stream - bool ValidateCreateStreamKHR(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - const AttributeMap &attrib_listPacked); - bool ValidateDestroyStreamKHR(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - const Stream *streamPacked); - bool ValidateQueryStreamKHR(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - const Stream *streamPacked, - EGLenum attribute, - const EGLint *value); - bool ValidateQueryStreamu64KHR(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - const Stream *streamPacked, - EGLenum attribute, - const EGLuint64KHR *value); - bool ValidateStreamAttribKHR(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - const Stream *streamPacked, - EGLenum attribute, - EGLint value); - - // EGL_KHR_stream_consumer_gltexture - bool ValidateStreamConsumerAcquireKHR(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - const Stream *streamPacked); - bool ValidateStreamConsumerGLTextureExternalKHR(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - const Stream *streamPacked); - bool ValidateStreamConsumerReleaseKHR(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - const Stream *streamPacked); - - // EGL_KHR_swap_buffers_with_damage - bool ValidateSwapBuffersWithDamageKHR(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - const Surface *surfacePacked, - const EGLint *rects, - EGLint n_rects); - - // EGL_KHR_wait_sync - bool ValidateWaitSyncKHR(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - const Sync *syncPacked, - EGLint flags); - - // EGL_NV_post_sub_buffer - bool ValidatePostSubBufferNV(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - const Surface *surfacePacked, - EGLint x, - EGLint y, -@@ -444,7 +446,7 @@ bool ValidatePostSubBufferNV(const ValidationContext *val, - - // EGL_NV_stream_consumer_gltexture_yuv - bool ValidateStreamConsumerGLTextureExternalAttribsNV(const ValidationContext *val, -- const Display *dpyPacked, -+ const egl::Display *dpyPacked, - const Stream *streamPacked, - const AttributeMap &attrib_listPacked); - } // namespace egl -diff --git a/third_party/angle/src/libGLESv2/egl_ext_stubs_autogen.h b/third_party/angle/src/libGLESv2/egl_ext_stubs_autogen.h -index aecd051d9..404717bde 100644 ---- a/third_party/angle/src/libGLESv2/egl_ext_stubs_autogen.h -+++ b/third_party/angle/src/libGLESv2/egl_ext_stubs_autogen.h -@@ -33,12 +33,12 @@ class Thread; - struct Config; - - EGLint ClientWaitSyncKHR(Thread *thread, -- Display *dpyPacked, -+ egl::Display *dpyPacked, - Sync *syncPacked, - EGLint flags, - EGLTimeKHR timeout); - EGLImageKHR CreateImageKHR(Thread *thread, -- Display *dpyPacked, -+ egl::Display *dpyPacked, - gl::Context *ctxPacked, - EGLenum target, - EGLClientBuffer buffer, -@@ -46,75 +46,75 @@ EGLImageKHR CreateImageKHR(Thread *thread, - EGLClientBuffer CreateNativeClientBufferANDROID(Thread *thread, - const AttributeMap &attrib_listPacked); - EGLSurface CreatePlatformPixmapSurfaceEXT(Thread *thread, -- Display *dpyPacked, -+ egl::Display *dpyPacked, - Config *configPacked, - void *native_pixmap, - const AttributeMap &attrib_listPacked); - EGLSurface CreatePlatformWindowSurfaceEXT(Thread *thread, -- Display *dpyPacked, -+ egl::Display *dpyPacked, - Config *configPacked, - void *native_window, - const AttributeMap &attrib_listPacked); - EGLStreamKHR CreateStreamKHR(Thread *thread, -- Display *dpyPacked, -+ egl::Display *dpyPacked, - const AttributeMap &attrib_listPacked); - EGLSyncKHR CreateSyncKHR(Thread *thread, -- Display *dpyPacked, -+ egl::Display *dpyPacked, - EGLenum type, - const AttributeMap &attrib_listPacked); - EGLint DebugMessageControlKHR(Thread *thread, - EGLDEBUGPROCKHR callback, - const AttributeMap &attrib_listPacked); --EGLBoolean DestroyImageKHR(Thread *thread, Display *dpyPacked, Image *imagePacked); --EGLBoolean DestroyStreamKHR(Thread *thread, Display *dpyPacked, Stream *streamPacked); --EGLBoolean DestroySyncKHR(Thread *thread, Display *dpyPacked, Sync *syncPacked); --EGLint DupNativeFenceFDANDROID(Thread *thread, Display *dpyPacked, Sync *syncPacked); -+EGLBoolean DestroyImageKHR(Thread *thread, egl::Display *dpyPacked, Image *imagePacked); -+EGLBoolean DestroyStreamKHR(Thread *thread, egl::Display *dpyPacked, Stream *streamPacked); -+EGLBoolean DestroySyncKHR(Thread *thread, egl::Display *dpyPacked, Sync *syncPacked); -+EGLint DupNativeFenceFDANDROID(Thread *thread, egl::Display *dpyPacked, Sync *syncPacked); - EGLClientBuffer GetNativeClientBufferANDROID(Thread *thread, const struct AHardwareBuffer *buffer); - EGLDisplay GetPlatformDisplayEXT(Thread *thread, - EGLenum platform, - void *native_display, - const AttributeMap &attrib_listPacked); - EGLBoolean GetSyncAttribKHR(Thread *thread, -- Display *dpyPacked, -+ egl::Display *dpyPacked, - Sync *syncPacked, - EGLint attribute, - EGLint *value); - EGLint LabelObjectKHR(Thread *thread, -- Display *displayPacked, -+ egl::Display *displayPacked, - ObjectType objectTypePacked, - EGLObjectKHR object, - EGLLabelKHR label); - EGLBoolean PostSubBufferNV(Thread *thread, -- Display *dpyPacked, -+ egl::Display *dpyPacked, - Surface *surfacePacked, - EGLint x, - EGLint y, - EGLint width, - EGLint height); - EGLBoolean PresentationTimeANDROID(Thread *thread, -- Display *dpyPacked, -+ egl::Display *dpyPacked, - Surface *surfacePacked, - EGLnsecsANDROID time); - EGLBoolean GetCompositorTimingSupportedANDROID(Thread *thread, -- Display *dpyPacked, -+ egl::Display *dpyPacked, - Surface *surfacePacked, - CompositorTiming namePacked); - EGLBoolean GetCompositorTimingANDROID(Thread *thread, -- Display *dpyPacked, -+ egl::Display *dpyPacked, - Surface *surfacePacked, - EGLint numTimestamps, - const EGLint *names, - EGLnsecsANDROID *values); - EGLBoolean GetNextFrameIdANDROID(Thread *thread, -- Display *dpyPacked, -+ egl::Display *dpyPacked, - Surface *surfacePacked, - EGLuint64KHR *frameId); - EGLBoolean GetFrameTimestampSupportedANDROID(Thread *thread, -- Display *dpyPacked, -+ egl::Display *dpyPacked, - Surface *surfacePacked, - Timestamp timestampPacked); - EGLBoolean GetFrameTimestampsANDROID(Thread *thread, -- Display *dpyPacked, -+ egl::Display *dpyPacked, - Surface *surfacePacked, - EGLuint64KHR frameId, - EGLint numTimestamps, -@@ -127,99 +127,99 @@ EGLBoolean QueryDeviceAttribEXT(Thread *thread, - EGLAttrib *value); - const char *QueryDeviceStringEXT(Thread *thread, Device *devicePacked, EGLint name); - EGLBoolean QueryDisplayAttribEXT(Thread *thread, -- Display *dpyPacked, -+ egl::Display *dpyPacked, - EGLint attribute, - EGLAttrib *value); - EGLBoolean QueryStreamKHR(Thread *thread, -- Display *dpyPacked, -+ egl::Display *dpyPacked, - Stream *streamPacked, - EGLenum attribute, - EGLint *value); - EGLBoolean QueryStreamu64KHR(Thread *thread, -- Display *dpyPacked, -+ egl::Display *dpyPacked, - Stream *streamPacked, - EGLenum attribute, - EGLuint64KHR *value); - EGLBoolean QuerySurfacePointerANGLE(Thread *thread, -- Display *dpyPacked, -+ egl::Display *dpyPacked, - Surface *surfacePacked, - EGLint attribute, - void **value); - void SetBlobCacheFuncsANDROID(Thread *thread, -- Display *dpyPacked, -+ egl::Display *dpyPacked, - EGLSetBlobFuncANDROID set, - EGLGetBlobFuncANDROID get); --EGLBoolean SignalSyncKHR(Thread *thread, Display *dpyPacked, Sync *syncPacked, EGLenum mode); -+EGLBoolean SignalSyncKHR(Thread *thread, egl::Display *dpyPacked, Sync *syncPacked, EGLenum mode); - EGLBoolean StreamAttribKHR(Thread *thread, -- Display *dpyPacked, -+ egl::Display *dpyPacked, - Stream *streamPacked, - EGLenum attribute, - EGLint value); --EGLBoolean StreamConsumerAcquireKHR(Thread *thread, Display *dpyPacked, Stream *streamPacked); -+EGLBoolean StreamConsumerAcquireKHR(Thread *thread, egl::Display *dpyPacked, Stream *streamPacked); - EGLBoolean StreamConsumerGLTextureExternalKHR(Thread *thread, -- Display *dpyPacked, -+ egl::Display *dpyPacked, - Stream *streamPacked); - EGLBoolean StreamConsumerGLTextureExternalAttribsNV(Thread *thread, -- Display *dpyPacked, -+ egl::Display *dpyPacked, - Stream *streamPacked, - const AttributeMap &attrib_listPacked); --EGLBoolean StreamConsumerReleaseKHR(Thread *thread, Display *dpyPacked, Stream *streamPacked); -+EGLBoolean StreamConsumerReleaseKHR(Thread *thread, egl::Display *dpyPacked, Stream *streamPacked); - EGLBoolean SwapBuffersWithDamageKHR(Thread *thread, -- Display *dpyPacked, -+ egl::Display *dpyPacked, - Surface *surfacePacked, - EGLint *rects, - EGLint n_rects); --EGLint WaitSyncKHR(Thread *thread, Display *dpyPacked, Sync *syncPacked, EGLint flags); -+EGLint WaitSyncKHR(Thread *thread, egl::Display *dpyPacked, Sync *syncPacked, EGLint flags); - EGLDeviceEXT CreateDeviceANGLE(Thread *thread, - EGLint device_type, - void *native_device, - const EGLAttrib *attrib_list); - EGLBoolean ReleaseDeviceANGLE(Thread *thread, Device *devicePacked); - EGLBoolean CreateStreamProducerD3DTextureANGLE(Thread *thread, -- Display *dpyPacked, -+ egl::Display *dpyPacked, - Stream *streamPacked, - const AttributeMap &attrib_listPacked); - EGLBoolean StreamPostD3DTextureANGLE(Thread *thread, -- Display *dpyPacked, -+ egl::Display *dpyPacked, - Stream *streamPacked, - void *texture, - const AttributeMap &attrib_listPacked); - EGLBoolean GetMscRateANGLE(Thread *thread, -- Display *dpyPacked, -+ egl::Display *dpyPacked, - Surface *surfacePacked, - EGLint *numerator, - EGLint *denominator); - EGLBoolean GetSyncValuesCHROMIUM(Thread *thread, -- Display *dpyPacked, -+ egl::Display *dpyPacked, - Surface *surfacePacked, - EGLuint64KHR *ust, - EGLuint64KHR *msc, - EGLuint64KHR *sbc); --EGLint ProgramCacheGetAttribANGLE(Thread *thread, Display *dpyPacked, EGLenum attrib); -+EGLint ProgramCacheGetAttribANGLE(Thread *thread, egl::Display *dpyPacked, EGLenum attrib); - void ProgramCacheQueryANGLE(Thread *thread, -- Display *dpyPacked, -+ egl::Display *dpyPacked, - EGLint index, - void *key, - EGLint *keysize, - void *binary, - EGLint *binarysize); - void ProgramCachePopulateANGLE(Thread *thread, -- Display *dpyPacked, -+ egl::Display *dpyPacked, - const void *key, - EGLint keysize, - const void *binary, - EGLint binarysize); --EGLint ProgramCacheResizeANGLE(Thread *thread, Display *dpyPacked, EGLint limit, EGLint mode); --const char *QueryStringiANGLE(Thread *thread, Display *dpyPacked, EGLint name, EGLint index); -+EGLint ProgramCacheResizeANGLE(Thread *thread, egl::Display *dpyPacked, EGLint limit, EGLint mode); -+const char *QueryStringiANGLE(Thread *thread, egl::Display *dpyPacked, EGLint name, EGLint index); - EGLBoolean SwapBuffersWithFrameTokenANGLE(Thread *thread, -- Display *dpyPacked, -+ egl::Display *dpyPacked, - Surface *surfacePacked, - EGLFrameTokenANGLE frametoken); --void ReleaseHighPowerGPUANGLE(Thread *thread, Display *dpyPacked, gl::Context *ctxPacked); --void ReacquireHighPowerGPUANGLE(Thread *thread, Display *dpyPacked, gl::Context *ctxPacked); --void HandleGPUSwitchANGLE(Thread *thread, Display *dpyPacked); -+void ReleaseHighPowerGPUANGLE(Thread *thread, egl::Display *dpyPacked, gl::Context *ctxPacked); -+void ReacquireHighPowerGPUANGLE(Thread *thread, egl::Display *dpyPacked, gl::Context *ctxPacked); -+void HandleGPUSwitchANGLE(Thread *thread, egl::Display *dpyPacked); - EGLBoolean QueryDisplayAttribANGLE(Thread *thread, -- Display *dpyPacked, -+ egl::Display *dpyPacked, - EGLint attribute, - EGLAttrib *value); - } // namespace egl -diff --git a/third_party/angle/src/libGLESv2/egl_stubs_autogen.h b/third_party/angle/src/libGLESv2/egl_stubs_autogen.h -index 9118495ed..6d7d210d9 100644 ---- a/third_party/angle/src/libGLESv2/egl_stubs_autogen.h -+++ b/third_party/angle/src/libGLESv2/egl_stubs_autogen.h -@@ -33,78 +33,81 @@ class Thread; - struct Config; - - EGLBoolean BindAPI(Thread *thread, EGLenum api); --EGLBoolean BindTexImage(Thread *thread, Display *dpyPacked, Surface *surfacePacked, EGLint buffer); -+EGLBoolean BindTexImage(Thread *thread, -+ egl::Display *dpyPacked, -+ Surface *surfacePacked, -+ EGLint buffer); - EGLBoolean ChooseConfig(Thread *thread, -- Display *dpyPacked, -+ egl::Display *dpyPacked, - const AttributeMap &attrib_listPacked, - EGLConfig *configs, - EGLint config_size, - EGLint *num_config); - EGLint ClientWaitSync(Thread *thread, -- Display *dpyPacked, -+ egl::Display *dpyPacked, - Sync *syncPacked, - EGLint flags, - EGLTime timeout); - EGLBoolean CopyBuffers(Thread *thread, -- Display *dpyPacked, -+ egl::Display *dpyPacked, - Surface *surfacePacked, - EGLNativePixmapType target); - EGLContext CreateContext(Thread *thread, -- Display *dpyPacked, -+ egl::Display *dpyPacked, - Config *configPacked, - gl::Context *share_contextPacked, - const AttributeMap &attrib_listPacked); - EGLImage CreateImage(Thread *thread, -- Display *dpyPacked, -+ egl::Display *dpyPacked, - gl::Context *ctxPacked, - EGLenum target, - EGLClientBuffer buffer, - const AttributeMap &attrib_listPacked); - EGLSurface CreatePbufferFromClientBuffer(Thread *thread, -- Display *dpyPacked, -+ egl::Display *dpyPacked, - EGLenum buftype, - EGLClientBuffer buffer, - Config *configPacked, - const AttributeMap &attrib_listPacked); - EGLSurface CreatePbufferSurface(Thread *thread, -- Display *dpyPacked, -+ egl::Display *dpyPacked, - Config *configPacked, - const AttributeMap &attrib_listPacked); - EGLSurface CreatePixmapSurface(Thread *thread, -- Display *dpyPacked, -+ egl::Display *dpyPacked, - Config *configPacked, - EGLNativePixmapType pixmap, - const AttributeMap &attrib_listPacked); - EGLSurface CreatePlatformPixmapSurface(Thread *thread, -- Display *dpyPacked, -+ egl::Display *dpyPacked, - Config *configPacked, - void *native_pixmap, - const AttributeMap &attrib_listPacked); - EGLSurface CreatePlatformWindowSurface(Thread *thread, -- Display *dpyPacked, -+ egl::Display *dpyPacked, - Config *configPacked, - void *native_window, - const AttributeMap &attrib_listPacked); - EGLSync CreateSync(Thread *thread, -- Display *dpyPacked, -+ egl::Display *dpyPacked, - EGLenum type, - const AttributeMap &attrib_listPacked); - EGLSurface CreateWindowSurface(Thread *thread, -- Display *dpyPacked, -+ egl::Display *dpyPacked, - Config *configPacked, - EGLNativeWindowType win, - const AttributeMap &attrib_listPacked); --EGLBoolean DestroyContext(Thread *thread, Display *dpyPacked, gl::Context *ctxPacked); --EGLBoolean DestroyImage(Thread *thread, Display *dpyPacked, Image *imagePacked); --EGLBoolean DestroySurface(Thread *thread, Display *dpyPacked, Surface *surfacePacked); --EGLBoolean DestroySync(Thread *thread, Display *dpyPacked, Sync *syncPacked); -+EGLBoolean DestroyContext(Thread *thread, egl::Display *dpyPacked, gl::Context *ctxPacked); -+EGLBoolean DestroyImage(Thread *thread, egl::Display *dpyPacked, Image *imagePacked); -+EGLBoolean DestroySurface(Thread *thread, egl::Display *dpyPacked, Surface *surfacePacked); -+EGLBoolean DestroySync(Thread *thread, egl::Display *dpyPacked, Sync *syncPacked); - EGLBoolean GetConfigAttrib(Thread *thread, -- Display *dpyPacked, -+ egl::Display *dpyPacked, - Config *configPacked, - EGLint attribute, - EGLint *value); - EGLBoolean GetConfigs(Thread *thread, -- Display *dpyPacked, -+ egl::Display *dpyPacked, - EGLConfig *configs, - EGLint config_size, - EGLint *num_config); -@@ -119,44 +122,44 @@ EGLDisplay GetPlatformDisplay(Thread *thread, - const AttributeMap &attrib_listPacked); - __eglMustCastToProperFunctionPointerType GetProcAddress(Thread *thread, const char *procname); - EGLBoolean GetSyncAttrib(Thread *thread, -- Display *dpyPacked, -+ egl::Display *dpyPacked, - Sync *syncPacked, - EGLint attribute, - EGLAttrib *value); --EGLBoolean Initialize(Thread *thread, Display *dpyPacked, EGLint *major, EGLint *minor); -+EGLBoolean Initialize(Thread *thread, egl::Display *dpyPacked, EGLint *major, EGLint *minor); - EGLBoolean MakeCurrent(Thread *thread, -- Display *dpyPacked, -+ egl::Display *dpyPacked, - Surface *drawPacked, - Surface *readPacked, - gl::Context *ctxPacked); - EGLenum QueryAPI(Thread *thread); - EGLBoolean QueryContext(Thread *thread, -- Display *dpyPacked, -+ egl::Display *dpyPacked, - gl::Context *ctxPacked, - EGLint attribute, - EGLint *value); --const char *QueryString(Thread *thread, Display *dpyPacked, EGLint name); -+const char *QueryString(Thread *thread, egl::Display *dpyPacked, EGLint name); - EGLBoolean QuerySurface(Thread *thread, -- Display *dpyPacked, -+ egl::Display *dpyPacked, - Surface *surfacePacked, - EGLint attribute, - EGLint *value); - EGLBoolean ReleaseTexImage(Thread *thread, -- Display *dpyPacked, -+ egl::Display *dpyPacked, - Surface *surfacePacked, - EGLint buffer); - EGLBoolean ReleaseThread(Thread *thread); - EGLBoolean SurfaceAttrib(Thread *thread, -- Display *dpyPacked, -+ egl::Display *dpyPacked, - Surface *surfacePacked, - EGLint attribute, - EGLint value); --EGLBoolean SwapBuffers(Thread *thread, Display *dpyPacked, Surface *surfacePacked); --EGLBoolean SwapInterval(Thread *thread, Display *dpyPacked, EGLint interval); --EGLBoolean Terminate(Thread *thread, Display *dpyPacked); -+EGLBoolean SwapBuffers(Thread *thread, egl::Display *dpyPacked, Surface *surfacePacked); -+EGLBoolean SwapInterval(Thread *thread, egl::Display *dpyPacked, EGLint interval); -+EGLBoolean Terminate(Thread *thread, egl::Display *dpyPacked); - EGLBoolean WaitClient(Thread *thread); - EGLBoolean WaitGL(Thread *thread); - EGLBoolean WaitNative(Thread *thread, EGLint engine); --EGLBoolean WaitSync(Thread *thread, Display *dpyPacked, Sync *syncPacked, EGLint flags); -+EGLBoolean WaitSync(Thread *thread, egl::Display *dpyPacked, Sync *syncPacked, EGLint flags); - } // namespace egl - #endif // LIBGLESV2_EGL_STUBS_AUTOGEN_H_ -diff --git a/third_party/angle/src/libGLESv2/entry_points_egl_autogen.cpp b/third_party/angle/src/libGLESv2/entry_points_egl_autogen.cpp -index 3e127ee9d..7671cc7ab 100644 ---- a/third_party/angle/src/libGLESv2/entry_points_egl_autogen.cpp -+++ b/third_party/angle/src/libGLESv2/entry_points_egl_autogen.cpp -@@ -35,7 +35,7 @@ EGLBoolean EGLAPIENTRY EGL_ChooseConfig(EGLDisplay dpy, - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); - const AttributeMap &attrib_listPacked = PackParam<const AttributeMap &>(attrib_list); - - ANGLE_EGL_VALIDATE(thread, ChooseConfig, GetDisplayIfValid(dpyPacked), EGLBoolean, dpyPacked, -@@ -55,8 +55,8 @@ EGLBoolean EGLAPIENTRY EGL_CopyBuffers(EGLDisplay dpy, - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -- Surface *surfacePacked = PackParam<Surface *>(surface); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); -+ Surface *surfacePacked = PackParam<Surface *>(surface); - - ANGLE_EGL_VALIDATE(thread, CopyBuffers, GetDisplayIfValid(dpyPacked), EGLBoolean, dpyPacked, - surfacePacked, target); -@@ -77,7 +77,7 @@ EGLContext EGLAPIENTRY EGL_CreateContext(EGLDisplay dpy, - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); - Config *configPacked = PackParam<Config *>(config); - gl::Context *share_contextPacked = PackParam<gl::Context *>(share_context); - const AttributeMap &attrib_listPacked = PackParam<const AttributeMap &>(attrib_list); -@@ -100,7 +100,7 @@ EGLSurface EGLAPIENTRY EGL_CreatePbufferSurface(EGLDisplay dpy, - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); - Config *configPacked = PackParam<Config *>(config); - const AttributeMap &attrib_listPacked = PackParam<const AttributeMap &>(attrib_list); - -@@ -123,7 +123,7 @@ EGLSurface EGLAPIENTRY EGL_CreatePixmapSurface(EGLDisplay dpy, - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); - Config *configPacked = PackParam<Config *>(config); - const AttributeMap &attrib_listPacked = PackParam<const AttributeMap &>(attrib_list); - -@@ -146,7 +146,7 @@ EGLSurface EGLAPIENTRY EGL_CreateWindowSurface(EGLDisplay dpy, - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); - Config *configPacked = PackParam<Config *>(config); - const AttributeMap &attrib_listPacked = PackParam<const AttributeMap &>(attrib_list); - -@@ -164,8 +164,8 @@ EGLBoolean EGLAPIENTRY EGL_DestroyContext(EGLDisplay dpy, EGLContext ctx) - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -- gl::Context *ctxPacked = PackParam<gl::Context *>(ctx); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); -+ gl::Context *ctxPacked = PackParam<gl::Context *>(ctx); - - ANGLE_EGL_VALIDATE(thread, DestroyContext, GetDisplayIfValid(dpyPacked), EGLBoolean, dpyPacked, - ctxPacked); -@@ -181,8 +181,8 @@ EGLBoolean EGLAPIENTRY EGL_DestroySurface(EGLDisplay dpy, EGLSurface surface) - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -- Surface *surfacePacked = PackParam<Surface *>(surface); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); -+ Surface *surfacePacked = PackParam<Surface *>(surface); - - ANGLE_EGL_VALIDATE(thread, DestroySurface, GetDisplayIfValid(dpyPacked), EGLBoolean, dpyPacked, - surfacePacked); -@@ -203,8 +203,8 @@ EGLBoolean EGLAPIENTRY EGL_GetConfigAttrib(EGLDisplay dpy, - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -- Config *configPacked = PackParam<Config *>(config); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); -+ Config *configPacked = PackParam<Config *>(config); - - ANGLE_EGL_VALIDATE(thread, GetConfigAttrib, GetDisplayIfValid(dpyPacked), EGLBoolean, dpyPacked, - configPacked, attribute, value); -@@ -225,7 +225,7 @@ EGLBoolean EGLAPIENTRY EGL_GetConfigs(EGLDisplay dpy, - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); - - ANGLE_EGL_VALIDATE(thread, GetConfigs, GetDisplayIfValid(dpyPacked), EGLBoolean, dpyPacked, - configs, config_size, num_config); -@@ -303,7 +303,7 @@ EGLBoolean EGLAPIENTRY EGL_Initialize(EGLDisplay dpy, EGLint *major, EGLint *min - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); - - ANGLE_EGL_VALIDATE(thread, Initialize, GetDisplayIfValid(dpyPacked), EGLBoolean, dpyPacked, - major, minor); -@@ -324,10 +324,10 @@ EGLBoolean EGLAPIENTRY EGL_MakeCurrent(EGLDisplay dpy, - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -- Surface *drawPacked = PackParam<Surface *>(draw); -- Surface *readPacked = PackParam<Surface *>(read); -- gl::Context *ctxPacked = PackParam<gl::Context *>(ctx); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); -+ Surface *drawPacked = PackParam<Surface *>(draw); -+ Surface *readPacked = PackParam<Surface *>(read); -+ gl::Context *ctxPacked = PackParam<gl::Context *>(ctx); - - ANGLE_EGL_VALIDATE(thread, MakeCurrent, GetDisplayIfValid(dpyPacked), EGLBoolean, dpyPacked, - drawPacked, readPacked, ctxPacked); -@@ -348,8 +348,8 @@ EGLBoolean EGLAPIENTRY EGL_QueryContext(EGLDisplay dpy, - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -- gl::Context *ctxPacked = PackParam<gl::Context *>(ctx); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); -+ gl::Context *ctxPacked = PackParam<gl::Context *>(ctx); - - ANGLE_EGL_VALIDATE(thread, QueryContext, GetDisplayIfValid(dpyPacked), EGLBoolean, dpyPacked, - ctxPacked, attribute, value); -@@ -364,7 +364,7 @@ const char *EGLAPIENTRY EGL_QueryString(EGLDisplay dpy, EGLint name) - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); - - ANGLE_EGL_VALIDATE(thread, QueryString, GetDisplayIfValid(dpyPacked), const char *, dpyPacked, - name); -@@ -385,8 +385,8 @@ EGLBoolean EGLAPIENTRY EGL_QuerySurface(EGLDisplay dpy, - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -- Surface *surfacePacked = PackParam<Surface *>(surface); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); -+ Surface *surfacePacked = PackParam<Surface *>(surface); - - ANGLE_EGL_VALIDATE(thread, QuerySurface, GetDisplayIfValid(dpyPacked), EGLBoolean, dpyPacked, - surfacePacked, attribute, value); -@@ -402,8 +402,8 @@ EGLBoolean EGLAPIENTRY EGL_SwapBuffers(EGLDisplay dpy, EGLSurface surface) - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -- Surface *surfacePacked = PackParam<Surface *>(surface); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); -+ Surface *surfacePacked = PackParam<Surface *>(surface); - - ANGLE_EGL_VALIDATE(thread, SwapBuffers, GetDisplayIfValid(dpyPacked), EGLBoolean, dpyPacked, - surfacePacked); -@@ -418,7 +418,7 @@ EGLBoolean EGLAPIENTRY EGL_Terminate(EGLDisplay dpy) - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); - - ANGLE_EGL_VALIDATE(thread, Terminate, GetDisplayIfValid(dpyPacked), EGLBoolean, dpyPacked); - -@@ -458,8 +458,8 @@ EGLBoolean EGLAPIENTRY EGL_BindTexImage(EGLDisplay dpy, EGLSurface surface, EGLi - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -- Surface *surfacePacked = PackParam<Surface *>(surface); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); -+ Surface *surfacePacked = PackParam<Surface *>(surface); - - ANGLE_EGL_VALIDATE(thread, BindTexImage, GetDisplayIfValid(dpyPacked), EGLBoolean, dpyPacked, - surfacePacked, buffer); -@@ -475,8 +475,8 @@ EGLBoolean EGLAPIENTRY EGL_ReleaseTexImage(EGLDisplay dpy, EGLSurface surface, E - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -- Surface *surfacePacked = PackParam<Surface *>(surface); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); -+ Surface *surfacePacked = PackParam<Surface *>(surface); - - ANGLE_EGL_VALIDATE(thread, ReleaseTexImage, GetDisplayIfValid(dpyPacked), EGLBoolean, dpyPacked, - surfacePacked, buffer); -@@ -496,8 +496,8 @@ EGLBoolean EGLAPIENTRY EGL_SurfaceAttrib(EGLDisplay dpy, - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -- Surface *surfacePacked = PackParam<Surface *>(surface); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); -+ Surface *surfacePacked = PackParam<Surface *>(surface); - - ANGLE_EGL_VALIDATE(thread, SurfaceAttrib, GetDisplayIfValid(dpyPacked), EGLBoolean, dpyPacked, - surfacePacked, attribute, value); -@@ -512,7 +512,7 @@ EGLBoolean EGLAPIENTRY EGL_SwapInterval(EGLDisplay dpy, EGLint interval) - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); - - ANGLE_EGL_VALIDATE(thread, SwapInterval, GetDisplayIfValid(dpyPacked), EGLBoolean, dpyPacked, - interval); -@@ -548,7 +548,7 @@ EGLSurface EGLAPIENTRY EGL_CreatePbufferFromClientBuffer(EGLDisplay dpy, - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); - Config *configPacked = PackParam<Config *>(config); - const AttributeMap &attrib_listPacked = PackParam<const AttributeMap &>(attrib_list); - -@@ -618,8 +618,8 @@ EGLint EGLAPIENTRY EGL_ClientWaitSync(EGLDisplay dpy, EGLSync sync, EGLint flags - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -- Sync *syncPacked = PackParam<Sync *>(sync); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); -+ Sync *syncPacked = PackParam<Sync *>(sync); - - ANGLE_EGL_VALIDATE(thread, ClientWaitSync, GetDisplayIfValid(dpyPacked), EGLint, dpyPacked, - syncPacked, flags, timeout); -@@ -641,7 +641,7 @@ EGLImage EGLAPIENTRY EGL_CreateImage(EGLDisplay dpy, - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); - gl::Context *ctxPacked = PackParam<gl::Context *>(ctx); - const AttributeMap &attrib_listPacked = PackParam<const AttributeMap &>(attrib_list); - -@@ -664,7 +664,7 @@ EGLSurface EGLAPIENTRY EGL_CreatePlatformPixmapSurface(EGLDisplay dpy, - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); - Config *configPacked = PackParam<Config *>(config); - const AttributeMap &attrib_listPacked = PackParam<const AttributeMap &>(attrib_list); - -@@ -688,7 +688,7 @@ EGLSurface EGLAPIENTRY EGL_CreatePlatformWindowSurface(EGLDisplay dpy, - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); - Config *configPacked = PackParam<Config *>(config); - const AttributeMap &attrib_listPacked = PackParam<const AttributeMap &>(attrib_list); - -@@ -707,7 +707,7 @@ EGLSync EGLAPIENTRY EGL_CreateSync(EGLDisplay dpy, EGLenum type, const EGLAttrib - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); - const AttributeMap &attrib_listPacked = PackParam<const AttributeMap &>(attrib_list); - - ANGLE_EGL_VALIDATE(thread, CreateSync, GetDisplayIfValid(dpyPacked), EGLSync, dpyPacked, type, -@@ -724,8 +724,8 @@ EGLBoolean EGLAPIENTRY EGL_DestroyImage(EGLDisplay dpy, EGLImage image) - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -- Image *imagePacked = PackParam<Image *>(image); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); -+ Image *imagePacked = PackParam<Image *>(image); - - ANGLE_EGL_VALIDATE(thread, DestroyImage, GetDisplayIfValid(dpyPacked), EGLBoolean, dpyPacked, - imagePacked); -@@ -741,8 +741,8 @@ EGLBoolean EGLAPIENTRY EGL_DestroySync(EGLDisplay dpy, EGLSync sync) - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -- Sync *syncPacked = PackParam<Sync *>(sync); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); -+ Sync *syncPacked = PackParam<Sync *>(sync); - - ANGLE_EGL_VALIDATE(thread, DestroySync, GetDisplayIfValid(dpyPacked), EGLBoolean, dpyPacked, - syncPacked); -@@ -783,8 +783,8 @@ EGLBoolean EGLAPIENTRY EGL_GetSyncAttrib(EGLDisplay dpy, - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -- Sync *syncPacked = PackParam<Sync *>(sync); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); -+ Sync *syncPacked = PackParam<Sync *>(sync); - - ANGLE_EGL_VALIDATE(thread, GetSyncAttrib, GetDisplayIfValid(dpyPacked), EGLBoolean, dpyPacked, - syncPacked, attribute, value); -@@ -800,8 +800,8 @@ EGLBoolean EGLAPIENTRY EGL_WaitSync(EGLDisplay dpy, EGLSync sync, EGLint flags) - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -- Sync *syncPacked = PackParam<Sync *>(sync); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); -+ Sync *syncPacked = PackParam<Sync *>(sync); - - ANGLE_EGL_VALIDATE(thread, WaitSync, GetDisplayIfValid(dpyPacked), EGLBoolean, dpyPacked, - syncPacked, flags); -diff --git a/third_party/angle/src/libGLESv2/entry_points_egl_ext_autogen.cpp b/third_party/angle/src/libGLESv2/entry_points_egl_ext_autogen.cpp -index d9f4b76ea..76fcf8c17 100644 ---- a/third_party/angle/src/libGLESv2/entry_points_egl_ext_autogen.cpp -+++ b/third_party/angle/src/libGLESv2/entry_points_egl_ext_autogen.cpp -@@ -31,7 +31,7 @@ void EGLAPIENTRY EGL_SetBlobCacheFuncsANDROID(EGLDisplay dpy, - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); - - ANGLE_EGL_VALIDATE_VOID(thread, SetBlobCacheFuncsANDROID, GetDisplayIfValid(dpyPacked), - dpyPacked, set, get); -@@ -68,7 +68,7 @@ EGLBoolean EGLAPIENTRY EGL_GetCompositorTimingSupportedANDROID(EGLDisplay dpy, - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); - Surface *surfacePacked = PackParam<Surface *>(surface); - CompositorTiming namePacked = PackParam<CompositorTiming>(name); - -@@ -93,8 +93,8 @@ EGLBoolean EGLAPIENTRY EGL_GetCompositorTimingANDROID(EGLDisplay dpy, - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -- Surface *surfacePacked = PackParam<Surface *>(surface); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); -+ Surface *surfacePacked = PackParam<Surface *>(surface); - - ANGLE_EGL_VALIDATE(thread, GetCompositorTimingANDROID, GetDisplayIfValid(dpyPacked), EGLBoolean, - dpyPacked, surfacePacked, numTimestamps, names, values); -@@ -114,8 +114,8 @@ EGLBoolean EGLAPIENTRY EGL_GetNextFrameIdANDROID(EGLDisplay dpy, - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -- Surface *surfacePacked = PackParam<Surface *>(surface); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); -+ Surface *surfacePacked = PackParam<Surface *>(surface); - - ANGLE_EGL_VALIDATE(thread, GetNextFrameIdANDROID, GetDisplayIfValid(dpyPacked), EGLBoolean, - dpyPacked, surfacePacked, frameId); -@@ -134,7 +134,7 @@ EGLBoolean EGLAPIENTRY EGL_GetFrameTimestampSupportedANDROID(EGLDisplay dpy, - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); - Surface *surfacePacked = PackParam<Surface *>(surface); - Timestamp timestampPacked = PackParam<Timestamp>(timestamp); - -@@ -161,8 +161,8 @@ EGLBoolean EGLAPIENTRY EGL_GetFrameTimestampsANDROID(EGLDisplay dpy, - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -- Surface *surfacePacked = PackParam<Surface *>(surface); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); -+ Surface *surfacePacked = PackParam<Surface *>(surface); - - ANGLE_EGL_VALIDATE(thread, GetFrameTimestampsANDROID, GetDisplayIfValid(dpyPacked), EGLBoolean, - dpyPacked, surfacePacked, frameId, numTimestamps, timestamps, values); -@@ -193,8 +193,8 @@ EGLint EGLAPIENTRY EGL_DupNativeFenceFDANDROID(EGLDisplay dpy, EGLSyncKHR sync) - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -- Sync *syncPacked = PackParam<Sync *>(sync); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); -+ Sync *syncPacked = PackParam<Sync *>(sync); - - ANGLE_EGL_VALIDATE(thread, DupNativeFenceFDANDROID, GetDisplayIfValid(dpyPacked), EGLint, - dpyPacked, syncPacked); -@@ -214,8 +214,8 @@ EGLBoolean EGLAPIENTRY EGL_PresentationTimeANDROID(EGLDisplay dpy, - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -- Surface *surfacePacked = PackParam<Surface *>(surface); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); -+ Surface *surfacePacked = PackParam<Surface *>(surface); - - ANGLE_EGL_VALIDATE(thread, PresentationTimeANDROID, GetDisplayIfValid(dpyPacked), EGLBoolean, - dpyPacked, surfacePacked, time); -@@ -265,7 +265,7 @@ const char *EGLAPIENTRY EGL_QueryStringiANGLE(EGLDisplay dpy, EGLint name, EGLin - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); - - ANGLE_EGL_VALIDATE(thread, QueryStringiANGLE, GetDisplayIfValid(dpyPacked), const char *, - dpyPacked, name, index); -@@ -284,7 +284,7 @@ EGLBoolean EGLAPIENTRY EGL_QueryDisplayAttribANGLE(EGLDisplay dpy, - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); - - ANGLE_EGL_VALIDATE(thread, QueryDisplayAttribANGLE, GetDisplayIfValid(dpyPacked), EGLBoolean, - dpyPacked, attribute, value); -@@ -301,8 +301,8 @@ void EGLAPIENTRY EGL_ReleaseHighPowerGPUANGLE(EGLDisplay dpy, EGLContext ctx) - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -- gl::Context *ctxPacked = PackParam<gl::Context *>(ctx); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); -+ gl::Context *ctxPacked = PackParam<gl::Context *>(ctx); - - ANGLE_EGL_VALIDATE_VOID(thread, ReleaseHighPowerGPUANGLE, GetDisplayIfValid(dpyPacked), - dpyPacked, ctxPacked); -@@ -318,8 +318,8 @@ void EGLAPIENTRY EGL_ReacquireHighPowerGPUANGLE(EGLDisplay dpy, EGLContext ctx) - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -- gl::Context *ctxPacked = PackParam<gl::Context *>(ctx); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); -+ gl::Context *ctxPacked = PackParam<gl::Context *>(ctx); - - ANGLE_EGL_VALIDATE_VOID(thread, ReacquireHighPowerGPUANGLE, GetDisplayIfValid(dpyPacked), - dpyPacked, ctxPacked); -@@ -334,7 +334,7 @@ void EGLAPIENTRY EGL_HandleGPUSwitchANGLE(EGLDisplay dpy) - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); - - ANGLE_EGL_VALIDATE_VOID(thread, HandleGPUSwitchANGLE, GetDisplayIfValid(dpyPacked), dpyPacked); - -@@ -350,7 +350,7 @@ EGLint EGLAPIENTRY EGL_ProgramCacheGetAttribANGLE(EGLDisplay dpy, EGLenum attrib - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); - - ANGLE_EGL_VALIDATE(thread, ProgramCacheGetAttribANGLE, GetDisplayIfValid(dpyPacked), EGLint, - dpyPacked, attrib); -@@ -375,7 +375,7 @@ void EGLAPIENTRY EGL_ProgramCacheQueryANGLE(EGLDisplay dpy, - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); - - ANGLE_EGL_VALIDATE_VOID(thread, ProgramCacheQueryANGLE, GetDisplayIfValid(dpyPacked), dpyPacked, - index, key, keysize, binary, binarysize); -@@ -397,7 +397,7 @@ void EGLAPIENTRY EGL_ProgramCachePopulateANGLE(EGLDisplay dpy, - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); - - ANGLE_EGL_VALIDATE_VOID(thread, ProgramCachePopulateANGLE, GetDisplayIfValid(dpyPacked), - dpyPacked, key, keysize, binary, binarysize); -@@ -413,7 +413,7 @@ EGLint EGLAPIENTRY EGL_ProgramCacheResizeANGLE(EGLDisplay dpy, EGLint limit, EGL - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); - - ANGLE_EGL_VALIDATE(thread, ProgramCacheResizeANGLE, GetDisplayIfValid(dpyPacked), EGLint, - dpyPacked, limit, mode); -@@ -435,8 +435,8 @@ EGLBoolean EGLAPIENTRY EGL_QuerySurfacePointerANGLE(EGLDisplay dpy, - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -- Surface *surfacePacked = PackParam<Surface *>(surface); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); -+ Surface *surfacePacked = PackParam<Surface *>(surface); - - ANGLE_EGL_VALIDATE(thread, QuerySurfacePointerANGLE, GetDisplayIfValid(dpyPacked), EGLBoolean, - dpyPacked, surfacePacked, attribute, value); -@@ -457,7 +457,7 @@ EGLBoolean EGLAPIENTRY EGL_CreateStreamProducerD3DTextureANGLE(EGLDisplay dpy, - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); - Stream *streamPacked = PackParam<Stream *>(stream); - const AttributeMap &attrib_listPacked = PackParam<const AttributeMap &>(attrib_list); - -@@ -480,7 +480,7 @@ EGLBoolean EGLAPIENTRY EGL_StreamPostD3DTextureANGLE(EGLDisplay dpy, - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); - Stream *streamPacked = PackParam<Stream *>(stream); - const AttributeMap &attrib_listPacked = PackParam<const AttributeMap &>(attrib_list); - -@@ -502,8 +502,8 @@ EGLBoolean EGLAPIENTRY EGL_SwapBuffersWithFrameTokenANGLE(EGLDisplay dpy, - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -- Surface *surfacePacked = PackParam<Surface *>(surface); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); -+ Surface *surfacePacked = PackParam<Surface *>(surface); - - ANGLE_EGL_VALIDATE(thread, SwapBuffersWithFrameTokenANGLE, GetDisplayIfValid(dpyPacked), - EGLBoolean, dpyPacked, surfacePacked, frametoken); -@@ -525,8 +525,8 @@ EGLBoolean EGLAPIENTRY EGL_GetMscRateANGLE(EGLDisplay dpy, - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -- Surface *surfacePacked = PackParam<Surface *>(surface); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); -+ Surface *surfacePacked = PackParam<Surface *>(surface); - - ANGLE_EGL_VALIDATE(thread, GetMscRateANGLE, GetDisplayIfValid(dpyPacked), EGLBoolean, dpyPacked, - surfacePacked, numerator, denominator); -@@ -549,8 +549,8 @@ EGLBoolean EGLAPIENTRY EGL_GetSyncValuesCHROMIUM(EGLDisplay dpy, - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -- Surface *surfacePacked = PackParam<Surface *>(surface); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); -+ Surface *surfacePacked = PackParam<Surface *>(surface); - - ANGLE_EGL_VALIDATE(thread, GetSyncValuesCHROMIUM, GetDisplayIfValid(dpyPacked), EGLBoolean, - dpyPacked, surfacePacked, ust, msc, sbc); -@@ -602,7 +602,7 @@ EGLBoolean EGLAPIENTRY EGL_QueryDisplayAttribEXT(EGLDisplay dpy, EGLint attribut - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); - - ANGLE_EGL_VALIDATE(thread, QueryDisplayAttribEXT, GetDisplayIfValid(dpyPacked), EGLBoolean, - dpyPacked, attribute, value); -@@ -624,7 +624,7 @@ EGLSurface EGLAPIENTRY EGL_CreatePlatformPixmapSurfaceEXT(EGLDisplay dpy, - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); - Config *configPacked = PackParam<Config *>(config); - const AttributeMap &attrib_listPacked = PackParam<const AttributeMap &>(attrib_list); - -@@ -648,7 +648,7 @@ EGLSurface EGLAPIENTRY EGL_CreatePlatformWindowSurfaceEXT(EGLDisplay dpy, - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); - Config *configPacked = PackParam<Config *>(config); - const AttributeMap &attrib_listPacked = PackParam<const AttributeMap &>(attrib_list); - -@@ -711,7 +711,7 @@ EGLint EGLAPIENTRY EGL_LabelObjectKHR(EGLDisplay display, - - Thread *thread = egl::GetCurrentThread(); - -- Display *displayPacked = PackParam<Display *>(display); -+ egl::Display *displayPacked = PackParam<egl::Display *>(display); - ObjectType objectTypePacked = PackParam<ObjectType>(objectType); - - ANGLE_EGL_VALIDATE(thread, LabelObjectKHR, GetDisplayIfValid(displayPacked), EGLint, -@@ -746,8 +746,8 @@ EGLint EGLAPIENTRY EGL_ClientWaitSyncKHR(EGLDisplay dpy, - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -- Sync *syncPacked = PackParam<Sync *>(sync); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); -+ Sync *syncPacked = PackParam<Sync *>(sync); - - ANGLE_EGL_VALIDATE(thread, ClientWaitSyncKHR, GetDisplayIfValid(dpyPacked), EGLint, dpyPacked, - syncPacked, flags, timeout); -@@ -764,7 +764,7 @@ EGLSyncKHR EGLAPIENTRY EGL_CreateSyncKHR(EGLDisplay dpy, EGLenum type, const EGL - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); - const AttributeMap &attrib_listPacked = PackParam<const AttributeMap &>(attrib_list); - - ANGLE_EGL_VALIDATE(thread, CreateSyncKHR, GetDisplayIfValid(dpyPacked), EGLSyncKHR, dpyPacked, -@@ -781,8 +781,8 @@ EGLBoolean EGLAPIENTRY EGL_DestroySyncKHR(EGLDisplay dpy, EGLSyncKHR sync) - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -- Sync *syncPacked = PackParam<Sync *>(sync); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); -+ Sync *syncPacked = PackParam<Sync *>(sync); - - ANGLE_EGL_VALIDATE(thread, DestroySyncKHR, GetDisplayIfValid(dpyPacked), EGLBoolean, dpyPacked, - syncPacked); -@@ -803,8 +803,8 @@ EGLBoolean EGLAPIENTRY EGL_GetSyncAttribKHR(EGLDisplay dpy, - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -- Sync *syncPacked = PackParam<Sync *>(sync); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); -+ Sync *syncPacked = PackParam<Sync *>(sync); - - ANGLE_EGL_VALIDATE(thread, GetSyncAttribKHR, GetDisplayIfValid(dpyPacked), EGLBoolean, - dpyPacked, syncPacked, attribute, value); -@@ -827,7 +827,7 @@ EGLImageKHR EGLAPIENTRY EGL_CreateImageKHR(EGLDisplay dpy, - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); - gl::Context *ctxPacked = PackParam<gl::Context *>(ctx); - const AttributeMap &attrib_listPacked = PackParam<const AttributeMap &>(attrib_list); - -@@ -845,8 +845,8 @@ EGLBoolean EGLAPIENTRY EGL_DestroyImageKHR(EGLDisplay dpy, EGLImageKHR image) - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -- Image *imagePacked = PackParam<Image *>(image); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); -+ Image *imagePacked = PackParam<Image *>(image); - - ANGLE_EGL_VALIDATE(thread, DestroyImageKHR, GetDisplayIfValid(dpyPacked), EGLBoolean, dpyPacked, - imagePacked); -@@ -863,8 +863,8 @@ EGLBoolean EGLAPIENTRY EGL_SignalSyncKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLenu - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -- Sync *syncPacked = PackParam<Sync *>(sync); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); -+ Sync *syncPacked = PackParam<Sync *>(sync); - - ANGLE_EGL_VALIDATE(thread, SignalSyncKHR, GetDisplayIfValid(dpyPacked), EGLBoolean, dpyPacked, - syncPacked, mode); -@@ -889,7 +889,7 @@ EGLStreamKHR EGLAPIENTRY EGL_CreateStreamKHR(EGLDisplay dpy, const EGLint *attri - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); - const AttributeMap &attrib_listPacked = PackParam<const AttributeMap &>(attrib_list); - - ANGLE_EGL_VALIDATE(thread, CreateStreamKHR, GetDisplayIfValid(dpyPacked), EGLStreamKHR, -@@ -906,8 +906,8 @@ EGLBoolean EGLAPIENTRY EGL_DestroyStreamKHR(EGLDisplay dpy, EGLStreamKHR stream) - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -- Stream *streamPacked = PackParam<Stream *>(stream); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); -+ Stream *streamPacked = PackParam<Stream *>(stream); - - ANGLE_EGL_VALIDATE(thread, DestroyStreamKHR, GetDisplayIfValid(dpyPacked), EGLBoolean, - dpyPacked, streamPacked); -@@ -928,8 +928,8 @@ EGLBoolean EGLAPIENTRY EGL_QueryStreamKHR(EGLDisplay dpy, - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -- Stream *streamPacked = PackParam<Stream *>(stream); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); -+ Stream *streamPacked = PackParam<Stream *>(stream); - - ANGLE_EGL_VALIDATE(thread, QueryStreamKHR, GetDisplayIfValid(dpyPacked), EGLBoolean, dpyPacked, - streamPacked, attribute, value); -@@ -950,8 +950,8 @@ EGLBoolean EGLAPIENTRY EGL_QueryStreamu64KHR(EGLDisplay dpy, - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -- Stream *streamPacked = PackParam<Stream *>(stream); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); -+ Stream *streamPacked = PackParam<Stream *>(stream); - - ANGLE_EGL_VALIDATE(thread, QueryStreamu64KHR, GetDisplayIfValid(dpyPacked), EGLBoolean, - dpyPacked, streamPacked, attribute, value); -@@ -971,8 +971,8 @@ EGLBoolean EGLAPIENTRY EGL_StreamAttribKHR(EGLDisplay dpy, - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -- Stream *streamPacked = PackParam<Stream *>(stream); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); -+ Stream *streamPacked = PackParam<Stream *>(stream); - - ANGLE_EGL_VALIDATE(thread, StreamAttribKHR, GetDisplayIfValid(dpyPacked), EGLBoolean, dpyPacked, - streamPacked, attribute, value); -@@ -989,8 +989,8 @@ EGLBoolean EGLAPIENTRY EGL_StreamConsumerAcquireKHR(EGLDisplay dpy, EGLStreamKHR - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -- Stream *streamPacked = PackParam<Stream *>(stream); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); -+ Stream *streamPacked = PackParam<Stream *>(stream); - - ANGLE_EGL_VALIDATE(thread, StreamConsumerAcquireKHR, GetDisplayIfValid(dpyPacked), EGLBoolean, - dpyPacked, streamPacked); -@@ -1007,8 +1007,8 @@ EGLBoolean EGLAPIENTRY EGL_StreamConsumerGLTextureExternalKHR(EGLDisplay dpy, EG - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -- Stream *streamPacked = PackParam<Stream *>(stream); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); -+ Stream *streamPacked = PackParam<Stream *>(stream); - - ANGLE_EGL_VALIDATE(thread, StreamConsumerGLTextureExternalKHR, GetDisplayIfValid(dpyPacked), - EGLBoolean, dpyPacked, streamPacked); -@@ -1024,8 +1024,8 @@ EGLBoolean EGLAPIENTRY EGL_StreamConsumerReleaseKHR(EGLDisplay dpy, EGLStreamKHR - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -- Stream *streamPacked = PackParam<Stream *>(stream); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); -+ Stream *streamPacked = PackParam<Stream *>(stream); - - ANGLE_EGL_VALIDATE(thread, StreamConsumerReleaseKHR, GetDisplayIfValid(dpyPacked), EGLBoolean, - dpyPacked, streamPacked); -@@ -1047,8 +1047,8 @@ EGLBoolean EGLAPIENTRY EGL_SwapBuffersWithDamageKHR(EGLDisplay dpy, - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -- Surface *surfacePacked = PackParam<Surface *>(surface); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); -+ Surface *surfacePacked = PackParam<Surface *>(surface); - - ANGLE_EGL_VALIDATE(thread, SwapBuffersWithDamageKHR, GetDisplayIfValid(dpyPacked), EGLBoolean, - dpyPacked, surfacePacked, rects, n_rects); -@@ -1065,8 +1065,8 @@ EGLint EGLAPIENTRY EGL_WaitSyncKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLint flags - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -- Sync *syncPacked = PackParam<Sync *>(sync); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); -+ Sync *syncPacked = PackParam<Sync *>(sync); - - ANGLE_EGL_VALIDATE(thread, WaitSyncKHR, GetDisplayIfValid(dpyPacked), EGLint, dpyPacked, - syncPacked, flags); -@@ -1090,8 +1090,8 @@ EGLBoolean EGLAPIENTRY EGL_PostSubBufferNV(EGLDisplay dpy, - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -- Surface *surfacePacked = PackParam<Surface *>(surface); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); -+ Surface *surfacePacked = PackParam<Surface *>(surface); - - ANGLE_EGL_VALIDATE(thread, PostSubBufferNV, GetDisplayIfValid(dpyPacked), EGLBoolean, dpyPacked, - surfacePacked, x, y, width, height); -@@ -1112,7 +1112,7 @@ EGLBoolean EGLAPIENTRY EGL_StreamConsumerGLTextureExternalAttribsNV(EGLDisplay d - - Thread *thread = egl::GetCurrentThread(); - -- Display *dpyPacked = PackParam<Display *>(dpy); -+ egl::Display *dpyPacked = PackParam<egl::Display *>(dpy); - Stream *streamPacked = PackParam<Stream *>(stream); - const AttributeMap &attrib_listPacked = PackParam<const AttributeMap &>(attrib_list); - diff --git a/www-client/chromium/files/chromium-89-compositor-dcheck.patch b/www-client/chromium/files/chromium-89-compositor-dcheck.patch deleted file mode 100644 index 2a12ca9..0000000 --- a/www-client/chromium/files/chromium-89-compositor-dcheck.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/cc/metrics/compositor_frame_reporter.cc b/cc/metrics/compositor_frame_reporter.cc -index bab060123..f3ee60127 100644 ---- a/cc/metrics/compositor_frame_reporter.cc -+++ b/cc/metrics/compositor_frame_reporter.cc -@@ -767,7 +767,7 @@ void CompositorFrameReporter::ReportCompositorLatencyHistogram( - - void CompositorFrameReporter::ReportEventLatencyHistograms() const { - for (const auto& event_metrics : events_metrics_) { -- DCHECK(event_metrics); -+ DCHECK(event_metrics.get()); - const std::string histogram_base_name = - GetEventLatencyHistogramBaseName(*event_metrics); - const int event_type_index = static_cast<int>(event_metrics->type()); diff --git a/www-client/chromium/files/chromium-89-content-dcheck-uniqueptr.patch b/www-client/chromium/files/chromium-89-content-dcheck-uniqueptr.patch deleted file mode 100644 index 2297062..0000000 --- a/www-client/chromium/files/chromium-89-content-dcheck-uniqueptr.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/content/browser/renderer_host/render_frame_host_manager.cc b/content/browser/renderer_host/render_frame_host_manager.cc -index f020be446..d7cb4656e 100644 ---- a/content/browser/renderer_host/render_frame_host_manager.cc -+++ b/content/browser/renderer_host/render_frame_host_manager.cc -@@ -738,7 +738,7 @@ void RenderFrameHostManager::ValidateSpeculativeRenderFrameHostForBug1146573() { - // This should never be true. - SCOPED_CRASH_KEY_BOOL(ValidateSpeculative, HostsEqual, - speculative_render_frame_host_ == render_frame_host_); -- DCHECK_NE(speculative_render_frame_host_, render_frame_host_); -+ DCHECK_NE(speculative_render_frame_host_.get(), render_frame_host_.get()); - SCOPED_CRASH_KEY_BOOL(ValidateSpeculative, Live, - render_frame_host_->IsRenderFrameLive()); - SCOPED_CRASH_KEY_STRING256( diff --git a/www-client/chromium/files/chromium-89-dawn-string-include.patch b/www-client/chromium/files/chromium-89-dawn-string-include.patch deleted file mode 100644 index ae0bcc8..0000000 --- a/www-client/chromium/files/chromium-89-dawn-string-include.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/third_party/dawn/src/dawn_wire/ChunkedCommandHandler.cpp b/third_party/dawn/src/dawn_wire/ChunkedCommandHandler.cpp -index e91e540fa..502a470e6 100644 ---- a/third_party/dawn/src/dawn_wire/ChunkedCommandHandler.cpp -+++ b/third_party/dawn/src/dawn_wire/ChunkedCommandHandler.cpp -@@ -14,6 +14,8 @@ - - #include "dawn_wire/ChunkedCommandHandler.h" - -+#include <string.h> -+ - #include <algorithm> - - namespace dawn_wire { diff --git a/www-client/chromium/files/chromium-89-pcscan-include.patch b/www-client/chromium/files/chromium-89-pcscan-include.patch deleted file mode 100644 index 96fcfb6..0000000 --- a/www-client/chromium/files/chromium-89-pcscan-include.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/base/allocator/partition_allocator/pcscan.cc b/base/allocator/partition_allocator/pcscan.cc -index b8d96e32d..a802a1fae 100644 ---- a/base/allocator/partition_allocator/pcscan.cc -+++ b/base/allocator/partition_allocator/pcscan.cc -@@ -7,6 +7,7 @@ - #include <algorithm> - #include <map> - #include <mutex> -+#include <condition_variable> - #include <numeric> - #include <set> - #include <thread> diff --git a/www-client/chromium/files/chromium-89-quiche-uniqueptr.patch b/www-client/chromium/files/chromium-89-quiche-uniqueptr.patch deleted file mode 100644 index a093522..0000000 --- a/www-client/chromium/files/chromium-89-quiche-uniqueptr.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/net/third_party/quiche/src/quic/core/quic_path_validator.cc b/net/third_party/quiche/src/quic/core/quic_path_validator.cc -index 5d5e7206d..8145252aa 100644 ---- a/net/third_party/quiche/src/quic/core/quic_path_validator.cc -+++ b/net/third_party/quiche/src/quic/core/quic_path_validator.cc -@@ -66,7 +66,7 @@ void QuicPathValidator::StartValidingPath( - std::unique_ptr<QuicPathValidationContext> context, - std::unique_ptr<ResultDelegate> result_delegate) { - CancelPathValidation(); -- DCHECK_NE(nullptr, context); -+ DCHECK_NE(nullptr, context.get()); - QUIC_DLOG(INFO) << "Start validating path " << *context - << " via writer: " << context->WriterToUse(); - diff --git a/www-client/chromium/files/chromium-89-quiche-uniqueptr_r1.patch b/www-client/chromium/files/chromium-89-quiche-uniqueptr_r1.patch deleted file mode 100644 index 6872128..0000000 --- a/www-client/chromium/files/chromium-89-quiche-uniqueptr_r1.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/net/third_party/quiche/src/quic/core/quic_path_validator.cc b/net/third_party/quiche/src/quic/core/quic_path_validator.cc -index 0722216a8..834a491e0 100644 ---- a/net/third_party/quiche/src/quic/core/quic_path_validator.cc -+++ b/net/third_party/quiche/src/quic/core/quic_path_validator.cc -@@ -68,7 +68,7 @@ void QuicPathValidator::OnPathResponse(const QuicPathFrameBuffer& probing_data, - void QuicPathValidator::StartPathValidation( - std::unique_ptr<QuicPathValidationContext> context, - std::unique_ptr<ResultDelegate> result_delegate) { -- DCHECK_NE(nullptr, context); -+ DCHECK_NE(nullptr, context.get()); - QUIC_DLOG(INFO) << "Start validating path " << *context - << " via writer: " << context->WriterToUse(); - if (path_context_ != nullptr) { diff --git a/www-client/chromium/files/chromium-89-sstream.patch b/www-client/chromium/files/chromium-89-sstream.patch deleted file mode 100644 index 8204fe2..0000000 --- a/www-client/chromium/files/chromium-89-sstream.patch +++ /dev/null @@ -1,344 +0,0 @@ -diff --git a/chrome/browser/ui/webui/internals/web_app/web_app_internals_page_handler_impl.cc b/chrome/browser/ui/webui/internals/web_app/web_app_internals_page_handler_impl.cc -index 339fc5a6c..5e23be6fb 100644 ---- a/chrome/browser/ui/webui/internals/web_app/web_app_internals_page_handler_impl.cc -+++ b/chrome/browser/ui/webui/internals/web_app/web_app_internals_page_handler_impl.cc -@@ -23,7 +23,7 @@ namespace { - - template <typename T> - std::string ConvertToString(const T& value) { -- return (std::stringstream() << value).str(); -+ return static_cast<const std::stringstream &>(std::stringstream() << value).str(); - } - - } // namespace -diff --git a/chrome/browser/web_applications/external_web_app_manager.cc b/chrome/browser/web_applications/external_web_app_manager.cc -index 3da14c154..64c2e80a9 100644 ---- a/chrome/browser/web_applications/external_web_app_manager.cc -+++ b/chrome/browser/web_applications/external_web_app_manager.cc -@@ -100,7 +100,7 @@ LoadedConfigs LoadConfigsBlocking(const base::FilePath& config_dir) { - deserializer.Deserialize(nullptr, &error_msg); - if (!app_config) { - result.errors.push_back( -- (std::stringstream() << file << " was not valid JSON: " << error_msg) -+ static_cast<const std::stringstream &>(std::stringstream() << file << " was not valid JSON: " << error_msg) - .str()); - VLOG(1) << result.errors.back(); - continue; -diff --git a/chrome/browser/web_applications/external_web_app_utils.cc b/chrome/browser/web_applications/external_web_app_utils.cc -index 8b3414d06..6d0718198 100644 ---- a/chrome/browser/web_applications/external_web_app_utils.cc -+++ b/chrome/browser/web_applications/external_web_app_utils.cc -@@ -158,7 +158,7 @@ OptionsOrError ParseConfig(FileUtilsWrapper& file_utils, - options.require_manifest = true; - - if (app_config.type() != base::Value::Type::DICTIONARY) { -- return (std::stringstream() -+ return static_cast<const std::stringstream &>(std::stringstream() - << file << " was not a dictionary as the top level") - .str(); - } -@@ -166,18 +166,18 @@ OptionsOrError ParseConfig(FileUtilsWrapper& file_utils, - // user_type - const base::Value* value = app_config.FindListKey(kUserType); - if (!value) { -- return (std::stringstream() << file << " missing " << kUserType).str(); -+ return static_cast<const std::stringstream &>(std::stringstream() << file << " missing " << kUserType).str(); - } - for (const auto& item : value->GetList()) { - if (!item.is_string()) { -- return (std::stringstream() -+ return static_cast<const std::stringstream &>(std::stringstream() - << file << " has invalid " << kUserType << item) - .str(); - } - options.user_type_allowlist.push_back(item.GetString()); - } - if (options.user_type_allowlist.empty()) { -- return (std::stringstream() << file << " has empty " << kUserType).str(); -+ return static_cast<const std::stringstream &>(std::stringstream() << file << " has empty " << kUserType).str(); - } - - // feature_name -@@ -188,18 +188,18 @@ OptionsOrError ParseConfig(FileUtilsWrapper& file_utils, - // app_url - value = app_config.FindKeyOfType(kAppUrl, base::Value::Type::STRING); - if (!value) { -- return (std::stringstream() << file << " had a missing " << kAppUrl).str(); -+ return static_cast<const std::stringstream &>(std::stringstream() << file << " had a missing " << kAppUrl).str(); - } - options.install_url = GURL(value->GetString()); - if (!options.install_url.is_valid()) { -- return (std::stringstream() << file << " had an invalid " << kAppUrl).str(); -+ return static_cast<const std::stringstream &>(std::stringstream() << file << " had an invalid " << kAppUrl).str(); - } - - // only_for_new_users - value = app_config.FindKey(kOnlyForNewUsers); - if (value) { - if (!value->is_bool()) { -- return (std::stringstream() -+ return static_cast<const std::stringstream &>(std::stringstream() - << file << " had an invalid " << kOnlyForNewUsers) - .str(); - } -@@ -211,7 +211,7 @@ OptionsOrError ParseConfig(FileUtilsWrapper& file_utils, - value = app_config.FindKey(kHideFromUser); - if (value) { - if (!value->is_bool()) { -- return (std::stringstream() -+ return static_cast<const std::stringstream &>(std::stringstream() - << file << " had an invalid " << kHideFromUser) - .str(); - } -@@ -226,7 +226,7 @@ OptionsOrError ParseConfig(FileUtilsWrapper& file_utils, - value = app_config.FindKey(kCreateShortcuts); - if (value) { - if (!value->is_bool()) { -- return (std::stringstream() -+ return static_cast<const std::stringstream &>(std::stringstream() - << file << " had an invalid " << kCreateShortcuts) - .str(); - } -@@ -242,7 +242,7 @@ OptionsOrError ParseConfig(FileUtilsWrapper& file_utils, - value = app_config.FindKey(kDisableIfArcSupported); - if (value) { - if (!value->is_bool()) { -- return (std::stringstream() -+ return static_cast<const std::stringstream &>(std::stringstream() - << file << " had an invalid " << kDisableIfArcSupported) - .str(); - } -@@ -253,7 +253,7 @@ OptionsOrError ParseConfig(FileUtilsWrapper& file_utils, - value = app_config.FindKey(kDisableIfTabletFormFactor); - if (value) { - if (!value->is_bool()) { -- return (std::stringstream() -+ return static_cast<const std::stringstream &>(std::stringstream() - << file << " had an invalid " << kDisableIfTabletFormFactor) - .str(); - } -@@ -263,7 +263,7 @@ OptionsOrError ParseConfig(FileUtilsWrapper& file_utils, - // launch_container - value = app_config.FindKeyOfType(kLaunchContainer, base::Value::Type::STRING); - if (!value) { -- return (std::stringstream() -+ return static_cast<const std::stringstream &>(std::stringstream() - << file << " had an invalid " << kLaunchContainer) - .str(); - } -@@ -273,7 +273,7 @@ OptionsOrError ParseConfig(FileUtilsWrapper& file_utils, - } else if (launch_container_str == kLaunchContainerWindow) { - options.user_display_mode = DisplayMode::kStandalone; - } else { -- return (std::stringstream() -+ return static_cast<const std::stringstream &>(std::stringstream() - << file << " had an invalid " << kLaunchContainer << ": " - << launch_container_str) - .str(); -@@ -283,7 +283,7 @@ OptionsOrError ParseConfig(FileUtilsWrapper& file_utils, - value = app_config.FindKey(kLaunchQueryParams); - if (value) { - if (!value->is_string()) { -- return (std::stringstream() -+ return static_cast<const std::stringstream &>(std::stringstream() - << file << " had an invalid " << kLaunchQueryParams) - .str(); - } -@@ -294,7 +294,7 @@ OptionsOrError ParseConfig(FileUtilsWrapper& file_utils, - value = app_config.FindKey(kLoadAndAwaitServiceWorkerRegistration); - if (value) { - if (!value->is_bool()) { -- return (std::stringstream() << file << " had an invalid " -+ return static_cast<const std::stringstream &>(std::stringstream() << file << " had an invalid " - << kLoadAndAwaitServiceWorkerRegistration) - .str(); - } -@@ -305,20 +305,20 @@ OptionsOrError ParseConfig(FileUtilsWrapper& file_utils, - value = app_config.FindKey(kServiceWorkerRegistrationUrl); - if (value) { - if (!options.load_and_await_service_worker_registration) { -- return (std::stringstream() -+ return static_cast<const std::stringstream &>(std::stringstream() - << file << " should not specify a " - << kServiceWorkerRegistrationUrl << " while " - << kLoadAndAwaitServiceWorkerRegistration << " is disabled") - .str(); - } - if (!value->is_string()) { -- return (std::stringstream() -+ return static_cast<const std::stringstream &>(std::stringstream() - << file << " had an invalid " << kServiceWorkerRegistrationUrl) - .str(); - } - options.service_worker_registration_url.emplace(value->GetString()); - if (!options.service_worker_registration_url->is_valid()) { -- return (std::stringstream() -+ return static_cast<const std::stringstream &>(std::stringstream() - << file << " had an invalid " << kServiceWorkerRegistrationUrl) - .str(); - } -@@ -328,7 +328,7 @@ OptionsOrError ParseConfig(FileUtilsWrapper& file_utils, - value = app_config.FindKey(kUninstallAndReplace); - if (value) { - if (!value->is_list()) { -- return (std::stringstream() -+ return static_cast<const std::stringstream &>(std::stringstream() - << file << " had an invalid " << kUninstallAndReplace) - .str(); - } -@@ -336,7 +336,7 @@ OptionsOrError ParseConfig(FileUtilsWrapper& file_utils, - - for (const auto& app_id_value : uninstall_and_replace_values) { - if (!app_id_value.is_string()) { -- return (std::stringstream() << file << " had an invalid " -+ return static_cast<const std::stringstream &>(std::stringstream() << file << " had an invalid " - << kUninstallAndReplace << " entry") - .str(); - } -@@ -348,7 +348,7 @@ OptionsOrError ParseConfig(FileUtilsWrapper& file_utils, - value = app_config.FindKey(kOnlyUseOfflineManifest); - if (value) { - if (!value->is_bool()) { -- return (std::stringstream() -+ return static_cast<const std::stringstream &>(std::stringstream() - << file << " had an invalid " << kOnlyUseOfflineManifest) - .str(); - } -@@ -369,7 +369,7 @@ OptionsOrError ParseConfig(FileUtilsWrapper& file_utils, - } - - if (options.only_use_app_info_factory && !options.app_info_factory) { -- return (std::stringstream() -+ return static_cast<const std::stringstream &>(std::stringstream() - << file << kOnlyUseOfflineManifest << " set with no " - << kOfflineManifest << " available") - .str(); -@@ -389,7 +389,7 @@ WebApplicationInfoFactoryOrError ParseOfflineManifest( - const std::string* name_string = - offline_manifest.FindStringKey(kOfflineManifestName); - if (!name_string) { -- return (std::stringstream() -+ return static_cast<const std::stringstream &>(std::stringstream() - << file << " " << kOfflineManifest << " " << kOfflineManifestName - << " missing or invalid.") - .str(); -@@ -397,7 +397,7 @@ WebApplicationInfoFactoryOrError ParseOfflineManifest( - if (!base::UTF8ToUTF16(name_string->data(), name_string->size(), - &app_info.title) || - app_info.title.empty()) { -- return (std::stringstream() -+ return static_cast<const std::stringstream &>(std::stringstream() - << file << " " << kOfflineManifest << " " << kOfflineManifestName - << " invalid: " << *name_string) - .str(); -@@ -407,14 +407,14 @@ WebApplicationInfoFactoryOrError ParseOfflineManifest( - const std::string* start_url_string = - offline_manifest.FindStringKey(kOfflineManifestStartUrl); - if (!start_url_string) { -- return (std::stringstream() -+ return static_cast<const std::stringstream &>(std::stringstream() - << file << " " << kOfflineManifest << " " - << kOfflineManifestStartUrl << " missing or invalid.") - .str(); - } - app_info.start_url = GURL(*start_url_string); - if (!app_info.start_url.is_valid()) { -- return (std::stringstream() -+ return static_cast<const std::stringstream &>(std::stringstream() - << file << " " << kOfflineManifest << " " - << kOfflineManifestStartUrl << " invalid: " << *start_url_string) - .str(); -@@ -424,21 +424,21 @@ WebApplicationInfoFactoryOrError ParseOfflineManifest( - const std::string* scope_string = - offline_manifest.FindStringKey(kOfflineManifestScope); - if (!scope_string) { -- return (std::stringstream() -+ return static_cast<const std::stringstream &>(std::stringstream() - << file << " " << kOfflineManifest << " " << kOfflineManifestScope - << " missing or invalid.") - .str(); - } - app_info.scope = GURL(*scope_string); - if (!app_info.scope.is_valid()) { -- return (std::stringstream() -+ return static_cast<const std::stringstream &>(std::stringstream() - << file << " " << kOfflineManifest << " " << kOfflineManifestScope - << " invalid: " << *scope_string) - .str(); - } - if (!base::StartsWith(app_info.start_url.path(), app_info.scope.path(), - base::CompareCase::SENSITIVE)) { -- return (std::stringstream() -+ return static_cast<const std::stringstream &>(std::stringstream() - << file << " " << kOfflineManifest << " " << kOfflineManifestScope - << " (" << app_info.start_url << ") not within " - << kOfflineManifestScope << " (" << app_info.scope << ").") -@@ -449,14 +449,14 @@ WebApplicationInfoFactoryOrError ParseOfflineManifest( - const std::string* display_string = - offline_manifest.FindStringKey(kOfflineManifestDisplay); - if (!display_string) { -- return (std::stringstream() -+ return static_cast<const std::stringstream &>(std::stringstream() - << file << " " << kOfflineManifest << " " << kOfflineManifestDisplay - << " missing or invalid.") - .str(); - } - DisplayMode display = blink::DisplayModeFromString(*display_string); - if (display == DisplayMode::kUndefined) { -- return (std::stringstream() -+ return static_cast<const std::stringstream &>(std::stringstream() - << file << " " << kOfflineManifest << " " << kOfflineManifestDisplay - << " invalid: " << display_string) - .str(); -@@ -467,14 +467,14 @@ WebApplicationInfoFactoryOrError ParseOfflineManifest( - const base::Value* icon_files = - offline_manifest.FindListKey(kOfflineManifestIconAnyPngs); - if (!icon_files || icon_files->GetList().empty()) { -- return (std::stringstream() -+ return static_cast<const std::stringstream &>(std::stringstream() - << file << " " << kOfflineManifest << " " - << kOfflineManifestIconAnyPngs << " missing, empty or invalid.") - .str(); - } - for (const base::Value& icon_file : icon_files->GetList()) { - if (!icon_file.is_string()) { -- return (std::stringstream() -+ return static_cast<const std::stringstream &>(std::stringstream() - << file << " " << kOfflineManifest << " " - << kOfflineManifestIconAnyPngs << " " << icon_file << " invalid.") - .str(); -@@ -483,7 +483,7 @@ WebApplicationInfoFactoryOrError ParseOfflineManifest( - base::FilePath icon_path = dir.AppendASCII(icon_file.GetString()); - std::string icon_data; - if (!file_utils.ReadFileToString(icon_path, &icon_data)) { -- return (std::stringstream() << file << " " << kOfflineManifest << " " -+ return static_cast<const std::stringstream &>(std::stringstream() << file << " " << kOfflineManifest << " " - << kOfflineManifestIconAnyPngs << " " - << icon_file << " failed to read.") - .str(); -@@ -493,14 +493,14 @@ WebApplicationInfoFactoryOrError ParseOfflineManifest( - if (!gfx::PNGCodec::Decode( - reinterpret_cast<const unsigned char*>(icon_data.c_str()), - icon_data.size(), &bitmap)) { -- return (std::stringstream() << file << " " << kOfflineManifest << " " -+ return static_cast<const std::stringstream &>(std::stringstream() << file << " " << kOfflineManifest << " " - << kOfflineManifestIconAnyPngs << " " - << icon_file << " failed to decode.") - .str(); - } - - if (bitmap.width() != bitmap.height()) { -- return (std::stringstream() << file << " " << kOfflineManifest << " " -+ return static_cast<const std::stringstream &>(std::stringstream() << file << " " << kOfflineManifest << " " - << kOfflineManifestIconAnyPngs << " " - << icon_file << " must be square: " - << bitmap.width() << "x" << bitmap.height()) -@@ -521,7 +521,7 @@ WebApplicationInfoFactoryOrError ParseOfflineManifest( - SkColor theme_color; - if (!theme_color_argb_hex || - !base::HexStringToUInt(*theme_color_argb_hex, &theme_color)) { -- return (std::stringstream() << file << " " << kOfflineManifest << " " -+ return static_cast<const std::stringstream &>(std::stringstream() << file << " " << kOfflineManifest << " " - << kOfflineManifestThemeColorArgbHex - << " invalid: " << *theme_color_value) - .str(); diff --git a/www-client/chromium/files/chromium-89-uigfx-image-skia.patch b/www-client/chromium/files/chromium-89-uigfx-image-skia.patch deleted file mode 100644 index a96dd00..0000000 --- a/www-client/chromium/files/chromium-89-uigfx-image-skia.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/ui/gfx/image/image_skia.cc b/ui/gfx/image/image_skia.cc -index 6d2748d67..31dfdf5d2 100644 ---- a/ui/gfx/image/image_skia.cc -+++ b/ui/gfx/image/image_skia.cc -@@ -125,7 +125,7 @@ class ImageSkiaStorage : public base::RefCountedThreadSafe<ImageSkiaStorage> { - // one and rescale the image. - // Right now only Windows uses 2 and other platforms use 1 by default. - // TODO(mukai, oshima): abandon 1 code path and use 2 for every platforms. -- std::vector<const ImageSkiaRep>::iterator FindRepresentation( -+ std::vector<ImageSkiaRep>::const_iterator FindRepresentation( - float scale, - bool fetch_new_image) const; - -@@ -211,7 +211,7 @@ bool ImageSkiaStorage::HasRepresentationAtAllScales() const { - return source_ && source_->HasRepresentationAtAllScales(); - } - --std::vector<const ImageSkiaRep>::iterator ImageSkiaStorage::FindRepresentation( -+std::vector<ImageSkiaRep>::const_iterator ImageSkiaStorage::FindRepresentation( - float scale, - bool fetch_new_image) const { - auto closest_iter = image_reps_.end(); diff --git a/www-client/chromium/files/chromium-89-webui-config-include.patch b/www-client/chromium/files/chromium-89-webui-config-include.patch deleted file mode 100644 index 5ed2bd5..0000000 --- a/www-client/chromium/files/chromium-89-webui-config-include.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/ui/webui/webui_config.h b/ui/webui/webui_config.h -index 29990bd5a..44918fa34 100644 ---- a/ui/webui/webui_config.h -+++ b/ui/webui/webui_config.h -@@ -6,6 +6,7 @@ - #define UI_WEBUI_WEBUI_CONFIG_H_ - - #include <string> -+#include <memory> - - #include "base/strings/string_piece.h" - diff --git a/www-client/chromium/files/chromium-90-blink-disable-clang-format.patch b/www-client/chromium/files/chromium-90-blink-disable-clang-format.patch deleted file mode 100644 index 2d8ea05..0000000 --- a/www-client/chromium/files/chromium-90-blink-disable-clang-format.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff --git a/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_utils.py b/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_utils.py -index e24764c13..7c5add8f4 100644 ---- a/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_utils.py -+++ b/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_utils.py -@@ -171,13 +171,5 @@ def write_code_node_to_file(code_node, filepath): - - rendered_text = render_code_node(code_node) - -- format_result = style_format.auto_format(rendered_text, filename=filepath) -- if not format_result.did_succeed: -- raise RuntimeError("Style-formatting failed: filename = {filename}\n" -- "---- stderr ----\n" -- "{stderr}:".format( -- filename=format_result.filename, -- stderr=format_result.error_message)) -- - web_idl.file_io.write_to_file_if_changed( -- filepath, format_result.contents.encode('utf-8')) -+ filepath, rendered_text.encode('utf-8')) diff --git a/www-client/chromium/files/chromium-90-compositor-dcheck.patch b/www-client/chromium/files/chromium-90-compositor-dcheck.patch deleted file mode 100644 index d718a68..0000000 --- a/www-client/chromium/files/chromium-90-compositor-dcheck.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/cc/metrics/compositor_frame_reporter.cc b/cc/metrics/compositor_frame_reporter.cc -index fcad7a8cd..152b724c8 100644 ---- a/cc/metrics/compositor_frame_reporter.cc -+++ b/cc/metrics/compositor_frame_reporter.cc -@@ -960,7 +960,7 @@ void CompositorFrameReporter::ReportEventLatencyHistograms() const { - "EventLatency." + total_latency_stage_name; - - for (const auto& event_metrics : events_metrics_) { -- DCHECK(event_metrics); -+ DCHECK(event_metrics.get()); - const std::string histogram_base_name = - GetEventLatencyHistogramBaseName(*event_metrics); - const int event_type_index = static_cast<int>(event_metrics->type()); diff --git a/www-client/chromium/files/chromium-90-disable-nomerge.patch b/www-client/chromium/files/chromium-90-disable-nomerge.patch deleted file mode 100644 index fc4049f..0000000 --- a/www-client/chromium/files/chromium-90-disable-nomerge.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/base/compiler_specific.h b/base/compiler_specific.h -index 14a5d6870..b4d31d77e 100644 ---- a/base/compiler_specific.h -+++ b/base/compiler_specific.h -@@ -334,7 +334,7 @@ inline constexpr bool AnalyzerAssumeTrue(bool arg) { - - // Use nomerge attribute to disable optimization of merging multiple same calls. - #if defined(__clang__) && __has_attribute(nomerge) && !defined(OS_CHROMEOS) --#define NOMERGE [[clang::nomerge]] -+#define NOMERGE //[[clang::nomerge]] - #else - #define NOMERGE - #endif diff --git a/www-client/chromium/files/chromium-90-langdetect-include.patch b/www-client/chromium/files/chromium-90-langdetect-include.patch deleted file mode 100644 index 39cd0a8..0000000 --- a/www-client/chromium/files/chromium-90-langdetect-include.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/components/translate/core/language_detection/ngram_hash_ops_utils.cc b/components/translate/core/language_detection/ngram_hash_ops_utils.cc -index cf9103358..dd03a3db4 100644 ---- a/components/translate/core/language_detection/ngram_hash_ops_utils.cc -+++ b/components/translate/core/language_detection/ngram_hash_ops_utils.cc -@@ -4,6 +4,7 @@ - - #include "components/translate/core/language_detection/ngram_hash_ops_utils.h" - -+#include <cstring> - #include <vector> - - #include "third_party/utf/src/include/utf.h" diff --git a/www-client/chromium/files/chromium-90-quantization-util-stdint.patch b/www-client/chromium/files/chromium-90-quantization-util-stdint.patch deleted file mode 100644 index 060763a..0000000 --- a/www-client/chromium/files/chromium-90-quantization-util-stdint.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/components/translate/core/language_detection/quantization_utils.h b/components/translate/core/language_detection/quantization_utils.h -index eb8f6d1e9..699a48897 100644 ---- a/components/translate/core/language_detection/quantization_utils.h -+++ b/components/translate/core/language_detection/quantization_utils.h -@@ -7,6 +7,7 @@ - - #include <algorithm> - #include <cmath> -+#include <cstdint> - - namespace translate { - diff --git a/www-client/chromium/files/chromium-90-quiche-uniqueptr.patch b/www-client/chromium/files/chromium-90-quiche-uniqueptr.patch deleted file mode 100644 index 21183a6..0000000 --- a/www-client/chromium/files/chromium-90-quiche-uniqueptr.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/net/third_party/quiche/src/quic/core/quic_path_validator.cc b/net/third_party/quiche/src/quic/core/quic_path_validator.cc -index f2abef054..b419c9070 100644 ---- a/net/third_party/quiche/src/quic/core/quic_path_validator.cc -+++ b/net/third_party/quiche/src/quic/core/quic_path_validator.cc -@@ -68,7 +68,7 @@ void QuicPathValidator::OnPathResponse(const QuicPathFrameBuffer& probing_data, - void QuicPathValidator::StartPathValidation( - std::unique_ptr<QuicPathValidationContext> context, - std::unique_ptr<ResultDelegate> result_delegate) { -- QUICHE_DCHECK(context); -+ QUICHE_DCHECK(context.get()); - QUIC_DLOG(INFO) << "Start validating path " << *context - << " via writer: " << context->WriterToUse(); - if (path_context_ != nullptr) { diff --git a/www-client/chromium/files/chromium-90-ruy-include.patch b/www-client/chromium/files/chromium-90-ruy-include.patch deleted file mode 100644 index 81d5367..0000000 --- a/www-client/chromium/files/chromium-90-ruy-include.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 714092f336bb14d2fcc27396ec323b3d843bb962 Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann <stha09@googlemail.com> -Date: Thu, 4 Mar 2021 15:05:46 +0000 -Subject: [PATCH] IWYU: include limits for std::numeric_limits - ---- - third_party/ruy/src/ruy/block_map.cc | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/third_party/ruy/src/ruy/block_map.cc b/third_party/ruy/src/ruy/block_map.cc -index 44e5039..a7a7559 100644 ---- a/third_party/ruy/src/ruy/block_map.cc -+++ b/third_party/ruy/src/ruy/block_map.cc -@@ -17,6 +17,7 @@ limitations under the License. - - #include <algorithm> - #include <cstdint> -+#include <limits> - - #ifdef RUY_MAKEBLOCKMAP_DEBUG - #include <cstdio> --- -2.26.2 - diff --git a/www-client/chromium/files/chromium-91-clipboard-ozone.patch b/www-client/chromium/files/chromium-91-clipboard-ozone.patch deleted file mode 100644 index 5aac0ee..0000000 --- a/www-client/chromium/files/chromium-91-clipboard-ozone.patch +++ /dev/null @@ -1,48 +0,0 @@ -diff --git a/ui/base/clipboard/clipboard_factory_ozone.cc b/ui/base/clipboard/clipboard_factory_ozone.cc -index e2a061df8..5463e6bf9 100644 ---- a/ui/base/clipboard/clipboard_factory_ozone.cc -+++ b/ui/base/clipboard/clipboard_factory_ozone.cc -@@ -50,7 +50,8 @@ Clipboard* Clipboard::Create() { - #if defined(USE_X11) && BUILDFLAG(IS_CHROMEOS_LACROS) - NOTREACHED() << "System clipboard integration should be in place."; - #endif -- return new ClipboardNonBacked; -+ return nullptr; -+ //return new ClipboardNonBacked; - } - - } // namespace ui -diff --git a/ui/base/clipboard/clipboard_non_backed.cc b/ui/base/clipboard/clipboard_non_backed.cc -index a6e85cd2f..734c7e961 100644 ---- a/ui/base/clipboard/clipboard_non_backed.cc -+++ b/ui/base/clipboard/clipboard_non_backed.cc -@@ -688,6 +688,7 @@ void ClipboardNonBacked::ReadData(const ClipboardFormatType& format, - #endif - } - -+#if defined(USE_OZONE) - bool ClipboardNonBacked::IsSelectionBufferAvailable() const { - #if BUILDFLAG(IS_CHROMEOS_ASH) - return false; -@@ -695,6 +696,7 @@ bool ClipboardNonBacked::IsSelectionBufferAvailable() const { - return true; - #endif - } -+#endif // defined(USE_OZONE) - - void ClipboardNonBacked::WritePortableRepresentations( - ClipboardBuffer buffer, -diff --git a/ui/base/clipboard/clipboard_non_backed.h b/ui/base/clipboard/clipboard_non_backed.h -index d14ff0ff6..702f02a84 100644 ---- a/ui/base/clipboard/clipboard_non_backed.h -+++ b/ui/base/clipboard/clipboard_non_backed.h -@@ -97,7 +97,9 @@ class COMPONENT_EXPORT(UI_BASE_CLIPBOARD) ClipboardNonBacked - void ReadData(const ClipboardFormatType& format, - const DataTransferEndpoint* data_dst, - std::string* result) const override; -+#if defined(USE_OZONE) - bool IsSelectionBufferAvailable() const override; -+#endif // defined(USE_OZONE) - void WritePortableRepresentations( - ClipboardBuffer buffer, - const ObjectMap& objects, diff --git a/www-client/chromium/files/chromium-91-compiler-r1.patch b/www-client/chromium/files/chromium-91-compiler-r1.patch deleted file mode 100644 index 8724c6b..0000000 --- a/www-client/chromium/files/chromium-91-compiler-r1.patch +++ /dev/null @@ -1,165 +0,0 @@ -From f4d0b0eb899005b4b8b6388e1d8bb82cc0018fc8 Mon Sep 17 00:00:00 2001 -From: Mike Gilbert <floppym@gentoo.org> -Date: Wed, 7 Apr 2021 08:50:04 +0000 -Subject: [PATCH] Disable various compiler configs - ---- - build/config/compiler/BUILD.gn | 59 ++++++++++------------------------ - 1 file changed, 17 insertions(+), 42 deletions(-) - -diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn -index 72ea590..539672d 100644 ---- a/build/config/compiler/BUILD.gn -+++ b/build/config/compiler/BUILD.gn -@@ -273,8 +273,6 @@ config("compiler") { - - configs += [ - # See the definitions below. -- ":clang_revision", -- ":compiler_cpu_abi", - ":compiler_codegen", - ":compiler_deterministic", - ] -@@ -518,24 +516,6 @@ config("compiler") { - ldflags += [ "-Wl,-z,keep-text-section-prefix" ] - } - -- if (is_clang && !is_nacl && !use_xcode_clang) { -- cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ] -- -- # TODO(hans): Remove this once Clang generates better optimized debug info -- # by default. https://crbug.com/765793 -- cflags += [ -- "-mllvm", -- "-instcombine-lower-dbg-declare=0", -- ] -- if (!is_debug && use_thin_lto && is_a_target_toolchain) { -- if (is_win) { -- ldflags += [ "-mllvm:-instcombine-lower-dbg-declare=0" ] -- } else { -- ldflags += [ "-Wl,-mllvm,-instcombine-lower-dbg-declare=0" ] -- } -- } -- } -- - # C11/C++11 compiler flags setup. - # --------------------------- - if (is_linux || is_chromeos || is_android || (is_nacl && is_clang) || -@@ -1643,7 +1623,7 @@ config("chromium_code") { - defines = [ "_HAS_NODISCARD" ] - } - } else { -- cflags = [ "-Wall" ] -+ cflags = [] - if (treat_warnings_as_errors) { - cflags += [ "-Werror" ] - -@@ -1652,10 +1632,6 @@ config("chromium_code") { - # well. - ldflags = [ "-Werror" ] - } -- if (is_clang) { -- # Enable extra warnings for chromium_code when we control the compiler. -- cflags += [ "-Wextra" ] -- } - - # In Chromium code, we define __STDC_foo_MACROS in order to get the - # C99 macros on Mac and Linux. -@@ -1664,15 +1640,6 @@ config("chromium_code") { - "__STDC_FORMAT_MACROS", - ] - -- if (!is_debug && !using_sanitizer && current_cpu != "s390x" && -- current_cpu != "s390" && current_cpu != "ppc64" && -- current_cpu != "mips" && current_cpu != "mips64") { -- # Non-chromium code is not guaranteed to compile cleanly with -- # _FORTIFY_SOURCE. Also, fortified build may fail when optimizations are -- # disabled, so only do that for Release build. -- defines += [ "_FORTIFY_SOURCE=2" ] -- } -- - if (is_mac) { - cflags_objc = [ "-Wobjc-missing-property-synthesis" ] - cflags_objcc = [ "-Wobjc-missing-property-synthesis" ] -@@ -2068,7 +2035,8 @@ config("default_stack_frames") { - } - - # Default "optimization on" config. --config("optimize") { -+config("optimize") { } -+config("xoptimize") { - if (is_win) { - if (chrome_pgo_phase != 2) { - # Favor size over speed, /O1 must be before the common flags. -@@ -2103,7 +2071,8 @@ config("optimize") { - } - - # Turn off optimizations. --config("no_optimize") { -+config("no_optimize") { } -+config("xno_optimize") { - if (is_win) { - cflags = [ - "/Od", # Disable optimization. -@@ -2143,7 +2112,8 @@ config("no_optimize") { - # Turns up the optimization level. On Windows, this implies whole program - # optimization and link-time code generation which is very expensive and should - # be used sparingly. --config("optimize_max") { -+config("optimize_max") { } -+config("xoptimize_max") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2175,7 +2145,8 @@ config("optimize_max") { - # - # TODO(crbug.com/621335) - rework how all of these configs are related - # so that we don't need this disclaimer. --config("optimize_speed") { -+config("optimize_speed") { } -+config("xoptimize_speed") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2200,7 +2171,8 @@ config("optimize_speed") { - } - } - --config("optimize_fuzzing") { -+config("optimize_fuzzing") { } -+config("xoptimize_fuzzing") { - cflags = [ "-O1" ] + common_optimize_on_cflags - ldflags = common_optimize_on_ldflags - visibility = [ ":default_optimization" ] -@@ -2319,7 +2291,8 @@ config("win_pdbaltpath") { - } - - # Full symbols. --config("symbols") { -+config("symbols") { } -+config("xsymbols") { - if (is_win) { - if (is_clang) { - cflags = [ "/Z7" ] # Debug information in the .obj files. -@@ -2422,7 +2395,8 @@ config("symbols") { - # Minimal symbols. - # This config guarantees to hold symbol for stack trace which are shown to user - # when crash happens in unittests running on buildbot. --config("minimal_symbols") { -+config("minimal_symbols") { } -+config("xminimal_symbols") { - if (is_win) { - # Functions, files, and line tables only. - cflags = [] -@@ -2481,7 +2455,8 @@ config("minimal_symbols") { - # This configuration contains function names only. That is, the compiler is - # told to not generate debug information and the linker then just puts function - # names in the final debug information. --config("no_symbols") { -+config("no_symbols") { } -+config("xno_symbols") { - if (is_win) { - ldflags = [ "/DEBUG" ] - --- -2.26.3 diff --git a/www-client/chromium/files/chromium-91-compiler.patch b/www-client/chromium/files/chromium-91-compiler.patch deleted file mode 100644 index e45d4a3..0000000 --- a/www-client/chromium/files/chromium-91-compiler.patch +++ /dev/null @@ -1,154 +0,0 @@ -diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn -index 72ea590d6..bc23dce78 100644 ---- a/build/config/compiler/BUILD.gn -+++ b/build/config/compiler/BUILD.gn -@@ -273,8 +273,6 @@ config("compiler") { - - configs += [ - # See the definitions below. -- ":clang_revision", -- ":compiler_cpu_abi", - ":compiler_codegen", - ":compiler_deterministic", - ] -@@ -518,24 +516,6 @@ config("compiler") { - ldflags += [ "-Wl,-z,keep-text-section-prefix" ] - } - -- if (is_clang && !is_nacl && !use_xcode_clang) { -- cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ] -- -- # TODO(hans): Remove this once Clang generates better optimized debug info -- # by default. https://crbug.com/765793 -- cflags += [ -- "-mllvm", -- "-instcombine-lower-dbg-declare=0", -- ] -- if (!is_debug && use_thin_lto && is_a_target_toolchain) { -- if (is_win) { -- ldflags += [ "-mllvm:-instcombine-lower-dbg-declare=0" ] -- } else { -- ldflags += [ "-Wl,-mllvm,-instcombine-lower-dbg-declare=0" ] -- } -- } -- } -- - # C11/C++11 compiler flags setup. - # --------------------------- - if (is_linux || is_chromeos || is_android || (is_nacl && is_clang) || -@@ -1643,7 +1623,7 @@ config("chromium_code") { - defines = [ "_HAS_NODISCARD" ] - } - } else { -- cflags = [ "-Wall" ] -+ cflags = [ ] - if (treat_warnings_as_errors) { - cflags += [ "-Werror" ] - -@@ -1652,10 +1632,6 @@ config("chromium_code") { - # well. - ldflags = [ "-Werror" ] - } -- if (is_clang) { -- # Enable extra warnings for chromium_code when we control the compiler. -- cflags += [ "-Wextra" ] -- } - - # In Chromium code, we define __STDC_foo_MACROS in order to get the - # C99 macros on Mac and Linux. -@@ -1664,15 +1640,6 @@ config("chromium_code") { - "__STDC_FORMAT_MACROS", - ] - -- if (!is_debug && !using_sanitizer && current_cpu != "s390x" && -- current_cpu != "s390" && current_cpu != "ppc64" && -- current_cpu != "mips" && current_cpu != "mips64") { -- # Non-chromium code is not guaranteed to compile cleanly with -- # _FORTIFY_SOURCE. Also, fortified build may fail when optimizations are -- # disabled, so only do that for Release build. -- defines += [ "_FORTIFY_SOURCE=2" ] -- } -- - if (is_mac) { - cflags_objc = [ "-Wobjc-missing-property-synthesis" ] - cflags_objcc = [ "-Wobjc-missing-property-synthesis" ] -@@ -2068,7 +2035,8 @@ config("default_stack_frames") { - } - - # Default "optimization on" config. --config("optimize") { -+config("optimize") { } -+config("xoptimize") { - if (is_win) { - if (chrome_pgo_phase != 2) { - # Favor size over speed, /O1 must be before the common flags. -@@ -2103,7 +2071,8 @@ config("optimize") { - } - - # Turn off optimizations. --config("no_optimize") { -+config("no_optimize") { } -+config("xno_optimize") { - if (is_win) { - cflags = [ - "/Od", # Disable optimization. -@@ -2143,7 +2112,8 @@ config("no_optimize") { - # Turns up the optimization level. On Windows, this implies whole program - # optimization and link-time code generation which is very expensive and should - # be used sparingly. --config("optimize_max") { -+config("optimize_max") { } -+config("xoptimize_max") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2175,7 +2145,8 @@ config("optimize_max") { - # - # TODO(crbug.com/621335) - rework how all of these configs are related - # so that we don't need this disclaimer. --config("optimize_speed") { -+config("optimize_speed") { } -+config("xoptimize_speed") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2200,7 +2171,8 @@ config("optimize_speed") { - } - } - --config("optimize_fuzzing") { -+config("optimize_fuzzing") { } -+config("xoptimize_fuzzing") { - cflags = [ "-O1" ] + common_optimize_on_cflags - ldflags = common_optimize_on_ldflags - visibility = [ ":default_optimization" ] -@@ -2319,7 +2291,8 @@ config("win_pdbaltpath") { - } - - # Full symbols. --config("symbols") { -+config("symbols") { } -+config("xsymbols") { - if (is_win) { - if (is_clang) { - cflags = [ "/Z7" ] # Debug information in the .obj files. -@@ -2422,7 +2395,8 @@ config("symbols") { - # Minimal symbols. - # This config guarantees to hold symbol for stack trace which are shown to user - # when crash happens in unittests running on buildbot. --config("minimal_symbols") { -+config("minimal_symbols") { } -+config("xminimal_symbols") { - if (is_win) { - # Functions, files, and line tables only. - cflags = [] -@@ -2481,7 +2455,8 @@ config("minimal_symbols") { - # This configuration contains function names only. That is, the compiler is - # told to not generate debug information and the linker then just puts function - # names in the final debug information. --config("no_symbols") { -+config("no_symbols") { } -+config("xno_symbols") { - if (is_win) { - ldflags = [ "/DEBUG" ] - diff --git a/www-client/chromium/files/chromium-91-disable-nomerge.patch b/www-client/chromium/files/chromium-91-disable-nomerge.patch deleted file mode 100644 index 11dc66a..0000000 --- a/www-client/chromium/files/chromium-91-disable-nomerge.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/base/compiler_specific.h b/base/compiler_specific.h -index d662305dc..8e99145da 100644 ---- a/base/compiler_specific.h -+++ b/base/compiler_specific.h -@@ -341,7 +341,7 @@ inline constexpr bool AnalyzerAssumeTrue(bool arg) { - - // Use nomerge attribute to disable optimization of merging multiple same calls. - #if defined(__clang__) && __has_attribute(nomerge) --#define NOMERGE [[clang::nomerge]] -+#define NOMERGE //[[clang::nomerge]] - #else - #define NOMERGE - #endif diff --git a/www-client/chromium/files/chromium-91-libyuv-aarch64.patch b/www-client/chromium/files/chromium-91-libyuv-aarch64.patch deleted file mode 100644 index 77b8f4c..0000000 --- a/www-client/chromium/files/chromium-91-libyuv-aarch64.patch +++ /dev/null @@ -1,91 +0,0 @@ -diff --git a/third_party/libyuv/source/row_neon64.cc b/third_party/libyuv/source/row_neon64.cc -index 350c964..2aab413 100644 ---- a/third_party/libyuv/source/row_neon64.cc -+++ b/third_party/libyuv/source/row_neon64.cc -@@ -1835,7 +1835,7 @@ void ARGBToAB64Row_NEON(const uint8_t* src_argb, - : "+r"(src_argb), // %0 - "+r"(dst_ab64), // %1 - "+r"(width) // %2 -- : "m"(kShuffleARGBToABGR) // %3 -+ : "Q"(kShuffleARGBToABGR) // %3 - : "cc", "memory", "v0", "v1", "v2", "v3", "v4"); - } - -@@ -1859,7 +1859,7 @@ void AR64ToARGBRow_NEON(const uint16_t* src_ar64, - : "+r"(src_ar64), // %0 - "+r"(dst_argb), // %1 - "+r"(width) // %2 -- : "m"(kShuffleAR64ToARGB) // %3 -+ : "Q"(kShuffleAR64ToARGB) // %3 - : "cc", "memory", "v0", "v1", "v2", "v3", "v4"); - } - -@@ -1883,7 +1883,7 @@ void AB64ToARGBRow_NEON(const uint16_t* src_ab64, - : "+r"(src_ab64), // %0 - "+r"(dst_argb), // %1 - "+r"(width) // %2 -- : "m"(kShuffleAB64ToARGB) // %3 -+ : "Q"(kShuffleAB64ToARGB) // %3 - : "cc", "memory", "v0", "v1", "v2", "v3", "v4"); - } - -diff --git a/third_party/libyuv/source/scale_neon64.cc b/third_party/libyuv/source/scale_neon64.cc -index 8656fec..9f9636e 100644 ---- a/third_party/libyuv/source/scale_neon64.cc -+++ b/third_party/libyuv/source/scale_neon64.cc -@@ -601,8 +601,8 @@ void ScaleRowUp2_Bilinear_NEON(const uint8_t* src_ptr, - "umlal v4.8h, v1.8b, v31.8b \n" // 3*near+far (2, odd) - "umlal v5.8h, v0.8b, v31.8b \n" // 3*near+far (2, even) - -- "mov v0.8h, v4.8h \n" -- "mov v1.8h, v5.8h \n" -+ "mov v0.16b, v4.16b \n" -+ "mov v1.16b, v5.16b \n" - "mla v4.8h, v2.8h, v30.8h \n" // 9 3 3 1 (1, odd) - "mla v5.8h, v3.8h, v30.8h \n" // 9 3 3 1 (1, even) - "mla v2.8h, v0.8h, v30.8h \n" // 9 3 3 1 (2, odd) -@@ -642,7 +642,7 @@ void ScaleRowUp2_Linear_12_NEON(const uint16_t* src_ptr, - "ld1 {v1.8h}, [%1], #16 \n" // 12345678 (16b) - "prfm pldl1keep, [%0, 448] \n" // prefetch 7 lines ahead - -- "mov v2.8h, v0.8h \n" -+ "mov v2.16b, v0.16b \n" - "mla v0.8h, v1.8h, v31.8h \n" // 3*near+far (odd) - "mla v1.8h, v2.8h, v31.8h \n" // 3*near+far (even) - -@@ -679,7 +679,7 @@ void ScaleRowUp2_Bilinear_12_NEON(const uint16_t* src_ptr, - "ld1 {v3.8h}, [%2], #16 \n" // 12345678 (16b) - "prfm pldl1keep, [%0, 448] \n" // prefetch 7 lines ahead - -- "mov v0.8h, v2.8h \n" -+ "mov v0.16b, v2.16b \n" - "mla v2.8h, v3.8h, v31.8h \n" // 3*near+far (odd) - "mla v3.8h, v0.8h, v31.8h \n" // 3*near+far (even) - -@@ -687,12 +687,12 @@ void ScaleRowUp2_Bilinear_12_NEON(const uint16_t* src_ptr, - "ld1 {v5.8h}, [%3], #16 \n" // 12345678 (16b) - "prfm pldl1keep, [%1, 448] \n" // prefetch 7 lines ahead - -- "mov v0.8h, v4.8h \n" -+ "mov v0.16b, v4.16b \n" - "mla v4.8h, v5.8h, v31.8h \n" // 3*near+far (odd) - "mla v5.8h, v0.8h, v31.8h \n" // 3*near+far (even) - -- "mov v0.8h, v4.8h \n" -- "mov v1.8h, v5.8h \n" -+ "mov v0.16b, v4.16b \n" -+ "mov v1.16b, v5.16b \n" - "mla v4.8h, v2.8h, v31.8h \n" // 9 3 3 1 (1, odd) - "mla v5.8h, v3.8h, v31.8h \n" // 9 3 3 1 (1, even) - "mla v2.8h, v0.8h, v31.8h \n" // 9 3 3 1 (2, odd) -@@ -887,8 +887,8 @@ void ScaleUVRowUp2_Bilinear_NEON(const uint8_t* src_ptr, - "umlal v4.8h, v1.8b, v31.8b \n" // 3*near+far (2, odd) - "umlal v5.8h, v0.8b, v31.8b \n" // 3*near+far (2, even) - -- "mov v0.8h, v4.8h \n" -- "mov v1.8h, v5.8h \n" -+ "mov v0.16b, v4.16b \n" -+ "mov v1.16b, v5.16b \n" - "mla v4.8h, v2.8h, v30.8h \n" // 9 3 3 1 (1, odd) - "mla v5.8h, v3.8h, v30.8h \n" // 9 3 3 1 (1, even) - "mla v2.8h, v0.8h, v30.8h \n" // 9 3 3 1 (2, odd) diff --git a/www-client/chromium/files/chromium-92-ClassPropertyCaster-namespace.patch b/www-client/chromium/files/chromium-92-ClassPropertyCaster-namespace.patch deleted file mode 100644 index 08d7416..0000000 --- a/www-client/chromium/files/chromium-92-ClassPropertyCaster-namespace.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 546b72d3b31e5d42e4d6cb783def2c89c977c5a6 Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann <stha09@googlemail.com> -Date: Fri, 7 May 2021 14:34:29 +0000 -Subject: [PATCH] GCC: drop anonymous namespace from ClassPropertyCaster -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Explicit template specialization is done for ui::ElementIdentifier -in another header. GCC fails to compile this with: - -../../ui/base/interaction/element_identifier.h:208:7: error: - explicit specialization of ‘template<class T> - class ui::{anonymous}::ClassPropertyCaster’ outside its - namespace must use a nested-name-specifier - -This is a known GCC bug (https://gcc.gnu.org/PR92598). ---- - ui/base/class_property.h | 4 ---- - 1 file changed, 4 deletions(-) - -diff --git a/ui/base/class_property.h b/ui/base/class_property.h -index 4af52ae..25c00e7 100644 ---- a/ui/base/class_property.h -+++ b/ui/base/class_property.h -@@ -137,8 +137,6 @@ class COMPONENT_EXPORT(UI_BASE) PropertyHandler { - std::map<const void*, Value> prop_map_; - }; - --namespace { -- - // No single new-style cast works for every conversion to/from int64_t, so we - // need this helper class. - template<typename T> -@@ -162,8 +160,6 @@ class ClassPropertyCaster<base::TimeDelta> { - } - }; - --} // namespace -- - namespace subtle { - - class COMPONENT_EXPORT(UI_BASE) PropertyHelper { --- -2.26.3 - diff --git a/www-client/chromium/files/chromium-92-base_atomic_include.patch b/www-client/chromium/files/chromium-92-base_atomic_include.patch deleted file mode 100644 index e6faf77..0000000 --- a/www-client/chromium/files/chromium-92-base_atomic_include.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/base/threading/platform_thread.cc b/base/threading/platform_thread.cc -index 3dc218163..f167af4ff 100644 ---- a/base/threading/platform_thread.cc -+++ b/base/threading/platform_thread.cc -@@ -4,6 +4,7 @@ - - #include "base/threading/platform_thread.h" - -+#include <atomic> - #include <memory> - - #include "base/feature_list.h" diff --git a/www-client/chromium/files/chromium-92-glibc-2.33.patch b/www-client/chromium/files/chromium-92-glibc-2.33.patch deleted file mode 100644 index 3b2ec6b..0000000 --- a/www-client/chromium/files/chromium-92-glibc-2.33.patch +++ /dev/null @@ -1,146 +0,0 @@ -diff --git a/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc b/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc -index 05c39f0f5..3a9d6f359 100644 ---- a/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc -+++ b/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc -@@ -280,6 +280,18 @@ ResultExpr EvaluateSyscallImpl(int fs_denied_errno, - return RestrictKillTarget(current_pid, sysno); - } - -+#if defined(__NR_newfstatat) -+ if (sysno == __NR_newfstatat) { -+ return RewriteFstatatSIGSYS(); -+ } -+#endif -+ -+#if defined(__NR_fstatat64) -+ if (sysno == __NR_fstatat64) { -+ return RewriteFstatatSIGSYS(); -+ } -+#endif -+ - // memfd_create is considered a file system syscall which below will be denied - // with fs_denied_errno, we need memfd_create for Mojo shared memory channels. - if (sysno == __NR_memfd_create) { -diff --git a/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc b/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc -index 76eb32493..09aa3f0b1 100644 ---- a/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc -+++ b/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc -@@ -6,6 +6,8 @@ - - #include "sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h" - -+#include <errno.h> -+#include <fcntl.h> - #include <stddef.h> - #include <stdint.h> - #include <string.h> -@@ -355,6 +357,35 @@ intptr_t SIGSYSSchedHandler(const struct arch_seccomp_data& args, - return -ENOSYS; - } - -+intptr_t SIGSYSFstatatHandler(const struct arch_seccomp_data& args, -+ void* aux) { -+ switch (args.nr) { -+#if defined(__NR_newfstatat) -+ case __NR_newfstatat: -+#endif -+#if defined(__NR_fstatat64) -+ case __NR_fstatat64: -+#endif -+#if defined(__NR_newfstatat) || defined(__NR_fstatat64) -+ if (*reinterpret_cast<const char *>(args.args[1]) == '\0' -+ && args.args[3] == static_cast<uint64_t>(AT_EMPTY_PATH)) { -+ return sandbox::sys_fstat64(static_cast<int>(args.args[0]), -+ reinterpret_cast<struct stat64 *>(args.args[2])); -+ } else { -+ errno = EACCES; -+ return -1; -+ } -+ break; -+#endif -+ } -+ -+ CrashSIGSYS_Handler(args, aux); -+ -+ // Should never be reached. -+ RAW_CHECK(false); -+ return -ENOSYS; -+} -+ - bpf_dsl::ResultExpr CrashSIGSYS() { - return bpf_dsl::Trap(CrashSIGSYS_Handler, NULL); - } -@@ -387,6 +418,10 @@ bpf_dsl::ResultExpr RewriteSchedSIGSYS() { - return bpf_dsl::Trap(SIGSYSSchedHandler, NULL); - } - -+bpf_dsl::ResultExpr RewriteFstatatSIGSYS() { -+ return bpf_dsl::Trap(SIGSYSFstatatHandler, NULL); -+} -+ - void AllocateCrashKeys() { - #if !defined(OS_NACL_NONSFI) - if (seccomp_crash_key) -diff --git a/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h b/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h -index 7a958b93b..d0bfab74b 100644 ---- a/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h -+++ b/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h -@@ -62,6 +62,10 @@ SANDBOX_EXPORT intptr_t SIGSYSPtraceFailure(const arch_seccomp_data& args, - // sched_setparam(), sched_setscheduler() - SANDBOX_EXPORT intptr_t SIGSYSSchedHandler(const arch_seccomp_data& args, - void* aux); -+// If the fstatat syscall is actually a disguised fstat, calls the regular fstat -+// syscall, otherwise, crashes in the same way as CrashSIGSYS_Handler. -+SANDBOX_EXPORT intptr_t SIGSYSFstatatHandler(const struct arch_seccomp_data& args, -+ void* aux); - - // Variants of the above functions for use with bpf_dsl. - SANDBOX_EXPORT bpf_dsl::ResultExpr CrashSIGSYS(); -@@ -72,6 +76,7 @@ SANDBOX_EXPORT bpf_dsl::ResultExpr CrashSIGSYSKill(); - SANDBOX_EXPORT bpf_dsl::ResultExpr CrashSIGSYSFutex(); - SANDBOX_EXPORT bpf_dsl::ResultExpr CrashSIGSYSPtrace(); - SANDBOX_EXPORT bpf_dsl::ResultExpr RewriteSchedSIGSYS(); -+SANDBOX_EXPORT bpf_dsl::ResultExpr RewriteFstatatSIGSYS(); - - // Allocates a crash key so that Seccomp information can be recorded. - void AllocateCrashKeys(); -diff --git a/sandbox/linux/services/syscall_wrappers.cc b/sandbox/linux/services/syscall_wrappers.cc -index fcfd2aa12..5396b36da 100644 ---- a/sandbox/linux/services/syscall_wrappers.cc -+++ b/sandbox/linux/services/syscall_wrappers.cc -@@ -261,4 +261,13 @@ int sys_sigaction(int signum, - - #endif // defined(MEMORY_SANITIZER) - -+SANDBOX_EXPORT int sys_fstat64(int fd, struct stat64 *buf) -+{ -+#if defined(__NR_fstat64) -+ return syscall(__NR_fstat64, fd, buf); -+#else -+ return syscall(__NR_fstat, fd, buf); -+#endif -+} -+ - } // namespace sandbox -diff --git a/sandbox/linux/services/syscall_wrappers.h b/sandbox/linux/services/syscall_wrappers.h -index 1975bfbd8..ed7ee5a1c 100644 ---- a/sandbox/linux/services/syscall_wrappers.h -+++ b/sandbox/linux/services/syscall_wrappers.h -@@ -17,6 +17,7 @@ struct sock_fprog; - struct rlimit64; - struct cap_hdr; - struct cap_data; -+struct stat64; - - namespace sandbox { - -@@ -84,6 +85,9 @@ SANDBOX_EXPORT int sys_sigaction(int signum, - const struct sigaction* act, - struct sigaction* oldact); - -+// Recent glibc rewrites fstat to fstatat. -+SANDBOX_EXPORT int sys_fstat64(int fd, struct stat64 *buf); -+ - } // namespace sandbox - - #endif // SANDBOX_LINUX_SERVICES_SYSCALL_WRAPPERS_H_ diff --git a/www-client/chromium/files/chromium-92-platform_thread-include.patch b/www-client/chromium/files/chromium-92-platform_thread-include.patch deleted file mode 100644 index 881a2a0..0000000 --- a/www-client/chromium/files/chromium-92-platform_thread-include.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 49c9ab14152b52edc9f0d8f1245039792f270315 Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann <stha09@googlemail.com> -Date: Fri, 7 May 2021 09:53:18 +0000 -Subject: [PATCH] IWYU: include atomic for std::atomic - ---- - base/threading/platform_thread.cc | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/base/threading/platform_thread.cc b/base/threading/platform_thread.cc -index 3dc2181..f167af4 100644 ---- a/base/threading/platform_thread.cc -+++ b/base/threading/platform_thread.cc -@@ -4,6 +4,7 @@ - - #include "base/threading/platform_thread.h" - -+#include <atomic> - #include <memory> - - #include "base/feature_list.h" --- -2.26.3 - diff --git a/www-client/chromium/files/chromium-92-sql-cursor.patch b/www-client/chromium/files/chromium-92-sql-cursor.patch deleted file mode 100644 index a4864ba..0000000 --- a/www-client/chromium/files/chromium-92-sql-cursor.patch +++ /dev/null @@ -1,231 +0,0 @@ -From 80368f8ba7a8bab13440463a254888311efe3986 Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann <stha09@googlemail.com> -Date: Tue, 04 May 2021 15:00:19 +0000 -Subject: [PATCH] sql: make VirtualCursor standard layout type - -sql::recover::VirtualCursor needs to be a standard layout type, but -has members of type std::unique_ptr. However, std::unique_ptr is not -guaranteed to be standard layout. Compiling with clang combined with -gcc-11 libstdc++ fails because of this. Replace std::unique_ptr with -raw pointers. - -Bug: 1189788 -Change-Id: Ia6dc388cc5ef1c0f2afc75f8ca45b9f12687ca9c ---- - -diff --git a/sql/recover_module/btree.cc b/sql/recover_module/btree.cc -index 9ecaafe..839318a 100644 ---- a/sql/recover_module/btree.cc -+++ b/sql/recover_module/btree.cc -@@ -135,16 +135,25 @@ - "Move the destructor to the .cc file if it's non-trival"); - #endif // !DCHECK_IS_ON() - --LeafPageDecoder::LeafPageDecoder(DatabasePageReader* db_reader) noexcept -- : page_id_(db_reader->page_id()), -- db_reader_(db_reader), -- cell_count_(ComputeCellCount(db_reader)), -- next_read_index_(0), -- last_record_size_(0) { -+void LeafPageDecoder::Initialize(DatabasePageReader* db_reader) { -+ DCHECK(db_reader); - DCHECK(IsOnValidPage(db_reader)); -+ page_id_ = db_reader->page_id(); -+ db_reader_ = db_reader; -+ cell_count_ = ComputeCellCount(db_reader); -+ next_read_index_ = 0; -+ last_record_size_ = 0; - DCHECK(DatabasePageReader::IsValidPageId(page_id_)); - } - -+void LeafPageDecoder::Reset() { -+ db_reader_ = nullptr; -+ page_id_ = 0; -+ cell_count_ = 0; -+ next_read_index_ = 0; -+ last_record_size_ = 0; -+} -+ - bool LeafPageDecoder::TryAdvance() { - DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); - DCHECK(CanAdvance()); -diff --git a/sql/recover_module/btree.h b/sql/recover_module/btree.h -index d76d076..33114b0 100644 ---- a/sql/recover_module/btree.h -+++ b/sql/recover_module/btree.h -@@ -102,7 +102,7 @@ - // - // |db_reader| must have been used to read an inner page of a table B-tree. - // |db_reader| must outlive this instance. -- explicit LeafPageDecoder(DatabasePageReader* db_reader) noexcept; -+ explicit LeafPageDecoder() noexcept = default; - ~LeafPageDecoder() noexcept = default; - - LeafPageDecoder(const LeafPageDecoder&) = delete; -@@ -150,6 +150,15 @@ - // read as long as CanAdvance() returns true. - bool TryAdvance(); - -+ // Initialize with DatabasePageReader -+ void Initialize(DatabasePageReader* db_reader); -+ -+ // Reset internal DatabasePageReader -+ void Reset(); -+ -+ // True if DatabasePageReader is valid -+ bool IsValid() { return (db_reader_ != nullptr); } -+ - // True if the given reader may point to an inner page in a table B-tree. - // - // The last ReadPage() call on |db_reader| must have succeeded. -@@ -163,14 +172,14 @@ - static int ComputeCellCount(DatabasePageReader* db_reader); - - // The number of the B-tree page this reader is reading. -- const int64_t page_id_; -+ int64_t page_id_; - // Used to read the tree page. - // - // Raw pointer usage is acceptable because this instance's owner is expected - // to ensure that the DatabasePageReader outlives this. -- DatabasePageReader* const db_reader_; -+ DatabasePageReader* db_reader_; - // Caches the ComputeCellCount() value for this reader's page. -- const int cell_count_ = ComputeCellCount(db_reader_); -+ int cell_count_; - - // The reader's cursor state. - // -diff --git a/sql/recover_module/cursor.cc b/sql/recover_module/cursor.cc -index 0029ff9..42548bc 100644 ---- a/sql/recover_module/cursor.cc -+++ b/sql/recover_module/cursor.cc -@@ -26,7 +26,7 @@ - int VirtualCursor::First() { - DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); - inner_decoders_.clear(); -- leaf_decoder_ = nullptr; -+ leaf_decoder_.Reset(); - - AppendPageDecoder(table_->root_page_id()); - return Next(); -@@ -36,18 +36,18 @@ - DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); - record_reader_.Reset(); - -- while (!inner_decoders_.empty() || leaf_decoder_.get()) { -- if (leaf_decoder_.get()) { -- if (!leaf_decoder_->CanAdvance()) { -+ while (!inner_decoders_.empty() || leaf_decoder_.IsValid()) { -+ if (leaf_decoder_.IsValid()) { -+ if (!leaf_decoder_.CanAdvance()) { - // The leaf has been exhausted. Remove it from the DFS stack. -- leaf_decoder_ = nullptr; -+ leaf_decoder_.Reset(); - continue; - } -- if (!leaf_decoder_->TryAdvance()) -+ if (!leaf_decoder_.TryAdvance()) - continue; - -- if (!payload_reader_.Initialize(leaf_decoder_->last_record_size(), -- leaf_decoder_->last_record_offset())) { -+ if (!payload_reader_.Initialize(leaf_decoder_.last_record_size(), -+ leaf_decoder_.last_record_offset())) { - continue; - } - if (!record_reader_.Initialize()) -@@ -99,13 +99,13 @@ - int64_t VirtualCursor::RowId() { - DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); - DCHECK(record_reader_.IsInitialized()); -- DCHECK(leaf_decoder_.get()); -- return leaf_decoder_->last_record_rowid(); -+ DCHECK(leaf_decoder_.IsValid()); -+ return leaf_decoder_.last_record_rowid(); - } - - void VirtualCursor::AppendPageDecoder(int page_id) { - DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); -- DCHECK(leaf_decoder_.get() == nullptr) -+ DCHECK(!leaf_decoder_.IsValid()) - << __func__ - << " must only be called when the current path has no leaf decoder"; - -@@ -113,7 +113,7 @@ - return; - - if (LeafPageDecoder::IsOnValidPage(&db_reader_)) { -- leaf_decoder_ = std::make_unique<LeafPageDecoder>(&db_reader_); -+ leaf_decoder_.Initialize(&db_reader_); - return; - } - -diff --git a/sql/recover_module/cursor.h b/sql/recover_module/cursor.h -index afcd690..b15c31d 100644 ---- a/sql/recover_module/cursor.h -+++ b/sql/recover_module/cursor.h -@@ -129,7 +129,7 @@ - std::vector<std::unique_ptr<InnerPageDecoder>> inner_decoders_; - - // Decodes the leaf page containing records. -- std::unique_ptr<LeafPageDecoder> leaf_decoder_; -+ LeafPageDecoder leaf_decoder_; - - SEQUENCE_CHECKER(sequence_checker_); - }; -diff --git a/sql/recover_module/pager.cc b/sql/recover_module/pager.cc -index 58e75de..5fe9620 100644 ---- a/sql/recover_module/pager.cc -+++ b/sql/recover_module/pager.cc -@@ -23,8 +23,7 @@ - "ints are not appropriate for representing page IDs"); - - DatabasePageReader::DatabasePageReader(VirtualTable* table) -- : page_data_(std::make_unique<uint8_t[]>(table->page_size())), -- table_(table) { -+ : page_data_(), table_(table) { - DCHECK(table != nullptr); - DCHECK(IsValidPageSize(table->page_size())); - } -@@ -57,8 +56,8 @@ - std::numeric_limits<int64_t>::max(), - "The |read_offset| computation above may overflow"); - -- int sqlite_status = -- RawRead(sqlite_file, read_size, read_offset, page_data_.get()); -+ int sqlite_status = RawRead(sqlite_file, read_size, read_offset, -+ const_cast<uint8_t*>(page_data_.data())); - - // |page_id_| needs to be set to kInvalidPageId if the read failed. - // Otherwise, future ReadPage() calls with the previous |page_id_| value -diff --git a/sql/recover_module/pager.h b/sql/recover_module/pager.h -index 0e388ddc..99314e3 100644 ---- a/sql/recover_module/pager.h -+++ b/sql/recover_module/pager.h -@@ -5,6 +5,7 @@ - #ifndef SQL_RECOVER_MODULE_PAGER_H_ - #define SQL_RECOVER_MODULE_PAGER_H_ - -+#include <array> - #include <cstdint> - #include <memory> - -@@ -70,7 +71,7 @@ - DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); - DCHECK_NE(page_id_, kInvalidPageId) - << "Successful ReadPage() required before accessing pager state"; -- return page_data_.get(); -+ return page_data_.data(); - } - - // The number of bytes in the page read by the last ReadPage() call. -@@ -137,7 +138,7 @@ - int page_id_ = kInvalidPageId; - // Stores the bytes of the last page successfully read by ReadPage(). - // The content is undefined if the last call to ReadPage() did not succeed. -- const std::unique_ptr<uint8_t[]> page_data_; -+ const std::array<uint8_t, kMaxPageSize> page_data_; - // Raw pointer usage is acceptable because this instance's owner is expected - // to ensure that the VirtualTable outlives this. - VirtualTable* const table_; diff --git a/www-client/chromium/files/chromium-93-AXPropertyNode-private.patch b/www-client/chromium/files/chromium-93-AXPropertyNode-private.patch deleted file mode 100644 index f184af6..0000000 --- a/www-client/chromium/files/chromium-93-AXPropertyNode-private.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 0cdb42df76598037785ca33eb66bdc9ac2c16fd9 Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann <stha09@googlemail.com> -Date: Sat, 5 Jun 2021 11:16:29 +0000 -Subject: [PATCH] libstdc++: make constructors public in AXPropertyNode - -Making std::allocator<AXPropertyNode> friend of AXPropertyNode is -useless, because std::allocator is free to delegate the task of -construction to a free function or class which is not friend of -AXPropertyNode. libstdc++ uses __gnu_cxx::new_allocator<T> for -construction and fails if constructors of AXPropertyNode are -private. ---- - ui/accessibility/platform/inspect/ax_property_node.h | 4 +--- - 1 file changed, 1 insertion(+), 3 deletions(-) - -diff --git a/ui/accessibility/platform/inspect/ax_property_node.h b/ui/accessibility/platform/inspect/ax_property_node.h -index 35b8309..78bafa5 100644 ---- a/ui/accessibility/platform/inspect/ax_property_node.h -+++ b/ui/accessibility/platform/inspect/ax_property_node.h -@@ -93,7 +93,6 @@ class AX_EXPORT AXPropertyNode final { - // Returns a tree-like string representation of the node. - std::string ToTreeString(const std::string& indent = "") const; - -- private: - using iterator = std::string::const_iterator; - - explicit AXPropertyNode(iterator key_begin, -@@ -105,11 +104,10 @@ class AX_EXPORT AXPropertyNode final { - iterator value_begin, - iterator value_end); - -+ private: - // Builds a property node struct for a string of NAME(ARG1, ..., ARGN) format, - // where each ARG is a scalar value or a string of the same format. - static iterator Parse(AXPropertyNode* node, iterator begin, iterator end); -- -- friend class std::allocator<AXPropertyNode>; - }; - - } // namespace ui --- -2.31.1 - diff --git a/www-client/chromium/files/chromium-93-EnumTable-crash.patch b/www-client/chromium/files/chromium-93-EnumTable-crash.patch deleted file mode 100644 index a5c2def..0000000 --- a/www-client/chromium/files/chromium-93-EnumTable-crash.patch +++ /dev/null @@ -1,79 +0,0 @@ -diff --git a/components/cast_channel/enum_table.h b/components/cast_channel/enum_table.h -index a63ae86..83ada65 100644 ---- a/components/cast_channel/enum_table.h -+++ b/components/cast_channel/enum_table.h -@@ -8,6 +8,7 @@ - #include <cstdint> - #include <cstring> - #include <ostream> -+#include <vector> - - #include "base/check_op.h" - #include "base/macros.h" -@@ -213,7 +214,7 @@ class - - template <typename E> - friend class EnumTable; -- DISALLOW_COPY_AND_ASSIGN(GenericEnumTableEntry); -+ DISALLOW_ASSIGN(GenericEnumTableEntry); - }; - - // Yes, these constructors really needs to be inlined. Even though they look -@@ -251,8 +252,7 @@ class EnumTable { - // Constructor for regular entries. - constexpr Entry(E value, base::StringPiece str) - : GenericEnumTableEntry(static_cast<int32_t>(value), str) {} -- -- DISALLOW_COPY_AND_ASSIGN(Entry); -+ DISALLOW_ASSIGN(Entry); - }; - - static_assert(sizeof(E) <= sizeof(int32_t), -@@ -307,15 +307,14 @@ class EnumTable { - if (is_sorted_) { - const std::size_t index = static_cast<std::size_t>(value); - if (ANALYZER_ASSUME_TRUE(index < data_.size())) { -- const auto& entry = data_.begin()[index]; -+ const auto& entry = data_[index]; - if (ANALYZER_ASSUME_TRUE(entry.has_str())) - return entry.str(); - } - return absl::nullopt; - } - return GenericEnumTableEntry::FindByValue( -- reinterpret_cast<const GenericEnumTableEntry*>(data_.begin()), -- data_.size(), static_cast<int32_t>(value)); -+ &data_[0], data_.size(), static_cast<int32_t>(value)); - } - - // This overload of GetString is designed for cases where the argument is a -@@ -343,8 +342,7 @@ class EnumTable { - // enum value directly. - absl::optional<E> GetEnum(base::StringPiece str) const { - auto* entry = GenericEnumTableEntry::FindByString( -- reinterpret_cast<const GenericEnumTableEntry*>(data_.begin()), -- data_.size(), str); -+ &data_[0], data_.size(), str); - return entry ? static_cast<E>(entry->value) : absl::optional<E>(); - } - -@@ -359,7 +357,7 @@ class EnumTable { - // Align the data on a cache line boundary. - alignas(64) - #endif -- std::initializer_list<Entry> data_; -+ const std::vector<Entry> data_; - bool is_sorted_; - - constexpr EnumTable(std::initializer_list<Entry> data, bool is_sorted) -@@ -371,8 +369,8 @@ class EnumTable { - - for (std::size_t i = 0; i < data.size(); i++) { - for (std::size_t j = i + 1; j < data.size(); j++) { -- const Entry& ei = data.begin()[i]; -- const Entry& ej = data.begin()[j]; -+ const Entry& ei = data[i]; -+ const Entry& ej = data[j]; - DCHECK(ei.value != ej.value) - << "Found duplicate enum values at indices " << i << " and " << j; - DCHECK(!(ei.has_str() && ej.has_str() && ei.str() == ej.str())) diff --git a/www-client/chromium/files/chromium-93-cart-include.patch b/www-client/chromium/files/chromium-93-cart-include.patch deleted file mode 100644 index 82ca038..0000000 --- a/www-client/chromium/files/chromium-93-cart-include.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/chrome/browser/cart/cart_db.h b/chrome/browser/cart/cart_db.h -index 82b2a56c3..0f8472f3e 100644 ---- a/chrome/browser/cart/cart_db.h -+++ b/chrome/browser/cart/cart_db.h -@@ -5,6 +5,8 @@ - #ifndef CHROME_BROWSER_CART_CART_DB_H_ - #define CHROME_BROWSER_CART_CART_DB_H_ - -+#include <vector> -+ - #include "base/callback_helpers.h" - #include "base/memory/weak_ptr.h" - diff --git a/www-client/chromium/files/chromium-93-devtools-msg-dispatcher-include.patch b/www-client/chromium/files/chromium-93-devtools-msg-dispatcher-include.patch deleted file mode 100644 index ddb94cf..0000000 --- a/www-client/chromium/files/chromium-93-devtools-msg-dispatcher-include.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/chrome/browser/devtools/devtools_embedder_message_dispatcher.h b/chrome/browser/devtools/devtools_embedder_message_dispatcher.h -index 12f8500b7..4007112f3 100644 ---- a/chrome/browser/devtools/devtools_embedder_message_dispatcher.h -+++ b/chrome/browser/devtools/devtools_embedder_message_dispatcher.h -@@ -8,6 +8,7 @@ - #include <map> - #include <memory> - #include <string> -+#include <vector> - - #include "base/callback.h" - #include "ui/gfx/geometry/insets.h" diff --git a/www-client/chromium/files/chromium-93-dnsprefetch-include.patch b/www-client/chromium/files/chromium-93-dnsprefetch-include.patch deleted file mode 100644 index c8d63b6..0000000 --- a/www-client/chromium/files/chromium-93-dnsprefetch-include.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/components/network_hints/renderer/renderer_dns_prefetch.h b/components/network_hints/renderer/renderer_dns_prefetch.h -index 87f1bb1bb..3ead6b3a6 100644 ---- a/components/network_hints/renderer/renderer_dns_prefetch.h -+++ b/components/network_hints/renderer/renderer_dns_prefetch.h -@@ -25,6 +25,7 @@ - - #include <map> - #include <string> -+#include <vector> - - #include "base/callback.h" - #include "base/macros.h" diff --git a/www-client/chromium/files/chromium-93-ext-autoconfirm-include.patch b/www-client/chromium/files/chromium-93-ext-autoconfirm-include.patch deleted file mode 100644 index 6bf4fcf..0000000 --- a/www-client/chromium/files/chromium-93-ext-autoconfirm-include.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/extensions/browser/extension_dialog_auto_confirm.cc b/extensions/browser/extension_dialog_auto_confirm.cc -index adb4ac3f9..be8b161bc 100644 ---- a/extensions/browser/extension_dialog_auto_confirm.cc -+++ b/extensions/browser/extension_dialog_auto_confirm.cc -@@ -4,6 +4,7 @@ - - #include "extensions/browser/extension_dialog_auto_confirm.h" - -+#include <cstring> - #include <utility> - - #include "base/check.h" diff --git a/www-client/chromium/files/chromium-93-gpu-ipc-include.patch b/www-client/chromium/files/chromium-93-gpu-ipc-include.patch deleted file mode 100644 index 24793fa..0000000 --- a/www-client/chromium/files/chromium-93-gpu-ipc-include.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/gpu/ipc/gpu_task_scheduler_helper.h b/gpu/ipc/gpu_task_scheduler_helper.h -index 4315277b2..01c9c8ed9 100644 ---- a/gpu/ipc/gpu_task_scheduler_helper.h -+++ b/gpu/ipc/gpu_task_scheduler_helper.h -@@ -5,6 +5,8 @@ - #ifndef GPU_IPC_GPU_TASK_SCHEDULER_HELPER_H_ - #define GPU_IPC_GPU_TASK_SCHEDULER_HELPER_H_ - -+#include <vector> -+ - #include "base/callback.h" - #include "gpu/command_buffer/common/sync_token.h" - #include "gpu/command_buffer/service/sequence_id.h" diff --git a/www-client/chromium/files/chromium-93-hid-chooser-include.patch b/www-client/chromium/files/chromium-93-hid-chooser-include.patch deleted file mode 100644 index 7ae8938..0000000 --- a/www-client/chromium/files/chromium-93-hid-chooser-include.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/content/public/browser/hid_chooser.h b/content/public/browser/hid_chooser.h -index d40cf59be..b2b9613cf 100644 ---- a/content/public/browser/hid_chooser.h -+++ b/content/public/browser/hid_chooser.h -@@ -5,6 +5,8 @@ - #ifndef CONTENT_PUBLIC_BROWSER_HID_CHOOSER_H_ - #define CONTENT_PUBLIC_BROWSER_HID_CHOOSER_H_ - -+#include <vector> -+ - #include "base/callback_forward.h" - #include "base/macros.h" - #include "content/common/content_export.h" diff --git a/www-client/chromium/files/chromium-93-lang-prefs-include.patch b/www-client/chromium/files/chromium-93-lang-prefs-include.patch deleted file mode 100644 index 7b1829d..0000000 --- a/www-client/chromium/files/chromium-93-lang-prefs-include.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/components/language/core/browser/language_prefs.h b/components/language/core/browser/language_prefs.h -index 28c89546c..617d1ed91 100644 ---- a/components/language/core/browser/language_prefs.h -+++ b/components/language/core/browser/language_prefs.h -@@ -7,6 +7,7 @@ - - #include <set> - #include <string> -+#include <vector> - - #include "base/macros.h" - #include "base/strings/string_piece.h" diff --git a/www-client/chromium/files/chromium-93-login-detection-include.patch b/www-client/chromium/files/chromium-93-login-detection-include.patch deleted file mode 100644 index e2a6aa3..0000000 --- a/www-client/chromium/files/chromium-93-login-detection-include.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/chrome/browser/login_detection/oauth_login_detector.h b/chrome/browser/login_detection/oauth_login_detector.h -index 6844529c7..c0c3b185f 100644 ---- a/chrome/browser/login_detection/oauth_login_detector.h -+++ b/chrome/browser/login_detection/oauth_login_detector.h -@@ -7,6 +7,7 @@ - - #include <set> - #include <string> -+#include <vector> - - #include "third_party/abseil-cpp/absl/types/optional.h" - #include "url/gurl.h" diff --git a/www-client/chromium/files/chromium-93-media-ffmpeg-type.patch b/www-client/chromium/files/chromium-93-media-ffmpeg-type.patch deleted file mode 100644 index ca8b98f..0000000 --- a/www-client/chromium/files/chromium-93-media-ffmpeg-type.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff --git a/media/filters/ffmpeg_demuxer.cc b/media/filters/ffmpeg_demuxer.cc -index ac4713b07..492a9a37d 100644 ---- a/media/filters/ffmpeg_demuxer.cc -+++ b/media/filters/ffmpeg_demuxer.cc -@@ -427,11 +427,11 @@ void FFmpegDemuxerStream::EnqueuePacket(ScopedAVPacket packet) { - scoped_refptr<DecoderBuffer> buffer; - - if (type() == DemuxerStream::TEXT) { -- size_t id_size = 0; -+ int id_size = 0; - uint8_t* id_data = av_packet_get_side_data( - packet.get(), AV_PKT_DATA_WEBVTT_IDENTIFIER, &id_size); - -- size_t settings_size = 0; -+ int settings_size = 0; - uint8_t* settings_data = av_packet_get_side_data( - packet.get(), AV_PKT_DATA_WEBVTT_SETTINGS, &settings_size); - -@@ -443,7 +443,7 @@ void FFmpegDemuxerStream::EnqueuePacket(ScopedAVPacket packet) { - buffer = DecoderBuffer::CopyFrom(packet->data, packet->size, - side_data.data(), side_data.size()); - } else { -- size_t side_data_size = 0; -+ int side_data_size = 0; - uint8_t* side_data = av_packet_get_side_data( - packet.get(), AV_PKT_DATA_MATROSKA_BLOCKADDITIONAL, &side_data_size); - -@@ -504,7 +504,7 @@ void FFmpegDemuxerStream::EnqueuePacket(ScopedAVPacket packet) { - packet->size - data_offset); - } - -- size_t skip_samples_size = 0; -+ int skip_samples_size = 0; - const uint32_t* skip_samples_ptr = - reinterpret_cast<const uint32_t*>(av_packet_get_side_data( - packet.get(), AV_PKT_DATA_SKIP_SAMPLES, &skip_samples_size)); diff --git a/www-client/chromium/files/chromium-93-media-history-include.patch b/www-client/chromium/files/chromium-93-media-history-include.patch deleted file mode 100644 index 4253fd7..0000000 --- a/www-client/chromium/files/chromium-93-media-history-include.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/chrome/browser/media/history/media_history_origin_table.h b/chrome/browser/media/history/media_history_origin_table.h -index c28d5e3a8..32e1757de 100644 ---- a/chrome/browser/media/history/media_history_origin_table.h -+++ b/chrome/browser/media/history/media_history_origin_table.h -@@ -6,6 +6,7 @@ - #define CHROME_BROWSER_MEDIA_HISTORY_MEDIA_HISTORY_ORIGIN_TABLE_H_ - - #include <string> -+#include <vector> - - #include "base/updateable_sequenced_task_runner.h" - #include "chrome/browser/media/history/media_history_table_base.h" diff --git a/www-client/chromium/files/chromium-93-net-http-include.patch b/www-client/chromium/files/chromium-93-net-http-include.patch deleted file mode 100644 index fe64bb7..0000000 --- a/www-client/chromium/files/chromium-93-net-http-include.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/net/http/http_basic_state.h b/net/http/http_basic_state.h -index 5fd1ee514..06c46df6b 100644 ---- a/net/http/http_basic_state.h -+++ b/net/http/http_basic_state.h -@@ -10,6 +10,7 @@ - - #include <memory> - #include <string> -+#include <vector> - - #include "base/macros.h" - #include "base/memory/ref_counted.h" diff --git a/www-client/chromium/files/chromium-93-payment-include.patch b/www-client/chromium/files/chromium-93-payment-include.patch deleted file mode 100644 index 588931f..0000000 --- a/www-client/chromium/files/chromium-93-payment-include.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/components/payments/core/journey_logger.h b/components/payments/core/journey_logger.h -index 026b38e7e..e63673de3 100644 ---- a/components/payments/core/journey_logger.h -+++ b/components/payments/core/journey_logger.h -@@ -6,6 +6,7 @@ - #define COMPONENTS_PAYMENTS_CORE_JOURNEY_LOGGER_H_ - - #include <string> -+#include <vector> - - #include "base/macros.h" - #include "base/time/time.h" diff --git a/www-client/chromium/files/chromium-93-pdfium-include.patch b/www-client/chromium/files/chromium-93-pdfium-include.patch deleted file mode 100644 index 2f601ed..0000000 --- a/www-client/chromium/files/chromium-93-pdfium-include.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/third_party/pdfium/core/fxcodec/jpx/cjpx_decoder.cpp b/third_party/pdfium/core/fxcodec/jpx/cjpx_decoder.cpp -index c66985a7f..83a9ba132 100644 ---- a/third_party/pdfium/core/fxcodec/jpx/cjpx_decoder.cpp -+++ b/third_party/pdfium/core/fxcodec/jpx/cjpx_decoder.cpp -@@ -6,6 +6,7 @@ - - #include "core/fxcodec/jpx/cjpx_decoder.h" - -+#include <cstring> - #include <algorithm> - #include <limits> - #include <utility> diff --git a/www-client/chromium/files/chromium-93-phishing-classifier-include.patch b/www-client/chromium/files/chromium-93-phishing-classifier-include.patch deleted file mode 100644 index 64a95fe..0000000 --- a/www-client/chromium/files/chromium-93-phishing-classifier-include.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/components/safe_browsing/content/renderer/phishing_classifier/phishing_classifier.h b/components/safe_browsing/content/renderer/phishing_classifier/phishing_classifier.h -index e86d14e8d..b3e74406c 100644 ---- a/components/safe_browsing/content/renderer/phishing_classifier/phishing_classifier.h -+++ b/components/safe_browsing/content/renderer/phishing_classifier/phishing_classifier.h -@@ -23,6 +23,7 @@ - #include <memory> - #include <set> - #include <string> -+#include <vector> - - #include "base/callback.h" - #include "base/macros.h" diff --git a/www-client/chromium/files/chromium-93-pwdmgr-include-r1.patch b/www-client/chromium/files/chromium-93-pwdmgr-include-r1.patch deleted file mode 100644 index 6721b8b..0000000 --- a/www-client/chromium/files/chromium-93-pwdmgr-include-r1.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/components/password_manager/core/browser/hash_password_manager.h b/components/password_manager/core/browser/hash_password_manager.h -index c762c5a8c..85e656edc 100644 ---- a/components/password_manager/core/browser/hash_password_manager.h -+++ b/components/password_manager/core/browser/hash_password_manager.h -@@ -6,6 +6,7 @@ - #define COMPONENTS_PASSWORD_MANAGER_CORE_BROWSER_HASH_PASSWORD_MANAGER_H_ - - #include <string> -+#include <vector> - - #include "base/callback.h" - #include "base/callback_list.h" diff --git a/www-client/chromium/files/chromium-93-pwdmgr-include.patch b/www-client/chromium/files/chromium-93-pwdmgr-include.patch deleted file mode 100644 index 041be9f..0000000 --- a/www-client/chromium/files/chromium-93-pwdmgr-include.patch +++ /dev/null @@ -1,25 +0,0 @@ -diff --git a/components/password_manager/core/browser/field_info_table.h b/components/password_manager/core/browser/field_info_table.h -index fb6d84005..e4c88aab3 100644 ---- a/components/password_manager/core/browser/field_info_table.h -+++ b/components/password_manager/core/browser/field_info_table.h -@@ -5,6 +5,8 @@ - #ifndef COMPONENTS_PASSWORD_MANAGER_CORE_BROWSER_FIELD_INFO_TABLE_H_ - #define COMPONENTS_PASSWORD_MANAGER_CORE_BROWSER_FIELD_INFO_TABLE_H_ - -+#include <vector> -+ - #include "base/macros.h" - #include "base/time/time.h" - #include "components/autofill/core/browser/field_types.h" -diff --git a/components/password_manager/core/browser/hash_password_manager.h b/components/password_manager/core/browser/hash_password_manager.h -index c762c5a8c..85e656edc 100644 ---- a/components/password_manager/core/browser/hash_password_manager.h -+++ b/components/password_manager/core/browser/hash_password_manager.h -@@ -6,6 +6,7 @@ - #define COMPONENTS_PASSWORD_MANAGER_CORE_BROWSER_HASH_PASSWORD_MANAGER_H_ - - #include <string> -+#include <vector> - - #include "base/callback.h" - #include "base/callback_list.h" diff --git a/www-client/chromium/files/chromium-93-quiche-logging-include.patch b/www-client/chromium/files/chromium-93-quiche-logging-include.patch deleted file mode 100644 index 405a6ae..0000000 --- a/www-client/chromium/files/chromium-93-quiche-logging-include.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/net/third_party/quiche/overrides/quiche_platform_impl/quiche_logging_impl.h b/net/third_party/quiche/overrides/quiche_platform_impl/quiche_logging_impl.h -index 8ff5e27f8..326ed9307 100644 ---- a/net/third_party/quiche/overrides/quiche_platform_impl/quiche_logging_impl.h -+++ b/net/third_party/quiche/overrides/quiche_platform_impl/quiche_logging_impl.h -@@ -5,6 +5,8 @@ - #ifndef NET_THIRD_PARTY_QUICHE_OVERRIDES_QUICHE_PLATFORM_IMPL_QUICHE_LOGGING_IMPL_H_ - #define NET_THIRD_PARTY_QUICHE_OVERRIDES_QUICHE_PLATFORM_IMPL_QUICHE_LOGGING_IMPL_H_ - -+#include <vector> -+ - #include "base/check_op.h" - #include "base/logging.h" - #include "base/notreached.h" diff --git a/www-client/chromium/files/chromium-93-site_settings_helper-initialzation.patch b/www-client/chromium/files/chromium-93-site_settings_helper-initialzation.patch deleted file mode 100644 index 6551b31..0000000 --- a/www-client/chromium/files/chromium-93-site_settings_helper-initialzation.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 7ef6d4ad7ddc7f0c4124bc538c4bd3a8efdd37cd Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann <stha09@googlemail.com> -Date: Fri, 4 Jun 2021 06:52:30 +0000 -Subject: [PATCH] GCC: fix brace-initialization with NoDestructor - -GCC requires brace-initialization for NoDestructor and -std::vector<T> for base_types. Therefore change to double -brace-initialzation. ---- - chrome/browser/ui/webui/settings/site_settings_helper.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/browser/ui/webui/settings/site_settings_helper.cc -index 7831684..4478800 100644 ---- a/chrome/browser/ui/webui/settings/site_settings_helper.cc -+++ b/chrome/browser/ui/webui/settings/site_settings_helper.cc -@@ -410,7 +410,7 @@ const std::vector<ContentSettingsType>& GetVisiblePermissionCategories() { - // First build the list of permissions that will be shown regardless of - // `origin`. Some categories such as COOKIES store their data in a custom way, - // so are not included here. -- static base::NoDestructor<std::vector<ContentSettingsType>> base_types({ -+ static base::NoDestructor<std::vector<ContentSettingsType>> base_types{{ - ContentSettingsType::AR, ContentSettingsType::AUTOMATIC_DOWNLOADS, - ContentSettingsType::BACKGROUND_SYNC, - ContentSettingsType::CLIPBOARD_READ_WRITE, -@@ -429,7 +429,7 @@ const std::vector<ContentSettingsType>& GetVisiblePermissionCategories() { - ContentSettingsType::SENSORS, ContentSettingsType::SERIAL_GUARD, - ContentSettingsType::SOUND, ContentSettingsType::USB_GUARD, - ContentSettingsType::VR, -- }); -+ }}; - static bool initialized = false; - if (!initialized) { - // The permission categories in this block are only shown when running with --- -2.31.1 - diff --git a/www-client/chromium/files/chromium-93-sms-fetcher-include.patch b/www-client/chromium/files/chromium-93-sms-fetcher-include.patch deleted file mode 100644 index 91d92de..0000000 --- a/www-client/chromium/files/chromium-93-sms-fetcher-include.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff --git a/chrome/browser/sharing/sms/sms_remote_fetcher.h b/chrome/browser/sharing/sms/sms_remote_fetcher.h -index 2cbe6acdd..678c1b2e5 100644 ---- a/chrome/browser/sharing/sms/sms_remote_fetcher.h -+++ b/chrome/browser/sharing/sms/sms_remote_fetcher.h -@@ -6,6 +6,7 @@ - #define CHROME_BROWSER_SHARING_SMS_SMS_REMOTE_FETCHER_H_ - - #include <string> -+#include <vector> - - #include "base/callback.h" - #include "third_party/abseil-cpp/absl/types/optional.h" -diff --git a/content/public/browser/sms_fetcher.h b/content/public/browser/sms_fetcher.h -index 13f683243..983d81891 100644 ---- a/content/public/browser/sms_fetcher.h -+++ b/content/public/browser/sms_fetcher.h -@@ -6,6 +6,7 @@ - #define CONTENT_PUBLIC_BROWSER_SMS_FETCHER_H_ - - #include <string> -+#include <vector> - - #include "base/observer_list_types.h" - #include "content/common/content_export.h" diff --git a/www-client/chromium/files/chromium-93-sql-virtual-cursor.patch b/www-client/chromium/files/chromium-93-sql-virtual-cursor.patch deleted file mode 100644 index a4864ba..0000000 --- a/www-client/chromium/files/chromium-93-sql-virtual-cursor.patch +++ /dev/null @@ -1,231 +0,0 @@ -From 80368f8ba7a8bab13440463a254888311efe3986 Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann <stha09@googlemail.com> -Date: Tue, 04 May 2021 15:00:19 +0000 -Subject: [PATCH] sql: make VirtualCursor standard layout type - -sql::recover::VirtualCursor needs to be a standard layout type, but -has members of type std::unique_ptr. However, std::unique_ptr is not -guaranteed to be standard layout. Compiling with clang combined with -gcc-11 libstdc++ fails because of this. Replace std::unique_ptr with -raw pointers. - -Bug: 1189788 -Change-Id: Ia6dc388cc5ef1c0f2afc75f8ca45b9f12687ca9c ---- - -diff --git a/sql/recover_module/btree.cc b/sql/recover_module/btree.cc -index 9ecaafe..839318a 100644 ---- a/sql/recover_module/btree.cc -+++ b/sql/recover_module/btree.cc -@@ -135,16 +135,25 @@ - "Move the destructor to the .cc file if it's non-trival"); - #endif // !DCHECK_IS_ON() - --LeafPageDecoder::LeafPageDecoder(DatabasePageReader* db_reader) noexcept -- : page_id_(db_reader->page_id()), -- db_reader_(db_reader), -- cell_count_(ComputeCellCount(db_reader)), -- next_read_index_(0), -- last_record_size_(0) { -+void LeafPageDecoder::Initialize(DatabasePageReader* db_reader) { -+ DCHECK(db_reader); - DCHECK(IsOnValidPage(db_reader)); -+ page_id_ = db_reader->page_id(); -+ db_reader_ = db_reader; -+ cell_count_ = ComputeCellCount(db_reader); -+ next_read_index_ = 0; -+ last_record_size_ = 0; - DCHECK(DatabasePageReader::IsValidPageId(page_id_)); - } - -+void LeafPageDecoder::Reset() { -+ db_reader_ = nullptr; -+ page_id_ = 0; -+ cell_count_ = 0; -+ next_read_index_ = 0; -+ last_record_size_ = 0; -+} -+ - bool LeafPageDecoder::TryAdvance() { - DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); - DCHECK(CanAdvance()); -diff --git a/sql/recover_module/btree.h b/sql/recover_module/btree.h -index d76d076..33114b0 100644 ---- a/sql/recover_module/btree.h -+++ b/sql/recover_module/btree.h -@@ -102,7 +102,7 @@ - // - // |db_reader| must have been used to read an inner page of a table B-tree. - // |db_reader| must outlive this instance. -- explicit LeafPageDecoder(DatabasePageReader* db_reader) noexcept; -+ explicit LeafPageDecoder() noexcept = default; - ~LeafPageDecoder() noexcept = default; - - LeafPageDecoder(const LeafPageDecoder&) = delete; -@@ -150,6 +150,15 @@ - // read as long as CanAdvance() returns true. - bool TryAdvance(); - -+ // Initialize with DatabasePageReader -+ void Initialize(DatabasePageReader* db_reader); -+ -+ // Reset internal DatabasePageReader -+ void Reset(); -+ -+ // True if DatabasePageReader is valid -+ bool IsValid() { return (db_reader_ != nullptr); } -+ - // True if the given reader may point to an inner page in a table B-tree. - // - // The last ReadPage() call on |db_reader| must have succeeded. -@@ -163,14 +172,14 @@ - static int ComputeCellCount(DatabasePageReader* db_reader); - - // The number of the B-tree page this reader is reading. -- const int64_t page_id_; -+ int64_t page_id_; - // Used to read the tree page. - // - // Raw pointer usage is acceptable because this instance's owner is expected - // to ensure that the DatabasePageReader outlives this. -- DatabasePageReader* const db_reader_; -+ DatabasePageReader* db_reader_; - // Caches the ComputeCellCount() value for this reader's page. -- const int cell_count_ = ComputeCellCount(db_reader_); -+ int cell_count_; - - // The reader's cursor state. - // -diff --git a/sql/recover_module/cursor.cc b/sql/recover_module/cursor.cc -index 0029ff9..42548bc 100644 ---- a/sql/recover_module/cursor.cc -+++ b/sql/recover_module/cursor.cc -@@ -26,7 +26,7 @@ - int VirtualCursor::First() { - DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); - inner_decoders_.clear(); -- leaf_decoder_ = nullptr; -+ leaf_decoder_.Reset(); - - AppendPageDecoder(table_->root_page_id()); - return Next(); -@@ -36,18 +36,18 @@ - DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); - record_reader_.Reset(); - -- while (!inner_decoders_.empty() || leaf_decoder_.get()) { -- if (leaf_decoder_.get()) { -- if (!leaf_decoder_->CanAdvance()) { -+ while (!inner_decoders_.empty() || leaf_decoder_.IsValid()) { -+ if (leaf_decoder_.IsValid()) { -+ if (!leaf_decoder_.CanAdvance()) { - // The leaf has been exhausted. Remove it from the DFS stack. -- leaf_decoder_ = nullptr; -+ leaf_decoder_.Reset(); - continue; - } -- if (!leaf_decoder_->TryAdvance()) -+ if (!leaf_decoder_.TryAdvance()) - continue; - -- if (!payload_reader_.Initialize(leaf_decoder_->last_record_size(), -- leaf_decoder_->last_record_offset())) { -+ if (!payload_reader_.Initialize(leaf_decoder_.last_record_size(), -+ leaf_decoder_.last_record_offset())) { - continue; - } - if (!record_reader_.Initialize()) -@@ -99,13 +99,13 @@ - int64_t VirtualCursor::RowId() { - DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); - DCHECK(record_reader_.IsInitialized()); -- DCHECK(leaf_decoder_.get()); -- return leaf_decoder_->last_record_rowid(); -+ DCHECK(leaf_decoder_.IsValid()); -+ return leaf_decoder_.last_record_rowid(); - } - - void VirtualCursor::AppendPageDecoder(int page_id) { - DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); -- DCHECK(leaf_decoder_.get() == nullptr) -+ DCHECK(!leaf_decoder_.IsValid()) - << __func__ - << " must only be called when the current path has no leaf decoder"; - -@@ -113,7 +113,7 @@ - return; - - if (LeafPageDecoder::IsOnValidPage(&db_reader_)) { -- leaf_decoder_ = std::make_unique<LeafPageDecoder>(&db_reader_); -+ leaf_decoder_.Initialize(&db_reader_); - return; - } - -diff --git a/sql/recover_module/cursor.h b/sql/recover_module/cursor.h -index afcd690..b15c31d 100644 ---- a/sql/recover_module/cursor.h -+++ b/sql/recover_module/cursor.h -@@ -129,7 +129,7 @@ - std::vector<std::unique_ptr<InnerPageDecoder>> inner_decoders_; - - // Decodes the leaf page containing records. -- std::unique_ptr<LeafPageDecoder> leaf_decoder_; -+ LeafPageDecoder leaf_decoder_; - - SEQUENCE_CHECKER(sequence_checker_); - }; -diff --git a/sql/recover_module/pager.cc b/sql/recover_module/pager.cc -index 58e75de..5fe9620 100644 ---- a/sql/recover_module/pager.cc -+++ b/sql/recover_module/pager.cc -@@ -23,8 +23,7 @@ - "ints are not appropriate for representing page IDs"); - - DatabasePageReader::DatabasePageReader(VirtualTable* table) -- : page_data_(std::make_unique<uint8_t[]>(table->page_size())), -- table_(table) { -+ : page_data_(), table_(table) { - DCHECK(table != nullptr); - DCHECK(IsValidPageSize(table->page_size())); - } -@@ -57,8 +56,8 @@ - std::numeric_limits<int64_t>::max(), - "The |read_offset| computation above may overflow"); - -- int sqlite_status = -- RawRead(sqlite_file, read_size, read_offset, page_data_.get()); -+ int sqlite_status = RawRead(sqlite_file, read_size, read_offset, -+ const_cast<uint8_t*>(page_data_.data())); - - // |page_id_| needs to be set to kInvalidPageId if the read failed. - // Otherwise, future ReadPage() calls with the previous |page_id_| value -diff --git a/sql/recover_module/pager.h b/sql/recover_module/pager.h -index 0e388ddc..99314e3 100644 ---- a/sql/recover_module/pager.h -+++ b/sql/recover_module/pager.h -@@ -5,6 +5,7 @@ - #ifndef SQL_RECOVER_MODULE_PAGER_H_ - #define SQL_RECOVER_MODULE_PAGER_H_ - -+#include <array> - #include <cstdint> - #include <memory> - -@@ -70,7 +71,7 @@ - DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); - DCHECK_NE(page_id_, kInvalidPageId) - << "Successful ReadPage() required before accessing pager state"; -- return page_data_.get(); -+ return page_data_.data(); - } - - // The number of bytes in the page read by the last ReadPage() call. -@@ -137,7 +138,7 @@ - int page_id_ = kInvalidPageId; - // Stores the bytes of the last page successfully read by ReadPage(). - // The content is undefined if the last call to ReadPage() did not succeed. -- const std::unique_ptr<uint8_t[]> page_data_; -+ const std::array<uint8_t, kMaxPageSize> page_data_; - // Raw pointer usage is acceptable because this instance's owner is expected - // to ensure that the VirtualTable outlives this. - VirtualTable* const table_; diff --git a/www-client/chromium/files/chromium-93-tint-include.patch b/www-client/chromium/files/chromium-93-tint-include.patch deleted file mode 100644 index 4bfd448..0000000 --- a/www-client/chromium/files/chromium-93-tint-include.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 014e1fb4c7d05f853a24bfa4b4188b99ba9f3907 Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann <stha09@googlemail.com> -Date: Fri, 4 Jun 2021 21:11:05 +0000 -Subject: [PATCH] IWYU: add cstddef for size_t - ---- - third_party/dawn/third_party/tint/src/sem/block_statement.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/third_party/dawn/third_party/tint/src/sem/block_statement.h b/third_party/dawn/third_party/tint/src/sem/block_statement.h -index f8c8113..9cbd64d 100644 ---- a/third_party/dawn/third_party/tint/src/sem/block_statement.h -+++ b/third_party/dawn/third_party/tint/src/sem/block_statement.h -@@ -15,6 +15,7 @@ - #ifndef SRC_SEM_BLOCK_STATEMENT_H_ - #define SRC_SEM_BLOCK_STATEMENT_H_ - -+#include <cstddef> - #include <vector> - - #include "src/sem/statement.h" --- -2.31.1 - diff --git a/www-client/chromium/files/chromium-93-ui-event-include.patch b/www-client/chromium/files/chromium-93-ui-event-include.patch deleted file mode 100644 index 8431b6b..0000000 --- a/www-client/chromium/files/chromium-93-ui-event-include.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/ui/events/event_handler.h b/ui/events/event_handler.h -index 3870be355..81ebc0e7f 100644 ---- a/ui/events/event_handler.h -+++ b/ui/events/event_handler.h -@@ -5,6 +5,8 @@ - #ifndef UI_EVENTS_EVENT_HANDLER_H_ - #define UI_EVENTS_EVENT_HANDLER_H_ - -+#include <vector> -+ - #include "base/containers/stack.h" - #include "base/strings/string_piece.h" - #include "ui/events/events_export.h" diff --git a/www-client/chromium/files/chromium-93-url-loader-throttles-include.patch b/www-client/chromium/files/chromium-93-url-loader-throttles-include.patch deleted file mode 100644 index d4be13f..0000000 --- a/www-client/chromium/files/chromium-93-url-loader-throttles-include.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/content/public/browser/url_loader_throttles.h b/content/public/browser/url_loader_throttles.h -index 0e67d38f7..aa0290118 100644 ---- a/content/public/browser/url_loader_throttles.h -+++ b/content/public/browser/url_loader_throttles.h -@@ -5,6 +5,8 @@ - #ifndef CONTENT_PUBLIC_BROWSER_URL_LOADER_THROTTLES_H_ - #define CONTENT_PUBLIC_BROWSER_URL_LOADER_THROTTLES_H_ - -+#include <vector> -+ - #include "base/callback.h" - #include "content/common/content_export.h" - diff --git a/www-client/chromium/files/chromium-93-webapp-include.patch b/www-client/chromium/files/chromium-93-webapp-include.patch deleted file mode 100644 index 39f6058..0000000 --- a/www-client/chromium/files/chromium-93-webapp-include.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/chrome/browser/web_applications/components/web_app_shortcut_linux.h b/chrome/browser/web_applications/components/web_app_shortcut_linux.h -index 4f1e5b93e..3d28e8b52 100644 ---- a/chrome/browser/web_applications/components/web_app_shortcut_linux.h -+++ b/chrome/browser/web_applications/components/web_app_shortcut_linux.h -@@ -6,6 +6,7 @@ - #define CHROME_BROWSER_WEB_APPLICATIONS_COMPONENTS_WEB_APP_SHORTCUT_LINUX_H_ - - #include <string> -+#include <vector> - - #include "base/callback.h" - diff --git a/www-client/chromium/files/chromium-93-worksp-ext-include.patch b/www-client/chromium/files/chromium-93-worksp-ext-include.patch deleted file mode 100644 index c91b9b2..0000000 --- a/www-client/chromium/files/chromium-93-worksp-ext-include.patch +++ /dev/null @@ -1,37 +0,0 @@ -diff --git a/device/bluetooth/bluetooth_low_energy_scan_filter.h b/device/bluetooth/bluetooth_low_energy_scan_filter.h -index 0af0b3108..cfec68cb1 100644 ---- a/device/bluetooth/bluetooth_low_energy_scan_filter.h -+++ b/device/bluetooth/bluetooth_low_energy_scan_filter.h -@@ -7,6 +7,7 @@ - - #include <stddef.h> - #include <stdint.h> -+#include <memory> - #include <vector> - - #include "base/time/time.h" -diff --git a/ui/base/class_property.h b/ui/base/class_property.h -index f7b2f5598..88b49386a 100644 ---- a/ui/base/class_property.h -+++ b/ui/base/class_property.h -@@ -8,6 +8,7 @@ - #include <stdint.h> - - #include <map> -+#include <memory> - #include <set> - #include <type_traits> - -diff --git a/ui/platform_window/extensions/workspace_extension.cc b/ui/platform_window/extensions/workspace_extension.cc -index b4e21e0f2..78b5d6562 100644 ---- a/ui/platform_window/extensions/workspace_extension.cc -+++ b/ui/platform_window/extensions/workspace_extension.cc -@@ -4,6 +4,8 @@ - - #include "ui/platform_window/extensions/workspace_extension.h" - -+#include <memory> -+ - #include "ui/base/class_property.h" - #include "ui/platform_window/platform_window.h" - diff --git a/www-client/chromium/files/chromium-94-ConversionStorageSql-lambda.patch b/www-client/chromium/files/chromium-94-ConversionStorageSql-lambda.patch deleted file mode 100644 index 6746fec..0000000 --- a/www-client/chromium/files/chromium-94-ConversionStorageSql-lambda.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 45bea088d3771c7ff9f77173e451422452c031b3 Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann <stha09@googlemail.com> -Date: Mon, 02 Aug 2021 16:57:05 +0000 -Subject: [PATCH] GCC: drop WARN_USED_RESULT in lambda in ConversionStorageSql - -GCC 9.3 only allows GNU attributes between [] and () in lambda -expressions. See https://gcc.gnu.org/PR90333 for details. However, -clang only allows attributes after () only. Seems not strictly -necessary to enforce the attribute here. - -Bug: 819294 -Change-Id: I342deb25239837dea0f6f5e7709b1467789e342b ---- - -diff --git a/content/browser/conversions/conversion_storage_sql.cc b/content/browser/conversions/conversion_storage_sql.cc -index 84bc897..b6fc4e9 100644 ---- a/content/browser/conversions/conversion_storage_sql.cc -+++ b/content/browser/conversions/conversion_storage_sql.cc -@@ -688,9 +688,11 @@ - bool ConversionStorageSql::DeleteExpiredImpressions() { - const int kMaxDeletesPerBatch = 100; - -+ // GCC accepts attribute between [] and () only -+ // clang accepts attribute after () only - auto delete_impressions_from_paged_select = - [this](sql::Statement& statement) -- VALID_CONTEXT_REQUIRED(sequence_checker_) WARN_UNUSED_RESULT -> bool { -+ VALID_CONTEXT_REQUIRED(sequence_checker_) -> bool { - while (true) { - std::vector<int64_t> impression_ids; - while (statement.Step()) { diff --git a/www-client/chromium/files/chromium-94-CustomSpaces-include.patch b/www-client/chromium/files/chromium-94-CustomSpaces-include.patch deleted file mode 100644 index 0175775..0000000 --- a/www-client/chromium/files/chromium-94-CustomSpaces-include.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 4eeacdaa57b29a079fe09315eb22557c06aa522e Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann <stha09@googlemail.com> -Date: Fri, 13 Aug 2021 12:57:42 +0000 -Subject: [PATCH] IWYU: add memory for std::unique_ptr in blink::CustomSpaces - ---- - .../blink/renderer/platform/heap/v8_wrapper/custom_spaces.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/third_party/blink/renderer/platform/heap/v8_wrapper/custom_spaces.h b/third_party/blink/renderer/platform/heap/v8_wrapper/custom_spaces.h -index df0465a..640cb33 100644 ---- a/third_party/blink/renderer/platform/heap/v8_wrapper/custom_spaces.h -+++ b/third_party/blink/renderer/platform/heap/v8_wrapper/custom_spaces.h -@@ -5,6 +5,7 @@ - #ifndef THIRD_PARTY_BLINK_RENDERER_PLATFORM_HEAP_V8_WRAPPER_CUSTOM_SPACES_H_ - #define THIRD_PARTY_BLINK_RENDERER_PLATFORM_HEAP_V8_WRAPPER_CUSTOM_SPACES_H_ - -+#include <memory> - #include <vector> - - #include "third_party/blink/renderer/platform/platform_export.h" --- -2.31.1 - diff --git a/www-client/chromium/files/chromium-94-compiler.patch b/www-client/chromium/files/chromium-94-compiler.patch deleted file mode 100644 index 2b63b3b..0000000 --- a/www-client/chromium/files/chromium-94-compiler.patch +++ /dev/null @@ -1,218 +0,0 @@ -From f4d0b0eb899005b4b8b6388e1d8bb82cc0018fc8 Mon Sep 17 00:00:00 2001 -From: Mike Gilbert <floppym@gentoo.org> -Date: Sun, 8 Aug 2021 08:50:00 +0000 -Subject: [PATCH] Disable various compiler configs - ---- - build/config/compiler/BUILD.gn | 105 ++++++--------------------------- - 1 file changed, 17 insertions(+), 88 deletions(-) - -diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn -index 0bb155a..e95c023 100644 ---- a/build/config/compiler/BUILD.gn -+++ b/build/config/compiler/BUILD.gn -@@ -291,8 +291,6 @@ config("compiler") { - - configs += [ - # See the definitions below. -- ":clang_revision", -- ":compiler_cpu_abi", - ":compiler_codegen", - ":compiler_deterministic", - ] -@@ -530,31 +528,6 @@ config("compiler") { - ldflags += [ "-Wl,-z,keep-text-section-prefix" ] - } - -- if (is_clang && !is_nacl && !use_xcode_clang) { -- cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ] -- -- # TODO(hans): Remove this once Clang generates better optimized debug info -- # by default. https://crbug.com/765793 -- cflags += [ -- "-mllvm", -- "-instcombine-lower-dbg-declare=0", -- ] -- if (!is_debug && use_thin_lto && is_a_target_toolchain) { -- if (is_win) { -- ldflags += [ "-mllvm:-instcombine-lower-dbg-declare=0" ] -- } else { -- ldflags += [ "-Wl,-mllvm,-instcombine-lower-dbg-declare=0" ] -- } -- } -- -- # TODO(crbug.com/1235145): Investigate why/if this should be needed. -- if (is_win) { -- cflags += [ "/clang:-ffp-contract=off" ] -- } else { -- cflags += [ "-ffp-contract=off" ] -- } -- } -- - # C11/C++11 compiler flags setup. - # --------------------------- - if (is_linux || is_chromeos || is_android || (is_nacl && is_clang) || -@@ -1216,45 +1189,6 @@ config("compiler_deterministic") { - } - } - -- # Makes builds independent of absolute file path. -- if (is_clang && strip_absolute_paths_from_debug_symbols) { -- # If debug option is given, clang includes $cwd in debug info by default. -- # For such build, this flag generates reproducible obj files even we use -- # different build directory like "out/feature_a" and "out/feature_b" if -- # we build same files with same compile flag. -- # Other paths are already given in relative, no need to normalize them. -- if (is_nacl) { -- # TODO(https://crbug.com/1231236): Use -ffile-compilation-dir= here. -- cflags += [ -- "-Xclang", -- "-fdebug-compilation-dir", -- "-Xclang", -- ".", -- ] -- } else { -- # -ffile-compilation-dir is an alias for both -fdebug-compilation-dir= -- # and -fcoverage-compilation-dir=. -- cflags += [ "-ffile-compilation-dir=." ] -- } -- if (!is_win) { -- # We don't use clang -cc1as on Windows (yet? https://crbug.com/762167) -- asmflags = [ "-Wa,-fdebug-compilation-dir,." ] -- } -- -- if (is_win && use_lld) { -- if (symbol_level == 2 || (is_clang && using_sanitizer)) { -- # Absolutize source file paths for PDB. Pass the real build directory -- # if the pdb contains source-level debug information and if linker -- # reproducibility is not critical. -- ldflags += [ "/PDBSourcePath:" + rebase_path(root_build_dir) ] -- } else { -- # Use a fake fixed base directory for paths in the pdb to make the pdb -- # output fully deterministic and independent of the build directory. -- ldflags += [ "/PDBSourcePath:o:\fake\prefix" ] -- } -- } -- } -- - # Tells the compiler not to use absolute paths when passing the default - # paths to the tools it invokes. We don't want this because we don't - # really need it and it can mess up the goma cache entries. -@@ -1658,7 +1592,7 @@ config("chromium_code") { - defines = [ "_HAS_NODISCARD" ] - } - } else { -- cflags = [ "-Wall" ] -+ cflags = [] - if (treat_warnings_as_errors) { - cflags += [ "-Werror" ] - -@@ -1667,10 +1601,6 @@ config("chromium_code") { - # well. - ldflags = [ "-Werror" ] - } -- if (is_clang) { -- # Enable extra warnings for chromium_code when we control the compiler. -- cflags += [ "-Wextra" ] -- } - - # In Chromium code, we define __STDC_foo_MACROS in order to get the - # C99 macros on Mac and Linux. -@@ -1679,15 +1609,6 @@ config("chromium_code") { - "__STDC_FORMAT_MACROS", - ] - -- if (!is_debug && !using_sanitizer && current_cpu != "s390x" && -- current_cpu != "s390" && current_cpu != "ppc64" && -- current_cpu != "mips" && current_cpu != "mips64") { -- # Non-chromium code is not guaranteed to compile cleanly with -- # _FORTIFY_SOURCE. Also, fortified build may fail when optimizations are -- # disabled, so only do that for Release build. -- defines += [ "_FORTIFY_SOURCE=2" ] -- } -- - if (is_mac) { - cflags_objc = [ "-Wobjc-missing-property-synthesis" ] - cflags_objcc = [ "-Wobjc-missing-property-synthesis" ] -@@ -2077,7 +1998,8 @@ config("default_stack_frames") { - } - - # Default "optimization on" config. --config("optimize") { -+config("optimize") { } -+config("xoptimize") { - if (is_win) { - if (chrome_pgo_phase != 2) { - # Favor size over speed, /O1 must be before the common flags. -@@ -2112,7 +2034,8 @@ config("optimize") { - } - - # Turn off optimizations. --config("no_optimize") { -+config("no_optimize") { } -+config("xno_optimize") { - if (is_win) { - cflags = [ - "/Od", # Disable optimization. -@@ -2152,7 +2075,8 @@ config("no_optimize") { - # Turns up the optimization level. On Windows, this implies whole program - # optimization and link-time code generation which is very expensive and should - # be used sparingly. --config("optimize_max") { -+config("optimize_max") { } -+config("xoptimize_max") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2184,7 +2108,8 @@ config("optimize_max") { - # - # TODO(crbug.com/621335) - rework how all of these configs are related - # so that we don't need this disclaimer. --config("optimize_speed") { -+config("optimize_speed") { } -+config("xoptimize_speed") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2209,7 +2134,8 @@ config("optimize_speed") { - } - } - --config("optimize_fuzzing") { -+config("optimize_fuzzing") { } -+config("xoptimize_fuzzing") { - cflags = [ "-O1" ] + common_optimize_on_cflags - ldflags = common_optimize_on_ldflags - visibility = [ ":default_optimization" ] -@@ -2328,7 +2254,8 @@ config("win_pdbaltpath") { - } - - # Full symbols. --config("symbols") { -+config("symbols") { } -+config("xsymbols") { - if (is_win) { - if (is_clang) { - cflags = [ "/Z7" ] # Debug information in the .obj files. -@@ -2431,7 +2358,8 @@ config("symbols") { - # Minimal symbols. - # This config guarantees to hold symbol for stack trace which are shown to user - # when crash happens in unittests running on buildbot. --config("minimal_symbols") { -+config("minimal_symbols") { } -+config("xminimal_symbols") { - if (is_win) { - # Functions, files, and line tables only. - cflags = [] -@@ -2496,7 +2424,8 @@ config("minimal_symbols") { - # This configuration contains function names only. That is, the compiler is - # told to not generate debug information and the linker then just puts function - # names in the final debug information. --config("no_symbols") { -+config("no_symbols") { } -+config("xno_symbols") { - if (is_win) { - ldflags = [ "/DEBUG" ] - --- -2.31.1 diff --git a/www-client/chromium/files/chromium-94-sql-virtual-cursor.patch b/www-client/chromium/files/chromium-94-sql-virtual-cursor.patch deleted file mode 100644 index 47b276d..0000000 --- a/www-client/chromium/files/chromium-94-sql-virtual-cursor.patch +++ /dev/null @@ -1,216 +0,0 @@ -diff --git a/sql/recover_module/btree.cc b/sql/recover_module/btree.cc -index cc9420e5c..62fcaaf79 100644 ---- a/sql/recover_module/btree.cc -+++ b/sql/recover_module/btree.cc -@@ -136,16 +136,25 @@ static_assert(std::is_trivially_destructible<LeafPageDecoder>::value, - "Move the destructor to the .cc file if it's non-trival"); - #endif // !DCHECK_IS_ON() - --LeafPageDecoder::LeafPageDecoder(DatabasePageReader* db_reader) noexcept -- : page_id_(db_reader->page_id()), -- db_reader_(db_reader), -- cell_count_(ComputeCellCount(db_reader)), -- next_read_index_(0), -- last_record_size_(0) { -+void LeafPageDecoder::Initialize(DatabasePageReader* db_reader) { -+ DCHECK(db_reader); - DCHECK(IsOnValidPage(db_reader)); -+ page_id_ = db_reader->page_id(); -+ db_reader_ = db_reader; -+ cell_count_ = ComputeCellCount(db_reader); -+ next_read_index_ = 0; -+ last_record_size_ = 0; - DCHECK(DatabasePageReader::IsValidPageId(page_id_)); - } - -+void LeafPageDecoder::Reset() { -+ db_reader_ = nullptr; -+ page_id_ = 0; -+ cell_count_ = 0; -+ next_read_index_ = 0; -+ last_record_size_ = 0; -+} -+ - bool LeafPageDecoder::TryAdvance() { - DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); - DCHECK(CanAdvance()); -diff --git a/sql/recover_module/btree.h b/sql/recover_module/btree.h -index eaa087a5c..78ce00e05 100644 ---- a/sql/recover_module/btree.h -+++ b/sql/recover_module/btree.h -@@ -103,7 +103,7 @@ class LeafPageDecoder { - // - // |db_reader| must have been used to read an inner page of a table B-tree. - // |db_reader| must outlive this instance. -- explicit LeafPageDecoder(DatabasePageReader* db_reader) noexcept; -+ explicit LeafPageDecoder() noexcept = default; - ~LeafPageDecoder() noexcept = default; - - LeafPageDecoder(const LeafPageDecoder&) = delete; -@@ -151,6 +151,15 @@ class LeafPageDecoder { - // read as long as CanAdvance() returns true. - bool TryAdvance(); - -+ // Initialize with DatabasePageReader -+ void Initialize(DatabasePageReader* db_reader); -+ -+ // Reset internal DatabasePageReader -+ void Reset(); -+ -+ // True if DatabasePageReader is valid -+ bool IsValid() { return (db_reader_ != nullptr); } -+ - // True if the given reader may point to an inner page in a table B-tree. - // - // The last ReadPage() call on |db_reader| must have succeeded. -@@ -164,14 +173,14 @@ class LeafPageDecoder { - static int ComputeCellCount(DatabasePageReader* db_reader); - - // The number of the B-tree page this reader is reading. -- const int64_t page_id_; -+ int64_t page_id_; - // Used to read the tree page. - // - // Raw pointer usage is acceptable because this instance's owner is expected - // to ensure that the DatabasePageReader outlives this. -- DatabasePageReader* const db_reader_; -+ DatabasePageReader* db_reader_; - // Caches the ComputeCellCount() value for this reader's page. -- const int cell_count_ = ComputeCellCount(db_reader_); -+ int cell_count_; - - // The reader's cursor state. - // -diff --git a/sql/recover_module/cursor.cc b/sql/recover_module/cursor.cc -index 4f827edf1..240de4999 100644 ---- a/sql/recover_module/cursor.cc -+++ b/sql/recover_module/cursor.cc -@@ -28,7 +28,7 @@ VirtualCursor::~VirtualCursor() { - int VirtualCursor::First() { - DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); - inner_decoders_.clear(); -- leaf_decoder_ = nullptr; -+ leaf_decoder_.Reset(); - - AppendPageDecoder(table_->root_page_id()); - return Next(); -@@ -38,18 +38,18 @@ int VirtualCursor::Next() { - DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); - record_reader_.Reset(); - -- while (!inner_decoders_.empty() || leaf_decoder_.get()) { -- if (leaf_decoder_.get()) { -- if (!leaf_decoder_->CanAdvance()) { -+ while (!inner_decoders_.empty() || leaf_decoder_.IsValid()) { -+ if (leaf_decoder_.IsValid()) { -+ if (!leaf_decoder_.CanAdvance()) { - // The leaf has been exhausted. Remove it from the DFS stack. -- leaf_decoder_ = nullptr; -+ leaf_decoder_.Reset(); - continue; - } -- if (!leaf_decoder_->TryAdvance()) -+ if (!leaf_decoder_.TryAdvance()) - continue; - -- if (!payload_reader_.Initialize(leaf_decoder_->last_record_size(), -- leaf_decoder_->last_record_offset())) { -+ if (!payload_reader_.Initialize(leaf_decoder_.last_record_size(), -+ leaf_decoder_.last_record_offset())) { - continue; - } - if (!record_reader_.Initialize()) -@@ -101,13 +101,13 @@ int VirtualCursor::ReadColumn(int column_index, - int64_t VirtualCursor::RowId() { - DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); - DCHECK(record_reader_.IsInitialized()); -- DCHECK(leaf_decoder_.get()); -- return leaf_decoder_->last_record_rowid(); -+ DCHECK(leaf_decoder_.IsValid()); -+ return leaf_decoder_.last_record_rowid(); - } - - void VirtualCursor::AppendPageDecoder(int page_id) { - DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); -- DCHECK(leaf_decoder_.get() == nullptr) -+ DCHECK(!leaf_decoder_.IsValid()) - << __func__ - << " must only be called when the current path has no leaf decoder"; - -@@ -115,7 +115,7 @@ void VirtualCursor::AppendPageDecoder(int page_id) { - return; - - if (LeafPageDecoder::IsOnValidPage(&db_reader_)) { -- leaf_decoder_ = std::make_unique<LeafPageDecoder>(&db_reader_); -+ leaf_decoder_.Initialize(&db_reader_); - return; - } - -diff --git a/sql/recover_module/cursor.h b/sql/recover_module/cursor.h -index afcd6900e..b15c31d42 100644 ---- a/sql/recover_module/cursor.h -+++ b/sql/recover_module/cursor.h -@@ -129,7 +129,7 @@ class VirtualCursor { - std::vector<std::unique_ptr<InnerPageDecoder>> inner_decoders_; - - // Decodes the leaf page containing records. -- std::unique_ptr<LeafPageDecoder> leaf_decoder_; -+ LeafPageDecoder leaf_decoder_; - - SEQUENCE_CHECKER(sequence_checker_); - }; -diff --git a/sql/recover_module/pager.cc b/sql/recover_module/pager.cc -index 58e75de27..5fe96204e 100644 ---- a/sql/recover_module/pager.cc -+++ b/sql/recover_module/pager.cc -@@ -23,8 +23,7 @@ static_assert(DatabasePageReader::kMaxPageId <= std::numeric_limits<int>::max(), - "ints are not appropriate for representing page IDs"); - - DatabasePageReader::DatabasePageReader(VirtualTable* table) -- : page_data_(std::make_unique<uint8_t[]>(table->page_size())), -- table_(table) { -+ : page_data_(), table_(table) { - DCHECK(table != nullptr); - DCHECK(IsValidPageSize(table->page_size())); - } -@@ -57,8 +56,8 @@ int DatabasePageReader::ReadPage(int page_id) { - std::numeric_limits<int64_t>::max(), - "The |read_offset| computation above may overflow"); - -- int sqlite_status = -- RawRead(sqlite_file, read_size, read_offset, page_data_.get()); -+ int sqlite_status = RawRead(sqlite_file, read_size, read_offset, -+ const_cast<uint8_t*>(page_data_.data())); - - // |page_id_| needs to be set to kInvalidPageId if the read failed. - // Otherwise, future ReadPage() calls with the previous |page_id_| value -diff --git a/sql/recover_module/pager.h b/sql/recover_module/pager.h -index 5976d2167..8dcffa3f2 100644 ---- a/sql/recover_module/pager.h -+++ b/sql/recover_module/pager.h -@@ -5,6 +5,7 @@ - #ifndef SQL_RECOVER_MODULE_PAGER_H_ - #define SQL_RECOVER_MODULE_PAGER_H_ - -+#include <array> - #include <cstdint> - #include <memory> - #include <ostream> -@@ -71,7 +72,7 @@ class DatabasePageReader { - DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); - DCHECK_NE(page_id_, kInvalidPageId) - << "Successful ReadPage() required before accessing pager state"; -- return page_data_.get(); -+ return page_data_.data(); - } - - // The number of bytes in the page read by the last ReadPage() call. -@@ -138,7 +139,7 @@ class DatabasePageReader { - int page_id_ = kInvalidPageId; - // Stores the bytes of the last page successfully read by ReadPage(). - // The content is undefined if the last call to ReadPage() did not succeed. -- const std::unique_ptr<uint8_t[]> page_data_; -+ const std::array<uint8_t, kMaxPageSize> page_data_; - // Raw pointer usage is acceptable because this instance's owner is expected - // to ensure that the VirtualTable outlives this. - VirtualTable* const table_; diff --git a/www-client/chromium/files/chromium-94-translate.patch b/www-client/chromium/files/chromium-94-translate.patch deleted file mode 100644 index 507e7c9..0000000 --- a/www-client/chromium/files/chromium-94-translate.patch +++ /dev/null @@ -1,98 +0,0 @@ -From 7cfc45880ce2b181c318fff2a336f655e294644f Mon Sep 17 00:00:00 2001 -From: mcrouse <mcrouse@google.com> -Date: Fri, 20 Aug 2021 17:58:16 -0700 -Subject: [PATCH] [Translate] Fix migration of deprecated pref. - -This migrates old prefs to use a default time rather than a value. - -Bug: 1241228 -Change-Id: I07efec68aa0c06b0bbb13b51657a1c60b2bfcf7e ---- - -diff --git a/components/translate/core/browser/translate_prefs.cc b/components/translate/core/browser/translate_prefs.cc -index f599ec6..375f805 100644 ---- a/components/translate/core/browser/translate_prefs.cc -+++ b/components/translate/core/browser/translate_prefs.cc -@@ -944,8 +944,7 @@ - // Migration should only be necessary once but there could still be old - // Chrome instances that sync the old preference, so do it once per - // startup. -- static bool migrated = false; -- if (migrated) -+ if (migrated_) - return; - DictionaryPrefUpdate never_prompt_list_update(prefs_, - kPrefNeverPromptSitesWithTime); -@@ -954,11 +953,16 @@ - const base::Value* list = prefs_->GetList(kPrefNeverPromptSitesDeprecated); - for (auto& site : list->GetList()) { - if (!never_prompt_list->FindKey(site.GetString())) { -- never_prompt_list->SetKey(site.GetString(), base::Value(0)); -+ never_prompt_list->SetKey(site.GetString(), -+ base::TimeToValue(base::Time::Now())); - } - } - } -- migrated = true; -+ migrated_ = true; -+} -+ -+void TranslatePrefs::ResetMigrationForTesting() { -+ migrated_ = false; - } - - bool TranslatePrefs::IsValueOnNeverPromptList(const char* pref_id, -diff --git a/components/translate/core/browser/translate_prefs.h b/components/translate/core/browser/translate_prefs.h -index b822bed..6d58fd7 100644 ---- a/components/translate/core/browser/translate_prefs.h -+++ b/components/translate/core/browser/translate_prefs.h -@@ -339,6 +339,9 @@ - - static void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry); - -+ // Reset |migrated_| to enable testing of pref migrations. -+ void ResetMigrationForTesting(); -+ - private: - FRIEND_TEST_ALL_PREFIXES(TranslatePrefsTest, - UpdateLanguageListFeatureEnabled); -@@ -356,6 +359,7 @@ - FRIEND_TEST_ALL_PREFIXES(TranslatePrefsTest, MoveLanguageUp); - FRIEND_TEST_ALL_PREFIXES(TranslatePrefsTest, MoveLanguageDown); - FRIEND_TEST_ALL_PREFIXES(TranslatePrefsTest, ResetBlockedLanguagesToDefault); -+ FRIEND_TEST_ALL_PREFIXES(TranslatePrefsTest, MigrateNeverPromptSites); - friend class TranslatePrefsTest; - - void ClearNeverPromptSiteList(); -@@ -385,6 +389,9 @@ - - std::unique_ptr<language::LanguagePrefs> language_prefs_; - -+ // Whether any deprecated prefs have been successfully migrated. -+ bool migrated_ = false; -+ - DISALLOW_COPY_AND_ASSIGN(TranslatePrefs); - }; - -diff --git a/components/translate/core/browser/translate_prefs_unittest.cc b/components/translate/core/browser/translate_prefs_unittest.cc -index 601b834..3feb232c 100644 ---- a/components/translate/core/browser/translate_prefs_unittest.cc -+++ b/components/translate/core/browser/translate_prefs_unittest.cc -@@ -931,6 +931,17 @@ - accept_languages_tester_->ExpectAcceptLanguagePrefs("en,it,es,zh,fr"); - } - -+TEST_F(TranslatePrefsTest, MigrateNeverPromptSites) { -+ translate_prefs_->AddValueToNeverPromptList( -+ TranslatePrefs::kPrefNeverPromptSitesDeprecated, "unmigrated.com"); -+ translate_prefs_->ResetMigrationForTesting(); -+ translate_prefs_->MigrateNeverPromptSites(); -+ EXPECT_EQ( -+ std::vector<std::string>({"unmigrated.com"}), -+ translate_prefs_->GetNeverPromptSitesBetween( -+ base::Time::Now() - base::TimeDelta::FromDays(1), base::Time::Max())); -+} -+ - TEST_F(TranslatePrefsTest, SiteNeverPromptList) { - translate_prefs_->AddSiteToNeverPromptList("a.com"); - base::Time t = base::Time::Now(); diff --git a/www-client/chromium/files/chromium-95-hash_traits-include.patch b/www-client/chromium/files/chromium-95-hash_traits-include.patch deleted file mode 100644 index 62e559d..0000000 --- a/www-client/chromium/files/chromium-95-hash_traits-include.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 45441a733187d7462f30b433a663ef7403990d87 Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann <stha09@googlemail.com> -Date: Fri, 3 Sep 2021 16:19:32 +0000 -Subject: [PATCH] IWYU: add string.h for memset in hash_traits - ---- - third_party/blink/renderer/platform/wtf/hash_traits.h | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/third_party/blink/renderer/platform/wtf/hash_traits.h b/third_party/blink/renderer/platform/wtf/hash_traits.h -index ca5ed2a..67d1724 100644 ---- a/third_party/blink/renderer/platform/wtf/hash_traits.h -+++ b/third_party/blink/renderer/platform/wtf/hash_traits.h -@@ -22,10 +22,13 @@ - #ifndef THIRD_PARTY_BLINK_RENDERER_PLATFORM_WTF_HASH_TRAITS_H_ - #define THIRD_PARTY_BLINK_RENDERER_PLATFORM_WTF_HASH_TRAITS_H_ - -+#include <string.h> -+ - #include <limits> - #include <memory> - #include <type_traits> - #include <utility> -+ - #include "third_party/blink/renderer/platform/wtf/allocator/allocator.h" - #include "third_party/blink/renderer/platform/wtf/forward.h" - #include "third_party/blink/renderer/platform/wtf/hash_functions.h" --- -2.32.0 - diff --git a/www-client/chromium/files/chromium-95-libyuv-aarch64.patch b/www-client/chromium/files/chromium-95-libyuv-aarch64.patch deleted file mode 100644 index 8efbaff..0000000 --- a/www-client/chromium/files/chromium-95-libyuv-aarch64.patch +++ /dev/null @@ -1,31 +0,0 @@ -diff --git a/third_party/libyuv/source/row_neon64.cc b/third_party/libyuv/source/row_neon64.cc -index 350c964..2aab413 100644 ---- a/third_party/libyuv/source/row_neon64.cc -+++ b/third_party/libyuv/source/row_neon64.cc -@@ -1835,7 +1835,7 @@ void ARGBToAB64Row_NEON(const uint8_t* src_argb, - : "+r"(src_argb), // %0 - "+r"(dst_ab64), // %1 - "+r"(width) // %2 -- : "m"(kShuffleARGBToABGR) // %3 -+ : "Q"(kShuffleARGBToABGR) // %3 - : "cc", "memory", "v0", "v1", "v2", "v3", "v4"); - } - -@@ -1859,7 +1859,7 @@ void AR64ToARGBRow_NEON(const uint16_t* src_ar64, - : "+r"(src_ar64), // %0 - "+r"(dst_argb), // %1 - "+r"(width) // %2 -- : "m"(kShuffleAR64ToARGB) // %3 -+ : "Q"(kShuffleAR64ToARGB) // %3 - : "cc", "memory", "v0", "v1", "v2", "v3", "v4"); - } - -@@ -1883,7 +1883,7 @@ void AB64ToARGBRow_NEON(const uint16_t* src_ab64, - : "+r"(src_ab64), // %0 - "+r"(dst_argb), // %1 - "+r"(width) // %2 -- : "m"(kShuffleAB64ToARGB) // %3 -+ : "Q"(kShuffleAB64ToARGB) // %3 - : "cc", "memory", "v0", "v1", "v2", "v3", "v4"); - } - diff --git a/www-client/chromium/files/chromium-95-libyuv-arm.patch b/www-client/chromium/files/chromium-95-libyuv-arm.patch deleted file mode 100644 index 25a8cdb..0000000 --- a/www-client/chromium/files/chromium-95-libyuv-arm.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/third_party/libyuv/source/row_neon.cc b/third_party/libyuv/source/row_neon.cc -index 6ef6f1c..e4a9e1e 100644 ---- a/third_party/libyuv/source/row_neon.cc -+++ b/third_party/libyuv/source/row_neon.cc -@@ -2346,7 +2346,7 @@ void ARGBToAB64Row_NEON(const uint8_t* src_argb, - uint16_t* dst_ab64, - int width) { - asm volatile( -- "vld1.8 q4, %3 \n" // shuffler -+ "vld1.8 {d8, d9}, %3 \n" // shuffler - "1: \n" - "vld1.8 {q0}, [%0]! \n" - "vld1.8 {q2}, [%0]! \n" diff --git a/www-client/chromium/files/chromium-95-text_fragments_utils-include.patch b/www-client/chromium/files/chromium-95-text_fragments_utils-include.patch deleted file mode 100644 index e2d6160..0000000 --- a/www-client/chromium/files/chromium-95-text_fragments_utils-include.patch +++ /dev/null @@ -1,37 +0,0 @@ -From f48b39ee129132337b93e905c8f304c65766742a Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann <stha09@googlemail.com> -Date: Tue, 31 Aug 2021 12:22:35 +0000 -Subject: [PATCH] IWYU: add string.h for strlen in text_fragments_utils - -Remove namespace std from strlen to avoid including cstring as well. ---- - .../shared_highlighting/core/common/text_fragments_utils.cc | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/components/shared_highlighting/core/common/text_fragments_utils.cc b/components/shared_highlighting/core/common/text_fragments_utils.cc -index 9f39ce6..389c09c 100644 ---- a/components/shared_highlighting/core/common/text_fragments_utils.cc -+++ b/components/shared_highlighting/core/common/text_fragments_utils.cc -@@ -4,6 +4,8 @@ - - #include "components/shared_highlighting/core/common/text_fragments_utils.h" - -+#include <string.h> -+ - #include <sstream> - - #include "base/json/json_writer.h" -@@ -54,8 +56,8 @@ bool SplitUrlTextFragmentDirective(const std::string& full_url, - - // We only want to keep what's after the delimiter. - *highlight_directive = -- full_url.substr(pos + std::strlen(kFragmentsUrlDelimiter) + -- std::strlen(kFragmentParameterName)); -+ full_url.substr(pos + strlen(kFragmentsUrlDelimiter) + -+ strlen(kFragmentParameterName)); - return true; - } - --- -2.31.1 - diff --git a/www-client/chromium/files/chromium-96-AppliedTextDecoration-include.patch b/www-client/chromium/files/chromium-96-AppliedTextDecoration-include.patch deleted file mode 100644 index 26b7d0b..0000000 --- a/www-client/chromium/files/chromium-96-AppliedTextDecoration-include.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 7387c3ccedb190a8d971762b89e1a75c2289537d Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann <stha09@googlemail.com> -Date: Sat, 25 Sep 2021 20:52:05 +0000 -Subject: [PATCH] IWYU: add memory for std::unique_ptr in AppliedTextDecoration - ---- - third_party/blink/renderer/core/style/applied_text_decoration.h | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/third_party/blink/renderer/core/style/applied_text_decoration.h b/third_party/blink/renderer/core/style/applied_text_decoration.h -index b79dc4d..cc050ff 100644 ---- a/third_party/blink/renderer/core/style/applied_text_decoration.h -+++ b/third_party/blink/renderer/core/style/applied_text_decoration.h -@@ -5,6 +5,8 @@ - #ifndef THIRD_PARTY_BLINK_RENDERER_CORE_STYLE_APPLIED_TEXT_DECORATION_H_ - #define THIRD_PARTY_BLINK_RENDERER_CORE_STYLE_APPLIED_TEXT_DECORATION_H_ - -+#include <memory> -+ - #include "third_party/blink/renderer/core/style/computed_style_constants.h" - #include "third_party/blink/renderer/core/style/text_decoration_thickness.h" - #include "third_party/blink/renderer/platform/geometry/length.h" --- -2.32.0 - diff --git a/www-client/chromium/files/chromium-96-EnumTable-crash.patch b/www-client/chromium/files/chromium-96-EnumTable-crash.patch deleted file mode 100644 index 9736739..0000000 --- a/www-client/chromium/files/chromium-96-EnumTable-crash.patch +++ /dev/null @@ -1,76 +0,0 @@ -diff --git a/components/cast_channel/enum_table.h b/components/cast_channel/enum_table.h -index aad9e08..2f3fcad 100644 ---- a/components/cast_channel/enum_table.h -+++ b/components/cast_channel/enum_table.h -@@ -8,6 +8,7 @@ - #include <cstdint> - #include <cstring> - #include <ostream> -+#include <vector> - - #include "base/check_op.h" - #include "base/macros.h" -@@ -188,7 +189,6 @@ class - inline constexpr GenericEnumTableEntry(int32_t value); - inline constexpr GenericEnumTableEntry(int32_t value, base::StringPiece str); - -- GenericEnumTableEntry(const GenericEnumTableEntry&) = delete; - GenericEnumTableEntry& operator=(const GenericEnumTableEntry&) = delete; - - private: -@@ -254,7 +254,6 @@ class EnumTable { - constexpr Entry(E value, base::StringPiece str) - : GenericEnumTableEntry(static_cast<int32_t>(value), str) {} - -- Entry(const Entry&) = delete; - Entry& operator=(const Entry&) = delete; - }; - -@@ -313,15 +312,14 @@ class EnumTable { - if (is_sorted_) { - const std::size_t index = static_cast<std::size_t>(value); - if (ANALYZER_ASSUME_TRUE(index < data_.size())) { -- const auto& entry = data_.begin()[index]; -+ const auto& entry = data_[index]; - if (ANALYZER_ASSUME_TRUE(entry.has_str())) - return entry.str(); - } - return absl::nullopt; - } - return GenericEnumTableEntry::FindByValue( -- reinterpret_cast<const GenericEnumTableEntry*>(data_.begin()), -- data_.size(), static_cast<int32_t>(value)); -+ &data_[0], data_.size(), static_cast<int32_t>(value)); - } - - // This overload of GetString is designed for cases where the argument is a -@@ -349,8 +347,7 @@ class EnumTable { - // enum value directly. - absl::optional<E> GetEnum(base::StringPiece str) const { - auto* entry = GenericEnumTableEntry::FindByString( -- reinterpret_cast<const GenericEnumTableEntry*>(data_.begin()), -- data_.size(), str); -+ &data_[0], data_.size(), str); - return entry ? static_cast<E>(entry->value) : absl::optional<E>(); - } - -@@ -365,7 +362,7 @@ class EnumTable { - // Align the data on a cache line boundary. - alignas(64) - #endif -- std::initializer_list<Entry> data_; -+ const std::vector<Entry> data_; - bool is_sorted_; - - constexpr EnumTable(std::initializer_list<Entry> data, bool is_sorted) -@@ -377,8 +374,8 @@ class EnumTable { - - for (std::size_t i = 0; i < data.size(); i++) { - for (std::size_t j = i + 1; j < data.size(); j++) { -- const Entry& ei = data.begin()[i]; -- const Entry& ej = data.begin()[j]; -+ const Entry& ei = data[i]; -+ const Entry& ej = data[j]; - DCHECK(ei.value != ej.value) - << "Found duplicate enum values at indices " << i << " and " << j; - DCHECK(!(ei.has_str() && ej.has_str() && ei.str() == ej.str())) diff --git a/www-client/chromium/files/chromium-96-ax_platform-list-init.patch b/www-client/chromium/files/chromium-96-ax_platform-list-init.patch deleted file mode 100644 index 49adba4..0000000 --- a/www-client/chromium/files/chromium-96-ax_platform-list-init.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/ui/accessibility/platform/ax_platform_node_auralinux.cc b/ui/accessibility/platform/ax_platform_node_auralinux.cc -index aff693dea..834c328d1 100644 ---- a/ui/accessibility/platform/ax_platform_node_auralinux.cc -+++ b/ui/accessibility/platform/ax_platform_node_auralinux.cc -@@ -5136,8 +5136,8 @@ std::pair<int, int> AXPlatformNodeAuraLinux::GetSelectionOffsetsForAtk() { - std::vector<ax::mojom::Action> AXPlatformNodeAuraLinux::GetSupportedActions() - const { - static const base::NoDestructor<std::vector<ax::mojom::Action>> -- kActionsThatCanBeExposedViaAtkAction( -- {ax::mojom::Action::kDecrement, ax::mojom::Action::kIncrement}); -+ kActionsThatCanBeExposedViaAtkAction{ -+ {ax::mojom::Action::kDecrement, ax::mojom::Action::kIncrement}}; - - // The default action is always included and exposed at the first index. - std::vector<ax::mojom::Action> supported_actions = { diff --git a/www-client/chromium/files/chromium-96-command_line-include.patch b/www-client/chromium/files/chromium-96-command_line-include.patch deleted file mode 100644 index 576943b..0000000 --- a/www-client/chromium/files/chromium-96-command_line-include.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/base/command_line.h b/base/command_line.h -index 706726a73..ad0281283 100644 ---- a/base/command_line.h -+++ b/base/command_line.h -@@ -19,6 +19,7 @@ - #include <stddef.h> - #include <functional> - #include <map> -+#include <memory> - #include <string> - #include <vector> - diff --git a/www-client/chromium/files/chromium-96-compiler.patch b/www-client/chromium/files/chromium-96-compiler.patch deleted file mode 100644 index 9b4b408..0000000 --- a/www-client/chromium/files/chromium-96-compiler.patch +++ /dev/null @@ -1,200 +0,0 @@ -diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn -index 67b7097dd..f21f7435a 100644 ---- a/build/config/compiler/BUILD.gn -+++ b/build/config/compiler/BUILD.gn -@@ -292,8 +292,6 @@ config("compiler") { - - configs += [ - # See the definitions below. -- ":clang_revision", -- ":compiler_cpu_abi", - ":compiler_codegen", - ":compiler_deterministic", - ] -@@ -532,24 +530,6 @@ config("compiler") { - ldflags += [ "-Wl,-z,keep-text-section-prefix" ] - } - -- if (is_clang && !is_nacl && !use_xcode_clang) { -- cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ] -- -- # TODO(hans): Remove this once Clang generates better optimized debug info -- # by default. https://crbug.com/765793 -- cflags += [ -- "-mllvm", -- "-instcombine-lower-dbg-declare=0", -- ] -- if (!is_debug && use_thin_lto && is_a_target_toolchain) { -- if (is_win) { -- ldflags += [ "-mllvm:-instcombine-lower-dbg-declare=0" ] -- } else { -- ldflags += [ "-Wl,-mllvm,-instcombine-lower-dbg-declare=0" ] -- } -- } -- } -- - # C11/C++11 compiler flags setup. - # --------------------------- - if (is_linux || is_chromeos || is_android || (is_nacl && is_clang) || -@@ -1240,45 +1220,6 @@ config("compiler_deterministic") { - } - } - -- # Makes builds independent of absolute file path. -- if (is_clang && strip_absolute_paths_from_debug_symbols) { -- # If debug option is given, clang includes $cwd in debug info by default. -- # For such build, this flag generates reproducible obj files even we use -- # different build directory like "out/feature_a" and "out/feature_b" if -- # we build same files with same compile flag. -- # Other paths are already given in relative, no need to normalize them. -- if (is_nacl) { -- # TODO(https://crbug.com/1231236): Use -ffile-compilation-dir= here. -- cflags += [ -- "-Xclang", -- "-fdebug-compilation-dir", -- "-Xclang", -- ".", -- ] -- } else { -- # -ffile-compilation-dir is an alias for both -fdebug-compilation-dir= -- # and -fcoverage-compilation-dir=. -- cflags += [ "-ffile-compilation-dir=." ] -- } -- if (!is_win) { -- # We don't use clang -cc1as on Windows (yet? https://crbug.com/762167) -- asmflags = [ "-Wa,-fdebug-compilation-dir,." ] -- } -- -- if (is_win && use_lld) { -- if (symbol_level == 2 || (is_clang && using_sanitizer)) { -- # Absolutize source file paths for PDB. Pass the real build directory -- # if the pdb contains source-level debug information and if linker -- # reproducibility is not critical. -- ldflags += [ "/PDBSourcePath:" + rebase_path(root_build_dir) ] -- } else { -- # Use a fake fixed base directory for paths in the pdb to make the pdb -- # output fully deterministic and independent of the build directory. -- ldflags += [ "/PDBSourcePath:o:\fake\prefix" ] -- } -- } -- } -- - # Tells the compiler not to use absolute paths when passing the default - # paths to the tools it invokes. We don't want this because we don't - # really need it and it can mess up the goma cache entries. -@@ -1558,7 +1499,7 @@ config("chromium_code") { - defines = [ "_HAS_NODISCARD" ] - } - } else { -- cflags = [ "-Wall" ] -+ cflags = [] - if (treat_warnings_as_errors) { - cflags += [ "-Werror" ] - -@@ -1567,10 +1508,6 @@ config("chromium_code") { - # well. - ldflags = [ "-Werror" ] - } -- if (is_clang) { -- # Enable extra warnings for chromium_code when we control the compiler. -- cflags += [ "-Wextra" ] -- } - - # In Chromium code, we define __STDC_foo_MACROS in order to get the - # C99 macros on Mac and Linux. -@@ -1579,15 +1516,6 @@ config("chromium_code") { - "__STDC_FORMAT_MACROS", - ] - -- if (!is_debug && !using_sanitizer && current_cpu != "s390x" && -- current_cpu != "s390" && current_cpu != "ppc64" && -- current_cpu != "mips" && current_cpu != "mips64") { -- # Non-chromium code is not guaranteed to compile cleanly with -- # _FORTIFY_SOURCE. Also, fortified build may fail when optimizations are -- # disabled, so only do that for Release build. -- defines += [ "_FORTIFY_SOURCE=2" ] -- } -- - if (is_mac) { - cflags_objc = [ "-Wobjc-missing-property-synthesis" ] - cflags_objcc = [ "-Wobjc-missing-property-synthesis" ] -@@ -1955,7 +1883,8 @@ config("default_stack_frames") { - } - - # Default "optimization on" config. --config("optimize") { -+config("optimize") { } -+config("xoptimize") { - if (is_win) { - if (chrome_pgo_phase != 2) { - # Favor size over speed, /O1 must be before the common flags. -@@ -1995,7 +1924,8 @@ config("optimize") { - } - - # Turn off optimizations. --config("no_optimize") { -+config("no_optimize") { } -+config("xno_optimize") { - if (is_win) { - cflags = [ - "/Od", # Disable optimization. -@@ -2035,7 +1965,8 @@ config("no_optimize") { - # Turns up the optimization level. On Windows, this implies whole program - # optimization and link-time code generation which is very expensive and should - # be used sparingly. --config("optimize_max") { -+config("optimize_max") { } -+config("xoptimize_max") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2068,7 +1999,8 @@ config("optimize_max") { - # - # TODO(crbug.com/621335) - rework how all of these configs are related - # so that we don't need this disclaimer. --config("optimize_speed") { -+config("optimize_speed") { } -+config("xoptimize_speed") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2094,7 +2026,8 @@ config("optimize_speed") { - } - } - --config("optimize_fuzzing") { -+config("optimize_fuzzing") { } -+config("xoptimize_fuzzing") { - cflags = [ "-O1" ] + common_optimize_on_cflags - rustflags = [ "-Copt-level=1" ] - ldflags = common_optimize_on_ldflags -@@ -2214,7 +2147,8 @@ config("win_pdbaltpath") { - } - - # Full symbols. --config("symbols") { -+config("symbols") { } -+config("xsymbols") { - if (is_win) { - if (is_clang) { - cflags = [ "/Z7" ] # Debug information in the .obj files. -@@ -2328,7 +2262,8 @@ config("symbols") { - # Minimal symbols. - # This config guarantees to hold symbol for stack trace which are shown to user - # when crash happens in unittests running on buildbot. --config("minimal_symbols") { -+config("minimal_symbols") { } -+config("xminimal_symbols") { - if (is_win) { - # Functions, files, and line tables only. - cflags = [] -@@ -2400,7 +2335,8 @@ config("minimal_symbols") { - # This configuration contains function names only. That is, the compiler is - # told to not generate debug information and the linker then just puts function - # names in the final debug information. --config("no_symbols") { -+config("no_symbols") { } -+config("xno_symbols") { - if (is_win) { - ldflags = [ "/DEBUG" ] - diff --git a/www-client/chromium/files/chromium-96-coupondb-include.patch b/www-client/chromium/files/chromium-96-coupondb-include.patch deleted file mode 100644 index d0938d2..0000000 --- a/www-client/chromium/files/chromium-96-coupondb-include.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/chrome/browser/commerce/coupons/coupon_db.h b/chrome/browser/commerce/coupons/coupon_db.h -index f0758f43d..93e2dd3b5 100644 ---- a/chrome/browser/commerce/coupons/coupon_db.h -+++ b/chrome/browser/commerce/coupons/coupon_db.h -@@ -5,6 +5,8 @@ - #ifndef CHROME_BROWSER_COMMERCE_COUPONS_COUPON_DB_H_ - #define CHROME_BROWSER_COMMERCE_COUPONS_COUPON_DB_H_ - -+#include <vector> -+ - #include "base/callback_helpers.h" - #include "base/memory/weak_ptr.h" - #include "url/gurl.h" diff --git a/www-client/chromium/files/chromium-96-drm_render_node_path_finder-include.patch b/www-client/chromium/files/chromium-96-drm_render_node_path_finder-include.patch deleted file mode 100644 index 2e94f33..0000000 --- a/www-client/chromium/files/chromium-96-drm_render_node_path_finder-include.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/ui/ozone/platform/wayland/gpu/drm_render_node_path_finder.cc b/ui/ozone/platform/wayland/gpu/drm_render_node_path_finder.cc -index 06776a7af..d5b7b71a5 100644 ---- a/ui/ozone/platform/wayland/gpu/drm_render_node_path_finder.cc -+++ b/ui/ozone/platform/wayland/gpu/drm_render_node_path_finder.cc -@@ -5,6 +5,7 @@ - #include "ui/ozone/platform/wayland/gpu/drm_render_node_path_finder.h" - - #include <fcntl.h> -+#include <string.h> - #include <sys/stat.h> - #include <sys/types.h> - #include <unistd.h> diff --git a/www-client/chromium/files/chromium-96-restricted_cookie_manager-pair.patch b/www-client/chromium/files/chromium-96-restricted_cookie_manager-pair.patch deleted file mode 100644 index bd372e1..0000000 --- a/www-client/chromium/files/chromium-96-restricted_cookie_manager-pair.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/services/network/restricted_cookie_manager.cc b/services/network/restricted_cookie_manager.cc -index 425426fd5..c8c10c65a 100644 ---- a/services/network/restricted_cookie_manager.cc -+++ b/services/network/restricted_cookie_manager.cc -@@ -161,7 +161,7 @@ CookieAccesses* RestrictedCookieManager::GetCookieAccessesForURLAndSite( - const GURL& url, - const net::SiteForCookies& site_for_cookies) { - std::unique_ptr<CookieAccesses>& entry = -- recent_cookie_accesses_[std::tie(url, site_for_cookies)]; -+ recent_cookie_accesses_[std::make_pair(url, site_for_cookies)]; - if (!entry) { - entry = std::make_unique<CookieAccesses>(); - } diff --git a/www-client/chromium/files/chromium-96-template-friend.patch b/www-client/chromium/files/chromium-96-template-friend.patch deleted file mode 100644 index 4b8a5e4..0000000 --- a/www-client/chromium/files/chromium-96-template-friend.patch +++ /dev/null @@ -1,34 +0,0 @@ -diff --git a/base/memory/safe_ref.h b/base/memory/safe_ref.h -index 7189f8786..162c6744f 100644 ---- a/base/memory/safe_ref.h -+++ b/base/memory/safe_ref.h -@@ -88,9 +88,10 @@ class SafeRef { - private: - template <typename U> - friend class SafeRef; -- friend SafeRef internal::MakeSafeRefFromWeakPtrInternals( -+ template <typename U> -+ friend SafeRef<U> internal::MakeSafeRefFromWeakPtrInternals( - const internal::WeakReference& ref, -- T* ptr); -+ U* ptr); - - // Construction from a from WeakPtr. Will CHECK() if the WeakPtr is already - // invalid. -diff --git a/base/memory/weak_ptr.h b/base/memory/weak_ptr.h -index 17f7b8f87..d042ecff2 100644 ---- a/base/memory/weak_ptr.h -+++ b/base/memory/weak_ptr.h -@@ -289,9 +289,10 @@ class WeakPtr : public internal::WeakPtrBase { - template <typename U> friend class WeakPtr; - friend class SupportsWeakPtr<T>; - friend class WeakPtrFactory<T>; -- friend SafeRef<T> internal::MakeSafeRefFromWeakPtrInternals( -+ template <typename U> -+ friend SafeRef<U> internal::MakeSafeRefFromWeakPtrInternals( - const internal::WeakReference& ref, -- T* ptr); -+ U* ptr); - - WeakPtr(const internal::WeakReference& ref, T* ptr) - : WeakPtrBase(ref, reinterpret_cast<uintptr_t>(ptr)) {} diff --git a/www-client/chromium/files/chromium-97-ScrollView-reference.patch b/www-client/chromium/files/chromium-97-ScrollView-reference.patch deleted file mode 100644 index 91354e4..0000000 --- a/www-client/chromium/files/chromium-97-ScrollView-reference.patch +++ /dev/null @@ -1,23 +0,0 @@ -From ce58517e546f3f3433931609683b5b4e455bbb7f Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann <stha09@googlemail.com> -Date: Fri, 5 Nov 2021 15:48:05 +0000 -Subject: [PATCH] GCC: fix undefined reference to ScrollView::SetContents() - ---- - ui/views/controls/scroll_view.h | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/ui/views/controls/scroll_view.h b/ui/views/controls/scroll_view.h -index 3bd5a8bf..f850728c 100644 ---- a/ui/views/controls/scroll_view.h -+++ b/ui/views/controls/scroll_view.h -@@ -386,6 +386,9 @@ - ScrollViewCallbackList on_contents_scroll_ended_; - }; - -+// Required for WebAppUrlHandlerIntentPickerView -+template View* ScrollView::SetContents<View>(std::unique_ptr<View> a_view); -+ - BEGIN_VIEW_BUILDER(VIEWS_EXPORT, ScrollView, View) - VIEW_BUILDER_VIEW_TYPE_PROPERTY(View, Contents) - VIEW_BUILDER_PROPERTY(ui::LayerType, ContentsLayerType) diff --git a/www-client/chromium/files/chromium-97-arm-tflite-cast.patch b/www-client/chromium/files/chromium-97-arm-tflite-cast.patch deleted file mode 100644 index 843a384..0000000 --- a/www-client/chromium/files/chromium-97-arm-tflite-cast.patch +++ /dev/null @@ -1,26 +0,0 @@ -vreinterpret_s32_s8() casts int8x8_t to int32x2_t. However, third argument -of vdotq_lane_s32() is of type int8x8_t. - ---- a/third_party/tflite/src/tensorflow/lite/kernels/internal/optimized/depthwiseconv_3x3_filter_common.h -+++ b/third_party/tflite/src/tensorflow/lite/kernels/internal/optimized/depthwiseconv_3x3_filter_common.h -@@ -129,16 +129,14 @@ inline int32x4_t vdotq_four_lane_s32(int32x4_t acc, int8x16_t lhs, - int8x16_t rhs, const int lane) { - switch (lane) { - case 0: -- return vdotq_lane_s32(acc, lhs, vreinterpret_s32_s8(vget_low_s8(rhs)), 0); -+ return vdotq_lane_s32(acc, lhs, vget_low_s8(rhs), 0); - case 1: -- return vdotq_lane_s32(acc, lhs, vreinterpret_s32_s8(vget_low_s8(rhs)), 1); -+ return vdotq_lane_s32(acc, lhs, vget_low_s8(rhs), 1); - case 2: -- return vdotq_lane_s32(acc, lhs, vreinterpret_s32_s8(vget_high_s8(rhs)), -- 0); -+ return vdotq_lane_s32(acc, lhs, vget_high_s8(rhs), 0); - case 3: - default: -- return vdotq_lane_s32(acc, lhs, vreinterpret_s32_s8(vget_high_s8(rhs)), -- 1); -+ return vdotq_lane_s32(acc, lhs, vget_high_s8(rhs), 1); - } - } - diff --git a/www-client/chromium/files/chromium-97-shared_element_res-include.patch b/www-client/chromium/files/chromium-97-shared_element_res-include.patch deleted file mode 100644 index 1289f0b..0000000 --- a/www-client/chromium/files/chromium-97-shared_element_res-include.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/components/viz/common/shared_element_resource_id.h b/components/viz/common/shared_element_resource_id.h -index 9fcab924e..2aba73ebc 100644 ---- a/components/viz/common/shared_element_resource_id.h -+++ b/components/viz/common/shared_element_resource_id.h -@@ -5,6 +5,7 @@ - #ifndef COMPONENTS_VIZ_COMMON_SHARED_ELEMENT_RESOURCE_ID_H_ - #define COMPONENTS_VIZ_COMMON_SHARED_ELEMENT_RESOURCE_ID_H_ - -+#include <string> - #include <vector> - - #include "components/viz/common/viz_common_export.h" diff --git a/www-client/chromium/files/chromium-98-MiraclePtr-gcc-ice.patch b/www-client/chromium/files/chromium-98-MiraclePtr-gcc-ice.patch deleted file mode 100644 index c538bef..0000000 --- a/www-client/chromium/files/chromium-98-MiraclePtr-gcc-ice.patch +++ /dev/null @@ -1,91 +0,0 @@ -Workaround GCC ICE with MiraclePtr, see https://gcc.gnu.org/PR103455 - ---- a/gpu/command_buffer/client/gl_helper.h -+++ b/gpu/command_buffer/client/gl_helper.h -@@ -34,7 +34,7 @@ class ScopedGLuint { - GenFunc gen_func, - DeleteFunc delete_func) - : gl_(gl), id_(0u), delete_func_(delete_func) { -- (gl_->*gen_func)(1, &id_); -+ (gl_.get()->*gen_func)(1, &id_); - } - - operator GLuint() const { return id_; } -@@ -46,7 +46,7 @@ class ScopedGLuint { - - ~ScopedGLuint() { - if (id_ != 0) { -- (gl_->*delete_func_)(1, &id_); -+ (gl_.get()->*delete_func_)(1, &id_); - } - } - -@@ -86,13 +86,13 @@ class ScopedBinder { - typedef void (gles2::GLES2Interface::*BindFunc)(GLenum target, GLuint id); - ScopedBinder(gles2::GLES2Interface* gl, GLuint id, BindFunc bind_func) - : gl_(gl), bind_func_(bind_func) { -- (gl_->*bind_func_)(Target, id); -+ (gl_.get()->*bind_func_)(Target, id); - } - - ScopedBinder(const ScopedBinder&) = delete; - ScopedBinder& operator=(const ScopedBinder&) = delete; - -- virtual ~ScopedBinder() { (gl_->*bind_func_)(Target, 0); } -+ virtual ~ScopedBinder() { (gl_.get()->*bind_func_)(Target, 0); } - - private: - raw_ptr<gles2::GLES2Interface> gl_; ---- a/ui/accessibility/ax_node.h -+++ b/ui/accessibility/ax_node.h -@@ -822,10 +822,10 @@ AXNode::ChildIteratorBase<NodeType, - // increment the iterator past the end, we remain at the past-the-end iterator - // condition. - if (child_ && parent_) { -- if (child_ == (parent_->*LastChild)()) -+ if (child_ == (parent_.get()->*LastChild)()) - child_ = nullptr; - else -- child_ = (child_->*NextSibling)(); -+ child_ = (child_.get()->*NextSibling)(); - } - - return *this; -@@ -850,12 +850,12 @@ AXNode::ChildIteratorBase<NodeType, - // If the iterator is past the end, |child_=nullptr|, decrement the iterator - // gives us the last iterator element. - if (!child_) -- child_ = (parent_->*LastChild)(); -+ child_ = (parent_.get()->*LastChild)(); - // Decrement the iterator gives us the previous element, except when the - // iterator is at the beginning; in which case, decrementing the iterator - // remains at the beginning. -- else if (child_ != (parent_->*FirstChild)()) -- child_ = (child_->*PreviousSibling)(); -+ else if (child_ != (parent_.get()->*FirstChild)()) -+ child_ = (child_.get()->*PreviousSibling)(); - } - - return *this; ---- a/ui/views/layout/flex_layout_types.cc -+++ b/ui/views/layout/flex_layout_types.cc -@@ -59,7 +59,7 @@ class LazySize { - const gfx::Size& operator*() const { return *get(); } - const gfx::Size* get() const { - if (!size_) -- size_ = (view_->*size_func_)(); -+ size_ = (view_.get()->*size_func_)(); - return &size_.value(); - } - LazyDimension width() const { ---- a/chrome/browser/ui/views/passwords/auto_signin_first_run_dialog_view.cc -+++ b/chrome/browser/ui/views/passwords/auto_signin_first_run_dialog_view.cc -@@ -37,7 +37,7 @@ AutoSigninFirstRunDialogView::AutoSigninFirstRunDialogView( - auto call_controller = [](AutoSigninFirstRunDialogView* dialog, - ControllerCallbackFn func) { - if (dialog->controller_) { -- (dialog->controller_->*func)(); -+ (dialog->controller_.get()->*func)(); - } - }; - SetAcceptCallback( diff --git a/www-client/chromium/files/chromium-98-breakpad-max.patch b/www-client/chromium/files/chromium-98-breakpad-max.patch deleted file mode 100644 index 889632d..0000000 --- a/www-client/chromium/files/chromium-98-breakpad-max.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc b/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc -index ca353c409..c0f20975d 100644 ---- a/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc -+++ b/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc -@@ -138,7 +138,7 @@ void InstallAlternateStackLocked() { - // SIGSTKSZ may be too small to prevent the signal handlers from overrunning - // the alternative stack. Ensure that the size of the alternative stack is - // large enough. -- static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ); -+ static const unsigned kSigStackSize = std::max((long)16384, SIGSTKSZ); - - // Only set an alternative stack if there isn't already one, or if the current - // one is too small. diff --git a/www-client/chromium/files/chromium-98-c++17-constexpr-1.patch b/www-client/chromium/files/chromium-98-c++17-constexpr-1.patch deleted file mode 100644 index d368b36..0000000 --- a/www-client/chromium/files/chromium-98-c++17-constexpr-1.patch +++ /dev/null @@ -1,65 +0,0 @@ -From a5935eff52dcc65b02a49fb89aa2c9ec5ad3e4a6 Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann <stha09@googlemail.com> -Date: Wed, 1 Dec 2021 08:47:30 +0000 -Subject: [PATCH] GCC: remove constexpr to fix linker error - ---- - .../allocator_shim_default_dispatch_to_partition_alloc.cc | 2 +- - components/services/app_service/public/cpp/icon_types.cc | 2 +- - content/browser/web_package/signed_exchange_prologue.cc | 2 +- - device/bluetooth/bluetooth_adapter.cc | 2 +- - 4 files changed, 4 insertion(+), 4 deletion(-) - -diff --git a/base/allocator/allocator_shim_default_dispatch_to_partition_alloc.cc b/base/allocator/allocator_shim_default_dispatch_to_partition_alloc.cc -index 80eb4b8..4707224 100644 ---- a/base/allocator/allocator_shim_default_dispatch_to_partition_alloc.cc -+++ b/base/allocator/allocator_shim_default_dispatch_to_partition_alloc.cc -@@ -605,7 +605,7 @@ void ConfigurePartitionAlloc() { - } // namespace allocator - } // namespace base - --constexpr AllocatorDispatch AllocatorDispatch::default_dispatch = { -+const AllocatorDispatch AllocatorDispatch::default_dispatch = { - &base::internal::PartitionMalloc, // alloc_function - &base::internal::PartitionMallocUnchecked, // alloc_unchecked_function - &base::internal::PartitionCalloc, // alloc_zero_initialized_function -diff --git a/components/services/app_service/public/cpp/icon_types.cc b/components/services/app_service/public/cpp/icon_types.cc -index c857d15..292232e 100644 ---- a/components/services/app_service/public/cpp/icon_types.cc -+++ b/components/services/app_service/public/cpp/icon_types.cc -@@ -21,7 +21,7 @@ bool IconKey::operator==(const IconKey& other) const { - } - - constexpr uint64_t IconKey::kDoesNotChangeOverTime = 0; --constexpr int32_t IconKey::kInvalidResourceId = 0; -+const int32_t IconKey::kInvalidResourceId = 0; - - IconValue::IconValue() = default; - IconValue::~IconValue() = default; -diff --git a/content/browser/web_package/signed_exchange_prologue.cc b/content/browser/web_package/signed_exchange_prologue.cc -index 9dfb4ac..a1f99eb 100644 ---- a/content/browser/web_package/signed_exchange_prologue.cc -+++ b/content/browser/web_package/signed_exchange_prologue.cc -@@ -30,7 +30,7 @@ constexpr size_t kMaximumCBORHeaderLength = 512 * 1024; - - namespace signed_exchange_prologue { - --constexpr size_t BeforeFallbackUrl::kEncodedSizeInBytes = -+const size_t BeforeFallbackUrl::kEncodedSizeInBytes = - sizeof(kSignedExchangeMagic) + kFallbackUrlLengthFieldSizeInBytes; - - size_t Parse2BytesEncodedLength(base::span<const uint8_t> input) { -diff --git a/device/bluetooth/bluetooth_adapter.cc b/device/bluetooth/bluetooth_adapter.cc -index ddde285..9c794c9 100644 ---- a/device/bluetooth/bluetooth_adapter.cc -+++ b/device/bluetooth/bluetooth_adapter.cc -@@ -674,6 +674,6 @@ void BluetoothAdapter::RemoveTimedOutDevices() { - } - - // static --constexpr base::TimeDelta BluetoothAdapter::timeoutSec = base::Seconds(180); -+const base::TimeDelta BluetoothAdapter::timeoutSec = base::Seconds(180); - - } // namespace device --- -2.32.0 diff --git a/www-client/chromium/files/chromium-98-compiler-r1.patch b/www-client/chromium/files/chromium-98-compiler-r1.patch deleted file mode 100644 index 685638e..0000000 --- a/www-client/chromium/files/chromium-98-compiler-r1.patch +++ /dev/null @@ -1,208 +0,0 @@ -diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn -index 8048ec5e8..85c58fd32 100644 ---- a/build/config/compiler/BUILD.gn -+++ b/build/config/compiler/BUILD.gn -@@ -291,9 +291,7 @@ config("compiler") { - - configs += [ - # See the definitions below. -- ":clang_revision", - ":rustc_revision", -- ":compiler_cpu_abi", - ":compiler_codegen", - ":compiler_deterministic", - ] -@@ -534,31 +532,6 @@ config("compiler") { - ldflags += [ "-Wl,-z,keep-text-section-prefix" ] - } - -- if (is_clang && !is_nacl && current_os != "zos") { -- cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ] -- -- # TODO(hans): Remove this once Clang generates better optimized debug info -- # by default. https://crbug.com/765793 -- cflags += [ -- "-mllvm", -- "-instcombine-lower-dbg-declare=0", -- ] -- if (!is_debug && use_thin_lto && is_a_target_toolchain) { -- if (is_win) { -- ldflags += [ "-mllvm:-instcombine-lower-dbg-declare=0" ] -- } else { -- ldflags += [ "-Wl,-mllvm,-instcombine-lower-dbg-declare=0" ] -- } -- } -- -- # TODO(crbug.com/1235145): Investigate why/if this should be needed. -- if (is_win) { -- cflags += [ "/clang:-ffp-contract=off" ] -- } else { -- cflags += [ "-ffp-contract=off" ] -- } -- } -- - # C11/C++11 compiler flags setup. - # --------------------------- - if (is_linux || is_chromeos || is_android || (is_nacl && is_clang) || -@@ -1231,45 +1204,6 @@ config("compiler_deterministic") { - } - } - -- # Makes builds independent of absolute file path. -- if (is_clang && strip_absolute_paths_from_debug_symbols) { -- # If debug option is given, clang includes $cwd in debug info by default. -- # For such build, this flag generates reproducible obj files even we use -- # different build directory like "out/feature_a" and "out/feature_b" if -- # we build same files with same compile flag. -- # Other paths are already given in relative, no need to normalize them. -- if (is_nacl) { -- # TODO(https://crbug.com/1231236): Use -ffile-compilation-dir= here. -- cflags += [ -- "-Xclang", -- "-fdebug-compilation-dir", -- "-Xclang", -- ".", -- ] -- } else { -- # -ffile-compilation-dir is an alias for both -fdebug-compilation-dir= -- # and -fcoverage-compilation-dir=. -- cflags += [ "-ffile-compilation-dir=." ] -- } -- if (!is_win) { -- # We don't use clang -cc1as on Windows (yet? https://crbug.com/762167) -- asmflags = [ "-Wa,-fdebug-compilation-dir,." ] -- } -- -- if (is_win && use_lld) { -- if (symbol_level == 2 || (is_clang && using_sanitizer)) { -- # Absolutize source file paths for PDB. Pass the real build directory -- # if the pdb contains source-level debug information and if linker -- # reproducibility is not critical. -- ldflags += [ "/PDBSourcePath:" + rebase_path(root_build_dir) ] -- } else { -- # Use a fake fixed base directory for paths in the pdb to make the pdb -- # output fully deterministic and independent of the build directory. -- ldflags += [ "/PDBSourcePath:o:\fake\prefix" ] -- } -- } -- } -- - # Tells the compiler not to use absolute paths when passing the default - # paths to the tools it invokes. We don't want this because we don't - # really need it and it can mess up the goma cache entries. -@@ -1556,7 +1490,7 @@ config("chromium_code") { - defines = [ "_HAS_NODISCARD" ] - } - } else { -- cflags = [ "-Wall" ] -+ cflags = [] - if (treat_warnings_as_errors) { - cflags += [ "-Werror" ] - -@@ -1565,10 +1499,6 @@ config("chromium_code") { - # well. - ldflags = [ "-Werror" ] - } -- if (is_clang) { -- # Enable extra warnings for chromium_code when we control the compiler. -- cflags += [ "-Wextra" ] -- } - - # In Chromium code, we define __STDC_foo_MACROS in order to get the - # C99 macros on Mac and Linux. -@@ -1577,15 +1507,6 @@ config("chromium_code") { - "__STDC_FORMAT_MACROS", - ] - -- if (!is_debug && !using_sanitizer && current_cpu != "s390x" && -- current_cpu != "s390" && current_cpu != "ppc64" && -- current_cpu != "mips" && current_cpu != "mips64") { -- # Non-chromium code is not guaranteed to compile cleanly with -- # _FORTIFY_SOURCE. Also, fortified build may fail when optimizations are -- # disabled, so only do that for Release build. -- defines += [ "_FORTIFY_SOURCE=2" ] -- } -- - if (is_mac) { - cflags_objc = [ "-Wobjc-missing-property-synthesis" ] - cflags_objcc = [ "-Wobjc-missing-property-synthesis" ] -@@ -1988,7 +1909,8 @@ config("default_stack_frames") { - } - - # Default "optimization on" config. --config("optimize") { -+config("optimize") { } -+config("xoptimize") { - if (is_win) { - if (chrome_pgo_phase != 2) { - # Favor size over speed, /O1 must be before the common flags. -@@ -2026,7 +1948,8 @@ config("optimize") { - } - - # Turn off optimizations. --config("no_optimize") { -+config("no_optimize") { } -+config("xno_optimize") { - if (is_win) { - cflags = [ - "/Od", # Disable optimization. -@@ -2066,7 +1989,8 @@ config("no_optimize") { - # Turns up the optimization level. On Windows, this implies whole program - # optimization and link-time code generation which is very expensive and should - # be used sparingly. --config("optimize_max") { -+config("optimize_max") { } -+config("xoptimize_max") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2099,7 +2023,8 @@ config("optimize_max") { - # - # TODO(crbug.com/621335) - rework how all of these configs are related - # so that we don't need this disclaimer. --config("optimize_speed") { -+config("optimize_speed") { } -+config("xoptimize_speed") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2125,7 +2050,8 @@ config("optimize_speed") { - } - } - --config("optimize_fuzzing") { -+config("optimize_fuzzing") { } -+config("xoptimize_fuzzing") { - cflags = [ "-O1" ] + common_optimize_on_cflags - rustflags = [ "-Copt-level=1" ] - ldflags = common_optimize_on_ldflags -@@ -2245,7 +2171,8 @@ config("win_pdbaltpath") { - } - - # Full symbols. --config("symbols") { -+config("symbols") { } -+config("xsymbols") { - if (is_win) { - if (is_clang) { - cflags = [ "/Z7" ] # Debug information in the .obj files. -@@ -2369,7 +2296,8 @@ config("symbols") { - # Minimal symbols. - # This config guarantees to hold symbol for stack trace which are shown to user - # when crash happens in unittests running on buildbot. --config("minimal_symbols") { -+config("minimal_symbols") { } -+config("xminimal_symbols") { - if (is_win) { - # Functions, files, and line tables only. - cflags = [] -@@ -2438,7 +2366,8 @@ config("minimal_symbols") { - # This configuration contains function names only. That is, the compiler is - # told to not generate debug information and the linker then just puts function - # names in the final debug information. --config("no_symbols") { -+config("no_symbols") { } -+config("xno_symbols") { - if (is_win) { - ldflags = [ "/DEBUG" ] - diff --git a/www-client/chromium/files/chromium-98-compiler.patch b/www-client/chromium/files/chromium-98-compiler.patch deleted file mode 100644 index 49826bf..0000000 --- a/www-client/chromium/files/chromium-98-compiler.patch +++ /dev/null @@ -1,213 +0,0 @@ -From 307a0f63dd9b118f4b8470ed3d7567e81fdb7a6d Mon Sep 17 00:00:00 2001 -From: Mike Gilbert <floppym@gentoo.org> -Date: Sun, 14 Nov 2021 09:03:47 +0000 -Subject: [PATCH] Disable various compiler configs - ---- - build/config/compiler/BUILD.gn | 98 ++++++---------------------------- - 1 file changed, 17 insertions(+), 81 deletions(-) - -diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn -index 46ab685..a60f0ff 100644 ---- a/build/config/compiler/BUILD.gn -+++ b/build/config/compiler/BUILD.gn -@@ -291,9 +291,7 @@ config("compiler") { - - configs += [ - # See the definitions below. -- ":clang_revision", - ":rustc_revision", -- ":compiler_cpu_abi", - ":compiler_codegen", - ":compiler_deterministic", - ] -@@ -534,24 +532,6 @@ config("compiler") { - ldflags += [ "-Wl,-z,keep-text-section-prefix" ] - } - -- if (is_clang && !is_nacl && current_os != "zos") { -- cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ] -- -- # TODO(hans): Remove this once Clang generates better optimized debug info -- # by default. https://crbug.com/765793 -- cflags += [ -- "-mllvm", -- "-instcombine-lower-dbg-declare=0", -- ] -- if (!is_debug && use_thin_lto && is_a_target_toolchain) { -- if (is_win) { -- ldflags += [ "-mllvm:-instcombine-lower-dbg-declare=0" ] -- } else { -- ldflags += [ "-Wl,-mllvm,-instcombine-lower-dbg-declare=0" ] -- } -- } -- } -- - # C11/C++11 compiler flags setup. - # --------------------------- - if (is_linux || is_chromeos || is_android || (is_nacl && is_clang) || -@@ -1221,45 +1201,6 @@ config("compiler_deterministic") { - } - } - -- # Makes builds independent of absolute file path. -- if (is_clang && strip_absolute_paths_from_debug_symbols) { -- # If debug option is given, clang includes $cwd in debug info by default. -- # For such build, this flag generates reproducible obj files even we use -- # different build directory like "out/feature_a" and "out/feature_b" if -- # we build same files with same compile flag. -- # Other paths are already given in relative, no need to normalize them. -- if (is_nacl) { -- # TODO(https://crbug.com/1231236): Use -ffile-compilation-dir= here. -- cflags += [ -- "-Xclang", -- "-fdebug-compilation-dir", -- "-Xclang", -- ".", -- ] -- } else { -- # -ffile-compilation-dir is an alias for both -fdebug-compilation-dir= -- # and -fcoverage-compilation-dir=. -- cflags += [ "-ffile-compilation-dir=." ] -- } -- if (!is_win) { -- # We don't use clang -cc1as on Windows (yet? https://crbug.com/762167) -- asmflags = [ "-Wa,-fdebug-compilation-dir,." ] -- } -- -- if (is_win && use_lld) { -- if (symbol_level == 2 || (is_clang && using_sanitizer)) { -- # Absolutize source file paths for PDB. Pass the real build directory -- # if the pdb contains source-level debug information and if linker -- # reproducibility is not critical. -- ldflags += [ "/PDBSourcePath:" + rebase_path(root_build_dir) ] -- } else { -- # Use a fake fixed base directory for paths in the pdb to make the pdb -- # output fully deterministic and independent of the build directory. -- ldflags += [ "/PDBSourcePath:o:\fake\prefix" ] -- } -- } -- } -- - # Tells the compiler not to use absolute paths when passing the default - # paths to the tools it invokes. We don't want this because we don't - # really need it and it can mess up the goma cache entries. -@@ -1546,7 +1487,7 @@ config("chromium_code") { - defines = [ "_HAS_NODISCARD" ] - } - } else { -- cflags = [ "-Wall" ] -+ cflags = [] - if (treat_warnings_as_errors) { - cflags += [ "-Werror" ] - -@@ -1555,10 +1496,6 @@ config("chromium_code") { - # well. - ldflags = [ "-Werror" ] - } -- if (is_clang) { -- # Enable extra warnings for chromium_code when we control the compiler. -- cflags += [ "-Wextra" ] -- } - - # In Chromium code, we define __STDC_foo_MACROS in order to get the - # C99 macros on Mac and Linux. -@@ -1567,15 +1504,6 @@ config("chromium_code") { - "__STDC_FORMAT_MACROS", - ] - -- if (!is_debug && !using_sanitizer && current_cpu != "s390x" && -- current_cpu != "s390" && current_cpu != "ppc64" && -- current_cpu != "mips" && current_cpu != "mips64") { -- # Non-chromium code is not guaranteed to compile cleanly with -- # _FORTIFY_SOURCE. Also, fortified build may fail when optimizations are -- # disabled, so only do that for Release build. -- defines += [ "_FORTIFY_SOURCE=2" ] -- } -- - if (is_mac) { - cflags_objc = [ "-Wobjc-missing-property-synthesis" ] - cflags_objcc = [ "-Wobjc-missing-property-synthesis" ] -@@ -1943,7 +1871,8 @@ config("default_stack_frames") { - } - - # Default "optimization on" config. --config("optimize") { -+config("optimize") { } -+config("xoptimize") { - if (is_win) { - if (chrome_pgo_phase != 2) { - # Favor size over speed, /O1 must be before the common flags. -@@ -1983,7 +1912,8 @@ config("optimize") { - } - - # Turn off optimizations. --config("no_optimize") { -+config("no_optimize") { } -+config("xno_optimize") { - if (is_win) { - cflags = [ - "/Od", # Disable optimization. -@@ -2023,7 +1953,8 @@ config("no_optimize") { - # Turns up the optimization level. On Windows, this implies whole program - # optimization and link-time code generation which is very expensive and should - # be used sparingly. --config("optimize_max") { -+config("optimize_max") { } -+config("xoptimize_max") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2056,7 +1987,8 @@ config("optimize_max") { - # - # TODO(crbug.com/621335) - rework how all of these configs are related - # so that we don't need this disclaimer. --config("optimize_speed") { -+config("optimize_speed") { } -+config("xoptimize_speed") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2082,7 +2014,8 @@ config("optimize_speed") { - } - } - --config("optimize_fuzzing") { -+config("optimize_fuzzing") { } -+config("xoptimize_fuzzing") { - cflags = [ "-O1" ] + common_optimize_on_cflags - rustflags = [ "-Copt-level=1" ] - ldflags = common_optimize_on_ldflags -@@ -2202,7 +2135,8 @@ config("win_pdbaltpath") { - } - - # Full symbols. --config("symbols") { -+config("symbols") { } -+config("xsymbols") { - if (is_win) { - if (is_clang) { - cflags = [ "/Z7" ] # Debug information in the .obj files. -@@ -2326,7 +2260,8 @@ config("symbols") { - # Minimal symbols. - # This config guarantees to hold symbol for stack trace which are shown to user - # when crash happens in unittests running on buildbot. --config("minimal_symbols") { -+config("minimal_symbols") { } -+config("xminimal_symbols") { - if (is_win) { - # Functions, files, and line tables only. - cflags = [] -@@ -2395,7 +2330,8 @@ config("minimal_symbols") { - # This configuration contains function names only. That is, the compiler is - # told to not generate debug information and the linker then just puts function - # names in the final debug information. --config("no_symbols") { -+config("no_symbols") { } -+config("xno_symbols") { - if (is_win) { - ldflags = [ "/DEBUG" ] - --- -2.32.0 - diff --git a/www-client/chromium/files/chromium-98-geometry-cubic_bezier-include.patch b/www-client/chromium/files/chromium-98-geometry-cubic_bezier-include.patch deleted file mode 100644 index 2adf81f..0000000 --- a/www-client/chromium/files/chromium-98-geometry-cubic_bezier-include.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/ui/gfx/geometry/cubic_bezier.cc b/ui/gfx/geometry/cubic_bezier.cc -index 8546aece6..3064548f1 100644 ---- a/ui/gfx/geometry/cubic_bezier.cc -+++ b/ui/gfx/geometry/cubic_bezier.cc -@@ -6,6 +6,7 @@ - - #include <algorithm> - #include <cmath> -+#include <limits> - - #include "base/check_op.h" - #include "base/cxx17_backports.h" diff --git a/www-client/chromium/files/chromium-98-system-libdrm.patch b/www-client/chromium/files/chromium-98-system-libdrm.patch deleted file mode 100644 index f2f18be..0000000 --- a/www-client/chromium/files/chromium-98-system-libdrm.patch +++ /dev/null @@ -1,34 +0,0 @@ -diff --git a/media/gpu/chromeos/BUILD.gn b/media/gpu/chromeos/BUILD.gn -index a5c8945..d742d80 100644 ---- a/media/gpu/chromeos/BUILD.gn -+++ b/media/gpu/chromeos/BUILD.gn -@@ -32,6 +32,7 @@ source_set("chromeos") { - - if (use_vaapi) { - deps += [ -+ "//build/config/linux/libdrm", - "//media/gpu/vaapi", - "//media/gpu/vaapi:common", - ] -diff --git a/media/gpu/chromeos/video_decoder_pipeline.cc b/media/gpu/chromeos/video_decoder_pipeline.cc -index 2d77cd9..1883fd4 100644 ---- a/media/gpu/chromeos/video_decoder_pipeline.cc -+++ b/media/gpu/chromeos/video_decoder_pipeline.cc -@@ -4,6 +4,9 @@ - - #include "media/gpu/chromeos/video_decoder_pipeline.h" - -+#if BUILDFLAG(USE_VAAPI) -+#include <drm_fourcc.h> -+#endif - #include <memory> - - #include "base/bind.h" -@@ -28,7 +31,6 @@ - - #if BUILDFLAG(USE_VAAPI) - #include "media/gpu/vaapi/vaapi_video_decoder.h" --#include "third_party/libdrm/src/include/drm/drm_fourcc.h" - #elif BUILDFLAG(USE_V4L2_CODEC) - #include "media/gpu/v4l2/v4l2_video_decoder.h" - #else diff --git a/www-client/chromium/files/chromium-99-dnd-3381679.patch b/www-client/chromium/files/chromium-99-dnd-3381679.patch deleted file mode 100644 index 06f1736..0000000 --- a/www-client/chromium/files/chromium-99-dnd-3381679.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff --git a/ui/platform_window/x11/x11_topmost_window_finder.cc b/ui/platform_window/x11/x11_topmost_window_finder.cc -index e20bf0abf..c9c672c60 100644 ---- a/ui/platform_window/x11/x11_topmost_window_finder.cc -+++ b/ui/platform_window/x11/x11_topmost_window_finder.cc -@@ -42,12 +42,12 @@ bool EnumerateChildren(ShouldStopIteratingCallback should_stop_iterating, - // reverse-iterate the list to check the windows from top-to-bottom. - std::vector<x11::Window>::reverse_iterator iter; - for (iter = windows.rbegin(); iter != windows.rend(); iter++) { -- if (IsWindowNamed(*iter) && should_stop_iterating.Run(*iter)) -- return true; - if (depth < max_depth) { - if (EnumerateChildren(should_stop_iterating, *iter, max_depth, depth + 1)) - return true; - } -+ if (IsWindowNamed(*iter) && should_stop_iterating.Run(*iter)) -+ return true; - } - - return false; diff --git a/www-client/chromium/files/chromium-99-dns_scoped_res_state-include.patch b/www-client/chromium/files/chromium-99-dns_scoped_res_state-include.patch deleted file mode 100644 index e028877..0000000 --- a/www-client/chromium/files/chromium-99-dns_scoped_res_state-include.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/net/dns/public/scoped_res_state.cc b/net/dns/public/scoped_res_state.cc -index f7dbb5e77..9706d18b0 100644 ---- a/net/dns/public/scoped_res_state.cc -+++ b/net/dns/public/scoped_res_state.cc -@@ -4,6 +4,7 @@ - - #include "net/dns/public/scoped_res_state.h" - -+#include <cstring> - #include <memory> - - #include "base/check.h" diff --git a/www-client/chromium/files/chromium-99-predction_common-include.patch b/www-client/chromium/files/chromium-99-predction_common-include.patch deleted file mode 100644 index b8a8a9c..0000000 --- a/www-client/chromium/files/chromium-99-predction_common-include.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/components/permissions/prediction_service/prediction_common.cc b/components/permissions/prediction_service/prediction_common.cc -index f670e82bd..d477678f4 100644 ---- a/components/permissions/prediction_service/prediction_common.cc -+++ b/components/permissions/prediction_service/prediction_common.cc -@@ -4,6 +4,8 @@ - - #include "components/permissions/prediction_service/prediction_common.h" - -+#include <cmath> -+ - #include "base/json/json_reader.h" - #include "base/json/json_writer.h" - #include "base/notreached.h" diff --git a/www-client/chromium/files/chromium-99-sandbox-glib234.patch b/www-client/chromium/files/chromium-99-sandbox-glib234.patch deleted file mode 100644 index 0379084..0000000 --- a/www-client/chromium/files/chromium-99-sandbox-glib234.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/sandbox/linux/services/credentials.cc b/sandbox/linux/services/credentials.cc -index ca6b59547..4fb5adf88 100644 ---- a/sandbox/linux/services/credentials.cc -+++ b/sandbox/linux/services/credentials.cc -@@ -11,6 +11,7 @@ - #include <stddef.h> - #include <stdint.h> - #include <stdio.h> -+#include <string.h> - #include <sys/syscall.h> - #include <sys/types.h> - #include <sys/wait.h> -@@ -100,7 +101,8 @@ bool ChrootToSafeEmptyDir() { - // TODO(crbug.com/1247458) Broken in MSan builds after LLVM f1bb30a4956f. - clone_flags |= CLONE_VM | CLONE_VFORK | CLONE_SETTLS; - -- char tls_buf[PTHREAD_STACK_MIN] = {0}; -+ char tls_buf[PTHREAD_STACK_MIN]; -+ memset(tls_buf, 0, PTHREAD_STACK_MIN * sizeof(char)); - tls = tls_buf; - #endif - diff --git a/www-client/chromium/files/chromium-99-sqlcursor.patch b/www-client/chromium/files/chromium-99-sqlcursor.patch deleted file mode 100644 index c7041cd..0000000 --- a/www-client/chromium/files/chromium-99-sqlcursor.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff --git a/sql/recover_module/cursor.h b/sql/recover_module/cursor.h -index 845b78526..cf39d8021 100644 ---- a/sql/recover_module/cursor.h -+++ b/sql/recover_module/cursor.h -@@ -63,8 +63,9 @@ class VirtualCursor { - // |sqlite_cursor| must have been returned by VirtualTable::SqliteCursor(). - static inline VirtualCursor* FromSqliteCursor( - sqlite3_vtab_cursor* sqlite_cursor) { -- static_assert(std::is_standard_layout<VirtualCursor>::value, -- "needed for the reinterpret_cast below"); -+ //dont care -+ //static_assert(std::is_standard_layout<VirtualCursor>::value, -+ // "needed for the reinterpret_cast below"); - static_assert(offsetof(VirtualCursor, sqlite_cursor_) == 0, - "sqlite_cursor_ must be the first member of the class"); - VirtualCursor* result = reinterpret_cast<VirtualCursor*>(sqlite_cursor); diff --git a/www-client/chromium/files/chromium-angle-inline.patch b/www-client/chromium/files/chromium-angle-inline.patch deleted file mode 100644 index e8975d7..0000000 --- a/www-client/chromium/files/chromium-angle-inline.patch +++ /dev/null @@ -1,118 +0,0 @@ -From 4c0a23611b3906855db7b93da2f34aec57930cdf Mon Sep 17 00:00:00 2001 -From: Geoff Lang <geofflang@chromium.org> -Date: Tue, 25 Jun 2019 10:56:29 -0400 -Subject: [PATCH] Update ValidateSamplerParameterBase to use const parameters. - -ValidateSamplerParameterBase is called with both const and non-const -parameter pointers which caused our explicit template instantiations to -not cover all cases resulting in link errors. Force the parameters to -always be const so that our instantiations cover everything. - -BUG=angleproject:3555 - -Change-Id: Ibf92572ba80a689c75dcdc70e5153d9941da76f3 -Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1676305 -Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> -Commit-Queue: Geoff Lang <geofflang@chromium.org> ---- - -diff --git a/third_party/angle/src/libANGLE/validationES.cpp b/third_party/angle/src/libANGLE/validationES.cpp -index 041803a..3f402f6 100644 ---- a/third_party/angle/src/libANGLE/validationES.cpp -+++ b/third_party/angle/src/libANGLE/validationES.cpp -@@ -189,7 +189,9 @@ - } - - template <typename ParamType> --bool ValidateTextureWrapModeValue(Context *context, ParamType *params, bool restrictedWrapModes) -+bool ValidateTextureWrapModeValue(Context *context, -+ const ParamType *params, -+ bool restrictedWrapModes) - { - switch (ConvertToGLenum(params[0])) - { -@@ -223,7 +225,9 @@ - } - - template <typename ParamType> --bool ValidateTextureMinFilterValue(Context *context, ParamType *params, bool restrictedMinFilter) -+bool ValidateTextureMinFilterValue(Context *context, -+ const ParamType *params, -+ bool restrictedMinFilter) - { - switch (ConvertToGLenum(params[0])) - { -@@ -252,7 +256,7 @@ - } - - template <typename ParamType> --bool ValidateTextureMagFilterValue(Context *context, ParamType *params) -+bool ValidateTextureMagFilterValue(Context *context, const ParamType *params) - { - switch (ConvertToGLenum(params[0])) - { -@@ -269,7 +273,7 @@ - } - - template <typename ParamType> --bool ValidateTextureCompareModeValue(Context *context, ParamType *params) -+bool ValidateTextureCompareModeValue(Context *context, const ParamType *params) - { - // Acceptable mode parameters from GLES 3.0.2 spec, table 3.17 - switch (ConvertToGLenum(params[0])) -@@ -287,7 +291,7 @@ - } - - template <typename ParamType> --bool ValidateTextureCompareFuncValue(Context *context, ParamType *params) -+bool ValidateTextureCompareFuncValue(Context *context, const ParamType *params) - { - // Acceptable function parameters from GLES 3.0.2 spec, table 3.17 - switch (ConvertToGLenum(params[0])) -@@ -311,7 +315,7 @@ - } - - template <typename ParamType> --bool ValidateTextureSRGBDecodeValue(Context *context, ParamType *params) -+bool ValidateTextureSRGBDecodeValue(Context *context, const ParamType *params) - { - if (!context->getExtensions().textureSRGBDecode) - { -@@ -5996,7 +6000,7 @@ - GLenum pname, - GLsizei bufSize, - bool vectorParams, -- ParamType *params) -+ const ParamType *params) - { - if (context->getClientMajorVersion() < 3) - { -@@ -6099,8 +6103,13 @@ - return true; - } - --template bool ValidateSamplerParameterBase(Context *, GLuint, GLenum, GLsizei, bool, GLfloat *); --template bool ValidateSamplerParameterBase(Context *, GLuint, GLenum, GLsizei, bool, GLint *); -+template bool ValidateSamplerParameterBase(Context *, -+ GLuint, -+ GLenum, -+ GLsizei, -+ bool, -+ const GLfloat *); -+template bool ValidateSamplerParameterBase(Context *, GLuint, GLenum, GLsizei, bool, const GLint *); - template bool ValidateSamplerParameterBase(Context *, - GLuint, - GLenum, -diff --git a/third_party/angle/src/libANGLE/validationES.h b/third_party/angle/src/libANGLE/validationES.h -index c61bda6..4b06d28 100644 ---- a/third_party/angle/src/libANGLE/validationES.h -+++ b/third_party/angle/src/libANGLE/validationES.h -@@ -584,7 +584,7 @@ - GLenum pname, - GLsizei bufSize, - bool vectorParams, -- ParamType *params); -+ const ParamType *params); - - bool ValidateGetInternalFormativBase(Context *context, - GLenum target, diff --git a/www-client/chromium/files/chromium-axobj-ancestoriter-cat-84.patch b/www-client/chromium/files/chromium-axobj-ancestoriter-cat-84.patch deleted file mode 100644 index d554334..0000000 --- a/www-client/chromium/files/chromium-axobj-ancestoriter-cat-84.patch +++ /dev/null @@ -1,33 +0,0 @@ -Make blink::AXObject::AncestorsIterator STL compatible. - -Commit 31e5188ffc9a04295997d22bfdb68fc367bef047, "Used some methods from -AXRoleProperties in AXObject" started using std::any_of with this custom -iterator type. Unfortunately this iterator does not provide traits -mandated by the standard. This works fine for libcxx, but fails when -compiling the code against libstdc++. - -Bug: 819294 -Change-Id: I78fe25475593d73ce255f1de955aa41e936dff86 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2207112 -Reviewed-by: Kentaro Hara <haraken@chromium.org> -Commit-Queue: Piotr Tworek <ptworek@vewd.com> -Cr-Commit-Position: refs/heads/master@{#769713} - -diff --git a/third_party/blink/renderer/modules/accessibility/ax_object.h b/third_party/blink/renderer/modules/accessibility/ax_object.h -index 841715b..fbb87bf 100644 ---- a/third_party/blink/renderer/modules/accessibility/ax_object.h -+++ b/third_party/blink/renderer/modules/accessibility/ax_object.h -@@ -274,6 +274,12 @@ - class MODULES_EXPORT AncestorsIterator final - : public GarbageCollected<AncestorsIterator> { - public: -+ using iterator_category = std::forward_iterator_tag; -+ using value_type = AXObject; -+ using difference_type = ptrdiff_t; -+ using pointer = value_type*; -+ using reference = value_type&; -+ - ~AncestorsIterator() = default; - - AncestorsIterator(const AncestorsIterator& other) - diff --git a/www-client/chromium/files/chromium-axtree-incomplete-type-83.patch b/www-client/chromium/files/chromium-axtree-incomplete-type-83.patch deleted file mode 100644 index 7a8061a..0000000 --- a/www-client/chromium/files/chromium-axtree-incomplete-type-83.patch +++ /dev/null @@ -1,41 +0,0 @@ -diff --git a/ui/accessibility/ax_tree.cc b/ui/accessibility/ax_tree.cc -index e90256109..76fa091e2 100644 ---- a/ui/accessibility/ax_tree.cc -+++ b/ui/accessibility/ax_tree.cc -@@ -567,15 +567,6 @@ struct AXTreeUpdateState { - const AXTree& tree; - }; - --struct AXTree::NodeSetSizePosInSetInfo { -- NodeSetSizePosInSetInfo() = default; -- ~NodeSetSizePosInSetInfo() = default; -- -- int32_t pos_in_set = 0; -- int32_t set_size = 0; -- base::Optional<int> lowest_hierarchical_level; --}; -- - struct AXTree::OrderedSetContent { - explicit OrderedSetContent(const AXNode* ordered_set = nullptr) - : ordered_set_(ordered_set) {} -diff --git a/ui/accessibility/ax_tree.h b/ui/accessibility/ax_tree.h -index a51ca8de4..ef1633212 100644 ---- a/ui/accessibility/ax_tree.h -+++ b/ui/accessibility/ax_tree.h -@@ -328,7 +328,15 @@ class AX_EXPORT AXTree : public AXNode::OwnerTree { - bool enable_extra_mac_nodes_ = false; - - // Contains pos_in_set and set_size data for an AXNode. -- struct NodeSetSizePosInSetInfo; -+ struct NodeSetSizePosInSetInfo { -+ NodeSetSizePosInSetInfo() = default; -+ ~NodeSetSizePosInSetInfo() = default; -+ -+ int32_t pos_in_set = 0; -+ int32_t set_size = 0; -+ base::Optional<int> lowest_hierarchical_level; -+ }; -+ - - // Represents the content of an ordered set which includes the ordered set - // items and the ordered set container if it exists. diff --git a/www-client/chromium/files/chromium-base-include-84-r1.patch b/www-client/chromium/files/chromium-base-include-84-r1.patch deleted file mode 100644 index 1a17ed2..0000000 --- a/www-client/chromium/files/chromium-base-include-84-r1.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff --git a/base/check_op.h b/base/check_op.h -index 0943d0cc2..c16df8705 100644 ---- a/base/check_op.h -+++ b/base/check_op.h -@@ -6,6 +6,7 @@ - #define BASE_CHECK_OP_H_ - - #include <cstddef> -+#include <cstring> - #include <type_traits> - - #include "base/check.h" -diff --git a/base/debug/elf_reader.cc b/base/debug/elf_reader.cc -index aea4f3b03..1cf7bf50d 100644 ---- a/base/debug/elf_reader.cc -+++ b/base/debug/elf_reader.cc -@@ -4,6 +4,7 @@ - - #include "base/debug/elf_reader.h" - -+#include <string.h> - #include <arpa/inet.h> - #include <elf.h> - diff --git a/www-client/chromium/files/chromium-base-include-84-r2.patch b/www-client/chromium/files/chromium-base-include-84-r2.patch deleted file mode 100644 index 9ac745a..0000000 --- a/www-client/chromium/files/chromium-base-include-84-r2.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/base/check_op.h b/base/check_op.h -index 4816df4e8..0087dfe40 100644 ---- a/base/check_op.h -+++ b/base/check_op.h -@@ -6,6 +6,7 @@ - #define BASE_CHECK_OP_H_ - - #include <cstddef> -+#include <cstring> - #include <type_traits> - - #include "base/check.h" diff --git a/www-client/chromium/files/chromium-base-include-84.patch b/www-client/chromium/files/chromium-base-include-84.patch deleted file mode 100644 index 9c5846b..0000000 --- a/www-client/chromium/files/chromium-base-include-84.patch +++ /dev/null @@ -1,281 +0,0 @@ -diff --git a/base/big_endian.cc b/base/big_endian.cc -index 9e9e672e4..a706c4a4e 100644 ---- a/base/big_endian.cc -+++ b/base/big_endian.cc -@@ -4,6 +4,8 @@ - - #include "base/big_endian.h" - -+#include <string.h> -+ - #include "base/numerics/checked_math.h" - #include "base/strings/string_piece.h" - -diff --git a/base/check_op.cc b/base/check_op.cc -index 7e0806464..fcdb8df16 100644 ---- a/base/check_op.cc -+++ b/base/check_op.cc -@@ -12,6 +12,7 @@ - #endif - - #include <cstdio> -+#include <cstring> - #include <sstream> - - namespace logging { -diff --git a/base/debug/elf_reader.cc b/base/debug/elf_reader.cc -index aea4f3b03..1cf7bf50d 100644 ---- a/base/debug/elf_reader.cc -+++ b/base/debug/elf_reader.cc -@@ -4,6 +4,7 @@ - - #include "base/debug/elf_reader.h" - -+#include <string.h> - #include <arpa/inet.h> - #include <elf.h> - -diff --git a/base/files/dir_reader_linux.h b/base/files/dir_reader_linux.h -index f12deeb2f..194cd92b0 100644 ---- a/base/files/dir_reader_linux.h -+++ b/base/files/dir_reader_linux.h -@@ -7,6 +7,7 @@ - - #include <errno.h> - #include <fcntl.h> -+#include <string.h> - #include <stddef.h> - #include <stdint.h> - #include <sys/syscall.h> -diff --git a/base/logging.h b/base/logging.h -index 7644ec188..848718612 100644 ---- a/base/logging.h -+++ b/base/logging.h -@@ -6,6 +6,7 @@ - #define BASE_LOGGING_H_ - - #include <stddef.h> -+#include <string.h> - - #include <cassert> - #include <cstdint> -diff --git a/base/metrics/metrics_hashes.cc b/base/metrics/metrics_hashes.cc -index ef7072a4a..9cd2d5a93 100644 ---- a/base/metrics/metrics_hashes.cc -+++ b/base/metrics/metrics_hashes.cc -@@ -4,6 +4,8 @@ - - #include "base/metrics/metrics_hashes.h" - -+#include <string.h> -+ - #include "base/hash/md5.h" - #include "base/logging.h" - #include "base/sys_byteorder.h" -diff --git a/base/process/environment_internal.cc b/base/process/environment_internal.cc -index 357140fa6..44f5c6603 100644 ---- a/base/process/environment_internal.cc -+++ b/base/process/environment_internal.cc -@@ -5,6 +5,7 @@ - #include "base/process/environment_internal.h" - - #include <stddef.h> -+#include <string.h> - - #include <vector> - -diff --git a/base/strings/string16.cc b/base/strings/string16.cc -index 84962e671..b7df7e161 100644 ---- a/base/strings/string16.cc -+++ b/base/strings/string16.cc -@@ -4,6 +4,8 @@ - - #include "base/strings/string16.h" - -+#include <string.h> -+ - #if defined(WCHAR_T_IS_UTF16) && !defined(_AIX) - - #error This file should not be used on 2-byte wchar_t systems -diff --git a/base/strings/string_piece.cc b/base/strings/string_piece.cc -index c789bc2a0..bfaf99db5 100644 ---- a/base/strings/string_piece.cc -+++ b/base/strings/string_piece.cc -@@ -5,6 +5,7 @@ - - #include "base/strings/string_piece.h" - -+#include <string.h> - #include <limits.h> - - #include <algorithm> -diff --git a/base/strings/sys_string_conversions_posix.cc b/base/strings/sys_string_conversions_posix.cc -index ad794cae2..dad27eaa5 100644 ---- a/base/strings/sys_string_conversions_posix.cc -+++ b/base/strings/sys_string_conversions_posix.cc -@@ -4,6 +4,7 @@ - - #include "base/strings/sys_string_conversions.h" - -+#include <string.h> - #include <stddef.h> - #include <wchar.h> - -diff --git a/base/synchronization/lock_impl.h b/base/synchronization/lock_impl.h -index 830b878e8..cdb66fdca 100644 ---- a/base/synchronization/lock_impl.h -+++ b/base/synchronization/lock_impl.h -@@ -16,6 +16,7 @@ - #elif defined(OS_POSIX) || defined(OS_FUCHSIA) - #include <errno.h> - #include <pthread.h> -+#include <string.h> - #endif - - namespace base { -diff --git a/base/trace_event/blame_context.cc b/base/trace_event/blame_context.cc -index e7599efa8..4b82c5526 100644 ---- a/base/trace_event/blame_context.cc -+++ b/base/trace_event/blame_context.cc -@@ -25,7 +25,7 @@ BlameContext::BlameContext(const char* category, - parent_scope_(parent_context ? parent_context->scope() : nullptr), - parent_id_(parent_context ? parent_context->id() : 0), - category_group_enabled_(nullptr) { -- DCHECK(!parent_context || !std::strcmp(name_, parent_context->name())) -+ DCHECK(!parent_context || !strcmp(name_, parent_context->name())) - << "Parent blame context must have the same name"; - } - -diff --git a/components/network_hints/renderer/dns_prefetch_queue.cc b/components/network_hints/renderer/dns_prefetch_queue.cc -index af34d8df0..7905ad49d 100644 ---- a/components/network_hints/renderer/dns_prefetch_queue.cc -+++ b/components/network_hints/renderer/dns_prefetch_queue.cc -@@ -6,8 +6,11 @@ - - #include "components/network_hints/renderer/dns_prefetch_queue.h" - -+#include <cstring> -+ - #include "base/logging.h" - -+ - namespace network_hints { - - DnsQueue::DnsQueue(BufferSize size) -diff --git a/components/omnibox/browser/on_device_head_model.cc b/components/omnibox/browser/on_device_head_model.cc -index 0fa2ff25e..ad5e9386f 100644 ---- a/components/omnibox/browser/on_device_head_model.cc -+++ b/components/omnibox/browser/on_device_head_model.cc -@@ -4,6 +4,7 @@ - - #include "components/omnibox/browser/on_device_head_model.h" - -+#include <cstring> - #include <algorithm> - - #include "base/logging.h" -diff --git a/google_apis/gcm/base/socket_stream.cc b/google_apis/gcm/base/socket_stream.cc -index d9759e767..bc33dca40 100644 ---- a/google_apis/gcm/base/socket_stream.cc -+++ b/google_apis/gcm/base/socket_stream.cc -@@ -177,7 +177,7 @@ void SocketInputStream::RebuildBuffer() { - DVLOG(1) << "Have " << unread_data_size - << " unread bytes remaining, shifting."; - // Move any remaining unread data to the start of the buffer; -- std::memmove(io_buffer_->data(), unread_data_ptr, unread_data_size); -+ memmove(io_buffer_->data(), unread_data_ptr, unread_data_size); - } else { - DVLOG(1) << "Have " << unread_data_size << " unread bytes remaining."; - } -diff --git a/gpu/command_buffer/service/gles2_cmd_decoder.h b/gpu/command_buffer/service/gles2_cmd_decoder.h -index f4c3014d1..7491797e7 100644 ---- a/gpu/command_buffer/service/gles2_cmd_decoder.h -+++ b/gpu/command_buffer/service/gles2_cmd_decoder.h -@@ -9,6 +9,7 @@ - - #include <stdint.h> - -+#include <cstring> - #include <string> - #include <vector> - -diff --git a/gpu/vulkan/vulkan_device_queue.cc b/gpu/vulkan/vulkan_device_queue.cc -index 4d95330b5..a6a130593 100644 ---- a/gpu/vulkan/vulkan_device_queue.cc -+++ b/gpu/vulkan/vulkan_device_queue.cc -@@ -98,7 +98,7 @@ bool VulkanDeviceQueue::Initialize( - std::find_if(physical_device_info.extensions.begin(), - physical_device_info.extensions.end(), - [extension](const VkExtensionProperties& p) { -- return std::strcmp(extension, p.extensionName) == 0; -+ return strcmp(extension, p.extensionName) == 0; - }); - if (it == physical_device_info.extensions.end()) { - // On Fuchsia, some device extensions are provided by layers. -@@ -118,7 +118,7 @@ bool VulkanDeviceQueue::Initialize( - std::find_if(physical_device_info.extensions.begin(), - physical_device_info.extensions.end(), - [extension](const VkExtensionProperties& p) { -- return std::strcmp(extension, p.extensionName) == 0; -+ return strcmp(extension, p.extensionName) == 0; - }); - if (it == physical_device_info.extensions.end()) { - DLOG(ERROR) << "Optional Vulkan extension " << extension -@@ -255,4 +255,4 @@ std::unique_ptr<VulkanCommandPool> VulkanDeviceQueue::CreateCommandPool() { - return command_pool; - } - --} // namespace gpu -\ No newline at end of file -+} // namespace gpu -diff --git a/jingle/glue/fake_ssl_client_socket.cc b/jingle/glue/fake_ssl_client_socket.cc -index 54691d935..c61c6c8a1 100644 ---- a/jingle/glue/fake_ssl_client_socket.cc -+++ b/jingle/glue/fake_ssl_client_socket.cc -@@ -7,6 +7,7 @@ - #include <stddef.h> - #include <stdint.h> - #include <cstdlib> -+#include <cstring> - #include <utility> - - #include "base/bind.h" -diff --git a/net/base/datagram_buffer.cc b/net/base/datagram_buffer.cc -index 922d8486e..b7f737405 100644 ---- a/net/base/datagram_buffer.cc -+++ b/net/base/datagram_buffer.cc -@@ -42,7 +42,7 @@ DatagramBuffer::~DatagramBuffer() {} - - void DatagramBuffer::Set(const char* buffer, size_t buf_len) { - length_ = buf_len; -- std::memcpy(data_.get(), buffer, buf_len); -+ memcpy(data_.get(), buffer, buf_len); - } - - char* DatagramBuffer::data() const { -diff --git a/net/reporting/reporting_header_parser.cc b/net/reporting/reporting_header_parser.cc -index 3701d15bf..fc144ed63 100644 ---- a/net/reporting/reporting_header_parser.cc -+++ b/net/reporting/reporting_header_parser.cc -@@ -81,7 +81,7 @@ HeaderEndpointOutcome ProcessEndpoint( - - GURL endpoint_url; - // Support path-absolute-URL string -- if (std::strspn(endpoint_url_string.c_str(), "/") == 1) { -+ if (strspn(endpoint_url_string.c_str(), "/") == 1) { - endpoint_url = group_key.origin.GetURL().Resolve(endpoint_url_string); - } else { - endpoint_url = GURL(endpoint_url_string); -diff --git a/third_party/blink/renderer/core/layout/ng/inline/ng_inline_node.cc b/third_party/blink/renderer/core/layout/ng/inline/ng_inline_node.cc -index fbfdfedff..3b9fd967e 100644 ---- a/third_party/blink/renderer/core/layout/ng/inline/ng_inline_node.cc -+++ b/third_party/blink/renderer/core/layout/ng/inline/ng_inline_node.cc -@@ -891,7 +891,7 @@ void NGInlineNode::SegmentText(NGInlineNodeData* data) { - - // Segment NGInlineItem by script, Emoji, and orientation using RunSegmenter. - void NGInlineNode::SegmentScriptRuns(NGInlineNodeData* data) { -- DCHECK_EQ(data->segments, nullptr); -+ DCHECK_EQ(data->segments.get(), nullptr); - - String& text_content = data->text_content; - if (text_content.IsEmpty()) { diff --git a/www-client/chromium/files/chromium-blink-include-bitset-84.patch b/www-client/chromium/files/chromium-blink-include-bitset-84.patch deleted file mode 100644 index 95ed89c..0000000 --- a/www-client/chromium/files/chromium-blink-include-bitset-84.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/third_party/blink/common/input/web_touch_event.cc b/third_party/blink/common/input/web_touch_event.cc -index 7ef37fec6..b77be3bac 100644 ---- a/third_party/blink/common/input/web_touch_event.cc -+++ b/third_party/blink/common/input/web_touch_event.cc -@@ -4,6 +4,8 @@ - - #include "third_party/blink/public/common/input/web_touch_event.h" - -+#include <bitset> -+ - namespace blink { - - namespace { diff --git a/www-client/chromium/files/chromium-blink-include-limits-84.patch b/www-client/chromium/files/chromium-blink-include-limits-84.patch deleted file mode 100644 index 4c6b972..0000000 --- a/www-client/chromium/files/chromium-blink-include-limits-84.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/third_party/blink/renderer/platform/graphics/compositor_element_id.cc b/third_party/blink/renderer/platform/graphics/compositor_element_id.cc -index 86486ca89..a92d89cf2 100644 ---- a/third_party/blink/renderer/platform/graphics/compositor_element_id.cc -+++ b/third_party/blink/renderer/platform/graphics/compositor_element_id.cc -@@ -4,6 +4,8 @@ - - #include "third_party/blink/renderer/platform/graphics/compositor_element_id.h" - -+#include <limits> -+ - namespace blink { - - UniqueObjectId NewUniqueObjectId() { diff --git a/www-client/chromium/files/chromium-blink-include-memory-83.patch b/www-client/chromium/files/chromium-blink-include-memory-83.patch deleted file mode 100644 index b9a6929..0000000 --- a/www-client/chromium/files/chromium-blink-include-memory-83.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/third_party/blink/renderer/core/html/trust_token_attribute_parsing.h b/third_party/blink/renderer/core/html/trust_token_attribute_parsing.h -index f5a7ab038..ef19cfaf6 100644 ---- a/third_party/blink/renderer/core/html/trust_token_attribute_parsing.h -+++ b/third_party/blink/renderer/core/html/trust_token_attribute_parsing.h -@@ -5,6 +5,8 @@ - #ifndef THIRD_PARTY_BLINK_RENDERER_CORE_HTML_TRUST_TOKEN_ATTRIBUTE_PARSING_H_ - #define THIRD_PARTY_BLINK_RENDERER_CORE_HTML_TRUST_TOKEN_ATTRIBUTE_PARSING_H_ - -+#include <memory> -+ - #include "base/optional.h" - #include "services/network/public/mojom/trust_tokens.mojom-blink-forward.h" - #include "third_party/blink/renderer/core/core_export.h" diff --git a/www-client/chromium/files/chromium-blink-template.patch b/www-client/chromium/files/chromium-blink-template.patch deleted file mode 100644 index edaf74b..0000000 --- a/www-client/chromium/files/chromium-blink-template.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc b/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc -index d9fa696c9..028f9f270 100644 ---- a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc -+++ b/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc -@@ -1773,8 +1773,9 @@ void BaseRenderingContext2D::putImageData(ImageData* data, - data_length *= context_color_params.BytesPerPixel(); - if (!data_length.IsValid()) - return; -+ size_t dl=data_length.ValueOrDie(); - std::unique_ptr<uint8_t[]> converted_pixels( -- new uint8_t[data_length.ValueOrDie()]); -+ new uint8_t[dl]); - if (data->ImageDataInCanvasColorSettings( - ColorParams().ColorSpace(), PixelFormat(), converted_pixels.get(), - kRGBAColorType)) { diff --git a/www-client/chromium/files/chromium-bluetooth-tuple-84.patch b/www-client/chromium/files/chromium-bluetooth-tuple-84.patch deleted file mode 100644 index b01978c..0000000 --- a/www-client/chromium/files/chromium-bluetooth-tuple-84.patch +++ /dev/null @@ -1,51 +0,0 @@ -From ded9cf966b7a9b1986bd420866f7cec74e3c2eff Mon Sep 17 00:00:00 2001 -From: David Lechner <david@pybricks.com> -Date: Tue, 09 Jun 2020 11:15:09 -0500 -Subject: [PATCH] [bluetooth] fix compile error in dbus fake bluetooth device client - -This fixes a compile error that was accidentally introduced in -https://crrev.com/2191232. For unknown reasons this does not cause a -compile error with libc++, which is normally used with chromium, but -does cause an error with stdlibc++. - -The API for preparing write requests was not changed in -https://crrev.com/2191232, so the change that introduced this error -was incorrect anyway. This reverts the change that introduced the -error and adds the kTypeRequest argument to the call to WriteValue() -since that was the API that was actually changed in the prior CL. - -Bug: 1092470 -Change-Id: I6f6fe90ab42aea3db8cac95b69aee5095ea33b31 ---- - -diff --git a/device/bluetooth/dbus/fake_bluetooth_device_client.cc b/device/bluetooth/dbus/fake_bluetooth_device_client.cc -index f7136af..23c5fe3 100644 ---- a/device/bluetooth/dbus/fake_bluetooth_device_client.cc -+++ b/device/bluetooth/dbus/fake_bluetooth_device_client.cc -@@ -649,10 +649,9 @@ - for (const auto& prepare_write_request : prepare_write_requests_) { - bluez::BluezDBusManager::Get() - ->GetBluetoothGattCharacteristicClient() -- ->WriteValue(std::get<0>(prepare_write_request), -- std::get<1>(prepare_write_request), -- std::get<2>(prepare_write_request), base::DoNothing(), -- base::DoNothing()); -+ ->WriteValue(prepare_write_request.first, prepare_write_request.second, -+ bluetooth_gatt_characteristic::kTypeRequest, -+ base::DoNothing(), base::DoNothing()); - } - prepare_write_requests_.clear(); - std::move(callback).Run(); -diff --git a/device/bluetooth/dbus/fake_bluetooth_device_client.h b/device/bluetooth/dbus/fake_bluetooth_device_client.h -index b46715b5..98a9676 100644 ---- a/device/bluetooth/dbus/fake_bluetooth_device_client.h -+++ b/device/bluetooth/dbus/fake_bluetooth_device_client.h -@@ -384,7 +384,7 @@ - bool delay_start_discovery_; - - // Pending prepare write requests. -- std::vector<std::tuple<dbus::ObjectPath, std::vector<uint8_t>, std::string>> -+ std::vector<std::pair<dbus::ObjectPath, std::vector<uint8_t>>> - prepare_write_requests_; - - bool should_leave_connections_pending_; diff --git a/www-client/chromium/files/chromium-build-gn-83.patch b/www-client/chromium/files/chromium-build-gn-83.patch deleted file mode 100644 index e70ced6..0000000 --- a/www-client/chromium/files/chromium-build-gn-83.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff --git a/BUILD.gn b/BUILD.gn -index 4c1f89045..2bfac42ed 100644 ---- a/BUILD.gn -+++ b/BUILD.gn -@@ -1375,17 +1375,17 @@ if (closure_compile) { - # Because of the source assignment filter, many targets end up over-filtering - # their sources if the output directory contains a platform name. Assert that - # this doesn't happen. http://crbug.com/548283 --assert( -- filter_exclude([ "$root_build_dir/foo" ], -- # List copied from //build/config/BUILDCONFIG.gn. -- [ -- "*\bandroid/*", -- "*\bchromeos/*", -- "*\bcocoa/*", -- "*\bios/*", -- "*\blinux/*", -- "*\bmac/*", -- "*\bposix/*", -- "*\bwin/*", -- ]) != [], -- "Do not use a platform name in your output directory (found \"$root_build_dir\"). http://crbug.com/548283") -+#assert( -+# filter_exclude([ "$root_build_dir/foo" ], -+# # List copied from //build/config/BUILDCONFIG.gn. -+# [ -+# "*\bandroid/*", -+# "*\bchromeos/*", -+# "*\bcocoa/*", -+# "*\bios/*", -+# "*\blinux/*", -+# "*\bmac/*", -+# "*\bposix/*", -+# "*\bwin/*", -+# ]) != [], -+# "Do not use a platform name in your output directory (found \"$root_build_dir\"). http://crbug.com/548283") diff --git a/www-client/chromium/files/chromium-cc-matrics-include-84.patch b/www-client/chromium/files/chromium-cc-matrics-include-84.patch deleted file mode 100644 index b1fa0c7..0000000 --- a/www-client/chromium/files/chromium-cc-matrics-include-84.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/cc/metrics/lcd_text_metrics_reporter.h b/cc/metrics/lcd_text_metrics_reporter.h -index 921131797..b2aede915 100644 ---- a/cc/metrics/lcd_text_metrics_reporter.h -+++ b/cc/metrics/lcd_text_metrics_reporter.h -@@ -6,6 +6,7 @@ - #define CC_METRICS_LCD_TEXT_METRICS_REPORTER_H_ - - #include <cstdint> -+#include <memory> - - #include "base/time/time.h" - #include "cc/cc_export.h" diff --git a/www-client/chromium/files/chromium-cert-share-encrypted-85.patch b/www-client/chromium/files/chromium-cert-share-encrypted-85.patch deleted file mode 100644 index 1a393c4..0000000 --- a/www-client/chromium/files/chromium-cert-share-encrypted-85.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/chrome/browser/nearby_sharing/certificates/nearby_share_encrypted_metadata_key.h b/chrome/browser/nearby_sharing/certificates/nearby_share_encrypted_metadata_key.h -index 2893bdeef..6732a12a8 100644 ---- a/chrome/browser/nearby_sharing/certificates/nearby_share_encrypted_metadata_key.h -+++ b/chrome/browser/nearby_sharing/certificates/nearby_share_encrypted_metadata_key.h -@@ -5,6 +5,8 @@ - #ifndef CHROME_BROWSER_NEARBY_SHARING_CERTIFICATES_NEARBY_SHARE_ENCRYPTED_METADATA_KEY_H_ - #define CHROME_BROWSER_NEARBY_SHARING_CERTIFICATES_NEARBY_SHARE_ENCRYPTED_METADATA_KEY_H_ - -+#include <stdint.h> -+ - #include <vector> - - // Holds the encrypted symmetric key--the key used to encrypt user/device diff --git a/www-client/chromium/files/chromium-char-max-84.patch b/www-client/chromium/files/chromium-char-max-84.patch deleted file mode 100644 index 0f9c654..0000000 --- a/www-client/chromium/files/chromium-char-max-84.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/components/prefs/pref_value_map.cc b/components/prefs/pref_value_map.cc -index 8a203ac7a..18f160b6e 100644 ---- a/components/prefs/pref_value_map.cc -+++ b/components/prefs/pref_value_map.cc -@@ -4,6 +4,7 @@ - - #include "components/prefs/pref_value_map.h" - -+#include <climits> - #include <map> - #include <memory> - #include <utility> diff --git a/www-client/chromium/files/chromium-clang-format-path-82.patch b/www-client/chromium/files/chromium-clang-format-path-82.patch deleted file mode 100644 index b250479..0000000 --- a/www-client/chromium/files/chromium-clang-format-path-82.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/third_party/blink/renderer/bindings/scripts/bind_gen/style_format.py b/third_party/blink/renderer/bindings/scripts/bind_gen/style_format.py -index dc3493cc3..6eeb34a93 100644 ---- a/third_party/blink/renderer/bindings/scripts/bind_gen/style_format.py -+++ b/third_party/blink/renderer/bindings/scripts/bind_gen/style_format.py -@@ -36,7 +36,7 @@ def init(root_src_dir): - - # //buildtools/<platform>/clang-format - _clang_format_command_path = os.path.join( -- buildtools_platform_dir, "clang-format{}".format(exe_suffix)) -+ "/usr/lib/llvm/10/bin", "clang-format{}".format(exe_suffix)) - - # //buildtools/<platform>/gn - _gn_command_path = os.path.join(buildtools_platform_dir, diff --git a/www-client/chromium/files/chromium-compiler-76.patch b/www-client/chromium/files/chromium-compiler-76.patch deleted file mode 100644 index 66f80c0..0000000 --- a/www-client/chromium/files/chromium-compiler-76.patch +++ /dev/null @@ -1,160 +0,0 @@ -diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn -index f8a862a6b..41b30dd17 100644 ---- a/build/config/compiler/BUILD.gn -+++ b/build/config/compiler/BUILD.gn -@@ -230,8 +230,6 @@ config("compiler") { - - configs += [ - # See the definitions below. -- ":clang_revision", -- ":compiler_cpu_abi", - ":compiler_codegen", - ":compiler_deterministic", - ] -@@ -471,20 +469,6 @@ config("compiler") { - } - } - -- if (is_clang && !is_nacl && !use_xcode_clang) { -- cflags += [ "-fcrash-diagnostics-dir=" + -- rebase_path("//tools/clang/crashreports", root_build_dir) ] -- -- cflags += [ -- # TODO(hans): Remove this once Clang generates better optimized debug info -- # by default. https://crbug.com/765793 -- "-Xclang", -- "-mllvm", -- "-Xclang", -- "-instcombine-lower-dbg-declare=0", -- ] -- } -- - # C11/C++11 compiler flags setup. - # --------------------------- - if (is_linux || is_android || (is_nacl && is_clang) || current_os == "aix") { -@@ -1523,7 +1507,7 @@ config("chromium_code") { - defines = [ "_HAS_NODISCARD" ] - } - } else { -- cflags = [ "-Wall" ] -+ cflags = [] - if (treat_warnings_as_errors) { - cflags += [ "-Werror" ] - -@@ -1532,10 +1516,6 @@ config("chromium_code") { - # well. - ldflags = [ "-Werror" ] - } -- if (is_clang) { -- # Enable extra warnings for chromium_code when we control the compiler. -- cflags += [ "-Wextra" ] -- } - - # In Chromium code, we define __STDC_foo_MACROS in order to get the - # C99 macros on Mac and Linux. -@@ -1544,15 +1524,6 @@ config("chromium_code") { - "__STDC_FORMAT_MACROS", - ] - -- if (!is_debug && !using_sanitizer && current_cpu != "s390x" && -- current_cpu != "s390" && current_cpu != "ppc64" && -- current_cpu != "mips" && current_cpu != "mips64") { -- # Non-chromium code is not guaranteed to compile cleanly with -- # _FORTIFY_SOURCE. Also, fortified build may fail when optimizations are -- # disabled, so only do that for Release build. -- defines += [ "_FORTIFY_SOURCE=2" ] -- } -- - if (is_mac) { - cflags_objc = [ "-Wobjc-missing-property-synthesis" ] - cflags_objcc = [ "-Wobjc-missing-property-synthesis" ] -@@ -1941,7 +1912,8 @@ config("default_stack_frames") { - } - - # Default "optimization on" config. --config("optimize") { -+config("optimize") { } -+config("xoptimize") { - if (is_win) { - # TODO(thakis): Remove is_clang here, https://crbug.com/598772 - if (is_official_build && full_wpo_on_official && !is_clang) { -@@ -1975,7 +1947,8 @@ config("optimize") { - } - - # Same config as 'optimize' but without the WPO flag. --config("optimize_no_wpo") { -+config("optimize_no_wpo") { } -+config("xoptimize_no_wpo") { - if (is_win) { - # Favor size over speed, /O1 must be before the common flags. The GYP - # build also specifies /Os and /GF but these are implied by /O1. -@@ -1998,7 +1971,8 @@ config("optimize_no_wpo") { - } - - # Turn off optimizations. --config("no_optimize") { -+config("no_optimize") { } -+config("xno_optimize") { - if (is_win) { - cflags = [ - "/Od", # Disable optimization. -@@ -2026,7 +2000,8 @@ config("no_optimize") { - # Turns up the optimization level. On Windows, this implies whole program - # optimization and link-time code generation which is very expensive and should - # be used sparingly. --config("optimize_max") { -+config("optimize_max") { } -+config("xoptimize_max") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2073,7 +2048,8 @@ config("optimize_max") { - # - # TODO(crbug.com/621335) - rework how all of these configs are related - # so that we don't need this disclaimer. --config("optimize_speed") { -+config("optimize_speed") { } -+config("xoptimize_speed") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2111,7 +2087,8 @@ config("optimize_speed") { - } - } - --config("optimize_fuzzing") { -+config("optimize_fuzzing") { } -+config("xoptimize_fuzzing") { - cflags = [ "-O1" ] + common_optimize_on_cflags - ldflags = common_optimize_on_ldflags - visibility = [ ":default_optimization" ] -@@ -2213,7 +2190,8 @@ config("win_pdbaltpath") { - } - - # Full symbols. --config("symbols") { -+config("symbols") { } -+config("xsymbols") { - if (is_win) { - if (use_goma || is_clang) { - # Note that with VC++ this requires is_win_fastlink, enforced elsewhere. -@@ -2323,7 +2301,8 @@ config("symbols") { - # Minimal symbols. - # This config guarantees to hold symbol for stack trace which are shown to user - # when crash happens in unittests running on buildbot. --config("minimal_symbols") { -+config("minimal_symbols") { } -+config("xminimal_symbols") { - if (is_win) { - # Linker symbols for backtraces only. - cflags = [] -@@ -2380,7 +2359,8 @@ config("minimal_symbols") { - } - - # No symbols. --config("no_symbols") { -+config("no_symbols") { } -+config("xno_symbols") { - if (!is_win) { - cflags = [ "-g0" ] - asmflags = cflags diff --git a/www-client/chromium/files/chromium-compiler-77.patch b/www-client/chromium/files/chromium-compiler-77.patch deleted file mode 100644 index c311e47..0000000 --- a/www-client/chromium/files/chromium-compiler-77.patch +++ /dev/null @@ -1,160 +0,0 @@ -diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn -index 72cea8e47..1c59181f8 100644 ---- a/build/config/compiler/BUILD.gn -+++ b/build/config/compiler/BUILD.gn -@@ -233,8 +233,6 @@ config("compiler") { - - configs += [ - # See the definitions below. -- ":clang_revision", -- ":compiler_cpu_abi", - ":compiler_codegen", - ":compiler_deterministic", - ] -@@ -474,20 +472,6 @@ config("compiler") { - } - } - -- if (is_clang && !is_nacl && !use_xcode_clang) { -- cflags += [ "-fcrash-diagnostics-dir=" + -- rebase_path("//tools/clang/crashreports", root_build_dir) ] -- -- cflags += [ -- # TODO(hans): Remove this once Clang generates better optimized debug info -- # by default. https://crbug.com/765793 -- "-Xclang", -- "-mllvm", -- "-Xclang", -- "-instcombine-lower-dbg-declare=0", -- ] -- } -- - # C11/C++11 compiler flags setup. - # --------------------------- - if (is_linux || is_android || (is_nacl && is_clang) || current_os == "aix") { -@@ -1533,7 +1517,7 @@ config("chromium_code") { - defines = [ "_HAS_NODISCARD" ] - } - } else { -- cflags = [ "-Wall" ] -+ cflags = [] - if (treat_warnings_as_errors) { - cflags += [ "-Werror" ] - -@@ -1542,10 +1526,6 @@ config("chromium_code") { - # well. - ldflags = [ "-Werror" ] - } -- if (is_clang) { -- # Enable extra warnings for chromium_code when we control the compiler. -- cflags += [ "-Wextra" ] -- } - - # In Chromium code, we define __STDC_foo_MACROS in order to get the - # C99 macros on Mac and Linux. -@@ -1554,15 +1534,6 @@ config("chromium_code") { - "__STDC_FORMAT_MACROS", - ] - -- if (!is_debug && !using_sanitizer && current_cpu != "s390x" && -- current_cpu != "s390" && current_cpu != "ppc64" && -- current_cpu != "mips" && current_cpu != "mips64") { -- # Non-chromium code is not guaranteed to compile cleanly with -- # _FORTIFY_SOURCE. Also, fortified build may fail when optimizations are -- # disabled, so only do that for Release build. -- defines += [ "_FORTIFY_SOURCE=2" ] -- } -- - if (is_mac) { - cflags_objc = [ "-Wobjc-missing-property-synthesis" ] - cflags_objcc = [ "-Wobjc-missing-property-synthesis" ] -@@ -1951,7 +1922,8 @@ config("default_stack_frames") { - } - - # Default "optimization on" config. --config("optimize") { -+config("optimize") { } -+config("xoptimize") { - if (is_win) { - # TODO(thakis): Remove is_clang here, https://crbug.com/598772 - if (is_official_build && full_wpo_on_official && !is_clang) { -@@ -1985,7 +1957,8 @@ config("optimize") { - } - - # Same config as 'optimize' but without the WPO flag. --config("optimize_no_wpo") { -+config("optimize_no_wpo") { } -+config("xoptimize_no_wpo") { - if (is_win) { - # Favor size over speed, /O1 must be before the common flags. The GYP - # build also specifies /Os and /GF but these are implied by /O1. -@@ -2008,7 +1981,8 @@ config("optimize_no_wpo") { - } - - # Turn off optimizations. --config("no_optimize") { -+config("no_optimize") { } -+config("xno_optimize") { - if (is_win) { - cflags = [ - "/Od", # Disable optimization. -@@ -2036,7 +2010,8 @@ config("no_optimize") { - # Turns up the optimization level. On Windows, this implies whole program - # optimization and link-time code generation which is very expensive and should - # be used sparingly. --config("optimize_max") { -+config("optimize_max") { } -+config("xoptimize_max") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2083,7 +2058,8 @@ config("optimize_max") { - # - # TODO(crbug.com/621335) - rework how all of these configs are related - # so that we don't need this disclaimer. --config("optimize_speed") { -+config("optimize_speed") { } -+config("xoptimize_speed") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2121,7 +2097,8 @@ config("optimize_speed") { - } - } - --config("optimize_fuzzing") { -+config("optimize_fuzzing") { } -+config("xoptimize_fuzzing") { - cflags = [ "-O1" ] + common_optimize_on_cflags - ldflags = common_optimize_on_ldflags - visibility = [ ":default_optimization" ] -@@ -2223,7 +2200,8 @@ config("win_pdbaltpath") { - } - - # Full symbols. --config("symbols") { -+config("symbols") { } -+config("xsymbols") { - if (is_win) { - if (use_goma || is_clang) { - # Note that with VC++ this requires is_win_fastlink, enforced elsewhere. -@@ -2333,7 +2311,8 @@ config("symbols") { - # Minimal symbols. - # This config guarantees to hold symbol for stack trace which are shown to user - # when crash happens in unittests running on buildbot. --config("minimal_symbols") { -+config("minimal_symbols") { } -+config("xminimal_symbols") { - if (is_win) { - # Functions, files, and line tables only. - cflags = [] -@@ -2388,7 +2367,8 @@ config("minimal_symbols") { - } - - # No symbols. --config("no_symbols") { -+config("no_symbols") { } -+config("xno_symbols") { - if (!is_win) { - cflags = [ "-g0" ] - asmflags = cflags diff --git a/www-client/chromium/files/chromium-compiler-78.patch b/www-client/chromium/files/chromium-compiler-78.patch deleted file mode 100644 index 77a8f60..0000000 --- a/www-client/chromium/files/chromium-compiler-78.patch +++ /dev/null @@ -1,160 +0,0 @@ -diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn -index bd7245d9a..71d27bcf9 100644 ---- a/build/config/compiler/BUILD.gn -+++ b/build/config/compiler/BUILD.gn -@@ -248,8 +248,6 @@ config("compiler") { - - configs += [ - # See the definitions below. -- ":clang_revision", -- ":compiler_cpu_abi", - ":compiler_codegen", - ":compiler_deterministic", - ] -@@ -489,20 +487,6 @@ config("compiler") { - } - } - -- if (is_clang && !is_nacl && !use_xcode_clang) { -- cflags += [ "-fcrash-diagnostics-dir=" + -- rebase_path("//tools/clang/crashreports", root_build_dir) ] -- -- cflags += [ -- # TODO(hans): Remove this once Clang generates better optimized debug info -- # by default. https://crbug.com/765793 -- "-Xclang", -- "-mllvm", -- "-Xclang", -- "-instcombine-lower-dbg-declare=0", -- ] -- } -- - # C11/C++11 compiler flags setup. - # --------------------------- - if (is_linux || is_android || (is_nacl && is_clang) || current_os == "aix") { -@@ -1538,7 +1522,7 @@ config("chromium_code") { - defines = [ "_HAS_NODISCARD" ] - } - } else { -- cflags = [ "-Wall" ] -+ cflags = [] - if (treat_warnings_as_errors) { - cflags += [ "-Werror" ] - -@@ -1547,10 +1531,6 @@ config("chromium_code") { - # well. - ldflags = [ "-Werror" ] - } -- if (is_clang) { -- # Enable extra warnings for chromium_code when we control the compiler. -- cflags += [ "-Wextra" ] -- } - - # In Chromium code, we define __STDC_foo_MACROS in order to get the - # C99 macros on Mac and Linux. -@@ -1559,15 +1539,6 @@ config("chromium_code") { - "__STDC_FORMAT_MACROS", - ] - -- if (!is_debug && !using_sanitizer && current_cpu != "s390x" && -- current_cpu != "s390" && current_cpu != "ppc64" && -- current_cpu != "mips" && current_cpu != "mips64") { -- # Non-chromium code is not guaranteed to compile cleanly with -- # _FORTIFY_SOURCE. Also, fortified build may fail when optimizations are -- # disabled, so only do that for Release build. -- defines += [ "_FORTIFY_SOURCE=2" ] -- } -- - if (is_mac) { - cflags_objc = [ "-Wobjc-missing-property-synthesis" ] - cflags_objcc = [ "-Wobjc-missing-property-synthesis" ] -@@ -1968,7 +1939,8 @@ config("default_stack_frames") { - } - - # Default "optimization on" config. --config("optimize") { -+config("optimize") { } -+config("xoptimize") { - if (is_win) { - # TODO(thakis): Remove is_clang here, https://crbug.com/598772 - if (is_official_build && full_wpo_on_official && !is_clang) { -@@ -1994,7 +1966,8 @@ config("optimize") { - } - - # Same config as 'optimize' but without the WPO flag. --config("optimize_no_wpo") { -+config("optimize_no_wpo") { } -+config("xoptimize_no_wpo") { - if (is_win) { - # Favor size over speed, /O1 must be before the common flags. The GYP - # build also specifies /Os and /GF but these are implied by /O1. -@@ -2017,7 +1990,8 @@ config("optimize_no_wpo") { - } - - # Turn off optimizations. --config("no_optimize") { -+config("no_optimize") { } -+config("xno_optimize") { - if (is_win) { - cflags = [ - "/Od", # Disable optimization. -@@ -2045,7 +2019,8 @@ config("no_optimize") { - # Turns up the optimization level. On Windows, this implies whole program - # optimization and link-time code generation which is very expensive and should - # be used sparingly. --config("optimize_max") { -+config("optimize_max") { } -+config("xoptimize_max") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2084,7 +2059,8 @@ config("optimize_max") { - # - # TODO(crbug.com/621335) - rework how all of these configs are related - # so that we don't need this disclaimer. --config("optimize_speed") { -+config("optimize_speed") { } -+config("xoptimize_speed") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2114,7 +2090,8 @@ config("optimize_speed") { - } - } - --config("optimize_fuzzing") { -+config("optimize_fuzzing") { } -+config("xoptimize_fuzzing") { - cflags = [ "-O1" ] + common_optimize_on_cflags - ldflags = common_optimize_on_ldflags - visibility = [ ":default_optimization" ] -@@ -2216,7 +2193,8 @@ config("win_pdbaltpath") { - } - - # Full symbols. --config("symbols") { -+config("symbols") { } -+config("xsymbols") { - if (is_win) { - if (use_goma || is_clang) { - # Note that with VC++ this requires is_win_fastlink, enforced elsewhere. -@@ -2326,7 +2304,8 @@ config("symbols") { - # Minimal symbols. - # This config guarantees to hold symbol for stack trace which are shown to user - # when crash happens in unittests running on buildbot. --config("minimal_symbols") { -+config("minimal_symbols") { } -+config("xminimal_symbols") { - if (is_win) { - # Functions, files, and line tables only. - cflags = [] -@@ -2381,7 +2360,8 @@ config("minimal_symbols") { - } - - # No symbols. --config("no_symbols") { -+config("no_symbols") { } -+config("xno_symbols") { - if (!is_win) { - cflags = [ "-g0" ] - asmflags = cflags diff --git a/www-client/chromium/files/chromium-compiler-82.patch b/www-client/chromium/files/chromium-compiler-82.patch deleted file mode 100644 index 62ca00c..0000000 --- a/www-client/chromium/files/chromium-compiler-82.patch +++ /dev/null @@ -1,166 +0,0 @@ -diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn -index e40194e3f..b47385c34 100644 ---- a/build/config/compiler/BUILD.gn -+++ b/build/config/compiler/BUILD.gn -@@ -260,8 +260,6 @@ config("compiler") { - - configs += [ - # See the definitions below. -- ":clang_revision", -- ":compiler_cpu_abi", - ":compiler_codegen", - ":compiler_deterministic", - ] -@@ -486,26 +484,6 @@ config("compiler") { - } - } - -- if (is_clang && !is_nacl && !use_xcode_clang) { -- cflags += [ "-fcrash-diagnostics-dir=" + -- rebase_path("//tools/clang/crashreports", root_build_dir) ] -- -- cflags += [ -- # TODO(hans): Remove this once Clang generates better optimized debug info -- # by default. https://crbug.com/765793 -- "-Xclang", -- "-mllvm", -- "-Xclang", -- "-instcombine-lower-dbg-declare=0", -- ] -- -- if (target_os != "chromeos") { -- # TODO(https://crbug.com/1049161): Remove '-DCLANG_SPAWN_CC1=ON' from build.py instead -- # once this change has marinated a bit. -- cflags += [ "-fintegrated-cc1" ] -- } -- } -- - # C11/C++11 compiler flags setup. - # --------------------------- - if (is_linux || is_android || (is_nacl && is_clang) || current_os == "aix") { -@@ -1577,7 +1555,7 @@ config("chromium_code") { - defines = [ "_HAS_NODISCARD" ] - } - } else { -- cflags = [ "-Wall" ] -+ cflags = [ ] - if (treat_warnings_as_errors) { - cflags += [ "-Werror" ] - -@@ -1586,10 +1564,6 @@ config("chromium_code") { - # well. - ldflags = [ "-Werror" ] - } -- if (is_clang) { -- # Enable extra warnings for chromium_code when we control the compiler. -- cflags += [ "-Wextra" ] -- } - - # In Chromium code, we define __STDC_foo_MACROS in order to get the - # C99 macros on Mac and Linux. -@@ -1598,15 +1572,6 @@ config("chromium_code") { - "__STDC_FORMAT_MACROS", - ] - -- if (!is_debug && !using_sanitizer && current_cpu != "s390x" && -- current_cpu != "s390" && current_cpu != "ppc64" && -- current_cpu != "mips" && current_cpu != "mips64") { -- # Non-chromium code is not guaranteed to compile cleanly with -- # _FORTIFY_SOURCE. Also, fortified build may fail when optimizations are -- # disabled, so only do that for Release build. -- defines += [ "_FORTIFY_SOURCE=2" ] -- } -- - if (is_mac) { - cflags_objc = [ "-Wobjc-missing-property-synthesis" ] - cflags_objcc = [ "-Wobjc-missing-property-synthesis" ] -@@ -2010,7 +1975,8 @@ config("default_stack_frames") { - } - - # Default "optimization on" config. --config("optimize") { -+config("optimize") { } -+config("xoptimize") { - if (is_win) { - # TODO(thakis): Remove is_clang here, https://crbug.com/598772 - if (is_official_build && full_wpo_on_official && !is_clang) { -@@ -2036,7 +2002,8 @@ config("optimize") { - } - - # Same config as 'optimize' but without the WPO flag. --config("optimize_no_wpo") { -+config("optimize_no_wpo") { } -+config("xoptimize_no_wpo") { - if (is_win) { - # Favor size over speed, /O1 must be before the common flags. The GYP - # build also specifies /Os and /GF but these are implied by /O1. -@@ -2059,7 +2026,8 @@ config("optimize_no_wpo") { - } - - # Turn off optimizations. --config("no_optimize") { -+config("no_optimize") { } -+config("xno_optimize") { - if (is_win) { - cflags = [ - "/Od", # Disable optimization. -@@ -2093,7 +2061,8 @@ config("no_optimize") { - # Turns up the optimization level. On Windows, this implies whole program - # optimization and link-time code generation which is very expensive and should - # be used sparingly. --config("optimize_max") { -+config("optimize_max") { } -+config("xoptimize_max") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2132,7 +2101,8 @@ config("optimize_max") { - # - # TODO(crbug.com/621335) - rework how all of these configs are related - # so that we don't need this disclaimer. --config("optimize_speed") { -+config("optimize_speed") { } -+config("xoptimize_speed") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2162,7 +2132,8 @@ config("optimize_speed") { - } - } - --config("optimize_fuzzing") { -+config("optimize_fuzzing") { } -+config("xoptimize_fuzzing") { - cflags = [ "-O1" ] + common_optimize_on_cflags - ldflags = common_optimize_on_ldflags - visibility = [ ":default_optimization" ] -@@ -2278,7 +2249,8 @@ config("win_pdbaltpath") { - } - - # Full symbols. --config("symbols") { -+config("symbols") { } -+config("xsymbols") { - if (is_win) { - if (use_goma || is_clang) { - # Note that with VC++ this requires is_win_fastlink, enforced elsewhere. -@@ -2388,7 +2360,8 @@ config("symbols") { - # Minimal symbols. - # This config guarantees to hold symbol for stack trace which are shown to user - # when crash happens in unittests running on buildbot. --config("minimal_symbols") { -+config("minimal_symbols") { } -+config("xminimal_symbols") { - if (is_win) { - # Functions, files, and line tables only. - cflags = [] -@@ -2443,7 +2416,8 @@ config("minimal_symbols") { - } - - # No symbols. --config("no_symbols") { -+config("no_symbols") { } -+config("xno_symbols") { - if (!is_win) { - cflags = [ "-g0" ] - asmflags = cflags diff --git a/www-client/chromium/files/chromium-compiler-83.patch b/www-client/chromium/files/chromium-compiler-83.patch deleted file mode 100644 index cb3c343..0000000 --- a/www-client/chromium/files/chromium-compiler-83.patch +++ /dev/null @@ -1,150 +0,0 @@ -diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn -index 6f096b953..0e84f4450 100644 ---- a/build/config/compiler/BUILD.gn -+++ b/build/config/compiler/BUILD.gn -@@ -261,8 +261,6 @@ config("compiler") { - - configs += [ - # See the definitions below. -- ":clang_revision", -- ":compiler_cpu_abi", - ":compiler_codegen", - ":compiler_deterministic", - ] -@@ -485,20 +483,6 @@ config("compiler") { - } - } - -- if (is_clang && !is_nacl && !use_xcode_clang) { -- cflags += [ "-fcrash-diagnostics-dir=" + -- rebase_path("//tools/clang/crashreports", root_build_dir) ] -- -- cflags += [ -- # TODO(hans): Remove this once Clang generates better optimized debug info -- # by default. https://crbug.com/765793 -- "-Xclang", -- "-mllvm", -- "-Xclang", -- "-instcombine-lower-dbg-declare=0", -- ] -- } -- - # C11/C++11 compiler flags setup. - # --------------------------- - if (is_linux || is_android || (is_nacl && is_clang) || current_os == "aix") { -@@ -1545,7 +1529,7 @@ config("chromium_code") { - defines = [ "_HAS_NODISCARD" ] - } - } else { -- cflags = [ "-Wall" ] -+ cflags = [ ] - if (treat_warnings_as_errors) { - cflags += [ "-Werror" ] - -@@ -1554,10 +1538,6 @@ config("chromium_code") { - # well. - ldflags = [ "-Werror" ] - } -- if (is_clang) { -- # Enable extra warnings for chromium_code when we control the compiler. -- cflags += [ "-Wextra" ] -- } - - # In Chromium code, we define __STDC_foo_MACROS in order to get the - # C99 macros on Mac and Linux. -@@ -1566,15 +1546,6 @@ config("chromium_code") { - "__STDC_FORMAT_MACROS", - ] - -- if (!is_debug && !using_sanitizer && current_cpu != "s390x" && -- current_cpu != "s390" && current_cpu != "ppc64" && -- current_cpu != "mips" && current_cpu != "mips64") { -- # Non-chromium code is not guaranteed to compile cleanly with -- # _FORTIFY_SOURCE. Also, fortified build may fail when optimizations are -- # disabled, so only do that for Release build. -- defines += [ "_FORTIFY_SOURCE=2" ] -- } -- - if (is_mac) { - cflags_objc = [ "-Wobjc-missing-property-synthesis" ] - cflags_objcc = [ "-Wobjc-missing-property-synthesis" ] -@@ -1973,7 +1944,8 @@ config("default_stack_frames") { - } - - # Default "optimization on" config. --config("optimize") { -+config("optimize") { } -+config("xoptimize") { - if (is_win) { - # Favor size over speed, /O1 must be before the common flags. - # /O1 implies /Os and /GF. -@@ -1994,7 +1966,8 @@ config("optimize") { - } - - # Turn off optimizations. --config("no_optimize") { -+config("no_optimize") { } -+config("xno_optimize") { - if (is_win) { - cflags = [ - "/Od", # Disable optimization. -@@ -2028,7 +2001,8 @@ config("no_optimize") { - # Turns up the optimization level. On Windows, this implies whole program - # optimization and link-time code generation which is very expensive and should - # be used sparingly. --config("optimize_max") { -+config("optimize_max") { } -+config("xoptimize_max") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2060,7 +2034,8 @@ config("optimize_max") { - # - # TODO(crbug.com/621335) - rework how all of these configs are related - # so that we don't need this disclaimer. --config("optimize_speed") { -+config("optimize_speed") { } -+config("xoptimize_speed") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2085,7 +2060,8 @@ config("optimize_speed") { - } - } - --config("optimize_fuzzing") { -+config("optimize_fuzzing") { } -+config("xoptimize_fuzzing") { - cflags = [ "-O1" ] + common_optimize_on_cflags - ldflags = common_optimize_on_ldflags - visibility = [ ":default_optimization" ] -@@ -2201,7 +2177,8 @@ config("win_pdbaltpath") { - } - - # Full symbols. --config("symbols") { -+config("symbols") { } -+config("xsymbols") { - if (is_win) { - if (is_clang) { - cflags = [ "/Z7" ] # Debug information in the .obj files. -@@ -2307,7 +2284,8 @@ config("symbols") { - # Minimal symbols. - # This config guarantees to hold symbol for stack trace which are shown to user - # when crash happens in unittests running on buildbot. --config("minimal_symbols") { -+config("minimal_symbols") { } -+config("xminimal_symbols") { - if (is_win) { - # Functions, files, and line tables only. - cflags = [] -@@ -2364,7 +2342,8 @@ config("minimal_symbols") { - # This configuration contains function names only. That is, the compiler is - # told to not generate debug information and the linker then just puts function - # names in the final debug information. --config("no_symbols") { -+config("no_symbols") { } -+config("xno_symbols") { - if (is_win) { - ldflags = [ "/DEBUG" ] - diff --git a/www-client/chromium/files/chromium-compiler-84-r1.patch b/www-client/chromium/files/chromium-compiler-84-r1.patch deleted file mode 100644 index 2ad6be7..0000000 --- a/www-client/chromium/files/chromium-compiler-84-r1.patch +++ /dev/null @@ -1,150 +0,0 @@ -diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn -index 571d37f9d..fc7905808 100644 ---- a/build/config/compiler/BUILD.gn -+++ b/build/config/compiler/BUILD.gn -@@ -265,8 +265,6 @@ config("compiler") { - - configs += [ - # See the definitions below. -- ":clang_revision", -- ":compiler_cpu_abi", - ":compiler_codegen", - ":compiler_deterministic", - ] -@@ -495,20 +493,6 @@ config("compiler") { - ldflags += [ "-Wl,-z,keep-text-section-prefix" ] - } - -- if (is_clang && !is_nacl && !use_xcode_clang) { -- cflags += [ "-fcrash-diagnostics-dir=" + -- rebase_path("//tools/clang/crashreports", root_build_dir) ] -- -- cflags += [ -- # TODO(hans): Remove this once Clang generates better optimized debug info -- # by default. https://crbug.com/765793 -- "-Xclang", -- "-mllvm", -- "-Xclang", -- "-instcombine-lower-dbg-declare=0", -- ] -- } -- - # C11/C++11 compiler flags setup. - # --------------------------- - if (is_linux || is_android || (is_nacl && is_clang) || current_os == "aix") { -@@ -1543,7 +1527,7 @@ config("chromium_code") { - defines = [ "_HAS_NODISCARD" ] - } - } else { -- cflags = [ "-Wall" ] -+ cflags = [ ] - if (treat_warnings_as_errors) { - cflags += [ "-Werror" ] - -@@ -1552,10 +1536,6 @@ config("chromium_code") { - # well. - ldflags = [ "-Werror" ] - } -- if (is_clang) { -- # Enable extra warnings for chromium_code when we control the compiler. -- cflags += [ "-Wextra" ] -- } - - # In Chromium code, we define __STDC_foo_MACROS in order to get the - # C99 macros on Mac and Linux. -@@ -1564,15 +1544,6 @@ config("chromium_code") { - "__STDC_FORMAT_MACROS", - ] - -- if (!is_debug && !using_sanitizer && current_cpu != "s390x" && -- current_cpu != "s390" && current_cpu != "ppc64" && -- current_cpu != "mips" && current_cpu != "mips64") { -- # Non-chromium code is not guaranteed to compile cleanly with -- # _FORTIFY_SOURCE. Also, fortified build may fail when optimizations are -- # disabled, so only do that for Release build. -- defines += [ "_FORTIFY_SOURCE=2" ] -- } -- - if (is_mac) { - cflags_objc = [ "-Wobjc-missing-property-synthesis" ] - cflags_objcc = [ "-Wobjc-missing-property-synthesis" ] -@@ -1970,7 +1941,8 @@ config("default_stack_frames") { - } - - # Default "optimization on" config. --config("optimize") { -+config("optimize") { } -+config("xoptimize") { - if (is_win) { - if (chrome_pgo_phase != 2) { - # Favor size over speed, /O1 must be before the common flags. -@@ -1997,7 +1969,8 @@ config("optimize") { - } - - # Turn off optimizations. --config("no_optimize") { -+config("no_optimize") { } -+config("xno_optimize") { - if (is_win) { - cflags = [ - "/Od", # Disable optimization. -@@ -2031,7 +2004,8 @@ config("no_optimize") { - # Turns up the optimization level. On Windows, this implies whole program - # optimization and link-time code generation which is very expensive and should - # be used sparingly. --config("optimize_max") { -+config("optimize_max") { } -+config("xoptimize_max") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2063,7 +2037,8 @@ config("optimize_max") { - # - # TODO(crbug.com/621335) - rework how all of these configs are related - # so that we don't need this disclaimer. --config("optimize_speed") { -+config("optimize_speed") { } -+config("xoptimize_speed") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2088,7 +2063,8 @@ config("optimize_speed") { - } - } - --config("optimize_fuzzing") { -+config("optimize_fuzzing") { } -+config("xoptimize_fuzzing") { - cflags = [ "-O1" ] + common_optimize_on_cflags - ldflags = common_optimize_on_ldflags - visibility = [ ":default_optimization" ] -@@ -2204,7 +2180,8 @@ config("win_pdbaltpath") { - } - - # Full symbols. --config("symbols") { -+config("symbols") { } -+config("xsymbols") { - if (is_win) { - if (is_clang) { - cflags = [ "/Z7" ] # Debug information in the .obj files. -@@ -2310,7 +2287,8 @@ config("symbols") { - # Minimal symbols. - # This config guarantees to hold symbol for stack trace which are shown to user - # when crash happens in unittests running on buildbot. --config("minimal_symbols") { -+config("minimal_symbols") { } -+config("xminimal_symbols") { - if (is_win) { - # Functions, files, and line tables only. - cflags = [] -@@ -2367,7 +2345,8 @@ config("minimal_symbols") { - # This configuration contains function names only. That is, the compiler is - # told to not generate debug information and the linker then just puts function - # names in the final debug information. --config("no_symbols") { -+config("no_symbols") { } -+config("xno_symbols") { - if (is_win) { - ldflags = [ "/DEBUG" ] - diff --git a/www-client/chromium/files/chromium-compiler-84.patch b/www-client/chromium/files/chromium-compiler-84.patch deleted file mode 100644 index 76057d1..0000000 --- a/www-client/chromium/files/chromium-compiler-84.patch +++ /dev/null @@ -1,150 +0,0 @@ -diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn -index 4c5e6779e..9280e746f 100644 ---- a/build/config/compiler/BUILD.gn -+++ b/build/config/compiler/BUILD.gn -@@ -270,8 +270,6 @@ config("compiler") { - - configs += [ - # See the definitions below. -- ":clang_revision", -- ":compiler_cpu_abi", - ":compiler_codegen", - ":compiler_deterministic", - ] -@@ -500,20 +498,6 @@ config("compiler") { - ldflags += [ "-Wl,-z,keep-text-section-prefix" ] - } - -- if (is_clang && !is_nacl && !use_xcode_clang) { -- cflags += [ "-fcrash-diagnostics-dir=" + -- rebase_path("//tools/clang/crashreports", root_build_dir) ] -- -- cflags += [ -- # TODO(hans): Remove this once Clang generates better optimized debug info -- # by default. https://crbug.com/765793 -- "-Xclang", -- "-mllvm", -- "-Xclang", -- "-instcombine-lower-dbg-declare=0", -- ] -- } -- - # C11/C++11 compiler flags setup. - # --------------------------- - if (is_linux || is_android || (is_nacl && is_clang) || current_os == "aix") { -@@ -1560,7 +1544,7 @@ config("chromium_code") { - defines = [ "_HAS_NODISCARD" ] - } - } else { -- cflags = [ "-Wall" ] -+ cflags = [ ] - if (treat_warnings_as_errors) { - cflags += [ "-Werror" ] - -@@ -1569,10 +1553,6 @@ config("chromium_code") { - # well. - ldflags = [ "-Werror" ] - } -- if (is_clang) { -- # Enable extra warnings for chromium_code when we control the compiler. -- cflags += [ "-Wextra" ] -- } - - # In Chromium code, we define __STDC_foo_MACROS in order to get the - # C99 macros on Mac and Linux. -@@ -1581,15 +1561,6 @@ config("chromium_code") { - "__STDC_FORMAT_MACROS", - ] - -- if (!is_debug && !using_sanitizer && current_cpu != "s390x" && -- current_cpu != "s390" && current_cpu != "ppc64" && -- current_cpu != "mips" && current_cpu != "mips64") { -- # Non-chromium code is not guaranteed to compile cleanly with -- # _FORTIFY_SOURCE. Also, fortified build may fail when optimizations are -- # disabled, so only do that for Release build. -- defines += [ "_FORTIFY_SOURCE=2" ] -- } -- - if (is_mac) { - cflags_objc = [ "-Wobjc-missing-property-synthesis" ] - cflags_objcc = [ "-Wobjc-missing-property-synthesis" ] -@@ -1987,7 +1958,8 @@ config("default_stack_frames") { - } - - # Default "optimization on" config. --config("optimize") { -+config("optimize") { } -+config("xoptimize") { - if (is_win) { - # Favor size over speed, /O1 must be before the common flags. - # /O1 implies /Os and /GF. -@@ -2008,7 +1980,8 @@ config("optimize") { - } - - # Turn off optimizations. --config("no_optimize") { -+config("no_optimize") { } -+config("xno_optimize") { - if (is_win) { - cflags = [ - "/Od", # Disable optimization. -@@ -2042,7 +2015,8 @@ config("no_optimize") { - # Turns up the optimization level. On Windows, this implies whole program - # optimization and link-time code generation which is very expensive and should - # be used sparingly. --config("optimize_max") { -+config("optimize_max") { } -+config("xoptimize_max") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2074,7 +2048,8 @@ config("optimize_max") { - # - # TODO(crbug.com/621335) - rework how all of these configs are related - # so that we don't need this disclaimer. --config("optimize_speed") { -+config("optimize_speed") { } -+config("xoptimize_speed") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2099,7 +2074,8 @@ config("optimize_speed") { - } - } - --config("optimize_fuzzing") { -+config("optimize_fuzzing") { } -+config("xoptimize_fuzzing") { - cflags = [ "-O1" ] + common_optimize_on_cflags - ldflags = common_optimize_on_ldflags - visibility = [ ":default_optimization" ] -@@ -2215,7 +2191,8 @@ config("win_pdbaltpath") { - } - - # Full symbols. --config("symbols") { -+config("symbols") { } -+config("xsymbols") { - if (is_win) { - if (is_clang) { - cflags = [ "/Z7" ] # Debug information in the .obj files. -@@ -2321,7 +2298,8 @@ config("symbols") { - # Minimal symbols. - # This config guarantees to hold symbol for stack trace which are shown to user - # when crash happens in unittests running on buildbot. --config("minimal_symbols") { -+config("minimal_symbols") { } -+config("xminimal_symbols") { - if (is_win) { - # Functions, files, and line tables only. - cflags = [] -@@ -2378,7 +2356,8 @@ config("minimal_symbols") { - # This configuration contains function names only. That is, the compiler is - # told to not generate debug information and the linker then just puts function - # names in the final debug information. --config("no_symbols") { -+config("no_symbols") { } -+config("xno_symbols") { - if (is_win) { - ldflags = [ "/DEBUG" ] - diff --git a/www-client/chromium/files/chromium-compiler-86.patch b/www-client/chromium/files/chromium-compiler-86.patch deleted file mode 100644 index a740297..0000000 --- a/www-client/chromium/files/chromium-compiler-86.patch +++ /dev/null @@ -1,162 +0,0 @@ -diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn -index 3b3cdd898..ed4baae3f 100644 ---- a/build/config/compiler/BUILD.gn -+++ b/build/config/compiler/BUILD.gn -@@ -253,8 +253,6 @@ config("compiler") { - - configs += [ - # See the definitions below. -- ":clang_revision", -- ":compiler_cpu_abi", - ":compiler_codegen", - ":compiler_deterministic", - ] -@@ -485,17 +483,6 @@ config("compiler") { - ldflags += [ "-Wl,-z,keep-text-section-prefix" ] - } - -- if (is_clang && !is_nacl && !use_xcode_clang) { -- cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ] -- -- cflags += [ -- # TODO(hans): Remove this once Clang generates better optimized debug info -- # by default. https://crbug.com/765793 -- "-mllvm", -- "-instcombine-lower-dbg-declare=0", -- ] -- } -- - # C11/C++11 compiler flags setup. - # --------------------------- - if (is_linux || is_android || (is_nacl && is_clang) || current_os == "aix") { -@@ -1061,14 +1048,6 @@ config("compiler_codegen") { - ldflags += [ "-Wl,-mllvm,-enable-machine-outliner=never" ] - } - -- if (is_clang && !is_nacl && !use_xcode_clang && !is_chromeos_device) { -- cflags += [ -- # TODO(thakis): Remove after next clang roll, see reviews.llvm.org/D82998 -- "-mllvm", -- "-basic-aa-recphi=0", -- ] -- } -- - # TODO(thakis): Remove `if (!is_win)` after next clang roll. - if (!is_win) { - asmflags = cflags -@@ -1561,7 +1540,7 @@ config("chromium_code") { - defines = [ "_HAS_NODISCARD" ] - } - } else { -- cflags = [ "-Wall" ] -+ cflags = [ ] - if (treat_warnings_as_errors) { - cflags += [ "-Werror" ] - -@@ -1570,10 +1549,6 @@ config("chromium_code") { - # well. - ldflags = [ "-Werror" ] - } -- if (is_clang) { -- # Enable extra warnings for chromium_code when we control the compiler. -- cflags += [ "-Wextra" ] -- } - - # In Chromium code, we define __STDC_foo_MACROS in order to get the - # C99 macros on Mac and Linux. -@@ -1582,15 +1557,6 @@ config("chromium_code") { - "__STDC_FORMAT_MACROS", - ] - -- if (!is_debug && !using_sanitizer && current_cpu != "s390x" && -- current_cpu != "s390" && current_cpu != "ppc64" && -- current_cpu != "mips" && current_cpu != "mips64") { -- # Non-chromium code is not guaranteed to compile cleanly with -- # _FORTIFY_SOURCE. Also, fortified build may fail when optimizations are -- # disabled, so only do that for Release build. -- defines += [ "_FORTIFY_SOURCE=2" ] -- } -- - if (is_mac) { - cflags_objc = [ "-Wobjc-missing-property-synthesis" ] - cflags_objcc = [ "-Wobjc-missing-property-synthesis" ] -@@ -1988,7 +1954,8 @@ config("default_stack_frames") { - } - - # Default "optimization on" config. --config("optimize") { -+config("optimize") { } -+config("xoptimize") { - if (is_win) { - if (chrome_pgo_phase != 2) { - # Favor size over speed, /O1 must be before the common flags. -@@ -2023,7 +1990,8 @@ config("optimize") { - } - - # Turn off optimizations. --config("no_optimize") { -+config("no_optimize") { } -+config("xno_optimize") { - if (is_win) { - cflags = [ - "/Od", # Disable optimization. -@@ -2063,7 +2031,8 @@ config("no_optimize") { - # Turns up the optimization level. On Windows, this implies whole program - # optimization and link-time code generation which is very expensive and should - # be used sparingly. --config("optimize_max") { -+config("optimize_max") { } -+config("xoptimize_max") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2095,7 +2064,8 @@ config("optimize_max") { - # - # TODO(crbug.com/621335) - rework how all of these configs are related - # so that we don't need this disclaimer. --config("optimize_speed") { -+config("optimize_speed") { } -+config("xoptimize_speed") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2120,7 +2090,8 @@ config("optimize_speed") { - } - } - --config("optimize_fuzzing") { -+config("optimize_fuzzing") { } -+config("xoptimize_fuzzing") { - cflags = [ "-O1" ] + common_optimize_on_cflags - ldflags = common_optimize_on_ldflags - visibility = [ ":default_optimization" ] -@@ -2237,7 +2208,8 @@ config("win_pdbaltpath") { - } - - # Full symbols. --config("symbols") { -+config("symbols") { } -+config("xsymbols") { - if (is_win) { - if (is_clang) { - cflags = [ "/Z7" ] # Debug information in the .obj files. -@@ -2344,7 +2316,8 @@ config("symbols") { - # Minimal symbols. - # This config guarantees to hold symbol for stack trace which are shown to user - # when crash happens in unittests running on buildbot. --config("minimal_symbols") { -+config("minimal_symbols") { } -+config("xminimal_symbols") { - if (is_win) { - # Functions, files, and line tables only. - cflags = [] -@@ -2401,7 +2374,8 @@ config("minimal_symbols") { - # This configuration contains function names only. That is, the compiler is - # told to not generate debug information and the linker then just puts function - # names in the final debug information. --config("no_symbols") { -+config("no_symbols") { } -+config("xno_symbols") { - if (is_win) { - ldflags = [ "/DEBUG" ] - diff --git a/www-client/chromium/files/chromium-compiler-87.patch b/www-client/chromium/files/chromium-compiler-87.patch deleted file mode 100644 index 5668bbb..0000000 --- a/www-client/chromium/files/chromium-compiler-87.patch +++ /dev/null @@ -1,147 +0,0 @@ -diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn -index 16ee9ba..4dd19bd 100644 ---- a/build/config/compiler/BUILD.gn -+++ b/build/config/compiler/BUILD.gn -@@ -258,8 +258,6 @@ config("compiler") { - - configs += [ - # See the definitions below. -- ":clang_revision", -- ":compiler_cpu_abi", - ":compiler_codegen", - ":compiler_deterministic", - ] -@@ -492,17 +490,6 @@ config("compiler") { - ldflags += [ "-Wl,-z,keep-text-section-prefix" ] - } - -- if (is_clang && !is_nacl && !use_xcode_clang) { -- cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ] -- -- cflags += [ -- # TODO(hans): Remove this once Clang generates better optimized debug info -- # by default. https://crbug.com/765793 -- "-mllvm", -- "-instcombine-lower-dbg-declare=0", -- ] -- } -- - # C11/C++11 compiler flags setup. - # --------------------------- - if (is_linux || is_chromeos || is_android || (is_nacl && is_clang) || -@@ -1573,7 +1560,7 @@ config("chromium_code") { - defines = [ "_HAS_NODISCARD" ] - } - } else { -- cflags = [ "-Wall" ] -+ cflags = [ ] - if (treat_warnings_as_errors) { - cflags += [ "-Werror" ] - -@@ -1582,10 +1569,6 @@ config("chromium_code") { - # well. - ldflags = [ "-Werror" ] - } -- if (is_clang) { -- # Enable extra warnings for chromium_code when we control the compiler. -- cflags += [ "-Wextra" ] -- } - - # In Chromium code, we define __STDC_foo_MACROS in order to get the - # C99 macros on Mac and Linux. -@@ -1594,15 +1577,6 @@ config("chromium_code") { - "__STDC_FORMAT_MACROS", - ] - -- if (!is_debug && !using_sanitizer && current_cpu != "s390x" && -- current_cpu != "s390" && current_cpu != "ppc64" && -- current_cpu != "mips" && current_cpu != "mips64") { -- # Non-chromium code is not guaranteed to compile cleanly with -- # _FORTIFY_SOURCE. Also, fortified build may fail when optimizations are -- # disabled, so only do that for Release build. -- defines += [ "_FORTIFY_SOURCE=2" ] -- } -- - if (is_mac) { - cflags_objc = [ "-Wobjc-missing-property-synthesis" ] - cflags_objcc = [ "-Wobjc-missing-property-synthesis" ] -@@ -2000,7 +1974,8 @@ config("default_stack_frames") { - } - - # Default "optimization on" config. --config("optimize") { -+config("optimize") { } -+config("xoptimize") { - if (is_win) { - if (chrome_pgo_phase != 2) { - # Favor size over speed, /O1 must be before the common flags. -@@ -2035,7 +2010,8 @@ config("optimize") { - } - - # Turn off optimizations. --config("no_optimize") { -+config("no_optimize") { } -+config("xno_optimize") { - if (is_win) { - cflags = [ - "/Od", # Disable optimization. -@@ -2075,7 +2051,8 @@ config("no_optimize") { - # Turns up the optimization level. On Windows, this implies whole program - # optimization and link-time code generation which is very expensive and should - # be used sparingly. --config("optimize_max") { -+config("optimize_max") { } -+config("xoptimize_max") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2107,7 +2084,8 @@ config("optimize_max") { - # - # TODO(crbug.com/621335) - rework how all of these configs are related - # so that we don't need this disclaimer. --config("optimize_speed") { -+config("optimize_speed") { } -+config("xoptimize_speed") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2132,7 +2110,8 @@ config("optimize_speed") { - } - } - --config("optimize_fuzzing") { -+config("optimize_fuzzing") { } -+config("xoptimize_fuzzing") { - cflags = [ "-O1" ] + common_optimize_on_cflags - ldflags = common_optimize_on_ldflags - visibility = [ ":default_optimization" ] -@@ -2249,7 +2228,8 @@ config("win_pdbaltpath") { - } - - # Full symbols. --config("symbols") { -+config("symbols") { } -+config("xsymbols") { - if (is_win) { - if (is_clang) { - cflags = [ "/Z7" ] # Debug information in the .obj files. -@@ -2360,7 +2340,8 @@ config("symbols") { - # Minimal symbols. - # This config guarantees to hold symbol for stack trace which are shown to user - # when crash happens in unittests running on buildbot. --config("minimal_symbols") { -+config("minimal_symbols") { } -+config("xminimal_symbols") { - if (is_win) { - # Functions, files, and line tables only. - cflags = [] -@@ -2413,7 +2394,8 @@ config("minimal_symbols") { - # This configuration contains function names only. That is, the compiler is - # told to not generate debug information and the linker then just puts function - # names in the final debug information. --config("no_symbols") { -+config("no_symbols") { } -+config("xno_symbols") { - if (is_win) { - ldflags = [ "/DEBUG" ] - diff --git a/www-client/chromium/files/chromium-compiler-r10.patch b/www-client/chromium/files/chromium-compiler-r10.patch deleted file mode 100644 index f2ecdc3..0000000 --- a/www-client/chromium/files/chromium-compiler-r10.patch +++ /dev/null @@ -1,185 +0,0 @@ -From a1207cc75454e653030716948d27ec27412f6fe8 Mon Sep 17 00:00:00 2001 -From: Mike Gilbert <floppym@gentoo.org> -Date: Sat, 16 Jun 2019 15:43:27 +0100 -Subject: [PATCH] Disable various compiler configs - ---- - build/config/compiler/BUILD.gn | 64 +++++++++++++--------------------- - 1 file changed, 25 insertions(+), 39 deletions(-) - -diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn -index a3f21b7..0a7bec6 100644 ---- a/build/config/compiler/BUILD.gn -+++ b/build/config/compiler/BUILD.gn -@@ -230,8 +230,6 @@ config("compiler") { - - configs += [ - # See the definitions below. -- ":clang_revision", -- ":compiler_cpu_abi", - ":compiler_codegen", - ":compiler_deterministic", - ] -@@ -471,20 +469,6 @@ config("compiler") { - } - } - -- if (is_clang && !is_nacl && !use_xcode_clang) { -- cflags += [ "-fcrash-diagnostics-dir=" + -- rebase_path("//tools/clang/crashreports", root_build_dir) ] -- -- cflags += [ -- # TODO(hans): Remove this once Clang generates better optimized debug info -- # by default. https://crbug.com/765793 -- "-Xclang", -- "-mllvm", -- "-Xclang", -- "-instcombine-lower-dbg-declare=0", -- ] -- } -- - # C11/C++11 compiler flags setup. - # --------------------------- - if (is_linux || is_android || (is_nacl && is_clang) || current_os == "aix") { -@@ -1431,6 +1415,12 @@ config("default_warnings") { - "-Wno-narrowing", - ] - -+ # -Wno-class-memaccess warns about hash table and vector in blink. -+ # But the violation is intentional. -+ if (!is_nacl) { -+ cflags_cc += [ "-Wno-class-memaccess" ] -+ } -+ - # -Wunused-local-typedefs is broken in gcc, - # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63872 - cflags += [ "-Wno-unused-local-typedefs" ] -@@ -1525,7 +1515,7 @@ config("chromium_code") { - defines = [ "_HAS_NODISCARD" ] - } - } else { -- cflags = [ "-Wall" ] -+ cflags = [] - if (treat_warnings_as_errors) { - cflags += [ "-Werror" ] - -@@ -1534,10 +1524,6 @@ config("chromium_code") { - # well. - ldflags = [ "-Werror" ] - } -- if (is_clang) { -- # Enable extra warnings for chromium_code when we control the compiler. -- cflags += [ "-Wextra" ] -- } - - # In Chromium code, we define __STDC_foo_MACROS in order to get the - # C99 macros on Mac and Linux. -@@ -1546,15 +1532,6 @@ config("chromium_code") { - "__STDC_FORMAT_MACROS", - ] - -- if (!is_debug && !using_sanitizer && current_cpu != "s390x" && -- current_cpu != "s390" && current_cpu != "ppc64" && -- current_cpu != "mips" && current_cpu != "mips64") { -- # Non-chromium code is not guaranteed to compile cleanly with -- # _FORTIFY_SOURCE. Also, fortified build may fail when optimizations are -- # disabled, so only do that for Release build. -- defines += [ "_FORTIFY_SOURCE=2" ] -- } -- - if (is_mac) { - cflags_objc = [ "-Wobjc-missing-property-synthesis" ] - cflags_objcc = [ "-Wobjc-missing-property-synthesis" ] -@@ -1943,7 +1920,8 @@ config("default_stack_frames") { - } - - # Default "optimization on" config. --config("optimize") { -+config("optimize") { } -+config("xoptimize") { - if (is_win) { - # TODO(thakis): Remove is_clang here, https://crbug.com/598772 - if (is_official_build && full_wpo_on_official && !is_clang) { -@@ -1977,7 +1955,8 @@ config("optimize") { - } - - # Same config as 'optimize' but without the WPO flag. --config("optimize_no_wpo") { -+config("optimize_no_wpo") { } -+config("xoptimize_no_wpo") { - if (is_win) { - # Favor size over speed, /O1 must be before the common flags. The GYP - # build also specifies /Os and /GF but these are implied by /O1. -@@ -2000,7 +1979,8 @@ config("optimize_no_wpo") { - } - - # Turn off optimizations. --config("no_optimize") { -+config("no_optimize") { } -+config("xno_optimize") { - if (is_win) { - cflags = [ - "/Od", # Disable optimization. -@@ -2028,7 +2008,8 @@ config("no_optimize") { - # Turns up the optimization level. On Windows, this implies whole program - # optimization and link-time code generation which is very expensive and should - # be used sparingly. --config("optimize_max") { -+config("optimize_max") { } -+config("xoptimize_max") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2075,7 +2056,8 @@ config("optimize_max") { - # - # TODO(crbug.com/621335) - rework how all of these configs are related - # so that we don't need this disclaimer. --config("optimize_speed") { -+config("optimize_speed") { } -+config("xoptimize_speed") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2113,7 +2095,8 @@ config("optimize_speed") { - } - } - --config("optimize_fuzzing") { -+config("optimize_fuzzing") { } -+config("xoptimize_fuzzing") { - cflags = [ "-O1" ] + common_optimize_on_cflags - ldflags = common_optimize_on_ldflags - visibility = [ ":default_optimization" ] -@@ -2215,7 +2198,8 @@ config("win_pdbaltpath") { - } - - # Full symbols. --config("symbols") { -+config("symbols") { } -+config("xsymbols") { - if (is_win) { - if (use_goma || is_clang) { - # Note that with VC++ this requires is_win_fastlink, enforced elsewhere. -@@ -2325,7 +2309,8 @@ config("symbols") { - # Minimal symbols. - # This config guarantees to hold symbol for stack trace which are shown to user - # when crash happens in unittests running on buildbot. --config("minimal_symbols") { -+config("minimal_symbols") { } -+config("xminimal_symbols") { - if (is_win) { - # Linker symbols for backtraces only. - cflags = [] -@@ -2382,7 +2367,8 @@ config("minimal_symbols") { - } - - # No symbols. --config("no_symbols") { -+config("no_symbols") { } -+config("xno_symbols") { - if (!is_win) { - cflags = [ "-g0" ] - asmflags = cflags --- -2.21.0 - diff --git a/www-client/chromium/files/chromium-compiler-r4.patch b/www-client/chromium/files/chromium-compiler-r4.patch deleted file mode 100644 index 3fe73ef..0000000 --- a/www-client/chromium/files/chromium-compiler-r4.patch +++ /dev/null @@ -1,168 +0,0 @@ -From 777d166eec22c1894108dce985498f75ac5931e8 Mon Sep 17 00:00:00 2001 -From: Mike Gilbert <floppym@gentoo.org> -Date: Wed, 25 Apr 2018 13:22:49 -0400 -Subject: [PATCH] Disable various compiler configs - ---- - build/config/compiler/BUILD.gn | 61 ++++++++++------------------------ - 1 file changed, 18 insertions(+), 43 deletions(-) - -diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn -index 6e38ad782d38..87bbd423f67f 100644 ---- a/build/config/compiler/BUILD.gn -+++ b/build/config/compiler/BUILD.gn -@@ -225,8 +225,6 @@ config("compiler") { - - configs += [ - # See the definitions below. -- ":clang_revision", -- ":compiler_cpu_abi", - ":compiler_codegen", - ] - -@@ -488,18 +486,6 @@ config("compiler") { - } - } - -- if (is_clang && !is_nacl && current_toolchain == host_toolchain && -- target_os != "chromeos") { -- cflags += [ -- # TODO(hans): Remove this once Clang generates better optimized debug info -- # by default. https://crbug.com/765793 -- "-Xclang", -- "-mllvm", -- "-Xclang", -- "-instcombine-lower-dbg-declare=0", -- ] -- } -- - # Print absolute paths in diagnostics. There is no precedent for doing this - # on Linux/Mac (GCC doesn't support it), but MSVC does this with /FC and - # Windows developers rely on it (crbug.com/636109) so only do this on Windows. -@@ -1473,10 +1459,6 @@ config("default_warnings") { - cflags += [ - # TODO(thakis): https://crbug.com/753973 - "-Wno-enum-compare-switch", -- -- # Ignore warnings about MSVC optimization pragmas. -- # TODO(thakis): Only for no_chromium_code? http://crbug.com/505314 -- "-Wno-ignored-pragma-optimize", - ] - } - } -@@ -1518,22 +1500,6 @@ config("chromium_code") { - "__STDC_FORMAT_MACROS", - ] - -- if (!is_debug && !using_sanitizer && -- (!is_linux || !is_clang || is_official_build) && -- current_cpu != "s390x" && current_cpu != "s390" && -- current_cpu != "ppc64" && current_cpu != "ppc64" && -- current_cpu != "mips" && current_cpu != "mips64") { -- # _FORTIFY_SOURCE isn't really supported by Clang now, see -- # http://llvm.org/bugs/show_bug.cgi?id=16821. -- # It seems to work fine with Ubuntu 12 headers though, so use it in -- # official builds. -- # -- # Non-chromium code is not guaranteed to compile cleanly with -- # _FORTIFY_SOURCE. Also, fortified build may fail when optimizations are -- # disabled, so only do that for Release build. -- defines += [ "_FORTIFY_SOURCE=2" ] -- } -- - if (is_mac || is_ios) { - cflags_objc = [ "-Wobjc-missing-property-synthesis" ] - cflags_objcc = [ "-Wobjc-missing-property-synthesis" ] -@@ -1863,7 +1829,8 @@ config("default_stack_frames") { - } - - # Default "optimization on" config. --config("optimize") { -+config("optimize") { } -+config("xoptimize") { - if (is_win) { - # TODO(thakis): Remove is_clang here, https://crbug.com/598772 - if (is_official_build && full_wpo_on_official && !is_clang) { -@@ -1897,7 +1864,8 @@ config("optimize") { - } - - # Same config as 'optimize' but without the WPO flag. --config("optimize_no_wpo") { -+config("optimize_no_wpo") { } -+config("xoptimize_no_wpo") { - if (is_win) { - # Favor size over speed, /O1 must be before the common flags. The GYP - # build also specifies /Os and /GF but these are implied by /O1. -@@ -1920,7 +1888,8 @@ config("optimize_no_wpo") { - } - - # Turn off optimizations. --config("no_optimize") { -+config("no_optimize") { } -+config("xno_optimize") { - if (is_win) { - cflags = [ - "/Od", # Disable optimization. -@@ -1944,7 +1913,8 @@ config("no_optimize") { - # Turns up the optimization level. On Windows, this implies whole program - # optimization and link-time code generation which is very expensive and should - # be used sparingly. --config("optimize_max") { -+config("optimize_max") { } -+config("xoptimize_max") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -1991,7 +1961,8 @@ config("optimize_max") { - # - # TODO(crbug.com/621335) - rework how all of these configs are related - # so that we don't need this disclaimer. --config("optimize_speed") { -+config("optimize_speed") { } -+config("xoptimize_speed") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2029,7 +2000,8 @@ config("optimize_speed") { - } - } - --config("optimize_fuzzing") { -+config("optimize_fuzzing") { } -+config("xoptimize_fuzzing") { - cflags = [ "-O1" ] + common_optimize_on_cflags - ldflags = common_optimize_on_ldflags - visibility = [ ":default_optimization" ] -@@ -2115,7 +2087,8 @@ config("afdo") { - # configs += [ "//build/config/compiler:symbols" ] - - # Full symbols. --config("symbols") { -+config("symbols") { } -+config("xsymbols") { - if (is_win) { - if (use_goma || is_clang) { - # Note that with VC++ this requires is_win_fastlink, enforced elsewhere. -@@ -2213,7 +2186,8 @@ config("symbols") { - # Minimal symbols. - # This config guarantees to hold symbol for stack trace which are shown to user - # when crash happens in unittests running on buildbot. --config("minimal_symbols") { -+config("minimal_symbols") { } -+config("xminimal_symbols") { - if (is_win) { - # Linker symbols for backtraces only. - cflags = [] -@@ -2244,7 +2218,8 @@ config("minimal_symbols") { - } - - # No symbols. --config("no_symbols") { -+config("no_symbols") { } -+config("xno_symbols") { - if (!is_win) { - cflags = [ "-g0" ] - asmflags = cflags --- -2.18.0 - diff --git a/www-client/chromium/files/chromium-compiler-r6.patch b/www-client/chromium/files/chromium-compiler-r6.patch deleted file mode 100644 index db8d046..0000000 --- a/www-client/chromium/files/chromium-compiler-r6.patch +++ /dev/null @@ -1,170 +0,0 @@ -From cec10e55fdb150b33342ad462907fb6202de364e Mon Sep 17 00:00:00 2001 -From: Mike Gilbert <floppym@gentoo.org> -Date: Wed, 25 Apr 2018 13:22:49 -0400 -Subject: [PATCH] Disable various compiler configs - ---- - build/config/compiler/BUILD.gn | 63 ++++++++++------------------------ - 1 file changed, 18 insertions(+), 45 deletions(-) - -diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn -index 0f7a6b48f7b2..c91b702147d4 100644 ---- a/build/config/compiler/BUILD.gn -+++ b/build/config/compiler/BUILD.gn -@@ -236,8 +236,6 @@ config("compiler") { - - configs += [ - # See the definitions below. -- ":clang_revision", -- ":compiler_cpu_abi", - ":compiler_codegen", - ] - -@@ -502,17 +500,6 @@ config("compiler") { - } - } - -- if (is_clang && !is_nacl && !use_xcode_clang) { -- cflags += [ -- # TODO(hans): Remove this once Clang generates better optimized debug info -- # by default. https://crbug.com/765793 -- "-Xclang", -- "-mllvm", -- "-Xclang", -- "-instcombine-lower-dbg-declare=0", -- ] -- } -- - # Print absolute paths in diagnostics. There is no precedent for doing this - # on Linux/Mac (GCC doesn't support it), but MSVC does this with /FC and - # Windows developers rely on it (crbug.com/636109) so only do this on Windows. -@@ -1498,13 +1485,6 @@ config("default_warnings") { - cflags += [ - # TODO(thakis): https://crbug.com/753973 - "-Wno-enum-compare-switch", -- -- # Ignore warnings about MSVC optimization pragmas. -- # TODO(thakis): Only for no_chromium_code? http://crbug.com/505314 -- "-Wno-ignored-pragma-optimize", -- -- # TODO(hans): https://crbug.com/890307 -- "-Wno-defaulted-function-deleted", - ] - } - } -@@ -1546,22 +1526,6 @@ config("chromium_code") { - "__STDC_FORMAT_MACROS", - ] - -- if (!is_debug && !using_sanitizer && -- (!is_linux || !is_clang || is_official_build) && -- current_cpu != "s390x" && current_cpu != "s390" && -- current_cpu != "ppc64" && current_cpu != "ppc64" && -- current_cpu != "mips" && current_cpu != "mips64") { -- # _FORTIFY_SOURCE isn't really supported by Clang now, see -- # http://llvm.org/bugs/show_bug.cgi?id=16821. -- # It seems to work fine with Ubuntu 12 headers though, so use it in -- # official builds. -- # -- # Non-chromium code is not guaranteed to compile cleanly with -- # _FORTIFY_SOURCE. Also, fortified build may fail when optimizations are -- # disabled, so only do that for Release build. -- defines += [ "_FORTIFY_SOURCE=2" ] -- } -- - if (is_mac) { - cflags_objc = [ "-Wobjc-missing-property-synthesis" ] - cflags_objcc = [ "-Wobjc-missing-property-synthesis" ] -@@ -1931,7 +1895,8 @@ config("default_stack_frames") { - } - - # Default "optimization on" config. --config("optimize") { -+config("optimize") { } -+config("xoptimize") { - if (is_win) { - # TODO(thakis): Remove is_clang here, https://crbug.com/598772 - if (is_official_build && full_wpo_on_official && !is_clang) { -@@ -1965,7 +1930,8 @@ config("optimize") { - } - - # Same config as 'optimize' but without the WPO flag. --config("optimize_no_wpo") { -+config("optimize_no_wpo") { } -+config("xoptimize_no_wpo") { - if (is_win) { - # Favor size over speed, /O1 must be before the common flags. The GYP - # build also specifies /Os and /GF but these are implied by /O1. -@@ -1988,7 +1954,8 @@ config("optimize_no_wpo") { - } - - # Turn off optimizations. --config("no_optimize") { -+config("no_optimize") { } -+config("xno_optimize") { - if (is_win) { - cflags = [ - "/Od", # Disable optimization. -@@ -2012,7 +1979,8 @@ config("no_optimize") { - # Turns up the optimization level. On Windows, this implies whole program - # optimization and link-time code generation which is very expensive and should - # be used sparingly. --config("optimize_max") { -+config("optimize_max") { } -+config("xoptimize_max") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2059,7 +2027,8 @@ config("optimize_max") { - # - # TODO(crbug.com/621335) - rework how all of these configs are related - # so that we don't need this disclaimer. --config("optimize_speed") { -+config("optimize_speed") { } -+config("xoptimize_speed") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2097,7 +2066,8 @@ config("optimize_speed") { - } - } - --config("optimize_fuzzing") { -+config("optimize_fuzzing") { } -+config("xoptimize_fuzzing") { - cflags = [ "-O1" ] + common_optimize_on_cflags - ldflags = common_optimize_on_ldflags - visibility = [ ":default_optimization" ] -@@ -2183,7 +2153,8 @@ config("afdo") { - # configs += [ "//build/config/compiler:symbols" ] - - # Full symbols. --config("symbols") { -+config("symbols") { } -+config("xsymbols") { - if (is_win) { - if (use_goma || is_clang) { - # Note that with VC++ this requires is_win_fastlink, enforced elsewhere. -@@ -2281,7 +2252,8 @@ config("symbols") { - # Minimal symbols. - # This config guarantees to hold symbol for stack trace which are shown to user - # when crash happens in unittests running on buildbot. --config("minimal_symbols") { -+config("minimal_symbols") { } -+config("xminimal_symbols") { - if (is_win) { - # Linker symbols for backtraces only. - cflags = [] -@@ -2321,7 +2293,8 @@ config("minimal_symbols") { - } - - # No symbols. --config("no_symbols") { -+config("no_symbols") { } -+config("xno_symbols") { - if (!is_win) { - cflags = [ "-g0" ] - asmflags = cflags --- -2.19.1 - diff --git a/www-client/chromium/files/chromium-compiler-r7.patch b/www-client/chromium/files/chromium-compiler-r7.patch deleted file mode 100644 index dcf40a8..0000000 --- a/www-client/chromium/files/chromium-compiler-r7.patch +++ /dev/null @@ -1,176 +0,0 @@ -From 6ba946c7116f4f1d0b35fc90716b6e940116b74b Mon Sep 17 00:00:00 2001 -From: Mike Gilbert <floppym@gentoo.org> -Date: Wed, 25 Apr 2018 13:22:49 -0400 -Subject: [PATCH] Disable various compiler configs - ---- - build/config/compiler/BUILD.gn | 62 +++++++++++----------------------- - 1 file changed, 19 insertions(+), 43 deletions(-) - -diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn -index 677003ac646c..f38bc908622a 100644 ---- a/build/config/compiler/BUILD.gn -+++ b/build/config/compiler/BUILD.gn -@@ -236,8 +236,6 @@ config("compiler") { - - configs += [ - # See the definitions below. -- ":clang_revision", -- ":compiler_cpu_abi", - ":compiler_codegen", - ] - -@@ -502,17 +500,6 @@ config("compiler") { - } - } - -- if (is_clang && !is_nacl && !use_xcode_clang) { -- cflags += [ -- # TODO(hans): Remove this once Clang generates better optimized debug info -- # by default. https://crbug.com/765793 -- "-Xclang", -- "-mllvm", -- "-Xclang", -- "-instcombine-lower-dbg-declare=0", -- ] -- } -- - # Print absolute paths in diagnostics. There is no precedent for doing this - # on Linux/Mac (GCC doesn't support it), but MSVC does this with /FC and - # Windows developers rely on it (crbug.com/636109) so only do this on Windows. -@@ -1512,7 +1499,7 @@ config("chromium_code") { - defines = [ "_HAS_NODISCARD" ] - } - } else { -- cflags = [ "-Wall" ] -+ cflags = [] - if (treat_warnings_as_errors) { - cflags += [ "-Werror" ] - -@@ -1521,10 +1508,6 @@ config("chromium_code") { - # well. - ldflags = [ "-Werror" ] - } -- if (is_clang) { -- # Enable extra warnings for chromium_code when we control the compiler. -- cflags += [ "-Wextra" ] -- } - - # In Chromium code, we define __STDC_foo_MACROS in order to get the - # C99 macros on Mac and Linux. -@@ -1533,22 +1516,6 @@ config("chromium_code") { - "__STDC_FORMAT_MACROS", - ] - -- if (!is_debug && !using_sanitizer && -- (!is_linux || !is_clang || is_official_build) && -- current_cpu != "s390x" && current_cpu != "s390" && -- current_cpu != "ppc64" && current_cpu != "ppc64" && -- current_cpu != "mips" && current_cpu != "mips64") { -- # _FORTIFY_SOURCE isn't really supported by Clang now, see -- # http://llvm.org/bugs/show_bug.cgi?id=16821. -- # It seems to work fine with Ubuntu 12 headers though, so use it in -- # official builds. -- # -- # Non-chromium code is not guaranteed to compile cleanly with -- # _FORTIFY_SOURCE. Also, fortified build may fail when optimizations are -- # disabled, so only do that for Release build. -- defines += [ "_FORTIFY_SOURCE=2" ] -- } -- - if (is_mac) { - cflags_objc = [ "-Wobjc-missing-property-synthesis" ] - cflags_objcc = [ "-Wobjc-missing-property-synthesis" ] -@@ -1925,7 +1892,8 @@ config("default_stack_frames") { - } - - # Default "optimization on" config. --config("optimize") { -+config("optimize") { } -+config("xoptimize") { - if (is_win) { - # TODO(thakis): Remove is_clang here, https://crbug.com/598772 - if (is_official_build && full_wpo_on_official && !is_clang) { -@@ -1959,7 +1927,8 @@ config("optimize") { - } - - # Same config as 'optimize' but without the WPO flag. --config("optimize_no_wpo") { -+config("optimize_no_wpo") { } -+config("xoptimize_no_wpo") { - if (is_win) { - # Favor size over speed, /O1 must be before the common flags. The GYP - # build also specifies /Os and /GF but these are implied by /O1. -@@ -1982,7 +1951,8 @@ config("optimize_no_wpo") { - } - - # Turn off optimizations. --config("no_optimize") { -+config("no_optimize") { } -+config("xno_optimize") { - if (is_win) { - cflags = [ - "/Od", # Disable optimization. -@@ -2006,7 +1976,8 @@ config("no_optimize") { - # Turns up the optimization level. On Windows, this implies whole program - # optimization and link-time code generation which is very expensive and should - # be used sparingly. --config("optimize_max") { -+config("optimize_max") { } -+config("xoptimize_max") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2053,7 +2024,8 @@ config("optimize_max") { - # - # TODO(crbug.com/621335) - rework how all of these configs are related - # so that we don't need this disclaimer. --config("optimize_speed") { -+config("optimize_speed") { } -+config("xoptimize_speed") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2091,7 +2063,8 @@ config("optimize_speed") { - } - } - --config("optimize_fuzzing") { -+config("optimize_fuzzing") { } -+config("xoptimize_fuzzing") { - cflags = [ "-O1" ] + common_optimize_on_cflags - ldflags = common_optimize_on_ldflags - visibility = [ ":default_optimization" ] -@@ -2193,7 +2166,8 @@ config("win_pdbaltpath") { - } - - # Full symbols. --config("symbols") { -+config("symbols") { } -+config("xsymbols") { - if (is_win) { - if (use_goma || is_clang) { - # Note that with VC++ this requires is_win_fastlink, enforced elsewhere. -@@ -2294,7 +2268,8 @@ config("symbols") { - # Minimal symbols. - # This config guarantees to hold symbol for stack trace which are shown to user - # when crash happens in unittests running on buildbot. --config("minimal_symbols") { -+config("minimal_symbols") { } -+config("xminimal_symbols") { - if (is_win) { - # Linker symbols for backtraces only. - cflags = [] -@@ -2337,7 +2312,8 @@ config("minimal_symbols") { - } - - # No symbols. --config("no_symbols") { -+config("no_symbols") { } -+config("xno_symbols") { - if (!is_win) { - cflags = [ "-g0" ] - asmflags = cflags --- -2.19.1 - diff --git a/www-client/chromium/files/chromium-compiler-r8.patch b/www-client/chromium/files/chromium-compiler-r8.patch deleted file mode 100644 index 117d1e6..0000000 --- a/www-client/chromium/files/chromium-compiler-r8.patch +++ /dev/null @@ -1,164 +0,0 @@ -diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn -index 2f01fbbf4..8b487ad77 100644 ---- a/build/config/compiler/BUILD.gn -+++ b/build/config/compiler/BUILD.gn -@@ -236,8 +236,6 @@ config("compiler") { - - configs += [ - # See the definitions below. -- ":clang_revision", -- ":compiler_cpu_abi", - ":compiler_codegen", - ] - -@@ -501,17 +499,6 @@ config("compiler") { - } - } - -- if (is_clang && !is_nacl && !use_xcode_clang) { -- cflags += [ -- # TODO(hans): Remove this once Clang generates better optimized debug info -- # by default. https://crbug.com/765793 -- "-Xclang", -- "-mllvm", -- "-Xclang", -- "-instcombine-lower-dbg-declare=0", -- ] -- } -- - # Print absolute paths in diagnostics. There is no precedent for doing this - # on Linux/Mac (GCC doesn't support it), but MSVC does this with /FC and - # Windows developers rely on it (crbug.com/636109) so only do this on Windows. -@@ -1516,7 +1503,7 @@ config("chromium_code") { - defines = [ "_HAS_NODISCARD" ] - } - } else { -- cflags = [ "-Wall" ] -+ cflags = [] - if (treat_warnings_as_errors) { - cflags += [ "-Werror" ] - -@@ -1525,10 +1512,6 @@ config("chromium_code") { - # well. - ldflags = [ "-Werror" ] - } -- if (is_clang) { -- # Enable extra warnings for chromium_code when we control the compiler. -- cflags += [ "-Wextra" ] -- } - - # In Chromium code, we define __STDC_foo_MACROS in order to get the - # C99 macros on Mac and Linux. -@@ -1537,22 +1520,6 @@ config("chromium_code") { - "__STDC_FORMAT_MACROS", - ] - -- if (!is_debug && !using_sanitizer && -- (!is_linux || !is_clang || is_official_build) && -- current_cpu != "s390x" && current_cpu != "s390" && -- current_cpu != "ppc64" && current_cpu != "ppc64" && -- current_cpu != "mips" && current_cpu != "mips64") { -- # _FORTIFY_SOURCE isn't really supported by Clang now, see -- # http://llvm.org/bugs/show_bug.cgi?id=16821. -- # It seems to work fine with Ubuntu 12 headers though, so use it in -- # official builds. -- # -- # Non-chromium code is not guaranteed to compile cleanly with -- # _FORTIFY_SOURCE. Also, fortified build may fail when optimizations are -- # disabled, so only do that for Release build. -- defines += [ "_FORTIFY_SOURCE=2" ] -- } -- - if (is_mac) { - cflags_objc = [ "-Wobjc-missing-property-synthesis" ] - cflags_objcc = [ "-Wobjc-missing-property-synthesis" ] -@@ -1922,7 +1889,8 @@ config("default_stack_frames") { - } - - # Default "optimization on" config. --config("optimize") { -+config("optimize") { } -+config("xoptimize") { - if (is_win) { - # TODO(thakis): Remove is_clang here, https://crbug.com/598772 - if (is_official_build && full_wpo_on_official && !is_clang) { -@@ -1956,7 +1924,8 @@ config("optimize") { - } - - # Same config as 'optimize' but without the WPO flag. --config("optimize_no_wpo") { -+config("optimize_no_wpo") { } -+config("xoptimize_no_wpo") { - if (is_win) { - # Favor size over speed, /O1 must be before the common flags. The GYP - # build also specifies /Os and /GF but these are implied by /O1. -@@ -1979,7 +1948,8 @@ config("optimize_no_wpo") { - } - - # Turn off optimizations. --config("no_optimize") { -+config("no_optimize") { } -+config("xno_optimize") { - if (is_win) { - cflags = [ - "/Od", # Disable optimization. -@@ -2007,7 +1977,8 @@ config("no_optimize") { - # Turns up the optimization level. On Windows, this implies whole program - # optimization and link-time code generation which is very expensive and should - # be used sparingly. --config("optimize_max") { -+config("optimize_max") { } -+config("xoptimize_max") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2054,7 +2025,8 @@ config("optimize_max") { - # - # TODO(crbug.com/621335) - rework how all of these configs are related - # so that we don't need this disclaimer. --config("optimize_speed") { -+config("optimize_speed") { } -+config("xoptimize_speed") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2092,7 +2064,8 @@ config("optimize_speed") { - } - } - --config("optimize_fuzzing") { -+config("optimize_fuzzing") { } -+config("xoptimize_fuzzing") { - cflags = [ "-O1" ] + common_optimize_on_cflags - ldflags = common_optimize_on_ldflags - visibility = [ ":default_optimization" ] -@@ -2194,7 +2167,8 @@ config("win_pdbaltpath") { - } - - # Full symbols. --config("symbols") { -+config("symbols") { } -+config("xsymbols") { - if (is_win) { - if (use_goma || is_clang) { - # Note that with VC++ this requires is_win_fastlink, enforced elsewhere. -@@ -2304,7 +2278,8 @@ config("symbols") { - # Minimal symbols. - # This config guarantees to hold symbol for stack trace which are shown to user - # when crash happens in unittests running on buildbot. --config("minimal_symbols") { -+config("minimal_symbols") { } -+config("xminimal_symbols") { - if (is_win) { - # Linker symbols for backtraces only. - cflags = [] -@@ -2356,7 +2331,8 @@ config("minimal_symbols") { - } - - # No symbols. --config("no_symbols") { -+config("no_symbols") { } -+config("xno_symbols") { - if (!is_win) { - cflags = [ "-g0" ] - asmflags = cflags diff --git a/www-client/chromium/files/chromium-compiler-r9.patch b/www-client/chromium/files/chromium-compiler-r9.patch deleted file mode 100644 index 43cd93e..0000000 --- a/www-client/chromium/files/chromium-compiler-r9.patch +++ /dev/null @@ -1,160 +0,0 @@ -diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn -index 7db66418e..ce3ba300a 100644 ---- a/build/config/compiler/BUILD.gn -+++ b/build/config/compiler/BUILD.gn -@@ -230,8 +230,6 @@ config("compiler") { - - configs += [ - # See the definitions below. -- ":clang_revision", -- ":compiler_cpu_abi", - ":compiler_codegen", - ":compiler_deterministic", - ] -@@ -479,20 +477,6 @@ config("compiler") { - } - } - -- if (is_clang && !is_nacl && !use_xcode_clang) { -- cflags += [ "-fcrash-diagnostics-dir=" + -- rebase_path("//tools/clang/crashreports", root_build_dir) ] -- -- cflags += [ -- # TODO(hans): Remove this once Clang generates better optimized debug info -- # by default. https://crbug.com/765793 -- "-Xclang", -- "-mllvm", -- "-Xclang", -- "-instcombine-lower-dbg-declare=0", -- ] -- } -- - # Print absolute paths in diagnostics. There is no precedent for doing this - # on Linux/Mac (GCC doesn't support it), but MSVC does this with /FC and - # Windows developers rely on it (crbug.com/636109) so only do this on Windows. -@@ -1533,7 +1517,7 @@ config("chromium_code") { - defines = [ "_HAS_NODISCARD" ] - } - } else { -- cflags = [ "-Wall" ] -+ cflags = [] - if (treat_warnings_as_errors) { - cflags += [ "-Werror" ] - -@@ -1542,10 +1526,6 @@ config("chromium_code") { - # well. - ldflags = [ "-Werror" ] - } -- if (is_clang) { -- # Enable extra warnings for chromium_code when we control the compiler. -- cflags += [ "-Wextra" ] -- } - - # In Chromium code, we define __STDC_foo_MACROS in order to get the - # C99 macros on Mac and Linux. -@@ -1554,15 +1534,6 @@ config("chromium_code") { - "__STDC_FORMAT_MACROS", - ] - -- if (!is_debug && !using_sanitizer && current_cpu != "s390x" && -- current_cpu != "s390" && current_cpu != "ppc64" && -- current_cpu != "mips" && current_cpu != "mips64") { -- # Non-chromium code is not guaranteed to compile cleanly with -- # _FORTIFY_SOURCE. Also, fortified build may fail when optimizations are -- # disabled, so only do that for Release build. -- defines += [ "_FORTIFY_SOURCE=2" ] -- } -- - if (is_mac) { - cflags_objc = [ "-Wobjc-missing-property-synthesis" ] - cflags_objcc = [ "-Wobjc-missing-property-synthesis" ] -@@ -1951,7 +1922,8 @@ config("default_stack_frames") { - } - - # Default "optimization on" config. --config("optimize") { -+config("optimize") { } -+config("xoptimize") { - if (is_win) { - # TODO(thakis): Remove is_clang here, https://crbug.com/598772 - if (is_official_build && full_wpo_on_official && !is_clang) { -@@ -1985,7 +1957,8 @@ config("optimize") { - } - - # Same config as 'optimize' but without the WPO flag. --config("optimize_no_wpo") { -+config("optimize_no_wpo") { } -+config("xoptimize_no_wpo") { - if (is_win) { - # Favor size over speed, /O1 must be before the common flags. The GYP - # build also specifies /Os and /GF but these are implied by /O1. -@@ -2008,7 +1981,8 @@ config("optimize_no_wpo") { - } - - # Turn off optimizations. --config("no_optimize") { -+config("no_optimize") { } -+config("xno_optimize") { - if (is_win) { - cflags = [ - "/Od", # Disable optimization. -@@ -2036,7 +2010,8 @@ config("no_optimize") { - # Turns up the optimization level. On Windows, this implies whole program - # optimization and link-time code generation which is very expensive and should - # be used sparingly. --config("optimize_max") { -+config("optimize_max") { } -+config("xoptimize_max") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2083,7 +2058,8 @@ config("optimize_max") { - # - # TODO(crbug.com/621335) - rework how all of these configs are related - # so that we don't need this disclaimer. --config("optimize_speed") { -+config("optimize_speed") { } -+config("xoptimize_speed") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2121,7 +2097,8 @@ config("optimize_speed") { - } - } - --config("optimize_fuzzing") { -+config("optimize_fuzzing") { } -+config("xoptimize_fuzzing") { - cflags = [ "-O1" ] + common_optimize_on_cflags - ldflags = common_optimize_on_ldflags - visibility = [ ":default_optimization" ] -@@ -2223,7 +2200,8 @@ config("win_pdbaltpath") { - } - - # Full symbols. --config("symbols") { -+config("symbols") { } -+config("xsymbols") { - if (is_win) { - if (use_goma || is_clang) { - # Note that with VC++ this requires is_win_fastlink, enforced elsewhere. -@@ -2328,7 +2306,8 @@ config("symbols") { - # Minimal symbols. - # This config guarantees to hold symbol for stack trace which are shown to user - # when crash happens in unittests running on buildbot. --config("minimal_symbols") { -+config("minimal_symbols") { } -+config("xminimal_symbols") { - if (is_win) { - # Linker symbols for backtraces only. - cflags = [] -@@ -2380,7 +2359,8 @@ config("minimal_symbols") { - } - - # No symbols. --config("no_symbols") { -+config("no_symbols") { } -+config("xno_symbols") { - if (!is_win) { - cflags = [ "-g0" ] - asmflags = cflags diff --git a/www-client/chromium/files/chromium-core-management-svc-84.patch b/www-client/chromium/files/chromium-core-management-svc-84.patch deleted file mode 100644 index 89a5f1b..0000000 --- a/www-client/chromium/files/chromium-core-management-svc-84.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/components/policy/core/common/management/management_service.h b/components/policy/core/common/management/management_service.h -index cf71a2379..f845bff5c 100644 ---- a/components/policy/core/common/management/management_service.h -+++ b/components/policy/core/common/management/management_service.h -@@ -7,6 +7,7 @@ - - #include "base/containers/flat_set.h" - #include "components/policy/policy_export.h" -+#include <memory> - - namespace policy { - diff --git a/www-client/chromium/files/chromium-crx-install-err-include-83.patch b/www-client/chromium/files/chromium-crx-install-err-include-83.patch deleted file mode 100644 index fc42771..0000000 --- a/www-client/chromium/files/chromium-crx-install-err-include-83.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/extensions/browser/install/crx_install_error.cc b/extensions/browser/install/crx_install_error.cc -index a9765bb0a..ab5870069 100644 ---- a/extensions/browser/install/crx_install_error.cc -+++ b/extensions/browser/install/crx_install_error.cc -@@ -7,6 +7,8 @@ - #include "base/logging.h" - #include "extensions/browser/install/sandboxed_unpacker_failure_reason.h" - -+#include <algorithm> -+ - namespace extensions { - - CrxInstallError::CrxInstallError(CrxInstallErrorType type, diff --git a/www-client/chromium/files/chromium-cursor-80.patch b/www-client/chromium/files/chromium-cursor-80.patch deleted file mode 100644 index 4907452..0000000 --- a/www-client/chromium/files/chromium-cursor-80.patch +++ /dev/null @@ -1,99 +0,0 @@ -diff --git a/chrome/browser/ui/libgtkui/gtk_ui.cc b/chrome/browser/ui/libgtkui/gtk_ui.cc -index 1aea19a..cf38ee7 100644 ---- a/chrome/browser/ui/libgtkui/gtk_ui.cc -+++ b/chrome/browser/ui/libgtkui/gtk_ui.cc -@@ -845,6 +845,8 @@ - void GtkUi::OnCursorThemeNameChanged(GtkSettings* settings, - GtkParamSpec* param) { - std::string cursor_theme_name = GetCursorThemeName(); -+ if (cursor_theme_name.empty()) -+ return; - for (auto& observer : cursor_theme_observers()) - observer.OnCursorThemeNameChanged(cursor_theme_name); - } -@@ -852,6 +854,8 @@ - void GtkUi::OnCursorThemeSizeChanged(GtkSettings* settings, - GtkParamSpec* param) { - int cursor_theme_size = GetCursorThemeSize(); -+ if (!cursor_theme_size) -+ return; - for (auto& observer : cursor_theme_observers()) - observer.OnCursorThemeSizeChanged(cursor_theme_size); - } -diff --git a/ui/base/cursor/cursor_loader_x11.cc b/ui/base/cursor/cursor_loader_x11.cc -index efc6351..52ab54a 100644 ---- a/ui/base/cursor/cursor_loader_x11.cc -+++ b/ui/base/cursor/cursor_loader_x11.cc -@@ -83,11 +83,8 @@ - : display_(gfx::GetXDisplay()), - invisible_cursor_(CreateInvisibleCursor(), gfx::GetXDisplay()) { - auto* cursor_theme_manager = CursorThemeManagerLinux::GetInstance(); -- if (cursor_theme_manager) { -+ if (cursor_theme_manager) - cursor_theme_observer_.Add(cursor_theme_manager); -- OnCursorThemeNameChanged(cursor_theme_manager->GetCursorThemeName()); -- OnCursorThemeSizeChanged(cursor_theme_manager->GetCursorThemeSize()); -- } - } - - CursorLoaderX11::~CursorLoaderX11() { -diff --git a/ui/base/cursor/cursor_theme_manager_linux.cc b/ui/base/cursor/cursor_theme_manager_linux.cc -index fe8a97f..f825b74 100644 ---- a/ui/base/cursor/cursor_theme_manager_linux.cc -+++ b/ui/base/cursor/cursor_theme_manager_linux.cc -@@ -26,6 +26,12 @@ - void CursorThemeManagerLinux::AddObserver( - CursorThemeManagerLinuxObserver* observer) { - cursor_theme_observers_.AddObserver(observer); -+ std::string name = GetCursorThemeName(); -+ if (!name.empty()) -+ observer->OnCursorThemeNameChanged(name); -+ int size = GetCursorThemeSize(); -+ if (size) -+ observer->OnCursorThemeSizeChanged(size); - } - - void CursorThemeManagerLinux::RemoveObserver( -diff --git a/ui/base/cursor/cursor_theme_manager_linux.h b/ui/base/cursor/cursor_theme_manager_linux.h -index 5304867..464d397 100644 ---- a/ui/base/cursor/cursor_theme_manager_linux.h -+++ b/ui/base/cursor/cursor_theme_manager_linux.h -@@ -22,9 +22,10 @@ - - static CursorThemeManagerLinux* GetInstance(); - -- virtual std::string GetCursorThemeName() = 0; -- virtual int GetCursorThemeSize() = 0; -+ // Adds |observer| and makes initial OnCursorThemNameChanged() and/or -+ // OnCursorThemeSizeChanged() calls if the respective settings were set. - void AddObserver(CursorThemeManagerLinuxObserver* observer); -+ - void RemoveObserver(CursorThemeManagerLinuxObserver* observer); - - protected: -@@ -35,6 +36,9 @@ - return cursor_theme_observers_; - } - -+ virtual std::string GetCursorThemeName() = 0; -+ virtual int GetCursorThemeSize() = 0; -+ - private: - static CursorThemeManagerLinux* instance_; - -diff --git a/ui/base/cursor/cursor_theme_manager_linux_observer.h b/ui/base/cursor/cursor_theme_manager_linux_observer.h -index 3d0c822..73a3b42 100644 ---- a/ui/base/cursor/cursor_theme_manager_linux_observer.h -+++ b/ui/base/cursor/cursor_theme_manager_linux_observer.h -@@ -15,8 +15,11 @@ - class UI_BASE_EXPORT CursorThemeManagerLinuxObserver - : public base::CheckedObserver { - public: -+ // |cursor_theme_name| will be nonempty. - virtual void OnCursorThemeNameChanged( - const std::string& cursor_theme_name) = 0; -+ -+ // |cursor_theme_size| will be nonzero. - virtual void OnCursorThemeSizeChanged(int cursor_theme_size) = 0; - - protected: diff --git a/www-client/chromium/files/chromium-deque-constructor-82.patch b/www-client/chromium/files/chromium-deque-constructor-82.patch deleted file mode 100644 index 5c9d237..0000000 --- a/www-client/chromium/files/chromium-deque-constructor-82.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/third_party/blink/renderer/platform/wtf/deque.h b/third_party/blink/renderer/platform/wtf/deque.h -index 29cce7c57..07233c4 100644 ---- a/third_party/blink/renderer/platform/wtf/deque.h -+++ b/third_party/blink/renderer/platform/wtf/deque.h - -@@ -236,6 +236,7 @@ - typedef T& reference; - typedef std::bidirectional_iterator_tag iterator_category; - -+ DequeIterator() = default; - DequeIterator(Deque<T, inlineCapacity, Allocator>* deque, wtf_size_t index) - : Base(deque, index) {} - diff --git a/www-client/chromium/files/chromium-disable-mojovdec.patch b/www-client/chromium/files/chromium-disable-mojovdec.patch deleted file mode 100644 index e694ad2..0000000 --- a/www-client/chromium/files/chromium-disable-mojovdec.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc -index 477caecdb..e152cbddd 100644 ---- a/media/base/media_switches.cc -+++ b/media/base/media_switches.cc -@@ -245,7 +245,12 @@ const base::Feature kMemoryPressureBasedSourceBufferGC{ - - // Enable MojoVideoDecoder, replacing GpuVideoDecoder. - const base::Feature kMojoVideoDecoder{"MojoVideoDecoder", -- base::FEATURE_ENABLED_BY_DEFAULT}; -+#if defined(OS_CHROMEOS) || defined(OS_LINUX) -+ base::FEATURE_DISABLED_BY_DEFAULT -+#else -+ base::FEATURE_ENABLED_BY_DEFAULT -+#endif -+}; - - // Enable The D3D11 Video decoder. Must also enable MojoVideoDecoder for - // this to have any effect. diff --git a/www-client/chromium/files/chromium-ext-no-vector-const-84.patch b/www-client/chromium/files/chromium-ext-no-vector-const-84.patch deleted file mode 100644 index 7a02aba..0000000 --- a/www-client/chromium/files/chromium-ext-no-vector-const-84.patch +++ /dev/null @@ -1,40 +0,0 @@ -diff --git a/extensions/common/features/feature_flags.cc b/extensions/common/features/feature_flags.cc -index 5b63764e4..7efa308db 100644 ---- a/extensions/common/features/feature_flags.cc -+++ b/extensions/common/features/feature_flags.cc -@@ -19,7 +19,7 @@ namespace { - constexpr base::Feature kFeatureFlags[] = { - {"DeclarativeNetRequest", base::FEATURE_ENABLED_BY_DEFAULT}}; - --const std::vector<const base::Feature>* g_feature_flags_test_override = nullptr; -+const std::vector<base::Feature>* g_feature_flags_test_override = nullptr; - - template <typename T> - const base::Feature* GetFeature(T begin, -@@ -52,8 +52,8 @@ bool IsFeatureFlagEnabled(const std::string& feature_flag) { - } - - ScopedFeatureFlagsOverride CreateScopedFeatureFlagsOverrideForTesting( -- const std::vector<const base::Feature>* features) { -- return base::AutoReset<const std::vector<const base::Feature>*>( -+ const std::vector<base::Feature>* features) { -+ return base::AutoReset<const std::vector<base::Feature>*>( - &g_feature_flags_test_override, features); - } - -diff --git a/extensions/common/features/feature_flags.h b/extensions/common/features/feature_flags.h -index d1a5dd372..b57740b25 100644 ---- a/extensions/common/features/feature_flags.h -+++ b/extensions/common/features/feature_flags.h -@@ -25,9 +25,9 @@ bool IsFeatureFlagEnabled(const std::string& feature_flag); - // in scope. Clients must ensure that |features| remains alive (non-dangling) - // while the returned value is in scope. - using ScopedFeatureFlagsOverride = -- base::AutoReset<const std::vector<const base::Feature>*>; -+ base::AutoReset<const std::vector<base::Feature>*>; - ScopedFeatureFlagsOverride CreateScopedFeatureFlagsOverrideForTesting( -- const std::vector<const base::Feature>* features); -+ const std::vector<base::Feature>* features); - - } // namespace extensions - diff --git a/www-client/chromium/files/chromium-fix-char_traits.patch b/www-client/chromium/files/chromium-fix-char_traits.patch deleted file mode 100644 index 4cb9503..0000000 --- a/www-client/chromium/files/chromium-fix-char_traits.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- a/base/strings/char_traits.h -+++ b/base/strings/char_traits.h -@@ -67,9 +67,9 @@ - return __builtin_memcmp(s1, s2, n); - #else - for (; n; --n, ++s1, ++s2) { -- if (*s1 < *s2) -+ if ((unsigned char)*s1 < (unsigned char)*s2) - return -1; -- if (*s1 > *s2) -+ if ((unsigned char)*s1 > (unsigned char)*s2) - return 1; - } - return 0; diff --git a/www-client/chromium/files/chromium-gamepad-include-84.patch b/www-client/chromium/files/chromium-gamepad-include-84.patch deleted file mode 100644 index 36eb40c..0000000 --- a/www-client/chromium/files/chromium-gamepad-include-84.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/device/gamepad/public/cpp/gamepad.h b/device/gamepad/public/cpp/gamepad.h -index 67e793a23..c2ead1bd3 100644 ---- a/device/gamepad/public/cpp/gamepad.h -+++ b/device/gamepad/public/cpp/gamepad.h -@@ -7,6 +7,7 @@ - - #include <stddef.h> - #include <cstdint> -+#include <limits> - - #include "base/component_export.h" - #include "base/strings/string16.h" diff --git a/www-client/chromium/files/chromium-gcc-89311.patch b/www-client/chromium/files/chromium-gcc-89311.patch deleted file mode 100644 index 40a0e73..0000000 --- a/www-client/chromium/files/chromium-gcc-89311.patch +++ /dev/null @@ -1,88 +0,0 @@ -diff --git a/chrome/browser/ui/views/extensions/extension_popup.cc b/chrome/browser/ui/views/extensions/extension_popup.cc -index 3f0985d..57d16ab 100644 ---- a/chrome/browser/ui/views/extensions/extension_popup.cc -+++ b/chrome/browser/ui/views/extensions/extension_popup.cc -@@ -8,7 +8,6 @@ - #include "chrome/browser/devtools/devtools_window.h" - #include "chrome/browser/extensions/extension_view_host.h" - #include "chrome/browser/ui/browser.h" --#include "chrome/browser/ui/tabs/tab_strip_model.h" - #include "content/public/browser/devtools_agent_host.h" - #include "content/public/browser/notification_details.h" - #include "content/public/browser/notification_source.h" -diff --git a/chrome/browser/ui/views/extensions/extension_popup.h b/chrome/browser/ui/views/extensions/extension_popup.h -index 3661b5b..9018efa 100644 ---- a/chrome/browser/ui/views/extensions/extension_popup.h -+++ b/chrome/browser/ui/views/extensions/extension_popup.h -@@ -9,6 +9,7 @@ - #include "base/compiler_specific.h" - #include "base/macros.h" - #include "base/scoped_observer.h" -+#include "chrome/browser/ui/tabs/tab_strip_model.h" - #include "chrome/browser/ui/tabs/tab_strip_model_observer.h" - #include "chrome/browser/ui/views/extensions/extension_view_views.h" - #include "content/public/browser/devtools_agent_host_observer.h" -diff --git a/chrome/browser/ui/views/toolbar/extension_toolbar_menu_view.cc b/chrome/browser/ui/views/toolbar/extension_toolbar_menu_view.cc -index 7419243..441929a 100644 ---- a/chrome/browser/ui/views/toolbar/extension_toolbar_menu_view.cc -+++ b/chrome/browser/ui/views/toolbar/extension_toolbar_menu_view.cc -@@ -9,7 +9,6 @@ - #include "base/single_thread_task_runner.h" - #include "base/threading/thread_task_runner_handle.h" - #include "base/time/time.h" --#include "chrome/browser/ui/toolbar/toolbar_actions_bar.h" - #include "chrome/browser/ui/views/frame/app_menu_button.h" - #include "chrome/browser/ui/views/frame/browser_view.h" - #include "chrome/browser/ui/views/toolbar/app_menu.h" -diff --git a/chrome/browser/ui/views/toolbar/extension_toolbar_menu_view.h b/chrome/browser/ui/views/toolbar/extension_toolbar_menu_view.h -index 2a3ea8e..ac44a4f 100644 ---- a/chrome/browser/ui/views/toolbar/extension_toolbar_menu_view.h -+++ b/chrome/browser/ui/views/toolbar/extension_toolbar_menu_view.h -@@ -8,6 +8,7 @@ - #include "base/macros.h" - #include "base/memory/weak_ptr.h" - #include "base/scoped_observer.h" -+#include "chrome/browser/ui/toolbar/toolbar_actions_bar.h" - #include "chrome/browser/ui/toolbar/toolbar_actions_bar_observer.h" - #include "chrome/browser/ui/views/frame/app_menu_button_observer.h" - #include "ui/views/controls/scroll_view.h" -@@ -16,7 +17,6 @@ - class AppMenuButton; - class Browser; - class BrowserActionsContainer; --class ToolbarActionsBar; - - namespace views { - class MenuItemView; -diff --git a/chrome/browser/web_applications/extensions/bookmark_app_tab_helper.cc b/chrome/browser/web_applications/extensions/bookmark_app_tab_helper.cc -index 342723e..acdc4b7 100644 ---- a/chrome/browser/web_applications/extensions/bookmark_app_tab_helper.cc -+++ b/chrome/browser/web_applications/extensions/bookmark_app_tab_helper.cc -@@ -10,7 +10,6 @@ - #include "chrome/common/chrome_features.h" - #include "chrome/common/extensions/api/url_handlers/url_handlers_parser.h" - #include "content/public/browser/web_contents.h" --#include "extensions/browser/extension_registry.h" - #include "extensions/common/extension.h" - #include "url/gurl.h" - -diff --git a/chrome/browser/web_applications/extensions/bookmark_app_tab_helper.h b/chrome/browser/web_applications/extensions/bookmark_app_tab_helper.h -index 895e204..11dfdef 100644 ---- a/chrome/browser/web_applications/extensions/bookmark_app_tab_helper.h -+++ b/chrome/browser/web_applications/extensions/bookmark_app_tab_helper.h -@@ -8,6 +8,7 @@ - #include "base/macros.h" - #include "base/scoped_observer.h" - #include "chrome/browser/web_applications/components/web_app_tab_helper_base.h" -+#include "extensions/browser/extension_registry.h" - #include "extensions/browser/extension_registry_observer.h" - - namespace content { -@@ -17,7 +18,6 @@ - namespace extensions { - - class Extension; --class ExtensionRegistry; - - // Allows to associate a tab with bookmark app. - class BookmarkAppTabHelper : public web_app::WebAppTabHelperBase, diff --git a/www-client/chromium/files/chromium-gcc-initlist.patch b/www-client/chromium/files/chromium-gcc-initlist.patch deleted file mode 100644 index 8658264..0000000 --- a/www-client/chromium/files/chromium-gcc-initlist.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff --git a/net/third_party/quic/platform/impl/quic_flags_impl.cc b/net/third_party/quic/platform/impl/quic_flags_impl.cc -index 5e6962d1e..2456c80dd 100644 ---- a/net/third_party/quic/platform/impl/quic_flags_impl.cc -+++ b/net/third_party/quic/platform/impl/quic_flags_impl.cc -@@ -153,9 +153,9 @@ std::string QuicFlagRegistry::GetHelp() const { - template <> - bool TypedQuicFlagHelper<bool>::SetFlag(const std::string& s) const { - static const base::NoDestructor<std::set<std::string>> kTrueValues( -- {"", "1", "t", "true", "y", "yes"}); -+ std::initializer_list<std::string>({"", "1", "t", "true", "y", "yes"})); - static const base::NoDestructor<std::set<std::string>> kFalseValues( -- {"0", "f", "false", "n", "no"}); -+ std::initializer_list<std::string>({"0", "f", "false", "n", "no"})); - if (kTrueValues->find(base::ToLowerASCII(s)) != kTrueValues->end()) { - *flag_ = true; - return true; diff --git a/www-client/chromium/files/chromium-glibc-2.34.patch b/www-client/chromium/files/chromium-glibc-2.34.patch deleted file mode 100644 index 64c03a6..0000000 --- a/www-client/chromium/files/chromium-glibc-2.34.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 600d63c2c59a9892dbc5423d7d8bb1565a9f91e7 Mon Sep 17 00:00:00 2001 -From: Michel Salim <michel@fb.com> -Date: Thu, 04 Nov 2021 14:22:40 -0700 -Subject: [PATCH] Handle long SIGSTKSZ in glibc > 2.33 - -`SIGSTKSZ` is no longer constant in glibc > 2.33 but a function -returning a long. Cast before taking `max`. - -See https://sourceware.org/git/?p=glibc.git;a=blob;f=NEWS;h=85e84fe53699fe9e392edffa993612ce08b2954a;hb=HEAD - -Signed-off-by: Michel Salim <michel@fb.com> -Change-Id: I197f8ff3053eede80d6aed096be4f0113dd43241 -(relocated to chromium repo, removed static) ---- - -diff --git a/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc b/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc -index ca353c4..5cdabcf 100644 ---- a/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc -+++ b/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc -@@ -138,7 +138,7 @@ - // SIGSTKSZ may be too small to prevent the signal handlers from overrunning - // the alternative stack. Ensure that the size of the alternative stack is - // large enough. -- static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ); -+ const unsigned kSigStackSize = std::max(16384U, (unsigned)SIGSTKSZ); - - // Only set an alternative stack if there isn't already one, or if the current - // one is too small. -diff --git a/sandbox/linux/services/credentials.cc b/sandbox/linux/services/credentials.cc -index ca6b595..1c1ee42 100644 ---- a/sandbox/linux/services/credentials.cc -+++ b/sandbox/linux/services/credentials.cc -@@ -11,6 +11,7 @@ - #include <stddef.h> - #include <stdint.h> - #include <stdio.h> -+#include <string.h> - #include <sys/syscall.h> - #include <sys/types.h> - #include <sys/wait.h> -@@ -100,7 +101,8 @@ bool ChrootToSafeEmptyDir() { - // TODO(crbug.com/1247458) Broken in MSan builds after LLVM f1bb30a4956f. - clone_flags |= CLONE_VM | CLONE_VFORK | CLONE_SETTLS; - -- char tls_buf[PTHREAD_STACK_MIN] = {0}; -+ char tls_buf[PTHREAD_STACK_MIN]; -+ memset(tls_buf, 0, PTHREAD_STACK_MIN); - tls = tls_buf; - #endif - diff --git a/www-client/chromium/files/chromium-gpu-vp9-include-84.patch b/www-client/chromium/files/chromium-gpu-vp9-include-84.patch deleted file mode 100644 index ca95b4a..0000000 --- a/www-client/chromium/files/chromium-gpu-vp9-include-84.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/media/gpu/vp9_reference_frame_vector.cc b/media/gpu/vp9_reference_frame_vector.cc -index dc279980e..d560c7295 100644 ---- a/media/gpu/vp9_reference_frame_vector.cc -+++ b/media/gpu/vp9_reference_frame_vector.cc -@@ -6,6 +6,8 @@ - - #include "media/gpu/vp9_picture.h" - -+#include <bitset> -+ - namespace media { - - Vp9ReferenceFrameVector::Vp9ReferenceFrameVector() { diff --git a/www-client/chromium/files/chromium-harfbuzz-r0.patch b/www-client/chromium/files/chromium-harfbuzz-r0.patch deleted file mode 100644 index 2d5602d..0000000 --- a/www-client/chromium/files/chromium-harfbuzz-r0.patch +++ /dev/null @@ -1,80 +0,0 @@ -From 7ae38170a117e909bb28e1470842b68de3501197 Mon Sep 17 00:00:00 2001 -From: Mike Gilbert <floppymaster@gmail.com> -Date: Sun, 21 Oct 2018 10:06:53 -0400 -Subject: [PATCH] blink: add 'const' modifier for harfbuzz hb_codepoint_t - pointers - -This resolves a build failure against harfbuzz 2.0. - -Based on a patch by Alexandre Fierreira. - -Bug: https://bugs.gentoo.org/669034 ---- - .../renderer/platform/fonts/shaping/harfbuzz_face.cc | 2 +- - .../renderer/platform/fonts/skia/skia_text_metrics.cc | 9 +++++++-- - .../renderer/platform/fonts/skia/skia_text_metrics.h | 2 +- - 3 files changed, 9 insertions(+), 4 deletions(-) - -diff --git a/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face.cc b/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face.cc -index 8e7d91ca371f..e279a5876cb3 100644 ---- a/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face.cc -+++ b/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face.cc -@@ -139,7 +139,7 @@ static hb_position_t HarfBuzzGetGlyphHorizontalAdvance(hb_font_t* hb_font, - static void HarfBuzzGetGlyphHorizontalAdvances(hb_font_t* font, - void* font_data, - unsigned count, -- hb_codepoint_t* first_glyph, -+ const hb_codepoint_t* first_glyph, - unsigned int glyph_stride, - hb_position_t* first_advance, - unsigned int advance_stride, -diff --git a/third_party/blink/renderer/platform/fonts/skia/skia_text_metrics.cc b/third_party/blink/renderer/platform/fonts/skia/skia_text_metrics.cc -index 77ec6209fab9..9f9070921448 100644 ---- a/third_party/blink/renderer/platform/fonts/skia/skia_text_metrics.cc -+++ b/third_party/blink/renderer/platform/fonts/skia/skia_text_metrics.cc -@@ -18,6 +18,11 @@ T* advance_by_byte_size(T* p, unsigned byte_size) { - return reinterpret_cast<T*>(reinterpret_cast<uint8_t*>(p) + byte_size); - } - -+template <class T> -+T* advance_by_byte_size_const(T* p, unsigned byte_size) { -+ return reinterpret_cast<T*>(reinterpret_cast<const uint8_t*>(p) + byte_size); -+} -+ - } // namespace - - SkiaTextMetrics::SkiaTextMetrics(const SkPaint* paint) : paint_(paint) { -@@ -39,7 +44,7 @@ void SkiaTextMetrics::GetGlyphWidthForHarfBuzz(hb_codepoint_t codepoint, - } - - void SkiaTextMetrics::GetGlyphWidthForHarfBuzz(unsigned count, -- hb_codepoint_t* glyphs, -+ const hb_codepoint_t* glyphs, - unsigned glyph_stride, - hb_position_t* advances, - unsigned advance_stride) { -@@ -48,7 +53,7 @@ void SkiaTextMetrics::GetGlyphWidthForHarfBuzz(unsigned count, - // array that copy them to a regular array. - Vector<Glyph, 256> glyph_array(count); - for (unsigned i = 0; i < count; -- i++, glyphs = advance_by_byte_size(glyphs, glyph_stride)) { -+ i++, glyphs = advance_by_byte_size_const(glyphs, glyph_stride)) { - glyph_array[i] = *glyphs; - } - Vector<SkScalar, 256> sk_width_array(count); -diff --git a/third_party/blink/renderer/platform/fonts/skia/skia_text_metrics.h b/third_party/blink/renderer/platform/fonts/skia/skia_text_metrics.h -index 787d8af0375a..3bc4407c641b 100644 ---- a/third_party/blink/renderer/platform/fonts/skia/skia_text_metrics.h -+++ b/third_party/blink/renderer/platform/fonts/skia/skia_text_metrics.h -@@ -19,7 +19,7 @@ class SkiaTextMetrics final { - - void GetGlyphWidthForHarfBuzz(hb_codepoint_t, hb_position_t* width); - void GetGlyphWidthForHarfBuzz(unsigned count, -- hb_codepoint_t* first_glyph, -+ const hb_codepoint_t* first_glyph, - unsigned glyph_stride, - hb_position_t* first_advance, - unsigned advance_stride); --- -2.19.1 - diff --git a/www-client/chromium/files/chromium-hashtable-iterator-cat-83.patch b/www-client/chromium/files/chromium-hashtable-iterator-cat-83.patch deleted file mode 100644 index 777934c..0000000 --- a/www-client/chromium/files/chromium-hashtable-iterator-cat-83.patch +++ /dev/null @@ -1,65 +0,0 @@ -diff --git a/third_party/blink/renderer/bindings/core/v8/serialization/serialized_script_value.h b/third_party/blink/renderer/bindings/core/v8/serialization/serialized_script_value.h -index bbf10ef31..e5b627780 100644 ---- a/third_party/blink/renderer/bindings/core/v8/serialization/serialized_script_value.h -+++ b/third_party/blink/renderer/bindings/core/v8/serialization/serialized_script_value.h -@@ -268,12 +268,14 @@ class CORE_EXPORT SerializedScriptValue - MessagePortChannelArray& GetStreamChannels() { return stream_channels_; } - - bool IsLockedToAgentCluster() const { -- return !wasm_modules_.IsEmpty() || -- !shared_array_buffers_contents_.IsEmpty() || -- std::any_of(attachments_.begin(), attachments_.end(), -- [](const auto& entry) { -- return entry.value->IsLockedToAgentCluster(); -- }); -+ bool ret = !wasm_modules_.IsEmpty() || -+ !shared_array_buffers_contents_.IsEmpty(); -+ if (ret) return true; -+ for (const auto& entry : attachments_) { -+ if (entry.value->IsLockedToAgentCluster()) -+ return true; -+ }; -+ return false; - } - - // Returns true after serializing script values that remote origins cannot -diff --git a/third_party/blink/renderer/platform/wtf/hash_table.h b/third_party/blink/renderer/platform/wtf/hash_table.h -index 1d195f121..1e65c08d8 100644 ---- a/third_party/blink/renderer/platform/wtf/hash_table.h -+++ b/third_party/blink/renderer/platform/wtf/hash_table.h -@@ -272,7 +272,11 @@ class HashTableConstIterator final { - Allocator> - const_iterator; - typedef Value ValueType; -+ using iterator_category = std::bidirectional_iterator_tag; - using value_type = ValueType; -+ using reference = value_type&; -+ using pointer = value_type*; -+ using difference_type = ptrdiff_t; - typedef typename Traits::IteratorConstGetType GetType; - typedef const ValueType* PointerType; - -@@ -540,6 +544,11 @@ class HashTableIterator final { - std::ostream& PrintTo(std::ostream& stream) const { - return iterator_.PrintTo(stream); - } -+ using iterator_category = std::bidirectional_iterator_tag; -+ using value_type = ValueType; -+ using reference = value_type&; -+ using pointer = value_type*; -+ using difference_type = ptrdiff_t; - - private: - const_iterator iterator_; -@@ -2230,6 +2239,11 @@ struct HashTableConstIteratorAdapter { - } - // postfix -- intentionally omitted - typename HashTableType::const_iterator impl_; -+ using iterator_category = std::bidirectional_iterator_tag; -+ using value_type = GetType*; -+ using reference = value_type&; -+ using pointer = value_type*; -+ using difference_type = ptrdiff_t; - }; - - template <typename HashTable, typename Traits> diff --git a/www-client/chromium/files/chromium-include-limits-83.patch b/www-client/chromium/files/chromium-include-limits-83.patch deleted file mode 100644 index 840a212..0000000 --- a/www-client/chromium/files/chromium-include-limits-83.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/chrome/browser/performance_manager/graph/policies/background_tab_loading_policy_helpers.cc b/chrome/browser/performance_manager/graph/policies/background_tab_loading_policy_helpers.cc -index 6ab117bc4..43aa602f2 100644 ---- a/chrome/browser/performance_manager/graph/policies/background_tab_loading_policy_helpers.cc -+++ b/chrome/browser/performance_manager/graph/policies/background_tab_loading_policy_helpers.cc -@@ -2,6 +2,8 @@ - // Use of this source code is governed by a BSD-style license that can be - // found in the LICENSE file. - -+#include <limits> -+ - #include "chrome/browser/performance_manager/graph/policies/background_tab_loading_policy_helpers.h" - #include "base/logging.h" - diff --git a/www-client/chromium/files/chromium-include-limits-84.patch b/www-client/chromium/files/chromium-include-limits-84.patch deleted file mode 100644 index d73b36d..0000000 --- a/www-client/chromium/files/chromium-include-limits-84.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/chrome/browser/performance_manager/graph/policies/background_tab_loading_policy_helpers.cc b/chrome/browser/performance_manager/graph/policies/background_tab_loading_policy_helpers.cc -index 4881c010b..4d5d7a4fb 100644 ---- a/chrome/browser/performance_manager/graph/policies/background_tab_loading_policy_helpers.cc -+++ b/chrome/browser/performance_manager/graph/policies/background_tab_loading_policy_helpers.cc -@@ -4,6 +4,7 @@ - - #include "chrome/browser/performance_manager/graph/policies/background_tab_loading_policy_helpers.h" - -+#include <limits> - #include <math.h> - - #include "base/logging.h" diff --git a/www-client/chromium/files/chromium-inline-node-ptr-84.patch b/www-client/chromium/files/chromium-inline-node-ptr-84.patch deleted file mode 100644 index 58ded53..0000000 --- a/www-client/chromium/files/chromium-inline-node-ptr-84.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/third_party/blink/renderer/core/layout/ng/inline/ng_inline_node.cc b/third_party/blink/renderer/core/layout/ng/inline/ng_inline_node.cc -index 55ca9e3f7..ee691dfaf 100644 ---- a/third_party/blink/renderer/core/layout/ng/inline/ng_inline_node.cc -+++ b/third_party/blink/renderer/core/layout/ng/inline/ng_inline_node.cc -@@ -891,7 +891,7 @@ void NGInlineNode::SegmentText(NGInlineNodeData* data) { - - // Segment NGInlineItem by script, Emoji, and orientation using RunSegmenter. - void NGInlineNode::SegmentScriptRuns(NGInlineNodeData* data) { -- DCHECK_EQ(data->segments, nullptr); -+ DCHECK_EQ(data->segments.get(), nullptr); - - String& text_content = data->text_content; - if (text_content.IsEmpty()) { diff --git a/www-client/chromium/files/chromium-launcher-r3.sh b/www-client/chromium/files/chromium-launcher-r3.sh deleted file mode 100644 index a4fc1a9..0000000 --- a/www-client/chromium/files/chromium-launcher-r3.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/bash - -# Allow the user to override command-line flags, bug #357629. -# This is based on Debian's chromium-browser package, and is intended -# to be consistent with Debian. -for f in /etc/chromium/*; do - [[ -f ${f} ]] && source "${f}" -done - -# Prefer user defined CHROMIUM_USER_FLAGS (from env) over system -# default CHROMIUM_FLAGS (from /etc/chromium/default). -CHROMIUM_FLAGS=${CHROMIUM_USER_FLAGS:-"$CHROMIUM_FLAGS"} - -# Let the wrapped binary know that it has been run through the wrapper -export CHROME_WRAPPER=$(readlink -f "$0") - -PROGDIR=${CHROME_WRAPPER%/*} - -case ":$PATH:" in - *:$PROGDIR:*) - # $PATH already contains $PROGDIR - ;; - *) - # Append $PROGDIR to $PATH - export PATH="$PATH:$PROGDIR" - ;; -esac - -if [[ ${EUID} == 0 && -O ${XDG_CONFIG_HOME:-${HOME}} ]]; then - # Running as root with HOME owned by root. - # Pass --user-data-dir to work around upstream failsafe. - CHROMIUM_FLAGS="--user-data-dir=${XDG_CONFIG_HOME:-${HOME}/.config}/chromium - ${CHROMIUM_FLAGS}" -fi - -# Set the .desktop file name -export CHROME_DESKTOP="chromium-browser-chromium.desktop" - -exec -a "chromium-browser" "$PROGDIR/chrome" --extra-plugin-dir=/usr/lib/nsbrowser/plugins ${CHROMIUM_FLAGS} "$@" diff --git a/www-client/chromium/files/chromium-launcher-r6.sh b/www-client/chromium/files/chromium-launcher-r6.sh deleted file mode 100644 index 637cfd6..0000000 --- a/www-client/chromium/files/chromium-launcher-r6.sh +++ /dev/null @@ -1,48 +0,0 @@ -#!/bin/bash - -# Allow the user to override command-line flags, bug #357629. -# This is based on Debian's chromium-browser package, and is intended -# to be consistent with Debian. -for f in /etc/chromium/*; do - [[ -f ${f} ]] && source "${f}" -done - -# Prefer user defined CHROMIUM_USER_FLAGS (from env) over system -# default CHROMIUM_FLAGS (from /etc/chromium/default). -CHROMIUM_FLAGS=${CHROMIUM_USER_FLAGS:-"$CHROMIUM_FLAGS"} - -# Let the wrapped binary know that it has been run through the wrapper -export CHROME_WRAPPER=$(readlink -f "$0") - -PROGDIR=${CHROME_WRAPPER%/*} - -case ":$PATH:" in - *:$PROGDIR:*) - # $PATH already contains $PROGDIR - ;; - *) - # Append $PROGDIR to $PATH - export PATH="$PATH:$PROGDIR" - ;; -esac - -if [[ ${EUID} == 0 && -O ${XDG_CONFIG_HOME:-${HOME}} ]]; then - # Running as root with HOME owned by root. - # Pass --user-data-dir to work around upstream failsafe. - CHROMIUM_FLAGS="--user-data-dir=${XDG_CONFIG_HOME:-${HOME}/.config}/chromium - ${CHROMIUM_FLAGS}" -fi - -# Select session type and platform -if @@FORCE_OZONE_PLATFORM@@; then - CHROMIUM_FLAGS="--enable-features=UseOzonePlatform ${CHROMIUM_FLAGS}" -elif @@OZONE_AUTO_SESSION@@ && ! ${DISABLE_OZONE_PLATFORM:-false}; then - if [[ ${XDG_SESSION_TYPE} == wayland || -n ${WAYLAND_DISPLAY} && ${XDG_SESSION_TYPE} != x11 ]]; then - CHROMIUM_FLAGS="--enable-features=UseOzonePlatform ${CHROMIUM_FLAGS}" - fi -fi - -# Set the .desktop file name -export CHROME_DESKTOP="chromium-browser-chromium.desktop" - -exec -a "chromium-browser" "$PROGDIR/chrome" --extra-plugin-dir=/usr/lib/nsbrowser/plugins ${CHROMIUM_FLAGS} "$@" diff --git a/www-client/chromium/files/chromium-layer_tree_impl-stlcompat.patch b/www-client/chromium/files/chromium-layer_tree_impl-stlcompat.patch deleted file mode 100644 index 8fd9ff1..0000000 --- a/www-client/chromium/files/chromium-layer_tree_impl-stlcompat.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/cc/trees/layer_tree_impl.h b/cc/trees/layer_tree_impl.h -index f74d18f65..7cdc29e44 100644 ---- a/cc/trees/layer_tree_impl.h -+++ b/cc/trees/layer_tree_impl.h -@@ -194,7 +194,7 @@ class CC_EXPORT LayerTreeImpl { - // Adapts an iterator of std::unique_ptr<LayerImpl> to an iterator of - // LayerImpl*. - template <typename Iterator> -- class IteratorAdapter { -+ class IteratorAdapter : public std::iterator<std::forward_iterator_tag, LayerImpl*> { - public: - explicit IteratorAdapter(Iterator it) : it_(it) {} - bool operator==(IteratorAdapter o) const { return it_ == o.it_; } diff --git a/www-client/chromium/files/chromium-link.patch b/www-client/chromium/files/chromium-link.patch deleted file mode 100644 index d39bba0..0000000 --- a/www-client/chromium/files/chromium-link.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/device/bluetooth/bluetooth_device.cc b/device/bluetooth/bluetooth_device.cc -index dc280146a..cdc2944f4 100644 ---- a/device/bluetooth/bluetooth_device.cc -+++ b/device/bluetooth/bluetooth_device.cc -@@ -513,9 +513,9 @@ void BluetoothDevice::RemoveGattConnection( - } - - void BluetoothDevice::SetAsExpiredForTesting() { -- last_update_time_ = -- base::Time::NowFromSystemTime() - -- (BluetoothAdapter::timeoutSec + base::TimeDelta::FromSeconds(1)); -+ //last_update_time_ = -+ // base::Time::NowFromSystemTime() - -+ // (BluetoothAdapter::timeoutSec + base::TimeDelta::FromSeconds(1)); - } - - void BluetoothDevice::Pair(PairingDelegate* pairing_delegate, diff --git a/www-client/chromium/files/chromium-math.h-r0.patch b/www-client/chromium/files/chromium-math.h-r0.patch deleted file mode 100644 index 6c7c747..0000000 --- a/www-client/chromium/files/chromium-math.h-r0.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 9f63f94a11abc34d40ede8b8712fa15b5844a8c0 Mon Sep 17 00:00:00 2001 -From: Tom Anderson <thomasanderson@chromium.org> -Date: Sat, 27 Jan 2018 20:03:37 +0000 -Subject: [PATCH] Fix build with glibc 2.27 - -BUG=806340 -TBR=hamelphi@chromium.org - -Change-Id: Ib4e5091212d874d9ad88f3e9a1fdfee3ed7e0d5e -Reviewed-on: https://chromium-review.googlesource.com/890059 -Reviewed-by: Thomas Anderson <thomasanderson@chromium.org> -Reviewed-by: Philippe Hamel <hamelphi@chromium.org> -Commit-Queue: Thomas Anderson <thomasanderson@chromium.org> -Cr-Commit-Position: refs/heads/master@{#532249} ---- - -diff --git a/components/assist_ranker/ranker_example_util.cc b/components/assist_ranker/ranker_example_util.cc -index 54d4dbd..ceedd8f 100644 ---- a/components/assist_ranker/ranker_example_util.cc -+++ b/components/assist_ranker/ranker_example_util.cc -@@ -2,6 +2,8 @@ - // Use of this source code is governed by a BSD-style license that can be - // found in the LICENSE file. - -+#include <math.h> -+ - #include "components/assist_ranker/ranker_example_util.h" - #include "base/bit_cast.h" - #include "base/format_macros.h" diff --git a/www-client/chromium/files/chromium-media-alloc-84.patch b/www-client/chromium/files/chromium-media-alloc-84.patch deleted file mode 100644 index cc9ca5d..0000000 --- a/www-client/chromium/files/chromium-media-alloc-84.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/media/base/media.cc b/media/base/media.cc -index c282ee49a..3feece8a2 100644 ---- a/media/base/media.cc -+++ b/media/base/media.cc -@@ -2,6 +2,8 @@ - // Use of this source code is governed by a BSD-style license that can be - // found in the LICENSE file. - -+#include <limits> -+ - #include "media/base/media.h" - - #include "base/allocator/buildflags.h" -@@ -41,7 +43,7 @@ class MediaInitializer { - - #if BUILDFLAG(USE_ALLOCATOR_SHIM) - // Remove allocation limit from ffmpeg, so calls go down to shim layer. -- av_max_alloc(0); -+ av_max_alloc(std::numeric_limits<size_t>::max()); - #endif // BUILDFLAG(USE_ALLOCATOR_SHIM) - - #endif // BUILDFLAG(ENABLE_FFMPEG) diff --git a/www-client/chromium/files/chromium-memcpy-r0.patch b/www-client/chromium/files/chromium-memcpy-r0.patch deleted file mode 100644 index dd2fd57..0000000 --- a/www-client/chromium/files/chromium-memcpy-r0.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 4942f56ceb6d60d6f54ebca8e6eba8ba01c278e8 Mon Sep 17 00:00:00 2001 -From: Tomas Popela <tomas.popela@gmail.com> -Date: Thu, 7 Dec 2017 22:33:34 +0000 -Subject: [PATCH] memcpy used without including string.h - -Compiling Chromium with Clang 4.0.1 and using libstdc++ will fail on using -memcpy without including string.h. - -Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel -Change-Id: Idced1d5de3baf6b520d4a2d61774120642ead1a8 -Reviewed-on: https://chromium-review.googlesource.com/813737 -Reviewed-by: Thomas Anderson <thomasanderson@chromium.org> -Reviewed-by: vmpstr <vmpstr@chromium.org> -Commit-Queue: Thomas Anderson <thomasanderson@chromium.org> -Cr-Commit-Position: refs/heads/master@{#522579} ---- - cc/paint/raw_memory_transfer_cache_entry.cc | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/cc/paint/raw_memory_transfer_cache_entry.cc b/cc/paint/raw_memory_transfer_cache_entry.cc -index 9e4660c685ee..95ad50b1a338 100644 ---- a/cc/paint/raw_memory_transfer_cache_entry.cc -+++ b/cc/paint/raw_memory_transfer_cache_entry.cc -@@ -4,6 +4,8 @@ - - #include "cc/paint/raw_memory_transfer_cache_entry.h" - -+#include <string.h> -+ - namespace cc { - - ClientRawMemoryTransferCacheEntry::ClientRawMemoryTransferCacheEntry( --- -2.15.1 - diff --git a/www-client/chromium/files/chromium-mojo-ltm-83.patch b/www-client/chromium/files/chromium-mojo-ltm-83.patch deleted file mode 100644 index f7ab5ee..0000000 --- a/www-client/chromium/files/chromium-mojo-ltm-83.patch +++ /dev/null @@ -1,84 +0,0 @@ -From f47546873b1517d358815a26cebc6c4d51addbdb Mon Sep 17 00:00:00 2001 -From: Asa Karlsson <asaka@vewd.com> -Date: Wed, 11 Mar 2020 10:51:08 +0100 -Subject: [PATCH] Fix lifetime management of URLLoaderClient::OnUpdateProgress callback. - -The mojo setup for network URLLoader is a 3-way connection: - URLLoader <-> CorsURLLoader <-> URLLoaderClientImpl. - -The network::mojom::URLLoaderClient interface has one function with a -callback defined: URLLoaderClient::OnUpdateProgress. Depending on -timing, this callback may be in progress while the mojo connection is -torn down. If the callback (originating in URLLoader) is in transfer -from CorsURLLoader to URLLoaderClientImpl at that time, the callback -would be dropped (destroyed) due to Receiver (URLLoaderClientImpl) -being destroyed. Since the callback was successfully handed over to -CorsURLLoader first, this will lead to a mojo DCHECK for "<callback> -was destroyed without first either being run or its corresponding -binding being closed". - -By storing the callback in CorsURLLoader and calling it on mojo -disconnect, running the callback is ensured also at untimely -disconnects. - -Bug: 1060502 -Change-Id: Iaedeac975508b3c0e5b4819d4f0b1a061f9c5460 ---- - -diff --git a/services/network/cors/cors_url_loader.cc b/services/network/cors/cors_url_loader.cc -index c25dded..e51d916 100644 ---- a/services/network/cors/cors_url_loader.cc -+++ b/services/network/cors/cors_url_loader.cc -@@ -383,8 +383,20 @@ - OnUploadProgressCallback ack_callback) { - DCHECK(network_loader_); - DCHECK(forwarding_client_); -- forwarding_client_->OnUploadProgress(current_position, total_size, -- std::move(ack_callback)); -+ -+ // We need to store the original callback here to allow us to call -+ // it during mojo disconnect in the case the OnUploadProgress has -+ // not reached the forwarding_client_ yet. Otherwise, the -+ // un-triggered callback will generate a DCHECK when destroyed. -+ pending_upoad_callback_ = std::move(ack_callback); -+ forwarding_client_->OnUploadProgress( -+ current_position, total_size, -+ base::BindOnce(&CorsURLLoader::OnUploadProgressACK, -+ weak_factory_.GetWeakPtr())); -+} -+ -+void CorsURLLoader::OnUploadProgressACK() { -+ std::move(pending_upoad_callback_).Run(); - } - - void CorsURLLoader::OnReceiveCachedMetadata(mojo_base::BigBuffer data) { -@@ -538,6 +550,8 @@ - } - - void CorsURLLoader::OnMojoDisconnect() { -+ if (pending_upoad_callback_) -+ std::move(pending_upoad_callback_).Run(); - HandleComplete(URLLoaderCompletionStatus(net::ERR_ABORTED)); - } - -diff --git a/services/network/cors/cors_url_loader.h b/services/network/cors/cors_url_loader.h -index 3f47a81..6611c6e 100644 ---- a/services/network/cors/cors_url_loader.h -+++ b/services/network/cors/cors_url_loader.h -@@ -108,6 +108,8 @@ - // Handles OnComplete() callback. - void HandleComplete(const URLLoaderCompletionStatus& status); - -+ void OnUploadProgressACK(); -+ - void OnMojoDisconnect(); - - void SetCorsFlagIfNeeded(); -@@ -124,6 +126,7 @@ - const std::string& header_name); - - mojo::Receiver<mojom::URLLoader> receiver_; -+ OnUploadProgressCallback pending_upoad_callback_; - - // We need to save these for redirect, and DevTools. - const int32_t process_id_; diff --git a/www-client/chromium/files/chromium-nearby-inc-86.patch b/www-client/chromium/files/chromium-nearby-inc-86.patch deleted file mode 100644 index 2fd2187..0000000 --- a/www-client/chromium/files/chromium-nearby-inc-86.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/third_party/nearby/src/cpp/platform_v2/base/byte_array.h 2020-07-31 09:49:49.073719408 +0800 -+++ b/third_party/nearby/src/cpp/platform_v2/base/byte_array.h 2020-07-31 09:50:00.025843476 +0800 -@@ -17,6 +17,7 @@ - - #include <array> - #include <cstdint> -+#include <cstring> - #include <string> - #include <type_traits> - #include <utility> diff --git a/www-client/chromium/files/chromium-ngphyscontainer-iterator-cat-83.patch b/www-client/chromium/files/chromium-ngphyscontainer-iterator-cat-83.patch deleted file mode 100644 index 1ab52d5..0000000 --- a/www-client/chromium/files/chromium-ngphyscontainer-iterator-cat-83.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/third_party/blink/renderer/core/layout/ng/ng_physical_container_fragment.h b/third_party/blink/renderer/core/layout/ng/ng_physical_container_fragment.h -index b3c7624f4..6efe44a66 100644 ---- a/third_party/blink/renderer/core/layout/ng/ng_physical_container_fragment.h -+++ b/third_party/blink/renderer/core/layout/ng/ng_physical_container_fragment.h -@@ -51,6 +51,12 @@ class CORE_EXPORT NGPhysicalContainerFragment : public NGPhysicalFragment { - return current_ != other.current_; - } - -+ using iterator_category = std::forward_iterator_tag; -+ using value_type = NGLink*; -+ using reference = value_type&; -+ using pointer = value_type*; -+ using difference_type = ptrdiff_t; -+ - private: - const NGLink* PostLayoutOrCurrent() const { - post_layout_.fragment = current_->fragment->PostLayout(); diff --git a/www-client/chromium/files/chromium-noexcept-2.patch b/www-client/chromium/files/chromium-noexcept-2.patch deleted file mode 100644 index 16aa76b..0000000 --- a/www-client/chromium/files/chromium-noexcept-2.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/chrome/browser/media/router/providers/cast/cast_activity_manager.cc b/chrome/browser/media/router/providers/cast/cast_activity_manager.cc -index 5c72abe4f..5e30c24d2 100644 ---- a/chrome/browser/media/router/providers/cast/cast_activity_manager.cc -+++ b/chrome/browser/media/router/providers/cast/cast_activity_manager.cc -@@ -803,7 +803,7 @@ CastActivityManager::DoLaunchSessionParams::DoLaunchSessionParams( - callback(std::move(callback)) {} - - CastActivityManager::DoLaunchSessionParams::DoLaunchSessionParams( -- DoLaunchSessionParams&& other) noexcept = default; -+ DoLaunchSessionParams&& other) = default; - - CastActivityManager::DoLaunchSessionParams::~DoLaunchSessionParams() = default; - -diff --git a/chrome/browser/media/router/providers/cast/cast_activity_manager.h b/chrome/browser/media/router/providers/cast/cast_activity_manager.h -index 325bffc72..08fe0ccca 100644 ---- a/chrome/browser/media/router/providers/cast/cast_activity_manager.h -+++ b/chrome/browser/media/router/providers/cast/cast_activity_manager.h -@@ -295,7 +295,7 @@ class CastActivityManager : public cast_channel::CastMessageHandler::Observer, - const url::Origin& origin, - int tab_id, - mojom::MediaRouteProvider::CreateRouteCallback callback); -- DoLaunchSessionParams(DoLaunchSessionParams&& other) noexcept; -+ DoLaunchSessionParams(DoLaunchSessionParams&& other); - ~DoLaunchSessionParams(); - DoLaunchSessionParams& operator=(DoLaunchSessionParams&&) = delete; - diff --git a/www-client/chromium/files/chromium-noexcept-3.patch b/www-client/chromium/files/chromium-noexcept-3.patch deleted file mode 100644 index b5ca5a3..0000000 --- a/www-client/chromium/files/chromium-noexcept-3.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/storage/browser/fileapi/file_system_url.cc b/storage/browser/fileapi/file_system_url.cc -index b90cf2904..e28b1f85d 100644 ---- a/storage/browser/fileapi/file_system_url.cc -+++ b/storage/browser/fileapi/file_system_url.cc -@@ -26,7 +26,7 @@ FileSystemURL::FileSystemURL() - - FileSystemURL::FileSystemURL(const FileSystemURL& other) = default; - --FileSystemURL::FileSystemURL(FileSystemURL&& other) noexcept = default; -+FileSystemURL::FileSystemURL(FileSystemURL&& other) = default; - - FileSystemURL& FileSystemURL::operator=(FileSystemURL&& rhs) = default; - -diff --git a/storage/browser/fileapi/file_system_url.h b/storage/browser/fileapi/file_system_url.h -index 8220812d0..f6b8813e2 100644 ---- a/storage/browser/fileapi/file_system_url.h -+++ b/storage/browser/fileapi/file_system_url.h -@@ -82,7 +82,7 @@ class COMPONENT_EXPORT(STORAGE_BROWSER) FileSystemURL { - FileSystemURL(const FileSystemURL& other); - // Constructs FileSystemURL with the contents of |other|, which is left in - // valid but unspecified state. -- FileSystemURL(FileSystemURL&& other) noexcept; -+ FileSystemURL(FileSystemURL&& other); - ~FileSystemURL(); - - // Replaces the contents with those of |rhs|, which is left in valid but diff --git a/www-client/chromium/files/chromium-noexcept.patch b/www-client/chromium/files/chromium-noexcept.patch deleted file mode 100644 index 70948a8..0000000 --- a/www-client/chromium/files/chromium-noexcept.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/media/learning/common/labelled_example.cc b/media/learning/common/labelled_example.cc -index 6c8cb7d34..370b6bb05 100644 ---- a/media/learning/common/labelled_example.cc -+++ b/media/learning/common/labelled_example.cc -@@ -17,7 +17,7 @@ LabelledExample::LabelledExample(std::initializer_list<FeatureValue> init_list, - - LabelledExample::LabelledExample(const LabelledExample& rhs) = default; - --LabelledExample::LabelledExample(LabelledExample&& rhs) noexcept = default; -+LabelledExample::LabelledExample(LabelledExample&& rhs) = default; - - LabelledExample::~LabelledExample() = default; - -diff --git a/media/learning/common/labelled_example.h b/media/learning/common/labelled_example.h -index ee89586f5..b203a567c 100644 ---- a/media/learning/common/labelled_example.h -+++ b/media/learning/common/labelled_example.h -@@ -31,7 +31,7 @@ struct COMPONENT_EXPORT(LEARNING_COMMON) LabelledExample { - LabelledExample(std::initializer_list<FeatureValue> init_list, - TargetValue target); - LabelledExample(const LabelledExample& rhs); -- LabelledExample(LabelledExample&& rhs) noexcept; -+ LabelledExample(LabelledExample&& rhs); - ~LabelledExample(); - - // Comparisons ignore weight, because it's convenient. diff --git a/www-client/chromium/files/chromium-ntp_backgrounds-include-84.patch b/www-client/chromium/files/chromium-ntp_backgrounds-include-84.patch deleted file mode 100644 index bd98ef0..0000000 --- a/www-client/chromium/files/chromium-ntp_backgrounds-include-84.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/chrome/browser/search/background/ntp_backgrounds.h b/chrome/browser/search/background/ntp_backgrounds.h -index 7afc0a230..6a6ad3b48 100644 ---- a/chrome/browser/search/background/ntp_backgrounds.h -+++ b/chrome/browser/search/background/ntp_backgrounds.h -@@ -5,6 +5,7 @@ - #ifndef CHROME_BROWSER_SEARCH_BACKGROUND_NTP_BACKGROUNDS_H_ - #define CHROME_BROWSER_SEARCH_BACKGROUND_NTP_BACKGROUNDS_H_ - -+#include <cstddef> - #include <array> - - class GURL; diff --git a/www-client/chromium/files/chromium-opencv-include-84.patch b/www-client/chromium/files/chromium-opencv-include-84.patch deleted file mode 100644 index 4c7b328..0000000 --- a/www-client/chromium/files/chromium-opencv-include-84.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/third_party/opencv/src/emd.cpp b/third_party/opencv/src/emd.cpp -index 30b19f676..834ebe9f4 100644 ---- a/third_party/opencv/src/emd.cpp -+++ b/third_party/opencv/src/emd.cpp -@@ -59,6 +59,7 @@ - #ifdef CHROMIUM_OPENCV - #include "emd_wrapper.h" - -+#include <algorithm> - #include <vector> - #include <cassert> - diff --git a/www-client/chromium/files/chromium-pa13.patch b/www-client/chromium/files/chromium-pa13.patch deleted file mode 100644 index 892a318..0000000 --- a/www-client/chromium/files/chromium-pa13.patch +++ /dev/null @@ -1,82 +0,0 @@ -From 7ac85fb4cc6f44a21761a591ac497ae3d6bf966d Mon Sep 17 00:00:00 2001 -From: Allan Sandfeld Jensen <allan.jensen@qt.io> -Date: Mon, 23 Sep 2019 13:49:53 +0200 -Subject: [PATCH] Fix building with pulseaudio 13 - -The function signature changed though the ABI stayed the same. - -(Modified to apply on chromium sources too) - -Change-Id: I86ca361b5e4f0c523e1031910df438c23beee876 -Fixes: QTBUG-77037 -Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io> ---- - -diff --git a/media/audio/pulse/pulse.sigs b/media/audio/pulse/pulse.sigs -index 8b58887..daaeb14 100644 ---- a/media/audio/pulse/pulse.sigs -+++ b/media/audio/pulse/pulse.sigs -@@ -24,11 +24,11 @@ - pa_operation* pa_context_get_source_info_by_name(pa_context* c, const char* name, pa_source_info_cb_t cb, void *userdata); - pa_operation* pa_context_get_source_info_list(pa_context* c, pa_source_info_cb_t cb, void* userdata); - pa_operation* pa_context_get_sink_info_list(pa_context* c, pa_sink_info_cb_t cb, void* userdata); --pa_context_state_t pa_context_get_state(pa_context* c); -+pa_context_state_t pa_context_get_state(const_pa_context_ptr c); - pa_context* pa_context_new(pa_mainloop_api* mainloop, const char* name); - pa_operation* pa_context_set_source_volume_by_index(pa_context* c, uint32_t idx, const pa_cvolume* volume, pa_context_success_cb_t cb, void* userdata); - void pa_context_set_state_callback(pa_context* c, pa_context_notify_cb_t cb, void* userdata); --pa_operation_state_t pa_operation_get_state(pa_operation* o); -+pa_operation_state_t pa_operation_get_state(const_pa_operation_ptr o); - void pa_context_unref(pa_context* c); - void pa_operation_unref(pa_operation* o); - int pa_stream_begin_write(pa_stream* p, void** data, size_t* nbytes); -@@ -38,23 +38,23 @@ - int pa_stream_disconnect(pa_stream* s); - int pa_stream_drop(pa_stream *p); - pa_operation* pa_stream_flush(pa_stream* s, pa_stream_success_cb_t cb, void* userdata); --uint32_t pa_stream_get_device_index(pa_stream* s); -+uint32_t pa_stream_get_device_index(const_pa_stream_ptr s); - int pa_stream_get_latency(pa_stream* s, pa_usec_t* r_usec, int* negative); --pa_stream_state_t pa_stream_get_state(pa_stream* p); -+pa_stream_state_t pa_stream_get_state(const_pa_stream_ptr p); - pa_stream* pa_stream_new(pa_context* c, const char* name, const pa_sample_spec* ss, const pa_channel_map * map); - pa_stream* pa_stream_new_with_proplist(pa_context* c, const char* name, const pa_sample_spec* ss, const pa_channel_map* map, pa_proplist* p); - pa_proplist* pa_proplist_new(void); --int pa_proplist_contains(pa_proplist* p, const char* key); -+int pa_proplist_contains(const_pa_proplist_ptr p, const char* key); - void pa_proplist_free(pa_proplist* p); --const char* pa_proplist_gets(pa_proplist* p, const char* key); -+const char* pa_proplist_gets(const_pa_proplist_ptr p, const char* key); - int pa_proplist_sets(pa_proplist* p, const char* key, const char* value); --size_t pa_stream_readable_size(pa_stream *p); -+size_t pa_stream_readable_size(const_pa_stream_ptr p); - int pa_stream_peek(pa_stream* p, const void** data, size_t* nbytes); - void pa_stream_set_read_callback(pa_stream* p, pa_stream_request_cb_t cb, void* userdata); - void pa_stream_set_state_callback(pa_stream* s, pa_stream_notify_cb_t cb, void* userdata); - int pa_stream_write(pa_stream* p, const void* data, size_t nbytes, pa_free_cb_t free_cb, int64_t offset, pa_seek_mode_t seek); - void pa_stream_set_write_callback(pa_stream *p, pa_stream_request_cb_t cb, void *userdata); - void pa_stream_unref(pa_stream* s); --int pa_context_errno(pa_context *c); -+int pa_context_errno(const_pa_context_ptr c); - const char* pa_strerror(int error); - pa_cvolume* pa_cvolume_set(pa_cvolume* a, unsigned channels, pa_volume_t v); -diff --git a/chromium/media/audio/pulse/pulse_stub_header.fragment b/chromium/media/audio/pulse/pulse_stub_header.fragment -index 2a2d3e7..cdaa841 100644 ---- a/media/audio/pulse/pulse_stub_header.fragment -+++ b/media/audio/pulse/pulse_stub_header.fragment -@@ -5,4 +5,15 @@ - - #include <pulse/pulseaudio.h> - -+#if PA_MAJOR > 12 -+typedef const pa_context* const_pa_context_ptr; -+typedef const pa_operation* const_pa_operation_ptr; -+typedef const pa_proplist* const_pa_proplist_ptr; -+typedef const pa_stream* const_pa_stream_ptr; -+#else -+typedef pa_context* const_pa_context_ptr; -+typedef pa_operation* const_pa_operation_ptr; -+typedef pa_proplist* const_pa_proplist_ptr; -+typedef pa_stream* const_pa_stream_ptr; -+#endif - } diff --git a/www-client/chromium/files/chromium-pdfium-stdlib-r0.patch b/www-client/chromium/files/chromium-pdfium-stdlib-r0.patch deleted file mode 100644 index 1cfa4c5..0000000 --- a/www-client/chromium/files/chromium-pdfium-stdlib-r0.patch +++ /dev/null @@ -1,30 +0,0 @@ -From e3ad3deb6a6e79284f3748fa7410311d87df91c5 Mon Sep 17 00:00:00 2001 -From: Henrique Nakashima <hnakashima@chromium.org> -Date: Tue, 4 Sep 2018 16:49:51 +0000 -Subject: [PATCH] IWYU: stdint.h in pdfium_mem_buffer_file_write.h for uint8_t - -Bug: 879900 -Change-Id: I9c15d1c280a23c53d31f2d72c9d0d1db79eab886 -Reviewed-on: https://chromium-review.googlesource.com/1204410 -Reviewed-by: Lei Zhang <thestig@chromium.org> -Commit-Queue: Henrique Nakashima <hnakashima@chromium.org> -Cr-Commit-Position: refs/heads/master@{#588547} ---- - pdf/pdfium/pdfium_mem_buffer_file_write.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/pdf/pdfium/pdfium_mem_buffer_file_write.h b/pdf/pdfium/pdfium_mem_buffer_file_write.h -index 03c54bb63800..82e82d23684d 100644 ---- a/pdf/pdfium/pdfium_mem_buffer_file_write.h -+++ b/pdf/pdfium/pdfium_mem_buffer_file_write.h -@@ -6,6 +6,7 @@ - #define PDF_PDFIUM_PDFIUM_MEM_BUFFER_FILE_WRITE_H_ - - #include <stddef.h> -+#include <stdint.h> - - #include <vector> - --- -2.19.0 - diff --git a/www-client/chromium/files/chromium-remove-no_check_targets-86.patch b/www-client/chromium/files/chromium-remove-no_check_targets-86.patch deleted file mode 100644 index 7661b32..0000000 --- a/www-client/chromium/files/chromium-remove-no_check_targets-86.patch +++ /dev/null @@ -1,621 +0,0 @@ -diff --git a/.gn b/.gn -index 3afb64ba2..b239e02c3 100644 ---- a/.gn -+++ b/.gn -@@ -55,311 +55,311 @@ default_args = { - # matching these patterns (see "gn help label_pattern" for format) will not have - # their includes checked for proper dependencies when you run either - # "gn check" or "gn gen --check". --no_check_targets = [ -- # //chrome/*, https://crbug.com/949535 -- "//chrome/browser/devtools:*", # 114 errors -- "//chrome/browser/media/router/discovery:*", # 26 errors -- "//chrome/browser/media/router:*", # 225 errors -- "//chrome/browser/paint_preview:*", # 4 errors -- "//chrome/browser/profiling_host:*", # 13 errors -- "//chrome/browser/resources/chromeos/zip_archiver/cpp:*", # 2 errors -- "//chrome/browser/safe_browsing/android:*", # 3 errors -- "//chrome/browser/safe_browsing:*", # 85 errors -- "//chrome/browser/safety_check/android:*", # 3 errors -- "//chrome/browser/storage_access_api:*", # 2 errors -- "//chrome/browser/touch_to_fill/android:*", # 8 errors -- "//chrome/browser/touch_to_fill:*", # 5 errors -- "//chrome/browser/updates/announcement_notification:*", # 15 errors -- "//chrome/browser/updates/internal:*", # 8 errors -- "//chrome/browser/updates:*", # 21 errors -- "//chrome/browser:*", # 780 errors -- "//chrome/child:*", # 3 errors -- "//chrome/credential_provider/gaiacp:*", # 1 error -- "//chrome/gpu:*", # 2 errors -- "//chrome/install_static:*", # 4 errors -- "//chrome/notification_helper:*", # 4 errors -- "//chrome/renderer:*", # 42 errors -- "//chrome/services/cups_proxy/public/cpp:*", # 2 errors -- "//chrome/services/cups_proxy:*", # 6 errors -- "//chrome/services/file_util/public/cpp:*", # 13 errors -- "//chrome/services/file_util:*", # 3 errors -- "//chrome/services/ipp_parser:*", # 1 error -- "//chrome/services/media_gallery_util/public/cpp:*", # 6 errors -- "//chrome/services/media_gallery_util:*", # 3 errors -- "//chrome/services/printing:*", # 3 errors -- "//chrome/services/qrcode_generator:*", # 1 error -- "//chrome/services/removable_storage_writer:*", # 1 error -- "//chrome/services/sharing/public/cpp:*", # 2 errors -- "//chrome/services/speech:*", # 5 errors -- "//chrome/services/util_win:*", # 1 error -- "//chrome/test/chromedriver:*", # 115 errors -- "//chrome/test/data/nacl:*", # 350 errors -- "//chrome/test/media_router:*", # 5 errors -- "//chrome/test:*", # 2682 errors -- "//chrome:*", # 7 errors -- -- "//clank/third_party/gvr_shim:*", # 1 error -- "//extensions/browser/api/alarms:*", # 2 errors -- "//extensions/browser/api/app_current_window_internal:*", # 3 errors -- "//extensions/browser/api/app_runtime:*", # 3 errors -- "//extensions/browser/api/app_window:*", # 5 errors -- "//extensions/browser/api/audio:*", # 3 errors -- "//extensions/browser/api/automation_internal:*", # 37 errors -- "//extensions/browser/api/bluetooth_low_energy:*", # 22 errors -- "//extensions/browser/api/bluetooth_socket:*", # 12 errors -- "//extensions/browser/api/cast_channel:*", # 3 errors -- "//extensions/browser/api/cec_private:*", # 4 errors -- "//extensions/browser/api/clipboard:*", # 3 errors -- "//extensions/browser/api/crash_report_private:*", # 1 error -- "//extensions/browser/api/declarative:*", # 20 errors -- "//extensions/browser/api/declarative_content:*", # 2 errors -- "//extensions/browser/api/declarative_net_request/filter_list_converter:*", # 1 -- # error -- "//extensions/browser/api/declarative_net_request:*", # 18 errors -- "//extensions/browser/api/declarative_webrequest:*", # 29 errors -- "//extensions/browser/api/diagnostics:*", # 2 errors -- "//extensions/browser/api/display_source:*", # 7 errors -- "//extensions/browser/api/dns:*", # 3 errors -- "//extensions/browser/api/document_scan:*", # 2 errors -- "//extensions/browser/api/feedback_private:*", # 2 errors -- "//extensions/browser/api/file_handlers:*", # 3 errors -- "//extensions/browser/api/file_system:*", # 1 error -- "//extensions/browser/api/hid:*", # 12 errors -- "//extensions/browser/api/idle:*", # 4 errors -- "//extensions/browser/api/management:*", # 19 errors -- "//extensions/browser/api/messaging:*", # 1 error -- "//extensions/browser/api/metrics_private:*", # 3 errors -- "//extensions/browser/api/mime_handler_private:*", # 1 error -- "//extensions/browser/api/networking_config:*", # 7 errors -- "//extensions/browser/api/networking_private:*", # 14 errors -- "//extensions/browser/api/power:*", # 3 errors -- "//extensions/browser/api/printer_provider:*", # 7 errors -- "//extensions/browser/api/printer_provider_internal:*", # 3 errors -- "//extensions/browser/api/runtime:*", # 6 errors -- "//extensions/browser/api/serial:*", # 10 errors -- "//extensions/browser/api/socket:*", # 11 errors -- "//extensions/browser/api/sockets_tcp:*", # 6 errors -- "//extensions/browser/api/sockets_tcp_server:*", # 8 errors -- "//extensions/browser/api/sockets_udp:*", # 9 errors -- "//extensions/browser/api/storage:*", # 9 errors -- "//extensions/browser/api/system_cpu:*", # 1 error -- "//extensions/browser/api/system_display:*", # 3 errors -- "//extensions/browser/api/system_info:*", # 8 errors -- "//extensions/browser/api/system_memory:*", # 1 error -- "//extensions/browser/api/system_network:*", # 2 errors -- "//extensions/browser/api/system_power_source:*", # 2 errors -- "//extensions/browser/api/system_storage:*", # 6 errors -- "//extensions/browser/api/test:*", # 1 error -- "//extensions/browser/api/usb:*", # 12 errors -- "//extensions/browser/api/virtual_keyboard:*", # 1 error -- "//extensions/browser/api/virtual_keyboard_private:*", # 2 errors -- "//extensions/browser/api/vpn_provider:*", # 13 errors -- "//extensions/browser/api/web_request:*", # 37 errors -- "//extensions/browser/api/webcam_private:*", # 8 errors -- "//extensions/browser/api:*", # 7 errors -- "//extensions/browser/updater:*", # 31 errors -- "//extensions/browser/value_store:*", # 5 errors -- "//extensions/browser:*", # 20 errors -- "//extensions:*", # 75 errors -- "//headless:*", # 167 errors -- "//jingle:*", # 4 errors -- "//native_client/src/trusted/service_runtime:*", # 2 errors -- "//ppapi/cpp/private:*", # 1 error -- "//ppapi/host:*", # 1 error -- "//ppapi/native_client/src/untrusted/pnacl_irt_shim:*", # 197 errors -- "//ppapi/proxy:*", # 31 errors -- "//ppapi/shared_impl:*", # 3 errors -- "//ppapi/thunk:*", # 1071 errors -- "//ppapi:*", # 3 errors -- "//remoting/base/grpc_support:*", # 14 errors -- "//remoting/base/grpc_test_support:*", # 1 error -- "//remoting/base:*", # 6 errors -- "//remoting/client/audio:*", # 7 errors -- "//remoting/client/display:*", # 55 errors -- "//remoting/client/input:*", # 17 errors -- "//remoting/client/jni:*", # 8 errors -- "//remoting/client/notification:*", # 12 errors -- "//remoting/client/ui:*", # 13 errors -- "//remoting/client:*", # 20 errors -- "//remoting/codec:*", # 32 errors -- "//remoting/host/chromeos:*", # 10 errors -- "//remoting/host/file_transfer:*", # 43 errors -- "//remoting/host/input_monitor:*", # 3 errors -- "//remoting/host/installer/mac:*", # 1 error -- "//remoting/host/it2me:*", # 18 errors -- "//remoting/host/linux:*", # 64 errors -- "//remoting/host/mac:*", # 49 errors -- "//remoting/host/native_messaging:*", # 3 errors -- "//remoting/host/security_key:*", # 68 errors -- "//remoting/host/setup:*", # 9 errors -- "//remoting/host/win:*", # 43 errors -- "//remoting/host:*", # 164 errors -- "//remoting/ios/app/settings:*", # 6 errors -- "//remoting/ios/app:*", # 9 errors -- "//remoting/ios/audio:*", # 5 errors -- "//remoting/ios/domain:*", # 2 errors -- "//remoting/ios/facade:*", # 8 errors -- "//remoting/ios/persistence:*", # 10 errors -- "//remoting/ios/session:*", # 7 errors -- "//remoting/ios:*", # 2 errors -- "//remoting/protocol:*", # 142 errors -- "//remoting/signaling:*", # 30 errors -- "//remoting/test:*", # 20 errors -- "//remoting:*", # 27 errors -- "//sandbox/linux:*", # 13 errors -- "//sandbox/mac:*", # 14 errors -- "//sandbox/win:*", # 7 errors -- -- # //third_party/blink/*, https://crbug.com/800764 -- "//third_party/blink/common:*", # 9 errors -- "//third_party/blink/renderer/bindings/core/v8:*", # 1 error -- "//third_party/blink/renderer/controller:*", # 191 errors -- "//third_party/blink/renderer/core/accessibility:*", # 27 errors -- "//third_party/blink/renderer/core/animation:*", # 506 errors -- "//third_party/blink/renderer/core/animation_frame:*", # 4 errors -- "//third_party/blink/renderer/core/aom:*", # 23 errors -- "//third_party/blink/renderer/core/clipboard:*", # 43 errors -- "//third_party/blink/renderer/core/content_capture:*", # 12 errors -- "//third_party/blink/renderer/core/context_features:*", # 3 errors -- "//third_party/blink/renderer/core/css:*", # 835 errors -- "//third_party/blink/renderer/core/display_lock:*", # 36 errors -- "//third_party/blink/renderer/core/dom:*", # 706 errors -- "//third_party/blink/renderer/core/editing:*", # 847 errors -- "//third_party/blink/renderer/core/events:*", # 173 errors -- "//third_party/blink/renderer/core/execution_context:*", # 48 errors -- "//third_party/blink/renderer/core/exported:*", # 470 errors -- "//third_party/blink/renderer/core/feature_policy:*", # 15 errors -- "//third_party/blink/renderer/core/fetch:*", # 134 errors -- "//third_party/blink/renderer/core/fileapi:*", # 55 errors -- "//third_party/blink/renderer/core/frame:*", # 864 errors -- "//third_party/blink/renderer/core/fullscreen:*", # 32 errors -- "//third_party/blink/renderer/core/geometry:*", # 39 errors -- "//third_party/blink/renderer/core/html/parser:*", # 133 errors -- "//third_party/blink/renderer/core/html:*", # 1662 errors -- "//third_party/blink/renderer/core/imagebitmap:*", # 34 errors -- "//third_party/blink/renderer/core/input:*", # 240 errors -- "//third_party/blink/renderer/core/inspector:*", # 594 errors -- "//third_party/blink/renderer/core/intersection_observer:*", # 50 errors -- "//third_party/blink/renderer/core/layout/svg:*", # 193 errors -- "//third_party/blink/renderer/core/layout:*", # 920 errors -- "//third_party/blink/renderer/core/loader:*", # 421 errors -- "//third_party/blink/renderer/core/mathml:*", # 11 errors -- "//third_party/blink/renderer/core/messaging:*", # 30 errors -- "//third_party/blink/renderer/core/mojo:*", # 44 errors -- "//third_party/blink/renderer/core/offscreencanvas:*", # 22 errors -- "//third_party/blink/renderer/core/origin_trials:*", # 12 errors -- "//third_party/blink/renderer/core/page:*", # 500 errors -- "//third_party/blink/renderer/core/paint:*", # 788 errors -- "//third_party/blink/renderer/core/probe:*", # 9 errors -- "//third_party/blink/renderer/core/resize_observer:*", # 29 errors -- "//third_party/blink/renderer/core/script:*", # 155 errors -- "//third_party/blink/renderer/core/scroll:*", # 29 errors -- "//third_party/blink/renderer/core/streams:*", # 75 errors -- "//third_party/blink/renderer/core/style:*", # 86 errors -- "//third_party/blink/renderer/core/svg:*", # 297 errors -- "//third_party/blink/renderer/core/timezone:*", # 8 errors -- "//third_party/blink/renderer/core/timing:*", # 170 errors -- "//third_party/blink/renderer/core/trustedtypes:*", # 27 errors -- "//third_party/blink/renderer/core/typed_arrays:*", # 24 errors -- "//third_party/blink/renderer/core/url:*", # 7 errors -- "//third_party/blink/renderer/core/workers:*", # 289 errors -- "//third_party/blink/renderer/core/xml:*", # 119 errors -- "//third_party/blink/renderer/core/xmlhttprequest:*", # 49 errors -- "//third_party/blink/renderer/core:*", # 823 errors -- "//third_party/blink/renderer/modules/accessibility:*", # 7 errors -- "//third_party/blink/renderer/modules/animationworklet:*", # 1 error -- "//third_party/blink/renderer/modules/background_fetch:*", # 4 errors -- "//third_party/blink/renderer/modules/background_sync:*", # 6 errors -- "//third_party/blink/renderer/modules/cache_storage:*", # 3 errors -- "//third_party/blink/renderer/modules/canvas:*", # 1 error -- "//third_party/blink/renderer/modules/clipboard:*", # 1 error -- "//third_party/blink/renderer/modules/contacts_picker:*", # 1 error -- "//third_party/blink/renderer/modules/content_index:*", # 3 errors -- "//third_party/blink/renderer/modules/cookie_store:*", # 8 errors -- "//third_party/blink/renderer/modules/credentialmanager:*", # 1 error -- "//third_party/blink/renderer/modules/csspaint:*", # 2 errors -- "//third_party/blink/renderer/modules/device_orientation:*", # 5 errors -- "//third_party/blink/renderer/modules/encryptedmedia:*", # 3 errors -- "//third_party/blink/renderer/modules/exported:*", # 16 errors -- "//third_party/blink/renderer/modules/font_access:*", # 3 errors -- "//third_party/blink/renderer/modules/gamepad:*", # 1 error -- "//third_party/blink/renderer/modules/imagecapture:*", # 2 errors -- "//third_party/blink/renderer/modules/installedapp:*", # 1 error -- "//third_party/blink/renderer/modules/launch:*", # 3 errors -- "//third_party/blink/renderer/modules/manifest:*", # 2 errors -- "//third_party/blink/renderer/modules/media_capabilities:*", # 5 errors -- "//third_party/blink/renderer/modules/media_controls:*", # 31 errors -- "//third_party/blink/renderer/modules/mediacapturefromelement:*", # 14 errors -- "//third_party/blink/renderer/modules/mediarecorder:*", # 1 error -- "//third_party/blink/renderer/modules/mediastream:*", # 29 errors -- "//third_party/blink/renderer/modules/native_file_system:*", # 2 errors -- "//third_party/blink/renderer/modules/nfc:*", # 2 errors -- "//third_party/blink/renderer/modules/notifications:*", # 5 errors -- "//third_party/blink/renderer/modules/payments/goods:*", # 1 error -- "//third_party/blink/renderer/modules/payments:*", # 22 errors -- "//third_party/blink/renderer/modules/peerconnection:*", # 43 errors -- "//third_party/blink/renderer/modules/push_messaging:*", # 12 errors -- "//third_party/blink/renderer/modules/quota:*", # 1 error -- "//third_party/blink/renderer/modules/remoteplayback:*", # 3 errors -- "//third_party/blink/renderer/modules/serial:*", # 1 error -- "//third_party/blink/renderer/modules/service_worker:*", # 23 errors -- "//third_party/blink/renderer/modules/shapedetection:*", # 4 errors -- "//third_party/blink/renderer/modules/srcobject:*", # 1 error -- "//third_party/blink/renderer/modules/storage:*", # 3 errors -- "//third_party/blink/renderer/modules/wake_lock:*", # 1 error -- "//third_party/blink/renderer/modules/webaudio:*", # 5 errors -- "//third_party/blink/renderer/modules/webcodecs:*", # 13 errors -- "//third_party/blink/renderer/modules/webgl:*", # 3 errors -- "//third_party/blink/renderer/modules/webgpu:*", # 6 errors -- "//third_party/blink/renderer/modules/webmidi:*", # 1 error -- "//third_party/blink/renderer/modules/webtransport:*", # 16 errors -- "//third_party/blink/renderer/modules/worklet:*", # 2 errors -- "//third_party/blink/renderer/modules/xr:*", # 13 errors -- "//third_party/blink/renderer/modules:*", # 321 errors -- "//third_party/blink/renderer/platform/blob:*", # 16 errors -- "//third_party/blink/renderer/platform/heap:*", # 65 errors -- "//third_party/blink/renderer/platform/instrumentation:*", # 13 errors -- "//third_party/blink/renderer/platform/loader:*", # 180 errors -- "//third_party/blink/renderer/platform/network:*", # 15 errors -- "//third_party/blink/renderer/platform/scheduler:*", # 45 errors -- "//third_party/blink/renderer/platform/wtf:*", # 2 errors -- "//third_party/blink/renderer/platform:*", # 72 errors -- -- "//third_party/breakpad:*", # 34 errors -- "//third_party/ced/*", -- "//third_party/crashpad/crashpad/client:*", # 1 error -- "//third_party/crashpad/crashpad/compat:*", # 2 errors -- "//third_party/crashpad/crashpad/snapshot:*", # 1 error -- "//third_party/crashpad/crashpad/test:*", # 2 errors -- "//third_party/crashpad/crashpad/util:*", # 2 errors -- "//third_party/dav1d:*", # 95 errors -- "//third_party/ffmpeg:*", # 1 error -- "//third_party/icu/*", -- "//third_party/libvpx:*", # 164 errors -- "//third_party/libwebp:*", # 80 errors, https://crbug.com/800762 -- "//third_party/openscreen/src/cast/common:*", # 4 errors -- "//third_party/openscreen/src/cast/receiver:*", # 1 error -- "//third_party/openscreen/src/cast/streaming:*", # 66 errors -- "//third_party/openscreen/src/discovery:*", # 36 errors -- "//third_party/openscreen/src/osp/impl/quic:*", # 16 errors -- "//third_party/openscreen/src/osp/msgs:*", # 5 errors -- "//third_party/openscreen/src/osp/public:*", # 1 error -- "//third_party/openscreen/src/osp:*", # 13 errors -- "//third_party/openscreen/src/util:*", # 29 errors -- "//third_party/pdfium/samples:*", # 1 error -- "//third_party/pdfium/third_party:*", # 2 errors -- "//third_party/pdfium:*", # 1 error -- -- # //v8/*, https://crbug.com/v8/7330 -- "//v8/src/inspector:*", # 20 errors -- "//v8/test/cctest:*", # 26 errors -- "//v8/test/unittests:*", # 11 errors -- "//v8/test/wasm-api-tests:*", # 13 errors -- "//v8/third_party/inspector_protocol:*", # 2 errors -- "//v8/tools/debug_helper:*", # 9 errors -- "//v8/tools/v8windbg:*", # 2 errors -- "//v8:*", # 1871 errors --] -+#no_check_targets = [ -+# # //chrome/*, https://crbug.com/949535 -+# "//chrome/browser/devtools:*", # 114 errors -+# "//chrome/browser/media/router/discovery:*", # 26 errors -+# "//chrome/browser/media/router:*", # 225 errors -+# "//chrome/browser/paint_preview:*", # 4 errors -+# "//chrome/browser/profiling_host:*", # 13 errors -+# "//chrome/browser/resources/chromeos/zip_archiver/cpp:*", # 2 errors -+# "//chrome/browser/safe_browsing/android:*", # 3 errors -+# "//chrome/browser/safe_browsing:*", # 85 errors -+# "//chrome/browser/safety_check/android:*", # 3 errors -+# "//chrome/browser/storage_access_api:*", # 2 errors -+# "//chrome/browser/touch_to_fill/android:*", # 8 errors -+# "//chrome/browser/touch_to_fill:*", # 5 errors -+# "//chrome/browser/updates/announcement_notification:*", # 15 errors -+# "//chrome/browser/updates/internal:*", # 8 errors -+# "//chrome/browser/updates:*", # 21 errors -+# "//chrome/browser:*", # 780 errors -+# "//chrome/child:*", # 3 errors -+# "//chrome/credential_provider/gaiacp:*", # 1 error -+# "//chrome/gpu:*", # 2 errors -+# "//chrome/install_static:*", # 4 errors -+# "//chrome/notification_helper:*", # 4 errors -+# "//chrome/renderer:*", # 42 errors -+# "//chrome/services/cups_proxy/public/cpp:*", # 2 errors -+# "//chrome/services/cups_proxy:*", # 6 errors -+# "//chrome/services/file_util/public/cpp:*", # 13 errors -+# "//chrome/services/file_util:*", # 3 errors -+# "//chrome/services/ipp_parser:*", # 1 error -+# "//chrome/services/media_gallery_util/public/cpp:*", # 6 errors -+# "//chrome/services/media_gallery_util:*", # 3 errors -+# "//chrome/services/printing:*", # 3 errors -+# "//chrome/services/qrcode_generator:*", # 1 error -+# "//chrome/services/removable_storage_writer:*", # 1 error -+# "//chrome/services/sharing/public/cpp:*", # 2 errors -+# "//chrome/services/speech:*", # 5 errors -+# "//chrome/services/util_win:*", # 1 error -+# "//chrome/test/chromedriver:*", # 115 errors -+# "//chrome/test/data/nacl:*", # 350 errors -+# "//chrome/test/media_router:*", # 5 errors -+# "//chrome/test:*", # 2682 errors -+# "//chrome:*", # 7 errors -+# -+# "//clank/third_party/gvr_shim:*", # 1 error -+# "//extensions/browser/api/alarms:*", # 2 errors -+# "//extensions/browser/api/app_current_window_internal:*", # 3 errors -+# "//extensions/browser/api/app_runtime:*", # 3 errors -+# "//extensions/browser/api/app_window:*", # 5 errors -+# "//extensions/browser/api/audio:*", # 3 errors -+# "//extensions/browser/api/automation_internal:*", # 37 errors -+# "//extensions/browser/api/bluetooth_low_energy:*", # 22 errors -+# "//extensions/browser/api/bluetooth_socket:*", # 12 errors -+# "//extensions/browser/api/cast_channel:*", # 3 errors -+# "//extensions/browser/api/cec_private:*", # 4 errors -+# "//extensions/browser/api/clipboard:*", # 3 errors -+# "//extensions/browser/api/crash_report_private:*", # 1 error -+# "//extensions/browser/api/declarative:*", # 20 errors -+# "//extensions/browser/api/declarative_content:*", # 2 errors -+# "//extensions/browser/api/declarative_net_request/filter_list_converter:*", # 1 -+# # error -+# "//extensions/browser/api/declarative_net_request:*", # 18 errors -+# "//extensions/browser/api/declarative_webrequest:*", # 29 errors -+# "//extensions/browser/api/diagnostics:*", # 2 errors -+# "//extensions/browser/api/display_source:*", # 7 errors -+# "//extensions/browser/api/dns:*", # 3 errors -+# "//extensions/browser/api/document_scan:*", # 2 errors -+# "//extensions/browser/api/feedback_private:*", # 2 errors -+# "//extensions/browser/api/file_handlers:*", # 3 errors -+# "//extensions/browser/api/file_system:*", # 1 error -+# "//extensions/browser/api/hid:*", # 12 errors -+# "//extensions/browser/api/idle:*", # 4 errors -+# "//extensions/browser/api/management:*", # 19 errors -+# "//extensions/browser/api/messaging:*", # 1 error -+# "//extensions/browser/api/metrics_private:*", # 3 errors -+# "//extensions/browser/api/mime_handler_private:*", # 1 error -+# "//extensions/browser/api/networking_config:*", # 7 errors -+# "//extensions/browser/api/networking_private:*", # 14 errors -+# "//extensions/browser/api/power:*", # 3 errors -+# "//extensions/browser/api/printer_provider:*", # 7 errors -+# "//extensions/browser/api/printer_provider_internal:*", # 3 errors -+# "//extensions/browser/api/runtime:*", # 6 errors -+# "//extensions/browser/api/serial:*", # 10 errors -+# "//extensions/browser/api/socket:*", # 11 errors -+# "//extensions/browser/api/sockets_tcp:*", # 6 errors -+# "//extensions/browser/api/sockets_tcp_server:*", # 8 errors -+# "//extensions/browser/api/sockets_udp:*", # 9 errors -+# "//extensions/browser/api/storage:*", # 9 errors -+# "//extensions/browser/api/system_cpu:*", # 1 error -+# "//extensions/browser/api/system_display:*", # 3 errors -+# "//extensions/browser/api/system_info:*", # 8 errors -+# "//extensions/browser/api/system_memory:*", # 1 error -+# "//extensions/browser/api/system_network:*", # 2 errors -+# "//extensions/browser/api/system_power_source:*", # 2 errors -+# "//extensions/browser/api/system_storage:*", # 6 errors -+# "//extensions/browser/api/test:*", # 1 error -+# "//extensions/browser/api/usb:*", # 12 errors -+# "//extensions/browser/api/virtual_keyboard:*", # 1 error -+# "//extensions/browser/api/virtual_keyboard_private:*", # 2 errors -+# "//extensions/browser/api/vpn_provider:*", # 13 errors -+# "//extensions/browser/api/web_request:*", # 37 errors -+# "//extensions/browser/api/webcam_private:*", # 8 errors -+# "//extensions/browser/api:*", # 7 errors -+# "//extensions/browser/updater:*", # 31 errors -+# "//extensions/browser/value_store:*", # 5 errors -+# "//extensions/browser:*", # 20 errors -+# "//extensions:*", # 75 errors -+# "//headless:*", # 167 errors -+# "//jingle:*", # 4 errors -+# "//native_client/src/trusted/service_runtime:*", # 2 errors -+# "//ppapi/cpp/private:*", # 1 error -+# "//ppapi/host:*", # 1 error -+# "//ppapi/native_client/src/untrusted/pnacl_irt_shim:*", # 197 errors -+# "//ppapi/proxy:*", # 31 errors -+# "//ppapi/shared_impl:*", # 3 errors -+# "//ppapi/thunk:*", # 1071 errors -+# "//ppapi:*", # 3 errors -+# "//remoting/base/grpc_support:*", # 14 errors -+# "//remoting/base/grpc_test_support:*", # 1 error -+# "//remoting/base:*", # 6 errors -+# "//remoting/client/audio:*", # 7 errors -+# "//remoting/client/display:*", # 55 errors -+# "//remoting/client/input:*", # 17 errors -+# "//remoting/client/jni:*", # 8 errors -+# "//remoting/client/notification:*", # 12 errors -+# "//remoting/client/ui:*", # 13 errors -+# "//remoting/client:*", # 20 errors -+# "//remoting/codec:*", # 32 errors -+# "//remoting/host/chromeos:*", # 10 errors -+# "//remoting/host/file_transfer:*", # 43 errors -+# "//remoting/host/input_monitor:*", # 3 errors -+# "//remoting/host/installer/mac:*", # 1 error -+# "//remoting/host/it2me:*", # 18 errors -+# "//remoting/host/linux:*", # 64 errors -+# "//remoting/host/mac:*", # 49 errors -+# "//remoting/host/native_messaging:*", # 3 errors -+# "//remoting/host/security_key:*", # 68 errors -+# "//remoting/host/setup:*", # 9 errors -+# "//remoting/host/win:*", # 43 errors -+# "//remoting/host:*", # 164 errors -+# "//remoting/ios/app/settings:*", # 6 errors -+# "//remoting/ios/app:*", # 9 errors -+# "//remoting/ios/audio:*", # 5 errors -+# "//remoting/ios/domain:*", # 2 errors -+# "//remoting/ios/facade:*", # 8 errors -+# "//remoting/ios/persistence:*", # 10 errors -+# "//remoting/ios/session:*", # 7 errors -+# "//remoting/ios:*", # 2 errors -+# "//remoting/protocol:*", # 142 errors -+# "//remoting/signaling:*", # 30 errors -+# "//remoting/test:*", # 20 errors -+# "//remoting:*", # 27 errors -+# "//sandbox/linux:*", # 13 errors -+# "//sandbox/mac:*", # 14 errors -+# "//sandbox/win:*", # 7 errors -+# -+# # //third_party/blink/*, https://crbug.com/800764 -+# "//third_party/blink/common:*", # 9 errors -+# "//third_party/blink/renderer/bindings/core/v8:*", # 1 error -+# "//third_party/blink/renderer/controller:*", # 191 errors -+# "//third_party/blink/renderer/core/accessibility:*", # 27 errors -+# "//third_party/blink/renderer/core/animation:*", # 506 errors -+# "//third_party/blink/renderer/core/animation_frame:*", # 4 errors -+# "//third_party/blink/renderer/core/aom:*", # 23 errors -+# "//third_party/blink/renderer/core/clipboard:*", # 43 errors -+# "//third_party/blink/renderer/core/content_capture:*", # 12 errors -+# "//third_party/blink/renderer/core/context_features:*", # 3 errors -+# "//third_party/blink/renderer/core/css:*", # 835 errors -+# "//third_party/blink/renderer/core/display_lock:*", # 36 errors -+# "//third_party/blink/renderer/core/dom:*", # 706 errors -+# "//third_party/blink/renderer/core/editing:*", # 847 errors -+# "//third_party/blink/renderer/core/events:*", # 173 errors -+# "//third_party/blink/renderer/core/execution_context:*", # 48 errors -+# "//third_party/blink/renderer/core/exported:*", # 470 errors -+# "//third_party/blink/renderer/core/feature_policy:*", # 15 errors -+# "//third_party/blink/renderer/core/fetch:*", # 134 errors -+# "//third_party/blink/renderer/core/fileapi:*", # 55 errors -+# "//third_party/blink/renderer/core/frame:*", # 864 errors -+# "//third_party/blink/renderer/core/fullscreen:*", # 32 errors -+# "//third_party/blink/renderer/core/geometry:*", # 39 errors -+# "//third_party/blink/renderer/core/html/parser:*", # 133 errors -+# "//third_party/blink/renderer/core/html:*", # 1662 errors -+# "//third_party/blink/renderer/core/imagebitmap:*", # 34 errors -+# "//third_party/blink/renderer/core/input:*", # 240 errors -+# "//third_party/blink/renderer/core/inspector:*", # 594 errors -+# "//third_party/blink/renderer/core/intersection_observer:*", # 50 errors -+# "//third_party/blink/renderer/core/layout/svg:*", # 193 errors -+# "//third_party/blink/renderer/core/layout:*", # 920 errors -+# "//third_party/blink/renderer/core/loader:*", # 421 errors -+# "//third_party/blink/renderer/core/mathml:*", # 11 errors -+# "//third_party/blink/renderer/core/messaging:*", # 30 errors -+# "//third_party/blink/renderer/core/mojo:*", # 44 errors -+# "//third_party/blink/renderer/core/offscreencanvas:*", # 22 errors -+# "//third_party/blink/renderer/core/origin_trials:*", # 12 errors -+# "//third_party/blink/renderer/core/page:*", # 500 errors -+# "//third_party/blink/renderer/core/paint:*", # 788 errors -+# "//third_party/blink/renderer/core/probe:*", # 9 errors -+# "//third_party/blink/renderer/core/resize_observer:*", # 29 errors -+# "//third_party/blink/renderer/core/script:*", # 155 errors -+# "//third_party/blink/renderer/core/scroll:*", # 29 errors -+# "//third_party/blink/renderer/core/streams:*", # 75 errors -+# "//third_party/blink/renderer/core/style:*", # 86 errors -+# "//third_party/blink/renderer/core/svg:*", # 297 errors -+# "//third_party/blink/renderer/core/timezone:*", # 8 errors -+# "//third_party/blink/renderer/core/timing:*", # 170 errors -+# "//third_party/blink/renderer/core/trustedtypes:*", # 27 errors -+# "//third_party/blink/renderer/core/typed_arrays:*", # 24 errors -+# "//third_party/blink/renderer/core/url:*", # 7 errors -+# "//third_party/blink/renderer/core/workers:*", # 289 errors -+# "//third_party/blink/renderer/core/xml:*", # 119 errors -+# "//third_party/blink/renderer/core/xmlhttprequest:*", # 49 errors -+# "//third_party/blink/renderer/core:*", # 823 errors -+# "//third_party/blink/renderer/modules/accessibility:*", # 7 errors -+# "//third_party/blink/renderer/modules/animationworklet:*", # 1 error -+# "//third_party/blink/renderer/modules/background_fetch:*", # 4 errors -+# "//third_party/blink/renderer/modules/background_sync:*", # 6 errors -+# "//third_party/blink/renderer/modules/cache_storage:*", # 3 errors -+# "//third_party/blink/renderer/modules/canvas:*", # 1 error -+# "//third_party/blink/renderer/modules/clipboard:*", # 1 error -+# "//third_party/blink/renderer/modules/contacts_picker:*", # 1 error -+# "//third_party/blink/renderer/modules/content_index:*", # 3 errors -+# "//third_party/blink/renderer/modules/cookie_store:*", # 8 errors -+# "//third_party/blink/renderer/modules/credentialmanager:*", # 1 error -+# "//third_party/blink/renderer/modules/csspaint:*", # 2 errors -+# "//third_party/blink/renderer/modules/device_orientation:*", # 5 errors -+# "//third_party/blink/renderer/modules/encryptedmedia:*", # 3 errors -+# "//third_party/blink/renderer/modules/exported:*", # 16 errors -+# "//third_party/blink/renderer/modules/font_access:*", # 3 errors -+# "//third_party/blink/renderer/modules/gamepad:*", # 1 error -+# "//third_party/blink/renderer/modules/imagecapture:*", # 2 errors -+# "//third_party/blink/renderer/modules/installedapp:*", # 1 error -+# "//third_party/blink/renderer/modules/launch:*", # 3 errors -+# "//third_party/blink/renderer/modules/manifest:*", # 2 errors -+# "//third_party/blink/renderer/modules/media_capabilities:*", # 5 errors -+# "//third_party/blink/renderer/modules/media_controls:*", # 31 errors -+# "//third_party/blink/renderer/modules/mediacapturefromelement:*", # 14 errors -+# "//third_party/blink/renderer/modules/mediarecorder:*", # 1 error -+# "//third_party/blink/renderer/modules/mediastream:*", # 29 errors -+# "//third_party/blink/renderer/modules/native_file_system:*", # 2 errors -+# "//third_party/blink/renderer/modules/nfc:*", # 2 errors -+# "//third_party/blink/renderer/modules/notifications:*", # 5 errors -+# "//third_party/blink/renderer/modules/payments/goods:*", # 1 error -+# "//third_party/blink/renderer/modules/payments:*", # 22 errors -+# "//third_party/blink/renderer/modules/peerconnection:*", # 43 errors -+# "//third_party/blink/renderer/modules/push_messaging:*", # 12 errors -+# "//third_party/blink/renderer/modules/quota:*", # 1 error -+# "//third_party/blink/renderer/modules/remoteplayback:*", # 3 errors -+# "//third_party/blink/renderer/modules/serial:*", # 1 error -+# "//third_party/blink/renderer/modules/service_worker:*", # 23 errors -+# "//third_party/blink/renderer/modules/shapedetection:*", # 4 errors -+# "//third_party/blink/renderer/modules/srcobject:*", # 1 error -+# "//third_party/blink/renderer/modules/storage:*", # 3 errors -+# "//third_party/blink/renderer/modules/wake_lock:*", # 1 error -+# "//third_party/blink/renderer/modules/webaudio:*", # 5 errors -+# "//third_party/blink/renderer/modules/webcodecs:*", # 13 errors -+# "//third_party/blink/renderer/modules/webgl:*", # 3 errors -+# "//third_party/blink/renderer/modules/webgpu:*", # 6 errors -+# "//third_party/blink/renderer/modules/webmidi:*", # 1 error -+# "//third_party/blink/renderer/modules/webtransport:*", # 16 errors -+# "//third_party/blink/renderer/modules/worklet:*", # 2 errors -+# "//third_party/blink/renderer/modules/xr:*", # 13 errors -+# "//third_party/blink/renderer/modules:*", # 321 errors -+# "//third_party/blink/renderer/platform/blob:*", # 16 errors -+# "//third_party/blink/renderer/platform/heap:*", # 65 errors -+# "//third_party/blink/renderer/platform/instrumentation:*", # 13 errors -+# "//third_party/blink/renderer/platform/loader:*", # 180 errors -+# "//third_party/blink/renderer/platform/network:*", # 15 errors -+# "//third_party/blink/renderer/platform/scheduler:*", # 45 errors -+# "//third_party/blink/renderer/platform/wtf:*", # 2 errors -+# "//third_party/blink/renderer/platform:*", # 72 errors -+# -+# "//third_party/breakpad:*", # 34 errors -+# "//third_party/ced/*", -+# "//third_party/crashpad/crashpad/client:*", # 1 error -+# "//third_party/crashpad/crashpad/compat:*", # 2 errors -+# "//third_party/crashpad/crashpad/snapshot:*", # 1 error -+# "//third_party/crashpad/crashpad/test:*", # 2 errors -+# "//third_party/crashpad/crashpad/util:*", # 2 errors -+# "//third_party/dav1d:*", # 95 errors -+# "//third_party/ffmpeg:*", # 1 error -+# "//third_party/icu/*", -+# "//third_party/libvpx:*", # 164 errors -+# "//third_party/libwebp:*", # 80 errors, https://crbug.com/800762 -+# "//third_party/openscreen/src/cast/common:*", # 4 errors -+# "//third_party/openscreen/src/cast/receiver:*", # 1 error -+# "//third_party/openscreen/src/cast/streaming:*", # 66 errors -+# "//third_party/openscreen/src/discovery:*", # 36 errors -+# "//third_party/openscreen/src/osp/impl/quic:*", # 16 errors -+# "//third_party/openscreen/src/osp/msgs:*", # 5 errors -+# "//third_party/openscreen/src/osp/public:*", # 1 error -+# "//third_party/openscreen/src/osp:*", # 13 errors -+# "//third_party/openscreen/src/util:*", # 29 errors -+# "//third_party/pdfium/samples:*", # 1 error -+# "//third_party/pdfium/third_party:*", # 2 errors -+# "//third_party/pdfium:*", # 1 error -+# -+# # //v8/*, https://crbug.com/v8/7330 -+# "//v8/src/inspector:*", # 20 errors -+# "//v8/test/cctest:*", # 26 errors -+# "//v8/test/unittests:*", # 11 errors -+# "//v8/test/wasm-api-tests:*", # 13 errors -+# "//v8/third_party/inspector_protocol:*", # 2 errors -+# "//v8/tools/debug_helper:*", # 9 errors -+# "//v8/tools/v8windbg:*", # 2 errors -+# "//v8:*", # 1871 errors -+#] - - # These are the list of GN files that run exec_script. This whitelist exists - # to force additional review for new uses of exec_script, which is strongly diff --git a/www-client/chromium/files/chromium-renderer-std-nullptr-83.patch b/www-client/chromium/files/chromium-renderer-std-nullptr-83.patch deleted file mode 100644 index f95916e..0000000 --- a/www-client/chromium/files/chromium-renderer-std-nullptr-83.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/third_party/blink/renderer/platform/bindings/v8_set_return_value.h b/third_party/blink/renderer/platform/bindings/v8_set_return_value.h -index 07cae22f1..7871f557d 100644 ---- a/third_party/blink/renderer/platform/bindings/v8_set_return_value.h -+++ b/third_party/blink/renderer/platform/bindings/v8_set_return_value.h -@@ -51,7 +51,7 @@ void V8SetReturnValue(const CallbackInfo& info, const v8::Local<S> value) { - - // nullptr - template <typename CallbackInfo> --void V8SetReturnValue(const CallbackInfo& info, nullptr_t) { -+void V8SetReturnValue(const CallbackInfo& info, std::nullptr_t) { - info.GetReturnValue().SetNull(); - } - diff --git a/www-client/chromium/files/chromium-revert-crrev-2147485-84.patch b/www-client/chromium/files/chromium-revert-crrev-2147485-84.patch deleted file mode 100644 index 3c6e2b1..0000000 --- a/www-client/chromium/files/chromium-revert-crrev-2147485-84.patch +++ /dev/null @@ -1,369 +0,0 @@ -diff --git a/content/browser/devtools/protocol/page_handler.cc b/content/browser/devtools/protocol/page_handler.cc -index b1821434b..929b63ab8 100644 ---- a/content/browser/devtools/protocol/page_handler.cc -+++ b/content/browser/devtools/protocol/page_handler.cc -@@ -961,14 +961,14 @@ Response PageHandler::SetDownloadBehavior(const std::string& behavior, - - void PageHandler::GetAppManifest( - std::unique_ptr<GetAppManifestCallback> callback) { -- if (!host_) { -+ WebContentsImpl* web_contents = GetWebContents(); -+ if (!web_contents || !web_contents->GetManifestManagerHost()) { - callback->sendFailure(Response::ServerError("Cannot retrieve manifest")); - return; - } -- ManifestManagerHost::GetOrCreateForCurrentDocument(host_->GetMainFrame()) -- ->RequestManifestDebugInfo(base::BindOnce(&PageHandler::GotManifest, -- weak_factory_.GetWeakPtr(), -- std::move(callback))); -+ web_contents->GetManifestManagerHost()->RequestManifestDebugInfo( -+ base::BindOnce(&PageHandler::GotManifest, weak_factory_.GetWeakPtr(), -+ std::move(callback))); - } - - WebContentsImpl* PageHandler::GetWebContents() { -diff --git a/content/browser/frame_host/render_document_host_user_data_browsertest.cc b/content/browser/frame_host/render_document_host_user_data_browsertest.cc -index 09dff7842..290e5509b 100644 ---- a/content/browser/frame_host/render_document_host_user_data_browsertest.cc -+++ b/content/browser/frame_host/render_document_host_user_data_browsertest.cc -@@ -88,7 +88,7 @@ class RenderDocumentHostUserDataTest : public ContentBrowserTest { - - // Test basic functionality of RenderDocumentHostUserData. - IN_PROC_BROWSER_TEST_F(RenderDocumentHostUserDataTest, -- GetCreateAndDeleteForCurrentDocument) { -+ GetAndCreateForCurrentDocument) { - ASSERT_TRUE(embedded_test_server()->Start()); - GURL url_a(embedded_test_server()->GetURL("a.com", "/title1.html")); - -@@ -104,14 +104,8 @@ IN_PROC_BROWSER_TEST_F(RenderDocumentHostUserDataTest, - // 3) Create Data and check that GetForCurrentDocument shouldn't return null - // now. - Data::CreateForCurrentDocument(rfh_a); -- base::WeakPtr<Data> created_data = -- Data::GetForCurrentDocument(rfh_a)->GetWeakPtr(); -- EXPECT_TRUE(created_data); -- -- // 4) Delete Data and check that GetForCurrentDocument should return null. -- Data::DeleteForCurrentDocument(rfh_a); -- EXPECT_FALSE(created_data); -- EXPECT_FALSE(Data::GetForCurrentDocument(rfh_a)); -+ data = Data::GetForCurrentDocument(rfh_a); -+ EXPECT_TRUE(data); - } - - // Tests that RenderDocumentHostUserData objects are different for each -diff --git a/content/browser/frame_host/render_frame_host_impl.cc b/content/browser/frame_host/render_frame_host_impl.cc -index 23bc92faa..e95952a01 100644 ---- a/content/browser/frame_host/render_frame_host_impl.cc -+++ b/content/browser/frame_host/render_frame_host_impl.cc -@@ -75,7 +75,6 @@ - #include "content/browser/loader/navigation_url_loader_impl.h" - #include "content/browser/loader/prefetch_url_loader_service.h" - #include "content/browser/log_console_message.h" --#include "content/browser/manifest/manifest_manager_host.h" - #include "content/browser/media/capture/audio_mirroring_manager.h" - #include "content/browser/media/media_interface_proxy.h" - #include "content/browser/media/webaudio/audio_context_manager_impl.h" -@@ -6146,15 +6145,6 @@ void RenderFrameHostImpl::SetUpMojoIfNeeded() { - std::make_unique<ActiveURLMessageFilter>(impl)); - }, - base::Unretained(this))); -- -- associated_registry_->AddInterface(base::BindRepeating( -- [](RenderFrameHostImpl* impl, -- mojo::PendingAssociatedReceiver< -- blink::mojom::ManifestUrlChangeObserver> receiver) { -- ManifestManagerHost::GetOrCreateForCurrentDocument(impl) -- ->BindObserver(std::move(receiver)); -- }, -- base::Unretained(this))); - } - - associated_registry_->AddInterface(base::BindRepeating( -diff --git a/content/browser/frame_host/render_frame_host_impl.h b/content/browser/frame_host/render_frame_host_impl.h -index bfd421386..2bba134e0 100644 ---- a/content/browser/frame_host/render_frame_host_impl.h -+++ b/content/browser/frame_host/render_frame_host_impl.h -@@ -1595,10 +1595,6 @@ class CONTENT_EXPORT RenderFrameHostImpl - document_associated_data_.SetUserData(key, std::move(data)); - } - -- void RemoveRenderDocumentHostUserData(const void* key) { -- document_associated_data_.RemoveUserData(key); -- } -- - // Returns the child RenderFrameHostImpl if |child_frame_routing_id| is an - // immediate child of this FrameTreeNode. |child_frame_routing_id| is - // considered untrusted, so the renderer process is killed if it refers to a -diff --git a/content/browser/manifest/manifest_manager_host.cc b/content/browser/manifest/manifest_manager_host.cc -index 68ea016c6..b063e0d1e 100644 ---- a/content/browser/manifest/manifest_manager_host.cc -+++ b/content/browser/manifest/manifest_manager_host.cc -@@ -9,34 +9,25 @@ - #include "base/bind.h" - #include "content/browser/web_contents/web_contents_impl.h" - #include "content/public/browser/render_frame_host.h" -+#include "content/public/browser/web_contents.h" - #include "services/service_manager/public/cpp/interface_provider.h" - #include "third_party/blink/public/common/associated_interfaces/associated_interface_provider.h" - #include "third_party/blink/public/common/manifest/manifest.h" - - namespace content { - --ManifestManagerHost::ManifestManagerHost(RenderFrameHost* render_frame_host) -- : manifest_manager_frame_(render_frame_host) { -- // Check that |manifest_manager_frame_| is a main frame. -- DCHECK(!manifest_manager_frame_->GetParent()); --} -+ManifestManagerHost::ManifestManagerHost(WebContents* web_contents) -+ : WebContentsObserver(web_contents), -+ manifest_url_change_observer_receivers_(web_contents, this) {} - - ManifestManagerHost::~ManifestManagerHost() { - OnConnectionError(); - } - --void ManifestManagerHost::BindObserver( -- mojo::PendingAssociatedReceiver<blink::mojom::ManifestUrlChangeObserver> -- receiver) { -- manifest_url_change_observer_receiver_.Bind(std::move(receiver)); --} -- --ManifestManagerHost* ManifestManagerHost::GetOrCreateForCurrentDocument( -- RenderFrameHostImpl* rfh) { -- DCHECK(rfh->is_main_frame()); -- if (!GetForCurrentDocument(rfh)) -- CreateForCurrentDocument(rfh); -- return GetForCurrentDocument(rfh); -+void ManifestManagerHost::RenderFrameDeleted( -+ RenderFrameHost* render_frame_host) { -+ if (render_frame_host == manifest_manager_frame_) -+ OnConnectionError(); - } - - void ManifestManagerHost::GetManifest(GetManifestCallback callback) { -@@ -54,7 +45,11 @@ void ManifestManagerHost::RequestManifestDebugInfo( - } - - blink::mojom::ManifestManager& ManifestManagerHost::GetManifestManager() { -+ if (manifest_manager_frame_ != web_contents()->GetMainFrame()) -+ OnConnectionError(); -+ - if (!manifest_manager_) { -+ manifest_manager_frame_ = web_contents()->GetMainFrame(); - manifest_manager_frame_->GetRemoteInterfaces()->GetInterface( - manifest_manager_.BindNewPipeAndPassReceiver()); - manifest_manager_.set_disconnect_handler(base::BindOnce( -@@ -64,6 +59,8 @@ blink::mojom::ManifestManager& ManifestManagerHost::GetManifestManager() { - } - - void ManifestManagerHost::OnConnectionError() { -+ manifest_manager_frame_ = nullptr; -+ manifest_manager_.reset(); - std::vector<GetManifestCallback> callbacks; - for (CallbackMap::iterator it(&callbacks_); !it.IsAtEnd(); it.Advance()) { - callbacks.push_back(std::move(*it.GetCurrentValue())); -@@ -71,10 +68,6 @@ void ManifestManagerHost::OnConnectionError() { - callbacks_.Clear(); - for (auto& callback : callbacks) - std::move(callback).Run(GURL(), blink::Manifest()); -- -- if (GetForCurrentDocument(manifest_manager_frame_)) { -- DeleteForCurrentDocument(manifest_manager_frame_); -- } - } - - void ManifestManagerHost::OnRequestManifestResponse( -@@ -88,16 +81,12 @@ void ManifestManagerHost::OnRequestManifestResponse( - - void ManifestManagerHost::ManifestUrlChanged( - const base::Optional<GURL>& manifest_url) { -- if (!manifest_manager_frame_->IsCurrent()) -+ if (manifest_url_change_observer_receivers_.GetCurrentTargetFrame() != -+ web_contents()->GetMainFrame()) { - return; -- -- // TODO(yuzus): |NotifyManifestUrlChanged| should start taking a -- // |RenderFrameHost| parameter. -- WebContents* web_contents = -- WebContents::FromRenderFrameHost(manifest_manager_frame_); -- static_cast<WebContentsImpl*>(web_contents) -+ } -+ static_cast<WebContentsImpl*>(web_contents()) - ->NotifyManifestUrlChanged(manifest_url); - } - --RENDER_DOCUMENT_HOST_USER_DATA_KEY_IMPL(ManifestManagerHost) - } // namespace content -diff --git a/content/browser/manifest/manifest_manager_host.h b/content/browser/manifest/manifest_manager_host.h -index 57f51dc9f..3dc0bbf6e 100644 ---- a/content/browser/manifest/manifest_manager_host.h -+++ b/content/browser/manifest/manifest_manager_host.h -@@ -8,8 +8,8 @@ - #include "base/callback_forward.h" - #include "base/containers/id_map.h" - #include "base/macros.h" --#include "content/public/browser/render_document_host_user_data.h" --#include "mojo/public/cpp/bindings/associated_receiver.h" -+#include "content/public/browser/web_contents_observer.h" -+#include "content/public/browser/web_contents_receiver_set.h" - #include "mojo/public/cpp/bindings/remote.h" - #include "third_party/blink/public/mojom/manifest/manifest_manager.mojom.h" - #include "third_party/blink/public/mojom/manifest/manifest_observer.mojom.h" -@@ -21,16 +21,16 @@ struct Manifest; - namespace content { - - class RenderFrameHost; --class RenderFrameHostImpl; -+class WebContents; - - // ManifestManagerHost is a helper class that allows callers to get the Manifest - // associated with the main frame of the observed WebContents. It handles the - // IPC messaging with the child process. - // TODO(mlamouri): keep a cached version and a dirty bit here. --class ManifestManagerHost -- : public RenderDocumentHostUserData<ManifestManagerHost>, -- public blink::mojom::ManifestUrlChangeObserver { -+class ManifestManagerHost : public WebContentsObserver, -+ public blink::mojom::ManifestUrlChangeObserver { - public: -+ explicit ManifestManagerHost(WebContents* web_contents); - ~ManifestManagerHost() override; - - using GetManifestCallback = -@@ -44,18 +44,10 @@ class ManifestManagerHost - void RequestManifestDebugInfo( - blink::mojom::ManifestManager::RequestManifestDebugInfoCallback callback); - -- void BindObserver( -- mojo::PendingAssociatedReceiver<blink::mojom::ManifestUrlChangeObserver> -- receiver); -- -- static ManifestManagerHost* GetOrCreateForCurrentDocument( -- RenderFrameHostImpl* rfh); -+ // WebContentsObserver -+ void RenderFrameDeleted(RenderFrameHost* render_frame_host) override; - - private: -- explicit ManifestManagerHost(RenderFrameHost* render_frame_host); -- -- friend class RenderDocumentHostUserData<ManifestManagerHost>; -- - using CallbackMap = base::IDMap<std::unique_ptr<GetManifestCallback>>; - - blink::mojom::ManifestManager& GetManifestManager(); -@@ -68,14 +60,13 @@ class ManifestManagerHost - // blink::mojom::ManifestUrlChangeObserver: - void ManifestUrlChanged(const base::Optional<GURL>& manifest_url) override; - -- RenderFrameHost* manifest_manager_frame_; -+ RenderFrameHost* manifest_manager_frame_ = nullptr; - mojo::Remote<blink::mojom::ManifestManager> manifest_manager_; - CallbackMap callbacks_; - -- mojo::AssociatedReceiver<blink::mojom::ManifestUrlChangeObserver> -- manifest_url_change_observer_receiver_{this}; -+ WebContentsFrameReceiverSet<blink::mojom::ManifestUrlChangeObserver> -+ manifest_url_change_observer_receivers_; - -- RENDER_DOCUMENT_HOST_USER_DATA_KEY_DECL(); - DISALLOW_COPY_AND_ASSIGN(ManifestManagerHost); - }; - -diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc -index 024415bb0..115f480ce 100644 ---- a/content/browser/web_contents/web_contents_impl.cc -+++ b/content/browser/web_contents/web_contents_impl.cc -@@ -2122,6 +2122,8 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) { - - screen_orientation_provider_.reset(new ScreenOrientationProvider(this)); - -+ manifest_manager_host_.reset(new ManifestManagerHost(this)); -+ - #if defined(OS_ANDROID) - DateTimeChooserAndroid::CreateForWebContents(this); - #endif -@@ -4202,10 +4204,7 @@ bool WebContentsImpl::WasEverAudible() { - } - - void WebContentsImpl::GetManifest(GetManifestCallback callback) { -- // TODO(yuzus, 1061899): Move this function to RenderFrameHostImpl. -- ManifestManagerHost* manifest_manager_host = -- ManifestManagerHost::GetOrCreateForCurrentDocument(GetMainFrame()); -- manifest_manager_host->GetManifest(std::move(callback)); -+ manifest_manager_host_->GetManifest(std::move(callback)); - } - - void WebContentsImpl::ExitFullscreen(bool will_cause_resize) { -diff --git a/content/browser/web_contents/web_contents_impl.h b/content/browser/web_contents/web_contents_impl.h -index 59510b1f8..e86be96fc 100644 ---- a/content/browser/web_contents/web_contents_impl.h -+++ b/content/browser/web_contents/web_contents_impl.h -@@ -102,6 +102,7 @@ class DisplayCutoutHostImpl; - class FindRequestManager; - class JavaScriptDialogManager; - class JavaScriptDialogNavigationDeferrer; -+class ManifestManagerHost; - class MediaWebContentsObserver; - class NFCHost; - class PluginContentOriginAllowlist; -@@ -311,6 +312,10 @@ class CONTENT_EXPORT WebContentsImpl : public WebContents, - - void NotifyManifestUrlChanged(const base::Optional<GURL>& manifest_url); - -+ ManifestManagerHost* GetManifestManagerHost() const { -+ return manifest_manager_host_.get(); -+ } -+ - #if defined(OS_ANDROID) - void SetMainFrameImportance(ChildProcessImportance importance); - #endif -@@ -1897,6 +1902,8 @@ class CONTENT_EXPORT WebContentsImpl : public WebContents, - - std::unique_ptr<ScreenOrientationProvider> screen_orientation_provider_; - -+ std::unique_ptr<ManifestManagerHost> manifest_manager_host_; -+ - // The accessibility mode for all frames. This is queried when each frame - // is created, and broadcast to all frames when it changes. - ui::AXMode accessibility_mode_; -diff --git a/content/public/browser/render_document_host_user_data.cc b/content/public/browser/render_document_host_user_data.cc -index 3b58bf8a3..b1b385455 100644 ---- a/content/public/browser/render_document_host_user_data.cc -+++ b/content/public/browser/render_document_host_user_data.cc -@@ -23,8 +23,4 @@ void SetRenderDocumentHostUserData( - key, std::move(data)); - } - --void RemoveRenderDocumentHostUserData(RenderFrameHost* rfh, const void* key) { -- static_cast<RenderFrameHostImpl*>(rfh)->RemoveRenderDocumentHostUserData(key); --} -- - } // namespace content -diff --git a/content/public/browser/render_document_host_user_data.h b/content/public/browser/render_document_host_user_data.h -index a138fd60a..f55f24f60 100644 ---- a/content/public/browser/render_document_host_user_data.h -+++ b/content/public/browser/render_document_host_user_data.h -@@ -22,9 +22,6 @@ CONTENT_EXPORT void SetRenderDocumentHostUserData( - const void* key, - std::unique_ptr<base::SupportsUserData::Data> data); - --CONTENT_EXPORT void RemoveRenderDocumentHostUserData(RenderFrameHost* rfh, -- const void* key); -- - // This class approximates the lifetime of a single blink::Document in the - // browser process. At the moment RenderFrameHost can correspond to multiple - // blink::Documents (when RenderFrameHost is reused for same-process -@@ -85,12 +82,6 @@ class RenderDocumentHostUserData : public base::SupportsUserData::Data { - return static_cast<T*>(GetRenderDocumentHostUserData(rfh, UserDataKey())); - } - -- static void DeleteForCurrentDocument(RenderFrameHost* rfh) { -- DCHECK(rfh); -- DCHECK(GetForCurrentDocument(rfh)); -- RemoveRenderDocumentHostUserData(rfh, UserDataKey()); -- } -- - static const void* UserDataKey() { return &T::kUserDataKey; } - }; - diff --git a/www-client/chromium/files/chromium-revert-e7963c4-78.patch b/www-client/chromium/files/chromium-revert-e7963c4-78.patch deleted file mode 100644 index fe7e1a6..0000000 --- a/www-client/chromium/files/chromium-revert-e7963c4-78.patch +++ /dev/null @@ -1,335 +0,0 @@ -diff --git a/chrome/test/chromedriver/client/chromedriver.py b/chrome/test/chromedriver/client/chromedriver.py -index 74b780e5f..8bd1cc004 100644 ---- a/chrome/test/chromedriver/client/chromedriver.py -+++ b/chrome/test/chromedriver/client/chromedriver.py -@@ -653,7 +653,3 @@ class ChromeDriver(object): - if signCount is not None: - options['signCount'] = signCount - return self.ExecuteCommand(Command.ADD_CREDENTIAL, options) -- -- def GetCredentials(self, authenticatorId): -- params = {'authenticatorId': authenticatorId} -- return self.ExecuteCommand(Command.GET_CREDENTIALS, params) -diff --git a/chrome/test/chromedriver/client/command_executor.py b/chrome/test/chromedriver/client/command_executor.py -index 2286d839f..de27e1a3c 100644 ---- a/chrome/test/chromedriver/client/command_executor.py -+++ b/chrome/test/chromedriver/client/command_executor.py -@@ -176,9 +176,6 @@ class Command(object): - ADD_CREDENTIAL = ( - _Method.POST, - '/session/:sessionId/webauthn/authenticator/:authenticatorId/credential') -- GET_CREDENTIALS = ( -- _Method.GET, -- '/session/:sessionId/webauthn/authenticator/:authenticatorId/credentials') - - # Custom Chrome commands. - IS_LOADING = (_Method.GET, '/session/:sessionId/is_loading') -diff --git a/chrome/test/chromedriver/server/http_handler.cc b/chrome/test/chromedriver/server/http_handler.cc -index 737e34dce..0c9a00119 100644 ---- a/chrome/test/chromedriver/server/http_handler.cc -+++ b/chrome/test/chromedriver/server/http_handler.cc -@@ -764,14 +764,6 @@ HttpHandler::HttpHandler( - "AddCredential", - base::BindRepeating(&ExecuteWebAuthnCommand, - base::BindRepeating(&ExecuteAddCredential)))), -- CommandMapping( -- kGet, -- "session/:sessionId/webauthn/authenticator/:authenticatorId/" -- "credentials", -- WrapToCommand("GetCredentials", -- base::BindRepeating( -- &ExecuteWebAuthnCommand, -- base::BindRepeating(&ExecuteGetCredentials)))), - - // - // Non-standard extension commands -diff --git a/chrome/test/chromedriver/test/run_py_tests.py b/chrome/test/chromedriver/test/run_py_tests.py -index 15e986899..d59650004 100755 ---- a/chrome/test/chromedriver/test/run_py_tests.py -+++ b/chrome/test/chromedriver/test/run_py_tests.py -@@ -226,7 +226,6 @@ _ANDROID_NEGATIVE_FILTER['chrome'] = ( - 'ChromeDriverSecureContextTest.testAddVirtualAuthenticator', - 'ChromeDriverSecureContextTest.testRemoveVirtualAuthenticator', - 'ChromeDriverSecureContextTest.testAddCredential', -- 'ChromeDriverSecureContextTest.testGetCredentials', - ] - ) - _ANDROID_NEGATIVE_FILTER['chrome_stable'] = ( -@@ -2018,11 +2017,6 @@ class ChromeDriverTest(ChromeDriverBaseTestWithWebServer): - - # Tests that require a secure context. - class ChromeDriverSecureContextTest(ChromeDriverBaseTest): -- # The example attestation private key from the U2F spec at -- # https://fidoalliance.org/specs/fido-u2f-v1.2-ps-20170411/fido-u2f-raw-message-formats-v1.2-ps-20170411.html#registration-example -- # PKCS.8 encoded without encryption, as a base64url string. -- privateKey = "MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQg8_zMDQDYAxlU-Qhk1Dwkf0v18GZca1DMF3SaJ9HPdmShRANCAASNYX5lyVCOZLzFZzrIKmeZ2jwURmgsJYxGP__fWN_S-j5sN4tT15XEpN_7QZnt14YvI6uvAgO0uJEboFaZlOEB" -- - @staticmethod - def GlobalSetUp(): - cert_path = os.path.join(chrome_paths.GetTestData(), -@@ -2039,21 +2033,6 @@ class ChromeDriverSecureContextTest(ChromeDriverBaseTest): - return ChromeDriverSecureContextTest._https_server.GetUrl( - host) + file_path - -- # Encodes a string in URL-safe base64 with no padding. -- @staticmethod -- def URLSafeBase64Encode(string): -- encoded = base64.urlsafe_b64encode(string) -- while encoded[-1] == "=": -- encoded = encoded[0:-1] -- return encoded -- -- # Decodes a base64 string with no padding. -- @staticmethod -- def UrlSafeBase64Decode(string): -- string = string.encode("utf-8") -- string += "=" * (4 - len(string) % 4) -- return base64.urlsafe_b64decode(string) -- - def setUp(self): - self._driver = self.CreateDriver( - chrome_switches=['host-resolver-rules=MAP * 127.0.0.1']) -@@ -2101,6 +2080,10 @@ class ChromeDriverSecureContextTest(ChromeDriverBaseTest): - self._driver.RemoveVirtualAuthenticator, response['authenticatorId']) - - def testAddCredential(self): -+ # The example attestation private key from the U2F spec at -+ # https://fidoalliance.org/specs/fido-u2f-v1.2-ps-20170411/fido-u2f-raw-message-formats-v1.2-ps-20170411.html#registration-example -+ # PKCS.8 encoded without encryption. -+ privateKey = "MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQg8/zMDQDYAxlU+Qhk1Dwkf0v18GZca1DMF3SaJ9HPdmShRANCAASNYX5lyVCOZLzFZzrIKmeZ2jwURmgsJYxGP//fWN/S+j5sN4tT15XEpN/7QZnt14YvI6uvAgO0uJEboFaZlOEB" - - script = """ - let done = arguments[0]; -@@ -2123,78 +2106,16 @@ class ChromeDriverSecureContextTest(ChromeDriverBaseTest): - # Register a credential and try authenticating with it. - self._driver.AddCredential( - authenticatorId = authenticatorId, -- credentialId = self.URLSafeBase64Encode("cred-1"), -+ credentialId = base64.b64encode("cred-1"), - isResidentCredential=False, - rpId="chromedriver.test", -- privateKey=self.privateKey, -+ privateKey=privateKey, - signCount=1, - ) - - result = self._driver.ExecuteAsyncScript(script) - self.assertEquals('OK', result['status']) - -- def testAddCredentialBase64Errors(self): -- # Test that AddCredential checks UrlBase64 parameteres. -- self._driver.Load(self.GetHttpsUrlForFile( -- '/chromedriver/webauthn_test.html', 'chromedriver.test')) -- -- authenticatorId = self._driver.AddVirtualAuthenticator( -- protocol = 'ctap2', -- transport = 'usb', -- hasResidentKey = False, -- hasUserVerification = False, -- )['authenticatorId'] -- -- # Try adding a credentialId that is encoded in vanilla base64. -- self.assertRaisesRegexp( -- chromedriver.InvalidArgument, -- 'credentialId must be a base64url encoded string', -- self._driver.AddCredential, authenticatorId, '_0n+wWqg=', -- False, "chromedriver.test", self.privateKey, None, 1, -- ) -- -- # Try adding a credentialId that is not a string. -- self.assertRaisesRegexp( -- chromedriver.InvalidArgument, -- 'credentialId must be a base64url encoded string', -- self._driver.AddCredential, authenticatorId, 1, -- False, "chromedriver.test", self.privateKey, None, 1, -- ) -- -- def testGetCredentials(self): -- script = """ -- let done = arguments[0]; -- registerCredential({ -- authenticatorSelection: { -- requireResidentKey: true, -- }, -- }).then(done); -- """ -- self._driver.Load(self.GetHttpsUrlForFile( -- '/chromedriver/webauthn_test.html', 'chromedriver.test')) -- authenticatorId = self._driver.AddVirtualAuthenticator( -- protocol = 'ctap2', -- transport = 'usb', -- hasResidentKey = True, -- hasUserVerification = True, -- )['authenticatorId'] -- -- # Register a credential via the webauthn API. -- result = self._driver.ExecuteAsyncScript(script) -- self.assertEquals('OK', result['status']) -- credentialId = result['credential']['id'] -- -- # GetCredentials should return the credential that was just created. -- credentials = self._driver.GetCredentials(authenticatorId)['credentials'] -- self.assertEquals(1, len(credentials)) -- self.assertEquals(credentialId, credentials[0]['credentialId']) -- self.assertEquals(True, credentials[0]['isResidentCredential']) -- self.assertEquals('chromedriver.test', credentials[0]['rpId']) -- self.assertEquals(chr(1), -- self.UrlSafeBase64Decode(credentials[0]['userHandle'])) -- self.assertEquals(1, credentials[0]['signCount']) -- self.assertTrue(credentials[0]['privateKey']) -- - # Tests in the following class are expected to be moved to ChromeDriverTest - # class when we no longer support the legacy mode. - class ChromeDriverW3cTest(ChromeDriverBaseTestWithWebServer): -diff --git a/chrome/test/chromedriver/webauthn_commands.cc b/chrome/test/chromedriver/webauthn_commands.cc -index b0d4d62bc..32c8a4a61 100644 ---- a/chrome/test/chromedriver/webauthn_commands.cc -+++ b/chrome/test/chromedriver/webauthn_commands.cc -@@ -6,8 +6,6 @@ - - #include <utility> - --#include "base/base64.h" --#include "base/base64url.h" - #include "base/callback.h" - #include "base/containers/flat_map.h" - #include "base/values.h" -@@ -17,8 +15,6 @@ - - namespace { - --static constexpr char kBase64UrlError[] = " must be a base64url encoded string"; -- - // Creates a base::DictionaryValue by cloning the parameters specified by - // |mapping| from |params|. - base::DictionaryValue MapParams( -@@ -33,48 +29,6 @@ base::DictionaryValue MapParams( - return options; - } - --// Converts the string |keys| in |params| from base64url to base64. Returns a --// status error if conversion of one of the keys failed. --Status ConvertBase64UrlToBase64(base::Value* params, -- const std::vector<const std::string> keys) { -- for (const std::string key : keys) { -- base::Value* maybe_value = params->FindKey(key); -- if (!maybe_value) -- continue; -- -- if (!maybe_value->is_string()) -- return Status(kInvalidArgument, key + kBase64UrlError); -- -- std::string& value = maybe_value->GetString(); -- std::string temp; -- if (!Base64UrlDecode(value, base::Base64UrlDecodePolicy::IGNORE_PADDING, -- &temp)) { -- return Status(kInvalidArgument, key + kBase64UrlError); -- } -- -- base::Base64Encode(temp, &value); -- } -- -- return Status(kOk); --} -- --// Converts the string |keys| in |params| from base64 to base64url. --void ConvertBase64ToBase64Url(base::Value* params, -- const std::vector<const std::string> keys) { -- for (const std::string key : keys) { -- std::string* maybe_value = params->FindStringKey(key); -- if (!maybe_value) -- continue; -- -- std::string temp; -- bool result = base::Base64Decode(*maybe_value, &temp); -- DCHECK(result); -- -- base::Base64UrlEncode(temp, base::Base64UrlEncodePolicy::OMIT_PADDING, -- maybe_value); -- } --} -- - } // namespace - - Status ExecuteWebAuthnCommand(const WebAuthnCommand& command, -@@ -125,40 +79,18 @@ Status ExecuteRemoveVirtualAuthenticator(WebView* web_view, - Status ExecuteAddCredential(WebView* web_view, - const base::Value& params, - std::unique_ptr<base::Value>* value) { -- base::DictionaryValue mapped_params = MapParams( -- { -- {"authenticatorId", "authenticatorId"}, -- {"credential.credentialId", "credentialId"}, -- {"credential.isResidentCredential", "isResidentCredential"}, -- {"credential.rpId", "rpId"}, -- {"credential.privateKey", "privateKey"}, -- {"credential.userHandle", "userHandle"}, -- {"credential.signCount", "signCount"}, -- }, -- params); -- Status status = -- ConvertBase64UrlToBase64(mapped_params.FindKey("credential"), -- {"credentialId", "privateKey", "userHandle"}); -- if (status.IsError()) -- return status; -- -- return web_view->SendCommandAndGetResult("WebAuthn.addCredential", -- std::move(mapped_params), value); --} -- --Status ExecuteGetCredentials(WebView* web_view, -- const base::Value& params, -- std::unique_ptr<base::Value>* value) { -- Status status = web_view->SendCommandAndGetResult( -- "WebAuthn.getCredentials", -- MapParams({{"authenticatorId", "authenticatorId"}}, params), value); -- if (status.IsError()) -- return status; -- -- for (base::Value& credential : (*value)->FindKey("credentials")->GetList()) { -- ConvertBase64ToBase64Url(&credential, -- {"credentialId", "privateKey", "userHandle"}); -- } -- -- return status; -+ return web_view->SendCommandAndGetResult( -+ "WebAuthn.addCredential", -+ MapParams( -+ { -+ {"authenticatorId", "authenticatorId"}, -+ {"credential.credentialId", "credentialId"}, -+ {"credential.isResidentCredential", "isResidentCredential"}, -+ {"credential.rpId", "rpId"}, -+ {"credential.privateKey", "privateKey"}, -+ {"credential.userHandle", "userHandle"}, -+ {"credential.signCount", "signCount"}, -+ }, -+ params), -+ value); - } -diff --git a/chrome/test/chromedriver/webauthn_commands.h b/chrome/test/chromedriver/webauthn_commands.h -index dcc278428..fd75ecfed 100644 ---- a/chrome/test/chromedriver/webauthn_commands.h -+++ b/chrome/test/chromedriver/webauthn_commands.h -@@ -44,9 +44,4 @@ Status ExecuteAddCredential(WebView* web_view, - const base::Value& params, - std::unique_ptr<base::Value>* value); - --// Retrieve all the credentials stored in an authenticator. --Status ExecuteGetCredentials(WebView* web_view, -- const base::Value& params, -- std::unique_ptr<base::Value>* value); -- - #endif // CHROME_TEST_CHROMEDRIVER_WEBAUTHN_COMMANDS_H_ -diff --git a/device/fido/virtual_ctap2_device.cc b/device/fido/virtual_ctap2_device.cc -index 672b61cb5..843bd0f4e 100644 ---- a/device/fido/virtual_ctap2_device.cc -+++ b/device/fido/virtual_ctap2_device.cc -@@ -864,7 +864,6 @@ base::Optional<CtapDeviceResponseCode> VirtualCtap2Device::OnMakeCredential( - - registration.is_resident = true; - registration.user = request.user; -- registration.rp = request.rp; - } - - if (request.cred_protect) { diff --git a/www-client/chromium/files/chromium-serviceworker-83.patch b/www-client/chromium/files/chromium-serviceworker-83.patch deleted file mode 100644 index a836e7f..0000000 --- a/www-client/chromium/files/chromium-serviceworker-83.patch +++ /dev/null @@ -1,130 +0,0 @@ -From 0914a38252f205fc04fa50e858b24fa5f535ab11 Mon Sep 17 00:00:00 2001 -From: Hiroki Nakagawa <nhiroki@chromium.org> -Date: Wed, 29 Apr 2020 11:46:54 +0900 -Subject: [PATCH] ServiceWorker: Avoid double destruction of ServiceWorkerObjectHost on connection error - -This CL avoids the case where ServiceWorkerObjectHost is destroyed twice -on ServiceWorkerObjectHost::OnConnectionError() when Chromium is built -with the GCC build toolchain. - -> How does the issue happen? - -ServiceWorkerObjectHost has a cyclic reference like this: - -ServiceWorkerObjectHost - --([1] scoped_refptr)--> ServiceWorkerVersion - --([2] std::unique_ptr)--> ServiceWorkerProviderHost - --([3] std::unique_ptr)--> ServiceWorkerContainerHost - --([4] std::unique_ptr)--> ServiceWorkerObjectHost - -Note that ServiceWorkerContainerHost manages ServiceWorkerObjectHost in -map<int64_t version_id, std::unique_ptr<ServiceWorkerObjectHost>>. - -When ServiceWorkerObjectHost::OnConnectionError() is called, the -function removes the reference [4] from the map, and destroys -ServiceWorkerObjectHost. If the object host has the last reference [1] -to ServiceWorkerVersion, the destruction also cuts off the references -[2] and [3], and destroys ServiceWorkerProviderHost and -ServiceWorkerContainerHost. - -This seems to work well on the Chromium's default toolchain, but not -work on the GCC toolchain. According to the report, destruction of -ServiceWorkerContainerHost happens while the map owned by the container -host is erasing the ServiceWorkerObjectHost, and this results in crash -due to double destruction of the object host. - -I don't know the reason why this happens only on the GCC toolchain, but -I suspect the order of object destruction on std::map::erase() could be -different depending on the toolchains. - -> How does this CL fix this? - -The ideal fix is to redesign the ownership model of -ServiceWorkerVersion, but it's not feasible in the short term. - -Instead, this CL avoids destruction of ServiceWorkerObjectHost on -std::map::erase(). The new code takes the ownership of the object host -from the map first, and then erases the entry from the map. This -separates timings to erase the map entry and to destroy the object host, -so the crash should no longer happen. - -Bug: 1056598 -Change-Id: Id30654cb575bc557c42044d6f0c6f1f9bfaed613 ---- - -diff --git a/content/browser/service_worker/service_worker_container_host.cc b/content/browser/service_worker/service_worker_container_host.cc -index c631bcd..ff917f8 100644 ---- a/content/browser/service_worker/service_worker_container_host.cc -+++ b/content/browser/service_worker/service_worker_container_host.cc -@@ -717,6 +717,16 @@ - int64_t version_id) { - DCHECK_CURRENTLY_ON(ServiceWorkerContext::GetCoreThreadId()); - DCHECK(base::Contains(service_worker_object_hosts_, version_id)); -+ -+ // ServiceWorkerObjectHost to be deleted may have the last reference to -+ // ServiceWorkerVersion that indirectly owns this ServiceWorkerContainerHost. -+ // If we erase the object host directly from the map, |this| could be deleted -+ // during the map operation and may crash. To avoid the case, we take the -+ // ownership of the object host from the map first, and then erase the entry -+ // from the map. See https://crbug.com/1056598 for details. -+ std::unique_ptr<ServiceWorkerObjectHost> to_be_deleted = -+ std::move(service_worker_object_hosts_[version_id]); -+ DCHECK(to_be_deleted); - service_worker_object_hosts_.erase(version_id); - } - -diff --git a/content/browser/service_worker/service_worker_object_host_unittest.cc b/content/browser/service_worker/service_worker_object_host_unittest.cc -index 238cb8b..f60c7a2 100644 ---- a/content/browser/service_worker/service_worker_object_host_unittest.cc -+++ b/content/browser/service_worker/service_worker_object_host_unittest.cc -@@ -200,6 +200,19 @@ - return registration_info; - } - -+ void CallOnConnectionError(ServiceWorkerContainerHost* container_host, -+ int64_t version_id) { -+ // ServiceWorkerObjectHost has the last reference to the version. -+ ServiceWorkerObjectHost* object_host = -+ GetServiceWorkerObjectHost(container_host, version_id); -+ EXPECT_TRUE(object_host->version_->HasOneRef()); -+ -+ // Make sure that OnConnectionError induces destruction of the version and -+ // the object host. -+ object_host->receivers_.Clear(); -+ object_host->OnConnectionError(); -+ } -+ - BrowserTaskEnvironment task_environment_; - std::unique_ptr<EmbeddedWorkerTestHelper> helper_; - scoped_refptr<ServiceWorkerRegistration> registration_; -@@ -409,5 +422,30 @@ - events[0]->source_info_for_client->client_type); - } - -+// This is a regression test for https://crbug.com/1056598. -+TEST_F(ServiceWorkerObjectHostTest, OnConnectionError) { -+ const GURL scope("https://www.example.com/"); -+ const GURL script_url("https://www.example.com/service_worker.js"); -+ Initialize(std::make_unique<EmbeddedWorkerTestHelper>(base::FilePath())); -+ SetUpRegistration(scope, script_url); -+ -+ // Create the provider host. -+ ASSERT_EQ(blink::ServiceWorkerStatusCode::kOk, -+ StartServiceWorker(version_.get())); -+ -+ // Set up the case where the last reference to the version is owned by the -+ // service worker object host. -+ ServiceWorkerContainerHost* container_host = -+ version_->provider_host()->container_host(); -+ ServiceWorkerVersion* version_rawptr = version_.get(); -+ version_ = nullptr; -+ ASSERT_TRUE(version_rawptr->HasOneRef()); -+ -+ // Simulate the connection error that induces the object host destruction. -+ // This shouldn't crash. -+ CallOnConnectionError(container_host, version_rawptr->version_id()); -+ base::RunLoop().RunUntilIdle(); -+} -+ - } // namespace service_worker_object_host_unittest - } // namespace content diff --git a/www-client/chromium/files/chromium-simhash-include-84.patch b/www-client/chromium/files/chromium-simhash-include-84.patch deleted file mode 100644 index eb77921..0000000 --- a/www-client/chromium/files/chromium-simhash-include-84.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/components/federated_learning/sim_hash.cc b/components/federated_learning/sim_hash.cc -index 3624459f3..9287dbe72 100644 ---- a/components/federated_learning/sim_hash.cc -+++ b/components/federated_learning/sim_hash.cc -@@ -6,6 +6,7 @@ - - #include "base/hash/legacy_hash.h" - -+#include <cmath> - #include <algorithm> - - namespace federated_learning { -diff --git a/components/federated_learning/sim_hash.h b/components/federated_learning/sim_hash.h -index 55030d9d2..26087e74e 100644 ---- a/components/federated_learning/sim_hash.h -+++ b/components/federated_learning/sim_hash.h -@@ -5,7 +5,9 @@ - #ifndef COMPONENTS_FEDERATED_LEARNING_SIM_HASH_H_ - #define COMPONENTS_FEDERATED_LEARNING_SIM_HASH_H_ - -+#include <stdint.h> - #include <set> -+#include <string> - #include <unordered_set> - - namespace federated_learning { diff --git a/www-client/chromium/files/chromium-simhash-include-85.patch b/www-client/chromium/files/chromium-simhash-include-85.patch deleted file mode 100644 index 4075548..0000000 --- a/www-client/chromium/files/chromium-simhash-include-85.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/components/federated_learning/sim_hash.h b/components/federated_learning/sim_hash.h -index 55030d9d2..ab7e57132 100644 ---- a/components/federated_learning/sim_hash.h -+++ b/components/federated_learning/sim_hash.h -@@ -5,7 +5,10 @@ - #ifndef COMPONENTS_FEDERATED_LEARNING_SIM_HASH_H_ - #define COMPONENTS_FEDERATED_LEARNING_SIM_HASH_H_ - -+#include <stdint.h> -+ - #include <set> -+#include <string> - #include <unordered_set> - - namespace federated_learning { diff --git a/www-client/chromium/files/chromium-sqrt.patch b/www-client/chromium/files/chromium-sqrt.patch deleted file mode 100644 index 4e391fd..0000000 --- a/www-client/chromium/files/chromium-sqrt.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/ui/gfx/color_utils.cc b/ui/gfx/color_utils.cc -index c868cd54b..ed33c5c18 100644 ---- a/ui/gfx/color_utils.cc -+++ b/ui/gfx/color_utils.cc -@@ -431,7 +431,7 @@ SkColor SetDarkestColorForTesting(SkColor color) { - // GetContrastRatio(kWhiteLuminance, g_luminance_midpoint). The formula below - // can be verified by plugging it into how GetContrastRatio() operates. - g_luminance_midpoint = -- std::sqrtf((dark_luminance + 0.05f) * (kWhiteLuminance + 0.05f)) - 0.05f; -+ (float)std::sqrt((dark_luminance + 0.05f) * (kWhiteLuminance + 0.05f)) - 0.05f; - - return previous_darkest_color; - } diff --git a/www-client/chromium/files/chromium-std-nullptr-83.patch b/www-client/chromium/files/chromium-std-nullptr-83.patch deleted file mode 100644 index a2efc76..0000000 --- a/www-client/chromium/files/chromium-std-nullptr-83.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/third_party/blink/renderer/core/typed_arrays/array_buffer_view_helpers.h b/third_party/blink/renderer/core/typed_arrays/array_buffer_view_helpers.h -index a6b8547f5..5fa03cb35 100644 ---- a/third_party/blink/renderer/core/typed_arrays/array_buffer_view_helpers.h -+++ b/third_party/blink/renderer/core/typed_arrays/array_buffer_view_helpers.h -@@ -36,7 +36,7 @@ class NotShared { - template <typename U, std::enable_if_t<std::is_base_of<T, U>::value, int> = 0> - NotShared(const NotShared<U>& other) : typed_array_(other.Get()) {} - -- explicit NotShared(nullptr_t) {} -+ explicit NotShared(std::nullptr_t) {} - explicit NotShared(T* typed_array) : typed_array_(typed_array) { - DCHECK(!typed_array || !typed_array->IsShared()); - } -@@ -95,7 +95,7 @@ class MaybeShared { - template <typename U, std::enable_if_t<std::is_base_of<T, U>::value, int> = 0> - MaybeShared(const MaybeShared<U>& other) : typed_array_(other.Get()) {} - -- explicit MaybeShared(nullptr_t) {} -+ explicit MaybeShared(std::nullptr_t) {} - // [AllowShared] array buffer view may be a view of non-shared array buffer, - // so we don't check if the buffer is SharedArrayBuffer or not. - // https://heycam.github.io/webidl/#AllowShared diff --git a/www-client/chromium/files/chromium-stdint.patch b/www-client/chromium/files/chromium-stdint.patch deleted file mode 100644 index 8774439..0000000 --- a/www-client/chromium/files/chromium-stdint.patch +++ /dev/null @@ -1,21 +0,0 @@ -From 0235c2b657d936f3cdb09053776e5929fc84704b Mon Sep 17 00:00:00 2001 -From: Tomas Popela <tomas.popela@gmail.com> -Date: Wed, 31 Jan 2018 18:57:07 +0000 -Subject: [PATCH] Add missing stdint include - -diff --git a/chrome/browser/vr/sample_queue.cc b/chrome/browser/vr/sample_queue.cc -index c2ca777ce90c..53cb3aab1576 100644 ---- a/chrome/browser/vr/sample_queue.cc -+++ b/chrome/browser/vr/sample_queue.cc -@@ -2,6 +2,8 @@ - // Use of this source code is governed by a BSD-style license that can be - // found in the LICENSE file. - -+#include <stdint.h> -+ - #include "chrome/browser/vr/sample_queue.h" - - namespace vr { --- -2.16.2 - diff --git a/www-client/chromium/files/chromium-stdset.patch b/www-client/chromium/files/chromium-stdset.patch deleted file mode 100644 index 6ac0346..0000000 --- a/www-client/chromium/files/chromium-stdset.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/components/language/core/browser/language_prefs.cc b/components/language/core/browser/language_prefs.cc -index 317aa1d82..df258ca62 100644 ---- a/components/language/core/browser/language_prefs.cc -+++ b/components/language/core/browser/language_prefs.cc -@@ -85,7 +85,7 @@ void LanguagePrefs::ResetEmptyFluentLanguagesToDefault() { - } - - base::Value LanguagePrefs::GetDefaultFluentLanguages() { -- std::set<const std::string> languages; -+ std::set<std::string> languages; - #if defined(OS_CHROMEOS) - // Preferred languages. - std::string language = language::kFallbackInputMethodLocale; diff --git a/www-client/chromium/files/chromium-string_view-79.patch b/www-client/chromium/files/chromium-string_view-79.patch deleted file mode 100644 index 11ad56d..0000000 --- a/www-client/chromium/files/chromium-string_view-79.patch +++ /dev/null @@ -1,78 +0,0 @@ -diff --git a/components/safe_browsing/browser/threat_details.cc b/components/safe_browsing/browser/threat_details.cc -index 05bcd3ff3..5149e911d 100644 ---- a/components/safe_browsing/browser/threat_details.cc -+++ b/components/safe_browsing/browser/threat_details.cc -@@ -8,7 +8,6 @@ - - #include <stddef.h> - #include <stdint.h> --#include <string_view> - #include <unordered_set> - #include <utility> - #include <vector> -@@ -18,6 +17,7 @@ - #include "base/lazy_instance.h" - #include "base/metrics/histogram_macros.h" - #include "base/stl_util.h" -+#include "base/strings/string_piece.h" - #include "base/strings/string_util.h" - #include "base/task/post_task.h" - #include "components/history/core/browser/history_service.h" -@@ -312,7 +312,7 @@ void TrimElements(const std::set<int> target_ids, - } - - void DisableBackForwardCache(content::RenderFrameHost* rfh, -- std::string_view reason) { -+ base::StringPiece reason) { - content::WebContents::FromRenderFrameHost(rfh) - ->GetController() - .GetBackForwardCache() -diff --git a/content/browser/frame_host/back_forward_cache_impl.cc b/content/browser/frame_host/back_forward_cache_impl.cc -index a7c06949b..3c72b7e9e 100644 ---- a/content/browser/frame_host/back_forward_cache_impl.cc -+++ b/content/browser/frame_host/back_forward_cache_impl.cc -@@ -360,7 +360,7 @@ void BackForwardCacheImpl::PostTaskToDestroyEvictedFrames() { - } - - void BackForwardCacheImpl::DisableForRenderFrameHost(GlobalFrameRoutingId id, -- std::string_view reason) { -+ base::StringPiece reason) { - DCHECK_CURRENTLY_ON(BrowserThread::UI); - auto* rfh = RenderFrameHostImpl::FromID(id); - if (rfh) -diff --git a/content/browser/frame_host/back_forward_cache_impl.h b/content/browser/frame_host/back_forward_cache_impl.h -index 712594a3d..6ed6931a3 100644 ---- a/content/browser/frame_host/back_forward_cache_impl.h -+++ b/content/browser/frame_host/back_forward_cache_impl.h -@@ -175,7 +175,7 @@ class CONTENT_EXPORT BackForwardCacheImpl : public BackForwardCache { - - // BackForwardCache: - void DisableForRenderFrameHost(GlobalFrameRoutingId id, -- std::string_view reason) override; -+ base::StringPiece reason) override; - - private: - // Destroys all evicted frames in the BackForwardCache. -diff --git a/content/public/browser/back_forward_cache.h b/content/public/browser/back_forward_cache.h -index f7abe8bec..bb7298651 100644 ---- a/content/public/browser/back_forward_cache.h -+++ b/content/public/browser/back_forward_cache.h -@@ -5,8 +5,7 @@ - #ifndef CONTENT_PUBLIC_BROWSER_BACK_FORWARD_CACHE_H_ - #define CONTENT_PUBLIC_BROWSER_BACK_FORWARD_CACHE_H_ - --#include <string_view> -- -+#include "base/strings/string_piece.h" - #include "content/common/content_export.h" - #include "content/public/browser/global_routing_id.h" - -@@ -43,7 +42,7 @@ class CONTENT_EXPORT BackForwardCache { - // |id|: If no RenderFrameHost can be found for the given id nothing happens. - // |reason|: Free form string to be used in logging and metrics. - virtual void DisableForRenderFrameHost(GlobalFrameRoutingId id, -- std::string_view reason) = 0; -+ base::StringPiece reason) = 0; - - protected: - BackForwardCache() = default; diff --git a/www-client/chromium/files/chromium-swiftshader-77.patch b/www-client/chromium/files/chromium-swiftshader-77.patch deleted file mode 100644 index 34d5032..0000000 --- a/www-client/chromium/files/chromium-swiftshader-77.patch +++ /dev/null @@ -1,53 +0,0 @@ -diff --git a/third_party/swiftshader/src/OpenGL/libEGL/BUILD.gn b/third_party/swiftshader/src/OpenGL/libEGL/BUILD.gn -index f4c826d..993ca6a 100644 ---- a/third_party/swiftshader/src/OpenGL/libEGL/BUILD.gn -+++ b/third_party/swiftshader/src/OpenGL/libEGL/BUILD.gn -@@ -78,6 +78,9 @@ - if (use_x11) { - sources += [ "../../Main/libX11.cpp" ] - } -+ inputs = [ -+ "libEGL.lds", -+ ] - ldflags = - [ "-Wl,--version-script=" + rebase_path("libEGL.lds", root_build_dir) ] - } -diff --git a/third_party/swiftshader/src/OpenGL/libGLESv2/BUILD.gn b/third_party/swiftshader/src/OpenGL/libGLESv2/BUILD.gn -index 571b08a..d7037ca 100644 ---- a/third_party/swiftshader/src/OpenGL/libGLESv2/BUILD.gn -+++ b/third_party/swiftshader/src/OpenGL/libGLESv2/BUILD.gn -@@ -127,6 +127,9 @@ - if (is_mac) { - ldflags = [ "-Wl,-install_name,@rpath/libswiftshader_libGLESv2.dylib" ] - } else if (is_linux) { -+ inputs = [ -+ "libGLESv2.lds", -+ ] - ldflags = [ "-Wl,--version-script=" + - rebase_path("libGLESv2.lds", root_build_dir) ] - } -diff --git a/third_party/swiftshader/src/Vulkan/BUILD.gn b/third_party/swiftshader/src/Vulkan/BUILD.gn -index 2627f03..6aeaec8 100644 ---- a/third_party/swiftshader/src/Vulkan/BUILD.gn -+++ b/third_party/swiftshader/src/Vulkan/BUILD.gn -@@ -99,7 +99,6 @@ - "VulkanPlatform.h", - "libVulkan.cpp", - "libvk_swiftshader.def", -- "libvk_swiftshader.lds", - "main.cpp", - "resource.h", - ] -@@ -109,8 +108,10 @@ - output_name = "libvulkan" - output_dir = "$root_out_dir/swiftshader" - -- if (is_linux) -- { -+ if (is_linux) { -+ inputs = [ -+ "libvk_swiftshader.lds", -+ ] - ldflags = [ "-Wl,--version-script=" + - rebase_path("libvk_swiftshader.lds", root_build_dir) ] - } diff --git a/www-client/chromium/files/chromium-unbundle-zlib.patch b/www-client/chromium/files/chromium-unbundle-zlib.patch deleted file mode 100644 index d6c45ad..0000000 --- a/www-client/chromium/files/chromium-unbundle-zlib.patch +++ /dev/null @@ -1,25 +0,0 @@ -From e1bbdec720a333937bd1b990ae0f7ee97db0d3b0 Mon Sep 17 00:00:00 2001 -From: Your Name <you@example.com> -Date: Fri, 28 Jun 2019 15:56:23 +0000 -Subject: [PATCH] update zlib - ---- - third_party/perfetto/gn/BUILD.gn | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/third_party/perfetto/gn/BUILD.gn b/third_party/perfetto/gn/BUILD.gn -index c951f5f..297eee3 100644 ---- a/third_party/perfetto/gn/BUILD.gn -+++ b/third_party/perfetto/gn/BUILD.gn -@@ -200,7 +200,7 @@ group("zlib") { - "//buildtools:zlib", - ] - } else if (build_with_chromium) { -- public_configs = [ "//third_party/zlib:zlib_config" ] -+ public_configs = [ "//third_party/zlib:system_zlib" ] - public_deps = [ - "//third_party/zlib", - ] --- -2.21.0 - diff --git a/www-client/chromium/files/chromium-union.patch b/www-client/chromium/files/chromium-union.patch deleted file mode 100644 index be41f6d..0000000 --- a/www-client/chromium/files/chromium-union.patch +++ /dev/null @@ -1,54 +0,0 @@ -diff --git a/base/values.h b/base/values.h -index 6f2cd3cc3..7f148d259 100644 ---- a/base/values.h -+++ b/base/values.h -@@ -415,42 +415,13 @@ class BASE_EXPORT Value { - // of 24, without losing any information. Results are unchanged for x86, - // x86_64 and arm64 (16, 32 and 32 bytes respectively). - union { -- struct { -- // TODO(crbug.com/646113): Make these private once DictionaryValue and -- // ListValue are properly inlined. -- Type type_ : 8; -- }; -- struct { -- Type bool_type_ : 8; -- bool bool_value_; -- }; -- struct { -- Type int_type_ : 8; -- int int_value_; -- }; -- struct { -- Type double_type_ : 8; -- // Subtle: On architectures that require it, the compiler will ensure -- // that |double_value_|'s offset is a multiple of 8 (e.g. 32-bit ARM). -- // See technical note above to understand why it is important. -- double double_value_; -- }; -- struct { -- Type string_type_ : 8; -- std::string string_value_; -- }; -- struct { -- Type binary_type_ : 8; -- BlobStorage binary_value_; -- }; -- struct { -- Type dict_type_ : 8; -- DictStorage dict_; -- }; -- struct { -- Type list_type_ : 8; -- ListStorage list_; -- }; -+ bool bool_value_; -+ int int_value_; -+ double double_value_; -+ std::string string_value_; -+ BlobStorage binary_value_; -+ DictStorage dict_; -+ ListStorage list_; - }; - - private: diff --git a/www-client/chromium/files/chromium-unique_ptr-80-r1.patch b/www-client/chromium/files/chromium-unique_ptr-80-r1.patch deleted file mode 100644 index fb377db..0000000 --- a/www-client/chromium/files/chromium-unique_ptr-80-r1.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/third_party/blink/renderer/core/core_initializer.h b/third_party/blink/renderer/core/core_initializer.h -index 5e67f468f..3f6d8de03 100644 ---- a/third_party/blink/renderer/core/core_initializer.h -+++ b/third_party/blink/renderer/core/core_initializer.h -@@ -31,6 +31,8 @@ - #ifndef THIRD_PARTY_BLINK_RENDERER_CORE_CORE_INITIALIZER_H_ - #define THIRD_PARTY_BLINK_RENDERER_CORE_CORE_INITIALIZER_H_ - -+#include <memory> -+ - #include "base/macros.h" - #include "third_party/blink/public/common/dom_storage/session_storage_namespace_id.h" - #include "third_party/blink/renderer/core/core_export.h" diff --git a/www-client/chromium/files/chromium-unique_ptr-80.patch b/www-client/chromium/files/chromium-unique_ptr-80.patch deleted file mode 100644 index 4da5f0b..0000000 --- a/www-client/chromium/files/chromium-unique_ptr-80.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/net/dns/address_info.h b/net/dns/address_info.h -index 782898535..95bc277c3 100644 ---- a/net/dns/address_info.h -+++ b/net/dns/address_info.h -@@ -5,6 +5,7 @@ - #ifndef NET_DNS_ADDRESS_INFO_H_ - #define NET_DNS_ADDRESS_INFO_H_ - -+#include <memory> - #include <string> - #include <tuple> - diff --git a/www-client/chromium/files/chromium-vaapi-76-r1.patch b/www-client/chromium/files/chromium-vaapi-76-r1.patch deleted file mode 100644 index 6080901..0000000 --- a/www-client/chromium/files/chromium-vaapi-76-r1.patch +++ /dev/null @@ -1,213 +0,0 @@ -diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc -index f3759b099..11c0982ab 100644 ---- a/chrome/browser/about_flags.cc -+++ b/chrome/browser/about_flags.cc -@@ -1314,7 +1314,7 @@ const FeatureEntry kFeatureEntries[] = { - "disable-accelerated-video-decode", - flag_descriptions::kAcceleratedVideoDecodeName, - flag_descriptions::kAcceleratedVideoDecodeDescription, -- kOsMac | kOsWin | kOsCrOS | kOsAndroid, -+ kOsMac | kOsWin | kOsCrOS | kOsAndroid | kOsLinux, - SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedVideoDecode), - }, - #if defined(OS_CHROMEOS) -@@ -1768,12 +1768,12 @@ const FeatureEntry kFeatureEntries[] = { - FEATURE_VALUE_TYPE(service_manager::features::kXRSandbox)}, - #endif // ENABLE_ISOLATED_XR_SERVICE - #endif // ENABLE_VR --#if defined(OS_CHROMEOS) -+#if defined(OS_CHROMEOS) || defined(OS_LINUX) - {"disable-accelerated-mjpeg-decode", - flag_descriptions::kAcceleratedMjpegDecodeName, -- flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS, -+ flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS | kOsLinux, - SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedMjpegDecode)}, --#endif // OS_CHROMEOS -+#endif // OS_CHROMEOS OS_LINUX - {"v8-cache-options", flag_descriptions::kV8CacheOptionsName, - flag_descriptions::kV8CacheOptionsDescription, kOsAll, - MULTI_VALUE_TYPE(kV8CacheOptionsChoices)}, -diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc -index d05bc47f4..5d5c77b5e 100644 ---- a/chrome/browser/flag_descriptions.cc -+++ b/chrome/browser/flag_descriptions.cc -@@ -2760,13 +2760,22 @@ const char kMacSystemMediaPermissionsInfoUiDescription[] = - - // Chrome OS ------------------------------------------------------------------- - --#if defined(OS_CHROMEOS) -+#if defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID)) - - const char kAcceleratedMjpegDecodeName[] = - "Hardware-accelerated mjpeg decode for captured frame"; - const char kAcceleratedMjpegDecodeDescription[] = - "Enable hardware-accelerated mjpeg decode for captured frame where " - "available."; -+const char kVaapiJpegImageDecodeAccelerationName[] = -+ "VA-API JPEG decode acceleration for images"; -+const char kVaapiJpegImageDecodeAccelerationDescription[] = -+ "Enable or disable decode acceleration of JPEG images (as opposed to camera" -+ " captures) using the VA-API."; -+ -+#endif // defined(OS_CHROMEOS) defined(OS_LINUX) and !defined(OS_ANDROID) -+ -+#if defined(OS_CHROMEOS) - - const char kAppServiceAshName[] = "App Service Ash"; - const char kAppServiceAshDescription[] = -diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h -index aef7105e3..149c5c034 100644 ---- a/chrome/browser/flag_descriptions.h -+++ b/chrome/browser/flag_descriptions.h -@@ -1650,11 +1650,17 @@ extern const char kPermissionPromptPersistenceToggleDescription[]; - - // Chrome OS ------------------------------------------------------------------ - --#if defined(OS_CHROMEOS) -+#if defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID)) - - extern const char kAcceleratedMjpegDecodeName[]; - extern const char kAcceleratedMjpegDecodeDescription[]; - -+extern const char kVaapiJpegImageDecodeAccelerationName[]; -+extern const char kVaapiJpegImageDecodeAccelerationDescription[]; -+ -+#endif -+ -+#if defined(OS_CHROMEOS) - extern const char kAppServiceAshName[]; - extern const char kAppServiceAshDescription[]; - -diff --git a/components/viz/service/main/viz_main_impl.cc b/components/viz/service/main/viz_main_impl.cc -index 53292ae76..d5007860c 100644 ---- a/components/viz/service/main/viz_main_impl.cc -+++ b/components/viz/service/main/viz_main_impl.cc -@@ -36,7 +36,7 @@ std::unique_ptr<base::Thread> CreateAndStartIOThread() { - // It should be possible to use |main_task_runner_| for doing IO tasks. - base::Thread::Options thread_options(base::MessageLoop::TYPE_IO, 0); - thread_options.priority = base::ThreadPriority::NORMAL; --#if defined(OS_ANDROID) || defined(OS_CHROMEOS) || defined(USE_OZONE) -+#if defined(OS_ANDROID) || defined(OS_CHROMEOS) || defined(USE_OZONE) || defined(OS_LINUX) - // TODO(reveman): Remove this in favor of setting it explicitly for each - // type of process. - thread_options.priority = base::ThreadPriority::DISPLAY; -diff --git a/content/gpu/BUILD.gn b/content/gpu/BUILD.gn -index 2b1165264..fec963bd9 100644 ---- a/content/gpu/BUILD.gn -+++ b/content/gpu/BUILD.gn -@@ -6,6 +6,7 @@ import("//build/config/jumbo.gni") - import("//build/config/ui.gni") - import("//gpu/vulkan/features.gni") - import("//media/media_options.gni") -+import("//media/gpu/args.gni") - import("//ui/ozone/ozone.gni") - - # See //content/BUILD.gn for how this works. -@@ -127,4 +128,8 @@ target(link_target_type, "gpu_sources") { - (!is_chromecast || is_cast_desktop_build)) { - configs += [ "//build/config/linux/dri" ] - } -+ # Use vaapi on desktop Linux builds when use_vaapi is set -+ if (is_desktop_linux && use_vaapi) { -+ public_configs = [ "//media/gpu:libva_config" ] -+ } - } -diff --git a/content/gpu/gpu_main.cc b/content/gpu/gpu_main.cc -index a838f0ccf..4c891fb92 100644 ---- a/content/gpu/gpu_main.cc -+++ b/content/gpu/gpu_main.cc -@@ -288,7 +288,7 @@ int GpuMain(const MainFunctionParams& parameters) { - - base::PlatformThread::SetName("CrGpuMain"); - --#if defined(OS_ANDROID) || defined(OS_CHROMEOS) || defined(USE_OZONE) -+#if defined(OS_ANDROID) || defined(OS_CHROMEOS) || defined(USE_OZONE) || defined(OS_LINUX) - // Set thread priority before sandbox initialization. - base::PlatformThread::SetCurrentThreadPriority(base::ThreadPriority::DISPLAY); - #endif -@@ -321,7 +321,7 @@ int GpuMain(const MainFunctionParams& parameters) { - GetContentClient()->SetGpuInfo(gpu_init->gpu_info()); - - base::ThreadPriority io_thread_priority = base::ThreadPriority::NORMAL; --#if defined(OS_ANDROID) || defined(OS_CHROMEOS) || defined(USE_OZONE) -+#if defined(OS_ANDROID) || defined(OS_CHROMEOS) || defined(USE_OZONE) || defined(OS_LINUX) - io_thread_priority = base::ThreadPriority::DISPLAY; - #endif - -diff --git a/gpu/config/software_rendering_list.json b/gpu/config/software_rendering_list.json -index 0042a3457..efe1b3f4d 100644 ---- a/gpu/config/software_rendering_list.json -+++ b/gpu/config/software_rendering_list.json -@@ -369,17 +369,6 @@ - "all" - ] - }, -- { -- "id": 48, -- "description": "Accelerated video decode is unavailable on Linux", -- "cr_bugs": [137247], -- "os": { -- "type": "linux" -- }, -- "features": [ -- "accelerated_video_decode" -- ] -- }, - { - "id": 50, - "description": "Disable VMware software renderer on older Mesa", -diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc -index 2e364d0cf..728cab164 100644 ---- a/media/base/media_switches.cc -+++ b/media/base/media_switches.cc -@@ -520,7 +520,7 @@ bool IsVideoCaptureAcceleratedJpegDecodingEnabled() { - switches::kUseFakeMjpegDecodeAccelerator)) { - return true; - } --#if defined(OS_CHROMEOS) -+#if defined(OS_CHROMEOS) || defined(OS_LINUX) - return true; - #endif - return false; -diff --git a/media/filters/BUILD.gn b/media/filters/BUILD.gn -index 1324da986..b4d235f50 100644 ---- a/media/filters/BUILD.gn -+++ b/media/filters/BUILD.gn -@@ -5,6 +5,7 @@ - import("//build/config/jumbo.gni") - import("//media/media_options.gni") - import("//third_party/libaom/options.gni") -+import("//media/gpu/args.gni") - - jumbo_source_set("filters") { - # Do not expand the visibility here without double-checking with OWNERS, this -@@ -207,7 +208,7 @@ jumbo_source_set("filters") { - deps += [ "//media/base/android" ] - } - -- if (current_cpu != "arm" && is_linux) { -+ if (use_vaapi && is_linux) { - sources += [ - "h264_bitstream_buffer.cc", - "h264_bitstream_buffer.h", -diff --git a/media/gpu/BUILD.gn b/media/gpu/BUILD.gn -index 2020a4c23..af61e3e75 100644 ---- a/media/gpu/BUILD.gn -+++ b/media/gpu/BUILD.gn -@@ -499,9 +499,16 @@ if (use_v4l2_codec || use_vaapi || is_mac || is_win) { - if (use_ozone) { - deps += [ "//ui/ozone" ] - } -+ public_configs = [ ":libva_config" ] - } - } - -+import("//build/config/linux/pkg_config.gni") -+ -+pkg_config("libva_config") { -+ packages = [ "libva" ] -+} -+ - static_library("test_support") { - visibility = [ "//media:test_support" ] - testonly = true diff --git a/www-client/chromium/files/chromium-vaapi-76.patch b/www-client/chromium/files/chromium-vaapi-76.patch deleted file mode 100644 index 6b9c372..0000000 --- a/www-client/chromium/files/chromium-vaapi-76.patch +++ /dev/null @@ -1,218 +0,0 @@ -diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc -index e727a7633..321ec6374 100644 ---- a/chrome/browser/about_flags.cc -+++ b/chrome/browser/about_flags.cc -@@ -1344,7 +1344,7 @@ const FeatureEntry kFeatureEntries[] = { - "disable-accelerated-video-decode", - flag_descriptions::kAcceleratedVideoDecodeName, - flag_descriptions::kAcceleratedVideoDecodeDescription, -- kOsMac | kOsWin | kOsCrOS | kOsAndroid, -+ kOsMac | kOsWin | kOsCrOS | kOsAndroid | kOsLinux, - SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedVideoDecode), - }, - #if defined(OS_WIN) -@@ -1840,12 +1840,12 @@ const FeatureEntry kFeatureEntries[] = { - FEATURE_VALUE_TYPE(service_manager::features::kXRSandbox)}, - #endif // ENABLE_ISOLATED_XR_SERVICE - #endif // ENABLE_VR --#if defined(OS_CHROMEOS) -+#if defined(OS_CHROMEOS) || defined(OS_LINUX) - {"disable-accelerated-mjpeg-decode", - flag_descriptions::kAcceleratedMjpegDecodeName, -- flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS, -+ flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS | kOsLinux, - SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedMjpegDecode)}, --#endif // OS_CHROMEOS -+#endif // OS_CHROMEOS OS_LINUX - {"v8-cache-options", flag_descriptions::kV8CacheOptionsName, - flag_descriptions::kV8CacheOptionsDescription, kOsAll, - MULTI_VALUE_TYPE(kV8CacheOptionsChoices)}, -diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc -index e935e0fd6..3225adb3b 100644 ---- a/chrome/browser/flag_descriptions.cc -+++ b/chrome/browser/flag_descriptions.cc -@@ -2873,13 +2873,22 @@ const char kMacSystemMediaPermissionsInfoUiDescription[] = - - // Chrome OS ------------------------------------------------------------------- - --#if defined(OS_CHROMEOS) -+#if defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID)) - - const char kAcceleratedMjpegDecodeName[] = - "Hardware-accelerated mjpeg decode for captured frame"; - const char kAcceleratedMjpegDecodeDescription[] = - "Enable hardware-accelerated mjpeg decode for captured frame where " - "available."; -+const char kVaapiJpegImageDecodeAccelerationName[] = -+ "VA-API JPEG decode acceleration for images"; -+const char kVaapiJpegImageDecodeAccelerationDescription[] = -+ "Enable or disable decode acceleration of JPEG images (as opposed to camera" -+ " captures) using the VA-API."; -+ -+#endif // defined(OS_CHROMEOS) defined(OS_LINUX) and !defined(OS_ANDROID) -+ -+#if defined(OS_CHROMEOS) - - const char kAppServiceAshName[] = "App Service Ash"; - const char kAppServiceAshDescription[] = -diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h -index 8450a5b76..80b68b724 100644 ---- a/chrome/browser/flag_descriptions.h -+++ b/chrome/browser/flag_descriptions.h -@@ -1723,11 +1723,17 @@ extern const char kPermissionPromptPersistenceToggleDescription[]; - - // Chrome OS ------------------------------------------------------------------ - --#if defined(OS_CHROMEOS) -+#if defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID)) - - extern const char kAcceleratedMjpegDecodeName[]; - extern const char kAcceleratedMjpegDecodeDescription[]; - -+extern const char kVaapiJpegImageDecodeAccelerationName[]; -+extern const char kVaapiJpegImageDecodeAccelerationDescription[]; -+ -+#endif -+ -+#if defined(OS_CHROMEOS) - extern const char kAppServiceAshName[]; - extern const char kAppServiceAshDescription[]; - -diff --git a/components/viz/service/main/viz_main_impl.cc b/components/viz/service/main/viz_main_impl.cc -index a5a38f8ec..7a110c4f9 100644 ---- a/components/viz/service/main/viz_main_impl.cc -+++ b/components/viz/service/main/viz_main_impl.cc -@@ -36,7 +36,7 @@ std::unique_ptr<base::Thread> CreateAndStartIOThread() { - // It should be possible to use |main_task_runner_| for doing IO tasks. - base::Thread::Options thread_options(base::MessageLoop::TYPE_IO, 0); - thread_options.priority = base::ThreadPriority::NORMAL; --#if defined(OS_ANDROID) || defined(OS_CHROMEOS) || defined(USE_OZONE) -+#if defined(OS_ANDROID) || defined(OS_CHROMEOS) || defined(USE_OZONE) || defined(OS_LINUX) - // TODO(reveman): Remove this in favor of setting it explicitly for each - // type of process. - thread_options.priority = base::ThreadPriority::DISPLAY; -diff --git a/content/gpu/BUILD.gn b/content/gpu/BUILD.gn -index 2b1165264..fec963bd9 100644 ---- a/content/gpu/BUILD.gn -+++ b/content/gpu/BUILD.gn -@@ -6,6 +6,7 @@ import("//build/config/jumbo.gni") - import("//build/config/ui.gni") - import("//gpu/vulkan/features.gni") - import("//media/media_options.gni") -+import("//media/gpu/args.gni") - import("//ui/ozone/ozone.gni") - - # See //content/BUILD.gn for how this works. -@@ -127,4 +128,8 @@ target(link_target_type, "gpu_sources") { - (!is_chromecast || is_cast_desktop_build)) { - configs += [ "//build/config/linux/dri" ] - } -+ # Use vaapi on desktop Linux builds when use_vaapi is set -+ if (is_desktop_linux && use_vaapi) { -+ public_configs = [ "//media/gpu:libva_config" ] -+ } - } -diff --git a/content/gpu/gpu_main.cc b/content/gpu/gpu_main.cc -index a838f0ccf..4c891fb92 100644 ---- a/content/gpu/gpu_main.cc -+++ b/content/gpu/gpu_main.cc -@@ -288,7 +288,7 @@ int GpuMain(const MainFunctionParams& parameters) { - - base::PlatformThread::SetName("CrGpuMain"); - --#if defined(OS_ANDROID) || defined(OS_CHROMEOS) || defined(USE_OZONE) -+#if defined(OS_ANDROID) || defined(OS_CHROMEOS) || defined(USE_OZONE) || defined(OS_LINUX) - // Set thread priority before sandbox initialization. - base::PlatformThread::SetCurrentThreadPriority(base::ThreadPriority::DISPLAY); - #endif -@@ -321,7 +321,7 @@ int GpuMain(const MainFunctionParams& parameters) { - GetContentClient()->SetGpuInfo(gpu_init->gpu_info()); - - base::ThreadPriority io_thread_priority = base::ThreadPriority::NORMAL; --#if defined(OS_ANDROID) || defined(OS_CHROMEOS) || defined(USE_OZONE) -+#if defined(OS_ANDROID) || defined(OS_CHROMEOS) || defined(USE_OZONE) || defined(OS_LINUX) - io_thread_priority = base::ThreadPriority::DISPLAY; - #endif - -diff --git a/gpu/config/software_rendering_list.json b/gpu/config/software_rendering_list.json -index d4c3b4364..935fdeb86 100644 ---- a/gpu/config/software_rendering_list.json -+++ b/gpu/config/software_rendering_list.json -@@ -369,17 +369,6 @@ - "all" - ] - }, -- { -- "id": 48, -- "description": "Accelerated video decode is unavailable on Linux", -- "cr_bugs": [137247], -- "os": { -- "type": "linux" -- }, -- "features": [ -- "accelerated_video_decode" -- ] -- }, - { - "id": 50, - "description": "Disable VMware software renderer on older Mesa", -diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc -index a8b11a3b9..a6ac202f9 100644 ---- a/media/base/media_switches.cc -+++ b/media/base/media_switches.cc -@@ -509,7 +509,7 @@ bool IsVideoCaptureAcceleratedJpegDecodingEnabled() { - switches::kUseFakeMjpegDecodeAccelerator)) { - return true; - } --#if defined(OS_CHROMEOS) -+#if defined(OS_CHROMEOS) || defined(OS_LINUX) - return true; - #endif - return false; -diff --git a/media/filters/BUILD.gn b/media/filters/BUILD.gn -index 4fac91144..7086ada95 100644 ---- a/media/filters/BUILD.gn -+++ b/media/filters/BUILD.gn -@@ -5,6 +5,7 @@ - import("//build/config/jumbo.gni") - import("//media/media_options.gni") - import("//third_party/libaom/options.gni") -+import("//media/gpu/args.gni") - - jumbo_source_set("filters") { - # Do not expand the visibility here without double-checking with OWNERS, this -@@ -211,7 +212,7 @@ jumbo_source_set("filters") { - deps += [ "//media/base/android" ] - } - -- if (current_cpu != "arm" && is_linux) { -+ if (use_vaapi && is_linux) { - sources += [ - "h264_bitstream_buffer.cc", - "h264_bitstream_buffer.h", -diff --git a/media/gpu/BUILD.gn b/media/gpu/BUILD.gn -index 6eed6db69..ffd81b968 100644 ---- a/media/gpu/BUILD.gn -+++ b/media/gpu/BUILD.gn -@@ -510,6 +510,13 @@ if (use_v4l2_codec || use_vaapi || is_mac || is_win) { - } - } - -+import("//build/config/linux/pkg_config.gni") -+ -+pkg_config("libva_config") { -+ packages = [ "libva" ] -+} -+ -+ - if (use_v4l2_codec || use_vaapi) { - test("jpeg_encode_accelerator_unittest") { - deps = [ -@@ -580,6 +587,7 @@ if (is_chromeos || is_linux) { - if (use_ozone) { - deps += [ "//ui/ozone" ] - } -+ public_configs = [ ":libva_config" ] - } - } - diff --git a/www-client/chromium/files/chromium-vaapi-77.patch b/www-client/chromium/files/chromium-vaapi-77.patch deleted file mode 100644 index 01ad8c5..0000000 --- a/www-client/chromium/files/chromium-vaapi-77.patch +++ /dev/null @@ -1,213 +0,0 @@ -diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc -index b6747f0d7..5c8a4d3e1 100644 ---- a/chrome/browser/about_flags.cc -+++ b/chrome/browser/about_flags.cc -@@ -1420,7 +1420,7 @@ const FeatureEntry kFeatureEntries[] = { - "disable-accelerated-video-decode", - flag_descriptions::kAcceleratedVideoDecodeName, - flag_descriptions::kAcceleratedVideoDecodeDescription, -- kOsMac | kOsWin | kOsCrOS | kOsAndroid, -+ kOsMac | kOsWin | kOsCrOS | kOsAndroid | kOsLinux, - SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedVideoDecode), - }, - { -@@ -1867,12 +1867,12 @@ const FeatureEntry kFeatureEntries[] = { - FEATURE_VALUE_TYPE(service_manager::features::kXRSandbox)}, - #endif // ENABLE_ISOLATED_XR_SERVICE - #endif // ENABLE_VR --#if defined(OS_CHROMEOS) -+#if defined(OS_CHROMEOS) || defined(OS_LINUX) - {"disable-accelerated-mjpeg-decode", - flag_descriptions::kAcceleratedMjpegDecodeName, -- flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS, -+ flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS | kOsLinux, - SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedMjpegDecode)}, --#endif // OS_CHROMEOS -+#endif // OS_CHROMEOS OS_LINUX - {"system-keyboard-lock", flag_descriptions::kSystemKeyboardLockName, - flag_descriptions::kSystemKeyboardLockDescription, kOsDesktop, - FEATURE_VALUE_TYPE(features::kSystemKeyboardLock)}, -diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc -index 8573fb58f..ece9a30ea 100644 ---- a/chrome/browser/flag_descriptions.cc -+++ b/chrome/browser/flag_descriptions.cc -@@ -2791,13 +2791,22 @@ const char kMacSystemMediaPermissionsInfoUiDescription[] = - - // Chrome OS ------------------------------------------------------------------- - --#if defined(OS_CHROMEOS) -+#if defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID)) - - const char kAcceleratedMjpegDecodeName[] = - "Hardware-accelerated mjpeg decode for captured frame"; - const char kAcceleratedMjpegDecodeDescription[] = - "Enable hardware-accelerated mjpeg decode for captured frame where " - "available."; -+const char kVaapiJpegImageDecodeAccelerationName[] = -+ "VA-API JPEG decode acceleration for images"; -+const char kVaapiJpegImageDecodeAccelerationDescription[] = -+ "Enable or disable decode acceleration of JPEG images (as opposed to camera" -+ " captures) using the VA-API."; -+ -+#endif // defined(OS_CHROMEOS) defined(OS_LINUX) and !defined(OS_ANDROID) -+ -+#if defined(OS_CHROMEOS) - - const char kAppServiceAshName[] = "App Service Ash"; - const char kAppServiceAshDescription[] = -diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h -index f21e223fc..f9527ea64 100644 ---- a/chrome/browser/flag_descriptions.h -+++ b/chrome/browser/flag_descriptions.h -@@ -1661,11 +1661,17 @@ extern const char kPermissionPromptPersistenceToggleDescription[]; - - // Chrome OS ------------------------------------------------------------------ - --#if defined(OS_CHROMEOS) -+#if defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID)) - - extern const char kAcceleratedMjpegDecodeName[]; - extern const char kAcceleratedMjpegDecodeDescription[]; - -+extern const char kVaapiJpegImageDecodeAccelerationName[]; -+extern const char kVaapiJpegImageDecodeAccelerationDescription[]; -+ -+#endif -+ -+#if defined(OS_CHROMEOS) - extern const char kAppServiceAshName[]; - extern const char kAppServiceAshDescription[]; - -diff --git a/components/viz/service/main/viz_main_impl.cc b/components/viz/service/main/viz_main_impl.cc -index 53292ae76..d5007860c 100644 ---- a/components/viz/service/main/viz_main_impl.cc -+++ b/components/viz/service/main/viz_main_impl.cc -@@ -36,7 +36,7 @@ std::unique_ptr<base::Thread> CreateAndStartIOThread() { - // It should be possible to use |main_task_runner_| for doing IO tasks. - base::Thread::Options thread_options(base::MessageLoop::TYPE_IO, 0); - thread_options.priority = base::ThreadPriority::NORMAL; --#if defined(OS_ANDROID) || defined(OS_CHROMEOS) || defined(USE_OZONE) -+#if defined(OS_ANDROID) || defined(OS_CHROMEOS) || defined(USE_OZONE) || defined(OS_LINUX) - // TODO(reveman): Remove this in favor of setting it explicitly for each - // type of process. - thread_options.priority = base::ThreadPriority::DISPLAY; -diff --git a/content/gpu/BUILD.gn b/content/gpu/BUILD.gn -index 29e78fec4..0ab429013 100644 ---- a/content/gpu/BUILD.gn -+++ b/content/gpu/BUILD.gn -@@ -6,6 +6,7 @@ import("//build/config/jumbo.gni") - import("//build/config/ui.gni") - import("//gpu/vulkan/features.gni") - import("//media/media_options.gni") -+import("//media/gpu/args.gni") - import("//ui/ozone/ozone.gni") - - # See //content/BUILD.gn for how this works. -@@ -128,4 +129,8 @@ target(link_target_type, "gpu_sources") { - (!is_chromecast || is_cast_desktop_build)) { - configs += [ "//build/config/linux/dri" ] - } -+ # Use vaapi on desktop Linux builds when use_vaapi is set -+ if (is_desktop_linux && use_vaapi) { -+ public_configs = [ "//media/gpu:libva_config" ] -+ } - } -diff --git a/content/gpu/gpu_main.cc b/content/gpu/gpu_main.cc -index bf47f4738..73a8b2daa 100644 ---- a/content/gpu/gpu_main.cc -+++ b/content/gpu/gpu_main.cc -@@ -294,7 +294,7 @@ int GpuMain(const MainFunctionParams& parameters) { - - base::PlatformThread::SetName("CrGpuMain"); - --#if defined(OS_ANDROID) || defined(OS_CHROMEOS) || defined(USE_OZONE) -+#if defined(OS_ANDROID) || defined(OS_CHROMEOS) || defined(USE_OZONE) || defined(OS_LINUX) - // Set thread priority before sandbox initialization. - base::PlatformThread::SetCurrentThreadPriority(base::ThreadPriority::DISPLAY); - #endif -@@ -327,7 +327,7 @@ int GpuMain(const MainFunctionParams& parameters) { - GetContentClient()->SetGpuInfo(gpu_init->gpu_info()); - - base::ThreadPriority io_thread_priority = base::ThreadPriority::NORMAL; --#if defined(OS_ANDROID) || defined(OS_CHROMEOS) || defined(USE_OZONE) -+#if defined(OS_ANDROID) || defined(OS_CHROMEOS) || defined(USE_OZONE) || defined(OS_LINUX) - io_thread_priority = base::ThreadPriority::DISPLAY; - #endif - -diff --git a/gpu/config/software_rendering_list.json b/gpu/config/software_rendering_list.json -index 03e251547..9eb0f1148 100644 ---- a/gpu/config/software_rendering_list.json -+++ b/gpu/config/software_rendering_list.json -@@ -368,17 +368,6 @@ - "all" - ] - }, -- { -- "id": 48, -- "description": "Accelerated video decode is unavailable on Linux", -- "cr_bugs": [137247], -- "os": { -- "type": "linux" -- }, -- "features": [ -- "accelerated_video_decode" -- ] -- }, - { - "id": 50, - "description": "Disable VMware software renderer on older Mesa", -diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc -index 4652a24f4..4e5259a9e 100644 ---- a/media/base/media_switches.cc -+++ b/media/base/media_switches.cc -@@ -528,7 +528,7 @@ bool IsVideoCaptureAcceleratedJpegDecodingEnabled() { - switches::kUseFakeMjpegDecodeAccelerator)) { - return true; - } --#if defined(OS_CHROMEOS) -+#if defined(OS_CHROMEOS) || defined(OS_LINUX) - return true; - #endif - return false; -diff --git a/media/filters/BUILD.gn b/media/filters/BUILD.gn -index 13d433354..8d89253fb 100644 ---- a/media/filters/BUILD.gn -+++ b/media/filters/BUILD.gn -@@ -5,6 +5,7 @@ - import("//build/config/jumbo.gni") - import("//media/media_options.gni") - import("//third_party/libaom/options.gni") -+import("//media/gpu/args.gni") - - jumbo_source_set("filters") { - # Do not expand the visibility here without double-checking with OWNERS, this -@@ -196,7 +197,7 @@ jumbo_source_set("filters") { - deps += [ "//media/base/android" ] - } - -- if (current_cpu != "arm" && is_linux) { -+ if (use_vaapi && is_linux) { - sources += [ - "h264_bitstream_buffer.cc", - "h264_bitstream_buffer.h", -diff --git a/media/gpu/BUILD.gn b/media/gpu/BUILD.gn -index b3f43cd64..1d4a432fd 100644 ---- a/media/gpu/BUILD.gn -+++ b/media/gpu/BUILD.gn -@@ -521,9 +521,16 @@ if (use_v4l2_codec || use_vaapi || is_mac || is_win) { - if (use_ozone) { - deps += [ "//ui/ozone" ] - } -+ public_configs = [ ":libva_config" ] - } - } - -+import("//build/config/linux/pkg_config.gni") -+ -+pkg_config("libva_config") { -+ packages = [ "libva" ] -+} -+ - static_library("test_support") { - visibility = [ "//media:test_support" ] - testonly = true diff --git a/www-client/chromium/files/chromium-vaapi-78-r1.patch b/www-client/chromium/files/chromium-vaapi-78-r1.patch deleted file mode 100644 index 8e9aeb4..0000000 --- a/www-client/chromium/files/chromium-vaapi-78-r1.patch +++ /dev/null @@ -1,220 +0,0 @@ -diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc -index ce15485ef..097b757dd 100644 ---- a/chrome/browser/about_flags.cc -+++ b/chrome/browser/about_flags.cc -@@ -1704,7 +1704,7 @@ const FeatureEntry kFeatureEntries[] = { - "disable-accelerated-video-decode", - flag_descriptions::kAcceleratedVideoDecodeName, - flag_descriptions::kAcceleratedVideoDecodeDescription, -- kOsMac | kOsWin | kOsCrOS | kOsAndroid, -+ kOsMac | kOsWin | kOsCrOS | kOsAndroid | kOsLinux, - SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedVideoDecode), - }, - { -@@ -2184,12 +2184,12 @@ const FeatureEntry kFeatureEntries[] = { - FEATURE_VALUE_TYPE(service_manager::features::kXRSandbox)}, - #endif // !defined(OS_ANDROID) - #endif // ENABLE_VR --#if defined(OS_CHROMEOS) -+#if defined(OS_CHROMEOS) || defined(OS_LINUX) - {"disable-accelerated-mjpeg-decode", - flag_descriptions::kAcceleratedMjpegDecodeName, -- flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS, -+ flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS | kOsLinux, - SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedMjpegDecode)}, --#endif // OS_CHROMEOS -+#endif // OS_CHROMEOS OS_LINUX - {"system-keyboard-lock", flag_descriptions::kSystemKeyboardLockName, - flag_descriptions::kSystemKeyboardLockDescription, kOsDesktop, - FEATURE_VALUE_TYPE(features::kSystemKeyboardLock)}, -diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc -index 87d4934a5..2f4842e2e 100644 ---- a/chrome/browser/flag_descriptions.cc -+++ b/chrome/browser/flag_descriptions.cc -@@ -3049,7 +3049,7 @@ const char kMacSystemMediaPermissionsInfoUiDescription[] = - - // Chrome OS ------------------------------------------------------------------- - --#if defined(OS_CHROMEOS) -+#if defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID)) - - const char kAcceleratedMjpegDecodeName[] = - "Hardware-accelerated mjpeg decode for captured frame"; -@@ -3057,6 +3057,21 @@ const char kAcceleratedMjpegDecodeDescription[] = - "Enable hardware-accelerated mjpeg decode for captured frame where " - "available."; - -+const char kVaapiJpegImageDecodeAccelerationName[] = -+ "VA-API JPEG decode acceleration for images"; -+const char kVaapiJpegImageDecodeAccelerationDescription[] = -+ "Enable or disable decode acceleration of JPEG images (as opposed to camera" -+ " captures) using the VA-API."; -+ -+const char kVaapiWebPImageDecodeAccelerationName[] = -+ "VA-API WebP decode acceleration for images"; -+const char kVaapiWebPImageDecodeAccelerationDescription[] = -+ "Enable or disable decode acceleration of WebP images using the VA-API."; -+ -+#endif -+ -+#if defined(OS_CHROMEOS) -+ - const char kAggregatedMlAppRankingName[] = "Rank suggested apps with ML."; - const char kAggregatedMlAppRankingDescription[] = - "Use the aggregated ML model to rank the suggested apps."; -@@ -3577,17 +3592,6 @@ const char kUsbguardDescription[] = - " until Chrome OS is unlocked to protect against malicious USB devices." - " Already connected USB devices will continue to function."; - --const char kVaapiJpegImageDecodeAccelerationName[] = -- "VA-API JPEG decode acceleration for images"; --const char kVaapiJpegImageDecodeAccelerationDescription[] = -- "Enable or disable decode acceleration of JPEG images (as opposed to camera" -- " captures) using the VA-API."; -- --const char kVaapiWebPImageDecodeAccelerationName[] = -- "VA-API WebP decode acceleration for images"; --const char kVaapiWebPImageDecodeAccelerationDescription[] = -- "Enable or disable decode acceleration of WebP images using the VA-API."; -- - const char kVirtualKeyboardName[] = "Virtual Keyboard"; - const char kVirtualKeyboardDescription[] = "Enable virtual keyboard support."; - -diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h -index 1b73f5985..61d965e7d 100644 ---- a/chrome/browser/flag_descriptions.h -+++ b/chrome/browser/flag_descriptions.h -@@ -1812,11 +1812,21 @@ extern const char kPermissionPromptPersistenceToggleDescription[]; - - // Chrome OS ------------------------------------------------------------------ - --#if defined(OS_CHROMEOS) -+#if defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID)) - - extern const char kAcceleratedMjpegDecodeName[]; - extern const char kAcceleratedMjpegDecodeDescription[]; - -+extern const char kVaapiJpegImageDecodeAccelerationName[]; -+extern const char kVaapiJpegImageDecodeAccelerationDescription[]; -+ -+extern const char kVaapiWebPImageDecodeAccelerationName[]; -+extern const char kVaapiWebPImageDecodeAccelerationDescription[]; -+ -+#endif -+ -+#if defined(OS_CHROMEOS) -+ - extern const char kAggregatedMlAppRankingName[]; - extern const char kAggregatedMlAppRankingDescription[]; - -@@ -2144,12 +2154,6 @@ extern const char kUsbguardDescription[]; - extern const char kUseMonitorColorSpaceName[]; - extern const char kUseMonitorColorSpaceDescription[]; - --extern const char kVaapiJpegImageDecodeAccelerationName[]; --extern const char kVaapiJpegImageDecodeAccelerationDescription[]; -- --extern const char kVaapiWebPImageDecodeAccelerationName[]; --extern const char kVaapiWebPImageDecodeAccelerationDescription[]; -- - extern const char kVirtualKeyboardName[]; - extern const char kVirtualKeyboardDescription[]; - -diff --git a/content/gpu/BUILD.gn b/content/gpu/BUILD.gn -index 0939d25cc..69f31c724 100644 ---- a/content/gpu/BUILD.gn -+++ b/content/gpu/BUILD.gn -@@ -6,6 +6,7 @@ import("//build/config/jumbo.gni") - import("//build/config/ui.gni") - import("//gpu/vulkan/features.gni") - import("//media/media_options.gni") -+import("//media/gpu/args.gni") - import("//ui/ozone/ozone.gni") - - # See //content/BUILD.gn for how this works. -@@ -128,4 +129,8 @@ target(link_target_type, "gpu_sources") { - (!is_chromecast || is_cast_desktop_build)) { - configs += [ "//build/config/linux/dri" ] - } -+ # Use vaapi on desktop Linux builds when use_vaapi is set -+ if (is_desktop_linux && use_vaapi) { -+ public_configs = [ "//media/gpu:libva_config" ] -+ } - } -diff --git a/gpu/config/software_rendering_list.json b/gpu/config/software_rendering_list.json -index ea1294e4c..5ba052ec6 100644 ---- a/gpu/config/software_rendering_list.json -+++ b/gpu/config/software_rendering_list.json -@@ -332,17 +332,6 @@ - "all" - ] - }, -- { -- "id": 48, -- "description": "Accelerated video decode is unavailable on Linux", -- "cr_bugs": [137247], -- "os": { -- "type": "linux" -- }, -- "features": [ -- "accelerated_video_decode" -- ] -- }, - { - "id": 50, - "description": "Disable VMware software renderer on older Mesa", -diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc -index 08c606b39..0ac5dce80 100644 ---- a/media/base/media_switches.cc -+++ b/media/base/media_switches.cc -@@ -582,7 +582,7 @@ bool IsVideoCaptureAcceleratedJpegDecodingEnabled() { - switches::kUseFakeMjpegDecodeAccelerator)) { - return true; - } --#if defined(OS_CHROMEOS) -+#if defined(OS_CHROMEOS) || defined(OS_LINUX) - return true; - #endif - return false; -diff --git a/media/filters/BUILD.gn b/media/filters/BUILD.gn -index ac554920d..e10321d88 100644 ---- a/media/filters/BUILD.gn -+++ b/media/filters/BUILD.gn -@@ -5,6 +5,7 @@ - import("//build/config/jumbo.gni") - import("//media/media_options.gni") - import("//third_party/libaom/options.gni") -+import("//media/gpu/args.gni") - - jumbo_source_set("filters") { - # Do not expand the visibility here without double-checking with OWNERS, this -@@ -196,7 +197,7 @@ jumbo_source_set("filters") { - deps += [ "//media/base/android" ] - } - -- if (current_cpu != "arm" && is_linux) { -+ if (use_vaapi && is_linux) { - sources += [ - "h264_bitstream_buffer.cc", - "h264_bitstream_buffer.h", -diff --git a/media/gpu/BUILD.gn b/media/gpu/BUILD.gn -index 85cb6c363..95ae2bb1e 100644 ---- a/media/gpu/BUILD.gn -+++ b/media/gpu/BUILD.gn -@@ -525,9 +525,16 @@ if (use_v4l2_codec || use_vaapi || is_mac || is_win) { - if (use_ozone) { - deps += [ "//ui/ozone" ] - } -+ public_configs = [ ":libva_config" ] - } - } - -+import("//build/config/linux/pkg_config.gni") -+ -+pkg_config("libva_config") { -+ packages = [ "libva" ] -+} -+ - static_library("test_support") { - visibility = [ "//media:test_support" ] - testonly = true diff --git a/www-client/chromium/files/chromium-vaapi-78.patch b/www-client/chromium/files/chromium-vaapi-78.patch deleted file mode 100644 index 8525792..0000000 --- a/www-client/chromium/files/chromium-vaapi-78.patch +++ /dev/null @@ -1,178 +0,0 @@ -diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc -index 1f68539de..e739ed7e0 100644 ---- a/chrome/browser/about_flags.cc -+++ b/chrome/browser/about_flags.cc -@@ -1605,7 +1605,7 @@ const FeatureEntry kFeatureEntries[] = { - "disable-accelerated-video-decode", - flag_descriptions::kAcceleratedVideoDecodeName, - flag_descriptions::kAcceleratedVideoDecodeDescription, -- kOsMac | kOsWin | kOsCrOS | kOsAndroid, -+ kOsMac | kOsWin | kOsCrOS | kOsAndroid | kOsLinux, - SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedVideoDecode), - }, - { -@@ -2075,12 +2075,12 @@ const FeatureEntry kFeatureEntries[] = { - FEATURE_VALUE_TYPE(service_manager::features::kXRSandbox)}, - #endif // !defined(OS_ANDROID) - #endif // ENABLE_VR --#if defined(OS_CHROMEOS) -+#if defined(OS_CHROMEOS) || defined(OS_LINUX) - {"disable-accelerated-mjpeg-decode", - flag_descriptions::kAcceleratedMjpegDecodeName, -- flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS, -+ flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS | kOsLinux, - SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedMjpegDecode)}, --#endif // OS_CHROMEOS -+#endif // OS_CHROMEOS OS_LINUX - {"system-keyboard-lock", flag_descriptions::kSystemKeyboardLockName, - flag_descriptions::kSystemKeyboardLockDescription, kOsDesktop, - FEATURE_VALUE_TYPE(features::kSystemKeyboardLock)}, -diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc -index 81b32eb3e..0b3396198 100644 ---- a/chrome/browser/flag_descriptions.cc -+++ b/chrome/browser/flag_descriptions.cc -@@ -2919,13 +2919,22 @@ const char kMacSystemMediaPermissionsInfoUiDescription[] = - - // Chrome OS ------------------------------------------------------------------- - --#if defined(OS_CHROMEOS) -+#if defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID)) - - const char kAcceleratedMjpegDecodeName[] = - "Hardware-accelerated mjpeg decode for captured frame"; - const char kAcceleratedMjpegDecodeDescription[] = - "Enable hardware-accelerated mjpeg decode for captured frame where " - "available."; -+const char kVaapiJpegImageDecodeAccelerationName[] = -+ "VA-API JPEG decode acceleration for images"; -+const char kVaapiJpegImageDecodeAccelerationDescription[] = -+ "Enable or disable decode acceleration of JPEG images (as opposed to camera" -+ " captures) using the VA-API."; -+ -+#endif // defined(OS_CHROMEOS) defined(OS_LINUX) and !defined(OS_ANDROID) -+ -+#if defined(OS_CHROMEOS) - - const char kAppServiceAshName[] = "App Service Ash"; - const char kAppServiceAshDescription[] = -diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h -index e079d7aa2..761d28974 100644 ---- a/chrome/browser/flag_descriptions.h -+++ b/chrome/browser/flag_descriptions.h -@@ -1733,11 +1733,17 @@ extern const char kPermissionPromptPersistenceToggleDescription[]; - - // Chrome OS ------------------------------------------------------------------ - --#if defined(OS_CHROMEOS) -+#if defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID)) - - extern const char kAcceleratedMjpegDecodeName[]; - extern const char kAcceleratedMjpegDecodeDescription[]; - -+extern const char kVaapiJpegImageDecodeAccelerationName[]; -+extern const char kVaapiJpegImageDecodeAccelerationDescription[]; -+ -+#endif -+ -+#if defined(OS_CHROMEOS) - extern const char kAppServiceAshName[]; - extern const char kAppServiceAshDescription[]; - -diff --git a/content/gpu/BUILD.gn b/content/gpu/BUILD.gn -index 0939d25cc..69f31c724 100644 ---- a/content/gpu/BUILD.gn -+++ b/content/gpu/BUILD.gn -@@ -6,6 +6,7 @@ import("//build/config/jumbo.gni") - import("//build/config/ui.gni") - import("//gpu/vulkan/features.gni") - import("//media/media_options.gni") -+import("//media/gpu/args.gni") - import("//ui/ozone/ozone.gni") - - # See //content/BUILD.gn for how this works. -@@ -128,4 +129,8 @@ target(link_target_type, "gpu_sources") { - (!is_chromecast || is_cast_desktop_build)) { - configs += [ "//build/config/linux/dri" ] - } -+ # Use vaapi on desktop Linux builds when use_vaapi is set -+ if (is_desktop_linux && use_vaapi) { -+ public_configs = [ "//media/gpu:libva_config" ] -+ } - } -diff --git a/gpu/config/software_rendering_list.json b/gpu/config/software_rendering_list.json -index 9def82b55..1f5a03ea0 100644 ---- a/gpu/config/software_rendering_list.json -+++ b/gpu/config/software_rendering_list.json -@@ -368,17 +368,6 @@ - "all" - ] - }, -- { -- "id": 48, -- "description": "Accelerated video decode is unavailable on Linux", -- "cr_bugs": [137247], -- "os": { -- "type": "linux" -- }, -- "features": [ -- "accelerated_video_decode" -- ] -- }, - { - "id": 50, - "description": "Disable VMware software renderer on older Mesa", -diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc -index 37f1a2380..d21c59439 100644 ---- a/media/base/media_switches.cc -+++ b/media/base/media_switches.cc -@@ -550,7 +550,7 @@ bool IsVideoCaptureAcceleratedJpegDecodingEnabled() { - switches::kUseFakeMjpegDecodeAccelerator)) { - return true; - } --#if defined(OS_CHROMEOS) -+#if defined(OS_CHROMEOS) || defined(OS_LINUX) - return true; - #endif - return false; -diff --git a/media/filters/BUILD.gn b/media/filters/BUILD.gn -index f33ca5866..70736d7fc 100644 ---- a/media/filters/BUILD.gn -+++ b/media/filters/BUILD.gn -@@ -5,6 +5,7 @@ - import("//build/config/jumbo.gni") - import("//media/media_options.gni") - import("//third_party/libaom/options.gni") -+import("//media/gpu/args.gni") - - jumbo_source_set("filters") { - # Do not expand the visibility here without double-checking with OWNERS, this -@@ -196,7 +197,7 @@ jumbo_source_set("filters") { - deps += [ "//media/base/android" ] - } - -- if (current_cpu != "arm" && is_linux) { -+ if (use_vaapi && is_linux) { - sources += [ - "h264_bitstream_buffer.cc", - "h264_bitstream_buffer.h", -diff --git a/media/gpu/BUILD.gn b/media/gpu/BUILD.gn -index eec3b7fc7..aa27959b1 100644 ---- a/media/gpu/BUILD.gn -+++ b/media/gpu/BUILD.gn -@@ -533,9 +533,16 @@ if (use_v4l2_codec || use_vaapi || is_mac || is_win) { - if (use_ozone) { - deps += [ "//ui/ozone" ] - } -+ public_configs = [ ":libva_config" ] - } - } - -+import("//build/config/linux/pkg_config.gni") -+ -+pkg_config("libva_config") { -+ packages = [ "libva" ] -+} -+ - static_library("test_support") { - visibility = [ "//media:test_support" ] - testonly = true diff --git a/www-client/chromium/files/chromium-vaapi-79.patch b/www-client/chromium/files/chromium-vaapi-79.patch deleted file mode 100644 index dc2c1ee..0000000 --- a/www-client/chromium/files/chromium-vaapi-79.patch +++ /dev/null @@ -1,220 +0,0 @@ -diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc -index 2a4ca2365..a657df74d 100644 ---- a/chrome/browser/about_flags.cc -+++ b/chrome/browser/about_flags.cc -@@ -1747,7 +1747,7 @@ const FeatureEntry kFeatureEntries[] = { - "disable-accelerated-video-decode", - flag_descriptions::kAcceleratedVideoDecodeName, - flag_descriptions::kAcceleratedVideoDecodeDescription, -- kOsMac | kOsWin | kOsCrOS | kOsAndroid, -+ kOsMac | kOsWin | kOsCrOS | kOsAndroid | kOsLinux, - SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedVideoDecode), - }, - { -@@ -2219,12 +2219,12 @@ const FeatureEntry kFeatureEntries[] = { - FEATURE_VALUE_TYPE(service_manager::features::kXRSandbox)}, - #endif // !defined(OS_ANDROID) - #endif // ENABLE_VR --#if defined(OS_CHROMEOS) -+#if defined(OS_CHROMEOS) || defined(OS_LINUX) - {"disable-accelerated-mjpeg-decode", - flag_descriptions::kAcceleratedMjpegDecodeName, -- flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS, -+ flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS | kOsLinux, - SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedMjpegDecode)}, --#endif // OS_CHROMEOS -+#endif // OS_CHROMEOS OS_LINUX - {"system-keyboard-lock", flag_descriptions::kSystemKeyboardLockName, - flag_descriptions::kSystemKeyboardLockDescription, kOsDesktop, - FEATURE_VALUE_TYPE(features::kSystemKeyboardLock)}, -diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc -index 929544e4f..be0884a73 100644 ---- a/chrome/browser/flag_descriptions.cc -+++ b/chrome/browser/flag_descriptions.cc -@@ -3080,7 +3080,7 @@ const char kMacSystemMediaPermissionsInfoUiDescription[] = - - // Chrome OS ------------------------------------------------------------------- - --#if defined(OS_CHROMEOS) -+#if defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID)) - - const char kAcceleratedMjpegDecodeName[] = - "Hardware-accelerated mjpeg decode for captured frame"; -@@ -3088,6 +3088,21 @@ const char kAcceleratedMjpegDecodeDescription[] = - "Enable hardware-accelerated mjpeg decode for captured frame where " - "available."; - -+const char kVaapiJpegImageDecodeAccelerationName[] = -+ "VA-API JPEG decode acceleration for images"; -+const char kVaapiJpegImageDecodeAccelerationDescription[] = -+ "Enable or disable decode acceleration of JPEG images (as opposed to camera" -+ " captures) using the VA-API."; -+ -+const char kVaapiWebPImageDecodeAccelerationName[] = -+ "VA-API WebP decode acceleration for images"; -+const char kVaapiWebPImageDecodeAccelerationDescription[] = -+ "Enable or disable decode acceleration of WebP images using the VA-API."; -+ -+#endif -+ -+#if defined(OS_CHROMEOS) -+ - const char kAggregatedMlAppRankingName[] = "Rank suggested apps with ML."; - const char kAggregatedMlAppRankingDescription[] = - "Use the aggregated ML model to rank the suggested apps."; -@@ -3618,17 +3633,6 @@ const char kUsbguardDescription[] = - " until Chrome OS is unlocked to protect against malicious USB devices." - " Already connected USB devices will continue to function."; - --const char kVaapiJpegImageDecodeAccelerationName[] = -- "VA-API JPEG decode acceleration for images"; --const char kVaapiJpegImageDecodeAccelerationDescription[] = -- "Enable or disable decode acceleration of JPEG images (as opposed to camera" -- " captures) using the VA-API."; -- --const char kVaapiWebPImageDecodeAccelerationName[] = -- "VA-API WebP decode acceleration for images"; --const char kVaapiWebPImageDecodeAccelerationDescription[] = -- "Enable or disable decode acceleration of WebP images using the VA-API."; -- - const char kVirtualKeyboardName[] = "Virtual Keyboard"; - const char kVirtualKeyboardDescription[] = "Enable virtual keyboard support."; - -diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h -index dc9450374..93fc6f14f 100644 ---- a/chrome/browser/flag_descriptions.h -+++ b/chrome/browser/flag_descriptions.h -@@ -1822,11 +1822,21 @@ extern const char kPermissionPromptPersistenceToggleDescription[]; - - // Chrome OS ------------------------------------------------------------------ - --#if defined(OS_CHROMEOS) -+#if defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID)) - - extern const char kAcceleratedMjpegDecodeName[]; - extern const char kAcceleratedMjpegDecodeDescription[]; - -+extern const char kVaapiJpegImageDecodeAccelerationName[]; -+extern const char kVaapiJpegImageDecodeAccelerationDescription[]; -+ -+extern const char kVaapiWebPImageDecodeAccelerationName[]; -+extern const char kVaapiWebPImageDecodeAccelerationDescription[]; -+ -+#endif -+ -+#if defined(OS_CHROMEOS) -+ - extern const char kAggregatedMlAppRankingName[]; - extern const char kAggregatedMlAppRankingDescription[]; - -@@ -2160,12 +2170,6 @@ extern const char kUseFakeDeviceForMediaStreamDescription[]; - extern const char kUseMonitorColorSpaceName[]; - extern const char kUseMonitorColorSpaceDescription[]; - --extern const char kVaapiJpegImageDecodeAccelerationName[]; --extern const char kVaapiJpegImageDecodeAccelerationDescription[]; -- --extern const char kVaapiWebPImageDecodeAccelerationName[]; --extern const char kVaapiWebPImageDecodeAccelerationDescription[]; -- - extern const char kVirtualKeyboardName[]; - extern const char kVirtualKeyboardDescription[]; - -diff --git a/content/gpu/BUILD.gn b/content/gpu/BUILD.gn -index 0939d25cc..69f31c724 100644 ---- a/content/gpu/BUILD.gn -+++ b/content/gpu/BUILD.gn -@@ -6,6 +6,7 @@ import("//build/config/jumbo.gni") - import("//build/config/ui.gni") - import("//gpu/vulkan/features.gni") - import("//media/media_options.gni") -+import("//media/gpu/args.gni") - import("//ui/ozone/ozone.gni") - - # See //content/BUILD.gn for how this works. -@@ -128,4 +129,8 @@ target(link_target_type, "gpu_sources") { - (!is_chromecast || is_cast_desktop_build)) { - configs += [ "//build/config/linux/dri" ] - } -+ # Use vaapi on desktop Linux builds when use_vaapi is set -+ if (is_desktop_linux && use_vaapi) { -+ public_configs = [ "//media/gpu:libva_config" ] -+ } - } -diff --git a/gpu/config/software_rendering_list.json b/gpu/config/software_rendering_list.json -index ea1294e4c..5ba052ec6 100644 ---- a/gpu/config/software_rendering_list.json -+++ b/gpu/config/software_rendering_list.json -@@ -332,17 +332,6 @@ - "all" - ] - }, -- { -- "id": 48, -- "description": "Accelerated video decode is unavailable on Linux", -- "cr_bugs": [137247], -- "os": { -- "type": "linux" -- }, -- "features": [ -- "accelerated_video_decode" -- ] -- }, - { - "id": 50, - "description": "Disable VMware software renderer on older Mesa", -diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc -index e7b6efa18..2a3ad90ae 100644 ---- a/media/base/media_switches.cc -+++ b/media/base/media_switches.cc -@@ -612,7 +612,7 @@ bool IsVideoCaptureAcceleratedJpegDecodingEnabled() { - switches::kUseFakeMjpegDecodeAccelerator)) { - return true; - } --#if defined(OS_CHROMEOS) -+#if defined(OS_CHROMEOS) || defined(OS_LINUX) - return true; - #endif - return false; -diff --git a/media/filters/BUILD.gn b/media/filters/BUILD.gn -index 481216a18..bde7319e6 100644 ---- a/media/filters/BUILD.gn -+++ b/media/filters/BUILD.gn -@@ -5,6 +5,7 @@ - import("//build/config/jumbo.gni") - import("//media/media_options.gni") - import("//third_party/libaom/options.gni") -+import("//media/gpu/args.gni") - - jumbo_source_set("filters") { - # Do not expand the visibility here without double-checking with OWNERS, this -@@ -196,7 +197,7 @@ jumbo_source_set("filters") { - deps += [ "//media/base/android" ] - } - -- if (current_cpu != "arm" && is_linux) { -+ if (use_vaapi && is_linux) { - sources += [ - "h264_bitstream_buffer.cc", - "h264_bitstream_buffer.h", -diff --git a/media/gpu/BUILD.gn b/media/gpu/BUILD.gn -index c290ec2ef..1c06865b8 100644 ---- a/media/gpu/BUILD.gn -+++ b/media/gpu/BUILD.gn -@@ -530,9 +530,16 @@ if (use_v4l2_codec || use_vaapi || is_mac || is_win) { - if (use_ozone) { - deps += [ "//ui/ozone" ] - } -+ public_configs = [ ":libva_config" ] - } - } - -+import("//build/config/linux/pkg_config.gni") -+ -+pkg_config("libva_config") { -+ packages = [ "libva" ] -+} -+ - static_library("test_support") { - visibility = [ "//media/gpu/*" ] - testonly = true diff --git a/www-client/chromium/files/chromium-vaapi-80.patch b/www-client/chromium/files/chromium-vaapi-80.patch deleted file mode 100644 index d9982dd..0000000 --- a/www-client/chromium/files/chromium-vaapi-80.patch +++ /dev/null @@ -1,168 +0,0 @@ -diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc -index f9ddeca39..a581bca3d 100644 ---- a/chrome/browser/about_flags.cc -+++ b/chrome/browser/about_flags.cc -@@ -1754,7 +1754,7 @@ const FeatureEntry kFeatureEntries[] = { - "disable-accelerated-video-decode", - flag_descriptions::kAcceleratedVideoDecodeName, - flag_descriptions::kAcceleratedVideoDecodeDescription, -- kOsMac | kOsWin | kOsCrOS | kOsAndroid, -+ kOsMac | kOsWin | kOsCrOS | kOsAndroid | kOsLinux, - SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedVideoDecode), - }, - { -@@ -2228,12 +2228,12 @@ const FeatureEntry kFeatureEntries[] = { - FEATURE_VALUE_TYPE(service_manager::features::kXRSandbox)}, - #endif // !defined(OS_ANDROID) - #endif // ENABLE_VR --#if defined(OS_CHROMEOS) -+#if defined(OS_CHROMEOS) || defined(OS_LINUX) - {"disable-accelerated-mjpeg-decode", - flag_descriptions::kAcceleratedMjpegDecodeName, -- flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS, -+ flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS | kOsLinux, - SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedMjpegDecode)}, --#endif // OS_CHROMEOS -+#endif // OS_CHROMEOS OS_LINUX - {"system-keyboard-lock", flag_descriptions::kSystemKeyboardLockName, - flag_descriptions::kSystemKeyboardLockDescription, kOsDesktop, - FEATURE_VALUE_TYPE(features::kSystemKeyboardLock)}, -diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc -index 90a193991..87d1eedac 100644 ---- a/chrome/browser/flag_descriptions.cc -+++ b/chrome/browser/flag_descriptions.cc -@@ -3132,7 +3132,7 @@ const char kMetalDescription[] = - - // Chrome OS ------------------------------------------------------------------- - --#if defined(OS_CHROMEOS) -+#if defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID)) - - const char kAcceleratedMjpegDecodeName[] = - "Hardware-accelerated mjpeg decode for captured frame"; -@@ -3140,6 +3140,21 @@ const char kAcceleratedMjpegDecodeDescription[] = - "Enable hardware-accelerated mjpeg decode for captured frame where " - "available."; - -+const char kVaapiJpegImageDecodeAccelerationName[] = -+ "VA-API JPEG decode acceleration for images"; -+const char kVaapiJpegImageDecodeAccelerationDescription[] = -+ "Enable or disable decode acceleration of JPEG images (as opposed to camera" -+ " captures) using the VA-API."; -+ -+const char kVaapiWebPImageDecodeAccelerationName[] = -+ "VA-API WebP decode acceleration for images"; -+const char kVaapiWebPImageDecodeAccelerationDescription[] = -+ "Enable or disable decode acceleration of WebP images using the VA-API."; -+ -+#endif -+ -+#if defined(OS_CHROMEOS) -+ - const char kAggregatedMlAppRankingName[] = "Rank suggested apps with ML."; - const char kAggregatedMlAppRankingDescription[] = - "Use the aggregated ML model to rank the suggested apps."; -diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h -index 4d7349337..ea4838826 100644 ---- a/chrome/browser/flag_descriptions.h -+++ b/chrome/browser/flag_descriptions.h -@@ -1847,11 +1847,21 @@ extern const char kPermissionPromptPersistenceToggleDescription[]; - - // Chrome OS ------------------------------------------------------------------ - --#if defined(OS_CHROMEOS) -+#if defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID)) - - extern const char kAcceleratedMjpegDecodeName[]; - extern const char kAcceleratedMjpegDecodeDescription[]; - -+extern const char kVaapiJpegImageDecodeAccelerationName[]; -+extern const char kVaapiJpegImageDecodeAccelerationDescription[]; -+ -+extern const char kVaapiWebPImageDecodeAccelerationName[]; -+extern const char kVaapiWebPImageDecodeAccelerationDescription[]; -+ -+#endif -+ -+#if defined(OS_CHROMEOS) -+ - extern const char kAggregatedMlAppRankingName[]; - extern const char kAggregatedMlAppRankingDescription[]; - -diff --git a/content/gpu/BUILD.gn b/content/gpu/BUILD.gn -index fde557cc3..b150ccbad 100644 ---- a/content/gpu/BUILD.gn -+++ b/content/gpu/BUILD.gn -@@ -6,6 +6,7 @@ import("//build/config/jumbo.gni") - import("//build/config/ui.gni") - import("//gpu/vulkan/features.gni") - import("//media/media_options.gni") -+import("//media/gpu/args.gni") - import("//ui/ozone/ozone.gni") - - # See //content/BUILD.gn for how this works. -@@ -129,4 +130,8 @@ target(link_target_type, "gpu_sources") { - (!is_chromecast || is_cast_desktop_build)) { - configs += [ "//build/config/linux/dri" ] - } -+ # Use vaapi on desktop Linux builds when use_vaapi is set -+ if (is_desktop_linux && use_vaapi) { -+ public_configs = [ "//media/gpu:libva_config" ] -+ } - } -diff --git a/gpu/config/software_rendering_list.json b/gpu/config/software_rendering_list.json -index c1da1d8b7..bd83de134 100644 ---- a/gpu/config/software_rendering_list.json -+++ b/gpu/config/software_rendering_list.json -@@ -332,17 +332,6 @@ - "all" - ] - }, -- { -- "id": 48, -- "description": "Accelerated video decode is unavailable on Linux", -- "cr_bugs": [137247], -- "os": { -- "type": "linux" -- }, -- "features": [ -- "accelerated_video_decode" -- ] -- }, - { - "id": 50, - "description": "Disable VMware software renderer on older Mesa", -diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc -index 981cb7a08..33f3e8312 100644 ---- a/media/base/media_switches.cc -+++ b/media/base/media_switches.cc -@@ -632,7 +632,7 @@ bool IsVideoCaptureAcceleratedJpegDecodingEnabled() { - switches::kUseFakeMjpegDecodeAccelerator)) { - return true; - } --#if defined(OS_CHROMEOS) -+#if defined(OS_CHROMEOS) || defined(OS_LINUX) - return true; - #endif - return false; -diff --git a/media/gpu/BUILD.gn b/media/gpu/BUILD.gn -index 875c3515a..db52819f9 100644 ---- a/media/gpu/BUILD.gn -+++ b/media/gpu/BUILD.gn -@@ -456,9 +456,16 @@ if (use_v4l2_codec || use_vaapi || is_mac || is_win) { - if (use_ozone) { - deps += [ "//ui/ozone" ] - } -+ public_configs = [ ":libva_config" ] - } - } - -+import("//build/config/linux/pkg_config.gni") -+ -+pkg_config("libva_config") { -+ packages = [ "libva" ] -+} -+ - static_library("test_support") { - visibility = [ "//media/gpu/*" ] - testonly = true diff --git a/www-client/chromium/files/chromium-vaapi-81.patch b/www-client/chromium/files/chromium-vaapi-81.patch deleted file mode 100644 index aac31c0..0000000 --- a/www-client/chromium/files/chromium-vaapi-81.patch +++ /dev/null @@ -1,181 +0,0 @@ -diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc -index 54c97b37d..8a72db3ab 100644 ---- a/chrome/browser/about_flags.cc -+++ b/chrome/browser/about_flags.cc -@@ -1846,7 +1846,7 @@ const FeatureEntry kFeatureEntries[] = { - "disable-accelerated-video-decode", - flag_descriptions::kAcceleratedVideoDecodeName, - flag_descriptions::kAcceleratedVideoDecodeDescription, -- kOsMac | kOsWin | kOsCrOS | kOsAndroid, -+ kOsMac | kOsWin | kOsCrOS | kOsAndroid | kOsLinux, - SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedVideoDecode), - }, - { -@@ -2307,12 +2307,12 @@ const FeatureEntry kFeatureEntries[] = { - FEATURE_VALUE_TYPE(service_manager::features::kXRSandbox)}, - #endif // !defined(OS_ANDROID) - #endif // ENABLE_VR --#if defined(OS_CHROMEOS) -+#if defined(OS_CHROMEOS) || defined(OS_LINUX) - {"disable-accelerated-mjpeg-decode", - flag_descriptions::kAcceleratedMjpegDecodeName, -- flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS, -+ flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS | kOsLinux, - SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedMjpegDecode)}, --#endif // OS_CHROMEOS -+#endif // OS_CHROMEOS OS_LINUX - {"system-keyboard-lock", flag_descriptions::kSystemKeyboardLockName, - flag_descriptions::kSystemKeyboardLockDescription, kOsDesktop, - FEATURE_VALUE_TYPE(features::kSystemKeyboardLock)}, -diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc -index 5c2b3f3fa..67edf526e 100644 ---- a/chrome/browser/flag_descriptions.cc -+++ b/chrome/browser/flag_descriptions.cc -@@ -3172,7 +3172,7 @@ const char kMetalDescription[] = - - // Chrome OS ------------------------------------------------------------------- - --#if defined(OS_CHROMEOS) -+#if defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID)) - - const char kAcceleratedMjpegDecodeName[] = - "Hardware-accelerated mjpeg decode for captured frame"; -@@ -3180,6 +3180,21 @@ const char kAcceleratedMjpegDecodeDescription[] = - "Enable hardware-accelerated mjpeg decode for captured frame where " - "available."; - -+const char kVaapiJpegImageDecodeAccelerationName[] = -+ "VA-API JPEG decode acceleration for images"; -+const char kVaapiJpegImageDecodeAccelerationDescription[] = -+ "Enable or disable decode acceleration of JPEG images (as opposed to camera" -+ " captures) using the VA-API."; -+ -+const char kVaapiWebPImageDecodeAccelerationName[] = -+ "VA-API WebP decode acceleration for images"; -+const char kVaapiWebPImageDecodeAccelerationDescription[] = -+ "Enable or disable decode acceleration of WebP images using the VA-API."; -+ -+#endif -+ -+#if defined(OS_CHROMEOS) -+ - const char kAggregatedMlAppRankingName[] = "Rank suggested apps with ML."; - const char kAggregatedMlAppRankingDescription[] = - "Use the aggregated ML model to rank the suggested apps."; -diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h -index 384a7bed3..719b1fce5 100644 ---- a/chrome/browser/flag_descriptions.h -+++ b/chrome/browser/flag_descriptions.h -@@ -1872,11 +1872,21 @@ extern const char kPermissionPromptPersistenceToggleDescription[]; - - // Chrome OS ------------------------------------------------------------------ - --#if defined(OS_CHROMEOS) -+#if defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID)) - - extern const char kAcceleratedMjpegDecodeName[]; - extern const char kAcceleratedMjpegDecodeDescription[]; - -+extern const char kVaapiJpegImageDecodeAccelerationName[]; -+extern const char kVaapiJpegImageDecodeAccelerationDescription[]; -+ -+extern const char kVaapiWebPImageDecodeAccelerationName[]; -+extern const char kVaapiWebPImageDecodeAccelerationDescription[]; -+ -+#endif -+ -+#if defined(OS_CHROMEOS) -+ - extern const char kAggregatedMlAppRankingName[]; - extern const char kAggregatedMlAppRankingDescription[]; - -diff --git a/content/gpu/BUILD.gn b/content/gpu/BUILD.gn -index d777b767b..34df35560 100644 ---- a/content/gpu/BUILD.gn -+++ b/content/gpu/BUILD.gn -@@ -6,6 +6,7 @@ import("//build/config/jumbo.gni") - import("//build/config/ui.gni") - import("//gpu/vulkan/features.gni") - import("//media/media_options.gni") -+import("//media/gpu/args.gni") - import("//ui/ozone/ozone.gni") - - # See //content/BUILD.gn for how this works. -@@ -134,4 +135,8 @@ target(link_target_type, "gpu_sources") { - (!is_chromecast || is_cast_desktop_build)) { - configs += [ "//build/config/linux/dri" ] - } -+ # Use vaapi on desktop Linux builds when use_vaapi is set -+ if (is_desktop_linux && use_vaapi) { -+ public_configs = [ "//media/gpu:libva_config" ] -+ } - } -diff --git a/gpu/config/software_rendering_list.json b/gpu/config/software_rendering_list.json -index 837bb8dd2..36c79fe83 100644 ---- a/gpu/config/software_rendering_list.json -+++ b/gpu/config/software_rendering_list.json -@@ -332,17 +332,6 @@ - "all" - ] - }, -- { -- "id": 48, -- "description": "Accelerated video decode is unavailable on Linux", -- "cr_bugs": [137247], -- "os": { -- "type": "linux" -- }, -- "features": [ -- "accelerated_video_decode" -- ] -- }, - { - "id": 50, - "description": "Disable VMware software renderer on older Mesa", -diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc -index d089b3975..2c8c2b885 100644 ---- a/media/base/media_switches.cc -+++ b/media/base/media_switches.cc -@@ -653,7 +653,7 @@ bool IsVideoCaptureAcceleratedJpegDecodingEnabled() { - switches::kUseFakeMjpegDecodeAccelerator)) { - return true; - } --#if defined(OS_CHROMEOS) -+#if defined(OS_CHROMEOS) || defined(OS_LINUX) - return true; - #endif - return false; -diff --git a/media/gpu/BUILD.gn b/media/gpu/BUILD.gn -index 76514826b..080a1d2ee 100644 ---- a/media/gpu/BUILD.gn -+++ b/media/gpu/BUILD.gn -@@ -455,9 +455,16 @@ if (use_v4l2_codec || use_vaapi || is_mac || is_win) { - if (use_ozone) { - deps += [ "//ui/ozone" ] - } -+ public_configs = [ ":libva_config" ] - } - } - -+import("//build/config/linux/pkg_config.gni") -+ -+pkg_config("libva_config") { -+ packages = [ "libva" ] -+} -+ - static_library("test_support") { - visibility = [ "//media/gpu/*" ] - testonly = true -diff --git a/media/gpu/test/BUILD.gn b/media/gpu/test/BUILD.gn -index 21ff52759..9f3232a1b 100644 ---- a/media/gpu/test/BUILD.gn -+++ b/media/gpu/test/BUILD.gn -@@ -158,7 +158,7 @@ if (use_vaapi || use_v4l2_codec) { - } - } - --if (is_chromeos) { -+if (is_chromeos || is_linux) { - static_library("local_gpu_memory_buffer_manager") { - testonly = true - sources = [ diff --git a/www-client/chromium/files/chromium-vaapi-82.patch b/www-client/chromium/files/chromium-vaapi-82.patch deleted file mode 100644 index 18115e3..0000000 --- a/www-client/chromium/files/chromium-vaapi-82.patch +++ /dev/null @@ -1,186 +0,0 @@ -diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc -index 77785e7a8..303f8c9f7 100644 ---- a/chrome/browser/about_flags.cc -+++ b/chrome/browser/about_flags.cc -@@ -1957,7 +1957,7 @@ const FeatureEntry kFeatureEntries[] = { - "disable-accelerated-video-decode", - flag_descriptions::kAcceleratedVideoDecodeName, - flag_descriptions::kAcceleratedVideoDecodeDescription, -- kOsMac | kOsWin | kOsCrOS | kOsAndroid, -+ kOsMac | kOsWin | kOsCrOS | kOsAndroid | kOsLinux, - SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedVideoDecode), - }, - { -@@ -2390,12 +2390,12 @@ const FeatureEntry kFeatureEntries[] = { - FEATURE_VALUE_TYPE(service_manager::features::kXRSandbox)}, - #endif // !defined(OS_ANDROID) - #endif // ENABLE_VR --#if defined(OS_CHROMEOS) -+#if defined(OS_CHROMEOS) || defined(OS_LINUX) - {"disable-accelerated-mjpeg-decode", - flag_descriptions::kAcceleratedMjpegDecodeName, -- flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS, -+ flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS | kOsLinux, - SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedMjpegDecode)}, --#endif // OS_CHROMEOS -+#endif // OS_CHROMEOS OS_LINUX - {"system-keyboard-lock", flag_descriptions::kSystemKeyboardLockName, - flag_descriptions::kSystemKeyboardLockDescription, kOsDesktop, - FEATURE_VALUE_TYPE(features::kSystemKeyboardLock)}, -diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc -index 3a5ea1399..f92d626fa 100644 ---- a/chrome/browser/flag_descriptions.cc -+++ b/chrome/browser/flag_descriptions.cc -@@ -2995,7 +2995,7 @@ const char kMetalDescription[] = - - // Chrome OS ------------------------------------------------------------------- - --#if defined(OS_CHROMEOS) -+#if defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID)) - - const char kAcceleratedMjpegDecodeName[] = - "Hardware-accelerated mjpeg decode for captured frame"; -@@ -3003,6 +3003,21 @@ const char kAcceleratedMjpegDecodeDescription[] = - "Enable hardware-accelerated mjpeg decode for captured frame where " - "available."; - -+const char kVaapiJpegImageDecodeAccelerationName[] = -+ "VA-API JPEG decode acceleration for images"; -+const char kVaapiJpegImageDecodeAccelerationDescription[] = -+ "Enable or disable decode acceleration of JPEG images (as opposed to camera" -+ " captures) using the VA-API."; -+ -+const char kVaapiWebPImageDecodeAccelerationName[] = -+ "VA-API WebP decode acceleration for images"; -+const char kVaapiWebPImageDecodeAccelerationDescription[] = -+ "Enable or disable decode acceleration of WebP images using the VA-API."; -+ -+#endif -+ -+#if defined(OS_CHROMEOS) -+ - const char kAggregatedMlAppRankingName[] = "Rank suggested apps with ML."; - const char kAggregatedMlAppRankingDescription[] = - "Use the aggregated ML model to rank the suggested apps."; -diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h -index a3c3bf194..8e0730dbd 100644 ---- a/chrome/browser/flag_descriptions.h -+++ b/chrome/browser/flag_descriptions.h -@@ -1724,11 +1724,21 @@ extern const char kMetalDescription[]; - - // Chrome OS ------------------------------------------------------------------ - --#if defined(OS_CHROMEOS) -+#if defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID)) - - extern const char kAcceleratedMjpegDecodeName[]; - extern const char kAcceleratedMjpegDecodeDescription[]; - -+extern const char kVaapiJpegImageDecodeAccelerationName[]; -+extern const char kVaapiJpegImageDecodeAccelerationDescription[]; -+ -+extern const char kVaapiWebPImageDecodeAccelerationName[]; -+extern const char kVaapiWebPImageDecodeAccelerationDescription[]; -+ -+#endif -+ -+#if defined(OS_CHROMEOS) -+ - extern const char kAggregatedMlAppRankingName[]; - extern const char kAggregatedMlAppRankingDescription[]; - -diff --git a/content/gpu/BUILD.gn b/content/gpu/BUILD.gn -index 088c791f0..464cf018c 100644 ---- a/content/gpu/BUILD.gn -+++ b/content/gpu/BUILD.gn -@@ -6,6 +6,7 @@ import("//build/config/jumbo.gni") - import("//build/config/ui.gni") - import("//gpu/vulkan/features.gni") - import("//media/media_options.gni") -+import("//media/gpu/args.gni") - import("//ui/ozone/ozone.gni") - - # See //content/BUILD.gn for how this works. -@@ -131,4 +132,8 @@ target(link_target_type, "gpu_sources") { - (!is_chromecast || is_cast_desktop_build)) { - configs += [ "//build/config/linux/dri" ] - } -+ # Use vaapi on desktop Linux builds when use_vaapi is set -+ if (is_desktop_linux && use_vaapi) { -+ public_configs = [ "//media/gpu:libva_config" ] -+ } - } -diff --git a/gpu/config/software_rendering_list.json b/gpu/config/software_rendering_list.json -index 22712bdbf..a06dd19a5 100644 ---- a/gpu/config/software_rendering_list.json -+++ b/gpu/config/software_rendering_list.json -@@ -335,22 +335,6 @@ - "all" - ] - }, -- { -- "id": 48, -- "description": "Accelerated video decode is unavailable on Linux", -- "cr_bugs": [137247, 1032907], -- "os": { -- "type": "linux" -- }, -- "exceptions": [ -- { -- "machine_model_name": ["Chromecast"] -- } -- ], -- "features": [ -- "accelerated_video_decode" -- ] -- }, - { - "id": 50, - "description": "Disable VMware software renderer on older Mesa", -diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc -index 4b271023c..94b0d8c79 100644 ---- a/media/base/media_switches.cc -+++ b/media/base/media_switches.cc -@@ -693,7 +693,7 @@ bool IsVideoCaptureAcceleratedJpegDecodingEnabled() { - switches::kUseFakeMjpegDecodeAccelerator)) { - return true; - } --#if defined(OS_CHROMEOS) -+#if defined(OS_CHROMEOS) || defined(OS_LINUX) - return true; - #endif - return false; -diff --git a/media/gpu/BUILD.gn b/media/gpu/BUILD.gn -index 13443f3d3..195208fed 100644 ---- a/media/gpu/BUILD.gn -+++ b/media/gpu/BUILD.gn -@@ -451,9 +451,16 @@ if (use_v4l2_codec || use_vaapi || is_mac || is_win) { - if (use_ozone) { - deps += [ "//ui/ozone" ] - } -+ public_configs = [ ":libva_config" ] - } - } - -+import("//build/config/linux/pkg_config.gni") -+ -+pkg_config("libva_config") { -+ packages = [ "libva" ] -+} -+ - static_library("test_support") { - visibility = [ "//media/gpu/*" ] - testonly = true -diff --git a/media/gpu/test/BUILD.gn b/media/gpu/test/BUILD.gn -index 8d1275a43..71e5c9dca 100644 ---- a/media/gpu/test/BUILD.gn -+++ b/media/gpu/test/BUILD.gn -@@ -152,7 +152,7 @@ if (use_vaapi || use_v4l2_codec) { - } - } - --if (is_chromeos) { -+if (is_chromeos || is_linux) { - static_library("local_gpu_memory_buffer_manager") { - testonly = true - sources = [ diff --git a/www-client/chromium/files/chromium-vaapi-83.patch b/www-client/chromium/files/chromium-vaapi-83.patch deleted file mode 100644 index d614b94..0000000 --- a/www-client/chromium/files/chromium-vaapi-83.patch +++ /dev/null @@ -1,186 +0,0 @@ -diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc -index 0524711d0..0477b7bbd 100644 ---- a/chrome/browser/about_flags.cc -+++ b/chrome/browser/about_flags.cc -@@ -2092,7 +2092,7 @@ const FeatureEntry kFeatureEntries[] = { - "disable-accelerated-video-decode", - flag_descriptions::kAcceleratedVideoDecodeName, - flag_descriptions::kAcceleratedVideoDecodeDescription, -- kOsMac | kOsWin | kOsCrOS | kOsAndroid, -+ kOsMac | kOsWin | kOsCrOS | kOsAndroid | kOsLinux, - SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedVideoDecode), - }, - { -@@ -2514,12 +2514,12 @@ const FeatureEntry kFeatureEntries[] = { - flag_descriptions::kWebXrForceRuntimeDescription, kOsDesktop, - MULTI_VALUE_TYPE(kWebXrForceRuntimeChoices)}, - #endif // ENABLE_VR --#if defined(OS_CHROMEOS) -+#if defined(OS_CHROMEOS) || defined(OS_LINUX) - {"disable-accelerated-mjpeg-decode", - flag_descriptions::kAcceleratedMjpegDecodeName, -- flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS, -+ flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS | kOsLinux, - SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedMjpegDecode)}, --#endif // OS_CHROMEOS -+#endif // OS_CHROMEOS OS_LINUX - {"system-keyboard-lock", flag_descriptions::kSystemKeyboardLockName, - flag_descriptions::kSystemKeyboardLockDescription, kOsDesktop, - FEATURE_VALUE_TYPE(features::kSystemKeyboardLock)}, -diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc -index 834232048..a77b963af 100644 ---- a/chrome/browser/flag_descriptions.cc -+++ b/chrome/browser/flag_descriptions.cc -@@ -2954,7 +2954,7 @@ const char kMetalDescription[] = - - // Chrome OS ------------------------------------------------------------------- - --#if defined(OS_CHROMEOS) -+#if defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID)) - - const char kAcceleratedMjpegDecodeName[] = - "Hardware-accelerated mjpeg decode for captured frame"; -@@ -2962,6 +2962,21 @@ const char kAcceleratedMjpegDecodeDescription[] = - "Enable hardware-accelerated mjpeg decode for captured frame where " - "available."; - -+const char kVaapiJpegImageDecodeAccelerationName[] = -+ "VA-API JPEG decode acceleration for images"; -+const char kVaapiJpegImageDecodeAccelerationDescription[] = -+ "Enable or disable decode acceleration of JPEG images (as opposed to camera" -+ " captures) using the VA-API."; -+ -+const char kVaapiWebPImageDecodeAccelerationName[] = -+ "VA-API WebP decode acceleration for images"; -+const char kVaapiWebPImageDecodeAccelerationDescription[] = -+ "Enable or disable decode acceleration of WebP images using the VA-API."; -+ -+#endif -+ -+#if defined(OS_CHROMEOS) -+ - const char kAggregatedMlAppRankingName[] = "Rank suggested apps with ML."; - const char kAggregatedMlAppRankingDescription[] = - "Use the aggregated ML model to rank the suggested apps."; -diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h -index f497d6197..5762ce62e 100644 ---- a/chrome/browser/flag_descriptions.h -+++ b/chrome/browser/flag_descriptions.h -@@ -1696,11 +1696,21 @@ extern const char kMetalDescription[]; - - // Chrome OS ------------------------------------------------------------------ - --#if defined(OS_CHROMEOS) -+#if defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID)) - - extern const char kAcceleratedMjpegDecodeName[]; - extern const char kAcceleratedMjpegDecodeDescription[]; - -+extern const char kVaapiJpegImageDecodeAccelerationName[]; -+extern const char kVaapiJpegImageDecodeAccelerationDescription[]; -+ -+extern const char kVaapiWebPImageDecodeAccelerationName[]; -+extern const char kVaapiWebPImageDecodeAccelerationDescription[]; -+ -+#endif -+ -+#if defined(OS_CHROMEOS) -+ - extern const char kAggregatedMlAppRankingName[]; - extern const char kAggregatedMlAppRankingDescription[]; - -diff --git a/content/gpu/BUILD.gn b/content/gpu/BUILD.gn -index 64ebb18c5..682b4ffeb 100644 ---- a/content/gpu/BUILD.gn -+++ b/content/gpu/BUILD.gn -@@ -6,6 +6,7 @@ import("//build/config/jumbo.gni") - import("//build/config/ui.gni") - import("//gpu/vulkan/features.gni") - import("//media/media_options.gni") -+import("//media/gpu/args.gni") - import("//ui/ozone/ozone.gni") - - # See //content/BUILD.gn for how this works. -@@ -133,4 +134,8 @@ target(link_target_type, "gpu_sources") { - (!is_chromecast || is_cast_desktop_build)) { - configs += [ "//build/config/linux/dri" ] - } -+ # Use vaapi on desktop Linux builds when use_vaapi is set -+ if (is_desktop_linux && use_vaapi) { -+ public_configs = [ "//media/gpu:libva_config" ] -+ } - } -diff --git a/gpu/config/software_rendering_list.json b/gpu/config/software_rendering_list.json -index 7eefd9966..747971b46 100644 ---- a/gpu/config/software_rendering_list.json -+++ b/gpu/config/software_rendering_list.json -@@ -335,22 +335,6 @@ - "all" - ] - }, -- { -- "id": 48, -- "description": "Accelerated video decode is unavailable on Linux", -- "cr_bugs": [137247, 1032907], -- "os": { -- "type": "linux" -- }, -- "exceptions": [ -- { -- "machine_model_name": ["Chromecast"] -- } -- ], -- "features": [ -- "accelerated_video_decode" -- ] -- }, - { - "id": 50, - "description": "Disable VMware software renderer on older Mesa", -diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc -index bc7f518ae..eed869232 100644 ---- a/media/base/media_switches.cc -+++ b/media/base/media_switches.cc -@@ -714,7 +714,7 @@ bool IsVideoCaptureAcceleratedJpegDecodingEnabled() { - switches::kUseFakeMjpegDecodeAccelerator)) { - return true; - } --#if defined(OS_CHROMEOS) -+#if defined(OS_CHROMEOS) || defined(OS_LINUX) - return true; - #endif - return false; -diff --git a/media/gpu/BUILD.gn b/media/gpu/BUILD.gn -index be9406674..95782e01a 100644 ---- a/media/gpu/BUILD.gn -+++ b/media/gpu/BUILD.gn -@@ -457,9 +457,16 @@ if (use_v4l2_codec || use_vaapi || is_mac || is_win) { - if (use_ozone) { - deps += [ "//ui/ozone" ] - } -+ public_configs = [ ":libva_config" ] - } - } - -+import("//build/config/linux/pkg_config.gni") -+ -+pkg_config("libva_config") { -+ packages = [ "libva" ] -+} -+ - static_library("test_support") { - visibility = [ "//media/gpu/*" ] - testonly = true -diff --git a/media/gpu/test/BUILD.gn b/media/gpu/test/BUILD.gn -index 5dd95ec1f..3dd7a1a20 100644 ---- a/media/gpu/test/BUILD.gn -+++ b/media/gpu/test/BUILD.gn -@@ -182,7 +182,7 @@ if (use_vaapi || use_v4l2_codec) { - } - } - --if (is_chromeos) { -+if (is_chromeos || is_linux) { - static_library("local_gpu_memory_buffer_manager") { - testonly = true - sources = [ diff --git a/www-client/chromium/files/chromium-vaapi-87.patch b/www-client/chromium/files/chromium-vaapi-87.patch deleted file mode 100644 index 508a2f4..0000000 --- a/www-client/chromium/files/chromium-vaapi-87.patch +++ /dev/null @@ -1,137 +0,0 @@ -diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc -index 78eedbcbf..eda2d0c48 100644 ---- a/chrome/browser/about_flags.cc -+++ b/chrome/browser/about_flags.cc -@@ -3150,12 +3150,12 @@ const FeatureEntry kFeatureEntries[] = { - flag_descriptions::kWebXrForceRuntimeDescription, kOsDesktop, - MULTI_VALUE_TYPE(kWebXrForceRuntimeChoices)}, - #endif // ENABLE_VR --#if defined(OS_CHROMEOS) -+#if defined(OS_CHROMEOS) || defined(OS_LINUX) - {"disable-accelerated-mjpeg-decode", - flag_descriptions::kAcceleratedMjpegDecodeName, -- flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS, -+ flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS | kOsLinux, - SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedMjpegDecode)}, --#endif // OS_CHROMEOS -+#endif // OS_CHROMEOS OS_LINUX - {"system-keyboard-lock", flag_descriptions::kSystemKeyboardLockName, - flag_descriptions::kSystemKeyboardLockDescription, kOsDesktop, - FEATURE_VALUE_TYPE(features::kSystemKeyboardLock)}, -diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc -index e4f4cf856..d448035db 100644 ---- a/chrome/browser/flag_descriptions.cc -+++ b/chrome/browser/flag_descriptions.cc -@@ -3542,7 +3542,7 @@ const char kVideoToolboxVp9DecodingDescription[] = - - // Chrome OS ------------------------------------------------------------------- - --#if defined(OS_CHROMEOS) -+#if defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID)) - - const char kAcceleratedMjpegDecodeName[] = - "Hardware-accelerated mjpeg decode for captured frame"; -@@ -3550,6 +3550,21 @@ const char kAcceleratedMjpegDecodeDescription[] = - "Enable hardware-accelerated mjpeg decode for captured frame where " - "available."; - -+const char kVaapiJpegImageDecodeAccelerationName[] = -+ "VA-API JPEG decode acceleration for images"; -+const char kVaapiJpegImageDecodeAccelerationDescription[] = -+ "Enable or disable decode acceleration of JPEG images (as opposed to camera" -+ " captures) using the VA-API."; -+ -+const char kVaapiWebPImageDecodeAccelerationName[] = -+ "VA-API WebP decode acceleration for images"; -+const char kVaapiWebPImageDecodeAccelerationDescription[] = -+ "Enable or disable decode acceleration of WebP images using the VA-API."; -+ -+#endif -+ -+#if defined(OS_CHROMEOS) -+ - const char kAggregatedMlAppRankingName[] = "Rank suggested apps with ML."; - const char kAggregatedMlAppRankingDescription[] = - "Use the aggregated ML model to rank the suggested apps."; -diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h -index a8a80f118..beddafe6f 100644 ---- a/chrome/browser/flag_descriptions.h -+++ b/chrome/browser/flag_descriptions.h -@@ -2041,11 +2041,21 @@ extern const char kVideoToolboxVp9DecodingDescription[]; - - // Chrome OS ------------------------------------------------------------------ - --#if defined(OS_CHROMEOS) -+#if defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID)) - - extern const char kAcceleratedMjpegDecodeName[]; - extern const char kAcceleratedMjpegDecodeDescription[]; - -+extern const char kVaapiJpegImageDecodeAccelerationName[]; -+extern const char kVaapiJpegImageDecodeAccelerationDescription[]; -+ -+extern const char kVaapiWebPImageDecodeAccelerationName[]; -+extern const char kVaapiWebPImageDecodeAccelerationDescription[]; -+ -+#endif -+ -+#if defined(OS_CHROMEOS) -+ - extern const char kAggregatedMlAppRankingName[]; - extern const char kAggregatedMlAppRankingDescription[]; - -diff --git a/content/gpu/BUILD.gn b/content/gpu/BUILD.gn -index 747df62b1..eb973a881 100644 ---- a/content/gpu/BUILD.gn -+++ b/content/gpu/BUILD.gn -@@ -5,6 +5,7 @@ - import("//build/config/ui.gni") - import("//gpu/vulkan/features.gni") - import("//media/media_options.gni") -+import("//media/gpu/args.gni") - import("//ui/ozone/ozone.gni") - - # See //content/BUILD.gn for how this works. -@@ -128,4 +129,8 @@ target(link_target_type, "gpu_sources") { - (!is_chromecast || is_cast_desktop_build)) { - configs += [ "//build/config/linux/dri" ] - } -+ # Use vaapi on desktop Linux builds when use_vaapi is set -+ if (is_desktop_linux && use_vaapi) { -+ public_configs = [ "//media/gpu:libva_config" ] -+ } - } -diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc -index d9cf7349d..03d6ba73f 100644 ---- a/media/base/media_switches.cc -+++ b/media/base/media_switches.cc -@@ -792,7 +792,7 @@ bool IsVideoCaptureAcceleratedJpegDecodingEnabled() { - switches::kUseFakeMjpegDecodeAccelerator)) { - return true; - } --#if defined(OS_CHROMEOS) -+#if defined(OS_CHROMEOS) || defined(OS_LINUX) - return true; - #endif - return false; -diff --git a/media/gpu/BUILD.gn b/media/gpu/BUILD.gn -index e3d961939..4e2963f9f 100644 ---- a/media/gpu/BUILD.gn -+++ b/media/gpu/BUILD.gn -@@ -462,9 +462,16 @@ if (use_v4l2_codec || use_vaapi || is_mac || is_win) { - if (use_ozone) { - deps += [ "//ui/ozone" ] - } -+ public_configs = [ ":libva_config" ] - } - } - -+import("//build/config/linux/pkg_config.gni") -+ -+pkg_config("libva_config") { -+ packages = [ "libva" ] -+} -+ - static_library("test_support") { - visibility = [ "//media/gpu/*" ] - testonly = true diff --git a/www-client/chromium/files/chromium-vaapi-fix-87.patch b/www-client/chromium/files/chromium-vaapi-fix-87.patch deleted file mode 100644 index 231434b..0000000 --- a/www-client/chromium/files/chromium-vaapi-fix-87.patch +++ /dev/null @@ -1,200 +0,0 @@ -diff --git a/media/gpu/vaapi/vaapi_picture_native_pixmap_angle.cc b/media/gpu/vaapi/vaapi_picture_native_pixmap_angle.cc -index 843cf226e..af0389503 100644 ---- a/media/gpu/vaapi/vaapi_picture_native_pixmap_angle.cc -+++ b/media/gpu/vaapi/vaapi_picture_native_pixmap_angle.cc -@@ -7,6 +7,8 @@ - #include "media/gpu/vaapi/va_surface.h" - #include "media/gpu/vaapi/vaapi_wrapper.h" - #include "ui/base/ui_base_features.h" -+#include "ui/gfx/x/connection.h" -+#include "ui/gfx/x/xproto.h" - #include "ui/gl/gl_bindings.h" - #include "ui/gl/gl_image_egl_pixmap.h" - #include "ui/gl/scoped_binders.h" -@@ -15,25 +17,31 @@ namespace media { - - namespace { - --inline Pixmap CreatePixmap(const gfx::Size& size) { -- auto* display = gfx::GetXDisplay(); -- if (!display) -- return 0; -+inline ::Pixmap CreatePixmap(const gfx::Size& size) { -+ auto* connection = x11::Connection::Get(); -+ if (!connection->Ready()) -+ return base::strict_cast<::Pixmap>(x11::Pixmap::None); - -- int screen = DefaultScreen(display); -- auto root = XRootWindow(display, screen); -- if (root == BadValue) -- return 0; -+ auto root = connection->default_root(); - -- XWindowAttributes win_attr = {}; -- // returns 0 on failure, see: -- // https://tronche.com/gui/x/xlib/introduction/errors.html#Status -- if (!XGetWindowAttributes(display, root, &win_attr)) -- return 0; -+ uint8_t depth = 0; -+ if (auto reply = connection->GetGeometry({root}).Sync()) -+ depth = reply->depth; -+ else -+ return base::strict_cast<::Pixmap>(x11::Pixmap::None); - - // TODO(tmathmeyer) should we use the depth from libva instead of root window? -- return XCreatePixmap(display, root, size.width(), size.height(), -- win_attr.depth); -+ auto pixmap = connection->GenerateId<x11::Pixmap>(); -+ uint16_t pixmap_width, pixmap_height; -+ if (!base::CheckedNumeric<int>(size.width()).AssignIfValid(&pixmap_width) || -+ !base::CheckedNumeric<int>(size.height()).AssignIfValid(&pixmap_height)) { -+ return base::strict_cast<::Pixmap>(x11::Pixmap::None); -+ } -+ auto req = connection->CreatePixmap( -+ {depth, pixmap, root, pixmap_width, pixmap_height}); -+ if (req.Sync().error) -+ pixmap = x11::Pixmap::None; -+ return base::strict_cast<::Pixmap>(pixmap); - } - - } // namespace -@@ -71,11 +79,8 @@ VaapiPictureNativePixmapAngle::~VaapiPictureNativePixmapAngle() { - DCHECK_EQ(glGetError(), static_cast<GLenum>(GL_NO_ERROR)); - } - -- if (x_pixmap_) { -- if (auto* display = gfx::GetXDisplay()) { -- XFreePixmap(display, x_pixmap_); -- } -- } -+ if (x_pixmap_) -+ x11::Connection::Get()->FreePixmap({static_cast<x11::Pixmap>(x_pixmap_)}); - } - - Status VaapiPictureNativePixmapAngle::Allocate(gfx::BufferFormat format) { -diff --git a/media/gpu/vaapi/vaapi_picture_native_pixmap_angle.h b/media/gpu/vaapi/vaapi_picture_native_pixmap_angle.h -index de4698abe..41f52376d 100644 ---- a/media/gpu/vaapi/vaapi_picture_native_pixmap_angle.h -+++ b/media/gpu/vaapi/vaapi_picture_native_pixmap_angle.h -@@ -46,7 +46,7 @@ class VaapiPictureNativePixmapAngle : public VaapiPictureNativePixmap { - VASurfaceID va_surface_id() const override; - - private: -- Pixmap x_pixmap_ = 0; -+ ::Pixmap x_pixmap_ = 0; - - DISALLOW_COPY_AND_ASSIGN(VaapiPictureNativePixmapAngle); - }; -diff --git a/media/gpu/vaapi/vaapi_picture_tfp.cc b/media/gpu/vaapi/vaapi_picture_tfp.cc -index 9ff0372fa..a571b4b2b 100644 ---- a/media/gpu/vaapi/vaapi_picture_tfp.cc -+++ b/media/gpu/vaapi/vaapi_picture_tfp.cc -@@ -7,6 +7,7 @@ - #include "media/gpu/vaapi/va_surface.h" - #include "media/gpu/vaapi/vaapi_wrapper.h" - #include "ui/base/ui_base_features.h" -+#include "ui/gfx/x/connection.h" - #include "ui/gfx/x/x11_types.h" - #include "ui/gl/gl_bindings.h" - #include "ui/gl/gl_image_glx.h" -@@ -33,7 +34,7 @@ VaapiTFPPicture::VaapiTFPPicture( - texture_id, - client_texture_id, - texture_target), -- x_display_(gfx::GetXDisplay()), -+ connection_(x11::Connection::Get()), - x_pixmap_(0) { - DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); - DCHECK(!features::IsUsingOzonePlatform()); -@@ -49,7 +50,7 @@ VaapiTFPPicture::~VaapiTFPPicture() { - } - - if (x_pixmap_) -- XFreePixmap(x_display_, x_pixmap_); -+ connection_->FreePixmap({static_cast<x11::Pixmap>(x_pixmap_)}); - } - - Status VaapiTFPPicture::Initialize() { -@@ -84,16 +85,33 @@ Status VaapiTFPPicture::Allocate(gfx::BufferFormat format) { - return StatusCode::kVaapiUnsupportedFormat; - } - -- XWindowAttributes win_attr; -- int screen = DefaultScreen(x_display_); -- XGetWindowAttributes(x_display_, XRootWindow(x_display_, screen), &win_attr); -+ if (!connection_->Ready()) -+ return StatusCode::kVaapiNoPixmap; -+ -+ auto root = connection_->default_root(); -+ -+ uint8_t depth = 0; -+ if (auto reply = connection_->GetGeometry({root}).Sync()) -+ depth = reply->depth; -+ else -+ return StatusCode::kVaapiNoPixmap; -+ - // TODO(posciak): pass the depth required by libva, not the RootWindow's - // depth -- x_pixmap_ = XCreatePixmap(x_display_, XRootWindow(x_display_, screen), -- size_.width(), size_.height(), win_attr.depth); -- if (!x_pixmap_) { -+ auto pixmap = connection_->GenerateId<x11::Pixmap>(); -+ uint16_t pixmap_width, pixmap_height; -+ if (!base::CheckedNumeric<int>(size_.width()).AssignIfValid(&pixmap_width) || -+ !base::CheckedNumeric<int>(size_.height()) -+ .AssignIfValid(&pixmap_height)) { -+ return StatusCode::kVaapiNoPixmap; -+ } -+ auto req = connection_->CreatePixmap( -+ {depth, pixmap, root, pixmap_width, pixmap_height}); -+ if (req.Sync().error) { - DLOG(ERROR) << "Failed creating an X Pixmap for TFP"; - return StatusCode::kVaapiNoPixmap; -+ } else { -+ x_pixmap_ = base::strict_cast<::Pixmap>(pixmap); - } - - return Initialize(); -diff --git a/media/gpu/vaapi/vaapi_picture_tfp.h b/media/gpu/vaapi/vaapi_picture_tfp.h -index c4eb2c1b5..8da323717 100644 ---- a/media/gpu/vaapi/vaapi_picture_tfp.h -+++ b/media/gpu/vaapi/vaapi_picture_tfp.h -@@ -11,6 +11,7 @@ - #include "base/memory/ref_counted.h" - #include "media/gpu/vaapi/vaapi_picture.h" - #include "ui/gfx/geometry/size.h" -+#include "ui/gfx/x/connection.h" - #include "ui/gl/gl_bindings.h" - - namespace gl { -@@ -47,9 +48,9 @@ class VaapiTFPPicture : public VaapiPicture { - private: - Status Initialize(); - -- Display* x_display_; -+ x11::Connection* const connection_; - -- Pixmap x_pixmap_; -+ ::Pixmap x_pixmap_; - scoped_refptr<gl::GLImageGLX> glx_image_; - - DISALLOW_COPY_AND_ASSIGN(VaapiTFPPicture); -diff --git a/media/gpu/vaapi/vaapi_wrapper.cc b/media/gpu/vaapi/vaapi_wrapper.cc -index 2ad0b997e..a98823343 100644 ---- a/media/gpu/vaapi/vaapi_wrapper.cc -+++ b/media/gpu/vaapi/vaapi_wrapper.cc -@@ -57,8 +57,13 @@ - #include "ui/gl/gl_implementation.h" - - #if defined(USE_X11) --#include <va/va_x11.h> - #include "ui/gfx/x/x11_types.h" // nogncheck -+ -+typedef XID Drawable; -+ -+extern "C" { -+#include "media/gpu/vaapi/va_x11.sigs" -+} - #endif - - #if defined(USE_OZONE) diff --git a/www-client/chromium/files/chromium-vaapi-signature.patch b/www-client/chromium/files/chromium-vaapi-signature.patch deleted file mode 100644 index c84cc37..0000000 --- a/www-client/chromium/files/chromium-vaapi-signature.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/media/gpu/vaapi/vaapi_picture_tfp.cc b/media/gpu/vaapi/vaapi_picture_tfp.cc -index dca5b5c46..f65d580da 100644 ---- a/media/gpu/vaapi/vaapi_picture_tfp.cc -+++ b/media/gpu/vaapi/vaapi_picture_tfp.cc -@@ -97,7 +97,7 @@ bool VaapiTFPPicture::Allocate(gfx::BufferFormat format) { - - bool VaapiTFPPicture::ImportGpuMemoryBufferHandle( - gfx::BufferFormat format, -- const gfx::GpuMemoryBufferHandle& gpu_memory_buffer_handle) { -+ gfx::GpuMemoryBufferHandle gpu_memory_buffer_handle) { - DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); - NOTIMPLEMENTED() << "GpuMemoryBufferHandle import not implemented"; - return false; -diff --git a/media/gpu/vaapi/vaapi_picture_tfp.h b/media/gpu/vaapi/vaapi_picture_tfp.h -index a9ba8a1c5..9fb27a5cd 100644 ---- a/media/gpu/vaapi/vaapi_picture_tfp.h -+++ b/media/gpu/vaapi/vaapi_picture_tfp.h -@@ -40,7 +40,7 @@ class VaapiTFPPicture : public VaapiPicture { - bool Allocate(gfx::BufferFormat format) override; - bool ImportGpuMemoryBufferHandle( - gfx::BufferFormat format, -- const gfx::GpuMemoryBufferHandle& gpu_memory_buffer_handle) override; -+ gfx::GpuMemoryBufferHandle gpu_memory_buffer_handle) override; - bool DownloadFromSurface(const scoped_refptr<VASurface>& va_surface) override; - - private: diff --git a/www-client/chromium/files/chromium-vector-include-81.patch b/www-client/chromium/files/chromium-vector-include-81.patch deleted file mode 100644 index 21c0bb1..0000000 --- a/www-client/chromium/files/chromium-vector-include-81.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/chrome/browser/ui/autofill/payments/virtual_card_selection_dialog_controller.h b/chrome/browser/ui/autofill/payments/virtual_card_selection_dialog_controller.h -index 401717c18..952bbad4a 100644 ---- a/chrome/browser/ui/autofill/payments/virtual_card_selection_dialog_controller.h -+++ b/chrome/browser/ui/autofill/payments/virtual_card_selection_dialog_controller.h -@@ -5,6 +5,8 @@ - #ifndef CHROME_BROWSER_UI_AUTOFILL_PAYMENTS_VIRTUAL_CARD_SELECTION_DIALOG_CONTROLLER_H_ - #define CHROME_BROWSER_UI_AUTOFILL_PAYMENTS_VIRTUAL_CARD_SELECTION_DIALOG_CONTROLLER_H_ - -+#include <vector> -+ - #include "base/macros.h" - #include "base/strings/string16.h" - diff --git a/www-client/chromium/files/chromium-vector-init.patch b/www-client/chromium/files/chromium-vector-init.patch deleted file mode 100644 index ba8a18f..0000000 --- a/www-client/chromium/files/chromium-vector-init.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/chrome/browser/ui/tabs/tab_strip_model_observer.h b/chrome/browser/ui/tabs/tab_strip_model_observer.h -index 8dacb579e..495e31bc5 100644 ---- a/chrome/browser/ui/tabs/tab_strip_model_observer.h -+++ b/chrome/browser/ui/tabs/tab_strip_model_observer.h -@@ -125,7 +125,7 @@ class TabStripModelChange { - - private: - const Type type_ = kSelectionOnly; -- const std::vector<Delta> deltas_; -+ const std::vector<Delta> deltas_ = {}; - - DISALLOW_COPY_AND_ASSIGN(TabStripModelChange); - }; diff --git a/www-client/chromium/files/chromium-vk.patch b/www-client/chromium/files/chromium-vk.patch deleted file mode 100644 index c170c9c..0000000 --- a/www-client/chromium/files/chromium-vk.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff --git a/third_party/skia/src/gpu/vk/GrVkVulkan.h b/third_party/skia/src/gpu/vk/GrVkVulkan.h -index 1b78dc766..3bea44b20 100644 ---- a/third_party/skia/src/gpu/vk/GrVkVulkan.h -+++ b/third_party/skia/src/gpu/vk/GrVkVulkan.h -@@ -14,14 +14,14 @@ - #error "Skia's private vulkan header must be included before any other vulkan header." - #endif - --#include "../../../include/third_party/vulkan/vulkan/vulkan_core.h" -+#include "vulkan/vulkan_core.h" - - #ifdef SK_BUILD_FOR_ANDROID - #ifdef VULKAN_ANDROID_H_ - #error "Skia's private vulkan android header must be included before any other vulkan header." - #endif - // This is needed to get android extensions for external memory --#include "../../../include/third_party/vulkan/vulkan/vulkan_android.h" -+#include "vulkan/vulkan_android.h" - #endif - - #endif diff --git a/www-client/chromium/files/chromium-vr.patch b/www-client/chromium/files/chromium-vr.patch deleted file mode 100644 index 00230bb..0000000 --- a/www-client/chromium/files/chromium-vr.patch +++ /dev/null @@ -1,47 +0,0 @@ -diff --git a/tools/perf/contrib/vr_benchmarks/BUILD.gn b/tools/perf/contrib/vr_benchmarks/BUILD.gn -index fef976f5c..14547d8e7 100644 ---- a/tools/perf/contrib/vr_benchmarks/BUILD.gn -+++ b/tools/perf/contrib/vr_benchmarks/BUILD.gn -@@ -56,22 +56,23 @@ group("vr_perf_tests") { - - # Copies files to the gen/ directory and creates a manifest so that the VR - # assets component can be used during Telemetry tests. --action("generate_vr_assets_profile") { -- script = "generate_vr_assets_profile.py" -- -- # We should re-run anytime the version or any related files change. -- inputs = [ -- "//chrome/browser/resources/vr/assets/google_chrome", -- "//chrome/browser/resources/vr/assets/VERSION", -- "//chrome/browser/resources/vr/assets/vr_assets_component_files.json", -- ] -- outputs = [ -- "$target_gen_dir/vr_assets_profile/", -- ] -- args = [ -- "--output", -- rebase_path(target_gen_dir, root_build_dir), -- "--asset-dir", -- rebase_path("//chrome/browser/resources/vr/assets", root_build_dir), -- ] --} -+#action("generate_vr_assets_profile") { -+# script = "generate_vr_assets_profile.py" -+# -+# # We should re-run anytime the version or any related files change. -+# inputs = [ -+# "//chrome/browser/resources/vr/assets/google_chrome", -+# "//chrome/browser/resources/vr/assets/VERSION", -+# "//chrome/browser/resources/vr/assets/vr_assets_component_files.json", -+# ] -+# outputs = [ -+# "$target_gen_dir/vr_assets_profile/", -+# ] -+# args = [ -+# "--output", -+# rebase_path(target_gen_dir, root_build_dir), -+# "--asset-dir", -+# rebase_path("//chrome/browser/resources/vr/assets", root_build_dir), -+# ] -+#} -+# diff --git a/www-client/chromium/files/chromium-webrtc-include-84.patch b/www-client/chromium/files/chromium-webrtc-include-84.patch deleted file mode 100644 index 48ea179..0000000 --- a/www-client/chromium/files/chromium-webrtc-include-84.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h 2020-05-22 15:16:41.083666290 +0800 -+++ b/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h 2020-05-22 15:16:05.620205159 +0800 -@@ -11,6 +11,7 @@ - #ifndef MODULES_AUDIO_PROCESSING_AEC3_CLOCKDRIFT_DETECTOR_H_ - #define MODULES_AUDIO_PROCESSING_AEC3_CLOCKDRIFT_DETECTOR_H_ - -+#include <cstddef> - #include <array> - - namespace webrtc { diff --git a/www-client/chromium/files/chromium-webrtc-r0.patch b/www-client/chromium/files/chromium-webrtc-r0.patch deleted file mode 100644 index e14b185..0000000 --- a/www-client/chromium/files/chromium-webrtc-r0.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 7f90e2cceda0458cf56026eb6ccffb961a47804b Mon Sep 17 00:00:00 2001 -From: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> -Date: Fri, 13 Oct 2017 15:49:32 +0200 -Subject: [PATCH] IWYU: Include math.h for round(3). - -math.h was being implicitly included, which can break the build with -alternative libc implementations. - -Bug: None -Change-Id: I969b320b65d0f44abb33d3e1036cfbcb859a4952 -Reviewed-on: https://webrtc-review.googlesource.com/9384 -Reviewed-by: Tommi <tommi@webrtc.org> -Commit-Queue: Raphael Kubo da Costa (rakuco) <raphael.kubo.da.costa@intel.com> -Cr-Commit-Position: refs/heads/master@{#20292} ---- - p2p/base/port.cc | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/p2p/base/port.cc b/p2p/base/port.cc -index a1b478d11..81aa0aadb 100644 ---- a/third_party/webrtc/p2p/base/port.cc -+++ b/third_party/webrtc/p2p/base/port.cc -@@ -10,6 +10,8 @@ - - #include "p2p/base/port.h" - -+#include <math.h> -+ - #include <algorithm> - #include <vector> - --- -2.15.0.rc2 - diff --git a/www-client/chromium/files/chromium-webrtc.patch b/www-client/chromium/files/chromium-webrtc.patch deleted file mode 100644 index 07b770b..0000000 --- a/www-client/chromium/files/chromium-webrtc.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/third_party/webrtc/api/ice_transport_factory.cc b/third_party/webrtc/api/ice_transport_factory.cc -index b632f0913..6cc399aef 100644 ---- a/third_party/webrtc/api/ice_transport_factory.cc -+++ b/third_party/webrtc/api/ice_transport_factory.cc -@@ -42,7 +42,7 @@ class IceTransportWithTransportChannel : public IceTransportInterface { - } - - private: -- const rtc::ThreadChecker thread_checker_; -+ const rtc::ThreadChecker thread_checker_{}; - const std::unique_ptr<cricket::IceTransportInternal> internal_ - RTC_GUARDED_BY(thread_checker_); - }; diff --git a/www-client/chromium/files/chromium-widevine-80.patch b/www-client/chromium/files/chromium-widevine-80.patch deleted file mode 100644 index ac03150..0000000 --- a/www-client/chromium/files/chromium-widevine-80.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff --git a/third_party/widevine/cdm/widevine_cdm_version.h b/third_party/widevine/cdm/widevine_cdm_version.h -index dd6efed02..eaa017197 100644 ---- a/third_party/widevine/cdm/widevine_cdm_version.h -+++ b/third_party/widevine/cdm/widevine_cdm_version.h -@@ -11,5 +11,6 @@ - // If the Widevine CDM is available define the following: - // - WIDEVINE_CDM_VERSION_STRING (with the version of the CDM that's available - // as a string, e.g., "1.0.123.456"). -+#define WIDEVINE_CDM_VERSION_STRING "unknown" - - #endif // WIDEVINE_CDM_VERSION_H_ diff --git a/www-client/chromium/files/chromium-widevine-r2.patch b/www-client/chromium/files/chromium-widevine-r2.patch deleted file mode 100644 index 5527f7f..0000000 --- a/www-client/chromium/files/chromium-widevine-r2.patch +++ /dev/null @@ -1,39 +0,0 @@ -Minimal patch to get chromium to compile with widevine support. - -Exactly the same as -r1, but we now need to patch -ninja to pretty please not terminate our build. - -caveat emptor: it's in no way clear that building chromium this -way is safer, from a security perspective, than whatever Google -Chrome does. - -Upstream appears to be cooking up a code-signing trust-chain -which may protect users against malicious cdm blobs; I doubt -we benefit from these using this kludge. Ideally, someone -would look into this more carefully than I have ... tbh as -soon as I got my "stories" back, I pretty much lost interest :) - --gmt - --- ---- a/third_party/widevine/cdm/stub/widevine_cdm_version.h -+++ b/third_party/widevine/cdm/stub/widevine_cdm_version.h -@@ -10,6 +10,7 @@ - - #include "third_party/widevine/cdm/widevine_cdm_common.h" - -+#define WIDEVINE_CDM_VERSION_STRING "unknown" - #define WIDEVINE_CDM_AVAILABLE - - #endif // WIDEVINE_CDM_VERSION_H_ ---- a/third_party/widevine/cdm/BUILD.gn -+++ b/third_party/widevine/cdm/BUILD.gn -@@ -11,7 +11,7 @@ import("//third_party/widevine/cdm/widev - # Internal Cast builds set enable_widevine=true to bring in Widevine support. - # TODO(xhwang): Support component updated CDM on other platforms and remove this - # assert. --assert(!enable_widevine || is_win || is_mac || is_chromecast, -+assert(!enable_widevine || is_win || is_mac || is_chromecast || is_linux, - "Component updated CDM only supported on Windows and Mac for now.") - - widevine_arch = current_cpu diff --git a/www-client/chromium/files/chromium-widevine-r3.patch b/www-client/chromium/files/chromium-widevine-r3.patch deleted file mode 100644 index a126084..0000000 --- a/www-client/chromium/files/chromium-widevine-r3.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 5818fdbef3d399fe1bfbb56f81e59184e1a8e467 Mon Sep 17 00:00:00 2001 -From: Mike Gilbert <floppymaster@gmail.com> -Date: Sun, 14 Oct 2018 20:04:03 -0400 -Subject: [PATCH] Define WIDEVINE_CDM_VERSION_STRING - ---- - third_party/widevine/cdm/widevine_cdm_version.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/third_party/widevine/cdm/widevine_cdm_version.h b/third_party/widevine/cdm/widevine_cdm_version.h -index dd6efed02646..eaa017197e61 100644 ---- a/third_party/widevine/cdm/widevine_cdm_version.h -+++ b/third_party/widevine/cdm/widevine_cdm_version.h -@@ -11,5 +11,6 @@ - // If the Widevine CDM is available define the following: - // - WIDEVINE_CDM_VERSION_STRING (with the version of the CDM that's available - // as a string, e.g., "1.0.123.456"). -+#define WIDEVINE_CDM_VERSION_STRING "unknown" - - #endif // WIDEVINE_CDM_VERSION_H_ --- -2.19.1 - diff --git a/www-client/chromium/files/chromium-widevine-r4.patch b/www-client/chromium/files/chromium-widevine-r4.patch deleted file mode 100644 index d5a3be8..0000000 --- a/www-client/chromium/files/chromium-widevine-r4.patch +++ /dev/null @@ -1,26 +0,0 @@ -Define WIDEVINE_CDM_VERSION_STRING && re-re-re-patch for latest ninja - -Stolen from Arch basically. - -gmt - ---- a/chrome/common/chrome_content_client.cc -+++ b/chrome/common/chrome_content_client.cc -@@ -99,7 +99,7 @@ - // Registers Widevine CDM if Widevine is enabled, the Widevine CDM is - // bundled and not a component. When the Widevine CDM is a component, it is - // registered in widevine_cdm_component_installer.cc. --#if BUILDFLAG(BUNDLE_WIDEVINE_CDM) && !BUILDFLAG(ENABLE_WIDEVINE_CDM_COMPONENT) -+#if BUILDFLAG(ENABLE_WIDEVINE) && !BUILDFLAG(ENABLE_WIDEVINE_CDM_COMPONENT) - #define REGISTER_BUNDLED_WIDEVINE_CDM - #include "third_party/widevine/cdm/widevine_cdm_common.h" // nogncheck - // TODO(crbug.com/663554): Needed for WIDEVINE_CDM_VERSION_STRING. Support ---- a/third_party/widevine/cdm/widevine_cdm_version.h -+++ b/third_party/widevine/cdm/widevine_cdm_version.h -@@ -11,5 +11,6 @@ - // If the Widevine CDM is available define the following: - // - WIDEVINE_CDM_VERSION_STRING (with the version of the CDM that's available - // as a string, e.g., "1.0.123.456"). -+#define WIDEVINE_CDM_VERSION_STRING "unknown" - - #endif // WIDEVINE_CDM_VERSION_H_ diff --git a/www-client/chromium/files/chromium-wpt-gn-78.patch b/www-client/chromium/files/chromium-wpt-gn-78.patch deleted file mode 100644 index fc750e8..0000000 --- a/www-client/chromium/files/chromium-wpt-gn-78.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/third_party/blink/tools/BUILD.gn b/third_party/blink/tools/BUILD.gn -index d3004ee7b..ef293e3bf 100644 ---- a/third_party/blink/tools/BUILD.gn -+++ b/third_party/blink/tools/BUILD.gn -@@ -13,7 +13,7 @@ action("build_wpt_metadata") { - "../../third_party/blink/web_tests/WPTOverrideExpectations", - ] - outputs = [ -- "$root_out_dir/wpt_expectations_metadata/", -+ "$root_out_dir/wpt_expectations_metadata", - ] - data = [ - # Include the blinkpy tools to access expectations data diff --git a/www-client/chromium/files/chromium-zlib-78.patch b/www-client/chromium/files/chromium-zlib-78.patch deleted file mode 100644 index a1da45f..0000000 --- a/www-client/chromium/files/chromium-zlib-78.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/third_party/perfetto/gn/BUILD.gn 2019-09-06 23:54:00.697132348 +0800 -+++ b/third_party/perfetto/gn/BUILD.gn 2019-09-06 23:54:41.235747858 +0800 -@@ -276,7 +276,7 @@ - "//buildtools:zlib", - ] - } else { -- public_configs = [ "//third_party/zlib:zlib_config" ] -+ public_configs = [ "//third_party/zlib:system_zlib" ] - public_deps = [ - "//third_party/zlib", - ] diff --git a/www-client/chromium/files/chromium-zlib-82.patch b/www-client/chromium/files/chromium-zlib-82.patch deleted file mode 100644 index 1585445..0000000 --- a/www-client/chromium/files/chromium-zlib-82.patch +++ /dev/null @@ -1,9 +0,0 @@ ---- a/third_party/perfetto/gn/BUILD.gn 2019-09-06 23:54:00.697132348 +0800 -+++ b/third_party/perfetto/gn/BUILD.gn 2019-09-06 23:54:41.235747858 +0800 -@@ -299,4 +299,4 @@ - public_deps = [ "//buildtools:zlib" ] - } else { -- public_configs = [ "//third_party/zlib:zlib_config" ] -+ public_configs = [ "//third_party/zlib:system_zlib" ] - public_deps = [ "//third_party/zlib" ] - |