From a68f2e923097abf6613ce303f68a534b6cea99e3 Mon Sep 17 00:00:00 2001 From: Cecil Date: Sun, 19 Feb 2012 02:53:41 -0800 Subject: chromium:Bumped to latest (17.0.963.56). --- abs/extra/community/chromium/PKGBUILD | 97 ++++++++++++---------- .../chromium/chromium-media-no-sse-r0.patch | 17 ++++ abs/extra/community/chromium/chromium.sh | 0 abs/extra/community/chromium/gcc-4.6.patch | 13 +-- abs/extra/community/chromium/glibc-2.14.patch | 51 ------------ .../make-hash-tools-use-if-instead-of-switch.patch | 37 --------- .../nacl-cflags-remove-fstack-protector.patch | 17 ++++ 7 files changed, 88 insertions(+), 144 deletions(-) create mode 100644 abs/extra/community/chromium/chromium-media-no-sse-r0.patch mode change 100644 => 100755 abs/extra/community/chromium/chromium.sh delete mode 100644 abs/extra/community/chromium/glibc-2.14.patch delete mode 100644 abs/extra/community/chromium/make-hash-tools-use-if-instead-of-switch.patch create mode 100644 abs/extra/community/chromium/nacl-cflags-remove-fstack-protector.patch diff --git a/abs/extra/community/chromium/PKGBUILD b/abs/extra/community/chromium/PKGBUILD index e5518e9..df239af 100644 --- a/abs/extra/community/chromium/PKGBUILD +++ b/abs/extra/community/chromium/PKGBUILD @@ -1,54 +1,66 @@ -# $Id$ -# Maintainer: Evangelos Foutras +# $Id: PKGBUILD 150259 2012-02-16 02:37:46Z foutrelis $ +# Maintainer: Evangelos Foutras # Contributor: Pierre Schmitz # Contributor: Jan "heftig" Steffens # Contributor: Daniel J Griffiths +# Building for x86_64 requires lib32-glibc & lib32-zlib from [multilib]. These +# libraries are linked from the NaCl toolchain, and are only needed during +# build time. + pkgname=chromium -pkgver=13.0.782.112 -pkgrel=1 +pkgver=17.0.963.56 +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/" license=('BSD') depends=('gtk2' 'dbus-glib' 'nss' 'alsa-lib' 'xdg-utils' 'bzip2' 'libevent' - 'libxss' 'libxtst' 'ttf-dejavu' 'desktop-file-utils' + 'libxss' 'libgcrypt' 'ttf-dejavu' 'desktop-file-utils' 'hicolor-icon-theme') -makedepends=('python2' 'perl' 'gperf' 'yasm' 'mesa' 'libgnome-keyring') -optdepends=('mozplugger-chromium: A Mozilla multimedia plugin for Chromium') +makedepends=('python2' 'perl' 'gperf' 'yasm' 'mesa' 'libgnome-keyring' + 'elfutils') +optdepends=('kdebase-kdialog: needed for file dialogs in KDE' + 'mozplugger-chromium: A Mozilla multimedia plugin for Chromium') +# Needed for the NaCl toolchain +[[ $CARCH == x86_64 ]] && makedepends+=('lib32-zlib') provides=('chromium-browser') conflicts=('chromium-browser') replaces=('firefox' 'firefox-i18n' 'mozplugger') install=chromium.install -source=(http://build.chromium.org/official/chromium-$pkgver.tar.bz2 +source=(http://commondatastorage.googleapis.com/chromium-browser-official/$pkgname-$pkgver.tar.bz2 + http://commondatastorage.googleapis.com/nativeclient-mirror/nacl/nacl_sdk/nacl_sdk.zip chromium.desktop chromium.sh gcc-4.6.patch - glibc-2.14.patch - make-hash-tools-use-if-instead-of-switch.patch) + nacl-cflags-remove-fstack-protector.patch + chromium-media-no-sse-r0.patch) +sha256sums=('270be138d499c6c2092644af69acab8310cb05c3d06c3afe7891e488c29b020f' + '964fe3a5ec56f2505649aba00f900abe4205674b7fdaa16772647d347173bb01' + '09bfac44104f4ccda4c228053f689c947b3e97da9a4ab6fa34ce061ee83d0322' + 'c53bfc4db9dde684fbaed6a4bbecb207e3e7a0a2703233426fe076a6d3c557f3' + '9c5e0803904d1a0e71ab7444c92a7046a34a9518eeba7a70f2eec7abecb8bf4e' + '59e732880314333d6e9acf6ac99de467c98e8a92aa5c5292ae808a805e0f8d76' + '71751bf5913da1eec3c88c433044224c869b0abd5a29172cf239bddbb4eff761') build() { cd "$srcdir/chromium-$pkgver" - # Patches to fix gcc 4.6 compilation from + # Fix build with gcc 4.6 # http://code.google.com/p/chromium/issues/detail?id=80071 - # http://code.google.com/p/chromium/issues/detail?id=70746 - # http://code.google.com/p/chromium/issues/detail?id=46411 patch -Np0 -i "$srcdir/gcc-4.6.patch" - - # Fix build with glibc 2.14 - # http://code.google.com/p/chromium/issues/detail?id=86646 - patch -Np2 -i "$srcdir/glibc-2.14.patch" -# Fix build with Perl 5.14 - patch -d third_party/WebKit -Np2 -i \ - "$srcdir/make-hash-tools-use-if-instead-of-switch.patch" + # Filter -fstack-protector out of cflags for nacl_helper_bootstrap + # http://code.google.com/p/chromium/issues/detail?id=104569 + patch -d native_client -Np1 -i \ + "$srcdir/nacl-cflags-remove-fstack-protector.patch" -### Configure + # Remove unconditional use of SSE3 (patch from Gentoo) + patch -Np0 -i "$srcdir/chromium-media-no-sse-r0.patch" # Use Python 2 find . -type f -exec sed -i -r \ - -e 's|/usr/bin/python$|\02|g' \ + -e 's|/usr/bin/python$|&2|g' \ -e 's|(/usr/bin/python2)\.4$|\1|g' \ {} + # There are still a lot of relative calls which need a workaround @@ -56,12 +68,21 @@ build() { ln -s /usr/bin/python2 "$srcdir/python2-path/python" export PATH="$srcdir/python2-path:$PATH" + pushd "$srcdir/nacl_sdk" + ./naclsdk update pepper_16 + popd + + ln -s "$srcdir/nacl_sdk/pepper_16/toolchain/linux_x86_newlib" \ + native_client/toolchain/linux_x86_newlib + # We need to disable system_ssl until "next protocol negotiation" support is # available in our nss package. # (See https://bugzilla.mozilla.org/show_bug.cgi?id=547312) + # CFLAGS are passed through release_extra_cflags below + export -n CFLAGS CXXFLAGS + build/gyp_chromium -f make build/all.gyp --depth=. \ - -Dgcc_version=45 \ -Dno_strict_aliasing=1 \ -Dwerror= \ -Dlinux_sandbox_path=/usr/lib/chromium/chromium-sandbox \ @@ -69,21 +90,18 @@ build() { -Drelease_extra_cflags="$CFLAGS" \ -Dffmpeg_branding=Chrome \ -Dproprietary_codecs=1 \ - -Duse_system_libjpeg=1 \ - -Duse_system_libxslt=0 \ - -Duse_system_libxml=0 \ -Duse_system_bzip2=1 \ - -Duse_system_zlib=1 \ - -Duse_system_libpng=1 \ -Duse_system_ffmpeg=0 \ - -Duse_system_yasm=1 \ -Duse_system_libevent=1 \ + -Duse_system_libjpeg=0 \ + -Duse_system_libpng=1 \ + -Duse_system_libxml=0 \ -Duse_system_ssl=0 \ + -Duse_system_yasm=1 \ + -Duse_system_zlib=1 \ -Duse_gconf=0 \ $([[ $CARCH == i686 ]] && echo '-Ddisable_sse2=1') -### Build - make chrome chrome_sandbox BUILDTYPE=Release } @@ -95,13 +113,10 @@ package() { install -Dm4755 -o root -g root out/Release/chrome_sandbox \ "$pkgdir/usr/lib/chromium/chromium-sandbox" - install -Dm644 out/Release/chrome.pak "$pkgdir/usr/lib/chromium/chrome.pak" - - install -Dm644 out/Release/resources.pak \ - "$pkgdir/usr/lib/chromium/resources.pak" - - install -D out/Release/libffmpegsumo.so \ - "$pkgdir/usr/lib/chromium/libffmpegsumo.so" + cp out/Release/{{chrome,resources}.pak,libffmpegsumo.so} \ + out/Release/nacl_helper{,_bootstrap} \ + out/Release/{libppGoogleNaClPluginChrome.so,nacl_irt_x86_*.nexe} \ + "$pkgdir/usr/lib/chromium/" # These links are only needed when building with system ffmpeg #ln -s /usr/lib/libavcodec.so.52 ${pkgdir}/usr/lib/chromium/ @@ -128,9 +143,3 @@ package() { } # vim:set ts=2 sw=2 et: -md5sums=('a0ddccb65b0075419d089087a9de785c' - '075c3c2fa5902e16b8547dd31d437191' - '096a46ef386817988250d2d7bddd1b34' - '690f2be42bf2a31755753a466653eb33' - '543a32b09f138fd47858b9a4a7c82dfb' - '9d9e66c8365d7333e55305796b49fd77') diff --git a/abs/extra/community/chromium/chromium-media-no-sse-r0.patch b/abs/extra/community/chromium/chromium-media-no-sse-r0.patch new file mode 100644 index 0000000..07cda2d --- /dev/null +++ b/abs/extra/community/chromium/chromium-media-no-sse-r0.patch @@ -0,0 +1,17 @@ +--- media/media.gyp.orig 2012-02-02 10:03:41.000000000 +0100 ++++ media/media.gyp 2012-02-02 10:04:09.000000000 +0100 +@@ -467,14 +467,6 @@ + [ 'os_posix == 1 and OS != "mac" and OS != "android"', { + 'cflags': [ + '-msse2', +- '-msse3', +- '-mssse3', +- ], +- }], +- [ 'OS == "openbsd"', { +- # OpenBSD's gcc (4.2.1) does not support -mssse3 +- 'cflags!': [ +- '-mssse3', + ], + }], + [ 'OS == "mac"', { diff --git a/abs/extra/community/chromium/chromium.sh b/abs/extra/community/chromium/chromium.sh old mode 100644 new mode 100755 diff --git a/abs/extra/community/chromium/gcc-4.6.patch b/abs/extra/community/chromium/gcc-4.6.patch index 220fe7a..b5e61dc 100644 --- a/abs/extra/community/chromium/gcc-4.6.patch +++ b/abs/extra/community/chromium/gcc-4.6.patch @@ -68,9 +68,9 @@ diff -u -r third_party/tcmalloc/chromium/src/common.cc third_party/tcmalloc/chro --- third_party/tcmalloc/chromium/src/common.cc 2011-04-13 13:23:04.000000000 +0400 +++ third_party/tcmalloc/chromium/src/common.cc 2011-04-20 19:32:58.000000000 +0400 @@ -34,6 +34,7 @@ - #include "system-alloc.h" #include "config.h" #include "common.h" + #include "system-alloc.h" +#include namespace tcmalloc { @@ -86,17 +86,6 @@ diff -u -r third_party/tcmalloc/chromium/src/symbolize.h third_party/tcmalloc/ch using std::map; -diff -u -r third_party/tcmalloc/chromium/src/system-alloc.h third_party/tcmalloc/chromium/src/system-alloc.h ---- third_party/tcmalloc/chromium/src/system-alloc.h 2011-04-13 13:23:04.000000000 +0400 -+++ third_party/tcmalloc/chromium/src/system-alloc.h 2011-04-20 19:32:58.000000000 +0400 -@@ -37,6 +37,7 @@ - #define TCMALLOC_SYSTEM_ALLOC_H_ - - #include -+#include - #include "internal_logging.h" - - // REQUIRES: "alignment" is a power of two or "0" to indicate default alignment diff -u -r ui/gfx/codec/jpeg_codec.h ui/gfx/codec/jpeg_codec.h --- ui/gfx/codec/jpeg_codec.h 2011-04-13 13:23:45.000000000 +0400 +++ ui/gfx/codec/jpeg_codec.h 2011-04-20 19:32:58.000000000 +0400 diff --git a/abs/extra/community/chromium/glibc-2.14.patch b/abs/extra/community/chromium/glibc-2.14.patch deleted file mode 100644 index 1bfbbee..0000000 --- a/abs/extra/community/chromium/glibc-2.14.patch +++ /dev/null @@ -1,51 +0,0 @@ ---- trunk/src/third_party/tcmalloc/chromium/src/tcmalloc.cc 2011/06/21 07:36:46 89799 -+++ trunk/src/third_party/tcmalloc/chromium/src/tcmalloc.cc 2011/06/21 07:37:01 89800 -@@ -150,6 +150,13 @@ - # define WIN32_DO_PATCHING 1 - #endif - -+// GLibc 2.14+ requires the hook functions be declared volatile, based on the -+// value of the define __MALLOC_HOOK_VOLATILE. For compatibility with -+// older/non-GLibc implementations, provide an empty definition. -+#if !defined(__MALLOC_HOOK_VOLATILE) -+#define __MALLOC_HOOK_VOLATILE -+#endif -+ - using std::max; - using tcmalloc::PageHeap; - using tcmalloc::SizeMap; -@@ -403,7 +410,7 @@ - return tc_malloc(size); - } - --void* (*__malloc_hook)( -+void* (*__MALLOC_HOOK_VOLATILE __malloc_hook)( - size_t size, const void* caller) = tc_ptmalloc_malloc_hook; - - static void* tc_ptmalloc_realloc_hook( -@@ -411,14 +418,14 @@ - return tc_realloc(ptr, size); - } - --void* (*__realloc_hook)( -+void* (*__MALLOC_HOOK_VOLATILE __realloc_hook)( - void* ptr, size_t size, const void* caller) = tc_ptmalloc_realloc_hook; - - static void tc_ptmalloc_free_hook(void* ptr, const void* caller) { - tc_free(ptr); - } - --void (*__free_hook)(void* ptr, const void* caller) = tc_ptmalloc_free_hook; -+void (*__MALLOC_HOOK_VOLATILE __free_hook)(void* ptr, const void* caller) = tc_ptmalloc_free_hook; - - #endif - -@@ -1757,7 +1764,7 @@ - MallocHook::InvokeNewHook(result, size); - return result; - } --void *(*__memalign_hook)(size_t, size_t, const void *) = MemalignOverride; -+void *(*__MALLOC_HOOK_VOLATILE __memalign_hook)(size_t, size_t, const void *) = MemalignOverride; - #endif // #ifndef TCMALLOC_FOR_DEBUGALLOCATION - - // ---Double free() debugging implementation ----------------------------------- diff --git a/abs/extra/community/chromium/make-hash-tools-use-if-instead-of-switch.patch b/abs/extra/community/chromium/make-hash-tools-use-if-instead-of-switch.patch deleted file mode 100644 index 1b917ba..0000000 --- a/abs/extra/community/chromium/make-hash-tools-use-if-instead-of-switch.patch +++ /dev/null @@ -1,37 +0,0 @@ -Index: /trunk/Source/WebCore/make-hash-tools.pl -=================================================================== ---- /trunk/Source/WebCore/make-hash-tools.pl (revision 72664) -+++ /trunk/Source/WebCore/make-hash-tools.pl (revision 89265) -@@ -21,5 +21,4 @@ - - use strict; --use Switch; - use File::Basename; - -@@ -29,7 +28,5 @@ - - --switch ($option) { -- --case "DocTypeStrings" { -+if ($option eq "DocTypeStrings") { - - my $docTypeStringsGenerated = "$outdir/DocTypeStrings.cpp"; -@@ -39,7 +36,5 @@ - system("gperf --key-positions=\"*\" -s 2 $docTypeStringsGperf > $docTypeStringsGenerated") == 0 || die "calling gperf failed: $?"; - --} # case "DocTypeStrings" -- --case "ColorData" { -+} elsif ($option eq "ColorData") { - - my $colorDataGenerated = "$outdir/ColorData.cpp"; -@@ -49,5 +44,5 @@ - system("gperf --key-positions=\"*\" -D -s 2 $colorDataGperf > $colorDataGenerated") == 0 || die "calling gperf failed: $?"; - --} # case "ColorData" -- --} # switch ($option) -+} else { -+ die "Unknown option."; -+} diff --git a/abs/extra/community/chromium/nacl-cflags-remove-fstack-protector.patch b/abs/extra/community/chromium/nacl-cflags-remove-fstack-protector.patch new file mode 100644 index 0000000..0e4f7cf --- /dev/null +++ b/abs/extra/community/chromium/nacl-cflags-remove-fstack-protector.patch @@ -0,0 +1,17 @@ +Index: src/trusted/service_runtime/linux/nacl_bootstrap.gyp +diff --git a/src/trusted/service_runtime/linux/nacl_bootstrap.gyp b/src/trusted/service_runtime/linux/nacl_bootstrap.gyp +index 66d95ca4dc98653219c965b899dbd5ad35d2960c..083e3fdd24ff4562d2037f8d17a06540e05357b8 100644 +--- a/src/trusted/service_runtime/linux/nacl_bootstrap.gyp ++++ b/src/trusted/service_runtime/linux/nacl_bootstrap.gyp +@@ -84,6 +84,11 @@ + '-fasan', + '-faddress-sanitizer', + '-w', ++ # We filter these out because release_extra_cflags or another ++ # such thing might be adding them in, and those options wind up ++ # coming after the -fno-stack-protector we added above. ++ '-fstack-protector', ++ '-fstack-protector-all', + ], + 'conditions': [ + ['clang==1', { -- cgit v0.12