From 2018227e9344edb9da15fc6a4a8298086cc2aa77 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sun, 2 Jun 2019 21:45:28 +0100 Subject: gentoo resync : 02.06.2019 --- www-client/chromium/Manifest | 12 +- www-client/chromium/chromium-73.0.3683.75.ebuild | 6 +- www-client/chromium/chromium-73.0.3683.86.ebuild | 6 +- www-client/chromium/chromium-74.0.3729.169.ebuild | 713 +++++++++++++++++++++ .../chromium/files/chromium-74-7685422.patch | 42 ++ .../chromium/files/chromium-74-c2c467f.patch | 75 +++ .../chromium/files/chromium-compiler-r8.patch | 169 +++++ www-client/chromium/files/quiche-00f47df.patch | 38 ++ 8 files changed, 1057 insertions(+), 4 deletions(-) create mode 100644 www-client/chromium/chromium-74.0.3729.169.ebuild create mode 100644 www-client/chromium/files/chromium-74-7685422.patch create mode 100644 www-client/chromium/files/chromium-74-c2c467f.patch create mode 100644 www-client/chromium/files/chromium-compiler-r8.patch create mode 100644 www-client/chromium/files/quiche-00f47df.patch (limited to 'www-client/chromium') diff --git a/www-client/chromium/Manifest b/www-client/chromium/Manifest index efde5657bd7f..299fbb387701 100644 --- a/www-client/chromium/Manifest +++ b/www-client/chromium/Manifest @@ -6,14 +6,22 @@ AUX chromium-73-gcc-4.patch 3500 BLAKE2B 0446dc3d5a073d0960fee4338a59452002734dd AUX chromium-73-gcc-5.patch 3388 BLAKE2B e8a2940ad9e6e23fe62d0897e5f24c38e9e9b75a08326ea0109eace1f3be8afba269d207a208289e0c9bfbf5be165e345594b97f2733ff0d895c6e054105b714 SHA512 524b3a0f9fdcb5a78a9e94a1e6ba8bfaa632471cb3cf3b2d4d32704744154ebec2b81178234259e2d1486694395c707050696874527375290564672417e64daf AUX chromium-73-gcc-6.patch 4452 BLAKE2B 0798c713701fcf438a388e47d89de454e27e7376494192630cc7bbf9edd4690163ba3ed450e52629a4adff67ce36a09c01dc95f450a5bb603bfcb02582a2c164 SHA512 f5d8ab6bd3e4cdb4aee6a7b7ecb552b675893c8902425b2451032372a2905ef2aef983e1a0660ca891dfaf5603c7ce79d979068ba8aafa2c5735d9051f7dc58e 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-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-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 AUX chromium.default 148 BLAKE2B 5ee5b582c59a6e4bef87bbb0e232e2470ad412b1fbbb3b9af6ef7153edb55c5b9080cc16a5a115b0c5b3c381aa87ce57a7b12bdd2070e67dac10a6c2995ddbaf SHA512 0d4849e03592fb58b05e62a43021eca7e61615616c8907c3b2e445402e03adaf9e8fa25b0a745d6c31eb037456215cc02b59e345a3a06d932e76cf990c92d739 +AUX quiche-00f47df.patch 1516 BLAKE2B 0c0f16cda814d9dc51ec3dabb3492cd7f010886bb85f7441c5f57df11e2b3e15b7552dd1fdf99143f5d0abccd5c828c5a930404b188104babdda8e4e5aafa394 SHA512 0d901d2499b4aeaeaad3ccbdd7b377fda90297927bf8dd1b0f7aecd74b55fcb07e6babaa6002c4d0b4d74a40996f6e874d1c9a89f8aa02c7edd4acc477b6f46a DIST chromium-73.0.3683.75.tar.xz 710439908 BLAKE2B 23ed7facf2f67e9bbfc2f1baf434892773d9d63dab10cebab350c3b0b2c75a07f84a4f677e01563a441cc3bae0d42212b3eb28b6d7c573b0137d25e478064a3b SHA512 52bd1dac782a2f7960eba48446d4dfc4c6c13c8e9de21bbee250fad2802beb222cff7bea9878c7338926030aa3aa7ffd2dd1238d35e261a0d766b2d9974fdaf6 DIST chromium-73.0.3683.86.tar.xz 710449412 BLAKE2B 87b4d15440e88be506920813a52e7a503ac81458aa3f2818490c28f6bb5cfc0ca24b316072e5a0664a8bfe6444be23e565579bc232cdfcef42acf8eeca9f216f SHA512 5dd450640c1ea30f7941231e8c459aec0312c18e089b2c8b9104c4ee835a8fa389f5fb9b301b46d87ce260956eaf3e3bd6aff6ae54c279a303aa757537cace15 -EBUILD chromium-73.0.3683.75.ebuild 21719 BLAKE2B a30038651590e33a60d116a3e16bc6273dd516bbee60c18112cfa713d88dde2718d7fea6f9891b067244e6dda5e66c02712ec3b9b36b8c4c3e72a42599c500e4 SHA512 f1c52cc5a79f009b437cd5c934597bf43ac41acfebe40fe97648e78b61e0b5f3974768810bf64af852aac06670e7b4a5ec391f23c78d19c4de5cf88e760b3e55 -EBUILD chromium-73.0.3683.86.ebuild 21772 BLAKE2B 10627c9dd6f47b0407416418e08021ccbcaf6449e7412b4669aa91380d71b6d5ad5f430dea063b5cae492f9579a220957a1daa97085f830e43d7213dea477ee4 SHA512 e837862b3c5af947571ac55cedf2d009b4858f451894a7211bcfa14b98bcec42913508dbe765264074447e7303a39011b234602e6c0734516ab50ffa3d96d891 +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 +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 MISC metadata.xml 1538 BLAKE2B 6c68f673e2892063f4b7a5afc8314356e3e8182d8765a193c36be7ed6b61e7680dbd0a58e2386904ff2877c81ad45cdae07754996f706f986f16f3a159500930 SHA512 16e98f9dc01cfdce307dd17fc2ba83ff1eff10eaeb65aaf9154b0dedfc61086334d56f50b6ce1d673715148e29e045eb0eed21495efef942ef56e4ba4e514187 diff --git a/www-client/chromium/chromium-73.0.3683.75.ebuild b/www-client/chromium/chromium-73.0.3683.75.ebuild index 1327e13b300e..4584a7724844 100644 --- a/www-client/chromium/chromium-73.0.3683.75.ebuild +++ b/www-client/chromium/chromium-73.0.3683.75.ebuild @@ -97,7 +97,7 @@ BDEPEND=" dev-lang/yasm ) dev-lang/perl - dev-util/gn + =dev-util/gperf-3.0.3 >=dev-util/ninja-1.7.2 @@ -136,6 +136,10 @@ are not displayed properly: 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. + +In order to have a native file dialog in an KDE desktop environment, please +install: +- kde-apps/kdialog " PATCHES=( diff --git a/www-client/chromium/chromium-73.0.3683.86.ebuild b/www-client/chromium/chromium-73.0.3683.86.ebuild index 21e07332c4e2..4d9ce8c95aea 100644 --- a/www-client/chromium/chromium-73.0.3683.86.ebuild +++ b/www-client/chromium/chromium-73.0.3683.86.ebuild @@ -97,7 +97,7 @@ BDEPEND=" dev-lang/yasm ) dev-lang/perl - dev-util/gn + =dev-util/gperf-3.0.3 >=dev-util/ninja-1.7.2 @@ -136,6 +136,10 @@ are not displayed properly: 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. + +In order to have a native file dialog in an KDE desktop environment, please +install: +- kde-apps/kdialog " PATCHES=( diff --git a/www-client/chromium/chromium-74.0.3729.169.ebuild b/www-client/chromium/chromium-74.0.3729.169.ebuild new file mode 100644 index 000000000000..ed2d4ab25170 --- /dev/null +++ b/www-client/chromium/chromium-74.0.3729.169.ebuild @@ -0,0 +1,713 @@ +# 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 + https://dev.gentoo.org/~floppym/dist/chromium-74-e1b1f3a.patch + https://dev.gentoo.org/~floppym/dist/chromium-74-2f28731.patch +" + +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-59:= ) + >=dev-libs/libxml2-2.9.4-r3:=[icu] + dev-libs/libxslt:= + dev-libs/nspr:= + >=dev-libs/nss-3.26:= + >=dev-libs/re2-0.2016.11.01:= + gnome-keyring? ( >=gnome-base/libgnome-keyring-3.12:= ) + >=media-libs/alsa-lib-1.0.19:= + media-libs/fontconfig:= + media-libs/freetype:= + >=media-libs/harfbuzz-2.2.0:0=[icu(-)] + media-libs/libjpeg-turbo:= + media-libs/libpng:= + system-libvpx? ( media-libs/libvpx:=[postproc,svc] ) + >=media-libs/openh264-1.6.0:= + pulseaudio? ( media-sound/pulseaudio:= ) + system-ffmpeg? ( + >=media-video/ffmpeg-4:= + || ( + media-video/ffmpeg[-samba] + >=net-fs/samba-4.5.10-r1[-debug(-)] + ) + !=net-fs/samba-4.5.12-r0 + media-libs/opus:= + ) + sys-apps/dbus:= + sys-apps/pciutils:= + virtual/udev + x11-libs/cairo:= + x11-libs/gdk-pixbuf:2 + x11-libs/gtk+:3[X] + x11-libs/libX11:= + x11-libs/libXcomposite:= + x11-libs/libXcursor:= + x11-libs/libXdamage:= + x11-libs/libXext:= + x11-libs/libXfixes:= + >=x11-libs/libXi-1.6.0:= + x11-libs/libXrandr:= + x11-libs/libXrender:= + x11-libs/libXScrnSaver:= + x11-libs/libXtst:= + x11-libs/pango:= + app-arch/snappy:= + media-libs/flac:= + >=media-libs/libwebp-0.4.0:= + sys-libs/zlib:=[minizip] + kerberos? ( virtual/krb5 ) +" +# For nvidia-drivers blocker, see bug #413637 . +RDEPEND="${COMMON_DEPEND} + ! gn leftovers + base/third_party/libevent + third_party/adobe + third_party/speech-dispatcher + third_party/usb_ids + third_party/yasm/run_yasm.py + third_party/xdg-utils + ) + if ! use system-ffmpeg; then + keeplibs+=( third_party/ffmpeg third_party/opus ) + fi + if ! use system-icu; then + keeplibs+=( third_party/icu ) + fi + if ! use system-libvpx; then + keeplibs+=( third_party/libvpx ) + keeplibs+=( third_party/libvpx/source/libvpx/third_party/x86inc ) + fi + if use tcmalloc; then + keeplibs+=( third_party/tcmalloc ) + fi + + # Remove most bundled libraries. Some are still needed. + build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die +} + +src_configure() { + # Calling this here supports resumption via FEATURES=keepwork + python_setup + + local myconf_gn="" + + # Make sure the build system will use the right tools, bug #340795. + tc-export AR CC CXX NM + + if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] && ! tc-is-clang; then + # Force clang since gcc is pretty broken at the moment. + CC=${CHOST}-clang + CXX=${CHOST}-clang++ + strip-unsupported-flags + fi + + if tc-is-clang; then + myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" + else + myconf_gn+=" is_clang=false" + fi + + # Define a custom toolchain for GN + myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" + + if tc-is-cross-compiler; then + tc-export BUILD_{AR,CC,CXX,NM} + myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" + myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" + else + myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" + fi + + # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. + myconf_gn+=" is_debug=false" + + # Component build isn't generally intended for use by end users. It's mostly useful + # for development and debugging. + myconf_gn+=" is_component_build=$(usex component-build true false)" + + # 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" + + # https://bugs.gentoo.org/588596 + #append-cxxflags $(test-flags-CXX -fno-delete-null-pointer-checks) + + # Bug 491582. + export TMPDIR="${WORKDIR}/temp" + mkdir -p -m 755 "${TMPDIR}" || die + + # https://bugs.gentoo.org/654216 + addpredict /dev/dri/ #nowarn + + #if ! use system-ffmpeg; then + if false; then + local build_ffmpeg_args="" + if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then + build_ffmpeg_args+=" --disable-asm" + fi + + # Re-configure bundled ffmpeg. See bug #491378 for example reasons. + einfo "Configuring bundled ffmpeg..." + pushd third_party/ffmpeg > /dev/null || die + chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \ + --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die + chromium/scripts/copy_config.sh || die + chromium/scripts/generate_gn.py || die + popd > /dev/null || die + fi + + einfo "Configuring Chromium..." + set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release + echo "$@" + "$@" || die +} + +src_compile() { + # Final link uses lots of file descriptors. + ulimit -n 2048 + + # Calling this here supports resumption via FEATURES=keepwork + python_setup + + #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die + + # Work around broken deps + #eninja -C out/Release gen/ui/accessibility/ax_enums.mojom{,-shared}.h + + # Build mksnapshot and pax-mark it. + local x + for x in mksnapshot v8_context_snapshot_generator; do + if tc-is-cross-compiler; then + eninja -C out/Release "host/${x}" + pax-mark m "out/Release/host/${x}" + else + eninja -C out/Release "${x}" + pax-mark m "out/Release/${x}" + fi + done + + # Even though ninja autodetects number of CPUs, we respect + # user's options, for debugging with -j 1 or any other reason. + eninja -C out/Release chrome chromedriver + use suid && eninja -C out/Release chrome_sandbox + + pax-mark m out/Release/chrome +} + +src_install() { + local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" + exeinto "${CHROMIUM_HOME}" + doexe out/Release/chrome + + if use suid; then + newexe out/Release/chrome_sandbox chrome-sandbox + fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" + fi + + doexe out/Release/chromedriver + + local sedargs=( -e "s:/usr/lib/:/usr/$(get_libdir)/:g" ) + sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r3.sh" > chromium-launcher.sh || die + doexe chromium-launcher.sh + + # It is important that we name the target "chromium-browser", + # xdg-utils expect it; bug #355517. + dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser + # keep the old symlink around for consistency + dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium + + dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver + + # Allow users to override command-line options, bug #357629. + insinto /etc/chromium + newins "${FILESDIR}/chromium.default" "default" + + pushd out/Release/locales > /dev/null || die + chromium_remove_language_paks + popd + + insinto "${CHROMIUM_HOME}" + doins out/Release/*.bin + doins out/Release/*.pak + doins out/Release/*.so + + if ! use system-icu; then + doins out/Release/icudtl.dat + fi + + doins -r out/Release/locales + doins -r out/Release/resources + + if [[ -d out/Release/swiftshader ]]; then + insinto "${CHROMIUM_HOME}/swiftshader" + doins out/Release/swiftshader/*.so + fi + + # Install icons and desktop entry. + local branding size + for size in 16 22 24 32 48 64 128 256 ; do + case ${size} in + 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; + *) branding="chrome/app/theme/chromium" ;; + esac + newicon -s ${size} "${branding}/product_logo_${size}.png" \ + chromium-browser.png + done + + local mime_types="text/html;text/xml;application/xhtml+xml;" + mime_types+="x-scheme-handler/http;x-scheme-handler/https;" # bug #360797 + mime_types+="x-scheme-handler/ftp;" # bug #412185 + mime_types+="x-scheme-handler/mailto;x-scheme-handler/webcal;" # bug #416393 + make_desktop_entry \ + chromium-browser \ + "Chromium" \ + chromium-browser \ + "Network;WebBrowser" \ + "MimeType=${mime_types}\nStartupWMClass=chromium-browser" + sed -e "/^Exec/s/$/ %U/" -i "${ED}"/usr/share/applications/*.desktop || die + + # Install GNOME default application entry (bug #303100). + insinto /usr/share/gnome-control-center/default-apps + newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml + + readme.gentoo_create_doc +} + +pkg_postrm() { + 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-74-7685422.patch b/www-client/chromium/files/chromium-74-7685422.patch new file mode 100644 index 000000000000..19747245bd78 --- /dev/null +++ b/www-client/chromium/files/chromium-74-7685422.patch @@ -0,0 +1,42 @@ +From 7685422a90e1da829cb32d685a4b970d30738098 Mon Sep 17 00:00:00 2001 +From: Jose Dapena Paz +Date: Wed, 3 Apr 2019 18:35:04 +0000 +Subject: [PATCH] base: Value::Type enum class size should be 8-bit. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +GCC is complaining because, when base::Type is used to declare the different +variants of Type in its union, they are forced to take 8-bit, that is smaller +than the enum class default size (same as int). + +So this change sets explicitely the enum class underlying type to be unsigned +char. + +BUG=chromium:819294 + +Change-Id: I1765e2503e2c3d3675c73ecb0f7f5bc33456e6f0 +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1550366 +Commit-Queue: José Dapena Paz +Reviewed-by: Jan Wilken Dörrie +Cr-Commit-Position: refs/heads/master@{#647382} +--- + base/values.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/base/values.h b/base/values.h +index c455936d4961..14b76acec02f 100644 +--- a/base/values.h ++++ b/base/values.h +@@ -86,7 +86,7 @@ class BASE_EXPORT Value { + // See technical note below explaining why this is used. + using DoubleStorage = struct { alignas(4) char v[sizeof(double)]; }; + +- enum class Type { ++ enum class Type : unsigned char { + NONE = 0, + BOOLEAN, + INTEGER, +-- +2.21.0 + diff --git a/www-client/chromium/files/chromium-74-c2c467f.patch b/www-client/chromium/files/chromium-74-c2c467f.patch new file mode 100644 index 000000000000..e9e5d22e4a87 --- /dev/null +++ b/www-client/chromium/files/chromium-74-c2c467f.patch @@ -0,0 +1,75 @@ +From c2c467f69fc00d353879d7add5f2c04a6acabbb1 Mon Sep 17 00:00:00 2001 +From: David 'Digit' Turner +Date: Wed, 20 Mar 2019 21:41:09 +0000 +Subject: [PATCH] base: Value::FindDoubleKey() converts integers to doubles + +Ensure that FindDoubleKey() can return the value of an +INTEGER key as a double. This is consistent with the behaviour +of Value::GetDouble() which will auto-convert INTEGER values +to doubles. + +BUG=646113 +R=dcheng@chromium.org,jdoerrie@chromium.org,sdefresne@chromium.org,hidehiko@chromium.org + +Change-Id: I2c08cb91b6cfd5db268a182ffffe16682d848008 +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1529017 +Reviewed-by: Sylvain Defresne +Reviewed-by: Daniel Cheng +Commit-Queue: David Turner +Cr-Commit-Position: refs/heads/master@{#642680} +--- + base/values.cc | 10 ++++++++-- + base/values.h | 2 ++ + base/values_unittest.cc | 2 +- + 3 files changed, 11 insertions(+), 3 deletions(-) + +diff --git a/base/values.cc b/base/values.cc +index 035aa2350cde..69d66ff8ab00 100644 +--- a/base/values.cc ++++ b/base/values.cc +@@ -339,8 +339,14 @@ base::Optional Value::FindIntKey(StringPiece key) const { + } + + base::Optional Value::FindDoubleKey(StringPiece key) const { +- const Value* result = FindKeyOfType(key, Type::DOUBLE); +- return result ? base::make_optional(result->double_value_) : base::nullopt; ++ const Value* result = FindKey(key); ++ if (result) { ++ if (result->is_int()) ++ return base::make_optional(static_cast(result->int_value_)); ++ if (result->is_double()) ++ return base::make_optional(result->double_value_); ++ } ++ return base::nullopt; + } + + const std::string* Value::FindStringKey(StringPiece key) const { +diff --git a/base/values.h b/base/values.h +index e31cadd83102..6f2cd3cc3d79 100644 +--- a/base/values.h ++++ b/base/values.h +@@ -200,6 +200,8 @@ class BASE_EXPORT Value { + // function's name. + base::Optional FindBoolKey(StringPiece key) const; + base::Optional FindIntKey(StringPiece key) const; ++ // Note FindDoubleKey() will auto-convert INTEGER keys to their double ++ // value, for consistency with GetDouble(). + base::Optional FindDoubleKey(StringPiece key) const; + + // |FindStringKey| returns |nullptr| if value is not found or not a string. +diff --git a/base/values_unittest.cc b/base/values_unittest.cc +index b23fd8332491..7c545c09d947 100644 +--- a/base/values_unittest.cc ++++ b/base/values_unittest.cc +@@ -674,7 +674,7 @@ TEST(ValuesTest, FindDoubleKey) { + const Value dict(std::move(storage)); + EXPECT_EQ(base::nullopt, dict.FindDoubleKey("null")); + EXPECT_EQ(base::nullopt, dict.FindDoubleKey("bool")); +- EXPECT_EQ(base::nullopt, dict.FindDoubleKey("int")); ++ EXPECT_NE(base::nullopt, dict.FindDoubleKey("int")); + EXPECT_NE(base::nullopt, dict.FindDoubleKey("double")); + EXPECT_EQ(base::nullopt, dict.FindDoubleKey("string")); + EXPECT_EQ(base::nullopt, dict.FindDoubleKey("blob")); +-- +2.21.0 + diff --git a/www-client/chromium/files/chromium-compiler-r8.patch b/www-client/chromium/files/chromium-compiler-r8.patch new file mode 100644 index 000000000000..5d8bd0efecd5 --- /dev/null +++ b/www-client/chromium/files/chromium-compiler-r8.patch @@ -0,0 +1,169 @@ +From aff4a3a1c35dc37141a61d2c6b7e703a55f9b371 Mon Sep 17 00:00:00 2001 +From: Mike Gilbert +Date: Sat, 23 Mar 2019 12:12:37 -0400 +Subject: [PATCH] Disable various compiler configs + +--- + build/config/compiler/BUILD.gn | 55 ++++++++++++---------------------- + 1 file changed, 19 insertions(+), 36 deletions(-) + +diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn +index ca6ff2b13809..b614709cd1db 100644 +--- a/build/config/compiler/BUILD.gn ++++ b/build/config/compiler/BUILD.gn +@@ -240,8 +240,6 @@ config("compiler") { + + configs += [ + # See the definitions below. +- ":clang_revision", +- ":compiler_cpu_abi", + ":compiler_codegen", + ":compiler_deterministic", + ] +@@ -489,17 +487,6 @@ config("compiler") { + } + } + +- if (is_clang && !is_nacl && !use_xcode_clang) { +- cflags += [ +- # TODO(hans): Remove this once Clang generates better optimized debug info +- # by default. https://crbug.com/765793 +- "-Xclang", +- "-mllvm", +- "-Xclang", +- "-instcombine-lower-dbg-declare=0", +- ] +- } +- + # Print absolute paths in diagnostics. There is no precedent for doing this + # on Linux/Mac (GCC doesn't support it), but MSVC does this with /FC and + # Windows developers rely on it (crbug.com/636109) so only do this on Windows. +@@ -1540,7 +1527,7 @@ config("chromium_code") { + defines = [ "_HAS_NODISCARD" ] + } + } else { +- cflags = [ "-Wall" ] ++ cflags = [] + if (treat_warnings_as_errors) { + cflags += [ "-Werror" ] + +@@ -1549,10 +1536,6 @@ config("chromium_code") { + # well. + ldflags = [ "-Werror" ] + } +- if (is_clang) { +- # Enable extra warnings for chromium_code when we control the compiler. +- cflags += [ "-Wextra" ] +- } + + # In Chromium code, we define __STDC_foo_MACROS in order to get the + # C99 macros on Mac and Linux. +@@ -1561,15 +1544,6 @@ config("chromium_code") { + "__STDC_FORMAT_MACROS", + ] + +- if (!is_debug && !using_sanitizer && current_cpu != "s390x" && +- current_cpu != "s390" && current_cpu != "ppc64" && +- current_cpu != "mips" && current_cpu != "mips64") { +- # Non-chromium code is not guaranteed to compile cleanly with +- # _FORTIFY_SOURCE. Also, fortified build may fail when optimizations are +- # disabled, so only do that for Release build. +- defines += [ "_FORTIFY_SOURCE=2" ] +- } +- + if (is_mac) { + cflags_objc = [ "-Wobjc-missing-property-synthesis" ] + cflags_objcc = [ "-Wobjc-missing-property-synthesis" ] +@@ -1949,7 +1923,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) { +@@ -1983,7 +1958,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. +@@ -2006,7 +1982,8 @@ config("optimize_no_wpo") { + } + + # Turn off optimizations. +-config("no_optimize") { ++config("no_optimize") { } ++config("xno_optimize") { + if (is_win) { + cflags = [ + "/Od", # Disable optimization. +@@ -2034,7 +2011,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: +@@ -2081,7 +2059,8 @@ config("optimize_max") { + # + # TODO(crbug.com/621335) - rework how all of these configs are related + # so that we don't need this disclaimer. +-config("optimize_speed") { ++config("optimize_speed") { } ++config("xoptimize_speed") { + if (is_nacl && is_nacl_irt) { + # The NaCl IRT is a special case and always wants its own config. + # Various components do: +@@ -2119,7 +2098,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" ] +@@ -2221,7 +2201,8 @@ config("win_pdbaltpath") { + } + + # Full symbols. +-config("symbols") { ++config("symbols") { } ++config("xsymbols") { + if (is_win) { + if (use_goma || is_clang) { + # Note that with VC++ this requires is_win_fastlink, enforced elsewhere. +@@ -2328,7 +2309,8 @@ config("symbols") { + # Minimal symbols. + # This config guarantees to hold symbol for stack trace which are shown to user + # when crash happens in unittests running on buildbot. +-config("minimal_symbols") { ++config("minimal_symbols") { } ++config("xminimal_symbols") { + if (is_win) { + # Linker symbols for backtraces only. + cflags = [] +@@ -2380,7 +2362,8 @@ config("minimal_symbols") { + } + + # No symbols. +-config("no_symbols") { ++config("no_symbols") { } ++config("xno_symbols") { + if (!is_win) { + cflags = [ "-g0" ] + asmflags = cflags +-- +2.21.0 + diff --git a/www-client/chromium/files/quiche-00f47df.patch b/www-client/chromium/files/quiche-00f47df.patch new file mode 100644 index 000000000000..720edf934d30 --- /dev/null +++ b/www-client/chromium/files/quiche-00f47df.patch @@ -0,0 +1,38 @@ +From 00f47df999c9b19e80fdc01db0ae9ca1b6a12b3a Mon Sep 17 00:00:00 2001 +From: vasilvv +Date: Wed, 3 Apr 2019 13:58:53 -0700 +Subject: [PATCH] GCC: do not delete move constructor of QuicStreamSendBuffer +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +QuicStreamSendBuffer constructor is implicitely required in the +initialization of the vector of substreams in QuicCryptoStream. +Though clang apparently ignores that, GCC fails to build. + +BUG=chromium:819294 + +Originally submitted by José Dapena Paz at https://quiche-review.googlesource.com/c/quiche/+/2420 + +PiperOrigin-RevId: 241800134 +Change-Id: I4e3c97d6e5895d85340e8c1b740e6196d9104066 +--- + quic/core/quic_stream_send_buffer.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/quic/core/quic_stream_send_buffer.h b/quic/core/quic_stream_send_buffer.h +index e34514b..74e9d0d 100644 +--- a/net/third_party/quic/core/quic_stream_send_buffer.h ++++ b/net/third_party/quic/core/quic_stream_send_buffer.h +@@ -62,7 +62,7 @@ class QUIC_EXPORT_PRIVATE QuicStreamSendBuffer { + public: + explicit QuicStreamSendBuffer(QuicBufferAllocator* allocator); + QuicStreamSendBuffer(const QuicStreamSendBuffer& other) = delete; +- QuicStreamSendBuffer(QuicStreamSendBuffer&& other) = delete; ++ QuicStreamSendBuffer(QuicStreamSendBuffer&& other) = default; + ~QuicStreamSendBuffer(); + + // Save |data_length| of data starts at |iov_offset| in |iov| to send buffer. +-- +2.21.0 + -- cgit v1.2.3