<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/0b5b659678d0581307339c93ddb62d2917c9e888">https://github.com/macports/macports-ports/commit/0b5b659678d0581307339c93ddb62d2917c9e888</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 0b5b659678d libvmime: fix build with ICU 76
</span>0b5b659678d is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 0b5b659678d0581307339c93ddb62d2917c9e888
</span>Author: Mohamed Akram <makr@macports.org>
AuthorDate: Sat Dec 7 13:14:03 2024 +0400

<span style='display:block; white-space:pre;color:#404040;'>    libvmime: fix build with ICU 76
</span>---
 mail/libvmime/Portfile               | 10 +++---
 mail/libvmime/files/patch-cxx17.diff | 25 ++++++++++++++
 mail/libvmime/files/patch-icu.diff   | 64 ++++++++++++++++++++++++++++++++++++
 3 files changed, 95 insertions(+), 4 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/mail/libvmime/Portfile b/mail/libvmime/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 39eef5ae067..c550f7474ba 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/mail/libvmime/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/mail/libvmime/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -5,7 +5,7 @@ PortGroup           cmake 1.1
</span> PortGroup           github 1.0
 
 github.setup        kisli vmime 0.9.2 v
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            2
</span> checksums           rmd160  93e0ff43ba0221df62fc50198dd494dfc4b6a82e \
                     sha256  9874bf911a7dbc257297ab00f7541875da221ee8251a4218cc65abff6e362399 \
                     size    528830
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -41,10 +41,12 @@ post-extract {
</span> patchfiles          expected-value-in-expression.patch \
                     templates-must-have-C++-linkage.patch \
                     use-of-undeclared-identifier-FALSE.patch \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    patch-unbreak-arm64-powerpc.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    patch-unbreak-arm64-powerpc.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-icu.diff
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-compiler.cxx_standard \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    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> 
 configure.args      -DVMIME_BUILD_DOCUMENTATION=OFF \
                     -DVMIME_BUILD_SAMPLES=OFF \
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/mail/libvmime/files/patch-cxx17.diff b/mail/libvmime/files/patch-cxx17.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..02e8d7f826b
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/mail/libvmime/files/patch-cxx17.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,25 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/vmime/encoding.cpp.orig    2024-12-07 13:05:38
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/vmime/encoding.cpp 2024-12-07 13:08:19
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -136,8 +136,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   (const string::const_iterator begin, const string::const_iterator end)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   const string::difference_type length = end - begin;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  const string::difference_type count = std::count_if
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-          (begin, end, std::bind2nd(std::less<unsigned char>(), 127));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  const string::difference_type count = std::count_if(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          begin, end, [](unsigned char x) { return x < 127; });
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   // All is in 7-bit US-ASCII --> 7-bit (or Quoted-Printable...)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if (length == count)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/vmime/propertySet.hpp.orig 2017-01-04 00:00:08
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/vmime/propertySet.hpp      2024-12-07 13:10:37
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -335,8 +335,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   void parse(const string& props);
</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;'>+-  class propFinder : public std::unary_function <shared_ptr <property>, bool>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  class propFinder {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   public:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           propFinder(const string& name) : m_name(utility::stringUtils::toLower(name)) { }
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/mail/libvmime/files/patch-icu.diff b/mail/libvmime/files/patch-icu.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..57b45dc7cb9
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/mail/libvmime/files/patch-icu.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,64 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 0f7014ab579acd4a29e743fa570d5ed8e58e2a41 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Jan Engelhardt <jengelh@inai.de>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Tue, 11 Jun 2024 20:46:59 +0200
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] build: upgrade to C++17 when ICU is used (#310)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ICU 75 requires the use of C++17.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+`SET(CMAKE_CXX_STANDARD 17)` has no effect after the first target has been defined
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+or so, therefore the detection of the conversion library is split and partially
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+moved upwards.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CMakeLists.txt | 32 ++++++++++++++++++--------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 18 insertions(+), 14 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/CMakeLists.txt b/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 3e209b54..89fb980c 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -99,6 +99,23 @@ SET(CMAKE_CXX_STANDARD 11)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ SET(CMAKE_CXX_STANDARD_REQUIRED ON)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ SET(CMAKE_CXX_EXTENSIONS OFF)
</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;'>++# Charset conversion library (1/2)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++INCLUDE(cmake/FindIconv.cmake)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++INCLUDE(cmake/FindICU.cmake)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++FIND_PACKAGE(ICU QUIET)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++IF(ICU_LIBRARIES)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  SET(VMIME_CHARSETCONV_LIB_DETECTED "icu")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  SET(CMAKE_CXX_STANDARD 17)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ELSEIF(ICONV_FOUND)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  SET(VMIME_CHARSETCONV_LIB_DETECTED "iconv")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ELSEIF(WIN32)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  SET(VMIME_CHARSETCONV_LIB_DETECTED "win")
</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;'>+ # Source files
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ FILE(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   GLOB_RECURSE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -666,20 +683,7 @@ ENDIF(VMIME_HAVE_TLS_SUPPORT)
</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;'>+-# Charset conversion library
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-INCLUDE(cmake/FindIconv.cmake)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-INCLUDE(cmake/FindICU.cmake)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-FIND_PACKAGE(ICU QUIET)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-IF(ICU_LIBRARIES)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  SET(VMIME_CHARSETCONV_LIB_DETECTED "icu")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-ELSEIF(ICONV_FOUND)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  SET(VMIME_CHARSETCONV_LIB_DETECTED "iconv")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-ELSEIF(WIN32)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  SET(VMIME_CHARSETCONV_LIB_DETECTED "win")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-ENDIF()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Charset conversion library (2/2)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ SET(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   VMIME_CHARSETCONV_LIB
</span></pre><pre style='margin:0'>

</pre>