mirror of
https://abf.rosa.ru/djam/chromium-browser-stable.git
synced 2025-02-23 22:52:49 +00:00
Updated to 70.0.3538.77
This commit is contained in:
parent
9c25498c6d
commit
42053ebe7d
42 changed files with 895 additions and 1152 deletions
|
@ -1,49 +0,0 @@
|
|||
From c2f9928e44be384c349b70890543726dbfc7d3e9 Mon Sep 17 00:00:00 2001
|
||||
From: Alexey Gladkov <legion@altlinux.org>
|
||||
Date: Mon, 27 Aug 2018 14:59:55 +0300
|
||||
Subject: [PATCH 24/24] ALT: allow to override clang through env variables
|
||||
|
||||
---
|
||||
build/toolchain/gcc_toolchain.gni | 10 +++++-----
|
||||
1 file changed, 5 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/build/toolchain/gcc_toolchain.gni b/build/toolchain/gcc_toolchain.gni
|
||||
index b6f63d7556a..c09ad531b8d 100644
|
||||
--- a/build/toolchain/gcc_toolchain.gni
|
||||
+++ b/build/toolchain/gcc_toolchain.gni
|
||||
@@ -597,27 +597,27 @@ template("gcc_toolchain") {
|
||||
# actually just be doing a native compile. The invoker can optionally override
|
||||
# use_gold too.
|
||||
template("clang_toolchain") {
|
||||
if (defined(invoker.toolprefix)) {
|
||||
toolprefix = invoker.toolprefix
|
||||
} else {
|
||||
toolprefix = ""
|
||||
}
|
||||
|
||||
gcc_toolchain(target_name) {
|
||||
- prefix = rebase_path("$clang_base_path/bin", root_build_dir)
|
||||
- cc = "$prefix/clang"
|
||||
- cxx = "$prefix/clang++"
|
||||
+ cc = getenv("CC")
|
||||
+ cxx = getenv("CXX")
|
||||
+ ar = getenv("AR")
|
||||
ld = cxx
|
||||
readelf = "${toolprefix}readelf"
|
||||
- ar = "${prefix}/llvm-ar"
|
||||
- nm = "${toolprefix}nm"
|
||||
+ readelf = "readelf"
|
||||
+ nm = "nm"
|
||||
|
||||
forward_variables_from(invoker,
|
||||
[
|
||||
"strip",
|
||||
"is_clang_analysis_supported",
|
||||
"enable_linker_map",
|
||||
"use_unstripped_as_runtime_outputs",
|
||||
])
|
||||
|
||||
toolchain_args = {
|
||||
--
|
||||
2.17.1
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
description: 10 seconds may not be enough, so don't kill the gpu process until 20.
|
||||
author: Chad MILLER <chad.miller@canonical.com>
|
||||
bug-debian: http://bugs.debian.org/781940
|
||||
|
||||
--- a/gpu/ipc/service/gpu_watchdog_thread.cc
|
||||
+++ b/gpu/ipc/service/gpu_watchdog_thread.cc
|
||||
@@ -42,7 +42,7 @@ const int kGpuTimeout = 30000;
|
||||
// infected machines.
|
||||
const int kGpuTimeout = 15000;
|
||||
#else
|
||||
-const int kGpuTimeout = 10000;
|
||||
+const int kGpuTimeout = 20000;
|
||||
#endif
|
||||
|
||||
#if defined(USE_X11)
|
|
@ -1,39 +0,0 @@
|
|||
From 4730bf3304a9030adde50a9cafb501a1d635bbff Mon Sep 17 00:00:00 2001
|
||||
From: Alexey Gladkov <legion@altlinux.org>
|
||||
Date: Fri, 14 Oct 2016 12:21:19 +0300
|
||||
Subject: [PATCH 15/24] FEDORA: Fix issue where timespec is not defined when
|
||||
sys/stat.h is included
|
||||
|
||||
---
|
||||
third_party/boringssl/src/crypto/x509/by_dir.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/third_party/boringssl/src/crypto/x509/by_dir.c b/third_party/boringssl/src/crypto/x509/by_dir.c
|
||||
index 9a0e2ebc6c2..02826d6fba5 100644
|
||||
--- a/third_party/boringssl/src/crypto/x509/by_dir.c
|
||||
+++ b/third_party/boringssl/src/crypto/x509/by_dir.c
|
||||
@@ -49,20 +49,21 @@
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* The licence and distribution terms for any publically available version or
|
||||
* derivative of this code cannot be changed. i.e. this code cannot simply be
|
||||
* copied and put under another distribution licence
|
||||
* [including the GNU Public Licence.] */
|
||||
|
||||
#include <string.h>
|
||||
+#include <time.h>
|
||||
#include <sys/stat.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
#include <openssl/buf.h>
|
||||
#include <openssl/err.h>
|
||||
#include <openssl/mem.h>
|
||||
#include <openssl/thread.h>
|
||||
#include <openssl/x509.h>
|
||||
|
||||
#if !defined(OPENSSL_TRUSTY)
|
||||
--
|
||||
2.17.1
|
||||
|
|
@ -1,34 +0,0 @@
|
|||
From bf53199001a3aa36efeb457af483accd4643e4c1 Mon Sep 17 00:00:00 2001
|
||||
From: Alexey Gladkov <legion@altlinux.org>
|
||||
Date: Sun, 4 Feb 2018 00:12:27 +0300
|
||||
Subject: [PATCH 21/24] FEDORA: Fix memcpy
|
||||
|
||||
---
|
||||
cc/paint/raw_memory_transfer_cache_entry.cc | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/cc/paint/raw_memory_transfer_cache_entry.cc b/cc/paint/raw_memory_transfer_cache_entry.cc
|
||||
index 2c41fabd9d9..3409c2a5765 100644
|
||||
--- a/cc/paint/raw_memory_transfer_cache_entry.cc
|
||||
+++ b/cc/paint/raw_memory_transfer_cache_entry.cc
|
||||
@@ -1,16 +1,16 @@
|
||||
// Copyright (c) 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.
|
||||
|
||||
#include "cc/paint/raw_memory_transfer_cache_entry.h"
|
||||
-
|
||||
+#include <memory.h>
|
||||
#include <string.h>
|
||||
|
||||
namespace cc {
|
||||
|
||||
ClientRawMemoryTransferCacheEntry::ClientRawMemoryTransferCacheEntry(
|
||||
std::vector<uint8_t> data)
|
||||
: id_(s_next_id_.GetNext()), data_(std::move(data)) {}
|
||||
ClientRawMemoryTransferCacheEntry::~ClientRawMemoryTransferCacheEntry() =
|
||||
default;
|
||||
|
||||
--
|
||||
2.17.1
|
||||
|
|
@ -1,137 +0,0 @@
|
|||
diff -up chromium-62.0.3192.0/media/base/mime_util_internal.cc.wmvflvmpg chromium-62.0.3192.0/media/base/mime_util_internal.cc
|
||||
--- chromium-62.0.3192.0/media/base/mime_util_internal.cc.wmvflvmpg 2017-08-30 15:52:00.602204610 +0200
|
||||
+++ chromium-62.0.3192.0/media/base/mime_util_internal.cc 2017-08-30 16:08:19.855437935 +0200
|
||||
@@ -78,6 +78,16 @@
|
||||
{"mp2", MimeUtil::MP2},
|
||||
{"mp4v.20.8", MimeUtil::MPEG4_SP},
|
||||
{"mp4v.20.240", MimeUtil::MPEG4_ASP},
|
||||
+ {"msmpeg4v1", MimeUtil::MSMPEG4v1},
|
||||
+ {"msmpeg4v2", MimeUtil::MSMPEG4v2},
|
||||
+ {"msmpeg4v3", MimeUtil::MSMPEG4v3},
|
||||
+ {"wmv7", MimeUtil::WMV7},
|
||||
+ {"wmv8", MimeUtil::WMV8},
|
||||
+ {"wmv9", MimeUtil::WMV9},
|
||||
+ {"vc-1", MimeUtil::VC1},
|
||||
+ {"wma", MimeUtil::WMA},
|
||||
+ {"vp6", MimeUtil::VP6},
|
||||
+ {"mpeg1", MimeUtil::MPEG1},
|
||||
},
|
||||
base::KEEP_FIRST_OF_DUPES);
|
||||
|
||||
@@ -309,6 +319,7 @@
|
||||
CodecSet webm_codecs(webm_audio_codecs);
|
||||
webm_codecs.insert(webm_video_codecs.begin(), webm_video_codecs.end());
|
||||
|
||||
+ const CodecSet mp1_codecs{MPEG1};
|
||||
const CodecSet mp3_codecs{MP3};
|
||||
|
||||
CodecSet mp4_audio_codecs{FLAC, MP3, OPUS};
|
||||
@@ -353,6 +364,27 @@
|
||||
CodecSet mp4_codecs(mp4_audio_codecs);
|
||||
mp4_codecs.insert(mp4_video_codecs.begin(), mp4_video_codecs.end());
|
||||
|
||||
+ const CodecSet wma_codecs{WMA};
|
||||
+
|
||||
+ CodecSet wmv_codecs(wma_codecs);
|
||||
+ wmv_codecs.emplace(MSMPEG4v1);
|
||||
+ wmv_codecs.emplace(MSMPEG4v2);
|
||||
+ wmv_codecs.emplace(MSMPEG4v3);
|
||||
+ wmv_codecs.emplace(MPEG4_SP);
|
||||
+ wmv_codecs.emplace(MPEG4_ASP);
|
||||
+ wmv_codecs.emplace(WMV7);
|
||||
+ wmv_codecs.emplace(WMV8);
|
||||
+ wmv_codecs.emplace(WMV9);
|
||||
+ wmv_codecs.emplace(VC1);
|
||||
+
|
||||
+ matroska_codecs.emplace(MSMPEG4v1);
|
||||
+ matroska_codecs.emplace(MSMPEG4v2);
|
||||
+ matroska_codecs.emplace(MSMPEG4v3);
|
||||
+
|
||||
+ CodecSet flv_codecs(mp4_codecs);
|
||||
+ flv_codecs.emplace(VP6);
|
||||
+ flv_codecs.emplace(MP3);
|
||||
+
|
||||
const CodecSet implicit_codec;
|
||||
AddContainerWithCodecs("audio/wav", wav_codecs, false);
|
||||
AddContainerWithCodecs("audio/x-wav", wav_codecs, false);
|
||||
@@ -376,6 +408,11 @@
|
||||
|
||||
AddContainerWithCodecs("audio/x-matroska", matroska_audio_codecs, false);
|
||||
AddContainerWithCodecs("video/x-matroska", matroska_codecs, false);
|
||||
+ AddContainerWithCodecs("video/x-ms-wmv", wmv_codecs, true);
|
||||
+ AddContainerWithCodecs("audio/x-ms-wma", wma_codecs, true);
|
||||
+ AddContainerWithCodecs("video/x-ms-asf", wmv_codecs, true);
|
||||
+ AddContainerWithCodecs("video/x-flv", flv_codecs, true);
|
||||
+ AddContainerWithCodecs("video/mpeg", mp1_codecs, true);
|
||||
|
||||
#if BUILDFLAG(USE_PROPRIETARY_CODECS)
|
||||
AddContainerWithCodecs("audio/aac", implicit_codec, true); // AAC / ADTS.
|
||||
@@ -1007,6 +1044,15 @@
|
||||
case DTS:
|
||||
case MPEG4_SP:
|
||||
case MPEG4_ASP:
|
||||
+ case MSMPEG4v1:
|
||||
+ case MSMPEG4v2:
|
||||
+ case MSMPEG4v3:
|
||||
+ case WMV7:
|
||||
+ case WMV8:
|
||||
+ case WMV9:
|
||||
+ case VC1:
|
||||
+ case WMA:
|
||||
+ case VP6:
|
||||
return true;
|
||||
|
||||
case MP3:
|
||||
@@ -1019,6 +1065,7 @@
|
||||
case VP9:
|
||||
case THEORA:
|
||||
case AV1:
|
||||
+ case MPEG1:
|
||||
return false;
|
||||
}
|
||||
|
||||
diff -up chromium-62.0.3192.0/media/base/mime_util_internal.h.wmvflvmpg chromium-62.0.3192.0/media/base/mime_util_internal.h
|
||||
--- chromium-62.0.3192.0/media/base/mime_util_internal.h.wmvflvmpg 2017-08-30 15:52:00.602204610 +0200
|
||||
+++ chromium-62.0.3192.0/media/base/mime_util_internal.h 2017-08-30 15:52:00.616204356 +0200
|
||||
@@ -48,7 +48,17 @@ class MEDIA_EXPORT MimeUtil {
|
||||
MP2,
|
||||
MPEG4_SP,
|
||||
MPEG4_ASP,
|
||||
- LAST_CODEC = MPEG4_ASP
|
||||
+ MSMPEG4v1,
|
||||
+ MSMPEG4v2,
|
||||
+ MSMPEG4v3,
|
||||
+ WMV7,
|
||||
+ WMV8,
|
||||
+ WMV9,
|
||||
+ VC1,
|
||||
+ WMA,
|
||||
+ VP6,
|
||||
+ MPEG1,
|
||||
+ LAST_CODEC = MPEG1
|
||||
};
|
||||
|
||||
// Platform configuration structure. Controls which codecs are supported at
|
||||
diff -up chromium-62.0.3192.0/net/base/mime_util.cc.wmvflvmpg chromium-62.0.3192.0/net/base/mime_util.cc
|
||||
--- chromium-62.0.3192.0/net/base/mime_util.cc.wmvflvmpg 2017-08-30 15:52:00.604204573 +0200
|
||||
+++ chromium-62.0.3192.0/net/base/mime_util.cc 2017-08-30 16:08:50.210885222 +0200
|
||||
@@ -94,6 +94,10 @@ static const MimeInfo kPrimaryMappings[]
|
||||
{"video/x-matroska", "mkv"},
|
||||
{"audio/x-matroska", "mkv"},
|
||||
{"video/x-msvideo", "avi"},
|
||||
+ {"video/x-ms-wmv", "wmv"},
|
||||
+ {"audio/x-ms-wma", "wma"},
|
||||
+ {"video/x-flv", "flv"},
|
||||
+ {"video/mpeg", "mpg,mpeg"},
|
||||
{"multipart/related", "mht,mhtml"},
|
||||
{"text/css", "css"},
|
||||
{"text/html", "html,htm,shtml,shtm"},
|
||||
@@ -512,6 +516,7 @@ static const char* const kStandardVideoT
|
||||
"video/sd-video",
|
||||
"video/webm",
|
||||
"video/x-dv",
|
||||
+ "video/x-flv",
|
||||
"video/x-m4v",
|
||||
"video/x-matroska",
|
||||
"video/x-mpeg",
|
||||
|
|
@ -1,82 +0,0 @@
|
|||
This patch allows us to use LLVM's gold linker on Linux.
|
||||
|
||||
This patch partly reverts https://chromium.googlesource.com/chromium/src.git/+/0f268cb3af337cf608bd1902148a84195837ad1b%5E%21/
|
||||
Also see https://bugs.chromium.org/p/chromium/issues/detail?id=607968 around comment №100.
|
||||
I did not understand why the gold linker was disallowed on Linux, it was allowed beforehand.
|
||||
|
||||
After commit https://chromium.googlesource.com/chromium/src/+/dd160677bc6cd8a5ab468c187f61902a8fbf4b41%5E%21
|
||||
use_lld was forced to True on x86_64 even if use_gold was True. On i586 gold was used correctly. Trying to workaround it.
|
||||
|
||||
this patch temporarily breaks building with use+ldd=true because it forces use_ldd=false and use_gold=true.
|
||||
|
||||
Author: Mikhail Novosyolov <m.novosyolov@rosalinux.ru>
|
||||
--- a/build/config/compiler/BUILD.gn 2018-10-20 12:45:09.760295019 +0300
|
||||
+++ b/build/config/compiler/BUILD.gn 2018-10-20 12:51:07.536125696 +0300
|
||||
@@ -588,8 +588,7 @@
|
||||
# TODO(pcc): Make this conditional on is_official_build rather than on gn
|
||||
# flags for specific features.
|
||||
if (!is_debug && use_thin_lto && current_toolchain == default_toolchain) {
|
||||
- assert(use_lld || target_os == "chromeos",
|
||||
- "gold plugin only supported with ChromeOS")
|
||||
+ assert(use_lld, "gold plugin cannot be used with lld linker")
|
||||
|
||||
cflags += [ "-flto=thin" ]
|
||||
|
||||
--- a/build/config/compiler/compiler.gni 2018-10-21 02:15:50.290369454 +0300
|
||||
+++ b/build/config/compiler/compiler.gni 2018-10-21 12:38:18.521273343 +0300
|
||||
@@ -63,6 +63,12 @@
|
||||
# It's currently not possible to collect AFDO profiles on anything but
|
||||
# x86{,_64}.
|
||||
using_mismatched_sample_profile = current_cpu != "x64" && current_cpu != "x86"
|
||||
+
|
||||
+ # ROSA-allow-Gold-on-Linux.patch patches out some code for setting these variables,
|
||||
+ # so we have to set them manually
|
||||
+ use_lld = false
|
||||
+ use_gold = true
|
||||
+
|
||||
}
|
||||
|
||||
assert(!is_cfi || use_thin_lto, "CFI requires ThinLTO")
|
||||
@@ -157,30 +163,6 @@
|
||||
}
|
||||
}
|
||||
|
||||
-declare_args() {
|
||||
- # Set to true to use lld, the LLVM linker. This flag may be used on Windows,
|
||||
- # Linux or Fuchsia.
|
||||
- # TODO(pcc): Enable lld on more architectures on Linux. E.g. we probably need
|
||||
- # to fix some of crbug.com/742655 to enable it on ARM.
|
||||
- use_lld =
|
||||
- is_clang &&
|
||||
- (is_win || is_fuchsia || (use_thin_lto && target_os != "chromeos") ||
|
||||
- (is_linux && current_cpu == "x64" && target_os != "chromeos") ||
|
||||
- (is_android && (current_cpu != "arm" || arm_version >= 7) &&
|
||||
- current_cpu != "mipsel" && current_cpu != "mips64el"))
|
||||
-}
|
||||
-
|
||||
-declare_args() {
|
||||
- # Whether to use the gold linker from binutils instead of lld or bfd.
|
||||
- use_gold = !use_lld && !(is_chromecast && is_linux &&
|
||||
- (current_cpu == "arm" || current_cpu == "mipsel")) &&
|
||||
- ((is_linux && (current_cpu == "x64" || current_cpu == "x86" ||
|
||||
- current_cpu == "arm" || current_cpu == "mipsel" ||
|
||||
- current_cpu == "mips64el")) ||
|
||||
- (is_android && (current_cpu == "x86" || current_cpu == "x64" ||
|
||||
- current_cpu == "arm" || current_cpu == "arm64")))
|
||||
-}
|
||||
-
|
||||
# If it wasn't manually set, set to an appropriate default.
|
||||
assert(symbol_level >= -1 && symbol_level <= 2, "Invalid symbol_level")
|
||||
if (symbol_level == -1) {
|
||||
|
||||
--- a/build/config/compiler/BUILD.gn 2018-10-21 01:41:30.065502783 +0300
|
||||
+++ b/build/config/compiler/BUILD.gn 2018-10-21 21:33:10.465382423 +0300
|
||||
@@ -588,8 +588,6 @@
|
||||
# TODO(pcc): Make this conditional on is_official_build rather than on gn
|
||||
# flags for specific features.
|
||||
if (!is_debug && use_thin_lto && current_toolchain == default_toolchain) {
|
||||
- assert(use_lld, "gold plugin cannot be used with lld linker")
|
||||
-
|
||||
cflags += [ "-flto=thin" ]
|
||||
|
||||
# Limit the size of the ThinLTO cache to the lesser of 10% of available disk
|
|
@ -1,104 +0,0 @@
|
|||
From e750e42ded2153c989714b666d7eb29ee27e6315 Mon Sep 17 00:00:00 2001
|
||||
From: Mikhail Novosyolov <m.novosyolov@rosalinux.ru>
|
||||
Date: Wed, 31 Oct 2018 09:24:31 +0300
|
||||
Subject: [PATCH] Enable playback of H265 (HEVC) encoded videos in Chromium v70
|
||||
|
||||
---
|
||||
media/base/mime_util_internal.cc | 8 +++++
|
||||
.../ffmpeg/chromium/scripts/build_ffmpeg.py | 10 +++++--
|
||||
third_party/ffmpeg/ffmpeg_generated.gni | 35 ++++++++++++++++++++++
|
||||
3 files changed, 51 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/media/base/mime_util_internal.cc b/media/base/mime_util_internal.cc
|
||||
index 91bfc8a..17fb8fc 100644
|
||||
--- a/media/base/mime_util_internal.cc
|
||||
+++ b/media/base/mime_util_internal.cc
|
||||
@@ -927,6 +927,14 @@ SupportsType MimeUtil::IsCodecSupported(const std::string& mime_type_lower_case,
|
||||
return IsNotSupported;
|
||||
}
|
||||
|
||||
+ if (video_codec == kCodecHEVC) {
|
||||
+ #if BUILDFLAG(ENABLE_HEVC_DEMUXING)
|
||||
+ return IsSupported;
|
||||
+ #else
|
||||
+ return IsNotSupported;
|
||||
+ #endif
|
||||
+ }
|
||||
+
|
||||
if (video_codec != kUnknownVideoCodec) {
|
||||
VideoConfig video_config = {video_codec, video_profile, video_level,
|
||||
color_space};
|
||||
diff --git a/third_party/ffmpeg/chromium/scripts/build_ffmpeg.py b/third_party/ffmpeg/chromium/scripts/build_ffmpeg.py
|
||||
index 309d7b9..b20e8a2 100755
|
||||
--- a/third_party/ffmpeg/chromium/scripts/build_ffmpeg.py
|
||||
+++ b/third_party/ffmpeg/chromium/scripts/build_ffmpeg.py
|
||||
@@ -830,10 +830,16 @@ def ConfigureAndBuild(target_arch, target_os, host_os, host_arch, parallel_jobs,
|
||||
])
|
||||
|
||||
# Google Chrome & ChromeOS specific configuration.
|
||||
+ # To find ffmpeg parser name:
|
||||
+ # $ cat ./configure | grep parser | grep -E '265|hevc'
|
||||
+ # results to 'hevc_parser', so its name is 'hevc', not 'h265'
|
||||
+ # As far as I understand, FFmpeg has a built-in decoder for H265 (HEVC) (https://launchpad.net/ffmpeg/+announcement/12062),
|
||||
+ # so --enable-libx265 is needed only for encoding capabilities, while we need decoding only, so we don't need --enable-libx265
|
||||
+ # Note that we have 'enable_hevc_demuxing=true' in build flags
|
||||
configure_flags['Chrome'].extend([
|
||||
- '--enable-decoder=aac,h264',
|
||||
+ '--enable-decoder=aac,h264,hevc',
|
||||
'--enable-demuxer=aac',
|
||||
- '--enable-parser=aac,h264',
|
||||
+ '--enable-parser=aac,h264,hevc',
|
||||
])
|
||||
|
||||
# Google ChromeOS specific configuration.
|
||||
diff --git a/third_party/ffmpeg/ffmpeg_generated.gni b/third_party/ffmpeg/ffmpeg_generated.gni
|
||||
index 8ac532b..a5d2aa0 100644
|
||||
--- a/third_party/ffmpeg/ffmpeg_generated.gni
|
||||
+++ b/third_party/ffmpeg/ffmpeg_generated.gni
|
||||
@@ -246,6 +246,43 @@ if ((is_mac && ffmpeg_branding == "Chrome") || (is_win && ffmpeg_branding == "Ch
|
||||
"libavcodec/h264idct.c",
|
||||
"libavcodec/h264qpel.c",
|
||||
"libavcodec/startcode.c",
|
||||
+
|
||||
+ # https://github.com/henrypp/chromium/blob/master/hevc_support_new.md
|
||||
+ "libavformat/avc.c",
|
||||
+ "libavcodec/bswapdsp.c",
|
||||
+ "libavcodec/autorename_libavcodec_hevcdec.c",
|
||||
+ "libavcodec/hevc_cabac.c",
|
||||
+ "libavcodec/hevc_data.c",
|
||||
+ "libavcodec/hevc_filter.c",
|
||||
+ "libavcodec/hevc_mvs.c",
|
||||
+ "libavcodec/hevc_parse.c",
|
||||
+ "libavcodec/hevc_parser.c",
|
||||
+ "libavcodec/hevc_ps.c",
|
||||
+ "libavcodec/hevc_refs.c",
|
||||
+ "libavcodec/hevc_sei.c",
|
||||
+ "libavcodec/hevcdsp.c",
|
||||
+ "libavcodec/hevcpred.c",
|
||||
+ "libavcodec/hevc_mp4toannexb_bsf.c",
|
||||
+ "libavformat/autorename_libavformat_hevc.c",
|
||||
+ "libavformat/hevcdec.c",
|
||||
+ ]
|
||||
+}
|
||||
+
|
||||
+# https://github.com/henrypp/chromium/blob/master/hevc_support_new.md
|
||||
+#if ((use_linux_config) && ((ffmpeg_branding == "Chrome") || (ffmpeg_branding == "ChromeOS")) && (current_cpu == "x64" || current_cpu == "x86")) { # Will this consctruction work?
|
||||
+if ((use_linux_config && ffmpeg_branding == "Chrome" && current_cpu == "x64") || (use_linux_config && ffmpeg_branding == "Chrome" && current_cpu == "x86") || (use_linux_config && ffmpeg_branding == "ChromeOS" && current_cpu == "x64") || (use_linux_config && ffmpeg_branding == "ChromeOS" && current_cpu == "x86")) {
|
||||
+ ffmpeg_yasm_sources += [
|
||||
+ "libavcodec/x86/bswapdsp.asm",
|
||||
+ "libavcodec/x86/hevc_deblock.asm",
|
||||
+ "libavcodec/x86/hevc_idct.asm",
|
||||
+ "libavcodec/x86/hevc_mc.asm",
|
||||
+ "libavcodec/x86/hevc_add_res.asm",
|
||||
+ "libavcodec/x86/hevc_sao.asm",
|
||||
+ "libavcodec/x86/hevc_sao_10bit.asm",
|
||||
+ ]
|
||||
+ ffmpeg_c_sources += [
|
||||
+ "libavcodec/x86/bswapdsp_init.c",
|
||||
+ "libavcodec/x86/hevcdsp_init.c",
|
||||
]
|
||||
}
|
||||
|
||||
--
|
||||
2.10.2
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
Description: add missing include, for size_t
|
||||
Author: Olivier Tilloy <olivier.tilloy@canonical.com>
|
||||
|
||||
--- a/third_party/angle/src/libANGLE/Constants.h
|
||||
+++ b/third_party/angle/src/libANGLE/Constants.h
|
||||
@@ -11,6 +11,8 @@
|
||||
|
||||
#include "common/platform.h"
|
||||
|
||||
+#include <cstddef>
|
||||
+
|
||||
namespace gl
|
||||
{
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
Description: Partially revert 6f23ef1 to fix build failure
|
||||
../../base/process/memory_linux.cc:106:13: error: use of undeclared identifier '__libc_malloc'
|
||||
Origin: https://chromium.googlesource.com/chromium/src/+/6f23ef1f7305a75c2db96afde705bddcddde1f05
|
||||
Author: Olivier Tilloy <olivier.tilloy@canonical.com>
|
||||
|
||||
--- a/base/process/memory_linux.cc
|
||||
+++ b/base/process/memory_linux.cc
|
||||
@@ -48,6 +48,12 @@ void OnNoMemory() {
|
||||
|
||||
} // namespace
|
||||
|
||||
+#if !BUILDFLAG(USE_ALLOCATOR_SHIM) && defined(LIBC_GLIBC) && !defined(USE_TCMALLOC)
|
||||
+extern "C" {
|
||||
+void* __libc_malloc(size_t size);
|
||||
+} // extern C
|
||||
+#endif
|
||||
+
|
||||
void EnableTerminationOnHeapCorruption() {
|
||||
// On Linux, there nothing to do AFAIK.
|
||||
}
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
Description: Enable chromecast extension
|
||||
Author: Olivier Tilloy <olivier.tilloy@canonical.com>
|
||||
Bug-Ubuntu: https://launchpad.net/bugs/1621753
|
||||
|
||||
--- a/extensions/common/feature_switch.cc
|
||||
+++ b/extensions/common/feature_switch.cc
|
||||
@@ -44,11 +44,7 @@ class CommonSwitches {
|
||||
FeatureSwitch::DEFAULT_ENABLED),
|
||||
load_media_router_component_extension(
|
||||
kLoadMediaRouterComponentExtensionFlag,
|
||||
-#if defined(GOOGLE_CHROME_BUILD)
|
||||
FeatureSwitch::DEFAULT_ENABLED)
|
||||
-#else
|
||||
- FeatureSwitch::DEFAULT_DISABLED)
|
||||
-#endif // defined(GOOGLE_CHROME_BUILD)
|
||||
{
|
||||
}
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
Author: Olivier Tilloy <olivier.tilloy@canonical.com>
|
||||
Description: revert of 074fa51f85b15ad2e2d6c804a03825d48dbeb063, which requires Clang r313108 (unreleased yet)
|
||||
|
||||
--- a/build/config/compiler/BUILD.gn
|
||||
+++ b/build/config/compiler/BUILD.gn
|
||||
@@ -501,18 +501,6 @@ config("compiler") {
|
||||
}
|
||||
}
|
||||
|
||||
- if (is_clang && !is_nacl && current_toolchain == host_toolchain &&
|
||||
- target_os != "chromeos") {
|
||||
- cflags += [
|
||||
- # TODO(hans): Remove this once Clang generates better optimized debug info
|
||||
- # by default. https://crbug.com/765793
|
||||
- "-Xclang",
|
||||
- "-mllvm",
|
||||
- "-Xclang",
|
||||
- "-instcombine-lower-dbg-declare=0",
|
||||
- ]
|
||||
- }
|
||||
-
|
||||
# Print absolute paths in diagnostics. There is no precedent for doing this
|
||||
# on Linux/Mac (GCC doesn't support it), but MSVC does this with /FC and
|
||||
# Windows developers rely on it (crbug.com/636109) so only do this on Windows.
|
|
@ -1,28 +0,0 @@
|
|||
Description: set rpath on chromium-browser and v8_context_snapshot_generator executables so that they can locate libffmpeg.so
|
||||
Author: Olivier Tilloy <olivier.tilloy@canonical.com>
|
||||
Bug-Ubuntu: https://launchpad.net/bugs/1718885
|
||||
|
||||
--- a/chrome/BUILD.gn
|
||||
+++ b/chrome/BUILD.gn
|
||||
@@ -291,6 +291,8 @@ if (!is_android && !is_mac) {
|
||||
rebase_path(version_script, root_build_dir) ]
|
||||
}
|
||||
|
||||
+ configs += [ "//build/config/gcc:rpath_for_built_shared_libraries" ]
|
||||
+
|
||||
if (use_x11) {
|
||||
configs += [
|
||||
"//build/config/linux:x11",
|
||||
--- a/tools/v8_context_snapshot/BUILD.gn
|
||||
+++ b/tools/v8_context_snapshot/BUILD.gn
|
||||
@@ -106,6 +106,10 @@ if (use_v8_context_snapshot) {
|
||||
"//v8",
|
||||
]
|
||||
|
||||
+ if (is_linux) {
|
||||
+ configs += [ "//build/config/gcc:rpath_for_built_shared_libraries" ]
|
||||
+ }
|
||||
+
|
||||
configs += [
|
||||
"//v8:external_startup_data",
|
||||
":disable_icf",
|
|
@ -1,25 +0,0 @@
|
|||
Author: Olivier Tilloy <olivier.tilloy@canonical.com>
|
||||
Description: Do not use warning flags that require a newer Clang (bionic has 6.0.0,
|
||||
see https://releases.llvm.org/6.0.0/tools/clang/docs/DiagnosticsReference.html)
|
||||
|
||||
--- a/build/config/compiler/BUILD.gn
|
||||
+++ b/build/config/compiler/BUILD.gn
|
||||
@@ -719,8 +719,7 @@ config("compiler") {
|
||||
# This flag enforces that member pointer base types are complete. It helps
|
||||
# prevent us from running into problems in the Microsoft C++ ABI (see
|
||||
# https://crbug.com/847724).
|
||||
- if (is_clang && !is_nacl && target_os != "chromeos" && !use_xcode_clang &&
|
||||
- (is_win || use_custom_libcxx)) {
|
||||
+ if (false) {
|
||||
cflags += [ "-fcomplete-member-pointers" ]
|
||||
}
|
||||
|
||||
@@ -1502,7 +1501,7 @@ config("default_warnings") {
|
||||
|
||||
# Ignore warnings about MSVC optimization pragmas.
|
||||
# TODO(thakis): Only for no_chromium_code? http://crbug.com/505314
|
||||
- "-Wno-ignored-pragma-optimize",
|
||||
+ #"-Wno-ignored-pragma-optimize",
|
||||
]
|
||||
}
|
||||
}
|
|
@ -1,20 +0,0 @@
|
|||
Description: Add touchscreen support for other xi2 devices.
|
||||
Author: Chad MILLER <chad.miller@canonical.com>
|
||||
Forwarded: yes
|
||||
|
||||
--- a/ui/events/devices/x11/touch_factory_x11.cc
|
||||
+++ b/ui/events/devices/x11/touch_factory_x11.cc
|
||||
@@ -346,8 +346,12 @@ void TouchFactory::CacheTouchscreenIds(i
|
||||
return touchscreen.id == device_id;
|
||||
});
|
||||
// Internal displays will have a vid and pid of 0. Ignore them.
|
||||
- if (it != touchscreens.end() && it->vendor_id && it->product_id)
|
||||
+ if (it != touchscreens.end() && it->vendor_id && it->product_id) {
|
||||
touchscreen_ids_.insert(std::make_pair(it->vendor_id, it->product_id));
|
||||
+ VLOG(1) << "adding device id " << device_id << " to touchscreen list";
|
||||
+ } else {
|
||||
+ VLOG(1) << "NOT adding device id " << device_id << " to touchscreen list because it as a vid or pid zero";
|
||||
+ }
|
||||
}
|
||||
|
||||
} // namespace ui
|
|
@ -1,81 +0,0 @@
|
|||
# Add more URL schemes allowed for saving
|
||||
|
||||
--- a/content/public/common/url_utils.cc
|
||||
+++ b/content/public/common/url_utils.cc
|
||||
@@ -24,11 +24,7 @@ bool HasWebUIScheme(const GURL& url) {
|
||||
}
|
||||
|
||||
bool IsSavableURL(const GURL& url) {
|
||||
- for (auto& scheme : GetSavableSchemes()) {
|
||||
- if (url.SchemeIs(scheme))
|
||||
- return true;
|
||||
- }
|
||||
- return false;
|
||||
+ return true;
|
||||
}
|
||||
|
||||
// PlzNavigate
|
||||
--- a/chrome/browser/ui/browser_commands.cc
|
||||
+++ b/chrome/browser/ui/browser_commands.cc
|
||||
@@ -367,12 +367,6 @@ int GetContentRestrictions(const Browser
|
||||
CoreTabHelper* core_tab_helper =
|
||||
CoreTabHelper::FromWebContents(current_tab);
|
||||
content_restrictions = core_tab_helper->content_restrictions();
|
||||
- NavigationEntry* last_committed_entry =
|
||||
- current_tab->GetController().GetLastCommittedEntry();
|
||||
- if (!content::IsSavableURL(
|
||||
- last_committed_entry ? last_committed_entry->GetURL() : GURL()) ||
|
||||
- current_tab->ShowingInterstitialPage())
|
||||
- content_restrictions |= CONTENT_RESTRICTION_SAVE;
|
||||
if (current_tab->ShowingInterstitialPage())
|
||||
content_restrictions |= CONTENT_RESTRICTION_PRINT;
|
||||
}
|
||||
@@ -921,8 +915,7 @@ bool CanSavePage(const Browser* browser)
|
||||
prefs::kAllowFileSelectionDialogs)) {
|
||||
return false;
|
||||
}
|
||||
- return !browser->is_devtools() &&
|
||||
- !(GetContentRestrictions(browser) & CONTENT_RESTRICTION_SAVE);
|
||||
+ return true;
|
||||
}
|
||||
|
||||
void ShowFindBar(Browser* browser) {
|
||||
--- a/components/offline_pages/core/offline_page_model.cc
|
||||
+++ b/components/offline_pages/core/offline_page_model.cc
|
||||
@@ -37,7 +37,7 @@ OfflinePageModel::DeletedPageInfo::Delet
|
||||
|
||||
// static
|
||||
bool OfflinePageModel::CanSaveURL(const GURL& url) {
|
||||
- return url.is_valid() && url.SchemeIsHTTPOrHTTPS();
|
||||
+ return url.is_valid();
|
||||
}
|
||||
|
||||
OfflinePageModel::OfflinePageModel() = default;
|
||||
--- a/content/common/url_schemes.cc
|
||||
+++ b/content/common/url_schemes.cc
|
||||
@@ -18,6 +18,10 @@ namespace content {
|
||||
namespace {
|
||||
|
||||
const char* const kDefaultSavableSchemes[] = {
|
||||
+ url::kAboutScheme,
|
||||
+ url::kBlobScheme,
|
||||
+ url::kContentScheme,
|
||||
+ url::kGopherScheme,
|
||||
url::kHttpScheme,
|
||||
url::kHttpsScheme,
|
||||
url::kFileScheme,
|
||||
@@ -25,7 +29,13 @@ const char* const kDefaultSavableSchemes
|
||||
url::kFtpScheme,
|
||||
kChromeDevToolsScheme,
|
||||
kChromeUIScheme,
|
||||
- url::kDataScheme
|
||||
+ url::kDataScheme,
|
||||
+ url::kJavaScriptScheme,
|
||||
+ url::kMailToScheme,
|
||||
+ url::kWsScheme,
|
||||
+ url::kWssScheme,
|
||||
+ kGuestScheme,
|
||||
+ kViewSourceScheme
|
||||
};
|
||||
|
||||
// These lists are lazily initialized below and are leaked on shutdown to
|
|
@ -1,32 +0,0 @@
|
|||
From 9990f332bbaa27459400de669e8a7911156f1e72 Mon Sep 17 00:00:00 2001
|
||||
From: Jan Engelhardt <jengelh@inai.de>
|
||||
Date: Sun, 9 Nov 2014 01:54:27 +0100
|
||||
Subject: [PATCH 51/66] promo: disable Google promotion fetching
|
||||
|
||||
Documentation is scarce, and sprinkled with misleading acronyms.
|
||||
NTP is not NTP, for example. FWIW:
|
||||
|
||||
// A PromoResourceService fetches data from a web resource server to
|
||||
// be used to dynamically change the appearance of the New Tab Page.
|
||||
// For example, it has been used to fetch "tips" to be displayed on
|
||||
// the NTP, or to display promotional messages to certain groups of
|
||||
// Chrome users.
|
||||
|
||||
Whatever it is that it downloads, deactivate the one that leads to
|
||||
Google.
|
||||
|
||||
References: https://github.com/iridium-browser/iridium-browser/issues/33
|
||||
---
|
||||
chrome/browser/signin/signin_promo.cc | 5 +++--
|
||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
--- a/chrome/browser/signin/signin_promo.cc
|
||||
+++ b/chrome/browser/signin/signin_promo.cc
|
||||
@@ -140,6 +140,7 @@ const char kSigninPromoLandingURLSuccess
|
||||
|
||||
bool ShouldShowPromoAtStartup(Profile* profile, bool is_new_profile) {
|
||||
DCHECK(profile);
|
||||
+ return false;
|
||||
|
||||
// Don't show if the profile is an incognito.
|
||||
if (profile->IsOffTheRecord())
|
|
@ -1,8 +1,3 @@
|
|||
This patch probably originates from openSUSE
|
||||
(https://build.opensuse.org/package/view_file/network:chromium/chromium/chromium-master-prefs-path.patch?expand=1)
|
||||
|
||||
NOTE: we use /etc/chromium-browser in ROSA, but it is /etc/chromium in openSUSE!
|
||||
|
||||
diff -urN chromium-30.0.1599.66.orig/chrome/browser/first_run/first_run_internal_linux.cc chromium-30.0.1599.66/chrome/browser/first_run/first_run_internal_linux.cc
|
||||
--- chromium-30.0.1599.66.orig/chrome/browser/first_run/first_run_internal_linux.cc 2013-10-04 13:51:55.589208095 +0400
|
||||
+++ chromium-30.0.1599.66/chrome/browser/first_run/first_run_internal_linux.cc 2013-10-04 13:52:49.035210352 +0400
|
28
chromium-50-system-ffmpeg-3.patch
Normal file
28
chromium-50-system-ffmpeg-3.patch
Normal file
|
@ -0,0 +1,28 @@
|
|||
diff -up chromium-51.0.2687.0/third_party/webrtc/modules/video_coding/codecs/h264/h264_decoder_impl.cc.system-ffmpeg-3 chromium-51.0.2687.0/third_party/webrtc/modules/video_coding/codecs/h264/h264_decoder_impl.cc
|
||||
--- chromium-51.0.2687.0/third_party/webrtc/modules/video_coding/codecs/h264/h264_decoder_impl.cc.system-ffmpeg-3 2016-03-22 23:02:39.000000000 +0100
|
||||
+++ chromium-51.0.2687.0/third_party/webrtc/modules/video_coding/codecs/h264/h264_decoder_impl.cc 2016-03-23 18:51:16.810699343 +0100
|
||||
@@ -15,9 +15,9 @@
|
||||
#include <limits>
|
||||
|
||||
extern "C" {
|
||||
-#include "third_party/ffmpeg/libavcodec/avcodec.h"
|
||||
-#include "third_party/ffmpeg/libavformat/avformat.h"
|
||||
-#include "third_party/ffmpeg/libavutil/imgutils.h"
|
||||
+#include <libavcodec/avcodec.h>
|
||||
+#include <libavformat/avformat.h>
|
||||
+#include <libavutil/imgutils.h>
|
||||
} // extern "C"
|
||||
|
||||
#include "api/video/color_space.h"
|
||||
diff -up chromium-51.0.2687.0/third_party/webrtc/modules/video_coding/codecs/h264/h264_decoder_impl.h.system-ffmpeg-3 chromium-51.0.2687.0/third_party/webrtc/modules/video_coding/codecs/h264/h264_decoder_impl.h
|
||||
--- chromium-51.0.2687.0/third_party/webrtc/modules/video_coding/codecs/h264/h264_decoder_impl.h.system-ffmpeg-3 2016-03-23 18:55:39.080894319 +0100
|
||||
+++ chromium-51.0.2687.0/third_party/webrtc/modules/video_coding/codecs/h264/h264_decoder_impl.h 2016-03-23 18:54:32.178123691 +0100
|
||||
@@ -17,7 +17,7 @@
|
||||
#include "modules/video_coding/codecs/h264/include/h264.h"
|
||||
|
||||
extern "C" {
|
||||
-#include "third_party/ffmpeg/libavcodec/avcodec.h"
|
||||
+#include <libavcodec/avcodec.h>
|
||||
} // extern "C"
|
||||
|
||||
#include "common_video/h264/h264_bitstream_parser.h"
|
228
chromium-52-pdfium-system-libtiff-libpng.patch
Normal file
228
chromium-52-pdfium-system-libtiff-libpng.patch
Normal file
|
@ -0,0 +1,228 @@
|
|||
diff -up chromium-60.0.3112.40/third_party/pdfium/BUILD.gn.pdfium-system-libtiff-libpng chromium-60.0.3112.40/third_party/pdfium/BUILD.gn
|
||||
--- chromium-60.0.3112.40/third_party/pdfium/BUILD.gn.pdfium-system-libtiff-libpng 2017-06-22 00:04:09.000000000 +0200
|
||||
+++ chromium-60.0.3112.40/third_party/pdfium/BUILD.gn 2017-06-24 00:05:50.521671902 +0200
|
||||
@@ -19,7 +19,6 @@ config("pdfium_common_config") {
|
||||
ldflags = []
|
||||
include_dirs = [ "." ]
|
||||
defines = [
|
||||
- "OPJ_STATIC",
|
||||
"PNG_PREFIX",
|
||||
"PNG_USE_READ_MACROS",
|
||||
]
|
||||
@@ -668,6 +667,7 @@
|
||||
deps = [
|
||||
":fxcrt",
|
||||
"third_party:lcms2",
|
||||
+ "third_party:fx_libopenjpeg",
|
||||
]
|
||||
}
|
||||
|
||||
@@ -685,6 +685,7 @@
|
||||
configs += [ ":pdfium_core_config" ]
|
||||
deps = [
|
||||
":fxcrt",
|
||||
+ "third_party:fx_libopenjpeg",
|
||||
]
|
||||
}
|
||||
|
||||
diff -up chromium-60.0.3112.40/third_party/pdfium/core/fxcodec/codec/ccodec_tiffmodule.cpp.pdfium-system-libtiff-libpng chromium-60.0.3112.40/third_party/pdfium/core/fxcodec/codec/ccodec_tiffmodule.cpp
|
||||
--- chromium-60.0.3112.40/third_party/pdfium/core/fxcodec/codec/ccodec_tiffmodule.cpp.pdfium-system-libtiff-libpng 2017-06-22 00:04:10.000000000 +0200
|
||||
+++ chromium-60.0.3112.40/third_party/pdfium/core/fxcodec/codec/ccodec_tiffmodule.cpp 2017-06-24 00:05:50.524671846 +0200
|
||||
@@ -19,9 +19,7 @@
|
||||
#include "third_party/base/logging.h"
|
||||
#include "third_party/base/ptr_util.h"
|
||||
|
||||
-extern "C" {
|
||||
-#include "third_party/libtiff/tiffiop.h"
|
||||
-} // extern C
|
||||
+#include <tiffio.h>
|
||||
|
||||
namespace {
|
||||
|
||||
@@ -188,7 +186,7 @@
|
||||
tiff_write, tiff_seek, tiff_close, tiff_get_size,
|
||||
tiff_map, tiff_unmap);
|
||||
if (tif) {
|
||||
- tif->tif_fd = (int)(intptr_t)context;
|
||||
+ (void)TIFFSetFileno(tif, (int)(intptr_t)context);
|
||||
}
|
||||
return tif;
|
||||
}
|
||||
diff -up chromium-60.0.3112.40/third_party/pdfium/core/fxcodec/codec/cjpx_decoder.h.pdfium-system-libtiff-libpng chromium-60.0.3112.40/third_party/pdfium/core/fxcodec/codec/cjpx_decoder.h
|
||||
--- chromium-60.0.3112.40/third_party/pdfium/core/fxcodec/codec/cjpx_decoder.h.pdfium-system-libtiff-libpng 2017-06-24 00:05:50.526671809 +0200
|
||||
+++ chromium-60.0.3112.40/third_party/pdfium/core/fxcodec/codec/cjpx_decoder.h 2017-06-25 12:29:14.039984794 +0200
|
||||
@@ -13,7 +13,7 @@
|
||||
#include "core/fxcodec/codec/codec_int.h"
|
||||
#include "core/fxcrt/unowned_ptr.h"
|
||||
#include "third_party/base/span.h"
|
||||
-#include "third_party/libopenjpeg20/openjpeg.h"
|
||||
+#include <openjpeg.h>
|
||||
|
||||
class CPDF_ColorSpace;
|
||||
|
||||
diff -up chromium-60.0.3112.40/third_party/pdfium/core/fxcodec/codec/codec_int.h.pdfium-system-libtiff-libpng chromium-60.0.3112.40/third_party/pdfium/core/fxcodec/codec/codec_int.h
|
||||
--- chromium-60.0.3112.40/third_party/pdfium/core/fxcodec/codec/codec_int.h.pdfium-system-libtiff-libpng 2017-06-22 00:04:10.000000000 +0200
|
||||
+++ chromium-60.0.3112.40/third_party/pdfium/core/fxcodec/codec/codec_int.h 2017-06-24 00:05:50.521671902 +0200
|
||||
@@ -15,7 +15,7 @@
|
||||
#include <vector>
|
||||
|
||||
#include "core/fxcodec/jbig2/JBig2_Context.h"
|
||||
-#include "third_party/libopenjpeg20/openjpeg.h"
|
||||
+#include <openjpeg.h>
|
||||
|
||||
class CPDF_ColorSpace;
|
||||
|
||||
diff -up chromium-60.0.3112.40/third_party/pdfium/core/fxcodec/codec/ccodec_jpxmodule.cpp.pdfium-system-libtiff-libpng chromium-60.0.3112.40/third_party/pdfium/core/fxcodec/codec/ccodec_jpxmodule.cpp
|
||||
--- chromium-70.0.3538.22/third_party/pdfium/core/fxcodec/codec/ccodec_jpxmodule.cpp.system-libjpeg 2018-09-19 21:13:26.000000000 +0200
|
||||
+++ chromium-70.0.3538.22/third_party/pdfium/core/fxcodec/codec/ccodec_jpxmodule.cpp 2018-09-23 18:25:54.967260458 +0200
|
||||
@@ -17,8 +17,12 @@
|
||||
#include "core/fxcrt/fx_memory.h"
|
||||
#include "core/fxcrt/fx_safe_types.h"
|
||||
#include "third_party/base/ptr_util.h"
|
||||
-#include "third_party/libopenjpeg20/openjpeg.h"
|
||||
-#include "third_party/libopenjpeg20/opj_malloc.h"
|
||||
+#include <openjpeg.h>
|
||||
+//#include <opj_malloc.h>
|
||||
+extern "C" {
|
||||
+extern void * opj_calloc(size_t, size_t);
|
||||
+extern void opj_free(void *);
|
||||
+}
|
||||
|
||||
namespace {
|
||||
|
||||
@@ -514,7 +518,7 @@
|
||||
return false;
|
||||
|
||||
m_Image = pTempImage;
|
||||
- m_Image->pdfium_use_colorspace = !!m_ColorSpace;
|
||||
+// m_Image->pdfium_use_colorspace = !!m_ColorSpace;
|
||||
|
||||
if (!m_Parameters.nb_tile_to_decode) {
|
||||
if (!opj_set_decode_area(m_Codec.Get(), m_Image.Get(), m_Parameters.DA_x0,
|
||||
diff -up chromium-60.0.3112.40/third_party/pdfium/third_party/BUILD.gn.pdfium-system-libtiff-libpng chromium-60.0.3112.40/third_party/pdfium/third_party/BUILD.gn
|
||||
--- chromium-60.0.3112.40/third_party/pdfium/third_party/BUILD.gn.pdfium-system-libtiff-libpng 2017-06-22 00:04:10.000000000 +0200
|
||||
+++ chromium-60.0.3112.40/third_party/pdfium/third_party/BUILD.gn 2017-06-24 22:25:18.901585830 +0200
|
||||
@@ -356,49 +356,14 @@
|
||||
}
|
||||
}
|
||||
|
||||
-config("fx_libopenjpeg_warnings") {
|
||||
- visibility = [ ":*" ]
|
||||
- if (is_win) {
|
||||
- cflags = [
|
||||
- # Signed/unsigned comparisons.
|
||||
- "/wd4018",
|
||||
- ]
|
||||
- }
|
||||
+pkg_config("openjpeg_config") {
|
||||
+ packages = [
|
||||
+ "libopenjp2",
|
||||
+ ]
|
||||
}
|
||||
|
||||
-static_library("fx_libopenjpeg") {
|
||||
- configs -= [ "//build/config/compiler:chromium_code" ]
|
||||
- configs += [
|
||||
- "//build/config/compiler:no_chromium_code",
|
||||
- "//build/config/sanitizers:cfi_icall_generalize_pointers",
|
||||
- ":pdfium_third_party_config",
|
||||
-
|
||||
- # Must be after no_chromium_code for warning flags to be ordered correctly.
|
||||
- ":fx_libopenjpeg_warnings",
|
||||
- ]
|
||||
- sources = [
|
||||
- "libopenjpeg20/bio.c",
|
||||
- "libopenjpeg20/cio.c",
|
||||
- "libopenjpeg20/dwt.c",
|
||||
- "libopenjpeg20/event.c",
|
||||
- "libopenjpeg20/function_list.c",
|
||||
- "libopenjpeg20/image.c",
|
||||
- "libopenjpeg20/invert.c",
|
||||
- "libopenjpeg20/j2k.c",
|
||||
- "libopenjpeg20/jp2.c",
|
||||
- "libopenjpeg20/mct.c",
|
||||
- "libopenjpeg20/mqc.c",
|
||||
- "libopenjpeg20/openjpeg.c",
|
||||
- "libopenjpeg20/opj_clock.c",
|
||||
- "libopenjpeg20/pi.c",
|
||||
- "libopenjpeg20/sparse_array.c",
|
||||
- "libopenjpeg20/sparse_array.h",
|
||||
- "libopenjpeg20/t1.c",
|
||||
- "libopenjpeg20/t2.c",
|
||||
- "libopenjpeg20/tcd.c",
|
||||
- "libopenjpeg20/tgt.c",
|
||||
- "libopenjpeg20/thread.c",
|
||||
- ]
|
||||
+source_set("fx_libopenjpeg") {
|
||||
+ public_configs = [ ":openjpeg_config" ]
|
||||
}
|
||||
|
||||
config("system_libpng_config") {
|
||||
@@ -477,61 +442,13 @@
|
||||
}
|
||||
}
|
||||
|
||||
+config("fx_tiff_config") {
|
||||
+ libs = [ "tiff" ]
|
||||
+}
|
||||
+
|
||||
if (pdf_enable_xfa) {
|
||||
- static_library("fx_tiff") {
|
||||
- configs -= [ "//build/config/compiler:chromium_code" ]
|
||||
- configs += [
|
||||
- "//build/config/compiler:no_chromium_code",
|
||||
- ":pdfium_third_party_config",
|
||||
- ]
|
||||
- if (is_win) {
|
||||
- # Need to undefine the macro since it is redefined in
|
||||
- # tif_ojpeg.c and tif_jpeg.c.
|
||||
- configs -= [ "//build/config/win:lean_and_mean" ]
|
||||
- }
|
||||
- deps = [
|
||||
- ":zlib",
|
||||
- "//third_party:jpeg",
|
||||
- ]
|
||||
- sources = [
|
||||
- "libtiff/tif_aux.c",
|
||||
- "libtiff/tif_close.c",
|
||||
- "libtiff/tif_codec.c",
|
||||
- "libtiff/tif_color.c",
|
||||
- "libtiff/tif_compress.c",
|
||||
- "libtiff/tif_dir.c",
|
||||
- "libtiff/tif_dirinfo.c",
|
||||
- "libtiff/tif_dirread.c",
|
||||
- "libtiff/tif_dirwrite.c",
|
||||
- "libtiff/tif_dumpmode.c",
|
||||
- "libtiff/tif_error.c",
|
||||
- "libtiff/tif_extension.c",
|
||||
- "libtiff/tif_fax3.c",
|
||||
- "libtiff/tif_fax3sm.c",
|
||||
- "libtiff/tif_flush.c",
|
||||
- "libtiff/tif_getimage.c",
|
||||
- "libtiff/tif_jpeg.c",
|
||||
- "libtiff/tif_luv.c",
|
||||
- "libtiff/tif_lzw.c",
|
||||
- "libtiff/tif_next.c",
|
||||
- "libtiff/tif_ojpeg.c",
|
||||
- "libtiff/tif_open.c",
|
||||
- "libtiff/tif_packbits.c",
|
||||
- "libtiff/tif_pixarlog.c",
|
||||
- "libtiff/tif_predict.c",
|
||||
- "libtiff/tif_print.c",
|
||||
- "libtiff/tif_read.c",
|
||||
- "libtiff/tif_strip.c",
|
||||
- "libtiff/tif_swab.c",
|
||||
- "libtiff/tif_thunder.c",
|
||||
- "libtiff/tif_tile.c",
|
||||
- "libtiff/tif_version.c",
|
||||
- "libtiff/tif_warning.c",
|
||||
- "libtiff/tif_write.c",
|
||||
- "libtiff/tif_zip.c",
|
||||
- "libtiff/tiffiop.h",
|
||||
- "libtiff/tiffvers.h",
|
||||
- ]
|
||||
+ source_set("fx_tiff") {
|
||||
+ public_configs = [ ":fx_tiff_config" ]
|
||||
}
|
||||
}
|
||||
|
17
chromium-60.0.3112.78-no-libpng-prefix.patch
Normal file
17
chromium-60.0.3112.78-no-libpng-prefix.patch
Normal file
|
@ -0,0 +1,17 @@
|
|||
diff -up chromium-60.0.3112.78/third_party/libpng/pnglibconf.h.noprefix chromium-60.0.3112.78/third_party/libpng/pnglibconf.h
|
||||
--- chromium-60.0.3112.78/third_party/libpng/pnglibconf.h.noprefix 2017-08-01 14:42:54.321986758 -0400
|
||||
+++ chromium-60.0.3112.78/third_party/libpng/pnglibconf.h 2017-08-01 14:43:01.493845832 -0400
|
||||
@@ -225,13 +225,4 @@
|
||||
#define PNG_USER_CHUNK_MALLOC_MAX 4000000L
|
||||
/* end of chromium settings */
|
||||
|
||||
-/* chromium prefixing */
|
||||
-/*
|
||||
- * This is necessary to build multiple copies of libpng. We need this while pdfium builds
|
||||
- * its own copy of libpng.
|
||||
- */
|
||||
-#define PNG_PREFIX
|
||||
-#include "pngprefix.h"
|
||||
-/* end of chromium prefixing */
|
||||
-
|
||||
#endif /* PNGLCONF_H */
|
11
chromium-61-gcc5.patch
Normal file
11
chromium-61-gcc5.patch
Normal file
|
@ -0,0 +1,11 @@
|
|||
--- chromium-61.0.3163.59/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc.bak 2017-08-23 21:08:14.000000000 +0200
|
||||
+++ chromium-61.0.3163.59/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc 2017-08-29 13:07:50.789475942 +0200
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
#include "modules/audio_processing/aec3/aec_state.h"
|
||||
|
||||
-#include <math.h>
|
||||
+#include <cmath>
|
||||
|
||||
#include <numeric>
|
||||
#include <vector>
|
12
chromium-66.0.3359.81-system-clang.patch
Normal file
12
chromium-66.0.3359.81-system-clang.patch
Normal file
|
@ -0,0 +1,12 @@
|
|||
diff -urN chromium-66.0.3359.81.orig/build/config/clang/clang.gni chromium-66.0.3359.81/build/config/clang/clang.gni
|
||||
--- chromium-66.0.3359.81.orig/build/config/clang/clang.gni 2018-04-11 18:07:36.127271285 +0300
|
||||
+++ chromium-66.0.3359.81/build/config/clang/clang.gni 2018-04-11 18:07:47.817410409 +0300
|
||||
@@ -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
|
|
@ -1,9 +1,6 @@
|
|||
Description: partially revert changes in https://chromium.googlesource.com/chromium/src/+/40a8d84 that require a version of llvm-ar that's more recent than what is in bionic
|
||||
Author: Olivier Tilloy <olivier.tilloy@canonical.com>
|
||||
|
||||
--- a/build/toolchain/gcc_toolchain.gni
|
||||
+++ b/build/toolchain/gcc_toolchain.gni
|
||||
@@ -318,7 +318,7 @@ template("gcc_toolchain") {
|
||||
--- chromium-68.0.3440.106/build/toolchain/gcc_toolchain.gni-orig 2018-08-08 22:10:32.000000000 +0300
|
||||
+++ chromium-68.0.3440.106/build/toolchain/gcc_toolchain.gni 2018-08-11 18:42:17.259611096 +0300
|
||||
@@ -318,7 +318,7 @@
|
||||
} else {
|
||||
rspfile = "{{output}}.rsp"
|
||||
rspfile_content = "{{inputs}}"
|
||||
|
@ -12,12 +9,14 @@ Author: Olivier Tilloy <olivier.tilloy@canonical.com>
|
|||
}
|
||||
|
||||
# Remove the output file first so that ar doesn't try to modify the
|
||||
--- a/build/config/compiler/BUILD.gn
|
||||
+++ b/build/config/compiler/BUILD.gn
|
||||
@@ -1689,7 +1689,6 @@ config("thin_archive") {
|
||||
--- chromium-68.0.3440.106/build/config/compiler/BUILD.gn-orig 2018-08-11 10:15:29.000000000 +0300
|
||||
+++ chromium-68.0.3440.106/build/config/compiler/BUILD.gn 2018-08-11 18:47:35.366897524 +0300
|
||||
@@ -1595,7 +1595,7 @@
|
||||
# have a "thin archive" mode (it does accept -T, but it means truncating
|
||||
# archive names to 16 characters, which is not what we want).
|
||||
if ((is_posix && !is_nacl && !is_mac && !is_ios) || is_fuchsia) {
|
||||
- arflags = [ "-T" ]
|
||||
+ # arflags = [ "-T" ]
|
||||
}
|
||||
}
|
||||
|
17
chromium-69.0.3497.100-build-error-in-clang6.patch
Normal file
17
chromium-69.0.3497.100-build-error-in-clang6.patch
Normal file
|
@ -0,0 +1,17 @@
|
|||
--- chromium-69.0.3497.100/build/config/compiler/BUILD.gn.orig
|
||||
+++ chromium-69.0.3497.100/build/config/compiler/BUILD.gn
|
||||
@@ -666,10 +666,10 @@
|
||||
# This flag enforces that member pointer base types are complete. It helps
|
||||
# prevent us from running into problems in the Microsoft C++ ABI (see
|
||||
# https://crbug.com/847724).
|
||||
- if (is_clang && !is_nacl && target_os != "chromeos" && !use_xcode_clang &&
|
||||
- (is_win || use_custom_libcxx)) {
|
||||
- cflags += [ "-fcomplete-member-pointers" ]
|
||||
- }
|
||||
+ #if (is_clang && !is_nacl && target_os != "chromeos" && !use_xcode_clang &&
|
||||
+ # (is_win || use_custom_libcxx)) {
|
||||
+ # cflags += [ "-fcomplete-member-pointers" ]
|
||||
+ #}
|
||||
|
||||
# Pass the same C/C++ flags to the objective C/C++ compiler.
|
||||
cflags_objc += cflags_c
|
13
chromium-70.0.3538.67-disable-fontconfig-cache-magic.patch
Normal file
13
chromium-70.0.3538.67-disable-fontconfig-cache-magic.patch
Normal file
|
@ -0,0 +1,13 @@
|
|||
diff -up chromium-70.0.3538.67/base/test/BUILD.gn.nofc chromium-70.0.3538.67/base/test/BUILD.gn
|
||||
--- chromium-70.0.3538.67/base/test/BUILD.gn.nofc 2018-10-29 11:29:01.356812567 -0400
|
||||
+++ chromium-70.0.3538.67/base/test/BUILD.gn 2018-10-29 11:29:12.631584916 -0400
|
||||
@@ -209,9 +209,6 @@ static_library("test_support") {
|
||||
data_deps = [
|
||||
"//third_party/test_fonts",
|
||||
]
|
||||
- if (current_toolchain == host_toolchain) {
|
||||
- data_deps += [ ":do_generate_fontconfig_caches" ]
|
||||
- }
|
||||
}
|
||||
|
||||
if (is_ios) {
|
62
chromium-70.0.3538.67-jumbo.diff
Normal file
62
chromium-70.0.3538.67-jumbo.diff
Normal file
|
@ -0,0 +1,62 @@
|
|||
From 5d5ab1d3bda4fcc55bb761df052f6a58a29c8aa4 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Bratell <bratell@opera.com>
|
||||
Date: Tue, 04 Sep 2018 01:10:52 +0000
|
||||
Subject: [PATCH] [jumbo] Give two kForcedInvocationDeadline constants unique names
|
||||
|
||||
In certain jumbo configurations, the two constants names
|
||||
kForcedInvocationDeadline could end up in the same translation
|
||||
unit and then clash. This patch changes the names to
|
||||
kTextFinderTestTimeout and kIdleSpellcheckTestTimeout.
|
||||
|
||||
Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng
|
||||
Change-Id: I76e030b98bead46fa0aff7f3e0ce1f264d754ef9
|
||||
Reviewed-on: https://chromium-review.googlesource.com/1202064
|
||||
Commit-Queue: Kent Tamura <tkent@chromium.org>
|
||||
Reviewed-by: Kent Tamura <tkent@chromium.org>
|
||||
Cr-Commit-Position: refs/heads/master@{#588441}
|
||||
---
|
||||
|
||||
diff --git a/third_party/blink/renderer/core/editing/finder/text_finder.cc b/third_party/blink/renderer/core/editing/finder/text_finder.cc
|
||||
index 4b5c514..1847a69 100644
|
||||
--- a/third_party/blink/renderer/core/editing/finder/text_finder.cc
|
||||
+++ b/third_party/blink/renderer/core/editing/finder/text_finder.cc
|
||||
@@ -68,7 +68,7 @@
|
||||
namespace blink {
|
||||
|
||||
namespace {
|
||||
-constexpr TimeDelta kForcedInvocationDeadline = TimeDelta::FromSeconds(10);
|
||||
+constexpr TimeDelta kTextFinderTestTimeout = TimeDelta::FromSeconds(10);
|
||||
}
|
||||
|
||||
TextFinder::FindMatch::FindMatch(Range* range, int ordinal)
|
||||
@@ -888,7 +888,7 @@
|
||||
// https://crbug.com/875203
|
||||
if (options.run_synchronously_for_testing) {
|
||||
ScopeStringMatches(
|
||||
- IdleDeadline::Create(CurrentTimeTicks() + kForcedInvocationDeadline,
|
||||
+ IdleDeadline::Create(CurrentTimeTicks() + kTextFinderTestTimeout,
|
||||
IdleDeadline::CallbackType::kCalledWhenIdle),
|
||||
identifier, search_text, options);
|
||||
} else {
|
||||
diff --git a/third_party/blink/renderer/core/editing/spellcheck/idle_spell_check_controller.cc b/third_party/blink/renderer/core/editing/spellcheck/idle_spell_check_controller.cc
|
||||
index 21c25f5..0acffa8 100644
|
||||
--- a/third_party/blink/renderer/core/editing/spellcheck/idle_spell_check_controller.cc
|
||||
+++ b/third_party/blink/renderer/core/editing/spellcheck/idle_spell_check_controller.cc
|
||||
@@ -35,7 +35,7 @@
|
||||
const int kHotModeRequestTimeoutMS = 200;
|
||||
const int kInvalidHandle = -1;
|
||||
const int kDummyHandleForForcedInvocation = -2;
|
||||
-constexpr TimeDelta kForcedInvocationDeadline = TimeDelta::FromSeconds(10);
|
||||
+constexpr TimeDelta kIdleSpellcheckTestTimeout = TimeDelta::FromSeconds(10);
|
||||
|
||||
} // namespace
|
||||
|
||||
@@ -233,7 +233,7 @@
|
||||
return;
|
||||
|
||||
IdleDeadline* deadline =
|
||||
- IdleDeadline::Create(CurrentTimeTicks() + kForcedInvocationDeadline,
|
||||
+ IdleDeadline::Create(CurrentTimeTicks() + kIdleSpellcheckTestTimeout,
|
||||
IdleDeadline::CallbackType::kCalledWhenIdle);
|
||||
|
||||
switch (state_) {
|
13
chromium-70.0.3538.77-no-system-nodejs.patch
Normal file
13
chromium-70.0.3538.77-no-system-nodejs.patch
Normal file
|
@ -0,0 +1,13 @@
|
|||
--- chromium-70.0.3538.77/third_party/node/update_node_binaries-orig 2018-10-30 19:13:45.462871396 +0300
|
||||
+++ chromium-70.0.3538.77/third_party/node/update_node_binaries 2018-10-30 19:13:45.462871396 +0300
|
||||
@@ -83,8 +83,8 @@
|
||||
}
|
||||
|
||||
# First download checksum file.
|
||||
-rm -f "SHASUMS256.txt"
|
||||
-wget "https://nodejs.org/dist/latest-v8.x/SHASUMS256.txt"
|
||||
+rm -fr "SHASUMS256.txt"
|
||||
+wget "https://nodejs.org/dist/${NODE_VERSION}/SHASUMS256.txt"
|
||||
|
||||
update_unix "darwin-x64" "mac"
|
||||
update_unix "linux-x64" "linux"
|
|
@ -4,14 +4,9 @@
|
|||
# [3] https://www.archlinux.org/packages/extra/x86_64/chromium/
|
||||
# [4] https://src.fedoraproject.org/rpms/chromium/
|
||||
# [5] https://gitweb.gentoo.org/repo/gentoo.git/tree/www-client/chromium/
|
||||
# [6] https://svnweb.freebsd.org/ports/head/www/chromium/Makefile?view=markup
|
||||
# [7] https://packages.altlinux.org/ru/Sisyphus/srpms/chromium/spec
|
||||
# [8] https://build.opensuse.org/package/show/network:chromium/chromium
|
||||
# [9] https://packages.ubuntu.com/search?keywords=chromium-browser
|
||||
# [10] http://svnweb.mageia.org/packages/cauldron/chromium-browser-stable/current/
|
||||
# [11] https://salsa.debian.org/chromium-team/chromium/tree/master/debian/
|
||||
|
||||
# The script ./patches.sh helps to sync patches in spec and real files
|
||||
# Get the version number of latest stable version
|
||||
# $ curl -s 'https://omahaproxy.appspot.com/all?os=linux&channel=stable' | sed 1d | cut -d , -f 3
|
||||
|
||||
%global _build_pkgcheck_set %{nil}
|
||||
|
||||
|
@ -21,29 +16,26 @@
|
|||
|
||||
%define crname chromium-browser
|
||||
%define _crdir %{_libdir}/%{crname}
|
||||
# Yandex Browser and other proprietary forks of Chromium look for libffmpeg.so in /usr/lib/chromium-browser,
|
||||
# while we use /usr/lib64/chromium-browser on x86_64
|
||||
%define _crdir_compat %{_prefix}/lib/%{crname}
|
||||
%define _src %{_topdir}/SOURCES
|
||||
|
||||
%define ffmpeg 1
|
||||
%define icu 0
|
||||
%define libva 1
|
||||
%define libva 0
|
||||
%define clang 1
|
||||
%define jsoncpp 0
|
||||
%define AdditionalMediaPlayback 0
|
||||
%define ffmpegBranding ChromeOS
|
||||
%define sys_node 1
|
||||
|
||||
# Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys
|
||||
# Note: these are for use in ROSA ONLY. For your own builds, please get your own set of keys.
|
||||
# Keys holder: <m.novosyolov@rosalinux.ru>.
|
||||
%define google_api_key AIzaSyA2ygnywlVvVIk-uWG2Q2E7pCLi5KSKbVA
|
||||
%define google_default_client_id 215987972668-ks8srss9fos6m30kj158rol7h6ni18vr.apps.googleusercontent.com
|
||||
%define google_default_client_secret G78Jv5Y_WbPSBaiLrrFwIdvs
|
||||
# Note: these are for Mageia use ONLY.
|
||||
# For your own builds, please get your own set of keys.
|
||||
%define google_api_key AIzaSyDhhIHB_kQZodiWr8yDAm8E3GwEyiXmuDU
|
||||
%define google_default_client_id 1039996407057-q599ngv7i6ni4sbkd2fsns30246r9s9v.apps.googleusercontent.com
|
||||
%define google_default_client_secret mRHXPjlS4cLpp1beCiXoYbLZ
|
||||
|
||||
Summary: A fast web browser based on the Blink engine
|
||||
Name: chromium-browser-stable
|
||||
Version: 70.0.3538.77
|
||||
Release: 6
|
||||
Release: 7
|
||||
License: BSD, LGPL
|
||||
Group: Networking/WWW
|
||||
Url: https://www.chromium.org/Home
|
||||
|
@ -54,74 +46,77 @@ Source2: chromium-browser.desktop
|
|||
# https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files/toolchain/BUILD.gn
|
||||
Source5: BUILD.gn
|
||||
Source10: %{name}.rpmlintrc
|
||||
# rosa.sh is a script that makes some changes into the source code of bundled FFmpeg to build Chromium with support for playing H265 (HEVC) videos
|
||||
# rosa.sh and ROSA-enable-H265.patch must be used together (don't forget to set enable_hevc_demuxing=true)
|
||||
# rosa.sh is copied from https://abf.io/mikhailnov/chromium-source (https://abf.io/mikhailnov/chromium-source/blob/master/rosa.sh)
|
||||
Source20: rosa.sh
|
||||
Source30: master_preferences
|
||||
Source31: default_bookmarks.html
|
||||
Source32: chromium.default
|
||||
Source100: icons.tar.bz2
|
||||
Source997: depot_tools.tar.xz
|
||||
Source999: new-system-icons.tar.xz
|
||||
Patch4: chromium-30.0.1599.66-master-prefs-path.patch
|
||||
|
||||
Patch4: openSUSE-master-prefs-path.patch
|
||||
Patch22: chromium-54-proprietary-codecs-assert.patch
|
||||
# (cjw) Recognize mimetypes for matroska (.mkv) and AVI (.avi) formats (video/x-matroska and audio/x-matroska, video/x-msvideo) + handle A52 "AC3" and DTS compressed audio
|
||||
# These patches allow playing additional formats of video and audio instead of just downloading them
|
||||
# But as we now use built-in FFmpeg, not the system one, we have to either carefully sync third_party/ffmpeg/chromium/scripts/build_ffmpeg.py with these patches, or just don't use them.
|
||||
Patch32: MAGEIA-extra-media.patch
|
||||
Patch33: MAGEIA-wmvflvmpg.patch
|
||||
%if 0%{jsoncpp}
|
||||
# (cjw) add missing unbundle gn files (1)
|
||||
Patch28: chromium-53-gn-system-icu-jsoncpp.patch
|
||||
%endif
|
||||
# (cjw) build pdfium with system libtiff and libpng
|
||||
Patch30: chromium-52-pdfium-system-libtiff-libpng.patch
|
||||
# (cjw) Recognize mimetypes for matroska (.mkv) and AVI (.avi) formats (video/x-matroska and audio/x-matroska, video/x-msvideo) + handle A52 "AC3" and DTS compressed audio.
|
||||
Patch32: chromium-55-extra-media.patch
|
||||
# (cjw) fix webrtc build with system ffmpeg
|
||||
Patch35: chromium-50-system-ffmpeg-3.patch
|
||||
# (cjw) fix build with current glib...
|
||||
Patch36: chromium-58-glib.patch
|
||||
Patch500: DEBIAN-third-party-cookies-off-by-default.patch
|
||||
Patch501: DEBIAN-ps-print.patch
|
||||
# Google patched their bundled copy of icu 54 to include API functionality that wasn't added until 55.
|
||||
Patch502: chromium-45.0.2454.101-system-icu-54-does-not-have-detectHostTimeZone.patch
|
||||
# fix build with icu other than 54
|
||||
Patch504: GENTOO-system-icu-r0.patch
|
||||
# https://aur.archlinux.org/packages/chromium-vaapi/
|
||||
# https://github.com/saiarcot895/chromium-ubuntu-build
|
||||
# openSUSE-libva1.patch must be applied after chromium-vaapi-r*.patch
|
||||
Patch508: chromium-vaapi-r21.patch
|
||||
Patch509: openSUSE-libva1.patch
|
||||
Patch510: GENTOO-widevine-r2.patch
|
||||
Patch601: chromium-62-include-cstdlib.patch
|
||||
# Equal to Ubuntu's patches/fix-ffmpeg-ia32-build.patch
|
||||
Patch605: GENTOO-ffmpeg-ebp-r1.patch
|
||||
# Add "ROSA" to the user agent string
|
||||
Patch627: ROSA-user-agent.patch
|
||||
Patch710: DEBIAN-Fixes-gpu-timeout.patch
|
||||
Patch730: ALT-allow-to-override-clang-through-env-variables.patch
|
||||
Patch732: FEDORA-Fix-memcpy.patch
|
||||
Patch733: FEDORA-Fix-issue-where-timespec-is-not-defined-when-.patch
|
||||
Patch744: UBUNTU-define__libc_malloc.patch
|
||||
Patch745: UBUNTU-add-missing-cstddef-include.patch
|
||||
Patch746: UBUNTU-set-rpath-on-chromium-executables.patch
|
||||
Patch747: UBUNTU-suppress-newer-clang-warning-flags.patch
|
||||
Patch748: UBUNTU-enable-chromecast-by-default.patch
|
||||
Patch750: UBUNTU-fix-extra-arflags.patch
|
||||
Patch751: UBUNTU-touch-v35.patch
|
||||
Patch752: UBUNTU-revert-Xclang-instcombine-lower-dbg-declare.patch
|
||||
# Patch753 does not work
|
||||
Patch753: ROSA-allow-Gold-on-Linux.patch
|
||||
Patch755: openSUSE-system-libusb.patch
|
||||
Patch756: openSUSE-libusb_interrupt_event_handler.patch
|
||||
Patch757: ROSA-enable-H265.patch
|
||||
# clang builtin subtract functions, scoped enum
|
||||
Patch47: chromium-61-gcc5.patch
|
||||
|
||||
# Pathes from Ungoogle Chromium (https://github.com/Eloston/ungoogled-chromium/blob/master/patches/ungoogled-chromium)
|
||||
# This patch should speed up openning a blank new tab
|
||||
Patch810: UNGOOGLED-promo-disable-Google-promotion-fetching.patch
|
||||
Patch820: UNGOOGLED-enable-page-saving-on-more-pages.patch
|
||||
# New from Debian
|
||||
Patch500: chromium-third-party-cookies-off-by-default.patch
|
||||
Patch501: chromium-ps-print.patch
|
||||
|
||||
# Google patched their bundled copy of icu 54 to include API functionality that wasn't added until 55.
|
||||
# :P
|
||||
Patch502: chromium-45.0.2454.101-system-icu-54-does-not-have-detectHostTimeZone.patch
|
||||
# Patch to fix build with use_system_libvpx
|
||||
# Chromium bug #541273
|
||||
# fix build with icu other than 54
|
||||
Patch504: chromium-system-icu-r0.patch
|
||||
|
||||
# https://aur.archlinux.org/packages/chromium-vaapi/
|
||||
Patch508: chromium-vaapi-r21.patch
|
||||
Patch509: chromium-widevine-r2.patch
|
||||
|
||||
# ROSA Build
|
||||
Patch600: chromium-buildname-60.0.3112.90.patch
|
||||
# Patch to fix build
|
||||
Patch601: chromium-62-include-cstdlib.patch
|
||||
|
||||
# https://github.com/RussianFedora/chromium/blob/fedora-stable/chromium-66.0.3359.81-system-clang.patch
|
||||
Patch603: chromium-66.0.3359.81-system-clang.patch
|
||||
# http://ftp.riken.jp/Linux/gentoo/www-client/chromium/files/
|
||||
Patch604: chromium-compiler-r4.patch
|
||||
Patch605: chromium-ffmpeg-ebp-r1.patch
|
||||
# https://chromium.googlesource.com/chromium/src/+/40a8d84a54ac47d3299194c5377aebd71714f1f0%5E%21/
|
||||
Patch607: chromium-67.0.3396.87-fix-build-llvm-ar.patch
|
||||
|
||||
# Add "ROSA" to the user agent string
|
||||
Patch627: chromium-68.0.3440.106-rosa-user-agent.patch
|
||||
# Do not prefix libpng functions
|
||||
Patch629: chromium-60.0.3112.78-no-libpng-prefix.patch
|
||||
# Fix errors build in 69
|
||||
Patch631: chromium-69.0.3497.100-build-error-in-clang6.patch
|
||||
|
||||
Patch700: chromium-70.0.3538.77-no-system-nodejs.patch
|
||||
# [jumbo] Give two kForcedInvocationDeadline constants unique names
|
||||
Patch710: chromium-70.0.3538.67-jumbo.diff
|
||||
# Disable fontconfig cache magic that breaks remoting
|
||||
Patch717: chromium-70.0.3538.67-disable-fontconfig-cache-magic.patch
|
||||
|
||||
Provides: %{crname} = %{EVRD}
|
||||
Conflicts: chromium-browser-unstable
|
||||
Conflicts: chromium-browser-beta
|
||||
Obsoletes: chromium-browser < 1:9.0.597.94
|
||||
|
||||
BuildRequires: bison
|
||||
# for rosa.sh
|
||||
BuildRequires: bash
|
||||
%if 0%{?clang}
|
||||
BuildRequires: clang
|
||||
BuildRequires: lld
|
||||
|
@ -130,15 +125,15 @@ BuildRequires: libcxxabi-devel
|
|||
%endif
|
||||
# gn needs these
|
||||
BuildRequires: libstdc++-static-devel
|
||||
BuildRequires: libstdc++-devel
|
||||
BuildRequires: flex
|
||||
BuildRequires: git
|
||||
BuildRequires: gperf
|
||||
BuildRequires: gyp
|
||||
BuildRequires: ninja
|
||||
BuildRequires: nodejs >= 6.7.0
|
||||
%if 0%{?sys_node}
|
||||
BuildRequires: nodejs
|
||||
%endif
|
||||
BuildRequires: util-linux
|
||||
BuildRequires: bzip2 xz
|
||||
BuildRequires: yasm
|
||||
BuildRequires: atomic-devel
|
||||
BuildRequires: bzip2-devel
|
||||
|
@ -150,11 +145,16 @@ BuildRequires: jpeg-devel
|
|||
BuildRequires: jsoncpp-devel
|
||||
%endif
|
||||
BuildRequires: pam-devel
|
||||
BuildRequires: snappy-devel
|
||||
BuildRequires: speech-dispatcher-devel
|
||||
BuildRequires: pkgconfig(alsa)
|
||||
BuildRequires: pkgconfig(atk)
|
||||
BuildRequires: pkgconfig(dbus-glib-1)
|
||||
BuildRequires: pkgconfig(expat)
|
||||
%if 0%{?ffmpeg}
|
||||
BuildRequires: pkgconfig(libavcodec) >= 4.0.2
|
||||
%endif
|
||||
BuildRequires: pkgconfig(flac)
|
||||
BuildRequires: pkgconfig(fontconfig)
|
||||
BuildRequires: pkgconfig(freetype2)
|
||||
BuildRequires: pkgconfig(gconf-2.0)
|
||||
|
@ -163,7 +163,9 @@ BuildRequires: pkgconfig(glib-2.0)
|
|||
BuildRequires: pkgconfig(glu)
|
||||
BuildRequires: pkgconfig(gnome-keyring-1)
|
||||
BuildRequires: pkgconfig(gstreamer-plugins-base-1.0)
|
||||
BuildRequires: pkgconfig(gtk+-2.0)
|
||||
BuildRequires: pkgconfig(gtk+-3.0)
|
||||
BuildRequires: pkgconfig(harfbuzz)
|
||||
%if 0%{icu}
|
||||
BuildRequires: pkgconfig(icu-i18n)
|
||||
%endif
|
||||
|
@ -173,10 +175,15 @@ BuildRequires: pkgconfig(libgpsd)
|
|||
BuildRequires: pkgconfig(libmtp)
|
||||
BuildRequires: pkgconfig(libopenjp2)
|
||||
BuildRequires: pkgconfig(libpci)
|
||||
BuildRequires: pkgconfig(libpng)
|
||||
BuildRequires: pkgconfig(libpulse)
|
||||
BuildRequires: pkgconfig(libtiff-4)
|
||||
BuildRequires: pkgconfig(libusb-1.0)
|
||||
BuildRequires: pkgconfig(libxml-2.0)
|
||||
BuildRequires: pkgconfig(libxslt)
|
||||
%if 0%{?libva}
|
||||
BuildRequires: pkgconfig(libva)
|
||||
%endif
|
||||
BuildRequires: pkgconfig(minizip)
|
||||
BuildRequires: pkgconfig(nspr)
|
||||
BuildRequires: pkgconfig(nss)
|
||||
|
@ -186,21 +193,10 @@ BuildRequires: pkgconfig(udev)
|
|||
BuildRequires: pkgconfig(xscrnsaver)
|
||||
BuildRequires: pkgconfig(xt)
|
||||
BuildRequires: pkgconfig(xtst)
|
||||
BuildRequires: pkgconfig(krb5-gssapi)
|
||||
BuildRequires: pkgconfig(zlib)
|
||||
BuildRequires: pythonegg(beautifulsoup4)
|
||||
BuildRequires: pythonegg(html5lib)
|
||||
|
||||
# These libraries can be either system or bundled.
|
||||
# Commented out those which were switched from system to bundled.
|
||||
#BuildRequires: pkgconfig(flac)
|
||||
#BuildRequires: pkgconfig(zlib)
|
||||
#BuildRequires: pkgconfig(vpx)
|
||||
#BuildRequires: pkgconfig(libpng)
|
||||
#BuildRequires: pkgconfig(libxslt)
|
||||
#BuildRequires: pkgconfig(libtiff-4)
|
||||
#BuildRequires: pkgconfig(harfbuzz)
|
||||
#BuildRequires: snappy-devel
|
||||
|
||||
Suggests: chromium-browser-pepper-flash
|
||||
Conflicts: chromium-widevinecdm-plugin < 54
|
||||
Obsoletes: chromium-widevinecdm-plugin < 54
|
||||
|
@ -208,7 +204,6 @@ Conflicts: chromium-browser-beta
|
|||
Conflicts: chromium-browser-unstable
|
||||
Obsoletes: chromium-browser < 1:9.0.597.94
|
||||
Obsoletes: chromium-browser-pdf-plugin < 17.0.0.169
|
||||
Requires: chromium-stable-codecs-ffmpeg = %{EVRD}
|
||||
|
||||
Provides: %{crname} = %{EVRD}
|
||||
|
||||
|
@ -255,26 +250,6 @@ fi
|
|||
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
%package -n chromium-stable-codecs-ffmpeg
|
||||
Summary: FFmpeg codecs (libffmpeg.so) for Chromium-based browsers
|
||||
Group: System/Libraries
|
||||
Provides: chromium-stable-codecs-ffmpeg = %{EVRD}
|
||||
Provides: chromium-stable-codecs-ffmpeg-extra = %{EVRD}
|
||||
Provides: chromium-codecs-ffmpeg-extra = %{EVRD}
|
||||
Provides: chromium-codecs-ffmpeg = %{EVRD}
|
||||
|
||||
%description -n chromium-stable-codecs-ffmpeg
|
||||
FFmpeg codecs (libffmpeg.so) for Chromium-based browsers.
|
||||
This packaged is build from Chromium's bundled FFmpeg
|
||||
with proprietary codecs turned on.
|
||||
|
||||
%files -n chromium-stable-codecs-ffmpeg
|
||||
%{_crdir}/libffmpeg.so
|
||||
%ifarch x86_64
|
||||
%{_crdir_compat}/libffmpeg.so
|
||||
%endif
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
%package -n chromium-browser
|
||||
Summary: A fast web browser based on the Blink engine
|
||||
Epoch: 1
|
||||
|
@ -319,12 +294,20 @@ members of the Chromium and WebDriver teams.
|
|||
|
||||
%patch4 -p1 -b .prefs
|
||||
%patch22 -p1
|
||||
%patch36 -p1
|
||||
|
||||
%if 0%{?AdditionalMediaPlayback}
|
||||
%patch32 -p1
|
||||
%patch33 -p1
|
||||
%if 0%{jsoncpp}
|
||||
%patch28 -p1
|
||||
%endif
|
||||
%patch30 -p1
|
||||
%patch32 -p1
|
||||
%if 0%{?ffmpeg}
|
||||
%patch35 -p1
|
||||
%endif
|
||||
%patch36 -p1
|
||||
%patch47 -p1
|
||||
|
||||
# new from debian
|
||||
%patch500 -p1
|
||||
%patch501 -p1
|
||||
|
||||
%if 0%{icu}
|
||||
%patch502 -p1 -b .system-icu
|
||||
|
@ -332,51 +315,237 @@ members of the Chromium and WebDriver teams.
|
|||
%endif
|
||||
|
||||
%if 0%{?libva}
|
||||
%patch508 -p1 -b .vaapiMain
|
||||
# We have libva1 in rosa2016.1, but will have libva2 in rosa2019.1
|
||||
# This patch is needed for libva1 only (where VA_MAJOR_VERSION = 0)
|
||||
#define vaapi_version #(cat %{_includedir}/va/va_version.h | grep '#define VA_MAJOR_VERSION ' | awk '{print $NF}')
|
||||
%if %{mdvver} < 201800
|
||||
%patch509 -p1 -b .vaapi1
|
||||
%endif
|
||||
%patch508 -p1 -b .vaapi
|
||||
%endif
|
||||
%patch509 -p1
|
||||
|
||||
%patch500 -p1
|
||||
%patch501 -p1
|
||||
%patch510 -p1
|
||||
%patch600 -p1
|
||||
%patch601 -p1
|
||||
|
||||
%patch603 -p1
|
||||
%patch604 -p1
|
||||
%patch605 -p1
|
||||
|
||||
%patch607 -p1
|
||||
|
||||
%patch627 -p1
|
||||
%patch629 -p1
|
||||
|
||||
%patch631 -p1 -b .clang6
|
||||
|
||||
%if 0%{?sys_node}
|
||||
#
|
||||
%else
|
||||
%patch700 -p1
|
||||
%endif
|
||||
|
||||
%patch710 -p1
|
||||
%patch730 -p1
|
||||
%patch732 -p1
|
||||
%patch733 -p1
|
||||
%patch744 -p1
|
||||
%patch745 -p1
|
||||
%patch746 -p1
|
||||
%patch747 -p1
|
||||
%patch748 -p1
|
||||
%patch750 -p1
|
||||
%patch751 -p1
|
||||
%patch752 -p1
|
||||
#patch753 -p1
|
||||
%patch755 -p1
|
||||
%patch756 -p1
|
||||
%patch757 -p1
|
||||
|
||||
%patch810 -p1
|
||||
%patch820 -p1
|
||||
|
||||
# hack for libusb stuff (from openSUSE)
|
||||
rm -rf third_party/libusb/src/libusb/libusb.h
|
||||
cp -a %{_includedir}/libusb-1.0/libusb.h third_party/libusb/src/libusb/libusb.h
|
||||
%patch717 -p1
|
||||
|
||||
mkdir -p third_party/llvm-build/Release+Asserts/bin
|
||||
pushd third_party/llvm-build/Release+Asserts/bin
|
||||
ln -sf "$(which clang)" clang
|
||||
ln -sf "$(which clang++)" clang++
|
||||
ln -sf /usr/bin/clang clang
|
||||
ln -sf /usr/bin/clang++ clang++
|
||||
popd
|
||||
|
||||
# Remove most of the bundled libraries. Libraries specified below (taken from
|
||||
# Gentoo's Chromium ebuild) are the libraries that needs to be preserved.
|
||||
build/linux/unbundle/remove_bundled_libraries.py \
|
||||
'buildtools/third_party/libc++' \
|
||||
'buildtools/third_party/libc++abi' \
|
||||
'base/third_party/dmg_fp' \
|
||||
'base/third_party/dynamic_annotations' \
|
||||
'base/third_party/icu' \
|
||||
'base/third_party/libevent' \
|
||||
'base/third_party/nspr' \
|
||||
'base/third_party/superfasthash' \
|
||||
'base/third_party/symbolize' \
|
||||
'base/third_party/valgrind' \
|
||||
'base/third_party/xdg_mime' \
|
||||
'base/third_party/xdg_user_dirs' \
|
||||
'chrome/third_party/mozilla_security_manager' \
|
||||
'courgette/third_party' \
|
||||
'net/third_party/http2' \
|
||||
'net/third_party/mozilla_security_manager' \
|
||||
'net/third_party/nss' \
|
||||
'net/third_party/quic' \
|
||||
'net/third_party/spdy' \
|
||||
'net/third_party/uri_template' \
|
||||
'third_party/WebKit' \
|
||||
'third_party/abseil-cpp' \
|
||||
'third_party/adobe' \
|
||||
'third_party/analytics' \
|
||||
'third_party/angle' \
|
||||
'third_party/angle/src/common/third_party/base' \
|
||||
'third_party/angle/src/common/third_party/smhasher' \
|
||||
'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-headers' \
|
||||
'third_party/angle/third_party/vulkan-loader' \
|
||||
'third_party/angle/third_party/vulkan-tools' \
|
||||
'third_party/angle/third_party/vulkan-validation-layers' \
|
||||
'third_party/apple_apsl' \
|
||||
'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' \
|
||||
'third_party/cacheinvalidation' \
|
||||
'third_party/catapult' \
|
||||
'third_party/catapult/common/py_vulcanize/third_party/rcssmin' \
|
||||
'third_party/catapult/common/py_vulcanize/third_party/rjsmin' \
|
||||
'third_party/catapult/third_party/beautifulsoup4' \
|
||||
'third_party/catapult/third_party/html5lib-python' \
|
||||
'third_party/catapult/third_party/polymer' \
|
||||
'third_party/catapult/third_party/six' \
|
||||
'third_party/catapult/tracing/third_party/d3' \
|
||||
'third_party/catapult/tracing/third_party/gl-matrix' \
|
||||
'third_party/catapult/tracing/third_party/jszip' \
|
||||
'third_party/catapult/tracing/third_party/mannwhitneyu' \
|
||||
'third_party/catapult/tracing/third_party/oboe' \
|
||||
'third_party/catapult/tracing/third_party/pako' \
|
||||
'third_party/ced' \
|
||||
'third_party/cld_3' \
|
||||
'third_party/crashpad' \
|
||||
'third_party/crashpad/crashpad/third_party/zlib/' \
|
||||
'third_party/crc32c' \
|
||||
'third_party/cros_system_api' \
|
||||
'third_party/devscripts' \
|
||||
'third_party/dom_distiller_js' \
|
||||
'third_party/expat' \
|
||||
'third_party/ffmpeg' \
|
||||
'third_party/fips181' \
|
||||
'third_party/flac' \
|
||||
'third_party/flatbuffers' \
|
||||
'third_party/flot' \
|
||||
'third_party/fontconfig' \
|
||||
'third_party/freetype' \
|
||||
'third_party/glslang-angle' \
|
||||
'third_party/google_input_tools' \
|
||||
'third_party/google_input_tools/third_party/closure_library' \
|
||||
'third_party/google_input_tools/third_party/closure_library/third_party/closure' \
|
||||
'third_party/googletest' \
|
||||
'third_party/harfbuzz-ng' \
|
||||
'third_party/hunspell' \
|
||||
'third_party/iccjpeg' \
|
||||
'third_party/icu' \
|
||||
'third_party/inspector_protocol' \
|
||||
'third_party/jinja2' \
|
||||
'third_party/jstemplate' \
|
||||
'third_party/khronos' \
|
||||
'third_party/leveldatabase' \
|
||||
'third_party/libXNVCtrl' \
|
||||
'third_party/libaddressinput' \
|
||||
'third_party/libaom' \
|
||||
'third_party/libaom/source/libaom/third_party/vector' \
|
||||
'third_party/libaom/source/libaom/third_party/x86inc' \
|
||||
'third_party/libdrm' \
|
||||
'third_party/libjingle' \
|
||||
'third_party/libjpeg_turbo' \
|
||||
'third_party/libphonenumber' \
|
||||
'third_party/libpng' \
|
||||
'third_party/libsecret' \
|
||||
'third_party/libsrtp' \
|
||||
'third_party/libsync' \
|
||||
'third_party/libudev' \
|
||||
'third_party/libusb' \
|
||||
'third_party/libvpx' \
|
||||
'third_party/libvpx/source/libvpx/third_party/x86inc' \
|
||||
'third_party/libxml' \
|
||||
'third_party/libxml/chromium' \
|
||||
'third_party/libxslt' \
|
||||
'third_party/libwebm' \
|
||||
'third_party/libwebp' \
|
||||
'third_party/libyuv' \
|
||||
'third_party/llvm-build' \
|
||||
'third_party/lss' \
|
||||
'third_party/lzma_sdk' \
|
||||
'third_party/markupsafe' \
|
||||
'third_party/mesa' \
|
||||
'third_party/metrics_proto' \
|
||||
'third_party/modp_b64' \
|
||||
'third_party/node' \
|
||||
'third_party/node/linux' \
|
||||
'third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2' \
|
||||
'third_party/openh264' \
|
||||
'third_party/openmax_dl' \
|
||||
'third_party/opus' \
|
||||
'third_party/ots' \
|
||||
'third_party/pdfium' \
|
||||
'third_party/pdfium/third_party/agg23' \
|
||||
'third_party/pdfium/third_party/base' \
|
||||
'third_party/pdfium/third_party/bigint' \
|
||||
'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/perfetto' \
|
||||
'third_party/ply' \
|
||||
'third_party/polymer' \
|
||||
'third_party/protobuf' \
|
||||
'third_party/protobuf/third_party/six' \
|
||||
'third_party/pyjson5' \
|
||||
'third_party/qcms' \
|
||||
'third_party/qunit' \
|
||||
'third_party/re2' \
|
||||
'third_party/rnnoise' \
|
||||
'third_party/s2cellid' \
|
||||
'third_party/sfntly' \
|
||||
'third_party/simplejson' \
|
||||
'third_party/sinonjs' \
|
||||
'third_party/skia' \
|
||||
'third_party/skia/third_party/gif' \
|
||||
'third_party/skia/third_party/skcms' \
|
||||
'third_party/skia/third_party/vulkan' \
|
||||
'third_party/smhasher' \
|
||||
'third_party/snappy' \
|
||||
'third_party/speech-dispatcher' \
|
||||
'third_party/spirv-headers' \
|
||||
'third_party/spirv-tools-angle' \
|
||||
'third_party/sqlite' \
|
||||
'third_party/swiftshader' \
|
||||
'third_party/swiftshader/third_party/subzero' \
|
||||
'third_party/swiftshader/third_party/LLVM' \
|
||||
'third_party/swiftshader/third_party/llvm-subzero' \
|
||||
'third_party/tcmalloc' \
|
||||
'third_party/test_fonts' \
|
||||
'third_party/unrar' \
|
||||
'third_party/usb_ids' \
|
||||
'third_party/usrsctp' \
|
||||
'third_party/vulkan' \
|
||||
'third_party/vulkan-validation-layers' \
|
||||
'third_party/web-animations-js' \
|
||||
'third_party/webdriver' \
|
||||
'third_party/webrtc' \
|
||||
'third_party/webrtc/common_audio/third_party/fft4g' \
|
||||
'third_party/webrtc/common_audio/third_party/spl_sqrt_floor' \
|
||||
'third_party/webrtc/modules/third_party/fft' \
|
||||
'third_party/webrtc/modules/third_party/g711' \
|
||||
'third_party/webrtc/modules/third_party/g722' \
|
||||
'third_party/webrtc/rtc_base/third_party/base64' \
|
||||
'third_party/webrtc/rtc_base/third_party/sigslot' \
|
||||
'third_party/widevine' \
|
||||
'third_party/woff2' \
|
||||
'third_party/xdg-utils' \
|
||||
'third_party/yasm' \
|
||||
'third_party/zlib' \
|
||||
'third_party/zlib/google' \
|
||||
'tools/gn/base/third_party/icu' \
|
||||
'url/third_party/mozilla' \
|
||||
'v8/src/third_party/utf8-decoder' \
|
||||
'v8/src/third_party/valgrind' \
|
||||
'v8/third_party/inspector_protocol' \
|
||||
'v8/third_party/v8' \
|
||||
--do-remove
|
||||
|
||||
# Remove bundled ICU; its header files appear to get picked up instead of
|
||||
# the system ones, leading to errors during the final link stage.
|
||||
# https://groups.google.com/a/chromium.org/d/topic/chromium-packagers/BNGvJc08B6Q
|
||||
|
@ -387,14 +556,33 @@ FILE=chrome/common/channel_info_posix.cc
|
|||
sed -i.orig -e 's/getenv("CHROME_VERSION_EXTRA")/"%{product_vendor} %{product_version}"/' $FILE
|
||||
cmp $FILE $FILE.orig && exit 1
|
||||
|
||||
%if 0%{?sys_node}
|
||||
# setup node
|
||||
mkdir -p third_party/node/linux/node-linux-x64/bin
|
||||
ln -s /usr/bin/node third_party/node/linux/node-linux-x64/bin/node
|
||||
|
||||
install -m 0755 %{SOURCE20} ./
|
||||
env Ffmpeg_branding=%{ffmpegBranding} Platform=%{_arch} BUILD=1 ./rosa.sh
|
||||
%else
|
||||
third_party/node/update_node_binaries
|
||||
third_party/node/update_npm_deps
|
||||
%endif
|
||||
|
||||
%build
|
||||
%define system_gn_list ffmpeg
|
||||
# flac libxslt snappy yasm libpng zlib
|
||||
# opus
|
||||
# icu
|
||||
# libevent
|
||||
# libvpx
|
||||
# libwebp
|
||||
# System libxml must be built with icu support to be used in Chromium
|
||||
# libxml
|
||||
# handled by upstream regular build scripts? : freetype harfbuzz-ng
|
||||
# jsoncpp
|
||||
|
||||
%if 0%{clang}
|
||||
%define is_clang true
|
||||
%else
|
||||
%define is_clang false
|
||||
%endif
|
||||
|
||||
# widevinecdmadapter
|
||||
# Build error with widevinecdmadapter in 67.0.3396.62 (fixed)
|
||||
|
@ -405,22 +593,22 @@ env Ffmpeg_branding=%{ffmpegBranding} Platform=%{_arch} BUILD=1 ./rosa.sh
|
|||
%define is_widevine false
|
||||
%endif
|
||||
|
||||
# jumbo https://chromium.googlesource.com/chromium/src/+/master/docs/jumbo.md
|
||||
# (Alzim) 1 - localhost, 0 - ABF build
|
||||
# jumbo 0 - jumbo off, 1 -on
|
||||
%define localhost 0
|
||||
%define jumbo 1
|
||||
%if 0%{localhost}
|
||||
%define is_limit 100
|
||||
%define lld 1
|
||||
%if 0%{lld}
|
||||
%define is_lld true
|
||||
%define use_gold false
|
||||
%else
|
||||
# 10 is used on ABF
|
||||
%define is_limit 10
|
||||
%define is_lld false
|
||||
%define use_gold true
|
||||
%endif
|
||||
|
||||
%if 1%{jumbo}
|
||||
%define jumbo_args use_jumbo_build=true jumbo_file_merge_limit = %{is_limit}
|
||||
# jumbo https://chromium.googlesource.com/chromium/src/+/master/docs/jumbo.md
|
||||
# (Alzim) 1 - localhost, 0 - ABF build
|
||||
%define localhost 0
|
||||
%if 0%{localhost}
|
||||
%define is_limit 150
|
||||
%else
|
||||
%define jumbo_args use_jumbo_build=false
|
||||
%define is_limit 10
|
||||
%endif
|
||||
|
||||
%if 0%{?libva}
|
||||
|
@ -429,35 +617,59 @@ env Ffmpeg_branding=%{ffmpegBranding} Platform=%{_arch} BUILD=1 ./rosa.sh
|
|||
%define is_vaapi false
|
||||
%endif
|
||||
|
||||
# v NO TABS IN HERE!
|
||||
%define gn_config use_sysroot=false \
|
||||
system_libdir="%{_lib}" \
|
||||
icu_use_data_file=true \
|
||||
enable_nacl=false \
|
||||
is_nacl_glibc=false \
|
||||
binutils_path="%{_bindir}" \
|
||||
linux_use_bundled_binutils=false \
|
||||
use_gold=%{use_gold} \
|
||||
custom_toolchain="%{_sourcedir}:default" \
|
||||
ffmpeg_branding="Chromium" \
|
||||
proprietary_codecs=true \
|
||||
enable_ac3_eac3_audio_demuxing=true \
|
||||
enable_mse_mpeg2ts_stream_parser=true \
|
||||
enable_hevc_demuxing=true \
|
||||
use_system_libjpeg=true \
|
||||
use_libjpeg_turbo=false \
|
||||
enable_widevine=%{is_widevine} \
|
||||
pdf_enable_xfa=true \
|
||||
use_pulseaudio=true \
|
||||
use_allocator="none" \
|
||||
treat_warnings_as_errors=false \
|
||||
fatal_linker_warnings=false \
|
||||
use_aura=true \
|
||||
use_libpci = true \
|
||||
is_debug=false \
|
||||
is_clang=%{is_clang} \
|
||||
clang_use_chrome_plugins=false \
|
||||
clang_base_path="%{_prefix}" \
|
||||
use_jumbo_build = true \
|
||||
jumbo_file_merge_limit = %{is_limit} \
|
||||
use_lld=%{is_lld} \
|
||||
use_system_freetype=true \
|
||||
use_system_harfbuzz=false \
|
||||
use_system_libpng=true \
|
||||
use_vaapi=%{is_vaapi} \
|
||||
v8_use_external_startup_data=false \
|
||||
google_api_key="%{google_api_key}" \
|
||||
google_default_client_id="%{google_default_client_id}" \
|
||||
google_default_client_secret="%{google_default_client_secret}"
|
||||
|
||||
build/linux/unbundle/replace_gn_files.py --system-libraries %{system_gn_list}
|
||||
third_party/libaddressinput/chromium/tools/update-strings.py
|
||||
|
||||
%if 0%{?clang}
|
||||
%define is_clang true
|
||||
export CC=clang
|
||||
export CXX=clang++
|
||||
export AR=ar
|
||||
export NM=nm
|
||||
|
||||
%ifarch %ix86
|
||||
# GNU BFD ld linker got out of memory on i586 with jumbo is_limit=10.
|
||||
# Gold linker worked fine with jumbo is_limit=10 on i586, but sometimes got out of memory.
|
||||
%define linker_args use_gold=true
|
||||
# These LDFLAGS fix building bundled openh264 with lld linker on i586
|
||||
# "/usr/bin/ld.lld: error: can't create dynamic relocation R_386_32 against local symbol in readonly segment"
|
||||
# Source of the solution: https://svnweb.freebsd.org/ports?view=revision&revision=480034
|
||||
# Reported it to upstream: https://crbug.com/898171
|
||||
export LDFLAGS="$LDFLAGS -Wl,-znotext"
|
||||
# flags to fix i586 builds
|
||||
export LDFLAGS="$LDFLAGS -Wl,-z,notext"
|
||||
%else
|
||||
%ifarch x86_64
|
||||
# If both gold and lld are false, GNU BFD ld is used.
|
||||
%define linker_args use_gold=false use_lld=false is_cfi=false use_thin_lto=false
|
||||
# With GNU BFD ld linker, 4 GB RAM per worker on ABF really is not enough, linking takes ages
|
||||
# Gold is not supported on x86_64, lld is forced
|
||||
#define linker_args use_lld=true is_cfi=false use_thin_lto=false
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%else
|
||||
%define is_clang false
|
||||
%define linker_agrs use_gold=false use_lld=false
|
||||
%setup_compile_flags
|
||||
CC=%{__cc}; export CC
|
||||
CXX=%{__cxx}; export CXX
|
||||
|
@ -465,7 +677,7 @@ AR=%{__ar}; export AR
|
|||
NM=%{__nm}; export NM
|
||||
LD=%{__cxx}; export LD
|
||||
|
||||
# filter out some flags to fix i586 builds with GCC
|
||||
# filter out some flags to fix i586 builds
|
||||
CFLAGS=$(echo "$CFLAGS"|sed -e 's/-gdwarf-4//' -e 's/-fvar-tracking-assignments//' -e 's/-frecord-gcc-switches//')
|
||||
CXXFLAGS=$(echo "$CXXFLAGS"|sed -e 's/-gdwarf-4//' -e 's/-fvar-tracking-assignments//' -e 's/-frecord-gcc-switches//')
|
||||
|
||||
|
@ -473,83 +685,15 @@ CFLAGS="$CFLAGS -Wno-error=pointer-to-int-cast -Wno-error=int-to-pointer-cast"
|
|||
CXXFLAGS="$CXXFLAGS -Wno-error=attributes -Wno-error=comment -Wno-error=unused-variable -Wno-error=strict-overflow -Wno-error=deprecated-declarations"
|
||||
%endif
|
||||
|
||||
# v NO TABS IN HERE!
|
||||
# set use_custom_libcxx to 'false' if glibc is new enough
|
||||
%define gn_config use_sysroot=false \
|
||||
system_libdir="%{_lib}" \
|
||||
use_custom_libcxx=true \
|
||||
icu_use_data_file=true \
|
||||
optimize_webui=false \
|
||||
binutils_path="%{_bindir}" \
|
||||
linux_use_bundled_binutils=false \
|
||||
custom_toolchain="%{_sourcedir}:default" \
|
||||
is_component_build=false \
|
||||
is_component_ffmpeg=true \
|
||||
proprietary_codecs=true \
|
||||
ffmpeg_branding="%{ffmpegBranding}" \
|
||||
enable_ac3_eac3_audio_demuxing=true \
|
||||
enable_mse_mpeg2ts_stream_parser=true \
|
||||
enable_hevc_demuxing=true \
|
||||
enable_widevine=%{is_widevine} \
|
||||
pdf_enable_xfa=true \
|
||||
use_pulseaudio=true \
|
||||
link_pulseaudio=true \
|
||||
use_cups=true \
|
||||
use_kerberos=true \
|
||||
enable_mdns=true \
|
||||
use_gio=true \
|
||||
use_allocator="none" \
|
||||
treat_warnings_as_errors=false \
|
||||
use_aura=true \
|
||||
use_libpci=true \
|
||||
is_debug=false \
|
||||
symbol_level=0 \
|
||||
remove_webcore_debug_symbols=true \
|
||||
is_official_build=true \
|
||||
fieldtrial_testing_like_official_build=true \
|
||||
is_clang=%{is_clang} \
|
||||
use_allocator="none" \
|
||||
use_allocator_shim=false \
|
||||
clang_use_chrome_plugins=false \
|
||||
clang_base_path="%{_prefix}" \
|
||||
use_system_freetype=true \
|
||||
use_vaapi=%{is_vaapi} \
|
||||
v8_use_external_startup_data=false \
|
||||
google_api_key="%{google_api_key}" \
|
||||
google_default_client_id="%{google_default_client_id}" \
|
||||
google_default_client_secret="%{google_default_client_secret}" \
|
||||
%{linker_args} \
|
||||
fatal_linker_warnings=false \
|
||||
enable_nacl=false \
|
||||
%{jumbo_args}
|
||||
#gold_path=false must be set if bunbled binutils are used, but gold linker must be system, not bundled
|
||||
#enable_nacl_nonsfi=true \
|
||||
#is_nacl_glibc=false \
|
||||
#fatal_linker_warnings=false \
|
||||
|
||||
%define system_gn_list yasm libdrm fontconfig freetype libusb
|
||||
# libpng, libtiff
|
||||
# flac
|
||||
# libxlst
|
||||
# snappy
|
||||
# harfbuzz-ng
|
||||
# ffmpeg
|
||||
# libvpx : system libvpx will normally be much older than the bundled one
|
||||
# opus
|
||||
# icu
|
||||
# libevent
|
||||
# libwebp
|
||||
# System libxml must be built with icu support to be used in Chromium
|
||||
# libxml
|
||||
# jsoncpp
|
||||
build/linux/unbundle/replace_gn_files.py --system-libraries %{system_gn_list}
|
||||
third_party/libaddressinput/chromium/tools/update-strings.py
|
||||
|
||||
python tools/gn/bootstrap/bootstrap.py --gn-gen-args='%{gn_config}'
|
||||
|
||||
out/Release/gn gen --args='%{gn_config}' out/Release
|
||||
|
||||
ninja -C out/Release %{_smp_mflags} chrome chrome_sandbox chromedriver
|
||||
pushd out/Release
|
||||
# widevinecdmadapter
|
||||
# Build error with widevinecdmadapter in 67.0.3396.62
|
||||
ninja %{_smp_mflags} chrome chrome_sandbox chromedriver
|
||||
popd
|
||||
|
||||
%install
|
||||
mkdir -p %{buildroot}%{_bindir}
|
||||
|
@ -594,17 +738,4 @@ mkdir -p %{buildroot}%{_sysconfdir}/%{crname}
|
|||
install -m 0644 %{SOURCE30} %{buildroot}%{_sysconfdir}/%{crname}/
|
||||
install -m 0644 %{SOURCE31} %{buildroot}%{_sysconfdir}/%{crname}/
|
||||
|
||||
%ifarch x86_64
|
||||
# Yandex Browser and other proprietary forks of Chromium look for libffmpeg.so in /usr/lib/chromium-browser,
|
||||
# while we use /usr/lib64/chromium-browser on x86_64
|
||||
mkdir -p %{buildroot}%{_crdir_compat}
|
||||
ln -sr %{buildroot}%{_crdir}/libffmpeg.so %{buildroot}%{_crdir_compat}/libffmpeg.so
|
||||
%endif
|
||||
|
||||
# chromium-stable-codecs-ffmpeg, as chromium-codecs-ffmpeg-extra in Ubuntu
|
||||
install -m 0644 out/Release/libffmpeg.so %{buildroot}%{_crdir}/
|
||||
# We set RPATH by UBUNTU-set-rpath-on-chromium-executables.patch
|
||||
# RPM helper removes RPATHs by default, so disable it
|
||||
export DONT_REMOVE_RPATH=1
|
||||
|
||||
find %{buildroot} -name "*.nexe" -exec strip {} \;
|
||||
|
|
11
chromium-buildname-60.0.3112.90.patch
Normal file
11
chromium-buildname-60.0.3112.90.patch
Normal file
|
@ -0,0 +1,11 @@
|
|||
--- chromium-60.0.3112.20.old/components/version_ui_strings.grdp 2017-06-08 16:55:00.495103433 +0200
|
||||
+++ chromium-60.0.3112.20/components/version_ui_strings.grdp 2017-06-08 16:55:36.027102220 +0200
|
||||
@@ -7,7 +7,7 @@
|
||||
Official Build
|
||||
</message>
|
||||
<message name="IDS_VERSION_UI_UNOFFICIAL" desc="unofficial build on the about:version page">
|
||||
- Developer Build
|
||||
+ Сборка ROSA
|
||||
</message>
|
||||
<message name="IDS_VERSION_UI_32BIT" desc="32-bit on the chrome://version page">
|
||||
(32-bit)
|
75
chromium-compiler-r4.patch
Normal file
75
chromium-compiler-r4.patch
Normal file
|
@ -0,0 +1,75 @@
|
|||
From 777d166eec22c1894108dce985498f75ac5931e8 Mon Sep 17 00:00:00 2001
|
||||
From: Mike Gilbert <floppym@gentoo.org>
|
||||
Date: Wed, 25 Apr 2018 13:22:49 -0400
|
||||
Subject: [PATCH] Disable various compiler configs
|
||||
|
||||
---
|
||||
build/config/compiler/BUILD.gn | 61 ++++++++++------------------------
|
||||
1 file changed, 18 insertions(+), 43 deletions(-)
|
||||
|
||||
diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
|
||||
index 6e38ad782d38..87bbd423f67f 100644
|
||||
--- a/build/config/compiler/BUILD.gn
|
||||
+++ b/build/config/compiler/BUILD.gn
|
||||
@@ -225,8 +225,6 @@ config("compiler") {
|
||||
|
||||
configs += [
|
||||
# See the definitions below.
|
||||
- ":clang_revision",
|
||||
- ":compiler_cpu_abi",
|
||||
":compiler_codegen",
|
||||
]
|
||||
|
||||
@@ -488,18 +486,6 @@ config("compiler") {
|
||||
}
|
||||
}
|
||||
|
||||
- if (is_clang && !is_nacl && current_toolchain == host_toolchain &&
|
||||
- target_os != "chromeos") {
|
||||
- cflags += [
|
||||
- # TODO(hans): Remove this once Clang generates better optimized debug info
|
||||
- # by default. https://crbug.com/765793
|
||||
- "-Xclang",
|
||||
- "-mllvm",
|
||||
- "-Xclang",
|
||||
- "-instcombine-lower-dbg-declare=0",
|
||||
- ]
|
||||
- }
|
||||
-
|
||||
# Print absolute paths in diagnostics. There is no precedent for doing this
|
||||
# on Linux/Mac (GCC doesn't support it), but MSVC does this with /FC and
|
||||
# Windows developers rely on it (crbug.com/636109) so only do this on Windows.
|
||||
@@ -1473,10 +1459,6 @@ config("default_warnings") {
|
||||
cflags += [
|
||||
# TODO(thakis): https://crbug.com/753973
|
||||
"-Wno-enum-compare-switch",
|
||||
-
|
||||
- # Ignore warnings about MSVC optimization pragmas.
|
||||
- # TODO(thakis): Only for no_chromium_code? http://crbug.com/505314
|
||||
- "-Wno-ignored-pragma-optimize",
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -1518,22 +1500,6 @@ config("chromium_code") {
|
||||
"__STDC_FORMAT_MACROS",
|
||||
]
|
||||
|
||||
- if (!is_debug && !using_sanitizer &&
|
||||
- (!is_linux || !is_clang || is_official_build) &&
|
||||
- current_cpu != "s390x" && current_cpu != "s390" &&
|
||||
- current_cpu != "ppc64" && current_cpu != "ppc64" &&
|
||||
- current_cpu != "mips" && current_cpu != "mips64") {
|
||||
- # _FORTIFY_SOURCE isn't really supported by Clang now, see
|
||||
- # http://llvm.org/bugs/show_bug.cgi?id=16821.
|
||||
- # It seems to work fine with Ubuntu 12 headers though, so use it in
|
||||
- # official builds.
|
||||
- #
|
||||
- # Non-chromium code is not guaranteed to compile cleanly with
|
||||
- # _FORTIFY_SOURCE. Also, fortified build may fail when optimizations are
|
||||
- # disabled, so only do that for Release build.
|
||||
- defines += [ "_FORTIFY_SOURCE=2" ]
|
||||
- }
|
||||
-
|
||||
if (is_mac || is_ios) {
|
||||
cflags_objc = [ "-Wobjc-missing-property-synthesis" ]
|
||||
cflags_objcc = [ "-Wobjc-missing-property-synthesis" ]
|
|
@ -1,16 +0,0 @@
|
|||
diff -up chromium-48.0.2564.116/device/usb/usb_context.cc.modern-libusbx chromium-48.0.2564.116/device/usb/usb_context.cc
|
||||
--- chromium-48.0.2564.116/device/usb/usb_context.cc.modern-libusbx 2016-02-24 10:21:10.534996028 -0500
|
||||
+++ chromium-48.0.2564.116/device/usb/usb_context.cc 2016-02-24 10:22:28.270499864 -0500
|
||||
@@ -57,7 +57,11 @@ void UsbContext::UsbEventHandler::Run()
|
||||
|
||||
void UsbContext::UsbEventHandler::Stop() {
|
||||
base::subtle::Release_Store(&running_, 0);
|
||||
+#ifdef LIBUSB_API_VERSION >= 0x01000105
|
||||
+ libusb_interrupt_event_handler(context_);
|
||||
+#else
|
||||
libusb_interrupt_handle_event(context_);
|
||||
+#endif
|
||||
}
|
||||
|
||||
UsbContext::UsbContext(PlatformUsbContext context) : context_(context) {
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
# Fix compatibility with VA-API library (libva) version 1
|
||||
# Chromium seems to use version 2 or newer
|
||||
|
||||
# Source: https://build.opensuse.org/package/view_file/network:chromium/chromium/chromium-libva1.patch
|
||||
# (mikhailnov) We put it on top of chromium-vaapi-r21.patch (https://aur.archlinux.org/cgit/aur.git/tree/chromium-vaapi-r21.patch?h=chromium-vaapi)
|
||||
|
||||
Index: chromium-70.0.3538.67/media/gpu/vaapi/vaapi_jpeg_decode_accelerator.cc
|
||||
===================================================================
|
||||
--- chromium-70.0.3538.67.orig/media/gpu/vaapi/vaapi_jpeg_decode_accelerator.cc
|
||||
+++ chromium-70.0.3538.67/media/gpu/vaapi/vaapi_jpeg_decode_accelerator.cc
|
||||
@@ -295,7 +295,8 @@ bool VaapiJpegDecodeAccelerator::Initial
|
||||
// TODO(crbug.com/828119): Try a list of possible supported formats rather
|
||||
// than hardcoding the format to I420 here.
|
||||
va_image_format_ = base::WrapUnique(new VAImageFormat{});
|
||||
- va_image_format_->fourcc = VA_FOURCC_I420;
|
||||
+ const uint32_t kI420Fourcc = VA_FOURCC('I', '4', '2', '0');
|
||||
+ va_image_format_->fourcc = kI420Fourcc;
|
||||
va_image_format_->byte_order = VA_LSB_FIRST;
|
||||
va_image_format_->bits_per_pixel = 12;
|
|
@ -1,41 +0,0 @@
|
|||
Index: chromium-70.0.3538.54/build/linux/unbundle/libusb.gn
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ chromium-70.0.3538.54/build/linux/unbundle/libusb.gn
|
||||
@@ -0,0 +1,24 @@
|
||||
+# Copyright 2016 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.
|
||||
+
|
||||
+import("//build/config/linux/pkg_config.gni")
|
||||
+import("//build/shim_headers.gni")
|
||||
+
|
||||
+pkg_config("system_libusb") {
|
||||
+ packages = [ "libusb-1.0" ]
|
||||
+}
|
||||
+
|
||||
+shim_headers("libusb_shim") {
|
||||
+ root_path = "src/libusb"
|
||||
+ headers = [
|
||||
+ "libusb.h",
|
||||
+ ]
|
||||
+}
|
||||
+
|
||||
+source_set("libusb") {
|
||||
+ deps = [
|
||||
+ ":libusb_shim",
|
||||
+ ]
|
||||
+ public_configs = [ ":system_libusb" ]
|
||||
+}
|
||||
Index: chromium-70.0.3538.54/build/linux/unbundle/replace_gn_files.py
|
||||
===================================================================
|
||||
--- chromium-70.0.3538.54.orig/build/linux/unbundle/replace_gn_files.py
|
||||
+++ chromium-70.0.3538.54/build/linux/unbundle/replace_gn_files.py
|
||||
@@ -27,6 +27,7 @@ REPLACEMENTS = {
|
||||
'libevent': 'base/third_party/libevent/BUILD.gn',
|
||||
'libjpeg': 'third_party/libjpeg.gni',
|
||||
'libpng': 'third_party/libpng/BUILD.gn',
|
||||
+ 'libusb': 'third_party/libusb/BUILD.gn',
|
||||
'libvpx': 'third_party/libvpx/BUILD.gn',
|
||||
'libwebp': 'third_party/libwebp/BUILD.gn',
|
||||
'libxml': 'third_party/libxml/BUILD.gn',
|
|
@ -1,6 +0,0 @@
|
|||
#!/bin/sh
|
||||
# Author: mikhailnov
|
||||
set -x
|
||||
cat *.spec | grep ^Patch | awk '{print $NF}' | sort | uniq > /tmp/patches-spec
|
||||
ls | grep \.patch | sort | uniq > /tmp/patches-files
|
||||
diff -u /tmp/patches-spec /tmp/patches-files
|
64
rosa.sh
64
rosa.sh
|
@ -1,64 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
# Run this script after uploading the source code of a new version of Chromium
|
||||
|
||||
set -x
|
||||
dir0="$(pwd)"
|
||||
# $ env Ffmpeg_branding=ChromeOS Platform=%_arch BUILD=1 rosa.sh
|
||||
Ffmpeg_branding="${Ffmpeg_branding:-ChromeOS}"
|
||||
[ -z "$Platform" ] && Platform="$(uname -m)"
|
||||
|
||||
case "$Platform" in
|
||||
x86_64 ) current_cpu='x64'; ffmpeg_cpu='x64' ;;
|
||||
# from rpm --eval '%ix86'
|
||||
i386 | i486 | i586 | i686 | i786 | i886 | i986 | pentium2 | pentium3 | pentium4 | k6 | athlon | athlon_xp ) current_cpu='x86'; ffmpeg_cpu='ia32' ;;
|
||||
esac
|
||||
|
||||
if ! ls rosa.sh; then
|
||||
echo "Error. This script must be ran from the root of Chromium sources!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# third_party/ffmpeg is git-ignored in third_party/.gitignore
|
||||
if grep -qE '^/ffmpeg$' third_party/.gitignore; then
|
||||
sed -i third_party/.gitignore -e 's,^/ffmpeg$,,g'
|
||||
fi
|
||||
|
||||
for i in 'libavcodec/autorename_libavcodec_hevcdec.c' 'libavformat/autorename_libavformat_hevc.c'
|
||||
do
|
||||
if ! grep -qE "$i" third_party/.gitignore; then
|
||||
echo "/ffmpeg/${i}" >> third_party/.gitignore
|
||||
fi
|
||||
done
|
||||
|
||||
if [ "$BUILD" = '1' ]; then
|
||||
# https://github.com/henrypp/chromium/blob/master/hevc_support_new.md
|
||||
pushd third_party/ffmpeg
|
||||
#chmod +x ./chromium/scripts/build_ffmpeg.py # not necessary, but to avoid errors
|
||||
#./chromium/scripts/build_ffmpeg.py --branding="$Ffmpeg_branding" --config-only -- linux "$current_cpu"
|
||||
|
||||
/bin/cp libavcodec/hevcdec.c libavcodec/autorename_libavcodec_hevcdec.c
|
||||
/bin/cp libavformat/hevc.c libavformat/autorename_libavformat_hevc.c
|
||||
popd
|
||||
|
||||
pushd third_party/ffmpeg/chromium/config/${Ffmpeg_branding}/linux/${ffmpeg_cpu}/
|
||||
for string in CONFIG_HEVC_DECODER CONFIG_HEVC_DEMUXER CONFIG_HEVC_PARSER
|
||||
do
|
||||
for file in config.asm config.h
|
||||
do
|
||||
if grep -q "$i" "$file"; then
|
||||
sed -i "$file" -e "s/#define ${string} 0/#define ${string} 1/g"
|
||||
fi
|
||||
done
|
||||
done
|
||||
popd
|
||||
|
||||
sed_l(){
|
||||
file=third_party/ffmpeg/chromium/config/${Ffmpeg_branding}/linux/${ffmpeg_cpu}/${3}/${1}_list.c
|
||||
if ! grep -q '_hevc_' "$file"; then
|
||||
sed -i "$file" -e "s/\&ff_${4}_${2},/\&ff_${4}_${2},\n \&ff_hevc_${2},/g"
|
||||
fi
|
||||
}
|
||||
sed_l codec decoder libavcodec h264
|
||||
sed_l parser parser libavcodec h264
|
||||
sed_l demuxer demuxer libavformat matroska
|
||||
fi
|
Loading…
Add table
Reference in a new issue