1
0

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:
2022-07-04 09:07:38 +00:00
committed by Git OBS Bridge
parent 36fa6f0eaa
commit 8565b90830
82 changed files with 3094 additions and 471 deletions

View File

@@ -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>

View 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 += [

View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
{

View File

@@ -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 {

View 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 {

View 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
View 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
View 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
View 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
View 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

View 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 {

View 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 = [

View File

@@ -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

View 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

View File

@@ -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(

View File

@@ -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

View 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" ]
}
}

View File

@@ -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",
]
}

View 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
}

View File

@@ -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

View 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>

View File

@@ -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
View 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" ]
}

View File

@@ -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

View 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
View 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" ]
}

View 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
View 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" ]
}

View File

@@ -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.

View File

@@ -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;

View File

@@ -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"

View File

@@ -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.

View File

@@ -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
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f52d203e2563f36e74e6f2b7c46ec0d48b00e109315944e49e0a45abb7d02233
size 1267497492

View File

@@ -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[@]}"

View 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.";

View File

@@ -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",

View 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
View 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
View 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
View 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
View 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" ]
}

View 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 {

View 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"

View File

@@ -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
View 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",

View File

@@ -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

View 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",

View 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 {

View 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',
}

View 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
View 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.")

View 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" ]
}

View 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" ]
}

View 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
View 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
View 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" ]
}
}

View File

@@ -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
View 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

View 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
View 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
View 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
View 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" ]
}