From fab849d1daed0ba7f2ac497d07985c3dbb692543 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sun, 16 Jun 2019 21:23:20 +0100 Subject: gentoo resync : 16.06.2019 --- www-client/chromium/Manifest | 12 +- www-client/chromium/chromium-74.0.3729.169.ebuild | 2 +- www-client/chromium/chromium-75.0.3770.90.ebuild | 706 +++++++++++++++++++++ .../chromium/files/chromium-75-fix-gn-gen.patch | 27 + .../chromium/files/chromium-75-gcc-angle-fix.patch | 20 + www-client/chromium/files/chromium-75-llvm8.patch | 17 + www-client/chromium/files/chromium-75-lss.patch | 63 ++ .../chromium/files/chromium-75-noexcept.patch | 101 +++ .../chromium/files/chromium-75-pure-virtual.patch | 50 ++ .../chromium/files/chromium-75-unique_ptr.patch | 31 + .../chromium/files/chromium-compiler-r9.patch | 196 ++++++ 11 files changed, 1223 insertions(+), 2 deletions(-) create mode 100644 www-client/chromium/chromium-75.0.3770.90.ebuild create mode 100644 www-client/chromium/files/chromium-75-fix-gn-gen.patch create mode 100644 www-client/chromium/files/chromium-75-gcc-angle-fix.patch create mode 100644 www-client/chromium/files/chromium-75-llvm8.patch create mode 100644 www-client/chromium/files/chromium-75-lss.patch create mode 100644 www-client/chromium/files/chromium-75-noexcept.patch create mode 100644 www-client/chromium/files/chromium-75-pure-virtual.patch create mode 100644 www-client/chromium/files/chromium-75-unique_ptr.patch create mode 100644 www-client/chromium/files/chromium-compiler-r9.patch (limited to 'www-client/chromium') diff --git a/www-client/chromium/Manifest b/www-client/chromium/Manifest index 299fbb387701..13f9101322ac 100644 --- a/www-client/chromium/Manifest +++ b/www-client/chromium/Manifest @@ -8,9 +8,17 @@ AUX chromium-73-gcc-6.patch 4452 BLAKE2B 0798c713701fcf438a388e47d89de454e27e737 AUX chromium-73-xdg-current-desktop.patch 5300 BLAKE2B 3825ce2b899fdeffad17b86b537285fd96f59dff958668670c4dbc14aa40732fa98979a4fefaea19378170b516279ba02fe878d103640a9c7bdfd977c2119a21 SHA512 f15495d9a33132aa8f384a463dc42f91a59bbb5b230f5fc6c212c7d7624ddaf22c8a242f81fe67aa5e36d02fe6403e10e8fb890b0b3d40091670ff6fdedcbd92 AUX chromium-74-7685422.patch 1398 BLAKE2B 87b0dc0512bd11cf8eb1fd19f8691877a90aa648fd3e2124f33254719263e2249fe1e8b2e44abe90431db928bb278e3ca67611472d7391f539e6570e83ac75c3 SHA512 7a4918e8cc42926004b58639056abed48601da310dabadda60557330ab5daf52e84ba45866158bc51445c10f2ad85786b00877d4d9c8cda1ba4577f38ac05efe AUX chromium-74-c2c467f.patch 3037 BLAKE2B 25f33c71be5ceaaac0b0b170843be037363b469041dc84e9efc907d94a232f5422e25543fbdea2bf01ffc5e85a86ccf746c742bd5ad39f8a5f7e6375e4594422 SHA512 e9ad65e1f1aad88ce2a468cf1f3dad65ffb2a80ea0baaf5df8f22cefe931150e8aa44a3ade803a49f1bcf54e853d57178cf1410a634eda7a2ce35950b5566391 +AUX chromium-75-fix-gn-gen.patch 1038 BLAKE2B 69997ed71aeac35aa4c56da39b7e229d4cddbb52cd19ae9de4912c16045c1845ad2f7e3a4d431181760d306a94c034946ed1903b08ea6001a63356fe435aaecd SHA512 9b99aaa43f002334346aedd926785552e07b2a58560743f84f9c6fa02a4b4c29b54b240f3173f1297b993df4fc8a4292f7bac84a6643d6f10b1cb1dcbc7e3ad7 +AUX chromium-75-gcc-angle-fix.patch 966 BLAKE2B ed6f30327809409e300848f11eb86ff513babb3e2b8876018d32673d57afa2f0bb80b0e50ed5c9740b26a5824034e14d38c51e871dc0551d6deabd5252cfad8a SHA512 3c78f22d55d6382ca3db9c1ce25141d6dcb74ffa82ce722599f1e5f464fa3883bcaa3cf599e3ab30916551b124c9211065e0b3ba276761ec57cd67ab9fcc76df +AUX chromium-75-llvm8.patch 708 BLAKE2B 578fa797f5a347623e43e94d4ff160c676f3b51f8c4e32acc5782db2e4c33f7b8ef9d6084855152f97246805d24fc297769a32290daca58d8dfe96fa1ab61156 SHA512 9cabb7bf205f3288de3ecc2fbe6852bc89be1a24aeb0b520c005f432e8c2755c64d7f1d1e77b570153063125bfc1ecf1d4825a72dd8ff08ac61fd89fca36d10e +AUX chromium-75-lss.patch 2103 BLAKE2B b6f0c66b10583dabb663a02e31fc30e68daeffa38d76b934e4769d7fef68418a4f20138238d700ca648881986728b0675f299c187233d873029fd91c70ebe27b SHA512 f526532077d44ce928055f6c0c235c1ec4c6f4cbdef18033094828c71feabfa4b37f35fc38b6f5233bee30847b214c8ff1b4aaedc568ac84162568e3c4a9cb7e +AUX chromium-75-noexcept.patch 4016 BLAKE2B a47b7c3edcb9a6a7d27f725db4f887cc27e4ceb1ba49f880132827451056a271ff15ff2a724ba038b1f8823533665a4de6e6c7bb692d2d77c0120ddbad8f3306 SHA512 1fed7ab083697f3310333908e9b78aea950716230655cac825f1f426ce294bdd033b7f10d8b48b6ddcac93fb727a51038970cf63044938edef2958e70d40c252 +AUX chromium-75-pure-virtual.patch 2358 BLAKE2B e591bdeb128877e2d0ee1e873033220efd4c75f4130bf1cda940cd2596c7ccec92d8f39e6b57b55fc72c4a9c58ff3ca634b9cb66064b5e4eed6906ef24c97071 SHA512 0401d9c105a1e8d13018a1d06e15e163c4db40810188a8f2623808e5ef2c220b5a9da520e20ffac8a91220ee13f51f391a82401b8d1de47476557e30d853cb65 +AUX chromium-75-unique_ptr.patch 1487 BLAKE2B 64b25c50a3e869607c72d7e745fb464536875672105da69690057fe1e36423a0c28e33ac50e34e058ec22ca89f292e9be9b175f3f19bacda70bff594b8b92905 SHA512 30e7c3e3f11285c605d66fc2154b726ecbdf1d17f353bf19c8c50b31f28e9948b797276cf45c465d7371353c7ddbdcea467a407cf0a89dda959f6d74dd0b5a85 AUX chromium-browser.xml 407 BLAKE2B 168d78b0855546ca559cfb51aff0bc85d5e6ae974c25eb76e4a02f6d11659489c6e40397a0b2f7bc1fda336fd2c6dd8c863fccc3340719210b41c7fef51927f4 SHA512 b767fb4fd1925029d95560fc14cb7ab12ae43b2fe923e92d75e733b9723cbe1dcdf6df041a2b62554e98b79b47ef3f6028c773e72e6fd53166a021d49657aeca AUX chromium-compiler-r7.patch 5729 BLAKE2B 66e7b417d685a3371684a4e173bfa2e6fa49415311ccbd16b60806c3b9f70c805db13c973861033444336d6f714270e5953f961bc54d42fca645c940ba30b706 SHA512 5c6ec5bae53c7b2a1b409a9b4ce8f2e7b1cf95421647b3c1ab49e6f3886aefdb858980065cd7a214e89dfe348f4a5b557c304a94bd7681f5bf4c73c74328d1d7 AUX chromium-compiler-r8.patch 5437 BLAKE2B 529c02d92b3beb65d8e0f975f3687d2106c81cac3f7cc36e205e6cd780061c2ff21cfd66af32c3ac8e5409df86371fb97ee5d97047c45b16840375db30e3a93a SHA512 6d2af8919082eeb6497539bd876bd4cfbada4b2c477a14da0c8cf6a5a064c14a27775913455e3a3ad884b85db76e9a1f736b863b7d8e612ec9861a29affa6a60 +AUX chromium-compiler-r9.patch 6240 BLAKE2B c121cefea072e75ee7440ef61bcc79758b205d668de7ac6b3a19497908291c8fc78cda104bc483735a8e0b0123f2218fbe9fb28815657fe1ee8cf89d792d6f20 SHA512 9e526a56e5b7d3fd3b1d7701bfe9aeeabeeb47cd4a077d2943703f6d43a5fca58a798e16e051f6430a56255796004839982320f6ee6c2b921dae94befd952fac AUX chromium-fix-char_traits.patch 355 BLAKE2B 5269c43c4d36dc1cd190aedc04e3172fbef0048484ac7e4db15fffd69009c8ba02f0ed786c64b292fbbcd2409ad70545817cd7d45a2cb51fd76bf72250ca0018 SHA512 85ab70f168f56c01e01bdf210d107bebd7c344e95dcb692a19a0f7883ed6aec5325b38c35cd3c9b37c1915820d5e8d401e8ee92c289436fb8bc8341c3c6007a8 AUX chromium-launcher-r3.sh 1199 BLAKE2B 85f57b380cdc25bd000cf57d3c129b67f6e55d96dd958190040b0680f8d4d358ac777e0c1ebd6a1b32dd3821a377bcf9f598e073584528d0480460978c4c1fb1 SHA512 f1909314ae74985c85740d26c9bfab694f3202de8ccc392a1c4ec5c8760db21b6cc46146c78a9abebd09e6d24f37e19466f0c4d2d61815400b48d859f8ce154d AUX chromium-widevine-r4.patch 1155 BLAKE2B 7ba02c4b80883fa7ae5c46d95072798683bdc5c9d65b3cab40e6a3c21b29ce7eb9c45493ec10e522341033a80132818f946569ee774c662daafa4e09fbc2a988 SHA512 8f78c0e22f14f81f1903a77b315c7818603caaadbb5d517a3184a11e9553b99fd42d5a1d2ff19b3d79c03352b2e279a5102afa2fa66f276da2d9c42988a94366 @@ -21,7 +29,9 @@ DIST chromium-73.0.3683.86.tar.xz 710449412 BLAKE2B 87b4d15440e88be506920813a52e DIST chromium-74-2f28731.patch 18581 BLAKE2B 146f6375071a0e85501a7c666d13ecb7ee196a97c6dffb709f2049f219a66c2058b6b29777e3a3cef17272c29cbe38f6c273e03452dfc9a303abc90f539353f6 SHA512 9c3cce89715ea5d27531dc0f53afa25d00c2b73dfa24123680a7960e6784f09bb2accca495a8c2540a9b43204089cb203d92644f7633e758bf24603d207bafb7 DIST chromium-74-e1b1f3a.patch 20750 BLAKE2B 327752fc232ed568ef494f40d97672ff79d304bbe979f70e98422ac18616004e1289470340657995a6959b34a38df310145e0947ee2d75aca6c55c7d5dd1647f SHA512 b7401e8577577dd1e00fe06cce6a18039a812e4ca08df633b4cb431a15873fbb033525a608a558aa68fed22f1e42c08a04cc01e2b750d750d7a63419eac8d19b DIST chromium-74.0.3729.169.tar.xz 749495820 BLAKE2B bfe485220239aad146eab0cd7bf158a20bccf03abe74457ea3933094c9fb200ff7a2e9db4a62fa1a736341ce8ee987520e20bd32e13e213435fd6724d15a7d85 SHA512 783558bbae43a928b7d9fe18717b63be432409c81aba0a38ccb14f38398d8681122bdd763db6d22b01363108253432ed203a86f8c9ba627247219bf1519f839b +DIST chromium-75.0.3770.90.tar.xz 708212580 BLAKE2B e52149e8eea0734ec2704f176fed1911e6252cb0dab76894dcece7c826a0581e099b58e638324b115aecf61f26884ffdb8d5ea1c820bf0df2f49dbab1986d3f4 SHA512 5956ad1cf342f143c0587299bdd5497acfc958975e5b4878731c40e0e5db58280ea8b36ca077cafce7e812510356de57872f37753cb92de5258cb24578d2c327 EBUILD chromium-73.0.3683.75.ebuild 21832 BLAKE2B 53b1925509ba4f300ef01b6eaa35fae0423bbb2f6f32bc4214791c697c9dbe04ca5d786c19d04179b8fe72ee232aeaba66243dd927f6205b1106865803e7e589 SHA512 ecd647868b03b6b74ad9025236846b592a0481f867765c383c9d41987e215eef86ee3e5aa51d2ce62c25f3331d18128e30f64fe3b7750b8b13e27c3fcb7263f4 EBUILD chromium-73.0.3683.86.ebuild 21885 BLAKE2B c2980b7ef99693f5a8f2fa9867c04d75e2f59b2f3e7d5004ee57f6d3ce6df77a4eaee527ab67fdc29d078511c849bfeb3bfd709f9ead79a6880ddaf7326b5454 SHA512 be0448d335432fb076a88100b80d28566a9abbdad6a068283f8c28568a9f65692c3c37bcacfb0cefe688611010431533cbcff4b1b86cccde16699843adf24f64 -EBUILD chromium-74.0.3729.169.ebuild 21692 BLAKE2B e7594a10eb477e1fdd4c8c329850175890e669be10f20a531567696846d57bc4f559612b3b93ca2bc708a3f601a997f3ed41d083c003af05c1c5ba461fa5332d SHA512 ac96743957f12fd10bf2b866376b6a3c6837bd4873b35b796543f41e0e430fad0f64ae026741f548457c4595f2d1e3ca6e6bb225711a882ced20f674419d4770 +EBUILD chromium-74.0.3729.169.ebuild 21691 BLAKE2B 26ffa2c68152bc98bdb8f1e1d97c54eee3efb4bf64b8d8dff11600c81fbabbc04c0cea49f8d85156584b21aa02fe94d67550fca6862eb53d258d6eff9e5bae17 SHA512 c9f5eb1a9a8568abef313574910a6c6cff5dc27d3968517f5566017db1cf64b7d1ec19f6a461fe3faf59dc71ed0ff6ae33e7370d6f728ef249324b1bd251a5a6 +EBUILD chromium-75.0.3770.90.ebuild 21455 BLAKE2B 86e587737649879ee757d26104f2dc10b1be0291b6170346e0ec8530fdbfb280fca807ba7782679169b5acd0904609784ab4658890576d6b6b70d743dd70b578 SHA512 54a4dff20c6f9c9d5bcb558df83eaa71fea35069eaea80e530e486c4d18afad0ea5b523316f17ddf40075d16d58edc9b53a845c3bbe94fa1d53eb4625a4aaf05 MISC metadata.xml 1538 BLAKE2B 6c68f673e2892063f4b7a5afc8314356e3e8182d8765a193c36be7ed6b61e7680dbd0a58e2386904ff2877c81ad45cdae07754996f706f986f16f3a159500930 SHA512 16e98f9dc01cfdce307dd17fc2ba83ff1eff10eaeb65aaf9154b0dedfc61086334d56f50b6ce1d673715148e29e045eb0eed21495efef942ef56e4ba4e514187 diff --git a/www-client/chromium/chromium-74.0.3729.169.ebuild b/www-client/chromium/chromium-74.0.3729.169.ebuild index ed2d4ab25170..f6aa5a9fa5f2 100644 --- a/www-client/chromium/chromium-74.0.3729.169.ebuild +++ b/www-client/chromium/chromium-74.0.3729.169.ebuild @@ -19,7 +19,7 @@ SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P} LICENSE="BSD" SLOT="0" -KEYWORDS="~amd64 ~x86" +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" RESTRICT="!system-ffmpeg? ( proprietary-codecs? ( bindist ) )" REQUIRED_USE="component-build? ( !suid )" diff --git a/www-client/chromium/chromium-75.0.3770.90.ebuild b/www-client/chromium/chromium-75.0.3770.90.ebuild new file mode 100644 index 000000000000..0dde4528fb73 --- /dev/null +++ b/www-client/chromium/chromium-75.0.3770.90.ebuild @@ -0,0 +1,706 @@ +# 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" +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.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} + ! 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)" + + # 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" + + # 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 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() { + 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-75-fix-gn-gen.patch b/www-client/chromium/files/chromium-75-fix-gn-gen.patch new file mode 100644 index 000000000000..a6a98b160d76 --- /dev/null +++ b/www-client/chromium/files/chromium-75-fix-gn-gen.patch @@ -0,0 +1,27 @@ +Fix 'gn gen' when gn is built in debug config + +Fixes this DCHECK: +https://cs.chromium.org/chromium/gn/tools/gn/source_file.cc?q=source_file.cc&sq=package:chromium&dr&l=21 + +BUG=None + +Change-Id: Ide60a650c800d4a0981b4f28cf0427fa91616464 +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1613888 +Reviewed-by: Brian Sheedy +Commit-Queue: Brian Sheedy +Commit-Queue: Thomas Anderson +Auto-Submit: Thomas Anderson +Cr-Commit-Position: refs/heads/master@{#660103} +diff --git a/tools/perf/contrib/vr_benchmarks/BUILD.gn b/tools/perf/contrib/vr_benchmarks/BUILD.gn +index 758057a..51644e0 100644 +--- a/tools/perf/contrib/vr_benchmarks/BUILD.gn ++++ b/tools/perf/contrib/vr_benchmarks/BUILD.gn +@@ -72,7 +72,7 @@ + "//chrome/browser/resources/vr/assets/vr_assets_component_files.json", + ] + outputs = [ +- "$target_gen_dir/vr_assets_profile/", ++ "$target_gen_dir/vr_assets_profile", + ] + args = [ + "--output", diff --git a/www-client/chromium/files/chromium-75-gcc-angle-fix.patch b/www-client/chromium/files/chromium-75-gcc-angle-fix.patch new file mode 100644 index 000000000000..58447d73acbc --- /dev/null +++ b/www-client/chromium/files/chromium-75-gcc-angle-fix.patch @@ -0,0 +1,20 @@ +--- a/third_party/angle/src/common/debug.h 2019-06-02 17:59:16.698392030 -0000 ++++ b/third_party/angle/src/common/debug.h 2019-06-02 17:59:48.738265672 -0000 +@@ -248,7 +248,7 @@ + # define EVENT(message, ...) (void(0)) + #endif + +-#if defined(COMPILER_GCC) || defined(__clang__) ++#if defined(__GNUC__) || defined(__clang__) + # define ANGLE_CRASH() __builtin_trap() + #else + # define ANGLE_CRASH() ((void)(*(volatile char *)0 = 0)), __assume(0) +@@ -336,7 +336,7 @@ + # define ANGLE_ENABLE_STRUCT_PADDING_WARNINGS \ + _Pragma("clang diagnostic push") _Pragma("clang diagnostic error \"-Wpadded\"") + # define ANGLE_DISABLE_STRUCT_PADDING_WARNINGS _Pragma("clang diagnostic pop") +-#elif defined(COMPILER_GCC) ++#elif defined(__GNUC__) + # define ANGLE_ENABLE_STRUCT_PADDING_WARNINGS \ + _Pragma("GCC diagnostic push") _Pragma("GCC diagnostic error \"-Wpadded\"") + # define ANGLE_DISABLE_STRUCT_PADDING_WARNINGS _Pragma("GCC diagnostic pop") diff --git a/www-client/chromium/files/chromium-75-llvm8.patch b/www-client/chromium/files/chromium-75-llvm8.patch new file mode 100644 index 000000000000..f21445689bb2 --- /dev/null +++ b/www-client/chromium/files/chromium-75-llvm8.patch @@ -0,0 +1,17 @@ +Issue 945938: Build fails with clang/llvm-8 +https://bugs.chromium.org/p/chromium/issues/detail?id=945938&q=TabStripModelChange&colspec=ID%20Pri%20M%20Stars%20ReleaseBlock%20Component%20Status%20Owner%20Summary%20OS%20Modified + +diff --git a/chrome/browser/ui/tabs/tab_strip_model_observer.h b/chrome/browser/ui/tabs/tab_strip_model_observer.h +index 6c8bce5..7f67b7d 100644 +--- a/chrome/browser/ui/tabs/tab_strip_model_observer.h ++++ b/chrome/browser/ui/tabs/tab_strip_model_observer.h +@@ -135,7 +135,7 @@ class TabStripModelChange { + + private: + const Type type_ = kSelectionOnly; +- const std::vector deltas_; ++ std::vector deltas_; + + DISALLOW_COPY_AND_ASSIGN(TabStripModelChange); + }; + diff --git a/www-client/chromium/files/chromium-75-lss.patch b/www-client/chromium/files/chromium-75-lss.patch new file mode 100644 index 000000000000..feeeaee8e838 --- /dev/null +++ b/www-client/chromium/files/chromium-75-lss.patch @@ -0,0 +1,63 @@ +--- a/third_party/lss/BUILD.gn ++++ b/third_party/lss/BUILD.gn +@@ -0,0 +1,31 @@ ++# Copyright 2019 The Crashpad Authors. All rights reserved. ++# ++# Licensed under the Apache License, Version 2.0 (the "License"); ++# you may not use this file except in compliance with the License. ++# You may obtain a copy of the License at ++# ++# http://www.apache.org/licenses/LICENSE-2.0 ++# ++# Unless required by applicable law or agreed to in writing, software ++# distributed under the License is distributed on an "AS IS" BASIS, ++# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ++# See the License for the specific language governing permissions and ++# limitations under the License. ++ ++import("../../build/crashpad_buildconfig.gni") ++ ++config("lss_config") { ++ if (crashpad_is_in_chromium) { ++ defines = [ "CRASHPAD_LSS_SOURCE_EXTERNAL" ] ++ } else { ++ defines = [ "CRASHPAD_LSS_SOURCE_EMBEDDED" ] ++ } ++} ++ ++source_set("lss") { ++ public_configs = [ ":lss_config" ] ++ ++ sources = [ ++ "lss.h", ++ ] ++} +--- a/third_party/lss/lss.h ++++ b/third_party/lss/lss.h +@@ -0,0 +1,26 @@ ++// Copyright 2019 The Crashpad Authors. All rights reserved. ++// ++// Licensed under the Apache License, Version 2.0 (the "License"); ++// you may not use this file except in compliance with the License. ++// You may obtain a copy of the License at ++// ++// http://www.apache.org/licenses/LICENSE-2.0 ++// ++// Unless required by applicable law or agreed to in writing, software ++// distributed under the License is distributed on an "AS IS" BASIS, ++// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ++// See the License for the specific language governing permissions and ++// limitations under the License. ++ ++#ifndef CRASHPAD_THIRD_PARTY_LSS_LSS_H_ ++#define CRASHPAD_THIRD_PARTY_LSS_LSS_H_ ++ ++#if defined(CRASHPAD_LSS_SOURCE_EXTERNAL) ++#include "third_party/lss/linux_syscall_support.h" ++#elif defined(CRASHPAD_LSS_SOURCE_EMBEDDED) ++#include "third_party/lss/lss/linux_syscall_support.h" ++#else ++#error Unknown lss source ++#endif ++ ++#endif // CRASHPAD_THIRD_PARTY_LSS_LSS_H_ diff --git a/www-client/chromium/files/chromium-75-noexcept.patch b/www-client/chromium/files/chromium-75-noexcept.patch new file mode 100644 index 000000000000..bcac1c270d11 --- /dev/null +++ b/www-client/chromium/files/chromium-75-noexcept.patch @@ -0,0 +1,101 @@ +From 41d954dec0669c9a85730c0bde7df7ba7a0ff43e Mon Sep 17 00:00:00 2001 +From: Jose Dapena Paz +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 +Commit-Queue: José Dapena Paz +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 diff --git a/www-client/chromium/files/chromium-75-pure-virtual.patch b/www-client/chromium/files/chromium-75-pure-virtual.patch new file mode 100644 index 000000000000..3d34e436a281 --- /dev/null +++ b/www-client/chromium/files/chromium-75-pure-virtual.patch @@ -0,0 +1,50 @@ +From cdf306db81efaaaa954487585d5a5a16205a5ebd Mon Sep 17 00:00:00 2001 +From: Jose Dapena Paz +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=) 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 +Reviewed-by: Sigurður Ásgeirsson +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-75-unique_ptr.patch b/www-client/chromium/files/chromium-75-unique_ptr.patch new file mode 100644 index 000000000000..08d2f2439021 --- /dev/null +++ b/www-client/chromium/files/chromium-75-unique_ptr.patch @@ -0,0 +1,31 @@ +From aeed4d1f15ce84a17ea0bc219e258dc4982b2368 Mon Sep 17 00:00:00 2001 +From: Jose Dapena Paz +Date: Fri, 26 Apr 2019 20:07:05 +0000 +Subject: [PATCH] libstdc++: do not assume unique_ptr has ostream operator + +CompositorFrameReportingController is using DCHECK_NE to compare +several unique_ptr. This is valid in libc++, but on libstdc++ unique_ptr +does not have an ostream operator. + +Change-Id: I9f23ef17f02b9e107694ba493f6f8f3caf5cac4d +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1584292 +Reviewed-by: Sunny Sachanandani +Commit-Queue: José Dapena Paz +Cr-Commit-Position: refs/heads/master@{#654570} +--- + +diff --git a/cc/scheduler/compositor_frame_reporting_controller.cc b/cc/scheduler/compositor_frame_reporting_controller.cc +index f1587ed..1b17021 100644 +--- a/cc/scheduler/compositor_frame_reporting_controller.cc ++++ b/cc/scheduler/compositor_frame_reporting_controller.cc +@@ -31,8 +31,8 @@ + + void CompositorFrameReportingController::WillBeginMainFrame() { + DCHECK(reporters_[PipelineStage::kBeginImplFrame]); +- DCHECK_NE(reporters_[PipelineStage::kBeginMainFrame], +- reporters_[PipelineStage::kBeginImplFrame]); ++ DCHECK(reporters_[PipelineStage::kBeginMainFrame] != ++ reporters_[PipelineStage::kBeginImplFrame]); + reporters_[PipelineStage::kBeginImplFrame]->StartStage( + "SendBeginMainFrameToCommit"); + AdvanceReporterStage(PipelineStage::kBeginImplFrame, diff --git a/www-client/chromium/files/chromium-compiler-r9.patch b/www-client/chromium/files/chromium-compiler-r9.patch new file mode 100644 index 000000000000..6b6c81b2c07b --- /dev/null +++ b/www-client/chromium/files/chromium-compiler-r9.patch @@ -0,0 +1,196 @@ +From a1207cc75454e653030716948d27ec27412f6fe8 Mon Sep 17 00:00:00 2001 +From: Mike Gilbert +Date: Sat, 1 Jun 2019 14:22:57 +0100 +Subject: [PATCH] Disable various compiler configs + +--- + build/config/compiler/BUILD.gn | 68 +++++++++++++++------------------- + 1 file changed, 29 insertions(+), 39 deletions(-) + +diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn +index 4b24c76..0737326 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") { +@@ -1433,6 +1417,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" ] +@@ -1447,6 +1437,10 @@ config("default_warnings") { + # comments + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61638 + cflags += [ "-Wno-comments" ] ++ ++ # -Wpacked-not-aligned complains all generated mojom-shared-internal.h ++ # files. ++ cflags += [ "-Wno-packed-not-aligned" ] + } + } + +@@ -1523,7 +1517,7 @@ config("chromium_code") { + defines = [ "_HAS_NODISCARD" ] + } + } else { +- cflags = [ "-Wall" ] ++ cflags = [] + if (treat_warnings_as_errors) { + cflags += [ "-Werror" ] + +@@ -1532,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. +@@ -1544,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" ] +@@ -1941,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) { +@@ -1975,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. +@@ -1998,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. +@@ -2026,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: +@@ -2073,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: +@@ -2111,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" ] +@@ -2213,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. +@@ -2323,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) { + # Linker symbols for backtraces only. + cflags = [] +@@ -2380,7 +2369,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 + -- cgit v1.2.3