<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/805554f7f465e22a0c97ffe42af759fa6f7e3d91">https://github.com/macports/macports-ports/commit/805554f7f465e22a0c97ffe42af759fa6f7e3d91</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 805554f7f46 nodejs24: new port
</span>805554f7f46 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 805554f7f465e22a0c97ffe42af759fa6f7e3d91
</span>Author: Mohamed Akram <makr@macports.org>
AuthorDate: Sun May 11 12:57:13 2025 +0400

<span style='display:block; white-space:pre;color:#404040;'>    nodejs24: new port
</span>---
 devel/nodejs10/Portfile                            |  2 +-
 devel/nodejs12/Portfile                            |  2 +-
 devel/nodejs14/Portfile                            |  2 +-
 devel/nodejs16/Portfile                            |  2 +-
 devel/nodejs18/Portfile                            |  2 +-
 devel/nodejs22/Portfile                            |  2 +-
 devel/{nodejs22 => nodejs24}/Portfile              | 20 ++++++------
 ...atch-add-pthread-qos-guard-for-older-macs.patch | 36 ++++++++++++++++++++++
 devel/nodejs24/files/patch-common.gypi.diff        | 20 ++++++++++++
 devel/nodejs8/Portfile                             |  6 ++--
 10 files changed, 75 insertions(+), 19 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/nodejs10/Portfile b/devel/nodejs10/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 456616c1408..9b7d7575acb 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/nodejs10/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/nodejs10/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -34,7 +34,7 @@ long_description        Node's goal is to provide an easy way to build scalable
</span>                         Machine or Python's Twisted. Node takes the event model a bit further-it \
                         presents the event loop as a language construct instead of as a library.
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-conflicts               nodejs8 nodejs12 nodejs14 nodejs16 nodejs18 nodejs20 nodejs22
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+conflicts               nodejs8 nodejs12 nodejs14 nodejs16 nodejs18 nodejs20 nodejs22 nodejs24
</span> 
 homepage                https://nodejs.org/
 master_sites            ${homepage}dist/v${version}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/nodejs12/Portfile b/devel/nodejs12/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 6aa9c72f6e1..e4f31b6ed69 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/nodejs12/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/nodejs12/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -41,7 +41,7 @@ long_description        Node's goal is to provide an easy way to build scalable
</span>                         Machine or Python's Twisted. Node takes the event model a bit further-it \
                         presents the event loop as a language construct instead of as a library.
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-conflicts               nodejs8 nodejs10 nodejs14 nodejs16 nodejs18 nodejs20 nodejs22
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+conflicts               nodejs8 nodejs10 nodejs14 nodejs16 nodejs18 nodejs20 nodejs22 nodejs24
</span> 
 homepage                https://nodejs.org/
 master_sites            ${homepage}dist/v${version}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/nodejs14/Portfile b/devel/nodejs14/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 060ec7192ac..6eeb7f4b7c3 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/nodejs14/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/nodejs14/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -38,7 +38,7 @@ long_description        Node's goal is to provide an easy way to build scalable
</span>                         Machine or Python's Twisted. Node takes the event model a bit further-it \
                         presents the event loop as a language construct instead of as a library.
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-conflicts               nodejs8 nodejs10 nodejs12 nodejs16 nodejs18 nodejs20 nodejs22
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+conflicts               nodejs8 nodejs10 nodejs12 nodejs16 nodejs18 nodejs20 nodejs22 nodejs24
</span> 
 homepage                https://nodejs.org/
 master_sites            ${homepage}dist/v${version}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/nodejs16/Portfile b/devel/nodejs16/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index abe27fada76..bc652d9a75b 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/nodejs16/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/nodejs16/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -34,7 +34,7 @@ long_description        Node's goal is to provide an easy way to build scalable
</span>                         Machine or Python's Twisted. Node takes the event model a bit further-it \
                         presents the event loop as a language construct instead of as a library.
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-conflicts               nodejs8 nodejs10 nodejs12 nodejs14 nodejs18 nodejs20 nodejs22
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+conflicts               nodejs8 nodejs10 nodejs12 nodejs14 nodejs18 nodejs20 nodejs22 nodejs24
</span> 
 homepage                https://nodejs.org/
 master_sites            ${homepage}dist/v${version}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/nodejs18/Portfile b/devel/nodejs18/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 9d9f8f1a1c5..a94b93c934d 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/nodejs18/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/nodejs18/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -26,7 +26,7 @@ long_description        Node's goal is to provide an easy way to build scalable
</span>                         Machine or Python's Twisted. Node takes the event model a bit further-it \
                         presents the event loop as a language construct instead of as a library.
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-conflicts               nodejs8 nodejs10 nodejs12 nodejs14 nodejs16 nodejs20 nodejs22
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+conflicts               nodejs8 nodejs10 nodejs12 nodejs14 nodejs16 nodejs20 nodejs22 nodejs24
</span> 
 homepage                https://nodejs.org/
 master_sites            ${homepage}dist/v${version}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/nodejs22/Portfile b/devel/nodejs22/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 6e214ad8c82..920cd69fc13 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/nodejs22/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/nodejs22/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -26,7 +26,7 @@ long_description        Node's goal is to provide an easy way to build scalable
</span>                         Machine or Python's Twisted. Node takes the event model a bit further-it \
                         presents the event loop as a language construct instead of as a library.
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-conflicts               nodejs8 nodejs10 nodejs12 nodejs14 nodejs16 nodejs18 nodejs20
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+conflicts               nodejs8 nodejs10 nodejs12 nodejs14 nodejs16 nodejs18 nodejs20 nodejs24
</span> 
 homepage                https://nodejs.org/
 master_sites            ${homepage}dist/v${version}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/nodejs22/Portfile b/devel/nodejs24/Portfile
</span>similarity index 94%
copy from devel/nodejs22/Portfile
copy to devel/nodejs24/Portfile
<span style='display:block; white-space:pre;color:#808080;'>index 6e214ad8c82..00f6b327add 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/nodejs22/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/nodejs24/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -5,10 +5,10 @@ PortGroup               compiler_blacklist_versions 1.0
</span> PortGroup               legacysupport 1.1
 
 configure.cxx_stdlib    libc++
<span style='display:block; white-space:pre;background:#ffe0e0;'>-compiler.cxx_standard   2017
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.cxx_standard   2020
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-name                    nodejs22
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-version                 22.14.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+name                    nodejs24
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version                 24.0.1
</span> revision                0
 
 categories              devel net
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -26,19 +26,19 @@ long_description        Node's goal is to provide an easy way to build scalable
</span>                         Machine or Python's Twisted. Node takes the event model a bit further-it \
                         presents the event loop as a language construct instead of as a library.
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-conflicts               nodejs8 nodejs10 nodejs12 nodejs14 nodejs16 nodejs18 nodejs20
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+conflicts               nodejs8 nodejs10 nodejs12 nodejs14 nodejs16 nodejs18 nodejs20 nodejs22
</span> 
 homepage                https://nodejs.org/
 master_sites            ${homepage}dist/v${version}
 use_xz                  yes
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums               rmd160  6c0804fe9c8fa17120616d6dc320ec5066f396de \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        sha256  c609946bf793b55c7954c26582760808d54c16185d79cb2fb88065e52de21914 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        size    47753700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums               rmd160  2ab96c5588929fa1e6f2b1fd94034771a987d182 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        sha256  70271026971808409a7ed6444360d5fe3ef4146c1ca53f2ca290c60d214be84e \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        size    49915808
</span> 
 distname                node-v${version}
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-set py_ver              3.12
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set py_ver              3.13
</span> set py_ver_nodot        [string map {. {}} ${py_ver}]
 
 depends_build-append    port:pkgconfig \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -162,7 +162,7 @@ switch $build_arch {
</span> # and accordingly the compile fails on macOS 11.7 Big Sur with Xcode's
 # clang. However, bumping the requirement for clang 1400 or greater
 # gets it to successfully compile.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# [1] https://github.com/nodejs/node/blob/v22.x/BUILDING.md#supported-toolchains
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# [1] https://github.com/nodejs/node/blob/v24.x/BUILDING.md#supported-toolchains
</span> compiler.blacklist-append {clang < 1400}
 
 build.args-append   CC=${configure.cc} \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -222,4 +222,4 @@ destroot {
</span> 
 livecheck.url       ${homepage}dist/
 livecheck.type      regex
<span style='display:block; white-space:pre;background:#ffe0e0;'>-livecheck.regex     {v(22\.\d+\.\d+)}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+livecheck.regex     {v(24\.\d+\.\d+)}
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/nodejs24/files/patch-add-pthread-qos-guard-for-older-macs.patch b/devel/nodejs24/files/patch-add-pthread-qos-guard-for-older-macs.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..d1d6582a05c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/nodejs24/files/patch-add-pthread-qos-guard-for-older-macs.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,36 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- deps/v8/src/base/platform/platform-posix.cc    2024-04-10 05:46:12.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ deps/v8/src/base/platform/platform-posix.cc    2024-09-30 19:49:47.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1135,6 +1135,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   SetThreadName(thread->name());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if V8_OS_DARWIN
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   switch (thread->priority()) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifndef NOT_ON_BROSEMITE_OR_LATER
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     case Thread::Priority::kBestEffort:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       pthread_set_qos_class_self_np(QOS_CLASS_BACKGROUND, 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1144,6 +1145,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     case Thread::Priority::kUserBlocking:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       pthread_set_qos_class_self_np(QOS_CLASS_USER_INITIATED, 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     case Thread::Priority::kDefault:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- deps/v8/src/d8/d8.cc   2024-04-10 05:46:13.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ deps/v8/src/d8/d8.cc   2024-09-30 19:51:11.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -5696,6 +5696,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   v8::V8::InitializeICUDefaultLocation(argv[0], options.icu_data_file);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifndef NOT_ON_BROSEMITE_OR_LATER
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef V8_OS_DARWIN
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if (options.apply_priority) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     struct task_category_policy category = {.role =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -5705,6 +5706,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     pthread_set_qos_class_self_np(QOS_CLASS_USER_INTERACTIVE, 0);
</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;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef V8_INTL_SUPPORT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if (options.icu_locale != nullptr) {
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/nodejs24/files/patch-common.gypi.diff b/devel/nodejs24/files/patch-common.gypi.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..ac2e429bf09
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/nodejs24/files/patch-common.gypi.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,20 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- common.gypi.orig       2025-05-08 12:26:16
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ common.gypi    2025-05-11 12:34:36
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -621,7 +621,8 @@
</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;'>+       ['OS=="mac"', {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        'defines': ['_DARWIN_USE_64_BIT_INODE=1'],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        'defines': ['_DARWIN_USE_64_BIT_INODE=1',
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    '_DARWIN_C_SOURCE=1'],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         'xcode_settings': {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           'ALWAYS_SEARCH_USER_PATHS': 'NO',
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           'GCC_CW_ASM_SYNTAX': 'NO',                # No -fasm-blocks
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -632,7 +633,6 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           'GCC_ENABLE_PASCAL_STRINGS': 'NO',        # No -mpascal-strings
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           'GCC_STRICT_ALIASING': 'NO',              # -fno-strict-aliasing
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           'PREBINDING': 'NO',                       # No -Wl,-prebind
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-          'MACOSX_DEPLOYMENT_TARGET': '13.5',       # -mmacosx-version-min=13.5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           'USE_HEADERMAP': 'NO',
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           'WARNING_CFLAGS': [
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             '-Wall',
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/nodejs8/Portfile b/devel/nodejs8/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index dced78b3784..f5465ae96ff 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/nodejs8/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/nodejs8/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -28,7 +28,7 @@ long_description        Node's goal is to provide an easy way to build scalable
</span>                         Machine or Python's Twisted. Node takes the event model a bit further-it \
                         presents the event loop as a language construct instead of as a library.
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-conflicts               nodejs10 nodejs12 nodejs14 nodejs16 nodejs18 nodejs20 nodejs22
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+conflicts               nodejs10 nodejs12 nodejs14 nodejs16 nodejs18 nodejs20 nodejs22 nodejs24
</span> 
 homepage                https://nodejs.org/
 master_sites            ${homepage}dist/v${version}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -148,13 +148,13 @@ destroot {
</span>     xinstall -m 755 -W ${worksrcpath} \
         out/Release/node \
         ${bindir}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span>     # install headers
     xinstall -m 644 {*}[glob ${worksrcpath}/src/*.h]                ${incdir}
     xinstall -m 644 {*}[glob ${worksrcpath}/deps/v8/include/*.h]    ${incdir}
     xinstall -m 644 {*}[glob ${worksrcpath}/deps/uv/include/*.h]    ${incdir}
     xinstall -m 644 {*}[glob ${worksrcpath}/deps/cares/include/*.h] ${incdir}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span>     # install dtrace script
     xinstall -m 644 -W ${worksrcpath} \
         src/node.d \
</pre><pre style='margin:0'>

</pre>