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