Gentoo Archives: gentoo-commits

From: "PaweA Hajdan (phajdan.jr)" <phajdan.jr@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in www-client/chromium: chromium-36.0.1985.18.ebuild ChangeLog chromium-36.0.1976.2.ebuild
Date: Wed, 21 May 2014 09:12:18
Message-Id: 20140521091214.57D4C2004C@flycatcher.gentoo.org
1 phajdan.jr 14/05/21 09:12:14
2
3 Modified: ChangeLog
4 Added: chromium-36.0.1985.18.ebuild
5 Removed: chromium-36.0.1976.2.ebuild
6 Log:
7 Dev channel bump. Remove old.
8
9 (Portage version: 2.2.8-r1/cvs/Linux i686, signed Manifest commit with key 0x4F1A2555EA71991D!)
10
11 Revision Changes Path
12 1.1078 www-client/chromium/ChangeLog
13
14 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/chromium/ChangeLog?rev=1.1078&view=markup
15 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/chromium/ChangeLog?rev=1.1078&content-type=text/plain
16 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/chromium/ChangeLog?r1=1.1077&r2=1.1078
17
18 Index: ChangeLog
19 ===================================================================
20 RCS file: /var/cvsroot/gentoo-x86/www-client/chromium/ChangeLog,v
21 retrieving revision 1.1077
22 retrieving revision 1.1078
23 diff -u -r1.1077 -r1.1078
24 --- ChangeLog 21 May 2014 02:19:21 -0000 1.1077
25 +++ ChangeLog 21 May 2014 09:12:14 -0000 1.1078
26 @@ -1,6 +1,12 @@
27 # ChangeLog for www-client/chromium
28 # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
29 -# $Header: /var/cvsroot/gentoo-x86/www-client/chromium/ChangeLog,v 1.1077 2014/05/21 02:19:21 floppym Exp $
30 +# $Header: /var/cvsroot/gentoo-x86/www-client/chromium/ChangeLog,v 1.1078 2014/05/21 09:12:14 phajdan.jr Exp $
31 +
32 +*chromium-36.0.1985.18 (21 May 2014)
33 +
34 + 21 May 2014; Pawel Hajdan jr <phajdan.jr@g.o>
35 + -chromium-36.0.1976.2.ebuild, +chromium-36.0.1985.18.ebuild:
36 + Dev channel bump. Remove old.
37
38 21 May 2014; Mike Gilbert <floppym@g.o> -chromium-34.0.1847.132.ebuild:
39 Remove old.
40 @@ -8,10 +14,10 @@
41 17 May 2014; Mikle Kolyada <zlogene@g.o> chromium-34.0.1847.137.ebuild:
42 x86 stable wrt bug #510288
43
44 -*chromium-36.0.1985.8 (12 May 2014)
45 -*chromium-35.0.1916.114-r1 (12 May 2014)
46 +*chromium-36.0.1985.8 (17 May 2014)
47 +*chromium-35.0.1916.114-r1 (17 May 2014)
48
49 - 12 May 2014; Pawel Hajdan jr <phajdan.jr@g.o>
50 + 17 May 2014; Pawel Hajdan jr <phajdan.jr@g.o>
51 -chromium-35.0.1916.86.ebuild, +chromium-35.0.1916.114-r1.ebuild,
52 -chromium-36.0.1951.5.ebuild, -chromium-36.0.1964.2.ebuild,
53 +chromium-36.0.1985.8.ebuild:
54
55
56
57 1.1 www-client/chromium/chromium-36.0.1985.18.ebuild
58
59 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/chromium/chromium-36.0.1985.18.ebuild?rev=1.1&view=markup
60 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/chromium/chromium-36.0.1985.18.ebuild?rev=1.1&content-type=text/plain
61
62 Index: chromium-36.0.1985.18.ebuild
63 ===================================================================
64 # Copyright 1999-2014 Gentoo Foundation
65 # Distributed under the terms of the GNU General Public License v2
66 # $Header: /var/cvsroot/gentoo-x86/www-client/chromium/chromium-36.0.1985.18.ebuild,v 1.1 2014/05/21 09:12:14 phajdan.jr Exp $
67
68 EAPI="5"
69 PYTHON_COMPAT=( python{2_6,2_7} )
70
71 CHROMIUM_LANGS="am ar bg bn ca cs da de el en_GB es es_LA et fa fi fil fr gu he
72 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
73 sv sw ta te th tr uk vi zh_CN zh_TW"
74
75 inherit chromium eutils flag-o-matic multilib multiprocessing pax-utils \
76 portability python-any-r1 readme.gentoo toolchain-funcs versionator virtualx
77
78 DESCRIPTION="Open-source version of Google Chrome web browser"
79 HOMEPAGE="http://chromium.org/"
80 SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz
81 test? ( https://commondatastorage.googleapis.com/chromium-browser-official/${P}-testdata.tar.xz )"
82
83 LICENSE="BSD"
84 SLOT="0"
85 KEYWORDS="~amd64 ~arm ~x86"
86 IUSE="bindist cups gnome gnome-keyring kerberos neon pulseaudio selinux +tcmalloc"
87
88 # Native Client binaries are compiled with different set of flags, bug #452066.
89 QA_FLAGS_IGNORED=".*\.nexe"
90
91 # Native Client binaries may be stripped by the build system, which uses the
92 # right tools for it, bug #469144 .
93 QA_PRESTRIPPED=".*\.nexe"
94
95 RDEPEND=">=app-accessibility/speech-dispatcher-0.8:=
96 app-arch/bzip2:=
97 app-arch/snappy:=
98 cups? (
99 dev-libs/libgcrypt:0=
100 >=net-print/cups-1.3.11:=
101 )
102 >=dev-libs/elfutils-0.149
103 dev-libs/expat:=
104 dev-libs/icu:=
105 >=dev-libs/jsoncpp-0.5.0-r1:=
106 >=dev-libs/libevent-1.4.13:=
107 dev-libs/libxml2:=[icu]
108 dev-libs/libxslt:=
109 dev-libs/nspr:=
110 >=dev-libs/nss-3.14.3:=
111 dev-libs/re2:=
112 gnome? ( >=gnome-base/gconf-2.24.0:= )
113 gnome-keyring? ( >=gnome-base/gnome-keyring-2.28.2:= )
114 >=media-libs/alsa-lib-1.0.19:=
115 media-libs/flac:=
116 media-libs/harfbuzz:=[icu(+)]
117 media-libs/libexif:=
118 >=media-libs/libjpeg-turbo-1.2.0-r1:=
119 media-libs/libpng:0=
120 >=media-libs/libwebp-0.4.0:=
121 media-libs/speex:=
122 pulseaudio? ( media-sound/pulseaudio:= )
123 sys-apps/dbus:=
124 sys-apps/pciutils:=
125 >=sys-libs/libcap-2.22:=
126 sys-libs/zlib:=[minizip]
127 virtual/udev
128 x11-libs/gtk+:2=
129 >=x11-libs/libXi-1.6.0:=
130 x11-libs/libXinerama:=
131 x11-libs/libXScrnSaver:=
132 x11-libs/libXtst:=
133 kerberos? ( virtual/krb5 )
134 selinux? ( sec-policy/selinux-chromium )"
135 DEPEND="${RDEPEND}
136 !arm? (
137 dev-lang/yasm
138 )
139 dev-lang/perl
140 dev-perl/JSON
141 >=dev-util/gperf-3.0.3
142 dev-util/ninja
143 sys-apps/hwids
144 >=sys-devel/bison-2.4.3
145 sys-devel/flex
146 virtual/pkgconfig
147 test? (
148 dev-libs/openssl:0
149 )"
150 # For nvidia-drivers blocker, see bug #413637 .
151 RDEPEND+="
152 !=www-client/chromium-9999
153 x11-misc/xdg-utils
154 virtual/ttf-fonts
155 tcmalloc? ( !<x11-drivers/nvidia-drivers-331.20 )"
156
157 # Python dependencies. The DEPEND part needs to be kept in sync
158 # with python_check_deps.
159 DEPEND+=" $(python_gen_any_dep '
160 dev-python/simplejson[${PYTHON_USEDEP}]
161 test? ( dev-python/pyftpdlib[${PYTHON_USEDEP}] )
162 ')"
163 python_check_deps() {
164 has_version "dev-python/simplejson[${PYTHON_USEDEP}]" && \
165 { ! use test || has_version "dev-python/pyftpdlib[${PYTHON_USEDEP}]"; }
166 }
167
168 if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then
169 EBUILD_DEATH_HOOKS+=" chromium_pkg_die";
170 fi
171
172 DISABLE_AUTOFORMATTING="yes"
173 DOC_CONTENTS="
174 Some web pages may require additional fonts to display properly.
175 Try installing some of the following packages if some characters
176 are not displayed properly:
177 - media-fonts/arphicfonts
178 - media-fonts/bitstream-cyberbit
179 - media-fonts/droid
180 - media-fonts/ipamonafont
181 - media-fonts/ja-ipafonts
182 - media-fonts/takao-fonts
183 - media-fonts/wqy-microhei
184 - media-fonts/wqy-zenhei
185
186 Depending on your desktop environment, you may need
187 to install additional packages to get icons on the Downloads page.
188
189 For KDE, the required package is kde-base/oxygen-icons.
190
191 For other desktop environments, try one of the following:
192 - x11-themes/gnome-icon-theme
193 - x11-themes/tango-icon-theme
194 "
195
196 pkg_setup() {
197 if [[ "${SLOT}" == "0" ]]; then
198 CHROMIUM_SUFFIX=""
199 else
200 CHROMIUM_SUFFIX="-${SLOT}"
201 fi
202 CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser${CHROMIUM_SUFFIX}"
203
204 # Make sure the build system will use the right python, bug #344367.
205 python-any-r1_pkg_setup
206
207 chromium_suid_sandbox_check_kernel_config
208
209 if use bindist; then
210 elog "bindist enabled: H.264 video support will be disabled."
211 else
212 elog "bindist disabled: Resulting binaries may not be legal to re-distribute."
213 fi
214 }
215
216 src_prepare() {
217 # if ! use arm; then
218 # mkdir -p out/Release/gen/sdk/toolchain || die
219 # # Do not preserve SELinux context, bug #460892 .
220 # cp -a --no-preserve=context /usr/$(get_libdir)/nacl-toolchain-newlib \
221 # out/Release/gen/sdk/toolchain/linux_x86_newlib || die
222 # touch out/Release/gen/sdk/toolchain/linux_x86_newlib/stamp.untar || die
223 # fi
224
225 epatch_user
226
227 # Remove most bundled libraries. Some are still needed.
228 build/linux/unbundle/remove_bundled_libraries.py \
229 'base/third_party/dmg_fp' \
230 'base/third_party/dynamic_annotations' \
231 'base/third_party/icu' \
232 'base/third_party/nspr' \
233 'base/third_party/superfasthash' \
234 'base/third_party/symbolize' \
235 'base/third_party/valgrind' \
236 'base/third_party/xdg_mime' \
237 'base/third_party/xdg_user_dirs' \
238 'breakpad/src/third_party/curl' \
239 'chrome/third_party/mozilla_security_manager' \
240 'courgette/third_party' \
241 'crypto/third_party/nss' \
242 'net/third_party/mozilla_security_manager' \
243 'net/third_party/nss' \
244 'third_party/WebKit' \
245 'third_party/angle' \
246 'third_party/brotli' \
247 'third_party/cacheinvalidation' \
248 'third_party/cld' \
249 'third_party/cros_system_api' \
250 'third_party/dom_distiller_js' \
251 'third_party/ffmpeg' \
252 'third_party/flot' \
253 'third_party/hunspell' \
254 'third_party/iccjpeg' \
255 'third_party/icu/icu.isolate' \
256 'third_party/jinja2' \
257 'third_party/jstemplate' \
258 'third_party/khronos' \
259 'third_party/leveldatabase' \
260 'third_party/libaddressinput' \
261 'third_party/libjingle' \
262 'third_party/libphonenumber' \
263 'third_party/libsrtp' \
264 'third_party/libusb' \
265 'third_party/libvpx' \
266 'third_party/libwebm' \
267 'third_party/libxml/chromium' \
268 'third_party/libXNVCtrl' \
269 'third_party/libyuv' \
270 'third_party/lss' \
271 'third_party/lzma_sdk' \
272 'third_party/markupsafe' \
273 'third_party/mesa' \
274 'third_party/modp_b64' \
275 'third_party/mt19937ar' \
276 'third_party/npapi' \
277 'third_party/opus' \
278 'third_party/ots' \
279 'third_party/polymer' \
280 'third_party/ply' \
281 'third_party/protobuf' \
282 'third_party/pywebsocket' \
283 'third_party/qcms' \
284 'third_party/readability' \
285 'third_party/sfntly' \
286 'third_party/skia' \
287 'third_party/smhasher' \
288 'third_party/sqlite' \
289 'third_party/tcmalloc' \
290 'third_party/tlslite' \
291 'third_party/trace-viewer' \
292 'third_party/undoview' \
293 'third_party/usrsctp' \
294 'third_party/webdriver' \
295 'third_party/webrtc' \
296 'third_party/widevine' \
297 'third_party/x86inc' \
298 'third_party/zlib/google' \
299 'url/third_party/mozilla' \
300 'v8/src/third_party/valgrind' \
301 --do-remove || die
302 }
303
304 src_configure() {
305 local myconf=""
306
307 # Never tell the build system to "enable" SSE2, it has a few unexpected
308 # additions, bug #336871.
309 myconf+=" -Ddisable_sse2=1"
310
311 # Disable nacl, we can't build without pnacl (http://crbug.com/269560).
312 myconf+=" -Ddisable_nacl=1"
313
314 # Disable glibc Native Client toolchain, we don't need it (bug #417019).
315 # myconf+=" -Ddisable_glibc=1"
316
317 # TODO: also build with pnacl
318 # myconf+=" -Ddisable_pnacl=1"
319
320 # It would be awkward for us to tar the toolchain and get it untarred again
321 # during the build.
322 # myconf+=" -Ddisable_newlib_untar=1"
323
324 # Make it possible to remove third_party/adobe.
325 echo > "${T}/flapper_version.h" || die
326 myconf+=" -Dflapper_version_h_file=${T}/flapper_version.h"
327
328 # Use system-provided libraries.
329 # TODO: use_system_hunspell (upstream changes needed).
330 # TODO: use_system_libsrtp (bug #459932).
331 # TODO: use_system_libvpx (http://crbug.com/347823).
332 # TODO: use_system_libusb (http://crbug.com/266149).
333 # TODO: use_system_opus (https://code.google.com/p/webrtc/issues/detail?id=3077).
334 # TODO: use_system_protobuf (bug #503084).
335 # TODO: use_system_ssl (http://crbug.com/58087).
336 # TODO: use_system_sqlite (http://crbug.com/22208).
337 myconf+="
338 -Duse_system_bzip2=1
339 -Duse_system_flac=1
340 -Duse_system_harfbuzz=1
341 -Duse_system_icu=1
342 -Duse_system_jsoncpp=1
343 -Duse_system_libevent=1
344 -Duse_system_libjpeg=1
345 -Duse_system_libpng=1
346 -Duse_system_libwebp=1
347 -Duse_system_libxml=1
348 -Duse_system_libxslt=1
349 -Duse_system_minizip=1
350 -Duse_system_nspr=1
351 -Duse_system_openssl=1
352 -Duse_system_re2=1
353 -Duse_system_snappy=1
354 -Duse_system_speex=1
355 -Duse_system_xdg_utils=1
356 -Duse_system_zlib=1"
357
358 # Needed for system icu - we don't need additional data files.
359 myconf+=" -Dicu_use_data_file_flag=0"
360
361 # TODO: patch gyp so that this arm conditional is not needed.
362 if ! use arm; then
363 myconf+="
364 -Duse_system_yasm=1"
365 fi
366
367 # Optional dependencies.
368 # TODO: linux_link_kerberos, bug #381289.
369 myconf+="
370 $(gyp_use cups)
371 $(gyp_use gnome use_gconf)
372 $(gyp_use gnome-keyring use_gnome_keyring)
373 $(gyp_use gnome-keyring linux_link_gnome_keyring)
374 $(gyp_use kerberos)
375 $(gyp_use pulseaudio)
376 $(gyp_use tcmalloc use_allocator tcmalloc none)"
377
378 # Use explicit library dependencies instead of dlopen.
379 # This makes breakages easier to detect by revdep-rebuild.
380 myconf+="
381 -Dlinux_link_gsettings=1
382 -Dlinux_link_libpci=1
383 -Dlinux_link_libspeechd=1
384 -Dlibspeechd_h_prefix=speech-dispatcher/"
385
386 # TODO: use the file at run time instead of effectively compiling it in.
387 myconf+="
388 -Dusb_ids_path=/usr/share/misc/usb.ids"
389
390 # Save space by removing DLOG and DCHECK messages (about 6% reduction).
391 myconf+="
392 -Dlogging_like_official_build=1"
393
394 # Never use bundled gold binary. Disable gold linker flags for now.
395 myconf+="
396 -Dlinux_use_bundled_binutils=0
397 -Dlinux_use_bundled_gold=0
398 -Dlinux_use_gold_flags=0"
399
400 # TODO: enable mojo after fixing compile failures.
401 myconf+=" -Duse_mojo=0"
402
403 # Always support proprietary codecs.
404 myconf+=" -Dproprietary_codecs=1"
405
406 # Set python version and libdir so that python_arch.sh can find libpython.
407 # Bug 492864.
408 myconf+="
409 -Dpython_ver=${EPYTHON#python}
410 -Dsystem_libdir=$(get_libdir)"
411
412 if ! use bindist; then
413 # Enable H.264 support in bundled ffmpeg.
414 myconf+=" -Dffmpeg_branding=Chrome"
415 fi
416
417 # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys .
418 # Note: these are for Gentoo use ONLY. For your own distribution,
419 # please get your own set of keys. Feel free to contact chromium@g.o
420 # for more info.
421 myconf+=" -Dgoogle_api_key=AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc
422 -Dgoogle_default_client_id=329227923882.apps.googleusercontent.com
423 -Dgoogle_default_client_secret=vgKG0NNv7GoDpbtoFNLxCUXu"
424
425 local myarch="$(tc-arch)"
426 if [[ $myarch = amd64 ]] ; then
427 target_arch=x64
428 ffmpeg_target_arch=x64
429 elif [[ $myarch = x86 ]] ; then
430 target_arch=ia32
431 ffmpeg_target_arch=ia32
432 elif [[ $myarch = arm ]] ; then
433 target_arch=arm
434 ffmpeg_target_arch=$(usex neon arm-neon arm)
435 # TODO: re-enable NaCl (NativeClient).
436 local CTARGET=${CTARGET:-${CHOST}}
437 if [[ $(tc-is-softfloat) == "no" ]]; then
438
439 myconf+=" -Darm_float_abi=hard"
440 fi
441 filter-flags "-mfpu=*"
442 use neon || myconf+=" -Darm_fpu=${ARM_FPU:-vfpv3-d16}"
443
444 if [[ ${CTARGET} == armv[78]* ]]; then
445 myconf+=" -Darmv7=1"
446 else
447 myconf+=" -Darmv7=0"
448 fi
449 myconf+=" -Dsysroot=
450 $(gyp_use neon arm_neon)
451 -Ddisable_nacl=1"
452 else
453 die "Failed to determine target arch, got '$myarch'."
454 fi
455
456 myconf+=" -Dtarget_arch=${target_arch}"
457
458 # Make sure that -Werror doesn't get added to CFLAGS by the build system.
459 # Depending on GCC version the warnings are different and we don't want
460 # the build to fail because of that.
461 myconf+=" -Dwerror="
462
463 # Disable fatal linker warnings, bug 506268.
464 myconf+=" -Ddisable_fatal_linker_warnings=1"
465
466 # Avoid CFLAGS problems, bug #352457, bug #390147.
467 if ! use custom-cflags; then
468 replace-flags "-Os" "-O2"
469 strip-flags
470
471 # Prevent linker from running out of address space, bug #471810 .
472 if use x86; then
473 filter-flags "-g*"
474 fi
475 fi
476
477 # Make sure the build system will use the right tools, bug #340795.
478 tc-export AR CC CXX RANLIB
479
480 # Tools for building programs to be executed on the build system, bug #410883.
481 export AR_host=$(tc-getBUILD_AR)
482 export CC_host=$(tc-getBUILD_CC)
483 export CXX_host=$(tc-getBUILD_CXX)
484 export LD_host=${CXX_host}
485
486 # Bug 491582.
487 export TMPDIR="${WORKDIR}/temp"
488 mkdir -m 755 "${TMPDIR}" || die
489
490 # Re-configure bundled ffmpeg. See bug #491378 for example reasons.
491 einfo "Configuring bundled ffmpeg..."
492 pushd third_party/ffmpeg > /dev/null || die
493 chromium/scripts/build_ffmpeg.sh linux ${ffmpeg_target_arch} "${PWD}" config-only || die
494 chromium/scripts/copy_config.sh || die
495 popd > /dev/null || die
496
497 einfo "Configuring Chromium..."
498 build/linux/unbundle/replace_gyp_files.py ${myconf} || die
499 egyp_chromium ${myconf} || die
500 }
501
502 eninja() {
503 if [[ -z ${NINJAOPTS+set} ]]; then
504 local jobs=$(makeopts_jobs)
505 local loadavg=$(makeopts_loadavg)
506
507 if [[ ${MAKEOPTS} == *-j* && ${jobs} != 999 ]]; then
508 NINJAOPTS+=" -j ${jobs}"
509 fi
510 if [[ ${MAKEOPTS} == *-l* && ${loadavg} != 999 ]]; then
511 NINJAOPTS+=" -l ${loadavg}"
512 fi
513 fi
514 set -- ninja -v ${NINJAOPTS} "$@"
515 echo "$@"
516 "$@"
517 }
518
519 src_compile() {
520 # TODO: add media_unittests after fixing compile (bug #462546).
521 local test_targets=""
522 for x in base cacheinvalidation content crypto \
523 gpu net printing sql; do
524 test_targets+=" ${x}_unittests"
525 done
526
527 local ninja_targets="chrome chrome_sandbox chromedriver"
528 if use test; then
529 ninja_targets+=" $test_targets"
530 fi
531
532 # Build mksnapshot and pax-mark it.
533 eninja -C out/Release mksnapshot.${target_arch} || die
534 pax-mark m out/Release/mksnapshot.${target_arch}
535
536 # Even though ninja autodetects number of CPUs, we respect
537 # user's options, for debugging with -j 1 or any other reason.
538 eninja -C out/Release ${ninja_targets} || die
539
540 pax-mark m out/Release/chrome
541 if use test; then
542 for x in $test_targets; do
543 pax-mark m out/Release/${x}
544 done
545 fi
546 }
547
548 src_test() {
549 # For more info see bug #350349.
550 local LC_ALL="en_US.utf8"
551
552 if ! locale -a | grep -q "${LC_ALL}"; then
553 eerror "${PN} requires ${LC_ALL} locale for tests"
554 eerror "Please read the following guides for more information:"
555 eerror " http://www.gentoo.org/doc/en/guide-localization.xml"
556 eerror " http://www.gentoo.org/doc/en/utf-8.xml"
557 die "locale ${LC_ALL} is not supported"
558 fi
559
560 # If we have the right locale, export it to the environment
561 export LC_ALL
562
563 # For more info see bug #370957.
564 if [[ $UID -eq 0 ]]; then
565 die "Tests must be run as non-root. Please use FEATURES=userpriv."
566 fi
567
568 # virtualmake dies on failure, so we run our tests in a function
569 VIRTUALX_COMMAND="chromium_test" virtualmake
570 }
571
572 chromium_test() {
573 # Keep track of the cumulative exit status for all tests
574 local exitstatus=0
575
576 runtest() {
577 local cmd=$1
578 shift
579 local IFS=:
580 set -- "${cmd}" --test-launcher-bot-mode "--gtest_filter=-$*"
581 einfo "$@"
582 "$@"
583 local st=$?
584 (( st )) && eerror "${cmd} failed"
585 (( exitstatus |= st ))
586 }
587
588 local excluded_base_unittests=(
589 "OutOfMemoryDeathTest.ViaSharedLibraries" # bug #497512
590 )
591 runtest out/Release/base_unittests "${excluded_base_unittests[@]}"
592 runtest out/Release/cacheinvalidation_unittests
593
594 local excluded_content_unittests=(
595 "RendererDateTimePickerTest.*" # bug #465452
596 )
597 runtest out/Release/content_unittests "${excluded_content_unittests[@]}"
598
599 runtest out/Release/crypto_unittests
600 runtest out/Release/gpu_unittests
601
602 # TODO: add media_unittests after fixing compile (bug #462546).
603 # runtest out/Release/media_unittests
604
605 local excluded_net_unittests=(
606 "NetUtilTest.IDNToUnicode*" # bug 361885
607 "NetUtilTest.FormatUrl*" # see above
608 "SpdyFramerTests/SpdyFramerTest.CreatePushPromiseCompressed/2" # bug #478168
609 "SpdyFramerTests/SpdyFramerTest.CreateContinuationCompressed/2" # see above
610 "HostResolverImplTest.BypassCache" # bug #498304
611 "HostResolverImplTest.FlushCacheOnIPAddressChange" # bug #481812
612 "HostResolverImplTest.ResolveFromCache" # see above
613 "ProxyResolverV8TracingTest.*" # see above
614 "SSLClientSocketTest.ConnectMismatched" # see above
615 "UDPSocketTest.*" # see above
616 "*EndToEndTest*" # see above
617 "Version/QuicHttpStreamTest.Priority/0" # bug #503010
618 "Version/QuicHttpStreamTest.DestroyedEarly/0" # see above
619 )
620 runtest out/Release/net_unittests "${excluded_net_unittests[@]}"
621
622 runtest out/Release/printing_unittests
623 runtest out/Release/sql_unittests
624
625 return ${exitstatus}
626 }
627
628 src_install() {
629 exeinto "${CHROMIUM_HOME}"
630 doexe out/Release/chrome || die
631
632 newexe out/Release/chrome_sandbox chrome-sandbox || die
633 fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox"
634
635 doexe out/Release/chromedriver || die
636
637 # if ! use arm; then
638 # doexe out/Release/nacl_helper{,_bootstrap} || die
639 # insinto "${CHROMIUM_HOME}"
640 # doins out/Release/nacl_irt_*.nexe || die
641 # doins out/Release/libppGoogleNaClPluginChrome.so || die
642 # fi
643
644 local sedargs=( -e "s:/usr/lib/:/usr/$(get_libdir)/:g" )
645 if [[ -n ${CHROMIUM_SUFFIX} ]]; then
646 sedargs+=(
647 -e "s:chromium-browser:chromium-browser${CHROMIUM_SUFFIX}:g"
648 -e "s:chromium.desktop:chromium${CHROMIUM_SUFFIX}.desktop:g"
649 -e "s:plugins:plugins --user-data-dir=\${HOME}/.config/chromium${CHROMIUM_SUFFIX}:"
650 )
651 fi
652 sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r3.sh" > chromium-launcher.sh || die
653 doexe chromium-launcher.sh
654
655 # It is important that we name the target "chromium-browser",
656 # xdg-utils expect it; bug #355517.
657 dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser${CHROMIUM_SUFFIX} || die
658 # keep the old symlink around for consistency
659 dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium${CHROMIUM_SUFFIX} || die
660
661 dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver${CHROMIUM_SUFFIX} || die
662
663 # Allow users to override command-line options, bug #357629.
664 dodir /etc/chromium || die
665 insinto /etc/chromium
666 newins "${FILESDIR}/chromium.default" "default" || die
667
668 pushd out/Release/locales > /dev/null || die
669 chromium_remove_language_paks
670 popd
671
672 insinto "${CHROMIUM_HOME}"
673 doins out/Release/*.pak || die
674
675 doins -r out/Release/locales || die
676 doins -r out/Release/resources || die
677
678 newman out/Release/chrome.1 chromium${CHROMIUM_SUFFIX}.1 || die
679 newman out/Release/chrome.1 chromium-browser${CHROMIUM_SUFFIX}.1 || die
680
681 doexe out/Release/libffmpegsumo.so || die
682
683 # Install icons and desktop entry.
684 local branding size
685 for size in 16 22 24 32 48 64 128 256 ; do
686 case ${size} in
687 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;;
688 *) branding="chrome/app/theme/chromium" ;;
689 esac
690 newicon -s ${size} "${branding}/product_logo_${size}.png" \
691 chromium-browser${CHROMIUM_SUFFIX}.png
692 done
693
694 local mime_types="text/html;text/xml;application/xhtml+xml;"
695 mime_types+="x-scheme-handler/http;x-scheme-handler/https;" # bug #360797
696 mime_types+="x-scheme-handler/ftp;" # bug #412185
697 mime_types+="x-scheme-handler/mailto;x-scheme-handler/webcal;" # bug #416393
698 make_desktop_entry \
699 chromium-browser${CHROMIUM_SUFFIX} \
700 "Chromium${CHROMIUM_SUFFIX}" \
701 chromium-browser${CHROMIUM_SUFFIX} \
702 "Network;WebBrowser" \
703 "MimeType=${mime_types}\nStartupWMClass=chromium-browser"
704 sed -e "/^Exec/s/$/ %U/" -i "${ED}"/usr/share/applications/*.desktop || die
705
706 # Install GNOME default application entry (bug #303100).
707 if use gnome; then
708 dodir /usr/share/gnome-control-center/default-apps || die
709 insinto /usr/share/gnome-control-center/default-apps
710 newins "${FILESDIR}"/chromium-browser.xml chromium-browser${CHROMIUM_SUFFIX}.xml || die
711 if [[ "${CHROMIUM_SUFFIX}" != "" ]]; then
712 sed "s:chromium-browser:chromium-browser${CHROMIUM_SUFFIX}:g" -i \
713 "${ED}"/usr/share/gnome-control-center/default-apps/chromium-browser${CHROMIUM_SUFFIX}.xml
714 fi
715 fi
716
717 readme.gentoo_create_doc
718 }
719
720 pkg_postinst() {
721 fdo-mime_desktop_database_update
722 gnome2_icon_cache_update
723 readme.gentoo_print_elog
724 }