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