From 8f6a7eb22b6104adf041129e454c4c8237a2c1dd Mon Sep 17 00:00:00 2001 From: "Jason E. Hale" Date: Mon, 14 Apr 2025 14:35:51 -0400 Subject: [PATCH] www/qt5-webengine: Fix build with gperf >= 3.2 Blink was making no longer needed substitutions to the generated code adding extra [[fallthrough]] attributes which caused build errors. Thanks to dinoex for working through this with me. Obtained from: Gentoo --- ...arty_blink_renderer_build_scripts_gperf.py | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_build_scripts_gperf.py diff --git a/www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_build_scripts_gperf.py b/www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_build_scripts_gperf.py new file mode 100644 index 000000000000..b54877b3ae9f --- /dev/null +++ b/www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_build_scripts_gperf.py @@ -0,0 +1,27 @@ +--- src/3rdparty/chromium/third_party/blink/renderer/build/scripts/gperf.py.orig 2025-03-06 09:26:10 UTC ++++ src/3rdparty/chromium/third_party/blink/renderer/build/scripts/gperf.py +@@ -29,24 +29,6 @@ def generate_gperf(gperf_path, gperf_input, gperf_args + stdout=subprocess.PIPE, + universal_newlines=True) + gperf_output = gperf.communicate(gperf_input)[0] +- # Massage gperf output to be more palatable for modern compilers. +- # TODO(thakis): Upstream these to gperf so we don't need massaging. +- # `register` is deprecated in C++11 and removed in C++17, so remove +- # it from gperf's output. +- # https://savannah.gnu.org/bugs/index.php?53028 +- gperf_output = re.sub(r'\bregister ', '', gperf_output) +- # -Wimplicit-fallthrough needs an explicit fallthrough statement, +- # so replace gperf's /*FALLTHROUGH*/ comment with the statement. +- # https://savannah.gnu.org/bugs/index.php?53029 +- gperf_output = gperf_output.replace('/*FALLTHROUGH*/', +- ' FALLTHROUGH;') +- # -Wpointer-to-int-cast warns about casting pointers to smaller ints +- # Replace {(int)(long)&(foo), bar} with +- # {static_cast(reinterpret_cast(&(foo)), bar} +- gperf_output = re.sub( +- r'\(int\)\(long\)(.*?),', +- r'static_cast(reinterpret_cast(\1)),', +- gperf_output) + script = 'third_party/blink/renderer/build/scripts/gperf.py' + return '// Generated by %s\n' % script + gperf_output + except OSError: