Gentoo Archives: gentoo-commits

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