<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/28d28519cf3ec8ee3a9b41c24cb581894375883e">https://github.com/macports/macports-ports/commit/28d28519cf3ec8ee3a9b41c24cb581894375883e</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 28d28519cf3 webkit-gtk: fix build with ICU 76
</span>28d28519cf3 is described below
<span style='display:block; white-space:pre;color:#808000;'>commit 28d28519cf3ec8ee3a9b41c24cb581894375883e
</span>Author: Mohamed Akram <makr@macports.org>
AuthorDate: Mon Dec 16 16:31:42 2024 +0400
<span style='display:block; white-space:pre;color:#404040;'> webkit-gtk: fix build with ICU 76
</span>---
www/webkit-gtk/Portfile | 19 +++++---
www/webkit-gtk/files/patch-cxx17.diff | 81 +++++++++++++++++++++++++++++++++
www/webkit-gtk/files/patch-fix-xml.diff | 26 +++++++++++
3 files changed, 119 insertions(+), 7 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/www/webkit-gtk/Portfile b/www/webkit-gtk/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 4bc76f27dc8..47bec05e6ea 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/www/webkit-gtk/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/www/webkit-gtk/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -11,7 +11,7 @@ PortGroup muniversal 1.0
</span> name webkit-gtk
epoch 2
version 2.4.11
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision 9
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision 10
</span> description Apple's WebKit HTML rendering library for GTK+
long_description ${description}
maintainers nomaintainer
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -83,11 +83,16 @@ patchfiles clang-assertions.patch \
</span> glibc-2.68.patch \
patch-fix_page_shift.diff \
patch-support-arm64.diff \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- patch-icu-68-true-false.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patch-icu-68-true-false.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patch-cxx17.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patch-fix-xml.diff
</span>
conflicts_build google-test
<span style='display:block; white-space:pre;background:#ffe0e0;'>-compiler.cxx_standard 2011
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Required for ICU
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.cxx_standard 2017
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# GNU mode required for __unix__ macro used in ANGLE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.cxxflags-append -std=gnu++17 -Wno-error=register
</span>
# https://trac.macports.org/ticket/36329
configure.perl /usr/bin/perl
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -190,6 +195,10 @@ post-patch {
</span> reinplace "s:-stdlib=libstdc\+\+::" \
${worksrcpath}/Source/autotools/SetupCompilerFlags.m4
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ # C++17 is required by ICU
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reinplace "s:-std=c++11:-std=c++17:" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${worksrcpath}/Source/autotools/SetupCompilerFlags.m4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> # https://bugs.webkit.org/show_bug.cgi?id=126329
# In file included from Source/JavaScriptCore/runtime/JSGlobalObject.cpp:83:
# ./Source/JavaScriptCore/API/ObjCCallbackFunction.h:32:9: fatal error: 'JavaScriptCore/JSCallbackFunction.h' file not found
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -246,10 +255,6 @@ variant video description {Enable HTML5 video support using gstreamer} {
</span>
default_variants +video
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[string match *clang* ${configure.cxx}]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.cxxflags-append -Wno-c++11-extensions
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> livecheck.type regex
livecheck.url http://webkitgtk.org/releases/
livecheck.regex "webkitgtk-(2\\.4(?:\\.\\d+)*)"
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/www/webkit-gtk/files/patch-cxx17.diff b/www/webkit-gtk/files/patch-cxx17.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..15c1909ceda
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/www/webkit-gtk/files/patch-cxx17.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,81 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Source/WTF/wtf/StdLibExtras.h.orig 2016-04-10 10:48:36
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Source/WTF/wtf/StdLibExtras.h 2024-12-16 13:51:17
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -320,78 +320,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ };
</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;'>+-// This adds various C++14 features for versions of the STL that may not yet have them.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-namespace std {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-// MSVC 2013 supports std::make_unique already.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#if !defined(_MSC_VER) || _MSC_VER < 1800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template<class T> struct _Unique_if {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- typedef unique_ptr<T> _Single_object;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-};
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template<class T> struct _Unique_if<T[]> {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- typedef unique_ptr<T[]> _Unknown_bound;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-};
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template<class T, size_t N> struct _Unique_if<T[N]> {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- typedef void _Known_bound;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-};
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template<class T, class... Args> inline typename _Unique_if<T>::_Single_object
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-make_unique(Args&&... args)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- return unique_ptr<T>(new T(std::forward<Args>(args)...));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template<class T> inline typename _Unique_if<T>::_Unknown_bound
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-make_unique(size_t n)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- typedef typename remove_extent<T>::type U;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- return unique_ptr<T>(new U[n]());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template<class T, class... Args> typename _Unique_if<T>::_Known_bound
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-make_unique(Args&&...) = delete;
</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;'>+-// Compile-time integer sequences
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3658.html
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-// (Note that we only implement index_sequence, and not the more generic integer_sequence).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template<size_t... indexes> struct index_sequence {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- static size_t size() { return sizeof...(indexes); }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-};
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template<size_t currentIndex, size_t...indexes> struct make_index_sequence_helper;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template<size_t...indexes> struct make_index_sequence_helper<0, indexes...> {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- typedef std::index_sequence<indexes...> type;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-};
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template<size_t currentIndex, size_t...indexes> struct make_index_sequence_helper {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- typedef typename make_index_sequence_helper<currentIndex - 1, currentIndex - 1, indexes...>::type type;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-};
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template<size_t length> struct make_index_sequence : public make_index_sequence_helper<length>::type { };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#if COMPILER_SUPPORTS(CXX_USER_LITERALS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-// These literals are available in C++14, so once we require C++14 compilers we can get rid of them here.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-// (User-literals need to have a leading underscore so we add it here - the "real" literals don't have underscores).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-namespace literals {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-namespace chrono_literals {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- CONSTEXPR inline chrono::seconds operator"" _s(unsigned long long s)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- return chrono::seconds(static_cast<chrono::seconds::rep>(s));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- CONSTEXPR chrono::milliseconds operator"" _ms(unsigned long long ms)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- return chrono::milliseconds(static_cast<chrono::milliseconds::rep>(ms));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-}
</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;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ using WTF::KB;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ using WTF::MB;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ using WTF::insertIntoBoundedVector;
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/www/webkit-gtk/files/patch-fix-xml.diff b/www/webkit-gtk/files/patch-fix-xml.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..d1e87d557b5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/www/webkit-gtk/files/patch-fix-xml.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,26 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/Source/WebCore/xml/XSLTProcessor.h b/Source/WebCore/xml/XSLTProcessor.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 518e1e2..6ffee02 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Source/WebCore/xml/XSLTProcessor.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Source/WebCore/xml/XSLTProcessor.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -64,7 +64,7 @@ public:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void reset();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- static void parseErrorFunc(void* userData, xmlError*);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ static void parseErrorFunc(void* userData, const xmlError*);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static void genericErrorFunc(void* userData, const char* msg, ...);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // Only for libXSLT callbacks
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/Source/WebCore/xml/XSLTProcessorLibxslt.cpp b/Source/WebCore/xml/XSLTProcessorLibxslt.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 8093118..cd68332 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Source/WebCore/xml/XSLTProcessorLibxslt.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Source/WebCore/xml/XSLTProcessorLibxslt.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -77,7 +77,7 @@ void XSLTProcessor::genericErrorFunc(void*, const char*, ...)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // It would be nice to do something with this error message.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-void XSLTProcessor::parseErrorFunc(void* userData, xmlError* error)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++void XSLTProcessor::parseErrorFunc(void* userData, const xmlError* error)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ PageConsole* console = static_cast<PageConsole*>(userData);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (!console)
</span></pre><pre style='margin:0'>
</pre>