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