From: Paweł Hajdan Date: Sun, 20 Jun 2010 08:17:17 +0000 (+0000) Subject: Version bump to work around a flash hang (bug #324365 by lack). Also fix bug #323865... X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=2e84a16a733a1e56af7a7a35b5c23e6b30c40a5c;p=gentoo.git Version bump to work around a flash hang (bug #324365 by lack). Also fix bug #323865 by Alex Barker . Package-Manager: portage-2.1.8.3/cvs/Linux i686 --- diff --git a/www-client/chromium/ChangeLog b/www-client/chromium/ChangeLog index f5dd8a1a584b..a9d20c4b1cd4 100644 --- a/www-client/chromium/ChangeLog +++ b/www-client/chromium/ChangeLog @@ -1,6 +1,14 @@ # ChangeLog for www-client/chromium # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/www-client/chromium/ChangeLog,v 1.119 2010/06/19 16:30:14 phajdan.jr Exp $ +# $Header: /var/cvsroot/gentoo-x86/www-client/chromium/ChangeLog,v 1.120 2010/06/20 08:17:17 phajdan.jr Exp $ + +*chromium-5.0.375.70-r1 (20 Jun 2010) + + 20 Jun 2010; Pawel Hajdan jr + +files/chromium-flash-hang-workaround-r1.patch, + +chromium-5.0.375.70-r1.ebuild: + Version bump to work around a flash hang (bug #324365 by lack). Also fix + bug #323865 by Alex Barker . 19 Jun 2010; Pawel Hajdan jr chromium-6.0.437.1.ebuild, chromium-9999.ebuild: diff --git a/www-client/chromium/Manifest b/www-client/chromium/Manifest index ab6c0f849487..4012bec54c7f 100644 --- a/www-client/chromium/Manifest +++ b/www-client/chromium/Manifest @@ -1,6 +1,7 @@ AUX chromium-20100122-ubuntu-html5-video-mimetypes.patch 1228 RMD160 69157e703e14138cc838ae26191ef42116f3f614 SHA1 f9bac7a6840c060c921119051cd724b7b53ff2fd SHA256 d6f8e5dabf8b55c3fb9ae58920807758e5d1aa76f536efc6f53949208a567566 AUX chromium-disable-vp8-r1.patch 1204 RMD160 22264b89adf908149e5405c316e4666c4eda4ad8 SHA1 7e104772a645f50449432d4c970d52ffc3555c8a SHA256 ebb9031cd447aca0f3d7f9a2b4081f64dd8244ffd90564ecab06724e1dda63e8 AUX chromium-drop_sse2-r0.patch 1387 RMD160 5be0a252d4e99064e2cc5ba3fce33a5f525ba785 SHA1 a356549db631a7b147bf0046be8ab09d88874f15 SHA256 f035f196eea72855cf37d269810f4f99a5f348b7b8d7aaf537e35a11d6e1f1df +AUX chromium-flash-hang-workaround-r1.patch 2225 RMD160 837c49e1fe0b2bdb8a96391e01b730b4f7a7bbef SHA1 32c7f82c80b79ec48d09488481ede323dcf47ce1 SHA256 f2a6ba25834107bd7e673f0ed6361cb7bad1432c5fb9908d0bcdf3151c84df51 AUX chromium-gyp-fixes-r1.patch 1122 RMD160 8f37f016c9ca937ac0b02d4af533ddd0bb21b340 SHA1 d481f92313ad2aee0b00e2fda3698057e7de4c7e SHA256 22cd04c272d07cef36b1b3e639fad78486dc85dfd21c6cf542dbf4ebea0c2fe5 AUX chromium-gyp-fixes-r2.patch 446 RMD160 ff89b0b16b55e0a6109b6c083e8c91973abd7a28 SHA1 6f72fc64cdb1e733666597d1237eed783ece42fa SHA256 33f6391dfefce19115f08034943f936a24c7edb23fd3f185b4bcba0a8b03f4d4 AUX chromium-launcher.sh 1097 RMD160 6a35819d6ae463d1614ecd5976fe8aeae1a3519e SHA1 93b8259fe9ddf6914faa9a4cdbaf451a97031228 SHA256 9d16e2afe508c33aa987001a0442696eaefd5cf91e7a6c9eeb900bc9824390c9 @@ -10,9 +11,10 @@ AUX chromium.xml 390 RMD160 6b2f901da76555a7112f71a6f9dae6e2e3307324 SHA1 81148a DIST chromium-5.0.375.70.tar.bz2 163191937 RMD160 cb43307d095dc7ba146762b2a997ba32c5c12907 SHA1 96234ce716e5124f8c8ada92ed9a8cbe6183c5ed SHA256 dd2e440b1a230b1adcc8941d825155e5aeaf887fe67702697a845bd459455902 DIST chromium-6.0.427.0.tar.bz2 179247836 RMD160 6b42d4145514557eba30b99a0799e181e2f45a16 SHA1 65897ae8d05e04e821333fca05d77cbe0b08771f SHA256 e5ab816d0b39511d6718c2f76c3436c4db3664c06496fe413273a70864d4f3d8 DIST chromium-6.0.437.1.tar.bz2 124160031 RMD160 80ac4d434de50a923f11aebaf7755c9de4b16a5b SHA1 01440e58c29bc24f9dbf646391859475dd34b856 SHA256 82207de9036cbfe30e91f3e81c5faab35a2077b9007af89b8e87c2218d8ba269 +EBUILD chromium-5.0.375.70-r1.ebuild 5495 RMD160 a412257fcf03483f876f1953ef39b6388b6295d9 SHA1 79bd48784eef113ce0b9aea3efb662078725573d SHA256 39ab55a74a11862d0551f4f0e00f46e8d451f85d89dc80905acf180ff3b72b91 EBUILD chromium-5.0.375.70.ebuild 5653 RMD160 accd9bebc41a61e8544e2d2073bfa8eb558cb8cc SHA1 c48b195937ea1c65bde66fdf9be0dabba470644c SHA256 68904b0221796b90cbf779d107dd81c7f31bcab12068e27fe22d24c38977133a EBUILD chromium-6.0.427.0.ebuild 5869 RMD160 3db0e8f2a551247e1bf370dcc09f22af48dbb628 SHA1 7499494a3540b3e802dd5cbc75f857d7075c9e1d SHA256 caf0867efaa0c786653342e0e0b62b52f49f3ac705590bac62b978d80963883c EBUILD chromium-6.0.437.1.ebuild 6257 RMD160 794ae41a32cb52b8501b18406e4d48f3ecf4f876 SHA1 1bbd45716b4af4ace3320fcc7c08709459be1a03 SHA256 3a1a0761e5c37b11d5210df3c3b1781f015c08c15dd3b5565851fbf248f26d61 EBUILD chromium-9999.ebuild 7897 RMD160 ab9d3fe8bb0b01fd60ed1fb2f26c6c4f1a017b2d SHA1 b0e283bd961c63ce1a6c9e563810c2e602ed3a75 SHA256 48ec2139c73491e4c657629a19d3d0534029d45eb55b67f1718ab950c7c1cbd7 -MISC ChangeLog 26884 RMD160 a4b5bb096be090a7c7eb00282a4601bd9a3f872f SHA1 26f01d6ca2c7b023443723cbeb3bf19e8b55856b SHA256 eea97e32ea0a7478a4f617ba3ec872bc181d468cc0abf608b3e4f43ad11ab057 +MISC ChangeLog 27186 RMD160 458d97c8516623d3ad30a7546a29bb30d2d3adee SHA1 c4ed9bed41610a38bb5adaf86cfaf92fdd3b6443 SHA256 b0eefe756e079c8b87806a362e639a7b815221efc77c8d946b3a90687b4fbaaf MISC metadata.xml 572 RMD160 458a635f4040d8552b46256c8437099608041b99 SHA1 6ed49919f57f709065cf06c148f1df68119a3b3f SHA256 4a433c3dadf06af7e3dca492ffaa3f26a6c4419de61a044609e2d528891e09a5 diff --git a/www-client/chromium/chromium-5.0.375.70-r1.ebuild b/www-client/chromium/chromium-5.0.375.70-r1.ebuild new file mode 100644 index 000000000000..d3ce5a490950 --- /dev/null +++ b/www-client/chromium/chromium-5.0.375.70-r1.ebuild @@ -0,0 +1,176 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/www-client/chromium/chromium-5.0.375.70-r1.ebuild,v 1.1 2010/06/20 08:17:17 phajdan.jr Exp $ + +EAPI="2" + +inherit eutils flag-o-matic multilib pax-utils toolchain-funcs + +DESCRIPTION="Open-source version of Google Chrome web browser" +HOMEPAGE="http://chromium.org/" +SRC_URI="mirror://gentoo/${P}.tar.bz2" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm ~x86" +IUSE="+plugins-symlink" + +RDEPEND="app-arch/bzip2 + >=dev-libs/libevent-1.4.13 + dev-libs/libxml2 + dev-libs/libxslt + >=dev-libs/nss-3.12.3 + >=gnome-base/gconf-2.24.0 + >=media-libs/alsa-lib-1.0.19 + media-libs/jpeg:0 + media-libs/libpng + media-video/ffmpeg[threads] + sys-libs/zlib + >=x11-libs/gtk+-2.14.7 + x11-libs/libXScrnSaver" +# dev-db/sqlite:3 +DEPEND="${RDEPEND} + dev-lang/perl + >=dev-util/gperf-3.0.3 + >=dev-util/pkgconfig-0.23 + sys-devel/flex" +RDEPEND+=" + || ( + x11-themes/gnome-icon-theme + x11-themes/oxygen-molecule + x11-themes/tango-icon-theme + x11-themes/xfce4-icon-theme + ) + x11-apps/xmessage + x11-misc/xdg-utils + virtual/ttf-fonts" + +# Incompatible system plugins: +# www-plugins/gecko-mediaplayer, bug #309231. +RDEPEND+=" + plugins-symlink? ( + !www-plugins/gecko-mediaplayer[gnome] + )" + +src_prepare() { + # Prevent automatic -march=pentium4 -msse2 enabling on x86, http://crbug.com/9007 + epatch "${FILESDIR}"/${PN}-drop_sse2-r0.patch + + # Allow supporting more media types. + epatch "${FILESDIR}"/${PN}-20100122-ubuntu-html5-video-mimetypes.patch + + # Fix build failure with libpng-1.4, bug 310959. + epatch "${FILESDIR}"/${PN}-libpng-1.4.patch + + # Work around a flash hang, bug #324365. + epatch "${FILESDIR}"/${PN}-flash-hang-workaround-r1.patch +} + +src_configure() { + export CHROMIUM_HOME=/usr/$(get_libdir)/chromium-browser + + # Workaround for bug #318969. + # TODO: remove when http://crbug.com/43778 is fixed. + append-flags -D__STDC_CONSTANT_MACROS + + # Fails to build on arm if we don't do this + use arm && append-flags -fno-tree-sink + + # Configuration options (system libraries) + local myconf="-Duse_system_zlib=1 -Duse_system_bzip2=1 -Duse_system_ffmpeg=1 -Duse_system_libevent=1 -Duse_system_libjpeg=1 -Duse_system_libpng=1 -Duse_system_libxml=1 -Duse_system_libxslt=1" + # -Duse_system_sqlite=1 : http://crbug.com/22208 + # Others still bundled: icu (not possible?), hunspell (changes required for sandbox support) + + # Sandbox paths + myconf="${myconf} -Dlinux_sandbox_path=${CHROMIUM_HOME}/chrome_sandbox -Dlinux_sandbox_chrome_path=${CHROMIUM_HOME}/chrome" + + # Disable the V8 snapshot. It breaks the build on hardened (bug #301880), + # and the performance gain isn't worth it. + myconf="${myconf} -Dv8_use_snapshot=0" + + # Disable tcmalloc memory allocator. It causes problems, + # for example bug #320419. + myconf="${myconf} -Dlinux_use_tcmalloc=0" + + # Use target arch detection logic from bug #296917. + local myarch="$ABI" + [[ $myarch = "" ]] && myarch="$ARCH" + + if [[ $myarch = amd64 ]] ; then + myconf="${myconf} -Dtarget_arch=x64" + elif [[ $myarch = x86 ]] ; then + myconf="${myconf} -Dtarget_arch=ia32" + elif [[ $myarch = arm ]] ; then + myconf="${myconf} -Dtarget_arch=arm -Ddisable_nacl=1 -Dlinux_use_tcmalloc=0" + else + die "Failed to determine target arch, got '$myarch'." + fi + + if [[ "$(gcc-major-version)$(gcc-minor-version)" == "44" ]]; then + myconf="${myconf} -Dno_strict_aliasing=1 -Dgcc_version=44" + fi + + # Make sure that -Werror doesn't get added to CFLAGS by the build system. + # Depending on GCC version the warnings are different and we don't want + # the build to fail because of that. + myconf="${myconf} -Dwerror=" + + build/gyp_chromium -f make build/all.gyp ${myconf} --depth=. || die "gyp failed" +} + +src_compile() { + emake -r V=1 chrome chrome_sandbox BUILDTYPE=Release \ + rootdir="${S}" \ + CC=$(tc-getCC) \ + CXX=$(tc-getCXX) \ + AR=$(tc-getAR) \ + RANLIB=$(tc-getRANLIB) \ + || die "compilation failed" +} + +src_install() { + # Chromium does not have "install" target in the build system. + export CHROMIUM_HOME=/usr/$(get_libdir)/chromium-browser + + dodir ${CHROMIUM_HOME} + + exeinto ${CHROMIUM_HOME} + pax-mark m out/Release/chrome + doexe out/Release/chrome + doexe out/Release/chrome_sandbox + fperms 4755 ${CHROMIUM_HOME}/chrome_sandbox + doexe out/Release/xdg-settings + doexe "${FILESDIR}"/chromium-launcher.sh + + insinto ${CHROMIUM_HOME} + doins out/Release/chrome.pak + + doins -r out/Release/locales + doins -r out/Release/resources + + # chrome.1 is for chromium --help + newman out/Release/chrome.1 chrome.1 + newman out/Release/chrome.1 chromium.1 + + # Chromium looks for these in its folder + # See media_posix.cc and base_paths_linux.cc + dosym /usr/$(get_libdir)/libavcodec.so.52 ${CHROMIUM_HOME} + dosym /usr/$(get_libdir)/libavformat.so.52 ${CHROMIUM_HOME} + dosym /usr/$(get_libdir)/libavutil.so.50 ${CHROMIUM_HOME} + + # Plugins symlink, optional wrt bug #301911 + if use plugins-symlink; then + dosym /usr/$(get_libdir)/nsbrowser/plugins ${CHROMIUM_HOME}/plugins + fi + + # Icon and desktop entry + newicon out/Release/product_logo_48.png ${PN}-browser.png + dosym ${CHROMIUM_HOME}/chromium-launcher.sh /usr/bin/chromium + make_desktop_entry chromium "Chromium" ${PN}-browser "Network;WebBrowser" + sed -e "/^Exec/s/$/ %U/" -i "${D}"/usr/share/applications/*.desktop \ + || die "desktop file sed failed" + # Gnome default application entry + dodir /usr/share/gnome-control-center/default-apps + insinto /usr/share/gnome-control-center/default-apps + doins "${FILESDIR}"/chromium.xml +} diff --git a/www-client/chromium/files/chromium-flash-hang-workaround-r1.patch b/www-client/chromium/files/chromium-flash-hang-workaround-r1.patch new file mode 100644 index 000000000000..bafeb23d82eb --- /dev/null +++ b/www-client/chromium/files/chromium-flash-hang-workaround-r1.patch @@ -0,0 +1,47 @@ +Index: webkit/glue/plugins/webplugin_delegate_impl.h +=================================================================== +--- webkit/glue/plugins/webplugin_delegate_impl.h (revision 48979) ++++ webkit/glue/plugins/webplugin_delegate_impl.h (working copy) +@@ -68,6 +68,7 @@ + PLUGIN_QUIRK_PATCH_REGENUMKEYEXW = 2048, // Windows + PLUGIN_QUIRK_ALWAYS_NOTIFY_SUCCESS = 4096, // Windows + PLUGIN_QUIRK_ALLOW_FASTER_QUICKDRAW_PATH = 8192, // Mac ++ PLUGIN_QUIRK_WINDOWLESS_NO_RIGHT_CLICK = 32768, // Linux + }; + + static WebPluginDelegateImpl* Create(const FilePath& filename, +Index: webkit/glue/plugins/webplugin_delegate_impl_gtk.cc +=================================================================== +--- webkit/glue/plugins/webplugin_delegate_impl_gtk.cc (revision 48979) ++++ webkit/glue/plugins/webplugin_delegate_impl_gtk.cc (working copy) +@@ -55,9 +55,13 @@ + memset(&window_, 0, sizeof(window_)); + if (instance_->mime_type() == "application/x-shockwave-flash") { + // Flash is tied to Firefox's whacky behavior with windowless plugins. See +- // comments in WindowlessPaint ++ // comments in WindowlessPaint. ++ // TODO(viettrungluu): PLUGIN_QUIRK_WINDOWLESS_NO_RIGHT_CLICK: Don't allow ++ // right-clicks in windowless content since Flash 10.1 (initial release, at ++ // least) hangs in that case. Remove this once Flash is fixed. + quirks_ |= PLUGIN_QUIRK_WINDOWLESS_OFFSET_WINDOW_TO_DRAW +- | PLUGIN_QUIRK_WINDOWLESS_INVALIDATE_AFTER_SET_WINDOW; ++ | PLUGIN_QUIRK_WINDOWLESS_INVALIDATE_AFTER_SET_WINDOW ++ | PLUGIN_QUIRK_WINDOWLESS_NO_RIGHT_CLICK; + } + + // TODO(evanm): I played with this for quite a while but couldn't +@@ -696,6 +700,14 @@ + if (!NPEventFromWebInputEvent(event, timestamp, &np_event)) { + return false; + } ++ // See comment about PLUGIN_QUIRK_WINDOWLESS_NO_RIGHT_CLICK in constructor. ++ if (windowless_ && ++ (quirks_ & PLUGIN_QUIRK_WINDOWLESS_NO_RIGHT_CLICK) && ++ (np_event.type == ButtonPress || np_event.type == ButtonRelease) && ++ (np_event.xbutton.button == Button3)) { ++ return false; ++ } ++ + bool ret = instance()->NPP_HandleEvent(&np_event) != 0; + + // Flash always returns false, even when the event is handled.