From: Stephan Hartmann Date: Sun, 26 Apr 2020 10:50:16 +0000 (+0200) Subject: www-client/chromium: beta channel bump to 83.0.4103.23 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=a104ce28fc3964de220137cbc1e56131086cd2ed;p=gentoo.git www-client/chromium: beta channel bump to 83.0.4103.23 Add CHROMIUM_FORCE_LIBCXX to force linking against sys-libs/libcxx. This prevents unbundling of some C++ libraries (icu, libxml2, libxslt, re2, openh264, snappy), because system libraries are most likely linked against libstdc++. However, libstc++ and libc++ are not fully ABI compatible. Package-Manager: Portage-2.3.89, Repoman-2.3.20 Signed-off-by: Stephan Hartmann Signed-off-by: Mike Gilbert --- diff --git a/www-client/chromium/Manifest b/www-client/chromium/Manifest index bb677b2c3a02..5208c9699e6d 100644 --- a/www-client/chromium/Manifest +++ b/www-client/chromium/Manifest @@ -1,3 +1,3 @@ DIST chromium-81.0.4044.122.tar.xz 786010072 BLAKE2B bf9106aefb09d48a1e517840aab3e14d477275cb06d73b2400ff7414e61a7e13a420ee286a580922f7e3512da765bc7348ed714c4b8505bd2e778c5b50ea16da SHA512 483fe530d2d60032cd3c79731840f6387036bc87c1002544d57744eaefec187dd8d9e0dd903f057df826fd59b3bf307b88d1596047ee65f4f8c0172389c546f8 -DIST chromium-83.0.4103.14.tar.xz 802476760 BLAKE2B bf8df2572018a99e735bcf6fe017db8b3832205e69073091b868c8a147419dabd480420a652761a4386fd2f1671c803c8f903bf3f9381b9059d251cb9d9773a9 SHA512 7fa4848a332c2c5cee3b946d82f83e8d1fc561e8c94682400e12dd1cd2df9a53c140f331dfc570d4b968bd54f283c57c61f52cca9f91d627c92b56ff0e23191d +DIST chromium-83.0.4103.23.tar.xz 802566932 BLAKE2B 00c9105a9b5e9cebc8adeb8a61b4491f0ca7cc95da9595506c77d556c0ee07074da0da506831bec1b390a39c7535220ab5c6d06ce784e6b20d2694f94d3b0a76 SHA512 08a50372570aa9da5fb9ccc6dfc3d949e84cb401d62d650132aa4edea2b1658fb56a81854fde11690d040e3b36b9d20da1ad7f83e47ffca77893ab57620c2a3e DIST setuptools-44.1.0.zip 858569 BLAKE2B f59f154e121502a731e51294ccd293d60ffccadacf51e23b53bf7ceba38858948b86783238061136c827ac3373ea7ea8e6253d4bb53f3f1dd69284568ec65a68 SHA512 4dfb0f42d334b835758e865a26ecd1e725711fa2b9c38ddc273b8b3849fba04527bc97436d11ba1e98f1a42922aa0f0b9032e32998273c705fac6e10735eacbf diff --git a/www-client/chromium/chromium-83.0.4103.14.ebuild b/www-client/chromium/chromium-83.0.4103.23.ebuild similarity index 95% rename from www-client/chromium/chromium-83.0.4103.14.ebuild rename to www-client/chromium/chromium-83.0.4103.23.ebuild index fbb86c05a27c..1c70eb46184d 100644 --- a/www-client/chromium/chromium-83.0.4103.14.ebuild +++ b/www-client/chromium/chromium-83.0.4103.23.ebuild @@ -29,12 +29,9 @@ COMMON_DEPEND=" >=dev-libs/atk-2.26 dev-libs/expat:= dev-libs/glib:2 - system-icu? ( >=dev-libs/icu-65:= ) >=dev-libs/libxml2-2.9.4-r3:=[icu] - dev-libs/libxslt:= dev-libs/nspr:= >=dev-libs/nss-3.26:= - >=dev-libs/re2-0.2019.08.01:= >=media-libs/alsa-lib-1.0.19:= media-libs/fontconfig:= media-libs/freetype:= @@ -42,7 +39,6 @@ COMMON_DEPEND=" media-libs/libjpeg-turbo:= media-libs/libpng:= system-libvpx? ( >=media-libs/libvpx-1.8.2:=[postproc,svc] ) - >=media-libs/openh264-1.6.0:= pulseaudio? ( media-sound/pulseaudio:= ) system-ffmpeg? ( >=media-video/ffmpeg-4:= @@ -70,7 +66,6 @@ COMMON_DEPEND=" 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] @@ -108,12 +103,32 @@ BDEPEND=" ) " -: ${CHROMIUM_FORCE_CLANG=no} +: ${CHROMIUM_FORCE_CLANG=yes} +: ${CHROMIUM_FORCE_LIBCXX=yes} if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then BDEPEND+=" >=sys-devel/clang-9" fi +if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then + RDEPEND+=" >=sys-libs/libcxx-9" + DEPEND+=" >=sys-libs/libcxx-9" + BDEPEND+=" + amd64? ( dev-lang/yasm ) + x86? ( dev-lang/yasm ) + " +else + COMMON_DEPEND=" + app-arch/snappy:= + dev-libs/libxslt:= + >=dev-libs/re2-0.2019.08.01:= + >=media-libs/openh264-1.6.0:= + system-icu? ( >=dev-libs/icu-65:= ) + " + RDEPEND+="${COMMON_DEPEND}" + DEPEND+="${COMMON_DEPEND}" +fi + if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; fi @@ -433,7 +448,13 @@ src_prepare() { if use tcmalloc; then keeplibs+=( third_party/tcmalloc ) fi - + if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then + keeplibs+=( third_party/libxml ) + keeplibs+=( third_party/libxslt ) + keeplibs+=( third_party/openh264 ) + keeplibs+=( third_party/re2 ) + keeplibs+=( third_party/snappy ) + fi # Remove most bundled libraries. Some are still needed. build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die } @@ -457,6 +478,9 @@ src_configure() { if tc-is-clang; then myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" else + if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then + die "Compiling with sys-libs/libcxx requires clang." + fi myconf_gn+=" is_clang=false" fi @@ -502,11 +526,6 @@ src_configure() { libjpeg libpng libwebp - libxml - libxslt - openh264 - re2 - snappy yasm zlib ) @@ -519,6 +538,14 @@ src_configure() { if use system-libvpx; then gn_system_libraries+=( libvpx ) fi + if [[ ${CHROMIUM_FORCE_LIBCXX} != yes ]]; then + # unbundle only without libc++, because libc++ is not fully ABI compatible with libstdc++ + gn_system_libraries+=( libxml ) + gn_system_libraries+=( libxslt ) + gn_system_libraries+=( openh264 ) + gn_system_libraries+=( re2 ) + gn_system_libraries+=( snappy ) + fi build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die # See dependency logic in third_party/BUILD.gn @@ -580,6 +607,11 @@ src_configure() { fi fi + if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then + append-flags -stdlib=libc++ + append-ldflags -stdlib=libc++ + fi + if [[ $myarch = amd64 ]] ; then myconf_gn+=" target_cpu=\"x64\"" ffmpeg_target_arch=x64