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