Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package nodejs-electron for openSUSE:Factory
checked in at 2022-07-05 12:09:05
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/nodejs-electron (Old)
and /work/SRC/openSUSE:Factory/.nodejs-electron.new.1548 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "nodejs-electron"
Tue Jul 5 12:09:05 2022 rev:27 rq:986595 version:19.0.7
Changes:
--------
--- /work/SRC/openSUSE:Factory/nodejs-electron/nodejs-electron.changes
2022-05-31 15:48:07.432017761 +0200
+++
/work/SRC/openSUSE:Factory/.nodejs-electron.new.1548/nodejs-electron.changes
2022-07-05 12:09:24.492550526 +0200
@@ -1,0 +2,119 @@
+Sat Jul 2 09:16:30 UTC 2022 - Bruno Pitrus <[email protected]>
+- 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_status.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
+
+-------------------------------------------------------------------
Old:
----
chromium-98-MiraclePtr-gcc-ice.patch
chromium-98-WaylandFrameManager-check.patch
chromium-98-compiler.patch
chromium-disable-parallel-gold.patch
chromium-glibc-2.34.patch
electron-16-v8-missing-utility-include.patch
electron-17-breakpad-align-int-types.patch
electron-17.4.6.tar.xz
New:
----
abseil-remove-unused-targets.patch
abseil_string_number_conversions-do-not-assume-ABI.patch
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_status.gn
absl_strings.gn
absl_synchronization.gn
absl_time.gn
absl_types.gn
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
brotli.gn
byteswap-constexpr.patch
byteswap-constexpr2.patch
cares_public_headers.patch
chromium-101-libxml-unbundle.patch
chromium-102-compiler.patch
chromium-102-fenced_frame_utils-include.patch
chromium-99-pdfium-system-libtiff.patch
chromium-fix-pac-with-gcc.patch
chromium-remove-bundled-roboto-font.patch
crc32c.gn
dark_mode_types-uint8_t.patch
dav1d.gn
device_perf_info-missing-uint32_t.patch
double-conversion.gn
electron-19.0.7.tar.xz
ffmpeg-new-channel-layout.patch
json_generation-missing-unique_ptr.patch
libXNVCtrl.gn
libaom.gn
libavif.gn
libjxl.gn
metrics_recorder-missing-string.patch
multi_channel_content_detector-missing-unique_ptr.patch
nested-nested-nested-nested-nested-nested-regex-patterns.patch
node-system-libs.patch
pdfium-fix-system-libs.patch
process_doc_wrapper-do-not-assume-ABI.patch
replace_gn_files-system-libs.patch
skia_utils-missing-uint64_t.patch
support-i386.patch
swiftshader-SPIRV-Headers.gn
swiftshader-SPIRV-Tools.gn
swiftshader-use-system-llvm.patch
system-jsoncpp.patch
system-libbsd.patch
system-zlib.patch
thread_annotations-fix-build-with-system-abseil.patch
vulkan-SPIRV-Headers.gn
vulkan-SPIRV-Tools.gn
woff2.gn
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ nodejs-electron.spec ++++++
++++ 1028 lines (skipped)
++++ between /work/SRC/openSUSE:Factory/nodejs-electron/nodejs-electron.spec
++++ and
/work/SRC/openSUSE:Factory/.nodejs-electron.new.1548/nodejs-electron.spec
++++++ _constraints ++++++
--- /var/tmp/diff_new_pack.EAVmig/_old 2022-07-05 12:09:38.916571243 +0200
+++ /var/tmp/diff_new_pack.EAVmig/_new 2022-07-05 12:09:38.920571249 +0200
@@ -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>
++++++ abseil-remove-unused-targets.patch ++++++
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 += [
++++++ abseil_string_number_conversions-do-not-assume-ABI.patch ++++++
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 {
++++++ absl_algorithm.gn ++++++
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" ]
}
++++++ absl_base.gn ++++++
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" ]
}
++++++ absl_cleanup.gn ++++++
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" ]
}
++++++ absl_container.gn ++++++
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" ]
}
++++++ absl_debugging.gn ++++++
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" ]
}
++++++ absl_flags.gn ++++++
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" ]
}
++++++ absl_functional.gn ++++++
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" ]
}
++++++ absl_hash.gn ++++++
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" ]
}
++++++ absl_memory.gn ++++++
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" ]
}
++++++ absl_meta.gn ++++++
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" ]
}
++++++ absl_numeric.gn ++++++
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" ]
}
++++++ absl_random.gn ++++++
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" ]
}
++++++ absl_status.gn ++++++
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" ]
}
++++++ absl_strings.gn ++++++
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" ]
}
++++++ absl_synchronization.gn ++++++
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" ]
}
++++++ absl_time.gn ++++++
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" ]
}
++++++ absl_types.gn ++++++
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" ]
}
++++++ angle-system-xxhash.patch ++++++
--- 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
{
++++++ async_shared_storage_database_impl-missing-absl-WrapUnique.patch ++++++
---
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 {
++++++ attribution_manager_impl-missing-absl-WrapUnique.patch ++++++
--- 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 {
(No newline at EOF)
++++++ ax_property_node-missing-unique_ptr-forward.patch ++++++
--- 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"
++++++ base-system-nspr.patch ++++++
--- 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 = [
++++++ brotli.gn ++++++
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" ]
}
++++++ byteswap-constexpr.patch ++++++
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 <[email protected]>
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 <[email protected]>
Commit-Queue: Nico Weber <[email protected]>
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
++++++ byteswap-constexpr2.patch ++++++
author: Andres Salomon <[email protected]>
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
++++++ cares_public_headers.patch ++++++
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 {
++++++ chromium-101-libxml-unbundle.patch ++++++
--- 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 = [
++++++ chromium-98-compiler.patch -> chromium-102-compiler.patch ++++++
--- /work/SRC/openSUSE:Factory/nodejs-electron/chromium-98-compiler.patch
2022-03-18 16:41:51.261169219 +0100
+++
/work/SRC/openSUSE:Factory/.nodejs-electron.new.1548/chromium-102-compiler.patch
2022-07-05 12:09:11.512531883 +0200
@@ -1,17 +1,17 @@
From 307a0f63dd9b118f4b8470ed3d7567e81fdb7a6d Mon Sep 17 00:00:00 2001
From: Mike Gilbert <[email protected]>
-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 @@
":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 @@
- }
- }
-
- # 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 @@
# 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 @@
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 @@
# 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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
ldflags = [ "/DEBUG" ]
--
-2.32.0
+2.35.1
++++++ chromium-102-fenced_frame_utils-include.patch ++++++
>From 7c135a291184b59a59643ed6a8c40b4405ac0175 Mon Sep 17 00:00:00 2001
From: Stephan Hartmann <[email protected]>
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
++++++ chromium-99-pdfium-system-libtiff.patch ++++++
--- 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" ]
}
}
++++++ chromium-fix-pac-with-gcc.patch ++++++
---
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
}
++++++ chromium-remove-bundled-roboto-font.patch ++++++
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>
++++++ chromium-vaapi.patch ++++++
--- /var/tmp/diff_new_pack.EAVmig/_old 2022-07-05 12:09:39.392571927 +0200
+++ /var/tmp/diff_new_pack.EAVmig/_new 2022-07-05 12:09:39.392571927 +0200
@@ -22,7 +22,7 @@
===================================================================
--- 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 @@
+
+#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,7 +70,7 @@
+
+// Chrome OS
------------------------------------------------------------------
+
- extern const char kAllowDisableMouseAccelerationName[];
- extern const char kAllowDisableMouseAccelerationDescription[];
+ extern const char kAllowDisableTouchpadHapticFeedbackName[];
+ extern const char kAllowDisableTouchpadHapticFeedbackDescription[];
++++++ crc32c.gn ++++++
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" ]
}
++++++ create_tarball.sh ++++++
--- /var/tmp/diff_new_pack.EAVmig/_old 2022-07-05 12:09:39.424571973 +0200
+++ /var/tmp/diff_new_pack.EAVmig/_new 2022-07-05 12:09:39.424571973 +0200
@@ -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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
# 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
++++++ dark_mode_types-uint8_t.patch ++++++
--- 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 {
++++++ dav1d.gn ++++++
# 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" ]
}
++++++ device_perf_info-missing-uint32_t.patch ++++++
--- 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"
++++++ double-conversion.gn ++++++
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" ]
}
++++++ electron-13-fix-use-thin-lto.patch ++++++
--- /var/tmp/diff_new_pack.EAVmig/_old 2022-07-05 12:09:39.492572070 +0200
+++ /var/tmp/diff_new_pack.EAVmig/_new 2022-07-05 12:09:39.496572076 +0200
@@ -2,20 +2,15 @@
===================================================================
--- 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.
++++++ electron-16-std-vector-non-const.patch ++++++
--- /var/tmp/diff_new_pack.EAVmig/_old 2022-07-05 12:09:39.508572094 +0200
+++ /var/tmp/diff_new_pack.EAVmig/_new 2022-07-05 12:09:39.508572094 +0200
@@ -4,12 +4,12 @@
+++ 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 @@
===================================================================
--- 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 @@
// 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 @@
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;
++++++ electron-17.4.6.tar.xz -> electron-19.0.7.tar.xz ++++++
/work/SRC/openSUSE:Factory/nodejs-electron/electron-17.4.6.tar.xz
/work/SRC/openSUSE:Factory/.nodejs-electron.new.1548/electron-19.0.7.tar.xz
differ: char 15, line 1
++++++ electron-launcher.sh ++++++
--- /var/tmp/diff_new_pack.EAVmig/_old 2022-07-05 12:09:39.544572145 +0200
+++ /var/tmp/diff_new_pack.EAVmig/_new 2022-07-05 12:09:39.548572151 +0200
@@ -1,4 +1,4 @@
-#!/usr/bin/bash
+#!/bin/bash
set -euo pipefail
@@ -17,5 +17,5 @@
fi
done
-exec /usr/lib64/${name}/electron "$@" "${flags[@]}"
+exec XXXLIBDIRXXX/${name}/electron "$@" "${flags[@]}"
++++++ ffmpeg-new-channel-layout.patch ++++++
>From 6e554a30893150793c2638e3689cf208ffc8e375 Mon Sep 17 00:00:00 2001
From: Dale Curtis <[email protected]>
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 <[email protected]>
Reviewed-by: Dan Sanders <[email protected]>
Commit-Queue: Dale Curtis <[email protected]>
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.";
++++++ gcc-enable-lto.patch ++++++
--- /var/tmp/diff_new_pack.EAVmig/_old 2022-07-05 12:09:39.576572191 +0200
+++ /var/tmp/diff_new_pack.EAVmig/_new 2022-07-05 12:09:39.580572196 +0200
@@ -53,19 +53,19 @@
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",
++++++ json_generation-missing-unique_ptr.patch ++++++
--- 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"
++++++ libXNVCtrl.gn ++++++
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",
]
}
++++++ libaom.gn ++++++
# 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" ]
}
++++++ libavif.gn ++++++
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" ]
}
++++++ libjxl.gn ++++++
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" ]
}
++++++ metrics_recorder-missing-string.patch ++++++
--- 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 {
++++++ multi_channel_content_detector-missing-unique_ptr.patch ++++++
---
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"
++++++ nested-nested-nested-nested-nested-nested-regex-patterns.patch ++++++
description: fix build error when building with clang & GNU libstdc++
author: Stephan Hartmann <[email protected]>
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",
++++++ node-system-libs.patch ++++++
--- 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",
++++++ pdfium-fix-system-libs.patch ++++++
---
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",
++++++ process_doc_wrapper-do-not-assume-ABI.patch ++++++
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 {
++++++ replace_gn_files-system-libs.patch ++++++
--- 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',
}
++++++ skia_utils-missing-uint64_t.patch ++++++
--- 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"
++++++ support-i386.patch ++++++
author: Andres Salomon <[email protected]>
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.")
++++++ swiftshader-SPIRV-Headers.gn ++++++
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" ]
}
++++++ swiftshader-SPIRV-Tools.gn ++++++
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" ]
}
++++++ swiftshader-use-system-llvm.patch ++++++
--- 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"]
}
}
++++++ system-jsoncpp.patch ++++++
description: use system jsoncpp
author: Michael Gilbert <[email protected]>
--- 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"
++++++ system-libbsd.patch ++++++
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" ]
}
}
++++++ system-libdrm.patch ++++++
--- /var/tmp/diff_new_pack.EAVmig/_old 2022-07-05 12:09:39.772572473 +0200
+++ /var/tmp/diff_new_pack.EAVmig/_new 2022-07-05 12:09:39.772572473 +0200
@@ -14,19 +14,6 @@
}
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
++++++ system-zlib.patch ++++++
description: use system zlib library instead of embedded lzma in courgette
author: Michael Gilbert <[email protected]>
--- 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
++++++ thread_annotations-fix-build-with-system-abseil.patch ++++++
--- 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).
++++++ vulkan-SPIRV-Headers.gn ++++++
# 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" ]
}
++++++ vulkan-SPIRV-Tools.gn ++++++
# 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" ]
}
++++++ woff2.gn ++++++
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" ]
}