Gentoo Archives: gentoo-commits

From: "PaweA Hajdan (phajdan.jr)" <phajdan.jr@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in www-client/chromium: ChangeLog chromium-13.0.782.41.ebuild chromium-13.0.782.24-r1.ebuild
Date: Thu, 30 Jun 2011 10:27:56
Message-Id: 20110630102745.991D420054@flycatcher.gentoo.org
1 phajdan.jr 11/06/30 10:27:45
2
3 Modified: ChangeLog
4 Added: chromium-13.0.782.41.ebuild
5 Removed: chromium-13.0.782.24-r1.ebuild
6 Log:
7 Version bump for beta channel release. Remove old.
8
9 (Portage version: 2.1.9.42/cvs/Linux i686)
10
11 Revision Changes Path
12 1.395 www-client/chromium/ChangeLog
13
14 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/chromium/ChangeLog?rev=1.395&view=markup
15 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/chromium/ChangeLog?rev=1.395&content-type=text/plain
16 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/chromium/ChangeLog?r1=1.394&r2=1.395
17
18 Index: ChangeLog
19 ===================================================================
20 RCS file: /var/cvsroot/gentoo-x86/www-client/chromium/ChangeLog,v
21 retrieving revision 1.394
22 retrieving revision 1.395
23 diff -u -r1.394 -r1.395
24 --- ChangeLog 29 Jun 2011 14:46:49 -0000 1.394
25 +++ ChangeLog 30 Jun 2011 10:27:45 -0000 1.395
26 @@ -1,6 +1,12 @@
27 # ChangeLog for www-client/chromium
28 # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
29 -# $Header: /var/cvsroot/gentoo-x86/www-client/chromium/ChangeLog,v 1.394 2011/06/29 14:46:49 angelos Exp $
30 +# $Header: /var/cvsroot/gentoo-x86/www-client/chromium/ChangeLog,v 1.395 2011/06/30 10:27:45 phajdan.jr Exp $
31 +
32 +*chromium-13.0.782.41 (30 Jun 2011)
33 +
34 + 30 Jun 2011; Pawel Hajdan jr <phajdan.jr@g.o>
35 + -chromium-13.0.782.24-r1.ebuild, +chromium-13.0.782.41.ebuild:
36 + Version bump for beta channel release. Remove old.
37
38 29 Jun 2011; Christoph Mende <angelos@g.o>
39 chromium-12.0.742.112.ebuild:
40
41
42
43 1.1 www-client/chromium/chromium-13.0.782.41.ebuild
44
45 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/chromium/chromium-13.0.782.41.ebuild?rev=1.1&view=markup
46 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/chromium/chromium-13.0.782.41.ebuild?rev=1.1&content-type=text/plain
47
48 Index: chromium-13.0.782.41.ebuild
49 ===================================================================
50 # Copyright 1999-2011 Gentoo Foundation
51 # Distributed under the terms of the GNU General Public License v2
52 # $Header: /var/cvsroot/gentoo-x86/www-client/chromium/chromium-13.0.782.41.ebuild,v 1.1 2011/06/30 10:27:45 phajdan.jr Exp $
53
54 EAPI="3"
55 PYTHON_DEPEND="2:2.6"
56
57 inherit eutils fdo-mime flag-o-matic gnome2-utils linux-info multilib \
58 pax-utils portability python toolchain-funcs versionator virtualx
59
60 DESCRIPTION="Open-source version of Google Chrome web browser"
61 HOMEPAGE="http://chromium.org/"
62 SRC_URI="http://build.chromium.org/official/${P}.tar.bz2"
63
64 LICENSE="BSD"
65 SLOT="0"
66 KEYWORDS="~amd64 ~x86"
67 IUSE="cups gnome gnome-keyring kerberos xinerama"
68
69 # en_US is ommitted on purpose from the list below. It must always be available.
70 LANGS="am ar bg bn ca cs da de el en_GB es es_LA et fa fi fil fr gu he hi hr
71 hu id it ja kn ko lt lv ml mr nb nl pl pt_BR pt_PT ro ru sk sl sr sv sw ta te th
72 tr uk vi zh_CN zh_TW"
73 for lang in ${LANGS}; do
74 IUSE+=" linguas_${lang}"
75 done
76
77 RDEPEND="app-arch/bzip2
78 dev-libs/dbus-glib
79 >=dev-libs/icu-4.4.1
80 >=dev-libs/libevent-1.4.13
81 dev-libs/libxml2[icu]
82 dev-libs/libxslt
83 >=dev-libs/nss-3.12.3
84 gnome? ( >=gnome-base/gconf-2.24.0 )
85 gnome-keyring? ( >=gnome-base/gnome-keyring-2.28.2 )
86 >=media-libs/alsa-lib-1.0.19
87 media-libs/flac
88 virtual/jpeg
89 media-libs/libpng
90 >=media-libs/libvpx-0.9.5
91 >=media-libs/libwebp-0.1.2
92 media-libs/speex
93 cups? ( >=net-print/cups-1.3.11 )
94 sys-libs/zlib
95 x11-libs/gtk+:2
96 x11-libs/libXScrnSaver
97 x11-libs/libXtst"
98 DEPEND="${RDEPEND}
99 dev-lang/perl
100 dev-lang/yasm
101 >=dev-util/gperf-3.0.3
102 >=dev-util/pkgconfig-0.23
103 sys-devel/flex
104 >=sys-devel/make-3.81-r2
105 x11-libs/libXinerama
106 test? (
107 dev-python/pyftpdlib
108 dev-python/simplejson
109 virtual/krb5
110 )"
111 RDEPEND+="
112 kerberos? ( virtual/krb5 )
113 xinerama? ( x11-libs/libXinerama )
114 x11-misc/xdg-utils
115 virtual/ttf-fonts"
116
117 gyp_use() {
118 if [[ $# -lt 2 ]]; then
119 echo "!!! usage: gyp_use <USEFLAG> <GYPFLAG>" >&2
120 return 1
121 fi
122 if use "$1"; then echo "-D$2=1"; else echo "-D$2=0"; fi
123 }
124
125 egyp() {
126 set -- build/gyp_chromium --depth=. "${@}"
127 echo "${@}" >&2
128 "${@}"
129 }
130
131 # Chromium uses different names for some langs,
132 # return Chromium name corresponding to a Gentoo lang.
133 chromium_lang() {
134 if [[ "$1" == "es_LA" ]]; then
135 echo "es_419"
136 else
137 echo "$1"
138 fi
139 }
140
141 pkg_setup() {
142 CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser"
143
144 # Make sure the build system will use the right tools, bug #340795.
145 tc-export AR CC CXX RANLIB
146
147 # Make sure the build system will use the right python, bug #344367.
148 python_set_active_version 2
149 python_pkg_setup
150
151 # Prevent user problems like bug #348235.
152 eshopts_push -s extglob
153 if is-flagq '-g?(gdb)?([1-9])'; then
154 ewarn "You have enabled debug info (probably have -g or -ggdb in your \$C{,XX}FLAGS)."
155 ewarn "You may experience really long compilation times and/or increased memory usage."
156 ewarn "If compilation fails, please try removing -g{,gdb} before reporting a bug."
157 fi
158 eshopts_pop
159
160 # Warn if the kernel doesn't support features useful for sandboxing,
161 # bug #363907.
162 CONFIG_CHECK="~PID_NS ~NET_NS"
163 check_extra_config
164 }
165
166 src_prepare() {
167 # Make sure we don't use bundled libvpx headers.
168 epatch "${FILESDIR}/${PN}-system-vpx-r4.patch"
169
170 # Backport build fix for perl-5.14, bug #372301.
171 epatch "${FILESDIR}/${PN}-perl-5.14-r0.patch"
172
173 # Backport build fix for glibc-2.14, bug #372495.
174 epatch "${FILESDIR}/${PN}-glibc-2.14-r0.patch"
175
176 # Fix build without libgcrypt, bug #373079.
177 epatch "${FILESDIR}/${PN}-libgcrypt-r0.patch"
178
179 # Remove most bundled libraries. Some are still needed.
180 find third_party -type f \! -iname '*.gyp*' \
181 \! -path 'third_party/WebKit/*' \
182 \! -path 'third_party/angle/*' \
183 \! -path 'third_party/cacheinvalidation/*' \
184 \! -path 'third_party/cld/*' \
185 \! -path 'third_party/expat/*' \
186 \! -path 'third_party/ffmpeg/*' \
187 \! -path 'third_party/flac/flac.h' \
188 \! -path 'third_party/gpsd/*' \
189 \! -path 'third_party/harfbuzz/*' \
190 \! -path 'third_party/hunspell/*' \
191 \! -path 'third_party/iccjpeg/*' \
192 \! -path 'third_party/launchpad_translations/*' \
193 \! -path 'third_party/leveldb/*' \
194 \! -path 'third_party/libjingle/*' \
195 \! -path 'third_party/libphonenumber/*' \
196 \! -path 'third_party/libvpx/libvpx.h' \
197 \! -path 'third_party/mesa/*' \
198 \! -path 'third_party/modp_b64/*' \
199 \! -path 'third_party/npapi/*' \
200 \! -path 'third_party/openmax/*' \
201 \! -path 'third_party/ots/*' \
202 \! -path 'third_party/protobuf/*' \
203 \! -path 'third_party/skia/*' \
204 \! -path 'third_party/speex/speex.h' \
205 \! -path 'third_party/sqlite/*' \
206 \! -path 'third_party/tcmalloc/*' \
207 \! -path 'third_party/tlslite/*' \
208 \! -path 'third_party/undoview/*' \
209 \! -path 'third_party/zlib/contrib/minizip/*' \
210 -delete || die
211
212 # Make sure the build system will use the right python, bug #344367.
213 # Only convert directories that need it, to save time.
214 python_convert_shebangs -q -r 2 build tools
215 }
216
217 src_configure() {
218 local myconf=""
219
220 # Never tell the build system to "enable" SSE2, it has a few unexpected
221 # additions, bug #336871.
222 myconf+=" -Ddisable_sse2=1"
223
224 # Use system-provided libraries.
225 # TODO: use_system_ffmpeg (bug #71931). That makes yasm unneeded.
226 # TODO: use_system_hunspell (upstream changes needed).
227 # TODO: use_system_ssl (http://crbug.com/58087).
228 # TODO: use_system_sqlite (http://crbug.com/22208).
229 myconf+="
230 -Duse_system_bzip2=1
231 -Duse_system_flac=1
232 -Duse_system_icu=1
233 -Duse_system_libevent=1
234 -Duse_system_libjpeg=1
235 -Duse_system_libpng=1
236 -Duse_system_libwebp=1
237 -Duse_system_libxml=1
238 -Duse_system_speex=1
239 -Duse_system_vpx=1
240 -Duse_system_xdg_utils=1
241 -Duse_system_yasm=1
242 -Duse_system_zlib=1"
243
244 # Optional dependencies.
245 myconf+="
246 $(gyp_use cups use_cups)
247 $(gyp_use gnome use_gconf)
248 $(gyp_use gnome-keyring use_gnome_keyring)
249 $(gyp_use gnome-keyring linux_link_gnome_keyring)"
250
251 # Enable sandbox.
252 myconf+="
253 -Dlinux_sandbox_path=${CHROMIUM_HOME}/chrome_sandbox
254 -Dlinux_sandbox_chrome_path=${CHROMIUM_HOME}/chrome"
255
256 if host-is-pax; then
257 # Prevent the build from failing (bug #301880). The performance
258 # difference is very small.
259 myconf+=" -Dv8_use_snapshot=0"
260 fi
261
262 # Our system ffmpeg should support more codecs than the bundled one
263 # for Chromium.
264 # TODO: uncomment when bug #371931 is fixed.
265 # myconf+=" -Dproprietary_codecs=1"
266
267 local myarch="$(tc-arch)"
268 if [[ $myarch = amd64 ]] ; then
269 myconf+=" -Dtarget_arch=x64"
270 elif [[ $myarch = x86 ]] ; then
271 myconf+=" -Dtarget_arch=ia32"
272 elif [[ $myarch = arm ]] ; then
273 # TODO: check this again after
274 # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39509 is fixed.
275 append-flags -fno-tree-sink
276
277 myconf+=" -Dtarget_arch=arm -Ddisable_nacl=1 -Dlinux_use_tcmalloc=0"
278 else
279 die "Failed to determine target arch, got '$myarch'."
280 fi
281
282 # Make sure that -Werror doesn't get added to CFLAGS by the build system.
283 # Depending on GCC version the warnings are different and we don't want
284 # the build to fail because of that.
285 myconf+=" -Dwerror="
286
287 # Avoid a build error with -Os, bug #352457.
288 replace-flags "-Os" "-O2"
289
290 egyp ${myconf} || die
291 }
292
293 src_compile() {
294 emake chrome chrome_sandbox BUILDTYPE=Release V=1 || die
295 pax-mark m out/Release/chrome
296 if use test; then
297 emake {base,crypto,googleurl,net}_unittests BUILDTYPE=Release V=1 || die
298 pax-mark m out/Release/{base,crypto,googleurl,net}_unittests
299 fi
300 }
301
302 src_test() {
303 # For more info see bug #350349.
304 local mylocale='en_US.utf8'
305 if ! locale -a | grep -q "$mylocale"; then
306 eerror "${PN} requires ${mylocale} locale for tests"
307 eerror "Please read the following guides for more information:"
308 eerror " http://www.gentoo.org/doc/en/guide-localization.xml"
309 eerror " http://www.gentoo.org/doc/en/utf-8.xml"
310 die "locale ${mylocale} is not supported"
311 fi
312
313 # For more info see bug #370957.
314 if [[ $UID -eq 0 ]]; then
315 die "Tests must be run as non-root. Please use FEATURES=userpriv."
316 fi
317
318 # For more info see bug #350347.
319 LC_ALL="${mylocale}" VIRTUALX_COMMAND=out/Release/base_unittests virtualmake \
320 '--gtest_filter=-ICUStringConversionsTest.*'
321
322 LC_ALL="${mylocale}" VIRTUALX_COMMAND=out/Release/crypto_unittests virtualmake
323 LC_ALL="${mylocale}" VIRTUALX_COMMAND=out/Release/googleurl_unittests virtualmake
324
325 # NetUtilTest: bug #361885.
326 # UDP: unstable, active development. We should revisit this later.
327 LC_ALL="${mylocale}" VIRTUALX_COMMAND=out/Release/net_unittests virtualmake \
328 '--gtest_filter=-NetUtilTest.IDNToUnicode*:NetUtilTest.FormatUrl*:*UDP*'
329 }
330
331 src_install() {
332 exeinto "${CHROMIUM_HOME}"
333 doexe out/Release/chrome
334 doexe out/Release/chrome_sandbox || die
335 fperms 4755 "${CHROMIUM_HOME}/chrome_sandbox"
336
337 insinto "${CHROMIUM_HOME}"
338 doins out/Release/libppGoogleNaClPluginChrome.so || die
339
340 newexe "${FILESDIR}"/chromium-launcher-r2.sh chromium-launcher.sh || die
341
342 # It is important that we name the target "chromium-browser",
343 # xdg-utils expect it; bug #355517.
344 dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser || die
345 # keep the old symlink around for consistency
346 dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium || die
347
348 # Allow users to override command-line options, bug #357629.
349 dodir /etc/chromium || die
350 insinto /etc/chromium
351 newins "${FILESDIR}/chromium.default" "default" || die
352
353 # Support LINGUAS, bug #332751.
354 local pak
355 for pak in out/Release/locales/*.pak; do
356 local pakbasename="$(basename ${pak})"
357 local pakname="${pakbasename%.pak}"
358 local langname="${pakname//-/_}"
359
360 # Do not issue warning for en_US locale. This is the fallback
361 # locale so it should always be installed.
362 if [[ "${langname}" == "en_US" ]]; then
363 continue
364 fi
365
366 local found=false
367 local lang
368 for lang in ${LANGS}; do
369 local crlang="$(chromium_lang ${lang})"
370 if [[ "${langname}" == "${crlang}" ]]; then
371 found=true
372 break
373 fi
374 done
375 if ! $found; then
376 ewarn "LINGUAS warning: no ${langname} in LANGS"
377 fi
378 done
379 local lang
380 for lang in ${LANGS}; do
381 local crlang="$(chromium_lang ${lang})"
382 local pakfile="out/Release/locales/${crlang//_/-}.pak"
383 if [ ! -f "${pakfile}" ]; then
384 ewarn "LINGUAS warning: no .pak file for ${lang} (${pakfile} not found)"
385 fi
386 if ! use linguas_${lang}; then
387 rm "${pakfile}" || die
388 fi
389 done
390
391 insinto "${CHROMIUM_HOME}"
392 doins out/Release/chrome.pak || die
393 doins out/Release/resources.pak || die
394
395 doins -r out/Release/locales || die
396 doins -r out/Release/resources || die
397
398 newman out/Release/chrome.1 chromium.1 || die
399 newman out/Release/chrome.1 chromium-browser.1 || die
400
401 # Chromium looks for these in its folder
402 # See media_posix.cc and base_paths_linux.cc
403 # TODO: uncomment when bug #371931 is fixed.
404 #dosym /usr/$(get_libdir)/libavcodec.so.52 "${CHROMIUM_HOME}" || die
405 #dosym /usr/$(get_libdir)/libavformat.so.52 "${CHROMIUM_HOME}" || die
406 #dosym /usr/$(get_libdir)/libavutil.so.50 "${CHROMIUM_HOME}" || die
407 doexe out/Release/ffmpegsumo_nolink || die
408 doexe out/Release/libffmpegsumo.so || die
409
410 # Install icons and desktop entry.
411 for SIZE in 16 22 24 32 48 64 128 256 ; do
412 insinto /usr/share/icons/hicolor/${SIZE}x${SIZE}/apps
413 newins chrome/app/theme/chromium/product_logo_${SIZE}.png \
414 chromium-browser.png || die
415 done
416 local mime_types="text/html;text/xml;application/xhtml+xml;"
417 mime_types+="x-scheme-handler/http;x-scheme-handler/https;" # bug #360797
418 make_desktop_entry chromium-browser "Chromium" chromium-browser \
419 "Network;WebBrowser" "MimeType=${mime_types}"
420 sed -e "/^Exec/s/$/ %U/" -i "${D}"/usr/share/applications/*.desktop || die
421
422 # Install GNOME default application entry (bug #303100).
423 if use gnome; then
424 dodir /usr/share/gnome-control-center/default-apps || die
425 insinto /usr/share/gnome-control-center/default-apps
426 doins "${FILESDIR}"/chromium-browser.xml || die
427 fi
428 }
429
430 pkg_preinst() {
431 gnome2_icon_savelist
432 }
433
434 pkg_postinst() {
435 fdo-mime_desktop_database_update
436 gnome2_icon_cache_update
437
438 # For more info see bug #292201, bug #352263, bug #361859.
439 elog
440 elog "Depending on your desktop environment, you may need"
441 elog "to install additional packages to get icons on the Downloads page."
442 elog
443 elog "For KDE, the required package is kde-base/oxygen-icons."
444 elog
445 elog "For other desktop environments, try one of the following:"
446 elog " - x11-themes/gnome-icon-theme"
447 elog " - x11-themes/tango-icon-theme"
448
449 # For more info see bug #359153.
450 elog
451 elog "Some web pages may require additional fonts to display properly."
452 elog "Try installing some of the following packages if some characters"
453 elog "are not displayed properly:"
454 elog " - media-fonts/arphicfonts"
455 elog " - media-fonts/bitstream-cyberbit"
456 elog " - media-fonts/droid"
457 elog " - media-fonts/ipamonafont"
458 elog " - media-fonts/ja-ipafonts"
459 elog " - media-fonts/takao-fonts"
460 elog " - media-fonts/wqy-microhei"
461 elog " - media-fonts/wqy-zenhei"
462 }
463
464 pkg_postrm() {
465 gnome2_icon_cache_update
466 }