[neon/qt/qtwebengine/Neon/release_jammy] debian: Add a patch from Arch Linux to build using C++17.

Soren Stoutner null at kde.org
Wed Aug 21 09:44:48 BST 2024


Git commit ca1adbe67a0e70be6d7c3dec230f03ba78290e76 by Soren Stoutner.
Committed on 22/05/2024 at 05:36.
Pushed by jriddell into branch 'Neon/release_jammy'.

Add a patch from Arch Linux to build using C++17.

M  +7    -0    debian/changelog
A  +89   -0    debian/patches/build-with-c++17.patch
M  +1    -0    debian/patches/series

https://invent.kde.org/neon/qt/qtwebengine/-/commit/ca1adbe67a0e70be6d7c3dec230f03ba78290e76

diff --git a/debian/changelog b/debian/changelog
index ae228fd..d209d9b 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+qtwebengine-opensource-src (5.15.16+dfsg-5) unstable; urgency=medium
+
+  * Add a patch from Arch Linux to build using C++17, which is required by ICU
+    75.
+
+ -- Soren Stoutner <soren at debian.org>  Tue, 21 May 2024 22:32:06 -0700
+
 qtwebengine-opensource-src (5.15.16+dfsg-4) unstable; urgency=medium
 
   * Upload to unstable.
diff --git a/debian/patches/build-with-c++17.patch b/debian/patches/build-with-c++17.patch
new file mode 100644
index 0000000..3a819cf
--- /dev/null
+++ b/debian/patches/build-with-c++17.patch
@@ -0,0 +1,89 @@
+Description: Build with C++17, which is required by ICU 75.
+Author: Soren Stoutner <soren at debian.org>
+Forwarded: no
+Last-Update: 2024-05-21
+Origin: Arch Linux, https://gitlab.archlinux.org/archlinux/packaging/packages/qt5-webengine/-/blob/main/qt5-webengine-icu-75.patch?ref_type=heads
+
+--- a/src/3rdparty/chromium/build/config/compiler/BUILD.gn
++++ b/src/3rdparty/chromium/build/config/compiler/BUILD.gn
+@@ -566,7 +566,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") {
+--- a/src/3rdparty/chromium/base/allocator/partition_allocator/partition_alloc_constants.h
++++ b/src/3rdparty/chromium/base/allocator/partition_allocator/partition_alloc_constants.h
+@@ -195,7 +195,7 @@ NumPartitionPagesPerSuperPage() {
+ //
+ // __STDCPP_DEFAULT_NEW_ALIGNMENT__ is C++17. As such, it is not defined on all
+ // platforms, as Chrome's requirement is C++14 as of 2020.
+-#if defined(__STDCPP_DEFAULT_NEW_ALIGNMENT__)
++#if 0
+ static constexpr size_t kAlignment =
+     std::max(alignof(std::max_align_t), __STDCPP_DEFAULT_NEW_ALIGNMENT__);
+ #else
+--- a/src/3rdparty/chromium/third_party/webrtc/common_video/h264/sps_parser.h
++++ b/src/3rdparty/chromium/third_party/webrtc/common_video/h264/sps_parser.h
+@@ -12,6 +12,7 @@
+ #define COMMON_VIDEO_H264_SPS_PARSER_H_
+ 
+ #include "absl/types/optional.h"
++#include <cstdint>
+ 
+ namespace rtc {
+ class BitBuffer;
+--- a/src/3rdparty/chromium/third_party/webrtc/common_video/h264/pps_parser.h
++++ b/src/3rdparty/chromium/third_party/webrtc/common_video/h264/pps_parser.h
+@@ -12,6 +12,7 @@
+ #define COMMON_VIDEO_H264_PPS_PARSER_H_
+ 
+ #include "absl/types/optional.h"
++#include <cstdint>
+ 
+ namespace rtc {
+ class BitBuffer;
+--- a/src/3rdparty/chromium/third_party/webrtc/modules/include/module_common_types_public.h
++++ b/src/3rdparty/chromium/third_party/webrtc/modules/include/module_common_types_public.h
+@@ -14,6 +14,7 @@
+ #include <limits>
+ 
+ #include "absl/types/optional.h"
++#include <cstdint>
+ 
+ namespace webrtc {
+ 
+--- a/src/3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/reverb_model_estimator.h
++++ b/src/3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/reverb_model_estimator.h
+@@ -13,6 +13,7 @@
+ 
+ #include <array>
+ #include <vector>
++#include <memory>
+ 
+ #include "absl/types/optional.h"
+ #include "api/array_view.h"
+--- a/src/3rdparty/chromium/third_party/blink/renderer/core/page/scrolling/text_fragment_selector_generator.cc
++++ b/src/3rdparty/chromium/third_party/blink/renderer/core/page/scrolling/text_fragment_selector_generator.cc
+@@ -15,6 +15,7 @@
+ #include "third_party/blink/renderer/core/page/scrolling/text_fragment_anchor_metrics.h"
+ #include "third_party/blink/renderer/core/page/scrolling/text_fragment_finder.h"
+ #include "third_party/blink/renderer/platform/text/text_boundaries.h"
++#include "absl/base/attributes.h"
+ 
+ namespace blink {
+ 
+--- a/src/3rdparty/chromium/third_party/abseil-cpp/absl/base/options.h
++++ b/src/3rdparty/chromium/third_party/abseil-cpp/absl/base/options.h
+@@ -180,7 +180,7 @@
+ // absl::variant is a typedef of std::variant, use the feature macro
+ // ABSL_USES_STD_VARIANT.
+ 
+-#define ABSL_OPTION_USE_STD_VARIANT 2
++#define ABSL_OPTION_USE_STD_VARIANT 0
+ 
+ 
+ // ABSL_OPTION_USE_INLINE_NAMESPACE
diff --git a/debian/patches/series b/debian/patches/series
index b6fcdaf..660030b 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -27,3 +27,4 @@ pipewire-0.3.patch
 ffmpeg-x86-optimization.patch
 fix-example-pro-files.patch
 icu74.patch
+build-with-c++17.patch



More information about the Neon-commits mailing list