summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephan Hartmann <stha09@googlemail.com>2020-04-26 12:50:16 +0200
committerMike Gilbert <floppym@gentoo.org>2020-04-26 14:50:48 -0400
commita104ce28fc3964de220137cbc1e56131086cd2ed (patch)
tree7b904b0001ae98049a1b5c705e96ce313c2dbb3c /www-client/chromium
parentmedia-video/handbrake: migrate from libav (diff)
downloadgentoo-a104ce28fc3964de220137cbc1e56131086cd2ed.tar.gz
gentoo-a104ce28fc3964de220137cbc1e56131086cd2ed.tar.bz2
gentoo-a104ce28fc3964de220137cbc1e56131086cd2ed.zip
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 <stha09@googlemail.com> Signed-off-by: Mike Gilbert <floppym@gentoo.org>
Diffstat (limited to 'www-client/chromium')
-rw-r--r--www-client/chromium/Manifest2
-rw-r--r--www-client/chromium/chromium-83.0.4103.23.ebuild (renamed from www-client/chromium/chromium-83.0.4103.14.ebuild)56
2 files changed, 45 insertions, 13 deletions
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
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