forked from pool/nodejs-electron
Accepting request 986436 from home:dziobian:gulgul-ultron:19
- Update to 19.x - Use gcc also on aarch64 due to clang crashes while compiling - Fix Fedora aarch64 build - Do not compile chrome stuff unused in electron - Use system libraries wherever possible OBS-URL: https://build.opensuse.org/request/show/986436 OBS-URL: https://build.opensuse.org/package/show/devel:languages:nodejs/nodejs-electron?expand=0&rev=19
This commit is contained in:
12
_constraints
12
_constraints
@@ -4,18 +4,24 @@
|
||||
<disk>
|
||||
<size unit="G">24</size>
|
||||
</disk>
|
||||
<memory>
|
||||
<size unit="G">16</size>
|
||||
</memory>
|
||||
<physicalmemory>
|
||||
<size unit="G">8</size>
|
||||
<size unit="G">12</size>
|
||||
</physicalmemory>
|
||||
<processors>8</processors>
|
||||
</hardware>
|
||||
<overwrite>
|
||||
<conditions>
|
||||
<arch>x86_64</arch>
|
||||
<arch>i586</arch>
|
||||
</conditions>
|
||||
<hardware>
|
||||
<memory>
|
||||
<size unit="G">24</size>
|
||||
<size unit="G">32</size>
|
||||
</memory>
|
||||
<processors>16</processors>
|
||||
</hardware>
|
||||
</overwrite>
|
||||
<overwrite>
|
||||
@@ -24,7 +30,7 @@
|
||||
</conditions>
|
||||
<hardware>
|
||||
<cpu>
|
||||
<flag>asimdrdm</flag>
|
||||
<flag>asimdrdm</flag> <!-- prevent scheduling on old machines -->
|
||||
</cpu>
|
||||
</hardware>
|
||||
</overwrite>
|
||||
|
95
abseil-remove-unused-targets.patch
Normal file
95
abseil-remove-unused-targets.patch
Normal file
@@ -0,0 +1,95 @@
|
||||
Make test targets invisible to GN to enable building with system abseil
|
||||
|
||||
--- a/third_party/abseil-cpp/BUILD.gn 2022-06-14 12:31:29.330129700 +0200
|
||||
+++ b/third_party/abseil-cpp/BUILD.gn 2022-06-23 22:05:35.293708600 +0200
|
||||
@@ -106,15 +106,6 @@
|
||||
visibility = [ ":absl" ]
|
||||
}
|
||||
|
||||
-group("default") {
|
||||
- deps = [
|
||||
- "absl/types:any",
|
||||
- "absl/types:bad_any_cast",
|
||||
- "absl/types:bad_optional_access",
|
||||
- "absl/types:optional",
|
||||
- "absl/types:span",
|
||||
- ]
|
||||
-}
|
||||
|
||||
config("absl_include_config") {
|
||||
include_dirs = [ "." ]
|
||||
@@ -174,62 +165,3 @@
|
||||
}
|
||||
}
|
||||
|
||||
-if (build_with_chromium) {
|
||||
- import("//testing/test.gni")
|
||||
-
|
||||
- if (!is_component_build) {
|
||||
- test("absl_tests") {
|
||||
- testonly = true
|
||||
- deps = [
|
||||
- "absl/algorithm:algorithm_test",
|
||||
- "absl/algorithm:container_test",
|
||||
- "absl/base:config_test",
|
||||
- "absl/cleanup:cleanup_test",
|
||||
- "absl/container:inlined_vector_test",
|
||||
- "absl/container:node_slot_policy_test",
|
||||
- "absl/container:sample_element_size_test",
|
||||
- "absl/hash:hash_test",
|
||||
- "absl/hash:low_level_hash_test",
|
||||
- "absl/memory:memory_test",
|
||||
- "absl/meta:type_traits_test",
|
||||
- "absl/profiling:exponential_biased_test",
|
||||
- "absl/profiling:periodic_sampler_test",
|
||||
- "absl/status:statusor_test",
|
||||
- "absl/strings:ascii_test",
|
||||
- "absl/strings:cord_data_edge_test",
|
||||
- "absl/strings:cord_rep_btree_navigator_test",
|
||||
- "absl/strings:cord_rep_btree_reader_test",
|
||||
- "absl/strings:cord_rep_btree_test",
|
||||
- "absl/strings:cord_rep_crc_test",
|
||||
- "absl/strings:cordz_functions_test",
|
||||
- "absl/strings:cordz_info_statistics_test",
|
||||
- "absl/strings:cordz_info_test",
|
||||
- "absl/strings:cordz_test",
|
||||
- "absl/strings:cordz_update_scope_test",
|
||||
- "absl/strings:cordz_update_tracker_test",
|
||||
- "absl/strings:match_test",
|
||||
- "absl/strings:str_replace_test",
|
||||
- "absl/strings:string_view_test",
|
||||
- "absl/types:optional_test",
|
||||
- "absl/types:variant_test",
|
||||
- "//third_party/googletest:gtest_main",
|
||||
- ]
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- test("absl_hardening_tests") {
|
||||
- testonly = true
|
||||
- sources = [ "absl_hardening_test.cc" ]
|
||||
- deps = [
|
||||
- "//base/test:run_all_unittests",
|
||||
- "//third_party/abseil-cpp/absl/base:config",
|
||||
- "//third_party/abseil-cpp/absl/container:fixed_array",
|
||||
- "//third_party/abseil-cpp/absl/container:inlined_vector",
|
||||
- "//third_party/abseil-cpp/absl/strings",
|
||||
- "//third_party/abseil-cpp/absl/types:optional",
|
||||
- "//third_party/abseil-cpp/absl/types:span",
|
||||
- "//third_party/abseil-cpp/absl/types:variant",
|
||||
- "//third_party/googletest:gtest",
|
||||
- ]
|
||||
- }
|
||||
-}
|
||||
--- a/BUILD.gn 2022-06-14 12:31:29.330129700 +0200
|
||||
+++ b/BUILD.gn 2022-06-23 22:05:35.293708600 +0200
|
||||
@@ -106,9 +106,6 @@
|
||||
"//url:url_unittests",
|
||||
]
|
||||
|
||||
- if (!is_component_build) {
|
||||
- deps += [ "//third_party/abseil-cpp:absl_tests" ]
|
||||
- }
|
||||
|
||||
if (!is_android && !is_chromecast) {
|
||||
deps += [
|
15
abseil_string_number_conversions-do-not-assume-ABI.patch
Normal file
15
abseil_string_number_conversions-do-not-assume-ABI.patch
Normal file
@@ -0,0 +1,15 @@
|
||||
You may not depend on the signatures of Abseil APIs.
|
||||
|
||||
--- a/base/strings/abseil_string_number_conversions.h 2022-06-21 21:52:33.000000000 +0200
|
||||
+++ b/base/strings/abseil_string_number_conversions.h 2022-06-24 07:31:47.677340600 +0200
|
||||
@@ -8,9 +8,7 @@
|
||||
#include "base/base_export.h"
|
||||
#include "base/strings/string_piece_forward.h"
|
||||
|
||||
-namespace absl {
|
||||
-class uint128;
|
||||
-} // namespace absl
|
||||
+#include "third_party/abseil-cpp/absl/numeric/int128.h"
|
||||
|
||||
namespace base {
|
||||
|
19
absl_algorithm.gn
Normal file
19
absl_algorithm.gn
Normal file
@@ -0,0 +1,19 @@
|
||||
import("//build/config/linux/pkg_config.gni")
|
||||
import("//build/shim_headers.gni")
|
||||
|
||||
pkg_config("system_absl_algorithm_container") {
|
||||
packages = [ "absl_algorithm_container" ]
|
||||
}
|
||||
|
||||
shim_headers("container_shim") {
|
||||
root_path = "."
|
||||
prefix = "absl/algorithm/"
|
||||
headers = [
|
||||
"container.h",
|
||||
]
|
||||
}
|
||||
|
||||
source_set("container") {
|
||||
deps = [ ":container_shim" ]
|
||||
public_configs = [ ":system_absl_algorithm_container" ]
|
||||
}
|
61
absl_base.gn
Normal file
61
absl_base.gn
Normal file
@@ -0,0 +1,61 @@
|
||||
import("//build/config/linux/pkg_config.gni")
|
||||
import("//build/shim_headers.gni")
|
||||
|
||||
pkg_config("system_absl_base") {
|
||||
packages = [ "absl_base" ]
|
||||
}
|
||||
|
||||
pkg_config("system_absl_config") {
|
||||
packages = [ "absl_config" ]
|
||||
}
|
||||
|
||||
pkg_config("system_absl_core_headers") {
|
||||
packages = [ "absl_core_headers" ]
|
||||
}
|
||||
|
||||
shim_headers("base_shim") {
|
||||
root_path = "."
|
||||
prefix = "absl/base/"
|
||||
headers = [
|
||||
"call_once.h",
|
||||
"casts.h",
|
||||
]
|
||||
}
|
||||
|
||||
source_set("base") {
|
||||
deps = [ ":base_shim" ]
|
||||
public_configs = [ ":system_absl_base" ]
|
||||
}
|
||||
|
||||
shim_headers("config_shim") {
|
||||
root_path = "."
|
||||
prefix = "absl/base/"
|
||||
headers = [
|
||||
"config.h",
|
||||
"options.h",
|
||||
"policy_checks.h",
|
||||
]
|
||||
}
|
||||
|
||||
source_set("config") {
|
||||
deps = [ ":config_shim" ]
|
||||
public_configs = [ ":system_absl_config" ]
|
||||
}
|
||||
|
||||
shim_headers("core_headers_shim") {
|
||||
root_path = "."
|
||||
prefix = "absl/base/"
|
||||
headers = [
|
||||
"attributes.h",
|
||||
"const_init.h",
|
||||
"macros.h",
|
||||
"optimization.h",
|
||||
"port.h",
|
||||
"thread_annotations.h",
|
||||
]
|
||||
}
|
||||
|
||||
source_set("core_headers") {
|
||||
deps = [ ":core_headers_shim" ]
|
||||
public_configs = [ ":system_absl_core_headers" ]
|
||||
}
|
19
absl_cleanup.gn
Normal file
19
absl_cleanup.gn
Normal file
@@ -0,0 +1,19 @@
|
||||
import("//build/config/linux/pkg_config.gni")
|
||||
import("//build/shim_headers.gni")
|
||||
|
||||
pkg_config("system_absl_cleanup") {
|
||||
packages = [ "absl_cleanup" ]
|
||||
}
|
||||
|
||||
shim_headers("cleanup_shim") {
|
||||
root_path = "."
|
||||
prefix = "absl/cleanup/"
|
||||
headers = [
|
||||
"cleanup.h",
|
||||
]
|
||||
}
|
||||
|
||||
source_set("cleanup") {
|
||||
deps = [ ":cleanup_shim" ]
|
||||
public_configs = [ ":system_absl_cleanup" ]
|
||||
}
|
110
absl_container.gn
Normal file
110
absl_container.gn
Normal file
@@ -0,0 +1,110 @@
|
||||
import("//build/config/linux/pkg_config.gni")
|
||||
import("//build/shim_headers.gni")
|
||||
|
||||
pkg_config("system_absl_btree") {
|
||||
packages = [ "absl_btree" ]
|
||||
}
|
||||
|
||||
pkg_config("system_absl_fixed_array") {
|
||||
packages = [ "absl_fixed_array" ]
|
||||
}
|
||||
|
||||
pkg_config("system_absl_flat_hash_map") {
|
||||
packages = [ "absl_flat_hash_map" ]
|
||||
}
|
||||
|
||||
pkg_config("system_absl_flat_hash_set") {
|
||||
packages = [ "absl_flat_hash_set" ]
|
||||
}
|
||||
|
||||
pkg_config("system_absl_inlined_vector") {
|
||||
packages = [ "absl_inlined_vector" ]
|
||||
}
|
||||
|
||||
pkg_config("system_absl_node_hash_map") {
|
||||
packages = [ "absl_node_hash_map" ]
|
||||
}
|
||||
|
||||
pkg_config("system_absl_node_hash_set") {
|
||||
packages = [ "absl_node_hash_set" ]
|
||||
}
|
||||
|
||||
shim_headers("btree_shim") {
|
||||
root_path = "."
|
||||
prefix = "absl/container/"
|
||||
headers = [
|
||||
"btree_map.h",
|
||||
"btree_set.h",
|
||||
]
|
||||
}
|
||||
|
||||
source_set("btree") {
|
||||
deps = [ ":btree_shim" ]
|
||||
public_configs = [ ":system_absl_btree" ]
|
||||
}
|
||||
|
||||
shim_headers("fixed_array_shim") {
|
||||
root_path = "."
|
||||
prefix = "absl/container/"
|
||||
headers = [ "fixed_array.h" ]
|
||||
}
|
||||
|
||||
source_set("fixed_array") {
|
||||
deps = [ ":fixed_array_shim" ]
|
||||
public_configs = [ ":system_absl_fixed_array" ]
|
||||
}
|
||||
|
||||
shim_headers("flat_hash_map_shim") {
|
||||
root_path = "."
|
||||
prefix = "absl/container/"
|
||||
headers = [ "flat_hash_map.h" ]
|
||||
}
|
||||
|
||||
source_set("flat_hash_map") {
|
||||
deps = [ ":flat_hash_map_shim" ]
|
||||
public_configs = [ ":system_absl_flat_hash_map" ]
|
||||
}
|
||||
|
||||
shim_headers("flat_hash_set_shim") {
|
||||
root_path = "."
|
||||
prefix = "absl/container/"
|
||||
headers = [ "flat_hash_set.h" ]
|
||||
}
|
||||
|
||||
source_set("flat_hash_set") {
|
||||
deps = [ ":flat_hash_set_shim" ]
|
||||
public_configs = [ ":system_absl_flat_hash_set" ]
|
||||
}
|
||||
|
||||
shim_headers("inlined_vector_shim") {
|
||||
root_path = "."
|
||||
prefix = "absl/container/"
|
||||
headers = [ "inlined_vector.h" ]
|
||||
}
|
||||
|
||||
source_set("inlined_vector") {
|
||||
deps = [ ":inlined_vector_shim" ]
|
||||
public_configs = [ ":system_absl_inlined_vector" ]
|
||||
}
|
||||
|
||||
shim_headers("node_hash_map_shim") {
|
||||
root_path = "."
|
||||
prefix = "absl/container/"
|
||||
headers = [ "node_hash_map.h" ]
|
||||
}
|
||||
|
||||
source_set("node_hash_map") {
|
||||
deps = [ ":node_hash_map_shim" ]
|
||||
public_configs = [ ":system_absl_node_hash_map" ]
|
||||
}
|
||||
|
||||
shim_headers("node_hash_set_shim") {
|
||||
root_path = "."
|
||||
prefix = "absl/container/"
|
||||
headers = [ "node_hash_set.h" ]
|
||||
}
|
||||
|
||||
source_set("node_hash_set") {
|
||||
deps = [ ":node_hash_set_shim" ]
|
||||
public_configs = [ ":system_absl_node_hash_set" ]
|
||||
}
|
49
absl_debugging.gn
Normal file
49
absl_debugging.gn
Normal file
@@ -0,0 +1,49 @@
|
||||
import("//build/config/linux/pkg_config.gni")
|
||||
import("//build/shim_headers.gni")
|
||||
|
||||
pkg_config("system_absl_failure_signal_handler") {
|
||||
packages = [ "absl_failure_signal_handler" ]
|
||||
}
|
||||
|
||||
pkg_config("system_absl_stacktrace") {
|
||||
packages = [ "absl_stacktrace" ]
|
||||
}
|
||||
|
||||
pkg_config("system_absl_symbolize") {
|
||||
packages = [ "absl_symbolize" ]
|
||||
}
|
||||
|
||||
shim_headers("failure_signal_handler_shim") {
|
||||
root_path = "."
|
||||
prefix = "absl/debugging/"
|
||||
headers = [ "failure_signal_handler.h" ]
|
||||
}
|
||||
|
||||
source_set("failure_signal_handler") {
|
||||
deps = [ ":failure_signal_handler_shim" ]
|
||||
public_configs = [ ":system_absl_failure_signal_handler" ]
|
||||
}
|
||||
|
||||
shim_headers("stacktrace_shim") {
|
||||
root_path = "."
|
||||
prefix = "absl/debugging/"
|
||||
headers = [ "stacktrace.h" ]
|
||||
}
|
||||
|
||||
source_set("stacktrace") {
|
||||
deps = [ ":stacktrace_shim" ]
|
||||
public_configs = [ ":system_absl_stacktrace" ]
|
||||
}
|
||||
|
||||
shim_headers("symbolize_shim") {
|
||||
root_path = "."
|
||||
prefix = "absl/debugging/"
|
||||
headers = [
|
||||
"symbolize.h",
|
||||
]
|
||||
}
|
||||
|
||||
source_set("symbolize") {
|
||||
deps = [ ":symbolize_shim" ]
|
||||
public_configs = [ ":system_absl_symbolize" ]
|
||||
}
|
50
absl_flags.gn
Normal file
50
absl_flags.gn
Normal file
@@ -0,0 +1,50 @@
|
||||
import("//build/config/linux/pkg_config.gni")
|
||||
import("//build/shim_headers.gni")
|
||||
|
||||
pkg_config("system_absl_flags") {
|
||||
packages = [ "absl_flags" ]
|
||||
}
|
||||
|
||||
pkg_config("system_absl_flags_parse") {
|
||||
packages = [ "absl_flags_parse" ]
|
||||
}
|
||||
|
||||
pkg_config("system_absl_flags_usage") {
|
||||
packages = [ "absl_flags_usage" ]
|
||||
}
|
||||
|
||||
shim_headers("flag_shim") {
|
||||
root_path = "."
|
||||
prefix = "absl/flags/"
|
||||
headers = [
|
||||
"declare.h",
|
||||
"flag.h",
|
||||
]
|
||||
}
|
||||
|
||||
source_set("flag") {
|
||||
deps = [ ":flag_shim" ]
|
||||
public_configs = [ ":system_absl_flags" ]
|
||||
}
|
||||
|
||||
shim_headers("parse_shim") {
|
||||
root_path = "."
|
||||
prefix = "absl/flags/"
|
||||
headers = [ "parse.h" ]
|
||||
}
|
||||
|
||||
source_set("parse") {
|
||||
deps = [ ":parse_shim" ]
|
||||
public_configs = [ ":system_absl_flags_parse" ]
|
||||
}
|
||||
|
||||
shim_headers("usage_shim") {
|
||||
root_path = "."
|
||||
prefix = "absl/flags/"
|
||||
headers = [ "usage.h" ]
|
||||
}
|
||||
|
||||
source_set("usage") {
|
||||
deps = [ ":usage_shim" ]
|
||||
public_configs = [ ":system_absl_flags_usage" ]
|
||||
}
|
17
absl_functional.gn
Normal file
17
absl_functional.gn
Normal file
@@ -0,0 +1,17 @@
|
||||
import("//build/config/linux/pkg_config.gni")
|
||||
import("//build/shim_headers.gni")
|
||||
|
||||
pkg_config("system_absl_bind_front") {
|
||||
packages = [ "absl_bind_front" ]
|
||||
}
|
||||
|
||||
shim_headers("bind_front_shim") {
|
||||
root_path = "."
|
||||
prefix = "absl/functional/"
|
||||
headers = [ "bind_front.h" ]
|
||||
}
|
||||
|
||||
source_set("bind_front") {
|
||||
deps = [ ":bind_front_shim" ]
|
||||
public_configs = [ ":system_absl_bind_front" ]
|
||||
}
|
17
absl_hash.gn
Normal file
17
absl_hash.gn
Normal file
@@ -0,0 +1,17 @@
|
||||
import("//build/config/linux/pkg_config.gni")
|
||||
import("//build/shim_headers.gni")
|
||||
|
||||
pkg_config("system_absl_hash") {
|
||||
packages = [ "absl_hash" ]
|
||||
}
|
||||
|
||||
shim_headers("hash_shim") {
|
||||
root_path = "."
|
||||
prefix = "absl/hash/"
|
||||
headers = [ "hash.h" ]
|
||||
}
|
||||
|
||||
source_set("hash") {
|
||||
deps = [ ":hash_shim" ]
|
||||
public_configs = [ ":system_absl_hash" ]
|
||||
}
|
17
absl_memory.gn
Normal file
17
absl_memory.gn
Normal file
@@ -0,0 +1,17 @@
|
||||
import("//build/config/linux/pkg_config.gni")
|
||||
import("//build/shim_headers.gni")
|
||||
|
||||
pkg_config("system_absl_memory") {
|
||||
packages = [ "absl_memory" ]
|
||||
}
|
||||
|
||||
shim_headers("memory_shim") {
|
||||
root_path = "."
|
||||
prefix = "absl/memory/"
|
||||
headers = [ "memory.h" ]
|
||||
}
|
||||
|
||||
source_set("memory") {
|
||||
deps = [ ":memory_shim" ]
|
||||
public_configs = [ ":system_absl_memory" ]
|
||||
}
|
17
absl_meta.gn
Normal file
17
absl_meta.gn
Normal file
@@ -0,0 +1,17 @@
|
||||
import("//build/config/linux/pkg_config.gni")
|
||||
import("//build/shim_headers.gni")
|
||||
|
||||
pkg_config("system_absl_type_traits") {
|
||||
packages = [ "absl_type_traits" ]
|
||||
}
|
||||
|
||||
shim_headers("type_traits_shim") {
|
||||
root_path = "."
|
||||
prefix = "absl/meta/"
|
||||
headers = [ "type_traits.h" ]
|
||||
}
|
||||
|
||||
source_set("type_traits") {
|
||||
deps = [ ":type_traits_shim" ]
|
||||
public_configs = [ ":system_absl_type_traits" ]
|
||||
}
|
33
absl_numeric.gn
Normal file
33
absl_numeric.gn
Normal file
@@ -0,0 +1,33 @@
|
||||
import("//build/config/linux/pkg_config.gni")
|
||||
import("//build/shim_headers.gni")
|
||||
|
||||
pkg_config("system_absl_bits") {
|
||||
packages = [ "absl_bits" ]
|
||||
}
|
||||
|
||||
pkg_config("system_absl_int128") {
|
||||
packages = [ "absl_int128" ]
|
||||
}
|
||||
|
||||
shim_headers("bits_shim") {
|
||||
root_path = "."
|
||||
prefix = "absl/numeric/"
|
||||
headers = [ "bits.h" ]
|
||||
}
|
||||
|
||||
source_set("bits") {
|
||||
deps = [ ":bits_shim" ]
|
||||
public_configs = [ ":system_absl_bits" ]
|
||||
}
|
||||
|
||||
shim_headers("int128_shim") {
|
||||
root_path = "."
|
||||
prefix = "absl/numeric/"
|
||||
headers = [ "int128.h" ]
|
||||
}
|
||||
|
||||
source_set("int128") {
|
||||
deps = [ ":int128_shim" ]
|
||||
public_configs = [ ":system_absl_int128" ]
|
||||
}
|
||||
|
17
absl_random.gn
Normal file
17
absl_random.gn
Normal file
@@ -0,0 +1,17 @@
|
||||
import("//build/config/linux/pkg_config.gni")
|
||||
import("//build/shim_headers.gni")
|
||||
|
||||
pkg_config("system_absl_random_random") {
|
||||
packages = [ "absl_random_random" ]
|
||||
}
|
||||
|
||||
shim_headers("random_shim") {
|
||||
root_path = "."
|
||||
prefix = "absl/random/"
|
||||
headers = [ "random.h" ]
|
||||
}
|
||||
|
||||
source_set("random") {
|
||||
deps = [ ":random_shim" ]
|
||||
public_configs = [ ":system_absl_random_random" ]
|
||||
}
|
36
absl_status.gn
Normal file
36
absl_status.gn
Normal file
@@ -0,0 +1,36 @@
|
||||
import("//build/config/linux/pkg_config.gni")
|
||||
import("//build/shim_headers.gni")
|
||||
|
||||
pkg_config("system_absl_status") {
|
||||
packages = [ "absl_status" ]
|
||||
}
|
||||
|
||||
pkg_config("system_absl_statusor") {
|
||||
packages = [ "absl_statusor" ]
|
||||
}
|
||||
|
||||
shim_headers("status_shim") {
|
||||
root_path = "."
|
||||
prefix = "absl/status/"
|
||||
headers = [
|
||||
"status.h",
|
||||
"status_payload_printer.h",
|
||||
]
|
||||
}
|
||||
|
||||
source_set("status") {
|
||||
deps = [ ":status_shim" ]
|
||||
public_configs = [ ":system_absl_status" ]
|
||||
}
|
||||
|
||||
shim_headers("statusor_shim") {
|
||||
root_path = "."
|
||||
prefix = "absl/status/"
|
||||
headers = [ "statusor.h" ]
|
||||
}
|
||||
|
||||
source_set("statusor") {
|
||||
deps = [ ":statusor_shim" ]
|
||||
public_configs = [ ":system_absl_statusor" ]
|
||||
}
|
||||
|
61
absl_strings.gn
Normal file
61
absl_strings.gn
Normal file
@@ -0,0 +1,61 @@
|
||||
import("//build/config/linux/pkg_config.gni")
|
||||
import("//build/shim_headers.gni")
|
||||
|
||||
pkg_config("system_absl_cord") {
|
||||
packages = [ "absl_cord" ]
|
||||
}
|
||||
|
||||
pkg_config("system_absl_strings") {
|
||||
packages = [ "absl_strings" ]
|
||||
}
|
||||
|
||||
pkg_config("system_absl_str_format") {
|
||||
packages = [ "absl_str_format" ]
|
||||
}
|
||||
|
||||
shim_headers("cord_shim") {
|
||||
root_path = "."
|
||||
prefix = "absl/strings/"
|
||||
headers = [ "cord.h" ]
|
||||
}
|
||||
|
||||
source_set("cord") {
|
||||
deps = [ ":cord_shim" ]
|
||||
public_configs = [ ":system_absl_cord" ]
|
||||
}
|
||||
|
||||
shim_headers("strings_shim") {
|
||||
root_path = "."
|
||||
prefix = "absl/strings/"
|
||||
headers = [
|
||||
"ascii.h",
|
||||
"charconv.h",
|
||||
"escaping.h",
|
||||
"match.h",
|
||||
"numbers.h",
|
||||
"str_cat.h",
|
||||
"str_join.h",
|
||||
"str_replace.h",
|
||||
"str_split.h",
|
||||
"string_view.h",
|
||||
"strip.h",
|
||||
"substitute.h",
|
||||
]
|
||||
}
|
||||
|
||||
source_set("strings") {
|
||||
deps = [ ":strings_shim" ]
|
||||
public_configs = [ ":system_absl_strings" ]
|
||||
}
|
||||
|
||||
shim_headers("str_format_shim") {
|
||||
root_path = "."
|
||||
prefix = "absl/strings/"
|
||||
headers = [ "str_format.h" ]
|
||||
}
|
||||
|
||||
source_set("str_format") {
|
||||
deps = [ ":str_format_shim" ]
|
||||
public_configs = [ ":system_absl_str_format" ]
|
||||
}
|
||||
|
22
absl_synchronization.gn
Normal file
22
absl_synchronization.gn
Normal file
@@ -0,0 +1,22 @@
|
||||
import("//build/config/linux/pkg_config.gni")
|
||||
import("//build/shim_headers.gni")
|
||||
|
||||
pkg_config("system_absl_synchronization") {
|
||||
packages = [ "absl_synchronization" ]
|
||||
}
|
||||
|
||||
shim_headers("synchronization_shim") {
|
||||
root_path = "."
|
||||
prefix = "absl/synchronization/"
|
||||
headers = [
|
||||
"barrier.h",
|
||||
"blocking_counter.h",
|
||||
"mutex.h",
|
||||
"notification.h",
|
||||
]
|
||||
}
|
||||
|
||||
source_set("synchronization") {
|
||||
deps = [ ":synchronization_shim" ]
|
||||
public_configs = [ ":system_absl_synchronization" ]
|
||||
}
|
21
absl_time.gn
Normal file
21
absl_time.gn
Normal file
@@ -0,0 +1,21 @@
|
||||
import("//build/config/linux/pkg_config.gni")
|
||||
import("//build/shim_headers.gni")
|
||||
|
||||
pkg_config("system_absl_time") {
|
||||
packages = [ "absl_time" ]
|
||||
}
|
||||
|
||||
shim_headers("time_shim") {
|
||||
root_path = "."
|
||||
prefix = "absl/time/"
|
||||
headers = [
|
||||
"civil_time.h",
|
||||
"clock.h",
|
||||
"time.h",
|
||||
]
|
||||
}
|
||||
|
||||
source_set("time") {
|
||||
deps = [ ":time_shim" ]
|
||||
public_configs = [ ":system_absl_time" ]
|
||||
}
|
47
absl_types.gn
Normal file
47
absl_types.gn
Normal file
@@ -0,0 +1,47 @@
|
||||
import("//build/config/linux/pkg_config.gni")
|
||||
import("//build/shim_headers.gni")
|
||||
|
||||
pkg_config("system_absl_optional") {
|
||||
packages = [ "absl_optional" ]
|
||||
}
|
||||
|
||||
pkg_config("system_absl_span") {
|
||||
packages = [ "absl_span" ]
|
||||
}
|
||||
|
||||
pkg_config("system_absl_variant") {
|
||||
packages = [ "absl_variant" ]
|
||||
}
|
||||
|
||||
shim_headers("optional_shim") {
|
||||
root_path = "."
|
||||
prefix = "absl/types/"
|
||||
headers = [ "optional.h" ]
|
||||
}
|
||||
|
||||
source_set("optional") {
|
||||
deps = [ ":optional_shim" ]
|
||||
public_configs = [ ":system_absl_optional" ]
|
||||
}
|
||||
|
||||
shim_headers("span_shim") {
|
||||
root_path = "."
|
||||
prefix = "absl/types/"
|
||||
headers = [ "span.h" ]
|
||||
}
|
||||
|
||||
source_set("span") {
|
||||
deps = [ ":span_shim" ]
|
||||
public_configs = [ ":system_absl_span" ]
|
||||
}
|
||||
|
||||
shim_headers("variant_shim") {
|
||||
root_path = "."
|
||||
prefix = "absl/types/"
|
||||
headers = [ "variant.h" ]
|
||||
}
|
||||
|
||||
source_set("variant") {
|
||||
deps = [ ":variant_shim" ]
|
||||
public_configs = [ ":system_absl_variant" ]
|
||||
}
|
41
angle-system-xxhash.patch
Normal file
41
angle-system-xxhash.patch
Normal file
@@ -0,0 +1,41 @@
|
||||
--- a/third_party/angle/BUILD.gn 2022-06-21 21:57:49.019991551 +0200
|
||||
+++ b/third_party/angle/BUILD.gn 2022-06-25 16:54:47.267968400 +0200
|
||||
@@ -1,3 +1,4 @@
|
||||
+import("//build/config/linux/pkg_config.gni")
|
||||
# Copyright 2019 The ANGLE Project Authors. All rights reserved.
|
||||
# Use of this source code is governed by a BSD-style license that can be
|
||||
# found in the LICENSE file.
|
||||
@@ -355,18 +356,12 @@
|
||||
}
|
||||
}
|
||||
|
||||
-angle_source_set("xxhash") {
|
||||
- sources = xxhash_sources
|
||||
- if (is_clang) {
|
||||
- cflags_c = [ "-Wno-implicit-fallthrough" ]
|
||||
- }
|
||||
+pkg_config("system_xxhash") {
|
||||
+ packages = [ "libxxhash" ]
|
||||
}
|
||||
|
||||
-if (angle_has_build) {
|
||||
- fuzzer_test("xxhash_fuzzer") {
|
||||
- sources = [ "src/common/third_party/xxhash/xxhash_fuzzer.cpp" ]
|
||||
- deps = [ ":xxhash" ]
|
||||
- }
|
||||
+source_set("xxhash") {
|
||||
+ public_configs = [ ":system_xxhash" ]
|
||||
}
|
||||
|
||||
angle_static_library("angle_common") {
|
||||
--- a/third_party/angle/src/common/hash_utils.h
|
||||
+++ b/third_party/angle/src/common/hash_utils.h
|
||||
@@ -9,7 +9,7 @@
|
||||
#define COMMON_HASHUTILS_H_
|
||||
|
||||
#include "common/debug.h"
|
||||
-#include "common/third_party/xxhash/xxhash.h"
|
||||
+#include <xxhash.h>
|
||||
|
||||
namespace angle
|
||||
{
|
@@ -0,0 +1,10 @@
|
||||
--- a/components/services/storage/shared_storage/async_shared_storage_database_impl.cc
|
||||
+++ b/components/services/storage/shared_storage/async_shared_storage_database_impl.cc
|
||||
@@ -16,6 +16,7 @@
|
||||
#include "components/services/storage/shared_storage/shared_storage_options.h"
|
||||
#include "storage/browser/quota/special_storage_policy.h"
|
||||
#include "url/origin.h"
|
||||
+#include "third_party/abseil-cpp/absl/memory/memory.h"
|
||||
|
||||
namespace storage {
|
||||
|
10
attribution_manager_impl-missing-absl-WrapUnique.patch
Normal file
10
attribution_manager_impl-missing-absl-WrapUnique.patch
Normal file
@@ -0,0 +1,10 @@
|
||||
--- a/content/browser/attribution_reporting/attribution_manager_impl.cc
|
||||
+++ b/content/browser/attribution_reporting/attribution_manager_impl.cc
|
||||
@@ -51,6 +51,7 @@
|
||||
#include "content/public/common/content_switches.h"
|
||||
#include "storage/browser/quota/special_storage_policy.h"
|
||||
#include "url/gurl.h"
|
||||
+#include "third_party/abseil-cpp/absl/memory/memory.h"
|
||||
|
||||
namespace content {
|
||||
|
12
ax_property_node-missing-unique_ptr-forward.patch
Normal file
12
ax_property_node-missing-unique_ptr-forward.patch
Normal file
@@ -0,0 +1,12 @@
|
||||
--- a/ui/accessibility/platform/inspect/ax_property_node.h 2022-06-21 21:52:56.275987974 +0200
|
||||
+++ b/ui/accessibility/platform/inspect/ax_property_node.h 2022-06-24 23:18:58.285982565 +0200
|
||||
@@ -5,7 +5,9 @@
|
||||
#ifndef UI_ACCESSIBILITY_PLATFORM_INSPECT_AX_PROPERTY_NODE_H_
|
||||
#define UI_ACCESSIBILITY_PLATFORM_INSPECT_AX_PROPERTY_NODE_H_
|
||||
|
||||
+#include <memory>
|
||||
#include <string>
|
||||
+#include <utility>
|
||||
#include <vector>
|
||||
|
||||
#include "third_party/abseil-cpp/absl/types/optional.h"
|
39
base-system-nspr.patch
Normal file
39
base-system-nspr.patch
Normal file
@@ -0,0 +1,39 @@
|
||||
--- a/base/time/time.cc 2022-06-21 21:52:33.367987695 +0200
|
||||
+++ b/base/time/time.cc 2022-06-30 13:15:58.619513336 +0200
|
||||
@@ -21,7 +21,7 @@
|
||||
#include <utility>
|
||||
|
||||
#include "base/strings/stringprintf.h"
|
||||
-#include "base/third_party/nspr/prtime.h"
|
||||
+#include <prtime.h>
|
||||
#include "base/time/time_override.h"
|
||||
#include "build/build_config.h"
|
||||
#include "third_party/abseil-cpp/absl/types/optional.h"
|
||||
--- a/base/BUILD.gn 2022-06-30 13:13:20.315537859 +0200
|
||||
+++ b/base/BUILD.gn 2022-06-30 13:25:39.947410797 +0200
|
||||
@@ -1,3 +1,8 @@
|
||||
+import("//build/config/linux/pkg_config.gni")
|
||||
+
|
||||
+pkg_config("system_nspr") {
|
||||
+ packages = [ "nspr" ]
|
||||
+}
|
||||
# Copyright (c) 2013 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.
|
||||
@@ -826,8 +831,6 @@
|
||||
"third_party/cityhash_v103/src/city_v103.cc",
|
||||
"third_party/cityhash_v103/src/city_v103.h",
|
||||
"third_party/icu/icu_utf.h",
|
||||
- "third_party/nspr/prtime.cc",
|
||||
- "third_party/nspr/prtime.h",
|
||||
"third_party/superfasthash/superfasthash.c",
|
||||
"thread_annotations.h",
|
||||
"threading/hang_watcher.cc",
|
||||
@@ -1414,6 +1417,7 @@
|
||||
":base_implementation",
|
||||
"//build/config:precompiled_headers",
|
||||
"//build/config/compiler:wglobal_constructors",
|
||||
+ ":system_nspr",
|
||||
]
|
||||
|
||||
deps = [
|
35
brotli.gn
Normal file
35
brotli.gn
Normal file
@@ -0,0 +1,35 @@
|
||||
import("//build/config/linux/pkg_config.gni")
|
||||
import("//build/shim_headers.gni")
|
||||
|
||||
pkg_config("system_brotli_dec") {
|
||||
packages = [ "libbrotlidec" ]
|
||||
}
|
||||
|
||||
pkg_config("system_brotli_enc") {
|
||||
packages = [ "libbrotlienc" ]
|
||||
}
|
||||
|
||||
shim_headers("brotli_shim") {
|
||||
root_path = "include"
|
||||
headers = [
|
||||
"brotli/decode.h",
|
||||
"brotli/encode.h",
|
||||
"brotli/port.h",
|
||||
"brotli/types.h",
|
||||
]
|
||||
}
|
||||
|
||||
source_set("dec") {
|
||||
deps = [ ":brotli_shim" ]
|
||||
public_configs = [ ":system_brotli_dec" ]
|
||||
}
|
||||
|
||||
source_set("enc") {
|
||||
deps = [ ":brotli_shim" ]
|
||||
public_configs = [ ":system_brotli_enc" ]
|
||||
}
|
||||
|
||||
copy("brotli") {
|
||||
sources = [ "/usr/bin/brotli" ]
|
||||
outputs = [ "$root_out_dir/brotli" ]
|
||||
}
|
43
byteswap-constexpr.patch
Normal file
43
byteswap-constexpr.patch
Normal file
@@ -0,0 +1,43 @@
|
||||
description: fix a build error on 32-bit platforms
|
||||
|
||||
As described in https://bugs.debian.org/1011096 , recent versions of
|
||||
chromium fail to build on i386 and armhf. This patch, pulled from
|
||||
upstream, should fix it.
|
||||
|
||||
|
||||
|
||||
commit e334ce2c23f02f0cc0bfde9e335fd50ec6143b62
|
||||
Author: Chisoon Jeong <chisoon.jeong@lge.com>
|
||||
Date: Thu Apr 28 21:00:50 2022 +0000
|
||||
|
||||
GCC: Fixed build error by adding constexpr to base::ByteSwap(unit32_t)
|
||||
|
||||
Without this change build fails on compile step with error:
|
||||
|
||||
In file included from //components/variations/hashing.cc:10:
|
||||
//base/sys_byteorder.h: In function 'constexpr uintptr_t base::ByteSwapUintPtrT(uintptr_t)':
|
||||
//base/sys_byteorder.h:66:20: error: call to non-'constexpr' function 'uint32_t base::ByteSwap(uint32_t)'
|
||||
66 | return ByteSwap(static_cast<uint32_t>(x));
|
||||
| ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Bug:819294
|
||||
|
||||
Change-Id: I05134e02020e38433fe8bbe94f8f6870dac76390
|
||||
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3600155
|
||||
Reviewed-by: Nico Weber <thakis@chromium.org>
|
||||
Commit-Queue: Nico Weber <thakis@chromium.org>
|
||||
Cr-Commit-Position: refs/heads/main@{#997404}
|
||||
|
||||
diff --git a/base/sys_byteorder.h b/base/sys_byteorder.h
|
||||
index b001cc60c5e65..5516be76b13e3 100644
|
||||
--- a/base/sys_byteorder.h
|
||||
+++ b/base/sys_byteorder.h
|
||||
@@ -30,7 +30,7 @@ inline uint16_t ByteSwap(uint16_t x) {
|
||||
#endif
|
||||
}
|
||||
|
||||
-inline uint32_t ByteSwap(uint32_t x) {
|
||||
+inline constexpr uint32_t ByteSwap(uint32_t x) {
|
||||
#if defined(COMPILER_MSVC) && !defined(__clang__)
|
||||
return _byteswap_ulong(x);
|
||||
#else
|
23
byteswap-constexpr2.patch
Normal file
23
byteswap-constexpr2.patch
Normal file
@@ -0,0 +1,23 @@
|
||||
author: Andres Salomon <dilinger@debian.org>
|
||||
description: fix constexpr FTBFS on i386/armhf
|
||||
|
||||
Fix a build error that was already fixed in base/sys_byteorder.h. But
|
||||
since chromium has two copies of this file, it needs to also be fixed
|
||||
here. It only shows up on 32-bit platforms.
|
||||
|
||||
ByteSwap is being called from another function that's constexpr, so
|
||||
it also needs to be marked as constexpr. Ideally the calling code needs
|
||||
to be changed to only have one copy of sys_byteorder.h.
|
||||
|
||||
|
||||
--- a/base/allocator/partition_allocator/base/sys_byteorder.h
|
||||
+++ b/base/allocator/partition_allocator/base/sys_byteorder.h
|
||||
@@ -31,7 +31,7 @@ inline uint16_t ByteSwap(uint16_t x) {
|
||||
#endif
|
||||
}
|
||||
|
||||
-inline uint32_t ByteSwap(uint32_t x) {
|
||||
+inline constexpr uint32_t ByteSwap(uint32_t x) {
|
||||
#if defined(COMPILER_MSVC) && !defined(__clang__)
|
||||
return _byteswap_ulong(x);
|
||||
#else
|
13
cares_public_headers.patch
Normal file
13
cares_public_headers.patch
Normal file
@@ -0,0 +1,13 @@
|
||||
Index: node-v14.17.5/src/cares_wrap.h
|
||||
===================================================================
|
||||
--- node-v14.17.5.orig/third_party/electron_node/src/cares_wrap.h
|
||||
+++ node-v14.17.5/third_party/electron_node/src/cares_wrap.h
|
||||
@@ -22,7 +22,7 @@
|
||||
# include <netdb.h>
|
||||
#endif // __POSIX__
|
||||
|
||||
-# include <ares_nameser.h>
|
||||
+#include <arpa/nameser.h>
|
||||
|
||||
namespace node {
|
||||
namespace cares_wrap {
|
10
chromium-101-libxml-unbundle.patch
Normal file
10
chromium-101-libxml-unbundle.patch
Normal file
@@ -0,0 +1,10 @@
|
||||
--- a/build/linux/unbundle/libxml.gn
|
||||
+++ b/build/linux/unbundle/libxml.gn
|
||||
@@ -19,6 +19,7 @@ static_library("libxml_utils") {
|
||||
":xml_reader",
|
||||
":xml_writer",
|
||||
"//base/test:test_support",
|
||||
+ "//services/data_decoder:lib",
|
||||
"//services/data_decoder:xml_parser_fuzzer_deps",
|
||||
]
|
||||
sources = [
|
@@ -1,17 +1,17 @@
|
||||
From 307a0f63dd9b118f4b8470ed3d7567e81fdb7a6d Mon Sep 17 00:00:00 2001
|
||||
From: Mike Gilbert <floppym@gentoo.org>
|
||||
Date: Fri, 3 Dec 2021 09:50:31 +0000
|
||||
Date: Fri, 22 Apr 2022 09:05:24 +0000
|
||||
Subject: [PATCH] Disable various compiler configs
|
||||
|
||||
---
|
||||
build/config/compiler/BUILD.gn | 105 ++++++---------------------------
|
||||
1 file changed, 17 insertions(+), 88 deletions(-)
|
||||
build/config/compiler/BUILD.gn | 114 +++++----------------------------
|
||||
1 file changed, 17 insertions(+), 97 deletions(-)
|
||||
|
||||
diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
|
||||
index 5365544..e6d9b56 100644
|
||||
index d40843b..b92f03b 100644
|
||||
--- a/build/config/compiler/BUILD.gn
|
||||
+++ b/build/config/compiler/BUILD.gn
|
||||
@@ -291,9 +291,7 @@ config("compiler") {
|
||||
@@ -286,9 +286,7 @@ config("compiler") {
|
||||
|
||||
configs += [
|
||||
# See the definitions below.
|
||||
@@ -21,7 +21,7 @@ index 5365544..e6d9b56 100644
|
||||
":compiler_codegen",
|
||||
":compiler_deterministic",
|
||||
]
|
||||
@@ -534,31 +532,6 @@ config("compiler") {
|
||||
@@ -522,31 +520,6 @@ config("compiler") {
|
||||
ldflags += [ "-Wl,-z,keep-text-section-prefix" ]
|
||||
}
|
||||
|
||||
@@ -50,10 +50,10 @@ index 5365544..e6d9b56 100644
|
||||
- }
|
||||
- }
|
||||
-
|
||||
# C11/C++11 compiler flags setup.
|
||||
# ---------------------------
|
||||
if (is_linux || is_chromeos || is_android || (is_nacl && is_clang) ||
|
||||
@@ -1231,45 +1204,6 @@ config("compiler_deterministic") {
|
||||
# Rust compiler setup (for either clang or rustc).
|
||||
if (enable_rust) {
|
||||
defines += [ "RUST_ENABLED" ]
|
||||
@@ -1232,45 +1205,6 @@ config("compiler_deterministic") {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -99,7 +99,23 @@ index 5365544..e6d9b56 100644
|
||||
# Tells the compiler not to use absolute paths when passing the default
|
||||
# paths to the tools it invokes. We don't want this because we don't
|
||||
# really need it and it can mess up the goma cache entries.
|
||||
@@ -1556,7 +1490,7 @@ config("chromium_code") {
|
||||
@@ -1538,15 +1472,6 @@ config("default_warnings") {
|
||||
cflags += [ "-Wno-deprecated-non-prototype" ]
|
||||
}
|
||||
|
||||
- if (!is_nacl && !(is_chromeos ||
|
||||
- default_toolchain == "//build/toolchain/cros:target")) {
|
||||
- # TODO(https://crbug.com/1316298): Re-enable once test failure is figured out
|
||||
- cflags += [
|
||||
- "-Xclang",
|
||||
- "-no-opaque-pointers",
|
||||
- ]
|
||||
- }
|
||||
-
|
||||
if (is_fuchsia) {
|
||||
# TODO(https://bugs.chromium.org/p/fuchsia/issues/detail?id=77383)
|
||||
cflags += [ "-Wno-deprecated-copy" ]
|
||||
@@ -1615,7 +1540,7 @@ config("chromium_code") {
|
||||
defines = [ "_HAS_NODISCARD" ]
|
||||
}
|
||||
} else {
|
||||
@@ -108,7 +124,7 @@ index 5365544..e6d9b56 100644
|
||||
if (treat_warnings_as_errors) {
|
||||
cflags += [ "-Werror" ]
|
||||
|
||||
@@ -1565,10 +1499,6 @@ config("chromium_code") {
|
||||
@@ -1624,10 +1549,6 @@ config("chromium_code") {
|
||||
# well.
|
||||
ldflags = [ "-Werror" ]
|
||||
}
|
||||
@@ -119,7 +135,7 @@ index 5365544..e6d9b56 100644
|
||||
|
||||
# In Chromium code, we define __STDC_foo_MACROS in order to get the
|
||||
# C99 macros on Mac and Linux.
|
||||
@@ -1577,15 +1507,6 @@ config("chromium_code") {
|
||||
@@ -1636,15 +1557,6 @@ config("chromium_code") {
|
||||
"__STDC_FORMAT_MACROS",
|
||||
]
|
||||
|
||||
@@ -135,7 +151,7 @@ index 5365544..e6d9b56 100644
|
||||
if (is_mac) {
|
||||
cflags_objc = [ "-Wobjc-missing-property-synthesis" ]
|
||||
cflags_objcc = [ "-Wobjc-missing-property-synthesis" ]
|
||||
@@ -1988,7 +1909,8 @@ config("default_stack_frames") {
|
||||
@@ -2035,7 +1947,8 @@ config("default_stack_frames") {
|
||||
}
|
||||
|
||||
# Default "optimization on" config.
|
||||
@@ -145,7 +161,7 @@ index 5365544..e6d9b56 100644
|
||||
if (is_win) {
|
||||
if (chrome_pgo_phase != 2) {
|
||||
# Favor size over speed, /O1 must be before the common flags.
|
||||
@@ -2026,7 +1948,8 @@ config("optimize") {
|
||||
@@ -2073,7 +1986,8 @@ config("optimize") {
|
||||
}
|
||||
|
||||
# Turn off optimizations.
|
||||
@@ -155,7 +171,7 @@ index 5365544..e6d9b56 100644
|
||||
if (is_win) {
|
||||
cflags = [
|
||||
"/Od", # Disable optimization.
|
||||
@@ -2066,7 +1989,8 @@ config("no_optimize") {
|
||||
@@ -2113,7 +2027,8 @@ config("no_optimize") {
|
||||
# Turns up the optimization level. On Windows, this implies whole program
|
||||
# optimization and link-time code generation which is very expensive and should
|
||||
# be used sparingly.
|
||||
@@ -165,7 +181,7 @@ index 5365544..e6d9b56 100644
|
||||
if (is_nacl && is_nacl_irt) {
|
||||
# The NaCl IRT is a special case and always wants its own config.
|
||||
# Various components do:
|
||||
@@ -2099,7 +2023,8 @@ config("optimize_max") {
|
||||
@@ -2146,7 +2061,8 @@ config("optimize_max") {
|
||||
#
|
||||
# TODO(crbug.com/621335) - rework how all of these configs are related
|
||||
# so that we don't need this disclaimer.
|
||||
@@ -175,7 +191,7 @@ index 5365544..e6d9b56 100644
|
||||
if (is_nacl && is_nacl_irt) {
|
||||
# The NaCl IRT is a special case and always wants its own config.
|
||||
# Various components do:
|
||||
@@ -2125,7 +2050,8 @@ config("optimize_speed") {
|
||||
@@ -2172,7 +2088,8 @@ config("optimize_speed") {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -185,7 +201,7 @@ index 5365544..e6d9b56 100644
|
||||
cflags = [ "-O1" ] + common_optimize_on_cflags
|
||||
rustflags = [ "-Copt-level=1" ]
|
||||
ldflags = common_optimize_on_ldflags
|
||||
@@ -2245,7 +2171,8 @@ config("win_pdbaltpath") {
|
||||
@@ -2291,7 +2208,8 @@ config("win_pdbaltpath") {
|
||||
}
|
||||
|
||||
# Full symbols.
|
||||
@@ -195,7 +211,7 @@ index 5365544..e6d9b56 100644
|
||||
if (is_win) {
|
||||
if (is_clang) {
|
||||
cflags = [ "/Z7" ] # Debug information in the .obj files.
|
||||
@@ -2369,7 +2296,8 @@ config("symbols") {
|
||||
@@ -2419,7 +2337,8 @@ config("symbols") {
|
||||
# Minimal symbols.
|
||||
# This config guarantees to hold symbol for stack trace which are shown to user
|
||||
# when crash happens in unittests running on buildbot.
|
||||
@@ -205,7 +221,7 @@ index 5365544..e6d9b56 100644
|
||||
if (is_win) {
|
||||
# Functions, files, and line tables only.
|
||||
cflags = []
|
||||
@@ -2438,7 +2366,8 @@ config("minimal_symbols") {
|
||||
@@ -2492,7 +2411,8 @@ config("minimal_symbols") {
|
||||
# This configuration contains function names only. That is, the compiler is
|
||||
# told to not generate debug information and the linker then just puts function
|
||||
# names in the final debug information.
|
||||
@@ -216,5 +232,5 @@ index 5365544..e6d9b56 100644
|
||||
ldflags = [ "/DEBUG" ]
|
||||
|
||||
--
|
||||
2.32.0
|
||||
2.35.1
|
||||
|
25
chromium-102-fenced_frame_utils-include.patch
Normal file
25
chromium-102-fenced_frame_utils-include.patch
Normal file
@@ -0,0 +1,25 @@
|
||||
From 7c135a291184b59a59643ed6a8c40b4405ac0175 Mon Sep 17 00:00:00 2001
|
||||
From: Stephan Hartmann <stha09@googlemail.com>
|
||||
Date: Wed, 27 Apr 2022 16:01:01 +0000
|
||||
Subject: [PATCH] IWYU: add cstring for std::strlen in fenced_frame_utils
|
||||
|
||||
---
|
||||
third_party/blink/common/fenced_frame/fenced_frame_utils.cc | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/third_party/blink/common/fenced_frame/fenced_frame_utils.cc b/third_party/blink/common/fenced_frame/fenced_frame_utils.cc
|
||||
index 9e2d3ad..68f4823 100644
|
||||
--- a/third_party/blink/common/fenced_frame/fenced_frame_utils.cc
|
||||
+++ b/third_party/blink/common/fenced_frame/fenced_frame_utils.cc
|
||||
@@ -4,6 +4,8 @@
|
||||
|
||||
#include "third_party/blink/public/common/fenced_frame/fenced_frame_utils.h"
|
||||
|
||||
+#include <cstring>
|
||||
+
|
||||
#include "base/guid.h"
|
||||
#include "base/strings/string_util.h"
|
||||
|
||||
--
|
||||
2.35.1
|
||||
|
@@ -1,99 +0,0 @@
|
||||
Workaround GCC ICE with MiraclePtr, see https://gcc.gnu.org/PR103455
|
||||
|
||||
Index: electron-17.1.2/gpu/command_buffer/client/gl_helper.h
|
||||
===================================================================
|
||||
--- electron-17.1.2.orig/gpu/command_buffer/client/gl_helper.h 2022-03-11 08:49:29.988945132 +0100
|
||||
+++ electron-17.1.2/gpu/command_buffer/client/gl_helper.h 2022-03-11 09:19:54.553074408 +0100
|
||||
@@ -34,7 +34,7 @@ class ScopedGLuint {
|
||||
GenFunc gen_func,
|
||||
DeleteFunc delete_func)
|
||||
: gl_(gl), id_(0u), delete_func_(delete_func) {
|
||||
- (gl_->*gen_func)(1, &id_);
|
||||
+ (gl_.get()->*gen_func)(1, &id_);
|
||||
}
|
||||
|
||||
operator GLuint() const { return id_; }
|
||||
@@ -46,7 +46,7 @@ class ScopedGLuint {
|
||||
|
||||
~ScopedGLuint() {
|
||||
if (id_ != 0) {
|
||||
- (gl_->*delete_func_)(1, &id_);
|
||||
+ (gl_.get()->*delete_func_)(1, &id_);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -86,13 +86,13 @@ class ScopedBinder {
|
||||
typedef void (gles2::GLES2Interface::*BindFunc)(GLenum target, GLuint id);
|
||||
ScopedBinder(gles2::GLES2Interface* gl, GLuint id, BindFunc bind_func)
|
||||
: gl_(gl), bind_func_(bind_func) {
|
||||
- (gl_->*bind_func_)(Target, id);
|
||||
+ (gl_.get()->*bind_func_)(Target, id);
|
||||
}
|
||||
|
||||
ScopedBinder(const ScopedBinder&) = delete;
|
||||
ScopedBinder& operator=(const ScopedBinder&) = delete;
|
||||
|
||||
- virtual ~ScopedBinder() { (gl_->*bind_func_)(Target, 0); }
|
||||
+ virtual ~ScopedBinder() { (gl_.get()->*bind_func_)(Target, 0); }
|
||||
|
||||
private:
|
||||
raw_ptr<gles2::GLES2Interface> gl_;
|
||||
Index: electron-17.1.2/ui/accessibility/ax_node.h
|
||||
===================================================================
|
||||
--- electron-17.1.2.orig/ui/accessibility/ax_node.h 2022-03-11 08:49:41.565011045 +0100
|
||||
+++ electron-17.1.2/ui/accessibility/ax_node.h 2022-03-11 09:19:54.553074408 +0100
|
||||
@@ -826,10 +826,10 @@ AXNode::ChildIteratorBase<NodeType,
|
||||
// increment the iterator past the end, we remain at the past-the-end iterator
|
||||
// condition.
|
||||
if (child_ && parent_) {
|
||||
- if (child_ == (parent_->*LastChild)())
|
||||
+ if (child_ == (parent_.get()->*LastChild)())
|
||||
child_ = nullptr;
|
||||
else
|
||||
- child_ = (child_->*NextSibling)();
|
||||
+ child_ = (child_.get()->*NextSibling)();
|
||||
}
|
||||
|
||||
return *this;
|
||||
@@ -854,12 +854,12 @@ AXNode::ChildIteratorBase<NodeType,
|
||||
// If the iterator is past the end, |child_=nullptr|, decrement the iterator
|
||||
// gives us the last iterator element.
|
||||
if (!child_)
|
||||
- child_ = (parent_->*LastChild)();
|
||||
+ child_ = (parent_.get()->*LastChild)();
|
||||
// Decrement the iterator gives us the previous element, except when the
|
||||
// iterator is at the beginning; in which case, decrementing the iterator
|
||||
// remains at the beginning.
|
||||
- else if (child_ != (parent_->*FirstChild)())
|
||||
- child_ = (child_->*PreviousSibling)();
|
||||
+ else if (child_ != (parent_.get()->*FirstChild)())
|
||||
+ child_ = (child_.get()->*PreviousSibling)();
|
||||
}
|
||||
|
||||
return *this;
|
||||
Index: electron-17.1.2/ui/views/layout/flex_layout_types.cc
|
||||
===================================================================
|
||||
--- electron-17.1.2.orig/ui/views/layout/flex_layout_types.cc 2022-03-11 08:49:42.053013824 +0100
|
||||
+++ electron-17.1.2/ui/views/layout/flex_layout_types.cc 2022-03-11 09:19:54.557074435 +0100
|
||||
@@ -59,7 +59,7 @@ class LazySize {
|
||||
const gfx::Size& operator*() const { return *get(); }
|
||||
const gfx::Size* get() const {
|
||||
if (!size_)
|
||||
- size_ = (view_->*size_func_)();
|
||||
+ size_ = (view_.get()->*size_func_)();
|
||||
return &size_.value();
|
||||
}
|
||||
LazyDimension width() const {
|
||||
Index: electron-17.1.2/chrome/browser/ui/views/passwords/auto_signin_first_run_dialog_view.cc
|
||||
===================================================================
|
||||
--- electron-17.1.2.orig/chrome/browser/ui/views/passwords/auto_signin_first_run_dialog_view.cc 2022-03-11 08:49:26.600925841 +0100
|
||||
+++ electron-17.1.2/chrome/browser/ui/views/passwords/auto_signin_first_run_dialog_view.cc 2022-03-11 09:19:54.557074435 +0100
|
||||
@@ -37,7 +37,7 @@ AutoSigninFirstRunDialogView::AutoSignin
|
||||
auto call_controller = [](AutoSigninFirstRunDialogView* dialog,
|
||||
ControllerCallbackFn func) {
|
||||
if (dialog->controller_) {
|
||||
- (dialog->controller_->*func)();
|
||||
+ (dialog->controller_.get()->*func)();
|
||||
}
|
||||
};
|
||||
SetAcceptCallback(
|
@@ -1,27 +0,0 @@
|
||||
From 8e2458ffc6727943518a622753b074b42e713403 Mon Sep 17 00:00:00 2001
|
||||
From: Stephan Hartmann <stha09@googlemail.com>
|
||||
Date: Sat, 18 Dec 2021 08:38:57 +0000
|
||||
Subject: [PATCH] libstdc++: fix DCHECK_NE in ui::WaylandFrameManager
|
||||
|
||||
There is no CheckOpValueStr() for std::unique_ptr. Use get() to
|
||||
compare pointer values.
|
||||
---
|
||||
ui/ozone/platform/wayland/host/wayland_frame_manager.cc | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/ui/ozone/platform/wayland/host/wayland_frame_manager.cc b/ui/ozone/platform/wayland/host/wayland_frame_manager.cc
|
||||
index 569526c..58fae14 100644
|
||||
--- a/ui/ozone/platform/wayland/host/wayland_frame_manager.cc
|
||||
+++ b/ui/ozone/platform/wayland/host/wayland_frame_manager.cc
|
||||
@@ -379,7 +379,7 @@ void WaylandFrameManager::OnPresentation(
|
||||
// Investigate the issue with surface sync.
|
||||
frame->feedback = gfx::PresentationFeedback::Failure();
|
||||
}
|
||||
- CHECK_NE(frame, submitted_frames_.back());
|
||||
+ CHECK_NE(frame.get(), submitted_frames_.back().get());
|
||||
}
|
||||
MaybeProcessSubmittedFrames();
|
||||
}
|
||||
--
|
||||
2.32.0
|
||||
|
90
chromium-99-pdfium-system-libtiff.patch
Normal file
90
chromium-99-pdfium-system-libtiff.patch
Normal file
@@ -0,0 +1,90 @@
|
||||
--- patch99/third_party/pdfium/core/fxcodec/tiff/tiff_decoder.cpp 2022-02-10 05:21:05.000000000 +0100
|
||||
+++ patch99/third_party/pdfium/core/fxcodec/tiff/tiff_decoder.cpp.system-libtiff 2022-02-14 15:21:53.169231723 +0100
|
||||
@@ -22,9 +22,7 @@
|
||||
#include "third_party/base/notreached.h"
|
||||
#include "third_party/base/numerics/safe_conversions.h"
|
||||
|
||||
-extern "C" {
|
||||
-#include "third_party/libtiff/tiffiop.h"
|
||||
-} // extern C
|
||||
+#include <tiffio.h>
|
||||
|
||||
namespace {
|
||||
|
||||
@@ -190,7 +188,7 @@ TIFF* tiff_open(void* context, const cha
|
||||
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/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
|
||||
@@ -501,59 +501,13 @@ source_set("fx_lpng") {
|
||||
}
|
||||
}
|
||||
|
||||
+config("fx_tiff_config") {
|
||||
+ libs = [ "tiff" ]
|
||||
+}
|
||||
+
|
||||
if (pdf_enable_xfa_tiff) {
|
||||
source_set("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_jpeg.c.
|
||||
- configs -= [ "//build/config/win:lean_and_mean" ]
|
||||
- }
|
||||
- deps = [
|
||||
- ":zlib",
|
||||
- "../core/fxcrt",
|
||||
- "//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_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/tiffiop.h",
|
||||
- "libtiff/tiffvers.h",
|
||||
- ]
|
||||
+ public_configs = [ ":fx_tiff_config" ]
|
||||
}
|
||||
}
|
||||
|
@@ -1,13 +0,0 @@
|
||||
Index: electron-17.1.0/build/config/compiler/BUILD.gn
|
||||
===================================================================
|
||||
--- electron-17.1.0.orig/build/config/compiler/BUILD.gn 2022-03-09 08:24:51.706873982 +0100
|
||||
+++ electron-17.1.0/build/config/compiler/BUILD.gn 2022-03-09 08:24:53.098851231 +0100
|
||||
@@ -475,8 +475,6 @@ config("compiler") {
|
||||
# https://groups.google.com/a/chromium.org/group/chromium-dev/browse_thread/thread/281527606915bb36
|
||||
# Only apply this to the target linker, since the host
|
||||
# linker might not be gold, but isn't used much anyway.
|
||||
- "-Wl,--threads",
|
||||
- "-Wl,--thread-count=4",
|
||||
]
|
||||
}
|
||||
|
22
chromium-fix-pac-with-gcc.patch
Normal file
22
chromium-fix-pac-with-gcc.patch
Normal file
@@ -0,0 +1,22 @@
|
||||
--- chromium-102.0.5005.61/v8/src/execution/arm64/pointer-authentication-arm64.h.orig 2022-06-01 12:11:14.983350526 +0200
|
||||
+++ chromium-102.0.5005.61/v8/src/execution/arm64/pointer-authentication-arm64.h 2022-06-01 12:11:42.691630379 +0200
|
||||
@@ -48,14 +48,14 @@ V8_INLINE Address PointerAuthentication:
|
||||
return Simulator::StripPAC(pc, Simulator::kInstructionPointer);
|
||||
#else
|
||||
asm volatile(
|
||||
- " mov x16, lr\n"
|
||||
- " mov lr, %[pc]\n"
|
||||
+ " mov x16, x30\n"
|
||||
+ " mov x30, %[pc]\n"
|
||||
" xpaclri\n"
|
||||
- " mov %[pc], lr\n"
|
||||
- " mov lr, x16\n"
|
||||
+ " mov %[pc], x30\n"
|
||||
+ " mov x30, x16\n"
|
||||
: [pc] "+r"(pc)
|
||||
:
|
||||
- : "x16", "lr");
|
||||
+ : "x16", "x30");
|
||||
return pc;
|
||||
#endif
|
||||
}
|
@@ -1,16 +0,0 @@
|
||||
From: https://forums.gentoo.org/viewtopic-p-8644495.html
|
||||
Index: electron-17.1.2/sandbox/linux/services/credentials.cc
|
||||
===================================================================
|
||||
--- electron-17.1.2.orig/sandbox/linux/services/credentials.cc 2022-03-11 08:49:31.620954425 +0100
|
||||
+++ electron-17.1.2/sandbox/linux/services/credentials.cc 2022-03-11 09:17:31.024046235 +0100
|
||||
@@ -100,7 +100,9 @@ bool ChrootToSafeEmptyDir() {
|
||||
// TODO(crbug.com/1247458) Broken in MSan builds after LLVM f1bb30a4956f.
|
||||
clone_flags |= CLONE_VM | CLONE_VFORK | CLONE_SETTLS;
|
||||
|
||||
- char tls_buf[PTHREAD_STACK_MIN] = {0};
|
||||
+ const std::size_t pthread_stack_min = PTHREAD_STACK_MIN;
|
||||
+ char tls_buf[pthread_stack_min];
|
||||
+ memset(tls_buf, 0, pthread_stack_min);
|
||||
tls = tls_buf;
|
||||
#endif
|
||||
|
54
chromium-remove-bundled-roboto-font.patch
Normal file
54
chromium-remove-bundled-roboto-font.patch
Normal file
@@ -0,0 +1,54 @@
|
||||
This font is already available in opensuse and can be installed systemwide
|
||||
|
||||
--- a/ui/webui/resources/BUILD.gn 2022-06-15 15:58:23.822426713 +0200
|
||||
+++ b/ui/webui/resources/BUILD.gn 2022-06-21 15:51:23.647223308 +0200
|
||||
@@ -36,17 +36,6 @@
|
||||
"$root_gen_dir/third_party/jstemplate/resources.grdp",
|
||||
]
|
||||
|
||||
- if (!is_chromeos_ash && !is_android) {
|
||||
- # Roboto Font. Roboto-Regular and Roboto-Light is already available on
|
||||
- # Android, and Roboto-Medium is not used on Android. All 6 weights of
|
||||
- # Roboto are available on Chrome OS.
|
||||
- input_files_base_dir = rebase_path(".", "//")
|
||||
- input_files = [
|
||||
- "roboto/roboto-bold.woff2",
|
||||
- "roboto/roboto-medium.woff2",
|
||||
- "roboto/roboto-regular.woff2",
|
||||
- ]
|
||||
- }
|
||||
|
||||
if (include_polymer) {
|
||||
deps += [
|
||||
'roboto.css' -> 'roboto.css.new'
|
||||
--- a/ui/webui/resources/css/roboto.css 2022-06-15 15:58:23.846426661 +0200
|
||||
+++ b/ui/webui/resources/css/roboto.css 2022-06-21 15:53:08.931243442 +0200
|
||||
@@ -2,28 +2,3 @@
|
||||
* Use of this source code is governed by a BSD-style license that can be
|
||||
* found in the LICENSE file. */
|
||||
|
||||
-<if expr="not chromeos and not is_android">
|
||||
-@font-face {
|
||||
- font-family: 'Roboto';
|
||||
- font-style: normal;
|
||||
- font-weight: 400;
|
||||
- src: local('Roboto'), local('Roboto-Regular'),
|
||||
- url(chrome://resources/roboto/roboto-regular.woff2) format('woff2');
|
||||
-}
|
||||
-
|
||||
-@font-face {
|
||||
- font-family: 'Roboto';
|
||||
- font-style: normal;
|
||||
- font-weight: 500;
|
||||
- src: local('Roboto Medium'), local('Roboto-Medium'),
|
||||
- url(chrome://resources/roboto/roboto-medium.woff2) format('woff2');
|
||||
-}
|
||||
-
|
||||
-@font-face {
|
||||
- font-family: 'Roboto';
|
||||
- font-style: normal;
|
||||
- font-weight: 700;
|
||||
- src: local('Roboto Bold'), local('Roboto-Bold'),
|
||||
- url(chrome://resources/roboto/roboto-bold.woff2) format('woff2');
|
||||
-}
|
||||
-</if>
|
@@ -22,7 +22,7 @@ Index: electron-17.1.0/chrome/browser/flag_descriptions.cc
|
||||
===================================================================
|
||||
--- electron-17.1.0.orig/chrome/browser/flag_descriptions.cc 2022-03-07 17:20:30.960813654 +0100
|
||||
+++ electron-17.1.0/chrome/browser/flag_descriptions.cc 2022-03-09 08:25:19.662417046 +0100
|
||||
@@ -3981,12 +3981,24 @@ const char kUseAngleGL[] = "OpenGL";
|
||||
@@ -4031,12 +4031,24 @@ const char kUseAngleGL[] = "OpenGL";
|
||||
|
||||
#if BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
|
||||
@@ -44,14 +44,14 @@ Index: electron-17.1.0/chrome/browser/flag_descriptions.cc
|
||||
+
|
||||
+#if BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
+
|
||||
const char kAllowDisableMouseAccelerationName[] =
|
||||
"Allow disabling mouse acceleration";
|
||||
const char kAllowDisableMouseAccelerationDescription[] =
|
||||
const char kAllowDisableTouchpadHapticFeedbackName[] =
|
||||
"Allow disabling touchpad haptic feedback";
|
||||
const char kAllowDisableTouchpadHapticFeedbackDescription[] =
|
||||
Index: electron-17.1.0/chrome/browser/flag_descriptions.h
|
||||
===================================================================
|
||||
--- electron-17.1.0.orig/chrome/browser/flag_descriptions.h 2022-03-07 17:20:30.960813654 +0100
|
||||
+++ electron-17.1.0/chrome/browser/flag_descriptions.h 2022-03-09 08:25:19.666416981 +0100
|
||||
@@ -2299,9 +2299,21 @@ extern const char kUseAngleGL[];
|
||||
@@ -2305,9 +2305,21 @@ extern const char kUseAngleGL[];
|
||||
|
||||
#if BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
|
||||
@@ -70,6 +70,6 @@ Index: electron-17.1.0/chrome/browser/flag_descriptions.h
|
||||
+
|
||||
+// Chrome OS ------------------------------------------------------------------
|
||||
+
|
||||
extern const char kAllowDisableMouseAccelerationName[];
|
||||
extern const char kAllowDisableMouseAccelerationDescription[];
|
||||
extern const char kAllowDisableTouchpadHapticFeedbackName[];
|
||||
extern const char kAllowDisableTouchpadHapticFeedbackDescription[];
|
||||
|
||||
|
11
crc32c.gn
Normal file
11
crc32c.gn
Normal file
@@ -0,0 +1,11 @@
|
||||
import("//build/shim_headers.gni")
|
||||
|
||||
shim_headers("crc32c_shim") {
|
||||
root_path = "src/include"
|
||||
headers = [ "crc32c/crc32c.h" ]
|
||||
}
|
||||
|
||||
source_set("crc32c") {
|
||||
deps = [ ":crc32c_shim" ]
|
||||
libs = [ "crc32c" ]
|
||||
}
|
@@ -6,11 +6,11 @@
|
||||
#
|
||||
# dnf install python3-base git-core npm16 yarn python2-base
|
||||
|
||||
ELECTRON_PKGVERSION="$(rpmspec -P ./*.spec | grep Version | sed -e 's/Version:[ ]*//g')"
|
||||
ELECTRON_PKGVERSION="$(rpmspec -P ./*.spec | grep ^\s*Version | sed -e 's/Version:[ ]*//g')"
|
||||
ELECTRON_PKGNAME="electron"
|
||||
ELECTRON_PKGDIR="$(pwd)"
|
||||
ELECTRON_TMPDIR="$(mktemp --tmpdir -d electron-XXXXXXXX)"
|
||||
ELECTRON_PATH="${ELECTRON_TMPDIR}/${ELECTRON_PKGNAME}-${ELECTRON_PKGVERSION}"
|
||||
ELECTRON_PATH="${ELECTRON_TMPDIR}/src"
|
||||
|
||||
echo "NAME: $ELECTRON_PKGNAME"
|
||||
echo "VERSION: $ELECTRON_PKGVERSION"
|
||||
@@ -45,6 +45,9 @@ fi
|
||||
PATH="$(pwd)/depot_tools:$PATH"
|
||||
export PATH
|
||||
|
||||
# HACK to make gclient much faster, do not download entire history
|
||||
sed -i 's/remote or self.remote,$/remote or self.remote, "--depth=1"/' depot_tools/gclient_scm.py
|
||||
|
||||
|
||||
echo ">>>>>> Create gclient config"
|
||||
cat >.gclient <<EOF
|
||||
@@ -65,13 +68,15 @@ if [ $? -ne 0 ]; then
|
||||
cleanup_and_exit 1
|
||||
fi
|
||||
|
||||
echo ">>>>>> Apply electron-${ELECTRON_PKGVERSION} patches"
|
||||
python3 src/electron/script/apply_all_patches.py \
|
||||
src/electron/patches/config.json
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "ERROR: apply_all_patches.py failed"
|
||||
cleanup_and_exit 1
|
||||
fi
|
||||
pushd src || cleanup_and_exit 1
|
||||
|
||||
echo ">>>>>> Create LASTCHANGE(.committime) file"
|
||||
echo -n "LASTCHANGE=$(git log -1 --format=format:%H HEAD)" > build/util/LASTCHANGE
|
||||
# shellcheck disable=1091
|
||||
source build/util/LASTCHANGE
|
||||
echo -n "$(git log -1 --date=unix --format=format:%cd "$LASTCHANGE")" > build/util/LASTCHANGE.committime
|
||||
|
||||
popd
|
||||
|
||||
echo ">>>>>> Generate GPU_LISTS_VERSION"
|
||||
python3 src/build/util/lastchange.py -m GPU_LISTS_VERSION \
|
||||
@@ -89,6 +94,14 @@ if [ $? -ne 0 ]; then
|
||||
cleanup_and_exit 1
|
||||
fi
|
||||
|
||||
echo ">>>>>> Apply electron-${ELECTRON_PKGVERSION} patches"
|
||||
python3 src/electron/script/apply_all_patches.py \
|
||||
src/electron/patches/config.json
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "ERROR: apply_all_patches.py failed"
|
||||
cleanup_and_exit 1
|
||||
fi
|
||||
|
||||
echo ">>>>>> Download optimization profile"
|
||||
python3 src/tools/download_optimization_profile.py \
|
||||
--newest_state=src/chrome/android/profiles/newest.txt \
|
||||
@@ -126,23 +139,15 @@ if [ $? -ne 0 ]; then
|
||||
fi
|
||||
popd || cleanup_and_exit 1
|
||||
|
||||
mv src "${ELECTRON_PKGNAME}-${ELECTRON_PKGVERSION}"
|
||||
|
||||
pushd "${ELECTRON_PATH}" || cleanup_and_exit 1
|
||||
|
||||
echo ">>>>>> Create LASTCHANGE(.committime) file"
|
||||
echo -n "LASTCHANGE=$(git log -1 --format=format:%H HEAD)" > build/util/LASTCHANGE
|
||||
# shellcheck disable=1091
|
||||
source build/util/LASTCHANGE
|
||||
echo -n "$(git log -1 --date=unix --format=format:%cd "$LASTCHANGE")" > build/util/LASTCHANGE.committime
|
||||
|
||||
echo ">>>>>> Remove bundled libs"
|
||||
keeplibs=(
|
||||
base/third_party/cityhash
|
||||
base/third_party/double_conversion
|
||||
base/third_party/dynamic_annotations
|
||||
base/third_party/icu
|
||||
base/third_party/nspr
|
||||
base/third_party/superfasthash
|
||||
base/third_party/symbolize
|
||||
base/third_party/valgrind
|
||||
@@ -162,7 +167,6 @@ keeplibs=(
|
||||
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/libXNVCtrl
|
||||
third_party/angle/src/third_party/trace_event
|
||||
third_party/angle/src/third_party/volk
|
||||
@@ -173,7 +177,6 @@ keeplibs=(
|
||||
third_party/boringssl/src/third_party/fiat
|
||||
third_party/breakpad
|
||||
third_party/breakpad/breakpad/src/third_party/curl
|
||||
third_party/brotli
|
||||
third_party/catapult
|
||||
third_party/catapult/common/py_vulcanize/third_party/rcssmin
|
||||
third_party/catapult/common/py_vulcanize/third_party/rjsmin
|
||||
@@ -200,11 +203,11 @@ keeplibs=(
|
||||
third_party/dav1d
|
||||
third_party/dawn
|
||||
third_party/dawn/third_party
|
||||
third_party/dawn/third_party/tint/src/ast
|
||||
third_party/depot_tools
|
||||
third_party/depot_tools/third_party/six
|
||||
third_party/devscripts
|
||||
third_party/devtools-frontend
|
||||
third_party/devtools-frontend/src/front_end/third_party
|
||||
third_party/devtools-frontend/src/front_end/third_party/acorn
|
||||
third_party/devtools-frontend/src/front_end/third_party/axe-core
|
||||
third_party/devtools-frontend/src/front_end/third_party/chromium
|
||||
@@ -261,7 +264,7 @@ keeplibs=(
|
||||
third_party/libphonenumber
|
||||
third_party/libsecret
|
||||
third_party/libsrtp
|
||||
third_party/libsync
|
||||
third_party/libsync/src
|
||||
third_party/libudev
|
||||
third_party/liburlpattern
|
||||
third_party/libva_protected_content
|
||||
@@ -271,12 +274,10 @@ keeplibs=(
|
||||
third_party/libx11/src
|
||||
third_party/libxcb-keysyms/keysyms
|
||||
third_party/libxml/chromium
|
||||
third_party/libXNVCtrl
|
||||
third_party/libyuv
|
||||
third_party/libzip
|
||||
third_party/lottie
|
||||
third_party/lss
|
||||
third_party/lzma_sdk
|
||||
third_party/mako
|
||||
third_party/maldoca
|
||||
third_party/maldoca/src/third_party
|
||||
@@ -290,7 +291,6 @@ keeplibs=(
|
||||
third_party/node
|
||||
third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2
|
||||
third_party/one_euro_filter
|
||||
third_party/opencv
|
||||
third_party/openscreen
|
||||
third_party/openscreen/src/third_party/mozilla
|
||||
third_party/openscreen/src/third_party/tinycbor/src/src
|
||||
@@ -300,9 +300,6 @@ keeplibs=(
|
||||
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
|
||||
@@ -332,19 +329,18 @@ keeplibs=(
|
||||
third_party/sqlite
|
||||
third_party/swiftshader
|
||||
third_party/swiftshader/third_party/SPIRV-Headers/include/spirv/unified1
|
||||
third_party/swiftshader/third_party/SPIRV-Tools
|
||||
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/tcmalloc
|
||||
third_party/tensorflow-text
|
||||
third_party/tflite
|
||||
third_party/tflite/src/third_party/eigen3
|
||||
third_party/tflite/src/third_party/fft2d
|
||||
third_party/ukey2
|
||||
third_party/usb_ids
|
||||
third_party/usrsctp
|
||||
third_party/utf
|
||||
third_party/vulkan
|
||||
third_party/wayland
|
||||
@@ -385,10 +381,12 @@ find . -type d -name .git -print0 | xargs -0 rm -rf
|
||||
# Remove generatted python bytecode
|
||||
find . -type d -name __pycache__ -print0 | xargs -0 rm -rvf
|
||||
find . -type f -name '*.pyc' -print -delete
|
||||
# Remove empty directories
|
||||
find . -type d -empty -print -delete
|
||||
popd || cleanup_and_exit 1
|
||||
|
||||
echo ">>>>>> Create tarball"
|
||||
XZ_OPT="-T$(nproc) -e9" tar -vcJf "${ELECTRON_PKGDIR}/${ELECTRON_PKGNAME}-${ELECTRON_PKGVERSION}.tar.xz" "${ELECTRON_PKGNAME}-${ELECTRON_PKGVERSION}"
|
||||
XZ_OPT="-T$(nproc) -e9 -vv" tar -vvcJf "${ELECTRON_PKGDIR}/${ELECTRON_PKGNAME}-${ELECTRON_PKGVERSION}.tar.xz" src
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "ERROR: tar cJf failed"
|
||||
cleanup_and_exit 1
|
||||
|
11
dark_mode_types-uint8_t.patch
Normal file
11
dark_mode_types-uint8_t.patch
Normal file
@@ -0,0 +1,11 @@
|
||||
--- a/third_party/blink/renderer/platform/graphics/dark_mode_types.h 2022-06-21 21:52:42.607987807 +0200
|
||||
+++ b/third_party/blink/renderer/platform/graphics/dark_mode_types.h 2022-06-24 22:25:53.282241863 +0200
|
||||
@@ -5,6 +5,8 @@
|
||||
#ifndef THIRD_PARTY_BLINK_RENDERER_PLATFORM_GRAPHICS_DARK_MODE_TYPES_H_
|
||||
#define THIRD_PARTY_BLINK_RENDERER_PLATFORM_GRAPHICS_DARK_MODE_TYPES_H_
|
||||
|
||||
+#include <cstdint>
|
||||
+
|
||||
namespace blink {
|
||||
|
||||
enum class DarkModeResult : uint8_t {
|
30
dav1d.gn
Normal file
30
dav1d.gn
Normal file
@@ -0,0 +1,30 @@
|
||||
# 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/buildflag_header.gni")
|
||||
import("//build/config/linux/pkg_config.gni")
|
||||
import("//build/shim_headers.gni")
|
||||
|
||||
pkg_config("system_dav1d") {
|
||||
packages = [ "dav1d" ]
|
||||
}
|
||||
|
||||
shim_headers("dav1d_shim") {
|
||||
root_path = "libdav1d/include"
|
||||
headers = [
|
||||
"dav1d/common.h",
|
||||
"dav1d/data.h",
|
||||
"dav1d/dav1d.h",
|
||||
"dav1d/headers.h",
|
||||
"dav1d/picture.h",
|
||||
"dav1d/version.h",
|
||||
]
|
||||
}
|
||||
|
||||
source_set("dav1d") {
|
||||
deps = [
|
||||
":dav1d_shim",
|
||||
]
|
||||
public_configs = [ ":system_dav1d" ]
|
||||
}
|
10
device_perf_info-missing-uint32_t.patch
Normal file
10
device_perf_info-missing-uint32_t.patch
Normal file
@@ -0,0 +1,10 @@
|
||||
--- a/gpu/config/device_perf_info.h
|
||||
+++ b/gpu/config/device_perf_info.h
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef GPU_CONFIG_DEVICE_PERF_INFO_H_
|
||||
#define GPU_CONFIG_DEVICE_PERF_INFO_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include "build/build_config.h"
|
||||
#include "gpu/gpu_export.h"
|
||||
#include "third_party/abseil-cpp/absl/types/optional.h"
|
23
double-conversion.gn
Normal file
23
double-conversion.gn
Normal file
@@ -0,0 +1,23 @@
|
||||
import("//build/shim_headers.gni")
|
||||
|
||||
shim_headers("double_conversion_shim") {
|
||||
root_path = "."
|
||||
headers = [
|
||||
"double-conversion/bignum.h",
|
||||
"double-conversion/cached-powers.h",
|
||||
"double-conversion/diy-fp.h",
|
||||
"double-conversion/double-conversion.h",
|
||||
"double-conversion/double-to-string.h",
|
||||
"double-conversion/fast-dtoa.h",
|
||||
"double-conversion/fixed-dtoa.h",
|
||||
"double-conversion/ieee.h",
|
||||
"double-conversion/string-to-double.h",
|
||||
"double-conversion/strtod.h",
|
||||
"double-conversion/utils.h",
|
||||
]
|
||||
}
|
||||
|
||||
source_set("double_conversion") {
|
||||
deps = [ ":double_conversion_shim" ]
|
||||
libs = [ "double-conversion" ]
|
||||
}
|
@@ -2,20 +2,15 @@ Index: electron-17.1.0/build/config/compiler/compiler.gni
|
||||
===================================================================
|
||||
--- electron-17.1.0.orig/build/config/compiler/compiler.gni 2022-03-09 08:27:56.719840060 +0100
|
||||
+++ electron-17.1.0/build/config/compiler/compiler.gni 2022-03-09 13:07:58.709063960 +0100
|
||||
@@ -71,11 +71,12 @@ declare_args() {
|
||||
@@ -71,11 +71,7 @@ declare_args() {
|
||||
# Use it by default on official-optimized android and Chrome OS builds, but
|
||||
# not ARC or linux-chromeos since it's been seen to not play nicely with
|
||||
# Chrome's clang. crbug.com/1033839
|
||||
- use_thin_lto =
|
||||
- is_cfi ||
|
||||
- (is_clang && is_official_build && chrome_pgo_phase != 1 &&
|
||||
- (is_linux || is_win || (is_android && target_os != "chromeos") ||
|
||||
- ((is_chromeos_ash || is_chromeos_lacros) && is_chromeos_device)))
|
||||
+ # use_thin_lto =
|
||||
+ # is_cfi ||
|
||||
+ # (is_clang && is_official_build && chrome_pgo_phase != 1 &&
|
||||
+ # (is_linux || is_win || (is_android && target_os != "chromeos") ||
|
||||
+ # ((is_chromeos_ash || is_chromeos_lacros) && is_chromeos_device)))
|
||||
- is_cfi || (is_clang && is_official_build && chrome_pgo_phase != 1 &&
|
||||
- (is_linux || is_win || is_mac || (is_ios && use_lld) ||
|
||||
- (is_android && target_os != "chromeos") ||
|
||||
- (is_chromeos && is_chromeos_device)))
|
||||
+ use_thin_lto = false
|
||||
|
||||
# If true, use Goma for ThinLTO code generation where applicable.
|
||||
|
@@ -4,12 +4,12 @@ Index: electron-17.1.0/chrome/browser/process_singleton.h
|
||||
+++ electron-17.1.0/chrome/browser/process_singleton.h 2022-03-09 08:29:01.682773127 +0100
|
||||
@@ -102,7 +102,7 @@ class ProcessSingleton {
|
||||
using NotificationCallback =
|
||||
base::RepeatingCallback<bool(const base::CommandLine& command_line,
|
||||
base::RepeatingCallback<bool(const base::CommandLine& command_line,
|
||||
const base::FilePath& current_directory,
|
||||
- const std::vector<const uint8_t> additional_data)>;
|
||||
+ const std::vector<uint8_t> additional_data)>;
|
||||
|
||||
#if defined(OS_WIN)
|
||||
#if BUILDFLAG(IS_WIN)
|
||||
ProcessSingleton(const std::string& program_name,
|
||||
Index: electron-17.1.0/chrome/browser/process_singleton_posix.cc
|
||||
===================================================================
|
||||
@@ -55,7 +55,7 @@ Index: electron-17.1.0/chrome/browser/process_singleton_win.cc
|
||||
===================================================================
|
||||
--- electron-17.1.0.orig/chrome/browser/process_singleton_win.cc 2022-03-07 17:39:06.993345117 +0100
|
||||
+++ electron-17.1.0/chrome/browser/process_singleton_win.cc 2022-03-09 08:29:01.682773127 +0100
|
||||
@@ -99,7 +99,7 @@ BOOL CALLBACK BrowserWindowEnumeration(H
|
||||
@@ -81,7 +81,7 @@ BOOL CALLBACK BrowserWindowEnumeration(H
|
||||
bool ParseCommandLine(const COPYDATASTRUCT* cds,
|
||||
base::CommandLine* parsed_command_line,
|
||||
base::FilePath* current_directory,
|
||||
@@ -64,7 +64,7 @@ Index: electron-17.1.0/chrome/browser/process_singleton_win.cc
|
||||
// We should have enough room for the shortest command (min_message_size)
|
||||
// and also be a multiple of wchar_t bytes. The shortest command
|
||||
// possible is L"START\0\0" (empty command line, current directory,
|
||||
@@ -181,7 +181,7 @@ bool ParseCommandLine(const COPYDATASTRU
|
||||
@@ -163,7 +163,7 @@ bool ParseCommandLine(const COPYDATASTRU
|
||||
msg.substr(fourth_null + 1, fifth_null - fourth_null);
|
||||
const uint8_t* additional_data_bytes =
|
||||
reinterpret_cast<const uint8_t*>(additional_data.c_str());
|
||||
@@ -73,8 +73,8 @@ Index: electron-17.1.0/chrome/browser/process_singleton_win.cc
|
||||
additional_data_bytes + additional_data_length);
|
||||
|
||||
return true;
|
||||
@@ -202,7 +202,7 @@ bool ProcessLaunchNotification(
|
||||
const COPYDATASTRUCT* cds = reinterpret_cast<COPYDATASTRUCT*>(lparam);
|
||||
@@ -187,7 +187,7 @@ bool ProcessLaunchNotification(
|
||||
|
||||
base::CommandLine parsed_command_line(base::CommandLine::NO_PROGRAM);
|
||||
base::FilePath current_directory;
|
||||
- std::vector<const uint8_t> additional_data;
|
||||
|
@@ -1,12 +0,0 @@
|
||||
Index: electron-16.0.9/v8/src/heap/cppgc/prefinalizer-handler.h
|
||||
===================================================================
|
||||
--- electron-16.0.9.orig/v8/src/heap/cppgc/prefinalizer-handler.h 2022-02-16 18:17:34.214288489 +0100
|
||||
+++ electron-16.0.9/v8/src/heap/cppgc/prefinalizer-handler.h 2022-02-24 15:58:24.620167736 +0100
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef V8_HEAP_CPPGC_PREFINALIZER_HANDLER_H_
|
||||
#define V8_HEAP_CPPGC_PREFINALIZER_HANDLER_H_
|
||||
|
||||
+#include <utility>
|
||||
#include <vector>
|
||||
|
||||
#include "include/cppgc/prefinalizer.h"
|
@@ -1,13 +0,0 @@
|
||||
Index: electron-17.1.2/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc
|
||||
===================================================================
|
||||
--- electron-17.1.2.orig/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc 2022-03-11 11:17:39.716354439 +0100
|
||||
+++ electron-17.1.2/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc 2022-03-15 07:51:37.994251537 +0100
|
||||
@@ -138,7 +138,7 @@ void InstallAlternateStackLocked() {
|
||||
// SIGSTKSZ may be too small to prevent the signal handlers from overrunning
|
||||
// the alternative stack. Ensure that the size of the alternative stack is
|
||||
// large enough.
|
||||
- static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ);
|
||||
+ static const unsigned kSigStackSize = std::max(16384L, (long)SIGSTKSZ);
|
||||
|
||||
// Only set an alternative stack if there isn't already one, or if the current
|
||||
// one is too small.
|
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:ba7520e936dc0f7ba07253d50e8c5924e00231c98d9425f4b8212c0aedbb61be
|
||||
size 1107915084
|
3
electron-19.0.7.tar.xz
Normal file
3
electron-19.0.7.tar.xz
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:f52d203e2563f36e74e6f2b7c46ec0d48b00e109315944e49e0a45abb7d02233
|
||||
size 1267497492
|
@@ -1,4 +1,4 @@
|
||||
#!/usr/bin/bash
|
||||
#!/bin/bash
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
@@ -17,4 +17,4 @@ for line in "${MAPFILE[@]}"; do
|
||||
fi
|
||||
done
|
||||
|
||||
exec /usr/lib64/${name}/electron "$@" "${flags[@]}"
|
||||
exec XXXLIBDIRXXX/${name}/electron "$@" "${flags[@]}"
|
||||
|
333
ffmpeg-new-channel-layout.patch
Normal file
333
ffmpeg-new-channel-layout.patch
Normal file
@@ -0,0 +1,333 @@
|
||||
From 6e554a30893150793c2638e3689cf208ffc8e375 Mon Sep 17 00:00:00 2001
|
||||
From: Dale Curtis <dalecurtis@chromium.org>
|
||||
Date: Sat, 2 Apr 2022 05:13:53 +0000
|
||||
Subject: [PATCH] Roll src/third_party/ffmpeg/ 574c39cce..32b2d1d526 (1125
|
||||
commits)
|
||||
|
||||
https://chromium.googlesource.com/chromium/third_party/ffmpeg.git/+log/574c39cce323..32b2d1d526
|
||||
|
||||
Created with:
|
||||
roll-dep src/third_party/ffmpeg
|
||||
|
||||
Fixed: 1293918
|
||||
Cq-Include-Trybots: luci.chromium.try:mac_chromium_asan_rel_ng,linux_chromium_asan_rel_ng,linux_chromium_chromeos_asan_rel_ng
|
||||
Change-Id: I41945d0f963e3d1f65940067bac22f63b68e37d2
|
||||
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3565647
|
||||
Auto-Submit: Dale Curtis <dalecurtis@chromium.org>
|
||||
Reviewed-by: Dan Sanders <sandersd@chromium.org>
|
||||
Commit-Queue: Dale Curtis <dalecurtis@chromium.org>
|
||||
Cr-Commit-Position: refs/heads/main@{#988253}
|
||||
---
|
||||
.../clear_key_cdm/ffmpeg_cdm_audio_decoder.cc | 29 ++++++++++---------
|
||||
media/ffmpeg/ffmpeg_common.cc | 11 +++----
|
||||
media/filters/audio_file_reader.cc | 9 +++---
|
||||
media/filters/audio_file_reader_unittest.cc | 6 ++--
|
||||
.../filters/audio_video_metadata_extractor.cc | 11 +++++--
|
||||
.../filters/ffmpeg_aac_bitstream_converter.cc | 7 +++--
|
||||
...ffmpeg_aac_bitstream_converter_unittest.cc | 2 +-
|
||||
media/filters/ffmpeg_audio_decoder.cc | 13 +++++----
|
||||
8 files changed, 51 insertions(+), 37 deletions(-)
|
||||
|
||||
diff --git a/media/cdm/library_cdm/clear_key_cdm/ffmpeg_cdm_audio_decoder.cc b/media/cdm/library_cdm/clear_key_cdm/ffmpeg_cdm_audio_decoder.cc
|
||||
index e4fc3f460e2..9b1ad9f7675 100644
|
||||
--- a/media/cdm/library_cdm/clear_key_cdm/ffmpeg_cdm_audio_decoder.cc
|
||||
+++ b/media/cdm/library_cdm/clear_key_cdm/ffmpeg_cdm_audio_decoder.cc
|
||||
@@ -74,7 +74,7 @@ void CdmAudioDecoderConfigToAVCodecContext(
|
||||
codec_context->sample_fmt = AV_SAMPLE_FMT_NONE;
|
||||
}
|
||||
|
||||
- codec_context->channels = config.channel_count;
|
||||
+ codec_context->ch_layout.nb_channels = config.channel_count;
|
||||
codec_context->sample_rate = config.samples_per_second;
|
||||
|
||||
if (config.extra_data) {
|
||||
@@ -124,8 +124,8 @@ void CopySamples(cdm::AudioFormat cdm_format,
|
||||
case cdm::kAudioFormatPlanarS16:
|
||||
case cdm::kAudioFormatPlanarF32: {
|
||||
const int decoded_size_per_channel =
|
||||
- decoded_audio_size / av_frame.channels;
|
||||
- for (int i = 0; i < av_frame.channels; ++i) {
|
||||
+ decoded_audio_size / av_frame.ch_layout.nb_channels;
|
||||
+ for (int i = 0; i < av_frame.ch_layout.nb_channels; ++i) {
|
||||
memcpy(output_buffer, av_frame.extended_data[i],
|
||||
decoded_size_per_channel);
|
||||
output_buffer += decoded_size_per_channel;
|
||||
@@ -185,13 +185,14 @@ bool FFmpegCdmAudioDecoder::Initialize(
|
||||
// Success!
|
||||
decoding_loop_ = std::make_unique<FFmpegDecodingLoop>(codec_context_.get());
|
||||
samples_per_second_ = config.samples_per_second;
|
||||
- bytes_per_frame_ = codec_context_->channels * config.bits_per_channel / 8;
|
||||
+ bytes_per_frame_ =
|
||||
+ codec_context_->ch_layout.nb_channels * config.bits_per_channel / 8;
|
||||
output_timestamp_helper_ =
|
||||
std::make_unique<AudioTimestampHelper>(config.samples_per_second);
|
||||
is_initialized_ = true;
|
||||
|
||||
// Store initial values to guard against midstream configuration changes.
|
||||
- channels_ = codec_context_->channels;
|
||||
+ channels_ = codec_context_->ch_layout.nb_channels;
|
||||
av_sample_format_ = codec_context_->sample_fmt;
|
||||
|
||||
return true;
|
||||
@@ -291,17 +292,19 @@ cdm::Status FFmpegCdmAudioDecoder::DecodeBuffer(
|
||||
for (auto& frame : audio_frames) {
|
||||
int decoded_audio_size = 0;
|
||||
if (frame->sample_rate != samples_per_second_ ||
|
||||
- frame->channels != channels_ || frame->format != av_sample_format_) {
|
||||
+ frame->ch_layout.nb_channels != channels_ ||
|
||||
+ frame->format != av_sample_format_) {
|
||||
DLOG(ERROR) << "Unsupported midstream configuration change!"
|
||||
<< " Sample Rate: " << frame->sample_rate << " vs "
|
||||
- << samples_per_second_ << ", Channels: " << frame->channels
|
||||
- << " vs " << channels_ << ", Sample Format: " << frame->format
|
||||
- << " vs " << av_sample_format_;
|
||||
+ << samples_per_second_
|
||||
+ << ", Channels: " << frame->ch_layout.nb_channels << " vs "
|
||||
+ << channels_ << ", Sample Format: " << frame->format << " vs "
|
||||
+ << av_sample_format_;
|
||||
return cdm::kDecodeError;
|
||||
}
|
||||
|
||||
decoded_audio_size = av_samples_get_buffer_size(
|
||||
- nullptr, codec_context_->channels, frame->nb_samples,
|
||||
+ nullptr, codec_context_->ch_layout.nb_channels, frame->nb_samples,
|
||||
codec_context_->sample_fmt, 1);
|
||||
if (!decoded_audio_size)
|
||||
continue;
|
||||
@@ -320,9 +323,9 @@ bool FFmpegCdmAudioDecoder::OnNewFrame(
|
||||
size_t* total_size,
|
||||
std::vector<std::unique_ptr<AVFrame, ScopedPtrAVFreeFrame>>* audio_frames,
|
||||
AVFrame* frame) {
|
||||
- *total_size += av_samples_get_buffer_size(nullptr, codec_context_->channels,
|
||||
- frame->nb_samples,
|
||||
- codec_context_->sample_fmt, 1);
|
||||
+ *total_size += av_samples_get_buffer_size(
|
||||
+ nullptr, codec_context_->ch_layout.nb_channels, frame->nb_samples,
|
||||
+ codec_context_->sample_fmt, 1);
|
||||
audio_frames->emplace_back(av_frame_clone(frame));
|
||||
return true;
|
||||
}
|
||||
diff --git a/media/ffmpeg/ffmpeg_common.cc b/media/ffmpeg/ffmpeg_common.cc
|
||||
index 87ca8969626..76f03d6608e 100644
|
||||
--- a/media/ffmpeg/ffmpeg_common.cc
|
||||
+++ b/media/ffmpeg/ffmpeg_common.cc
|
||||
@@ -345,10 +345,11 @@ bool AVCodecContextToAudioDecoderConfig(const AVCodecContext* codec_context,
|
||||
codec_context->sample_fmt, codec_context->codec_id);
|
||||
|
||||
ChannelLayout channel_layout =
|
||||
- codec_context->channels > 8
|
||||
+ codec_context->ch_layout.nb_channels > 8
|
||||
? CHANNEL_LAYOUT_DISCRETE
|
||||
- : ChannelLayoutToChromeChannelLayout(codec_context->channel_layout,
|
||||
- codec_context->channels);
|
||||
+ : ChannelLayoutToChromeChannelLayout(
|
||||
+ codec_context->ch_layout.u.mask,
|
||||
+ codec_context->ch_layout.nb_channels);
|
||||
|
||||
int sample_rate = codec_context->sample_rate;
|
||||
switch (codec) {
|
||||
@@ -401,7 +402,7 @@ bool AVCodecContextToAudioDecoderConfig(const AVCodecContext* codec_context,
|
||||
extra_data, encryption_scheme, seek_preroll,
|
||||
codec_context->delay);
|
||||
if (channel_layout == CHANNEL_LAYOUT_DISCRETE)
|
||||
- config->SetChannelsForDiscrete(codec_context->channels);
|
||||
+ config->SetChannelsForDiscrete(codec_context->ch_layout.nb_channels);
|
||||
|
||||
#if BUILDFLAG(ENABLE_PLATFORM_AC3_EAC3_AUDIO)
|
||||
// These are bitstream formats unknown to ffmpeg, so they don't have
|
||||
@@ -470,7 +471,7 @@ void AudioDecoderConfigToAVCodecContext(const AudioDecoderConfig& config,
|
||||
|
||||
// TODO(scherkus): should we set |channel_layout|? I'm not sure if FFmpeg uses
|
||||
// said information to decode.
|
||||
- codec_context->channels = config.channels();
|
||||
+ codec_context->ch_layout.nb_channels = config.channels();
|
||||
codec_context->sample_rate = config.samples_per_second();
|
||||
|
||||
if (config.extra_data().empty()) {
|
||||
diff --git a/media/filters/audio_file_reader.cc b/media/filters/audio_file_reader.cc
|
||||
index 5f257bdfaa6..e1be5aa9a5b 100644
|
||||
--- a/media/filters/audio_file_reader.cc
|
||||
+++ b/media/filters/audio_file_reader.cc
|
||||
@@ -113,14 +113,15 @@ bool AudioFileReader::OpenDecoder() {
|
||||
|
||||
// Verify the channel layout is supported by Chrome. Acts as a sanity check
|
||||
// against invalid files. See http://crbug.com/171962
|
||||
- if (ChannelLayoutToChromeChannelLayout(codec_context_->channel_layout,
|
||||
- codec_context_->channels) ==
|
||||
+ if (ChannelLayoutToChromeChannelLayout(
|
||||
+ codec_context_->ch_layout.u.mask,
|
||||
+ codec_context_->ch_layout.nb_channels) ==
|
||||
CHANNEL_LAYOUT_UNSUPPORTED) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// Store initial values to guard against midstream configuration changes.
|
||||
- channels_ = codec_context_->channels;
|
||||
+ channels_ = codec_context_->ch_layout.nb_channels;
|
||||
audio_codec_ = CodecIDToAudioCodec(codec_context_->codec_id);
|
||||
sample_rate_ = codec_context_->sample_rate;
|
||||
av_sample_format_ = codec_context_->sample_fmt;
|
||||
@@ -223,7 +224,7 @@ bool AudioFileReader::OnNewFrame(
|
||||
if (frames_read < 0)
|
||||
return false;
|
||||
|
||||
- const int channels = frame->channels;
|
||||
+ const int channels = frame->ch_layout.nb_channels;
|
||||
if (frame->sample_rate != sample_rate_ || channels != channels_ ||
|
||||
frame->format != av_sample_format_) {
|
||||
DLOG(ERROR) << "Unsupported midstream configuration change!"
|
||||
diff --git a/media/filters/audio_file_reader_unittest.cc b/media/filters/audio_file_reader_unittest.cc
|
||||
index 2aba7927a31..1f45a50cace 100644
|
||||
--- a/media/filters/audio_file_reader_unittest.cc
|
||||
+++ b/media/filters/audio_file_reader_unittest.cc
|
||||
@@ -121,11 +121,11 @@ class AudioFileReaderTest : public testing::Test {
|
||||
EXPECT_FALSE(reader_->Open());
|
||||
}
|
||||
|
||||
- void RunTestFailingDecode(const char* fn) {
|
||||
+ void RunTestFailingDecode(const char* fn, int expect_read = 0) {
|
||||
Initialize(fn);
|
||||
EXPECT_TRUE(reader_->Open());
|
||||
std::vector<std::unique_ptr<AudioBus>> decoded_audio_packets;
|
||||
- EXPECT_EQ(reader_->Read(&decoded_audio_packets), 0);
|
||||
+ EXPECT_EQ(reader_->Read(&decoded_audio_packets), expect_read);
|
||||
}
|
||||
|
||||
void RunTestPartialDecode(const char* fn) {
|
||||
@@ -219,7 +219,7 @@ TEST_F(AudioFileReaderTest, AAC_ADTS) {
|
||||
}
|
||||
|
||||
TEST_F(AudioFileReaderTest, MidStreamConfigChangesFail) {
|
||||
- RunTestFailingDecode("midstream_config_change.mp3");
|
||||
+ RunTestFailingDecode("midstream_config_change.mp3", 42624);
|
||||
}
|
||||
#endif
|
||||
|
||||
diff --git a/media/filters/audio_video_metadata_extractor.cc b/media/filters/audio_video_metadata_extractor.cc
|
||||
index 185819eb936..69ff508c221 100644
|
||||
--- a/media/filters/audio_video_metadata_extractor.cc
|
||||
+++ b/media/filters/audio_video_metadata_extractor.cc
|
||||
@@ -113,6 +113,15 @@ bool AudioVideoMetadataExtractor::Extract(DataSource* source,
|
||||
if (!stream)
|
||||
continue;
|
||||
|
||||
+ void* display_matrix =
|
||||
+ av_stream_get_side_data(stream, AV_PKT_DATA_DISPLAYMATRIX, nullptr);
|
||||
+ if (display_matrix) {
|
||||
+ rotation_ = VideoTransformation::FromFFmpegDisplayMatrix(
|
||||
+ static_cast<int32_t*>(display_matrix))
|
||||
+ .rotation;
|
||||
+ info.tags["rotate"] = base::NumberToString(rotation_);
|
||||
+ }
|
||||
+
|
||||
// Extract dictionary from streams also. Needed for containers that attach
|
||||
// metadata to contained streams instead the container itself, like OGG.
|
||||
ExtractDictionary(stream->metadata, &info.tags);
|
||||
@@ -255,8 +264,6 @@ void AudioVideoMetadataExtractor::ExtractDictionary(AVDictionary* metadata,
|
||||
if (raw_tags->find(tag->key) == raw_tags->end())
|
||||
(*raw_tags)[tag->key] = tag->value;
|
||||
|
||||
- if (ExtractInt(tag, "rotate", &rotation_))
|
||||
- continue;
|
||||
if (ExtractString(tag, "album", &album_))
|
||||
continue;
|
||||
if (ExtractString(tag, "artist", &artist_))
|
||||
diff --git a/media/filters/ffmpeg_aac_bitstream_converter.cc b/media/filters/ffmpeg_aac_bitstream_converter.cc
|
||||
index 6f231c85729..ca5e5fb927d 100644
|
||||
--- a/media/filters/ffmpeg_aac_bitstream_converter.cc
|
||||
+++ b/media/filters/ffmpeg_aac_bitstream_converter.cc
|
||||
@@ -195,14 +195,15 @@ bool FFmpegAACBitstreamConverter::ConvertPacket(AVPacket* packet) {
|
||||
if (!header_generated_ || codec_ != stream_codec_parameters_->codec_id ||
|
||||
audio_profile_ != stream_codec_parameters_->profile ||
|
||||
sample_rate_index_ != sample_rate_index ||
|
||||
- channel_configuration_ != stream_codec_parameters_->channels ||
|
||||
+ channel_configuration_ !=
|
||||
+ stream_codec_parameters_->ch_layout.nb_channels ||
|
||||
frame_length_ != header_plus_packet_size) {
|
||||
header_generated_ =
|
||||
GenerateAdtsHeader(stream_codec_parameters_->codec_id,
|
||||
0, // layer
|
||||
stream_codec_parameters_->profile, sample_rate_index,
|
||||
0, // private stream
|
||||
- stream_codec_parameters_->channels,
|
||||
+ stream_codec_parameters_->ch_layout.nb_channels,
|
||||
0, // originality
|
||||
0, // home
|
||||
0, // copyrighted_stream
|
||||
@@ -214,7 +215,7 @@ bool FFmpegAACBitstreamConverter::ConvertPacket(AVPacket* packet) {
|
||||
codec_ = stream_codec_parameters_->codec_id;
|
||||
audio_profile_ = stream_codec_parameters_->profile;
|
||||
sample_rate_index_ = sample_rate_index;
|
||||
- channel_configuration_ = stream_codec_parameters_->channels;
|
||||
+ channel_configuration_ = stream_codec_parameters_->ch_layout.nb_channels;
|
||||
frame_length_ = header_plus_packet_size;
|
||||
}
|
||||
|
||||
diff --git a/media/filters/ffmpeg_aac_bitstream_converter_unittest.cc b/media/filters/ffmpeg_aac_bitstream_converter_unittest.cc
|
||||
index 1fd4c5ccd7d..f59bcd8fdaf 100644
|
||||
--- a/media/filters/ffmpeg_aac_bitstream_converter_unittest.cc
|
||||
+++ b/media/filters/ffmpeg_aac_bitstream_converter_unittest.cc
|
||||
@@ -34,7 +34,7 @@ class FFmpegAACBitstreamConverterTest : public testing::Test {
|
||||
memset(&test_parameters_, 0, sizeof(AVCodecParameters));
|
||||
test_parameters_.codec_id = AV_CODEC_ID_AAC;
|
||||
test_parameters_.profile = FF_PROFILE_AAC_MAIN;
|
||||
- test_parameters_.channels = 2;
|
||||
+ test_parameters_.ch_layout.nb_channels = 2;
|
||||
test_parameters_.extradata = extradata_header_;
|
||||
test_parameters_.extradata_size = sizeof(extradata_header_);
|
||||
}
|
||||
diff --git a/media/filters/ffmpeg_audio_decoder.cc b/media/filters/ffmpeg_audio_decoder.cc
|
||||
index 6a56c675f7d..4615fdeb3fb 100644
|
||||
--- a/media/filters/ffmpeg_audio_decoder.cc
|
||||
+++ b/media/filters/ffmpeg_audio_decoder.cc
|
||||
@@ -28,7 +28,7 @@ namespace media {
|
||||
|
||||
// Return the number of channels from the data in |frame|.
|
||||
static inline int DetermineChannels(AVFrame* frame) {
|
||||
- return frame->channels;
|
||||
+ return frame->ch_layout.nb_channels;
|
||||
}
|
||||
|
||||
// Called by FFmpeg's allocation routine to allocate a buffer. Uses
|
||||
@@ -231,7 +231,7 @@ bool FFmpegAudioDecoder::OnNewFrame(const DecoderBuffer& buffer,
|
||||
// Translate unsupported into discrete layouts for discrete configurations;
|
||||
// ffmpeg does not have a labeled discrete configuration internally.
|
||||
ChannelLayout channel_layout = ChannelLayoutToChromeChannelLayout(
|
||||
- codec_context_->channel_layout, codec_context_->channels);
|
||||
+ codec_context_->ch_layout.u.mask, codec_context_->ch_layout.nb_channels);
|
||||
if (channel_layout == CHANNEL_LAYOUT_UNSUPPORTED &&
|
||||
config_.channel_layout() == CHANNEL_LAYOUT_DISCRETE) {
|
||||
channel_layout = CHANNEL_LAYOUT_DISCRETE;
|
||||
@@ -348,11 +348,11 @@ bool FFmpegAudioDecoder::ConfigureDecoder(const AudioDecoderConfig& config) {
|
||||
// Success!
|
||||
av_sample_format_ = codec_context_->sample_fmt;
|
||||
|
||||
- if (codec_context_->channels != config.channels()) {
|
||||
+ if (codec_context_->ch_layout.nb_channels != config.channels()) {
|
||||
MEDIA_LOG(ERROR, media_log_)
|
||||
<< "Audio configuration specified " << config.channels()
|
||||
<< " channels, but FFmpeg thinks the file contains "
|
||||
- << codec_context_->channels << " channels";
|
||||
+ << codec_context_->ch_layout.nb_channels << " channels";
|
||||
ReleaseFFmpegResources();
|
||||
state_ = DecoderState::kUninitialized;
|
||||
return false;
|
||||
@@ -403,7 +403,7 @@ int FFmpegAudioDecoder::GetAudioBuffer(struct AVCodecContext* s,
|
||||
if (frame->nb_samples <= 0)
|
||||
return AVERROR(EINVAL);
|
||||
|
||||
- if (s->channels != channels) {
|
||||
+ if (s->ch_layout.nb_channels != channels) {
|
||||
DLOG(ERROR) << "AVCodecContext and AVFrame disagree on channel count.";
|
||||
return AVERROR(EINVAL);
|
||||
}
|
||||
@@ -436,7 +436,8 @@ int FFmpegAudioDecoder::GetAudioBuffer(struct AVCodecContext* s,
|
||||
ChannelLayout channel_layout =
|
||||
config_.channel_layout() == CHANNEL_LAYOUT_DISCRETE
|
||||
? CHANNEL_LAYOUT_DISCRETE
|
||||
- : ChannelLayoutToChromeChannelLayout(s->channel_layout, s->channels);
|
||||
+ : ChannelLayoutToChromeChannelLayout(s->ch_layout.u.mask,
|
||||
+ s->ch_layout.nb_channels);
|
||||
|
||||
if (channel_layout == CHANNEL_LAYOUT_UNSUPPORTED) {
|
||||
DLOG(ERROR) << "Unsupported channel layout.";
|
@@ -53,18 +53,18 @@ Index: electron-17.1.0/sandbox/linux/BUILD.gn
|
||||
|
||||
if (is_android) {
|
||||
sources += [
|
||||
Index: electron-17.1.0/base/BUILD.gn
|
||||
===================================================================
|
||||
--- electron-17.1.0.orig/base/BUILD.gn 2022-03-07 17:20:29.432807450 +0100
|
||||
+++ electron-17.1.0/base/BUILD.gn 2022-03-09 08:25:02.250701641 +0100
|
||||
@@ -2026,6 +2026,10 @@ component("base") {
|
||||
]
|
||||
}
|
||||
|
||||
+ if (gcc_lto) {
|
||||
+ configs -= [ "//build/config/compiler:gcc_lto" ]
|
||||
+ }
|
||||
Index: chromium-96.0.4664.93/base/BUILD.gn
|
||||
===================================================================
|
||||
--- a/base/BUILD.gn
|
||||
+++ b/base/BUILD.gn
|
||||
@@ -1986,6 +1986,10 @@
|
||||
}
|
||||
}
|
||||
|
||||
+ if (gcc_lto) {
|
||||
+ configs -= [ "//build/config/compiler:gcc_lto" ]
|
||||
+ }
|
||||
+
|
||||
if (current_cpu == "x64") {
|
||||
defines += [ "PA_PCSCAN_STACK_SUPPORTED" ]
|
||||
sources += [ "allocator/partition_allocator/starscan/stack/asm/x64/push_registers_asm.cc" ]
|
||||
if (use_partition_alloc) {
|
||||
sources += [
|
||||
"allocator/partition_allocator/address_pool_manager_unittest.cc",
|
||||
|
10
json_generation-missing-unique_ptr.patch
Normal file
10
json_generation-missing-unique_ptr.patch
Normal file
@@ -0,0 +1,10 @@
|
||||
--- a/components/policy/core/browser/webui/json_generation.h
|
||||
+++ b/components/policy/core/browser/webui/json_generation.h
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef COMPONENTS_POLICY_CORE_BROWSER_WEBUI_JSON_GENERATION_H_
|
||||
#define COMPONENTS_POLICY_CORE_BROWSER_WEBUI_JSON_GENERATION_H_
|
||||
|
||||
+#include <memory>
|
||||
#include <string>
|
||||
|
||||
#include "components/policy/policy_export.h"
|
19
libXNVCtrl.gn
Normal file
19
libXNVCtrl.gn
Normal file
@@ -0,0 +1,19 @@
|
||||
import("//build/shim_headers.gni")
|
||||
|
||||
shim_headers("libXNVCtrl_shim") {
|
||||
root_path = "../../../../../third_party/libXNVCtrl"
|
||||
prefix = "NVCtrl/"
|
||||
headers = [
|
||||
"NVCtrl.h",
|
||||
"NVCtrlLib.h",
|
||||
"nv_control.h",
|
||||
]
|
||||
}
|
||||
|
||||
source_set("libXNVCtrl") {
|
||||
deps = [ ":libXNVCtrl_shim" ]
|
||||
libs = [
|
||||
"XNVCtrl",
|
||||
"xcb",
|
||||
]
|
||||
}
|
40
libaom.gn
Normal file
40
libaom.gn
Normal file
@@ -0,0 +1,40 @@
|
||||
# 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/buildflag_header.gni")
|
||||
import("//build/config/linux/pkg_config.gni")
|
||||
import("//build/shim_headers.gni")
|
||||
import("//third_party/libaom/options.gni")
|
||||
|
||||
pkg_config("system_libaom") {
|
||||
packages = [ "aom" ]
|
||||
}
|
||||
|
||||
buildflag_header("libaom_buildflags") {
|
||||
header = "libaom_buildflags.h"
|
||||
|
||||
flags = [ "ENABLE_LIBAOM_DECODER=$enable_libaom_decoder" ]
|
||||
}
|
||||
|
||||
shim_headers("libaom_shim") {
|
||||
root_path = "source/libaom"
|
||||
headers = [
|
||||
"aom/aom.h",
|
||||
"aom/aom_codec.h",
|
||||
"aom/aom_decoder.h",
|
||||
"aom/aom_encoder.h",
|
||||
"aom/aom_frame_buffer.h",
|
||||
"aom/aom_image.h",
|
||||
"aom/aom_integer.h",
|
||||
"aom/aomcx.h",
|
||||
"aom/aomdx.h",
|
||||
]
|
||||
}
|
||||
|
||||
source_set("libaom") {
|
||||
deps = [
|
||||
":libaom_shim",
|
||||
]
|
||||
public_configs = [ ":system_libaom" ]
|
||||
}
|
18
libavif.gn
Normal file
18
libavif.gn
Normal file
@@ -0,0 +1,18 @@
|
||||
import("//build/config/linux/pkg_config.gni")
|
||||
import("//build/shim_headers.gni")
|
||||
|
||||
pkg_config("system_libavif") {
|
||||
packages = [ "libavif" ]
|
||||
}
|
||||
|
||||
shim_headers("avif_shim") {
|
||||
root_path = "src/include"
|
||||
headers = [ "avif/avif.h" ]
|
||||
}
|
||||
|
||||
source_set("libavif") {
|
||||
deps = [
|
||||
":avif_shim",
|
||||
]
|
||||
public_configs = [ ":system_libavif" ]
|
||||
}
|
36
libjxl.gn
Normal file
36
libjxl.gn
Normal file
@@ -0,0 +1,36 @@
|
||||
import("//build/config/linux/pkg_config.gni")
|
||||
import("//build/shim_headers.gni")
|
||||
|
||||
pkg_config("system_libjxl") {
|
||||
packages = [ "libjxl" ]
|
||||
}
|
||||
|
||||
shim_headers("jxl_shim") {
|
||||
root_path = "src/lib/include"
|
||||
headers = [
|
||||
"jxl/butteraugli.h",
|
||||
"jxl/butteraugli_cxx.h",
|
||||
"jxl/codestream_header.h",
|
||||
"jxl/color_encoding.h",
|
||||
"jxl/decode.h",
|
||||
"jxl/decode_cxx.h",
|
||||
"jxl/encode.h",
|
||||
"jxl/encode_cxx.h",
|
||||
"jxl/jxl_export.h",
|
||||
"jxl/jxl_threads_export.h",
|
||||
"jxl/memory_manager.h",
|
||||
"jxl/parallel_runner.h",
|
||||
"jxl/resizable_parallel_runner.h",
|
||||
"jxl/resizable_parallel_runner_cxx.h",
|
||||
"jxl/thread_parallel_runner.h",
|
||||
"jxl/thread_parallel_runner_cxx.h",
|
||||
"jxl/types.h",
|
||||
]
|
||||
}
|
||||
|
||||
source_set("libjxl") {
|
||||
deps = [
|
||||
":jxl_shim",
|
||||
]
|
||||
public_configs = [ ":system_libjxl" ]
|
||||
}
|
10
metrics_recorder-missing-string.patch
Normal file
10
metrics_recorder-missing-string.patch
Normal file
@@ -0,0 +1,10 @@
|
||||
--- a/device/bluetooth/bluez/metrics_recorder.h 2022-06-21 21:52:39.079987764 +0200
|
||||
+++ b/device/bluetooth/bluez/metrics_recorder.h 2022-06-24 20:38:27.125802209 +0200
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef DEVICE_BLUETOOTH_BLUEZ_METRICS_RECORDER_H_
|
||||
#define DEVICE_BLUETOOTH_BLUEZ_METRICS_RECORDER_H_
|
||||
|
||||
+#include <string>
|
||||
#include "third_party/abseil-cpp/absl/types/optional.h"
|
||||
|
||||
namespace bluetooth {
|
10
multi_channel_content_detector-missing-unique_ptr.patch
Normal file
10
multi_channel_content_detector-missing-unique_ptr.patch
Normal file
@@ -0,0 +1,10 @@
|
||||
--- a/third_party/webrtc/modules/audio_processing/aec3/multi_channel_content_detector.h
|
||||
+++ b/third_party/webrtc/modules/audio_processing/aec3/multi_channel_content_detector.h
|
||||
@@ -14,6 +14,7 @@
|
||||
|
||||
#include <stddef.h>
|
||||
|
||||
+#include <memory>
|
||||
#include <vector>
|
||||
|
||||
#include "absl/types/optional.h"
|
@@ -0,0 +1,44 @@
|
||||
description: fix build error when building with clang & GNU libstdc++
|
||||
author: Stephan Hartmann <stha09@googlemail.com>
|
||||
|
||||
Apparently this doesn't happen with the embedded clang, but we get this:
|
||||
|
||||
In file included from ../../components/autofill/core/browser/form_parsing/regex_patterns.cc:5:
|
||||
In file included from ../../components/autofill/core/browser/form_parsing/regex_patterns.h:8:
|
||||
In file included from ../../base/containers/span.h:10:
|
||||
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/algorithm:74:
|
||||
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/pstl/glue_algorithm_defs.h:13:
|
||||
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/functional:54:
|
||||
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/tuple:39:
|
||||
/usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/array:268:52: fatal error: instantiating fold expression with 303 arguments exceeded expression nesting limit of 256
|
||||
-> array<enable_if_t<(is_same_v<_Tp, _Up> && ...), _Tp>,
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~^~~~
|
||||
gen/components/autofill/core/browser/form_parsing/regex_patterns_inl.h:77:22: note: while substituting deduced template arguments into function template '<deduction guide for array>' [with _Tp = autofill::MatchingPattern, _Up = <autofill::MatchingPattern, autofill::MatchingPattern, autofill::MatchingPattern, autofill::MatchingPattern, autofill::MatchingPattern, autofill::MatchingPattern, autofill::MatchingPattern, autofill::MatchingPattern, autofill::MatchingPattern, autofill::MatchingPattern, autofill::MatchingPattern, autofill::MatchingPattern, autofill::MatchingPattern, autofill::MatchingPattern, autofill::MatchingPattern, autofill::MatchingPattern, autofill::MatchingPattern, autofill::MatchingPattern, autofill::MatchingPattern, autofill::MatchingPattern, autofill::MatchingPattern, autofill::MatchingPatter[...]
|
||||
|
||||
|
||||
|
||||
|
||||
This is fixed upstream in chromium 103 with the following commit:
|
||||
https://chromium-review.googlesource.com/c/chromium/src/+/3613356
|
||||
|
||||
However, that depends on other stuff and we can't use it without a
|
||||
bunch more changes - so we'll just use this fix which I nabbed from
|
||||
Stephan Hartmann instead:
|
||||
https://github.com/stha09/chromium-patches/blob/master/chromium-102-regex_pattern-array.patch
|
||||
|
||||
|
||||
|
||||
--- a/components/autofill/core/browser/BUILD.gn
|
||||
+++ b/components/autofill/core/browser/BUILD.gn
|
||||
@@ -54,6 +54,11 @@ action("regex_patterns_inl_h") {
|
||||
}
|
||||
|
||||
static_library("browser") {
|
||||
+ if (is_clang) {
|
||||
+ cflags = [
|
||||
+ "-fbracket-depth=1000",
|
||||
+ ]
|
||||
+ }
|
||||
sources = [
|
||||
"address_normalization_manager.cc",
|
||||
"address_normalization_manager.h",
|
54
node-system-libs.patch
Normal file
54
node-system-libs.patch
Normal file
@@ -0,0 +1,54 @@
|
||||
--- a/third_party/electron_node/BUILD.gn 2022-06-15 16:17:43.423991754 +0200
|
||||
+++ b/third_party/electron_node/BUILD.gn 2022-06-20 16:24:07.832340077 +0200
|
||||
@@ -40,6 +40,23 @@
|
||||
|
||||
# Allows embedders to override the NODE_MODULE_VERSION define
|
||||
node_module_version = ""
|
||||
+
|
||||
+ use_system_cares = false
|
||||
+ use_system_nghttp2 = false
|
||||
+}
|
||||
+
|
||||
+if (is_linux) {
|
||||
+ import("//build/config/linux/pkg_config.gni")
|
||||
+ if(use_system_cares) {
|
||||
+ pkg_config("cares") {
|
||||
+ packages = [ "libcares" ]
|
||||
+ }
|
||||
+ }
|
||||
+ if(use_system_nghttp2) {
|
||||
+ pkg_config("nghttp2") {
|
||||
+ packages = [ "libnghttp2" ]
|
||||
+ }
|
||||
+ }
|
||||
}
|
||||
|
||||
assert(!node_use_dtrace, "node_use_dtrace not supported in GN")
|
||||
@@ -182,17 +199,25 @@
|
||||
component("node_lib") {
|
||||
deps = [
|
||||
":node_js2c",
|
||||
- "deps/cares",
|
||||
"deps/histogram",
|
||||
"deps/googletest:gtest",
|
||||
"deps/llhttp",
|
||||
- "deps/nghttp2",
|
||||
"deps/uvwasi",
|
||||
"//third_party/zlib",
|
||||
"//third_party/brotli:dec",
|
||||
"//third_party/brotli:enc",
|
||||
"//v8:v8_libplatform",
|
||||
]
|
||||
+ if(use_system_cares) {
|
||||
+ configs += [ ":cares" ]
|
||||
+ } else {
|
||||
+ deps += [ "deps/cares" ]
|
||||
+ }
|
||||
+ if(use_system_nghttp2) {
|
||||
+ configs += [ ":nghttp2" ]
|
||||
+ } else {
|
||||
+ deps += [ "deps/nghttp2" ]
|
||||
+ }
|
||||
public_deps = [
|
||||
"deps/uv",
|
||||
"//electron:electron_js2c",
|
@@ -1,3 +1,121 @@
|
||||
-------------------------------------------------------------------
|
||||
Sat Jul 2 09:16:30 UTC 2022 - Bruno Pitrus <brunopitrus@hotmail.com>
|
||||
- Update to 19.0.7:
|
||||
* Breaking change: nativeWindowOpen removed
|
||||
* Updated Chromium to 102.0.5005.134
|
||||
* Fixed an error where setWindowOpenHandler() would crash if the callback threw an error.
|
||||
* Fixed an issue where passing { name: 'All Files', extensions: ['*'] } in the filters param of open or save dialogs on Linux would disallow choosing files without an extension.
|
||||
* Fixed missing Sec-CH-UA headers and empty navigator.userAgentData.
|
||||
* Backported fix for CVE-2022-2162.
|
||||
- Move lastchange.py in create tarball script before patching for reproducibility sake
|
||||
- Disable widevine — not supported by upstream and does not build anymore
|
||||
- Use gcc also on aarch64 due to clang crashes while compiling
|
||||
- Temporarily disable aom codec on aarch64 Tumbleweed to reduce binary size
|
||||
- Fix Fedora aarch64 build
|
||||
- Fix private ANGLE dlls leaking into rpm provides (bsc#1108175)
|
||||
- Ship chrome_crashpad_handler — some code expects it to be there
|
||||
- Do not ship libVkICD_mock_icd.so — that's a build tool (not shipped by upstream)
|
||||
- Do not compile tensorflow — it is huge, and urlbar prediction is of no use in Electron
|
||||
- Do not compile openscreen/chromecast — useless in Electron
|
||||
- Do not compile safe browsing — useless in Electron
|
||||
- Do not compile error reporter — useless for our use case
|
||||
- Disable webgpu support — it is HUGE and we do not ship any apps which depend on it
|
||||
- Use system freetype, icu also on 15.3 and 15.4
|
||||
- Use system harfbuzz also on 15.4
|
||||
- Use system libraries instead of vendored ones:
|
||||
* abseil (TW and Rawhide, GCC only)
|
||||
* avif (15.4+ and Fedora only)
|
||||
* brotli
|
||||
* crc32c (TW and Fedora only)
|
||||
* dav1d (TW and Rawhide only)
|
||||
* double-conversion
|
||||
* jsoncpp
|
||||
* jxl (Fedora only)
|
||||
* libbsd
|
||||
* nspr
|
||||
* spirv (TW only)
|
||||
* woff2
|
||||
* xxhash
|
||||
* zlib in courgette
|
||||
* lcms2, libjpeg, libpng16, openjp2, tiff in PDFium
|
||||
* cares in node
|
||||
* nghttp2 in node (TW and Fedora only)
|
||||
* XNVCtrl in angle (Fedora only)
|
||||
* llvm in swiftshader (arm64 only; intel does not use llvm)
|
||||
- Replace chromium-98-compiler.patch with chromium-102-compiler.patch
|
||||
- Add patches:
|
||||
* abseil_string_number_conversions-do-not-assume-ABI.patch
|
||||
* abseil-remove-unused-targets.patch
|
||||
* angle-system-xxhash.patch
|
||||
* async_shared_storage_database_impl-missing-absl-WrapUnique.patch
|
||||
* attribution_manager_impl-missing-absl-WrapUnique.patch
|
||||
* ax_property_node-missing-unique_ptr-forward.patch
|
||||
* base-system-nspr.patch
|
||||
* byteswap-constexpr.patch (thanks Debian)
|
||||
* byteswap-constexpr2.patch (thanks Debian)
|
||||
* cares_public_headers.patch
|
||||
* chromium-101-libxml-unbundle.patch
|
||||
* chromium-102-fenced_frame_utils-include.patch
|
||||
* chromium-99-pdfium-system-libtiff.patch (thanks Mageia)
|
||||
* chromium-fix-pac-with-gcc.patch
|
||||
* chromium-remove-bundled-roboto-font.patch
|
||||
* dark_mode_types-uint8_t.patch
|
||||
* device_perf_info-missing-uint32_t.patch
|
||||
* ffmpeg-new-channel-layout.patch
|
||||
* json_generation-missing-unique_ptr.patch
|
||||
* metrics_recorder-missing-string.patch
|
||||
* multi_channel_content_detector-missing-unique_ptr.patch
|
||||
* multiplex_router-ExclusiveSyncWaitInfo-is-not-is_constructible_v-on-clang.patch
|
||||
* nested-nested-nested-nested-nested-nested-regex-patterns.patch
|
||||
* node-system-libs.patch (thanks Arch)
|
||||
* pdfium-fix-system-libs.patch (thanks Mageia)
|
||||
* process_doc_wrapper-do-not-assume-ABI.patch
|
||||
* replace_gn_files-system-libs.patch
|
||||
* skia_utils-missing-uint64_t.patch
|
||||
* support-i386.patch (thanks Debian)
|
||||
* swiftshader-use-system-llvm.patch
|
||||
* system-libbsd.patch
|
||||
* system-jsoncpp.patch (thanks Debian)
|
||||
* system-zlib.patch (thanks Debian)
|
||||
* thread_annotations-fix-build-with-system-abseil.patch
|
||||
- Add GN shims (provided directly instead of as patches, but should also be submitted upstream):
|
||||
* absl_algorithm.gn
|
||||
* absl_base.gn
|
||||
* absl_cleanup.gn
|
||||
* absl_container.gn
|
||||
* absl_debugging.gn
|
||||
* absl_flags.gn
|
||||
* absl_functional.gn
|
||||
* absl_hash.gn
|
||||
* absl_memory.gn
|
||||
* absl_meta.gn
|
||||
* absl_numeric.gn
|
||||
* absl_random.gn
|
||||
* absl_strings.gn
|
||||
* absl_synchronization.gn
|
||||
* absl_time.gn
|
||||
* absl_types.gn
|
||||
* brotli.gn
|
||||
* crc32c.gn
|
||||
* dav1d.gn (thanks Mageia)
|
||||
* double-conversion.gn
|
||||
* libaom.gn (thanks Mageia)
|
||||
* libavif.gn
|
||||
* libjxl.gn
|
||||
* libXNVCtrl.gn
|
||||
* swiftshader-SPIRV-Headers.gn
|
||||
* swiftshader-SPIRV-Tools.gn
|
||||
* vulkan-SPIRV-Headers.gn
|
||||
* vulkan-SPIRV-Tools.gn
|
||||
* woff2.gn
|
||||
- Remove chromium-disable-parallel-gold.patch as it referes to old now-unsupported systems
|
||||
- Remove patches applied upstream:
|
||||
* chromium-98-MiraclePtr-gcc-ice.patch
|
||||
* chromium-98-WaylandFrameManager-check.patch
|
||||
* chromium-glibc-2.34.patch
|
||||
* electron-16-v8-missing-utility-include.patch
|
||||
* electron-17-breakpad-align-int-types.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed May 25 19:46:26 UTC 2022 - Bruno Pitrus <brunopitrus@hotmail.com>
|
||||
- New upstream release 17.4.6:
|
||||
|
File diff suppressed because it is too large
Load Diff
21
pdfium-fix-system-libs.patch
Normal file
21
pdfium-fix-system-libs.patch
Normal file
@@ -0,0 +1,21 @@
|
||||
--- chromium-74.0.3729.40/third_party/pdfium/core/fpdfapi/render/BUILD.gn.system-openjpeg 2019-03-27 19:52:48.000000000 +0100
|
||||
+++ chromium-74.0.3729.40/third_party/pdfium/core/fpdfapi/render/BUILD.gn 2019-03-30 20:16:31.748282727 +0100
|
||||
@@ -56,6 +56,7 @@ jumbo_source_set("render") {
|
||||
"../font",
|
||||
"../page",
|
||||
"../parser",
|
||||
+ "../../../third_party:libopenjpeg2",
|
||||
]
|
||||
visibility = [ "../../../*" ]
|
||||
if (is_win) {
|
||||
--- chromium-77.0.3865.10/third_party/pdfium/core/fpdfapi/page/BUILD.gn.system-openjpeg 2019-08-06 13:58:27.000000000 +0200
|
||||
+++ chromium-77.0.3865.10/third_party/pdfium/core/fpdfapi/page/BUILD.gn 2019-08-17 23:49:04.913234649 +0200
|
||||
@@ -105,6 +105,8 @@ jumbo_source_set("page") {
|
||||
]
|
||||
configs += [ "../../../:pdfium_strict_config" ]
|
||||
deps = [
|
||||
+ "../../../third_party:libopenjpeg2",
|
||||
+ "../../../third_party:lcms2",
|
||||
"../../../constants",
|
||||
"../../fxcodec",
|
||||
"../../fxcrt",
|
15
process_doc_wrapper-do-not-assume-ABI.patch
Normal file
15
process_doc_wrapper-do-not-assume-ABI.patch
Normal file
@@ -0,0 +1,15 @@
|
||||
You may not depend on the signatures of Abseil APIs.
|
||||
|
||||
--- a/third_party/maldoca/src/maldoca/service/common/process_doc_wrapper.h 2022-06-21 21:52:33.000000000 +0200
|
||||
+++ a/third_party/maldoca/src/maldoca/service/common/process_doc_wrapper.h 2022-06-24 07:31:47.677340600 +0200
|
||||
@@ -8,9 +8,7 @@
|
||||
#include "maldoca/service/proto/maldoca_service.pb.h"
|
||||
#include "maldoca/service/proto/processing_config.pb.h"
|
||||
|
||||
-namespace absl {
|
||||
-class Status;
|
||||
-} // namespace absl
|
||||
+#include "third_party/abseil-cpp/absl/status/status.h"
|
||||
|
||||
namespace third_party_maldoca {
|
||||
|
52
replace_gn_files-system-libs.patch
Normal file
52
replace_gn_files-system-libs.patch
Normal file
@@ -0,0 +1,52 @@
|
||||
--- chromium-79.0.3945.29/build/linux/unbundle/replace_gn_files.py.system-dav1d 2019-11-09 14:30:17.297016975 +0100
|
||||
+++ chromium-79.0.3945.29/build/linux/unbundle/replace_gn_files.py 2019-11-10 09:40:19.694662891 +0100
|
||||
@@ -17,12 +17,37 @@ import sys
|
||||
|
||||
|
||||
REPLACEMENTS = {
|
||||
+ 'absl_algorithm': 'third_party/abseil-cpp/absl/algorithm/BUILD.gn',
|
||||
+ 'absl_base': 'third_party/abseil-cpp/absl/base/BUILD.gn',
|
||||
+ 'absl_cleanup': 'third_party/abseil-cpp/absl/cleanup/BUILD.gn',
|
||||
+ 'absl_container': 'third_party/abseil-cpp/absl/container/BUILD.gn',
|
||||
+ 'absl_debugging': 'third_party/abseil-cpp/absl/debugging/BUILD.gn',
|
||||
+ 'absl_flags': 'third_party/abseil-cpp/absl/flags/BUILD.gn',
|
||||
+ 'absl_functional': 'third_party/abseil-cpp/absl/functional/BUILD.gn',
|
||||
+ 'absl_hash': 'third_party/abseil-cpp/absl/hash/BUILD.gn',
|
||||
+ 'absl_memory': 'third_party/abseil-cpp/absl/memory/BUILD.gn',
|
||||
+ 'absl_meta': 'third_party/abseil-cpp/absl/meta/BUILD.gn',
|
||||
+ 'absl_numeric': 'third_party/abseil-cpp/absl/numeric/BUILD.gn',
|
||||
+ 'absl_random': 'third_party/abseil-cpp/absl/random/BUILD.gn',
|
||||
+ 'absl_status': 'third_party/abseil-cpp/absl/status/BUILD.gn',
|
||||
+ 'absl_strings': 'third_party/abseil-cpp/absl/strings/BUILD.gn',
|
||||
+ 'absl_synchronization': 'third_party/abseil-cpp/absl/synchronization/BUILD.gn',
|
||||
+ 'absl_time': 'third_party/abseil-cpp/absl/time/BUILD.gn',
|
||||
+ 'absl_types': 'third_party/abseil-cpp/absl/types/BUILD.gn',
|
||||
+ 'brotli': 'third_party/brotli/BUILD.gn',
|
||||
+ 'crc32c': 'third_party/crc32c/BUILD.gn',
|
||||
+ 'dav1d': 'third_party/dav1d/BUILD.gn',
|
||||
+ 'double-conversion': 'base/third_party/double_conversion/BUILD.gn',
|
||||
'ffmpeg': 'third_party/ffmpeg/BUILD.gn',
|
||||
'flac': 'third_party/flac/BUILD.gn',
|
||||
'fontconfig': 'third_party/fontconfig/BUILD.gn',
|
||||
'freetype': 'build/config/freetype/freetype.gni',
|
||||
'harfbuzz-ng': 'third_party/harfbuzz-ng/harfbuzz.gni',
|
||||
'icu': 'third_party/icu/BUILD.gn',
|
||||
+ 'libXNVCtrl' : 'third_party/angle/src/third_party/libXNVCtrl/BUILD.gn',
|
||||
+ 'libaom' : 'third_party/libaom/BUILD.gn',
|
||||
+ 'libavif' : 'third_party/libavif/BUILD.gn',
|
||||
+ 'libjxl' : 'third_party/libjxl/BUILD.gn',
|
||||
'libdrm': 'third_party/libdrm/BUILD.gn',
|
||||
'libevent': 'base/third_party/libevent/BUILD.gn',
|
||||
'libjpeg': 'third_party/libjpeg.gni',
|
||||
@@ -33,6 +61,11 @@
|
||||
'opus': 'third_party/opus/BUILD.gn',
|
||||
're2': 'third_party/re2/BUILD.gn',
|
||||
'snappy': 'third_party/snappy/BUILD.gn',
|
||||
+ 'swiftshader-SPIRV-Headers' : 'third_party/swiftshader/third_party/SPIRV-Headers/BUILD.gn',
|
||||
+ 'swiftshader-SPIRV-Tools' : 'third_party/swiftshader/third_party/SPIRV-Tools/BUILD.gn',
|
||||
+ 'vulkan-SPIRV-Headers' : 'third_party/vulkan-deps/spirv-headers/src/BUILD.gn',
|
||||
+ 'vulkan-SPIRV-Tools' : 'third_party/vulkan-deps/spirv-tools/src/BUILD.gn',
|
||||
+ 'woff2': 'third_party/woff2/BUILD.gn',
|
||||
'zlib': 'third_party/zlib/BUILD.gn',
|
||||
}
|
||||
|
10
skia_utils-missing-uint64_t.patch
Normal file
10
skia_utils-missing-uint64_t.patch
Normal file
@@ -0,0 +1,10 @@
|
||||
--- a/gpu/command_buffer/common/skia_utils.h
|
||||
+++ b/gpu/command_buffer/common/skia_utils.h
|
||||
@@ -5,6 +5,7 @@
|
||||
#ifndef GPU_COMMAND_BUFFER_COMMON_SKIA_UTILS_H_
|
||||
#define GPU_COMMAND_BUFFER_COMMON_SKIA_UTILS_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include "gpu/raster_export.h"
|
||||
#include "third_party/abseil-cpp/absl/types/optional.h"
|
||||
|
25
support-i386.patch
Normal file
25
support-i386.patch
Normal file
@@ -0,0 +1,25 @@
|
||||
author: Andres Salomon <dilinger@debian.org>
|
||||
description: don't disable i386 builds on linux
|
||||
|
||||
https://chromium-review.googlesource.com/c/chromium/src/+/3583780
|
||||
|
||||
Chromium upstream decided to kill off i386 builds on Linux. They were
|
||||
goin to add a 'force_x86_support' arg, but instead "[distributions that
|
||||
still support i386] can patch the file."
|
||||
|
||||
At this point, i386 on linux is completely unsupported upstream, so
|
||||
we're on our own with bugs.
|
||||
|
||||
--- a/BUILD.gn
|
||||
+++ b/BUILD.gn
|
||||
@@ -1509,9 +1509,7 @@ if (!is_ios) {
|
||||
}
|
||||
|
||||
# TODO(cassew): Add more OS's that don't support x86.
|
||||
-is_valid_x86_target =
|
||||
- target_os != "ios" && target_os != "mac" &&
|
||||
- (target_os != "linux" || use_libfuzzer || !build_with_chromium)
|
||||
+is_valid_x86_target = true
|
||||
assert(
|
||||
is_valid_x86_target || target_cpu != "x86",
|
||||
"'target_cpu=x86' is not supported for 'target_os=$target_os'. Consider omitting 'target_cpu' (default) or using 'target_cpu=x64' instead.")
|
17
swiftshader-SPIRV-Headers.gn
Normal file
17
swiftshader-SPIRV-Headers.gn
Normal file
@@ -0,0 +1,17 @@
|
||||
import("//build/shim_headers.gni")
|
||||
|
||||
shim_headers("SPIRV-Headers_shim") {
|
||||
root_path = "../../../../third_party/SPIRV-Headers/include"
|
||||
headers = [
|
||||
"spirv/unified1/GLSL.std.450.h",
|
||||
"spirv/unified1/NonSemanticClspvReflection.h",
|
||||
"spirv/unified1/NonSemanticDebugPrintf.h",
|
||||
"spirv/unified1/OpenCL.std.h",
|
||||
"spirv/unified1/spirv.h",
|
||||
"spirv/unified1/spirv.hpp",
|
||||
]
|
||||
}
|
||||
|
||||
source_set("spv_headers") {
|
||||
deps = [ ":SPIRV-Headers_shim" ]
|
||||
}
|
32
swiftshader-SPIRV-Tools.gn
Normal file
32
swiftshader-SPIRV-Tools.gn
Normal file
@@ -0,0 +1,32 @@
|
||||
import("//build/config/linux/pkg_config.gni")
|
||||
import("//build/shim_headers.gni")
|
||||
|
||||
pkg_config("system_SPIRV-Tools") {
|
||||
packages = [ "SPIRV-Tools" ]
|
||||
}
|
||||
|
||||
shim_headers("SPIRV-Tools_shim") {
|
||||
root_path = "../../../../third_party/SPIRV-Tools/include"
|
||||
headers = [
|
||||
"spirv-tools/instrument.hpp",
|
||||
"spirv-tools/libspirv.h",
|
||||
"spirv-tools/libspirv.hpp",
|
||||
"spirv-tools/linker.hpp",
|
||||
"spirv-tools/optimizer.hpp",
|
||||
]
|
||||
}
|
||||
|
||||
source_set("spvtools_headers") {
|
||||
deps = [ ":SPIRV-Tools_shim" ]
|
||||
public_configs = [ ":system_SPIRV-Tools" ]
|
||||
}
|
||||
|
||||
source_set("spvtools_opt") {
|
||||
deps = [ ":SPIRV-Tools_shim" ]
|
||||
public_configs = [ ":system_SPIRV-Tools" ]
|
||||
}
|
||||
|
||||
source_set("spvtools_val") {
|
||||
deps = [ ":SPIRV-Tools_shim" ]
|
||||
public_configs = [ ":system_SPIRV-Tools" ]
|
||||
}
|
40
swiftshader-use-system-llvm.patch
Normal file
40
swiftshader-use-system-llvm.patch
Normal file
@@ -0,0 +1,40 @@
|
||||
--- a/third_party/swiftshader/src/Reactor/BUILD.gn 2022-06-21 22:03:49.111995951 +0200
|
||||
+++ b/third_party/swiftshader/src/Reactor/BUILD.gn 2022-06-24 14:57:25.017656238 +0200
|
||||
@@ -308,11 +263,9 @@
|
||||
|
||||
if (supports_llvm) {
|
||||
swiftshader_source_set("swiftshader_llvm_reactor") {
|
||||
- llvm_dir = "../../third_party/llvm-10.0"
|
||||
|
||||
deps = [
|
||||
":swiftshader_reactor_base",
|
||||
- "$llvm_dir:swiftshader_llvm",
|
||||
]
|
||||
|
||||
sources = [
|
||||
@@ -323,24 +276,7 @@
|
||||
|
||||
configs = [ ":swiftshader_llvm_reactor_private_config" ]
|
||||
|
||||
- include_dirs = [
|
||||
- "$llvm_dir/llvm/include/",
|
||||
- "$llvm_dir/configs/common/include/",
|
||||
- ]
|
||||
-
|
||||
- if (is_linux || is_chromeos) {
|
||||
- include_dirs += [ "$llvm_dir/configs/linux/include/" ]
|
||||
- } else if (is_fuchsia) {
|
||||
- include_dirs += [ "$llvm_dir/configs/fuchsia/include/" ]
|
||||
- } else if (is_win) {
|
||||
- include_dirs += [ "$llvm_dir/configs/windows/include/" ]
|
||||
- } else if (is_android) {
|
||||
- include_dirs += [ "$llvm_dir/configs/android/include/" ]
|
||||
- } else if (is_mac) {
|
||||
- include_dirs += [ "$llvm_dir/configs/darwin/include/" ]
|
||||
- } else {
|
||||
- assert(false, "llvm not configured for target platform")
|
||||
- }
|
||||
+ libs = ["LLVM"]
|
||||
}
|
||||
}
|
||||
|
101
system-jsoncpp.patch
Normal file
101
system-jsoncpp.patch
Normal file
@@ -0,0 +1,101 @@
|
||||
description: use system jsoncpp
|
||||
author: Michael Gilbert <mgilbert@debian.org>
|
||||
|
||||
--- a/third_party/jsoncpp/BUILD.gn
|
||||
+++ b/third_party/jsoncpp/BUILD.gn
|
||||
@@ -3,6 +3,7 @@
|
||||
# found in the LICENSE file.
|
||||
|
||||
import("//testing/libfuzzer/fuzzer_test.gni")
|
||||
+import("//build/config/linux/pkg_config.gni")
|
||||
|
||||
declare_args() {
|
||||
# Allow individual projects to remove the warning suppression
|
||||
@@ -11,49 +12,12 @@ declare_args() {
|
||||
jsoncpp_no_deprecated_declarations = true
|
||||
}
|
||||
|
||||
-config("jsoncpp_config") {
|
||||
- include_dirs = [ "source/include" ]
|
||||
-
|
||||
- # TODO(crbug.com/983223): Update JsonCpp BUILD.gn to remove deprecated
|
||||
- # declaration flag.
|
||||
- # This temporary flag allowing clients to update to the new version, and then
|
||||
- # update to the new StreamWriter and CharReader classes.
|
||||
- if (jsoncpp_no_deprecated_declarations &&
|
||||
- (!is_win || (is_clang && !is_ios))) {
|
||||
- cflags_cc = [ "-Wno-deprecated-declarations" ]
|
||||
- }
|
||||
+pkg_config("jsoncpp_config") {
|
||||
+ packages = [ "jsoncpp" ]
|
||||
}
|
||||
|
||||
-source_set("jsoncpp") {
|
||||
- sources = [
|
||||
- "source/include/json/allocator.h",
|
||||
- "source/include/json/assertions.h",
|
||||
- "source/include/json/config.h",
|
||||
- "source/include/json/forwards.h",
|
||||
- "source/include/json/json.h",
|
||||
- "source/include/json/json_features.h",
|
||||
- "source/include/json/reader.h",
|
||||
- "source/include/json/value.h",
|
||||
- "source/include/json/version.h",
|
||||
- "source/include/json/writer.h",
|
||||
- "source/src/lib_json/json_reader.cpp",
|
||||
- "source/src/lib_json/json_tool.h",
|
||||
- "source/src/lib_json/json_value.cpp",
|
||||
- "source/src/lib_json/json_writer.cpp",
|
||||
- ]
|
||||
-
|
||||
+group("jsoncpp") {
|
||||
public_configs = [ ":jsoncpp_config" ]
|
||||
-
|
||||
- defines = [
|
||||
- "JSON_USE_EXCEPTION=0",
|
||||
- "JSON_USE_NULLREF=0",
|
||||
- ]
|
||||
-
|
||||
- include_dirs = [ "source/src/lib_json" ]
|
||||
-
|
||||
- if (!is_win || is_clang) {
|
||||
- cflags_cc = [ "-Wno-implicit-fallthrough" ]
|
||||
- }
|
||||
}
|
||||
|
||||
if (build_with_chromium) {
|
||||
--- a/components/mirroring/service/receiver_response.cc
|
||||
+++ b/components/mirroring/service/receiver_response.cc
|
||||
@@ -10,8 +10,8 @@
|
||||
#include "base/logging.h"
|
||||
#include "base/strings/string_util.h"
|
||||
#include "components/mirroring/service/value_util.h"
|
||||
-#include "third_party/jsoncpp/source/include/json/reader.h"
|
||||
-#include "third_party/jsoncpp/source/include/json/writer.h"
|
||||
+#include <json/reader.h>
|
||||
+#include <json/writer.h>
|
||||
|
||||
namespace mirroring {
|
||||
namespace {
|
||||
--- a/components/mirroring/service/receiver_response.h
|
||||
+++ b/components/mirroring/service/receiver_response.h
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
#include "base/check.h"
|
||||
#include "base/component_export.h"
|
||||
-#include "third_party/jsoncpp/source/include/json/value.h"
|
||||
+#include <json/value.h>
|
||||
#include "third_party/openscreen/src/cast/streaming/answer_messages.h"
|
||||
|
||||
namespace mirroring {
|
||||
--- a/third_party/openscreen/src/cast/streaming/answer_messages.h
|
||||
+++ b/third_party/openscreen/src/cast/streaming/answer_messages.h
|
||||
@@ -17,7 +17,7 @@
|
||||
#include "absl/types/optional.h"
|
||||
#include "cast/streaming/resolution.h"
|
||||
#include "cast/streaming/ssrc.h"
|
||||
-#include "json/value.h"
|
||||
+#include <json/value.h>
|
||||
#include "platform/base/error.h"
|
||||
#include "util/simple_fraction.h"
|
||||
|
21
system-libbsd.patch
Normal file
21
system-libbsd.patch
Normal file
@@ -0,0 +1,21 @@
|
||||
This source file was copied from libbsd, use the system library instead
|
||||
|
||||
--- a/third_party/libsync/BUILD.gn 2022-06-21 21:52:53.867987945 +0200
|
||||
+++ a/third_party/libsync/BUILD.gn 2022-06-28 17:30:45.327377489 +0200
|
||||
@@ -31,7 +31,6 @@
|
||||
"src/include/sync/sync.h",
|
||||
"src/sw_sync.h",
|
||||
"src/sync.c",
|
||||
- "strlcpy.c",
|
||||
]
|
||||
|
||||
configs -= [ "//build/config/compiler:chromium_code" ]
|
||||
@@ -41,6 +40,8 @@
|
||||
]
|
||||
|
||||
public_configs = [ ":libsync_config" ]
|
||||
+
|
||||
+ libs = [ "bsd" ]
|
||||
}
|
||||
}
|
||||
|
@@ -14,19 +14,6 @@ Index: chromium-98.0.4758.80/build/linux/unbundle/libdrm.gn
|
||||
}
|
||||
|
||||
source_set("libdrm") {
|
||||
Index: chromium-98.0.4758.80/media/gpu/chromeos/video_decoder_pipeline.cc
|
||||
===================================================================
|
||||
--- chromium-98.0.4758.80.orig/media/gpu/chromeos/video_decoder_pipeline.cc
|
||||
+++ chromium-98.0.4758.80/media/gpu/chromeos/video_decoder_pipeline.cc
|
||||
@@ -28,7 +28,7 @@
|
||||
|
||||
#if BUILDFLAG(USE_VAAPI)
|
||||
#include "media/gpu/vaapi/vaapi_video_decoder.h"
|
||||
-#include "third_party/libdrm/src/include/drm/drm_fourcc.h"
|
||||
+#include <drm_fourcc.h>
|
||||
#elif BUILDFLAG(USE_V4L2_CODEC)
|
||||
#include "media/gpu/v4l2/v4l2_video_decoder.h"
|
||||
#else
|
||||
Index: chromium-98.0.4758.80/ui/ozone/platform/drm/gpu/crtc_controller.h
|
||||
===================================================================
|
||||
--- chromium-98.0.4758.80.orig/ui/ozone/platform/drm/gpu/crtc_controller.h
|
||||
|
32
system-zlib.patch
Normal file
32
system-zlib.patch
Normal file
@@ -0,0 +1,32 @@
|
||||
description: use system zlib library instead of embedded lzma in courgette
|
||||
author: Michael Gilbert <mgilbert@debian.org>
|
||||
|
||||
--- a/courgette/BUILD.gn
|
||||
+++ b/courgette/BUILD.gn
|
||||
@@ -58,7 +58,6 @@ static_library("courgette_lib") {
|
||||
|
||||
deps = [
|
||||
"//base",
|
||||
- "//third_party/lzma_sdk",
|
||||
]
|
||||
|
||||
public_deps = [
|
||||
@@ -79,7 +78,6 @@ source_set("courgette_common") {
|
||||
]
|
||||
deps = [
|
||||
"//base",
|
||||
- "//third_party/lzma_sdk",
|
||||
]
|
||||
}
|
||||
|
||||
--- a/courgette/crc.cc
|
||||
+++ b/courgette/crc.cc
|
||||
@@ -7,6 +7,8 @@
|
||||
#include <stdint.h>
|
||||
#include <stddef.h>
|
||||
|
||||
+#define COURGETTE_USE_CRC_LIB
|
||||
+
|
||||
#ifdef COURGETTE_USE_CRC_LIB
|
||||
# include "zlib.h"
|
||||
#else
|
33
thread_annotations-fix-build-with-system-abseil.patch
Normal file
33
thread_annotations-fix-build-with-system-abseil.patch
Normal file
@@ -0,0 +1,33 @@
|
||||
--- a/base/thread_annotations.h 2022-06-21 21:52:33.363987695 +0200
|
||||
+++ b/base/thread_annotations.h 2022-06-24 16:18:54.238568316 +0200
|
||||
@@ -40,6 +40,8 @@
|
||||
#include "base/check_op.h"
|
||||
#include "build/build_config.h"
|
||||
|
||||
+#include <absl/base/internal/thread_annotations.h>
|
||||
+
|
||||
#if defined(__clang__)
|
||||
#define THREAD_ANNOTATION_ATTRIBUTE__(x) __attribute__((x))
|
||||
#else
|
||||
@@ -227,21 +229,7 @@
|
||||
// but the compiler cannot confirm that.
|
||||
#define TS_UNCHECKED_READ(x) thread_safety_analysis::ts_unchecked_read(x)
|
||||
|
||||
-namespace thread_safety_analysis {
|
||||
-
|
||||
-// Takes a reference to a guarded data member, and returns an unguarded
|
||||
-// reference.
|
||||
-template <typename T>
|
||||
-inline const T& ts_unchecked_read(const T& v) NO_THREAD_SAFETY_ANALYSIS {
|
||||
- return v;
|
||||
-}
|
||||
-
|
||||
-template <typename T>
|
||||
-inline T& ts_unchecked_read(T& v) NO_THREAD_SAFETY_ANALYSIS {
|
||||
- return v;
|
||||
-}
|
||||
|
||||
-} // namespace thread_safety_analysis
|
||||
|
||||
// The above is imported as-is from abseil-cpp. The following Chromium-specific
|
||||
// synonyms are added for Chromium concepts (SequenceChecker/ThreadChecker).
|
19
vulkan-SPIRV-Headers.gn
Normal file
19
vulkan-SPIRV-Headers.gn
Normal file
@@ -0,0 +1,19 @@
|
||||
# This shim can only be used if you build Chromium without DAWN
|
||||
|
||||
import("//build/shim_headers.gni")
|
||||
|
||||
shim_headers("vulkan-SPIRV-Headers_shim") {
|
||||
root_path = "include"
|
||||
headers = [
|
||||
"spirv/unified1/GLSL.std.450.h",
|
||||
"spirv/unified1/NonSemanticClspvReflection.h",
|
||||
"spirv/unified1/NonSemanticDebugPrintf.h",
|
||||
"spirv/unified1/OpenCL.std.h",
|
||||
"spirv/unified1/spirv.h",
|
||||
"spirv/unified1/spirv.hpp",
|
||||
]
|
||||
}
|
||||
|
||||
source_set("spv_headers") {
|
||||
deps = [ ":vulkan-SPIRV-Headers_shim" ]
|
||||
}
|
69
vulkan-SPIRV-Tools.gn
Normal file
69
vulkan-SPIRV-Tools.gn
Normal file
@@ -0,0 +1,69 @@
|
||||
# This shim can only be used if you build Chromium without DAWN
|
||||
|
||||
import("//build/config/linux/pkg_config.gni")
|
||||
import("//build/shim_headers.gni")
|
||||
|
||||
pkg_config("spvtools_internal_config") {
|
||||
packages = [ "SPIRV-Tools" ]
|
||||
}
|
||||
|
||||
shim_headers("vulkan-SPIRV-Tools_shim") {
|
||||
root_path = "include"
|
||||
headers = [
|
||||
"spirv-tools/instrument.hpp",
|
||||
"spirv-tools/libspirv.h",
|
||||
"spirv-tools/libspirv.hpp",
|
||||
"spirv-tools/linker.hpp",
|
||||
"spirv-tools/optimizer.hpp",
|
||||
]
|
||||
}
|
||||
|
||||
source_set("SPIRV-Tools") {
|
||||
deps = [ ":vulkan-SPIRV-Tools_shim" ]
|
||||
public_configs = [ ":spvtools_internal_config" ]
|
||||
}
|
||||
|
||||
source_set("spvtools") {
|
||||
deps = [ ":vulkan-SPIRV-Tools_shim" ]
|
||||
public_configs = [ ":spvtools_internal_config" ]
|
||||
}
|
||||
|
||||
source_set("spvtools_core_enums_unified1") {
|
||||
deps = [ ":vulkan-SPIRV-Tools_shim" ]
|
||||
public_configs = [ ":spvtools_internal_config" ]
|
||||
}
|
||||
|
||||
source_set("spvtools_core_tables_unified1") {
|
||||
deps = [ ":vulkan-SPIRV-Tools_shim" ]
|
||||
public_configs = [ ":spvtools_internal_config" ]
|
||||
}
|
||||
|
||||
source_set("spvtools_headers") {
|
||||
deps = [ ":vulkan-SPIRV-Tools_shim" ]
|
||||
public_configs = [ ":spvtools_internal_config" ]
|
||||
}
|
||||
|
||||
source_set("spvtools_language_header_cldebuginfo100") {
|
||||
deps = [ ":vulkan-SPIRV-Tools_shim" ]
|
||||
public_configs = [ ":spvtools_internal_config" ]
|
||||
}
|
||||
|
||||
source_set("spvtools_language_header_debuginfo") {
|
||||
deps = [ ":vulkan-SPIRV-Tools_shim" ]
|
||||
public_configs = [ ":spvtools_internal_config" ]
|
||||
}
|
||||
|
||||
source_set("spvtools_language_header_vkdebuginfo100") {
|
||||
deps = [ ":vulkan-SPIRV-Tools_shim" ]
|
||||
public_configs = [ ":spvtools_internal_config" ]
|
||||
}
|
||||
|
||||
source_set("spvtools_opt") {
|
||||
deps = [ ":vulkan-SPIRV-Tools_shim" ]
|
||||
public_configs = [ ":spvtools_internal_config" ]
|
||||
}
|
||||
|
||||
source_set("spvtools_val") {
|
||||
deps = [ ":vulkan-SPIRV-Tools_shim" ]
|
||||
public_configs = [ ":spvtools_internal_config" ]
|
||||
}
|
20
woff2.gn
Normal file
20
woff2.gn
Normal file
@@ -0,0 +1,20 @@
|
||||
import("//build/config/linux/pkg_config.gni")
|
||||
import("//build/shim_headers.gni")
|
||||
|
||||
pkg_config("system_woff2") {
|
||||
packages = [ "libwoff2dec" ]
|
||||
}
|
||||
|
||||
shim_headers("woff2_shim") {
|
||||
root_path = "include"
|
||||
headers = [
|
||||
"woff2/decode.h",
|
||||
"woff2/encode.h",
|
||||
"woff2/output.h",
|
||||
]
|
||||
}
|
||||
|
||||
source_set("woff2_dec") {
|
||||
deps = [ ":woff2_shim" ]
|
||||
public_configs = [ ":system_woff2" ]
|
||||
}
|
Reference in New Issue
Block a user