summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaweł Hajdan <phajdan.jr@gentoo.org>2010-08-12 19:51:16 +0000
committerPaweł Hajdan <phajdan.jr@gentoo.org>2010-08-12 19:51:16 +0000
commit66e7d56010335b6f08c29df216f4aeb4b0e7b84b (patch)
tree7159179e6358b9e7f8826754e0d21e5615186d43 /www-client
parentHandle USE=debug in the same way as cmake-utils, do not abuse it with CMAkE_B... (diff)
downloadgentoo-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/ChangeLog10
-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.patch80
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,