Browse Source

Rewrite with Fedora spec

tags/90.0.4430.93-1
wchen342 5 months ago
parent
commit
786eaecfff
Signed by: wchen342 GPG Key ID: 9C19365D69B04CEC
51 changed files with 3931 additions and 956 deletions
  1. BIN
      GardinerModBug.ttf
  2. BIN
      GardinerModCat.ttf
  3. +9
    -9
      LICENSE
  4. +22
    -0
      chromium-53-ffmpeg-no-deprecation-errors.patch
  5. +14
    -0
      chromium-60.0.3112.78-jpeg-nomangle.patch
  6. +17
    -0
      chromium-60.0.3112.78-no-libpng-prefix.patch
  7. +208
    -0
      chromium-67.0.3396.62-gn-system.patch
  8. +20
    -0
      chromium-70.0.3538.67-sandbox-pie.patch
  9. +33
    -0
      chromium-71.0.3578.98-py2-bootstrap.patch
  10. +10
    -0
      chromium-71.0.3578.98-widevine-r3.patch
  11. +22
    -0
      chromium-75.0.3770.80-grpc-gettid-fix.patch
  12. +27
    -0
      chromium-76.0.3809.100-gcc-remoting-constexpr.patch
  13. +10
    -0
      chromium-76.0.3809.132-rhel8-force-disable-use_gnome_keyring.patch
  14. +23
    -0
      chromium-77.0.3865.75-gcc-include-memory.patch
  15. +22
    -0
      chromium-77.0.3865.75-no-zlib-mangle.patch
  16. +13
    -0
      chromium-78-protobuf-RepeatedPtrField-export.patch
  17. +24
    -0
      chromium-78.0.3904.70-gcc9-drop-rsp-clobber.patch
  18. +81
    -0
      chromium-79-gcc-protobuf-alignas.patch
  19. +34
    -0
      chromium-80.0.3987.106-missing-cstring-header.patch
  20. +45
    -0
      chromium-80.0.3987.87-missing-cstdint-header.patch
  21. +12
    -0
      chromium-81.0.4044.92-unbundle-zlib.patch
  22. +13
    -0
      chromium-83.0.4103.61-disable-fontconfig-cache-magic.patch
  23. +33
    -0
      chromium-84-blink-disable-clang-format.patch
  24. +45
    -0
      chromium-84.0.4147.105-gn-gcc-cleanup.patch
  25. +13
    -0
      chromium-84.0.4147.125-aarch64-clearkeycdm-binutils-workaround.patch
  26. +12
    -0
      chromium-84.0.4147.125-i686-fix_textrels.patch
  27. +56
    -0
      chromium-84.0.4147.125-remoting-cstring.patch
  28. +0
    -41
      chromium-85-ffmpeg-4.3-r796966.patch
  29. +16
    -42
      chromium-86.0.4240.75-enable-hardware-accelerated-mjpeg.patch
  30. +10
    -14
      chromium-86.0.4240.75-fix-vaapi-on-intel.patch
  31. +15
    -0
      chromium-86.0.4240.75-initial_prefs-etc-path.patch
  32. +90
    -0
      chromium-86.0.4240.75-norar.patch
  33. +23
    -0
      chromium-86.0.4240.75-vaapi-i686-fpermissive.patch
  34. +36
    -0
      chromium-87-CursorFactory-include.patch
  35. +22
    -0
      chromium-87-ServiceWorkerContainerHost-crash.patch
  36. +25
    -0
      chromium-87-openscreen-include.patch
  37. +39
    -0
      chromium-88-vaapi-attribute.patch
  38. +0
    -828
      chromium-browser-privacy.spec
  39. +18
    -0
      chromium-browser.xml
  40. +14
    -0
      chromium-fix-char_traits.patch
  41. +139
    -0
      chromium-gcc11.patch
  42. +344
    -0
      chromium-latest.py
  43. +355
    -0
      clean_ffmpeg.sh
  44. +82
    -0
      get_free_ffmpeg_source_files.py
  45. +121
    -0
      get_linux_tests_names.py
  46. +17
    -0
      master_preferences
  47. +9
    -3
      sources
  48. +5
    -5
      ungoogled-chromium.appdata.xml
  49. +356
    -0
      ungoogled-chromium.desktop
  50. +5
    -14
      ungoogled-chromium.sh
  51. +1372
    -0
      ungoogled-chromium.spec

BIN
GardinerModBug.ttf View File


BIN
GardinerModCat.ttf View File


+ 9
- 9
LICENSE View File

@ -1,21 +1,21 @@
BSD 3-Clause License
Copyright (c) 2018, Akarshan Biswas
Copyright (c) 2015-2020, The ungoogled-chromium Authors
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
* Neither the name of the copyright holder nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
3. Neither the name of the copyright holder nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE


+ 22
- 0
chromium-53-ffmpeg-no-deprecation-errors.patch View File

@ -0,0 +1,22 @@
--- chromium-60.0.3112.40/build/linux/unbundle/ffmpeg.gn.ffmpeg-deprecation 2017-06-25 13:24:47.390218631 +0200
+++ chromium-60.0.3112.40/build/linux/unbundle/ffmpeg.gn 2017-06-25 13:32:48.528583949 +0200
@@ -19,6 +19,12 @@
flags = [ "USE_SYSTEM_FFMPEG=true" ]
}
+config("ffmpeg_deprecations") {
+ if (is_linux) {
+ cflags = [ "-Wno-error=deprecated-declarations" ]
+ }
+}
+
shim_headers("ffmpeg_shim") {
root_path = "."
headers = [
@@ -33,5 +39,5 @@
":ffmpeg_features",
":ffmpeg_shim",
]
- public_configs = [ ":system_ffmpeg" ]
+ public_configs = [ ":system_ffmpeg", ":ffmpeg_deprecations" ]
}

+ 14
- 0
chromium-60.0.3112.78-jpeg-nomangle.patch View File

@ -0,0 +1,14 @@
diff -up chromium-60.0.3112.78/third_party/libjpeg_turbo/jpeglib.h.nomangle chromium-60.0.3112.78/third_party/libjpeg_turbo/jpeglib.h
--- chromium-60.0.3112.78/third_party/libjpeg_turbo/jpeglib.h.nomangle 2017-08-01 15:29:00.870759406 -0400
+++ chromium-60.0.3112.78/third_party/libjpeg_turbo/jpeglib.h 2017-08-01 15:29:09.326593414 -0400
@@ -18,10 +18,6 @@
#ifndef JPEGLIB_H
#define JPEGLIB_H
-/* Begin chromium edits */
-#include "jpeglibmangler.h"
-/* End chromium edits */
-
/*
* First we include the configuration files that record how this
* installation of the JPEG library is set up. jconfig.h can be

+ 17
- 0
chromium-60.0.3112.78-no-libpng-prefix.patch View 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 */

+ 208
- 0
chromium-67.0.3396.62-gn-system.patch View File

@ -0,0 +1,208 @@
diff -up chromium-67.0.3396.62/build/linux/unbundle/libjpeg.gn.gnsystem chromium-67.0.3396.62/build/linux/unbundle/libjpeg.gn
diff -up chromium-67.0.3396.62/build/linux/unbundle/libusb.gn.gnsystem chromium-67.0.3396.62/build/linux/unbundle/libusb.gn
--- chromium-67.0.3396.62/build/linux/unbundle/libusb.gn.gnsystem 2018-05-30 12:18:36.949488683 -0400
+++ chromium-67.0.3396.62/build/linux/unbundle/libusb.gn 2018-05-30 12:18:36.949488683 -0400
@@ -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" ]
+}
diff -up chromium-67.0.3396.62/build/linux/unbundle/opus.gn.gnsystem chromium-67.0.3396.62/build/linux/unbundle/opus.gn
--- chromium-67.0.3396.62/build/linux/unbundle/opus.gn.gnsystem 2018-05-30 04:43:03.000000000 -0400
+++ chromium-67.0.3396.62/build/linux/unbundle/opus.gn 2018-05-30 12:18:36.950488661 -0400
@@ -1,3 +1,164 @@
+# 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")
+import("//testing/test.gni")
+
+pkg_config("system_opus") {
+ packages = [ "opus" ]
+}
+
+shim_headers("opus_shim") {
+ root_path = "src/include"
+ headers = [
+ "opus_custom.h",
+ "opus_defines.h",
+ "opus_multistream.h",
+ "opus_types.h",
+ "opus.h",
+ ]
+}
+
+source_set("opus") {
+ deps = [
+ ":opus_shim",
+ ]
+ public_configs = [ ":system_opus" ]
+}
+
+config("opus_test_config") {
+ include_dirs = [
+ "src/celt",
+ "src/silk",
+ ]
+
+ if (is_win) {
+ defines = [ "inline=__inline" ]
+ }
+ if (is_android) {
+ libs = [ "log" ]
+ }
+ if (is_clang) {
+ cflags = [ "-Wno-absolute-value" ]
+ }
+}
+
+executable("opus_compare") {
+ sources = [
+ "src/src/opus_compare.c",
+ ]
+
+ configs -= [ "//build/config/compiler:chromium_code" ]
+ configs += [
+ "//build/config/compiler:no_chromium_code",
+ ":opus_test_config",
+ ]
+
+ deps = [
+ ":opus",
+ "//build/config/sanitizers:deps",
+ "//build/win:default_exe_manifest",
+ ]
+}
+
+executable("opus_demo") {
+ sources = [
+ "src/src/opus_demo.c",
+ ]
+
+ configs -= [ "//build/config/compiler:chromium_code" ]
+ configs += [
+ "//build/config/compiler:no_chromium_code",
+ ":opus_test_config",
+ ]
+
+ deps = [
+ ":opus",
+ "//build/config/sanitizers:deps",
+ "//build/win:default_exe_manifest",
+ ]
+}
+
+test("test_opus_api") {
+ sources = [
+ "src/tests/test_opus_api.c",
+ ]
+
+ configs -= [ "//build/config/compiler:chromium_code" ]
+ configs += [
+ "//build/config/compiler:no_chromium_code",
+ ":opus_test_config",
+ ]
+
+ deps = [
+ ":opus",
+ ]
+}
+
+test("test_opus_encode") {
+ sources = [
+ "src/tests/test_opus_encode.c",
+ ]
+
+ configs -= [ "//build/config/compiler:chromium_code" ]
+ configs += [
+ "//build/config/compiler:no_chromium_code",
+ ":opus_test_config",
+ ]
+
+ deps = [
+ ":opus",
+ ]
+}
+
+# GN orders flags on a target before flags from configs. The default config
+# adds -Wall, and this flag have to be after -Wall -- so they need to
+# come from a config and can't be on the target directly.
+config("test_opus_decode_config") {
+ # test_opus_decode passes a null pointer to opus_decode() for an argument
+ # marked as requiring a non-null value by the nonnull function attribute,
+ # and expects opus_decode() to fail. Disable the -Wnonnull option to avoid
+ # a compilation error if -Werror is specified.
+ if (is_posix) {
+ cflags = [ "-Wno-nonnull" ]
+ }
+}
+
+test("test_opus_decode") {
+ sources = [
+ "src/tests/test_opus_decode.c",
+ ]
+
+ configs -= [ "//build/config/compiler:chromium_code" ]
+ configs += [
+ "//build/config/compiler:no_chromium_code",
+ ":opus_test_config",
+ ":test_opus_decode_config",
+ ]
+
+ deps = [
+ ":opus",
+ ]
+}
+
+test("test_opus_padding") {
+ sources = [
+ "src/tests/test_opus_padding.c",
+ ]
+
+ configs -= [ "//build/config/compiler:chromium_code" ]
+ configs += [
+ "//build/config/compiler:no_chromium_code",
+ ":opus_test_config",
+ ]
+
+ deps = [
+ ":opus",
+ ]
+}
+
# Copyright 2017 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
diff -up chromium-67.0.3396.62/build/linux/unbundle/replace_gn_files.py.gnsystem chromium-67.0.3396.62/build/linux/unbundle/replace_gn_files.py
--- chromium-67.0.3396.62/build/linux/unbundle/replace_gn_files.py.gnsystem 2018-05-30 12:18:36.951488638 -0400
+++ chromium-67.0.3396.62/build/linux/unbundle/replace_gn_files.py 2018-05-30 12:20:02.542534270 -0400
@@ -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',

+ 20
- 0
chromium-70.0.3538.67-sandbox-pie.patch View File

@ -0,0 +1,20 @@
diff -up chromium-70.0.3538.67/sandbox/linux/BUILD.gn.sandboxpie chromium-70.0.3538.67/sandbox/linux/BUILD.gn
--- chromium-70.0.3538.67/sandbox/linux/BUILD.gn.sandboxpie 2018-10-18 12:14:05.766939769 -0400
+++ chromium-70.0.3538.67/sandbox/linux/BUILD.gn 2018-10-18 12:16:37.820027182 -0400
@@ -315,10 +315,16 @@ if (is_linux) {
# For ULLONG_MAX
"-std=gnu99",
+ "-fPIE",
+
# These files have a suspicious comparison.
# TODO fix this and re-enable this warning.
"-Wno-sign-compare",
]
+
+ ldflags = [
+ "-pie",
+ ]
}
}

+ 33
- 0
chromium-71.0.3578.98-py2-bootstrap.patch View File

@ -0,0 +1,33 @@
diff -up chromium-71.0.3578.98/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py.py2 chromium-71.0.3578.98/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py
--- chromium-71.0.3578.98/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py.py2 2018-12-12 17:02:58.000000000 -0500
+++ chromium-71.0.3578.98/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py 2018-12-14 11:48:22.150229631 -0500
@@ -58,7 +58,7 @@ def _MinifyJS(input_js):
with tempfile.NamedTemporaryFile() as _:
args = [
- 'python',
+ 'python2',
rjsmin_path
]
p = subprocess.Popen(args,
@@ -177,7 +177,7 @@ def _MinifyCSS(css_text):
os.path.join(py_vulcanize_path, 'third_party', 'rcssmin', 'rcssmin.py'))
with tempfile.NamedTemporaryFile() as _:
- rcssmin_args = ['python', rcssmin_path]
+ rcssmin_args = ['python2', rcssmin_path]
p = subprocess.Popen(rcssmin_args,
stdin=subprocess.PIPE,
stdout=subprocess.PIPE,
diff -up chromium-71.0.3578.98/tools/gn/bootstrap/bootstrap.py.py2 chromium-71.0.3578.98/tools/gn/bootstrap/bootstrap.py
--- chromium-71.0.3578.98/tools/gn/bootstrap/bootstrap.py.py2 2018-12-14 11:48:22.155229522 -0500
+++ chromium-71.0.3578.98/tools/gn/bootstrap/bootstrap.py 2018-12-14 11:49:31.043728244 -0500
@@ -93,7 +93,7 @@ def main(argv):
if not options.debug:
gn_gen_args += ' is_debug=false'
subprocess.check_call([
- gn_path, 'gen', out_dir,
+ gn_path, 'gen', out_dir, ' --script-executable=/usr/bin/python2',
'--args=%s' % gn_gen_args, "--root=" + SRC_ROOT
])

+ 10
- 0
chromium-71.0.3578.98-widevine-r3.patch View File

@ -0,0 +1,10 @@
diff -upr chromium-71.0.3578.80.orig/third_party/widevine/cdm/widevine_cdm_version.h chromium-71.0.3578.80/third_party/widevine/cdm/widevine_cdm_version.h
--- chromium-71.0.3578.80.orig/third_party/widevine/cdm/widevine_cdm_version.h 2018-12-21 20:18:01.000000000 +0000
+++ chromium-71.0.3578.80/third_party/widevine/cdm/widevine_cdm_version.h 2018-12-21 21:37:45.635374949 +0000
@@ -12,4 +12,6 @@
// - WIDEVINE_CDM_VERSION_STRING (with the version of the CDM that's available
// as a string, e.g., "1.0.123.456").
+#define WIDEVINE_CDM_VERSION_STRING "unknown"
+
#endif // WIDEVINE_CDM_VERSION_H_

+ 22
- 0
chromium-75.0.3770.80-grpc-gettid-fix.patch View File

@ -0,0 +1,22 @@
diff -up chromium-75.0.3770.80/third_party/grpc/src/src/core/lib/gpr/log_linux.cc.gettid-fix chromium-75.0.3770.80/third_party/grpc/src/src/core/lib/gpr/log_linux.cc
--- chromium-75.0.3770.80/third_party/grpc/src/src/core/lib/gpr/log_linux.cc.gettid-fix 2019-06-12 17:05:01.720907204 -0400
+++ chromium-75.0.3770.80/third_party/grpc/src/src/core/lib/gpr/log_linux.cc 2019-06-12 17:06:01.000671370 -0400
@@ -40,7 +40,8 @@
#include <time.h>
#include <unistd.h>
-static long gettid(void) { return syscall(__NR_gettid); }
+/* renamed to avoid conflict with glibc 'gettid()' */
+static long gettid_gpr(void) { return syscall(__NR_gettid); }
void gpr_log(const char* file, int line, gpr_log_severity severity,
const char* format, ...) {
@@ -70,7 +71,7 @@ void gpr_default_log(gpr_log_func_args*
gpr_timespec now = gpr_now(GPR_CLOCK_REALTIME);
struct tm tm;
static __thread long tid = 0;
- if (tid == 0) tid = gettid();
+ if (tid == 0) tid = gettid_gpr();
timer = static_cast<time_t>(now.tv_sec);
final_slash = strrchr(args->file, '/');

+ 27
- 0
chromium-76.0.3809.100-gcc-remoting-constexpr.patch View File

@ -0,0 +1,27 @@
diff -up chromium-76.0.3809.100/remoting/signaling/message_tracker.cc.gcc-constexpr chromium-76.0.3809.100/remoting/signaling/message_tracker.cc
--- chromium-76.0.3809.100/remoting/signaling/message_tracker.cc.gcc-constexpr 2019-08-09 16:48:08.000000000 +0200
+++ chromium-76.0.3809.100/remoting/signaling/message_tracker.cc 2019-08-20 21:29:14.545465656 +0200
@@ -9,8 +9,7 @@
namespace remoting {
// static
-const base::TimeDelta MessageTracker::kCleanupInterval =
- base::TimeDelta::FromMinutes(2);
+constexpr base::TimeDelta MessageTracker::kCleanupInterval;
MessageTracker::MessageTracker() = default;
diff -up chromium-76.0.3809.100/remoting/signaling/message_tracker.h.gcc-constexpr chromium-76.0.3809.100/remoting/signaling/message_tracker.h
--- chromium-76.0.3809.100/remoting/signaling/message_tracker.h.gcc-constexpr 2019-08-20 22:02:25.625970954 +0200
+++ chromium-76.0.3809.100/remoting/signaling/message_tracker.h 2019-08-20 21:28:23.371952434 +0200
@@ -36,7 +36,8 @@ class MessageTracker final {
// All IDs older than now - kCleanupInterval will be eventually removed, but
// they are not guaranteed to be immediately removed after the interval.
- static const base::TimeDelta kCleanupInterval;
+ static constexpr base::TimeDelta kCleanupInterval =
+ base::TimeDelta::FromMinutes(2);
void RemoveExpiredIds();
diff -up chromium-76.0.3809.100/remoting/signaling/message_tracker_unittest.cc.gcc-constexpr chromium-76.0.3809.100/remoting/signaling/message_tracker_unittest.cc

+ 10
- 0
chromium-76.0.3809.132-rhel8-force-disable-use_gnome_keyring.patch View File

@ -0,0 +1,10 @@
diff -up chromium-76.0.3809.132/components/os_crypt/features.gni.rhel8 chromium-76.0.3809.132/components/os_crypt/features.gni
--- chromium-76.0.3809.132/components/os_crypt/features.gni.rhel8 2019-09-06 17:08:01.242314126 -0400
+++ chromium-76.0.3809.132/components/os_crypt/features.gni 2019-09-06 17:08:10.139134707 -0400
@@ -7,5 +7,5 @@ import("//build/config/ui.gni")
declare_args() {
# Whether to use libgnome-keyring (deprecated by libsecret).
# See http://crbug.com/466975 and http://crbug.com/355223.
- use_gnome_keyring = is_desktop_linux && use_glib
+ use_gnome_keyring = false
}

+ 23
- 0
chromium-77.0.3865.75-gcc-include-memory.patch View File

@ -0,0 +1,23 @@
diff -up chromium-77.0.3865.75/third_party/one_euro_filter/src/one_euro_filter.h.gcc-include-memory chromium-77.0.3865.75/third_party/one_euro_filter/src/one_euro_filter.h
--- chromium-77.0.3865.75/third_party/one_euro_filter/src/one_euro_filter.h.gcc-include-memory 2019-09-13 14:44:24.962770079 +0200
+++ chromium-77.0.3865.75/third_party/one_euro_filter/src/one_euro_filter.h 2019-09-13 14:44:45.347073612 +0200
@@ -3,6 +3,8 @@
#include "low_pass_filter.h"
+#include <memory>
+
namespace one_euro_filter {
namespace test {
class OneEuroFilterTest;
diff -up chromium-80.0.3987.106/third_party/webrtc/modules/audio_processing/aec3/reverb_model_estimator.h.missing-memory chromium-80.0.3987.106/third_party/webrtc/modules/audio_processing/aec3/reverb_model_estimator.h
--- chromium-80.0.3987.106/third_party/webrtc/modules/audio_processing/aec3/reverb_model_estimator.h.missing-memory 2020-02-21 12:25:17.206021379 -0500
+++ chromium-80.0.3987.106/third_party/webrtc/modules/audio_processing/aec3/reverb_model_estimator.h 2020-02-21 12:25:31.613759976 -0500
@@ -12,6 +12,7 @@
#define MODULES_AUDIO_PROCESSING_AEC3_REVERB_MODEL_ESTIMATOR_H_
#include <array>
+#include <memory>
#include <vector>
#include "absl/types/optional.h"

+ 22
- 0
chromium-77.0.3865.75-no-zlib-mangle.patch View File

@ -0,0 +1,22 @@
diff -up chromium-77.0.3865.75/third_party/zlib/zconf.h.nozmangle chromium-77.0.3865.75/third_party/zlib/zconf.h
--- chromium-77.0.3865.75/third_party/zlib/zconf.h.nozmangle 2019-09-12 09:36:37.924086850 +0200
+++ chromium-77.0.3865.75/third_party/zlib/zconf.h 2019-09-12 09:53:01.623958551 +0200
@@ -9,18 +9,6 @@
#define ZCONF_H
/*
- * This library is also built as a part of AOSP, which does not need to include
- * chromeconf.h. This config does not want chromeconf.h, so it can set this
- * macro to opt out. While this works today, there's no guarantee that building
- * zlib outside of Chromium keeps working in the future.
- */
-#if !defined(CHROMIUM_ZLIB_NO_CHROMECONF)
-/* This include does prefixing as below, but with an updated set of names. Also
- * sets up export macros in component builds. */
-#include "chromeconf.h"
-#endif
-
-/*
* If you *really* need a unique prefix for all types and library functions,
* compile with -DZ_PREFIX. The "standard" zlib should be compiled without it.
* Even better than compiling with -DZ_PREFIX would be to use configure to set

+ 13
- 0
chromium-78-protobuf-RepeatedPtrField-export.patch View File

@ -0,0 +1,13 @@
diff --git a/third_party/protobuf/src/google/protobuf/repeated_field.h b/third_party/protobuf/src/google/protobuf/repeated_field.h
index b5b193c..4434854 100644
--- a/third_party/protobuf/src/google/protobuf/repeated_field.h
+++ b/third_party/protobuf/src/google/protobuf/repeated_field.h
@@ -804,7 +804,7 @@ class StringTypeHandler {
// RepeatedPtrField is like RepeatedField, but used for repeated strings or
// Messages.
template <typename Element>
-class RepeatedPtrField final : private internal::RepeatedPtrFieldBase {
+class PROTOBUF_EXPORT RepeatedPtrField final : private internal::RepeatedPtrFieldBase {
public:
RepeatedPtrField();
explicit RepeatedPtrField(Arena* arena);

+ 24
- 0
chromium-78.0.3904.70-gcc9-drop-rsp-clobber.patch View File

@ -0,0 +1,24 @@
diff -up chromium-78.0.3904.70/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h.gcc9 chromium-78.0.3904.70/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h
--- chromium-78.0.3904.70/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h.gcc9 2019-10-23 08:58:16.153251961 -0400
+++ chromium-78.0.3904.70/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h 2019-10-23 08:58:36.896862347 -0400
@@ -1486,7 +1486,7 @@ struct kernel_stat {
"d"(LSS_SYSCALL_ARG(parent_tidptr)),
"r"(LSS_SYSCALL_ARG(newtls)),
"r"(LSS_SYSCALL_ARG(child_tidptr))
- : "rsp", "memory", "r8", "r10", "r11", "rcx");
+ : "memory", "r8", "r10", "r11", "rcx");
}
LSS_RETURN(int, __res);
}
diff -up chromium-78.0.3904.70/third_party/tcmalloc/vendor/src/base/linux_syscall_support.h.gcc9 chromium-78.0.3904.70/third_party/tcmalloc/vendor/src/base/linux_syscall_support.h
--- chromium-78.0.3904.70/third_party/tcmalloc/vendor/src/base/linux_syscall_support.h.gcc9 2019-10-23 08:58:59.623435488 -0400
+++ chromium-78.0.3904.70/third_party/tcmalloc/vendor/src/base/linux_syscall_support.h 2019-10-23 08:59:16.113125772 -0400
@@ -1485,7 +1485,7 @@ struct kernel_stat {
"d"(LSS_SYSCALL_ARG(parent_tidptr)),
"r"(LSS_SYSCALL_ARG(newtls)),
"r"(LSS_SYSCALL_ARG(child_tidptr))
- : "rsp", "memory", "r8", "r10", "r11", "rcx");
+ : "memory", "r8", "r10", "r11", "rcx");
}
LSS_RETURN(int, __res);
}

+ 81
- 0
chromium-79-gcc-protobuf-alignas.patch View File

@ -0,0 +1,81 @@
From 5d66d5907ac3e76d1e382b8a8e8afe653bd00f4c Mon Sep 17 00:00:00 2001
From: Stephan Hartmann <[email protected]>
Date: Sun, 31 May 2020 13:59:15 +0000
Subject: [PATCH] Fix GCC build with PROTOBUF_USE_DLLS enabled
GCC does not allow mixing __attribute__(()) syntax and alignas()
syntax. Re-use approach from chromium base/compiler_specific.h
---
.../protobuf/src/google/protobuf/arena.h | 2 +-
.../protobuf/src/google/protobuf/port_def.inc | 29 +++++++++++++++++++
.../src/google/protobuf/port_undef.inc | 1 +
3 files changed, 31 insertions(+), 1 deletion(-)
diff --git a/third_party/protobuf/src/google/protobuf/arena.h b/third_party/protobuf/src/google/protobuf/arena.h
index dedc221..a8515ce 100644
--- a/third_party/protobuf/src/google/protobuf/arena.h
+++ b/third_party/protobuf/src/google/protobuf/arena.h
@@ -245,7 +245,7 @@ struct ArenaOptions {
// well as protobuf container types like RepeatedPtrField and Map. The protocol
// is internal to protobuf and is not guaranteed to be stable. Non-proto types
// should not rely on this protocol.
-class PROTOBUF_EXPORT alignas(8) Arena final {
+class PROTOBUF_EXPORT PROTOBUF_ALIGNAS(8) Arena final {
public:
// Arena constructor taking custom options. See ArenaOptions below for
// descriptions of the options available.
diff --git a/third_party/protobuf/src/google/protobuf/port_def.inc b/third_party/protobuf/src/google/protobuf/port_def.inc
index f1bd85d..6d02b53 100644
--- a/third_party/protobuf/src/google/protobuf/port_def.inc
+++ b/third_party/protobuf/src/google/protobuf/port_def.inc
@@ -528,6 +528,35 @@ PROTOBUF_EXPORT_TEMPLATE_TEST(DEFAULT, __declspec(dllimport));
#undef IN
#endif // _MSC_VER
+// Specify memory alignment for structs, classes, etc.
+// Use like:
+// class PROTOBUF_ALIGNAS(16) MyClass { ... }
+// PROTOBUF_ALIGNAS(16) int array[4];
+//
+// In most places you can use the C++11 keyword "alignas", which is preferred.
+//
+// But compilers have trouble mixing __attribute__((...)) syntax with
+// alignas(...) syntax.
+//
+// Doesn't work in clang or gcc:
+// struct alignas(16) __attribute__((packed)) S { char c; };
+// Works in clang but not gcc:
+// struct __attribute__((packed)) alignas(16) S2 { char c; };
+// Works in clang and gcc:
+// struct alignas(16) S3 { char c; } __attribute__((packed));
+//
+// There are also some attributes that must be specified *before* a class
+// definition: visibility (used for exporting functions/classes) is one of
+// these attributes. This means that it is not possible to use alignas() with a
+// class that is marked as exported.
+#if defined(_MSC_VER)
+#define PROTOBUF_ALIGNAS(byte_alignment) __declspec(align(byte_alignment))
+#elif defined(__GNUC__)
+#define PROTOBUF_ALIGNAS(byte_alignment) __attribute__((aligned(byte_alignment)))
+#else
+#define PROTOBUF_ALIGNAS(byte_alignment) alignas(byte_alignment)
+#endif
+
#if defined(__clang__)
#pragma clang diagnostic push
// TODO(gerbens) ideally we cleanup the code. But a cursory try shows many
diff --git a/third_party/protobuf/src/google/protobuf/port_undef.inc b/third_party/protobuf/src/google/protobuf/port_undef.inc
index b7e67fe..ba1fffc 100644
--- a/third_party/protobuf/src/google/protobuf/port_undef.inc
+++ b/third_party/protobuf/src/google/protobuf/port_undef.inc
@@ -80,6 +80,7 @@
#undef PROTOBUF_EXPORT_TEMPLATE_STYLE_MATCH_foj3FJo5StF0OvIzl7oMxA__declspec
#undef PROTOBUF_EXPORT_TEMPLATE_STYLE_MATCH_DECLSPEC_dllexport
#undef PROTOBUF_EXPORT_TEMPLATE_STYLE_MATCH_DECLSPEC_dllimport
+#undef PROTOBUF_ALIGNAS
--
2.26.2

+ 34
- 0
chromium-80.0.3987.106-missing-cstring-header.patch View File

@ -0,0 +1,34 @@
diff -up chromium-80.0.3987.106/third_party/webrtc/audio/utility/channel_mixer.cc.missing-cstring chromium-80.0.3987.106/third_party/webrtc/audio/utility/channel_mixer.cc
--- chromium-80.0.3987.106/third_party/webrtc/audio/utility/channel_mixer.cc.missing-cstring 2020-02-21 13:19:47.077683105 -0500
+++ chromium-80.0.3987.106/third_party/webrtc/audio/utility/channel_mixer.cc 2020-02-21 13:19:47.077683105 -0500
@@ -8,6 +8,8 @@
* be found in the AUTHORS file in the root of the source tree.
*/
+#include <cstring>
+
#include "audio/utility/channel_mixer.h"
#include "audio/utility/channel_mixing_matrix.h"
diff -up chromium-80.0.3987.106/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc.missing-cstring chromium-80.0.3987.106/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc
--- chromium-80.0.3987.106/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc.missing-cstring 2020-02-21 13:19:48.171659179 -0500
+++ chromium-80.0.3987.106/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc 2020-02-21 13:19:48.174659113 -0500
@@ -17,6 +17,7 @@
#include <spa/param/video/raw-utils.h>
#include <spa/support/type-map.h>
+#include <cstring>
#include <memory>
#include <utility>
diff -up chromium-80.0.3987.106/third_party/webrtc/modules/video_coding/utility/ivf_file_reader.cc.missing-cstring chromium-80.0.3987.106/third_party/webrtc/modules/video_coding/utility/ivf_file_reader.cc
--- chromium-80.0.3987.106/third_party/webrtc/modules/video_coding/utility/ivf_file_reader.cc.missing-cstring 2020-02-21 13:30:09.609068057 -0500
+++ chromium-80.0.3987.106/third_party/webrtc/modules/video_coding/utility/ivf_file_reader.cc 2020-02-21 13:30:23.791757875 -0500
@@ -10,6 +10,7 @@
#include "modules/video_coding/utility/ivf_file_reader.h"
+#include <cstring>
#include <string>
#include <vector>

+ 45
- 0
chromium-80.0.3987.87-missing-cstdint-header.patch View File

@ -0,0 +1,45 @@
diff -up chromium-80.0.3987.106/third_party/webrtc/common_video/h264/pps_parser.h.missing-cstdint chromium-80.0.3987.106/third_party/webrtc/common_video/h264/pps_parser.h
--- chromium-80.0.3987.106/third_party/webrtc/common_video/h264/pps_parser.h.missing-cstdint 2020-02-21 12:30:31.564317903 -0500
+++ chromium-80.0.3987.106/third_party/webrtc/common_video/h264/pps_parser.h 2020-02-21 12:30:31.561317957 -0500
@@ -11,6 +11,7 @@
#ifndef COMMON_VIDEO_H264_PPS_PARSER_H_
#define COMMON_VIDEO_H264_PPS_PARSER_H_
+#include <cstdint>
#include "absl/types/optional.h"
namespace rtc {
diff -up chromium-80.0.3987.106/third_party/webrtc/common_video/h264/sps_parser.h.missing-cstdint chromium-80.0.3987.106/third_party/webrtc/common_video/h264/sps_parser.h
--- chromium-80.0.3987.106/third_party/webrtc/common_video/h264/sps_parser.h.missing-cstdint 2020-02-21 12:30:31.565317885 -0500
+++ chromium-80.0.3987.106/third_party/webrtc/common_video/h264/sps_parser.h 2020-02-21 12:30:31.565317885 -0500
@@ -11,6 +11,7 @@
#ifndef COMMON_VIDEO_H264_SPS_PARSER_H_
#define COMMON_VIDEO_H264_SPS_PARSER_H_
+#include <cstdint>
#include "absl/types/optional.h"
namespace rtc {
diff -up chromium-80.0.3987.106/third_party/webrtc/modules/include/module_common_types_public.h.missing-cstdint chromium-80.0.3987.106/third_party/webrtc/modules/include/module_common_types_public.h
--- chromium-80.0.3987.106/third_party/webrtc/modules/include/module_common_types_public.h.missing-cstdint 2020-02-21 12:52:16.946512744 -0500
+++ chromium-80.0.3987.106/third_party/webrtc/modules/include/module_common_types_public.h 2020-02-21 12:52:26.220312608 -0500
@@ -11,6 +11,7 @@
#ifndef MODULES_INCLUDE_MODULE_COMMON_TYPES_PUBLIC_H_
#define MODULES_INCLUDE_MODULE_COMMON_TYPES_PUBLIC_H_
+#include <cstdint>
#include <limits>
#include "absl/types/optional.h"
diff -up chromium-81.0.4044.92/ui/gfx/linux/drm_util_linux.h.missing-cstdint chromium-81.0.4044.92/ui/gfx/linux/drm_util_linux.h
--- chromium-81.0.4044.92/ui/gfx/linux/drm_util_linux.h.missing-cstdint 2020-04-13 15:33:24.879106867 -0400
+++ chromium-81.0.4044.92/ui/gfx/linux/drm_util_linux.h 2020-04-13 15:33:47.453689695 -0400
@@ -7,6 +7,8 @@
#include "ui/gfx/buffer_types.h"
+#include <cstdint>
+
namespace ui {
int GetFourCCFormatFromBufferFormat(gfx::BufferFormat format);

+ 12
- 0
chromium-81.0.4044.92-unbundle-zlib.patch View File

@ -0,0 +1,12 @@
diff -up chromium-81.0.4044.92/third_party/perfetto/gn/BUILD.gn.unbundle-zlib chromium-81.0.4044.92/third_party/perfetto/gn/BUILD.gn
--- chromium-81.0.4044.92/third_party/perfetto/gn/BUILD.gn.unbundle-zlib 2020-04-13 12:25:09.001172601 -0400
+++ chromium-81.0.4044.92/third_party/perfetto/gn/BUILD.gn 2020-04-13 12:25:23.688921586 -0400
@@ -294,7 +294,7 @@ if (enable_perfetto_zlib) {
public_configs = [ "//buildtools:zlib_config" ]
public_deps = [ "//buildtools:zlib" ]
} else {
- public_configs = [ "//third_party/zlib:zlib_config" ]
+ public_configs = [ "//third_party/zlib:system_zlib" ]
public_deps = [ "//third_party/zlib" ]
}
}

+ 13
- 0
chromium-83.0.4103.61-disable-fontconfig-cache-magic.patch View File

@ -0,0 +1,13 @@
diff -up chromium-83.0.4103.61/base/test/BUILD.gn.nofontconfigcache chromium-83.0.4103.61/base/test/BUILD.gn
--- chromium-83.0.4103.61/base/test/BUILD.gn.nofontconfigcache 2020-05-29 12:30:03.409707011 -0400
+++ chromium-83.0.4103.61/base/test/BUILD.gn 2020-05-29 12:30:22.593275137 -0400
@@ -188,9 +188,6 @@ static_library("test_support") {
sources += [ "test_file_util_linux.cc" ]
public_deps += [ ":fontconfig_util_linux" ]
data_deps = [ "//third_party/test_fonts" ]
- if (current_toolchain == host_toolchain) {
- data_deps += [ ":do_generate_fontconfig_caches" ]
- }
}
if (is_mac) {

+ 33
- 0
chromium-84-blink-disable-clang-format.patch View File

@ -0,0 +1,33 @@
From 08ac7188f414218ac9d764e29e7aa64a6bfc2f96 Mon Sep 17 00:00:00 2001
From: Stephan Hartmann <[email protected]>
Date: Sun, 31 May 2020 10:02:03 +0000
Subject: [PATCH] disable clang-format for generated code in blink
For GCC builds clang-format might be not available. Additionally,
current scripts look for clang-format within chromium sources and
don't consider system clang-format.
---
.../bindings/scripts/bind_gen/codegen_utils.py | 10 +---------
1 file changed, 1 insertion(+), 9 deletions(-)
diff --git a/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_utils.py b/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_utils.py
index 7021f1a..33bf5bf 100644
--- a/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_utils.py
+++ b/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_utils.py
@@ -150,12 +150,4 @@ def write_code_node_to_file(code_node, filepath):
rendered_text = render_code_node(code_node)
- format_result = style_format.auto_format(rendered_text, filename=filepath)
- if not format_result.did_succeed:
- raise RuntimeError("Style-formatting failed: filename = {filename}\n"
- "---- stderr ----\n"
- "{stderr}:".format(
- filename=format_result.filename,
- stderr=format_result.error_message))
-
- web_idl.file_io.write_to_file_if_changed(filepath, format_result.contents)
+ web_idl.file_io.write_to_file_if_changed(filepath, rendered_text)
--
2.26.2

+ 45
- 0
chromium-84.0.4147.105-gn-gcc-cleanup.patch View File

@ -0,0 +1,45 @@
diff -up chromium-84.0.4147.105/tools/gn/src/gn/err.h.gn-gcc-cleanup chromium-84.0.4147.105/tools/gn/src/gn/err.h
--- chromium-84.0.4147.105/tools/gn/src/gn/err.h.gn-gcc-cleanup 2020-08-01 10:04:57.354719575 -0400
+++ chromium-84.0.4147.105/tools/gn/src/gn/err.h 2020-08-01 10:04:51.653974728 -0400
@@ -55,7 +55,7 @@ class Err {
const std::string& help_text = std::string());
Err(const Err& other);
-
+ Err& operator=(const Err& other) = default;
~Err();
bool has_error() const { return has_error_; }
diff -up chromium-84.0.4147.105/tools/gn/src/gn/label_pattern.h.gn-gcc-cleanup chromium-84.0.4147.105/tools/gn/src/gn/label_pattern.h
--- chromium-84.0.4147.105/tools/gn/src/gn/label_pattern.h.gn-gcc-cleanup 2020-08-01 10:24:18.405934036 -0400
+++ chromium-84.0.4147.105/tools/gn/src/gn/label_pattern.h 2020-08-01 10:24:56.664265755 -0400
@@ -33,6 +33,7 @@ class LabelPattern {
const std::string_view& name,
const Label& toolchain_label);
LabelPattern(const LabelPattern& other);
+ LabelPattern& operator=(const LabelPattern& other) = default;
~LabelPattern();
// Converts the given input string to a pattern. This does special stuff
diff -up chromium-84.0.4147.105/tools/gn/src/gn/substitution_list.h.gn-gcc-cleanup chromium-84.0.4147.105/tools/gn/src/gn/substitution_list.h
--- chromium-84.0.4147.105/tools/gn/src/gn/substitution_list.h.gn-gcc-cleanup 2020-08-01 10:04:51.721971684 -0400
+++ chromium-84.0.4147.105/tools/gn/src/gn/substitution_list.h 2020-08-01 10:04:51.765969715 -0400
@@ -15,6 +15,7 @@ class SubstitutionList {
public:
SubstitutionList();
SubstitutionList(const SubstitutionList& other);
+ SubstitutionList& operator=(const SubstitutionList& other) = default;
~SubstitutionList();
bool Parse(const Value& value, Err* err);
diff -up chromium-84.0.4147.105/tools/gn/src/gn/substitution_pattern.h.gn-gcc-cleanup chromium-84.0.4147.105/tools/gn/src/gn/substitution_pattern.h
--- chromium-84.0.4147.105/tools/gn/src/gn/substitution_pattern.h.gn-gcc-cleanup 2020-08-01 10:04:51.637975444 -0400
+++ chromium-84.0.4147.105/tools/gn/src/gn/substitution_pattern.h 2020-08-01 10:04:57.305721767 -0400
@@ -35,6 +35,7 @@ class SubstitutionPattern {
SubstitutionPattern();
SubstitutionPattern(const SubstitutionPattern& other);
+ SubstitutionPattern& operator=(const SubstitutionPattern& other) = default;
~SubstitutionPattern();
// Parses the given string and fills in the pattern. The pattern must only

+ 13
- 0
chromium-84.0.4147.125-aarch64-clearkeycdm-binutils-workaround.patch View File

@ -0,0 +1,13 @@
diff -up chromium-84.0.4147.125/third_party/ffmpeg/libavcodec/aarch64/videodsp.S.fixme chromium-84.0.4147.125/third_party/ffmpeg/libavcodec/aarch64/videodsp.S
--- chromium-84.0.4147.125/third_party/ffmpeg/libavcodec/aarch64/videodsp.S.fixme 2020-08-21 15:49:55.565746419 +0000
+++ chromium-84.0.4147.125/third_party/ffmpeg/libavcodec/aarch64/videodsp.S 2020-08-21 15:50:55.592152015 +0000
@@ -23,6 +23,8 @@ function ff_prefetch_aarch64, export=1
prfm pldl1strm, [x0]
prfm pldl1strm, [x0, x1]
add x0, x0, x1, lsl #1
- b.gt X(ff_prefetch_aarch64)
+ b.le 1f
+ b X(ff_prefetch_aarch64)
+ 1:
ret
endfunc

+ 12
- 0
chromium-84.0.4147.125-i686-fix_textrels.patch View File

@ -0,0 +1,12 @@
diff -up chromium-84.0.4147.125/third_party/ffmpeg/BUILD.gn.i686-textrels chromium-84.0.4147.125/third_party/ffmpeg/BUILD.gn
--- chromium-84.0.4147.125/third_party/ffmpeg/BUILD.gn.i686-textrels 2020-08-17 09:33:53.153653741 -0400
+++ chromium-84.0.4147.125/third_party/ffmpeg/BUILD.gn 2020-08-17 09:34:25.099564669 -0400
@@ -68,7 +68,7 @@ if (has_nasm_deps) {
}
# See comments on fix_textrels config.
- if (use_lld && current_cpu == "x86" && !is_win) {
+ if (current_cpu == "x86" && !is_win) {
all_dependent_configs = [ ":fix_textrels" ]
}
}

+ 56
- 0
chromium-84.0.4147.125-remoting-cstring.patch View File

@ -0,0 +1,56 @@
diff -up chromium-84.0.4147.125/remoting/base/util.cc.remoting-cstring chromium-84.0.4147.125/remoting/base/util.cc
--- chromium-84.0.4147.125/remoting/base/util.cc.remoting-cstring 2020-08-11 22:03:35.508469920 -0400
+++ chromium-84.0.4147.125/remoting/base/util.cc 2020-08-11 22:03:35.507469920 -0400
@@ -4,6 +4,7 @@
#include "remoting/base/util.h"
+#include <cstring>
#include <math.h>
#include "base/logging.h"
diff -up chromium-84.0.4147.125/remoting/client/display/gl_helpers.cc.remoting-cstring chromium-84.0.4147.125/remoting/client/display/gl_helpers.cc
--- chromium-84.0.4147.125/remoting/client/display/gl_helpers.cc.remoting-cstring 2020-08-11 22:03:35.279469970 -0400
+++ chromium-84.0.4147.125/remoting/client/display/gl_helpers.cc 2020-08-11 22:03:35.277469971 -0400
@@ -5,6 +5,7 @@
#include "remoting/client/display/gl_helpers.h"
#include "base/logging.h"
+#include <cstring>
namespace remoting {
diff -up chromium-84.0.4147.125/remoting/host/fake_mouse_cursor_monitor.cc.remoting-cstring chromium-84.0.4147.125/remoting/host/fake_mouse_cursor_monitor.cc
--- chromium-84.0.4147.125/remoting/host/fake_mouse_cursor_monitor.cc.remoting-cstring 2020-08-12 09:53:46.104504128 -0400
+++ chromium-84.0.4147.125/remoting/host/fake_mouse_cursor_monitor.cc 2020-08-12 09:53:59.123476291 -0400
@@ -4,6 +4,7 @@
#include "remoting/host/fake_mouse_cursor_monitor.h"
+#include <cstring>
#include <memory>
#include "base/check.h"
diff -up chromium-84.0.4147.125/remoting/host/host_config_unittest.cc.remoting-cstring chromium-84.0.4147.125/remoting/host/host_config_unittest.cc
--- chromium-84.0.4147.125/remoting/host/host_config_unittest.cc.remoting-cstring 2020-08-11 22:03:35.083470013 -0400
+++ chromium-84.0.4147.125/remoting/host/host_config_unittest.cc 2020-08-11 22:03:35.196469988 -0400
@@ -10,6 +10,7 @@
#include "base/memory/ref_counted.h"
#include "base/values.h"
#include "testing/gtest/include/gtest/gtest.h"
+#include <cstring>
namespace remoting {
diff -up chromium-84.0.4147.125/remoting/host/host_secret.cc.remoting-cstring chromium-84.0.4147.125/remoting/host/host_secret.cc
--- chromium-84.0.4147.125/remoting/host/host_secret.cc.remoting-cstring 2020-08-11 22:03:35.079470014 -0400
+++ chromium-84.0.4147.125/remoting/host/host_secret.cc 2020-08-11 22:03:35.029470025 -0400
@@ -6,7 +6,7 @@
#include <stdint.h>
-#include <string>
+#include <cstring>
#include "base/rand_util.h"
#include "base/strings/string_number_conversions.h"

+ 0
- 41
chromium-85-ffmpeg-4.3-r796966.patch View File

@ -1,41 +0,0 @@
From 7f4c7ff6b0f0e74338c885b0d5e5ef80fed597c3 Mon Sep 17 00:00:00 2001
From: Dan Sanders <sander[email protected]>
Date: Tue, 11 Aug 2020 20:38:03 +0000
Subject: [PATCH] [media] Set allocation limit compatible with FFmpeg 4.3
Previously we set the limit to zero, meaning no limit, but FFmpeg 4.3
will not allocate at all with that setting.
Changed to std::numeric_limits<size_t>::max().
Bug: 1095962
Change-Id: I96820c21f794f2814e955ee75ff22dfd31804c29
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2349405
Reviewed-by: Dale Curtis <[email protected]>
Commit-Queue: Dan Sanders <[email protected]>
Cr-Commit-Position: refs/heads/[email protected]{#796966}
---
media/base/media.cc | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
--- a/media/base/media.cc
+++ b/media/base/media.cc
@@ -4,6 +4,9 @@
#include "media/base/media.h"
+#include <stdint.h>
+#include <limits>
+
#include "base/allocator/buildflags.h"
#include "base/command_line.h"
#include "base/macros.h"
@@ -41,7 +44,7 @@ class MediaInitializer {
#if BUILDFLAG(USE_ALLOCATOR_SHIM)
// Remove allocation limit from ffmpeg, so calls go down to shim layer.
- av_max_alloc(0);
+ av_max_alloc(std::numeric_limits<size_t>::max());
#endif // BUILDFLAG(USE_ALLOCATOR_SHIM)
#endif // BUILDFLAG(ENABLE_FFMPEG)

chromium-enable-vaapi.patch → chromium-86.0.4240.75-enable-hardware-accelerated-mjpeg.patch View File

@ -1,20 +1,7 @@
From e04b52fc9b12f0725e76b889161ea45c776e6da5 Mon Sep 17 00:00:00 2001
From: Akarshan Biswas <[email protected]>
Date: Fri, 20 Sep 2019 19:55:45 +0530
Subject: [PATCH] Enable VAAPI on Linux
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -2372,7 +2372,7 @@ const FeatureEntry kFeatureEntries[] = {
"disable-accelerated-video-decode",
flag_descriptions::kAcceleratedVideoDecodeName,
flag_descriptions::kAcceleratedVideoDecodeDescription,
- kOsMac | kOsWin | kOsCrOS | kOsAndroid,
+ kOsMac | kOsWin | kOsCrOS | kOsAndroid | kOsLinux,
SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedVideoDecode),
},
{
@@ -2823,12 +2823,12 @@ const FeatureEntry kFeatureEntries[] = {
diff -up chromium-86.0.4240.75/chrome/browser/about_flags.cc.vaapi chromium-86.0.4240.75/chrome/browser/about_flags.cc
--- chromium-86.0.4240.75/chrome/browser/about_flags.cc.vaapi 2020-10-07 12:38:37.000000000 -0400
+++ chromium-86.0.4240.75/chrome/browser/about_flags.cc 2020-10-14 15:46:27.429435196 -0400
@@ -3112,12 +3112,12 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kWebXrForceRuntimeDescription, kOsDesktop,
MULTI_VALUE_TYPE(kWebXrForceRuntimeChoices)},
#endif // ENABLE_VR
@ -26,13 +13,14 @@ Subject: [PATCH] Enable VAAPI on Linux
+ flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS | kOsLinux,
SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedMjpegDecode)},
-#endif // OS_CHROMEOS
+#endif // OS_CHROMEOS | OS_LINUX
+#endif // OS_CHROMEOS || OS_LINUX
{"system-keyboard-lock", flag_descriptions::kSystemKeyboardLockName,
flag_descriptions::kSystemKeyboardLockDescription, kOsDesktop,
FEATURE_VALUE_TYPE(features::kSystemKeyboardLock)},
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -3257,16 +3257,19 @@ const char kMetalDescription[] =
diff -up chromium-86.0.4240.75/chrome/browser/flag_descriptions.cc.vaapi chromium-86.0.4240.75/chrome/browser/flag_descriptions.cc
--- chromium-86.0.4240.75/chrome/browser/flag_descriptions.cc.vaapi 2020-10-07 12:38:38.000000000 -0400
+++ chromium-86.0.4240.75/chrome/browser/flag_descriptions.cc 2020-10-14 15:46:27.430435203 -0400
@@ -3519,16 +3519,19 @@ const char kVideoToolboxVp9DecodingDescr
#endif
@ -55,11 +43,12 @@ Subject: [PATCH] Enable VAAPI on Linux
const char kAggregatedMlAppRankingName[] = "Rank suggested apps with ML.";
const char kAggregatedMlAppRankingDescription[] =
"Use the aggregated ML model to rank the suggested apps.";
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -1881,13 +1881,19 @@ extern const char kMetalDescription[];
diff -up chromium-86.0.4240.75/chrome/browser/flag_descriptions.h.vaapi chromium-86.0.4240.75/chrome/browser/flag_descriptions.h
--- chromium-86.0.4240.75/chrome/browser/flag_descriptions.h.vaapi 2020-10-14 15:46:27.431435211 -0400
+++ chromium-86.0.4240.75/chrome/browser/flag_descriptions.h 2020-10-14 15:56:25.774118708 -0400
@@ -2026,13 +2026,19 @@ extern const char kVideoToolboxVp9Decodi
#endif // defined(OS_MACOSX)
#endif // defined(OS_MAC)
-// Chrome OS ------------------------------------------------------------------
+// Chrome OS and Linux ---------------------------------------------------------
@ -70,7 +59,7 @@ Subject: [PATCH] Enable VAAPI on Linux
extern const char kAcceleratedMjpegDecodeName[];
extern const char kAcceleratedMjpegDecodeDescription[];
+#endif
+#endif
+
+// Chrome OS -------------------------------------------------------------------
+
@ -79,19 +68,4 @@ Subject: [PATCH] Enable VAAPI on Linux
extern const char kAggregatedMlAppRankingName[];
extern const char kAggregatedMlAppRankingDescription[];
--- a/gpu/config/software_rendering_list.json
+++ b/gpu/config/software_rendering_list.json
@@ -337,11 +337,12 @@
},
{
"id": 48,
- "description": "Accelerated video decode is unavailable on Linux",
+ "description": "Accelerated VA-API video decode is not supported on NVIDIA platforms",
"cr_bugs": [137247, 1032907],
"os": {
"type": "linux"
},
+ "vendor_id": "0x10de",
"exceptions": [
{
"machine_model_name": ["Chromecast"]
diff -up chromium-86.0.4240.75/gpu/config/software_rendering_list.json.vaapi chromium-86.0.4240.75/gpu/config/software_rendering_list.json

chromium-fix-vaapi-on-intel.patch → chromium-86.0.4240.75-fix-vaapi-on-intel.patch View File

@ -1,27 +1,23 @@
From 9ff06536caf7ea51aad9fd2bb649c858eaf7ee84 Mon Sep 17 00:00:00 2001
From: Akarshan Biswas <[email protected]>
Date: Sat, 26 Oct 2019 10:06:30 +0530
Subject: [PATCH] Move offending function to chromeos only
--- a/media/gpu/vaapi/vaapi_video_decode_accelerator.cc
+++ b/media/gpu/vaapi/vaapi_video_decode_accelerator.cc
@@ -66,6 +66,7 @@ void ReportToUMA(VAVDADecoderFailure fai
VAVDA_DECODER_FAILURES_MAX + 1);
diff -up chromium-86.0.4240.75/media/gpu/vaapi/vaapi_video_decode_accelerator.cc.vaapi-intel-fix chromium-86.0.4240.75/media/gpu/vaapi/vaapi_video_decode_accelerator.cc
--- chromium-86.0.4240.75/media/gpu/vaapi/vaapi_video_decode_accelerator.cc.vaapi-intel-fix 2020-10-07 12:38:47.000000000 -0400
+++ chromium-86.0.4240.75/media/gpu/vaapi/vaapi_video_decode_accelerator.cc 2020-10-14 16:20:46.938556042 -0400
@@ -58,6 +58,7 @@ unsigned int GetVaFormatForVideoCodecPro
return VA_RT_FORMAT_YUV420;
}
+#if defined(OS_ANDROID) || defined(OS_CHROMEOS)
// Returns true if the CPU is an Intel Gemini Lake or later (including Kaby
// Lake) Cpu platform id's are referenced from the following file in kernel
// source arch/x86/include/asm/intel-family.h
@@ -78,6 +79,7 @@ bool IsGeminiLakeOrLater() {
@@ -70,6 +71,7 @@ bool IsGeminiLakeOrLater() {
cpuid.model() >= kGeminiLakeModelId;
return is_geminilake_or_later;
}
+#endif
+#endif
} // namespace
@@ -1169,6 +1171,8 @@ VaapiVideoDecodeAccelerator::DecideBuffe
@@ -1214,6 +1216,8 @@ VaapiVideoDecodeAccelerator::DecideBuffe
if (output_mode_ == VideoDecodeAccelerator::Config::OutputMode::IMPORT)
return BufferAllocationMode::kNormal;
@ -30,11 +26,11 @@ Subject: [PATCH] Move offending function to chromeos only
// On Gemini Lake, Kaby Lake and later we can pass to libva the client's
// PictureBuffers to decode onto, which skips the use of the Vpp unit and its
// associated format reconciliation copy, avoiding all internal buffer
@@ -1184,6 +1188,7 @@ VaapiVideoDecodeAccelerator::DecideBuffe
@@ -1229,6 +1233,7 @@ VaapiVideoDecodeAccelerator::DecideBuffe
num_extra_pics_ = 3;
return BufferAllocationMode::kNone;
}
+#endif
+#endif
// For H.264 on older devices, another +1 is experimentally needed for
// high-to-high resolution changes.

+ 15
- 0
chromium-86.0.4240.75-initial_prefs-etc-path.patch View File

@ -0,0 +1,15 @@
diff -up chromium-86.0.4240.75/chrome/browser/first_run/first_run_internal_linux.cc.etc chromium-86.0.4240.75/chrome/browser/first_run/first_run_internal_linux.cc
--- chromium-86.0.4240.75/chrome/browser/first_run/first_run_internal_linux.cc.etc 2020-10-14 14:38:42.826660141 -0400
+++ chromium-86.0.4240.75/chrome/browser/first_run/first_run_internal_linux.cc 2020-10-14 14:44:49.906526646 -0400
@@ -19,9 +19,9 @@ bool IsOrganicFirstRun() {
base::FilePath InitialPrefsPath() {
// The standard location of the initial prefs is next to the chrome binary.
+ // ...but we patch it to use /etc/chromium
base::FilePath initial_prefs;
- if (!base::PathService::Get(base::DIR_EXE, &initial_prefs))
- return base::FilePath();
+ initial_prefs = base::FilePath("/etc/chromium");
return initial_prefs.AppendASCII(installer::kDefaultMasterPrefs);
}

+ 90
- 0
chromium-86.0.4240.75-norar.patch View File

@ -0,0 +1,90 @@
diff -up chromium-86.0.4240.75/chrome/common/safe_browsing/BUILD.gn.nounrar chromium-86.0.4240.75/chrome/common/safe_browsing/BUILD.gn
--- chromium-86.0.4240.75/chrome/common/safe_browsing/BUILD.gn.nounrar 2020-10-14 17:14:37.804975091 -0400
+++ chromium-86.0.4240.75/chrome/common/safe_browsing/BUILD.gn 2020-10-14 17:14:37.800975059 -0400
@@ -43,39 +43,6 @@ if (safe_browsing_mode == 1) {
public_deps = [ "//components/safe_browsing/core:csd_proto" ]
}
- source_set("rar_analyzer") {
- sources = [
- "rar_analyzer.cc",
- "rar_analyzer.h",
- ]
-
- deps = [
- ":archive_analyzer_results",
- ":download_type_util",
- "//base",
- "//base:i18n",
- "//components/safe_browsing/core:features",
- "//components/safe_browsing/core:file_type_policies",
- "//third_party/unrar:unrar",
- ]
-
- defines = [
- "_FILE_OFFSET_BITS=64",
- "LARGEFILE_SOURCE",
- "RAR_SMP",
- "SILENT",
-
- # The following is set to disable certain macro definitions in the unrar
- # source code.
- "CHROMIUM_UNRAR",
-
- # Disables exceptions in unrar, replaces them with process termination.
- "UNRAR_NO_EXCEPTIONS",
- ]
-
- public_deps = [ "//components/safe_browsing/core:csd_proto" ]
- }
-
source_set("disk_image_type_sniffer_mac") {
sources = [
"disk_image_type_sniffer_mac.cc",
@@ -138,7 +105,6 @@ source_set("safe_browsing") {
":archive_analyzer_results",
":binary_feature_extractor",
":download_type_util",
- ":rar_analyzer",
"//components/safe_browsing/core:features",
]
diff -up chromium-86.0.4240.75/chrome/common/safe_browsing/DEPS.nounrar chromium-86.0.4240.75/chrome/common/safe_browsing/DEPS
--- chromium-86.0.4240.75/chrome/common/safe_browsing/DEPS.nounrar 2020-10-14 17:14:37.800975059 -0400
+++ chromium-86.0.4240.75/chrome/common/safe_browsing/DEPS 2020-10-14 17:14:37.806975106 -0400
@@ -1,6 +1,5 @@
include_rules = [
"+components/safe_browsing",
"+third_party/protobuf",
- "+third_party/unrar",
"+third_party/zlib",
]
diff -up chromium-86.0.4240.75/chrome/services/file_util/BUILD.gn.nounrar chromium-86.0.4240.75/chrome/services/file_util/BUILD.gn
--- chromium-86.0.4240.75/chrome/services/file_util/BUILD.gn.nounrar 2020-10-14 17:30:58.473704551 -0400
+++ chromium-86.0.4240.75/chrome/services/file_util/BUILD.gn 2020-10-14 17:31:25.511917656 -0400
@@ -15,7 +15,6 @@ source_set("file_util") {
"//base",
"//chrome/common/safe_browsing",
"//chrome/common/safe_browsing:archive_analyzer_results",
- "//chrome/common/safe_browsing:rar_analyzer",
"//components/safe_browsing:buildflags",
"//mojo/public/cpp/bindings",
]
diff -up chromium-86.0.4240.75/chrome/services/file_util/safe_archive_analyzer.cc.nounrar chromium-86.0.4240.75/chrome/services/file_util/safe_archive_analyzer.cc
--- chromium-86.0.4240.75/chrome/services/file_util/safe_archive_analyzer.cc.nounrar 2020-10-14 17:14:37.255970763 -0400
+++ chromium-86.0.4240.75/chrome/services/file_util/safe_archive_analyzer.cc 2020-10-14 17:14:37.259970795 -0400
@@ -45,10 +45,14 @@ void SafeArchiveAnalyzer::AnalyzeDmgFile
void SafeArchiveAnalyzer::AnalyzeRarFile(base::File rar_file,
base::File temporary_file,
AnalyzeRarFileCallback callback) {
+#if 0
DCHECK(rar_file.IsValid());
safe_browsing::ArchiveAnalyzerResults results;
safe_browsing::rar_analyzer::AnalyzeRarFile(
std::move(rar_file), std::move(temporary_file), &results);
std::move(callback).Run(results);
+#else
+ NOTREACHED();
+#endif
}

+ 23
- 0
chromium-86.0.4240.75-vaapi-i686-fpermissive.patch View File

@ -0,0 +1,23 @@
diff -up chromium-86.0.4240.75/media/gpu/vaapi/BUILD.gn.i686permissive chromium-86.0.4240.75/media/gpu/vaapi/BUILD.gn
--- chromium-86.0.4240.75/media/gpu/vaapi/BUILD.gn.i686permissive 2020-10-14 16:24:17.803206586 -0400
+++ chromium-86.0.4240.75/media/gpu/vaapi/BUILD.gn 2020-10-14 16:24:59.212530721 -0400
@@ -13,6 +13,10 @@ import("//ui/ozone/ozone.gni")
assert(is_linux || is_chromeos)
assert(use_vaapi)
+config("vaapi_permissive") {
+ cflags = [ "-fpermissive" ]
+}
+
generate_stubs("libva_stubs") {
extra_header = "va_stub_header.fragment"
sigs = [ "va.sigs" ]
@@ -121,6 +125,8 @@ source_set("vaapi") {
]
}
+ configs += [ ":vaapi_permissive" ]
+
if (use_x11) {
deps += [ "//ui/gfx/x" ]
sources += [

+ 36
- 0
chromium-87-CursorFactory-include.patch View File

@ -0,0 +1,36 @@
From c4f6e8cd34a245c3640b86a91c9694d69594d80b Mon Sep 17 00:00:00 2001
From: Stephan Hartmann <[email protected]>
Date: Wed, 16 Sep 2020 15:05:02 +0000
Subject: [PATCH] IWYU: ui::CursorFactory is now required independent from
Ozone
---
.../ui/views/chrome_browser_main_extra_parts_views_linux.cc | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.cc b/chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.cc
index 5a97d61..ccedd2a 100644
--- a/chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.cc
+++ b/chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.cc
@@ -7,6 +7,7 @@
#include "chrome/browser/themes/theme_service_aura_linux.h"
#include "chrome/browser/ui/browser_list.h"
#include "chrome/browser/ui/views/theme_profile_key.h"
+#include "ui/base/cursor/cursor_factory.h"
#include "ui/display/screen.h"
#include "ui/views/linux_ui/linux_ui.h"
@@ -15,10 +16,6 @@
#include "ui/gtk/gtk_ui_delegate.h"
#endif
-#if defined(USE_OZONE)
-#include "ui/base/cursor/cursor_factory.h"
-#endif
-
#if defined(USE_X11)
#include "ui/gfx/x/connection.h" // nogncheck
#if BUILDFLAG(USE_GTK)
--
2.26.2

+ 22
- 0
chromium-87-ServiceWorkerContainerHost-crash.patch View File

@ -0,0 +1,22 @@
Bug: https://bugs.gentoo.org/750038
Upstream bug: https://crbug.com/1135070
--- a/content/browser/service_worker/service_worker_container_host.cc
+++ b/content/browser/service_worker/service_worker_container_host.cc
@@ -626,6 +626,16 @@
int64_t registration_id) {
DCHECK_CURRENTLY_ON(ServiceWorkerContext::GetCoreThreadId());
DCHECK(base::Contains(registration_object_hosts_, registration_id));
+
+ // ServiceWorkerRegistrationObjectHost to be deleted may have the last reference to
+ // ServiceWorkerRegistration that indirectly owns this ServiceWorkerContainerHost.
+ // If we erase the object host directly from the map, |this| could be deleted
+ // during the map operation and may crash. To avoid the case, we take the
+ // ownership of the object host from the map first, and then erase the entry
+ // from the map. See https://crbug.com/1135070 for details.
+ std::unique_ptr<ServiceWorkerRegistrationObjectHost> to_be_deleted =
+ std::move(registration_object_hosts_[registration_id]);
+ DCHECK(to_be_deleted);
registration_object_hosts_.erase(registration_id);
}

+ 25
- 0
chromium-87-openscreen-include.patch View File

@ -0,0 +1,25 @@
From 0c0af4cabb7490db473cd2c28f069956974a4d98 Mon Sep 17 00:00:00 2001
From: Stephan Hartmann <[email protected]>
Date: Fri, 2 Oct 2020 12:11:58 +0000
Subject: [PATCH] IWYU: uint8_t is defined in stdint.h
---
third_party/openscreen/src/util/crypto/random_bytes.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/third_party/openscreen/src/util/crypto/random_bytes.h b/third_party/openscreen/src/util/crypto/random_bytes.h
index 3cb2fa8..025b52c 100644
--- a/third_party/openscreen/src/util/crypto/random_bytes.h
+++ b/third_party/openscreen/src/util/crypto/random_bytes.h
@@ -7,6 +7,8 @@
#include <array>
+#include <stdint.h>
+
namespace openscreen {
std::array<uint8_t, 16> GenerateRandomBytes16();
--
2.26.2

+ 39
- 0
chromium-88-vaapi-attribute.patch View File

@ -0,0 +1,39 @@
From 4f4604877f3b666ac7a373ae443e3c3795424569 Mon Sep 17 00:00:00 2001
From: Stephan Hartmann <[email protected]>
Date: Fri, 6 Nov 2020 11:18:42 +0000
Subject: [PATCH] GCC: fix attribute on function definition
GCC does not accept attributes at the end for function definitions.
Solution is to move it before function name. Otherwise GCC fails like
this:
../../base/compiler_specific.h:97:28: error: attributes are not allowed
on a function-definition
97 | #define WARN_UNUSED_RESULT __attribute__((warn_unused_result))
| ^~~~~~~~~~~~~
../../media/gpu/vaapi/vaapi_wrapper.h:322:36: note: in
expansion of macro 'WARN_UNUSED_RESULT'
322 | const T* data) WARN_UNUSED_RESULT {
| ^~~~~~~~~~~~~~~~~~
---
media/gpu/vaapi/vaapi_wrapper.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/media/gpu/vaapi/vaapi_wrapper.h b/media/gpu/vaapi/vaapi_wrapper.h
index fd1fd82..deeda1f 100644
--- a/media/gpu/vaapi/vaapi_wrapper.h
+++ b/media/gpu/vaapi/vaapi_wrapper.h
@@ -318,8 +318,8 @@ class MEDIA_GPU_EXPORT VaapiWrapper
// Convenient templatized version of SubmitBuffer() where |size| is deduced to
// be the size of the type of |*data|.
template <typename T>
- bool SubmitBuffer(VABufferType va_buffer_type,
- const T* data) WARN_UNUSED_RESULT {
+ bool WARN_UNUSED_RESULT SubmitBuffer(VABufferType va_buffer_type,
+ const T* data) {
return SubmitBuffer(va_buffer_type, sizeof(T), data);
}
// Batch-version of SubmitBuffer(), where the lock for accessing libva is
--
2.26.2

+ 0
- 828
chromium-browser-privacy.spec View File

@ -1,828 +0,0 @@
#Global Libraries
#Do not turn it on in Fedora copr!
%global freeworld 1
# A switch to disable domain substitution for development purposes.
%bcond_without domain_substitution
%global menu_name Chromium (CBP)
%global xdg_subdir ungoogled-chromium
#This can be any folder on out
%global target out/Release
### Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
### Note: These are for Fedora use ONLY.
### For your own distribution, please get your own set of keys.
### http://lists.debian.org/debian-legal/2013/11/msg00006.html
%global api_key %{nil}
%global default_client_id %{nil}
%global default_client_secret %{nil}
###############################Exclude Private chromium libs###########################
%global __requires_exclude %{chromiumdir}/.*\\.so
%global __provides_exclude_from %{chromiumdir}/.*\\.so
#######################################CONFIGS###########################################
#Require harfbuzz >= 2.4.0 for hb_subset_input_set_retain_gids
%bcond_without system_harfbuzz
# Require libxml2 > 2.9.4 for XML_PARSE_NOXXE
%bcond_without system_libxml2
# Allow testing whether icu can be unbundled
# A patch fix building so enabled by default for Fedora 30
# Need icu version >= 64
%bcond_with system_libicu
# Allow testing whether libvpx can be unbundled
%bcond_with system_libvpx
# Allow testing whether ffmpeg can be unbundled
%bcond_without system_ffmpeg
#Allow minizip to be unbundled
#mini-compat is going to be removed from fedora 30!
%bcond_without system_minizip
# Need re2 ver. 2016.07.21 for re2::LazyRE2
%bcond_with system_re2
#Turn on verbose mode
%global debug_logs 0
#------------------------------------------------------
#Build debug packages for debugging
%global debug_pkg 0
# Enable building with ozone support
%global ozone 0
##############################Package Definitions######################################
Name: chromium-browser-privacy
Version: 85.0.4183.102
Release: 1%{?dist}
Summary: Chromium, sans integration with Google
License: BSD and LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and OpenSSL and (MPLv1.1 or GPLv2 or LGPLv2)
URL: https://github.com/Eloston/ungoogled-chromium
%if %{freeworld}
Source0: https://commondatastorage.googleapis.com/chromium-browser-official/chromium-%{version}.tar.xz
%else
# Unfortunately, Fedora & Copr forbids uploading sources with patent-encumbered
# ffmpeg code even if they are never compiled and linked to target binaries,
# so we must repackage upstream tarballs to satisfy this requirement. However,
# we cannot simply delete all code of ffmpeg because this will disable support
# for some commonly-used free codecs such as Ogg Theora. Instead, helper
# scripts included in official Fedora packages are copied, modified, and used
# to automate the repackaging work.
# Get those helper scripts from https://src.fedoraproject.org/rpms/chromium
# If you don't use Fedora services, Just set the value of freeworld in this spec file
# to 1 to use the upstreanm packaged source.
# The repackaged source tarball used here is produced by:
# ./chromium-latest.py --stable --ffmpegclean --ffmpegarm --deleteunrar
Source0: chromium-%{version}-clean.tar.xz
%endif
# Patchset composed by Stephan Hartmann.
%global patchset_revision chromium-85-patchset-2
Source1: https://github.com/stha09/chromium-patches/archive/%{patchset_revision}/chromium-patches-%{patchset_revision}.tar.gz
# ungoogled-chromium.
%global ungoogled_chromium_revision 85.0.4183.102-1
Source300: https://github.com/Eloston/ungoogled-chromium/archive/%{ungoogled_chromium_revision}/ungoogled-chromium-%{ungoogled_chromium_revision}.tar.gz
# The following two source files are copied and modified from the chromium source
Source10: %{name}.sh
#Add our own appdata file.
Source11: %{name}.appdata.xml
Source12: chromium-symbolic.svg
#Personal stuff
Source15: LICENSE
######################## Installation Folder #################################################
#Our installation folder
%global chromiumdir %{_libdir}/%{name}
########################################################################################
#Compiler settings
# Make sure we don't encounter any bug
BuildRequires: gcc-c++
# Basic tools and libraries needed for building
BuildRequires: ninja-build, nodejs, bison, gperf, hwdata
BuildRequires: libgcc, glibc, libatomic
BuildRequires: libcap-devel, cups-devel, alsa-lib-devel
BuildRequires: mesa-libGL-devel, mesa-libEGL-devel
%if %{with system_minizip}
BuildRequires: minizip-compat-devel
%endif
# Pipewire need this.
BuildRequires: pkgconfig(libpipewire-0.2)
BuildRequires: pkgconfig(gtk+-2.0), pkgconfig(gtk+-3.0)
BuildRequires: pkgconfig(libexif), pkgconfig(nss)
BuildRequires: pkgconfig(xtst), pkgconfig(xscrnsaver)
BuildRequires: pkgconfig(dbus-1), pkgconfig(libudev)
BuildRequires: pkgconfig(gnome-keyring-1)
BuildRequires: pkgconfig(libffi)
#for vaapi
BuildRequires: pkgconfig(libva)
BuildRequires: pkgconfig(gbm)
%if %{ozone}
BuildRequires: pkgconfig(wayland-client)
BuildRequires: pkgconfig(wayland-cursor)
BuildRequires: pkgconfig(wayland-scanner)
BuildRequires: pkgconfig(wayland-server)
%endif
BuildRequires: python3
BuildRequires: /usr/bin/python2
BuildRequires: python2-setuptools
%if %{with system_re2}
BuildRequires: re2-devel
%endif
# replace_gn_files.py --system-libraries
BuildRequires: flac-devel
BuildRequires: freetype-devel
%if %{with system_harfbuzz}
BuildRequires: harfbuzz-devel
%endif
%if %{with system_libicu}
BuildRequires: libicu-devel
%endif
BuildRequires: libdrm-devel
BuildRequires: libjpeg-turbo-devel
BuildRequires: libpng-devel
# Chromium requires libvpx 1.5.0 and some non-default options
%if %{with system_libvpx}
BuildRequires: libvpx-devel
%endif
%if %{with system_ffmpeg}
BuildRequires: ffmpeg-devel
%endif
BuildRequires: libwebp-devel
%if %{with system_libxml2}
BuildRequires: pkgconfig(libxml-2.0)
%endif
BuildRequires: pkgconfig(libxslt)
BuildRequires: opus-devel
BuildRequires: snappy-devel
BuildRequires: expat-devel
BuildRequires: pciutils-devel
BuildRequires: speech-dispatcher-devel
BuildRequires: pulseaudio-libs-devel
# install desktop files
BuildRequires: desktop-file-utils
# install AppData files
BuildRequires: libappstream-glib
# Mojojojo need this >:(
BuildRequires: java-1.8.0-openjdk
# Libstdc++ static needed for linker
BuildRequires: libstdc++-static
#Runtime Requirements
Requires: hicolor-icon-theme
#Some recommendations
Recommends: libva-utils
%if !%{debug_pkg}
%global debug_package %{nil}
%endif
# This build should be only available to amd64
ExclusiveArch: x86_64
# Google patches (short-term fixes and backports):
%if 0%{?fedora} >= 33
Patch150: chromium-85-ffmpeg-4.3-r796966.patch
%endif
# Gentoo patches (short-term fixes):
# Fedora patches:
Patch300: chromium-py2-bootstrap.patch
# RPM Fusion patches [free/chromium-freeworld]:
Patch400: chromium-enable-vaapi.patch
Patch401: chromium-fix-vaapi-on-intel.patch
Patch402: chromium-enable-widevine.patch
Patch403: chromium-manpage.patch
%if %{freeworld}
Patch420: chromium-rpm-fusion-brand.patch
%endif
# RPM Fusion patches [free/chromium-browser-privacy]:
Patch500: chromium-default-user-data-dir.patch
# Additional patches:
Patch600: chromium-widevine-locations.patch
%description
%{name} is a distribution of ungoogled-chromium.
ungoogled-chromium is Chromium, sans integration with Google. It also features
some tweaks to enhance privacy, control, and transparency (almost all of which
require manual activation or enabling).
ungoogled-chromium retains the default Chromium experience as closely as
possible. Unlike other Chromium forks that have their own visions of a web
browser, ungoogled-chromium is essentially a drop-in replacement for Chromium.
############################################PREP###########################################################
%prep
%setup -q -T -n chromium-patches-%{patchset_revision} -b 1
%setup -q -T -n ungoogled-chromium-%{ungoogled_chromium_revision} -b 300
%setup -q -n chromium-%{version}
%global patchset_root %{_builddir}/chromium-patches-%{patchset_revision}
%global ungoogled_chromium_root %{_builddir}/ungoogled-chromium-%{ungoogled_chromium_revision}
# Apply patchset composed by Stephan Hartmann.
%global patchset_apply() %{__scm_apply_patch -p1} <%{patchset_root}/%{1}
%patchset_apply chromium-blink-gcc-diagnostic-pragma.patch
%patchset_apply chromium-fix-char_traits.patch
%patchset_apply chromium-quiche-invalid-offsetof.patch
%patchset_apply chromium-78-protobuf-RepeatedPtrField-export.patch
%patchset_apply chromium-79-gcc-protobuf-alignas.patch
%patchset_apply chromium-80-QuicStreamSendBuffer-deleted-move-constructor.patch
%patchset_apply chromium-84-blink-disable-clang-format.patch
%patchset_apply chromium-85-DelayNode-cast.patch
%patchset_apply chromium-85-FrameWidget-namespace.patch
%patchset_apply chromium-85-NearbyConnection-abstract.patch
%patchset_apply chromium-85-NearbyShareEncryptedMetadataKey-include.patch
%patchset_apply chromium-85-oscillator_node-cast.patch
%patchset_apply chromium-85-ostream-operator.patch
%patchset_apply chromium-85-ozone-include.patch
%patchset_apply chromium-85-sim_hash-include.patch
# ungoogled-chromium: binary pruning.
python3 -B %{ungoogled_chromium_root}/utils/prune_binaries.py . \
%{ungoogled_chromium_root}/pruning.list
# Apply patches from this spec.
%autopatch -p1
#Let's change the default shebang of python files.
find -depth -type f -writable -name "*.py" -exec sed -iE '1s=^#! */usr/bin/\(python\|env python\)[23]\?=#!%{__python2}=' {} +
./build/linux/unbundle/remove_bundled_libraries.py --do-remove \
base/third_party/cityhash \
base/third_party/double_conversion \
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 \
buildtools/third_party/libc++ \
buildtools/third_party/libc++abi \
chrome/third_party/mozilla_security_manager \
courgette/third_party \
native_client/src/third_party/dlmalloc \
native_client/src/third_party/valgrind \
net/third_party/mozilla_security_manager \
net/third_party/nss \
net/third_party/quic \
net/third_party/uri_template \
third_party/abseil-cpp \
third_party/adobe \
third_party/angle \
third_party/angle/src/common/third_party/base \
third_party/angle/src/common/third_party/smhasher \
third_party/angle/src/common/third_party/xxhash \
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/src/third_party/volk \
third_party/libgifcodec \
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/axe-core \
third_party/boringssl \
third_party/boringssl/src/third_party/fiat \
third_party/blink \
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/jpeg-js \
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/closure_compiler \
third_party/crashpad \
third_party/crashpad/crashpad/third_party/lss \
third_party/crashpad/crashpad/third_party/zlib \
third_party/crc32c \
third_party/cros_system_api \
third_party/dawn \
third_party/depot_tools \
third_party/dav1d \
third_party/devscripts \
third_party/devtools-frontend \
third_party/devtools-frontend/src/front_end/third_party/acorn \
third_party/devtools-frontend/src/front_end/third_party/codemirror \
third_party/devtools-frontend/src/front_end/third_party/fabricjs \
third_party/devtools-frontend/src/front_end/third_party/lighthouse \
third_party/devtools-frontend/src/front_end/third_party/wasmparser \
third_party/devtools-frontend/src/third_party \
third_party/dom_distiller_js \
third_party/emoji-segmenter \
%if !%{with system_ffmpeg}
third_party/ffmpeg \
%endif
third_party/flatbuffers \
third_party/freetype \
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 \
%if !%{with system_harfbuzz}
third_party/harfbuzz-ng \
%endif
third_party/harfbuzz-ng/utils \
third_party/hunspell \
third_party/iccjpeg \
%if !%{with system_libicu}
third_party/icu \
%endif
third_party/inspector_protocol \
third_party/jinja2 \
third_party/jsoncpp \
third_party/jstemplate \
third_party/khronos \
third_party/leveldatabase \
third_party/libaddressinput \
third_party/libaom \
third_party/libaom/source/libaom/third_party/vector \
third_party/libaom/source/libaom/third_party/x86inc \
third_party/libavif \
third_party/libjingle \
third_party/libphonenumber \
third_party/libsecret \
third_party/libsrtp \
third_party/libsync \
third_party/libudev \
%if !%{with system_libvpx}
third_party/libvpx \
third_party/libvpx/source/libvpx/third_party/x86inc \
%endif
third_party/libwebm \
%if %{with system_libxml2}
third_party/libxml/chromium \
%else
third_party/libxml \
%endif
third_party/libXNVCtrl \
third_party/libyuv \
third_party/lottie \
third_party/lss \
third_party/lzma_sdk \
third_party/mako \
third_party/markupsafe \
third_party/mesa \
third_party/metrics_proto \
%if %{ozone}
third_party/minigbm \
%endif
%if !%{with system_minizip}
third_party/minizip/ \
%endif
third_party/modp_b64 \
third_party/nasm \
third_party/node \
third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2 \
third_party/one_euro_filter \
third_party/opencv \
third_party/openh264 \
third_party/openscreen \
third_party/openscreen/src/third_party/mozilla \
third_party/openscreen/src/third_party/tinycbor/src/src \
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/pffft \
third_party/ply \
third_party/polymer \
third_party/private-join-and-compute \
third_party/protobuf \
third_party/protobuf/third_party/six \
third_party/pyjson5 \
third_party/qcms \
%if !%{with system_re2}
third_party/re2 \
%endif
third_party/rnnoise \
third_party/s2cellid \
third_party/schema_org \
third_party/skia \
third_party/skia/include/third_party/skcms \
third_party/skia/include/third_party/vulkan \
third_party/skia/third_party/vulkan \
third_party/skia/third_party/skcms \
third_party/smhasher \
third_party/speech-dispatcher \
third_party/spirv-headers \
third_party/SPIRV-Tools \
third_party/sqlite \
third_party/swiftshader \
third_party/swiftshader/third_party/astc-encoder \
third_party/swiftshader/third_party/llvm-10.0 \
third_party/swiftshader/third_party/llvm-subzero \
third_party/swiftshader/third_party/marl \
third_party/swiftshader/third_party/subzero \
third_party/swiftshader/third_party/SPIRV-Headers/include/spirv/unified1 \
third_party/tcmalloc \
third_party/unrar \
third_party/usb_ids \
third_party/usrsctp \
third_party/vulkan \
%if %{ozone}
third_party/wayland \
%endif
third_party/web-animations-js \
third_party/webdriver \
third_party/webrtc \
third_party/webrtc/common_audio/third_party/ooura \
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/xcbproto \
third_party/xdg-utils \
third_party/zlib/google \
tools/grit/third_party/six \
%if !%{with system_minizip}
third_party/zlib \
%endif
tools/gn/src/base/third_party/icu \
url/third_party/mozilla \
v8/src/third_party/siphash \
v8/src/third_party/valgrind \
v8/src/third_party/utf8-decoder \
v8/third_party/inspector_protocol \
v8/third_party/v8
./build/linux/unbundle/replace_gn_files.py --system-libraries \
%if %{with system_ffmpeg}
ffmpeg \
%endif
flac \
freetype \
fontconfig \
%if %{with system_libicu}
icu \
%endif
libdrm \
libjpeg \
libpng \
%if %{with system_libvpx}
libvpx \
%endif
libwebp \
%if %{with system_libxml2}
libxml \
%endif
libxslt \
opus \
%if %{with system_re2}
re2 \
%endif
snappy \
%if %{with system_minizip}
zlib
%endif
sed -i 's|//third_party/usb_ids|/usr/share/hwdata|g' \
services/device/public/cpp/usb/BUILD.gn
# Fix the path to nodejs binary
mkdir -p third_party/node/linux/node-linux-x64/bin
ln -s %{_bindir}/node third_party/node/linux/node-linux-x64/bin/node
# ungoogled-chromium: patches
python3 -B %{ungoogled_chromium_root}/utils/patches.py apply . \
%{ungoogled_chromium_root}/patches
# ungoogled-chromium: domain substitution
%if %{with domain_substitution}
rm -f %{_builddir}/dsc.tar.gz
python3 -B %{ungoogled_chromium_root}/utils/domain_substitution.py apply . \
-r %{ungoogled_chromium_root}/domain_regex.list \
-f %{ungoogled_chromium_root}/domain_substitution.list \
-c %{_builddir}/dsc.tar.gz
%endif
#####################################BUILD#############################################
%build