diff --git a/extra/chromium/PKGBUILD b/extra/chromium/PKGBUILD index 0577b74af..1e5af6609 100644 --- a/extra/chromium/PKGBUILD +++ b/extra/chromium/PKGBUILD @@ -16,7 +16,7 @@ buildarch=4 pkgname=chromium pkgver=20.0.1132.57 -pkgrel=1 +pkgrel=2 pkgdesc="The open-source project behind Google Chrome, an attempt at creating a safer, faster, and more stable browser" arch=('i686' 'x86_64') url="http://www.chromium.org/" @@ -38,6 +38,7 @@ source=(http://commondatastorage.googleapis.com/chromium-browser-official/$pkgna chromium.default chromium.sh chromium-gcc47.patch + chromium-20.0.1132.57-bison-2.6-remove-yyparse-decl.patch chromium-20.0.1132.57-glib-2.16-use-siginfo_t.patch sqlite-3.7.6.3-fix-out-of-scope-memory-reference.patch) sha256sums=('1225c6b6306e89c8892bc0d18e94567d6081d777dee9b8c90efd0da9f6f2641b' @@ -45,6 +46,7 @@ sha256sums=('1225c6b6306e89c8892bc0d18e94567d6081d777dee9b8c90efd0da9f6f2641b' '478340d5760a9bd6c549e19b1b5d1c5b4933ebf5f8cfb2b3e2d70d07443fe232' '4999fded897af692f4974f0a3e3bbb215193519918a1fa9b31ed51e74a2dccb9' 'f607347ba8477d3c8e60eb3803d26f3c9869f77fd49986c60887c59a6aa7d30d' + '8d0e0c53562eee3400606365e33aab035c487d7d958063bc25eea550c6fa3793' 'c1baf14121502efbc2a31b64029dcafa0e28ca5b71ad0e28a3c6342d18198615' 'a700aa054800d1b21d84eaba27c38a703dfa023e9226d11a942690c2a0630aff') @@ -54,6 +56,11 @@ build() { # Fix build with glibc 2.16 patch -Np1 -i "$srcdir/chromium-20.0.1132.57-glib-2.16-use-siginfo_t.patch" + # Fix build with bison 2.6 (XXX: hacky; waiting on proper upstream fix) + # http://crbug.com/138243 / https://bugs.webkit.org/show_bug.cgi?id=91943 + patch -Np1 -i \ + "$srcdir/chromium-20.0.1132.57-bison-2.6-remove-yyparse-decl.patch" + # Fix build with gcc 4.7 (patch from openSUSE) patch -Np2 -i "$srcdir/chromium-gcc47.patch" diff --git a/extra/chromium/chromium-20.0.1132.57-bison-2.6-remove-yyparse-decl.patch b/extra/chromium/chromium-20.0.1132.57-bison-2.6-remove-yyparse-decl.patch new file mode 100644 index 000000000..574f65acf --- /dev/null +++ b/extra/chromium/chromium-20.0.1132.57-bison-2.6-remove-yyparse-decl.patch @@ -0,0 +1,22 @@ +diff -upr chromium-20.0.1132.57.orig/third_party/WebKit/Source/WebCore/WebCore.gyp/scripts/rule_bison.py chromium-20.0.1132.57/third_party/WebKit/Source/WebCore/WebCore.gyp/scripts/rule_bison.py +--- chromium-20.0.1132.57.orig/third_party/WebKit/Source/WebCore/WebCore.gyp/scripts/rule_bison.py 2012-07-10 10:51:56.000000000 +0300 ++++ chromium-20.0.1132.57/third_party/WebKit/Source/WebCore/WebCore.gyp/scripts/rule_bison.py 2012-07-24 20:20:48.316103484 +0300 +@@ -87,7 +87,7 @@ assert outputHTmp != None + + # Read the header file in under the generated name and remove it. + outputHFile = open(outputHTmp) +-outputHContents = outputHFile.read() ++outputHContents = outputHFile.readlines() + outputHFile.close() + os.unlink(outputHTmp) + +@@ -97,6 +97,8 @@ outputH = os.path.join(outputDir, inputR + outputHFile = open(outputH, 'w') + print >>outputHFile, '#ifndef %sH' % inputRoot + print >>outputHFile, '#define %sH' % inputRoot +-print >>outputHFile, outputHContents ++print >>outputHFile, ''.join(filter( ++ lambda line: not line.startswith('int %sparse' % prefix), ++ outputHContents)) + print >>outputHFile, '#endif' + outputHFile.close()