summaryrefslogtreecommitdiffstats
path: root/abs
diff options
context:
space:
mode:
Diffstat (limited to 'abs')
-rw-r--r--abs/extra/community/chromium/PKGBUILD121
-rw-r--r--abs/extra/community/chromium/chromium.desktop2
-rw-r--r--abs/extra/community/chromium/chromium.install7
-rw-r--r--abs/extra/community/chromium/gcc-4.6.patch159
-rw-r--r--abs/extra/community/chromium/glibc-2.14.patch51
5 files changed, 284 insertions, 56 deletions
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 <foutrelis@gmail.com>
# Contributor: Pierre Schmitz <pierre@archlinux.de>
# Contributor: Jan "heftig" Steffens <jan.steffens@gmail.com>
-# Maintainer: Daniel J Griffiths <ghost1227@archlinux.us>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
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 <vector>
++#include <cstddef>
+
+ 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 <stdint.h>
+ #endif
+ #include <string>
++#include <cstddef>
+
+ 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 <cstddef>
+
+ 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 <set>
+ #include <list>
++#include <cstddef>
+
+ // 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 <cstddef>
+
+ // 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 <config.h>
+
+ #include <limits>
++#include <cstddef>
+
+ #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 <cstddef>
+ #include <stdlib.h> // for NULL
+ #include <link.h> // 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 <cstddef>
+
+ 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 <stdint.h> // for uintptr_t
+ #endif
+ #include <map>
++#include <cstddef>
+
+ 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 <config.h>
++#include <cstddef>
+ #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 <vector>
++#include <cstddef>
+
+ 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 <cstddef>
+ #include <vector>
+
+ #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 <thierry.reding@avionic-design.de>
++
++ 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 <ddkilzer@apple.com>
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 -----------------------------------