Gentoo Archives: gentoo-commits

From: Mike Gilbert <floppym@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: www-client/chromium/, www-client/chromium/files/
Date: Sun, 28 Jun 2020 02:21:10
Message-Id: 1593310851.7df14bbbf6f80e1fca0dc66dcf4c4530085cea9b.floppym@gentoo
1 commit: 7df14bbbf6f80e1fca0dc66dcf4c4530085cea9b
2 Author: Stephan Hartmann <stha09 <AT> googlemail <DOT> com>
3 AuthorDate: Fri Jun 19 17:13:58 2020 +0000
4 Commit: Mike Gilbert <floppym <AT> gentoo <DOT> org>
5 CommitDate: Sun Jun 28 02:20:51 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7df14bbb
7
8 www-client/chromium: beta channel bump to 84.0.4147.68
9
10 Closes: https://bugs.gentoo.org/689584
11 Closes: https://bugs.gentoo.org/655158
12 Package-Manager: Portage-2.3.99, Repoman-2.3.22
13 Signed-off-by: Stephan Hartmann <stha09 <AT> googlemail.com>
14 Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>
15
16 www-client/chromium/Manifest | 4 +-
17 www-client/chromium/chromium-84.0.4147.45.ebuild | 804 ---------------------
18 ...7.45-r1.ebuild => chromium-84.0.4147.68.ebuild} | 109 ++-
19 www-client/chromium/files/chromium-launcher-r4.sh | 52 ++
20 www-client/chromium/metadata.xml | 3 +
21 5 files changed, 140 insertions(+), 832 deletions(-)
22
23 diff --git a/www-client/chromium/Manifest b/www-client/chromium/Manifest
24 index ec6120b2d52..39875559fb8 100644
25 --- a/www-client/chromium/Manifest
26 +++ b/www-client/chromium/Manifest
27 @@ -1,6 +1,6 @@
28 DIST chromium-83.0.4103.106.tar.xz 802630620 BLAKE2B b145fd04347ef252778c99931d2e6aebc4cb9c3b4340db13ede074ac0631fef3c530b6b8c348ad33576a1da828817a590339206cf941729ee01444350bec1683 SHA512 37d0298ec6794f753bc280352c9ea45d57dd5050240d468fd2a7465b2021ebb598cdc6c4538050dd1d626bcd4a146af87fb837619e08766d38d21821605bd3a8
29 DIST chromium-83.0.4103.116.tar.xz 802626772 BLAKE2B 6890d8f4a4a9b12ab56a63e037129f6b77f03f95a841494505fdbbe212b0dd756e5558bddd7ee186669929c6069568c76b70b179fe4a58ccad465f2d4677d6e5 SHA512 dbd92fb04183ec1402401388f70b18b95040083c9ea8bf2ea6b1692fddc375b090968b13afb010ebf412b480b34747eb2c82709adbeb386cccf60b972f23254f
30 -DIST chromium-84-patchset-1.tar.xz 17652 BLAKE2B 17008a5d7b81fd9dd3934f815922a10c4b33bd4b3a13b350011d60627133f2179c2e70a6e74ef11ddf9b68b83b988fad3df15e9307f871006ccb7aca52c819da SHA512 2a45183c60794256b150bf67aa8395bab113e77b338775f737ebd8a822fd17be776b786ad12ffa759774a8876e0976a1c285ef90257e9532cfd9952baba7096d
31 -DIST chromium-84.0.4147.45.tar.xz 845103524 BLAKE2B 8b1e1c052b2ff3968fc4f13215551b9bd53b2fe89f15512d064267e82e71909f267d4f91665b456ad84ec537601e4fbc097eebc45b461f967aa8fe997da2716c SHA512 d43ef067ed855813d3f003cc8f7302d433c924a58ea79bdafa3ec1fe35b4f71a24c4493389563bbc88744ee8fce9b1664c62548e975e0e5a97c823f90aacfe30
32 +DIST chromium-84-patchset-3.tar.xz 20148 BLAKE2B d910570b43f63bcf4ead90ca4e4005a08d7c85b5b4e7af2a70ec4bc18265cbe8b075523878710075cfee4e0631eb3374e1e6d06251f4bf03377954807b1951e9 SHA512 316db8b0359b10a988242a0d665475d912fa9b610a547478d8c39b337afc02780a54d7024e231eb4fd402063cf439f6e2b4bb92a4968c8e0c3e69d84a2ae1664
33 +DIST chromium-84.0.4147.68.tar.xz 845188784 BLAKE2B a0185a5aacc1297f6240e2d887e980c69ba1219267714fb82c87e2ec31e4a3bee24ea9c059fc4f56dcc5c3e576d0baf5b59ec3576fc266daac583cf2b2917b56 SHA512 c5304dfa76ec9bf1d7e96116b6560b77d636eaa226acf7be46798f4b161c6aba90c54bec797dfbf1e48ece46d4e52e44737ed68457f9b10bbc11658a9020bffd
34 DIST setuptools-44.1.0.zip 858569 BLAKE2B f59f154e121502a731e51294ccd293d60ffccadacf51e23b53bf7ceba38858948b86783238061136c827ac3373ea7ea8e6253d4bb53f3f1dd69284568ec65a68 SHA512 4dfb0f42d334b835758e865a26ecd1e725711fa2b9c38ddc273b8b3849fba04527bc97436d11ba1e98f1a42922aa0f0b9032e32998273c705fac6e10735eacbf
35 DIST xcb-proto-1.14.tar.xz 143384 BLAKE2B 60212b0f0ce039a64a2e6cbbc78564eeffc57cff20987b37dc780d8d97ae888a7dbfbbaadc6e0e4bedfc5d1e360f16318e3825ad8406de668d9c7c66cf7f4b5d SHA512 de66d568163b6da2be9d6c59984f3afa3acd119a781378638045fd68018665ef5c9af98f024e9962ba3eb7c7a4d85c27ba70ffafceb2324ccc6940f34de16690
36
37 diff --git a/www-client/chromium/chromium-84.0.4147.45.ebuild b/www-client/chromium/chromium-84.0.4147.45.ebuild
38 deleted file mode 100644
39 index d50cafdca25..00000000000
40 --- a/www-client/chromium/chromium-84.0.4147.45.ebuild
41 +++ /dev/null
42 @@ -1,804 +0,0 @@
43 -# Copyright 2009-2020 Gentoo Authors
44 -# Distributed under the terms of the GNU General Public License v2
45 -
46 -EAPI=7
47 -PYTHON_COMPAT=( python2_7 )
48 -
49 -CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he
50 - 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
51 - sv sw ta te th tr uk vi zh-CN zh-TW"
52 -
53 -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
54 -
55 -DESCRIPTION="Open-source version of Google Chrome web browser"
56 -HOMEPAGE="https://chromium.org/"
57 -XCB_PROTO_VERSION="1.14"
58 -PATCHSET="1"
59 -PATCHSET_NAME="chromium-$(ver_cut 1)-patchset-${PATCHSET}"
60 -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz
61 - https://files.pythonhosted.org/packages/ed/7b/bbf89ca71e722b7f9464ebffe4b5ee20a9e5c9a555a56e2d3914bb9119a6/setuptools-44.1.0.zip
62 - https://www.x.org/releases/individual/proto/xcb-proto-${XCB_PROTO_VERSION}.tar.xz
63 - https://github.com/stha09/chromium-patches/releases/download/${PATCHSET_NAME}/${PATCHSET_NAME}.tar.xz"
64 -
65 -LICENSE="BSD"
66 -SLOT="0"
67 -KEYWORDS="~amd64 ~arm64 ~x86"
68 -IUSE="+closure-compile component-build cups cpu_flags_arm_neon +hangouts kerberos pic +proprietary-codecs pulseaudio selinux +suid +system-ffmpeg +system-icu +system-libvpx +tcmalloc widevine"
69 -RESTRICT="!system-ffmpeg? ( proprietary-codecs? ( bindist ) )"
70 -REQUIRED_USE="component-build? ( !suid )"
71 -
72 -COMMON_DEPEND="
73 - >=app-accessibility/at-spi2-atk-2.26:2
74 - app-arch/bzip2:=
75 - cups? ( >=net-print/cups-1.3.11:= )
76 - >=dev-libs/atk-2.26
77 - dev-libs/expat:=
78 - dev-libs/glib:2
79 - >=dev-libs/libxml2-2.9.4-r3:=[icu]
80 - dev-libs/nspr:=
81 - >=dev-libs/nss-3.26:=
82 - >=media-libs/alsa-lib-1.0.19:=
83 - media-libs/fontconfig:=
84 - media-libs/freetype:=
85 - >=media-libs/harfbuzz-2.4.0:0=[icu(-)]
86 - media-libs/libjpeg-turbo:=
87 - media-libs/libpng:=
88 - media-libs/mesa:=[gbm]
89 - system-libvpx? ( >=media-libs/libvpx-1.8.2:=[postproc,svc] )
90 - pulseaudio? ( media-sound/pulseaudio:= )
91 - system-ffmpeg? (
92 - >=media-video/ffmpeg-4:=
93 - || (
94 - media-video/ffmpeg[-samba]
95 - >=net-fs/samba-4.5.10-r1[-debug(-)]
96 - )
97 - >=media-libs/opus-1.3.1:=
98 - )
99 - sys-apps/dbus:=
100 - sys-apps/pciutils:=
101 - virtual/udev
102 - x11-libs/cairo:=
103 - x11-libs/gdk-pixbuf:2
104 - x11-libs/gtk+:3[X]
105 - x11-libs/libX11:=
106 - x11-libs/libXcomposite:=
107 - x11-libs/libXcursor:=
108 - x11-libs/libXdamage:=
109 - x11-libs/libXext:=
110 - x11-libs/libXfixes:=
111 - >=x11-libs/libXi-1.6.0:=
112 - x11-libs/libXrandr:=
113 - x11-libs/libXrender:=
114 - x11-libs/libXScrnSaver:=
115 - x11-libs/libXtst:=
116 - x11-libs/pango:=
117 - media-libs/flac:=
118 - >=media-libs/libwebp-0.4.0:=
119 - sys-libs/zlib:=[minizip]
120 - kerberos? ( virtual/krb5 )
121 -"
122 -# For nvidia-drivers blocker, see bug #413637 .
123 -RDEPEND="${COMMON_DEPEND}
124 - x11-misc/xdg-utils
125 - virtual/opengl
126 - virtual/ttf-fonts
127 - selinux? ( sec-policy/selinux-chromium )
128 - tcmalloc? ( !<x11-drivers/nvidia-drivers-331.20 )
129 -"
130 -DEPEND="${COMMON_DEPEND}
131 -"
132 -# dev-vcs/git - https://bugs.gentoo.org/593476
133 -BDEPEND="
134 - ${PYTHON_DEPS}
135 - >=app-arch/gzip-1.7
136 - app-arch/unzip
137 - dev-lang/perl
138 - >=dev-util/gn-0.1726
139 - dev-vcs/git
140 - >=dev-util/gperf-3.0.3
141 - >=dev-util/ninja-1.7.2
142 - >=net-libs/nodejs-7.6.0[inspector]
143 - sys-apps/hwids[usb(+)]
144 - >=sys-devel/bison-2.4.3
145 - sys-devel/flex
146 - virtual/pkgconfig
147 - closure-compile? ( virtual/jre )
148 -"
149 -
150 -: ${CHROMIUM_FORCE_CLANG=no}
151 -: ${CHROMIUM_FORCE_LIBCXX=no}
152 -
153 -if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then
154 - BDEPEND+=" >=sys-devel/clang-9"
155 -fi
156 -
157 -if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then
158 - RDEPEND+=" >=sys-libs/libcxx-9"
159 - DEPEND+=" >=sys-libs/libcxx-9"
160 -else
161 - COMMON_DEPEND="
162 - app-arch/snappy:=
163 - dev-libs/libxslt:=
164 - >=dev-libs/re2-0.2019.08.01:=
165 - >=media-libs/openh264-1.6.0:=
166 - system-icu? ( >=dev-libs/icu-67.1:= )
167 - "
168 - RDEPEND+="${COMMON_DEPEND}"
169 - DEPEND+="${COMMON_DEPEND}"
170 -fi
171 -
172 -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then
173 - EBUILD_DEATH_HOOKS+=" chromium_pkg_die";
174 -fi
175 -
176 -DISABLE_AUTOFORMATTING="yes"
177 -DOC_CONTENTS="
178 -Some web pages may require additional fonts to display properly.
179 -Try installing some of the following packages if some characters
180 -are not displayed properly:
181 -- media-fonts/arphicfonts
182 -- media-fonts/droid
183 -- media-fonts/ipamonafont
184 -- media-fonts/noto
185 -- media-fonts/ja-ipafonts
186 -- media-fonts/takao-fonts
187 -- media-fonts/wqy-microhei
188 -- media-fonts/wqy-zenhei
189 -
190 -To fix broken icons on the Downloads page, you should install an icon
191 -theme that covers the appropriate MIME types, and configure this as your
192 -GTK+ icon theme.
193 -
194 -For native file dialogs in KDE, install kde-apps/kdialog.
195 -
196 -To make password storage work with your desktop environment you may
197 -have install one of the supported credentials management applications:
198 -- app-crypt/libsecret (GNOME)
199 -- kde-frameworks/kwallet (KDE)
200 -If you have one of above packages installed, but don't want to use
201 -them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS
202 -in /etc/chromium/default.
203 -"
204 -
205 -pre_build_checks() {
206 - if [[ ${MERGE_TYPE} != binary ]]; then
207 - local -x CPP="$(tc-getCXX) -E"
208 - if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 9.2; then
209 - die "At least gcc 9.2 is required"
210 - fi
211 - # component build hangs with tcmalloc enabled due to sandbox issue, bug #695976.
212 - if has usersandbox ${FEATURES} && use tcmalloc && use component-build; then
213 - die "Component build with tcmalloc requires FEATURES=-usersandbox."
214 - fi
215 - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || tc-is-clang; then
216 - if use component-build; then
217 - die "Component build with clang requires fuzzer headers."
218 - fi
219 - fi
220 - fi
221 -
222 - # Check build requirements, bug #541816 and bug #471810 .
223 - CHECKREQS_MEMORY="3G"
224 - CHECKREQS_DISK_BUILD="7G"
225 - if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then
226 - if use custom-cflags || use component-build; then
227 - CHECKREQS_DISK_BUILD="25G"
228 - fi
229 - if ! use component-build; then
230 - CHECKREQS_MEMORY="16G"
231 - fi
232 - fi
233 - check-reqs_pkg_setup
234 -}
235 -
236 -pkg_pretend() {
237 - pre_build_checks
238 -}
239 -
240 -pkg_setup() {
241 - pre_build_checks
242 -
243 - chromium_suid_sandbox_check_kernel_config
244 -}
245 -
246 -src_prepare() {
247 - # Calling this here supports resumption via FEATURES=keepwork
248 - python_setup
249 -
250 - eapply "${WORKDIR}/patches"
251 -
252 - default
253 -
254 - mkdir -p third_party/node/linux/node-linux-x64/bin || die
255 - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die
256 -
257 - local keeplibs=(
258 - base/third_party/cityhash
259 - base/third_party/double_conversion
260 - base/third_party/dynamic_annotations
261 - base/third_party/icu
262 - base/third_party/nspr
263 - base/third_party/superfasthash
264 - base/third_party/symbolize
265 - base/third_party/valgrind
266 - base/third_party/xdg_mime
267 - base/third_party/xdg_user_dirs
268 - buildtools/third_party/libc++
269 - buildtools/third_party/libc++abi
270 - chrome/third_party/mozilla_security_manager
271 - courgette/third_party
272 - net/third_party/mozilla_security_manager
273 - net/third_party/nss
274 - net/third_party/quic
275 - net/third_party/uri_template
276 - third_party/abseil-cpp
277 - third_party/angle
278 - third_party/angle/src/common/third_party/base
279 - third_party/angle/src/common/third_party/smhasher
280 - third_party/angle/src/common/third_party/xxhash
281 - third_party/angle/src/third_party/compiler
282 - third_party/angle/src/third_party/libXNVCtrl
283 - third_party/angle/src/third_party/trace_event
284 - third_party/angle/src/third_party/volk
285 - third_party/angle/third_party/glslang
286 - third_party/angle/third_party/spirv-headers
287 - third_party/angle/third_party/spirv-tools
288 - third_party/angle/third_party/vulkan-headers
289 - third_party/angle/third_party/vulkan-loader
290 - third_party/angle/third_party/vulkan-tools
291 - third_party/angle/third_party/vulkan-validation-layers
292 - third_party/apple_apsl
293 - third_party/axe-core
294 - third_party/blink
295 - third_party/boringssl
296 - third_party/boringssl/src/third_party/fiat
297 - third_party/breakpad
298 - third_party/breakpad/breakpad/src/third_party/curl
299 - third_party/brotli
300 - third_party/cacheinvalidation
301 - third_party/catapult
302 - third_party/catapult/common/py_vulcanize/third_party/rcssmin
303 - third_party/catapult/common/py_vulcanize/third_party/rjsmin
304 - third_party/catapult/third_party/beautifulsoup4
305 - third_party/catapult/third_party/html5lib-python
306 - third_party/catapult/third_party/polymer
307 - third_party/catapult/third_party/six
308 - third_party/catapult/tracing/third_party/d3
309 - third_party/catapult/tracing/third_party/gl-matrix
310 - third_party/catapult/tracing/third_party/jpeg-js
311 - third_party/catapult/tracing/third_party/jszip
312 - third_party/catapult/tracing/third_party/mannwhitneyu
313 - third_party/catapult/tracing/third_party/oboe
314 - third_party/catapult/tracing/third_party/pako
315 - third_party/ced
316 - third_party/cld_3
317 - third_party/closure_compiler
318 - third_party/crashpad
319 - third_party/crashpad/crashpad/third_party/lss
320 - third_party/crashpad/crashpad/third_party/zlib
321 - third_party/crc32c
322 - third_party/cros_system_api
323 - third_party/dav1d
324 - third_party/dawn
325 - third_party/depot_tools
326 - third_party/devscripts
327 - third_party/devtools-frontend
328 - third_party/devtools-frontend/src/front_end/third_party/acorn
329 - third_party/devtools-frontend/src/front_end/third_party/codemirror
330 - third_party/devtools-frontend/src/front_end/third_party/fabricjs
331 - third_party/devtools-frontend/src/front_end/third_party/lighthouse
332 - third_party/devtools-frontend/src/front_end/third_party/wasmparser
333 - third_party/devtools-frontend/src/third_party
334 - third_party/dom_distiller_js
335 - third_party/emoji-segmenter
336 - third_party/flatbuffers
337 - third_party/freetype
338 - third_party/libgifcodec
339 - third_party/glslang
340 - third_party/google_input_tools
341 - third_party/google_input_tools/third_party/closure_library
342 - third_party/google_input_tools/third_party/closure_library/third_party/closure
343 - third_party/googletest
344 - third_party/harfbuzz-ng/utils
345 - third_party/hunspell
346 - third_party/iccjpeg
347 - third_party/inspector_protocol
348 - third_party/jinja2
349 - third_party/jsoncpp
350 - third_party/jstemplate
351 - third_party/khronos
352 - third_party/leveldatabase
353 - third_party/libXNVCtrl
354 - third_party/libaddressinput
355 - third_party/libaom
356 - third_party/libaom/source/libaom/third_party/vector
357 - third_party/libaom/source/libaom/third_party/x86inc
358 - third_party/libavif
359 - third_party/libjingle
360 - third_party/libphonenumber
361 - third_party/libsecret
362 - third_party/libsrtp
363 - third_party/libsync
364 - third_party/libudev
365 - third_party/libwebm
366 - third_party/libxml/chromium
367 - third_party/libyuv
368 - third_party/llvm
369 - third_party/lottie
370 - third_party/lss
371 - third_party/lzma_sdk
372 - third_party/mako
373 - third_party/markupsafe
374 - third_party/mesa
375 - third_party/metrics_proto
376 - third_party/modp_b64
377 - third_party/nasm
378 - third_party/node
379 - third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2
380 - third_party/one_euro_filter
381 - third_party/openscreen
382 - third_party/openscreen/src/third_party/mozilla
383 - third_party/openscreen/src/third_party/tinycbor/src/src
384 - third_party/ots
385 - third_party/pdfium
386 - third_party/pdfium/third_party/agg23
387 - third_party/pdfium/third_party/base
388 - third_party/pdfium/third_party/bigint
389 - third_party/pdfium/third_party/freetype
390 - third_party/pdfium/third_party/lcms
391 - third_party/pdfium/third_party/libopenjpeg20
392 - third_party/pdfium/third_party/libpng16
393 - third_party/pdfium/third_party/libtiff
394 - third_party/pdfium/third_party/skia_shared
395 - third_party/perfetto
396 - third_party/pffft
397 - third_party/ply
398 - third_party/polymer
399 - third_party/private-join-and-compute
400 - third_party/protobuf
401 - third_party/protobuf/third_party/six
402 - third_party/pyjson5
403 - third_party/qcms
404 - third_party/rnnoise
405 - third_party/s2cellid
406 - third_party/schema_org
407 - third_party/simplejson
408 - third_party/skia
409 - third_party/skia/include/third_party/skcms
410 - third_party/skia/include/third_party/vulkan
411 - third_party/skia/third_party/skcms
412 - third_party/skia/third_party/vulkan
413 - third_party/smhasher
414 - third_party/spirv-headers
415 - third_party/SPIRV-Tools
416 - third_party/sqlite
417 - third_party/swiftshader
418 - third_party/swiftshader/third_party/astc-encoder
419 - third_party/swiftshader/third_party/llvm-7.0
420 - third_party/swiftshader/third_party/llvm-subzero
421 - third_party/swiftshader/third_party/marl
422 - third_party/swiftshader/third_party/subzero
423 - third_party/swiftshader/third_party/SPIRV-Headers/include/spirv/unified1
424 - third_party/unrar
425 - third_party/usrsctp
426 - third_party/vulkan
427 - third_party/web-animations-js
428 - third_party/webdriver
429 - third_party/webrtc
430 - third_party/webrtc/common_audio/third_party/ooura
431 - third_party/webrtc/common_audio/third_party/spl_sqrt_floor
432 - third_party/webrtc/modules/third_party/fft
433 - third_party/webrtc/modules/third_party/g711
434 - third_party/webrtc/modules/third_party/g722
435 - third_party/webrtc/rtc_base/third_party/base64
436 - third_party/webrtc/rtc_base/third_party/sigslot
437 - third_party/widevine
438 - third_party/woff2
439 - third_party/wuffs
440 - third_party/zlib/google
441 - tools/grit/third_party/six
442 - url/third_party/mozilla
443 - v8/src/third_party/siphash
444 - v8/src/third_party/valgrind
445 - v8/src/third_party/utf8-decoder
446 - v8/third_party/inspector_protocol
447 - v8/third_party/v8
448 -
449 - # gyp -> gn leftovers
450 - base/third_party/libevent
451 - third_party/adobe
452 - third_party/speech-dispatcher
453 - third_party/usb_ids
454 - third_party/xdg-utils
455 - )
456 - if ! use system-ffmpeg; then
457 - keeplibs+=( third_party/ffmpeg third_party/opus )
458 - fi
459 - if ! use system-icu; then
460 - keeplibs+=( third_party/icu )
461 - fi
462 - if ! use system-libvpx; then
463 - keeplibs+=( third_party/libvpx )
464 - keeplibs+=( third_party/libvpx/source/libvpx/third_party/x86inc )
465 -
466 - # we need to generate ppc64 stuff because upstream does not ship it yet
467 - # it has to be done before unbundling.
468 - if use ppc64; then
469 - pushd third_party/libvpx >/dev/null || die
470 - mkdir -p source/config/linux/ppc64 || die
471 - ./generate_gni.sh || die
472 - popd >/dev/null || die
473 - fi
474 - fi
475 - if use tcmalloc; then
476 - keeplibs+=( third_party/tcmalloc )
477 - fi
478 - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then
479 - keeplibs+=( third_party/libxml )
480 - keeplibs+=( third_party/libxslt )
481 - keeplibs+=( third_party/openh264 )
482 - keeplibs+=( third_party/re2 )
483 - keeplibs+=( third_party/snappy )
484 - if use system-icu; then
485 - keeplibs+=( third_party/icu )
486 - fi
487 - fi
488 - # Remove most bundled libraries. Some are still needed.
489 - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die
490 -}
491 -
492 -src_configure() {
493 - # Calling this here supports resumption via FEATURES=keepwork
494 - python_setup
495 -
496 - local myconf_gn=""
497 -
498 - # Make sure the build system will use the right tools, bug #340795.
499 - tc-export AR CC CXX NM
500 -
501 - if [[ ${CHROMIUM_FORCE_CLANG} == yes ]] && ! tc-is-clang; then
502 - # Force clang since gcc is pretty broken at the moment.
503 - CC=${CHOST}-clang
504 - CXX=${CHOST}-clang++
505 - strip-unsupported-flags
506 - fi
507 -
508 - if tc-is-clang; then
509 - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false"
510 - else
511 - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then
512 - die "Compiling with sys-libs/libcxx requires clang."
513 - fi
514 - myconf_gn+=" is_clang=false"
515 - fi
516 -
517 - # Define a custom toolchain for GN
518 - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\""
519 -
520 - if tc-is-cross-compiler; then
521 - tc-export BUILD_{AR,CC,CXX,NM}
522 - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\""
523 - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\""
524 - else
525 - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\""
526 - fi
527 -
528 - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory.
529 - myconf_gn+=" is_debug=false"
530 -
531 - # Component build isn't generally intended for use by end users. It's mostly useful
532 - # for development and debugging.
533 - myconf_gn+=" is_component_build=$(usex component-build true false)"
534 -
535 - myconf_gn+=" use_allocator=$(usex tcmalloc \"tcmalloc\" \"none\")"
536 -
537 - # Disable nacl, we can't build without pnacl (http://crbug.com/269560).
538 - myconf_gn+=" enable_nacl=false"
539 -
540 - # Use system-provided libraries.
541 - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733).
542 - # TODO: use_system_hunspell (upstream changes needed).
543 - # TODO: use_system_libsrtp (bug #459932).
544 - # TODO: use_system_protobuf (bug #525560).
545 - # TODO: use_system_ssl (http://crbug.com/58087).
546 - # TODO: use_system_sqlite (http://crbug.com/22208).
547 -
548 - # libevent: https://bugs.gentoo.org/593458
549 - local gn_system_libraries=(
550 - flac
551 - fontconfig
552 - freetype
553 - # Need harfbuzz_from_pkgconfig target
554 - #harfbuzz-ng
555 - libdrm
556 - libjpeg
557 - libpng
558 - libwebp
559 - zlib
560 - )
561 - if use system-ffmpeg; then
562 - gn_system_libraries+=( ffmpeg opus )
563 - fi
564 - if use system-icu; then
565 - gn_system_libraries+=( icu )
566 - fi
567 - if use system-libvpx; then
568 - gn_system_libraries+=( libvpx )
569 - fi
570 - if [[ ${CHROMIUM_FORCE_LIBCXX} != yes ]]; then
571 - # unbundle only without libc++, because libc++ is not fully ABI compatible with libstdc++
572 - gn_system_libraries+=( libxml )
573 - gn_system_libraries+=( libxslt )
574 - gn_system_libraries+=( openh264 )
575 - gn_system_libraries+=( re2 )
576 - gn_system_libraries+=( snappy )
577 - fi
578 - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die
579 -
580 - # See dependency logic in third_party/BUILD.gn
581 - myconf_gn+=" use_system_harfbuzz=true"
582 -
583 - # Disable deprecated libgnome-keyring dependency, bug #713012
584 - myconf_gn+=" use_gnome_keyring=false"
585 -
586 - # Optional dependencies.
587 - myconf_gn+=" closure_compile=$(usex closure-compile true false)"
588 - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)"
589 - myconf_gn+=" enable_widevine=$(usex widevine true false)"
590 - myconf_gn+=" use_cups=$(usex cups true false)"
591 - myconf_gn+=" use_kerberos=$(usex kerberos true false)"
592 - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)"
593 -
594 - # TODO: link_pulseaudio=true for GN.
595 -
596 - myconf_gn+=" fieldtrial_testing_like_official_build=true"
597 -
598 - # Never use bundled gold binary. Disable gold linker flags for now.
599 - # Do not use bundled clang.
600 - # Trying to use gold results in linker crash.
601 - myconf_gn+=" use_gold=false use_sysroot=false use_custom_libcxx=false"
602 -
603 - # Disable forced lld, bug 641556
604 - myconf_gn+=" use_lld=false"
605 -
606 - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)"
607 - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)"
608 - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\""
609 -
610 - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys .
611 - # Note: these are for Gentoo use ONLY. For your own distribution,
612 - # please get your own set of keys. Feel free to contact chromium@g.o
613 - # for more info.
614 - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc"
615 - local google_default_client_id="329227923882.apps.googleusercontent.com"
616 - local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu"
617 - myconf_gn+=" google_api_key=\"${google_api_key}\""
618 - myconf_gn+=" google_default_client_id=\"${google_default_client_id}\""
619 - myconf_gn+=" google_default_client_secret=\"${google_default_client_secret}\""
620 - local myarch="$(tc-arch)"
621 -
622 - # Avoid CFLAGS problems, bug #352457, bug #390147.
623 - if ! use custom-cflags; then
624 - replace-flags "-Os" "-O2"
625 - strip-flags
626 -
627 - # Debug info section overflows without component build
628 - # Prevent linker from running out of address space, bug #471810 .
629 - if ! use component-build || use x86; then
630 - filter-flags "-g*"
631 - fi
632 -
633 - # Prevent libvpx build failures. Bug 530248, 544702, 546984.
634 - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then
635 - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4
636 - fi
637 - fi
638 -
639 - if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then
640 - append-flags -stdlib=libc++
641 - append-ldflags -stdlib=libc++
642 - fi
643 -
644 - if [[ $myarch = amd64 ]] ; then
645 - myconf_gn+=" target_cpu=\"x64\""
646 - ffmpeg_target_arch=x64
647 - elif [[ $myarch = x86 ]] ; then
648 - myconf_gn+=" target_cpu=\"x86\""
649 - ffmpeg_target_arch=ia32
650 -
651 - # This is normally defined by compiler_cpu_abi in
652 - # build/config/compiler/BUILD.gn, but we patch that part out.
653 - append-flags -msse2 -mfpmath=sse -mmmx
654 - elif [[ $myarch = arm64 ]] ; then
655 - myconf_gn+=" target_cpu=\"arm64\""
656 - ffmpeg_target_arch=arm64
657 - elif [[ $myarch = arm ]] ; then
658 - myconf_gn+=" target_cpu=\"arm\""
659 - ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm)
660 - elif [[ $myarch = ppc64 ]] ; then
661 - myconf_gn+=" target_cpu=\"ppc64\""
662 - ffmpeg_target_arch=ppc64
663 - else
664 - die "Failed to determine target arch, got '$myarch'."
665 - fi
666 -
667 - # Make sure that -Werror doesn't get added to CFLAGS by the build system.
668 - # Depending on GCC version the warnings are different and we don't want
669 - # the build to fail because of that.
670 - myconf_gn+=" treat_warnings_as_errors=false"
671 -
672 - # Disable fatal linker warnings, bug 506268.
673 - myconf_gn+=" fatal_linker_warnings=false"
674 -
675 - # Bug 491582.
676 - export TMPDIR="${WORKDIR}/temp"
677 - mkdir -p -m 755 "${TMPDIR}" || die
678 -
679 - # https://bugs.gentoo.org/654216
680 - addpredict /dev/dri/ #nowarn
681 -
682 - #if ! use system-ffmpeg; then
683 - if false; then
684 - local build_ffmpeg_args=""
685 - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then
686 - build_ffmpeg_args+=" --disable-asm"
687 - fi
688 -
689 - # Re-configure bundled ffmpeg. See bug #491378 for example reasons.
690 - einfo "Configuring bundled ffmpeg..."
691 - pushd third_party/ffmpeg > /dev/null || die
692 - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \
693 - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die
694 - chromium/scripts/copy_config.sh || die
695 - chromium/scripts/generate_gn.py || die
696 - popd > /dev/null || die
697 - fi
698 -
699 - # Chromium relies on this, but was disabled in >=clang-10, crbug.com/1042470
700 - append-cxxflags $(test-flags-CXX -flax-vector-conversions=all)
701 -
702 - # Explicitly disable ICU data file support for system-icu builds.
703 - if use system-icu; then
704 - myconf_gn+=" icu_use_data_file=false"
705 - fi
706 -
707 - # Use bundled xcb-proto, bug #727000
708 - myconf_gn+=" xcbproto_path=\"${WORKDIR}/xcb-proto-${XCB_PROTO_VERSION}/src\""
709 -
710 - einfo "Configuring Chromium..."
711 - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release
712 - echo "$@"
713 - "$@" || die
714 -}
715 -
716 -src_compile() {
717 - # Final link uses lots of file descriptors.
718 - ulimit -n 2048
719 -
720 - # Calling this here supports resumption via FEATURES=keepwork
721 - python_setup
722 -
723 - # https://bugs.gentoo.org/717456
724 - # Use bundled xcb-proto, because system xcb-proto doesn't have Python 2.7 support
725 - local -x PYTHONPATH="${WORKDIR}/setuptools-44.1.0:${WORKDIR}/xcb-proto-${XCB_PROTO_VERSION}${PYTHONPATH+:}${PYTHONPATH}"
726 -
727 - #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die
728 -
729 - # Build mksnapshot and pax-mark it.
730 - local x
731 - for x in mksnapshot v8_context_snapshot_generator; do
732 - if tc-is-cross-compiler; then
733 - eninja -C out/Release "host/${x}"
734 - pax-mark m "out/Release/host/${x}"
735 - else
736 - eninja -C out/Release "${x}"
737 - pax-mark m "out/Release/${x}"
738 - fi
739 - done
740 -
741 - # Even though ninja autodetects number of CPUs, we respect
742 - # user's options, for debugging with -j 1 or any other reason.
743 - eninja -C out/Release chrome chromedriver
744 - use suid && eninja -C out/Release chrome_sandbox
745 -
746 - pax-mark m out/Release/chrome
747 -
748 - # Build manpage; bug #684550
749 - sed -e 's|@@PACKAGE@@|chromium-browser|g;
750 - s|@@MENUNAME@@|Chromium|g;' \
751 - chrome/app/resources/manpage.1.in > \
752 - out/Release/chromium-browser.1 || die
753 -
754 - # Build desktop file; bug #706786
755 - sed -e 's|@@MENUNAME@@|Chromium|g;
756 - s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g;
757 - s|@@PACKAGE@@|chromium-browser|g;
758 - s|\(^Exec=\)/usr/bin/|\1|g;' \
759 - chrome/installer/linux/common/desktop.template > \
760 - out/Release/chromium-browser-chromium.desktop || die
761 -}
762 -
763 -src_install() {
764 - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser"
765 - exeinto "${CHROMIUM_HOME}"
766 - doexe out/Release/chrome
767 -
768 - if use suid; then
769 - newexe out/Release/chrome_sandbox chrome-sandbox
770 - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox"
771 - fi
772 -
773 - doexe out/Release/chromedriver
774 -
775 - local sedargs=( -e "s:/usr/lib/:/usr/$(get_libdir)/:g" )
776 - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r3.sh" > chromium-launcher.sh || die
777 - doexe chromium-launcher.sh
778 -
779 - # It is important that we name the target "chromium-browser",
780 - # xdg-utils expect it; bug #355517.
781 - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser
782 - # keep the old symlink around for consistency
783 - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium
784 -
785 - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver
786 -
787 - # Allow users to override command-line options, bug #357629.
788 - insinto /etc/chromium
789 - newins "${FILESDIR}/chromium.default" "default"
790 -
791 - pushd out/Release/locales > /dev/null || die
792 - chromium_remove_language_paks
793 - popd
794 -
795 - insinto "${CHROMIUM_HOME}"
796 - doins out/Release/*.bin
797 - doins out/Release/*.pak
798 - doins out/Release/*.so
799 -
800 - if ! use system-icu; then
801 - doins out/Release/icudtl.dat
802 - fi
803 -
804 - doins -r out/Release/locales
805 - doins -r out/Release/resources
806 -
807 - if [[ -d out/Release/swiftshader ]]; then
808 - insinto "${CHROMIUM_HOME}/swiftshader"
809 - doins out/Release/swiftshader/*.so
810 - fi
811 -
812 - # Install icons
813 - local branding size
814 - for size in 16 24 32 48 64 128 256 ; do
815 - case ${size} in
816 - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;;
817 - *) branding="chrome/app/theme/chromium" ;;
818 - esac
819 - newicon -s ${size} "${branding}/product_logo_${size}.png" \
820 - chromium-browser.png
821 - done
822 -
823 - # Install desktop entry
824 - domenu out/Release/chromium-browser-chromium.desktop
825 -
826 - # Install GNOME default application entry (bug #303100).
827 - insinto /usr/share/gnome-control-center/default-apps
828 - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml
829 -
830 - # Install manpage; bug #684550
831 - doman out/Release/chromium-browser.1
832 - dosym chromium-browser.1 /usr/share/man/man1/chromium.1
833 -
834 - readme.gentoo_create_doc
835 -}
836 -
837 -pkg_postrm() {
838 - xdg_icon_cache_update
839 - xdg_desktop_database_update
840 -}
841 -
842 -pkg_postinst() {
843 - xdg_icon_cache_update
844 - xdg_desktop_database_update
845 - readme.gentoo_print_elog
846 -}
847
848 diff --git a/www-client/chromium/chromium-84.0.4147.45-r1.ebuild b/www-client/chromium/chromium-84.0.4147.68.ebuild
849 similarity index 93%
850 rename from www-client/chromium/chromium-84.0.4147.45-r1.ebuild
851 rename to www-client/chromium/chromium-84.0.4147.68.ebuild
852 index 966c8a05a06..fa4201cf1b1 100644
853 --- a/www-client/chromium/chromium-84.0.4147.45-r1.ebuild
854 +++ b/www-client/chromium/chromium-84.0.4147.68.ebuild
855 @@ -13,7 +13,7 @@ inherit check-reqs chromium-2 desktop flag-o-matic multilib ninja-utils pax-util
856 DESCRIPTION="Open-source version of Google Chrome web browser"
857 HOMEPAGE="https://chromium.org/"
858 XCB_PROTO_VERSION="1.14"
859 -PATCHSET="1"
860 +PATCHSET="3"
861 PATCHSET_NAME="chromium-$(ver_cut 1)-patchset-${PATCHSET}"
862 SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz
863 https://files.pythonhosted.org/packages/ed/7b/bbf89ca71e722b7f9464ebffe4b5ee20a9e5c9a555a56e2d3914bb9119a6/setuptools-44.1.0.zip
864 @@ -23,15 +23,31 @@ SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}
865 LICENSE="BSD"
866 SLOT="0"
867 KEYWORDS="~amd64 ~arm64 ~x86"
868 -IUSE="+closure-compile component-build cups cpu_flags_arm_neon +hangouts kerberos pic +proprietary-codecs pulseaudio selinux +suid +system-ffmpeg +system-icu +system-libvpx +tcmalloc widevine"
869 +IUSE="+closure-compile component-build cups cpu_flags_arm_neon +hangouts headless kerberos ozone pic +proprietary-codecs pulseaudio selinux +suid +system-ffmpeg +system-icu +system-libvpx +tcmalloc wayland widevine"
870 RESTRICT="!system-ffmpeg? ( proprietary-codecs? ( bindist ) )"
871 -REQUIRED_USE="component-build? ( !suid )"
872 +REQUIRED_USE="
873 + component-build? ( !suid )
874 + wayland? ( ozone )
875 +"
876 +
877 +COMMON_X_DEPEND="
878 + media-libs/mesa:=[gbm]
879 + x11-libs/libX11:=
880 + x11-libs/libXcomposite:=
881 + x11-libs/libXcursor:=
882 + x11-libs/libXdamage:=
883 + x11-libs/libXext:=
884 + x11-libs/libXfixes:=
885 + >=x11-libs/libXi-1.6.0:=
886 + x11-libs/libXrandr:=
887 + x11-libs/libXrender:=
888 + x11-libs/libXtst:=
889 + x11-libs/libxcb:=
890 +"
891
892 COMMON_DEPEND="
893 - >=app-accessibility/at-spi2-atk-2.26:2
894 app-arch/bzip2:=
895 cups? ( >=net-print/cups-1.3.11:= )
896 - >=dev-libs/atk-2.26
897 dev-libs/expat:=
898 dev-libs/glib:2
899 >=dev-libs/libxml2-2.9.4-r3:=[icu]
900 @@ -43,11 +59,11 @@ COMMON_DEPEND="
901 >=media-libs/harfbuzz-2.4.0:0=[icu(-)]
902 media-libs/libjpeg-turbo:=
903 media-libs/libpng:=
904 - media-libs/mesa:=[gbm]
905 system-libvpx? ( >=media-libs/libvpx-1.8.2:=[postproc,svc] )
906 pulseaudio? ( media-sound/pulseaudio:= )
907 system-ffmpeg? (
908 - >=media-video/ffmpeg-4:=
909 + >=media-video/ffmpeg-4:0
910 + <media-video/ffmpeg-4.3:0=
911 || (
912 media-video/ffmpeg[-samba]
913 >=net-fs/samba-4.5.10-r1[-debug(-)]
914 @@ -59,23 +75,31 @@ COMMON_DEPEND="
915 virtual/udev
916 x11-libs/cairo:=
917 x11-libs/gdk-pixbuf:2
918 - x11-libs/gtk+:3[X]
919 - x11-libs/libX11:=
920 - x11-libs/libXcomposite:=
921 - x11-libs/libXcursor:=
922 - x11-libs/libXdamage:=
923 - x11-libs/libXext:=
924 - x11-libs/libXfixes:=
925 - >=x11-libs/libXi-1.6.0:=
926 - x11-libs/libXrandr:=
927 - x11-libs/libXrender:=
928 - x11-libs/libXScrnSaver:=
929 - x11-libs/libXtst:=
930 x11-libs/pango:=
931 media-libs/flac:=
932 >=media-libs/libwebp-0.4.0:=
933 sys-libs/zlib:=[minizip]
934 kerberos? ( virtual/krb5 )
935 + ozone? (
936 + !headless? (
937 + ${COMMON_X_DEPEND}
938 + x11-libs/gtk+:3[wayland?,X]
939 + wayland? (
940 + dev-libs/wayland:=
941 + dev-libs/libffi:=
942 + x11-libs/libdrm:=
943 + x11-libs/libxkbcommon:=
944 + )
945 + )
946 + )
947 + !ozone? (
948 + >=app-accessibility/at-spi2-atk-2.26:2
949 + >=app-accessibility/at-spi2-core-2.26:2
950 + >=dev-libs/atk-2.26
951 + x11-libs/gtk+:3[X]
952 + x11-libs/libXScrnSaver:=
953 + ${COMMON_X_DEPEND}
954 + )
955 "
956 # For nvidia-drivers blocker, see bug #413637 .
957 RDEPEND="${COMMON_DEPEND}
958 @@ -160,6 +184,10 @@ them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS
959 in /etc/chromium/default.
960 "
961
962 +PATCHES=(
963 + "${FILESDIR}/chromium-84-mediaalloc.patch"
964 +)
965 +
966 pre_build_checks() {
967 if [[ ${MERGE_TYPE} != binary ]]; then
968 local -x CPP="$(tc-getCXX) -E"
969 @@ -206,7 +234,6 @@ src_prepare() {
970 python_setup
971
972 eapply "${WORKDIR}/patches"
973 - eapply "${FILESDIR}"/chromium-84-mediaalloc.patch
974
975 default
976
977 @@ -434,6 +461,9 @@ src_prepare() {
978 if use tcmalloc; then
979 keeplibs+=( third_party/tcmalloc )
980 fi
981 + if use ozone && use wayland && ! use headless ; then
982 + keeplibs+=( third_party/wayland )
983 + fi
984 if [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then
985 keeplibs+=( third_party/libxml )
986 keeplibs+=( third_party/libxslt )
987 @@ -658,9 +688,6 @@ src_configure() {
988 # Chromium relies on this, but was disabled in >=clang-10, crbug.com/1042470
989 append-cxxflags $(test-flags-CXX -flax-vector-conversions=all)
990
991 - # Silence lots of GCC warnings upstream doesn't seem to care about
992 - append-cxxflags -Wno-invalid-offsetof -Wno-attributes -Wno-pragmas
993 -
994 # Explicitly disable ICU data file support for system-icu builds.
995 if use system-icu; then
996 myconf_gn+=" icu_use_data_file=false"
997 @@ -669,6 +696,26 @@ src_configure() {
998 # Use bundled xcb-proto, bug #727000
999 myconf_gn+=" xcbproto_path=\"${WORKDIR}/xcb-proto-${XCB_PROTO_VERSION}/src\""
1000
1001 + # Enable ozone support
1002 + if use ozone; then
1003 + myconf_gn+=" use_ozone=true ozone_auto_platforms=false"
1004 + myconf_gn+=" ozone_platform_headless=true"
1005 + if ! use headless; then
1006 + myconf_gn+=" use_system_libdrm=true"
1007 + myconf_gn+=" ozone_platform_wayland=$(usex wayland true false)"
1008 + myconf_gn+=" ozone_platform_x11=true"
1009 + myconf_gn+=" ozone_platform_headless=true"
1010 + if use wayland; then
1011 + myconf_gn+=" use_system_minigbm=true use_xkbcommon=true"
1012 + myconf_gn+=" ozone_platform=\"wayland\""
1013 + else
1014 + myconf_gn+=" ozone_platform=\"x11\""
1015 + fi
1016 + else
1017 + myconf_gn+=" ozone_platform=\"headless\""
1018 + fi
1019 + fi
1020 +
1021 einfo "Configuring Chromium..."
1022 set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release
1023 echo "$@"
1024 @@ -734,8 +781,14 @@ src_install() {
1025
1026 doexe out/Release/chromedriver
1027
1028 - local sedargs=( -e "s:/usr/lib/:/usr/$(get_libdir)/:g" )
1029 - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r3.sh" > chromium-launcher.sh || die
1030 + ozone_auto_session () {
1031 + use ozone && use wayland && ! use headless && echo true || echo false
1032 + }
1033 + local sedargs=( -e
1034 + "s:/usr/lib/:/usr/$(get_libdir)/:g;
1035 + s:@@OZONE_AUTO_SESSION@@:$(ozone_auto_session):g"
1036 + )
1037 + sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r4.sh" > chromium-launcher.sh || die
1038 doexe chromium-launcher.sh
1039
1040 # It is important that we name the target "chromium-browser",
1041 @@ -757,7 +810,11 @@ src_install() {
1042 insinto "${CHROMIUM_HOME}"
1043 doins out/Release/*.bin
1044 doins out/Release/*.pak
1045 - doins out/Release/*.so
1046 + (
1047 + shopt -s nullglob
1048 + local files=(out/Release/*.so)
1049 + [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}"
1050 + )
1051
1052 if ! use system-icu; then
1053 doins out/Release/icudtl.dat
1054
1055 diff --git a/www-client/chromium/files/chromium-launcher-r4.sh b/www-client/chromium/files/chromium-launcher-r4.sh
1056 new file mode 100644
1057 index 00000000000..cb1e9f548b3
1058 --- /dev/null
1059 +++ b/www-client/chromium/files/chromium-launcher-r4.sh
1060 @@ -0,0 +1,52 @@
1061 +#!/bin/bash
1062 +
1063 +# Allow the user to override command-line flags, bug #357629.
1064 +# This is based on Debian's chromium-browser package, and is intended
1065 +# to be consistent with Debian.
1066 +for f in /etc/chromium/*; do
1067 + [[ -f ${f} ]] && source "${f}"
1068 +done
1069 +
1070 +# Prefer user defined CHROMIUM_USER_FLAGS (from env) over system
1071 +# default CHROMIUM_FLAGS (from /etc/chromium/default).
1072 +CHROMIUM_FLAGS=${CHROMIUM_USER_FLAGS:-"$CHROMIUM_FLAGS"}
1073 +
1074 +# Let the wrapped binary know that it has been run through the wrapper
1075 +export CHROME_WRAPPER=$(readlink -f "$0")
1076 +
1077 +PROGDIR=${CHROME_WRAPPER%/*}
1078 +
1079 +case ":$PATH:" in
1080 + *:$PROGDIR:*)
1081 + # $PATH already contains $PROGDIR
1082 + ;;
1083 + *)
1084 + # Append $PROGDIR to $PATH
1085 + export PATH="$PATH:$PROGDIR"
1086 + ;;
1087 +esac
1088 +
1089 +if [[ ${EUID} == 0 && -O ${XDG_CONFIG_HOME:-${HOME}} ]]; then
1090 + # Running as root with HOME owned by root.
1091 + # Pass --user-data-dir to work around upstream failsafe.
1092 + CHROMIUM_FLAGS="--user-data-dir=${XDG_CONFIG_HOME:-${HOME}/.config}/chromium
1093 + ${CHROMIUM_FLAGS}"
1094 +fi
1095 +
1096 +# Select session type
1097 +if @@OZONE_AUTO_SESSION@@; then
1098 + if [[ -z ${XDG_SESSION_TYPE+x} ]]; then
1099 + if [[ -z ${WAYLAND_DISPLAY+x} ]]; then
1100 + CHROMIUM_FLAGS="--ozone-platform=x11 ${CHROMIUM_FLAGS}"
1101 + else
1102 + CHROMIUM_FLAGS="--ozone-platform=wayland ${CHROMIUM_FLAGS}"
1103 + fi
1104 + else
1105 + CHROMIUM_FLAGS="--ozone-platform=${XDG_SESSION_TYPE} ${CHROMIUM_FLAGS}"
1106 + fi
1107 +fi
1108 +
1109 +# Set the .desktop file name
1110 +export CHROME_DESKTOP="chromium-browser-chromium.desktop"
1111 +
1112 +exec -a "chromium-browser" "$PROGDIR/chrome" --extra-plugin-dir=/usr/lib/nsbrowser/plugins ${CHROMIUM_FLAGS} "$@"
1113
1114 diff --git a/www-client/chromium/metadata.xml b/www-client/chromium/metadata.xml
1115 index c54bc9ef351..4be3cc80873 100644
1116 --- a/www-client/chromium/metadata.xml
1117 +++ b/www-client/chromium/metadata.xml
1118 @@ -8,7 +8,9 @@
1119 <use>
1120 <flag name="closure-compile">Enable closure type-checking for Chrome's web technology-based UI. Requires Java.</flag>
1121 <flag name="component-build">Split build into more shared libraries to speed up linking. Mostly intended for debugging and development, NOT RECOMMENDED for general use.</flag>
1122 + <flag name="headless">Build Ozone only with headless backend, NOT RECOMMENDED for general use.</flag>
1123 <flag name="hangouts">Enable support for Google Hangouts features such as screen sharing</flag>
1124 + <flag name="ozone">Enable Ozone platform abstraction layer with X11 backend.</flag>
1125 <flag name="pic">Disable optimized assembly code that is not PIC friendly</flag>
1126 <flag name="proprietary-codecs">Enable proprietary codecs like H.264, MP3</flag>
1127 <flag name="suid">Build the SUID sandbox, which is only needed on CONFIG_USER_NS=n kernels</flag>
1128 @@ -16,6 +18,7 @@
1129 <flag name="system-icu">Use system icu instead of the bundled one</flag>
1130 <flag name="system-libvpx">Use system libvpx instead of the bundled one</flag>
1131 <flag name="tcmalloc">Use bundled tcmalloc instead of system malloc</flag>
1132 + <flag name="wayland">Enable Wayland backend for Ozone.</flag>
1133 <flag name="widevine">Unsupported closed-source DRM capability (required by Netflix VOD)</flag>
1134 </use>
1135 </pkgmetadata>