[zoneminder/f32] 1.34.5 Release
by Andrew Bauer
Summary of changes:
440ed5c... 1.34.5 Release (*)
(*) This commit already existed in another branch; no separate mail sent
4 years, 8 months
[zoneminder] 1.34.5 Release
by Andrew Bauer
commit 440ed5c05ead12c8964897dc9e1899e392a455dc
Author: Andrew Bauer <zonexpertconsulting(a)outlook.com>
Date: Sat Feb 29 10:13:14 2020 -0600
1.34.5 Release
.gitignore | 1 +
sources | 3 +--
zoneminder.spec | 5 ++++-
3 files changed, 6 insertions(+), 3 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 36d7411..0b0ad33 100644
--- a/.gitignore
+++ b/.gitignore
@@ -10,3 +10,4 @@
/zoneminder-1.34.1.tar.gz
/zoneminder-1.34.2.tar.gz
/zoneminder-1.34.3.tar.gz
+/zoneminder-1.34.5.tar.gz
diff --git a/sources b/sources
index c84b9c8..79c0984 100644
--- a/sources
+++ b/sources
@@ -1,4 +1,3 @@
SHA512 (cakephp-enum-behavior-1.0-zm.tar.gz) = 26b4fa4e4b53b6add69df506d68cee06c7c153ddb6facb76ff1156c5f558b9a7704e99b54361771195092ae7ab4f493c24135fa5a3f59fae84b6dc33ff3e0bd1
SHA512 (crud-3.1.0-zm.tar.gz) = 03b641454ad070a729e45f592c6c01bf2c80c53f00e085eb48380ba96e88d8c1410b2a0c58607f85d6536375d789b022b9e6b7de5bda8886ec17c3bdb07a68fc
-SHA512 (zoneminder-1.34.2.tar.gz) = ad9494bd6013e17c02908144b483d53e17d63e0221103ca81436188b22270857484c59acb56322e9b61f91e167d38dc1e9afcd2ee6f85ebb20759ef78271ef20
-SHA512 (zoneminder-1.34.3.tar.gz) = a5e13763cdd869e96c9acd55a9ae83c801f009e58a2d6c250ae7c9fe979f2c03c3a37bb8a7c09f38c2d121b9bbd70d7136213c1d1801e03c4fa213aae06db8ed
+SHA512 (zoneminder-1.34.5.tar.gz) = 8ee5232d3124e03b4e103e9653ce10682d90660fe13142b0c92c002ea831f72c54cf13a61ac70415263e83bb520d128c6d9ff206d4ca365d2dbb32544b12de7f
diff --git a/zoneminder.spec b/zoneminder.spec
index fc5059c..8581640 100644
--- a/zoneminder.spec
+++ b/zoneminder.spec
@@ -28,7 +28,7 @@
%global _hardened_build 1
Name: zoneminder
-Version: 1.34.3
+Version: 1.34.5
Release: 1%{?dist}
Summary: A camera monitoring and analysis tool
Group: System Environment/Daemons
@@ -416,6 +416,9 @@ EOF
%dir %attr(755,nginx,nginx) %{_localstatedir}/spool/zoneminder-upload
%changelog
+* Sat Feb 29 2020 Andrew Bauer <zonexpertconsulting(a)outlook.com> - 1.34.5-1
+- 1.34.5 Release
+
* Sun Feb 23 2020 Andrew Bauer <zonexpertconsulting(a)outlook.com> - 1.34.3-1
- 1.34.3 Release
4 years, 8 months
[amule] Some changes based on Mageia spec Let's try wxGTK with GTK3 instead GTK2
by Sérgio M. Basto
commit 65f61caf8a28c945df17547f568d0f6fc9f4e09f
Author: Sérgio M. Basto <sergio(a)serjux.com>
Date: Sat Feb 29 00:04:50 2020 +0000
Some changes based on Mageia spec
Let's try wxGTK with GTK3 instead GTK2
amule.spec | 29 +++++++++++++++++------------
1 file changed, 17 insertions(+), 12 deletions(-)
---
diff --git a/amule.spec b/amule.spec
index be2bab1..d8fc84a 100644
--- a/amule.spec
+++ b/amule.spec
@@ -4,7 +4,7 @@
Name: amule
Version: 2.3.3
-Release: 0.1.%{gitdate}git%{shortcommit}%{?dist}
+Release: 0.2.%{gitdate}git%{shortcommit}%{?dist}
Summary: File sharing client compatible with eDonkey
License: GPLv2+
Source0: https://github.com/amule-project/amule/archive/%{commit}/%{name}-%{shortc...
@@ -13,20 +13,23 @@ BuildRequires: gcc
BuildRequires: gcc-c++
# See http://wiki.amule.org/wiki/Requirements
-BuildRequires: compat-wxGTK3-gtk2-devel >= 0:2.8.7
+BuildRequires: wxGTK3-devel >= 0:2.8.7
BuildRequires: desktop-file-utils
+BuildRequires: binutils-devel
+BuildRequires: boost-devel
BuildRequires: expat-devel
-BuildRequires: gd-devel >= 2.0.0
-BuildRequires: libpng-devel
+BuildRequires: pkgconfig(gdlib) >= 2.0
+BuildRequires: pkgconfig(libpng)
BuildRequires: gettext-devel
BuildRequires: flex
BuildRequires: bison
BuildRequires: readline-devel
-BuildRequires: cryptopp-devel
-BuildRequires: libupnp-devel
-BuildRequires: binutils-devel
-BuildRequires: GeoIP-devel
+BuildRequires: pkgconfig(cryptopp)
+BuildRequires: pkgconfig(libupnp)
+BuildRequires: pkgconfig(geoip)
BuildRequires: libtool
+BuildRequires: pkgconfig(libcurl)
+BuildRequires: pkgconfig(ncurses)
Requires: %{name}-nogui
@@ -63,13 +66,11 @@ It is useful for servers which don't have Xorg.
--enable-webserver \
--enable-amule-daemon \
--enable-geoip \
- --enable-ccache \
--enable-amule-gui \
--enable-optimize \
--enable-nls \
-%if (0%{?fedora} && 0%{?fedora} < 28)
- --with-wx-version=3.0-gtk2 \
-%endif
+ --with-wx-config=%{_bindir}/wx-config-3.0 \
+ --with-boost \
--with-denoise-level=0
%make_build
@@ -153,6 +154,10 @@ rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}/COPYING
%changelog
+* Sat Feb 29 2020 Sérgio Basto <sergio(a)serjux.com> - 2.3.3-0.2.20200131gitc0c2823
+- Some changes based on Mageia spec
+- Let's try wxGTK with GTK3 instead GTK2
+
* Fri Feb 28 2020 leigh123linux <leigh123linux(a)googlemail.com> - 2.3.3-0.1.20200131gitc0c2823
- Update to the latest git snapshot
4 years, 8 months
[dwarftherapist] Update to 41.1.4, the latest upstream release, with support for DF 0.47.03.
by Ben Rosser
commit 5b4f165c6baceaca652bea43f6702aeff3bccf9f
Author: Ben Rosser <rosser.bjr(a)gmail.com>
Date: Fri Feb 28 17:28:36 2020 -0500
Update to 41.1.4, the latest upstream release, with support for DF 0.47.03.
.gitignore | 1 +
dwarftherapist.spec | 7 +++++--
sources | 3 +--
3 files changed, 7 insertions(+), 4 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 5295371..7c10f9d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,3 +4,4 @@
/dwarftherapist-40.0.0.tar.gz
/dwarftherapist-41.0.2.tar.gz
/dwarftherapist-41.0.3.tar.gz
+/dwarftherapist-41.1.4.tar.gz
diff --git a/dwarftherapist.spec b/dwarftherapist.spec
index d9577ae..90230f6 100644
--- a/dwarftherapist.spec
+++ b/dwarftherapist.spec
@@ -1,6 +1,6 @@
Name: dwarftherapist
-Version: 41.0.3
-Release: 4%{?dist}
+Version: 41.1.4
+Release: 1%{?dist}
Summary: Management tool designed to run side-by-side with Dwarf Fortress
License: MIT
@@ -110,6 +110,9 @@ sudo setcap cap_sys_ptrace=eip %{_bindir}/dwarftherapist
%license LICENSE.txt
%changelog
+* Fri Feb 28 2020 Ben Rosser <rosser.bjr(a)gmail.com> - 41.1.4-1
+- Updated to latest upstream release for df 0.47.03
+
* Wed Feb 05 2020 RPM Fusion Release Engineering <leigh123linux(a)gmail.com> - 41.0.3-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
diff --git a/sources b/sources
index 4d97aca..ef21c1a 100644
--- a/sources
+++ b/sources
@@ -1,2 +1 @@
-f16f6b7b16ee4b38addc5d1c016b303b dwarftherapist-41.0.2.tar.gz
-ef48360d1edaf7b8485143041242a4ad dwarftherapist-41.0.3.tar.gz
+SHA512 (dwarftherapist-41.1.4.tar.gz) = 9e6d2f672ff4192cc2ab638c68ef29f87368a537429acf5d07a0be65595bf1253fc2a8678ac6864448b0d66d2e60a81a7cdb5c714956a705775ee8cf86e1e6df
4 years, 8 months
[chromium-browser-privacy] Update to 80.0.3987.122
by qvint
commit df8c1898b42e27faf61e8578b5b2d65a66c1e8c2
Author: qvint <dotqvint(a)gmail.com>
Date: Fri Feb 28 23:51:28 2020 +0300
Update to 80.0.3987.122
- Update Chromium to 80.0.3987.122
- Update ungoogled-chromium to 80.0.3987.122-1
chromium-73.0.3683.75-pipewire-cstring-fix.patch | 11 -
chromium-77.0.3865.75-gcc-include-memory.patch | 34 +++
...-use-c++17-to-work-around-ugly-angle-code.patch | 28 +++
chromium-79.0.3945.56-glibc-clock-nanosleep.patch | 52 -----
chromium-80-gcc-abstract.patch | 41 ++++
chromium-80-gcc-blink.patch | 45 ++++
chromium-80-gcc-incomplete-type.patch | 229 +++++++++++++++++++++
chromium-80-gcc-permissive.patch | 33 +++
chromium-80-gcc-quiche.patch | 30 +++
chromium-80-include.patch | 33 +++
chromium-80-unbundle-libxml.patch | 101 +++++++++
...mium-80.0.3987.106-missing-cstddef-header.patch | 44 ++++
...mium-80.0.3987.106-missing-cstring-header.patch | 34 +++
chromium-80.0.3987.87-fix-for-c++17.patch | 190 +++++++++++++++++
chromium-80.0.3987.87-missing-cstdint-header.patch | 55 +++++
chromium-80.0.3987.87-missing-string-header.patch | 11 +
chromium-browser-privacy.spec | 67 +++---
chromium-default-user-data-dir.patch | 8 +-
chromium-fix-use_system_harfbuzz-ng.patch | 44 ----
fix-spammy-unique-font-matching-log.patch | 13 --
icu65.patch | 64 ------
include-algorithm-to-use-std-lower_bound.patch | 49 -----
launch_manager.h-uses-std-vector.patch | 36 ----
sources | 4 +-
24 files changed, 950 insertions(+), 306 deletions(-)
---
diff --git a/chromium-77.0.3865.75-gcc-include-memory.patch b/chromium-77.0.3865.75-gcc-include-memory.patch
new file mode 100644
index 0000000..e1d4bdb
--- /dev/null
+++ b/chromium-77.0.3865.75-gcc-include-memory.patch
@@ -0,0 +1,34 @@
+diff -up chromium-77.0.3865.75/third_party/one_euro_filter/src/one_euro_filter.h.gcc-include-memory chromium-77.0.3865.75/third_party/one_euro_filter/src/one_euro_filter.h
+--- chromium-77.0.3865.75/third_party/one_euro_filter/src/one_euro_filter.h.gcc-include-memory 2019-09-13 14:44:24.962770079 +0200
++++ chromium-77.0.3865.75/third_party/one_euro_filter/src/one_euro_filter.h 2019-09-13 14:44:45.347073612 +0200
+@@ -3,6 +3,8 @@
+
+ #include "low_pass_filter.h"
+
++#include <memory>
++
+ namespace one_euro_filter {
+ namespace test {
+ class OneEuroFilterTest;
+diff -up chromium-80.0.3987.106/third_party/webrtc/modules/audio_processing/aec3/reverb_model_estimator.h.missing-memory chromium-80.0.3987.106/third_party/webrtc/modules/audio_processing/aec3/reverb_model_estimator.h
+--- chromium-80.0.3987.106/third_party/webrtc/modules/audio_processing/aec3/reverb_model_estimator.h.missing-memory 2020-02-21 12:25:17.206021379 -0500
++++ chromium-80.0.3987.106/third_party/webrtc/modules/audio_processing/aec3/reverb_model_estimator.h 2020-02-21 12:25:31.613759976 -0500
+@@ -12,6 +12,7 @@
+ #define MODULES_AUDIO_PROCESSING_AEC3_REVERB_MODEL_ESTIMATOR_H_
+
+ #include <array>
++#include <memory>
+ #include <vector>
+
+ #include "absl/types/optional.h"
+diff -up chromium-80.0.3987.106/third_party/openscreen/src/util/trace_logging/scoped_trace_operations.h.memory chromium-80.0.3987.106/third_party/openscreen/src/util/trace_logging/scoped_trace_operations.h
+--- chromium-80.0.3987.106/third_party/openscreen/src/util/trace_logging/scoped_trace_operations.h.memory 2020-02-24 11:35:38.283880819 -0500
++++ chromium-80.0.3987.106/third_party/openscreen/src/util/trace_logging/scoped_trace_operations.h 2020-02-24 11:35:48.366670897 -0500
+@@ -7,6 +7,7 @@
+
+ #include <atomic>
+ #include <cstring>
++#include <memory>
+ #include <stack>
+ #include <vector>
+
diff --git a/chromium-79.0.3945.130-gcc10-use-c++17-to-work-around-ugly-angle-code.patch b/chromium-79.0.3945.130-gcc10-use-c++17-to-work-around-ugly-angle-code.patch
new file mode 100644
index 0000000..8401ea2
--- /dev/null
+++ b/chromium-79.0.3945.130-gcc10-use-c++17-to-work-around-ugly-angle-code.patch
@@ -0,0 +1,28 @@
+diff -up chromium-79.0.3945.130/third_party/angle/BUILD.gn.fixme chromium-79.0.3945.130/third_party/angle/BUILD.gn
+--- chromium-79.0.3945.130/third_party/angle/BUILD.gn.fixme 2020-02-05 15:50:58.810040419 -0500
++++ chromium-79.0.3945.130/third_party/angle/BUILD.gn 2020-02-05 15:52:03.720848822 -0500
+@@ -228,6 +228,9 @@ config("angle_common_config") {
+ if (is_android) {
+ libs = [ "log" ]
+ }
++ if (!is_clang) {
++ cflags_cc = [ "-std=c++17" ]
++ }
+ }
+
+ if (is_win && !angle_is_winuwp) {
+diff -up chromium-79.0.3945.130/third_party/angle/src/common/PackedEnums.h.fixme chromium-79.0.3945.130/third_party/angle/src/common/PackedEnums.h
+--- chromium-79.0.3945.130/third_party/angle/src/common/PackedEnums.h.fixme 2020-02-05 15:35:47.473867905 -0500
++++ chromium-79.0.3945.130/third_party/angle/src/common/PackedEnums.h 2020-02-05 15:36:30.362065300 -0500
+@@ -85,8 +85,9 @@ class PackedEnumMap
+ {
+ // This horrible const_cast pattern is necessary to work around a constexpr limitation.
+ // See https://stackoverflow.com/q/34199774/ . Note that it should be fixed with C++17.
+- const_cast<T &>(const_cast<const Storage &>(
+- mPrivateData)[static_cast<UnderlyingType>(it->first)]) = it->second;
++ // const_cast<T &>(const_cast<const Storage &>(
++ // mPrivateData)[static_cast<UnderlyingType>(it->first)]) = it->second;
++ mPrivateData[static_cast<UnderlyingType>(it->first)] = it->second;
+ }
+ }
+
diff --git a/chromium-80-gcc-abstract.patch b/chromium-80-gcc-abstract.patch
new file mode 100644
index 0000000..190a672
--- /dev/null
+++ b/chromium-80-gcc-abstract.patch
@@ -0,0 +1,41 @@
+In file included from ../../third_party/blink/renderer/platform/heap/persistent.h:18,
+ from ../../third_party/blink/public/platform/web_private_ptr.h:40,
+ from ../../third_party/blink/public/platform/web_media_stream_track.h:33,
+ from ../../third_party/blink/public/platform/web_media_stream_source.h:37,
+ from ../../third_party/blink/renderer/modules/peerconnection/rtc_peer_connection_handler.h:19,
+ from ../../third_party/blink/renderer/modules/peerconnection/rtc_peer_connection_handler.cc:5:
+../../third_party/blink/renderer/platform/wtf/cross_thread_copier.h: In instantiation of 'struct WTF::CrossThreadCopierPassThrough<webrtc::VideoTrackInterface>':
+../../third_party/blink/renderer/modules/peerconnection/adapters/web_rtc_cross_thread_copier.h:169:14: required from here
+../../third_party/blink/renderer/platform/wtf/cross_thread_copier.h:80:15: error: invalid abstract return type 'webrtc::VideoTrackInterface'
+ 80 | static Type Copy(const T& parameter) { return parameter; }
+ | ^~~~
+In file included from ../../third_party/webrtc/api/peer_connection_interface.h:88,
+ from ../../third_party/blink/public/platform/web_rtc_peer_connection_handler.h:39,
+ from ../../third_party/blink/renderer/modules/peerconnection/rtc_peer_connection_handler.h:20,
+ from ../../third_party/blink/renderer/modules/peerconnection/rtc_peer_connection_handler.cc:5:
+../../third_party/webrtc/api/media_stream_interface.h:174:18: note: because the following virtual functions are pure within 'webrtc::VideoTrackInterface':
+ 174 | class RTC_EXPORT VideoTrackInterface
+ | ^~~~~~~~~~~~~~~~~~~
+../../third_party/webrtc/api/media_stream_interface.h:48:16: note: 'virtual void webrtc::NotifierInterface::RegisterObserver(webrtc::ObserverInterface*)'
+ 48 | virtual void RegisterObserver(ObserverInterface* observer) = 0;
+ | ^~~~~~~~~~~~~~~~
+../../third_party/webrtc/api/media_stream_interface.h:49:16: note: 'virtual void webrtc::NotifierInterface::UnregisterObserver(webrtc::ObserverInterface*)'
+ 49 | virtual void UnregisterObserver(ObserverInterface* observer) = 0;
+ | ^~~~~~~~~~~~~~~~~~
+
+diff --git a/third_party/blink/renderer/modules/peerconnection/adapters/web_rtc_cross_thread_copier.h b/third_party/blink/renderer/modules/peerconnection/adapters/web_rtc_cross_thread_copier.h
+index 54cb7d1..0d6c40f 100644
+--- a/third_party/blink/renderer/modules/peerconnection/adapters/web_rtc_cross_thread_copier.h
++++ b/third_party/blink/renderer/modules/peerconnection/adapters/web_rtc_cross_thread_copier.h
+@@ -165,8 +165,9 @@ struct CrossThreadCopier<blink::MediaStreamVideoTrack>
+ };
+
+ template <>
+-struct CrossThreadCopier<webrtc::VideoTrackInterface>
+- : public CrossThreadCopierPassThrough<webrtc::VideoTrackInterface> {
++struct CrossThreadCopier<rtc::scoped_refptr<webrtc::VideoTrackInterface>>
++ : public CrossThreadCopierPassThrough<
++ rtc::scoped_refptr<webrtc::VideoTrackInterface>> {
+ STATIC_ONLY(CrossThreadCopier);
+ };
+
diff --git a/chromium-80-gcc-blink.patch b/chromium-80-gcc-blink.patch
new file mode 100644
index 0000000..2118b46
--- /dev/null
+++ b/chromium-80-gcc-blink.patch
@@ -0,0 +1,45 @@
+../../third_party/blink/renderer/core/editing/commands/delete_selection_command.cc: In member function 'void blink::DeleteSelectionCommand::InitializePositionData(blink::EditingState*)':
+../../third_party/blink/renderer/core/editing/commands/delete_selection_command.cc:256:59: error: no matching function for call to 'EnclosingNodeOfType(blink::Position&, <unresolved overloaded function type>)'
+ 256 | EnclosingNodeOfType(start, &IsA<HTMLTableRowElement>));
+ | ^
+In file included from ../../third_party/blink/renderer/core/editing/commands/delete_selection_command.cc:34:
+../../third_party/blink/renderer/core/editing/editing_utilities.h:112:19: note: candidate: 'blink::Node* blink::EnclosingNodeOfType(const Position&, bool (*)(const blink::Node*), blink::EditingBoundaryCrossingRule)'
+ 112 | CORE_EXPORT Node* EnclosingNodeOfType(
+ | ^~~~~~~~~~~~~~~~~~~
+../../third_party/blink/renderer/core/editing/editing_utilities.h:114:12: note: no known conversion for argument 2 from '<unresolved overloaded function type>' to 'bool (*)(const blink::Node*)'
+ 114 | bool (*node_is_of_type)(const Node*),
+ | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+../../third_party/blink/renderer/core/editing/editing_utilities.h:116:19: note: candidate: 'blink::Node* blink::EnclosingNodeOfType(const PositionInFlatTree&, bool (*)(const blink::Node*), blink::EditingBoundaryCrossingRule)'
+ 116 | CORE_EXPORT Node* EnclosingNodeOfType(
+ | ^~~~~~~~~~~~~~~~~~~
+../../third_party/blink/renderer/core/editing/editing_utilities.h:117:5: note: no known conversion for argument 1 from 'blink::Position' {aka 'blink::PositionTemplate<blink::EditingAlgorithm<blink::NodeTraversal> >'} to 'const PositionInFlatTree&' {aka 'const blink::PositionTemplate<blink::EditingAlgorithm<blink::FlatTreeTraversal> >&'}
+ 117 | const PositionInFlatTree&,
+ | ^~~~~~~~~~~~~~~~~~~~~~~~~
+
+diff --git a/third_party/blink/renderer/core/editing/commands/delete_selection_command.cc b/third_party/blink/renderer/core/editing/commands/delete_selection_command.cc
+index 6ff6906..dd531ae 100644
+--- a/third_party/blink/renderer/core/editing/commands/delete_selection_command.cc
++++ b/third_party/blink/renderer/core/editing/commands/delete_selection_command.cc
+@@ -224,6 +224,10 @@ static Position TrailingWhitespacePosition(const Position& position,
+ return Position();
+ }
+
++static bool IsAHTMLTableRowElement(const Node* node) {
++ return IsA<HTMLTableRowElement>(node);
++}
++
+ void DeleteSelectionCommand::InitializePositionData(
+ EditingState* editing_state) {
+ DCHECK(!GetDocument().NeedsLayoutTreeUpdate());
+@@ -253,9 +257,9 @@ void DeleteSelectionCommand::InitializePositionData(
+ end_root_ = RootEditableElementOf(end);
+
+ start_table_row_ = To<HTMLTableRowElement>(
+- EnclosingNodeOfType(start, &IsA<HTMLTableRowElement>));
++ EnclosingNodeOfType(start, &IsAHTMLTableRowElement));
+ end_table_row_ = To<HTMLTableRowElement>(
+- EnclosingNodeOfType(end, &IsA<HTMLTableRowElement>));
++ EnclosingNodeOfType(end, &IsAHTMLTableRowElement));
+
+ // Don't move content out of a table cell.
+ // If the cell is non-editable, enclosingNodeOfType won't return it by
diff --git a/chromium-80-gcc-incomplete-type.patch b/chromium-80-gcc-incomplete-type.patch
new file mode 100644
index 0000000..8d10620
--- /dev/null
+++ b/chromium-80-gcc-incomplete-type.patch
@@ -0,0 +1,229 @@
+From cdf3e81ff49b200213d67d65558f2919222b60ab Mon Sep 17 00:00:00 2001
+From: Raphael Kubo da Costa <raphael.kubo.da.costa(a)intel.com>
+Date: Mon, 16 Dec 2019 11:39:11 +0000
+Subject: [PATCH] BookmarkModelMerger: Move RemoteTreeNode declaration to header.
+
+This fixes the build with libstdc++ after commit 8f5dad93e58 ("Fix CHECK
+failure due to untracked local nodes"):
+
+/usr/lib/gcc/x86_64-redhat-linux/9/../../../../include/c++/9/bits/stl_pair.h:215:11: error: field has incomplete type 'sync_bookmarks::BookmarkModelMerger::RemoteTreeNode'
+ _T2 second; /// @c second is a copy of the second object
+ ^
+/usr/lib/gcc/x86_64-redhat-linux/9/../../../../include/c++/9/ext/aligned_buffer.h:91:28: note: in instantiation of template class 'std::pair<const std::__cxx11::basic_string<char>, sync_bookmarks::BookmarkModelMerger::RemoteTreeNode>' requested here
+ : std::aligned_storage<sizeof(_Tp), __alignof__(_Tp)>
+ ^
+/usr/lib/gcc/x86_64-redhat-linux/9/../../../../include/c++/9/bits/hashtable_policy.h:233:43: note: in instantiation of template class '__gnu_cxx::__aligned_buffer<std::pair<const std::__cxx11::basic_string<char>, sync_bookmarks::BookmarkModelMerger::RemoteTreeNode> >' requested here
+ __gnu_cxx::__aligned_buffer<_Value> _M_storage;
+ ^
+/usr/lib/gcc/x86_64-redhat-linux/9/../../../../include/c++/9/bits/hashtable_policy.h:264:39: note: in instantiation of template class 'std::__detail::_Hash_node_value_base<std::pair<const std::__cxx11::basic_string<char>, sync_bookmarks::BookmarkModelMerger::RemoteTreeNode> >' requested here
+ struct _Hash_node<_Value, true> : _Hash_node_value_base<_Value>
+ ^
+/usr/lib/gcc/x86_64-redhat-linux/9/../../../../include/c++/9/bits/hashtable_policy.h:2028:25: note: in instantiation of template class 'std::__detail::_Hash_node<std::pair<const std::__cxx11::basic_string<char>, sync_bookmarks::BookmarkModelMerger::RemoteTreeNode>, true>' requested here
+ rebind_traits<typename __node_type::value_type>;
+ ^
+/usr/lib/gcc/x86_64-redhat-linux/9/../../../../include/c++/9/bits/hashtable.h:184:15: note: in instantiation of template class 'std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const std::__cxx11::basic_string<char>, sync_bookmarks::BookmarkModelMerger::RemoteTreeNode>, true> > >
+' requested here
+ private __detail::_Hashtable_alloc<
+ ^
+/usr/lib/gcc/x86_64-redhat-linux/9/../../../../include/c++/9/bits/unordered_map.h:105:18: note: in instantiation of template class 'std::_Hashtable<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, sync_bookmarks::BookmarkModelMerger::RemoteTreeNode>, std::allocator<std::pair<con
+st std::__cxx11::basic_string<char>, sync_bookmarks::BookmarkModelMerger::RemoteTreeNode> >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char> >, std::hash<std::string>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__deta
+il::_Hashtable_traits<true, false, true> >' requested here
+ _Hashtable _M_h;
+ ^
+../../components/sync_bookmarks/bookmark_model_merger.h:146:22: note: in instantiation of template class 'std::unordered_map<std::__cxx11::basic_string<char>, sync_bookmarks::BookmarkModelMerger::RemoteTreeNode, std::hash<std::string>, std::equal_to<std::__cxx11::basic_string<char> >, std::allocator<std::pair<con
+st std::__cxx11::basic_string<char>, sync_bookmarks::BookmarkModelMerger::RemoteTreeNode> > >' requested here
+ const RemoteForest remote_forest_;
+ ^
+../../components/sync_bookmarks/bookmark_model_merger.h:53:9: note: forward declaration of 'sync_bookmarks::BookmarkModelMerger::RemoteTreeNode'
+ class RemoteTreeNode;
+ ^
+
+Essentially, the problem is that libstdc++'s std::unordered_map<T, U>
+implementation requires both T and U to be fully declared. I raised the
+problem in https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92770, and GCC's
+position is that we are relying on undefined behavior according to the C++
+standard (https://eel.is/c++draft/requirements#res.on.functions-2.5).
+
+Bug: 957519
+Change-Id: Ife7e435e516932a795bfbe05b2c910c3272878f0
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1960156
+Commit-Queue: Raphael Kubo da Costa <raphael.kubo.da.costa(a)intel.com>
+Reviewed-by: Mikel Astiz <mastiz(a)chromium.org>
+Auto-Submit: Raphael Kubo da Costa <raphael.kubo.da.costa(a)intel.com>
+Cr-Commit-Position: refs/heads/master@{#725070}
+---
+
+diff --git a/components/sync_bookmarks/bookmark_model_merger.cc b/components/sync_bookmarks/bookmark_model_merger.cc
+index eae153ef..579848e 100644
+--- a/components/sync_bookmarks/bookmark_model_merger.cc
++++ b/components/sync_bookmarks/bookmark_model_merger.cc
+@@ -5,7 +5,6 @@
+ #include "components/sync_bookmarks/bookmark_model_merger.h"
+
+ #include <algorithm>
+-#include <memory>
+ #include <set>
+ #include <string>
+ #include <utility>
+@@ -205,66 +204,44 @@
+
+ } // namespace
+
+-class BookmarkModelMerger::RemoteTreeNode final {
+- public:
+- // Constructs a tree given |update| as root and recursively all descendants by
+- // traversing |*updates_per_parent_id|. |update| and |updates_per_parent_id|
+- // must not be null. All updates |*updates_per_parent_id| must represent valid
+- // updates. Updates corresponding from descendant nodes are moved away from
+- // |*updates_per_parent_id|.
+- static RemoteTreeNode BuildTree(
+- std::unique_ptr<syncer::UpdateResponseData> update,
+- UpdatesPerParentId* updates_per_parent_id);
++BookmarkModelMerger::RemoteTreeNode::RemoteTreeNode() = default;
+
+- ~RemoteTreeNode() = default;
++BookmarkModelMerger::RemoteTreeNode::~RemoteTreeNode() = default;
+
+- // Allow moves, useful during construction.
+- RemoteTreeNode(RemoteTreeNode&&) = default;
+- RemoteTreeNode& operator=(RemoteTreeNode&&) = default;
++BookmarkModelMerger::RemoteTreeNode::RemoteTreeNode(
++ BookmarkModelMerger::RemoteTreeNode&&) = default;
++BookmarkModelMerger::RemoteTreeNode& BookmarkModelMerger::RemoteTreeNode::
++operator=(BookmarkModelMerger::RemoteTreeNode&&) = default;
+
+- const syncer::EntityData& entity() const { return *update_->entity; }
+- int64_t response_version() const { return update_->response_version; }
++void BookmarkModelMerger::RemoteTreeNode::EmplaceSelfAndDescendantsByGUID(
++ std::unordered_map<std::string, const RemoteTreeNode*>*
++ guid_to_remote_node_map) const {
++ DCHECK(guid_to_remote_node_map);
+
+- // Direct children nodes, sorted by ascending unique position. These are
+- // guaranteed to be valid updates (e.g. IsValidBookmarkSpecifics()).
+- const std::vector<RemoteTreeNode>& children() const { return children_; }
++ const std::string& guid = entity().specifics.bookmark().guid();
++ if (!guid.empty()) {
++ DCHECK(base::IsValidGUID(guid));
+
+- // Recursively emplaces all GUIDs (this node and descendants) into
+- // |*guid_to_remote_node_map|, which must not be null.
+- void EmplaceSelfAndDescendantsByGUID(
+- std::unordered_map<std::string, const RemoteTreeNode*>*
+- guid_to_remote_node_map) const {
+- DCHECK(guid_to_remote_node_map);
+-
+- const std::string& guid = entity().specifics.bookmark().guid();
+- if (!guid.empty()) {
+- DCHECK(base::IsValidGUID(guid));
+-
+- // Duplicate GUIDs have been sorted out before.
+- bool success = guid_to_remote_node_map->emplace(guid, this).second;
+- DCHECK(success);
+- }
+-
+- for (const RemoteTreeNode& child : children_) {
+- child.EmplaceSelfAndDescendantsByGUID(guid_to_remote_node_map);
+- }
++ // Duplicate GUIDs have been sorted out before.
++ bool success = guid_to_remote_node_map->emplace(guid, this).second;
++ DCHECK(success);
+ }
+
+- private:
+- static bool UniquePositionLessThan(const RemoteTreeNode& lhs,
+- const RemoteTreeNode& rhs) {
+- const syncer::UniquePosition a_pos =
+- syncer::UniquePosition::FromProto(lhs.entity().unique_position);
+- const syncer::UniquePosition b_pos =
+- syncer::UniquePosition::FromProto(rhs.entity().unique_position);
+- return a_pos.LessThan(b_pos);
++ for (const RemoteTreeNode& child : children_) {
++ child.EmplaceSelfAndDescendantsByGUID(guid_to_remote_node_map);
+ }
++}
+
+- RemoteTreeNode() = default;
+-
+- std::unique_ptr<syncer::UpdateResponseData> update_;
+- std::vector<RemoteTreeNode> children_;
+-};
++// static
++bool BookmarkModelMerger::RemoteTreeNode::UniquePositionLessThan(
++ const RemoteTreeNode& lhs,
++ const RemoteTreeNode& rhs) {
++ const syncer::UniquePosition a_pos =
++ syncer::UniquePosition::FromProto(lhs.entity().unique_position);
++ const syncer::UniquePosition b_pos =
++ syncer::UniquePosition::FromProto(rhs.entity().unique_position);
++ return a_pos.LessThan(b_pos);
++}
+
+ // static
+ BookmarkModelMerger::RemoteTreeNode
+diff --git a/components/sync_bookmarks/bookmark_model_merger.h b/components/sync_bookmarks/bookmark_model_merger.h
+index 9b59200..bf0783ec 100644
+--- a/components/sync_bookmarks/bookmark_model_merger.h
++++ b/components/sync_bookmarks/bookmark_model_merger.h
+@@ -5,6 +5,7 @@
+ #ifndef COMPONENTS_SYNC_BOOKMARKS_BOOKMARK_MODEL_MERGER_H_
+ #define COMPONENTS_SYNC_BOOKMARKS_BOOKMARK_MODEL_MERGER_H_
+
++#include <memory>
+ #include <string>
+ #include <unordered_map>
+ #include <vector>
+@@ -50,7 +51,52 @@
+
+ private:
+ // Internal representation of a remote tree, composed of nodes.
+- class RemoteTreeNode;
++ class RemoteTreeNode final {
++ private:
++ using UpdatesPerParentId =
++ std::unordered_map<base::StringPiece,
++ syncer::UpdateResponseDataList,
++ base::StringPieceHash>;
++
++ public:
++ // Constructs a tree given |update| as root and recursively all descendants
++ // by traversing |*updates_per_parent_id|. |update| and
++ // |updates_per_parent_id| must not be null. All updates
++ // |*updates_per_parent_id| must represent valid updates. Updates
++ // corresponding from descendant nodes are moved away from
++ // |*updates_per_parent_id|.
++ static RemoteTreeNode BuildTree(
++ std::unique_ptr<syncer::UpdateResponseData> update,
++ UpdatesPerParentId* updates_per_parent_id);
++
++ ~RemoteTreeNode();
++
++ // Allow moves, useful during construction.
++ RemoteTreeNode(RemoteTreeNode&&);
++ RemoteTreeNode& operator=(RemoteTreeNode&&);
++
++ const syncer::EntityData& entity() const { return *update_->entity; }
++ int64_t response_version() const { return update_->response_version; }
++
++ // Direct children nodes, sorted by ascending unique position. These are
++ // guaranteed to be valid updates (e.g. IsValidBookmarkSpecifics()).
++ const std::vector<RemoteTreeNode>& children() const { return children_; }
++
++ // Recursively emplaces all GUIDs (this node and descendants) into
++ // |*guid_to_remote_node_map|, which must not be null.
++ void EmplaceSelfAndDescendantsByGUID(
++ std::unordered_map<std::string, const RemoteTreeNode*>*
++ guid_to_remote_node_map) const;
++
++ private:
++ static bool UniquePositionLessThan(const RemoteTreeNode& lhs,
++ const RemoteTreeNode& rhs);
++
++ RemoteTreeNode();
++
++ std::unique_ptr<syncer::UpdateResponseData> update_;
++ std::vector<RemoteTreeNode> children_;
++ };
+
+ // A forest composed of multiple trees where the root of each tree represents
+ // a permanent node, keyed by server-defined unique tag of the root.
diff --git a/chromium-80-gcc-permissive.patch b/chromium-80-gcc-permissive.patch
new file mode 100644
index 0000000..c7aef49
--- /dev/null
+++ b/chromium-80-gcc-permissive.patch
@@ -0,0 +1,33 @@
+In file included from ../../media/base/media_log_properties.h:13,
+ from ../../media/base/media_log.h:23,
+ from ../../media/filters/frame_processor.h:15,
+ from ../../media/filters/frame_processor.cc:5:
+../../media/base/media_log_properties_helper.h:86:8: error: extra qualification not allowed [-fpermissive]
+ 86 | struct internal::MediaLogPropertyTypeConverter<media::AudioDecoderConfig> {
+ | ^~~~~~~~
+../../media/base/media_log_properties_helper.h:86:75: error: explicit specialization of non-template 'media::internal::<unnamed struct>'
+ 86 | struct internal::MediaLogPropertyTypeConverter<media::AudioDecoderConfig> {
+ | ^
+
+diff --git a/media/base/media_log_properties_helper.h b/media/base/media_log_properties_helper.h
+index 95ff70a..549b003 100644
+--- a/media/base/media_log_properties_helper.h
++++ b/media/base/media_log_properties_helper.h
+@@ -83,7 +83,7 @@ struct MediaLogPropertyTypeConverter<std::vector<T>> {
+
+ // Specializer for sending AudioDecoderConfigs to the media tab in devtools.
+ template <>
+-struct internal::MediaLogPropertyTypeConverter<media::AudioDecoderConfig> {
++struct MediaLogPropertyTypeConverter<media::AudioDecoderConfig> {
+ static base::Value Convert(const AudioDecoderConfig& value) {
+ base::Value result(base::Value::Type::DICTIONARY);
+ result.SetStringKey("codec", GetCodecName(value.codec()));
+@@ -114,7 +114,7 @@ struct internal::MediaLogPropertyTypeConverter<media::AudioDecoderConfig> {
+
+ // Specializer for sending VideoDecoderConfigs to the media tab in devtools.
+ template <>
+-struct internal::MediaLogPropertyTypeConverter<VideoDecoderConfig> {
++struct MediaLogPropertyTypeConverter<VideoDecoderConfig> {
+ static base::Value Convert(const VideoDecoderConfig& value) {
+ base::Value result(base::Value::Type::DICTIONARY);
+ result.SetStringKey("codec", GetCodecName(value.codec()));
diff --git a/chromium-80-gcc-quiche.patch b/chromium-80-gcc-quiche.patch
new file mode 100644
index 0000000..aa3d541
--- /dev/null
+++ b/chromium-80-gcc-quiche.patch
@@ -0,0 +1,30 @@
+From 00f47df999c9b19e80fdc01db0ae9ca1b6a12b3a Mon Sep 17 00:00:00 2001
+From: vasilvv <vasilvv(a)google.com>
+Date: Wed, 03 Apr 2019 13:58:53 -0700
+Subject: [PATCH] GCC: do not delete move constructor of QuicStreamSendBuffer
+
+QuicStreamSendBuffer constructor is implicitely required in the
+initialization of the vector of substreams in QuicCryptoStream.
+Though clang apparently ignores that, GCC fails to build.
+
+BUG=chromium:819294
+
+Originally submitted by José Dapena Paz <jose.dapena(a)lge.com> at https://quiche-review.googlesource.com/c/quiche/+/2420
+
+PiperOrigin-RevId: 241800134
+Change-Id: I4e3c97d6e5895d85340e8c1b740e6196d9104066
+---
+
+diff --git a/net/third_party/quiche/src/quic/core/quic_stream_send_buffer.h b/net/third_party/quiche/src/quic/core/quic_stream_send_buffer.h
+index e34514b..74e9d0d 100644
+--- a/net/third_party/quiche/src/quic/core/quic_stream_send_buffer.h
++++ b/net/third_party/quiche/src/quic/core/quic_stream_send_buffer.h
+@@ -62,7 +62,7 @@
+ public:
+ explicit QuicStreamSendBuffer(QuicBufferAllocator* allocator);
+ QuicStreamSendBuffer(const QuicStreamSendBuffer& other) = delete;
+- QuicStreamSendBuffer(QuicStreamSendBuffer&& other) = delete;
++ QuicStreamSendBuffer(QuicStreamSendBuffer&& other) = default;
+ ~QuicStreamSendBuffer();
+
+ // Save |data_length| of data starts at |iov_offset| in |iov| to send buffer.
diff --git a/chromium-80-include.patch b/chromium-80-include.patch
new file mode 100644
index 0000000..dd85de7
--- /dev/null
+++ b/chromium-80-include.patch
@@ -0,0 +1,33 @@
+From 8273f4d3130e06fd8b6bef87b07c936304b971d9 Mon Sep 17 00:00:00 2001
+From: Raphael Kubo da Costa <raphael.kubo.da.costa(a)intel.com>
+Date: Tue, 10 Dec 2019 20:59:57 +0000
+Subject: [PATCH] [cros search service]: Include <cmath> for std::pow()
+
+IWYU. Follow up to commit 2b2ea3c09b ("[cros search service] Move shared
+string matching functions to //chrome"), which broke the libstdc++ build:
+
+ ../../chrome/common/string_matching/fuzzy_tokenized_string_match.cc:199:14: error: no member named 'pow' in namespace 'std'
+ std::pow(partial_match_penalty_rate, long_start - current - 1);
+ ~~~~~^
+
+Bug: 957519
+Change-Id: I66f61cb4f93cfa0bfa3d1b00ba391ddd8f31a7fb
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1960310
+Auto-Submit: Raphael Kubo da Costa <raphael.kubo.da.costa(a)intel.com>
+Reviewed-by: Jia Meng <jiameng(a)chromium.org>
+Commit-Queue: Raphael Kubo da Costa <raphael.kubo.da.costa(a)intel.com>
+Cr-Commit-Position: refs/heads/master@{#723499}
+---
+
+diff --git a/chrome/common/string_matching/fuzzy_tokenized_string_match.cc b/chrome/common/string_matching/fuzzy_tokenized_string_match.cc
+index 8351fa7..884ef63 100644
+--- a/chrome/common/string_matching/fuzzy_tokenized_string_match.cc
++++ b/chrome/common/string_matching/fuzzy_tokenized_string_match.cc
+@@ -5,6 +5,7 @@
+ #include "chrome/common/string_matching/fuzzy_tokenized_string_match.h"
+
+ #include <algorithm>
++#include <cmath>
+ #include <iterator>
+
+ #include "base/i18n/case_conversion.h"
diff --git a/chromium-80-unbundle-libxml.patch b/chromium-80-unbundle-libxml.patch
new file mode 100644
index 0000000..0f36905
--- /dev/null
+++ b/chromium-80-unbundle-libxml.patch
@@ -0,0 +1,101 @@
+diff --git a/build/linux/unbundle/libxml.gn b/build/linux/unbundle/libxml.gn
+index c481bd3..3aaa1a4 100644
+--- a/build/linux/unbundle/libxml.gn
++++ b/build/linux/unbundle/libxml.gn
+@@ -8,11 +8,52 @@ pkg_config("system_libxml") {
+ packages = [ "libxml-2.0" ]
+ }
+
+-static_library("libxml") {
++source_set("libxml") {
++ public_configs = [ ":system_libxml" ]
++}
++
++static_library("libxml_utils") {
++ # Do not expand this visibility list without first consulting with the
++ # Security Team.
++ visibility = [
++ ":xml_reader",
++ ":xml_writer",
++ "//base/test:test_support",
++ "//services/data_decoder:xml_parser_fuzzer",
++ ]
+ sources = [
+ "chromium/libxml_utils.cc",
+ "chromium/libxml_utils.h",
+ ]
+-
+ public_configs = [ ":system_libxml" ]
+ }
++
++static_library("xml_reader") {
++ # Do not expand this visibility list without first consulting with the
++ # Security Team.
++ visibility = [
++ "//base/test:test_support",
++ "//components/policy/core/common:unit_tests",
++ "//services/data_decoder:*",
++ "//tools/traffic_annotation/auditor:auditor_sources",
++ ]
++ sources = [
++ "chromium/xml_reader.cc",
++ "chromium/xml_reader.h",
++ ]
++ deps = [
++ ":libxml_utils",
++ ]
++}
++
++static_library("xml_writer") {
++ # The XmlWriter is considered safe to use from any target.
++ visibility = [ "*" ]
++ sources = [
++ "chromium/xml_writer.cc",
++ "chromium/xml_writer.h",
++ ]
++ deps = [
++ ":libxml_utils",
++ ]
++}
+diff --git a/third_party/libxml/chromium/libxml_utils.h b/third_party/libxml/chromium/libxml_utils.h
+index ff969fa..e0f3ecd 100644
+--- a/third_party/libxml/chromium/libxml_utils.h
++++ b/third_party/libxml/chromium/libxml_utils.h
+@@ -6,8 +6,7 @@
+ #define THIRD_PARTY_LIBXML_CHROMIUM_LIBXML_UTILS_H_
+
+ #include <string>
+-
+-#include "third_party/libxml/src/include/libxml/xmlreader.h"
++#include <libxml/xmlreader.h>
+
+ // libxml uses a global error function pointer for reporting errors.
+ // A ScopedXmlErrorFunc object lets you change the global error pointer
+diff --git a/third_party/libxml/chromium/xml_reader.cc b/third_party/libxml/chromium/xml_reader.cc
+index 92464f4..4779290 100644
+--- a/third_party/libxml/chromium/xml_reader.cc
++++ b/third_party/libxml/chromium/xml_reader.cc
+@@ -7,7 +7,8 @@
+ #include <vector>
+
+ #include "third_party/libxml/chromium/libxml_utils.h"
+-#include "third_party/libxml/src/include/libxml/xmlreader.h"
++
++#include <libxml/xmlreader.h>
+
+ using internal::XmlStringToStdString;
+
+diff --git a/third_party/libxml/chromium/xml_writer.cc b/third_party/libxml/chromium/xml_writer.cc
+index 51fce8e..aa3a34f 100644
+--- a/third_party/libxml/chromium/xml_writer.cc
++++ b/third_party/libxml/chromium/xml_writer.cc
+@@ -5,7 +5,8 @@
+ #include "third_party/libxml/chromium/xml_writer.h"
+
+ #include "third_party/libxml/chromium/libxml_utils.h"
+-#include "third_party/libxml/src/include/libxml/xmlwriter.h"
++
++#include <libxml/xmlwriter.h>
+
+ XmlWriter::XmlWriter() : writer_(nullptr), buffer_(nullptr) {}
+
diff --git a/chromium-80.0.3987.106-missing-cstddef-header.patch b/chromium-80.0.3987.106-missing-cstddef-header.patch
new file mode 100644
index 0000000..832cf02
--- /dev/null
+++ b/chromium-80.0.3987.106-missing-cstddef-header.patch
@@ -0,0 +1,44 @@
+diff -up chromium-80.0.3987.106/chrome/browser/search/background/ntp_backgrounds.h.missing-cstddef chromium-80.0.3987.106/chrome/browser/search/background/ntp_backgrounds.h
+--- chromium-80.0.3987.106/chrome/browser/search/background/ntp_backgrounds.h.missing-cstddef 2020-02-18 08:42:38.088243182 -0500
++++ chromium-80.0.3987.106/chrome/browser/search/background/ntp_backgrounds.h 2020-02-18 08:42:59.679782858 -0500
+@@ -6,6 +6,7 @@
+ #define CHROME_BROWSER_SEARCH_BACKGROUND_NTP_BACKGROUNDS_H_
+
+ #include <array>
++#include <cstddef>
+
+ class GURL;
+
+diff -up chromium-80.0.3987.106/media/cdm/supported_cdm_versions.h.missing-cstddef chromium-80.0.3987.106/media/cdm/supported_cdm_versions.h
+--- chromium-80.0.3987.106/media/cdm/supported_cdm_versions.h.missing-cstddef 2020-02-17 16:26:51.661246220 -0500
++++ chromium-80.0.3987.106/media/cdm/supported_cdm_versions.h 2020-02-17 16:26:51.662246200 -0500
+@@ -6,6 +6,7 @@
+ #define MEDIA_CDM_SUPPORTED_CDM_VERSIONS_H_
+
+ #include <array>
++#include <cstddef>
+
+ #include "media/base/media_export.h"
+ #include "media/cdm/api/content_decryption_module.h"
+diff -up chromium-80.0.3987.106/third_party/angle/include/platform/Platform.h.missing-cstddef chromium-80.0.3987.106/third_party/angle/include/platform/Platform.h
+--- chromium-80.0.3987.106/third_party/angle/include/platform/Platform.h.missing-cstddef 2020-02-17 16:26:07.433130572 -0500
++++ chromium-80.0.3987.106/third_party/angle/include/platform/Platform.h 2020-02-17 16:26:07.434130552 -0500
+@@ -11,6 +11,7 @@
+
+ #include <stdint.h>
+ #include <array>
++#include <cstddef>
+
+ #define EGL_PLATFORM_ANGLE_PLATFORM_METHODS_ANGLEX 0x3482
+
+diff -up chromium-80.0.3987.106/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h.missing-cstddef chromium-80.0.3987.106/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h
+--- chromium-80.0.3987.106/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h.missing-cstddef 2020-02-17 16:23:41.385050827 -0500
++++ chromium-80.0.3987.106/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h 2020-02-17 16:23:41.368051167 -0500
+@@ -12,6 +12,7 @@
+ #define MODULES_AUDIO_PROCESSING_AEC3_CLOCKDRIFT_DETECTOR_H_
+
+ #include <array>
++#include <cstddef>
+
+ namespace webrtc {
+
diff --git a/chromium-80.0.3987.106-missing-cstring-header.patch b/chromium-80.0.3987.106-missing-cstring-header.patch
new file mode 100644
index 0000000..646dac6
--- /dev/null
+++ b/chromium-80.0.3987.106-missing-cstring-header.patch
@@ -0,0 +1,34 @@
+diff -up chromium-80.0.3987.106/third_party/webrtc/audio/utility/channel_mixer.cc.missing-cstring chromium-80.0.3987.106/third_party/webrtc/audio/utility/channel_mixer.cc
+--- chromium-80.0.3987.106/third_party/webrtc/audio/utility/channel_mixer.cc.missing-cstring 2020-02-21 13:19:47.077683105 -0500
++++ chromium-80.0.3987.106/third_party/webrtc/audio/utility/channel_mixer.cc 2020-02-21 13:19:47.077683105 -0500
+@@ -8,6 +8,8 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <cstring>
++
+ #include "audio/utility/channel_mixer.h"
+
+ #include "audio/utility/channel_mixing_matrix.h"
+diff -up chromium-80.0.3987.106/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc.missing-cstring chromium-80.0.3987.106/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc
+--- chromium-80.0.3987.106/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc.missing-cstring 2020-02-21 13:19:48.171659179 -0500
++++ chromium-80.0.3987.106/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc 2020-02-21 13:19:48.174659113 -0500
+@@ -17,6 +17,7 @@
+ #include <spa/param/video/raw-utils.h>
+ #include <spa/support/type-map.h>
+
++#include <cstring>
+ #include <memory>
+ #include <utility>
+
+diff -up chromium-80.0.3987.106/third_party/webrtc/modules/video_coding/utility/ivf_file_reader.cc.missing-cstring chromium-80.0.3987.106/third_party/webrtc/modules/video_coding/utility/ivf_file_reader.cc
+--- chromium-80.0.3987.106/third_party/webrtc/modules/video_coding/utility/ivf_file_reader.cc.missing-cstring 2020-02-21 13:30:09.609068057 -0500
++++ chromium-80.0.3987.106/third_party/webrtc/modules/video_coding/utility/ivf_file_reader.cc 2020-02-21 13:30:23.791757875 -0500
+@@ -10,6 +10,7 @@
+
+ #include "modules/video_coding/utility/ivf_file_reader.h"
+
++#include <cstring>
+ #include <string>
+ #include <vector>
+
diff --git a/chromium-80.0.3987.87-fix-for-c++17.patch b/chromium-80.0.3987.87-fix-for-c++17.patch
new file mode 100644
index 0000000..3a29df9
--- /dev/null
+++ b/chromium-80.0.3987.87-fix-for-c++17.patch
@@ -0,0 +1,190 @@
+diff -up chromium-80.0.3987.87/base/containers/flat_tree.h.c17 chromium-80.0.3987.87/base/containers/flat_tree.h
+--- chromium-80.0.3987.87/base/containers/flat_tree.h.c17 2020-02-10 10:48:05.982500272 -0500
++++ chromium-80.0.3987.87/base/containers/flat_tree.h 2020-02-10 11:04:42.148507892 -0500
+@@ -776,7 +776,11 @@ template <class Key, class Value, class
+ template <typename K>
+ auto flat_tree<Key, Value, GetKeyFromValue, KeyCompare>::find(const K& key)
+ -> iterator {
++#ifdef __cpp_lib_as_const
++ return const_cast_it(std::as_const(*this).find(key));
++#else
+ return const_cast_it(as_const(*this).find(key));
++#endif
+ }
+
+ template <class Key, class Value, class GetKeyFromValue, class KeyCompare>
+@@ -799,7 +803,11 @@ template <class Key, class Value, class
+ template <typename K>
+ auto flat_tree<Key, Value, GetKeyFromValue, KeyCompare>::equal_range(
+ const K& key) -> std::pair<iterator, iterator> {
++#ifdef __cpp_lib_as_const
++ auto res = std::as_const(*this).equal_range(key);
++#else
+ auto res = as_const(*this).equal_range(key);
++#endif
+ return {const_cast_it(res.first), const_cast_it(res.second)};
+ }
+
+@@ -820,7 +828,11 @@ template <class Key, class Value, class
+ template <typename K>
+ auto flat_tree<Key, Value, GetKeyFromValue, KeyCompare>::lower_bound(
+ const K& key) -> iterator {
++#ifdef __cpp_lib_as_const
++ return const_cast_it(std::as_const(*this).lower_bound(key));
++#else
+ return const_cast_it(as_const(*this).lower_bound(key));
++#endif
+ }
+
+ template <class Key, class Value, class GetKeyFromValue, class KeyCompare>
+@@ -841,7 +853,11 @@ template <class Key, class Value, class
+ template <typename K>
+ auto flat_tree<Key, Value, GetKeyFromValue, KeyCompare>::upper_bound(
+ const K& key) -> iterator {
++#ifdef __cpp_lib_as_const
++ return const_cast_it(std::as_const(*this).upper_bound(key));
++#else
+ return const_cast_it(as_const(*this).upper_bound(key));
++#endif
+ }
+
+ template <class Key, class Value, class GetKeyFromValue, class KeyCompare>
+diff -up chromium-80.0.3987.106/third_party/webrtc/BUILD.gn.c17fix chromium-80.0.3987.106/third_party/webrtc/BUILD.gn
+--- chromium-80.0.3987.106/third_party/webrtc/BUILD.gn.c17fix 2020-02-20 15:00:23.439563056 -0500
++++ chromium-80.0.3987.106/third_party/webrtc/BUILD.gn 2020-02-20 15:01:36.282355645 -0500
+@@ -237,6 +237,10 @@ config("common_config") {
+ cflags_objc = []
+ defines = []
+
++ if (!is_clang) {
++ cflags_cc += [ "-std=c++17" ]
++ }
++
+ if (rtc_enable_protobuf) {
+ defines += [ "WEBRTC_ENABLE_PROTOBUF=1" ]
+ } else {
+diff -up chromium-80.0.3987.106/third_party/abseil-cpp/BUILD.gn.c17fix chromium-80.0.3987.106/third_party/abseil-cpp/BUILD.gn
+--- chromium-80.0.3987.106/third_party/abseil-cpp/BUILD.gn.c17fix 2020-02-21 15:12:14.413937754 -0500
++++ chromium-80.0.3987.106/third_party/abseil-cpp/BUILD.gn 2020-02-21 15:12:59.128967149 -0500
+@@ -46,6 +46,10 @@ config("absl_default_cflags_cc") {
+ cflags_cc += [ "-Wbitfield-enum-conversion" ]
+ }
+ }
++ if (!is_clang) {
++ cflags_cc = [ "-std=c++17" ]
++ }
++
+ if (is_win) {
+ cflags_cc += [
+ "/wd4005", # macro-redefinition
+diff -up chromium-80.0.3987.106/third_party/openscreen/src/tools/cddl/BUILD.gn.c17fix chromium-80.0.3987.106/third_party/openscreen/src/tools/cddl/BUILD.gn
+--- chromium-80.0.3987.106/third_party/openscreen/src/tools/cddl/BUILD.gn.c17fix 2020-02-21 15:35:56.269180510 -0500
++++ chromium-80.0.3987.106/third_party/openscreen/src/tools/cddl/BUILD.gn 2020-02-21 15:42:12.718900742 -0500
+@@ -22,6 +22,10 @@ if (current_toolchain == host_toolchain)
+ "../../third_party/abseil",
+ ]
+
++ if (!is_clang) {
++ cflags_cc = [ "-std=c++17" ]
++ }
++
+ configs += [ "../../build:openscreen_include_dirs" ]
+ }
+ }
+diff -up chromium-80.0.3987.106/build/config/compiler/BUILD.gn.c17hack chromium-80.0.3987.106/build/config/compiler/BUILD.gn
+--- chromium-80.0.3987.106/build/config/compiler/BUILD.gn.c17hack 2020-02-21 16:09:22.871980103 -0500
++++ chromium-80.0.3987.106/build/config/compiler/BUILD.gn 2020-02-21 16:09:28.606856106 -0500
+@@ -570,7 +570,7 @@ config("compiler") {
+ if (cxx11_override) {
+ cflags_cc += [ "-std=c++11" ]
+ } else {
+- cflags_cc += [ "-std=c++14" ]
++ cflags_cc += [ "-std=c++17" ]
+ }
+ }
+
+diff -up chromium-80.0.3987.106/third_party/openscreen/src/build/config/BUILD.gn.c17fix chromium-80.0.3987.106/third_party/openscreen/src/build/config/BUILD.gn
+--- chromium-80.0.3987.106/third_party/openscreen/src/build/config/BUILD.gn.c17fix 2020-02-24 08:55:52.674819783 -0500
++++ chromium-80.0.3987.106/third_party/openscreen/src/build/config/BUILD.gn 2020-02-24 08:56:08.665466317 -0500
+@@ -67,8 +67,8 @@ config("openscreen_code") {
+ "-fno-strict-aliasing", # See http://crbug.com/32204
+ ]
+
+- cflags_cc = [ "-std=c++14" ]
+- cflags_objcc = [ "-std=c++14" ]
++ cflags_cc = [ "-std=c++17" ]
++ cflags_objcc = [ "-std=c++17" ]
+
+ ldflags = [ "-Werror" ]
+
+diff -up chromium-80.0.3987.106/build/config/compiler/BUILD.gn.c17fix chromium-80.0.3987.106/build/config/compiler/BUILD.gn
+--- chromium-80.0.3987.106/build/config/compiler/BUILD.gn.c17fix 2020-02-24 09:39:14.659536642 -0500
++++ chromium-80.0.3987.106/build/config/compiler/BUILD.gn 2020-02-24 09:39:23.098366657 -0500
+@@ -553,7 +553,7 @@ config("compiler") {
+ # Override Chromium's default for projects that wish to stay on C++11.
+ cflags_cc += [ "-std=${standard_prefix}++11" ]
+ } else {
+- cflags_cc += [ "-std=${standard_prefix}++14" ]
++ cflags_cc += [ "-std=${standard_prefix}++17" ]
+ }
+ } else if (!is_win && !is_nacl) {
+ if (target_os == "android") {
+diff -up chromium-80.0.3987.106/third_party/openscreen/src/platform/api/task_runner.h.spot chromium-80.0.3987.106/third_party/openscreen/src/platform/api/task_runner.h
+--- chromium-80.0.3987.106/third_party/openscreen/src/platform/api/task_runner.h.spot 2020-02-24 10:56:54.645126949 -0500
++++ chromium-80.0.3987.106/third_party/openscreen/src/platform/api/task_runner.h 2020-02-24 10:57:26.788407144 -0500
+@@ -22,7 +22,7 @@ namespace platform {
+ // that A shall run before B.
+ class TaskRunner {
+ public:
+- using Task = std::packaged_task<void() noexcept>;
++ using Task = std::packaged_task<void()>;
+
+ virtual ~TaskRunner() = default;
+
+diff -up chromium-80.0.3987.106/base/containers/circular_deque.h.c17fix chromium-80.0.3987.106/base/containers/circular_deque.h
+--- chromium-80.0.3987.106/base/containers/circular_deque.h.c17fix 2020-02-24 14:42:14.163076162 -0500
++++ chromium-80.0.3987.106/base/containers/circular_deque.h 2020-02-24 14:43:38.393120439 -0500
+@@ -522,11 +522,19 @@ class circular_deque {
+ return buffer_[i - right_size];
+ }
+ value_type& at(size_type i) {
++#ifdef __cpp_lib_as_const
++ return const_cast<value_type&>(std::as_const(*this).at(i));
++#else
+ return const_cast<value_type&>(as_const(*this).at(i));
++#endif
+ }
+
+ value_type& operator[](size_type i) {
++#ifdef __cpp_lib_as_const
++ return const_cast<value_type&>(std::as_const(*this)[i]);
++#else
+ return const_cast<value_type&>(as_const(*this)[i]);
++#endif
+ }
+
+ const value_type& operator[](size_type i) const { return at(i); }
+diff -up chromium-80.0.3987.106/device/bluetooth/bluetooth_adapter.cc.c17fix chromium-80.0.3987.106/device/bluetooth/bluetooth_adapter.cc
+--- chromium-80.0.3987.106/device/bluetooth/bluetooth_adapter.cc.c17fix 2020-02-24 16:09:58.810502665 -0500
++++ chromium-80.0.3987.106/device/bluetooth/bluetooth_adapter.cc 2020-02-24 16:10:35.484705843 -0500
+@@ -638,7 +638,7 @@ void BluetoothAdapter::RecordBluetoothDi
+ }
+
+ // static
+-constexpr base::TimeDelta BluetoothAdapter::timeoutSec =
++const extern base::TimeDelta BluetoothAdapter::timeoutSec =
+ base::TimeDelta::FromSeconds(180);
+
+ } // namespace device
+diff -up chromium-80.0.3987.122/content/browser/web_package/signed_exchange_prologue.cc.c17fix chromium-80.0.3987.122/content/browser/web_package/signed_exchange_prologue.cc
+--- chromium-80.0.3987.122/content/browser/web_package/signed_exchange_prologue.cc.c17fix 2020-02-27 13:48:15.815885662 -0500
++++ chromium-80.0.3987.122/content/browser/web_package/signed_exchange_prologue.cc 2020-02-27 13:48:24.146711682 -0500
+@@ -30,7 +30,7 @@ constexpr size_t kMaximumCBORHeaderLengt
+
+ namespace signed_exchange_prologue {
+
+-constexpr size_t BeforeFallbackUrl::kEncodedSizeInBytes =
++const extern size_t BeforeFallbackUrl::kEncodedSizeInBytes =
+ sizeof(kSignedExchangeMagic) + kFallbackUrlLengthFieldSizeInBytes;
+
+ size_t Parse2BytesEncodedLength(base::span<const uint8_t> input) {
diff --git a/chromium-80.0.3987.87-missing-cstdint-header.patch b/chromium-80.0.3987.87-missing-cstdint-header.patch
new file mode 100644
index 0000000..e61042f
--- /dev/null
+++ b/chromium-80.0.3987.87-missing-cstdint-header.patch
@@ -0,0 +1,55 @@
+diff -up chromium-80.0.3987.106/third_party/perfetto/include/perfetto/base/task_runner.h.missing-cstdint chromium-80.0.3987.106/third_party/perfetto/include/perfetto/base/task_runner.h
+--- chromium-80.0.3987.106/third_party/perfetto/include/perfetto/base/task_runner.h.missing-cstdint 2020-02-21 12:29:43.393191877 -0500
++++ chromium-80.0.3987.106/third_party/perfetto/include/perfetto/base/task_runner.h 2020-02-21 12:29:43.393191877 -0500
+@@ -17,6 +17,7 @@
+ #ifndef INCLUDE_PERFETTO_BASE_TASK_RUNNER_H_
+ #define INCLUDE_PERFETTO_BASE_TASK_RUNNER_H_
+
++#include <cstdint>
+ #include <functional>
+
+ #include "perfetto/base/export.h"
+diff -up chromium-80.0.3987.106/third_party/webrtc/call/rtx_receive_stream.h.missing-cstdint chromium-80.0.3987.106/third_party/webrtc/call/rtx_receive_stream.h
+--- chromium-80.0.3987.106/third_party/webrtc/call/rtx_receive_stream.h.missing-cstdint 2020-02-21 12:30:30.739332871 -0500
++++ chromium-80.0.3987.106/third_party/webrtc/call/rtx_receive_stream.h 2020-02-21 12:30:30.747332725 -0500
+@@ -11,6 +11,7 @@
+ #ifndef CALL_RTX_RECEIVE_STREAM_H_
+ #define CALL_RTX_RECEIVE_STREAM_H_
+
++#include <cstdint>
+ #include <map>
+
+ #include "call/rtp_packet_sink_interface.h"
+diff -up chromium-80.0.3987.106/third_party/webrtc/common_video/h264/pps_parser.h.missing-cstdint chromium-80.0.3987.106/third_party/webrtc/common_video/h264/pps_parser.h
+--- chromium-80.0.3987.106/third_party/webrtc/common_video/h264/pps_parser.h.missing-cstdint 2020-02-21 12:30:31.564317903 -0500
++++ chromium-80.0.3987.106/third_party/webrtc/common_video/h264/pps_parser.h 2020-02-21 12:30:31.561317957 -0500
+@@ -11,6 +11,7 @@
+ #ifndef COMMON_VIDEO_H264_PPS_PARSER_H_
+ #define COMMON_VIDEO_H264_PPS_PARSER_H_
+
++#include <cstdint>
+ #include "absl/types/optional.h"
+
+ namespace rtc {
+diff -up chromium-80.0.3987.106/third_party/webrtc/common_video/h264/sps_parser.h.missing-cstdint chromium-80.0.3987.106/third_party/webrtc/common_video/h264/sps_parser.h
+--- chromium-80.0.3987.106/third_party/webrtc/common_video/h264/sps_parser.h.missing-cstdint 2020-02-21 12:30:31.565317885 -0500
++++ chromium-80.0.3987.106/third_party/webrtc/common_video/h264/sps_parser.h 2020-02-21 12:30:31.565317885 -0500
+@@ -11,6 +11,7 @@
+ #ifndef COMMON_VIDEO_H264_SPS_PARSER_H_
+ #define COMMON_VIDEO_H264_SPS_PARSER_H_
+
++#include <cstdint>
+ #include "absl/types/optional.h"
+
+ namespace rtc {
+diff -up chromium-80.0.3987.106/third_party/webrtc/modules/include/module_common_types_public.h.missing-cstdint chromium-80.0.3987.106/third_party/webrtc/modules/include/module_common_types_public.h
+--- chromium-80.0.3987.106/third_party/webrtc/modules/include/module_common_types_public.h.missing-cstdint 2020-02-21 12:52:16.946512744 -0500
++++ chromium-80.0.3987.106/third_party/webrtc/modules/include/module_common_types_public.h 2020-02-21 12:52:26.220312608 -0500
+@@ -11,6 +11,7 @@
+ #ifndef MODULES_INCLUDE_MODULE_COMMON_TYPES_PUBLIC_H_
+ #define MODULES_INCLUDE_MODULE_COMMON_TYPES_PUBLIC_H_
+
++#include <cstdint>
+ #include <limits>
+
+ #include "absl/types/optional.h"
diff --git a/chromium-80.0.3987.87-missing-string-header.patch b/chromium-80.0.3987.87-missing-string-header.patch
new file mode 100644
index 0000000..6bb4c7d
--- /dev/null
+++ b/chromium-80.0.3987.87-missing-string-header.patch
@@ -0,0 +1,11 @@
+diff -up chromium-80.0.3987.87/base/trace_event/trace_event_memory_overhead.h.missing-string chromium-80.0.3987.87/base/trace_event/trace_event_memory_overhead.h
+--- chromium-80.0.3987.87/base/trace_event/trace_event_memory_overhead.h.missing-string 2020-02-06 16:47:15.707676509 -0500
++++ chromium-80.0.3987.87/base/trace_event/trace_event_memory_overhead.h 2020-02-06 16:47:23.782504337 -0500
+@@ -8,6 +8,7 @@
+ #include <stddef.h>
+ #include <stdint.h>
+
++#include <string>
+ #include <unordered_map>
+
+ #include "base/base_export.h"
diff --git a/chromium-browser-privacy.spec b/chromium-browser-privacy.spec
index 43c5f0d..00dec12 100644
--- a/chromium-browser-privacy.spec
+++ b/chromium-browser-privacy.spec
@@ -35,7 +35,7 @@
%bcond_without system_libxml2
# Clang toggle
-%global clang 1
+%global clang 0
# Allow testing whether icu can be unbundled
# A patch fix building so enabled by default for Fedora 30
@@ -69,8 +69,8 @@
%global ozone 0
##############################Package Definitions######################################
Name: chromium-browser-privacy
-Version: 79.0.3945.130
-Release: 2%{?dist}
+Version: 80.0.3987.122
+Release: 1%{?dist}
Summary: Chromium, sans integration with Google
License: BSD and LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and OpenSSL and (MPLv1.1 or GPLv2 or LGPLv2)
URL: https://github.com/Eloston/ungoogled-chromium
@@ -91,7 +91,7 @@ Source0: https://commondatastorage.googleapis.com/chromium-browser-official/c
# ./chromium-latest.py --stable --ffmpegclean --ffmpegarm --deleteunrar
Source0: chromium-%{version}-clean.tar.xz
%endif
-%global ungoogled_chromium_revision 79.0.3945.130-1
+%global ungoogled_chromium_revision 80.0.3987.122-1
Source300: https://github.com/Eloston/ungoogled-chromium/archive/%{ungoogled_chromiu...
# The following two source files are copied and modified from the chromium source
Source10: %{name}.sh
@@ -209,8 +209,6 @@ Recommends: libva-utils
# This build should be only available to amd64
ExclusiveArch: x86_64
# Define Patches here ##
-# Use ~/.config/ungoogled-chromium instead of ~/.config/chromium
-Patch300: chromium-default-user-data-dir.patch
# Enable video acceleration on chromium for Linux
Patch1: enable-vaapi.patch
# Enable support for widevine
@@ -225,23 +223,35 @@ Patch51: py2-bootstrap.patch
Patch52: chromium-system-icu.patch
# Let's brand chromium!
Patch54: brand.patch
-#Stolen from Fedora to fix building with pipewire
-# https://src.fedoraproject.org/rpms/chromium/blob/master/f/chromium-73.0.3...
-Patch65: chromium-73.0.3683.75-pipewire-cstring-fix.patch
# Fix header
Patch68: Add-missing-header-to-fix-webrtc-build.patch
Patch69: chromium-unbundle-zlib.patch
Patch70: chromium-base-location.patch
-Patch71: fix-spammy-unique-font-matching-log.patch
-# GCC
-Patch72: include-algorithm-to-use-std-lower_bound.patch
-Patch73: launch_manager.h-uses-std-vector.patch
-# Fix: STolen from Fedora
-Patch74: chromium-79.0.3945.56-glibc-clock-nanosleep.patch
-# ICU ver. 65 support on Rawhide
-Patch75: icu65.patch
-#Fix building with system harfbuzz
-Patch76: chromium-fix-use_system_harfbuzz-ng.patch
+
+# ungoogled-chromium tweaks:
+Patch300: chromium-default-user-data-dir.patch
+
+# Gentoo:
+Patch400: chromium-80-include.patch
+Patch401: chromium-80-gcc-incomplete-type.patch
+Patch402: chromium-80-gcc-quiche.patch
+Patch403: chromium-80-gcc-permissive.patch
+Patch404: chromium-80-gcc-blink.patch
+Patch405: chromium-80-gcc-abstract.patch
+%if %{with system_libxml2}
+Patch406: chromium-80-unbundle-libxml.patch
+%endif
+
+# Fedora:
+Patch500: chromium-80.0.3987.87-missing-string-header.patch
+Patch501: chromium-80.0.3987.106-missing-cstddef-header.patch
+Patch502: chromium-80.0.3987.87-missing-cstdint-header.patch
+Patch503: chromium-77.0.3865.75-gcc-include-memory.patch
+Patch504: chromium-80.0.3987.106-missing-cstring-header.patch
+%if 0%{?fedora} >= 32
+Patch505: chromium-79.0.3945.130-gcc10-use-c++17-to-work-around-ugly-angle-code.patch
+Patch506: chromium-80.0.3987.87-fix-for-c++17.patch
+%endif
%description
@@ -271,11 +281,6 @@ python3 -B %{ungoogled_chromium_root}/utils/prune_binaries.py . \
%if !%{freeworld}
%patch54 -p1 -R
%endif
-%if 0%{?fedora} <= 31
-# Only on Rawhide
-%patch74 -p1 -R
-%patch75 -p1 -R
-%endif
#Let's change the default shebang of python files.
@@ -311,6 +316,7 @@ find -depth -type f -writable -name "*.py" -exec sed -iE '1s=^#! */usr/bin/\(pyt
third_party/angle/src/third_party/compiler \
third_party/angle/src/third_party/libXNVCtrl \
third_party/angle/src/third_party/trace_event \
+ third_party/libgifcodec \
third_party/glslang \
third_party/angle/third_party/spirv-headers \
third_party/angle/third_party/spirv-tools \
@@ -322,9 +328,6 @@ find -depth -type f -writable -name "*.py" -exec sed -iE '1s=^#! */usr/bin/\(pyt
third_party/axe-core \
third_party/boringssl \
third_party/boringssl/src/third_party/fiat \
- third_party/boringssl/src/third_party/sike \
- third_party/boringssl/linux-aarch64/crypto/third_party/sike \
- third_party/boringssl/linux-x86_64/crypto/third_party/sike \
third_party/blink \
third_party/breakpad \
third_party/breakpad/breakpad/src/third_party/curl \
@@ -358,13 +361,14 @@ find -depth -type f -writable -name "*.py" -exec sed -iE '1s=^#! */usr/bin/\(pyt
third_party/depot_tools \
third_party/dav1d \
third_party/devscripts \
+ third_party/devtools-frontend \
+ third_party/devtools-frontend/src/third_party \
third_party/dom_distiller_js \
third_party/emoji-segmenter \
%if !%{with system_ffmpeg}
third_party/ffmpeg \
%endif
third_party/flatbuffers \
- third_party/flot \
third_party/freetype \
third_party/google_input_tools \
third_party/google_input_tools/third_party/closure_library \
@@ -458,7 +462,6 @@ find -depth -type f -writable -name "*.py" -exec sed -iE '1s=^#! */usr/bin/\(pyt
third_party/skia \
third_party/skia/include/third_party/skcms \
third_party/skia/include/third_party/vulkan \
- third_party/skia/third_party/gif \
third_party/skia/third_party/vulkan \
third_party/skia/third_party/skcms \
third_party/smhasher \
@@ -738,7 +741,6 @@ install -m 755 %{target}/chromedriver %{buildroot}%{chromiumdir}/
%if !%{with system_libicu}
install -m 644 %{target}/icudtl.dat %{buildroot}%{chromiumdir}/
%endif
-install -m 644 %{target}/natives_blob.bin %{buildroot}%{chromiumdir}/
install -m 644 %{target}/v8_context_snapshot.bin %{buildroot}%{chromiumdir}/
install -m 644 %{target}/*.pak %{buildroot}%{chromiumdir}/
install -m 644 %{target}/locales/*.pak %{buildroot}%{chromiumdir}/locales/
@@ -785,7 +787,6 @@ appstream-util validate-relax --nonet "%{buildroot}%{_metainfodir}/%{name}.appda
%if !%{with system_libicu}
%{chromiumdir}/icudtl.dat
%endif
-%{chromiumdir}/natives_blob.bin
%{chromiumdir}/v8_context_snapshot.bin
%{chromiumdir}/*.pak
%{chromiumdir}/xdg-mime
@@ -797,6 +798,10 @@ appstream-util validate-relax --nonet "%{buildroot}%{_metainfodir}/%{name}.appda
%{chromiumdir}/swiftshader/libGLESv2.so
#########################################changelogs#################################################
%changelog
+* Thu Feb 27 2020 qvint <dotqvint(a)gmail.com> - 80.0.3987.122-1
+- Update Chromium to 80.0.3987.122
+- Update ungoogled-chromium to 80.0.3987.122-1
+
* Tue Feb 04 2020 RPM Fusion Release Engineering <leigh123linux(a)gmail.com> - 79.0.3945.130-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
diff --git a/chromium-default-user-data-dir.patch b/chromium-default-user-data-dir.patch
index 1206262..96451b7 100644
--- a/chromium-default-user-data-dir.patch
+++ b/chromium-default-user-data-dir.patch
@@ -5,10 +5,10 @@ https://github.com/Eloston/ungoogled-chromium/issues/568#issuecomment-433...
+++ b/chrome/common/chrome_paths_linux.cc
@@ -91,7 +91,7 @@ bool GetDefaultUserDataDirectory(base::F
#if BUILDFLAG(GOOGLE_CHROME_BRANDING)
- *result = config_dir.Append("google-chrome" + GetChannelSuffixForDataDir());
+ std::string data_dir_basename = "google-chrome";
#else
-- *result = config_dir.Append("chromium");
-+ *result = config_dir.Append("ungoogled-chromium");
+- std::string data_dir_basename = "chromium";
++ std::string data_dir_basename = "ungoogled-chromium";
#endif
+ *result = config_dir.Append(data_dir_basename + GetChannelSuffixForDataDir());
return true;
- }
diff --git a/sources b/sources
index b202d7c..5c93a06 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-SHA512 (chromium-79.0.3945.130.tar.xz) = 4b5d4769b068f20b8028085a148cbaf31311eeffad0a22c5c0909af273a8e57e077b33cc93331bbeff9165477262eed2e345b2224ac4f76d8bdb79f983596a81
-SHA512 (ungoogled-chromium-79.0.3945.130-1.tar.gz) = a5e18fe599e1d00ba3cd755168c73a4e96edecf581e747aae12f4426fc57ee4d17073505848790ead921855923915ecb10ee7cd8ec6f2a9bd54bee52973e2765
+SHA512 (chromium-80.0.3987.122.tar.xz) = 3a022c55f5745f2cfb7e28efb113f78ff686da638cd02f0585ef1ae8620f81ece864bc27b4e0a88daf3f409ff565a9b80b8859d1fd7d62c8b1d26cb8b311acc5
+SHA512 (ungoogled-chromium-80.0.3987.122-1.tar.gz) = 702c79caf1797d53e602222e51bc1352d527dc8ac9f538fe9017670061b8e6d1838681076b17b3c409a88837316796390f982f5fc431d383758b5d2839c99553
4 years, 8 months
[nvidia-xconfig/f30: 2/2] Merge branch 'master' into f30
by Leigh Scott
commit 55d6a5c4bb5035e2363f22c6e02b290a30d6684b
Merge: f43a22d 7d54a1b
Author: leigh123linux <leigh123linux(a)googlemail.com>
Date: Fri Feb 28 19:40:13 2020 +0000
Merge branch 'master' into f30
nvidia-xconfig.spec | 5 ++++-
sources | 2 +-
2 files changed, 5 insertions(+), 2 deletions(-)
---
4 years, 8 months