<pre style='margin:0'>
Mohamed Akram (mohd-akram) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/c53fdaa9b2c2414ba32ace2e9c5a3420708cc7d0">https://github.com/macports/macports-ports/commit/c53fdaa9b2c2414ba32ace2e9c5a3420708cc7d0</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new c53fdaa9b2c qt511: fix build with ICU 76
</span>c53fdaa9b2c is described below

<span style='display:block; white-space:pre;color:#808000;'>commit c53fdaa9b2c2414ba32ace2e9c5a3420708cc7d0
</span>Author: Mohamed Akram <makr@macports.org>
AuthorDate: Wed Dec 18 17:08:23 2024 +0400

<span style='display:block; white-space:pre;color:#404040;'>    qt511: fix build with ICU 76
</span>---
 aqua/qt511/Portfile                          | 17 ++++++++
 aqua/qt511/files/patch-qtlocation-cxx17.diff | 58 ++++++++++++++++++++++++++++
 aqua/qt511/files/patch-qtwebkit-cxx17.diff   | 43 +++++++++++++++++++++
 3 files changed, 118 insertions(+)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/aqua/qt511/Portfile b/aqua/qt511/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index bc56e1e0331..ab44797f423 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/aqua/qt511/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/aqua/qt511/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1075,6 +1075,9 @@ foreach {module module_info} [array get modules] {
</span> 
             # http://lists.qt-project.org/pipermail/development/2017-January/028392.html
             # Prefer ICU over iconv
<span style='display:block; white-space:pre;background:#e0ffe0;'>+            # ICU requires C++17
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            compiler.cxx_standard   2017
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            configure.args-append   QMAKE_CXXFLAGS_GNUCXX11=-std=c++17
</span> 
             # Additional options:
             configure.args-append       \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1337,6 +1340,9 @@ foreach {module module_info} [array get modules] {
</span>                 # include/mbgl/util/unique_any.hpp: error: no member named 'move' in namespace 'std'
                 patchfiles-append  patch-qtlocation-mbgl-unique_any.hpp.diff
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+                # fix compiling with C++17
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                patchfiles-append  patch-qtlocation-cxx17.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span>                 # qtlocation uses
                 #    Gypsy (https://gypsy.freedesktop.org/wiki/)
                 #    if they can be found
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1362,6 +1368,11 @@ foreach {module module_info} [array get modules] {
</span> 
                 # avoid unnecessary dependency on OpenSSL
                 configure.args-append "QMAKE_LIBS_OPENSSL="
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                # ICU requires C++17
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                compiler.cxx_standard   2017
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                configure.args-append   QMAKE_CXXFLAGS_CXX14=-std=c++17
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                configure.args-append   QMAKE_CXXFLAGS=-Wno-error=enum-constexpr-conversion
</span>             }
 
             # special case
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1402,6 +1413,12 @@ foreach {module module_info} [array get modules] {
</span>                 patchfiles-append patch-webkit_XPathGrammar.y.diff
                 patchfiles-append patch-webkit_makegrammar.pl.diff
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+                # fix compiling with C++17
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                patchfiles-append patch-qtwebkit-cxx17.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                # ICU requires C++17
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                compiler.cxx_standard   2017
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                configure.args-append   QMAKE_CXXFLAGS=-Wno-error=register
</span>             }
 
             # special case
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/aqua/qt511/files/patch-qtlocation-cxx17.diff b/aqua/qt511/files/patch-qtlocation-cxx17.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..a188d204fd0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/aqua/qt511/files/patch-qtlocation-cxx17.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,58 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/3rdparty/mapbox-gl-native/deps/boost/1.65.1/include/boost/functional/hash/hash.hpp.orig    2018-08-10 15:35:38
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/3rdparty/mapbox-gl-native/deps/boost/1.65.1/include/boost/functional/hash/hash.hpp 2024-12-17 19:17:19
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -62,17 +62,12 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     namespace hash_detail
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#if defined(_HAS_AUTO_PTR_ETC) && !_HAS_AUTO_PTR_ETC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         template <typename T>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         struct hash_base
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             typedef T argument_type;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             typedef std::size_t result_type;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        template <typename T>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        struct hash_base : std::unary_function<T, std::size_t> {};
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         struct enable_hash_value { typedef std::size_t type; };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/3rdparty/mapbox-gl-native/deps/boost/1.65.1/include/boost/numeric/conversion/detail/converter.hpp.orig     2018-08-10 15:35:38
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/3rdparty/mapbox-gl-native/deps/boost/1.65.1/include/boost/numeric/conversion/detail/converter.hpp  2024-12-17 19:39:33
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -450,10 +450,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   // Trivial Converter : used when (cv-unqualified) T == (cv-unqualified)  S
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   //
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   template<class Traits>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  struct trivial_converter_impl : public std::unary_function<  BOOST_DEDUCED_TYPENAME Traits::argument_type
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                                                              ,BOOST_DEDUCED_TYPENAME Traits::result_type
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                                                            >
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                                 ,public dummy_range_checker<Traits>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  struct trivial_converter_impl : public dummy_range_checker<Traits>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     typedef Traits traits ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -471,10 +468,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   // Rounding Converter : used for float to integral conversions.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   //
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   template<class Traits,class RangeChecker,class RawConverter,class Float2IntRounder>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  struct rounding_converter : public std::unary_function<  BOOST_DEDUCED_TYPENAME Traits::argument_type
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                                                          ,BOOST_DEDUCED_TYPENAME Traits::result_type
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                                                        >
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                             ,public RangeChecker
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  struct rounding_converter : public RangeChecker
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                              ,public Float2IntRounder
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                              ,public RawConverter
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -501,10 +495,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   // Non-Rounding Converter : used for all other conversions.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   //
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   template<class Traits,class RangeChecker,class RawConverter>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  struct non_rounding_converter : public std::unary_function< BOOST_DEDUCED_TYPENAME Traits::argument_type
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                                                             ,BOOST_DEDUCED_TYPENAME Traits::result_type
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                                                           >
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                                 ,public RangeChecker
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  struct non_rounding_converter : public RangeChecker
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                  ,public RawConverter
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     typedef RangeChecker RangeCheckerBase ;
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/aqua/qt511/files/patch-qtwebkit-cxx17.diff b/aqua/qt511/files/patch-qtwebkit-cxx17.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..b2bc837b603
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/aqua/qt511/files/patch-qtwebkit-cxx17.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,43 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Source/WTF/wtf/MathExtras.h.orig       2016-04-10 10:48:36
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Source/WTF/wtf/MathExtras.h    2024-12-16 18:39:15
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -73,15 +73,6 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ const double sqrtOfTwoDouble = M_SQRT2;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#if OS(DARWIN)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-// Work around a bug in the Mac OS X libc where ceil(-0.1) return +0.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-inline double wtf_ceil(double x) { return copysign(ceil(x), x); }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#define ceil(x) wtf_ceil(x)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if OS(SOLARIS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace std {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Source/WebCore/platform/LayoutUnit.h.orig      2016-04-10 10:48:37
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Source/WebCore/platform/LayoutUnit.h   2024-12-16 18:49:49
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -210,11 +210,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         returnValue.setRawValue(::abs(m_value));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         return returnValue;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#if OS(DARWIN)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    int wtf_ceil() const
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     int ceil() const
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if ENABLE(SUBPIXEL_LAYOUT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if ENABLE(SATURATED_LAYOUT_ARITHMETIC)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Source/ThirdParty/ANGLE/src/compiler/preprocessor/MacroExpander.h.orig 2016-04-10 10:48:36
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Source/ThirdParty/ANGLE/src/compiler/preprocessor/MacroExpander.h      2024-12-16 18:40:49
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -66,7 +66,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     MacroSet* mMacroSet;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     Diagnostics* mDiagnostics;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    std::auto_ptr<Token> mReserveToken;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    std::unique_ptr<Token> mReserveToken;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     std::vector<MacroContext*> mContextStack;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span></pre><pre style='margin:0'>

</pre>