From cdad6219176a761555ddcc13017f3e5d88fc16de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Thu, 29 Mar 2018 14:45:36 +0200 Subject: [PATCH 1/3] Be explicit about the Python version used --- chromium.spec | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/chromium.spec b/chromium.spec index 8bbca8a..6484099 100644 --- a/chromium.spec +++ b/chromium.spec @@ -416,13 +416,21 @@ BuildRequires: pkgconfig(gtk+-3.0) BuildRequires: pkgconfig(gtk+-2.0) %endif BuildRequires: pulseaudio-libs-devel -BuildRequires: python2 +BuildRequires: python2-devel +%if 0%{?fedora} > 27 +BuildRequires: python2-beautifulsoup4 +BuildRequires: python2-beautifulsoup +BuildRequires: python2-html5lib +BuildRequires: python2-markupsafe +BuildRequires: python2-ply +%else BuildRequires: python-beautifulsoup4 BuildRequires: python-BeautifulSoup BuildRequires: python-html5lib BuildRequires: python-markupsafe BuildRequires: python-ply -BuildRequires: python-simplejson +%endif +BuildRequires: python2-simplejson %if 0%{?bundlere2} # Using bundled bits, do nothing. %else @@ -740,6 +748,10 @@ udev. %patch87 -p1 -b .epel7 %endif +# Change shebang in all relevant files in this directory and all subdirectories +# See `man find` for how the `-exec command {} +` syntax works +find -type f -exec sed -i '1s=^#!/usr/bin/\(python\|env python\)[23]\?=#!%{__python2}=' {} + + %if 0%{?asan} export CC="clang" export CXX="clang++" @@ -1069,8 +1081,8 @@ build/linux/unbundle/remove_bundled_libraries.py \ # Look, I don't know. This package is spit and chewing gum. Sorry. rm -rf third_party/markupsafe -ln -s %{python_sitearch}/markupsafe third_party/markupsafe -# We should look on removing other python packages as well i.e. ply +ln -s %{python2_sitearch}/markupsafe third_party/markupsafe +# We should look on removing other python2 packages as well i.e. ply # Fix hardcoded path in remoting code sed -i 's|/opt/google/chrome-remote-desktop|%{crd_path}|g' remoting/host/setup/daemon_controller_delegate_linux.cc @@ -1145,8 +1157,8 @@ sed -i 's|exec "${THIS_DIR}/ninja-linux${LONG_BIT}"|exec "/usr/bin/ninja-build"| %endif # Check that there is no system 'google' module, shadowing bundled ones: -if python -c 'import google ; print google.__path__' 2> /dev/null ; then \ - echo "Python 'google' module is defined, this will shadow modules of this build"; \ +if python2 -c 'import google ; print google.__path__' 2> /dev/null ; then \ + echo "Python 2 'google' module is defined, this will shadow modules of this build"; \ exit 1 ; \ fi From e00e15df7ee56234e38d6db3d6178b65aa22f937 Mon Sep 17 00:00:00 2001 From: Tom Callaway Date: Tue, 17 Apr 2018 12:54:51 -0400 Subject: [PATCH 2/3] use system fontconfig (except on epel7) --- chromium.spec | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/chromium.spec b/chromium.spec index 8bbca8a..446d5ec 100644 --- a/chromium.spec +++ b/chromium.spec @@ -91,6 +91,7 @@ BuildRequires: libicu-devel >= 5.4 %global bundlelibjpeg 1 %global bundlefreetype 1 %global bundlelibdrm 1 +%global bundlefontconfig 1 %else %global bundleharfbuzz 0 %global bundleopus 1 @@ -100,6 +101,7 @@ BuildRequires: libicu-devel >= 5.4 %global bundlelibjpeg 0 %global bundlefreetype 0 %global bundlelibdrm 0 +%global bundlefontconfig 0 %endif # Needs at least harfbuzz 1.7.3 now. @@ -134,7 +136,7 @@ Name: chromium%{chromium_channel}%{?freeworld:-freeworld} Name: chromium%{chromium_channel} %endif Version: %{majorversion}.0.3325.181 -Release: 2%{?dist} +Release: 3%{?dist} Summary: A WebKit (Blink) powered web browser Url: http://www.chromium.org/Home License: BSD and LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and OpenSSL and (MPLv1.1 or GPLv2 or LGPLv2) @@ -502,7 +504,9 @@ Provides: bundled(fdmlibm) = 5.3 # Don't get too excited. MPEG and other legally problematic stuff is stripped out. Provides: bundled(ffmpeg) = 3.2git Provides: bundled(fips181) = 2.2.3 -Provides: bundled(fontconfig) = 2.11.0 +%if 0%{?bundlefontconfig} +Provides: bundled(fontconfig) = 2.12.6 +%endif %if 0%{?bundlefreetype} Provides: bundled(freetype) = 2.9.3 %endif @@ -1079,6 +1083,10 @@ export PATH=$PATH:%{_builddir}/depot_tools build/linux/unbundle/replace_gn_files.py --system-libraries \ flac \ +%if 0%{?bundlefontconfig} +%else + fontconfig \ +%endif %if 0%{?bundlefreetype} %else freetype \ @@ -1617,6 +1625,9 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %changelog +* Tue Apr 17 2018 Tom Callaway 65.0.3325.181-3 +- use system fontconfig (except on epel7) + * Wed Apr 4 2018 Tom Callaway 65.0.3325.181-2 - add explicit dependency on minizip (bz 1534282) From 5479a8c69aaf12f5a9977975224620fa0a71c3ec Mon Sep 17 00:00:00 2001 From: Tom Callaway Date: Tue, 1 May 2018 16:24:18 -0400 Subject: [PATCH 3/3] 66.0.3359.139 --- .gitignore | 1 + ...se-Optional-T-requires-the-full-decl.patch | 33 +++ ...nitializer-list-for-NoDestructor-of-.patch | 12 + ...-declare-ConfigurationPolicyProvider.patch | 18 ++ ....0.3359.117-gcc-copy-constructor-fix.patch | 49 ++++ ...6.0.3359.117-gcc-optional-move-fixes.patch | 45 +++ ....117-gcc-vector-copy-constructor-fix.patch | 53 ++++ chromium-66.0.3359.117-missing-files.patch | 272 ++++++++++++++++++ chromium-66.0.3359.117-nounrar.patch | 16 ++ chromium-66.0.3359.117-system-clang.patch | 12 + chromium.spec | 106 +++---- sources | 1 + 12 files changed, 556 insertions(+), 62 deletions(-) create mode 100644 chromium-66.0.3359.117-GCC-build-fix-base-Optional-T-requires-the-full-decl.patch create mode 100644 chromium-66.0.3359.117-GCC-do-not-use-initializer-list-for-NoDestructor-of-.patch create mode 100644 chromium-66.0.3359.117-GCC-fully-declare-ConfigurationPolicyProvider.patch create mode 100644 chromium-66.0.3359.117-gcc-copy-constructor-fix.patch create mode 100644 chromium-66.0.3359.117-gcc-optional-move-fixes.patch create mode 100644 chromium-66.0.3359.117-gcc-vector-copy-constructor-fix.patch create mode 100644 chromium-66.0.3359.117-missing-files.patch create mode 100644 chromium-66.0.3359.117-nounrar.patch create mode 100644 chromium-66.0.3359.117-system-clang.patch diff --git a/.gitignore b/.gitignore index ddcd939..f419b63 100644 --- a/.gitignore +++ b/.gitignore @@ -42,3 +42,4 @@ /chromium-65.0.3325.146-clean.tar.xz /chromium-65.0.3325.162-clean.tar.xz /chromium-65.0.3325.181-clean.tar.xz +/chromium-66.0.3359.139-clean.tar.xz diff --git a/chromium-66.0.3359.117-GCC-build-fix-base-Optional-T-requires-the-full-decl.patch b/chromium-66.0.3359.117-GCC-build-fix-base-Optional-T-requires-the-full-decl.patch new file mode 100644 index 0000000..36ade41 --- /dev/null +++ b/chromium-66.0.3359.117-GCC-build-fix-base-Optional-T-requires-the-full-decl.patch @@ -0,0 +1,33 @@ +diff -up chromium-66.0.3359.117/services/preferences/tracked/pref_hash_filter.h.gcc-full-decl chromium-66.0.3359.117/services/preferences/tracked/pref_hash_filter.h +--- chromium-66.0.3359.117/services/preferences/tracked/pref_hash_filter.h.gcc-full-decl 2018-04-25 16:29:52.372692179 -0400 ++++ chromium-66.0.3359.117/services/preferences/tracked/pref_hash_filter.h 2018-04-25 16:31:15.698058409 -0400 +@@ -21,9 +21,9 @@ + #include "services/preferences/public/mojom/preferences.mojom.h" + #include "services/preferences/tracked/hash_store_contents.h" + #include "services/preferences/tracked/interceptable_pref_filter.h" ++#include "services/preferences/tracked/pref_hash_store.h" + #include "services/preferences/tracked/tracked_preference.h" + +-class PrefHashStore; + class PrefService; + + namespace base { +diff -up chromium-66.0.3359.117/third_party/WebKit/Source/modules/webdatabase/SQLTransactionBackend.h.gcc-full-decl chromium-66.0.3359.117/third_party/WebKit/Source/modules/webdatabase/SQLTransactionBackend.h +--- chromium-66.0.3359.117/third_party/WebKit/Source/modules/webdatabase/SQLTransactionBackend.h.gcc-full-decl 2018-04-17 21:05:12.000000000 -0400 ++++ chromium-66.0.3359.117/third_party/WebKit/Source/modules/webdatabase/SQLTransactionBackend.h 2018-04-25 16:29:52.373692159 -0400 +@@ -30,6 +30,7 @@ + + #include + #include "modules/webdatabase/DatabaseBasicTypes.h" ++#include "modules/webdatabase/SQLError.h" + #include "modules/webdatabase/SQLStatement.h" + #include "modules/webdatabase/SQLStatementBackend.h" + #include "modules/webdatabase/SQLTransactionStateMachine.h" +@@ -41,7 +42,6 @@ + namespace blink { + + class Database; +-class SQLErrorData; + class SQLiteTransaction; + class SQLTransaction; + class SQLTransactionBackend; diff --git a/chromium-66.0.3359.117-GCC-do-not-use-initializer-list-for-NoDestructor-of-.patch b/chromium-66.0.3359.117-GCC-do-not-use-initializer-list-for-NoDestructor-of-.patch new file mode 100644 index 0000000..cb68934 --- /dev/null +++ b/chromium-66.0.3359.117-GCC-do-not-use-initializer-list-for-NoDestructor-of-.patch @@ -0,0 +1,12 @@ +diff -up chromium-66.0.3359.117/chrome/browser/supervised_user/supervised_user_url_filter.cc.flatsetfix chromium-66.0.3359.117/chrome/browser/supervised_user/supervised_user_url_filter.cc +--- chromium-66.0.3359.117/chrome/browser/supervised_user/supervised_user_url_filter.cc.flatsetfix 2018-04-30 14:22:23.997461566 -0400 ++++ chromium-66.0.3359.117/chrome/browser/supervised_user/supervised_user_url_filter.cc 2018-04-30 14:22:51.867920383 -0400 +@@ -368,7 +368,7 @@ SupervisedUserURLFilter::GetFilteringBeh + + // Allow navigations to whitelisted origins (currently families.google.com). + static const base::NoDestructor> kWhitelistedOrigins( +- {GURL(kFamiliesUrl).GetOrigin()}); ++ base::flat_set({GURL(kFamiliesUrl).GetOrigin()})); + if (base::ContainsKey(*kWhitelistedOrigins, effective_url.GetOrigin())) + return ALLOW; + diff --git a/chromium-66.0.3359.117-GCC-fully-declare-ConfigurationPolicyProvider.patch b/chromium-66.0.3359.117-GCC-fully-declare-ConfigurationPolicyProvider.patch new file mode 100644 index 0000000..d5b19cf --- /dev/null +++ b/chromium-66.0.3359.117-GCC-fully-declare-ConfigurationPolicyProvider.patch @@ -0,0 +1,18 @@ +diff -up chromium-66.0.3359.117/components/policy/core/browser/browser_policy_connector_base.h.gcc-cpolicyprovider chromium-66.0.3359.117/components/policy/core/browser/browser_policy_connector_base.h +--- chromium-66.0.3359.117/components/policy/core/browser/browser_policy_connector_base.h.gcc-cpolicyprovider 2018-04-25 16:33:40.872222779 -0400 ++++ chromium-66.0.3359.117/components/policy/core/browser/browser_policy_connector_base.h 2018-04-25 16:37:23.175883637 -0400 +@@ -11,13 +11,13 @@ + #include "base/callback_forward.h" + #include "base/macros.h" + #include "components/policy/core/browser/configuration_policy_handler_list.h" ++#include "components/policy/core/common/configuration_policy_provider.h" + #include "components/policy/core/common/schema.h" + #include "components/policy/core/common/schema_registry.h" + #include "components/policy/policy_export.h" + + namespace policy { + +-class ConfigurationPolicyProvider; + class PolicyService; + class PolicyServiceImpl; + diff --git a/chromium-66.0.3359.117-gcc-copy-constructor-fix.patch b/chromium-66.0.3359.117-gcc-copy-constructor-fix.patch new file mode 100644 index 0000000..09c5b82 --- /dev/null +++ b/chromium-66.0.3359.117-gcc-copy-constructor-fix.patch @@ -0,0 +1,49 @@ +diff -up chromium-66.0.3359.117/cc/raster/playback_image_provider.cc.copycon chromium-66.0.3359.117/cc/raster/playback_image_provider.cc +--- chromium-66.0.3359.117/cc/raster/playback_image_provider.cc.copycon 2018-04-23 13:22:43.109126071 -0400 ++++ chromium-66.0.3359.117/cc/raster/playback_image_provider.cc 2018-04-23 13:23:55.761704938 -0400 +@@ -20,7 +20,7 @@ void UnrefImageFromCache(DrawImage draw_ + PlaybackImageProvider::PlaybackImageProvider( + ImageDecodeCache* cache, + const gfx::ColorSpace& target_color_space, +- base::Optional settings) ++ base::Optional&& settings) + : cache_(cache), + target_color_space_(target_color_space), + settings_(std::move(settings)) { +@@ -70,7 +70,10 @@ PlaybackImageProvider::GetDecodedDrawIma + } + + PlaybackImageProvider::Settings::Settings() = default; +-PlaybackImageProvider::Settings::Settings(const Settings& other) = default; ++PlaybackImageProvider::Settings::Settings(PlaybackImageProvider::Settings&&) = ++ default; + PlaybackImageProvider::Settings::~Settings() = default; ++PlaybackImageProvider::Settings& PlaybackImageProvider::Settings::operator=( ++ PlaybackImageProvider::Settings&&) = default; + + } // namespace cc +diff -up chromium-66.0.3359.117/cc/raster/playback_image_provider.h.copycon chromium-66.0.3359.117/cc/raster/playback_image_provider.h +--- chromium-66.0.3359.117/cc/raster/playback_image_provider.h.copycon 2018-04-23 13:24:07.699471148 -0400 ++++ chromium-66.0.3359.117/cc/raster/playback_image_provider.h 2018-04-23 13:24:57.080506348 -0400 +@@ -20,8 +20,10 @@ class CC_EXPORT PlaybackImageProvider : + public: + struct CC_EXPORT Settings { + Settings(); +- Settings(const Settings& other); ++ Settings(const Settings&) = delete; ++ Settings(Settings&&); + ~Settings(); ++ Settings& operator=(Settings&&); + + // The set of image ids to skip during raster. + PaintImageIdFlatSet images_to_skip; +@@ -34,7 +36,7 @@ class CC_EXPORT PlaybackImageProvider : + // If no settings are provided, all images are skipped during rasterization. + PlaybackImageProvider(ImageDecodeCache* cache, + const gfx::ColorSpace& target_color_space, +- base::Optional settings); ++ base::Optional&& settings); + ~PlaybackImageProvider() override; + + PlaybackImageProvider(PlaybackImageProvider&& other); +diff -up chromium-66.0.3359.117/cc/raster/playback_image_provider_unittest.cc.copycon chromium-66.0.3359.117/cc/raster/playback_image_provider_unittest.cc diff --git a/chromium-66.0.3359.117-gcc-optional-move-fixes.patch b/chromium-66.0.3359.117-gcc-optional-move-fixes.patch new file mode 100644 index 0000000..80df7d0 --- /dev/null +++ b/chromium-66.0.3359.117-gcc-optional-move-fixes.patch @@ -0,0 +1,45 @@ +diff -up chromium-66.0.3359.117/content/browser/appcache/appcache_request_handler.cc.gccomove chromium-66.0.3359.117/content/browser/appcache/appcache_request_handler.cc +--- chromium-66.0.3359.117/content/browser/appcache/appcache_request_handler.cc.gccomove 2018-04-23 12:53:32.419477463 -0400 ++++ chromium-66.0.3359.117/content/browser/appcache/appcache_request_handler.cc 2018-04-23 12:54:02.497887258 -0400 +@@ -639,7 +639,7 @@ AppCacheRequestHandler::MaybeCreateSubre + + SubresourceLoaderParams params; + params.loader_factory_info = factory_ptr.PassInterface(); +- return params; ++ return base::Optional(std::move(params)); + } + + void AppCacheRequestHandler::MaybeCreateSubresourceLoader( +diff -up chromium-66.0.3359.117/content/browser/service_worker/service_worker_controllee_request_handler.cc.gccomove chromium-66.0.3359.117/content/browser/service_worker/service_worker_controllee_request_handler.cc +--- chromium-66.0.3359.117/content/browser/service_worker/service_worker_controllee_request_handler.cc.gccomove 2018-04-23 12:54:16.614610083 -0400 ++++ chromium-66.0.3359.117/content/browser/service_worker/service_worker_controllee_request_handler.cc 2018-04-23 12:54:38.401182827 -0400 +@@ -271,7 +271,7 @@ ServiceWorkerControlleeRequestHandler::M + controller_info->object_info = provider_host_->GetOrCreateServiceWorkerHandle( + provider_host_->controller()); + params.controller_service_worker_info = std::move(controller_info); +- return params; ++ return base::Optional(std::move(params)); + } + + void ServiceWorkerControlleeRequestHandler::PrepareForMainResource( +diff -up chromium-66.0.3359.117/device/fido/device_response_converter.cc.gccomove chromium-66.0.3359.117/device/fido/device_response_converter.cc +--- chromium-66.0.3359.117/device/fido/device_response_converter.cc.gccomove 2018-04-23 12:54:51.452926482 -0400 ++++ chromium-66.0.3359.117/device/fido/device_response_converter.cc 2018-04-23 12:55:24.248283058 -0400 +@@ -121,7 +121,7 @@ base::Optionalsecond.GetUnsigned()); + } + +- return response; ++ return base::Optional(std::move(response)); + } + + base::Optional ReadCTAPGetInfoResponse( +@@ -241,7 +241,7 @@ base::Optional(std::move(response)); + } + + } // namespace device diff --git a/chromium-66.0.3359.117-gcc-vector-copy-constructor-fix.patch b/chromium-66.0.3359.117-gcc-vector-copy-constructor-fix.patch new file mode 100644 index 0000000..b86c200 --- /dev/null +++ b/chromium-66.0.3359.117-gcc-vector-copy-constructor-fix.patch @@ -0,0 +1,53 @@ +diff -up chromium-66.0.3359.117/third_party/WebKit/Source/platform/wtf/DEPS.944404 chromium-66.0.3359.117/third_party/WebKit/Source/platform/wtf/DEPS +--- chromium-66.0.3359.117/third_party/WebKit/Source/platform/wtf/DEPS.944404 2018-04-23 14:18:43.702116916 -0400 ++++ chromium-66.0.3359.117/third_party/WebKit/Source/platform/wtf/DEPS 2018-04-23 14:19:05.854680223 -0400 +@@ -16,6 +16,7 @@ include_rules = [ + "+base/process/process_metrics.h", + "+base/rand_util.h", + "+base/strings", ++ "+base/template_util.h", + "+base/threading/thread_checker.h", + "+base/time/time.h", + "+base/tuple.h", +diff -up chromium-66.0.3359.117/third_party/WebKit/Source/platform/wtf/Optional.h.944404 chromium-66.0.3359.117/third_party/WebKit/Source/platform/wtf/Optional.h +--- chromium-66.0.3359.117/third_party/WebKit/Source/platform/wtf/Optional.h.944404 2018-04-23 14:20:05.718499685 -0400 ++++ chromium-66.0.3359.117/third_party/WebKit/Source/platform/wtf/Optional.h 2018-04-23 14:20:18.165253615 -0400 +@@ -6,6 +6,7 @@ + #define Optional_h + + #include "base/optional.h" ++#include "platform/wtf/TemplateUtil.h" + + namespace WTF { + +diff -up chromium-66.0.3359.117/third_party/WebKit/Source/platform/wtf/TemplateUtil.h.944404 chromium-66.0.3359.117/third_party/WebKit/Source/platform/wtf/TemplateUtil.h +--- chromium-66.0.3359.117/third_party/WebKit/Source/platform/wtf/TemplateUtil.h.944404 2018-04-23 14:20:31.660987877 -0400 ++++ chromium-66.0.3359.117/third_party/WebKit/Source/platform/wtf/TemplateUtil.h 2018-04-23 14:21:40.276637297 -0400 +@@ -0,0 +1,27 @@ ++// Copyright 2018 The Chromium Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style license that can be ++// found in the LICENSE file. ++ ++#ifndef TemplateUtil_h ++#define TemplateUtil_h ++ ++#include "base/template_util.h" ++#include "platform/wtf/Vector.h" ++ ++namespace base { ++ ++#if defined(__GNUC__) && !defined(__clang__) && __GNUC__ <= 7 ++// Workaround for g++7 and earlier family. ++// Due to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80654, without this ++// Optional> where T is non-copyable causes a compile error. ++// As we know it is not trivially copy constructible, explicitly declare so. ++// ++// It completes the declaration in base/template_util.h that was provided ++// for std::vector ++template ++struct is_trivially_copy_constructible> : std::false_type {}; ++#endif ++ ++} // namespace base ++ ++#endif // TemplateUtil_h diff --git a/chromium-66.0.3359.117-missing-files.patch b/chromium-66.0.3359.117-missing-files.patch new file mode 100644 index 0000000..746d56e --- /dev/null +++ b/chromium-66.0.3359.117-missing-files.patch @@ -0,0 +1,272 @@ +diff -up chromium-66.0.3359.117/third_party/blink/tools/blinkpy/common/__init__.py.missing chromium-66.0.3359.117/third_party/blink/tools/blinkpy/common/__init__.py +--- chromium-66.0.3359.117/third_party/blink/tools/blinkpy/common/__init__.py.missing 2018-04-19 09:51:46.165723235 -0400 ++++ chromium-66.0.3359.117/third_party/blink/tools/blinkpy/common/__init__.py 2018-04-19 09:51:46.171723115 -0400 +@@ -0,0 +1,3 @@ ++# Copyright 2017 The Chromium Authors. All rights reserved. ++# Use of this source code is governed by a BSD-style license that can be ++# found in the LICENSE file. +diff -up chromium-66.0.3359.117/third_party/blink/tools/blinkpy/common/name_style_converter.py.missing chromium-66.0.3359.117/third_party/blink/tools/blinkpy/common/name_style_converter.py +--- chromium-66.0.3359.117/third_party/blink/tools/blinkpy/common/name_style_converter.py.missing 2018-04-19 09:51:46.171723115 -0400 ++++ chromium-66.0.3359.117/third_party/blink/tools/blinkpy/common/name_style_converter.py 2018-04-19 09:51:46.172723095 -0400 +@@ -0,0 +1,110 @@ ++# Copyright 2017 The Chromium Authors. All rights reserved. ++# Use of this source code is governed by a BSD-style license that can be ++# found in the LICENSE file. ++# pylint: disable=import-error,print-statement,relative-import ++import re ++SPECIAL_TOKENS = [ ++ # This list should be sorted by length. ++ 'CString', ++ 'Float32', ++ 'Float64', ++ 'Base64', ++ 'IFrame', ++ 'Latin1', ++ 'PlugIn', ++ 'SQLite', ++ 'Uint16', ++ 'Uint32', ++ 'WebGL2', ++ 'ASCII', ++ 'CType', ++ 'DList', ++ 'Int16', ++ 'Int32', ++ 'MPath', ++ 'OList', ++ 'TSpan', ++ 'UList', ++ 'UTF16', ++ 'Uint8', ++ 'WebGL', ++ 'XPath', ++ 'ETC1', ++ 'HTML', ++ 'Int8', ++ 'S3TC', ++ 'SPv2', ++ 'UTF8', ++ 'API', ++ 'CSS', ++ 'DOM', ++ 'EXT', ++ 'RTC', ++ 'SVG', ++ '2D', ++ 'AX', ++ 'V0', ++ 'V8', ++] ++MATCHING_EXPRESSION = '((?:[A-Z][a-z]+)|[0-9]D?$)' ++class SmartTokenizer(object): ++ """Detects special cases that are not easily discernible without additional ++ knowledge, such as recognizing that in SVGSVGElement, the first two SVGs ++ are separate tokens, but WebGL is one token.""" ++ def __init__(self, name): ++ self.remaining = name ++ def tokenize(self): ++ name = self.remaining ++ tokens = [] ++ while len(name) > 0: ++ matched_token = None ++ for token in SPECIAL_TOKENS: ++ if name.startswith(token): ++ matched_token = token ++ break ++ if not matched_token: ++ match = re.search(MATCHING_EXPRESSION, name) ++ if not match: ++ matched_token = name ++ elif match.start(0) != 0: ++ matched_token = name[:match.start(0)] ++ else: ++ matched_token = match.group(0) ++ tokens.append(name[:len(matched_token)]) ++ name = name[len(matched_token):] ++ return tokens ++class NameStyleConverter(object): ++ """Converts names from camelCase to various other styles. ++ """ ++ def __init__(self, name): ++ self.tokens = self.tokenize(name) ++ def tokenize(self, name): ++ tokenizer = SmartTokenizer(name) ++ return tokenizer.tokenize() ++ def to_snake_case(self): ++ """Snake case is the file and variable name style per Google C++ Style ++ Guide: ++ https://google.github.io/styleguide/cppguide.html#Variable_Names ++ Also known as the hacker case. ++ https://en.wikipedia.org/wiki/Snake_case ++ """ ++ return '_'.join([token.lower() for token in self.tokens]) ++ def to_upper_camel_case(self): ++ """Upper-camel case is the class and function name style per ++ Google C++ Style Guide: ++ https://google.github.io/styleguide/cppguide.html#Function_Names ++ Also known as the PascalCase. ++ https://en.wikipedia.org/wiki/Camel_case. ++ """ ++ return ''.join([token[0].upper() + token[1:] for token in self.tokens]) ++ def to_macro_case(self): ++ """Macro case is the macro name style per Google C++ Style Guide: ++ https://google.github.io/styleguide/cppguide.html#Macro_Names ++ """ ++ return '_'.join([token.upper() for token in self.tokens]) ++ def to_all_cases(self): ++ return { ++ 'snake_case': self.to_snake_case(), ++ 'upper_camel_case': self.to_upper_camel_case(), ++ 'macro_case': self.to_macro_case(), ++ } +diff -up chromium-66.0.3359.117/third_party/blink/tools/blinkpy/common/name_style_converter_test.py.missing chromium-66.0.3359.117/third_party/blink/tools/blinkpy/common/name_style_converter_test.py +--- chromium-66.0.3359.117/third_party/blink/tools/blinkpy/common/name_style_converter_test.py.missing 2018-04-19 09:51:46.172723095 -0400 ++++ chromium-66.0.3359.117/third_party/blink/tools/blinkpy/common/name_style_converter_test.py 2018-04-19 09:51:46.173723075 -0400 +@@ -0,0 +1,140 @@ ++# Copyright 2017 The Chromium Authors. All rights reserved. ++# Use of this source code is governed by a BSD-style license that can be ++# found in the LICENSE file. ++# pylint: disable=import-error,print-statement,relative-import,protected-access ++"""Unit tests for name_style_converter.py.""" ++import unittest ++from name_style_converter import NameStyleConverter ++from name_style_converter import SmartTokenizer ++class SmartTokenizerTest(unittest.TestCase): ++ def test_simple_cases(self): ++ tokenizer = SmartTokenizer('foo') ++ self.assertEqual(tokenizer.tokenize(), ['foo']) ++ tokenizer = SmartTokenizer('fooBar') ++ self.assertEqual(tokenizer.tokenize(), ['foo', 'Bar']) ++ tokenizer = SmartTokenizer('fooBarBaz') ++ self.assertEqual(tokenizer.tokenize(), ['foo', 'Bar', 'Baz']) ++ tokenizer = SmartTokenizer('Baz') ++ self.assertEqual(tokenizer.tokenize(), ['Baz']) ++ tokenizer = SmartTokenizer('') ++ self.assertEqual(tokenizer.tokenize(), []) ++ tokenizer = SmartTokenizer('FOO') ++ self.assertEqual(tokenizer.tokenize(), ['FOO']) ++ tokenizer = SmartTokenizer('foo2') ++ self.assertEqual(tokenizer.tokenize(), ['foo', '2']) ++ def test_tricky_cases(self): ++ tokenizer = SmartTokenizer('XMLHttpRequest') ++ self.assertEqual(tokenizer.tokenize(), ['XML', 'Http', 'Request']) ++ tokenizer = SmartTokenizer('HTMLElement') ++ self.assertEqual(tokenizer.tokenize(), ['HTML', 'Element']) ++ tokenizer = SmartTokenizer('WebGLRenderingContext') ++ self.assertEqual(tokenizer.tokenize(), ++ ['WebGL', 'Rendering', 'Context']) ++ tokenizer = SmartTokenizer('CanvasRenderingContext2D') ++ self.assertEqual(tokenizer.tokenize(), ++ ['Canvas', 'Rendering', 'Context', '2D']) ++ tokenizer = SmartTokenizer('CanvasRenderingContext2DAPITest') ++ self.assertEqual(tokenizer.tokenize(), ++ ['Canvas', 'Rendering', 'Context', '2D', 'API', 'Test']) ++ tokenizer = SmartTokenizer('SVGSVGElement') ++ self.assertEqual(tokenizer.tokenize(), ['SVG', 'SVG', 'Element']) ++ tokenizer = SmartTokenizer('CanvasRenderingContext2D') ++ self.assertEqual(tokenizer.tokenize(), ['Canvas', 'Rendering', 'Context', '2D']) ++ tokenizer = SmartTokenizer('CSSURLImageValue') ++ self.assertEqual(tokenizer.tokenize(), ['CSS', 'URL', 'Image', 'Value']) ++ tokenizer = SmartTokenizer('CSSPropertyAPID') ++ self.assertEqual(tokenizer.tokenize(), ['CSS', 'Property', 'API', 'D']) ++ tokenizer = SmartTokenizer('AXARIAGridCell') ++ self.assertEqual(tokenizer.tokenize(), ['AX', 'ARIA', 'Grid', 'Cell']) ++ tokenizer = SmartTokenizer('CDATASection') ++ self.assertEqual(tokenizer.tokenize(), ['CDATA', 'Section']) ++ tokenizer = SmartTokenizer('ASCIICType') ++ self.assertEqual(tokenizer.tokenize(), ['ASCII', 'CType']) ++ tokenizer = SmartTokenizer('CString') ++ self.assertEqual(tokenizer.tokenize(), ['CString']) ++ tokenizer = SmartTokenizer('HTMLDListElement') ++ self.assertEqual(tokenizer.tokenize(), ['HTML', 'DList', 'Element']) ++ tokenizer = SmartTokenizer('HTMLOListElement') ++ self.assertEqual(tokenizer.tokenize(), ['HTML', 'OList', 'Element']) ++ tokenizer = SmartTokenizer('HTMLIFrameElement') ++ self.assertEqual(tokenizer.tokenize(), ['HTML', 'IFrame', 'Element']) ++ tokenizer = SmartTokenizer('HTMLPlugInElement') ++ self.assertEqual(tokenizer.tokenize(), ['HTML', 'PlugIn', 'Element']) ++ # No special handling for OptGroup, FieldSet, and TextArea. ++ tokenizer = SmartTokenizer('HTMLOptGroupElement') ++ self.assertEqual(tokenizer.tokenize(), ['HTML', 'Opt', 'Group', 'Element']) ++ tokenizer = SmartTokenizer('HTMLFieldSetElement') ++ self.assertEqual(tokenizer.tokenize(), ['HTML', 'Field', 'Set', 'Element']) ++ tokenizer = SmartTokenizer('HTMLTextAreaElement') ++ self.assertEqual(tokenizer.tokenize(), ['HTML', 'Text', 'Area', 'Element']) ++ tokenizer = SmartTokenizer('Path2D') ++ self.assertEqual(tokenizer.tokenize(), ['Path', '2D']) ++ tokenizer = SmartTokenizer('Point2D') ++ self.assertEqual(tokenizer.tokenize(), ['Point', '2D']) ++ tokenizer = SmartTokenizer('CanvasRenderingContext2DState') ++ self.assertEqual(tokenizer.tokenize(), ['Canvas', 'Rendering', 'Context', '2D', 'State']) ++ tokenizer = SmartTokenizer('RTCDTMFSender') ++ self.assertEqual(tokenizer.tokenize(), ['RTC', 'DTMF', 'Sender']) ++ tokenizer = SmartTokenizer('WebGLCompressedTextureS3TCsRGB') ++ self.assertEqual(tokenizer.tokenize(), ['WebGL', 'Compressed', 'Texture', 'S3TC', 'sRGB']) ++ tokenizer = SmartTokenizer('WebGL2CompressedTextureETC1') ++ self.assertEqual(tokenizer.tokenize(), ['WebGL2', 'Compressed', 'Texture', 'ETC1']) ++ tokenizer = SmartTokenizer('EXTsRGB') ++ self.assertEqual(tokenizer.tokenize(), ['EXT', 'sRGB']) ++ tokenizer = SmartTokenizer('SVGFEBlendElement') ++ self.assertEqual(tokenizer.tokenize(), ['SVG', 'FE', 'Blend', 'Element']) ++ tokenizer = SmartTokenizer('SVGMPathElement') ++ self.assertEqual(tokenizer.tokenize(), ['SVG', 'MPath', 'Element']) ++ tokenizer = SmartTokenizer('SVGTSpanElement') ++ self.assertEqual(tokenizer.tokenize(), ['SVG', 'TSpan', 'Element']) ++ tokenizer = SmartTokenizer('SVGURIReference') ++ self.assertEqual(tokenizer.tokenize(), ['SVG', 'URI', 'Reference']) ++ tokenizer = SmartTokenizer('UTF16TextIterator') ++ self.assertEqual(tokenizer.tokenize(), ['UTF16', 'Text', 'Iterator']) ++ tokenizer = SmartTokenizer('UTF8Decoder') ++ self.assertEqual(tokenizer.tokenize(), ['UTF8', 'Decoder']) ++ tokenizer = SmartTokenizer('Uint8Array') ++ self.assertEqual(tokenizer.tokenize(), ['Uint8', 'Array']) ++ tokenizer = SmartTokenizer('DOMWindowBase64') ++ self.assertEqual(tokenizer.tokenize(), ['DOM', 'Window', 'Base64']) ++ tokenizer = SmartTokenizer('TextCodecLatin1') ++ self.assertEqual(tokenizer.tokenize(), ['Text', 'Codec', 'Latin1']) ++ tokenizer = SmartTokenizer('V8BindingForCore') ++ self.assertEqual(tokenizer.tokenize(), ['V8', 'Binding', 'For', 'Core']) ++ tokenizer = SmartTokenizer('V8DOMRect') ++ self.assertEqual(tokenizer.tokenize(), ['V8', 'DOM', 'Rect']) ++ tokenizer = SmartTokenizer('V0InsertionPoint') ++ self.assertEqual(tokenizer.tokenize(), ['V0', 'Insertion', 'Point']) ++ tokenizer = SmartTokenizer('ShadowDOMV0Test') ++ self.assertEqual(tokenizer.tokenize(), ['Shadow', 'DOM', 'V0', 'Test']) ++ tokenizer = SmartTokenizer('ElementShadowV0') ++ self.assertEqual(tokenizer.tokenize(), ['Element', 'Shadow', 'V0']) ++ tokenizer = SmartTokenizer('StubChromeClientForSPv2') ++ self.assertEqual(tokenizer.tokenize(), ['Stub', 'Chrome', 'Client', 'For', 'SPv2']) ++ tokenizer = SmartTokenizer('SQLiteAuthorizer') ++ self.assertEqual(tokenizer.tokenize(), ['SQLite', 'Authorizer']) ++ tokenizer = SmartTokenizer('XPathEvaluator') ++ self.assertEqual(tokenizer.tokenize(), ['XPath', 'Evaluator']) ++ tokenizer = SmartTokenizer('IsXHTMLDocument') ++ self.assertEqual(tokenizer.tokenize(), ['Is', 'XHTML', 'Document']) ++ tokenizer = SmartTokenizer('Animation.idl') ++ self.assertEqual(tokenizer.tokenize(), ['Animation', '.idl']) ++class NameStyleConverterTest(unittest.TestCase): ++ def test_snake_case(self): ++ converter = NameStyleConverter('HTMLElement') ++ self.assertEqual(converter.to_snake_case(), 'html_element') ++ def test_upper_camel_case(self): ++ converter = NameStyleConverter('someSuperThing') ++ self.assertEqual(converter.to_upper_camel_case(), 'SomeSuperThing') ++ converter = NameStyleConverter('SVGElement') ++ self.assertEqual(converter.to_upper_camel_case(), 'SVGElement') ++ def test_macro_case(self): ++ converter = NameStyleConverter('WebGLBaz2D') ++ self.assertEqual(converter.to_macro_case(), 'WEBGL_BAZ_2D') ++ def test_all_cases(self): ++ converter = NameStyleConverter('SVGScriptElement') ++ self.assertEqual(converter.to_all_cases(), { ++ 'snake_case': 'svg_script_element', ++ 'upper_camel_case': 'SVGScriptElement', ++ 'macro_case': 'SVG_SCRIPT_ELEMENT', ++ }) +diff -up chromium-66.0.3359.117/third_party/blink/tools/blinkpy/__init__.py.missing chromium-66.0.3359.117/third_party/blink/tools/blinkpy/__init__.py +--- chromium-66.0.3359.117/third_party/blink/tools/blinkpy/__init__.py.missing 2018-04-19 11:34:40.621293007 -0400 ++++ chromium-66.0.3359.117/third_party/blink/tools/blinkpy/__init__.py 2018-04-19 11:34:34.440413163 -0400 +@@ -0,0 +1,3 @@ ++# Copyright 2017 The Chromium Authors. All rights reserved. ++# Use of this source code is governed by a BSD-style license that can be ++# found in the LICENSE file. diff --git a/chromium-66.0.3359.117-nounrar.patch b/chromium-66.0.3359.117-nounrar.patch new file mode 100644 index 0000000..67a517b --- /dev/null +++ b/chromium-66.0.3359.117-nounrar.patch @@ -0,0 +1,16 @@ +diff -up chromium-66.0.3359.117/chrome/services/file_util/public/cpp/BUILD.gn.nounrar chromium-66.0.3359.117/chrome/services/file_util/public/cpp/BUILD.gn +--- chromium-66.0.3359.117/chrome/services/file_util/public/cpp/BUILD.gn.nounrar 2018-04-25 12:17:13.858139109 -0400 ++++ chromium-66.0.3359.117/chrome/services/file_util/public/cpp/BUILD.gn 2018-04-25 12:19:53.639532053 -0400 +@@ -27,9 +27,9 @@ source_set("cpp") { + } + + #TODO(crbug/750327): This dependency is here temporarily. +- deps = [ +- "//third_party/unrar:unrar", +- ] ++ # deps = [ ++ # "//third_party/unrar:unrar", ++ # ] + + public_deps += [ "//chrome/common/safe_browsing" ] + } diff --git a/chromium-66.0.3359.117-system-clang.patch b/chromium-66.0.3359.117-system-clang.patch new file mode 100644 index 0000000..e90dc58 --- /dev/null +++ b/chromium-66.0.3359.117-system-clang.patch @@ -0,0 +1,12 @@ +diff -up chromium-66.0.3359.117/build/config/clang/clang.gni.system-clang chromium-66.0.3359.117/build/config/clang/clang.gni +--- chromium-66.0.3359.117/build/config/clang/clang.gni.system-clang 2018-04-18 12:08:45.658190297 -0400 ++++ chromium-66.0.3359.117/build/config/clang/clang.gni 2018-04-18 12:09:37.612032982 -0400 +@@ -4,7 +4,7 @@ + + import("//build/toolchain/toolchain.gni") + +-default_clang_base_path = "//third_party/llvm-build/Release+Asserts" ++default_clang_base_path = "/usr" + + declare_args() { + # Indicates if the build should use the Chrome-specific plugins for enforcing diff --git a/chromium.spec b/chromium.spec index 7da20e9..5a09534 100644 --- a/chromium.spec +++ b/chromium.spec @@ -30,7 +30,7 @@ # Requires is trickier. %global __provides_exclude_from %{chromium_path}/.*\\.so|%{chromium_path}/lib/.*\\.so -%global privlibs libaccessibility|libanimation|libaura_extra|libaura|libbase_i18n|libbase|libbindings|libblink_android_mojo_bindings_shared|libblink_common|libblink_controller|libblink_core_mojo_bindings_shared|libblink_core|libblink_modules|libblink_mojo_bindings_shared|libblink_offscreen_canvas_mojo_bindings_shared|libblink_platform|libbluetooth|libboringssl|libbrowser_ui_views|libcaptive_portal|libcapture_base|libcapture_lib|libcbor|libcc_animation|libcc_base|libcc_blink|libcc_debug|libcc_ipc|libcc_paint|libcc|libcdm_manager|libchromium_sqlite3|libclearkeycdm|libclient|libcloud_policy_proto_generated_compile|libcodec|libcolor_space|libcommon|libcompositor|libcontent_common_mojo_bindings_shared|libcontent_public_common_mojo_bindings_shared|libcontent|libcpp|libcrash_key|libcrcrypto|libdbus|libdevice_base|libdevice_event_log|libdevice_features|libdevice_gamepad|libdevices|libdevice_vr_mojo_bindings_blink|libdevice_vr_mojo_bindings_shared|libdevice_vr_mojo_bindings|libdevice_vr|libdiscardable_memory_client|libdiscardable_memory_common|libdiscardable_memory_service|libdisplay|libdisplay_types|libdisplay_util|libdomain_reliability|libEGL|libembedder|libembedder_switches|libevents_base|libevents_devices_x11|libevents_ozone_layout|libevents|libevents_x|libffmpeg|libfingerprint|libfontconfig|libfreetype_harfbuzz|libgcm|libgeolocation|libgeometry_skia|libgeometry|libgesture_detection|libgfx_ipc_buffer_types|libgfx_ipc_color|libgfx_ipc_geometry|libgfx_ipc_skia|libgfx_ipc|libgfx|libgfx_switches|libgfx_x11|libgin|libgles2_c_lib|libgles2_implementation|libgles2|libgles2_utils|libGLESv2|libgl_init|libgl_in_process_context|libgl_wrapper|libgpu_ipc_service|libgpu|libgpu_util|libgtk3ui|libheadless|libhost|libicui18n|libicuuc|libipc_mojom_shared|libipc_mojom|libipc|libkeyboard|libkeyboard_with_content|libkeycodes_x11|libkeyed_service_content|libkeyed_service_core|libleveldatabase|libmanager|libmedia_blink|libmedia_devices_mojo_bindings_shared|libmedia_gpu|libmedia_mojo_services|libmedia|libmessage_center|libmessage_support|libmetrics_cpp|libmidi|libmojo_base_lib|libmojo_base_mojom_blink|libmojo_base_mojom_shared|libmojo_base_mojom|libmojo_base_shared_typemap_traits|libmojo_bindings_shared|libmojo_common_lib|libmojo_ime_lib|libmojo_platform_bindings_shared|libmojo_public_system_cpp|libmojo_public_system|libmojo_system_impl|libnative_theme|libnet|libnet_with_v8|libnetwork_session_configurator|libonc|libplatform|libpolicy_component|libpolicy_proto|libppapi_host|libppapi_proxy|libppapi_shared|libprefs|libprinting|libprotobuf_lite|libproxy_config|librange|libresource_coordinator_cpp_base|libresource_coordinator_cpp|libresource_coordinator_public_interfaces_blink|libresource_coordinator_public_interfaces_shared|libresource_coordinator_public_interfaces|libsandbox_services|libsandbox|libseccomp_bpf|libsensors|libservice_manager_cpp|libservice_manager_cpp_types|libservice_manager_mojom_blink|libservice_manager_mojom_constants_blink|libservice_manager_mojom_constants_shared|libservice_manager_mojom_constants|libservice_manager_mojom_shared|libservice_manager_mojom|libservice|libsessions|libshared_memory_support|libshell_dialogs|libskia|libsnapshot|libsql|libstartup_tracing|libstorage_browser|libstorage_common|libstub_window|libsuid_sandbox_client|libsurface|libtracing|libui_base_ime|libui_base|libui_base_x|libui_data_pack|libui_devtools|libui_touch_selection|libui_views_mus_lib|liburl_ipc|liburl_matcher|liburl|libuser_manager|libuser_prefs|libv8_libbase|libv8_libplatform|libv8|libviews|libviz_common|libviz_resource_format|libVkLayer_core_validation|libVkLayer_object_tracker|libVkLayer_parameter_validation|libVkLayer_threading|libVkLayer_unique_objects|libwebdata_common|libweb_dialogs|libwebview|libwidevinecdmadapter|libwidevinecdm|libwm_public|libwm|libwtf|libx11_events_platform|libx11_window +%global privlibs libaccessibility|libanimation|libaura_extra|libaura|libbase_i18n|libbase|libbindings_base|libbindings|libblink_android_mojo_bindings_shared|libblink_common|libblink_controller|libblink_core_mojo_bindings_shared|libblink_core|libblink_modules|libblink_mojo_bindings_shared|libblink_offscreen_canvas_mojo_bindings_shared|libblink_platform|libbluetooth|libboringssl|libbrowser_ui_views|libcaptive_portal|libcapture_base|libcapture_lib|libcbor|libcc_animation|libcc_base|libcc_blink|libcc_debug|libcc_ipc|libcc_paint|libcc|libcdm_manager|libchromium_sqlite3|libclearkeycdm|libclient|libcloud_policy_proto_generated_compile|libcodec|libcolor_space|libcommon|libcompositor|libcontent_common_mojo_bindings_shared|libcontent_public_common_mojo_bindings_shared|libcontent|libcrash_key|libcrcrypto|libdbus|libdevice_base|libdevice_event_log|libdevice_features|libdevice_gamepad|libdevices|libdevice_vr_mojo_bindings_blink|libdevice_vr_mojo_bindings_shared|libdevice_vr_mojo_bindings|libdevice_vr|libdiscardable_memory_client|libdiscardable_memory_common|libdiscardable_memory_service|libdisplay|libdisplay_types|libdisplay_util|libdomain_reliability|libEGL|libembedder|libembedder_switches|libevents_base|libevents_devices_x11|libevents_ozone_layout|libevents|libevents_x|libffmpeg|libfingerprint|libfreetype_harfbuzz|libgcm|libgeolocation|libgeometry_skia|libgeometry|libgesture_detection|libgfx_ipc_buffer_types|libgfx_ipc_color|libgfx_ipc_geometry|libgfx_ipc_skia|libgfx_ipc|libgfx|libgfx_switches|libgfx_x11|libgin|libgles2_implementation|libgles2|libgles2_utils|libGLESv2|libgl_init|libgl_in_process_context|libgl_wrapper|libgpu_ipc_service|libgpu|libgpu_util|libgtk3ui|libheadless|libhost|libicui18n|libicuuc|libinterfaces_shared|libipc_mojom_shared|libipc_mojom|libipc|libkeyboard|libkeyboard_with_content|libkeycodes_x11|libkeyed_service_content|libkeyed_service_core|libleveldatabase|libmanager|libmedia_blink|libmedia_devices_mojo_bindings_shared|libmedia_gpu|libmedia_mojo_services|libmedia|libmessage_center|libmessage_support|libmetrics_cpp|libmidi|libmojo_base_lib|libmojo_base_mojom_blink|libmojo_base_mojom_shared|libmojo_base_mojom|libmojo_base_shared_typemap_traits|libmojo_common_lib|libmojo_ime_lib|libmojo_mojom_bindings_shared|libmojo_mojom_bindings|libmojom_platform_shared|libmojom_shared|libmojo_public_system_cpp|libmojo_public_system|libmojo_system_impl|libnative_theme|libnet|libnet_with_v8|libnetwork_cpp_base|libnetwork_cpp|libnetwork_service|libnetwork_session_configurator|libonc|libplatform|libpolicy_component|libpolicy_proto|libppapi_host|libppapi_proxy|libppapi_shared|libprefs|libprinting|libprotobuf_lite|libproxy_config|libpublic|librange|libraster|libresource_coordinator_cpp_base|libresource_coordinator_cpp|libresource_coordinator_public_mojom_blink|libresource_coordinator_public_mojom_shared|libresource_coordinator_public_mojom|libsandbox_services|libsandbox|libseccomp_bpf|libservice_manager_cpp|libservice_manager_cpp_types|libservice_manager_mojom_blink|libservice_manager_mojom_constants_blink|libservice_manager_mojom_constants_shared|libservice_manager_mojom_constants|libservice_manager_mojom_shared|libservice_manager_mojom|libservice|libsessions|libshared_memory_support|libshell_dialogs|libskia|libsnapshot|libsql|libstartup_tracing|libstorage_browser|libstorage_common|libstub_window|libsuid_sandbox_client|libsurface|libtracing_cpp|libtracing_mojom_shared|libtracing_mojom|libtracing|libui_base_ime|libui_base|libui_base_x|libui_data_pack|libui_devtools|libui_message_center_cpp|libui_touch_selection|libui_views_mus_lib|liburl_ipc|liburl_matcher|liburl|libuser_manager|libuser_prefs|libv8_libbase|libv8_libplatform|libv8|libviews|libviz_common|libviz_resource_format|libVkLayer_core_validation|libVkLayer_object_tracker|libVkLayer_parameter_validation|libVkLayer_threading|libVkLayer_unique_objects|libwebdata_common|libweb_dialogs|libwebview|libwidevinecdmadapter|libwidevinecdm|libwm_public|libwm|libwtf|libx11_events_platform|libx11_window %global __requires_exclude ^(%{privlibs})\\.so # If we build with shared on, then chrome-remote-desktop depends on chromium libs. @@ -128,15 +128,15 @@ BuildRequires: libicu-devel >= 5.4 %global chromoting_client_id %nil %endif -%global majorversion 65 +%global majorversion 66 %if %{freeworld} Name: chromium%{chromium_channel}%{?freeworld:-freeworld} %else Name: chromium%{chromium_channel} %endif -Version: %{majorversion}.0.3325.181 -Release: 3%{?dist} +Version: %{majorversion}.0.3359.139 +Release: 1%{?dist} Summary: A WebKit (Blink) powered web browser Url: http://www.chromium.org/Home License: BSD and LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and OpenSSL and (MPLv1.1 or GPLv2 or LGPLv2) @@ -195,7 +195,7 @@ Patch36: chromium-58.0.3029.96-revert-b794998819088f76b4cf44c8db6940240c563cf4.p # Correctly compile the stdatomic.h in ffmpeg with gcc 4.8 Patch37: chromium-64.0.3282.119-ffmpeg-stdatomic.patch # Nacl can't die soon enough -Patch39: chromium-59.0.3071.86-system-clang.patch +Patch39: chromium-66.0.3359.117-system-clang.patch # Do not prefix libpng functions Patch42: chromium-60.0.3112.78-no-libpng-prefix.patch # Do not mangle libjpeg @@ -213,54 +213,35 @@ Patch53: chromium-61.0.3163.79-gcc-no-opt-safe-math.patch # Only needed when glibc 2.26.90 or later is used Patch57: chromium-63.0.3289.84-aarch64-glibc-2.26.90.patch # From gentoo -Patch62: chromium-65.0.3325.146-gcc5-r3.patch +Patch62: chromium-66.0.3359.117-gcc5-r3.patch # Do not try to use libc++ in the remoting stack Patch63: chromium-63.0.3289.84-nolibc++.patch # To use round with gcc, you need to #include Patch65: chromium-65.0.3325.146-gcc-round-fix.patch # Include proper headers to invoke memcpy() Patch67: chromium-65.0.3325.146-memcpy-fix.patch -# Work around gcc8 bug in gn -Patch68: chromium-64.0.3282.167-gcc8-fabi11.patch -# From Gentoo -Patch69: chromium-math.h-r0.patch -Patch70: chromium-stdint.patch -# Workaround https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80654 -# crbug.com/784732#27 -# https://chromium-review.googlesource.com/c/chromium/src/+/927942 -Patch71: chromium-65.0.3325.146-workaround-gcc7-is_trivially_copy_constructable-failure.patch -# And https://bugs.chromium.org/p/chromium/issues/detail?id=816952 -Patch72: chromium-65.0.3325.146-wtf-vector-fix.patch -# https://github.com/lgsvl/meta-lgsvl-browser/blob/ac93e7622be66946c76504be6a1db8d644ae1e43/recipes-browser/chromium/files/0001-GCC-build-fix-base-Optional-T-requires-the-full-decl.patch -Patch73: chromium-65.0.3325.146-GCC-build-fix-base-Optional-T-requires-the-full-decl.patch -# https://github.com/lgsvl/meta-lgsvl-browser/blob/ac93e7622be66946c76504be6a1db8d644ae1e43/recipes-browser/chromium/files/0001-wtf-oilpan-Remove-GC-checks-from-WTF-Optional-T.patch -Patch74: chromium-65.0.3325.146-wtf-oilpan-Remove-GC-checks-from-WTF-Optional-T.patch -# https://github.com/lgsvl/meta-lgsvl-browser/blob/ac93e7622be66946c76504be6a1db8d644ae1e43/recipes-browser/chromium/files/0001-Fix-non-copyable-class-s-optional-move.patch -Patch75: chromium-65.0.3325.146-Fix-non-copyable-class-s-optional-move.patch -# https://github.com/lgsvl/meta-lgsvl-browser/blob/ac93e7622be66946c76504be6a1db8d644ae1e43/recipes-browser/chromium/files/0001-Use-affirmative-expression-in-base-Optional.patch -Patch76: chromium-65.0.3325.146-Use-affirmative-expression-in-base-Optional.patch -# https://github.com/lgsvl/meta-lgsvl-browser/blob/ac93e7622be66946c76504be6a1db8d644ae1e43/recipes-browser/chromium/files/0001-Implement-conditional-copy-move-ctors-assign-operato.patch -Patch77: chromium-65.0.3325.146-Implement-conditional-copy-move-ctors-assign-operato.patch -# https://github.com/lgsvl/meta-lgsvl-browser/blob/ac93e7622be66946c76504be6a1db8d644ae1e43/recipes-browser/chromium/files/0001-Implement-converting-constructors-from-Optional-U.patch -Patch78: chromium-65.0.3325.146-Implement-converting-constructors-from-Optional-U.patch -# https://github.com/lgsvl/meta-lgsvl-browser/blob/ac93e7622be66946c76504be6a1db8d644ae1e43/recipes-browser/chromium/files/0001-Implement-value-forward-constructor.patch -Patch79: chromium-65.0.3325.146-Implement-value-forward-constructor.patch -# https://github.com/lgsvl/meta-lgsvl-browser/blob/ac93e7622be66946c76504be6a1db8d644ae1e43/recipes-browser/chromium/files/0001-Update-non-copy-non-move-assign-operators.patch -Patch80: chromium-65.0.3325.146-Update-non-copy-non-move-assign-operators.patch -# https://github.com/lgsvl/meta-lgsvl-browser/blob/ac93e7622be66946c76504be6a1db8d644ae1e43/recipes-browser/chromium/files/0001-GCC-PlaybackImageProvider-Settings-do-not-provide-co.patch -Patch81: chromium-65.0.3325.146-GCC-PlaybackImageProvider-Settings-do-not-provide-co.patch -# https://github.com/lgsvl/meta-lgsvl-browser/blob/ac93e7622be66946c76504be6a1db8d644ae1e43/recipes-browser/chromium/files/0001-GCC-explicitely-std-move-to-base-Optional-instead-of.patch -Patch82: chromium-65.0.3325.146-GCC-explicitely-std-move-to-base-Optional-instead-of.patch -# https://github.com/lgsvl/meta-lgsvl-browser/blob/ac93e7622be66946c76504be6a1db8d644ae1e43/recipes-browser/chromium/files/0001-GCC-IDB-methods-String-renamed-to-GetString.patch -Patch83: chromium-65.0.3325.146-GCC-IDB-methods-String-renamed-to-GetString.patch -# https://github.com/lgsvl/meta-lgsvl-browser/blob/ac93e7622be66946c76504be6a1db8d644ae1e43/recipes-browser/chromium/files/0001-GCC-fully-declare-ConfigurationPolicyProvider.patch -Patch84: chromium-65.0.3325.146-GCC-fully-declare-ConfigurationPolicyProvider.patch # ../../mojo/public/cpp/bindings/associated_interface_ptr_info.h:48:43: error: cannot convert 'const mojo::ScopedInterfaceEndpointHandle' to 'bool' in return Patch85: chromium-65.0.3325.162-boolfix.patch # From Debian Patch86: chromium-65.0.3325.162-skia-aarch64-buildfix.patch # Use lstdc++ on EPEL7 only Patch87: chromium-65.0.3325.162-epel7-stdc++.patch +# Missing files in tarball +Patch88: chromium-66.0.3359.117-missing-files.patch +# https://chromium.googlesource.com/chromium/src/+/ba4141e451f4e0b1b19410b1b503bd32e150df06%5E%21/#F0 +Patch89: chromium-66.0.3359.117-gcc-optional-move-fixes.patch +# https://chromium.googlesource.com/chromium/src/+/4f2b52281ce1649ea8347489443965ad33262ecc%5E%21 +Patch90: chromium-66.0.3359.117-gcc-copy-constructor-fix.patch +# https://bugs.chromium.org/p/chromium/issues/detail?id=816952 +Patch91: chromium-66.0.3359.117-gcc-vector-copy-constructor-fix.patch +# Do not use unrar code, it is non-free +Patch92: chromium-66.0.3359.117-nounrar.patch +# Upstream GCC fixes +Patch93: chromium-66.0.3359.117-GCC-build-fix-base-Optional-T-requires-the-full-decl.patch +Patch94: chromium-66.0.3359.117-GCC-fully-declare-ConfigurationPolicyProvider.patch +Patch95: chromium-65.0.3325.146-GCC-IDB-methods-String-renamed-to-GetString.patch +# https://github.com/archlinuxarm/PKGBUILDs/blob/master/extra/chromium/0006-GCC-do-not-use-initializer-list-for-NoDestructor-of-.patch +Patch96: chromium-66.0.3359.117-GCC-do-not-use-initializer-list-for-NoDestructor-of-.patch # Use chromium-latest.py to generate clean tarball from released build tarballs, found here: # http://build.chromium.org/buildbot/official/ @@ -561,7 +542,6 @@ Provides: bundled(libudis86) = 1.7.1 Provides: bundled(mesa) = 9.0.3 Provides: bundled(NSBezierPath) = 1.0 Provides: bundled(mozc) -Provides: bundled(mt19937ar) = 2002.1.26 %if %{bundleopus} Provides: bundled(opus) = 1.1.3 %endif @@ -729,28 +709,20 @@ udev. %patch63 -p1 -b .nolibc++ %patch65 -p1 -b .gcc-round-fix %patch67 -p1 -b .memcpyfix -%patch68 -p1 -b .fabi11 -%patch69 -p1 -b .gentoo-math -%patch70 -p1 -b .gentoo-stdint -%patch71 -p1 -b .gcc7-itcc -%patch72 -p1 -b .wtf-fix -%patch73 -p1 -b .fulldecl -%patch74 -p1 -b .oilpan -%patch75 -p1 -b .noncopyable -%patch76 -p1 -b .affirmative -%patch77 -p1 -b .conditional -%patch78 -p1 -b .converting -%patch79 -p1 -b .vforward -%patch80 -p1 -b .ncnm -%patch81 -p1 -b .pipcc -%patch82 -p1 -b .explicit-std-move -%patch83 -p1 -b .GetString -%patch84 -p1 -b .fully-declare %patch85 -p1 -b .boolfix %patch86 -p1 -b .aarch64fix %if 0%{?rhel} == 7 %patch87 -p1 -b .epel7 %endif +%patch88 -p1 -b .missing +%patch89 -p1 -b .gccomove +%patch90 -p1 -b .copycon +%patch91 -p1 -b .944404 +%patch92 -p1 -b .nounrar +%patch93 -p1 -b .gcc-full-decl +%patch94 -p1 -b .gcc-cpolicyprovider +%patch95 -p1 -b .gcc-getstring +%patch96 -p1 -b .flatsetfix # Change shebang in all relevant files in this directory and all subdirectories # See `man find` for how the `-exec command {} +` syntax works @@ -942,6 +914,10 @@ build/linux/unbundle/remove_bundled_libraries.py \ 'third_party/angle/src/third_party/compiler' \ 'third_party/angle/src/third_party/libXNVCtrl' \ 'third_party/angle/src/third_party/trace_event' \ + 'third_party/angle/third_party/glslang' \ + 'third_party/angle/third_party/spirv-headers' \ + 'third_party/angle/third_party/spirv-tools' \ + 'third_party/angle/third_party/vulkan-validation-layers' \ 'third_party/blanketjs' \ 'third_party/blink' \ 'third_party/boringssl' \ @@ -991,6 +967,7 @@ build/linux/unbundle/remove_bundled_libraries.py \ 'third_party/libXNVCtrl' \ 'third_party/libaddressinput' \ 'third_party/libaom' \ + 'third_party/libaom/source/libaom/third_party/x86inc' \ 'third_party/libdrm' \ 'third_party/libjingle' \ 'third_party/libjpeg_turbo' \ @@ -1019,7 +996,6 @@ build/linux/unbundle/remove_bundled_libraries.py \ 'third_party/mesa' \ 'third_party/metrics_proto' \ 'third_party/modp_b64' \ - 'third_party/mt19937ar' \ 'third_party/node' \ 'third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2' \ %if %{freeworld} @@ -1032,12 +1008,12 @@ build/linux/unbundle/remove_bundled_libraries.py \ 'third_party/pdfium/third_party/agg23' \ 'third_party/pdfium/third_party/base' \ 'third_party/pdfium/third_party/bigint' \ - 'third_party/pdfium/third_party/build' \ 'third_party/pdfium/third_party/freetype' \ 'third_party/pdfium/third_party/lcms' \ 'third_party/pdfium/third_party/libopenjpeg20' \ 'third_party/pdfium/third_party/libpng16' \ 'third_party/pdfium/third_party/libtiff' \ + 'third_party/pdfium/third_party/skia_shared' \ 'third_party/ply' \ 'third_party/polymer' \ 'third_party/protobuf' \ @@ -1523,7 +1499,7 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %files common %{chromium_path}/headless_lib.pak -%{chromium_path}/mus_app_resources_*.pak +# %%{chromium_path}/mus_app_resources_*.pak %{chromium_path}/pyproto/ %{chromium_path}/resources/ %dir %{chromium_path}/locales/ @@ -1637,6 +1613,12 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %changelog +* Tue May 1 2018 Tom Callaway 66.0.3359.139-1 +- update to 66.0.3359.139 + +* Wed Apr 18 2018 Tom Callaway 66.0.3359.117-1 +- update to 66.0.3359.117 + * Tue Apr 17 2018 Tom Callaway 65.0.3325.181-3 - use system fontconfig (except on epel7) diff --git a/sources b/sources index 17667f6..e027f4c 100644 --- a/sources +++ b/sources @@ -1,2 +1,3 @@ SHA512 (depot_tools.git-master.tar.gz) = d3d6a1873b2b0296a8cd99e0d8d2e629a17b1808934b4972556168f8b4ccea60577ebaeab4445baf15afb1b04080808db59a832a5b61d247bd48da14fa6acf03 SHA512 (chromium-65.0.3325.181-clean.tar.xz) = 12a0bb9e367c628c0db80503f6b0570b5ba95fc766c7a782dc7a98290d3b6c13aa5a3f91c4874e98287ca2fafb41af5db34fb951d06594b369baf29c98ed2846 +SHA512 (chromium-66.0.3359.139-clean.tar.xz) = 580ec80e3300d356e83407e3d663d0a1f4d5963c6ef6baa7870883bfa3340c3684dfa7bf3cc25e1ab95afb4084b15f7cc08ce555cbb5298422fa4ae790d06735