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/
Date: Tue, 31 Jul 2018 17:03:33
Message-Id: 1533056523.6a77ae2e6729c2d41752f9e16bdb2e48bd1cbb4c.floppym@gentoo
1 commit: 6a77ae2e6729c2d41752f9e16bdb2e48bd1cbb4c
2 Author: Mike Gilbert <floppym <AT> gentoo <DOT> org>
3 AuthorDate: Tue Jul 31 17:02:03 2018 +0000
4 Commit: Mike Gilbert <floppym <AT> gentoo <DOT> org>
5 CommitDate: Tue Jul 31 17:02:03 2018 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6a77ae2e
7
8 www-client/chromium: remove old
9
10 Package-Manager: Portage-2.3.43_p8, Repoman-2.3.10_p7
11
12 www-client/chromium/Manifest | 3 -
13 www-client/chromium/chromium-67.0.3396.87.ebuild | 687 ----------------------
14 www-client/chromium/chromium-67.0.3396.99.ebuild | 688 -----------------------
15 www-client/chromium/chromium-68.0.3440.68.ebuild | 687 ----------------------
16 4 files changed, 2065 deletions(-)
17
18 diff --git a/www-client/chromium/Manifest b/www-client/chromium/Manifest
19 index bdca129bffa..924d756aa2e 100644
20 --- a/www-client/chromium/Manifest
21 +++ b/www-client/chromium/Manifest
22 @@ -1,6 +1,3 @@
23 -DIST chromium-67.0.3396.87.tar.xz 591491608 BLAKE2B 9069c4b2e000e180a9b21bbdbb67428817073cd662830f7e736073833f2e6ab2f94f3127d15ed521e34c82de727f137e0065fd3aa7fa7312c4940b1bd8959ccc SHA512 6f9c108b70b63cd45e8238c1962ec11d4f2d01e4f2a6b6483bfafc7986ed6001d5f09f9b0b893c864a08bade9d93346395bb2d045dcafb2ef94b0f4e00f2fe0d
24 -DIST chromium-67.0.3396.99.tar.xz 592170796 BLAKE2B c214f2feb911bd375849f1c69a67dad797111107be7d8c7b99f503e67a62212c0340c8c21b1922cf0a5bfdc32507dfe337a9cddeb29674067c08e6e21a8585a5 SHA512 b1cc7f5988d30efae0b3954232a402e2906bb27113f453a67d865a79afecf6a124c7833635d6083ea40f0cb7344e3cdb4a02f3b8ba4b1cd9798b5d2bccb23242
25 -DIST chromium-68.0.3440.68.tar.xz 630241852 BLAKE2B c18ed31b87c8617f5776a63a4e7c816bf1ef5974ce74a662ba8bb35dde2aac7b4b1c23c52b4b6530d5998e0cc4cb42bcf88f07acbe8e4fc550257cfab536b86f SHA512 ca1458bd93425c77420ee991c6f9ab2624d9ae14dc457468146b0cecee097eb73bee8ee6c623aac67e8425713bde15f015094c96085086c084d924f5f25383c0
26 DIST chromium-68.0.3440.75.tar.xz 630277224 BLAKE2B 87c152c14333007223f611acb56360b553c5a4a97026f9cf4ca37d90aa501aabe5e294c3bacbd537c7602fc5dcb010a493c8d64b2881681ddfaad66cd58a3c56 SHA512 99ab36c9a9c224469f3a34f0193b0b4662b626ac29d23711716117cc6fa437717c2c3357f8a95adf9085b94a262c8b4c46727f88bf50bb231bb85af956afbedb
27 DIST chromium-69.0.3493.3.tar.xz 622878800 BLAKE2B 46aabdf4032471db8c6b461ebce6cfbc4fe99be55b959134c950bbba63d2c303673f48bb10004698f79abd4e22aa8b8c390ff6a12210020cf6bd8cf6cf8d8060 SHA512 96393f8939fccc8514094f9215496883f416669e61feb45b706610f67ff90672a88f9154fb06e59dec9d363c5e9a072bf1f2ba562dd533345a493664dabcb19e
28 DIST chromium-69.0.3497.12.tar.xz 618608916 BLAKE2B 08090979f0e78e4e0cfc5b638bfd4a3b94479f824d279dd3fe269ac8ce3d6820f5d56dabef76763f9e5d6ab335a84f9173db600c2c7060db66ed8462d6a57c24 SHA512 0eae307df50efb872271e395541e5434ab0cfbd4d1db66fec4ac0578ca228f391deb4e70ffa3af2adf26618b22961978d06692b39d20037a1da41512258e3c55
29
30 diff --git a/www-client/chromium/chromium-67.0.3396.87.ebuild b/www-client/chromium/chromium-67.0.3396.87.ebuild
31 deleted file mode 100644
32 index 4a5343767d8..00000000000
33 --- a/www-client/chromium/chromium-67.0.3396.87.ebuild
34 +++ /dev/null
35 @@ -1,687 +0,0 @@
36 -# Copyright 1999-2018 Gentoo Foundation
37 -# Distributed under the terms of the GNU General Public License v2
38 -
39 -EAPI="6"
40 -PYTHON_COMPAT=( python2_7 )
41 -
42 -CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he
43 - 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
44 - sv sw ta te th tr uk vi zh-CN zh-TW"
45 -
46 -inherit check-reqs chromium-2 eutils gnome2-utils flag-o-matic multilib ninja-utils pax-utils portability python-any-r1 readme.gentoo-r1 toolchain-funcs versionator xdg-utils
47 -
48 -DESCRIPTION="Open-source version of Google Chrome web browser"
49 -HOMEPAGE="http://chromium.org/"
50 -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz"
51 -
52 -LICENSE="BSD"
53 -SLOT="0"
54 -KEYWORDS="amd64 ~arm64 ~x86"
55 -IUSE="component-build cups gnome-keyring +hangouts jumbo-build kerberos neon pic +proprietary-codecs pulseaudio selinux +suid +system-ffmpeg +system-icu +system-libvpx +tcmalloc widevine"
56 -RESTRICT="!system-ffmpeg? ( proprietary-codecs? ( bindist ) )"
57 -
58 -COMMON_DEPEND="
59 - app-accessibility/at-spi2-atk:2
60 - app-arch/bzip2:=
61 - cups? ( >=net-print/cups-1.3.11:= )
62 - dev-libs/atk
63 - dev-libs/expat:=
64 - dev-libs/glib:2
65 - system-icu? ( >=dev-libs/icu-59:= )
66 - >=dev-libs/libxml2-2.9.4-r3:=[icu]
67 - dev-libs/libxslt:=
68 - dev-libs/nspr:=
69 - >=dev-libs/nss-3.26:=
70 - >=dev-libs/re2-0.2016.05.01:=
71 - gnome-keyring? ( >=gnome-base/libgnome-keyring-3.12:= )
72 - >=media-libs/alsa-lib-1.0.19:=
73 - media-libs/fontconfig:=
74 - media-libs/freetype:=
75 - >=media-libs/harfbuzz-1.6.0:=[icu(-)]
76 - media-libs/libjpeg-turbo:=
77 - media-libs/libpng:=
78 - system-libvpx? ( media-libs/libvpx:=[postproc,svc] )
79 - >=media-libs/openh264-1.6.0:=
80 - pulseaudio? ( media-sound/pulseaudio:= )
81 - system-ffmpeg? (
82 - >=media-video/ffmpeg-4:=
83 - || (
84 - media-video/ffmpeg[-samba]
85 - >=net-fs/samba-4.5.10-r1[-debug(-)]
86 - )
87 - !=net-fs/samba-4.5.12
88 - media-libs/opus:=
89 - )
90 - sys-apps/dbus:=
91 - sys-apps/pciutils:=
92 - virtual/udev
93 - x11-libs/cairo:=
94 - x11-libs/gdk-pixbuf:2
95 - x11-libs/gtk+:3[X]
96 - x11-libs/libX11:=
97 - x11-libs/libXcomposite:=
98 - x11-libs/libXcursor:=
99 - x11-libs/libXdamage:=
100 - x11-libs/libXext:=
101 - x11-libs/libXfixes:=
102 - >=x11-libs/libXi-1.6.0:=
103 - x11-libs/libXrandr:=
104 - x11-libs/libXrender:=
105 - x11-libs/libXScrnSaver:=
106 - x11-libs/libXtst:=
107 - x11-libs/pango:=
108 - app-arch/snappy:=
109 - media-libs/flac:=
110 - >=media-libs/libwebp-0.4.0:=
111 - sys-libs/zlib:=[minizip]
112 - kerberos? ( virtual/krb5 )
113 -"
114 -# For nvidia-drivers blocker, see bug #413637 .
115 -RDEPEND="${COMMON_DEPEND}
116 - !=www-client/chromium-9999
117 - !<www-plugins/chrome-binary-plugins-57
118 - x11-misc/xdg-utils
119 - virtual/opengl
120 - virtual/ttf-fonts
121 - selinux? ( sec-policy/selinux-chromium )
122 - tcmalloc? ( !<x11-drivers/nvidia-drivers-331.20 )
123 - widevine? ( www-plugins/chrome-binary-plugins[widevine(-)] )
124 -"
125 -# dev-vcs/git - https://bugs.gentoo.org/593476
126 -# sys-apps/sandbox - https://crbug.com/586444
127 -DEPEND="${COMMON_DEPEND}
128 - >=app-arch/gzip-1.7
129 - !arm? (
130 - dev-lang/yasm
131 - )
132 - dev-lang/perl
133 - >=dev-util/gperf-3.0.3
134 - >=dev-util/ninja-1.7.2
135 - >=net-libs/nodejs-6.9.4
136 - sys-apps/hwids[usb(+)]
137 - >=sys-devel/bison-2.4.3
138 - sys-devel/flex
139 - >=sys-devel/clang-5
140 - virtual/pkgconfig
141 - dev-vcs/git
142 -"
143 -
144 -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then
145 - EBUILD_DEATH_HOOKS+=" chromium_pkg_die";
146 -fi
147 -
148 -DISABLE_AUTOFORMATTING="yes"
149 -DOC_CONTENTS="
150 -Some web pages may require additional fonts to display properly.
151 -Try installing some of the following packages if some characters
152 -are not displayed properly:
153 -- media-fonts/arphicfonts
154 -- media-fonts/droid
155 -- media-fonts/ipamonafont
156 -- media-fonts/noto
157 -- media-fonts/ja-ipafonts
158 -- media-fonts/takao-fonts
159 -- media-fonts/wqy-microhei
160 -- media-fonts/wqy-zenhei
161 -
162 -To fix broken icons on the Downloads page, you should install an icon
163 -theme that covers the appropriate MIME types, and configure this as your
164 -GTK+ icon theme.
165 -"
166 -
167 -PATCHES=(
168 - "${FILESDIR}/chromium-widevine-r2.patch"
169 - "${FILESDIR}/chromium-compiler-r0.patch"
170 - "${FILESDIR}/chromium-webrtc-r0.patch"
171 - "${FILESDIR}/chromium-memcpy-r0.patch"
172 - "${FILESDIR}/chromium-math.h-r0.patch"
173 - "${FILESDIR}/chromium-stdint.patch"
174 - "${FILESDIR}/chromium-ffmpeg-r1.patch"
175 - "${FILESDIR}/chromium-ffmpeg-clang.patch"
176 -)
177 -
178 -pre_build_checks() {
179 - #if [[ ${MERGE_TYPE} != binary ]]; then
180 - # local -x CPP="$(tc-getCXX) -E"
181 - # if tc-is-clang && ! version_is_at_least "3.9.1" "$(clang-fullversion)"; then
182 - # # bugs: #601654
183 - # die "At least clang 3.9.1 is required"
184 - # fi
185 - # if tc-is-gcc && ! version_is_at_least 5.0 "$(gcc-version)"; then
186 - # # bugs: #535730, #525374, #518668, #600288, #627356
187 - # die "At least gcc 5.0 is required"
188 - # fi
189 - #fi
190 -
191 - # Check build requirements, bug #541816 and bug #471810 .
192 - CHECKREQS_MEMORY="3G"
193 - CHECKREQS_DISK_BUILD="5G"
194 - eshopts_push -s extglob
195 - if is-flagq '-g?(gdb)?([1-9])'; then
196 - CHECKREQS_DISK_BUILD="25G"
197 - if ! use component-build; then
198 - CHECKREQS_MEMORY="16G"
199 - fi
200 - fi
201 - eshopts_pop
202 - check-reqs_pkg_setup
203 -}
204 -
205 -pkg_pretend() {
206 - pre_build_checks
207 -}
208 -
209 -pkg_setup() {
210 - pre_build_checks
211 -
212 - chromium_suid_sandbox_check_kernel_config
213 -}
214 -
215 -src_prepare() {
216 - # Calling this here supports resumption via FEATURES=keepwork
217 - python_setup
218 -
219 - default
220 -
221 - mkdir -p third_party/node/linux/node-linux-x64/bin || die
222 - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die
223 -
224 - local keeplibs=(
225 - base/third_party/dmg_fp
226 - base/third_party/dynamic_annotations
227 - base/third_party/icu
228 - base/third_party/nspr
229 - base/third_party/superfasthash
230 - base/third_party/symbolize
231 - base/third_party/valgrind
232 - base/third_party/xdg_mime
233 - base/third_party/xdg_user_dirs
234 - buildtools/third_party/libc++
235 - buildtools/third_party/libc++abi
236 - chrome/third_party/mozilla_security_manager
237 - courgette/third_party
238 - net/third_party/mozilla_security_manager
239 - net/third_party/nss
240 - third_party/WebKit
241 - third_party/analytics
242 - third_party/angle
243 - third_party/angle/src/common/third_party/base
244 - third_party/angle/src/common/third_party/smhasher
245 - third_party/angle/src/third_party/compiler
246 - third_party/angle/src/third_party/libXNVCtrl
247 - third_party/angle/src/third_party/trace_event
248 - third_party/angle/third_party/glslang
249 - third_party/angle/third_party/spirv-headers
250 - third_party/angle/third_party/spirv-tools
251 - third_party/angle/third_party/vulkan-validation-layers
252 - third_party/apple_apsl
253 - third_party/blink
254 - third_party/boringssl
255 - third_party/boringssl/src/third_party/fiat
256 - third_party/breakpad
257 - third_party/breakpad/breakpad/src/third_party/curl
258 - third_party/brotli
259 - third_party/cacheinvalidation
260 - third_party/catapult
261 - third_party/catapult/common/py_vulcanize/third_party/rcssmin
262 - third_party/catapult/common/py_vulcanize/third_party/rjsmin
263 - third_party/catapult/third_party/beautifulsoup4
264 - third_party/catapult/third_party/html5lib-python
265 - third_party/catapult/third_party/polymer
266 - third_party/catapult/third_party/six
267 - third_party/catapult/tracing/third_party/d3
268 - third_party/catapult/tracing/third_party/gl-matrix
269 - third_party/catapult/tracing/third_party/jszip
270 - third_party/catapult/tracing/third_party/mannwhitneyu
271 - third_party/catapult/tracing/third_party/oboe
272 - third_party/catapult/tracing/third_party/pako
273 - third_party/ced
274 - third_party/cld_3
275 - third_party/crashpad
276 - third_party/crashpad/crashpad/third_party/zlib
277 - third_party/crc32c
278 - third_party/cros_system_api
279 - third_party/devscripts
280 - third_party/dom_distiller_js
281 - third_party/fips181
282 - third_party/flatbuffers
283 - third_party/flot
284 - third_party/freetype
285 - third_party/glslang-angle
286 - third_party/google_input_tools
287 - third_party/google_input_tools/third_party/closure_library
288 - third_party/google_input_tools/third_party/closure_library/third_party/closure
289 - third_party/googletest
290 - third_party/hunspell
291 - third_party/iccjpeg
292 - third_party/inspector_protocol
293 - third_party/jinja2
294 - third_party/jstemplate
295 - third_party/khronos
296 - third_party/leveldatabase
297 - third_party/libXNVCtrl
298 - third_party/libaddressinput
299 - third_party/libaom
300 - third_party/libaom/source/libaom/third_party/x86inc
301 - third_party/libjingle
302 - third_party/libphonenumber
303 - third_party/libsecret
304 - third_party/libsrtp
305 - third_party/libudev
306 - third_party/libwebm
307 - third_party/libxml/chromium
308 - third_party/libyuv
309 - third_party/llvm
310 - third_party/lss
311 - third_party/lzma_sdk
312 - third_party/markupsafe
313 - third_party/mesa
314 - third_party/metrics_proto
315 - third_party/modp_b64
316 - third_party/node
317 - third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2
318 - third_party/openmax_dl
319 - third_party/ots
320 - third_party/pdfium
321 - third_party/pdfium/third_party/agg23
322 - third_party/pdfium/third_party/base
323 - third_party/pdfium/third_party/bigint
324 - third_party/pdfium/third_party/freetype
325 - third_party/pdfium/third_party/lcms
326 - third_party/pdfium/third_party/libopenjpeg20
327 - third_party/pdfium/third_party/libpng16
328 - third_party/pdfium/third_party/libtiff
329 - third_party/pdfium/third_party/skia_shared
330 - third_party/ply
331 - third_party/polymer
332 - third_party/protobuf
333 - third_party/protobuf/third_party/six
334 - third_party/qcms
335 - third_party/s2cellid
336 - third_party/sfntly
337 - third_party/simplejson
338 - third_party/skia
339 - third_party/skia/third_party/gif
340 - third_party/skia/third_party/vulkan
341 - third_party/smhasher
342 - third_party/spirv-headers
343 - third_party/spirv-tools-angle
344 - third_party/sqlite
345 - third_party/swiftshader
346 - third_party/swiftshader/third_party/llvm-subzero
347 - third_party/swiftshader/third_party/subzero
348 - third_party/unrar
349 - third_party/usrsctp
350 - third_party/vulkan
351 - third_party/vulkan-validation-layers
352 - third_party/web-animations-js
353 - third_party/webdriver
354 - third_party/webrtc
355 - third_party/widevine
356 - third_party/woff2
357 - third_party/zlib/google
358 - url/third_party/mozilla
359 - v8/src/third_party/valgrind
360 - v8/src/third_party/utf8-decoder
361 - v8/third_party/inspector_protocol
362 -
363 - # gyp -> gn leftovers
364 - base/third_party/libevent
365 - third_party/adobe
366 - third_party/speech-dispatcher
367 - third_party/usb_ids
368 - third_party/xdg-utils
369 - third_party/yasm/run_yasm.py
370 - )
371 - if ! use system-ffmpeg; then
372 - keeplibs+=( third_party/ffmpeg third_party/opus )
373 - fi
374 - if ! use system-icu; then
375 - keeplibs+=( third_party/icu )
376 - fi
377 - if ! use system-libvpx; then
378 - keeplibs+=( third_party/libvpx )
379 - keeplibs+=( third_party/libvpx/source/libvpx/third_party/x86inc )
380 - fi
381 - if use tcmalloc; then
382 - keeplibs+=( third_party/tcmalloc )
383 - fi
384 -
385 - # Remove most bundled libraries. Some are still needed.
386 - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die
387 -}
388 -
389 -bootstrap_gn() {
390 - if tc-is-cross-compiler; then
391 - local -x AR=${BUILD_AR}
392 - local -x CC=${BUILD_CC}
393 - local -x CXX=${BUILD_CXX}
394 - local -x NM=${BUILD_NM}
395 - local -x CFLAGS=${BUILD_CFLAGS}
396 - local -x CXXFLAGS=${BUILD_CXXFLAGS}
397 - local -x LDFLAGS=${BUILD_LDFLAGS}
398 - fi
399 - einfo "Building GN..."
400 - set -- tools/gn/bootstrap/bootstrap.py -s -v --no-clean
401 - echo "$@"
402 - "$@" || die
403 -}
404 -
405 -src_configure() {
406 - # Calling this here supports resumption via FEATURES=keepwork
407 - python_setup
408 -
409 - local myconf_gn=""
410 -
411 - # Make sure the build system will use the right tools, bug #340795.
412 - tc-export AR CC CXX NM
413 -
414 - if ! tc-is-clang; then
415 - # Force clang since gcc is pretty broken at the moment.
416 - CC=${CHOST}-clang
417 - CXX=${CHOST}-clang++
418 - strip-unsupported-flags
419 - fi
420 -
421 - if tc-is-clang; then
422 - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false"
423 - else
424 - myconf_gn+=" is_clang=false"
425 - fi
426 -
427 - # Define a custom toolchain for GN
428 - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\""
429 -
430 - if tc-is-cross-compiler; then
431 - tc-export BUILD_{AR,CC,CXX,NM}
432 - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\""
433 - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\""
434 - else
435 - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\""
436 - fi
437 -
438 - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory.
439 - myconf_gn+=" is_debug=false"
440 -
441 - # Component build isn't generally intended for use by end users. It's mostly useful
442 - # for development and debugging.
443 - myconf_gn+=" is_component_build=$(usex component-build true false)"
444 -
445 - # https://chromium.googlesource.com/chromium/src/+/lkcr/docs/jumbo.md
446 - myconf_gn+=" use_jumbo_build=$(usex jumbo-build true false)"
447 -
448 - myconf_gn+=" use_allocator=$(usex tcmalloc \"tcmalloc\" \"none\")"
449 -
450 - # Disable nacl, we can't build without pnacl (http://crbug.com/269560).
451 - myconf_gn+=" enable_nacl=false"
452 -
453 - # Use system-provided libraries.
454 - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733).
455 - # TODO: use_system_hunspell (upstream changes needed).
456 - # TODO: use_system_libsrtp (bug #459932).
457 - # TODO: use_system_protobuf (bug #525560).
458 - # TODO: use_system_ssl (http://crbug.com/58087).
459 - # TODO: use_system_sqlite (http://crbug.com/22208).
460 -
461 - # libevent: https://bugs.gentoo.org/593458
462 - local gn_system_libraries=(
463 - flac
464 - fontconfig
465 - freetype
466 - # Need harfbuzz_from_pkgconfig target
467 - #harfbuzz-ng
468 - libdrm
469 - libjpeg
470 - libpng
471 - libwebp
472 - libxml
473 - libxslt
474 - openh264
475 - re2
476 - snappy
477 - yasm
478 - zlib
479 - )
480 - if use system-ffmpeg; then
481 - gn_system_libraries+=( ffmpeg opus )
482 - fi
483 - if use system-icu; then
484 - gn_system_libraries+=( icu )
485 - fi
486 - if use system-libvpx; then
487 - gn_system_libraries+=( libvpx )
488 - fi
489 - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die
490 -
491 - # See dependency logic in third_party/BUILD.gn
492 - myconf_gn+=" use_system_harfbuzz=true"
493 -
494 - # Optional dependencies.
495 - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)"
496 - myconf_gn+=" enable_widevine=$(usex widevine true false)"
497 - myconf_gn+=" use_cups=$(usex cups true false)"
498 - myconf_gn+=" use_gnome_keyring=$(usex gnome-keyring true false)"
499 - myconf_gn+=" use_kerberos=$(usex kerberos true false)"
500 - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)"
501 -
502 - # TODO: link_pulseaudio=true for GN.
503 -
504 - myconf_gn+=" fieldtrial_testing_like_official_build=true"
505 -
506 - # Never use bundled gold binary. Disable gold linker flags for now.
507 - # Do not use bundled clang.
508 - # Trying to use gold results in linker crash.
509 - myconf_gn+=" use_gold=false use_sysroot=false linux_use_bundled_binutils=false use_custom_libcxx=false"
510 -
511 - # Disable forced lld, bug 641556
512 - myconf_gn+=" use_lld=false"
513 -
514 - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)"
515 - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)"
516 - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\""
517 -
518 - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys .
519 - # Note: these are for Gentoo use ONLY. For your own distribution,
520 - # please get your own set of keys. Feel free to contact chromium@g.o
521 - # for more info.
522 - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc"
523 - local google_default_client_id="329227923882.apps.googleusercontent.com"
524 - local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu"
525 - myconf_gn+=" google_api_key=\"${google_api_key}\""
526 - myconf_gn+=" google_default_client_id=\"${google_default_client_id}\""
527 - myconf_gn+=" google_default_client_secret=\"${google_default_client_secret}\""
528 -
529 - local myarch="$(tc-arch)"
530 - if [[ $myarch = amd64 ]] ; then
531 - myconf_gn+=" target_cpu=\"x64\""
532 - ffmpeg_target_arch=x64
533 - elif [[ $myarch = x86 ]] ; then
534 - myconf_gn+=" target_cpu=\"x86\""
535 - ffmpeg_target_arch=ia32
536 - elif [[ $myarch = arm64 ]] ; then
537 - myconf_gn+=" target_cpu=\"arm64\""
538 - ffmpeg_target_arch=arm64
539 - elif [[ $myarch = arm ]] ; then
540 - myconf_gn+=" target_cpu=\"arm\""
541 - ffmpeg_target_arch=$(usex neon arm-neon arm)
542 - else
543 - die "Failed to determine target arch, got '$myarch'."
544 - fi
545 -
546 - # Make sure that -Werror doesn't get added to CFLAGS by the build system.
547 - # Depending on GCC version the warnings are different and we don't want
548 - # the build to fail because of that.
549 - myconf_gn+=" treat_warnings_as_errors=false"
550 -
551 - # Disable fatal linker warnings, bug 506268.
552 - myconf_gn+=" fatal_linker_warnings=false"
553 -
554 - # Avoid CFLAGS problems, bug #352457, bug #390147.
555 - if ! use custom-cflags; then
556 - replace-flags "-Os" "-O2"
557 - strip-flags
558 -
559 - # Prevent linker from running out of address space, bug #471810 .
560 - if use x86; then
561 - filter-flags "-g*"
562 - fi
563 -
564 - # Prevent libvpx build failures. Bug 530248, 544702, 546984.
565 - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then
566 - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2
567 - fi
568 - fi
569 -
570 - # https://bugs.gentoo.org/588596
571 - #append-cxxflags $(test-flags-CXX -fno-delete-null-pointer-checks)
572 -
573 - # Bug 491582.
574 - export TMPDIR="${WORKDIR}/temp"
575 - mkdir -p -m 755 "${TMPDIR}" || die
576 -
577 - # https://bugs.gentoo.org/654216
578 - addpredict /dev/dri/ #nowarn
579 -
580 - if ! use system-ffmpeg; then
581 - local build_ffmpeg_args=""
582 - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then
583 - build_ffmpeg_args+=" --disable-asm"
584 - fi
585 -
586 - # Re-configure bundled ffmpeg. See bug #491378 for example reasons.
587 - einfo "Configuring bundled ffmpeg..."
588 - pushd third_party/ffmpeg > /dev/null || die
589 - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \
590 - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die
591 - chromium/scripts/copy_config.sh || die
592 - chromium/scripts/generate_gn.py || die
593 - popd > /dev/null || die
594 - fi
595 -
596 - bootstrap_gn
597 -
598 - einfo "Configuring Chromium..."
599 - set -- out/Release/gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release
600 - echo "$@"
601 - "$@" || die
602 -}
603 -
604 -src_compile() {
605 - # Calling this here supports resumption via FEATURES=keepwork
606 - python_setup
607 -
608 - #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die
609 -
610 - # Build mksnapshot and pax-mark it.
611 - local x
612 - for x in mksnapshot v8_context_snapshot_generator; do
613 - if tc-is-cross-compiler; then
614 - eninja -C out/Release "host/${x}"
615 - pax-mark m "out/Release/host/${x}"
616 - else
617 - eninja -C out/Release "${x}"
618 - pax-mark m "out/Release/${x}"
619 - fi
620 - done
621 -
622 - # Even though ninja autodetects number of CPUs, we respect
623 - # user's options, for debugging with -j 1 or any other reason.
624 - eninja -C out/Release chrome chromedriver
625 - use suid && eninja -C out/Release chrome_sandbox
626 -
627 - pax-mark m out/Release/chrome
628 -}
629 -
630 -src_install() {
631 - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser"
632 - exeinto "${CHROMIUM_HOME}"
633 - doexe out/Release/chrome
634 -
635 - if use suid; then
636 - newexe out/Release/chrome_sandbox chrome-sandbox
637 - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox"
638 - fi
639 -
640 - doexe out/Release/chromedriver
641 -
642 - local sedargs=( -e "s:/usr/lib/:/usr/$(get_libdir)/:g" )
643 - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r3.sh" > chromium-launcher.sh || die
644 - doexe chromium-launcher.sh
645 -
646 - # It is important that we name the target "chromium-browser",
647 - # xdg-utils expect it; bug #355517.
648 - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser
649 - # keep the old symlink around for consistency
650 - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium
651 -
652 - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver
653 -
654 - # Allow users to override command-line options, bug #357629.
655 - insinto /etc/chromium
656 - newins "${FILESDIR}/chromium.default" "default"
657 -
658 - pushd out/Release/locales > /dev/null || die
659 - chromium_remove_language_paks
660 - popd
661 -
662 - insinto "${CHROMIUM_HOME}"
663 - doins out/Release/*.bin
664 - doins out/Release/*.pak
665 - doins out/Release/*.so
666 -
667 - if ! use system-icu; then
668 - doins out/Release/icudtl.dat
669 - fi
670 -
671 - doins -r out/Release/locales
672 - doins -r out/Release/resources
673 -
674 - if [[ -d out/Release/swiftshader ]]; then
675 - insinto "${CHROMIUM_HOME}/swiftshader"
676 - doins out/Release/swiftshader/*.so
677 - fi
678 -
679 - # Install icons and desktop entry.
680 - local branding size
681 - for size in 16 22 24 32 48 64 128 256 ; do
682 - case ${size} in
683 - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;;
684 - *) branding="chrome/app/theme/chromium" ;;
685 - esac
686 - newicon -s ${size} "${branding}/product_logo_${size}.png" \
687 - chromium-browser.png
688 - done
689 -
690 - local mime_types="text/html;text/xml;application/xhtml+xml;"
691 - mime_types+="x-scheme-handler/http;x-scheme-handler/https;" # bug #360797
692 - mime_types+="x-scheme-handler/ftp;" # bug #412185
693 - mime_types+="x-scheme-handler/mailto;x-scheme-handler/webcal;" # bug #416393
694 - make_desktop_entry \
695 - chromium-browser \
696 - "Chromium" \
697 - chromium-browser \
698 - "Network;WebBrowser" \
699 - "MimeType=${mime_types}\nStartupWMClass=chromium-browser"
700 - sed -e "/^Exec/s/$/ %U/" -i "${ED}"/usr/share/applications/*.desktop || die
701 -
702 - # Install GNOME default application entry (bug #303100).
703 - insinto /usr/share/gnome-control-center/default-apps
704 - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml
705 -
706 - readme.gentoo_create_doc
707 -}
708 -
709 -pkg_preinst() {
710 - gnome2_icon_savelist
711 -}
712 -
713 -pkg_postrm() {
714 - gnome2_icon_cache_update
715 - xdg_desktop_database_update
716 -}
717 -
718 -pkg_postinst() {
719 - gnome2_icon_cache_update
720 - xdg_desktop_database_update
721 - readme.gentoo_print_elog
722 -}
723
724 diff --git a/www-client/chromium/chromium-67.0.3396.99.ebuild b/www-client/chromium/chromium-67.0.3396.99.ebuild
725 deleted file mode 100644
726 index 15b156c8058..00000000000
727 --- a/www-client/chromium/chromium-67.0.3396.99.ebuild
728 +++ /dev/null
729 @@ -1,688 +0,0 @@
730 -# Copyright 1999-2018 Gentoo Foundation
731 -# Distributed under the terms of the GNU General Public License v2
732 -
733 -EAPI="6"
734 -PYTHON_COMPAT=( python2_7 )
735 -
736 -CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he
737 - 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
738 - sv sw ta te th tr uk vi zh-CN zh-TW"
739 -
740 -inherit check-reqs chromium-2 eutils gnome2-utils flag-o-matic multilib ninja-utils pax-utils portability python-any-r1 readme.gentoo-r1 toolchain-funcs versionator xdg-utils
741 -
742 -DESCRIPTION="Open-source version of Google Chrome web browser"
743 -HOMEPAGE="http://chromium.org/"
744 -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz"
745 -
746 -LICENSE="BSD"
747 -SLOT="0"
748 -KEYWORDS="~amd64 ~arm64 ~x86"
749 -IUSE="component-build cups gnome-keyring +hangouts jumbo-build kerberos neon pic +proprietary-codecs pulseaudio selinux +suid +system-ffmpeg +system-icu +system-libvpx +tcmalloc widevine"
750 -RESTRICT="!system-ffmpeg? ( proprietary-codecs? ( bindist ) )"
751 -
752 -COMMON_DEPEND="
753 - app-accessibility/at-spi2-atk:2
754 - app-arch/bzip2:=
755 - cups? ( >=net-print/cups-1.3.11:= )
756 - dev-libs/atk
757 - dev-libs/expat:=
758 - dev-libs/glib:2
759 - system-icu? ( >=dev-libs/icu-59:= )
760 - >=dev-libs/libxml2-2.9.4-r3:=[icu]
761 - dev-libs/libxslt:=
762 - dev-libs/nspr:=
763 - >=dev-libs/nss-3.26:=
764 - >=dev-libs/re2-0.2016.05.01:=
765 - gnome-keyring? ( >=gnome-base/libgnome-keyring-3.12:= )
766 - >=media-libs/alsa-lib-1.0.19:=
767 - media-libs/fontconfig:=
768 - media-libs/freetype:=
769 - >=media-libs/harfbuzz-1.6.0:=[icu(-)]
770 - media-libs/libjpeg-turbo:=
771 - media-libs/libpng:=
772 - system-libvpx? ( media-libs/libvpx:=[postproc,svc] )
773 - >=media-libs/openh264-1.6.0:=
774 - pulseaudio? ( media-sound/pulseaudio:= )
775 - system-ffmpeg? (
776 - >=media-video/ffmpeg-4:=
777 - || (
778 - media-video/ffmpeg[-samba]
779 - >=net-fs/samba-4.5.10-r1[-debug(-)]
780 - )
781 - !=net-fs/samba-4.5.12
782 - media-libs/opus:=
783 - )
784 - sys-apps/dbus:=
785 - sys-apps/pciutils:=
786 - virtual/udev
787 - x11-libs/cairo:=
788 - x11-libs/gdk-pixbuf:2
789 - x11-libs/gtk+:3[X]
790 - x11-libs/libX11:=
791 - x11-libs/libXcomposite:=
792 - x11-libs/libXcursor:=
793 - x11-libs/libXdamage:=
794 - x11-libs/libXext:=
795 - x11-libs/libXfixes:=
796 - >=x11-libs/libXi-1.6.0:=
797 - x11-libs/libXrandr:=
798 - x11-libs/libXrender:=
799 - x11-libs/libXScrnSaver:=
800 - x11-libs/libXtst:=
801 - x11-libs/pango:=
802 - app-arch/snappy:=
803 - media-libs/flac:=
804 - >=media-libs/libwebp-0.4.0:=
805 - sys-libs/zlib:=[minizip]
806 - kerberos? ( virtual/krb5 )
807 -"
808 -# For nvidia-drivers blocker, see bug #413637 .
809 -RDEPEND="${COMMON_DEPEND}
810 - !=www-client/chromium-9999
811 - !<www-plugins/chrome-binary-plugins-57
812 - x11-misc/xdg-utils
813 - virtual/opengl
814 - virtual/ttf-fonts
815 - selinux? ( sec-policy/selinux-chromium )
816 - tcmalloc? ( !<x11-drivers/nvidia-drivers-331.20 )
817 - widevine? ( www-plugins/chrome-binary-plugins[widevine(-)] )
818 -"
819 -# dev-vcs/git - https://bugs.gentoo.org/593476
820 -# sys-apps/sandbox - https://crbug.com/586444
821 -DEPEND="${COMMON_DEPEND}
822 - >=app-arch/gzip-1.7
823 - !arm? (
824 - dev-lang/yasm
825 - )
826 - dev-lang/perl
827 - >=dev-util/gperf-3.0.3
828 - >=dev-util/ninja-1.7.2
829 - >=net-libs/nodejs-6.9.4
830 - sys-apps/hwids[usb(+)]
831 - >=sys-devel/bison-2.4.3
832 - sys-devel/flex
833 - >=sys-devel/clang-5
834 - virtual/pkgconfig
835 - dev-vcs/git
836 -"
837 -
838 -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then
839 - EBUILD_DEATH_HOOKS+=" chromium_pkg_die";
840 -fi
841 -
842 -DISABLE_AUTOFORMATTING="yes"
843 -DOC_CONTENTS="
844 -Some web pages may require additional fonts to display properly.
845 -Try installing some of the following packages if some characters
846 -are not displayed properly:
847 -- media-fonts/arphicfonts
848 -- media-fonts/droid
849 -- media-fonts/ipamonafont
850 -- media-fonts/noto
851 -- media-fonts/ja-ipafonts
852 -- media-fonts/takao-fonts
853 -- media-fonts/wqy-microhei
854 -- media-fonts/wqy-zenhei
855 -
856 -To fix broken icons on the Downloads page, you should install an icon
857 -theme that covers the appropriate MIME types, and configure this as your
858 -GTK+ icon theme.
859 -"
860 -
861 -PATCHES=(
862 - "${FILESDIR}/chromium-widevine-r2.patch"
863 - "${FILESDIR}/chromium-compiler-r0.patch"
864 - "${FILESDIR}/chromium-webrtc-r0.patch"
865 - "${FILESDIR}/chromium-memcpy-r0.patch"
866 - "${FILESDIR}/chromium-math.h-r0.patch"
867 - "${FILESDIR}/chromium-stdint.patch"
868 - "${FILESDIR}/chromium-ffmpeg-r1.patch"
869 - "${FILESDIR}/chromium-ffmpeg-clang.patch"
870 - "${FILESDIR}/chromium-ffmpeg-ebp-r0.patch"
871 -)
872 -
873 -pre_build_checks() {
874 - #if [[ ${MERGE_TYPE} != binary ]]; then
875 - # local -x CPP="$(tc-getCXX) -E"
876 - # if tc-is-clang && ! version_is_at_least "3.9.1" "$(clang-fullversion)"; then
877 - # # bugs: #601654
878 - # die "At least clang 3.9.1 is required"
879 - # fi
880 - # if tc-is-gcc && ! version_is_at_least 5.0 "$(gcc-version)"; then
881 - # # bugs: #535730, #525374, #518668, #600288, #627356
882 - # die "At least gcc 5.0 is required"
883 - # fi
884 - #fi
885 -
886 - # Check build requirements, bug #541816 and bug #471810 .
887 - CHECKREQS_MEMORY="3G"
888 - CHECKREQS_DISK_BUILD="5G"
889 - eshopts_push -s extglob
890 - if is-flagq '-g?(gdb)?([1-9])'; then
891 - CHECKREQS_DISK_BUILD="25G"
892 - if ! use component-build; then
893 - CHECKREQS_MEMORY="16G"
894 - fi
895 - fi
896 - eshopts_pop
897 - check-reqs_pkg_setup
898 -}
899 -
900 -pkg_pretend() {
901 - pre_build_checks
902 -}
903 -
904 -pkg_setup() {
905 - pre_build_checks
906 -
907 - chromium_suid_sandbox_check_kernel_config
908 -}
909 -
910 -src_prepare() {
911 - # Calling this here supports resumption via FEATURES=keepwork
912 - python_setup
913 -
914 - default
915 -
916 - mkdir -p third_party/node/linux/node-linux-x64/bin || die
917 - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die
918 -
919 - local keeplibs=(
920 - base/third_party/dmg_fp
921 - base/third_party/dynamic_annotations
922 - base/third_party/icu
923 - base/third_party/nspr
924 - base/third_party/superfasthash
925 - base/third_party/symbolize
926 - base/third_party/valgrind
927 - base/third_party/xdg_mime
928 - base/third_party/xdg_user_dirs
929 - buildtools/third_party/libc++
930 - buildtools/third_party/libc++abi
931 - chrome/third_party/mozilla_security_manager
932 - courgette/third_party
933 - net/third_party/mozilla_security_manager
934 - net/third_party/nss
935 - third_party/WebKit
936 - third_party/analytics
937 - third_party/angle
938 - third_party/angle/src/common/third_party/base
939 - third_party/angle/src/common/third_party/smhasher
940 - third_party/angle/src/third_party/compiler
941 - third_party/angle/src/third_party/libXNVCtrl
942 - third_party/angle/src/third_party/trace_event
943 - third_party/angle/third_party/glslang
944 - third_party/angle/third_party/spirv-headers
945 - third_party/angle/third_party/spirv-tools
946 - third_party/angle/third_party/vulkan-validation-layers
947 - third_party/apple_apsl
948 - third_party/blink
949 - third_party/boringssl
950 - third_party/boringssl/src/third_party/fiat
951 - third_party/breakpad
952 - third_party/breakpad/breakpad/src/third_party/curl
953 - third_party/brotli
954 - third_party/cacheinvalidation
955 - third_party/catapult
956 - third_party/catapult/common/py_vulcanize/third_party/rcssmin
957 - third_party/catapult/common/py_vulcanize/third_party/rjsmin
958 - third_party/catapult/third_party/beautifulsoup4
959 - third_party/catapult/third_party/html5lib-python
960 - third_party/catapult/third_party/polymer
961 - third_party/catapult/third_party/six
962 - third_party/catapult/tracing/third_party/d3
963 - third_party/catapult/tracing/third_party/gl-matrix
964 - third_party/catapult/tracing/third_party/jszip
965 - third_party/catapult/tracing/third_party/mannwhitneyu
966 - third_party/catapult/tracing/third_party/oboe
967 - third_party/catapult/tracing/third_party/pako
968 - third_party/ced
969 - third_party/cld_3
970 - third_party/crashpad
971 - third_party/crashpad/crashpad/third_party/zlib
972 - third_party/crc32c
973 - third_party/cros_system_api
974 - third_party/devscripts
975 - third_party/dom_distiller_js
976 - third_party/fips181
977 - third_party/flatbuffers
978 - third_party/flot
979 - third_party/freetype
980 - third_party/glslang-angle
981 - third_party/google_input_tools
982 - third_party/google_input_tools/third_party/closure_library
983 - third_party/google_input_tools/third_party/closure_library/third_party/closure
984 - third_party/googletest
985 - third_party/hunspell
986 - third_party/iccjpeg
987 - third_party/inspector_protocol
988 - third_party/jinja2
989 - third_party/jstemplate
990 - third_party/khronos
991 - third_party/leveldatabase
992 - third_party/libXNVCtrl
993 - third_party/libaddressinput
994 - third_party/libaom
995 - third_party/libaom/source/libaom/third_party/x86inc
996 - third_party/libjingle
997 - third_party/libphonenumber
998 - third_party/libsecret
999 - third_party/libsrtp
1000 - third_party/libudev
1001 - third_party/libwebm
1002 - third_party/libxml/chromium
1003 - third_party/libyuv
1004 - third_party/llvm
1005 - third_party/lss
1006 - third_party/lzma_sdk
1007 - third_party/markupsafe
1008 - third_party/mesa
1009 - third_party/metrics_proto
1010 - third_party/modp_b64
1011 - third_party/node
1012 - third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2
1013 - third_party/openmax_dl
1014 - third_party/ots
1015 - third_party/pdfium
1016 - third_party/pdfium/third_party/agg23
1017 - third_party/pdfium/third_party/base
1018 - third_party/pdfium/third_party/bigint
1019 - third_party/pdfium/third_party/freetype
1020 - third_party/pdfium/third_party/lcms
1021 - third_party/pdfium/third_party/libopenjpeg20
1022 - third_party/pdfium/third_party/libpng16
1023 - third_party/pdfium/third_party/libtiff
1024 - third_party/pdfium/third_party/skia_shared
1025 - third_party/ply
1026 - third_party/polymer
1027 - third_party/protobuf
1028 - third_party/protobuf/third_party/six
1029 - third_party/qcms
1030 - third_party/s2cellid
1031 - third_party/sfntly
1032 - third_party/simplejson
1033 - third_party/skia
1034 - third_party/skia/third_party/gif
1035 - third_party/skia/third_party/vulkan
1036 - third_party/smhasher
1037 - third_party/spirv-headers
1038 - third_party/spirv-tools-angle
1039 - third_party/sqlite
1040 - third_party/swiftshader
1041 - third_party/swiftshader/third_party/llvm-subzero
1042 - third_party/swiftshader/third_party/subzero
1043 - third_party/unrar
1044 - third_party/usrsctp
1045 - third_party/vulkan
1046 - third_party/vulkan-validation-layers
1047 - third_party/web-animations-js
1048 - third_party/webdriver
1049 - third_party/webrtc
1050 - third_party/widevine
1051 - third_party/woff2
1052 - third_party/zlib/google
1053 - url/third_party/mozilla
1054 - v8/src/third_party/valgrind
1055 - v8/src/third_party/utf8-decoder
1056 - v8/third_party/inspector_protocol
1057 -
1058 - # gyp -> gn leftovers
1059 - base/third_party/libevent
1060 - third_party/adobe
1061 - third_party/speech-dispatcher
1062 - third_party/usb_ids
1063 - third_party/xdg-utils
1064 - third_party/yasm/run_yasm.py
1065 - )
1066 - if ! use system-ffmpeg; then
1067 - keeplibs+=( third_party/ffmpeg third_party/opus )
1068 - fi
1069 - if ! use system-icu; then
1070 - keeplibs+=( third_party/icu )
1071 - fi
1072 - if ! use system-libvpx; then
1073 - keeplibs+=( third_party/libvpx )
1074 - keeplibs+=( third_party/libvpx/source/libvpx/third_party/x86inc )
1075 - fi
1076 - if use tcmalloc; then
1077 - keeplibs+=( third_party/tcmalloc )
1078 - fi
1079 -
1080 - # Remove most bundled libraries. Some are still needed.
1081 - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die
1082 -}
1083 -
1084 -bootstrap_gn() {
1085 - if tc-is-cross-compiler; then
1086 - local -x AR=${BUILD_AR}
1087 - local -x CC=${BUILD_CC}
1088 - local -x CXX=${BUILD_CXX}
1089 - local -x NM=${BUILD_NM}
1090 - local -x CFLAGS=${BUILD_CFLAGS}
1091 - local -x CXXFLAGS=${BUILD_CXXFLAGS}
1092 - local -x LDFLAGS=${BUILD_LDFLAGS}
1093 - fi
1094 - einfo "Building GN..."
1095 - set -- tools/gn/bootstrap/bootstrap.py -s -v --no-clean
1096 - echo "$@"
1097 - "$@" || die
1098 -}
1099 -
1100 -src_configure() {
1101 - # Calling this here supports resumption via FEATURES=keepwork
1102 - python_setup
1103 -
1104 - local myconf_gn=""
1105 -
1106 - # Make sure the build system will use the right tools, bug #340795.
1107 - tc-export AR CC CXX NM
1108 -
1109 - if ! tc-is-clang; then
1110 - # Force clang since gcc is pretty broken at the moment.
1111 - CC=${CHOST}-clang
1112 - CXX=${CHOST}-clang++
1113 - strip-unsupported-flags
1114 - fi
1115 -
1116 - if tc-is-clang; then
1117 - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false"
1118 - else
1119 - myconf_gn+=" is_clang=false"
1120 - fi
1121 -
1122 - # Define a custom toolchain for GN
1123 - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\""
1124 -
1125 - if tc-is-cross-compiler; then
1126 - tc-export BUILD_{AR,CC,CXX,NM}
1127 - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\""
1128 - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\""
1129 - else
1130 - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\""
1131 - fi
1132 -
1133 - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory.
1134 - myconf_gn+=" is_debug=false"
1135 -
1136 - # Component build isn't generally intended for use by end users. It's mostly useful
1137 - # for development and debugging.
1138 - myconf_gn+=" is_component_build=$(usex component-build true false)"
1139 -
1140 - # https://chromium.googlesource.com/chromium/src/+/lkcr/docs/jumbo.md
1141 - myconf_gn+=" use_jumbo_build=$(usex jumbo-build true false)"
1142 -
1143 - myconf_gn+=" use_allocator=$(usex tcmalloc \"tcmalloc\" \"none\")"
1144 -
1145 - # Disable nacl, we can't build without pnacl (http://crbug.com/269560).
1146 - myconf_gn+=" enable_nacl=false"
1147 -
1148 - # Use system-provided libraries.
1149 - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733).
1150 - # TODO: use_system_hunspell (upstream changes needed).
1151 - # TODO: use_system_libsrtp (bug #459932).
1152 - # TODO: use_system_protobuf (bug #525560).
1153 - # TODO: use_system_ssl (http://crbug.com/58087).
1154 - # TODO: use_system_sqlite (http://crbug.com/22208).
1155 -
1156 - # libevent: https://bugs.gentoo.org/593458
1157 - local gn_system_libraries=(
1158 - flac
1159 - fontconfig
1160 - freetype
1161 - # Need harfbuzz_from_pkgconfig target
1162 - #harfbuzz-ng
1163 - libdrm
1164 - libjpeg
1165 - libpng
1166 - libwebp
1167 - libxml
1168 - libxslt
1169 - openh264
1170 - re2
1171 - snappy
1172 - yasm
1173 - zlib
1174 - )
1175 - if use system-ffmpeg; then
1176 - gn_system_libraries+=( ffmpeg opus )
1177 - fi
1178 - if use system-icu; then
1179 - gn_system_libraries+=( icu )
1180 - fi
1181 - if use system-libvpx; then
1182 - gn_system_libraries+=( libvpx )
1183 - fi
1184 - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die
1185 -
1186 - # See dependency logic in third_party/BUILD.gn
1187 - myconf_gn+=" use_system_harfbuzz=true"
1188 -
1189 - # Optional dependencies.
1190 - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)"
1191 - myconf_gn+=" enable_widevine=$(usex widevine true false)"
1192 - myconf_gn+=" use_cups=$(usex cups true false)"
1193 - myconf_gn+=" use_gnome_keyring=$(usex gnome-keyring true false)"
1194 - myconf_gn+=" use_kerberos=$(usex kerberos true false)"
1195 - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)"
1196 -
1197 - # TODO: link_pulseaudio=true for GN.
1198 -
1199 - myconf_gn+=" fieldtrial_testing_like_official_build=true"
1200 -
1201 - # Never use bundled gold binary. Disable gold linker flags for now.
1202 - # Do not use bundled clang.
1203 - # Trying to use gold results in linker crash.
1204 - myconf_gn+=" use_gold=false use_sysroot=false linux_use_bundled_binutils=false use_custom_libcxx=false"
1205 -
1206 - # Disable forced lld, bug 641556
1207 - myconf_gn+=" use_lld=false"
1208 -
1209 - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)"
1210 - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)"
1211 - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\""
1212 -
1213 - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys .
1214 - # Note: these are for Gentoo use ONLY. For your own distribution,
1215 - # please get your own set of keys. Feel free to contact chromium@g.o
1216 - # for more info.
1217 - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc"
1218 - local google_default_client_id="329227923882.apps.googleusercontent.com"
1219 - local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu"
1220 - myconf_gn+=" google_api_key=\"${google_api_key}\""
1221 - myconf_gn+=" google_default_client_id=\"${google_default_client_id}\""
1222 - myconf_gn+=" google_default_client_secret=\"${google_default_client_secret}\""
1223 -
1224 - local myarch="$(tc-arch)"
1225 - if [[ $myarch = amd64 ]] ; then
1226 - myconf_gn+=" target_cpu=\"x64\""
1227 - ffmpeg_target_arch=x64
1228 - elif [[ $myarch = x86 ]] ; then
1229 - myconf_gn+=" target_cpu=\"x86\""
1230 - ffmpeg_target_arch=ia32
1231 - elif [[ $myarch = arm64 ]] ; then
1232 - myconf_gn+=" target_cpu=\"arm64\""
1233 - ffmpeg_target_arch=arm64
1234 - elif [[ $myarch = arm ]] ; then
1235 - myconf_gn+=" target_cpu=\"arm\""
1236 - ffmpeg_target_arch=$(usex neon arm-neon arm)
1237 - else
1238 - die "Failed to determine target arch, got '$myarch'."
1239 - fi
1240 -
1241 - # Make sure that -Werror doesn't get added to CFLAGS by the build system.
1242 - # Depending on GCC version the warnings are different and we don't want
1243 - # the build to fail because of that.
1244 - myconf_gn+=" treat_warnings_as_errors=false"
1245 -
1246 - # Disable fatal linker warnings, bug 506268.
1247 - myconf_gn+=" fatal_linker_warnings=false"
1248 -
1249 - # Avoid CFLAGS problems, bug #352457, bug #390147.
1250 - if ! use custom-cflags; then
1251 - replace-flags "-Os" "-O2"
1252 - strip-flags
1253 -
1254 - # Prevent linker from running out of address space, bug #471810 .
1255 - if use x86; then
1256 - filter-flags "-g*"
1257 - fi
1258 -
1259 - # Prevent libvpx build failures. Bug 530248, 544702, 546984.
1260 - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then
1261 - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2
1262 - fi
1263 - fi
1264 -
1265 - # https://bugs.gentoo.org/588596
1266 - #append-cxxflags $(test-flags-CXX -fno-delete-null-pointer-checks)
1267 -
1268 - # Bug 491582.
1269 - export TMPDIR="${WORKDIR}/temp"
1270 - mkdir -p -m 755 "${TMPDIR}" || die
1271 -
1272 - # https://bugs.gentoo.org/654216
1273 - addpredict /dev/dri/ #nowarn
1274 -
1275 - if ! use system-ffmpeg; then
1276 - local build_ffmpeg_args=""
1277 - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then
1278 - build_ffmpeg_args+=" --disable-asm"
1279 - fi
1280 -
1281 - # Re-configure bundled ffmpeg. See bug #491378 for example reasons.
1282 - einfo "Configuring bundled ffmpeg..."
1283 - pushd third_party/ffmpeg > /dev/null || die
1284 - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \
1285 - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die
1286 - chromium/scripts/copy_config.sh || die
1287 - chromium/scripts/generate_gn.py || die
1288 - popd > /dev/null || die
1289 - fi
1290 -
1291 - bootstrap_gn
1292 -
1293 - einfo "Configuring Chromium..."
1294 - set -- out/Release/gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release
1295 - echo "$@"
1296 - "$@" || die
1297 -}
1298 -
1299 -src_compile() {
1300 - # Calling this here supports resumption via FEATURES=keepwork
1301 - python_setup
1302 -
1303 - #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die
1304 -
1305 - # Build mksnapshot and pax-mark it.
1306 - local x
1307 - for x in mksnapshot v8_context_snapshot_generator; do
1308 - if tc-is-cross-compiler; then
1309 - eninja -C out/Release "host/${x}"
1310 - pax-mark m "out/Release/host/${x}"
1311 - else
1312 - eninja -C out/Release "${x}"
1313 - pax-mark m "out/Release/${x}"
1314 - fi
1315 - done
1316 -
1317 - # Even though ninja autodetects number of CPUs, we respect
1318 - # user's options, for debugging with -j 1 or any other reason.
1319 - eninja -C out/Release chrome chromedriver
1320 - use suid && eninja -C out/Release chrome_sandbox
1321 -
1322 - pax-mark m out/Release/chrome
1323 -}
1324 -
1325 -src_install() {
1326 - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser"
1327 - exeinto "${CHROMIUM_HOME}"
1328 - doexe out/Release/chrome
1329 -
1330 - if use suid; then
1331 - newexe out/Release/chrome_sandbox chrome-sandbox
1332 - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox"
1333 - fi
1334 -
1335 - doexe out/Release/chromedriver
1336 -
1337 - local sedargs=( -e "s:/usr/lib/:/usr/$(get_libdir)/:g" )
1338 - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r3.sh" > chromium-launcher.sh || die
1339 - doexe chromium-launcher.sh
1340 -
1341 - # It is important that we name the target "chromium-browser",
1342 - # xdg-utils expect it; bug #355517.
1343 - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser
1344 - # keep the old symlink around for consistency
1345 - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium
1346 -
1347 - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver
1348 -
1349 - # Allow users to override command-line options, bug #357629.
1350 - insinto /etc/chromium
1351 - newins "${FILESDIR}/chromium.default" "default"
1352 -
1353 - pushd out/Release/locales > /dev/null || die
1354 - chromium_remove_language_paks
1355 - popd
1356 -
1357 - insinto "${CHROMIUM_HOME}"
1358 - doins out/Release/*.bin
1359 - doins out/Release/*.pak
1360 - doins out/Release/*.so
1361 -
1362 - if ! use system-icu; then
1363 - doins out/Release/icudtl.dat
1364 - fi
1365 -
1366 - doins -r out/Release/locales
1367 - doins -r out/Release/resources
1368 -
1369 - if [[ -d out/Release/swiftshader ]]; then
1370 - insinto "${CHROMIUM_HOME}/swiftshader"
1371 - doins out/Release/swiftshader/*.so
1372 - fi
1373 -
1374 - # Install icons and desktop entry.
1375 - local branding size
1376 - for size in 16 22 24 32 48 64 128 256 ; do
1377 - case ${size} in
1378 - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;;
1379 - *) branding="chrome/app/theme/chromium" ;;
1380 - esac
1381 - newicon -s ${size} "${branding}/product_logo_${size}.png" \
1382 - chromium-browser.png
1383 - done
1384 -
1385 - local mime_types="text/html;text/xml;application/xhtml+xml;"
1386 - mime_types+="x-scheme-handler/http;x-scheme-handler/https;" # bug #360797
1387 - mime_types+="x-scheme-handler/ftp;" # bug #412185
1388 - mime_types+="x-scheme-handler/mailto;x-scheme-handler/webcal;" # bug #416393
1389 - make_desktop_entry \
1390 - chromium-browser \
1391 - "Chromium" \
1392 - chromium-browser \
1393 - "Network;WebBrowser" \
1394 - "MimeType=${mime_types}\nStartupWMClass=chromium-browser"
1395 - sed -e "/^Exec/s/$/ %U/" -i "${ED}"/usr/share/applications/*.desktop || die
1396 -
1397 - # Install GNOME default application entry (bug #303100).
1398 - insinto /usr/share/gnome-control-center/default-apps
1399 - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml
1400 -
1401 - readme.gentoo_create_doc
1402 -}
1403 -
1404 -pkg_preinst() {
1405 - gnome2_icon_savelist
1406 -}
1407 -
1408 -pkg_postrm() {
1409 - gnome2_icon_cache_update
1410 - xdg_desktop_database_update
1411 -}
1412 -
1413 -pkg_postinst() {
1414 - gnome2_icon_cache_update
1415 - xdg_desktop_database_update
1416 - readme.gentoo_print_elog
1417 -}
1418
1419 diff --git a/www-client/chromium/chromium-68.0.3440.68.ebuild b/www-client/chromium/chromium-68.0.3440.68.ebuild
1420 deleted file mode 100644
1421 index 09d01b49d5a..00000000000
1422 --- a/www-client/chromium/chromium-68.0.3440.68.ebuild
1423 +++ /dev/null
1424 @@ -1,687 +0,0 @@
1425 -# Copyright 1999-2018 Gentoo Foundation
1426 -# Distributed under the terms of the GNU General Public License v2
1427 -
1428 -EAPI="6"
1429 -PYTHON_COMPAT=( python2_7 )
1430 -
1431 -CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he
1432 - 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
1433 - sv sw ta te th tr uk vi zh-CN zh-TW"
1434 -
1435 -inherit check-reqs chromium-2 eutils gnome2-utils flag-o-matic multilib ninja-utils pax-utils portability python-any-r1 readme.gentoo-r1 toolchain-funcs xdg-utils
1436 -
1437 -DESCRIPTION="Open-source version of Google Chrome web browser"
1438 -HOMEPAGE="http://chromium.org/"
1439 -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz"
1440 -
1441 -LICENSE="BSD"
1442 -SLOT="0"
1443 -KEYWORDS="~amd64 ~arm64 ~x86"
1444 -IUSE="component-build cups gnome-keyring +hangouts jumbo-build kerberos neon pic +proprietary-codecs pulseaudio selinux +suid +system-ffmpeg +system-icu +system-libvpx +tcmalloc widevine"
1445 -RESTRICT="!system-ffmpeg? ( proprietary-codecs? ( bindist ) )"
1446 -
1447 -COMMON_DEPEND="
1448 - app-accessibility/at-spi2-atk:2
1449 - app-arch/bzip2:=
1450 - cups? ( >=net-print/cups-1.3.11:= )
1451 - dev-libs/atk
1452 - dev-libs/expat:=
1453 - dev-libs/glib:2
1454 - system-icu? ( >=dev-libs/icu-59:= )
1455 - >=dev-libs/libxml2-2.9.4-r3:=[icu]
1456 - dev-libs/libxslt:=
1457 - dev-libs/nspr:=
1458 - >=dev-libs/nss-3.26:=
1459 - >=dev-libs/re2-0.2016.05.01:=
1460 - gnome-keyring? ( >=gnome-base/libgnome-keyring-3.12:= )
1461 - >=media-libs/alsa-lib-1.0.19:=
1462 - media-libs/fontconfig:=
1463 - media-libs/freetype:=
1464 - >=media-libs/harfbuzz-1.6.0:=[icu(-)]
1465 - media-libs/libjpeg-turbo:=
1466 - media-libs/libpng:=
1467 - system-libvpx? ( media-libs/libvpx:=[postproc,svc] )
1468 - >=media-libs/openh264-1.6.0:=
1469 - pulseaudio? ( media-sound/pulseaudio:= )
1470 - system-ffmpeg? (
1471 - >=media-video/ffmpeg-4:=
1472 - || (
1473 - media-video/ffmpeg[-samba]
1474 - >=net-fs/samba-4.5.10-r1[-debug(-)]
1475 - )
1476 - !=net-fs/samba-4.5.12
1477 - media-libs/opus:=
1478 - )
1479 - sys-apps/dbus:=
1480 - sys-apps/pciutils:=
1481 - virtual/udev
1482 - x11-libs/cairo:=
1483 - x11-libs/gdk-pixbuf:2
1484 - x11-libs/gtk+:3[X]
1485 - x11-libs/libX11:=
1486 - x11-libs/libXcomposite:=
1487 - x11-libs/libXcursor:=
1488 - x11-libs/libXdamage:=
1489 - x11-libs/libXext:=
1490 - x11-libs/libXfixes:=
1491 - >=x11-libs/libXi-1.6.0:=
1492 - x11-libs/libXrandr:=
1493 - x11-libs/libXrender:=
1494 - x11-libs/libXScrnSaver:=
1495 - x11-libs/libXtst:=
1496 - x11-libs/pango:=
1497 - app-arch/snappy:=
1498 - media-libs/flac:=
1499 - >=media-libs/libwebp-0.4.0:=
1500 - sys-libs/zlib:=[minizip]
1501 - kerberos? ( virtual/krb5 )
1502 -"
1503 -# For nvidia-drivers blocker, see bug #413637 .
1504 -RDEPEND="${COMMON_DEPEND}
1505 - !=www-client/chromium-9999
1506 - !<www-plugins/chrome-binary-plugins-57
1507 - x11-misc/xdg-utils
1508 - virtual/opengl
1509 - virtual/ttf-fonts
1510 - selinux? ( sec-policy/selinux-chromium )
1511 - tcmalloc? ( !<x11-drivers/nvidia-drivers-331.20 )
1512 - widevine? ( www-plugins/chrome-binary-plugins[widevine(-)] )
1513 -"
1514 -# dev-vcs/git - https://bugs.gentoo.org/593476
1515 -# sys-apps/sandbox - https://crbug.com/586444
1516 -DEPEND="${COMMON_DEPEND}
1517 - >=app-arch/gzip-1.7
1518 - !arm? (
1519 - dev-lang/yasm
1520 - )
1521 - dev-lang/perl
1522 - >=dev-util/gperf-3.0.3
1523 - >=dev-util/ninja-1.7.2
1524 - >=net-libs/nodejs-6.9.4
1525 - sys-apps/hwids[usb(+)]
1526 - >=sys-devel/bison-2.4.3
1527 - sys-devel/flex
1528 - >=sys-devel/clang-5
1529 - virtual/pkgconfig
1530 - dev-vcs/git
1531 -"
1532 -
1533 -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then
1534 - EBUILD_DEATH_HOOKS+=" chromium_pkg_die";
1535 -fi
1536 -
1537 -DISABLE_AUTOFORMATTING="yes"
1538 -DOC_CONTENTS="
1539 -Some web pages may require additional fonts to display properly.
1540 -Try installing some of the following packages if some characters
1541 -are not displayed properly:
1542 -- media-fonts/arphicfonts
1543 -- media-fonts/droid
1544 -- media-fonts/ipamonafont
1545 -- media-fonts/noto
1546 -- media-fonts/ja-ipafonts
1547 -- media-fonts/takao-fonts
1548 -- media-fonts/wqy-microhei
1549 -- media-fonts/wqy-zenhei
1550 -
1551 -To fix broken icons on the Downloads page, you should install an icon
1552 -theme that covers the appropriate MIME types, and configure this as your
1553 -GTK+ icon theme.
1554 -"
1555 -
1556 -PATCHES=(
1557 - "${FILESDIR}/chromium-widevine-r2.patch"
1558 - "${FILESDIR}/chromium-compiler-r2.patch"
1559 - "${FILESDIR}/chromium-webrtc-r0.patch"
1560 - "${FILESDIR}/chromium-memcpy-r0.patch"
1561 - "${FILESDIR}/chromium-math.h-r0.patch"
1562 - "${FILESDIR}/chromium-stdint.patch"
1563 - "${FILESDIR}/chromium-ffmpeg-r1.patch"
1564 - "${FILESDIR}/chromium-libjpeg-r0.patch"
1565 - "${FILESDIR}/chromium-cors-string-r0.patch"
1566 - "${FILESDIR}/chromium-libwebp-shim-r0.patch"
1567 - "${FILESDIR}/chromium-ffmpeg-ebp-r1.patch"
1568 -)
1569 -
1570 -pre_build_checks() {
1571 - #if [[ ${MERGE_TYPE} != binary ]]; then
1572 - # local -x CPP="$(tc-getCXX) -E"
1573 - # if tc-is-clang && ! version_is_at_least "3.9.1" "$(clang-fullversion)"; then
1574 - # # bugs: #601654
1575 - # die "At least clang 3.9.1 is required"
1576 - # fi
1577 - # if tc-is-gcc && ! version_is_at_least 5.0 "$(gcc-version)"; then
1578 - # # bugs: #535730, #525374, #518668, #600288, #627356
1579 - # die "At least gcc 5.0 is required"
1580 - # fi
1581 - #fi
1582 -
1583 - # Check build requirements, bug #541816 and bug #471810 .
1584 - CHECKREQS_MEMORY="3G"
1585 - CHECKREQS_DISK_BUILD="5G"
1586 - eshopts_push -s extglob
1587 - if is-flagq '-g?(gdb)?([1-9])'; then
1588 - CHECKREQS_DISK_BUILD="25G"
1589 - if ! use component-build; then
1590 - CHECKREQS_MEMORY="16G"
1591 - fi
1592 - fi
1593 - eshopts_pop
1594 - check-reqs_pkg_setup
1595 -}
1596 -
1597 -pkg_pretend() {
1598 - pre_build_checks
1599 -}
1600 -
1601 -pkg_setup() {
1602 - pre_build_checks
1603 -
1604 - chromium_suid_sandbox_check_kernel_config
1605 -}
1606 -
1607 -src_prepare() {
1608 - # Calling this here supports resumption via FEATURES=keepwork
1609 - python_setup
1610 -
1611 - default
1612 -
1613 - mkdir -p third_party/node/linux/node-linux-x64/bin || die
1614 - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die
1615 -
1616 - local keeplibs=(
1617 - base/third_party/dmg_fp
1618 - base/third_party/dynamic_annotations
1619 - base/third_party/icu
1620 - base/third_party/nspr
1621 - base/third_party/superfasthash
1622 - base/third_party/symbolize
1623 - base/third_party/valgrind
1624 - base/third_party/xdg_mime
1625 - base/third_party/xdg_user_dirs
1626 - buildtools/third_party/libc++
1627 - buildtools/third_party/libc++abi
1628 - chrome/third_party/mozilla_security_manager
1629 - courgette/third_party
1630 - net/third_party/http2
1631 - net/third_party/mozilla_security_manager
1632 - net/third_party/nss
1633 - net/third_party/quic
1634 - net/third_party/spdy
1635 - third_party/WebKit
1636 - third_party/analytics
1637 - third_party/angle
1638 - third_party/angle/src/common/third_party/base
1639 - third_party/angle/src/common/third_party/smhasher
1640 - third_party/angle/src/third_party/compiler
1641 - third_party/angle/src/third_party/libXNVCtrl
1642 - third_party/angle/src/third_party/trace_event
1643 - third_party/angle/third_party/glslang
1644 - third_party/angle/third_party/spirv-headers
1645 - third_party/angle/third_party/spirv-tools
1646 - third_party/angle/third_party/vulkan-validation-layers
1647 - third_party/apple_apsl
1648 - third_party/blink
1649 - third_party/boringssl
1650 - third_party/boringssl/src/third_party/fiat
1651 - third_party/breakpad
1652 - third_party/breakpad/breakpad/src/third_party/curl
1653 - third_party/brotli
1654 - third_party/cacheinvalidation
1655 - third_party/catapult
1656 - third_party/catapult/common/py_vulcanize/third_party/rcssmin
1657 - third_party/catapult/common/py_vulcanize/third_party/rjsmin
1658 - third_party/catapult/third_party/beautifulsoup4
1659 - third_party/catapult/third_party/html5lib-python
1660 - third_party/catapult/third_party/polymer
1661 - third_party/catapult/third_party/six
1662 - third_party/catapult/tracing/third_party/d3
1663 - third_party/catapult/tracing/third_party/gl-matrix
1664 - third_party/catapult/tracing/third_party/jszip
1665 - third_party/catapult/tracing/third_party/mannwhitneyu
1666 - third_party/catapult/tracing/third_party/oboe
1667 - third_party/catapult/tracing/third_party/pako
1668 - third_party/ced
1669 - third_party/cld_3
1670 - third_party/crashpad
1671 - third_party/crashpad/crashpad/third_party/zlib
1672 - third_party/crc32c
1673 - third_party/cros_system_api
1674 - third_party/devscripts
1675 - third_party/dom_distiller_js
1676 - third_party/fips181
1677 - third_party/flatbuffers
1678 - third_party/flot
1679 - third_party/freetype
1680 - third_party/glslang-angle
1681 - third_party/google_input_tools
1682 - third_party/google_input_tools/third_party/closure_library
1683 - third_party/google_input_tools/third_party/closure_library/third_party/closure
1684 - third_party/googletest
1685 - third_party/hunspell
1686 - third_party/iccjpeg
1687 - third_party/inspector_protocol
1688 - third_party/jinja2
1689 - third_party/jstemplate
1690 - third_party/khronos
1691 - third_party/leveldatabase
1692 - third_party/libXNVCtrl
1693 - third_party/libaddressinput
1694 - third_party/libaom
1695 - third_party/libjingle
1696 - third_party/libphonenumber
1697 - third_party/libsecret
1698 - third_party/libsrtp
1699 - third_party/libsync
1700 - third_party/libudev
1701 - third_party/libwebm
1702 - third_party/libxml/chromium
1703 - third_party/libyuv
1704 - third_party/llvm
1705 - third_party/lss
1706 - third_party/lzma_sdk
1707 - third_party/markupsafe
1708 - third_party/mesa
1709 - third_party/metrics_proto
1710 - third_party/modp_b64
1711 - third_party/node
1712 - third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2
1713 - third_party/openmax_dl
1714 - third_party/ots
1715 - third_party/pdfium
1716 - third_party/pdfium/third_party/agg23
1717 - third_party/pdfium/third_party/base
1718 - third_party/pdfium/third_party/bigint
1719 - third_party/pdfium/third_party/freetype
1720 - third_party/pdfium/third_party/lcms
1721 - third_party/pdfium/third_party/libopenjpeg20
1722 - third_party/pdfium/third_party/libpng16
1723 - third_party/pdfium/third_party/libtiff
1724 - third_party/pdfium/third_party/skia_shared
1725 - third_party/perfetto
1726 - third_party/ply
1727 - third_party/polymer
1728 - third_party/protobuf
1729 - third_party/protobuf/third_party/six
1730 - third_party/pyjson5
1731 - third_party/qcms
1732 - third_party/rnnoise
1733 - third_party/s2cellid
1734 - third_party/sfntly
1735 - third_party/simplejson
1736 - third_party/skia
1737 - third_party/skia/third_party/gif
1738 - third_party/skia/third_party/skcms
1739 - third_party/skia/third_party/vulkan
1740 - third_party/smhasher
1741 - third_party/spirv-headers
1742 - third_party/spirv-tools-angle
1743 - third_party/sqlite
1744 - third_party/swiftshader
1745 - third_party/swiftshader/third_party/llvm-subzero
1746 - third_party/swiftshader/third_party/subzero
1747 - third_party/unrar
1748 - third_party/usrsctp
1749 - third_party/vulkan
1750 - third_party/vulkan-validation-layers
1751 - third_party/web-animations-js
1752 - third_party/webdriver
1753 - third_party/webrtc
1754 - third_party/widevine
1755 - third_party/woff2
1756 - third_party/zlib/google
1757 - url/third_party/mozilla
1758 - v8/src/third_party/valgrind
1759 - v8/src/third_party/utf8-decoder
1760 - v8/third_party/antlr4
1761 - v8/third_party/inspector_protocol
1762 -
1763 - # gyp -> gn leftovers
1764 - base/third_party/libevent
1765 - third_party/adobe
1766 - third_party/speech-dispatcher
1767 - third_party/usb_ids
1768 - third_party/xdg-utils
1769 - third_party/yasm/run_yasm.py
1770 - )
1771 - if ! use system-ffmpeg; then
1772 - keeplibs+=( third_party/ffmpeg third_party/opus )
1773 - fi
1774 - if ! use system-icu; then
1775 - keeplibs+=( third_party/icu )
1776 - fi
1777 - if ! use system-libvpx; then
1778 - keeplibs+=( third_party/libvpx )
1779 - keeplibs+=( third_party/libvpx/source/libvpx/third_party/x86inc )
1780 - fi
1781 - if use tcmalloc; then
1782 - keeplibs+=( third_party/tcmalloc )
1783 - fi
1784 -
1785 - # Remove most bundled libraries. Some are still needed.
1786 - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die
1787 -}
1788 -
1789 -bootstrap_gn() {
1790 - if tc-is-cross-compiler; then
1791 - local -x AR=${BUILD_AR}
1792 - local -x CC=${BUILD_CC}
1793 - local -x CXX=${BUILD_CXX}
1794 - local -x NM=${BUILD_NM}
1795 - local -x CFLAGS=${BUILD_CFLAGS}
1796 - local -x CXXFLAGS=${BUILD_CXXFLAGS}
1797 - local -x LDFLAGS=${BUILD_LDFLAGS}
1798 - fi
1799 - einfo "Building GN..."
1800 - set -- tools/gn/bootstrap/bootstrap.py -s -v --no-clean
1801 - echo "$@"
1802 - "$@" || die
1803 -}
1804 -
1805 -src_configure() {
1806 - # Calling this here supports resumption via FEATURES=keepwork
1807 - python_setup
1808 -
1809 - local myconf_gn=""
1810 -
1811 - # Make sure the build system will use the right tools, bug #340795.
1812 - tc-export AR CC CXX NM
1813 -
1814 - if ! tc-is-clang; then
1815 - # Force clang since gcc is pretty broken at the moment.
1816 - CC=${CHOST}-clang
1817 - CXX=${CHOST}-clang++
1818 - strip-unsupported-flags
1819 - fi
1820 -
1821 - if tc-is-clang; then
1822 - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false"
1823 - else
1824 - myconf_gn+=" is_clang=false"
1825 - fi
1826 -
1827 - # Define a custom toolchain for GN
1828 - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\""
1829 -
1830 - if tc-is-cross-compiler; then
1831 - tc-export BUILD_{AR,CC,CXX,NM}
1832 - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\""
1833 - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\""
1834 - else
1835 - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\""
1836 - fi
1837 -
1838 - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory.
1839 - myconf_gn+=" is_debug=false"
1840 -
1841 - # Component build isn't generally intended for use by end users. It's mostly useful
1842 - # for development and debugging.
1843 - myconf_gn+=" is_component_build=$(usex component-build true false)"
1844 -
1845 - # https://chromium.googlesource.com/chromium/src/+/lkcr/docs/jumbo.md
1846 - myconf_gn+=" use_jumbo_build=$(usex jumbo-build true false)"
1847 -
1848 - myconf_gn+=" use_allocator=$(usex tcmalloc \"tcmalloc\" \"none\")"
1849 -
1850 - # Disable nacl, we can't build without pnacl (http://crbug.com/269560).
1851 - myconf_gn+=" enable_nacl=false"
1852 -
1853 - # Use system-provided libraries.
1854 - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733).
1855 - # TODO: use_system_hunspell (upstream changes needed).
1856 - # TODO: use_system_libsrtp (bug #459932).
1857 - # TODO: use_system_protobuf (bug #525560).
1858 - # TODO: use_system_ssl (http://crbug.com/58087).
1859 - # TODO: use_system_sqlite (http://crbug.com/22208).
1860 -
1861 - # libevent: https://bugs.gentoo.org/593458
1862 - local gn_system_libraries=(
1863 - flac
1864 - fontconfig
1865 - freetype
1866 - # Need harfbuzz_from_pkgconfig target
1867 - #harfbuzz-ng
1868 - libdrm
1869 - libjpeg
1870 - libpng
1871 - libwebp
1872 - libxml
1873 - libxslt
1874 - openh264
1875 - re2
1876 - snappy
1877 - yasm
1878 - zlib
1879 - )
1880 - if use system-ffmpeg; then
1881 - gn_system_libraries+=( ffmpeg opus )
1882 - fi
1883 - if use system-icu; then
1884 - gn_system_libraries+=( icu )
1885 - fi
1886 - if use system-libvpx; then
1887 - gn_system_libraries+=( libvpx )
1888 - fi
1889 - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die
1890 -
1891 - # See dependency logic in third_party/BUILD.gn
1892 - myconf_gn+=" use_system_harfbuzz=true"
1893 -
1894 - # Optional dependencies.
1895 - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)"
1896 - myconf_gn+=" enable_widevine=$(usex widevine true false)"
1897 - myconf_gn+=" use_cups=$(usex cups true false)"
1898 - myconf_gn+=" use_gnome_keyring=$(usex gnome-keyring true false)"
1899 - myconf_gn+=" use_kerberos=$(usex kerberos true false)"
1900 - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)"
1901 -
1902 - # TODO: link_pulseaudio=true for GN.
1903 -
1904 - myconf_gn+=" fieldtrial_testing_like_official_build=true"
1905 -
1906 - # Never use bundled gold binary. Disable gold linker flags for now.
1907 - # Do not use bundled clang.
1908 - # Trying to use gold results in linker crash.
1909 - myconf_gn+=" use_gold=false use_sysroot=false linux_use_bundled_binutils=false use_custom_libcxx=false"
1910 -
1911 - # Disable forced lld, bug 641556
1912 - myconf_gn+=" use_lld=false"
1913 -
1914 - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)"
1915 - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)"
1916 - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\""
1917 -
1918 - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys .
1919 - # Note: these are for Gentoo use ONLY. For your own distribution,
1920 - # please get your own set of keys. Feel free to contact chromium@g.o
1921 - # for more info.
1922 - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc"
1923 - local google_default_client_id="329227923882.apps.googleusercontent.com"
1924 - local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu"
1925 - myconf_gn+=" google_api_key=\"${google_api_key}\""
1926 - myconf_gn+=" google_default_client_id=\"${google_default_client_id}\""
1927 - myconf_gn+=" google_default_client_secret=\"${google_default_client_secret}\""
1928 -
1929 - local myarch="$(tc-arch)"
1930 - if [[ $myarch = amd64 ]] ; then
1931 - myconf_gn+=" target_cpu=\"x64\""
1932 - ffmpeg_target_arch=x64
1933 - elif [[ $myarch = x86 ]] ; then
1934 - myconf_gn+=" target_cpu=\"x86\""
1935 - ffmpeg_target_arch=ia32
1936 - elif [[ $myarch = arm64 ]] ; then
1937 - myconf_gn+=" target_cpu=\"arm64\""
1938 - ffmpeg_target_arch=arm64
1939 - elif [[ $myarch = arm ]] ; then
1940 - myconf_gn+=" target_cpu=\"arm\""
1941 - ffmpeg_target_arch=$(usex neon arm-neon arm)
1942 - else
1943 - die "Failed to determine target arch, got '$myarch'."
1944 - fi
1945 -
1946 - # Make sure that -Werror doesn't get added to CFLAGS by the build system.
1947 - # Depending on GCC version the warnings are different and we don't want
1948 - # the build to fail because of that.
1949 - myconf_gn+=" treat_warnings_as_errors=false"
1950 -
1951 - # Disable fatal linker warnings, bug 506268.
1952 - myconf_gn+=" fatal_linker_warnings=false"
1953 -
1954 - # Avoid CFLAGS problems, bug #352457, bug #390147.
1955 - if ! use custom-cflags; then
1956 - replace-flags "-Os" "-O2"
1957 - strip-flags
1958 -
1959 - # Prevent linker from running out of address space, bug #471810 .
1960 - if use x86; then
1961 - filter-flags "-g*"
1962 - fi
1963 -
1964 - # Prevent libvpx build failures. Bug 530248, 544702, 546984.
1965 - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then
1966 - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2
1967 - fi
1968 - fi
1969 -
1970 - # https://bugs.gentoo.org/588596
1971 - #append-cxxflags $(test-flags-CXX -fno-delete-null-pointer-checks)
1972 -
1973 - # Bug 491582.
1974 - export TMPDIR="${WORKDIR}/temp"
1975 - mkdir -p -m 755 "${TMPDIR}" || die
1976 -
1977 - # https://bugs.gentoo.org/654216
1978 - addpredict /dev/dri/ #nowarn
1979 -
1980 - #if ! use system-ffmpeg; then
1981 - if false; then
1982 - local build_ffmpeg_args=""
1983 - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then
1984 - build_ffmpeg_args+=" --disable-asm"
1985 - fi
1986 -
1987 - # Re-configure bundled ffmpeg. See bug #491378 for example reasons.
1988 - einfo "Configuring bundled ffmpeg..."
1989 - pushd third_party/ffmpeg > /dev/null || die
1990 - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \
1991 - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die
1992 - chromium/scripts/copy_config.sh || die
1993 - chromium/scripts/generate_gn.py || die
1994 - popd > /dev/null || die
1995 - fi
1996 -
1997 - bootstrap_gn
1998 -
1999 - einfo "Configuring Chromium..."
2000 - set -- out/Release/gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release
2001 - echo "$@"
2002 - "$@" || die
2003 -}
2004 -
2005 -src_compile() {
2006 - # Calling this here supports resumption via FEATURES=keepwork
2007 - python_setup
2008 -
2009 - #"${EPYTHON}" tools/clang/scripts/update.py --force-local-build --gcc-toolchain /usr --skip-checkout --use-system-cmake --without-android || die
2010 -
2011 - # Even though ninja autodetects number of CPUs, we respect
2012 - # user's options, for debugging with -j 1 or any other reason.
2013 - eninja -C out/Release chrome chromedriver
2014 - use suid && eninja -C out/Release chrome_sandbox
2015 -
2016 - pax-mark m out/Release/chrome
2017 -}
2018 -
2019 -src_install() {
2020 - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser"
2021 - exeinto "${CHROMIUM_HOME}"
2022 - doexe out/Release/chrome
2023 -
2024 - if use suid; then
2025 - newexe out/Release/chrome_sandbox chrome-sandbox
2026 - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox"
2027 - fi
2028 -
2029 - doexe out/Release/chromedriver
2030 -
2031 - local sedargs=( -e "s:/usr/lib/:/usr/$(get_libdir)/:g" )
2032 - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r3.sh" > chromium-launcher.sh || die
2033 - doexe chromium-launcher.sh
2034 -
2035 - # It is important that we name the target "chromium-browser",
2036 - # xdg-utils expect it; bug #355517.
2037 - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser
2038 - # keep the old symlink around for consistency
2039 - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium
2040 -
2041 - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver
2042 -
2043 - # Allow users to override command-line options, bug #357629.
2044 - insinto /etc/chromium
2045 - newins "${FILESDIR}/chromium.default" "default"
2046 -
2047 - pushd out/Release/locales > /dev/null || die
2048 - chromium_remove_language_paks
2049 - popd
2050 -
2051 - insinto "${CHROMIUM_HOME}"
2052 - doins out/Release/*.bin
2053 - doins out/Release/*.pak
2054 - doins out/Release/*.so
2055 -
2056 - if ! use system-icu; then
2057 - doins out/Release/icudtl.dat
2058 - fi
2059 -
2060 - doins -r out/Release/locales
2061 - doins -r out/Release/resources
2062 -
2063 - if [[ -d out/Release/swiftshader ]]; then
2064 - insinto "${CHROMIUM_HOME}/swiftshader"
2065 - doins out/Release/swiftshader/*.so
2066 - fi
2067 -
2068 - # Install icons and desktop entry.
2069 - local branding size
2070 - for size in 16 22 24 32 48 64 128 256 ; do
2071 - case ${size} in
2072 - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;;
2073 - *) branding="chrome/app/theme/chromium" ;;
2074 - esac
2075 - newicon -s ${size} "${branding}/product_logo_${size}.png" \
2076 - chromium-browser.png
2077 - done
2078 -
2079 - local mime_types="text/html;text/xml;application/xhtml+xml;"
2080 - mime_types+="x-scheme-handler/http;x-scheme-handler/https;" # bug #360797
2081 - mime_types+="x-scheme-handler/ftp;" # bug #412185
2082 - mime_types+="x-scheme-handler/mailto;x-scheme-handler/webcal;" # bug #416393
2083 - make_desktop_entry \
2084 - chromium-browser \
2085 - "Chromium" \
2086 - chromium-browser \
2087 - "Network;WebBrowser" \
2088 - "MimeType=${mime_types}\nStartupWMClass=chromium-browser"
2089 - sed -e "/^Exec/s/$/ %U/" -i "${ED}"/usr/share/applications/*.desktop || die
2090 -
2091 - # Install GNOME default application entry (bug #303100).
2092 - insinto /usr/share/gnome-control-center/default-apps
2093 - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml
2094 -
2095 - readme.gentoo_create_doc
2096 -}
2097 -
2098 -pkg_preinst() {
2099 - gnome2_icon_savelist
2100 -}
2101 -
2102 -pkg_postrm() {
2103 - gnome2_icon_cache_update
2104 - xdg_desktop_database_update
2105 -}
2106 -
2107 -pkg_postinst() {
2108 - gnome2_icon_cache_update
2109 - xdg_desktop_database_update
2110 - readme.gentoo_print_elog
2111 -}