[arch-commits] Commit in chromium/trunk (3 files)

Evangelos Foutras foutrelis at nymeria.archlinux.org
Wed Oct 2 21:49:45 UTC 2013


    Date: Wednesday, October 2, 2013 @ 23:49:45
  Author: foutrelis
Revision: 195867

upgpkg: chromium 30.0.1599.66-1

New upstream release.

Added:
  chromium/trunk/chromium-system-icu-r0.patch
Modified:
  chromium/trunk/PKGBUILD
Deleted:
  chromium/trunk/chromium-28.0.1500.71-avoid-std-string-copying-in-GetFileNameInWhitelist.patch

--------------------------------------------------------------------------------+
 PKGBUILD                                                                       |   47 ++++++----
 chromium-28.0.1500.71-avoid-std-string-copying-in-GetFileNameInWhitelist.patch |   46 ---------
 chromium-system-icu-r0.patch                                                   |   26 +++++
 3 files changed, 56 insertions(+), 63 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2013-10-02 19:57:01 UTC (rev 195866)
+++ PKGBUILD	2013-10-02 21:49:45 UTC (rev 195867)
@@ -5,7 +5,8 @@
 # Contributor: Daniel J Griffiths <ghost1227 at archlinux.us>
 
 pkgname=chromium
-pkgver=29.0.1547.76
+pkgver=30.0.1599.66
+_toolchains_rev=12029
 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')
@@ -16,20 +17,32 @@
          'speech-dispatcher' 'pciutils' 'libpulse' 'harfbuzz' 'harfbuzz-icu'
          'desktop-file-utils' 'hicolor-icon-theme')
 makedepends=('python2' 'perl' 'gperf' 'yasm' 'mesa' 'libgnome-keyring'
-             'elfutils' 'subversion' 'nacl-toolchain-newlib')
+             'elfutils' 'subversion')
+[[ $CARCH = x86_64 ]] && makedepends+=('lib32-gcc-libs' 'lib32-zlib')
 optdepends=('kdebase-kdialog: needed for file dialogs in KDE')
 backup=('etc/chromium/default')
 install=chromium.install
 source=(https://commondatastorage.googleapis.com/chromium-browser-official/$pkgname-$pkgver.tar.xz
+        naclsdk_nacl_linux_x86-$_toolchains_rev.tgz::https://commondatastorage.googleapis.com/nativeclient-archive2/toolchain/$_toolchains_rev/naclsdk_linux_x86.tgz
+        naclsdk_pnacl_linux_x86-$_toolchains_rev.tgz::https://commondatastorage.googleapis.com/nativeclient-archive2/toolchain/$_toolchains_rev/naclsdk_pnacl_linux_x86.tgz
+        naclsdk_pnacl_translator-$_toolchains_rev.tgz::https://commondatastorage.googleapis.com/nativeclient-archive2/toolchain/$_toolchains_rev/naclsdk_pnacl_translator.tgz
+        naclsdk_pnacl_translator-$_toolchains_rev.tgz.sha1hash::https://commondatastorage.googleapis.com/nativeclient-archive2/toolchain/$_toolchains_rev/naclsdk_pnacl_translator.tgz.sha1hash
         chromium.desktop
         chromium.default
         chromium.sh
-        chromium-28.0.1500.71-avoid-std-string-copying-in-GetFileNameInWhitelist.patch)
-sha256sums=('61db2740f6eb7f95aeadf20d5e34a5c6759e9e8d08b88f5c960e041cfc502888'
+        chromium-system-icu-r0.patch)
+noextract=(naclsdk_nacl_linux_x86-$_toolchains_rev.tgz
+           naclsdk_pnacl_linux_x86-$_toolchains_rev.tgz
+           naclsdk_pnacl_translator-$_toolchains_rev.tgz)
+sha256sums=('8fe8262fd69b59c759916d17eaf4225d1d5b64c468629cb9a684144d3cd15724'
+            '641e2acf0e755bfe052016164e9e0198104130b612a042eacf259a2f2630d6cd'
+            '6ce53b1af8fef34c1557c7fbb764cfbca29cb70b8ee3367746a31976cf115e01'
+            '0b7afcbad1461336e7062d7c8d64e67e670a1fce07214e24313204af1f3a5a70'
+            'd6c5ed767ee9ee4e92b4de958cd32b0152783f170c1483fe99d2199fc2623813'
             '09bfac44104f4ccda4c228053f689c947b3e97da9a4ab6fa34ce061ee83d0322'
             '478340d5760a9bd6c549e19b1b5d1c5b4933ebf5f8cfb2b3e2d70d07443fe232'
             '4999fded897af692f4974f0a3e3bbb215193519918a1fa9b31ed51e74a2dccb9'
-            '7c2e448c30677999f524f9513c2f998f3cb15bc6084692cad9c3f310aa813530')
+            '9bf164094ff33565f79807ab17cbd1d3f75655383fdaa01bb1a702263174cf09')
 
 # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
 # Note: These are for Arch Linux use ONLY. For your own distribution, please
@@ -42,10 +55,8 @@
 prepare() {
   cd "$srcdir/$pkgname-$pkgver"
 
-  # Fix deadlock related to the GPU sandbox when tcmalloc isn't used
-  # https://code.google.com/p/chromium/issues/detail?id=255063
-  # https://bugs.gentoo.org/show_bug.cgi?id=471198#c23
-  patch -Np1 -i "$srcdir/chromium-28.0.1500.71-avoid-std-string-copying-in-GetFileNameInWhitelist.patch"
+  # Fix build with system ICU (patch from Gentoo)
+  patch -Np0 -i "$srcdir/chromium-system-icu-r0.patch"
 
   # Use Python 2
   find . -type f -exec sed -i -r \
@@ -57,10 +68,15 @@
   ln -s /usr/bin/python2 "$srcdir/python2-path/python"
 
   # Prepare NaCL toolchain
-  mkdir -p out/Release/obj/gen/sdk/toolchain
-  cp -a /usr/lib/nacl-toolchain-newlib \
-    out/Release/obj/gen/sdk/toolchain/linux_x86_newlib
-  touch out/Release/obj/gen/sdk/toolchain/linux_x86_newlib/stamp.untar
+  mkdir native_client/toolchain/{.tars,pnacl_translator}
+  ln -s "$srcdir/naclsdk_nacl_linux_x86-$_toolchains_rev.tgz" \
+    native_client/toolchain/.tars/naclsdk_linux_x86.tgz
+  ln -s "$srcdir/naclsdk_pnacl_linux_x86-$_toolchains_rev.tgz" \
+    native_client/toolchain/.tars/naclsdk_pnacl_linux_x86.tgz
+  ln -s "$srcdir/naclsdk_pnacl_translator-$_toolchains_rev.tgz" \
+    native_client/toolchain/.tars/naclsdk_pnacl_translator.tgz
+  ln -s "$srcdir/naclsdk_pnacl_translator-$_toolchains_rev.tgz.sha1hash" \
+    native_client/toolchain/pnacl_translator/SOURCE_SHA1
 }
 
 build() {
@@ -83,7 +99,6 @@
     -Dlinux_link_libpci=1
     -Dlinux_link_libspeechd=1
     -Dlinux_link_pulseaudio=1
-    -Dlinux_sandbox_path=/usr/lib/chromium/chromium-sandbox
     -Dlinux_strip_binary=1
     -Dlinux_use_gold_binary=0
     -Dlinux_use_gold_flags=0
@@ -111,8 +126,6 @@
     -Duse_system_zlib=0
     -Duse_gconf=0
     -Ddisable_glibc=1
-    -Ddisable_pnacl=1
-    -Ddisable_newlib_untar=1
     -Ddisable_sse2=1)
 
   build/linux/unbundle/replace_gyp_files.py "${_chromium_conf[@]}"
@@ -127,7 +140,7 @@
   install -D out/Release/chrome "$pkgdir/usr/lib/chromium/chromium"
 
   install -Dm4755 -o root -g root out/Release/chrome_sandbox \
-    "$pkgdir/usr/lib/chromium/chromium-sandbox"
+    "$pkgdir/usr/lib/chromium/chrome-sandbox"
 
   cp out/Release/{*.pak,libffmpegsumo.so,nacl_helper{,_bootstrap}} \
     out/Release/{libppGoogleNaClPluginChrome.so,nacl_irt_*.nexe} \

Deleted: chromium-28.0.1500.71-avoid-std-string-copying-in-GetFileNameInWhitelist.patch
===================================================================
--- chromium-28.0.1500.71-avoid-std-string-copying-in-GetFileNameInWhitelist.patch	2013-10-02 19:57:01 UTC (rev 195866)
+++ chromium-28.0.1500.71-avoid-std-string-copying-in-GetFileNameInWhitelist.patch	2013-10-02 21:49:45 UTC (rev 195867)
@@ -1,46 +0,0 @@
-Index: sandbox/linux/services/broker_process.cc
-diff --git a/sandbox/linux/services/broker_process.cc b/sandbox/linux/services/broker_process.cc
-index d2302ea098215c8188eb74b0d36da37506ff302a..7999e77fa34fcef4ad8575fa905d66f645df6986 100644
---- a/sandbox/linux/services/broker_process.cc
-+++ b/sandbox/linux/services/broker_process.cc
-@@ -53,7 +53,7 @@ static const int kCurrentProcessOpenFlagsMask = O_CLOEXEC;
- // async signal safe if |file_to_open| is NULL.
- // TODO(jln): assert signal safety.
- bool GetFileNameInWhitelist(const std::vector<std::string>& allowed_file_names,
--                            const std::string& requested_filename,
-+                            const char* requested_filename,
-                             const char** file_to_open) {
-   if (file_to_open && *file_to_open) {
-     // Make sure that callers never pass a non-empty string. In case callers
-@@ -62,13 +62,17 @@ bool GetFileNameInWhitelist(const std::vector<std::string>& allowed_file_names,
-     RAW_LOG(FATAL, "*file_to_open should be NULL");
-     return false;
-   }
-+
-+  // Look for |requested_filename| in |allowed_file_names|.
-+  // We don't use ::find() because it takes a std::string and
-+  // the conversion allocates memory.
-   std::vector<std::string>::const_iterator it;
--  it = std::find(allowed_file_names.begin(), allowed_file_names.end(),
--                 requested_filename);
--  if (it < allowed_file_names.end()) {  // requested_filename was found?
--    if (file_to_open)
--      *file_to_open = it->c_str();
--    return true;
-+  for (it = allowed_file_names.begin(); it != allowed_file_names.end(); it++) {
-+    if (strcmp(requested_filename, it->c_str()) == 0) {
-+      if (file_to_open)
-+        *file_to_open = it->c_str();
-+      return true;
-+    }
-   }
-   return false;
- }
-@@ -393,6 +397,7 @@ void BrokerProcess::AccessFileForIPC(const std::string& requested_filename,
-   const char* file_to_access = NULL;
-   const bool safe_to_access_file = GetFileNameIfAllowedToAccess(
-       requested_filename.c_str(), mode, &file_to_access);
-+
-   if (safe_to_access_file) {
-     CHECK(file_to_access);
-     int access_ret = access(file_to_access, mode);

Added: chromium-system-icu-r0.patch
===================================================================
--- chromium-system-icu-r0.patch	                        (rev 0)
+++ chromium-system-icu-r0.patch	2013-10-02 21:49:45 UTC (rev 195867)
@@ -0,0 +1,26 @@
+--- build/linux/unbundle/icu.gyp.orig	2013-09-27 18:18:50.531839532 +0000
++++ build/linux/unbundle/icu.gyp	2013-09-27 18:19:08.301950500 +0000
+@@ -7,6 +7,7 @@
+     {
+       'target_name': 'system_icu',
+       'type': 'none',
++      'toolsets': ['host', 'target'],
+       'direct_dependent_settings': {
+         'defines': [
+           'U_USING_ICU_NAMESPACE=0',
+@@ -30,6 +31,7 @@
+     {
+       'target_name': 'icui18n',
+       'type': 'none',
++      'toolsets': ['host', 'target'],
+       'dependencies': ['system_icu'],
+       'export_dependent_settings': ['system_icu'],
+       'variables': {
+@@ -116,6 +118,7 @@
+     {
+       'target_name': 'icuuc',
+       'type': 'none',
++      'toolsets': ['host', 'target'],
+       'dependencies': ['system_icu'],
+       'export_dependent_settings': ['system_icu'],
+       'variables': {




More information about the arch-commits mailing list