Gentoo Archives: gentoo-commits

From: Matthias Maier <tamiko@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/dev/tamiko:master commit in: www-client/chromium/
Date: Thu, 01 Oct 2015 20:40:40
Message-Id: 1443731466.4323e9bd0386ef94fe320214fb3d30e82f931987.tamiko@gentoo
1 commit: 4323e9bd0386ef94fe320214fb3d30e82f931987
2 Author: Matthias Maier <tamiko <AT> gentoo <DOT> org>
3 AuthorDate: Thu Oct 1 20:31:06 2015 +0000
4 Commit: Matthias Maier <tamiko <AT> gentoo <DOT> org>
5 CommitDate: Thu Oct 1 20:31:06 2015 +0000
6 URL: https://gitweb.gentoo.org/repo/dev/tamiko.git/commit/?id=4323e9bd
7
8 www-client/chromium: drop old
9
10 Package-Manager: portage-2.2.21
11
12 www-client/chromium/Manifest | 2 -
13 .../chromium/chromium-45.0.2454.37-r99.ebuild | 638 ---------------------
14 .../chromium/chromium-45.0.2454.85-r99.ebuild | 638 ---------------------
15 3 files changed, 1278 deletions(-)
16
17 diff --git a/www-client/chromium/Manifest b/www-client/chromium/Manifest
18 deleted file mode 100644
19 index fdc649b..0000000
20 --- a/www-client/chromium/Manifest
21 +++ /dev/null
22 @@ -1,2 +0,0 @@
23 -DIST chromium-45.0.2454.37-lite.tar.xz 241008104 SHA256 aff447d94f5a8634515b7024a52f1426665c77d5d7c78eb69319dd2a366f4681 SHA512 6a7139c4e9ec31d94aeceb6754e4f0af0c23a2bd3a42f96bf65478c9d36279217599142b58a93ffe7d2ef8d150342b8c431af3357722591cf7ff4e768c1be80e WHIRLPOOL be7d373c1600d864b627c44d9b99ccb1eac9eb3f04535fb5808a7d0ceddd299b127b812df4333de438140b8840c63bdfb2842d9a2dfe006f0c212f9ca411df8f
24 -DIST chromium-45.0.2454.85-lite.tar.xz 242569440 SHA256 fafb4792c69c235d6ea85e904df68a64c51783cb338b783a1092b4ea6c888e71 SHA512 04f482ef18cddaf140224a98189ebd565416e3fe617877d58b2e691fb6030a3c9248720efcb7285cd18a034c345f9a65c677489d8a49f1ac95deafecb9b7d82a WHIRLPOOL 86b382b4dd2406559cef76ae260fcfe26e376bd957be3381b9822f706e8a5fb0ac7240fb00d64858ee1262eec17fadd253acae2b8a9318d3d996fb5d596de665
25
26 diff --git a/www-client/chromium/chromium-45.0.2454.37-r99.ebuild b/www-client/chromium/chromium-45.0.2454.37-r99.ebuild
27 deleted file mode 100644
28 index ed4ee22..0000000
29 --- a/www-client/chromium/chromium-45.0.2454.37-r99.ebuild
30 +++ /dev/null
31 @@ -1,638 +0,0 @@
32 -# Copyright 1999-2015 Gentoo Foundation
33 -# Distributed under the terms of the GNU General Public License v2
34 -# $Id$
35 -
36 -EAPI="5"
37 -PYTHON_COMPAT=( python2_7 )
38 -
39 -CHROMIUM_LANGS="am ar bg bn ca cs da de el en_GB es es_LA et fa fi fil fr gu he
40 - 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
41 - sv sw ta te th tr uk vi zh_CN zh_TW"
42 -
43 -inherit check-reqs chromium eutils flag-o-matic multilib multiprocessing pax-utils \
44 - portability python-any-r1 readme.gentoo toolchain-funcs versionator virtualx
45 -
46 -DESCRIPTION="Open-source version of Google Chrome web browser"
47 -HOMEPAGE="http://chromium.org/"
48 -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}-lite.tar.xz"
49 -
50 -LICENSE="BSD hotwording? ( no-source-code )"
51 -SLOT="0"
52 -KEYWORDS="~amd64 ~arm ~x86"
53 -IUSE="cups gnome gnome-keyring hidpi hotwording kerberos neon pic +proprietary-codecs pulseaudio selinux +tcmalloc widevine"
54 -RESTRICT="proprietary-codecs? ( bindist )"
55 -
56 -# Native Client binaries are compiled with different set of flags, bug #452066.
57 -QA_FLAGS_IGNORED=".*\.nexe"
58 -
59 -# Native Client binaries may be stripped by the build system, which uses the
60 -# right tools for it, bug #469144 .
61 -QA_PRESTRIPPED=".*\.nexe"
62 -
63 -RDEPEND=">=app-accessibility/speech-dispatcher-0.8:=
64 - app-arch/bzip2:=
65 - app-arch/snappy:=
66 - cups? ( >=net-print/cups-1.3.11:= )
67 - >=dev-libs/elfutils-0.149
68 - dev-libs/expat:=
69 - dev-libs/glib:=
70 - >=dev-libs/icu-55.1:=
71 - >=dev-libs/jsoncpp-0.5.0-r1:=
72 - >=dev-libs/libevent-1.4.13:=
73 - dev-libs/libxml2:=[icu]
74 - dev-libs/libxslt:=
75 - dev-libs/nspr:=
76 - >=dev-libs/nss-3.14.3:=
77 - dev-libs/re2:=
78 - gnome? ( >=gnome-base/gconf-2.24.0:= )
79 - gnome-keyring? ( >=gnome-base/libgnome-keyring-3.12:= )
80 - >=media-libs/alsa-lib-1.0.19:=
81 - media-libs/flac:=
82 - media-libs/fontconfig:=
83 - media-libs/freetype:=
84 - media-libs/harfbuzz:=[icu(+)]
85 - media-libs/libexif:=
86 - >=media-libs/libjpeg-turbo-1.2.0-r1:=
87 - media-libs/libpng:0=
88 - >=media-libs/libwebp-0.4.0:=
89 - media-libs/speex:=
90 - pulseaudio? ( media-sound/pulseaudio:= )
91 - sys-apps/dbus:=
92 - sys-apps/pciutils:=
93 - >=sys-libs/libcap-2.22:=
94 - sys-libs/zlib:=[minizip]
95 - virtual/udev
96 - widevine? ( www-plugins/chrome-binary-plugins[widevine] )
97 - x11-libs/cairo:=
98 - x11-libs/gdk-pixbuf:=
99 - x11-libs/gtk+:2=
100 - x11-libs/libdrm
101 - x11-libs/libX11:=
102 - x11-libs/libXcomposite:=
103 - x11-libs/libXcursor:=
104 - x11-libs/libXdamage:=
105 - x11-libs/libXext:=
106 - x11-libs/libXfixes:=
107 - >=x11-libs/libXi-1.6.0:=
108 - x11-libs/libXinerama:=
109 - x11-libs/libXrandr:=
110 - x11-libs/libXrender:=
111 - x11-libs/libXScrnSaver:=
112 - x11-libs/libXtst:=
113 - x11-libs/pango:=
114 - kerberos? ( virtual/krb5 )"
115 -DEPEND="${RDEPEND}
116 - !arm? (
117 - dev-lang/yasm
118 - )
119 - dev-lang/perl
120 - dev-perl/JSON
121 - >=dev-util/gperf-3.0.3
122 - dev-util/ninja
123 - sys-apps/hwids[usb(+)]
124 - >=sys-devel/bison-2.4.3
125 - sys-devel/flex
126 - virtual/pkgconfig"
127 -
128 -# For nvidia-drivers blocker, see bug #413637 .
129 -RDEPEND+="
130 - !=www-client/chromium-9999
131 - !<www-plugins/chrome-binary-plugins-37
132 - x11-misc/xdg-utils
133 - virtual/opengl
134 - virtual/ttf-fonts
135 - selinux? ( sec-policy/selinux-chromium )
136 - tcmalloc? ( !<x11-drivers/nvidia-drivers-331.20 )"
137 -
138 -# Python dependencies. The DEPEND part needs to be kept in sync
139 -# with python_check_deps.
140 -DEPEND+=" $(python_gen_any_dep '
141 - dev-python/beautifulsoup:python-2[${PYTHON_USEDEP}]
142 - dev-python/jinja[${PYTHON_USEDEP}]
143 - dev-python/ply[${PYTHON_USEDEP}]
144 - dev-python/simplejson[${PYTHON_USEDEP}]
145 -')"
146 -python_check_deps() {
147 - has_version "dev-python/beautifulsoup:python-2[${PYTHON_USEDEP}]" && \
148 - has_version "dev-python/jinja[${PYTHON_USEDEP}]" && \
149 - has_version "dev-python/ply[${PYTHON_USEDEP}]" && \
150 - has_version "dev-python/simplejson[${PYTHON_USEDEP}]"
151 -}
152 -
153 -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then
154 - EBUILD_DEATH_HOOKS+=" chromium_pkg_die";
155 -fi
156 -
157 -DISABLE_AUTOFORMATTING="yes"
158 -DOC_CONTENTS="
159 -Some web pages may require additional fonts to display properly.
160 -Try installing some of the following packages if some characters
161 -are not displayed properly:
162 -- media-fonts/arphicfonts
163 -- media-fonts/bitstream-cyberbit
164 -- media-fonts/droid
165 -- media-fonts/ipamonafont
166 -- media-fonts/ja-ipafonts
167 -- media-fonts/takao-fonts
168 -- media-fonts/wqy-microhei
169 -- media-fonts/wqy-zenhei
170 -
171 -Depending on your desktop environment, you may need
172 -to install additional packages to get icons on the Downloads page.
173 -
174 -For KDE, the required package is kde-apps/oxygen-icons.
175 -
176 -For other desktop environments, try one of the following:
177 -- x11-themes/gnome-icon-theme
178 -- x11-themes/tango-icon-theme
179 -"
180 -
181 -pkg_pretend() {
182 - if [[ $(tc-getCC)$ == *gcc* ]] && \
183 - [[ $(gcc-major-version)$(gcc-minor-version) -lt 48 ]]; then
184 - die 'At least gcc 4.8 is required, see bugs: #535730, #525374, #518668.'
185 - fi
186 -
187 - # Check build requirements, bug #541816 and bug #471810 .
188 - CHECKREQS_MEMORY="3G"
189 - CHECKREQS_DISK_BUILD="5G"
190 - eshopts_push -s extglob
191 - if is-flagq '-g?(gdb)?([1-9])'; then
192 - CHECKREQS_DISK_BUILD="25G"
193 - fi
194 - eshopts_pop
195 - check-reqs_pkg_pretend
196 -}
197 -
198 -pkg_setup() {
199 - if [[ "${SLOT}" == "0" ]]; then
200 - CHROMIUM_SUFFIX=""
201 - else
202 - CHROMIUM_SUFFIX="-${SLOT}"
203 - fi
204 - CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser${CHROMIUM_SUFFIX}"
205 -
206 - # Make sure the build system will use the right python, bug #344367.
207 - python-any-r1_pkg_setup
208 -
209 - chromium_suid_sandbox_check_kernel_config
210 -}
211 -
212 -src_prepare() {
213 - # if ! use arm; then
214 - # mkdir -p out/Release/gen/sdk/toolchain || die
215 - # # Do not preserve SELinux context, bug #460892 .
216 - # cp -a --no-preserve=context /usr/$(get_libdir)/nacl-toolchain-newlib \
217 - # out/Release/gen/sdk/toolchain/linux_x86_newlib || die
218 - # touch out/Release/gen/sdk/toolchain/linux_x86_newlib/stamp.untar || die
219 - # fi
220 -
221 - epatch "${FILESDIR}/${PN}-system-jinja-r7.patch"
222 -
223 - epatch_user
224 -
225 - # Remove most bundled libraries. Some are still needed.
226 - build/linux/unbundle/remove_bundled_libraries.py \
227 - 'base/third_party/dmg_fp' \
228 - 'base/third_party/dynamic_annotations' \
229 - 'base/third_party/icu' \
230 - 'base/third_party/nspr' \
231 - 'base/third_party/superfasthash' \
232 - 'base/third_party/symbolize' \
233 - 'base/third_party/valgrind' \
234 - 'base/third_party/xdg_mime' \
235 - 'base/third_party/xdg_user_dirs' \
236 - 'breakpad/src/third_party/curl' \
237 - 'chrome/third_party/mozilla_security_manager' \
238 - 'courgette/third_party' \
239 - 'crypto/third_party/nss' \
240 - 'net/third_party/mozilla_security_manager' \
241 - 'net/third_party/nss' \
242 - 'third_party/WebKit' \
243 - 'third_party/analytics' \
244 - 'third_party/angle' \
245 - 'third_party/angle/src/third_party/compiler' \
246 - 'third_party/boringssl' \
247 - 'third_party/brotli' \
248 - 'third_party/cacheinvalidation' \
249 - 'third_party/cld_2' \
250 - 'third_party/cros_system_api' \
251 - 'third_party/cython/python_flags.py' \
252 - 'third_party/devscripts' \
253 - 'third_party/dom_distiller_js' \
254 - 'third_party/dom_distiller_js/dist/proto_gen/third_party/dom_distiller_js' \
255 - 'third_party/ffmpeg' \
256 - 'third_party/fips181' \
257 - 'third_party/flot' \
258 - 'third_party/google_input_tools' \
259 - 'third_party/google_input_tools/third_party/closure_library' \
260 - 'third_party/google_input_tools/third_party/closure_library/third_party/closure' \
261 - 'third_party/hunspell' \
262 - 'third_party/iccjpeg' \
263 - 'third_party/jstemplate' \
264 - 'third_party/khronos' \
265 - 'third_party/leveldatabase' \
266 - 'third_party/libXNVCtrl' \
267 - 'third_party/libaddressinput' \
268 - 'third_party/libjingle' \
269 - 'third_party/libphonenumber' \
270 - 'third_party/libsecret' \
271 - 'third_party/libsrtp' \
272 - 'third_party/libudev' \
273 - 'third_party/libusb' \
274 - 'third_party/libvpx' \
275 - 'third_party/libvpx/source/libvpx/third_party/x86inc' \
276 - 'third_party/libxml/chromium' \
277 - 'third_party/libyuv' \
278 - 'third_party/lss' \
279 - 'third_party/lzma_sdk' \
280 - 'third_party/mesa' \
281 - 'third_party/modp_b64' \
282 - 'third_party/mojo' \
283 - 'third_party/mt19937ar' \
284 - 'third_party/npapi' \
285 - 'third_party/openmax_dl' \
286 - 'third_party/opus' \
287 - 'third_party/ots' \
288 - 'third_party/pdfium' \
289 - 'third_party/pdfium/third_party/agg23' \
290 - 'third_party/pdfium/third_party/base' \
291 - 'third_party/pdfium/third_party/bigint' \
292 - 'third_party/pdfium/third_party/freetype' \
293 - 'third_party/pdfium/third_party/lcms2-2.6' \
294 - 'third_party/pdfium/third_party/libjpeg' \
295 - 'third_party/pdfium/third_party/libopenjpeg20' \
296 - 'third_party/pdfium/third_party/zlib_v128' \
297 - 'third_party/polymer' \
298 - 'third_party/protobuf' \
299 - 'third_party/qcms' \
300 - 'third_party/readability' \
301 - 'third_party/sfntly' \
302 - 'third_party/skia' \
303 - 'third_party/smhasher' \
304 - 'third_party/sqlite' \
305 - 'third_party/tcmalloc' \
306 - 'third_party/trace-viewer' \
307 - 'third_party/trace-viewer/tracing/third_party/components/polymer' \
308 - 'third_party/trace-viewer/tracing/third_party/d3' \
309 - 'third_party/trace-viewer/tracing/third_party/gl-matrix' \
310 - 'third_party/trace-viewer/tracing/third_party/jszip' \
311 - 'third_party/trace-viewer/tracing/third_party/tvcm' \
312 - 'third_party/trace-viewer/tracing/third_party/tvcm/third_party/beautifulsoup/polymer_soup.py' \
313 - 'third_party/trace-viewer/tracing/third_party/tvcm/third_party/rcssmin' \
314 - 'third_party/trace-viewer/tracing/third_party/tvcm/third_party/rjsmin' \
315 - 'third_party/usrsctp' \
316 - 'third_party/web-animations-js' \
317 - 'third_party/webdriver' \
318 - 'third_party/webrtc' \
319 - 'third_party/widevine' \
320 - 'third_party/x86inc' \
321 - 'third_party/zlib/google' \
322 - 'url/third_party/mozilla' \
323 - 'v8/src/third_party/fdlibm' \
324 - 'v8/src/third_party/valgrind' \
325 - --do-remove || die
326 -}
327 -
328 -src_configure() {
329 - local myconf=""
330 -
331 - # Never tell the build system to "enable" SSE2, it has a few unexpected
332 - # additions, bug #336871.
333 - myconf+=" -Ddisable_sse2=1"
334 -
335 - # Disable nacl, we can't build without pnacl (http://crbug.com/269560).
336 - myconf+=" -Ddisable_nacl=1"
337 -
338 - # Disable glibc Native Client toolchain, we don't need it (bug #417019).
339 - # myconf+=" -Ddisable_glibc=1"
340 -
341 - # TODO: also build with pnacl
342 - # myconf+=" -Ddisable_pnacl=1"
343 -
344 - # It would be awkward for us to tar the toolchain and get it untarred again
345 - # during the build.
346 - # myconf+=" -Ddisable_newlib_untar=1"
347 -
348 - # Make it possible to remove third_party/adobe.
349 - echo > "${T}/flapper_version.h" || die
350 - myconf+=" -Dflapper_version_h_file=${T}/flapper_version.h"
351 -
352 - # Use system-provided libraries.
353 - # TODO: use_system_hunspell (upstream changes needed).
354 - # TODO: use_system_libsrtp (bug #459932).
355 - # TODO: use_system_libusb (http://crbug.com/266149).
356 - # TODO: use_system_libvpx (http://crbug.com/494939).
357 - # TODO: use_system_opus (https://code.google.com/p/webrtc/issues/detail?id=3077).
358 - # TODO: use_system_protobuf (bug #525560).
359 - # TODO: use_system_ssl (http://crbug.com/58087).
360 - # TODO: use_system_sqlite (http://crbug.com/22208).
361 - myconf+="
362 - -Duse_system_bzip2=1
363 - -Duse_system_flac=1
364 - -Duse_system_harfbuzz=1
365 - -Duse_system_icu=1
366 - -Duse_system_jsoncpp=1
367 - -Duse_system_libevent=1
368 - -Duse_system_libjpeg=1
369 - -Duse_system_libpng=1
370 - -Duse_system_libwebp=1
371 - -Duse_system_libxml=1
372 - -Duse_system_libxslt=1
373 - -Duse_system_minizip=1
374 - -Duse_system_nspr=1
375 - -Duse_system_re2=1
376 - -Duse_system_snappy=1
377 - -Duse_system_speex=1
378 - -Duse_system_xdg_utils=1
379 - -Duse_system_zlib=1"
380 -
381 - # Needed for system icu - we don't need additional data files.
382 - myconf+=" -Dicu_use_data_file_flag=0"
383 -
384 - # TODO: patch gyp so that this arm conditional is not needed.
385 - if ! use arm; then
386 - myconf+="
387 - -Duse_system_yasm=1"
388 - fi
389 -
390 - # Optional dependencies.
391 - # TODO: linux_link_kerberos, bug #381289.
392 - myconf+="
393 - $(gyp_use cups)
394 - $(gyp_use gnome use_gconf)
395 - $(gyp_use gnome-keyring use_gnome_keyring)
396 - $(gyp_use gnome-keyring linux_link_gnome_keyring)
397 - $(gyp_use hidpi enable_hidpi)
398 - $(gyp_use hotwording enable_hotwording)
399 - $(gyp_use kerberos)
400 - $(gyp_use pulseaudio)
401 - $(gyp_use tcmalloc use_allocator tcmalloc none)
402 - $(gyp_use widevine enable_widevine)"
403 -
404 - # Use explicit library dependencies instead of dlopen.
405 - # This makes breakages easier to detect by revdep-rebuild.
406 - myconf+="
407 - -Dlinux_link_gsettings=1
408 - -Dlinux_link_libpci=1
409 - -Dlinux_link_libspeechd=1
410 - -Dlibspeechd_h_prefix=speech-dispatcher/"
411 -
412 - # TODO: use the file at run time instead of effectively compiling it in.
413 - myconf+="
414 - -Dusb_ids_path=/usr/share/misc/usb.ids"
415 -
416 - # Save space by removing DLOG and DCHECK messages (about 6% reduction).
417 - myconf+="
418 - -Dlogging_like_official_build=1"
419 -
420 - if [[ $(tc-getCC) == *clang* ]]; then
421 - myconf+=" -Dclang=1"
422 - else
423 - myconf+=" -Dclang=0"
424 - fi
425 -
426 - # Never use bundled gold binary. Disable gold linker flags for now.
427 - # Do not use bundled clang.
428 - myconf+="
429 - -Dclang_use_chrome_plugins=0
430 - -Dhost_clang=0
431 - -Dlinux_use_bundled_binutils=0
432 - -Dlinux_use_bundled_gold=0
433 - -Dlinux_use_gold_flags=0"
434 -
435 - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)"
436 - myconf+=" -Dproprietary_codecs=1 -Dffmpeg_branding=${ffmpeg_branding}"
437 -
438 - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys .
439 - # Note: these are for Gentoo use ONLY. For your own distribution,
440 - # please get your own set of keys. Feel free to contact chromium@g.o
441 - # for more info.
442 - myconf+=" -Dgoogle_api_key=AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc
443 - -Dgoogle_default_client_id=329227923882.apps.googleusercontent.com
444 - -Dgoogle_default_client_secret=vgKG0NNv7GoDpbtoFNLxCUXu"
445 -
446 - local myarch="$(tc-arch)"
447 - if [[ $myarch = amd64 ]] ; then
448 - target_arch=x64
449 - ffmpeg_target_arch=x64
450 - elif [[ $myarch = x86 ]] ; then
451 - target_arch=ia32
452 - ffmpeg_target_arch=ia32
453 - elif [[ $myarch = arm ]] ; then
454 - target_arch=arm
455 - ffmpeg_target_arch=$(usex neon arm-neon arm)
456 - # TODO: re-enable NaCl (NativeClient).
457 - local CTARGET=${CTARGET:-${CHOST}}
458 - if [[ $(tc-is-softfloat) == "no" ]]; then
459 -
460 - myconf+=" -Darm_float_abi=hard"
461 - fi
462 - filter-flags "-mfpu=*"
463 - use neon || myconf+=" -Darm_fpu=${ARM_FPU:-vfpv3-d16}"
464 -
465 - if [[ ${CTARGET} == armv[78]* ]]; then
466 - myconf+=" -Darmv7=1"
467 - else
468 - myconf+=" -Darmv7=0"
469 - fi
470 - myconf+=" -Dsysroot=
471 - $(gyp_use neon arm_neon)
472 - -Ddisable_nacl=1"
473 - else
474 - die "Failed to determine target arch, got '$myarch'."
475 - fi
476 -
477 - myconf+=" -Dtarget_arch=${target_arch}"
478 -
479 - # Make sure that -Werror doesn't get added to CFLAGS by the build system.
480 - # Depending on GCC version the warnings are different and we don't want
481 - # the build to fail because of that.
482 - myconf+=" -Dwerror="
483 -
484 - # Disable fatal linker warnings, bug 506268.
485 - myconf+=" -Ddisable_fatal_linker_warnings=1"
486 -
487 - # Avoid CFLAGS problems, bug #352457, bug #390147.
488 - if ! use custom-cflags; then
489 - replace-flags "-Os" "-O2"
490 - strip-flags
491 -
492 - # Prevent linker from running out of address space, bug #471810 .
493 - if use x86; then
494 - filter-flags "-g*"
495 - fi
496 -
497 - # Prevent libvpx build failures. Bug 530248, 544702, 546984.
498 - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then
499 - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx2
500 - fi
501 - fi
502 -
503 - append-cppflags '-DWIDEVINE_CDM_VERSION_STRING=\"DRMSUCKS\"'
504 -
505 - # Make sure the build system will use the right tools, bug #340795.
506 - tc-export AR CC CXX RANLIB
507 -
508 - # Tools for building programs to be executed on the build system, bug #410883.
509 - export AR_host=$(tc-getBUILD_AR)
510 - export CC_host=$(tc-getBUILD_CC)
511 - export CXX_host=$(tc-getBUILD_CXX)
512 - export LD_host=${CXX_host}
513 -
514 - # Bug 491582.
515 - export TMPDIR="${WORKDIR}/temp"
516 - mkdir -m 755 "${TMPDIR}" || die
517 -
518 - local build_ffmpeg_args=""
519 - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then
520 - build_ffmpeg_args+=" --disable-asm"
521 - fi
522 -
523 - # Re-configure bundled ffmpeg. See bug #491378 for example reasons.
524 - einfo "Configuring bundled ffmpeg..."
525 - pushd third_party/ffmpeg > /dev/null || die
526 - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \
527 - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die
528 - chromium/scripts/copy_config.sh || die
529 - chromium/scripts/generate_gyp.py || die
530 - popd > /dev/null || die
531 -
532 - third_party/libaddressinput/chromium/tools/update-strings.py || die
533 -
534 - einfo "Configuring Chromium..."
535 - build/linux/unbundle/replace_gyp_files.py ${myconf} || die
536 - egyp_chromium ${myconf} || die
537 -}
538 -
539 -eninja() {
540 - if [[ -z ${NINJAOPTS+set} ]]; then
541 - local jobs=$(makeopts_jobs)
542 - local loadavg=$(makeopts_loadavg)
543 -
544 - if [[ ${MAKEOPTS} == *-j* && ${jobs} != 999 ]]; then
545 - NINJAOPTS+=" -j ${jobs}"
546 - fi
547 - if [[ ${MAKEOPTS} == *-l* && ${loadavg} != 999 ]]; then
548 - NINJAOPTS+=" -l ${loadavg}"
549 - fi
550 - fi
551 - set -- ninja -v ${NINJAOPTS} "$@"
552 - echo "$@"
553 - "$@"
554 -}
555 -
556 -src_compile() {
557 - local ninja_targets="chrome chrome_sandbox chromedriver"
558 -
559 - # Build mksnapshot and pax-mark it.
560 - eninja -C out/Release mksnapshot || die
561 - pax-mark m out/Release/mksnapshot
562 -
563 - # Even though ninja autodetects number of CPUs, we respect
564 - # user's options, for debugging with -j 1 or any other reason.
565 - eninja -C out/Release ${ninja_targets} || die
566 -
567 - pax-mark m out/Release/chrome
568 -}
569 -
570 -src_install() {
571 - exeinto "${CHROMIUM_HOME}"
572 - doexe out/Release/chrome || die
573 -
574 - newexe out/Release/chrome_sandbox chrome-sandbox || die
575 - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox"
576 -
577 - doexe out/Release/chromedriver || die
578 -
579 - # if ! use arm; then
580 - # doexe out/Release/nacl_helper{,_bootstrap} || die
581 - # insinto "${CHROMIUM_HOME}"
582 - # doins out/Release/nacl_irt_*.nexe || die
583 - # doins out/Release/libppGoogleNaClPluginChrome.so || die
584 - # fi
585 -
586 - local sedargs=( -e "s:/usr/lib/:/usr/$(get_libdir)/:g" )
587 - if [[ -n ${CHROMIUM_SUFFIX} ]]; then
588 - sedargs+=(
589 - -e "s:chromium-browser:chromium-browser${CHROMIUM_SUFFIX}:g"
590 - -e "s:chromium.desktop:chromium${CHROMIUM_SUFFIX}.desktop:g"
591 - -e "s:plugins:plugins --user-data-dir=\${HOME}/.config/chromium${CHROMIUM_SUFFIX}:"
592 - )
593 - fi
594 - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r3.sh" > chromium-launcher.sh || die
595 - doexe chromium-launcher.sh
596 -
597 - # It is important that we name the target "chromium-browser",
598 - # xdg-utils expect it; bug #355517.
599 - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser${CHROMIUM_SUFFIX} || die
600 - # keep the old symlink around for consistency
601 - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium${CHROMIUM_SUFFIX} || die
602 -
603 - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver${CHROMIUM_SUFFIX} || die
604 -
605 - # Allow users to override command-line options, bug #357629.
606 - dodir /etc/chromium || die
607 - insinto /etc/chromium
608 - newins "${FILESDIR}/chromium.default" "default" || die
609 -
610 - pushd out/Release/locales > /dev/null || die
611 - chromium_remove_language_paks
612 - popd
613 -
614 - insinto "${CHROMIUM_HOME}"
615 - doins out/Release/*.bin || die
616 - doins out/Release/*.pak || die
617 -
618 - doins -r out/Release/locales || die
619 - doins -r out/Release/resources || die
620 -
621 - newman out/Release/chrome.1 chromium${CHROMIUM_SUFFIX}.1 || die
622 - newman out/Release/chrome.1 chromium-browser${CHROMIUM_SUFFIX}.1 || die
623 -
624 - if use widevine; then
625 - doexe out/Release/libwidevinecdmadapter.so
626 - fi
627 -
628 - # Install icons and desktop entry.
629 - local branding size
630 - for size in 16 22 24 32 48 64 128 256 ; do
631 - case ${size} in
632 - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;;
633 - *) branding="chrome/app/theme/chromium" ;;
634 - esac
635 - newicon -s ${size} "${branding}/product_logo_${size}.png" \
636 - chromium-browser${CHROMIUM_SUFFIX}.png
637 - done
638 -
639 - local mime_types="text/html;text/xml;application/xhtml+xml;"
640 - mime_types+="x-scheme-handler/http;x-scheme-handler/https;" # bug #360797
641 - mime_types+="x-scheme-handler/ftp;" # bug #412185
642 - mime_types+="x-scheme-handler/mailto;x-scheme-handler/webcal;" # bug #416393
643 - make_desktop_entry \
644 - chromium-browser${CHROMIUM_SUFFIX} \
645 - "Chromium${CHROMIUM_SUFFIX}" \
646 - chromium-browser${CHROMIUM_SUFFIX} \
647 - "Network;WebBrowser" \
648 - "MimeType=${mime_types}\nStartupWMClass=chromium-browser"
649 - sed -e "/^Exec/s/$/ %U/" -i "${ED}"/usr/share/applications/*.desktop || die
650 -
651 - # Install GNOME default application entry (bug #303100).
652 - if use gnome; then
653 - dodir /usr/share/gnome-control-center/default-apps || die
654 - insinto /usr/share/gnome-control-center/default-apps
655 - newins "${FILESDIR}"/chromium-browser.xml chromium-browser${CHROMIUM_SUFFIX}.xml || die
656 - if [[ "${CHROMIUM_SUFFIX}" != "" ]]; then
657 - sed "s:chromium-browser:chromium-browser${CHROMIUM_SUFFIX}:g" -i \
658 - "${ED}"/usr/share/gnome-control-center/default-apps/chromium-browser${CHROMIUM_SUFFIX}.xml
659 - fi
660 - fi
661 -
662 - readme.gentoo_create_doc
663 -}
664 -
665 -pkg_postinst() {
666 - fdo-mime_desktop_database_update
667 - gnome2_icon_cache_update
668 - readme.gentoo_print_elog
669 -}
670
671 diff --git a/www-client/chromium/chromium-45.0.2454.85-r99.ebuild b/www-client/chromium/chromium-45.0.2454.85-r99.ebuild
672 deleted file mode 100644
673 index ed4ee22..0000000
674 --- a/www-client/chromium/chromium-45.0.2454.85-r99.ebuild
675 +++ /dev/null
676 @@ -1,638 +0,0 @@
677 -# Copyright 1999-2015 Gentoo Foundation
678 -# Distributed under the terms of the GNU General Public License v2
679 -# $Id$
680 -
681 -EAPI="5"
682 -PYTHON_COMPAT=( python2_7 )
683 -
684 -CHROMIUM_LANGS="am ar bg bn ca cs da de el en_GB es es_LA et fa fi fil fr gu he
685 - 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
686 - sv sw ta te th tr uk vi zh_CN zh_TW"
687 -
688 -inherit check-reqs chromium eutils flag-o-matic multilib multiprocessing pax-utils \
689 - portability python-any-r1 readme.gentoo toolchain-funcs versionator virtualx
690 -
691 -DESCRIPTION="Open-source version of Google Chrome web browser"
692 -HOMEPAGE="http://chromium.org/"
693 -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}-lite.tar.xz"
694 -
695 -LICENSE="BSD hotwording? ( no-source-code )"
696 -SLOT="0"
697 -KEYWORDS="~amd64 ~arm ~x86"
698 -IUSE="cups gnome gnome-keyring hidpi hotwording kerberos neon pic +proprietary-codecs pulseaudio selinux +tcmalloc widevine"
699 -RESTRICT="proprietary-codecs? ( bindist )"
700 -
701 -# Native Client binaries are compiled with different set of flags, bug #452066.
702 -QA_FLAGS_IGNORED=".*\.nexe"
703 -
704 -# Native Client binaries may be stripped by the build system, which uses the
705 -# right tools for it, bug #469144 .
706 -QA_PRESTRIPPED=".*\.nexe"
707 -
708 -RDEPEND=">=app-accessibility/speech-dispatcher-0.8:=
709 - app-arch/bzip2:=
710 - app-arch/snappy:=
711 - cups? ( >=net-print/cups-1.3.11:= )
712 - >=dev-libs/elfutils-0.149
713 - dev-libs/expat:=
714 - dev-libs/glib:=
715 - >=dev-libs/icu-55.1:=
716 - >=dev-libs/jsoncpp-0.5.0-r1:=
717 - >=dev-libs/libevent-1.4.13:=
718 - dev-libs/libxml2:=[icu]
719 - dev-libs/libxslt:=
720 - dev-libs/nspr:=
721 - >=dev-libs/nss-3.14.3:=
722 - dev-libs/re2:=
723 - gnome? ( >=gnome-base/gconf-2.24.0:= )
724 - gnome-keyring? ( >=gnome-base/libgnome-keyring-3.12:= )
725 - >=media-libs/alsa-lib-1.0.19:=
726 - media-libs/flac:=
727 - media-libs/fontconfig:=
728 - media-libs/freetype:=
729 - media-libs/harfbuzz:=[icu(+)]
730 - media-libs/libexif:=
731 - >=media-libs/libjpeg-turbo-1.2.0-r1:=
732 - media-libs/libpng:0=
733 - >=media-libs/libwebp-0.4.0:=
734 - media-libs/speex:=
735 - pulseaudio? ( media-sound/pulseaudio:= )
736 - sys-apps/dbus:=
737 - sys-apps/pciutils:=
738 - >=sys-libs/libcap-2.22:=
739 - sys-libs/zlib:=[minizip]
740 - virtual/udev
741 - widevine? ( www-plugins/chrome-binary-plugins[widevine] )
742 - x11-libs/cairo:=
743 - x11-libs/gdk-pixbuf:=
744 - x11-libs/gtk+:2=
745 - x11-libs/libdrm
746 - x11-libs/libX11:=
747 - x11-libs/libXcomposite:=
748 - x11-libs/libXcursor:=
749 - x11-libs/libXdamage:=
750 - x11-libs/libXext:=
751 - x11-libs/libXfixes:=
752 - >=x11-libs/libXi-1.6.0:=
753 - x11-libs/libXinerama:=
754 - x11-libs/libXrandr:=
755 - x11-libs/libXrender:=
756 - x11-libs/libXScrnSaver:=
757 - x11-libs/libXtst:=
758 - x11-libs/pango:=
759 - kerberos? ( virtual/krb5 )"
760 -DEPEND="${RDEPEND}
761 - !arm? (
762 - dev-lang/yasm
763 - )
764 - dev-lang/perl
765 - dev-perl/JSON
766 - >=dev-util/gperf-3.0.3
767 - dev-util/ninja
768 - sys-apps/hwids[usb(+)]
769 - >=sys-devel/bison-2.4.3
770 - sys-devel/flex
771 - virtual/pkgconfig"
772 -
773 -# For nvidia-drivers blocker, see bug #413637 .
774 -RDEPEND+="
775 - !=www-client/chromium-9999
776 - !<www-plugins/chrome-binary-plugins-37
777 - x11-misc/xdg-utils
778 - virtual/opengl
779 - virtual/ttf-fonts
780 - selinux? ( sec-policy/selinux-chromium )
781 - tcmalloc? ( !<x11-drivers/nvidia-drivers-331.20 )"
782 -
783 -# Python dependencies. The DEPEND part needs to be kept in sync
784 -# with python_check_deps.
785 -DEPEND+=" $(python_gen_any_dep '
786 - dev-python/beautifulsoup:python-2[${PYTHON_USEDEP}]
787 - dev-python/jinja[${PYTHON_USEDEP}]
788 - dev-python/ply[${PYTHON_USEDEP}]
789 - dev-python/simplejson[${PYTHON_USEDEP}]
790 -')"
791 -python_check_deps() {
792 - has_version "dev-python/beautifulsoup:python-2[${PYTHON_USEDEP}]" && \
793 - has_version "dev-python/jinja[${PYTHON_USEDEP}]" && \
794 - has_version "dev-python/ply[${PYTHON_USEDEP}]" && \
795 - has_version "dev-python/simplejson[${PYTHON_USEDEP}]"
796 -}
797 -
798 -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then
799 - EBUILD_DEATH_HOOKS+=" chromium_pkg_die";
800 -fi
801 -
802 -DISABLE_AUTOFORMATTING="yes"
803 -DOC_CONTENTS="
804 -Some web pages may require additional fonts to display properly.
805 -Try installing some of the following packages if some characters
806 -are not displayed properly:
807 -- media-fonts/arphicfonts
808 -- media-fonts/bitstream-cyberbit
809 -- media-fonts/droid
810 -- media-fonts/ipamonafont
811 -- media-fonts/ja-ipafonts
812 -- media-fonts/takao-fonts
813 -- media-fonts/wqy-microhei
814 -- media-fonts/wqy-zenhei
815 -
816 -Depending on your desktop environment, you may need
817 -to install additional packages to get icons on the Downloads page.
818 -
819 -For KDE, the required package is kde-apps/oxygen-icons.
820 -
821 -For other desktop environments, try one of the following:
822 -- x11-themes/gnome-icon-theme
823 -- x11-themes/tango-icon-theme
824 -"
825 -
826 -pkg_pretend() {
827 - if [[ $(tc-getCC)$ == *gcc* ]] && \
828 - [[ $(gcc-major-version)$(gcc-minor-version) -lt 48 ]]; then
829 - die 'At least gcc 4.8 is required, see bugs: #535730, #525374, #518668.'
830 - fi
831 -
832 - # Check build requirements, bug #541816 and bug #471810 .
833 - CHECKREQS_MEMORY="3G"
834 - CHECKREQS_DISK_BUILD="5G"
835 - eshopts_push -s extglob
836 - if is-flagq '-g?(gdb)?([1-9])'; then
837 - CHECKREQS_DISK_BUILD="25G"
838 - fi
839 - eshopts_pop
840 - check-reqs_pkg_pretend
841 -}
842 -
843 -pkg_setup() {
844 - if [[ "${SLOT}" == "0" ]]; then
845 - CHROMIUM_SUFFIX=""
846 - else
847 - CHROMIUM_SUFFIX="-${SLOT}"
848 - fi
849 - CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser${CHROMIUM_SUFFIX}"
850 -
851 - # Make sure the build system will use the right python, bug #344367.
852 - python-any-r1_pkg_setup
853 -
854 - chromium_suid_sandbox_check_kernel_config
855 -}
856 -
857 -src_prepare() {
858 - # if ! use arm; then
859 - # mkdir -p out/Release/gen/sdk/toolchain || die
860 - # # Do not preserve SELinux context, bug #460892 .
861 - # cp -a --no-preserve=context /usr/$(get_libdir)/nacl-toolchain-newlib \
862 - # out/Release/gen/sdk/toolchain/linux_x86_newlib || die
863 - # touch out/Release/gen/sdk/toolchain/linux_x86_newlib/stamp.untar || die
864 - # fi
865 -
866 - epatch "${FILESDIR}/${PN}-system-jinja-r7.patch"
867 -
868 - epatch_user
869 -
870 - # Remove most bundled libraries. Some are still needed.
871 - build/linux/unbundle/remove_bundled_libraries.py \
872 - 'base/third_party/dmg_fp' \
873 - 'base/third_party/dynamic_annotations' \
874 - 'base/third_party/icu' \
875 - 'base/third_party/nspr' \
876 - 'base/third_party/superfasthash' \
877 - 'base/third_party/symbolize' \
878 - 'base/third_party/valgrind' \
879 - 'base/third_party/xdg_mime' \
880 - 'base/third_party/xdg_user_dirs' \
881 - 'breakpad/src/third_party/curl' \
882 - 'chrome/third_party/mozilla_security_manager' \
883 - 'courgette/third_party' \
884 - 'crypto/third_party/nss' \
885 - 'net/third_party/mozilla_security_manager' \
886 - 'net/third_party/nss' \
887 - 'third_party/WebKit' \
888 - 'third_party/analytics' \
889 - 'third_party/angle' \
890 - 'third_party/angle/src/third_party/compiler' \
891 - 'third_party/boringssl' \
892 - 'third_party/brotli' \
893 - 'third_party/cacheinvalidation' \
894 - 'third_party/cld_2' \
895 - 'third_party/cros_system_api' \
896 - 'third_party/cython/python_flags.py' \
897 - 'third_party/devscripts' \
898 - 'third_party/dom_distiller_js' \
899 - 'third_party/dom_distiller_js/dist/proto_gen/third_party/dom_distiller_js' \
900 - 'third_party/ffmpeg' \
901 - 'third_party/fips181' \
902 - 'third_party/flot' \
903 - 'third_party/google_input_tools' \
904 - 'third_party/google_input_tools/third_party/closure_library' \
905 - 'third_party/google_input_tools/third_party/closure_library/third_party/closure' \
906 - 'third_party/hunspell' \
907 - 'third_party/iccjpeg' \
908 - 'third_party/jstemplate' \
909 - 'third_party/khronos' \
910 - 'third_party/leveldatabase' \
911 - 'third_party/libXNVCtrl' \
912 - 'third_party/libaddressinput' \
913 - 'third_party/libjingle' \
914 - 'third_party/libphonenumber' \
915 - 'third_party/libsecret' \
916 - 'third_party/libsrtp' \
917 - 'third_party/libudev' \
918 - 'third_party/libusb' \
919 - 'third_party/libvpx' \
920 - 'third_party/libvpx/source/libvpx/third_party/x86inc' \
921 - 'third_party/libxml/chromium' \
922 - 'third_party/libyuv' \
923 - 'third_party/lss' \
924 - 'third_party/lzma_sdk' \
925 - 'third_party/mesa' \
926 - 'third_party/modp_b64' \
927 - 'third_party/mojo' \
928 - 'third_party/mt19937ar' \
929 - 'third_party/npapi' \
930 - 'third_party/openmax_dl' \
931 - 'third_party/opus' \
932 - 'third_party/ots' \
933 - 'third_party/pdfium' \
934 - 'third_party/pdfium/third_party/agg23' \
935 - 'third_party/pdfium/third_party/base' \
936 - 'third_party/pdfium/third_party/bigint' \
937 - 'third_party/pdfium/third_party/freetype' \
938 - 'third_party/pdfium/third_party/lcms2-2.6' \
939 - 'third_party/pdfium/third_party/libjpeg' \
940 - 'third_party/pdfium/third_party/libopenjpeg20' \
941 - 'third_party/pdfium/third_party/zlib_v128' \
942 - 'third_party/polymer' \
943 - 'third_party/protobuf' \
944 - 'third_party/qcms' \
945 - 'third_party/readability' \
946 - 'third_party/sfntly' \
947 - 'third_party/skia' \
948 - 'third_party/smhasher' \
949 - 'third_party/sqlite' \
950 - 'third_party/tcmalloc' \
951 - 'third_party/trace-viewer' \
952 - 'third_party/trace-viewer/tracing/third_party/components/polymer' \
953 - 'third_party/trace-viewer/tracing/third_party/d3' \
954 - 'third_party/trace-viewer/tracing/third_party/gl-matrix' \
955 - 'third_party/trace-viewer/tracing/third_party/jszip' \
956 - 'third_party/trace-viewer/tracing/third_party/tvcm' \
957 - 'third_party/trace-viewer/tracing/third_party/tvcm/third_party/beautifulsoup/polymer_soup.py' \
958 - 'third_party/trace-viewer/tracing/third_party/tvcm/third_party/rcssmin' \
959 - 'third_party/trace-viewer/tracing/third_party/tvcm/third_party/rjsmin' \
960 - 'third_party/usrsctp' \
961 - 'third_party/web-animations-js' \
962 - 'third_party/webdriver' \
963 - 'third_party/webrtc' \
964 - 'third_party/widevine' \
965 - 'third_party/x86inc' \
966 - 'third_party/zlib/google' \
967 - 'url/third_party/mozilla' \
968 - 'v8/src/third_party/fdlibm' \
969 - 'v8/src/third_party/valgrind' \
970 - --do-remove || die
971 -}
972 -
973 -src_configure() {
974 - local myconf=""
975 -
976 - # Never tell the build system to "enable" SSE2, it has a few unexpected
977 - # additions, bug #336871.
978 - myconf+=" -Ddisable_sse2=1"
979 -
980 - # Disable nacl, we can't build without pnacl (http://crbug.com/269560).
981 - myconf+=" -Ddisable_nacl=1"
982 -
983 - # Disable glibc Native Client toolchain, we don't need it (bug #417019).
984 - # myconf+=" -Ddisable_glibc=1"
985 -
986 - # TODO: also build with pnacl
987 - # myconf+=" -Ddisable_pnacl=1"
988 -
989 - # It would be awkward for us to tar the toolchain and get it untarred again
990 - # during the build.
991 - # myconf+=" -Ddisable_newlib_untar=1"
992 -
993 - # Make it possible to remove third_party/adobe.
994 - echo > "${T}/flapper_version.h" || die
995 - myconf+=" -Dflapper_version_h_file=${T}/flapper_version.h"
996 -
997 - # Use system-provided libraries.
998 - # TODO: use_system_hunspell (upstream changes needed).
999 - # TODO: use_system_libsrtp (bug #459932).
1000 - # TODO: use_system_libusb (http://crbug.com/266149).
1001 - # TODO: use_system_libvpx (http://crbug.com/494939).
1002 - # TODO: use_system_opus (https://code.google.com/p/webrtc/issues/detail?id=3077).
1003 - # TODO: use_system_protobuf (bug #525560).
1004 - # TODO: use_system_ssl (http://crbug.com/58087).
1005 - # TODO: use_system_sqlite (http://crbug.com/22208).
1006 - myconf+="
1007 - -Duse_system_bzip2=1
1008 - -Duse_system_flac=1
1009 - -Duse_system_harfbuzz=1
1010 - -Duse_system_icu=1
1011 - -Duse_system_jsoncpp=1
1012 - -Duse_system_libevent=1
1013 - -Duse_system_libjpeg=1
1014 - -Duse_system_libpng=1
1015 - -Duse_system_libwebp=1
1016 - -Duse_system_libxml=1
1017 - -Duse_system_libxslt=1
1018 - -Duse_system_minizip=1
1019 - -Duse_system_nspr=1
1020 - -Duse_system_re2=1
1021 - -Duse_system_snappy=1
1022 - -Duse_system_speex=1
1023 - -Duse_system_xdg_utils=1
1024 - -Duse_system_zlib=1"
1025 -
1026 - # Needed for system icu - we don't need additional data files.
1027 - myconf+=" -Dicu_use_data_file_flag=0"
1028 -
1029 - # TODO: patch gyp so that this arm conditional is not needed.
1030 - if ! use arm; then
1031 - myconf+="
1032 - -Duse_system_yasm=1"
1033 - fi
1034 -
1035 - # Optional dependencies.
1036 - # TODO: linux_link_kerberos, bug #381289.
1037 - myconf+="
1038 - $(gyp_use cups)
1039 - $(gyp_use gnome use_gconf)
1040 - $(gyp_use gnome-keyring use_gnome_keyring)
1041 - $(gyp_use gnome-keyring linux_link_gnome_keyring)
1042 - $(gyp_use hidpi enable_hidpi)
1043 - $(gyp_use hotwording enable_hotwording)
1044 - $(gyp_use kerberos)
1045 - $(gyp_use pulseaudio)
1046 - $(gyp_use tcmalloc use_allocator tcmalloc none)
1047 - $(gyp_use widevine enable_widevine)"
1048 -
1049 - # Use explicit library dependencies instead of dlopen.
1050 - # This makes breakages easier to detect by revdep-rebuild.
1051 - myconf+="
1052 - -Dlinux_link_gsettings=1
1053 - -Dlinux_link_libpci=1
1054 - -Dlinux_link_libspeechd=1
1055 - -Dlibspeechd_h_prefix=speech-dispatcher/"
1056 -
1057 - # TODO: use the file at run time instead of effectively compiling it in.
1058 - myconf+="
1059 - -Dusb_ids_path=/usr/share/misc/usb.ids"
1060 -
1061 - # Save space by removing DLOG and DCHECK messages (about 6% reduction).
1062 - myconf+="
1063 - -Dlogging_like_official_build=1"
1064 -
1065 - if [[ $(tc-getCC) == *clang* ]]; then
1066 - myconf+=" -Dclang=1"
1067 - else
1068 - myconf+=" -Dclang=0"
1069 - fi
1070 -
1071 - # Never use bundled gold binary. Disable gold linker flags for now.
1072 - # Do not use bundled clang.
1073 - myconf+="
1074 - -Dclang_use_chrome_plugins=0
1075 - -Dhost_clang=0
1076 - -Dlinux_use_bundled_binutils=0
1077 - -Dlinux_use_bundled_gold=0
1078 - -Dlinux_use_gold_flags=0"
1079 -
1080 - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)"
1081 - myconf+=" -Dproprietary_codecs=1 -Dffmpeg_branding=${ffmpeg_branding}"
1082 -
1083 - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys .
1084 - # Note: these are for Gentoo use ONLY. For your own distribution,
1085 - # please get your own set of keys. Feel free to contact chromium@g.o
1086 - # for more info.
1087 - myconf+=" -Dgoogle_api_key=AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc
1088 - -Dgoogle_default_client_id=329227923882.apps.googleusercontent.com
1089 - -Dgoogle_default_client_secret=vgKG0NNv7GoDpbtoFNLxCUXu"
1090 -
1091 - local myarch="$(tc-arch)"
1092 - if [[ $myarch = amd64 ]] ; then
1093 - target_arch=x64
1094 - ffmpeg_target_arch=x64
1095 - elif [[ $myarch = x86 ]] ; then
1096 - target_arch=ia32
1097 - ffmpeg_target_arch=ia32
1098 - elif [[ $myarch = arm ]] ; then
1099 - target_arch=arm
1100 - ffmpeg_target_arch=$(usex neon arm-neon arm)
1101 - # TODO: re-enable NaCl (NativeClient).
1102 - local CTARGET=${CTARGET:-${CHOST}}
1103 - if [[ $(tc-is-softfloat) == "no" ]]; then
1104 -
1105 - myconf+=" -Darm_float_abi=hard"
1106 - fi
1107 - filter-flags "-mfpu=*"
1108 - use neon || myconf+=" -Darm_fpu=${ARM_FPU:-vfpv3-d16}"
1109 -
1110 - if [[ ${CTARGET} == armv[78]* ]]; then
1111 - myconf+=" -Darmv7=1"
1112 - else
1113 - myconf+=" -Darmv7=0"
1114 - fi
1115 - myconf+=" -Dsysroot=
1116 - $(gyp_use neon arm_neon)
1117 - -Ddisable_nacl=1"
1118 - else
1119 - die "Failed to determine target arch, got '$myarch'."
1120 - fi
1121 -
1122 - myconf+=" -Dtarget_arch=${target_arch}"
1123 -
1124 - # Make sure that -Werror doesn't get added to CFLAGS by the build system.
1125 - # Depending on GCC version the warnings are different and we don't want
1126 - # the build to fail because of that.
1127 - myconf+=" -Dwerror="
1128 -
1129 - # Disable fatal linker warnings, bug 506268.
1130 - myconf+=" -Ddisable_fatal_linker_warnings=1"
1131 -
1132 - # Avoid CFLAGS problems, bug #352457, bug #390147.
1133 - if ! use custom-cflags; then
1134 - replace-flags "-Os" "-O2"
1135 - strip-flags
1136 -
1137 - # Prevent linker from running out of address space, bug #471810 .
1138 - if use x86; then
1139 - filter-flags "-g*"
1140 - fi
1141 -
1142 - # Prevent libvpx build failures. Bug 530248, 544702, 546984.
1143 - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then
1144 - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx2
1145 - fi
1146 - fi
1147 -
1148 - append-cppflags '-DWIDEVINE_CDM_VERSION_STRING=\"DRMSUCKS\"'
1149 -
1150 - # Make sure the build system will use the right tools, bug #340795.
1151 - tc-export AR CC CXX RANLIB
1152 -
1153 - # Tools for building programs to be executed on the build system, bug #410883.
1154 - export AR_host=$(tc-getBUILD_AR)
1155 - export CC_host=$(tc-getBUILD_CC)
1156 - export CXX_host=$(tc-getBUILD_CXX)
1157 - export LD_host=${CXX_host}
1158 -
1159 - # Bug 491582.
1160 - export TMPDIR="${WORKDIR}/temp"
1161 - mkdir -m 755 "${TMPDIR}" || die
1162 -
1163 - local build_ffmpeg_args=""
1164 - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then
1165 - build_ffmpeg_args+=" --disable-asm"
1166 - fi
1167 -
1168 - # Re-configure bundled ffmpeg. See bug #491378 for example reasons.
1169 - einfo "Configuring bundled ffmpeg..."
1170 - pushd third_party/ffmpeg > /dev/null || die
1171 - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \
1172 - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die
1173 - chromium/scripts/copy_config.sh || die
1174 - chromium/scripts/generate_gyp.py || die
1175 - popd > /dev/null || die
1176 -
1177 - third_party/libaddressinput/chromium/tools/update-strings.py || die
1178 -
1179 - einfo "Configuring Chromium..."
1180 - build/linux/unbundle/replace_gyp_files.py ${myconf} || die
1181 - egyp_chromium ${myconf} || die
1182 -}
1183 -
1184 -eninja() {
1185 - if [[ -z ${NINJAOPTS+set} ]]; then
1186 - local jobs=$(makeopts_jobs)
1187 - local loadavg=$(makeopts_loadavg)
1188 -
1189 - if [[ ${MAKEOPTS} == *-j* && ${jobs} != 999 ]]; then
1190 - NINJAOPTS+=" -j ${jobs}"
1191 - fi
1192 - if [[ ${MAKEOPTS} == *-l* && ${loadavg} != 999 ]]; then
1193 - NINJAOPTS+=" -l ${loadavg}"
1194 - fi
1195 - fi
1196 - set -- ninja -v ${NINJAOPTS} "$@"
1197 - echo "$@"
1198 - "$@"
1199 -}
1200 -
1201 -src_compile() {
1202 - local ninja_targets="chrome chrome_sandbox chromedriver"
1203 -
1204 - # Build mksnapshot and pax-mark it.
1205 - eninja -C out/Release mksnapshot || die
1206 - pax-mark m out/Release/mksnapshot
1207 -
1208 - # Even though ninja autodetects number of CPUs, we respect
1209 - # user's options, for debugging with -j 1 or any other reason.
1210 - eninja -C out/Release ${ninja_targets} || die
1211 -
1212 - pax-mark m out/Release/chrome
1213 -}
1214 -
1215 -src_install() {
1216 - exeinto "${CHROMIUM_HOME}"
1217 - doexe out/Release/chrome || die
1218 -
1219 - newexe out/Release/chrome_sandbox chrome-sandbox || die
1220 - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox"
1221 -
1222 - doexe out/Release/chromedriver || die
1223 -
1224 - # if ! use arm; then
1225 - # doexe out/Release/nacl_helper{,_bootstrap} || die
1226 - # insinto "${CHROMIUM_HOME}"
1227 - # doins out/Release/nacl_irt_*.nexe || die
1228 - # doins out/Release/libppGoogleNaClPluginChrome.so || die
1229 - # fi
1230 -
1231 - local sedargs=( -e "s:/usr/lib/:/usr/$(get_libdir)/:g" )
1232 - if [[ -n ${CHROMIUM_SUFFIX} ]]; then
1233 - sedargs+=(
1234 - -e "s:chromium-browser:chromium-browser${CHROMIUM_SUFFIX}:g"
1235 - -e "s:chromium.desktop:chromium${CHROMIUM_SUFFIX}.desktop:g"
1236 - -e "s:plugins:plugins --user-data-dir=\${HOME}/.config/chromium${CHROMIUM_SUFFIX}:"
1237 - )
1238 - fi
1239 - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r3.sh" > chromium-launcher.sh || die
1240 - doexe chromium-launcher.sh
1241 -
1242 - # It is important that we name the target "chromium-browser",
1243 - # xdg-utils expect it; bug #355517.
1244 - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser${CHROMIUM_SUFFIX} || die
1245 - # keep the old symlink around for consistency
1246 - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium${CHROMIUM_SUFFIX} || die
1247 -
1248 - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver${CHROMIUM_SUFFIX} || die
1249 -
1250 - # Allow users to override command-line options, bug #357629.
1251 - dodir /etc/chromium || die
1252 - insinto /etc/chromium
1253 - newins "${FILESDIR}/chromium.default" "default" || die
1254 -
1255 - pushd out/Release/locales > /dev/null || die
1256 - chromium_remove_language_paks
1257 - popd
1258 -
1259 - insinto "${CHROMIUM_HOME}"
1260 - doins out/Release/*.bin || die
1261 - doins out/Release/*.pak || die
1262 -
1263 - doins -r out/Release/locales || die
1264 - doins -r out/Release/resources || die
1265 -
1266 - newman out/Release/chrome.1 chromium${CHROMIUM_SUFFIX}.1 || die
1267 - newman out/Release/chrome.1 chromium-browser${CHROMIUM_SUFFIX}.1 || die
1268 -
1269 - if use widevine; then
1270 - doexe out/Release/libwidevinecdmadapter.so
1271 - fi
1272 -
1273 - # Install icons and desktop entry.
1274 - local branding size
1275 - for size in 16 22 24 32 48 64 128 256 ; do
1276 - case ${size} in
1277 - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;;
1278 - *) branding="chrome/app/theme/chromium" ;;
1279 - esac
1280 - newicon -s ${size} "${branding}/product_logo_${size}.png" \
1281 - chromium-browser${CHROMIUM_SUFFIX}.png
1282 - done
1283 -
1284 - local mime_types="text/html;text/xml;application/xhtml+xml;"
1285 - mime_types+="x-scheme-handler/http;x-scheme-handler/https;" # bug #360797
1286 - mime_types+="x-scheme-handler/ftp;" # bug #412185
1287 - mime_types+="x-scheme-handler/mailto;x-scheme-handler/webcal;" # bug #416393
1288 - make_desktop_entry \
1289 - chromium-browser${CHROMIUM_SUFFIX} \
1290 - "Chromium${CHROMIUM_SUFFIX}" \
1291 - chromium-browser${CHROMIUM_SUFFIX} \
1292 - "Network;WebBrowser" \
1293 - "MimeType=${mime_types}\nStartupWMClass=chromium-browser"
1294 - sed -e "/^Exec/s/$/ %U/" -i "${ED}"/usr/share/applications/*.desktop || die
1295 -
1296 - # Install GNOME default application entry (bug #303100).
1297 - if use gnome; then
1298 - dodir /usr/share/gnome-control-center/default-apps || die
1299 - insinto /usr/share/gnome-control-center/default-apps
1300 - newins "${FILESDIR}"/chromium-browser.xml chromium-browser${CHROMIUM_SUFFIX}.xml || die
1301 - if [[ "${CHROMIUM_SUFFIX}" != "" ]]; then
1302 - sed "s:chromium-browser:chromium-browser${CHROMIUM_SUFFIX}:g" -i \
1303 - "${ED}"/usr/share/gnome-control-center/default-apps/chromium-browser${CHROMIUM_SUFFIX}.xml
1304 - fi
1305 - fi
1306 -
1307 - readme.gentoo_create_doc
1308 -}
1309 -
1310 -pkg_postinst() {
1311 - fdo-mime_desktop_database_update
1312 - gnome2_icon_cache_update
1313 - readme.gentoo_print_elog
1314 -}