diff options
author | Paweł Hajdan <phajdan.jr@gentoo.org> | 2010-08-12 19:51:16 +0000 |
---|---|---|
committer | Paweł Hajdan <phajdan.jr@gentoo.org> | 2010-08-12 19:51:16 +0000 |
commit | 66e7d56010335b6f08c29df216f4aeb4b0e7b84b (patch) | |
tree | 7159179e6358b9e7f8826754e0d21e5615186d43 /www-client | |
parent | Handle USE=debug in the same way as cmake-utils, do not abuse it with CMAkE_B... (diff) | |
download | gentoo-2-66e7d56010335b6f08c29df216f4aeb4b0e7b84b.tar.gz gentoo-2-66e7d56010335b6f08c29df216f4aeb4b0e7b84b.tar.bz2 gentoo-2-66e7d56010335b6f08c29df216f4aeb4b0e7b84b.zip |
Backport upstream fix for bug #331611 by Anthony Parsons <ant@specialops.ath.cx>. Removed old ebuild.
(Portage version: 2.1.8.3/cvs/Linux i686)
Diffstat (limited to 'www-client')
-rw-r--r-- | www-client/chromium/ChangeLog | 10 | ||||
-rw-r--r-- | www-client/chromium/chromium-6.0.472.33-r1.ebuild (renamed from www-client/chromium/chromium-6.0.472.14.ebuild) | 53 | ||||
-rw-r--r-- | www-client/chromium/files/chromium-yuv-crash-r0.patch | 80 |
3 files changed, 126 insertions, 17 deletions
diff --git a/www-client/chromium/ChangeLog b/www-client/chromium/ChangeLog index 12b04eb82611..858d15d84173 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.155 2010/08/11 21:20:29 phajdan.jr Exp $ +# $Header: /var/cvsroot/gentoo-x86/www-client/chromium/ChangeLog,v 1.156 2010/08/12 19:51:16 phajdan.jr Exp $ + +*chromium-6.0.472.33-r1 (12 Aug 2010) + + 12 Aug 2010; Pawel Hajdan jr <phajdan.jr@gentoo.org> + +files/chromium-yuv-crash-r0.patch, -chromium-6.0.472.14.ebuild, + +chromium-6.0.472.33-r1.ebuild: + Backport upstream fix for bug #331611 by Anthony Parsons + <ant@specialops.ath.cx>. Removed old ebuild. *chromium-6.0.472.33 (11 Aug 2010) diff --git a/www-client/chromium/chromium-6.0.472.14.ebuild b/www-client/chromium/chromium-6.0.472.33-r1.ebuild index d79ff32a9a66..8fae5c1b2910 100644 --- a/www-client/chromium/chromium-6.0.472.14.ebuild +++ b/www-client/chromium/chromium-6.0.472.33-r1.ebuild @@ -1,6 +1,6 @@ # 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-6.0.472.14.ebuild,v 1.2 2010/07/31 15:59:41 truedfx Exp $ +# $Header: /var/cvsroot/gentoo-x86/www-client/chromium/chromium-6.0.472.33-r1.ebuild,v 1.1 2010/08/12 19:51:16 phajdan.jr Exp $ EAPI="2" @@ -23,7 +23,6 @@ RDEPEND="app-arch/bzip2 >=media-libs/alsa-lib-1.0.19 media-libs/jpeg:0 media-libs/libpng - media-video/ffmpeg[threads] cups? ( >=net-print/cups-1.4.4 ) sys-libs/zlib >=x11-libs/gtk+-2.14.7 @@ -60,13 +59,31 @@ remove_bundled_lib() { } src_prepare() { - # Disable VP8 until we have a recent enough system-provided ffmpeg. - epatch "${FILESDIR}"/${PN}-disable-vp8-r1.patch + # Fix compilation, bug #332131. + epatch "${FILESDIR}"/${PN}-make-3.82-compatibility-r0.patch + + # Add Gentoo plugin paths. + epatch "${FILESDIR}"/${PN}-plugins-path-r0.patch + + # Fix a renderer crash, bug #331661. This is a backport + # of the upstream patch. + epatch "${FILESDIR}"/${PN}-yuv-crash-r0.patch remove_bundled_lib "third_party/bzip2" + remove_bundled_lib "third_party/codesighs" + remove_bundled_lib "third_party/cros" + remove_bundled_lib "third_party/jemalloc" + remove_bundled_lib "third_party/lcov" remove_bundled_lib "third_party/libevent" remove_bundled_lib "third_party/libjpeg" remove_bundled_lib "third_party/libpng" + remove_bundled_lib "third_party/lzma_sdk" + remove_bundled_lib "third_party/molokocacao" + remove_bundled_lib "third_party/ocmock" + remove_bundled_lib "third_party/py" + remove_bundled_lib "third_party/pyftpdlib" + remove_bundled_lib "third_party/simplejson" + remove_bundled_lib "third_party/tlslite" # TODO: also remove third_party/libxml and third_party/libxslt when # http://crbug.com/29333 is fixed. # TODO: also remove third_party/zlib. For now the compilation fails if we @@ -84,21 +101,18 @@ src_configure() { fi # Use system-provided libraries. + # TODO: use_system_ffmpeg (http://crbug.com/50678). # TODO: use_system_libxml (http://crbug.com/29333). # TODO: use_system_sqlite (http://crbug.com/22208). # TODO: use_system_icu, use_system_hunspell (upstream changes needed). # TODO: use_system_ssl when we have a recent enough system NSS. myconf="${myconf} -Duse_system_bzip2=1 - -Duse_system_ffmpeg=1 -Duse_system_libevent=1 -Duse_system_libjpeg=1 -Duse_system_libpng=1 -Duse_system_zlib=1" - # The system-provided ffmpeg supports more codecs. Enable them in chromium. - myconf="${myconf} -Dproprietary_codecs=1" - # The dependency on cups is optional, see bug #324105. if use cups; then myconf="${myconf} -Duse_cups=1" @@ -106,6 +120,14 @@ src_configure() { myconf="${myconf} -Duse_cups=0" fi + if use gnome; then + myconf="${myconf} -Dlinux_link_gnome_keyring=1" + else + # TODO: we should also disable code trying to dlopen + # gnome-keyring in that case. + myconf="${myconf} -Dlinux_link_gnome_keyring=0" + fi + # Enable sandbox. myconf="${myconf} -Dlinux_sandbox_path=$(get_chromium_home)/chrome_sandbox @@ -145,6 +167,11 @@ src_configure() { myconf="${myconf} -Dno_strict_aliasing=1 -Dgcc_version=44" fi + # Work around a likely GCC bug, see bug #331945. + if [[ "$(gcc-major-version)$(gcc-minor-version)" == "45" ]]; then + append-flags -fno-ipa-cp + 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. @@ -185,14 +212,8 @@ src_install() { 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 "$(get_chromium_home)" - dosym /usr/$(get_libdir)/libavformat.so.52 "$(get_chromium_home)" - dosym /usr/$(get_libdir)/libavutil.so.50 "$(get_chromium_home)" - - # Use system plugins by default. - dosym /usr/$(get_libdir)/nsbrowser/plugins "$(get_chromium_home)/plugins" + doexe out/Release/ffmpegsumo_nolink || die + doexe out/Release/libffmpegsumo.so || die # Install icon and desktop entry. newicon out/Release/product_logo_48.png ${PN}-browser.png diff --git a/www-client/chromium/files/chromium-yuv-crash-r0.patch b/www-client/chromium/files/chromium-yuv-crash-r0.patch new file mode 100644 index 000000000000..24780f8e39cb --- /dev/null +++ b/www-client/chromium/files/chromium-yuv-crash-r0.patch @@ -0,0 +1,80 @@ +--- media/base/yuv_row_posix.cc.orig 2010-08-12 19:17:00.000000000 +0200 ++++ media/base/yuv_row_posix.cc 2010-08-12 19:19:55.000000000 +0200 +@@ -271,6 +271,7 @@ + int width); + + asm( ++ ".text\n" + ".global FastConvertYUVToRGB32Row\n" + "FastConvertYUVToRGB32Row:\n" + "pusha\n" +@@ -331,6 +332,7 @@ + int source_dx); + + asm( ++ ".text\n" + ".global ScaleYUVToRGB32Row\n" + "ScaleYUVToRGB32Row:\n" + "pusha\n" +@@ -405,6 +407,7 @@ + int source_dx); + + asm( ++ ".text\n" + ".global LinearScaleYUVToRGB32Row\n" + "LinearScaleYUVToRGB32Row:\n" + "pusha\n" +@@ -517,6 +520,7 @@ + int width, + int16 *kCoefficientsRgbY); + __asm__( ++ ".text\n" + "_PICConvertYUVToRGB32Row:\n" + "pusha\n" + "mov 0x24(%esp),%edx\n" +@@ -586,6 +590,7 @@ + int16 *kCoefficientsRgbY); + + __asm__( ++ ".text\n" + "_PICScaleYUVToRGB32Row:\n" + "pusha\n" + "mov 0x24(%esp),%edx\n" +@@ -671,6 +676,7 @@ + int16 *kCoefficientsRgbY); + + asm( ++ ".text\n" + "_PICLinearScaleYUVToRGB32Row:\n" + "pusha\n" + "mov 0x24(%esp),%edx\n" +@@ -824,29 +830,6 @@ + (packuswb(a) << 24); + } + +-#if TEST_MMX_YUV +-static inline void YuvPixel(uint8 y, +- uint8 u, +- uint8 v, +- uint8* rgb_buf) { +- +- __asm { +- movzx eax, u +- movq mm0, [kCoefficientsRgbY+2048 + 8 * eax] +- movzx eax, v +- paddsw mm0, [kCoefficientsRgbY+4096 + 8 * eax] +- movzx eax, y +- movq mm1, [kCoefficientsRgbY + 8 * eax] +- paddsw mm1, mm0 +- psraw mm1, 6 +- packuswb mm1, mm1 +- mov eax, rgb_buf +- movd [eax], mm1 +- emms +- } +-} +-#endif +- + void FastConvertYUVToRGB32Row(const uint8* y_buf, + const uint8* u_buf, + const uint8* v_buf, |