diff --git a/.gitignore b/.gitignore index 2e1d151b..eeccdc80 100644 --- a/.gitignore +++ b/.gitignore @@ -35,3 +35,4 @@ /chromium-62.0.3202.89-clean.tar.xz /chromium-63.0.3239.84-clean.tar.xz /chromium-63.0.3239.108-clean.tar.xz +/chromium-64.0.3282.119-clean.tar.xz diff --git a/chromium-64.0.3282.119-enable-mp3.patch b/chromium-64.0.3282.119-enable-mp3.patch new file mode 100644 index 00000000..849b5ee4 --- /dev/null +++ b/chromium-64.0.3282.119-enable-mp3.patch @@ -0,0 +1,54 @@ +diff -up chromium-64.0.3282.119/media/base/mime_util_internal.cc.mp3 chromium-64.0.3282.119/media/base/mime_util_internal.cc +--- chromium-64.0.3282.119/media/base/mime_util_internal.cc.mp3 2018-01-24 15:05:48.000000000 -0500 ++++ chromium-64.0.3282.119/media/base/mime_util_internal.cc 2018-01-25 11:18:12.354147726 -0500 +@@ -279,15 +279,19 @@ void MimeUtil::AddSupportedMediaFormats( + CodecSet webm_codecs(webm_audio_codecs); + webm_codecs.insert(webm_video_codecs.begin(), webm_video_codecs.end()); + +-#if BUILDFLAG(USE_PROPRIETARY_CODECS) + const CodecSet mp3_codecs{MP3}; ++#if BUILDFLAG(USE_PROPRIETARY_CODECS) + const CodecSet aac{MPEG2_AAC, MPEG4_AAC}; ++#else ++ const CodecSet aac{}; ++#endif ++ CodecSet mp4_audio_codecs(aac); ++ mp4_audio_codecs.emplace(MP3); + ++#if BUILDFLAG(USE_PROPRIETARY_CODECS) + CodecSet avc_and_aac(aac); + avc_and_aac.emplace(H264); + +- CodecSet mp4_audio_codecs(aac); +- mp4_audio_codecs.emplace(MP3); + mp4_audio_codecs.emplace(FLAC); + #if BUILDFLAG(ENABLE_AC3_EAC3_AUDIO_DEMUXING) + mp4_audio_codecs.emplace(AC3); +@@ -329,10 +333,10 @@ void MimeUtil::AddSupportedMediaFormats( + AddContainerWithCodecs("application/ogg", ogg_codecs, false); + AddContainerWithCodecs("audio/flac", implicit_codec, false); + +-#if BUILDFLAG(USE_PROPRIETARY_CODECS) + AddContainerWithCodecs("audio/mpeg", mp3_codecs, true); // Allow "mp3". + AddContainerWithCodecs("audio/mp3", implicit_codec, true); + AddContainerWithCodecs("audio/x-mp3", implicit_codec, true); ++#if BUILDFLAG(USE_PROPRIETARY_CODECS) + AddContainerWithCodecs("audio/aac", implicit_codec, true); // AAC / ADTS. + AddContainerWithCodecs("audio/mp4", mp4_audio_codecs, true); + DCHECK(!mp4_video_codecs.empty()); +@@ -970,7 +974,6 @@ bool MimeUtil::IsCodecProprietary(Codec + case INVALID_CODEC: + case AC3: + case EAC3: +- case MP3: + case MPEG2_AAC: + case MPEG4_AAC: + case H264: +@@ -978,6 +981,7 @@ bool MimeUtil::IsCodecProprietary(Codec + case DOLBY_VISION: + return true; + ++ case MP3: + case PCM: + case VORBIS: + case OPUS: diff --git a/chromium-64.0.3282.119-ffmpeg-stdatomic.patch b/chromium-64.0.3282.119-ffmpeg-stdatomic.patch new file mode 100644 index 00000000..64c5f26f --- /dev/null +++ b/chromium-64.0.3282.119-ffmpeg-stdatomic.patch @@ -0,0 +1,17 @@ +diff -up chromium-64.0.3282.119/third_party/ffmpeg/libavutil/cpu.c.ffmpeg-stdatomic chromium-64.0.3282.119/third_party/ffmpeg/libavutil/cpu.c +--- chromium-64.0.3282.119/third_party/ffmpeg/libavutil/cpu.c.ffmpeg-stdatomic 2018-01-25 11:55:57.880936815 -0500 ++++ chromium-64.0.3282.119/third_party/ffmpeg/libavutil/cpu.c 2018-01-25 11:57:18.456787888 -0500 +@@ -18,7 +18,13 @@ + + #include + #include ++// GCC 4.8 didn't have stdatomic, but was advertising it. ++// https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58016 ++#if !defined(__clang__) && defined(__GNUC__) && (__GNUC__ == 4 || (__GNUC__ == 4 && (__GNUC_MINOR__ == 8))) ++#include ++#else + #include ++#endif + + #include "attributes.h" + #include "cpu.h" diff --git a/chromium-64.0.3282.119-gcc-constexpr-fix.patch b/chromium-64.0.3282.119-gcc-constexpr-fix.patch new file mode 100644 index 00000000..57b63cd1 --- /dev/null +++ b/chromium-64.0.3282.119-gcc-constexpr-fix.patch @@ -0,0 +1,70 @@ +diff -up chromium-64.0.3282.119/third_party/angle/src/compiler/translator/StaticType.h.gcc-constexpr chromium-64.0.3282.119/third_party/angle/src/compiler/translator/StaticType.h +--- chromium-64.0.3282.119/third_party/angle/src/compiler/translator/StaticType.h.gcc-constexpr 2018-01-25 15:50:16.971171007 -0500 ++++ chromium-64.0.3282.119/third_party/angle/src/compiler/translator/StaticType.h 2018-01-25 15:51:14.158053914 -0500 +@@ -160,7 +160,7 @@ template +-const TType *GetForVecMatHelper(unsigned char primarySize) ++constexpr const TType *GetForVecMatHelper(unsigned char primarySize) + { + static_assert(basicType == EbtFloat || basicType == EbtInt || basicType == EbtUInt || + basicType == EbtBool, +@@ -186,7 +186,7 @@ const TType *GetForVecMatHelper(unsigned + template +-const TType *GetForVecMat(unsigned char primarySize, unsigned char secondarySize = 1) ++constexpr const TType *GetForVecMat(unsigned char primarySize, unsigned char secondarySize = 1) + { + static_assert(basicType == EbtFloat || basicType == EbtInt || basicType == EbtUInt || + basicType == EbtBool, +@@ -208,7 +208,7 @@ const TType *GetForVecMat(unsigned char + } + + template +-const TType *GetForVec(TQualifier qualifier, unsigned char size) ++constexpr const TType *GetForVec(TQualifier qualifier, unsigned char size) + { + switch (qualifier) + { +diff -up chromium-64.0.3282.119/third_party/angle/src/compiler/translator/SymbolTable.cpp.gcc-constexpr chromium-64.0.3282.119/third_party/angle/src/compiler/translator/SymbolTable.cpp +--- chromium-64.0.3282.119/third_party/angle/src/compiler/translator/SymbolTable.cpp.gcc-constexpr 2018-01-25 15:51:27.670790008 -0500 ++++ chromium-64.0.3282.119/third_party/angle/src/compiler/translator/SymbolTable.cpp 2018-01-25 15:52:04.117077652 -0500 +@@ -189,7 +189,7 @@ TSymbolTable::~TSymbolTable() + pop(); + } + +-bool IsGenType(const TType *type) ++constexpr bool IsGenType(const TType *type) + { + if (type) + { +@@ -201,7 +201,7 @@ bool IsGenType(const TType *type) + return false; + } + +-bool IsVecType(const TType *type) ++constexpr bool IsVecType(const TType *type) + { + if (type) + { +diff -up chromium-64.0.3282.119/third_party/angle/src/compiler/translator/Types.h.gcc-constexpr chromium-64.0.3282.119/third_party/angle/src/compiler/translator/Types.h +--- chromium-64.0.3282.119/third_party/angle/src/compiler/translator/Types.h.gcc-constexpr 2018-01-25 15:52:15.042864767 -0500 ++++ chromium-64.0.3282.119/third_party/angle/src/compiler/translator/Types.h 2018-01-25 15:52:56.763049389 -0500 +@@ -236,13 +236,13 @@ class TType + { + } + +- TBasicType getBasicType() const { return type; } ++ constexpr TBasicType getBasicType() const { return type; } + void setBasicType(TBasicType t); + + TPrecision getPrecision() const { return precision; } + void setPrecision(TPrecision p) { precision = p; } + +- TQualifier getQualifier() const { return qualifier; } ++ constexpr TQualifier getQualifier() const { return qualifier; } + void setQualifier(TQualifier q) { qualifier = q; } + + bool isInvariant() const { return invariant; } diff --git a/chromium-64.0.3282.119-gcc-round-fix.patch b/chromium-64.0.3282.119-gcc-round-fix.patch new file mode 100644 index 00000000..465808c4 --- /dev/null +++ b/chromium-64.0.3282.119-gcc-round-fix.patch @@ -0,0 +1,12 @@ +diff -up chromium-64.0.3282.119/third_party/webrtc/p2p/base/port.cc.gcc-round-fix chromium-64.0.3282.119/third_party/webrtc/p2p/base/port.cc +--- chromium-64.0.3282.119/third_party/webrtc/p2p/base/port.cc.gcc-round-fix 2018-01-25 12:03:14.696443814 -0500 ++++ chromium-64.0.3282.119/third_party/webrtc/p2p/base/port.cc 2018-01-25 12:20:26.446448618 -0500 +@@ -10,7 +10,7 @@ + + #include "p2p/base/port.h" + +-#include ++#include + + #include + #include diff --git a/chromium-64.0.3282.119-gcc5-r3.patch b/chromium-64.0.3282.119-gcc5-r3.patch new file mode 100644 index 00000000..3679ecf4 --- /dev/null +++ b/chromium-64.0.3282.119-gcc5-r3.patch @@ -0,0 +1,75 @@ +diff -up chromium-64.0.3282.119/gpu/ipc/common/mailbox_struct_traits.h.gcc5-r3 chromium-64.0.3282.119/gpu/ipc/common/mailbox_struct_traits.h +--- chromium-64.0.3282.119/gpu/ipc/common/mailbox_struct_traits.h.gcc5-r3 2018-01-24 15:05:47.000000000 -0500 ++++ chromium-64.0.3282.119/gpu/ipc/common/mailbox_struct_traits.h 2018-01-25 11:58:48.251623423 -0500 +@@ -15,7 +15,7 @@ namespace mojo { + template <> + struct StructTraits { + static base::span name(const gpu::Mailbox& mailbox) { +- return mailbox.name; ++ return base::make_span(mailbox.name); + } + static bool Read(gpu::mojom::MailboxDataView data, gpu::Mailbox* out); + }; +diff -up chromium-64.0.3282.119/services/viz/public/cpp/compositing/filter_operation_struct_traits.h.gcc5-r3 chromium-64.0.3282.119/services/viz/public/cpp/compositing/filter_operation_struct_traits.h +--- chromium-64.0.3282.119/services/viz/public/cpp/compositing/filter_operation_struct_traits.h.gcc5-r3 2018-01-24 15:05:51.000000000 -0500 ++++ chromium-64.0.3282.119/services/viz/public/cpp/compositing/filter_operation_struct_traits.h 2018-01-25 11:58:48.252623400 -0500 +@@ -137,7 +137,7 @@ struct StructTraits matrix(const cc::FilterOperation& operation) { + if (operation.type() != cc::FilterOperation::COLOR_MATRIX) + return base::span(); +- return operation.matrix(); ++ return base::make_span(operation.matrix()); + } + + static base::span shape( +diff -up chromium-64.0.3282.119/services/viz/public/cpp/compositing/quads_struct_traits.h.gcc5-r3 chromium-64.0.3282.119/services/viz/public/cpp/compositing/quads_struct_traits.h +--- chromium-64.0.3282.119/services/viz/public/cpp/compositing/quads_struct_traits.h.gcc5-r3 2018-01-24 15:05:51.000000000 -0500 ++++ chromium-64.0.3282.119/services/viz/public/cpp/compositing/quads_struct_traits.h 2018-01-25 11:58:48.252623400 -0500 +@@ -308,7 +308,7 @@ struct StructTraits vertex_opacity(const viz::DrawQuad& input) { + const viz::TextureDrawQuad* quad = + viz::TextureDrawQuad::MaterialCast(&input); +- return quad->vertex_opacity; ++ return base::make_span(quad->vertex_opacity); + } + + static bool y_flipped(const viz::DrawQuad& input) { +diff -up chromium-64.0.3282.119/third_party/WebKit/Source/platform/exported/WebCORS.cpp.gcc5-r3 chromium-64.0.3282.119/third_party/WebKit/Source/platform/exported/WebCORS.cpp +diff -up chromium-64.0.3282.119/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h.gcc5-r3 chromium-64.0.3282.119/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h +--- chromium-64.0.3282.119/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h.gcc5-r3 2018-01-24 15:06:11.000000000 -0500 ++++ chromium-64.0.3282.119/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h 2018-01-25 11:58:48.253623376 -0500 +@@ -62,7 +62,7 @@ class WTF_EXPORT ArrayBufferContents { + allocation_length_(0), + data_(data), + data_length_(0), +- kind_(AllocationKind::kNormal), ++ kind_(WTF::ArrayBufferContents::AllocationKind::kNormal), + deleter_(deleter) {} + DataHandle(void* allocation_base, + size_t allocation_length, +@@ -93,11 +93,11 @@ class WTF_EXPORT ArrayBufferContents { + reinterpret_cast(allocation_base_) + + allocation_length_); + switch (kind_) { +- case AllocationKind::kNormal: ++ case WTF::ArrayBufferContents::AllocationKind::kNormal: + DCHECK(deleter_); + deleter_(data_); + return; +- case AllocationKind::kReservation: ++ case WTF::ArrayBufferContents::AllocationKind::kReservation: + ReleaseReservedMemory(allocation_base_, allocation_length_); + return; + } +diff -up chromium-64.0.3282.119/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc.gcc5-r3 chromium-64.0.3282.119/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc +--- chromium-64.0.3282.119/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc.gcc5-r3 2018-01-25 11:58:48.253623376 -0500 ++++ chromium-64.0.3282.119/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc 2018-01-25 12:01:28.769900550 -0500 +@@ -10,7 +10,7 @@ + + #include "modules/audio_processing/aec3/aec_state.h" + +-#include ++#include + + #include + #include diff --git a/chromium-64.0.3282.119-gcc5.patch b/chromium-64.0.3282.119-gcc5.patch new file mode 100644 index 00000000..0fdc39f7 --- /dev/null +++ b/chromium-64.0.3282.119-gcc5.patch @@ -0,0 +1,57 @@ +diff -up chromium-64.0.3282.119/third_party/webgl/src/specs/latest/2.0/webgl2.idl.gcc5 chromium-64.0.3282.119/third_party/webgl/src/specs/latest/2.0/webgl2.idl +--- chromium-64.0.3282.119/third_party/webgl/src/specs/latest/2.0/webgl2.idl.gcc5 2018-01-25 11:07:27.179175007 -0500 ++++ chromium-64.0.3282.119/third_party/webgl/src/specs/latest/2.0/webgl2.idl 2018-01-25 11:07:38.037925336 -0500 +@@ -263,7 +263,7 @@ interface WebGL2RenderingContextBase + const GLenum UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = 0x8A43; + const GLenum UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = 0x8A44; + const GLenum UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = 0x8A46; +- const GLenum INVALID_INDEX = 0xFFFFFFFF; ++ const GLenum INVALID_INDEX = 256; + const GLenum MAX_VERTEX_OUTPUT_COMPONENTS = 0x9122; + const GLenum MAX_FRAGMENT_INPUT_COMPONENTS = 0x9125; + const GLenum MAX_SERVER_WAIT_TIMEOUT = 0x9111; +diff -up chromium-64.0.3282.119/third_party/WebKit/Source/core/dom/NodeFilter.h.gcc5 chromium-64.0.3282.119/third_party/WebKit/Source/core/dom/NodeFilter.h +--- chromium-64.0.3282.119/third_party/WebKit/Source/core/dom/NodeFilter.h.gcc5 2018-01-25 11:11:08.581962228 -0500 ++++ chromium-64.0.3282.119/third_party/WebKit/Source/core/dom/NodeFilter.h 2018-01-25 11:11:24.062593478 -0500 +@@ -49,7 +49,7 @@ class NodeFilter final { + * to the value of NodeType for the equivalent node type. + */ + enum { +- kShowAll = 0xFFFFFFFF, ++ kShowAll = 256 /* 0xFFFFFFFF */, + kShowElement = 0x00000001, + kShowAttribute = 0x00000002, + kShowText = 0x00000004, +diff -up chromium-64.0.3282.119/third_party/WebKit/Source/core/dom/NodeFilter.idl.gcc5 chromium-64.0.3282.119/third_party/WebKit/Source/core/dom/NodeFilter.idl +--- chromium-64.0.3282.119/third_party/WebKit/Source/core/dom/NodeFilter.idl.gcc5 2018-01-25 11:11:34.816335412 -0500 ++++ chromium-64.0.3282.119/third_party/WebKit/Source/core/dom/NodeFilter.idl 2018-01-25 11:12:23.380171262 -0500 +@@ -27,7 +27,7 @@ callback interface NodeFilter { + const unsigned short FILTER_SKIP = 3; + + // Constants for whatToShow +- const unsigned long SHOW_ALL = 0xFFFFFFFF; ++ const unsigned long SHOW_ALL = 256; // 0xFFFFFFFF + const unsigned long SHOW_ELEMENT = 0x1; + const unsigned long SHOW_ATTRIBUTE = 0x2; // historical + const unsigned long SHOW_TEXT = 0x4; +diff -up chromium-64.0.3282.119/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.idl.gcc5 chromium-64.0.3282.119/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.idl +--- chromium-64.0.3282.119/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.idl.gcc5 2018-01-25 11:12:57.367363214 -0500 ++++ chromium-64.0.3282.119/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.idl 2018-01-25 11:13:29.883590960 -0500 +@@ -241,7 +241,7 @@ typedef unsigned long long GLuint64; + const GLenum UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = 0x8A43; + const GLenum UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = 0x8A44; + const GLenum UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = 0x8A46; +- const GLenum INVALID_INDEX = 0xFFFFFFFF; ++ const GLenum INVALID_INDEX = 256; + const GLenum MAX_VERTEX_OUTPUT_COMPONENTS = 0x9122; + const GLenum MAX_FRAGMENT_INPUT_COMPONENTS = 0x9125; + const GLenum MAX_SERVER_WAIT_TIMEOUT = 0x9111; +@@ -271,7 +271,7 @@ typedef unsigned long long GLuint64; + const GLenum TEXTURE_IMMUTABLE_FORMAT = 0x912F; + const GLenum MAX_ELEMENT_INDEX = 0x8D6B; + const GLenum TEXTURE_IMMUTABLE_LEVELS = 0x82DF; +- const GLint TIMEOUT_IGNORED = -1; ++ const GLint TIMEOUT_IGNORED = 256; + + /* WebGL-specific enums */ + const GLenum MAX_CLIENT_WAIT_TIMEOUT_WEBGL = 0x9247; diff --git a/chromium-64.0.3282.119-gcc7.patch b/chromium-64.0.3282.119-gcc7.patch new file mode 100644 index 00000000..7fe383e8 --- /dev/null +++ b/chromium-64.0.3282.119-gcc7.patch @@ -0,0 +1,11 @@ +diff -up chromium-64.0.3282.119/third_party/WebKit/Source/platform/graphics/gpu/SharedGpuContext.h.gcc7 chromium-64.0.3282.119/third_party/WebKit/Source/platform/graphics/gpu/SharedGpuContext.h +--- chromium-64.0.3282.119/third_party/WebKit/Source/platform/graphics/gpu/SharedGpuContext.h.gcc7 2018-01-25 11:15:00.291466617 -0500 ++++ chromium-64.0.3282.119/third_party/WebKit/Source/platform/graphics/gpu/SharedGpuContext.h 2018-01-25 11:16:36.159320291 -0500 +@@ -10,6 +10,7 @@ + #include "platform/wtf/Functional.h" + #include "platform/wtf/ThreadSpecific.h" + ++#include + #include + + namespace blink { diff --git a/chromium-64.0.3282.119-memcpy-fix.patch b/chromium-64.0.3282.119-memcpy-fix.patch new file mode 100644 index 00000000..39c3c25a --- /dev/null +++ b/chromium-64.0.3282.119-memcpy-fix.patch @@ -0,0 +1,11 @@ +diff -up chromium-64.0.3282.119/cc/paint/raw_memory_transfer_cache_entry.cc.memcpyfix chromium-64.0.3282.119/cc/paint/raw_memory_transfer_cache_entry.cc +--- chromium-64.0.3282.119/cc/paint/raw_memory_transfer_cache_entry.cc.memcpyfix 2018-01-26 15:04:44.708100850 -0500 ++++ chromium-64.0.3282.119/cc/paint/raw_memory_transfer_cache_entry.cc 2018-01-26 15:04:54.234915081 -0500 +@@ -3,6 +3,7 @@ + // found in the LICENSE file. + + #include "cc/paint/raw_memory_transfer_cache_entry.h" ++#include + + namespace cc { + diff --git a/chromium.spec b/chromium.spec index c9df3cc4..8a8716fe 100644 --- a/chromium.spec +++ b/chromium.spec @@ -26,7 +26,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|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|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|libcrcrypto|libdbus|libdevice_base|libdevice_event_log|libdevice_gamepad|libdevices|libdevice_vr_mojo_bindings_blink|libdevice_vr_mojo_bindings_shared|libdevice_vr_mojo_bindings|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_color|libgfx_ipc_geometry|libgfx_ipc_skia|libgfx_ipc|libgfx|libgfx_switches|libgfx_x11|libgin|libgles2_c_lib|libgles2_implementation|libgles2_utils|libGLESv2|libgl_init|libgl_in_process_context|libgl_wrapper|libgpu|libgtk3ui|libheadless|libhost|libicui18n|libicuuc|libinterfaces_shared|libipc_mojom_shared|libipc_mojom|libipc|libjs|libkeyboard|libkeyboard_with_content|libkeycodes_x11|libkeyed_service_content|libkeyed_service_core|libmanager|libmedia_blink|libmedia_gpu|libmedia_mojo_services|libmedia|libmessage_center|libmessage_support|libmetrics_cpp|libmidi|libmojo_common_lib|libmojo_ime_lib|libmojo_public_system_cpp|libmojo_public_system|libmojo_system_impl|libnative_theme|libnet|libnet_with_v8|libonc|libplatform|libpolicy_component|libpolicy_proto|libppapi_host|libppapi_proxy|libppapi_shared|libprefs|libprinting|libprotobuf_lite|libproxy_config|librange|libresource_coordinator_cpp|libresource_coordinator_public_interfaces_internal_shared|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_swapchain|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|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|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|libcrcrypto|libdbus|libdevice_base|libdevice_event_log|libdevice_gamepad|libdevices|libdevice_vr_mojo_bindings_blink|libdevice_vr_mojo_bindings_shared|libdevice_vr_mojo_bindings|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_color|libgfx_ipc_geometry|libgfx_ipc_skia|libgfx_ipc|libgfx|libgfx_switches|libgfx_x11|libgin|libgles2_c_lib|libgles2_implementation|libgles2_utils|libGLESv2|libgl_init|libgl_in_process_context|libgl_wrapper|libgpu|libgpu_util|libgtk3ui|libheadless|libhost|libicui18n|libicuuc|libipc_mojom_shared|libipc_mojom|libipc|libjs|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_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|libonc|libplatform|libpolicy_component|libpolicy_proto|libppapi_host|libppapi_proxy|libppapi_shared|libprefs|libprinting|libprotobuf_lite|libproxy_config|librange|libresource_coordinator_cpp|libresource_coordinator_public_interfaces_internal_shared|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_swapchain|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. @@ -109,21 +109,21 @@ BuildRequires: libicu-devel >= 5.4 %global default_client_secret miEreAep8nuvTdvLums6qyLK %global chromoting_client_id 449907151817-8vnlfih032ni8c4jjps9int9t86k546t.apps.googleusercontent.com -%global majorversion 63 +%global majorversion 64 %if %{freeworld} Name: chromium%{chromium_channel}%{?freeworld:-freeworld} %else Name: chromium%{chromium_channel} %endif -Version: %{majorversion}.0.3239.108 +Version: %{majorversion}.0.3282.119 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) ### Chromium Fedora Patches ### -Patch0: chromium-56.0.2924.87-gcc5.patch +Patch0: chromium-64.0.3282.119-gcc5.patch Patch1: chromium-45.0.2454.101-linux-path-max.patch Patch2: chromium-55.0.2883.75-addrfix.patch Patch4: chromium-46.0.2490.71-notest.patch @@ -168,15 +168,15 @@ Patch27: chromium-63.0.3289.84-setopaque.patch Patch31: chromium-56.0.2924.87-fpermissive.patch # Fix issue with compilation on gcc7 # Thanks to Ben Noordhuis -Patch33: chromium-62.0.3202.62-gcc7.patch +Patch33: chromium-64.0.3282.119-gcc7.patch # Enable mp3 support -Patch34: chromium-63.0.3289.84-enable-mp3.patch +Patch34: chromium-64.0.3282.119-enable-mp3.patch # Revert https://chromium.googlesource.com/chromium/src/+/b794998819088f76b4cf44c8db6940240c563cf4%5E%21/#F0 # https://bugs.chromium.org/p/chromium/issues/detail?id=712737 # https://bugzilla.redhat.com/show_bug.cgi?id=1446851 Patch36: chromium-58.0.3029.96-revert-b794998819088f76b4cf44c8db6940240c563cf4.patch # Correctly compile the stdatomic.h in ffmpeg with gcc 4.8 -Patch37: chromium-59.0.3071.86-ffmpeg-stdatomic.patch +Patch37: chromium-64.0.3282.119-ffmpeg-stdatomic.patch # Nacl can't die soon enough Patch39: chromium-59.0.3071.86-system-clang.patch # Do not prefix libpng functions @@ -188,8 +188,6 @@ Patch45: chromium-60.0.3112.78-no-zlib-mangle.patch # Apply these changes to work around EPEL7 compiler issues Patch46: chromium-62.0.3202.62-kmaxskip-constexpr.patch Patch47: chromium-60.0.3112.90-vulkan-force-c99.patch -# Fix mp3 for aarch64 -Patch49: chromium-63.0.3289.84-fix-ffmpeg-aarch64.patch # Fix libavutil include pathing to find arch specific timer.h # For some reason, this only fails on aarch64. No idea why. Patch50: chromium-60.0.3112.113-libavutil-timer-include-path-fix.patch @@ -205,13 +203,19 @@ Patch60: chromium-62.0.3202.62-epel7-no-nullptr-assignment-on-StructPtr.patch # Another gcc 4.8 goods.. Patch61: chromium-62.0.3202.62-rvalue-fix.patch # From gentoo -Patch62: chromium-63.0.3289.84-gcc5-r3.patch +Patch62: chromium-64.0.3282.119-gcc5-r3.patch # Do not try to use libc++ in the remoting stack Patch63: chromium-63.0.3289.84-nolibc++.patch # Fix freetype and harfbuzz-ng unbundle Patch64: chromium-63.0.3289.84-fix-ft-hb-unbundle.patch # To use round with gcc, you need to #include -Patch65: chromium-63.0.3289.84-gcc-round-fix.patch +Patch65: chromium-64.0.3282.119-gcc-round-fix.patch +# Fix constexpr gcc issues +# https://chromium.googlesource.com/angle/angle/+/030017a4855c7b6e7f2ff8d9566c146f31eb301b +Patch66: chromium-64.0.3282.119-gcc-constexpr-fix.patch +# Include proper headers to invoke memcpy() +Patch67: chromium-64.0.3282.119-memcpy-fix.patch + # Use chromium-latest.py to generate clean tarball from released build tarballs, found here: # http://build.chromium.org/buildbot/official/ @@ -630,7 +634,6 @@ udev. # Do not apply mp3 change %else %patch34 -p1 -b .mp3 -%patch49 -p1 -b .aarch64 %endif %patch36 -p1 -b .revert %patch37 -p1 -b .ffmpeg-stdatomic @@ -655,6 +658,8 @@ udev. %patch63 -p1 -b .nolibc++ %patch64 -p1 -b .fixunbundle %patch65 -p1 -b .gcc-round-fix +%patch66 -p1 -b .gcc-const-expr +%patch67 -p1 -b .memcpyfix %if 0%{?asan} export CC="clang" @@ -794,7 +799,7 @@ CHROMIUM_BROWSER_GN_DEFINES+=' is_component_ffmpeg=true is_component_build=true' CHROMIUM_BROWSER_GN_DEFINES+=' is_component_ffmpeg=false is_component_build=false' %endif CHROMIUM_BROWSER_GN_DEFINES+=' remove_webcore_debug_symbols=true enable_hangout_services_extension=true' -CHROMIUM_BROWSER_GN_DEFINES+=' enable_hotwording=false use_aura=true' +CHROMIUM_BROWSER_GN_DEFINES+=' use_aura=true' CHROMIUM_BROWSER_GN_DEFINES+=' enable_webrtc=true enable_widevine=true' %if 0%{gtk3} CHROMIUM_BROWSER_GN_DEFINES+=' use_gtk3=true' @@ -806,7 +811,7 @@ export CHROMIUM_BROWSER_GN_DEFINES CHROMIUM_HEADLESS_GN_DEFINES="" CHROMIUM_HEADLESS_GN_DEFINES+=' use_ozone=true ozone_auto_platforms=false ozone_platform="headless" ozone_platform_headless=true' CHROMIUM_HEADLESS_GN_DEFINES+=' headless_use_embedded_resources=true icu_use_data_file=false v8_use_external_startup_data=false' -CHROMIUM_HEADLESS_GN_DEFINES+=' enable_nacl=false enable_print_preview=false enable_remoting=false use_alsa=false use_ash=false' +CHROMIUM_HEADLESS_GN_DEFINES+=' enable_nacl=false enable_print_preview=false enable_remoting=false use_alsa=false' CHROMIUM_HEADLESS_GN_DEFINES+=' use_cups=false use_dbus=false use_gconf=false use_gio=false use_kerberos=false use_libpci=false' CHROMIUM_HEADLESS_GN_DEFINES+=' use_pulseaudio=false use_udev=false' export CHROMIUM_HEADLESS_GN_DEFINES @@ -845,6 +850,7 @@ build/linux/unbundle/remove_bundled_libraries.py \ 'third_party/blanketjs' \ 'third_party/blink' \ 'third_party/boringssl' \ + 'third_party/boringssl/src/third_party/fiat' \ 'third_party/breakpad' \ 'third_party/breakpad/breakpad/src/third_party/curl' \ 'third_party/brotli' \ @@ -860,7 +866,6 @@ build/linux/unbundle/remove_bundled_libraries.py \ 'third_party/catapult/tracing/third_party/oboe' \ 'third_party/catapult/tracing/third_party/pako' \ 'third_party/ced' \ - 'third_party/cld_2' \ 'third_party/cld_3' \ 'third_party/crc32c' \ 'third_party/cros_system_api' \ @@ -915,6 +920,7 @@ build/linux/unbundle/remove_bundled_libraries.py \ 'third_party/markupsafe' \ %endif 'third_party/mesa' \ + 'third_party/metrics_proto' \ 'third_party/modp_b64' \ 'third_party/mt19937ar' \ 'third_party/node' \ @@ -1511,6 +1517,9 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %changelog +* Thu Jan 25 2018 Tom Callaway 64.0.3282.119-1 +- update to 64.0.3282.119 + * Fri Dec 15 2017 Tomas Popela 63.0.3239.108-1 - Update to 63.0.3239.108 diff --git a/clean_ffmpeg.sh b/clean_ffmpeg.sh index 984a1a39..48495a54 100755 --- a/clean_ffmpeg.sh +++ b/clean_ffmpeg.sh @@ -62,9 +62,11 @@ header_files=" libavcodec/x86/inline_asm.h \ libavcodec/aacps.h \ libavcodec/aacpsdsp.h \ libavcodec/aacsbrdata.h \ + libavcodec/aac_ac3_parser.h \ libavcodec/aac_defines.h \ libavcodec/ac3.h \ libavcodec/ac3tab.h \ + libavcodec/adts_header.h \ libavcodec/avcodec.h \ libavcodec/blockdsp.h \ libavcodec/bytestream.h \ @@ -93,7 +95,9 @@ header_files=" libavcodec/x86/inline_asm.h \ libavcodec/mdct15.h \ libavcodec/me_cmp.h \ libavcodec/motion_est.h \ + libavcodec/mpeg12.h \ libavcodec/mpeg12data.h \ + libavcodec/mpeg12vlc.h \ libavcodec/mpegaudio.h \ libavcodec/mpegaudiodecheader.h \ libavcodec/mpegaudiodectab.h \ @@ -248,7 +252,6 @@ mp3_files=" libavcodec/aarch64/aacpsdsp_init_aarch64.c \ libavcodec/aarch64/sbrdsp_neon.S \ libavcodec/aac_ac3_parser.c \ libavcodec/aac_parser.c \ - libavcodec/aacadtsdec.c \ libavcodec/aacps_float.c \ libavcodec/aacpsdsp_float.c \ libavcodec/aacsbr.c \ @@ -307,8 +310,7 @@ other_files=" BUILD.gn \ OWNERS \ README.chromium \ README.md \ - RELEASE \ - xcode_hack.c " + RELEASE " cd "$1/third_party/ffmpeg" || exit 1 diff --git a/sources b/sources index e9f4e809..a05efb1a 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ SHA512 (depot_tools.git-master.tar.gz) = d3d6a1873b2b0296a8cd99e0d8d2e629a17b1808934b4972556168f8b4ccea60577ebaeab4445baf15afb1b04080808db59a832a5b61d247bd48da14fa6acf03 -SHA512 (chromium-63.0.3239.108-clean.tar.xz) = 565c0e6c94ceae506a69d7d14b2ebbffcab72635b4168e35a433dcc726ab768a46667705b9e25c02500e3b5a1aa11e19730ae4985b1ef292e8ff976286c5094a +SHA512 (chromium-64.0.3282.119-clean.tar.xz) = 4d743cbee880a353ea38bebcd5c53881ada000711dfb1b2645199517c2151f9ce7c6dc96c2ca33ad023c461593028de5a4694de55d32431f78f8997e09093f54