From 02256098c3e55b15d1a85359f93bf8cffe962ffd Mon Sep 17 00:00:00 2001 From: Britney Fransen Date: Tue, 12 Jul 2011 19:07:12 -0500 Subject: chromium:Bumped to latest --- abs/extra/community/chromium/PKGBUILD | 121 +++++++++++--------- abs/extra/community/chromium/chromium.desktop | 2 +- abs/extra/community/chromium/chromium.install | 7 +- abs/extra/community/chromium/gcc-4.6.patch | 159 ++++++++++++++++++++++++++ abs/extra/community/chromium/glibc-2.14.patch | 51 +++++++++ 5 files changed, 284 insertions(+), 56 deletions(-) create mode 100644 abs/extra/community/chromium/gcc-4.6.patch create mode 100644 abs/extra/community/chromium/glibc-2.14.patch diff --git a/abs/extra/community/chromium/PKGBUILD b/abs/extra/community/chromium/PKGBUILD index eba588c..013f1cc 100644 --- a/abs/extra/community/chromium/PKGBUILD +++ b/abs/extra/community/chromium/PKGBUILD @@ -1,42 +1,62 @@ -# $Id: PKGBUILD 109507 2011-02-10 15:37:06Z ibiru $ +# $Id$ +# Maintainer: Evangelos Foutras # Contributor: Pierre Schmitz # Contributor: Jan "heftig" Steffens -# Maintainer: Daniel J Griffiths +# Contributor: Daniel J Griffiths pkgname=chromium -pkgver=9.0.597.94 -pkgrel=3 -pkgdesc='The open-source project behind Google Chrome, an attempt at creating a safer, faster, and more stable browser.' +pkgver=12.0.742.112 +pkgrel=1 +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/' +url="http://www.chromium.org/" license=('BSD') -depends=('nss' 'gconf' 'alsa-lib' 'xdg-utils' 'hicolor-icon-theme' 'bzip2' 'libevent' 'libxss' 'libxtst' 'ttf-dejavu' 'libcups') -makedepends=('python2' 'perl' 'gperf' 'yasm' 'mesa' 'libgnome-keyring' 'libcups') +depends=('gtk2' 'dbus-glib' 'nss' 'alsa-lib' 'xdg-utils' 'bzip2' 'libevent' + 'libxss' 'libxtst' 'ttf-dejavu' 'desktop-file-utils' + 'hicolor-icon-theme') +makedepends=('python2' 'perl' 'gperf' 'yasm' 'mesa' 'libgnome-keyring') provides=('chromium-browser') conflicts=('chromium-browser') install=chromium.install -source=("http://build.chromium.org/buildbot/official/chromium-${pkgver}.tar.bz2" - 'chromium.desktop' 'chromium.sh') -md5sums=('41386b3df743575f2325c4c64d6d7bc7' - 'c5e849fcb1101149977355c99d8ff78f' - '096a46ef386817988250d2d7bddd1b34') +source=(http://build.chromium.org/official/chromium-$pkgver.tar.bz2 + chromium.desktop + chromium.sh + gcc-4.6.patch + glibc-2.14.patch) +md5sums=('8a5b7b4b30f5fe8de10fcf7d984321b8' + '075c3c2fa5902e16b8547dd31d437191' + '096a46ef386817988250d2d7bddd1b34' + '0ea28c80c49a0a4440786e05b5251678' + '543a32b09f138fd47858b9a4a7c82dfb') build() { - cd ${srcdir}/chromium-${pkgver} + cd "$srcdir/chromium-$pkgver" + + # Patches to fix gcc 4.6 compilation from + # 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" ### Configure - echo 'Use python2 instead of python...' - find . -type f -exec \ - sed -E 's#(/usr/bin/python)$#\12#g;s#(/usr/bin/python2)\.4$#\1#g' -i {} \; + # Use Python 2 + find . -type f -exec sed -i -r \ + -e 's|/usr/bin/python$|\02|g' \ + -e 's|(/usr/bin/python2)\.4$|\1|g' \ + {} + # There are still a lot of relative calls which need a workaround - mkdir ${srcdir}/python2-path - ln -s /usr/bin/python2 ${srcdir}/python2-path/python - export PATH="${srcdir}/python2-path/:${PATH}" + mkdir "$srcdir/python2-path" + ln -s /usr/bin/python2 "$srcdir/python2-path/python" + export PATH="$srcdir/python2-path:$PATH" - # 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 + # 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) build/gyp_chromium -f make build/all.gyp --depth=. \ -Dgcc_version=45 \ @@ -44,7 +64,7 @@ build() { -Dwerror= \ -Dlinux_sandbox_path=/usr/lib/chromium/chromium-sandbox \ -Dlinux_strip_binary=1 \ - -Drelease_extra_cflags="${CFLAGS}" \ + -Drelease_extra_cflags="$CFLAGS" \ -Dffmpeg_branding=Chrome \ -Dproprietary_codecs=1 \ -Duse_system_libjpeg=1 \ @@ -57,7 +77,8 @@ build() { -Duse_system_yasm=1 \ -Duse_system_libevent=1 \ -Duse_system_ssl=0 \ - $([ "${CARCH}" == 'i686' ] && echo '-Ddisable_sse2=1') + -Duse_gconf=0 \ + $([[ $CARCH == i686 ]] && echo '-Ddisable_sse2=1') ### Build @@ -65,47 +86,43 @@ build() { } package() { - cd ${srcdir}/chromium-${pkgver} + cd "$srcdir/chromium-$pkgver" - install -m 0755 -D out/Release/chrome ${pkgdir}/usr/lib/chromium/chromium + install -D out/Release/chrome ${pkgdir}/usr/lib/chromium/chromium - install -m 4555 -o root -g root -D out/Release/chrome_sandbox \ - ${pkgdir}/usr/lib/chromium/chromium-sandbox + install -Dm4755 -o root -g root out/Release/chrome_sandbox \ + "$pkgdir/usr/lib/chromium/chromium-sandbox" - install -m 0644 -D out/Release/chrome.pak \ - ${pkgdir}/usr/lib/chromium/chrome.pak + install -Dm644 out/Release/chrome.pak "$pkgdir/usr/lib/chromium/chrome.pak" - install -m 0644 -D out/Release/resources.pak \ - ${pkgdir}/usr/lib/chromium/resources.pak + install -Dm644 out/Release/resources.pak \ + "$pkgdir/usr/lib/chromium/resources.pak" - install -m 0755 -D out/Release/libffmpegsumo.so \ - ${pkgdir}/usr/lib/chromium/libffmpegsumo.so + install -D out/Release/libffmpegsumo.so \ + "$pkgdir/usr/lib/chromium/libffmpegsumo.so" -# these links are only needed when building with system ffmpeg -# ln -s /usr/lib/libavcodec.so.52 ${pkgdir}/usr/lib/chromium/ -# ln -s /usr/lib/libavformat.so.52 ${pkgdir}/usr/lib/chromium/ -# ln -s /usr/lib/libavutil.so.50 ${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/ + #ln -s /usr/lib/libavformat.so.52 ${pkgdir}/usr/lib/chromium/ + #ln -s /usr/lib/libavutil.so.50 ${pkgdir}/usr/lib/chromium/ - cp -a out/Release/locales out/Release/resources \ - ${pkgdir}/usr/lib/chromium/ + cp -a out/Release/locales out/Release/resources "$pkgdir/usr/lib/chromium/" - find ${pkgdir}/usr/lib/chromium/ -name '*.d' -type f -delete + find "$pkgdir/usr/lib/chromium/" -name '*.d' -type f -delete - install -m 0644 -D out/Release/chrome.1 \ - ${pkgdir}/usr/share/man/man1/chromium.1 + install -Dm644 out/Release/chrome.1 "$pkgdir/usr/share/man/man1/chromium.1" - install -m 0644 -D ${srcdir}/chromium.desktop \ - ${pkgdir}/usr/share/applications/chromium.desktop + install -Dm644 "$srcdir/chromium.desktop" \ + "$pkgdir/usr/share/applications/chromium.desktop" for size in 16 22 24 32 48 64 128 256; do - install -m 0644 -D \ - chrome/app/theme/chromium/product_logo_${size}.png \ - ${pkgdir}/usr/share/icons/hicolor/${size}x${size}/apps/chromium.png + install -Dm644 "chrome/app/theme/chromium/product_logo_$size.png" \ + "$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps/chromium.png" done - install -m 0755 -D ${srcdir}/chromium.sh ${pkgdir}/usr/bin/chromium + install -D "$srcdir/chromium.sh" "$pkgdir/usr/bin/chromium" - install -m 0644 -D LICENSE ${pkgdir}/usr/share/licenses/chromium/LICENSE + install -Dm644 LICENSE "$pkgdir/usr/share/licenses/chromium/LICENSE" } -# vim:set sw=2 sts=2 et: +# vim:set ts=2 sw=2 et: diff --git a/abs/extra/community/chromium/chromium.desktop b/abs/extra/community/chromium/chromium.desktop index 4bb6981..18446d4 100644 --- a/abs/extra/community/chromium/chromium.desktop +++ b/abs/extra/community/chromium/chromium.desktop @@ -110,4 +110,4 @@ Terminal=false Icon=chromium Type=Application Categories=GTK;Network;WebBrowser; -MimeType=text/html;text/xml;application/xhtml_xml; +MimeType=text/html;text/xml;application/xhtml+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https; diff --git a/abs/extra/community/chromium/chromium.install b/abs/extra/community/chromium/chromium.install index e70c054..d43ea7c 100644 --- a/abs/extra/community/chromium/chromium.install +++ b/abs/extra/community/chromium/chromium.install @@ -1,11 +1,12 @@ post_install() { - xdg-icon-resource forceupdate --theme hicolor &> /dev/null + xdg-icon-resource forceupdate --theme hicolor &>/dev/null + update-desktop-database -q } post_upgrade() { - post_install + post_install } post_remove() { - post_install + post_install } diff --git a/abs/extra/community/chromium/gcc-4.6.patch b/abs/extra/community/chromium/gcc-4.6.patch new file mode 100644 index 0000000..931cd64 --- /dev/null +++ b/abs/extra/community/chromium/gcc-4.6.patch @@ -0,0 +1,159 @@ +diff -u -r chrome/browser/search_engines/template_url_prepopulate_data.h chrome/browser/search_engines/template_url_prepopulate_data.h +--- chrome/browser/search_engines/template_url_prepopulate_data.h 2011-04-13 13:23:41.000000000 +0400 ++++ chrome/browser/search_engines/template_url_prepopulate_data.h 2011-04-20 19:32:58.000000000 +0400 +@@ -7,6 +7,7 @@ + #pragma once + + #include ++#include + + class GURL; + class PrefService; +diff -u -r gpu/command_buffer/common/types.h gpu/command_buffer/common/types.h +--- gpu/command_buffer/common/types.h 2011-04-13 13:22:57.000000000 +0400 ++++ gpu/command_buffer/common/types.h 2011-04-20 19:32:58.000000000 +0400 +@@ -11,6 +11,7 @@ + #include + #endif + #include ++#include + + typedef signed char schar; + typedef signed char int8; +diff -u -r ppapi/cpp/paint_aggregator.h ppapi/cpp/paint_aggregator.h +--- ppapi/cpp/paint_aggregator.h 2011-04-13 13:22:58.000000000 +0400 ++++ ppapi/cpp/paint_aggregator.h 2011-04-20 20:11:44.000000000 +0400 +@@ -9,6 +9,7 @@ + + #include "ppapi/cpp/point.h" + #include "ppapi/cpp/rect.h" ++#include + + namespace pp { + +diff -u -r third_party/libjingle/source/talk/base/sigslot.h third_party/libjingle/source/talk/base/sigslot.h +--- third_party/libjingle/source/talk/base/sigslot.h 2011-04-13 13:25:41.000000000 +0400 ++++ third_party/libjingle/source/talk/base/sigslot.h 2011-04-20 20:00:43.000000000 +0400 +@@ -80,6 +80,7 @@ + + #include + #include ++#include + + // On our copy of sigslot.h, we force single threading + #define SIGSLOT_PURE_ISO +diff -u -r third_party/ots/src/os2.cc third_party/ots/src/os2.cc +--- third_party/ots/src/os2.cc 2011-04-13 13:24:06.000000000 +0400 ++++ third_party/ots/src/os2.cc 2011-04-20 19:45:44.000000000 +0400 +@@ -5,6 +5,7 @@ + #include "os2.h" + + #include "head.h" ++#include + + // OS/2 - OS/2 and Windows Metrics + // http://www.microsoft.com/opentype/otspec/os2.htm +diff -u -r third_party/tcmalloc/chromium/src/base/stl_allocator.h third_party/tcmalloc/chromium/src/base/stl_allocator.h +--- third_party/tcmalloc/chromium/src/base/stl_allocator.h 2011-04-13 13:23:04.000000000 +0400 ++++ third_party/tcmalloc/chromium/src/base/stl_allocator.h 2011-04-20 19:32:58.000000000 +0400 +@@ -38,6 +38,7 @@ + #include + + #include ++#include + + #include "base/basictypes.h" + #include "base/logging.h" +diff -u -r third_party/tcmalloc/chromium/src/base/vdso_support.h third_party/tcmalloc/chromium/src/base/vdso_support.h +--- third_party/tcmalloc/chromium/src/base/vdso_support.h 2011-04-13 13:23:04.000000000 +0400 ++++ third_party/tcmalloc/chromium/src/base/vdso_support.h 2011-04-20 19:32:58.000000000 +0400 +@@ -37,6 +37,7 @@ + + #define HAVE_VDSO_SUPPORT 1 + ++#include + #include // for NULL + #include // for ElfW + #include "base/basictypes.h" +diff -u -r third_party/tcmalloc/chromium/src/common.cc third_party/tcmalloc/chromium/src/common.cc +--- 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 + + namespace tcmalloc { + +diff -u -r third_party/tcmalloc/chromium/src/symbolize.h third_party/tcmalloc/chromium/src/symbolize.h +--- third_party/tcmalloc/chromium/src/symbolize.h 2011-04-13 13:23:04.000000000 +0400 ++++ third_party/tcmalloc/chromium/src/symbolize.h 2011-04-20 19:32:58.000000000 +0400 +@@ -38,6 +38,7 @@ + #include // for uintptr_t + #endif + #include ++#include + + 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 +@@ -7,6 +7,7 @@ + #pragma once + + #include ++#include + + class SkBitmap; + +--- ppapi/cpp/paint_aggregator.h 2010-12-23 18:10:27.000000000 -0600 ++++ ppapi/cpp/paint_aggregator.h~ 2011-04-19 05:34:56.085582885 -0500 +@@ -5,6 +5,7 @@ + #ifndef PPAPI_CPP_PAINT_AGGREGATOR_H_ + #define PPAPI_CPP_PAINT_AGGREGATOR_H_ + ++#include + #include + + #include "ppapi/cpp/point.h" +Index: Source/WebCore/ChangeLog +=================================================================== +--- third_party/WebKit/Source/WebCore/ChangeLog (revision 84120) ++++ third_party/WebKit/Source/WebCore/ChangeLog (revision 84123) +@@ -1,2 +1,24 @@ ++2011-04-17 Thierry Reding ++ ++ Reviewed by Adam Barth. ++ ++ Fix build with GCC 4.6. ++ ++ * dom/make_names.pl: Execute preprocessor without the -P option. The ++ preprocessor in GCC 4.6 eats empty lines, effectively breaking the ++ parsing performed by this script. Dropping the -P option when invoking ++ the preprocessor keeps the empty lines but as a side-effect also adds ++ additional linemarkers. ++ ++ From the cpp manpage: ++ ++ -P Inhibit generation of linemarkers in the output from the ++ preprocessor. This might be useful when running the preprocessor ++ on something that is not C code, and will be sent to a program ++ which might be confused by the linemarkers. ++ ++ The linemarkers are not problematic, however, because the script ++ properly handles them by ignoring all lines starting with a #. ++ + 2011-04-17 David Kilzer diff --git a/abs/extra/community/chromium/glibc-2.14.patch b/abs/extra/community/chromium/glibc-2.14.patch new file mode 100644 index 0000000..1bfbbee --- /dev/null +++ b/abs/extra/community/chromium/glibc-2.14.patch @@ -0,0 +1,51 @@ +--- 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 ----------------------------------- -- cgit v0.12