aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTing-Wei Lan <lantw44@gmail.com>2017-10-19 14:36:46 +0800
committerTing-Wei Lan <lantw44@gmail.com>2017-10-22 01:43:04 +0800
commit6a2dd2ebb70b269857910df28385458b2aa8ae65 (patch)
treee0427b1bd4d7e31903f95ce1572078a24407cfcd
parent6a1f1408a96274375fdf0b28d0974e1270054477 (diff)
downloadcopr-rpm-spec-6a2dd2ebb70b269857910df28385458b2aa8ae65.tar
copr-rpm-spec-6a2dd2ebb70b269857910df28385458b2aa8ae65.tar.gz
copr-rpm-spec-6a2dd2ebb70b269857910df28385458b2aa8ae65.tar.bz2
copr-rpm-spec-6a2dd2ebb70b269857910df28385458b2aa8ae65.tar.lz
copr-rpm-spec-6a2dd2ebb70b269857910df28385458b2aa8ae65.tar.xz
copr-rpm-spec-6a2dd2ebb70b269857910df28385458b2aa8ae65.tar.zst
copr-rpm-spec-6a2dd2ebb70b269857910df28385458b2aa8ae65.zip
chromium: Chromium 61.0.3163.100 -> 62.0.3202.62
-rw-r--r--chromium/chromium/chromium-atk.patch11
-rw-r--r--chromium/chromium/chromium-blink-gcc7.patch11
-rw-r--r--chromium/chromium/chromium-crc32c-disable-c++17.patch20
-rw-r--r--chromium/chromium/chromium-gn-bootstrap.patch87
-rw-r--r--chromium/chromium/chromium-use-no-delete-null-pointer-checks-with-gcc.patch17
-rw-r--r--chromium/chromium/chromium.spec57
6 files changed, 117 insertions, 86 deletions
diff --git a/chromium/chromium/chromium-atk.patch b/chromium/chromium/chromium-atk.patch
deleted file mode 100644
index 32fa299..0000000
--- a/chromium/chromium/chromium-atk.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/content/browser/accessibility/browser_accessibility_auralinux.cc.orig 2017-07-27 06:28:01.090257874 +0000
-+++ b/content/browser/accessibility/browser_accessibility_auralinux.cc 2017-07-27 06:28:21.174653680 +0000
-@@ -571,7 +571,7 @@
- // it's best to leave this out rather than break people's builds:
- #if defined(ATK_CHECK_VERSION)
- #if ATK_CHECK_VERSION(2, 16, 0)
-- atk_state_set_add_state(atk_state_set, ATK_STATE_READ_ONLY);
-+ atk_state_set_add_state(state_set, ATK_STATE_READ_ONLY);
- #endif
- #endif
- break;
diff --git a/chromium/chromium/chromium-blink-gcc7.patch b/chromium/chromium/chromium-blink-gcc7.patch
deleted file mode 100644
index d1ce8b3..0000000
--- a/chromium/chromium/chromium-blink-gcc7.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -up chromium-59.0.3071.86/third_party/WebKit/Source/platform/graphics/gpu/SharedGpuContext.h.gcc7 chromium-59.0.3071.86/third_party/WebKit/Source/platform/graphics/gpu/SharedGpuContext.h
---- chromium-59.0.3071.86/third_party/WebKit/Source/platform/graphics/gpu/SharedGpuContext.h.gcc7 2017-06-07 13:32:41.198087899 +0800
-+++ chromium-59.0.3071.86/third_party/WebKit/Source/platform/graphics/gpu/SharedGpuContext.h 2017-06-07 13:32:57.325018359 +0800
-@@ -5,6 +5,7 @@
- #include "platform/PlatformExport.h"
- #include "platform/wtf/ThreadSpecific.h"
-
-+#include <functional>
- #include <memory>
-
- namespace gpu {
diff --git a/chromium/chromium/chromium-crc32c-disable-c++17.patch b/chromium/chromium/chromium-crc32c-disable-c++17.patch
new file mode 100644
index 0000000..fca97fb
--- /dev/null
+++ b/chromium/chromium/chromium-crc32c-disable-c++17.patch
@@ -0,0 +1,20 @@
+--- chromium-62.0.3202.62/third_party/crc32c/src/include/crc32c/crc32c.h.orig 2017-10-18 03:12:35.000000000 +0800
++++ chromium-62.0.3202.62/third_party/crc32c/src/include/crc32c/crc32c.h 2017-10-18 20:08:46.105613847 +0800
+@@ -37,7 +37,7 @@
+ #if __has_include(<string_view>)
+ // Visual Studio provides a <string_view> header even in C++11 mode. When
+ // included, the header issues an #error. (C1189)
+-#if !defined(_MSC_VER) || __cplusplus >= 201703L
++#if __cplusplus >= 201703L
+ #include <string_view>
+
+ // Comptues the CRC32C of the bytes in the string_view.
+@@ -46,7 +46,7 @@
+ string_view.size());
+ }
+
+-#endif // !defined(_MSC_VER) || __cplusplus >= 201703L
++#endif // __cplusplus >= 201703L
+ #endif // __has_include(<string_view>)
+ #endif // defined(__has_include)
+
diff --git a/chromium/chromium/chromium-gn-bootstrap.patch b/chromium/chromium/chromium-gn-bootstrap.patch
index 3c44c85..6cfd08d 100644
--- a/chromium/chromium/chromium-gn-bootstrap.patch
+++ b/chromium/chromium/chromium-gn-bootstrap.patch
@@ -1,27 +1,68 @@
-commit 96c271f8ab2be7ea4199078ea65ac50c6ada4685
-Author: Pawel Hajdan, Jr <phajdan.jr@chromium.org>
-Date: Wed Jul 26 21:51:54 2017 +0000
-
- wip
-
-diff --git a/tools/gn/bootstrap/bootstrap.py b/tools/gn/bootstrap/bootstrap.py
-index 1390560f8e37..ff2ae57c46b0 100755
--- a/tools/gn/bootstrap/bootstrap.py
+++ b/tools/gn/bootstrap/bootstrap.py
-@@ -449,6 +449,7 @@ def write_gn_ninja(path, root_gen_dir, options):
+@@ -179,6 +179,7 @@ def build_gn_with_ninja_manually(tempdir, options):
+
+ write_buildflag_header_manually(root_gen_dir, 'base/debug/debugging_flags.h',
+ {
++ 'ENABLE_LOCATION_SOURCE': 'false',
+ 'ENABLE_PROFILING': 'false',
+ 'CAN_UNWIND_WITH_FRAME_POINTERS': 'false'
+ })
+@@ -204,7 +205,7 @@ def build_gn_with_ninja_manually(tempdir, options):
+
+ write_gn_ninja(os.path.join(tempdir, 'build.ninja'),
+ root_gen_dir, options)
+- cmd = ['ninja', '-C', tempdir]
++ cmd = ['ninja', '-C', tempdir, '-w', 'dupbuild=err']
+ if options.verbose:
+ cmd.append('-v')
+
+@@ -458,6 +459,7 @@ def write_gn_ninja(path, root_gen_dir, options):
+ 'base/metrics/bucket_ranges.cc',
+ 'base/metrics/field_trial.cc',
+ 'base/metrics/field_trial_param_associator.cc',
++ 'base/metrics/field_trial_params.cc',
+ 'base/metrics/histogram.cc',
'base/metrics/histogram_base.cc',
'base/metrics/histogram_functions.cc',
- 'base/metrics/histogram_samples.cc',
-+ 'base/metrics/histogram_snapshot_manager.cc',
- 'base/metrics/metrics_hashes.cc',
- 'base/metrics/persistent_histogram_allocator.cc',
- 'base/metrics/persistent_memory_allocator.cc',
-@@ -534,7 +535,7 @@ def write_gn_ninja(path, root_gen_dir, options):
- 'base/trace_event/heap_profiler_allocation_context_tracker.cc',
- 'base/trace_event/heap_profiler_allocation_register.cc',
- 'base/trace_event/heap_profiler_event_filter.cc',
-- 'base/trace_event/heap_profiler_event_writer.cc',
-+ 'base/trace_event/heap_profiler_heap_dump_writer.cc',
- 'base/trace_event/heap_profiler_serialization_state.cc',
- 'base/trace_event/heap_profiler_stack_frame_deduplicator.cc',
- 'base/trace_event/heap_profiler_type_name_deduplicator.cc',
+@@ -507,6 +509,7 @@ def write_gn_ninja(path, root_gen_dir, options):
+ 'base/task_scheduler/scheduler_lock_impl.cc',
+ 'base/task_scheduler/scheduler_single_thread_task_runner_manager.cc',
+ 'base/task_scheduler/scheduler_worker.cc',
++ 'base/task_scheduler/scheduler_worker_pool.cc',
+ 'base/task_scheduler/scheduler_worker_pool_impl.cc',
+ 'base/task_scheduler/scheduler_worker_pool_params.cc',
+ 'base/task_scheduler/scheduler_worker_stack.cc',
+@@ -523,6 +526,7 @@ def write_gn_ninja(path, root_gen_dir, options):
+ 'base/third_party/icu/icu_utf.cc',
+ 'base/third_party/nspr/prtime.cc',
+ 'base/threading/post_task_and_reply_impl.cc',
++ 'base/threading/scoped_blocking_call.cc',
+ 'base/threading/sequence_local_storage_map.cc',
+ 'base/threading/sequenced_task_runner_handle.cc',
+ 'base/threading/sequenced_worker_pool.cc',
+@@ -579,7 +583,6 @@ def write_gn_ninja(path, root_gen_dir, options):
+ 'base/unguessable_token.cc',
+ 'base/value_iterators.cc',
+ 'base/values.cc',
+- 'base/value_iterators.cc',
+ 'base/vlog.cc',
+ ])
+
+@@ -652,7 +655,6 @@ def write_gn_ninja(path, root_gen_dir, options):
+ static_libraries['base']['sources'].extend([
+ 'base/memory/shared_memory_handle_posix.cc',
+ 'base/memory/shared_memory_posix.cc',
+- 'base/memory/shared_memory_tracker.cc',
+ 'base/nix/xdg_util.cc',
+ 'base/process/internal_linux.cc',
+ 'base/process/memory_linux.cc',
+@@ -827,7 +829,7 @@ def build_gn_with_gn(temp_gn, build_dir, options):
+ cmd = [temp_gn, 'gen', build_dir, '--args=%s' % gn_gen_args]
+ check_call(cmd)
+
+- cmd = ['ninja', '-C', build_dir]
++ cmd = ['ninja', '-C', build_dir, '-w', 'dupbuild=err']
+ if options.verbose:
+ cmd.append('-v')
+ cmd.append('gn')
diff --git a/chromium/chromium/chromium-use-no-delete-null-pointer-checks-with-gcc.patch b/chromium/chromium/chromium-use-no-delete-null-pointer-checks-with-gcc.patch
deleted file mode 100644
index 2b5abed..0000000
--- a/chromium/chromium/chromium-use-no-delete-null-pointer-checks-with-gcc.patch
+++ /dev/null
@@ -1,17 +0,0 @@
---- a/build/config/compiler/BUILD.gn 2016-10-13 03:02:53.000000000 +0800
-+++ b/build/config/compiler/BUILD.gn 2016-10-19 22:00:03.528903842 +0800
-@@ -228,6 +228,14 @@
- defines += [ "CR_CLANG_REVISION=\"$clang_revision\"" ]
- }
-
-+ if (!is_win && !is_clang) {
-+ # GCC 6+ can optimize away pointer comparisons to null. This is
-+ # problematic as V8 encodes Values through tagged pointers and comparisons
-+ # with 0 are actually necessary in many cases. As a temporary Workaround
-+ # we disable this optimization. See: https://crbug.com/v8/3782
-+ cflags += [ "-fno-delete-null-pointer-checks" ]
-+ }
-+
- # Non-Mac Posix compiler flags setup.
- # -----------------------------------
- if (is_posix && !(is_mac || is_ios)) {
diff --git a/chromium/chromium/chromium.spec b/chromium/chromium/chromium.spec
index 76ef342..a1cee71 100644
--- a/chromium/chromium/chromium.spec
+++ b/chromium/chromium/chromium.spec
@@ -32,7 +32,7 @@
%endif
# Require libxml2 > 2.9.4 for XML_PARSE_NOXXE
-%if 0
+%if 0%{?fedora} >= 27
%bcond_without system_libxml2
%else
%bcond_with system_libxml2
@@ -54,8 +54,12 @@
# Allow disabling unconditional build dependency on clang
%bcond_without require_clang
+# Allow using compilation flags set by Fedora RPM macros
+# Disabled by default because it causes out-of-memory error on Fedora Copr
+%bcond_with fedora_compilation_flags
+
Name: chromium
-Version: 61.0.3163.100
+Version: 62.0.3202.62
Release: 100%{?dist}
Summary: An open-source project that aims to build a safer, faster, and more stable browser
@@ -96,37 +100,22 @@ Source13: chromium-browser.appdata.xml
# https://src.fedoraproject.org/cgit/rpms/chromium.git/commit/?id=0df9641
Patch10: chromium-last-commit-position.patch
# Add patches from Gentoo to fix GN build
-# https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=04322d0
+# https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=199c924
Patch11: chromium-gn-bootstrap.patch
# https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c38ed01
Patch12: chromium-safe-math-gcc.patch
-# Building with GCC 6 requires -fno-delete-null-pointer-checks to avoid crashes
-# Unfortunately, it is not possible to add additional compiler flags with
-# environment variables or command-line arguments when building with GN, so we
-# must patch the build file here.
-# https://src.fedoraproject.org/cgit/rpms/chromium.git/commit/?id=7fe5f2bb
-# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68853
-# https://bugs.debian.org/833524
-# https://anonscm.debian.org/cgit/pkg-chromium/pkg-chromium.git/commit/?id=dfd37f3
-# https://bugs.chromium.org/p/v8/issues/detail?id=3782
-# https://codereview.chromium.org/2310513002
-Patch20: chromium-use-no-delete-null-pointer-checks-with-gcc.patch
-
# Add several patches from Fedora to fix build with GCC 7
# https://src.fedoraproject.org/cgit/rpms/chromium.git/commit/?id=86f726d
Patch30: chromium-blink-fpermissive.patch
-# https://src.fedoraproject.org/cgit/rpms/chromium.git/commit/?id=ce69059
-Patch31: chromium-blink-gcc7.patch
-
-# Add a patch from Gentoo to fix ATK-related build failure
-# https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=04322d0
-Patch40: chromium-atk.patch
# Add a patch from Gentoo to fix build with GLIBC 2.26
# https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2901239
Patch50: chromium-ucontext-glibc226.patch
+# Don't include C++17 string_view header
+Patch60: chromium-crc32c-disable-c++17.patch
+
# I don't have time to test whether it work on other architectures
ExclusiveArch: x86_64
@@ -260,6 +249,7 @@ Provides: chromium-libs, chromium-libs-media, chromedriver
third_party/ced \
third_party/cld_2 \
third_party/cld_3 \
+ third_party/crc32c \
third_party/cros_system_api \
third_party/devscripts \
third_party/dom_distiller_js \
@@ -315,7 +305,7 @@ Provides: chromium-libs, chromium-libs-media, chromedriver
third_party/modp_b64 \
third_party/mt19937ar \
third_party/node \
- third_party/node/node_modules/vulcanize/third_party/UglifyJS2 \
+ third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2 \
third_party/openh264 \
third_party/openmax_dl \
third_party/ots \
@@ -325,7 +315,7 @@ Provides: chromium-libs, chromium-libs-media, chromedriver
third_party/pdfium/third_party/bigint \
third_party/pdfium/third_party/build \
third_party/pdfium/third_party/freetype \
- third_party/pdfium/third_party/lcms2-2.6 \
+ third_party/pdfium/third_party/lcms \
third_party/pdfium/third_party/libopenjpeg20 \
third_party/pdfium/third_party/libpng16 \
third_party/pdfium/third_party/libtiff \
@@ -338,6 +328,7 @@ Provides: chromium-libs, chromium-libs-media, chromedriver
third_party/qcms \
third_party/sfntly \
third_party/skia \
+ third_party/skia/third_party/gif \
third_party/skia/third_party/vulkan \
third_party/smhasher \
third_party/speech-dispatcher \
@@ -398,7 +389,6 @@ sed -i 's|//third_party/usb_ids|/usr/share/hwdata|g' device/usb/BUILD.gn
# Workaround build error caused by debugedit
# https://bugzilla.redhat.com/show_bug.cgi?id=304121
sed -i '/^#include/s|//|/|' \
- content/renderer/gpu/compositor_forwarding_message_filter.cc \
third_party/webrtc/modules/audio_processing/utility/ooura_fft.cc \
third_party/webrtc/modules/audio_processing/utility/ooura_fft_sse2.cc
@@ -420,8 +410,20 @@ ln -s %{_bindir}/node third_party/node/linux/node-linux-x64/bin/node
%build
+export AR=ar NM=nm
+
+# Fedora 25 doesn't have __global_cxxflags
+%if %{with fedora_compilation_flags}
+export CFLAGS="$(echo '%{__global_cflags}' | sed 's/-fexceptions//')"
+export CXXFLAGS="$(echo '%{?__global_cxxflags}%{!?__global_cxxflags:%{__global_cflags}}' | sed 's/-fexceptions//')"
+export LDFLAGS='%{__global_ldflags}'
+%endif
+
%if %{with clang}
export CC=clang CXX=clang++
+%else
+export CC=gcc CXX=g++
+export CXXFLAGS="$CXXFLAGS -fno-delete-null-pointer-checks"
%endif
gn_args=(
@@ -441,6 +443,8 @@ gn_args=(
treat_warnings_as_errors=false
linux_use_bundled_binutils=false
fieldtrial_testing_like_official_build=true
+ 'custom_toolchain="//build/toolchain/linux/unbundle:default"'
+ 'host_toolchain="//build/toolchain/linux/unbundle:default"'
'google_api_key="AIzaSyCcK3laItm4Ik9bm6IeGFC6tVgy4eut0_o"'
'google_default_client_id="82546407293.apps.googleusercontent.com"'
'google_default_client_secret="GuvPB069ONrHxN7Y_y0txLKn"'
@@ -577,6 +581,11 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
%changelog
+* Wed Oct 18 2017 - Ting-Wei Lan <lantw44@gmail.com> - 62.0.3202.62-100
+- Update to 62.0.3202.62
+- Unbundle libxml2 on Fedora 27 and later
+- Use environment variables to pass compiler flags
+
* Fri Sep 22 2017 - Ting-Wei Lan <lantw44@gmail.com> - 61.0.3163.100-100
- Update to 61.0.3163.100