diff options
author | Stephan Hartmann <stha09@googlemail.com> | 2019-12-18 15:12:08 +0100 |
---|---|---|
committer | Mike Gilbert <floppym@gentoo.org> | 2019-12-18 12:29:51 -0500 |
commit | 0cd82be6bd5b1b1de7a3a830dc5ef3517e346f15 (patch) | |
tree | 06f29f445bfc07a6d938cdd995bad42518cab5e6 | |
parent | profiles/package.mask: Fix typo. (diff) | |
download | gentoo-0cd82be6bd5b1b1de7a3a830dc5ef3517e346f15.tar.gz gentoo-0cd82be6bd5b1b1de7a3a830dc5ef3517e346f15.tar.bz2 gentoo-0cd82be6bd5b1b1de7a3a830dc5ef3517e346f15.zip |
www-client/chromium: security cleanup
Bug: https://bugs.gentoo.org/702498
Package-Manager: Portage-2.3.79, Repoman-2.3.16
Signed-off-by: Stephan Hartmann <stha09@googlemail.com>
Signed-off-by: Mike Gilbert <floppym@gentoo.org>
-rw-r--r-- | www-client/chromium/Manifest | 2 | ||||
-rw-r--r-- | www-client/chromium/chromium-78.0.3904.108.ebuild | 742 | ||||
-rw-r--r-- | www-client/chromium/files/chromium-77-clang.patch | 13 | ||||
-rw-r--r-- | www-client/chromium/files/chromium-77-pulseaudio-13.patch | 82 | ||||
-rw-r--r-- | www-client/chromium/files/chromium-78-gcc-alignas.patch | 142 | ||||
-rw-r--r-- | www-client/chromium/files/chromium-78-gcc-enum-range.patch | 46 | ||||
-rw-r--r-- | www-client/chromium/files/chromium-78-gcc-noexcept.patch | 32 | ||||
-rw-r--r-- | www-client/chromium/files/chromium-78-gcc-std-vector.patch | 87 | ||||
-rw-r--r-- | www-client/chromium/files/chromium-78-icon.patch | 12 | ||||
-rw-r--r-- | www-client/chromium/files/chromium-78-include.patch | 40 | ||||
-rw-r--r-- | www-client/chromium/files/chromium-78-pm-crash.patch | 43 | ||||
-rw-r--r-- | www-client/chromium/files/chromium-widevine-r4.patch | 26 | ||||
-rw-r--r-- | www-client/chromium/metadata.xml | 1 |
13 files changed, 0 insertions, 1268 deletions
diff --git a/www-client/chromium/Manifest b/www-client/chromium/Manifest index b4681157b6ee..2a55584459d0 100644 --- a/www-client/chromium/Manifest +++ b/www-client/chromium/Manifest @@ -1,4 +1,2 @@ -DIST chromium-78-revert-noexcept-r1.patch.gz 12094 BLAKE2B 1fd0c939af773ed398c9ab14fa80b042b4237cabdbcb06425e4d1c72200ec49c3c1383cfc95013cce4df411b0a2397b79030d41a0379ae80a0c60bae1fbb5ffa SHA512 dcb62b82b34d5d6982762cacfe3ab7d3538d908b3befe7666f5d70d98ba4f979b5bf056e5c5343ed76aa744a643318fc5a75ddedfcb1b7de3e7c28eb2587439f -DIST chromium-78.0.3904.108.tar.xz 742906260 BLAKE2B 4ec325911d502d0832764a2a70a51c680e3c3828127ae06c2cbc6b5604f25d416b4ed2e070054145d6f63605ba0610e8cca7a4d64ee4674abfbc1e2090999740 SHA512 9801634358974dbe61484963599719b7c5571d32c70d7568287ab6b72054ed82afa146a0470c53129266a9fbc4a24dc50a43d552b8f1756776907c2760f15589 DIST chromium-79.0.3945.79.tar.xz 778215132 BLAKE2B 6998d8caf1fc7160d59fe894b66b34d40c7889d99ad04b3714a2203d8da395351cb7b5c2d112daad478af34ce377c98198f8a50118ff63cf87cf6678c2f0f738 SHA512 783473ea68f26656a86c6a9e726fcc6331d80860d6bb9e5ece6d71c120c3e80fc97ef867c720fe14121b3ba4599452bc40610e56900b2ffd813b9c4f415d644d DIST chromium-80.0.3970.5.tar.xz 789810132 BLAKE2B 400fcefeb58cb784412eca7011267c9224786036494337ecb8dbc7f3f483ec05d6e26c424ef55286cbebdbc872e1c15acfb62413264bb8843334a11bbe73ab4d SHA512 398666d81beaeef3eeb3f00a9a512b2d4c4e74bd9f01f20fab06901eadcb6fdbd345c39c54f2af57c4e485f2cd35700cde6f6a3d6301df7ee920bf067bee31d6 diff --git a/www-client/chromium/chromium-78.0.3904.108.ebuild b/www-client/chromium/chromium-78.0.3904.108.ebuild deleted file mode 100644 index de0984e85449..000000000000 --- a/www-client/chromium/chromium-78.0.3904.108.ebuild +++ /dev/null @@ -1,742 +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 - https://dev.gentoo.org/~floppym/dist/chromium-78-revert-noexcept-r1.patch.gz -" - -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" -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 ) -" -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=no} - -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-r10.patch" - "${FILESDIR}/chromium-widevine-r4.patch" - "${FILESDIR}/chromium-fix-char_traits.patch" - "${FILESDIR}/chromium-unbundle-zlib-r1.patch" - "${FILESDIR}/chromium-77-system-icu.patch" - "${FILESDIR}/chromium-77-clang.patch" - "${FILESDIR}/chromium-77-pulseaudio-13.patch" - "${FILESDIR}/chromium-78-include.patch" - "${FILESDIR}/chromium-78-icon.patch" - "${FILESDIR}/chromium-78-protobuf-export.patch" - "${FILESDIR}/chromium-78-pm-crash.patch" - "${WORKDIR}/chromium-78-revert-noexcept-r1.patch" - "${FILESDIR}/chromium-78-gcc-enum-range.patch" - "${FILESDIR}/chromium-78-gcc-std-vector.patch" - "${FILESDIR}/chromium-78-gcc-noexcept.patch" - "${FILESDIR}/chromium-78-gcc-alignas.patch" - "${FILESDIR}/chromium-79-icu-65.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 - # 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 - 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/depot_tools - 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 - 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" - append-cxxflags -fpermissive - 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)" - - # 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/files/chromium-77-clang.patch b/www-client/chromium/files/chromium-77-clang.patch deleted file mode 100644 index a57b5a458a4d..000000000000 --- 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-pulseaudio-13.patch b/www-client/chromium/files/chromium-77-pulseaudio-13.patch deleted file mode 100644 index 892a3183c9da..000000000000 --- a/www-client/chromium/files/chromium-77-pulseaudio-13.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-78-gcc-alignas.patch b/www-client/chromium/files/chromium-78-gcc-alignas.patch deleted file mode 100644 index 4f6039c2f5a7..000000000000 --- a/www-client/chromium/files/chromium-78-gcc-alignas.patch +++ /dev/null @@ -1,142 +0,0 @@ -From 6b633c4b14850df376d5cec571699018772f358e Mon Sep 17 00:00:00 2001 -From: Tomas Popela <tomas.popela@gmail.com> -Date: Tue, 17 Sep 2019 19:48:48 +0000 -Subject: [PATCH] GCC: Can't use alignas() together with __attribute__() - -It's because GCC has problems when mixing the alignas() together with -__attribute__() (that is used to export the symbols). The best -solution is to use ALIGNAS() macro from //base/compiler_specific.h -together with alignof() to have the equal functionality that compiles on -GCC as well as on clang. - -Bug: 819294 -Change-Id: Ieb169592a2965f17a18bfc88d28418eb723a4e5a -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1806735 -Auto-Submit: Tom Popela <tomas.popela@gmail.com> -Commit-Queue: Alex Clarke <alexclarke@chromium.org> -Reviewed-by: Alex Clarke <alexclarke@chromium.org> -Cr-Commit-Position: refs/heads/master@{#697330} ---- - -diff --git a/base/task/promise/dependent_list.h b/base/task/promise/dependent_list.h -index 020bdbfc..3245c1c 100644 ---- a/base/task/promise/dependent_list.h -+++ b/base/task/promise/dependent_list.h -@@ -59,7 +59,7 @@ - - // Align Node on an 8-byte boundary to ensure the first 3 bits are 0 and can - // be used to store additional state (see static_asserts below). -- class BASE_EXPORT alignas(8) Node { -+ class BASE_EXPORT ALIGNAS(8) Node { - public: - Node(); - explicit Node(Node&& other) noexcept; - -Re-use chromium alignas workaround in protobuf. ---- - -diff --git a/third_party/protobuf/src/google/protobuf/port_def.inc b/third_party/protobuf/src/google/protobuf/port_def.inc -index f1bd85d..9c204a1 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/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 - - - diff --git a/www-client/chromium/files/chromium-78-gcc-enum-range.patch b/www-client/chromium/files/chromium-78-gcc-enum-range.patch deleted file mode 100644 index 9c15e954b4ea..000000000000 --- a/www-client/chromium/files/chromium-78-gcc-enum-range.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 9662ec844017690d5fd56bf0f05ef6a540dd29c1 Mon Sep 17 00:00:00 2001 -From: Tom Anderson <thomasanderson@chromium.org> -Date: Mon, 09 Sep 2019 19:06:01 +0000 -Subject: [PATCH] Fix GCC build error - -Fixes this error: -[ 375s] In file included from ../../base/task/common/intrusive_heap.h:8, -[ 375s] from ../../base/task/thread_pool/task_source.h:17, -[ 375s] from ../../base/task/thread_pool/task_tracker.h:27, -[ 375s] from ./../../base/task/thread_pool/service_thread.cc:14, -[ 375s] from gen/base/base_jumbo_28.cc:5: -[ 375s] ../../base/containers/intrusive_heap.h:152:36: error: enumerator value - '-1' is outside the range of underlying type 'size_t' {aka 'long unsigned int'} -[ 375s] 152 | enum : size_t { kInvalidIndex = -1 }; -[ 375s] | - -Change-Id: I6044fb704931b2f8416f6b19a247ae297cd7b0d6 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1792763 -Commit-Queue: Thomas Anderson <thomasanderson@chromium.org> -Commit-Queue: Lei Zhang <thestig@chromium.org> -Reviewed-by: Lei Zhang <thestig@chromium.org> -Auto-Submit: Thomas Anderson <thomasanderson@chromium.org> -Cr-Commit-Position: refs/heads/master@{#694853} ---- - -diff --git a/base/containers/intrusive_heap.h b/base/containers/intrusive_heap.h -index 53d3909..d7626bb 100644 ---- a/base/containers/intrusive_heap.h -+++ b/base/containers/intrusive_heap.h -@@ -131,6 +131,7 @@ - - #include <algorithm> - #include <functional> -+#include <limits> - #include <type_traits> - #include <utility> - #include <vector> -@@ -149,7 +150,7 @@ - // in place. - class BASE_EXPORT HeapHandle { - public: -- enum : size_t { kInvalidIndex = -1 }; -+ enum : size_t { kInvalidIndex = std::numeric_limits<size_t>::max() }; - - constexpr HeapHandle() = default; - constexpr HeapHandle(const HeapHandle& other) = default; diff --git a/www-client/chromium/files/chromium-78-gcc-noexcept.patch b/www-client/chromium/files/chromium-78-gcc-noexcept.patch deleted file mode 100644 index 8ddb53fe82d2..000000000000 --- a/www-client/chromium/files/chromium-78-gcc-noexcept.patch +++ /dev/null @@ -1,32 +0,0 @@ -From d16cda8fc3476cc534a756873cc8aa2692a57054 Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz <jose.dapena@lge.com> -Date: Thu, 22 Aug 2019 13:13:36 +0200 -Subject: [PATCH] GCC: declare noexcept move constructor/assign operators of V8StackTraceId - -blink::BlinkCloneableMessage declares default implementation of -move operator/assign operator that requires v8_inspector::V8StackTraceId -to declare its move constructor/assign operator too. - -Bug: chromium:819294 -Change-Id: Iaf626ee8245efcba372a17cdf2de448e691d41d6 -Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1796062 -Commit-Queue: José Dapena Paz <jose.dapena@lge.com> -Reviewed-by: Yang Guo <yangguo@chromium.org> -Cr-Commit-Position: refs/heads/master@{#63799} ---- - -diff --git a/v8/include/v8-inspector.h b/v8/include/v8-inspector.h -index ce5b777..ed4cdec 100644 ---- a/v8/include/v8-inspector.h -+++ b/v8/include/v8-inspector.h -@@ -231,7 +231,10 @@ struct V8_EXPORT V8StackTraceId { - std::pair<int64_t, int64_t> debugger_id; - - V8StackTraceId(); -+ V8StackTraceId(const V8StackTraceId&) = default; - V8StackTraceId(uintptr_t id, const std::pair<int64_t, int64_t> debugger_id); -+ V8StackTraceId& operator=(const V8StackTraceId&) = default; -+ V8StackTraceId& operator=(V8StackTraceId&&) noexcept = default; - ~V8StackTraceId() = default; - - bool IsInvalid() const; diff --git a/www-client/chromium/files/chromium-78-gcc-std-vector.patch b/www-client/chromium/files/chromium-78-gcc-std-vector.patch deleted file mode 100644 index cf1abf06b5a1..000000000000 --- a/www-client/chromium/files/chromium-78-gcc-std-vector.patch +++ /dev/null @@ -1,87 +0,0 @@ -From f4c3c329588b78af63aad8b401da767242b86709 Mon Sep 17 00:00:00 2001 -From: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> -Date: Mon, 16 Sep 2019 17:05:42 +0000 -Subject: [PATCH] dns_util: Make DohUpgradeEntry non-const when used with std::vector<> - -This fixes the build with libstdc++ (with most other standard libraries -other than libc++, in fact) after commit f93a48e3 ("Allow upgrade to DoH -during automatic mode"): - -../../../../../../usr/bin/../lib/gcc/x86_64-redhat-linux/8/../../../../include/c++/8/bits/stl_vector.h:351:7: error: static_assert failed due to requirement 'is_same<typename remove_cv<const DohUpgradeEntry>::type, const DohUpgradeEntry>::value' "std::vector must have a non-const, non-volatile value_type" - static_assert(is_same<typename remove_cv<_Tp>::type, _Tp>::value, - ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -../../base/no_destructor.h:77:28: note: in instantiation of template class 'std::vector<const net::(anonymous namespace)::DohUpgradeEntry, std::allocator<const net::(anonymous namespace)::DohUpgradeEntry> >' requested here - alignas(T) char storage_[sizeof(T)]; - ^ -../../net/dns/dns_util.cc:147:7: note: in instantiation of template class 'base::NoDestructor<std::vector<const net::(anonymous namespace)::DohUpgradeEntry, std::allocator<const net::(anonymous namespace)::DohUpgradeEntry> > >' requested here - upgradable_servers({ - ^ -../../net/dns/dns_util.cc:230:36: error: invalid range expression of type 'const std::vector<const net::(anonymous namespace)::DohUpgradeEntry, std::allocator<const net::(anonymous namespace)::DohUpgradeEntry> >'; no viable 'begin' function available - for (const auto& upgrade_entry : upgradable_servers) { - ^ ~~~~~~~~~~~~~~~~~~ - -The C++ standard forbids containers of const elements. Callers of -GetDohUpgradeList() use it in a safe way anyway, and most of -DohUpgradeEntry's members are const. - -(Added gcc specific workaround) - -Bug: 957519 -Change-Id: I826a51823edb1184c0fae27105101e2894efe568 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1805636 -Auto-Submit: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> -Commit-Queue: Eric Orth <ericorth@chromium.org> -Reviewed-by: Eric Orth <ericorth@chromium.org> -Cr-Commit-Position: refs/heads/master@{#696834} ---- - -diff --git a/net/dns/dns_util.cc b/net/dns/dns_util.cc -index d83ff7c..14997c4 100644 ---- a/net/dns/dns_util.cc -+++ b/net/dns/dns_util.cc -@@ -139,12 +139,12 @@ struct DohUpgradeEntry { - const DnsConfig::DnsOverHttpsServerConfig dns_over_https_config; - }; - --const std::vector<const DohUpgradeEntry>& GetDohUpgradeList() { -+const std::vector<DohUpgradeEntry>& GetDohUpgradeList() { - // The provider names in these entries should be kept in sync with the - // DohProviderId histogram suffix list in - // tools/metrics/histograms/histograms.xml. -- static const base::NoDestructor<std::vector<const DohUpgradeEntry>> -- upgradable_servers({ -+ static const base::NoDestructor<std::vector<DohUpgradeEntry>> -+ upgradable_servers(std::initializer_list<DohUpgradeEntry>{ - DohUpgradeEntry( - "CleanBrowsingAdult", - {"185.228.168.10", "185.228.169.11", "2a0d:2a00:1::1", -@@ -222,8 +222,7 @@ const std::vector<const DohUpgradeEntry>& GetDohUpgradeList() { - std::vector<const DohUpgradeEntry*> GetDohUpgradeEntriesFromNameservers( - const std::vector<IPEndPoint>& dns_servers, - const std::vector<std::string>& excluded_providers) { -- const std::vector<const DohUpgradeEntry>& upgradable_servers = -- GetDohUpgradeList(); -+ const std::vector<DohUpgradeEntry>& upgradable_servers = GetDohUpgradeList(); - std::vector<const DohUpgradeEntry*> entries; - - for (const auto& server : dns_servers) { -@@ -417,8 +416,7 @@ std::vector<DnsConfig::DnsOverHttpsServerConfig> - GetDohUpgradeServersFromDotHostname( - const std::string& dot_server, - const std::vector<std::string>& excluded_providers) { -- const std::vector<const DohUpgradeEntry>& upgradable_servers = -- GetDohUpgradeList(); -+ const std::vector<DohUpgradeEntry>& upgradable_servers = GetDohUpgradeList(); - std::vector<DnsConfig::DnsOverHttpsServerConfig> doh_servers; - - if (dot_server.empty()) -@@ -451,8 +449,7 @@ GetDohUpgradeServersFromNameservers( - - std::string GetDohProviderIdForHistogramFromDohConfig( - const DnsConfig::DnsOverHttpsServerConfig& doh_server) { -- const std::vector<const DohUpgradeEntry>& upgradable_servers = -- GetDohUpgradeList(); -+ const std::vector<DohUpgradeEntry>& upgradable_servers = GetDohUpgradeList(); - for (const auto& upgrade_entry : upgradable_servers) { - if (doh_server.server_template == - upgrade_entry.dns_over_https_config.server_template) { diff --git a/www-client/chromium/files/chromium-78-icon.patch b/www-client/chromium/files/chromium-78-icon.patch deleted file mode 100644 index 2cca7f10d19c..000000000000 --- a/www-client/chromium/files/chromium-78-icon.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/ui/platform_window/x11/x11_window.cc b/ui/platform_window/x11/x11_window.cc -index 7a3a6eb..7c01534 100644 ---- a/ui/platform_window/x11/x11_window.cc -+++ b/ui/platform_window/x11/x11_window.cc -@@ -67,6 +67,7 @@ ui::XWindow::Configuration ConvertInitPropertiesToXWindowConfig( - config.wm_role_name = properties.wm_role_name; - config.activatable = properties.activatable; - config.visual_id = properties.x_visual_id; -+ config.icon = properties.icon; - return config; - } - 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 3db38eac1c96..000000000000 --- a/www-client/chromium/files/chromium-78-include.patch +++ /dev/null @@ -1,40 +0,0 @@ -From bbfe2665923225b4a7c436ba2b6c7e5f695f2e52 Mon Sep 17 00:00:00 2001 -From: David Landell <landell@vewd.com> -Date: Fri, 13 Sep 2019 12:24:13 +0000 -Subject: [PATCH] Add missing include for unique_ptr - -Change-Id: I614d2f42868d563eb6a92dfb2aae08286e20d687 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1803137 -Reviewed-by: Henrik Boström <hbos@chromium.org> -Commit-Queue: Henrik Boström <hbos@chromium.org> -Cr-Commit-Position: refs/heads/master@{#696355} ---- - -diff --git a/third_party/blink/public/platform/web_rtc_rtp_source.h b/third_party/blink/public/platform/web_rtc_rtp_source.h -index 959440f..c3fd542 100644 ---- a/third_party/blink/public/platform/web_rtc_rtp_source.h -+++ b/third_party/blink/public/platform/web_rtc_rtp_source.h -@@ -5,6 +5,8 @@ - #ifndef THIRD_PARTY_BLINK_PUBLIC_PLATFORM_WEB_RTC_RTP_SOURCE_H_ - #define THIRD_PARTY_BLINK_PUBLIC_PLATFORM_WEB_RTC_RTP_SOURCE_H_ - -+#include <memory> -+ - #include "base/optional.h" - #include "third_party/blink/public/platform/web_common.h" - -Missing include due to reverting ProfileManagerObserver ---- - -diff --git a/chrome/browser/web_applications/extensions/bookmark_app_util.cc b/chrome/browser/web_applications/extensions/bookmark_app_util.cc -index ee4b70a..b31e5f5 100644 ---- a/chrome/browser/web_applications/extensions/bookmark_app_util.cc -+++ b/chrome/browser/web_applications/extensions/bookmark_app_util.cc -@@ -7,6 +7,7 @@ - #include "base/strings/string_piece.h" - #include "base/values.h" - #include "chrome/browser/extensions/extension_service.h" -+#include "chrome/browser/profiles/profile.h" - #include "chrome/browser/web_applications/components/app_registrar.h" - #include "chrome/browser/web_applications/components/web_app_provider_base.h" - #include "chrome/common/chrome_features.h" diff --git a/www-client/chromium/files/chromium-78-pm-crash.patch b/www-client/chromium/files/chromium-78-pm-crash.patch deleted file mode 100644 index ada266120dc4..000000000000 --- a/www-client/chromium/files/chromium-78-pm-crash.patch +++ /dev/null @@ -1,43 +0,0 @@ -From e73aed9a5ef15102f29ac31b70290faf5c90f9fe Mon Sep 17 00:00:00 2001 -From: Evan Stade <estade@chromium.org> -Date: Wed, 16 Oct 2019 16:01:32 +0000 -Subject: [PATCH] Fix shutdown crash in ProfileManager. - -OnProfileMarkedForPermanentDeletion should move from -ProfileManagerObserver to ProfileObserver, which would also -fix this bug. However, changing the order of members is the -quickest and most cherry-pick-able way to avoid the crash. - -Bug: 1005244 -Change-Id: If2db68c846dd418cd02864b57b9b543687fa1e03 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1863518 -Auto-Submit: Evan Stade <estade@chromium.org> -Reviewed-by: David Roger <droger@chromium.org> -Commit-Queue: Evan Stade <estade@chromium.org> -Cr-Commit-Position: refs/heads/master@{#706467} ---- - -diff --git a/chrome/browser/profiles/profile_manager.h b/chrome/browser/profiles/profile_manager.h -index b60df76d..7d02af7 100644 ---- a/chrome/browser/profiles/profile_manager.h -+++ b/chrome/browser/profiles/profile_manager.h -@@ -409,6 +409,10 @@ class ProfileManager : public content::NotificationObserver, - const base::FilePath& profile_dir); - #endif // !defined(OS_ANDROID) - -+ // Destroy after |profile_info_cache_| since Profile destruction may trigger -+ // some observers to unregister themselves. -+ base::ObserverList<ProfileManagerObserver> observers_; -+ - // Object to cache various information about profiles. Contains information - // about every profile which has been created for this instance of Chrome, - // if it has not been explicitly deleted. It must be destroyed after -@@ -450,8 +454,6 @@ class ProfileManager : public content::NotificationObserver, - // Controls whether to initialize some services. Only disabled for testing. - bool do_final_services_init_ = true; - -- base::ObserverList<ProfileManagerObserver> observers_; -- - // TODO(chrome/browser/profiles/OWNERS): Usage of this in profile_manager.cc - // should likely be turned into DCHECK_CURRENTLY_ON(BrowserThread::UI) for - // consistency with surrounding code in the same file but that wasn't trivial 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 d5a3be8345a2..000000000000 --- 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/metadata.xml b/www-client/chromium/metadata.xml index 42ec8adf1922..60d720a4ee2c 100644 --- a/www-client/chromium/metadata.xml +++ b/www-client/chromium/metadata.xml @@ -10,7 +10,6 @@ <flag name="closure-compile">Enable closure type-checking for Chrome's web technology-based UI. Requires Java.</flag> <flag name="component-build">Split build into more shared libraries to speed up linking. Mostly intended for debugging and development, NOT RECOMMENDED for general use.</flag> <flag name="hangouts">Enable support for Google Hangouts features such as screen sharing</flag> - <flag name="jumbo-build">Combine source files to speed up build process.</flag> <flag name="pic">Disable optimized assembly code that is not PIC friendly</flag> <flag name="proprietary-codecs">Enable proprietary codecs like H.264, MP3</flag> <flag name="suid">Build the SUID sandbox, which is only needed on CONFIG_USER_NS=n kernels</flag> |