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: chromium-18.0.1025.1.ebuild ChangeLog chromium-9999-r1.ebuild chromium-18.0.1010.0.ebuild
Date: Wed, 01 Feb 2012 20:12:12
Message-Id: 20120201201158.901E62004B@flycatcher.gentoo.org
1 phajdan.jr 12/02/01 20:11:58
2
3 Modified: ChangeLog chromium-9999-r1.ebuild
4 Added: chromium-18.0.1025.1.ebuild
5 Removed: chromium-18.0.1010.0.ebuild
6 Log:
7 Version bump for dev channel release. Remove old.
8
9 (Portage version: 2.1.10.44/cvs/Linux i686)
10
11 Revision Changes Path
12 1.551 www-client/chromium/ChangeLog
13
14 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/chromium/ChangeLog?rev=1.551&view=markup
15 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/chromium/ChangeLog?rev=1.551&content-type=text/plain
16 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/chromium/ChangeLog?r1=1.550&r2=1.551
17
18 Index: ChangeLog
19 ===================================================================
20 RCS file: /var/cvsroot/gentoo-x86/www-client/chromium/ChangeLog,v
21 retrieving revision 1.550
22 retrieving revision 1.551
23 diff -u -r1.550 -r1.551
24 --- ChangeLog 31 Jan 2012 10:11:46 -0000 1.550
25 +++ ChangeLog 1 Feb 2012 20:11:58 -0000 1.551
26 @@ -1,6 +1,15 @@
27 # ChangeLog for www-client/chromium
28 # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
29 -# $Header: /var/cvsroot/gentoo-x86/www-client/chromium/ChangeLog,v 1.550 2012/01/31 10:11:46 phajdan.jr Exp $
30 +# $Header: /var/cvsroot/gentoo-x86/www-client/chromium/ChangeLog,v 1.551 2012/02/01 20:11:58 phajdan.jr Exp $
31 +
32 +*chromium-18.0.1025.1 (01 Feb 2012)
33 +
34 + 01 Feb 2012; Pawel Hajdan jr <phajdan.jr@g.o>
35 + +files/chromium-gyp-settings-r0.patch,
36 + +files/chromium-revert-jpeg-swizzle-r2.patch,
37 + +files/chromium-webkit-zlib-r0.patch, -chromium-18.0.1010.0.ebuild,
38 + +chromium-18.0.1025.1.ebuild, chromium-9999-r1.ebuild:
39 + Version bump for dev channel release. Remove old.
40
41 31 Jan 2012; Pawel Hajdan jr <phajdan.jr@g.o>
42 chromium-17.0.963.46.ebuild:
43
44
45
46 1.89 www-client/chromium/chromium-9999-r1.ebuild
47
48 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/chromium/chromium-9999-r1.ebuild?rev=1.89&view=markup
49 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/chromium/chromium-9999-r1.ebuild?rev=1.89&content-type=text/plain
50 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/chromium/chromium-9999-r1.ebuild?r1=1.88&r2=1.89
51
52 Index: chromium-9999-r1.ebuild
53 ===================================================================
54 RCS file: /var/cvsroot/gentoo-x86/www-client/chromium/chromium-9999-r1.ebuild,v
55 retrieving revision 1.88
56 retrieving revision 1.89
57 diff -u -r1.88 -r1.89
58 --- chromium-9999-r1.ebuild 22 Jan 2012 22:26:17 -0000 1.88
59 +++ chromium-9999-r1.ebuild 1 Feb 2012 20:11:58 -0000 1.89
60 @@ -1,6 +1,6 @@
61 # Copyright 1999-2012 Gentoo Foundation
62 # Distributed under the terms of the GNU General Public License v2
63 -# $Header: /var/cvsroot/gentoo-x86/www-client/chromium/chromium-9999-r1.ebuild,v 1.88 2012/01/22 22:26:17 floppym Exp $
64 +# $Header: /var/cvsroot/gentoo-x86/www-client/chromium/chromium-9999-r1.ebuild,v 1.89 2012/02/01 20:11:58 phajdan.jr Exp $
65
66 EAPI="4"
67 PYTHON_DEPEND="2:2.6"
68 @@ -30,7 +30,7 @@
69 dev-libs/libgcrypt
70 >=net-print/cups-1.3.11
71 )
72 - >=dev-lang/v8-3.8.7.1
73 + >=dev-lang/v8-3.8.9.4
74 dev-libs/dbus-glib
75 dev-libs/elfutils
76 >=dev-libs/icu-4.4.1
77 @@ -262,6 +262,7 @@
78 \! -path 'third_party/leveldatabase/*' \
79 \! -path 'third_party/libjingle/*' \
80 \! -path 'third_party/libphonenumber/*' \
81 + \! -path 'third_party/libsrtp/*' \
82 \! -path 'third_party/libvpx/*' \
83 \! -path 'third_party/libyuv/*' \
84 \! -path 'third_party/lss/*' \
85
86
87
88 1.1 www-client/chromium/chromium-18.0.1025.1.ebuild
89
90 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/chromium/chromium-18.0.1025.1.ebuild?rev=1.1&view=markup
91 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/chromium/chromium-18.0.1025.1.ebuild?rev=1.1&content-type=text/plain
92
93 Index: chromium-18.0.1025.1.ebuild
94 ===================================================================
95 # Copyright 1999-2012 Gentoo Foundation
96 # Distributed under the terms of the GNU General Public License v2
97 # $Header: /var/cvsroot/gentoo-x86/www-client/chromium/chromium-18.0.1025.1.ebuild,v 1.1 2012/02/01 20:11:58 phajdan.jr Exp $
98
99 EAPI="4"
100 PYTHON_DEPEND="2:2.6"
101
102 inherit eutils fdo-mime flag-o-matic gnome2-utils linux-info multilib \
103 pax-utils portability python toolchain-funcs versionator virtualx
104
105 DESCRIPTION="Open-source version of Google Chrome web browser"
106 HOMEPAGE="http://chromium.org/"
107 SRC_URI="http://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.bz2"
108
109 LICENSE="BSD"
110 SLOT="0"
111 KEYWORDS="~amd64 ~x86"
112 IUSE="bindist cups custom-cflags gnome gnome-keyring kerberos pulseaudio"
113
114 # en_US is ommitted on purpose from the list below. It must always be available.
115 LANGS="am ar bg bn ca cs da de el en_GB es es_LA et fa fi fil fr gu he hi hr
116 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
117 tr uk vi zh_CN zh_TW"
118 for lang in ${LANGS}; do
119 IUSE+=" linguas_${lang}"
120 done
121
122 RDEPEND="app-arch/bzip2
123 cups? (
124 dev-libs/libgcrypt
125 >=net-print/cups-1.3.11
126 )
127 >=dev-lang/v8-3.8.9.4
128 dev-libs/dbus-glib
129 dev-libs/elfutils
130 >=dev-libs/icu-4.4.1
131 >=dev-libs/libevent-1.4.13
132 dev-libs/libxml2[icu]
133 dev-libs/libxslt
134 >=dev-libs/nss-3.12.3
135 gnome? ( >=gnome-base/gconf-2.24.0 )
136 gnome-keyring? ( >=gnome-base/gnome-keyring-2.28.2 )
137 >=media-libs/alsa-lib-1.0.19
138 media-libs/flac
139 virtual/jpeg
140 media-libs/libpng
141 >=media-libs/libwebp-0.1.2
142 media-libs/speex
143 pulseaudio? ( media-sound/pulseaudio )
144 sys-fs/udev
145 sys-libs/zlib
146 x11-libs/gtk+:2
147 x11-libs/libXinerama
148 x11-libs/libXScrnSaver
149 x11-libs/libXtst
150 kerberos? ( virtual/krb5 )"
151 DEPEND="${RDEPEND}
152 >=dev-lang/nacl-toolchain-newlib-0_p7311
153 dev-lang/perl
154 dev-lang/yasm
155 dev-python/simplejson
156 >=dev-util/gperf-3.0.3
157 >=dev-util/pkgconfig-0.23
158 >=sys-devel/bison-2.4.3
159 sys-devel/flex
160 >=sys-devel/make-3.81-r2
161 test? ( dev-python/pyftpdlib )"
162 RDEPEND+="
163 !=www-client/chromium-9999
164 x11-misc/xdg-utils
165 virtual/ttf-fonts"
166
167 gyp_use() {
168 if [[ $# -lt 2 ]]; then
169 echo "!!! usage: gyp_use <USEFLAG> <GYPFLAG>" >&2
170 return 1
171 fi
172 if use "$1"; then echo "-D$2=1"; else echo "-D$2=0"; fi
173 }
174
175 egyp() {
176 set -- build/gyp_chromium --depth=. "${@}"
177 echo "${@}" >&2
178 "${@}"
179 }
180
181 # Chromium uses different names for some langs,
182 # return Chromium name corresponding to a Gentoo lang.
183 chromium_lang() {
184 if [[ "$1" == "es_LA" ]]; then
185 echo "es_419"
186 else
187 echo "$1"
188 fi
189 }
190
191 get_bundled_v8_version() {
192 "$(PYTHON -2)" "${FILESDIR}"/extract_v8_version.py v8/src/version.cc
193 }
194
195 get_installed_v8_version() {
196 best_version dev-lang/v8 | sed -e 's@dev-lang/v8-@@g'
197 }
198
199 if ! has chromium-pkg_die ${EBUILD_DEATH_HOOKS}; then
200 EBUILD_DEATH_HOOKS+=" chromium-pkg_die";
201 fi
202
203 chromium-pkg_die() {
204 if [[ "${EBUILD_PHASE}" != "compile" ]]; then
205 return
206 fi
207
208 # Prevent user problems like bug #348235.
209 eshopts_push -s extglob
210 if is-flagq '-g?(gdb)?([1-9])'; then
211 ewarn
212 ewarn "You have enabled debug info (i.e. -g or -ggdb in your CFLAGS/CXXFLAGS)."
213 ewarn "Please try removing -g{,gdb} before reporting a bug."
214 ewarn
215 fi
216 eshopts_pop
217
218 # ccache often causes bogus compile failures, especially when the cache gets
219 # corrupted.
220 if has ccache ${FEATURES}; then
221 ewarn
222 ewarn "You have enabled ccache. Please try disabling ccache"
223 ewarn "before reporting a bug."
224 ewarn
225 fi
226
227 # No ricer bugs.
228 if use custom-cflags; then
229 ewarn
230 ewarn "You have enabled the custom-cflags USE flag."
231 ewarn "Please disable it before reporting a bug."
232 ewarn
233 fi
234
235 # If the system doesn't have enough memory, the compilation is known to
236 # fail. Print info about memory to recognize this condition.
237 einfo
238 einfo "$(grep MemTotal /proc/meminfo)"
239 einfo "$(grep SwapTotal /proc/meminfo)"
240 einfo
241 }
242
243 pkg_setup() {
244 if [[ "${SLOT}" == "0" ]]; then
245 CHROMIUM_SUFFIX=""
246 else
247 CHROMIUM_SUFFIX="-${SLOT}"
248 fi
249 CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser${CHROMIUM_SUFFIX}"
250
251 # Make sure the build system will use the right tools, bug #340795.
252 tc-export AR CC CXX RANLIB
253
254 # Make sure the build system will use the right python, bug #344367.
255 python_set_active_version 2
256 python_pkg_setup
257
258 if [[ "${MERGE_TYPE}" == "source" || "${MERGE_TYPE}" == "binary" ]]; then
259 # Fail if the kernel doesn't support features needed for sandboxing,
260 # bug #363907.
261 ERROR_PID_NS="PID_NS is required for sandbox to work"
262 ERROR_NET_NS="NET_NS is required for sandbox to work"
263 CONFIG_CHECK="~PID_NS ~NET_NS"
264 check_extra_config
265 fi
266
267 if use bindist; then
268 elog "bindist enabled: H.264 video support will be disabled."
269 else
270 elog "bindist disabled: Resulting binaries may not be legal to re-distribute."
271 fi
272 }
273
274 src_prepare() {
275 ln -s /usr/$(get_libdir)/nacl-toolchain-newlib \
276 native_client/toolchain/linux_x86_newlib || die
277
278 # zlib-1.2.5.1-r1 renames the OF macro in zconf.h, bug 383371.
279 sed -i '1i#define OF(x) x' \
280 third_party/zlib/contrib/minizip/{ioapi,{,un}zip}.c \
281 chrome/common/zip*.cc || die
282
283 # Revert WebKit changeset responsible for Gentoo bug #393471.
284 epatch "${FILESDIR}/${PN}-revert-jpeg-swizzle-r2.patch"
285
286 # Prevent gyp failures caused by target type 'settings' instead of 'none'.
287 epatch "${FILESDIR}/${PN}-gyp-settings-r0.patch"
288
289 # Prevent compilation failures caused by missing zlib #include
290 # and dependency.
291 epatch "${FILESDIR}/${PN}-webkit-zlib-r0.patch"
292
293 epatch_user
294
295 # Remove most bundled libraries. Some are still needed.
296 find third_party -type f \! -iname '*.gyp*' \
297 \! -path 'third_party/WebKit/*' \
298 \! -path 'third_party/angle/*' \
299 \! -path 'third_party/cacheinvalidation/*' \
300 \! -path 'third_party/cld/*' \
301 \! -path 'third_party/expat/*' \
302 \! -path 'third_party/ffmpeg/*' \
303 \! -path 'third_party/flac/flac.h' \
304 \! -path 'third_party/gpsd/*' \
305 \! -path 'third_party/harfbuzz/*' \
306 \! -path 'third_party/hunspell/*' \
307 \! -path 'third_party/iccjpeg/*' \
308 \! -path 'third_party/jsoncpp/*' \
309 \! -path 'third_party/khronos/*' \
310 \! -path 'third_party/launchpad_translations/*' \
311 \! -path 'third_party/leveldb/*' \
312 \! -path 'third_party/leveldatabase/*' \
313 \! -path 'third_party/libjingle/*' \
314 \! -path 'third_party/libphonenumber/*' \
315 \! -path 'third_party/libsrtp/*' \
316 \! -path 'third_party/libvpx/*' \
317 \! -path 'third_party/libyuv/*' \
318 \! -path 'third_party/lss/*' \
319 \! -path 'third_party/mesa/*' \
320 \! -path 'third_party/modp_b64/*' \
321 \! -path 'third_party/mongoose/*' \
322 \! -path 'third_party/npapi/*' \
323 \! -path 'third_party/openmax/*' \
324 \! -path 'third_party/ots/*' \
325 \! -path 'third_party/protobuf/*' \
326 \! -path 'third_party/scons-2.0.1/*' \
327 \! -path 'third_party/sfntly/*' \
328 \! -path 'third_party/skia/*' \
329 \! -path 'third_party/smhasher/*' \
330 \! -path 'third_party/speex/speex.h' \
331 \! -path 'third_party/sqlite/*' \
332 \! -path 'third_party/tcmalloc/*' \
333 \! -path 'third_party/tlslite/*' \
334 \! -path 'third_party/undoview/*' \
335 \! -path 'third_party/v8-i18n/*' \
336 \! -path 'third_party/webdriver/*' \
337 \! -path 'third_party/webgl_conformance/*' \
338 \! -path 'third_party/webrtc/*' \
339 \! -path 'third_party/zlib/contrib/minizip/*' \
340 -delete || die
341
342 local v8_bundled="$(get_bundled_v8_version)"
343 local v8_installed="$(get_installed_v8_version)"
344 elog "V8 version: bundled - ${v8_bundled}; installed - ${v8_installed}"
345
346 # Remove bundled v8.
347 find v8 -type f \! -iname '*.gyp*' -delete || die
348
349 # The implementation files include v8 headers with full path,
350 # like #include "v8/include/v8.h". Make sure the system headers
351 # will be used.
352 # TODO: find a solution that can be upstreamed.
353 rmdir v8/include || die
354 ln -s /usr/include v8/include || die
355
356 # Make sure the build system will use the right python, bug #344367.
357 # Only convert directories that need it, to save time.
358 python_convert_shebangs -q -r 2 build tools
359 }
360
361 src_configure() {
362 local myconf=""
363
364 # Never tell the build system to "enable" SSE2, it has a few unexpected
365 # additions, bug #336871.
366 myconf+=" -Ddisable_sse2=1"
367
368 # Use system-provided libraries.
369 # TODO: use_system_ffmpeg
370 # TODO: use_system_hunspell (upstream changes needed).
371 # TODO: use_system_ssl (http://crbug.com/58087).
372 # TODO: use_system_sqlite (http://crbug.com/22208).
373 # TODO: use_system_vpx
374 myconf+="
375 -Duse_system_bzip2=1
376 -Duse_system_flac=1
377 -Duse_system_icu=1
378 -Duse_system_libevent=1
379 -Duse_system_libjpeg=1
380 -Duse_system_libpng=1
381 -Duse_system_libwebp=1
382 -Duse_system_libxml=1
383 -Duse_system_speex=1
384 -Duse_system_v8=1
385 -Duse_system_xdg_utils=1
386 -Duse_system_yasm=1
387 -Duse_system_zlib=1"
388
389 # Optional dependencies.
390 # TODO: linux_link_kerberos, bug #381289.
391 myconf+="
392 $(gyp_use cups use_cups)
393 $(gyp_use gnome use_gconf)
394 $(gyp_use gnome-keyring use_gnome_keyring)
395 $(gyp_use gnome-keyring linux_link_gnome_keyring)
396 $(gyp_use kerberos use_kerberos)
397 $(gyp_use pulseaudio use_pulseaudio)"
398
399 # Enable sandbox.
400 myconf+="
401 -Dlinux_sandbox_path=${CHROMIUM_HOME}/chrome_sandbox
402 -Dlinux_sandbox_chrome_path=${CHROMIUM_HOME}/chrome"
403
404 # if host-is-pax; then
405 # # Prevent the build from failing (bug #301880). The performance
406 # # difference is very small.
407 # myconf+=" -Dv8_use_snapshot=0"
408 # fi
409
410 # Our system ffmpeg should support more codecs than the bundled one
411 # for Chromium.
412 # myconf+=" -Dproprietary_codecs=1"
413
414 if ! use bindist; then
415 # Enable H.624 support in bundled ffmpeg.
416 myconf+=" -Dproprietary_codecs=1 -Dffmpeg_branding=Chrome"
417 fi
418
419 local myarch="$(tc-arch)"
420 if [[ $myarch = amd64 ]] ; then
421 myconf+=" -Dtarget_arch=x64"
422 elif [[ $myarch = x86 ]] ; then
423 myconf+=" -Dtarget_arch=ia32"
424 elif [[ $myarch = arm ]] ; then
425 # TODO: check this again after
426 # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39509 is fixed.
427 append-flags -fno-tree-sink
428
429 myconf+=" -Dtarget_arch=arm -Ddisable_nacl=1 -Dlinux_use_tcmalloc=0"
430 else
431 die "Failed to determine target arch, got '$myarch'."
432 fi
433
434 # Make sure that -Werror doesn't get added to CFLAGS by the build system.
435 # Depending on GCC version the warnings are different and we don't want
436 # the build to fail because of that.
437 myconf+=" -Dwerror="
438
439 # Avoid CFLAGS problems, bug #352457, bug #390147.
440 if ! use custom-cflags; then
441 replace-flags "-Os" "-O2"
442 strip-flags
443 fi
444
445 egyp ${myconf} || die
446 }
447
448 src_compile() {
449 emake chrome chrome_sandbox chromedriver BUILDTYPE=Release V=1 || die
450 pax-mark m out/Release/chrome
451 if use test; then
452 emake {base,cacheinvalidation,crypto,googleurl,gpu,media,net,printing}_unittests BUILDTYPE=Release V=1 || die
453 pax-mark m out/Release/{base,cacheinvalidation,crypto,googleurl,gpu,media,net,printing}_unittests
454 fi
455 }
456
457 src_test() {
458 # For more info see bug #350349.
459 local mylocale='en_US.utf8'
460 if ! locale -a | grep -q "$mylocale"; then
461 eerror "${PN} requires ${mylocale} locale for tests"
462 eerror "Please read the following guides for more information:"
463 eerror " http://www.gentoo.org/doc/en/guide-localization.xml"
464 eerror " http://www.gentoo.org/doc/en/utf-8.xml"
465 die "locale ${mylocale} is not supported"
466 fi
467
468 # For more info see bug #370957.
469 if [[ $UID -eq 0 ]]; then
470 die "Tests must be run as non-root. Please use FEATURES=userpriv."
471 fi
472
473 # ICUStringConversionsTest: bug #350347.
474 # MessagePumpLibeventTest: bug #398501.
475 LC_ALL="${mylocale}" VIRTUALX_COMMAND=out/Release/base_unittests virtualmake \
476 '--gtest_filter=-ICUStringConversionsTest.*:MessagePumpLibeventTest.*'
477
478 LC_ALL="${mylocale}" VIRTUALX_COMMAND=out/Release/cacheinvalidation_unittests virtualmake
479 LC_ALL="${mylocale}" VIRTUALX_COMMAND=out/Release/crypto_unittests virtualmake
480 LC_ALL="${mylocale}" VIRTUALX_COMMAND=out/Release/googleurl_unittests virtualmake
481 LC_ALL="${mylocale}" VIRTUALX_COMMAND=out/Release/gpu_unittests virtualmake
482 LC_ALL="${mylocale}" VIRTUALX_COMMAND=out/Release/media_unittests virtualmake
483
484 # NetUtilTest: bug #361885.
485 # DnsConfigServiceTest.GetSystemConfig: bug #394883.
486 LC_ALL="${mylocale}" VIRTUALX_COMMAND=out/Release/net_unittests virtualmake \
487 '--gtest_filter=-NetUtilTest.IDNToUnicode*:NetUtilTest.FormatUrl*:DnsConfigServiceTest.GetSystemConfig'
488
489 LC_ALL="${mylocale}" VIRTUALX_COMMAND=out/Release/printing_unittests virtualmake
490 }
491
492 src_install() {
493 exeinto "${CHROMIUM_HOME}"
494 doexe out/Release/chrome || die
495 doexe out/Release/chrome_sandbox || die
496 fperms 4755 "${CHROMIUM_HOME}/chrome_sandbox"
497
498 doexe out/Release/chromedriver || die
499
500 # Install Native Client files on platforms that support it.
501 insinto "${CHROMIUM_HOME}"
502 case "$(tc-arch)" in
503 amd64)
504 doexe out/Release/nacl_helper{,_bootstrap} || die
505 doins out/Release/nacl_irt_x86_64.nexe || die
506 doins out/Release/libppGoogleNaClPluginChrome.so || die
507 ;;
508 x86)
509 doexe out/Release/nacl_helper{,_bootstrap} || die
510 doins out/Release/nacl_irt_x86_32.nexe || die
511 doins out/Release/libppGoogleNaClPluginChrome.so || die
512 ;;
513 esac
514
515 newexe "${FILESDIR}"/chromium-launcher-r2.sh chromium-launcher.sh || die
516 if [[ "${CHROMIUM_SUFFIX}" != "" ]]; then
517 sed "s:chromium-browser:chromium-browser${CHROMIUM_SUFFIX}:g" \
518 -i "${ED}"/"${CHROMIUM_HOME}"/chromium-launcher.sh || die
519 sed "s:chromium.desktop:chromium${CHROMIUM_SUFFIX}.desktop:g" \
520 -i "${ED}"/"${CHROMIUM_HOME}"/chromium-launcher.sh || die
521 sed "s:plugins:plugins --user-data-dir=\${HOME}/.config/chromium${CHROMIUM_SUFFIX}:" \
522 -i "${ED}"/"${CHROMIUM_HOME}"/chromium-launcher.sh || die
523 fi
524
525 # It is important that we name the target "chromium-browser",
526 # xdg-utils expect it; bug #355517.
527 dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser${CHROMIUM_SUFFIX} || die
528 # keep the old symlink around for consistency
529 dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium${CHROMIUM_SUFFIX} || die
530
531 # Allow users to override command-line options, bug #357629.
532 dodir /etc/chromium || die
533 insinto /etc/chromium
534 newins "${FILESDIR}/chromium.default" "default" || die
535
536 # Support LINGUAS, bug #332751.
537 local pak
538 for pak in out/Release/locales/*.pak; do
539 local pakbasename="$(basename ${pak})"
540 local pakname="${pakbasename%.pak}"
541 local langname="${pakname//-/_}"
542
543 # Do not issue warning for en_US locale. This is the fallback
544 # locale so it should always be installed.
545 if [[ "${langname}" == "en_US" ]]; then
546 continue
547 fi
548
549 local found=false
550 local lang
551 for lang in ${LANGS}; do
552 local crlang="$(chromium_lang ${lang})"
553 if [[ "${langname}" == "${crlang}" ]]; then
554 found=true
555 break
556 fi
557 done
558 if ! $found; then
559 ewarn "LINGUAS warning: no ${langname} in LANGS"
560 fi
561 done
562 local lang
563 for lang in ${LANGS}; do
564 local crlang="$(chromium_lang ${lang})"
565 local pakfile="out/Release/locales/${crlang//_/-}.pak"
566 if [ ! -f "${pakfile}" ]; then
567 ewarn "LINGUAS warning: no .pak file for ${lang} (${pakfile} not found)"
568 fi
569 if ! use linguas_${lang}; then
570 rm "${pakfile}" || die
571 fi
572 done
573
574 insinto "${CHROMIUM_HOME}"
575 doins out/Release/chrome.pak || die
576 doins out/Release/resources.pak || die
577
578 doins -r out/Release/locales || die
579 doins -r out/Release/resources || die
580
581 newman out/Release/chrome.1 chromium${CHROMIUM_SUFFIX}.1 || die
582 newman out/Release/chrome.1 chromium-browser${CHROMIUM_SUFFIX}.1 || die
583
584 # Chromium looks for these in its folder
585 # See media_posix.cc and base_paths_linux.cc
586 # dosym /usr/$(get_libdir)/libavcodec.so.52 "${CHROMIUM_HOME}" || die
587 # dosym /usr/$(get_libdir)/libavformat.so.52 "${CHROMIUM_HOME}" || die
588 # dosym /usr/$(get_libdir)/libavutil.so.50 "${CHROMIUM_HOME}" || die
589 doexe out/Release/libffmpegsumo.so || die
590
591 # Install icons and desktop entry.
592 for SIZE in 16 22 24 32 48 64 128 256 ; do
593 insinto /usr/share/icons/hicolor/${SIZE}x${SIZE}/apps
594 newins chrome/app/theme/chromium/product_logo_${SIZE}.png \
595 chromium-browser${CHROMIUM_SUFFIX}.png || die
596 done
597 local mime_types="text/html;text/xml;application/xhtml+xml;"
598 mime_types+="x-scheme-handler/http;x-scheme-handler/https;" # bug #360797
599 make_desktop_entry \
600 chromium-browser${CHROMIUM_SUFFIX} \
601 "Chromium${CHROMIUM_SUFFIX}" \
602 chromium-browser${CHROMIUM_SUFFIX} \
603 "Network;WebBrowser" \
604 "MimeType=${mime_types}\nStartupWMClass=chromium-browser"
605 sed -e "/^Exec/s/$/ %U/" -i "${ED}"/usr/share/applications/*.desktop || die
606
607 # Install GNOME default application entry (bug #303100).
608 if use gnome; then
609 dodir /usr/share/gnome-control-center/default-apps || die
610 insinto /usr/share/gnome-control-center/default-apps
611 newins "${FILESDIR}"/chromium-browser.xml chromium-browser${CHROMIUM_SUFFIX}.xml || die
612 if [[ "${CHROMIUM_SUFFIX}" != "" ]]; then
613 sed "s:chromium-browser:chromium-browser${CHROMIUM_SUFFIX}:g" -i \
614 "${ED}"/usr/share/gnome-control-center/default-apps/chromium-browser${CHROMIUM_SUFFIX}.xml
615 fi
616 fi
617 }
618
619 pkg_preinst() {
620 gnome2_icon_savelist
621 }
622
623 pkg_postinst() {
624 fdo-mime_desktop_database_update
625 gnome2_icon_cache_update
626
627 # For more info see bug #292201, bug #352263, bug #361859.
628 elog
629 elog "Depending on your desktop environment, you may need"
630 elog "to install additional packages to get icons on the Downloads page."
631 elog
632 elog "For KDE, the required package is kde-base/oxygen-icons."
633 elog
634 elog "For other desktop environments, try one of the following:"
635 elog " - x11-themes/gnome-icon-theme"
636 elog " - x11-themes/tango-icon-theme"
637
638 # For more info see bug #359153.
639 elog
640 elog "Some web pages may require additional fonts to display properly."
641 elog "Try installing some of the following packages if some characters"
642 elog "are not displayed properly:"
643 elog " - media-fonts/arphicfonts"
644 elog " - media-fonts/bitstream-cyberbit"
645 elog " - media-fonts/droid"
646 elog " - media-fonts/ipamonafont"
647 elog " - media-fonts/ja-ipafonts"
648 elog " - media-fonts/takao-fonts"
649 elog " - media-fonts/wqy-microhei"
650 elog " - media-fonts/wqy-zenhei"
651 }
652
653 pkg_postrm() {
654 gnome2_icon_cache_update
655 }