summaryrefslogtreecommitdiffstats
path: root/abs
diff options
context:
space:
mode:
Diffstat (limited to 'abs')
-rw-r--r--abs/extra/community/chromium/PKGBUILD97
-rw-r--r--abs/extra/community/chromium/chromium-media-no-sse-r0.patch17
-rwxr-xr-x[-rw-r--r--]abs/extra/community/chromium/chromium.sh0
-rw-r--r--abs/extra/community/chromium/gcc-4.6.patch13
-rw-r--r--abs/extra/community/chromium/glibc-2.14.patch51
-rw-r--r--abs/extra/community/chromium/make-hash-tools-use-if-instead-of-switch.patch37
-rw-r--r--abs/extra/community/chromium/nacl-cflags-remove-fstack-protector.patch17
7 files changed, 88 insertions, 144 deletions
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 <foutrelis@gmail.com>
+# $Id: PKGBUILD 150259 2012-02-16 02:37:46Z foutrelis $
+# Maintainer: Evangelos Foutras <evangelos@foutrelis.com>
# Contributor: Pierre Schmitz <pierre@archlinux.de>
# Contributor: Jan "heftig" Steffens <jan.steffens@gmail.com>
# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+# 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
index e1c3388..e1c3388 100644..100755
--- a/abs/extra/community/chromium/chromium.sh
+++ b/abs/extra/community/chromium/chromium.sh
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 <cstddef>
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 <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
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', {