From 9ac1c3d80706f122716248f03c8ab79dc2b5b8c0 Mon Sep 17 00:00:00 2001 From: Than Ngo Date: Wed, 3 May 2023 18:06:53 +0200 Subject: [PATCH] fix FTBFS, declare iterators as subtypes (clang issue) --- chromium-113-typename.patch | 38 +++++++++++++++++++++++++++++++++++++ chromium.spec | 4 ++++ 2 files changed, 42 insertions(+) create mode 100644 chromium-113-typename.patch diff --git a/chromium-113-typename.patch b/chromium-113-typename.patch new file mode 100644 index 0000000..172aa71 --- /dev/null +++ b/chromium-113-typename.patch @@ -0,0 +1,38 @@ +diff -up chromium-113.0.5672.63/chrome/browser/download/bubble/download_bubble_update_service.cc.me chromium-113.0.5672.63/chrome/browser/download/bubble/download_bubble_update_service.cc +--- chromium-113.0.5672.63/chrome/browser/download/bubble/download_bubble_update_service.cc.me 2023-05-03 17:46:37.194000834 +0200 ++++ chromium-113.0.5672.63/chrome/browser/download/bubble/download_bubble_update_service.cc 2023-05-03 17:48:05.170317575 +0200 +@@ -87,7 +87,7 @@ ItemSortKey GetSortKey(const Item& item) + // Helper to get an iterator to the last element in the cache. The cache + // must not be empty. + template +-SortedItems::iterator GetLastIter(SortedItems& cache) { ++typename SortedItems::iterator GetLastIter(SortedItems& cache) { + CHECK(!cache.empty()); + auto it = cache.end(); + return std::prev(it); +@@ -789,9 +789,9 @@ bool DownloadBubbleUpdateService::Remove + } + + template +-SortedItems::iterator ++typename SortedItems::iterator + DownloadBubbleUpdateService::RemoveItemFromCacheByIter( +- SortedItems::iterator iter, ++ typename SortedItems::iterator iter, + SortedItems& cache, + IterMap& iter_map) { + CHECK(iter != cache.end()); +diff -up chromium-113.0.5672.63/chrome/browser/download/bubble/download_bubble_update_service.h.me chromium-113.0.5672.63/chrome/browser/download/bubble/download_bubble_update_service.h +--- chromium-113.0.5672.63/chrome/browser/download/bubble/download_bubble_update_service.h.me 2023-05-03 17:48:14.079551820 +0200 ++++ chromium-113.0.5672.63/chrome/browser/download/bubble/download_bubble_update_service.h 2023-05-03 17:49:24.702387180 +0200 +@@ -208,8 +208,8 @@ class DownloadBubbleUpdateService + + // Removes item if we already have the iterator to it. Returns next iterator. + template +- SortedItems::iterator RemoveItemFromCacheByIter( +- SortedItems::iterator iter, ++ typename SortedItems::iterator RemoveItemFromCacheByIter( ++ typename SortedItems::iterator iter, + SortedItems& cache, + IterMap& iter_map); + diff --git a/chromium.spec b/chromium.spec index 4a8a480..144a5a1 100644 --- a/chromium.spec +++ b/chromium.spec @@ -364,6 +364,8 @@ Patch300: chromium-113-rhel8-force-disable-use_gnome_keyring.patch Patch301: chromium-112-workaround-llvm14-c++20-epel8.patch # workaround for clang bug, https://github.com/llvm/llvm-project/issues/57826 Patch302: chromium-113-workaround_clang_bug-structured_binding.patch +# declare iterators as subtypes +Patch303: chromium-113-typename.patch # Use chromium-latest.py to generate clean tarball from released build tarballs, found here: # http://build.chromium.org/buildbot/official/ @@ -960,6 +962,8 @@ udev. %endif %endif +%patch -P303 -p1 -b .typename + # Change shebang in all relevant files in this directory and all subdirectories # See `man find` for how the `-exec command {} +` syntax works find -type f \( -iname "*.py" \) -exec sed -i '1s=^#! */usr/bin/\(python\|env python\)[23]\?=#!%{__python3}=' {} +