Gentoo Archives: gentoo-commits

From: "Mike Gilbert (floppym)" <floppym@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in www-client/chromium: chromium-22.0.1229.14.ebuild ChangeLog chromium-21.0.1180.77-r1.ebuild chromium-21.0.1180.77.ebuild chromium-22.0.1229.8.ebuild
Date: Thu, 23 Aug 2012 19:20:40
Message-Id: 20120823192031.17C81204B1@flycatcher.gentoo.org
1 floppym 12/08/23 19:20:31
2
3 Modified: ChangeLog
4 Added: chromium-22.0.1229.14.ebuild
5 Removed: chromium-21.0.1180.77-r1.ebuild
6 chromium-21.0.1180.77.ebuild
7 chromium-22.0.1229.8.ebuild
8 Log:
9 Version bump for beta channel release.
10
11 (Portage version: 2.2.0_alpha121/cvs/Linux x86_64)
12
13 Revision Changes Path
14 1.699 www-client/chromium/ChangeLog
15
16 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/chromium/ChangeLog?rev=1.699&view=markup
17 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/chromium/ChangeLog?rev=1.699&content-type=text/plain
18 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/chromium/ChangeLog?r1=1.698&r2=1.699
19
20 Index: ChangeLog
21 ===================================================================
22 RCS file: /var/cvsroot/gentoo-x86/www-client/chromium/ChangeLog,v
23 retrieving revision 1.698
24 retrieving revision 1.699
25 diff -u -r1.698 -r1.699
26 --- ChangeLog 21 Aug 2012 23:58:50 -0000 1.698
27 +++ ChangeLog 23 Aug 2012 19:20:30 -0000 1.699
28 @@ -1,6 +1,13 @@
29 # ChangeLog for www-client/chromium
30 # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
31 -# $Header: /var/cvsroot/gentoo-x86/www-client/chromium/ChangeLog,v 1.698 2012/08/21 23:58:50 floppym Exp $
32 +# $Header: /var/cvsroot/gentoo-x86/www-client/chromium/ChangeLog,v 1.699 2012/08/23 19:20:30 floppym Exp $
33 +
34 +*chromium-22.0.1229.14 (23 Aug 2012)
35 +
36 + 23 Aug 2012; Mike Gilbert <floppym@g.o> +chromium-22.0.1229.14.ebuild,
37 + -chromium-21.0.1180.77-r1.ebuild, -chromium-21.0.1180.77.ebuild,
38 + -chromium-22.0.1229.8.ebuild:
39 + Version bump for beta channel release.
40
41 *chromium-22.0.1229.12 (21 Aug 2012)
42
43
44
45
46 1.1 www-client/chromium/chromium-22.0.1229.14.ebuild
47
48 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/chromium/chromium-22.0.1229.14.ebuild?rev=1.1&view=markup
49 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/chromium/chromium-22.0.1229.14.ebuild?rev=1.1&content-type=text/plain
50
51 Index: chromium-22.0.1229.14.ebuild
52 ===================================================================
53 # Copyright 1999-2012 Gentoo Foundation
54 # Distributed under the terms of the GNU General Public License v2
55 # $Header: /var/cvsroot/gentoo-x86/www-client/chromium/chromium-22.0.1229.14.ebuild,v 1.1 2012/08/23 19:20:30 floppym Exp $
56
57 EAPI="4"
58 PYTHON_DEPEND="2:2.6"
59
60 CHROMIUM_LANGS="am ar bg bn ca cs da de el en_GB es es_LA et fa fi fil fr gu he
61 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
62 sv sw ta te th tr uk vi zh_CN zh_TW"
63
64 inherit chromium eutils flag-o-matic multilib \
65 pax-utils portability python toolchain-funcs versionator virtualx
66
67 DESCRIPTION="Open-source version of Google Chrome web browser"
68 HOMEPAGE="http://chromium.org/"
69 SRC_URI="http://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.bz2"
70
71 LICENSE="BSD"
72 SLOT="0"
73 KEYWORDS="~amd64 ~x86"
74 IUSE="bindist cups gnome gnome-keyring kerberos pulseaudio selinux"
75
76 RDEPEND="app-arch/bzip2
77 cups? (
78 dev-libs/libgcrypt
79 >=net-print/cups-1.3.11
80 )
81 >=dev-lang/v8-3.11.10.6
82 dev-libs/dbus-glib
83 >=dev-libs/elfutils-0.149
84 dev-libs/expat
85 >=dev-libs/icu-49.1.1-r1
86 >=dev-libs/libevent-1.4.13
87 dev-libs/libxml2[icu]
88 dev-libs/libxslt
89 >=dev-libs/nss-3.12.3
90 gnome? ( >=gnome-base/gconf-2.24.0 )
91 gnome-keyring? ( >=gnome-base/gnome-keyring-2.28.2 )
92 >=media-libs/alsa-lib-1.0.19
93 media-libs/flac
94 >=media-libs/libjpeg-turbo-1.2.0-r1
95 media-libs/libpng
96 >=media-libs/libwebp-0.2.0_rc1
97 media-libs/speex
98 pulseaudio? ( media-sound/pulseaudio )
99 sys-fs/udev
100 sys-libs/zlib
101 virtual/libusb:1
102 x11-libs/gtk+:2
103 x11-libs/libXinerama
104 x11-libs/libXScrnSaver
105 x11-libs/libXtst
106 kerberos? ( virtual/krb5 )
107 selinux? ( sys-libs/libselinux )"
108 DEPEND="${RDEPEND}
109 >=dev-lang/nacl-toolchain-newlib-0_p9093
110 dev-lang/perl
111 dev-lang/yasm
112 dev-python/ply
113 dev-python/simplejson
114 >=dev-util/gperf-3.0.3
115 >=sys-devel/bison-2.4.3
116 sys-devel/flex
117 >=sys-devel/make-3.81-r2
118 virtual/pkgconfig
119 test? (
120 dev-python/pyftpdlib
121 )"
122 RDEPEND+="
123 !=www-client/chromium-9999
124 x11-misc/xdg-utils
125 virtual/ttf-fonts"
126
127 if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then
128 EBUILD_DEATH_HOOKS+=" chromium_pkg_die";
129 fi
130
131 pkg_setup() {
132 if [[ "${SLOT}" == "0" ]]; then
133 CHROMIUM_SUFFIX=""
134 else
135 CHROMIUM_SUFFIX="-${SLOT}"
136 fi
137 CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser${CHROMIUM_SUFFIX}"
138
139 # Make sure the build system will use the right tools, bug #340795.
140 tc-export AR CC CXX RANLIB
141
142 # Make sure the build system will use the right python, bug #344367.
143 python_set_active_version 2
144 python_pkg_setup
145
146 if ! use selinux; then
147 chromium_suid_sandbox_check_kernel_config
148 fi
149
150 if use bindist; then
151 elog "bindist enabled: H.264 video support will be disabled."
152 else
153 elog "bindist disabled: Resulting binaries may not be legal to re-distribute."
154 fi
155 }
156
157 src_prepare() {
158 ln -s /usr/$(get_libdir)/nacl-toolchain-newlib \
159 native_client/toolchain/linux_x86_newlib || die
160
161 # zlib-1.2.5.1-r1 renames the OF macro in zconf.h, bug 383371.
162 sed -i '1i#define OF(x) x' \
163 third_party/zlib/contrib/minizip/{ioapi,{,un}zip}.h || die
164
165 # Fix build without NaCl glibc toolchain.
166 epatch "${FILESDIR}/${PN}-ppapi-r0.patch"
167
168 epatch_user
169
170 # Remove most bundled libraries. Some are still needed.
171 find third_party -type f \! -iname '*.gyp*' \
172 \! -path 'third_party/WebKit/*' \
173 \! -path 'third_party/angle/*' \
174 \! -path 'third_party/cacheinvalidation/*' \
175 \! -path 'third_party/cld/*' \
176 \! -path 'third_party/ffmpeg/*' \
177 \! -path 'third_party/flac/flac.h' \
178 \! -path 'third_party/gpsd/*' \
179 \! -path 'third_party/harfbuzz/*' \
180 \! -path 'third_party/hunspell/*' \
181 \! -path 'third_party/hyphen/*' \
182 \! -path 'third_party/iccjpeg/*' \
183 \! -path 'third_party/jsoncpp/*' \
184 \! -path 'third_party/khronos/*' \
185 \! -path 'third_party/launchpad_translations/*' \
186 \! -path 'third_party/leveldatabase/*' \
187 \! -path 'third_party/libjingle/*' \
188 \! -path 'third_party/libphonenumber/*' \
189 \! -path 'third_party/libsrtp/*' \
190 \! -path 'third_party/libusb/libusb.h' \
191 \! -path 'third_party/libva/*' \
192 \! -path 'third_party/libvpx/*' \
193 \! -path 'third_party/libxml/chromium/*' \
194 \! -path 'third_party/libXNVCtrl/*' \
195 \! -path 'third_party/libyuv/*' \
196 \! -path 'third_party/lss/*' \
197 \! -path 'third_party/mesa/*' \
198 \! -path 'third_party/modp_b64/*' \
199 \! -path 'third_party/mongoose/*' \
200 \! -path 'third_party/npapi/*' \
201 \! -path 'third_party/openmax/*' \
202 \! -path 'third_party/ots/*' \
203 \! -path 'third_party/protobuf/*' \
204 \! -path 'third_party/qcms/*' \
205 \! -path 'third_party/re2/*' \
206 \! -path 'third_party/scons-2.0.1/*' \
207 \! -path 'third_party/sfntly/*' \
208 \! -path 'third_party/skia/*' \
209 \! -path 'third_party/smhasher/*' \
210 \! -path 'third_party/speex/speex.h' \
211 \! -path 'third_party/sqlite/*' \
212 \! -path 'third_party/tlslite/*' \
213 \! -path 'third_party/trace-viewer/*' \
214 \! -path 'third_party/undoview/*' \
215 \! -path 'third_party/v8-i18n/*' \
216 \! -path 'third_party/webdriver/*' \
217 \! -path 'third_party/webgl_conformance/*' \
218 \! -path 'third_party/webrtc/*' \
219 \! -path 'third_party/zlib/contrib/minizip/*' \
220 -delete || die
221
222 local v8_bundled="$(chromium_bundled_v8_version)"
223 local v8_installed="$(chromium_installed_v8_version)"
224 einfo "V8 version: bundled - ${v8_bundled}; installed - ${v8_installed}"
225
226 # Remove bundled v8.
227 find v8 -type f \! -iname '*.gyp*' -delete || die
228
229 # The implementation files include v8 headers with full path,
230 # like #include "v8/include/v8.h". Make sure the system headers
231 # will be used.
232 # TODO: find a solution that can be upstreamed.
233 rmdir v8/include || die
234 ln -s /usr/include v8/include || die
235
236 # Make sure the build system will use the right python, bug #344367.
237 # Only convert directories that need it, to save time.
238 python_convert_shebangs -q -r 2 build tools
239 }
240
241 src_configure() {
242 local myconf=""
243
244 # Never tell the build system to "enable" SSE2, it has a few unexpected
245 # additions, bug #336871.
246 myconf+=" -Ddisable_sse2=1"
247
248 # Disable tcmalloc, it causes problems with e.g. NVIDIA
249 # drivers, bug #413637.
250 myconf+=" -Dlinux_use_tcmalloc=0"
251
252 # Disable glibc Native Client toolchain, we don't need it (bug #417019).
253 myconf+=" -Ddisable_glibc=1"
254
255 # Make it possible to remove third_party/adobe.
256 echo > "${T}/flapper_version.h" || die
257 myconf+=" -Dflapper_version_h_file=${T}/flapper_version.h"
258
259 # Use system-provided libraries.
260 # TODO: use_system_ffmpeg
261 # TODO: use_system_hunspell (upstream changes needed).
262 # TODO: use_system_ssl (http://crbug.com/58087).
263 # TODO: use_system_sqlite (http://crbug.com/22208).
264 # TODO: use_system_vpx
265 myconf+="
266 -Duse_system_bzip2=1
267 -Duse_system_flac=1
268 -Duse_system_icu=1
269 -Duse_system_libevent=1
270 -Duse_system_libjpeg=1
271 -Duse_system_libpng=1
272 -Duse_system_libusb=1
273 -Duse_system_libwebp=1
274 -Duse_system_libxml=1
275 -Duse_system_speex=1
276 -Duse_system_v8=1
277 -Duse_system_xdg_utils=1
278 -Duse_system_yasm=1
279 -Duse_system_zlib=1"
280
281 # Optional dependencies.
282 # TODO: linux_link_kerberos, bug #381289.
283 myconf+="
284 $(gyp_use cups)
285 $(gyp_use gnome use_gconf)
286 $(gyp_use gnome-keyring use_gnome_keyring)
287 $(gyp_use gnome-keyring linux_link_gnome_keyring)
288 $(gyp_use kerberos)
289 $(gyp_use pulseaudio)
290 $(gyp_use selinux selinux)"
291
292 # Use explicit library dependencies instead of dlopen.
293 # This makes breakages easier to detect by revdep-rebuild.
294 myconf+="
295 -Dlinux_link_gsettings=1"
296
297 if ! use selinux; then
298 # Enable SUID sandbox.
299 myconf+="
300 -Dlinux_sandbox_path=${CHROMIUM_HOME}/chrome_sandbox
301 -Dlinux_sandbox_chrome_path=${CHROMIUM_HOME}/chrome"
302 fi
303
304 # Never use bundled gold binary. Disable gold linker flags for now.
305 myconf+="
306 -Dlinux_use_gold_binary=0
307 -Dlinux_use_gold_flags=0"
308
309 if ! use bindist; then
310 # Enable H.624 support in bundled ffmpeg.
311 myconf+=" -Dproprietary_codecs=1 -Dffmpeg_branding=Chrome"
312 fi
313
314 local myarch="$(tc-arch)"
315 if [[ $myarch = amd64 ]] ; then
316 myconf+=" -Dtarget_arch=x64"
317 elif [[ $myarch = x86 ]] ; then
318 myconf+=" -Dtarget_arch=ia32"
319 else
320 die "Failed to determine target arch, got '$myarch'."
321 fi
322
323 # Make sure that -Werror doesn't get added to CFLAGS by the build system.
324 # Depending on GCC version the warnings are different and we don't want
325 # the build to fail because of that.
326 myconf+=" -Dwerror="
327
328 # Avoid CFLAGS problems, bug #352457, bug #390147.
329 if ! use custom-cflags; then
330 replace-flags "-Os" "-O2"
331 strip-flags
332 fi
333
334 egyp_chromium ${myconf} || die
335 }
336
337 src_compile() {
338 local test_targets
339 for x in base cacheinvalidation crypto \
340 googleurl gpu media net printing sql; do
341 test_targets+=" ${x}_unittests"
342 done
343
344 local make_targets="chrome chromedriver"
345 if ! use selinux; then
346 make_targets+=" chrome_sandbox"
347 fi
348 if use test; then
349 make_targets+=$test_targets
350 fi
351
352 # See bug #410883 for more info about the .host mess.
353 emake ${make_targets} BUILDTYPE=Release V=1 \
354 CC.host="$(tc-getCC)" CFLAGS.host="${CFLAGS}" \
355 CXX.host="$(tc-getCXX)" CXXFLAGS.host="${CXXFLAGS}" \
356 LINK.host="$(tc-getCXX)" LDFLAGS.host="${LDFLAGS}" \
357 AR.host="$(tc-getAR)" || die
358
359 pax-mark m out/Release/chrome
360 if use test; then
361 for x in $test_targets; do
362 pax-mark m out/Release/${x}
363 done
364 fi
365 }
366
367 src_test() {
368 # For more info see bug #350349.
369 local mylocale='en_US.utf8'
370 if ! locale -a | grep -q "$mylocale"; then
371 eerror "${PN} requires ${mylocale} locale for tests"
372 eerror "Please read the following guides for more information:"
373 eerror " http://www.gentoo.org/doc/en/guide-localization.xml"
374 eerror " http://www.gentoo.org/doc/en/utf-8.xml"
375 die "locale ${mylocale} is not supported"
376 fi
377
378 # For more info see bug #370957.
379 if [[ $UID -eq 0 ]]; then
380 die "Tests must be run as non-root. Please use FEATURES=userpriv."
381 fi
382
383 runtest() {
384 local cmd=$1
385 shift
386 local filter="--gtest_filter=$(IFS=:; echo "-${*}")"
387 einfo "${cmd}" "${filter}"
388 LC_ALL="${mylocale}" VIRTUALX_COMMAND="${cmd}" virtualmake "${filter}"
389 }
390
391 local excluded_base_unittests=(
392 "ICUStringConversionsTest.*" # bug #350347
393 "MessagePumpLibeventTest.*" # bug #398591
394 )
395 runtest out/Release/base_unittests "${excluded_base_unittests[@]}"
396
397 runtest out/Release/cacheinvalidation_unittests
398 runtest out/Release/crypto_unittests
399 runtest out/Release/googleurl_unittests
400 runtest out/Release/gpu_unittests
401 runtest out/Release/media_unittests
402
403 local excluded_net_unittests=(
404 "NetUtilTest.IDNToUnicode*" # bug 361885
405 "NetUtilTest.FormatUrl*" # see above
406 "DnsConfigServiceTest.GetSystemConfig" # bug #394883
407 "CertDatabaseNSSTest.ImportServerCert_SelfSigned" # bug #399269
408 "URLFetcher*" # bug #425764
409 )
410 runtest out/Release/net_unittests "${excluded_net_unittests[@]}"
411
412 runtest out/Release/printing_unittests
413 runtest out/Release/sql_unittests
414 }
415
416 src_install() {
417 exeinto "${CHROMIUM_HOME}"
418 doexe out/Release/chrome || die
419
420 if ! use selinux; then
421 doexe out/Release/chrome_sandbox || die
422 fperms 4755 "${CHROMIUM_HOME}/chrome_sandbox"
423 fi
424
425 doexe out/Release/chromedriver || die
426
427 doexe out/Release/nacl_helper{,_bootstrap} || die
428 insinto "${CHROMIUM_HOME}"
429 doins out/Release/nacl_irt_*.nexe || die
430 doins out/Release/libppGoogleNaClPluginChrome.so || die
431
432 newexe "${FILESDIR}"/chromium-launcher-r2.sh chromium-launcher.sh || die
433 if [[ "${CHROMIUM_SUFFIX}" != "" ]]; then
434 sed "s:chromium-browser:chromium-browser${CHROMIUM_SUFFIX}:g" \
435 -i "${ED}"/"${CHROMIUM_HOME}"/chromium-launcher.sh || die
436 sed "s:chromium.desktop:chromium${CHROMIUM_SUFFIX}.desktop:g" \
437 -i "${ED}"/"${CHROMIUM_HOME}"/chromium-launcher.sh || die
438 sed "s:plugins:plugins --user-data-dir=\${HOME}/.config/chromium${CHROMIUM_SUFFIX}:" \
439 -i "${ED}"/"${CHROMIUM_HOME}"/chromium-launcher.sh || die
440 fi
441
442 # It is important that we name the target "chromium-browser",
443 # xdg-utils expect it; bug #355517.
444 dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser${CHROMIUM_SUFFIX} || die
445 # keep the old symlink around for consistency
446 dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium${CHROMIUM_SUFFIX} || die
447
448 # Allow users to override command-line options, bug #357629.
449 dodir /etc/chromium || die
450 insinto /etc/chromium
451 newins "${FILESDIR}/chromium.default" "default" || die
452
453 pushd out/Release/locales > /dev/null || die
454 chromium_remove_language_paks
455 popd
456
457 insinto "${CHROMIUM_HOME}"
458 doins out/Release/*.pak || die
459
460 doins -r out/Release/locales || die
461 doins -r out/Release/resources || die
462
463 newman out/Release/chrome.1 chromium${CHROMIUM_SUFFIX}.1 || die
464 newman out/Release/chrome.1 chromium-browser${CHROMIUM_SUFFIX}.1 || die
465
466 doexe out/Release/libffmpegsumo.so || die
467
468 # Install icons and desktop entry.
469 local branding size
470 for size in 16 22 24 32 48 64 128 256 ; do
471 case ${size} in
472 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;;
473 *) branding="chrome/app/theme/chromium" ;;
474 esac
475 newicon -s ${size} "${branding}/product_logo_${size}.png" \
476 chromium-browser${CHROMIUM_SUFFIX}.png
477 done
478
479 local mime_types="text/html;text/xml;application/xhtml+xml;"
480 mime_types+="x-scheme-handler/http;x-scheme-handler/https;" # bug #360797
481 mime_types+="x-scheme-handler/ftp;" # bug #412185
482 mime_types+="x-scheme-handler/mailto;x-scheme-handler/webcal;" # bug #416393
483 make_desktop_entry \
484 chromium-browser${CHROMIUM_SUFFIX} \
485 "Chromium${CHROMIUM_SUFFIX}" \
486 chromium-browser${CHROMIUM_SUFFIX} \
487 "Network;WebBrowser" \
488 "MimeType=${mime_types}\nStartupWMClass=chromium-browser"
489 sed -e "/^Exec/s/$/ %U/" -i "${ED}"/usr/share/applications/*.desktop || die
490
491 # Install GNOME default application entry (bug #303100).
492 if use gnome; then
493 dodir /usr/share/gnome-control-center/default-apps || die
494 insinto /usr/share/gnome-control-center/default-apps
495 newins "${FILESDIR}"/chromium-browser.xml chromium-browser${CHROMIUM_SUFFIX}.xml || die
496 if [[ "${CHROMIUM_SUFFIX}" != "" ]]; then
497 sed "s:chromium-browser:chromium-browser${CHROMIUM_SUFFIX}:g" -i \
498 "${ED}"/usr/share/gnome-control-center/default-apps/chromium-browser${CHROMIUM_SUFFIX}.xml
499 fi
500 fi
501 }