diff --git a/www-client/chromium/Manifest b/www-client/chromium/Manifest index 16bc13a91..6830f6c28 100644 --- a/www-client/chromium/Manifest +++ b/www-client/chromium/Manifest @@ -1,16 +1,21 @@ +AUX chromium-browser.xml 407 RMD160 457374ff72561648d9777ffb3270ad10d864a6be SHA1 65543bfff7d0350d40ba258e61061b0c5579e1f2 SHA256 bc039012f8677468e9ce5df825f9d8096be6deb5813031c86a087c88105096ff AUX chromium-gecko-mediaplayer-r1.patch 591 RMD160 fbfa62e79687fb1d3939d34a21f1b6d4ac4a7d0a SHA1 145d3e50933e14e9213002bebf4a4b2c8d39b177 SHA256 8d822835c1f3b39ce77ad920003bc509e7e1ef85f03b4123a71ac1a00224fce0 +AUX chromium-launcher-r1.sh 680 RMD160 17fdc3576819c41d9320fab4b2dde3b8dc3c251b SHA1 5be5d25be14906458eb93cd7275c47f73c55fce4 SHA256 fa9cd53ee929ac77a52abc09eb65bb605b72b384533ba52fb90a905c72c3c208 AUX chromium-launcher.sh 648 RMD160 d9331083750789d5c514c0fa1843037337ac476a SHA1 015efb2faacfc000c23644323c56795acfb7bc7e SHA256 3ae91f5bee0107adf3511205a062465901c7daaa13e3758ae970a6da4f0fa12c +AUX chromium-sabayon-user-agent-11.0.x.patch 462 RMD160 e500b577bd85beddf5d0add91cfe41c18fcc19a2 SHA1 89a941e8dc5047b619d3cd002338b67bc7d94f1f SHA256 d6977fa0e9957fb9a3d26a6ff007afa84adf433bbfbc4ba61a35f178ecc8602e AUX chromium-sabayon-user-agent-7.0.x.patch 500 RMD160 8e4dce2c4a0ac71e3e83dd1d7271041d6a98cfc8 SHA1 f532de565f477100a94a886c7d704552d4d7e69e SHA256 aa524e3d1aacf30efb0b3139c74d361e489f738b29040f73c03558cb7ab73993 AUX chromium-system-flac-r0.patch 453 RMD160 5313955501e3d9c985169f5ab45c9c8dae4e1099 SHA1 9c25e31570277b134540a77352ab0910e4a8cfeb SHA256 973e538be539b13b17d99f812ce1bfa6bfdd524d182e5186b89148fbafda175f AUX chromium-system-icu-r2.patch 1082 RMD160 7b908b8b34c0beaa969aa6c3bc4d0349ca8a7616 SHA1 17e9c7704164ac224e227e535bd4031670994590 SHA256 1bbdec893ed6d158981e33a2f661a47733ceaec3b686025ba5f233f3fe031264 AUX chromium-system-vpx-r2.patch 2207 RMD160 7b33f474c4bcd498dfc3e7ce803b9f6c4505b3b0 SHA1 a28a1629937c686aa4ad3b1ea16479d9b11d3789 SHA256 b33e0e66a257837ba3e10d68ad44434e5f0bb75a143ff095379097722c14d211 +AUX chromium-system-vpx-r3.patch 1168 RMD160 3f59b6dfff335be21b55de70ccd9a77b008f5cd0 SHA1 09d1d4a6b0b031839d002abc62ec4efef6faef71 SHA256 c46f61559bdbd7e29bb47607f0b152647f73e2cc3e836f53c67bb2925e8957d7 AUX chromium-webkit-version.patch 2085 RMD160 654a4d3bd87de789e80a0364c9167ca8557d072d SHA1 27b29a0fbcb09d044d8dfe037503faaae2d4e96b SHA256 a48fc2c7cd9fe30a6ecc98da1ed6a9d0f77cf89302caec4d5844f1471617cceb AUX chromium.xml 390 RMD160 6b2f901da76555a7112f71a6f9dae6e2e3307324 SHA1 81148a0b094bc697ff2c9d33efe976b1bffb72a3 SHA256 a81c6257346eaa4f6389fc9ea8834fd2dd3b006cf4e9e999028aca812d76fe9a +AUX experimental.gyp 92 RMD160 1c86ce8ea3cd4ae83ce416868e493e6263651054 SHA1 1a543f30e8543fbebb7a67ebd8b06f667bfdc0bd SHA256 60ba421744968fcc90359ae55316756d76aaa1a997bb373633e6c7399c9b5e62 AUX extract_v8_version.py 731 RMD160 71b134c9b88902259cb20ec232b8da6c3d8a15de SHA1 3dc5d6f9437f4b0ffb584395e19663450384b53a SHA256 4011f1e2f44bd18ad1266dffc1d3fbc13a6430afade2b19240b31ee9437dcbda AUX flac.gyp 416 RMD160 5af2709cae77ba139b32b0f22bca347a87170e0b SHA1 cdb2f5404c21ca8375ce9b753577df1df6a9cb78 SHA256 a4f24205b691e21d6208876a7f56859b9c3fc22eb39ec29fb2d0e3d067894932 AUX v8.gyp 2602 RMD160 2949c9e2d8e2297182130e5984fb5f114c260a81 SHA1 7d32a04a7a921f30b0c3ed33a5593f1059832c96 SHA256 bc5342501d71754f23bd87914bb11841a7487330ba2f0462611dd1b0f99a2a43 DIST chromium-10.0.648.127.tar.bz2 144078290 RMD160 9838b58b7798a742a86d5d8421356c1edbae94c9 SHA1 818348df9cb4c2d5041fd412b1c0ace0bf8aef0e SHA256 f6944e182b48f2c56ba65772a3adb9f26d0003d72b1293c2786186d1717c7527 -DIST chromium-10.0.648.82.tar.bz2 144519973 RMD160 91560d901c81a2ba23bba24bdf2a17011fc6c1c6 SHA1 02c61847f3a765cf54e1d67d019fe84ed04d577d SHA256 6dd79f9571f37fce63e3a2e17fe219898f0fb3b2b5ebea665fb5744bbfe41ffd +DIST chromium-11.0.696.16.tar.bz2 144113409 RMD160 bb130755ec567ed19c859e5cd4e36290cbc9d7e6 SHA1 2cba0dbf2fabd33c2047d6ea00bd31d8347e9636 SHA256 3b1813e5d631248f774ef1753fa4bb0d9f4787f6e0fbf0c495cd6333c885cc36 EBUILD chromium-10.0.648.127.ebuild 10136 RMD160 04f10613c310f01ef121e76bfdf5294fabbb4081 SHA1 bd999740416b852e68eb6b6bbe497d33067502b8 SHA256 dfaa87867916f2b41c15a7691bfe7ebb951f438d63455c5cfba0fcacb7dd958c -EBUILD chromium-10.0.648.82.ebuild 10196 RMD160 5bfc260ba46bad452bb21c9dd72364f91dc2f0b6 SHA1 c30a2d1584524b4a2d24cced78d34daeabf0bb09 SHA256 05ec074a668cb4a8a3c0e2b354525c3684d396cdc64dfa248e4e69aa8563f039 +EBUILD chromium-11.0.696.16.ebuild 10458 RMD160 f14f42f3e238de8c44bf6c982cdead0ed9fd2514 SHA1 23c75c284d6a4b037f2543a474d2fa633eb8f09c SHA256 f70ae8380b5d74df2e6e1d58ad596b77e198fec20148b389bdee14757af83316 MISC Reasons 88 RMD160 dfcc1b78a0c3f00fbfa7afca9f7e984bc03f5ff2 SHA1 cdf714b1a818ddd271035c6d4cf8a2abe95ac9be SHA256 3bd291f0ca833b9442661721f5e443d63a0b460da6c7a54694c1eb49e27edaeb diff --git a/www-client/chromium/chromium-10.0.648.82.ebuild b/www-client/chromium/chromium-11.0.696.16.ebuild similarity index 72% rename from www-client/chromium/chromium-10.0.648.82.ebuild rename to www-client/chromium/chromium-11.0.696.16.ebuild index 92c105f29..eac788f6b 100644 --- a/www-client/chromium/chromium-10.0.648.82.ebuild +++ b/www-client/chromium/chromium-11.0.696.16.ebuild @@ -1,22 +1,22 @@ # Copyright 1999-2011 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/www-client/chromium/chromium-10.0.648.82.ebuild,v 1.2 2011/02/18 10:46:51 phajdan.jr Exp $ +# $Header: /var/cvsroot/gentoo-x86/www-client/chromium/chromium-11.0.696.16.ebuild,v 1.1 2011/03/22 11:46:37 phajdan.jr Exp $ EAPI="3" PYTHON_DEPEND="2:2.6" -V8_DEPEND="3.0.12.18" +V8_DEPEND="3.1.8.3" -inherit eutils flag-o-matic multilib pax-utils portability python \ - toolchain-funcs versionator virtualx +inherit eutils fdo-mime flag-o-matic gnome2-utils multilib pax-utils \ + portability python toolchain-funcs versionator virtualx DESCRIPTION="Open-source version of Google Chrome web browser" HOMEPAGE="http://chromium.org/" -SRC_URI="http://build.chromium.org/buildbot/official/${P}.tar.bz2" +SRC_URI="http://build.chromium.org/official/${P}.tar.bz2" LICENSE="BSD" SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="cups +gecko-mediaplayer gnome gnome-keyring" +KEYWORDS="~amd64 ~arm ~x86" +IUSE="cups gnome gnome-keyring" RDEPEND="app-arch/bzip2 >=dev-lang/v8-${V8_DEPEND} @@ -32,12 +32,13 @@ RDEPEND="app-arch/bzip2 media-libs/flac virtual/jpeg media-libs/libpng - media-libs/libvpx + >=media-libs/libvpx-0.9.5 media-libs/speex >=media-video/ffmpeg-0.6_p25767[threads] cups? ( >=net-print/cups-1.3.11 ) + sys-libs/pam sys-libs/zlib - >=x11-libs/gtk+-2.14.7 + x11-libs/gtk+:2 x11-libs/libXScrnSaver x11-libs/libXtst" DEPEND="${RDEPEND} @@ -48,15 +49,16 @@ DEPEND="${RDEPEND} sys-devel/flex >=sys-devel/make-3.81-r2" RDEPEND+=" - || ( - x11-themes/gnome-icon-theme - x11-themes/oxygen-molecule - x11-themes/tango-icon-theme - x11-themes/xfce4-icon-theme - ) x11-misc/xdg-utils - virtual/ttf-fonts - gecko-mediaplayer? ( !www-plugins/gecko-mediaplayer[gnome] )" + virtual/ttf-fonts" + +gyp_use() { + if [[ $# -lt 2 ]]; then + echo "!!! usage: gyp_use " >&2 + return 1 + fi + if use "$1"; then echo "-D$2=1"; else echo "-D$2=0"; fi +} egyp() { set -- build/gyp_chromium --depth=. "${@}" @@ -100,19 +102,10 @@ pkg_setup() { src_prepare() { # Add Sabayon User Agent to browser string - epatch "${FILESDIR}"/${PN}-sabayon-user-agent-7.0.x.patch - - # Enable optional support for gecko-mediaplayer. - epatch "${FILESDIR}"/${PN}-gecko-mediaplayer-r1.patch + epatch "${FILESDIR}"/${PN}-sabayon-user-agent-11.0.x.patch # Make sure we don't use bundled libvpx headers. - epatch "${FILESDIR}"/${PN}-system-vpx-r2.patch - - # Make sure we don't use bundled FLAC. - epatch "${FILESDIR}"/${PN}-system-flac-r0.patch - - # Fix build, http://crbug.com/70606. - epatch "${FILESDIR}"/${PN}-webkit-version.patch + epatch "${FILESDIR}/${PN}-system-vpx-r3.patch" # Remove most bundled libraries. Some are still needed. find third_party -type f \! -iname '*.gyp*' \ @@ -127,8 +120,10 @@ src_prepare() { \! -path 'third_party/harfbuzz/*' \ \! -path 'third_party/hunspell/*' \ \! -path 'third_party/iccjpeg/*' \ + \! -path 'third_party/launchpad_translations/*' \ \! -path 'third_party/libjingle/*' \ \! -path 'third_party/libsrtp/*' \ + \! -path 'third_party/libvpx/libvpx.h' \ \! -path 'third_party/libwebp/*' \ \! -path 'third_party/mesa/*' \ \! -path 'third_party/modp_b64/*' \ @@ -144,10 +139,6 @@ src_prepare() { \! -path 'third_party/zlib/contrib/minizip/*' \ -delete || die - # Provide our own gyp file to use system flac. - # TODO: move this upstream. - cp "${FILESDIR}/flac.gyp" "third_party/flac" || die - # Check for the maintainer to ensure that the dependencies # are up-to-date. local v8_bundled="$(v8-extract-version v8/src/version.cc)" @@ -158,6 +149,12 @@ src_prepare() { # Remove bundled v8. find v8 -type f \! -iname '*.gyp*' -delete || die + # Disable experimental extensions incompatible with system-provided V8, + # bug #354343. + cp "${FILESDIR}/experimental.gyp" "v8/src/extensions/experimental" || die + sed -e 's/ENABLE_JAVASCRIPT_I18N_API=1/ENABLE_JAVASCRIPT_I18N_API=0/g' \ + -i build/features_override.gypi || die + # The implementation files include v8 headers with full path, # like #include "v8/include/v8.h". Make sure the system headers # will be used. @@ -179,9 +176,11 @@ src_configure() { # Use system-provided libraries. # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_ssl (need to consult upstream). + # TODO: use_system_ssl (http://crbug.com/58087). + # TODO: use_system_sqlite (http://crbug.com/22208). myconf+=" -Duse_system_bzip2=1 + -Duse_system_flac=1 -Duse_system_ffmpeg=1 -Duse_system_icu=1 -Duse_system_libevent=1 @@ -194,41 +193,18 @@ src_configure() { -Duse_system_xdg_utils=1 -Duse_system_zlib=1" - # The dependency on cups is optional, see bug #324105. - if use cups; then - myconf+=" -Duse_cups=1" - else - myconf+=" -Duse_cups=0" - fi - - # Make GConf dependency optional, http://crbug.com/13322. - if use gnome; then - myconf+=" -Duse_gconf=1" - else - myconf+=" -Duse_gconf=0" - fi - - if use "gnome-keyring"; then - myconf+=" -Duse_gnome_keyring=1 -Dlinux_link_gnome_keyring=1" - else - # TODO: we should also disable code trying to dlopen - # gnome-keyring in that case. - myconf+=" -Duse_gnome_keyring=0 -Dlinux_link_gnome_keyring=0" - fi + # Optional dependencies. + myconf+=" + $(gyp_use cups use_cups) + $(gyp_use gnome use_gconf) + $(gyp_use gnome-keyring use_gnome_keyring) + $(gyp_use gnome-keyring linux_link_gnome_keyring)" # Enable sandbox. myconf+=" -Dlinux_sandbox_path=${CHROMIUM_HOME}/chrome_sandbox -Dlinux_sandbox_chrome_path=${CHROMIUM_HOME}/chrome" - if use gecko-mediaplayer; then - # Disable hardcoded blacklist for gecko-mediaplayer. - # When www-plugins/gecko-mediaplayer is compiled with USE=gnome, it causes - # the browser to hang. We can handle the situation via dependencies, - # thus making it possible to use gecko-mediaplayer. - append-flags -DGENTOO_CHROMIUM_ENABLE_GECKO_MEDIAPLAYER - fi - # Our system ffmpeg should support more codecs than the bundled one # for Chromium. myconf+=" -Dproprietary_codecs=1" @@ -283,8 +259,8 @@ src_test() { fi # For more info see bug #350347. - LC_ALL="${mylocale}" maketype=out/Release/base_unittests virtualmake \ - '--gtest_filter=-ICUStringConversionsTest.*' || die + LC_ALL="${mylocale}" VIRTUALX_COMMAND=out/Release/base_unittests virtualmake \ + '--gtest_filter=-ICUStringConversionsTest.*' } src_install() { @@ -292,7 +268,13 @@ src_install() { doexe out/Release/chrome doexe out/Release/chrome_sandbox || die fperms 4755 "${CHROMIUM_HOME}/chrome_sandbox" - doexe "${FILESDIR}"/chromium-launcher.sh || die + newexe "${FILESDIR}"/chromium-launcher-r1.sh chromium-launcher.sh || die + + # It is important that we name the target "chromium-browser", + # xdg-utils expect it; bug #355517. + dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser || die + # keep the old symlink around for consistency + dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium || die insinto "${CHROMIUM_HOME}" doins out/Release/chrome.pak || die @@ -301,9 +283,8 @@ src_install() { doins -r out/Release/locales || die doins -r out/Release/resources || die - # chrome.1 is for chromium --help - newman out/Release/chrome.1 chrome.1 || die newman out/Release/chrome.1 chromium.1 || die + newman out/Release/chrome.1 chromium-browser.1 || die # Chromium looks for these in its folder # See media_posix.cc and base_paths_linux.cc @@ -311,17 +292,43 @@ src_install() { dosym /usr/$(get_libdir)/libavformat.so.52 "${CHROMIUM_HOME}" || die dosym /usr/$(get_libdir)/libavutil.so.50 "${CHROMIUM_HOME}" || die - # Install icon and desktop entry. - newicon chrome/app/theme/chromium/product_logo_48.png ${PN}-browser.png || die - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium || die - make_desktop_entry chromium "Chromium" ${PN}-browser "Network;WebBrowser" \ - "MimeType=text/html;text/xml;application/xhtml+xml;" + # Install icons and desktop entry. + for SIZE in 16 22 24 32 48 64 128 256 ; do + insinto /usr/share/icons/hicolor/${SIZE}x${SIZE}/apps + newins chrome/app/theme/chromium/product_logo_${SIZE}.png \ + chromium-browser.png || die + done + make_desktop_entry chromium-browser "Chromium" chromium-browser \ + "Network;WebBrowser" "MimeType=text/html;text/xml;application/xhtml+xml;" sed -e "/^Exec/s/$/ %U/" -i "${D}"/usr/share/applications/*.desktop || die # Install GNOME default application entry (bug #303100). if use gnome; then dodir /usr/share/gnome-control-center/default-apps || die insinto /usr/share/gnome-control-center/default-apps - doins "${FILESDIR}"/chromium.xml || die + doins "${FILESDIR}"/chromium-browser.xml || die fi } + +pkg_preinst() { + gnome2_icon_savelist +} + +pkg_postinst() { + fdo-mime_desktop_database_update + gnome2_icon_cache_update + + # For more info see bugs #292201 and bug #352263. + elog "Depending on your desktop environment, you may need" + elog "to install additional packages to get icons on the Downloads page." + elog + elog "For KDE, the required package is kde-base/oxygen-icons." + elog + elog "For other desktop environments, try one of the following:" + elog " - x11-themes/gnome-icon-theme" + elog " - x11-themes/xfce4-icon-theme" +} + +pkg_postrm() { + gnome2_icon_cache_update +} diff --git a/www-client/chromium/files/chromium-browser.xml b/www-client/chromium/files/chromium-browser.xml new file mode 100644 index 000000000..2c95a5584 --- /dev/null +++ b/www-client/chromium/files/chromium-browser.xml @@ -0,0 +1,13 @@ + + + + + + Chromium + chromium-browser + chromium-browser %s + chromium-browser + false + + + diff --git a/www-client/chromium/files/chromium-launcher-r1.sh b/www-client/chromium/files/chromium-launcher-r1.sh new file mode 100644 index 000000000..761e56148 --- /dev/null +++ b/www-client/chromium/files/chromium-launcher-r1.sh @@ -0,0 +1,25 @@ +#!/bin/bash +# +# Copyright (c) 2009 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +# Let the wrapped binary know that it has been run through the wrapper +export CHROME_WRAPPER="`readlink -f "$0"`" + +PROGDIR="`dirname "$CHROME_WRAPPER"`" + +case ":$PATH:" in + *:$PROGDIR:*) + # $PATH already contains $PROGDIR + ;; + *) + # Append $PROGDIR to $PATH + export PATH="$PATH:$PROGDIR" + ;; +esac + +# Set the .desktop file name +export CHROME_DESKTOP="chromium-browser-chromium.desktop" + +exec -a "chromium-browser" "$PROGDIR/chrome" --extra-plugin-dir=/usr/lib/nsbrowser/plugins "$@" diff --git a/www-client/chromium/files/chromium-sabayon-user-agent-11.0.x.patch b/www-client/chromium/files/chromium-sabayon-user-agent-11.0.x.patch new file mode 100644 index 000000000..37fc29e00 --- /dev/null +++ b/www-client/chromium/files/chromium-sabayon-user-agent-11.0.x.patch @@ -0,0 +1,11 @@ +--- webkit/glue/user_agent.cc.orig 2011-03-19 03:28:25.000000000 -0500 ++++ webkit/glue/user_agent.cc 2011-03-24 15:02:31.172764189 -0500 +@@ -125,7 +125,7 @@ + base::StringAppendF( + result, + "Mozilla/5.0 (%s%s) AppleWebKit/%d.%d" +- " (KHTML, like Gecko) %s Safari/%d.%d", ++ " (KHTML, like Gecko) Sabayon %s Safari/%d.%d", + mimic_windows ? "Windows " : kUserAgentPlatform, + BuildOSCpuInfo().c_str(), + WEBKIT_VERSION_MAJOR, diff --git a/www-client/chromium/files/chromium-system-vpx-r3.patch b/www-client/chromium/files/chromium-system-vpx-r3.patch new file mode 100644 index 000000000..de1590943 --- /dev/null +++ b/www-client/chromium/files/chromium-system-vpx-r3.patch @@ -0,0 +1,30 @@ +--- remoting/remoting.gyp.orig 2011-03-10 14:43:29.000000000 +0000 ++++ remoting/remoting.gyp 2011-03-10 14:44:50.000000000 +0000 +@@ -127,6 +127,7 @@ + '../ui/gfx/gfx.gyp:gfx', + '../media/media.gyp:media', + '../third_party/protobuf/protobuf.gyp:protobuf_lite', ++ '../third_party/ffmpeg/ffmpeg.gyp:ffmpeg', + '../third_party/libvpx/libvpx.gyp:libvpx_include', + '../third_party/zlib/zlib.gyp:zlib', + 'chromoting_jingle_glue', +--- third_party/ffmpeg/ffmpeg.gyp.orig 2011-03-10 15:39:13.000000000 +0000 ++++ third_party/ffmpeg/ffmpeg.gyp 2011-03-10 15:39:41.000000000 +0000 +@@ -728,11 +728,14 @@ + '../libvpx/include', + ], + }, { # use_system_vpx != 0 ++ 'defines': [ ++ 'USE_SYSTEM_VPX', ++ ], + 'direct_dependent_settings': { ++ 'defines': [ ++ 'USE_SYSTEM_VPX', ++ ], + 'link_settings': { +- 'defines': [ +- 'USE_SYSTEM_VPX', +- ], + 'libraries': [ + '-lvpx', + ], diff --git a/www-client/chromium/files/experimental.gyp b/www-client/chromium/files/experimental.gyp new file mode 100644 index 000000000..d3bedc29b --- /dev/null +++ b/www-client/chromium/files/experimental.gyp @@ -0,0 +1,8 @@ +{ + 'targets': [ + { + 'target_name': 'i18n_api', + 'type': 'none', + }, + ], +}