Gentoo Archives: gentoo-commits

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