Date: Wednesday, May 9, 2012 @ 06:01:13 Author: foutrelis Revision: 158762
upgpkg: chromium 18.0.1025.168-2 Rebuild using GCC 4.7; include patch for FS#29309. Added: chromium/trunk/sqlite-3.7.6.3-fix-out-of-scope-memory-reference.patch Modified: chromium/trunk/PKGBUILD --------------------------------------------------------+ PKGBUILD | 24 ++++++++----- sqlite-3.7.6.3-fix-out-of-scope-memory-reference.patch | 26 +++++++++++++++ 2 files changed, 40 insertions(+), 10 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2012-05-09 08:46:41 UTC (rev 158761) +++ PKGBUILD 2012-05-09 10:01:13 UTC (rev 158762) @@ -10,7 +10,7 @@ pkgname=chromium pkgver=18.0.1025.168 -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/" @@ -18,12 +18,8 @@ depends=('gtk2' 'dbus-glib' 'nss' 'alsa-lib' 'xdg-utils' 'bzip2' 'libevent' 'libxss' 'libgcrypt' 'ttf-dejavu' 'desktop-file-utils' 'hicolor-icon-theme') -# Building with GCC 4.7 causes segfaults; build with 4.6 for the time being -# https://bugs.archlinux.org/task/29309 -# Mirror snapshop before GCC 4.7 moved to [core]: -# Server = http://arm.konnichi.com/2012/04/02/$repo/os/$arch makedepends=('python2' 'perl' 'gperf' 'yasm' 'mesa' 'libgnome-keyring' - 'elfutils' 'gcc<4.7') + 'elfutils') optdepends=('kdebase-kdialog: needed for file dialogs in KDE') # Needed for the NaCl toolchain [[ $CARCH == x86_64 ]] && makedepends+=('lib32-zlib') @@ -35,6 +31,7 @@ chromium.desktop chromium.sh chromium-gcc47.patch + sqlite-3.7.6.3-fix-out-of-scope-memory-reference.patch chromium-media-no-sse-r0.patch chromium-revert-jpeg-swizzle-r2.patch) sha256sums=('1f1fc7bd8066835844a465f9d60c49c21173ff559c40e5d113fe9c4627fc18b9' @@ -42,6 +39,7 @@ '09bfac44104f4ccda4c228053f689c947b3e97da9a4ab6fa34ce061ee83d0322' 'c53bfc4db9dde684fbaed6a4bbecb207e3e7a0a2703233426fe076a6d3c557f3' 'f607347ba8477d3c8e60eb3803d26f3c9869f77fd49986c60887c59a6aa7d30d' + 'a700aa054800d1b21d84eaba27c38a703dfa023e9226d11a942690c2a0630aff' '71751bf5913da1eec3c88c433044224c869b0abd5a29172cf239bddbb4eff761' 'd99162aa6bae562f116a42347254bbec3752464f0a3e4d8675e2b287b2a838a2') @@ -49,11 +47,11 @@ cd "$srcdir/chromium-$pkgver" # Fix build with gcc 4.7 (patch from openSUSE) - #patch -Np2 -i "$srcdir/chromium-gcc47.patch" + patch -Np2 -i "$srcdir/chromium-gcc47.patch" # Add missing include that defines OS_POSIX - #sed -i '1 i\ - # #include "build/build_config.h"' \ - # chrome/browser/diagnostics/diagnostics_main.cc + sed -i '1 i\ + #include "build/build_config.h"' \ + chrome/browser/diagnostics/diagnostics_main.cc # http://code.google.com/p/chromium/issues/detail?id=109527 sed -i 's|glib/gutils.h|glib.h|' ui/base/l10n/l10n_util.cc @@ -64,6 +62,12 @@ # Fix JPEG image rendering problem (patch from Gentoo bug #393471) patch -Np0 -i "$srcdir/chromium-revert-jpeg-swizzle-r2.patch" + # SQLite: Fix a problem in fts3_write.c causing stack memory to be referenced + # after it is out of scope (http://www.sqlite.org/src/info/f9c4a7c8f4) + # (http://code.google.com/p/chromium/issues/detail?id=122525) + patch -i "$srcdir/sqlite-3.7.6.3-fix-out-of-scope-memory-reference.patch" \ + third_party/sqlite/amalgamation/sqlite3.c + # Use Python 2 find . -type f -exec sed -i -r \ -e 's|/usr/bin/python$|&2|g' \ Added: sqlite-3.7.6.3-fix-out-of-scope-memory-reference.patch =================================================================== --- sqlite-3.7.6.3-fix-out-of-scope-memory-reference.patch (rev 0) +++ sqlite-3.7.6.3-fix-out-of-scope-memory-reference.patch 2012-05-09 10:01:13 UTC (rev 158762) @@ -0,0 +1,26 @@ +--- ext/fts3/fts3_write.c.orig 2012-05-08 21:05:03.000000000 +0300 ++++ ext/fts3/fts3_write.c 2012-05-08 21:07:08.000000000 +0300 +@@ -1238,13 +1238,13 @@ int sqlite3Fts3SegReaderPending( + Fts3SegReader **ppReader /* OUT: SegReader for pending-terms */ + ){ + Fts3SegReader *pReader = 0; /* Fts3SegReader object to return */ ++ Fts3HashElem *pE; /* Iterator variable */ + Fts3HashElem **aElem = 0; /* Array of term hash entries to scan */ + int nElem = 0; /* Size of array at aElem */ + int rc = SQLITE_OK; /* Return Code */ + + if( isPrefix ){ + int nAlloc = 0; /* Size of allocated array at aElem */ +- Fts3HashElem *pE = 0; /* Iterator variable */ + + for(pE=fts3HashFirst(&p->pendingTerms); pE; pE=fts3HashNext(pE)){ + char *zKey = (char *)fts3HashKey(pE); +@@ -1276,7 +1276,7 @@ int sqlite3Fts3SegReaderPending( + } + + }else{ +- Fts3HashElem *pE = fts3HashFindElem(&p->pendingTerms, zTerm, nTerm); ++ pE = fts3HashFindElem(&p->pendingTerms, zTerm, nTerm); + if( pE ){ + aElem = &pE; + nElem = 1;