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