<pre style='margin:0'>
Christopher Nielsen (mascguy) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/eb8d9a670797a8f6b569675576844aaba007356f">https://github.com/macports/macports-ports/commit/eb8d9a670797a8f6b569675576844aaba007356f</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 eb8d9a67079 nodejs14->22: fixes for older macOS releases (#26031)
</span>eb8d9a67079 is described below
<span style='display:block; white-space:pre;color:#808000;'>commit eb8d9a670797a8f6b569675576844aaba007356f
</span>Author: gagan sidhu <gagan@hotmail.com>
AuthorDate: Tue Dec 3 12:56:01 2024 -0700
<span style='display:block; white-space:pre;color:#404040;'> nodejs14->22: fixes for older macOS releases (#26031)
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> * fix nodejs21 portfile, which requires the package libuv on older macs
</span><span style='display:block; white-space:pre;color:#404040;'> * fix nodejs20, which also cannot use the system libuv
</span><span style='display:block; white-space:pre;color:#404040;'> * better comments for nodejs20/21 portfile
</span><span style='display:block; white-space:pre;color:#404040;'> * fix nodejs portfiles for newer macs
</span><span style='display:block; white-space:pre;color:#404040;'> * fixup nodejs21 patch and macro to ensure pthread qos api is used for brosemite (10.10) and newer
</span><span style='display:block; white-space:pre;color:#404040;'> * fix conditional. yosemite should use the pthread qos api
</span><span style='display:block; white-space:pre;color:#404040;'> * disable unknown warnings-as-errors for macs that have an older compiler that still works
</span><span style='display:block; white-space:pre;color:#404040;'> * remove libcxx library dependency, or tests will fail to build
</span><span style='display:block; white-space:pre;color:#404040;'> * adding DARWIN_C_SOURCE to common.gypi to 'plumb down' to tests
</span>---
devel/nodejs14/Portfile | 19 +++++++---
devel/nodejs15/Portfile | 33 ++++++++++-------
devel/nodejs16/Portfile | 30 ++++++++++------
devel/nodejs17/Portfile | 30 ++++++++++------
devel/nodejs18/Portfile | 28 +++++++++------
devel/nodejs19/Portfile | 28 +++++++++------
devel/nodejs20/Portfile | 32 +++++++++++------
devel/nodejs21/Portfile | 41 ++++++++++++++++------
...atch-add-pthread-qos-guard-for-older-macs.patch | 36 +++++++++++++++++++
devel/nodejs22/Portfile | 41 ++++++++++++++++------
...atch-add-pthread-qos-guard-for-older-macs.patch | 36 +++++++++++++++++++
devel/nodejs22/files/patch-common.gypi.diff | 22 ++++++++----
12 files changed, 279 insertions(+), 97 deletions(-)
<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 7a5a29b4a08..da8afab14f8 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;'>@@ -14,9 +14,6 @@ deprecated.eol_version yes
</span> openssl.branch 1.1
openssl.configure pkgconfig build_flags
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# on macOS nodejs only builds against libc++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# this force is OK as node does not link against any other c++ libs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_lib-append port:libcxx
</span> configure.cxx_stdlib libc++
compiler.cxx_standard 2014
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -85,9 +82,23 @@ post-patch {
</span> }
# use the system libuv instead of the bundled version, as it is fixed for older systems
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if { ${os.platform} eq "darwin" && ${os.major} < 11 } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if { ${os.platform} eq "darwin" && ${os.major} < 15 } {
</span> depends_lib-append path:lib/libuv.dylib:libuv
configure.args-append --shared-libuv
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {${configure.cxx_stdlib} eq "libc++"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_lib-append port:macports-libcxx
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.cxx-append -Wl,-L${prefix}/lib/libcxx
</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;'>+# suppress a warning-as-error that shows up with newer clang compilers
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {[string match *clang* ${configure.compiler}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.cxx-append -Wno-error=enum-constexpr-conversion
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #the ventura buildbot will fail because it doesn't recognise this flag
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #so we disable unknown warnings as errors for older compilers
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.cxx-append -Wno-error=unknown-warning-option
</span> }
pre-configure {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/nodejs15/Portfile b/devel/nodejs15/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index ea76d58c97d..f2b7b89a8bf 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/nodejs15/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/nodejs15/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -9,9 +9,6 @@ PortGroup deprecated 1.0
</span> # https://github.com/nodejs/Release
deprecated.eol_version yes
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# on macOS nodejs only builds against libc++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# this force is OK as node does not link against any other c++ libs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_lib-append port:libcxx
</span> configure.cxx_stdlib libc++
compiler.cxx_standard 2014
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -51,16 +48,6 @@ depends_lib-append path:lib/pkgconfig/icu-uc.pc:icu \
</span>
use_xcode yes
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# error: 'atomic_load<v8::internal::OwnedVector<const unsigned char> >' is unavailable: introduced in macOS 10.9
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set min_darwin 13
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-if { ${os.major} < ${min_darwin} } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- known_fail yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- pre-fetch {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_error "${name} requires OSX 10.[expr ${min_darwin} - 4] or newer."
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return -code error "Unsupported OSX version"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> proc rec_glob {basedir pattern} {
set files [glob -directory $basedir -nocomplain -type f $pattern]
foreach dir [glob -directory $basedir -nocomplain -type d *] {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -69,6 +56,26 @@ proc rec_glob {basedir pattern} {
</span> return $files
}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# use the system libuv instead of the bundled version, as it is fixed for older systems
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if { ${os.platform} eq "darwin" && ${os.major} < 15 } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_lib-append path:lib/libuv.dylib:libuv
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append --shared-libuv
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {${configure.cxx_stdlib} eq "libc++"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_lib-append port:macports-libcxx
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.cxx-append -Wl,-L${prefix}/lib/libcxx
</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;'>+# suppress a warning-as-error that shows up with newer clang compilers
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {[string match *clang* ${configure.compiler}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.cxx-append -Wno-error=enum-constexpr-conversion
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #the ventura buildbot will fail because it doesn't recognise this flag
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #so we disable unknown warnings as errors for older compilers
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.cxx-append -Wno-error=unknown-warning-option
</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> configure.python ${prefix}/bin/python3.9
patchfiles patch-common.gypi.diff \
<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 5c3880a7e1c..cec9124a406 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;'>@@ -10,9 +10,6 @@ PortGroup deprecated 1.0
</span> # https://github.com/nodejs/Release
deprecated.eol_version yes
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# on macOS nodejs only builds against libc++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# this force is OK as node does not link against any other c++ libs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_lib-append port:libcxx
</span> configure.cxx_stdlib libc++
compiler.cxx_standard 2014
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -56,16 +53,27 @@ if {![variant_isset openssl3]} {
</span> openssl.branch 1.1
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# error: 'atomic_load<v8::internal::OwnedVector<const unsigned char> >' is unavailable: introduced in macOS 10.9
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set min_darwin 13
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-if { ${os.major} < ${min_darwin} } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- known_fail yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- pre-fetch {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_error "${name} requires OSX 10.[expr ${min_darwin} - 4] or newer."
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return -code error "Unsupported OSX version"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# use the system libuv instead of the bundled version, as it is fixed for older systems
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if { ${os.platform} eq "darwin" && ${os.major} < 15 } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_lib-append path:lib/libuv.dylib:libuv
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append --shared-libuv
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {${configure.cxx_stdlib} eq "libc++"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_lib-append port:macports-libcxx
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.cxx-append -Wl,-L${prefix}/lib/libcxx
</span> }
}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# suppress a warning-as-error that shows up with newer clang compilers
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {[string match *clang* ${configure.compiler}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.cxx-append -Wno-error=enum-constexpr-conversion
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #the ventura buildbot will fail because it doesn't recognise this flag
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #so we disable unknown warnings as errors for older compilers
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.cxx-append -Wno-error=unknown-warning-option
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> proc rec_glob {basedir pattern} {
set files [glob -directory $basedir -nocomplain -type f $pattern]
foreach dir [glob -directory $basedir -nocomplain -type d *] {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -145,7 +153,7 @@ switch $build_arch {
</span> compiler.blacklist-append {clang < 900}
# error: integer value is outside the valid range of values for this enumeration type
<span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.cxxflags-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.cxx-append \
</span> -Wno-enum-constexpr-conversion \
-Wno-unknown-warning-option
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/nodejs17/Portfile b/devel/nodejs17/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 52ca9873511..2a3c059207d 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/nodejs17/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/nodejs17/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -9,9 +9,6 @@ PortGroup deprecated 1.0
</span> # https://github.com/nodejs/Release
deprecated.eol_version yes
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# on macOS nodejs only builds against libc++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# this force is OK as node does not link against any other c++ libs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_lib-append port:libcxx
</span> configure.cxx_stdlib libc++
compiler.cxx_standard 2014
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -51,16 +48,27 @@ depends_build-append port:pkgconfig \
</span> depends_lib-append path:lib/pkgconfig/icu-uc.pc:icu \
port:zlib
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# error: 'atomic_load<v8::internal::OwnedVector<const unsigned char> >' is unavailable: introduced in macOS 10.9
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set min_darwin 13
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-if { ${os.major} < ${min_darwin} } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- known_fail yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- pre-fetch {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_error "${name} requires OSX 10.[expr ${min_darwin} - 4] or newer."
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return -code error "Unsupported OSX version"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# use the system libuv instead of the bundled version, as it is fixed for older systems
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if { ${os.platform} eq "darwin" && ${os.major} < 15 } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_lib-append path:lib/libuv.dylib:libuv
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append --shared-libuv
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {${configure.cxx_stdlib} eq "libc++"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_lib-append port:macports-libcxx
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.cxx-append -Wl,-L${prefix}/lib/libcxx
</span> }
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# suppress a warning-as-error that shows up with newer clang compilers
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {[string match *clang* ${configure.compiler}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.cxx-append -Wno-error=enum-constexpr-conversion
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #the ventura buildbot will fail because it doesn't recognise this flag
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #so we disable unknown warnings as errors for older compilers
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.cxx-append -Wno-error=unknown-warning-option
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> proc rec_glob {basedir pattern} {
set files [glob -directory $basedir -nocomplain -type f $pattern]
foreach dir [glob -directory $basedir -nocomplain -type d *] {
<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 87dac4f626e..e2e64885a55 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;'>@@ -4,9 +4,6 @@ PortSystem 1.0
</span> PortGroup compiler_blacklist_versions 1.0
PortGroup legacysupport 1.1
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# on macOS nodejs only builds against libc++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# this force is OK as node does not link against any other c++ libs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_lib-append port:libcxx
</span> configure.cxx_stdlib libc++
compiler.cxx_standard 2014
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -46,16 +43,27 @@ depends_build-append port:pkgconfig \
</span> depends_lib-append path:lib/pkgconfig/icu-uc.pc:icu \
port:zlib
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# error: 'atomic_load<v8::internal::OwnedVector<const unsigned char> >' is unavailable: introduced in macOS 10.9
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set min_darwin 13
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-if { ${os.major} < ${min_darwin} } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- known_fail yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- pre-fetch {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_error "${name} requires OSX 10.[expr ${min_darwin} - 4] or newer."
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return -code error "Unsupported OSX version"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# use the system libuv instead of the bundled version, as it is fixed for older systems
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if { ${os.platform} eq "darwin" && ${os.major} < 15 } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_lib-append path:lib/libuv.dylib:libuv
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append --shared-libuv
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {${configure.cxx_stdlib} eq "libc++"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_lib-append port:macports-libcxx
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.cxx-append -Wl,-L${prefix}/lib/libcxx
</span> }
}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# suppress a warning-as-error that shows up with newer clang compilers
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {[string match *clang* ${configure.compiler}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.cxx-append -Wno-error=enum-constexpr-conversion
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #the ventura buildbot will fail because it doesn't recognise this flag
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #so we disable unknown warnings as errors for older compilers
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.cxx-append -Wno-error=unknown-warning-option
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> proc rec_glob {basedir pattern} {
set files [glob -directory $basedir -nocomplain -type f $pattern]
foreach dir [glob -directory $basedir -nocomplain -type d *] {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/nodejs19/Portfile b/devel/nodejs19/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 4335b29b861..89680bbfdc7 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/nodejs19/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/nodejs19/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -9,9 +9,6 @@ PortGroup deprecated 1.0
</span> # https://github.com/nodejs/Release
deprecated.eol_version yes
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# on macOS nodejs only builds against libc++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# this force is OK as node does not link against any other c++ libs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_lib-append port:libcxx
</span> configure.cxx_stdlib libc++
compiler.cxx_standard 2014
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -51,15 +48,26 @@ depends_build-append port:pkgconfig \
</span> depends_lib-append path:lib/pkgconfig/icu-uc.pc:icu \
port:zlib
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# error: 'atomic_load<v8::internal::OwnedVector<const unsigned char> >' is unavailable: introduced in macOS 10.9
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set min_darwin 13
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-if { ${os.major} < ${min_darwin} } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- known_fail yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- pre-fetch {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_error "${name} requires OSX 10.[expr ${min_darwin} - 4] or newer."
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return -code error "Unsupported OSX version"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# use the system libuv instead of the bundled version, as it is fixed for older systems
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if { ${os.platform} eq "darwin" && ${os.major} < 15 } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_lib-append path:lib/libuv.dylib:libuv
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append --shared-libuv
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {${configure.cxx_stdlib} eq "libc++"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_lib-append port:macports-libcxx
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.cxx-append -Wl,-L${prefix}/lib/libcxx
</span> }
}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# suppress a warning-as-error that shows up with newer clang compilers
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {[string match *clang* ${configure.compiler}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.cxx-append -Wno-error=enum-constexpr-conversion
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #the ventura buildbot will fail because it doesn't recognise this flag
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #so we disable unknown warnings as errors for older compilers
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.cxx-append -Wno-error=unknown-warning-option
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span>
proc rec_glob {basedir pattern} {
set files [glob -directory $basedir -nocomplain -type f $pattern]
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/nodejs20/Portfile b/devel/nodejs20/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index b48714f64b2..90f64046b7c 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/nodejs20/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/nodejs20/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -4,9 +4,6 @@ PortSystem 1.0
</span> PortGroup compiler_blacklist_versions 1.0
PortGroup legacysupport 1.1
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# on macOS nodejs only builds against libc++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# this force is OK as node does not link against any other c++ libs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_lib-append port:libcxx
</span> configure.cxx_stdlib libc++
compiler.cxx_standard 2014
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -46,16 +43,31 @@ depends_build-append port:pkgconfig \
</span> depends_lib-append path:lib/pkgconfig/icu-uc.pc:icu \
port:zlib
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# error: 'atomic_load<v8::internal::OwnedVector<const unsigned char> >' is unavailable: introduced in macOS 10.9
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set min_darwin 13
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-if { ${os.major} < ${min_darwin} } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- known_fail yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- pre-fetch {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_error "${name} requires OSX 10.[expr ${min_darwin} - 4] or newer."
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return -code error "Unsupported OSX version"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# use the system libuv instead of the bundled version, as it is fixed for older systems
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if { ${os.platform} eq "darwin" && ${os.major} < 15 } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # for older macs it seems nodejs20+ requires the packaged libuv,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # unlike earlier versions. the flag below ensures the libuv
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # packaged with nodejs20+ can be used
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[string match *clang* ${configure.compiler}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.cxx-append -Wno-error=incompatible-function-pointer-types
</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;'>+ if {${configure.cxx_stdlib} eq "libc++"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_lib-append port:macports-libcxx
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.cxx-append -Wl,-L${prefix}/lib/libcxx
</span> }
}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# suppress a warning-as-error that shows up with newer clang compilers
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {[string match *clang* ${configure.compiler}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.cxx-append -Wno-error=enum-constexpr-conversion
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #the ventura buildbot will fail because it doesn't recognise this flag
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #so we disable unknown warnings as errors for older compilers
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.cxx-append -Wno-error=unknown-warning-option
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> proc rec_glob {basedir pattern} {
set files [glob -directory $basedir -nocomplain -type f $pattern]
foreach dir [glob -directory $basedir -nocomplain -type d *] {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/nodejs21/Portfile b/devel/nodejs21/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index b6a8cae0512..c469dadb6e1 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/nodejs21/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/nodejs21/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -4,9 +4,6 @@ PortSystem 1.0
</span> PortGroup compiler_blacklist_versions 1.0
PortGroup legacysupport 1.1
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# on macOS nodejs only builds against libc++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# this force is OK as node does not link against any other c++ libs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_lib-append port:libcxx
</span> configure.cxx_stdlib libc++
compiler.cxx_standard 2014
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -46,16 +43,37 @@ depends_build-append port:pkgconfig \
</span> depends_lib-append path:lib/pkgconfig/icu-uc.pc:icu \
port:zlib
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# error: 'atomic_load<v8::internal::OwnedVector<const unsigned char> >' is unavailable: introduced in macOS 10.9
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set min_darwin 13
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-if { ${os.major} < ${min_darwin} } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- known_fail yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- pre-fetch {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_error "${name} requires OSX 10.[expr ${min_darwin} - 4] or newer."
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return -code error "Unsupported OSX version"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# use the system libuv instead of the bundled version, as it is fixed for older systems
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if { ${os.platform} eq "darwin" && ${os.major} < 15 } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # for older macs it seems nodejs20+ requires the packaged libuv,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # unlike earlier versions. the flag below ensures the libuv
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # packaged with nodejs20+ can be used
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[string match *clang* ${configure.compiler}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.cxx-append -Wno-error=incompatible-function-pointer-types
</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;'>+ if {${configure.cxx_stdlib} eq "libc++"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_lib-append port:macports-libcxx
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.cxx-append -Wl,-L${prefix}/lib/libcxx
</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;'>+ #we guard against using the pthread qos API for Yosemite (10.10) and lower,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #since it is not available.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if { ${os.major} < 14 } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.cppflags-append -DNOT_ON_BROSEMITE_OR_LATER=1
</span> }
}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# suppress a warning-as-error that shows up with newer clang compilers
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {[string match *clang* ${configure.compiler}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.cxx-append -Wno-error=enum-constexpr-conversion
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #the ventura buildbot will fail because it doesn't recognise this flag
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #so we disable unknown warnings as errors for older compilers
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.cxx-append -Wno-error=unknown-warning-option
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> proc rec_glob {basedir pattern} {
set files [glob -directory $basedir -nocomplain -type f $pattern]
foreach dir [glob -directory $basedir -nocomplain -type d *] {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -66,7 +84,8 @@ proc rec_glob {basedir pattern} {
</span>
configure.python ${prefix}/bin/python${py_ver}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles patch-common.gypi.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles patch-common.gypi.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patch-add-pthread-qos-guard-for-older-macs.patch
</span>
post-patch {
foreach f [concat ${worksrcpath}/configure \
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/nodejs21/files/patch-add-pthread-qos-guard-for-older-macs.patch b/devel/nodejs21/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/nodejs21/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/nodejs22/Portfile b/devel/nodejs22/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index f846c941c98..36003a1ebb9 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;'>@@ -4,9 +4,6 @@ PortSystem 1.0
</span> PortGroup compiler_blacklist_versions 1.0
PortGroup legacysupport 1.1
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# on macOS nodejs only builds against libc++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# this force is OK as node does not link against any other c++ libs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_lib-append port:libcxx
</span> configure.cxx_stdlib libc++
compiler.cxx_standard 2014
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -46,16 +43,37 @@ depends_build-append port:pkgconfig \
</span> depends_lib-append path:lib/pkgconfig/icu-uc.pc:icu \
port:zlib
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# error: 'atomic_load<v8::internal::OwnedVector<const unsigned char> >' is unavailable: introduced in macOS 10.9
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set min_darwin 13
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-if { ${os.major} < ${min_darwin} } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- known_fail yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- pre-fetch {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_error "${name} requires OSX 10.[expr ${min_darwin} - 4] or newer."
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return -code error "Unsupported OSX version"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# use the system libuv instead of the bundled version, as it is fixed for older systems
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if { ${os.platform} eq "darwin" && ${os.major} < 15 } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # for older macs it seems nodejs20+ requires the packaged libuv,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # unlike earlier versions. the flag below ensures the libuv
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # packaged with nodejs20+ can be used
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[string match *clang* ${configure.compiler}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.cxx-append -Wno-error=incompatible-function-pointer-types
</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;'>+ if {${configure.cxx_stdlib} eq "libc++"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_lib-append port:macports-libcxx
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.cxx-append -Wl,-L${prefix}/lib/libcxx
</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;'>+ #we guard against using the pthread qos API for Yosemite (10.10) and lower,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #since it is not available.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if { ${os.major} < 14 } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.cppflags-append -DNOT_ON_BROSEMITE_OR_LATER=1
</span> }
}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# suppress a warning-as-error that shows up with newer clang compilers
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {[string match *clang* ${configure.compiler}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.cxx-append -Wno-error=enum-constexpr-conversion
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #the ventura buildbot will fail because it doesn't recognise this flag
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #so we disable unknown warnings as errors for older compilers
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.cxx-append -Wno-error=unknown-warning-option
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> proc rec_glob {basedir pattern} {
set files [glob -directory $basedir -nocomplain -type f $pattern]
foreach dir [glob -directory $basedir -nocomplain -type d *] {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -66,7 +84,8 @@ proc rec_glob {basedir pattern} {
</span>
configure.python ${prefix}/bin/python${py_ver}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles patch-common.gypi.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles patch-common.gypi.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patch-add-pthread-qos-guard-for-older-macs.patch
</span>
post-patch {
foreach f [concat ${worksrcpath}/configure \
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/nodejs22/files/patch-add-pthread-qos-guard-for-older-macs.patch b/devel/nodejs22/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/nodejs22/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/nodejs22/files/patch-common.gypi.diff b/devel/nodejs22/files/patch-common.gypi.diff
</span><span style='display:block; white-space:pre;color:#808080;'>index 80cea059ea2..d22e0121240 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/nodejs22/files/patch-common.gypi.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/nodejs22/files/patch-common.gypi.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,10 +1,20 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- common.gypi.orig 2023-10-16 22:31:01.000000000 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ common.gypi 2023-10-17 10:00:29.282416651 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -528,7 +528,6 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 'GCC_ENABLE_CPP_RTTI': 'NO', # -fno-rtti
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- common.gypi.orig 2024-11-29 13:18:05.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ common.gypi 2024-11-29 14:44:03.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -616,7 +616,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;'>+@@ -627,7 +628,6 @@
</span> 'GCC_ENABLE_PASCAL_STRINGS': 'NO', # No -mpascal-strings
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ 'GCC_STRICT_ALIASING': 'NO', # -fno-strict-aliasing
</span> 'PREBINDING': 'NO', # No -Wl,-prebind
- 'MACOSX_DEPLOYMENT_TARGET': '11.0', # -mmacosx-version-min=11.0
'USE_HEADERMAP': 'NO',
<span style='display:block; white-space:pre;background:#ffe0e0;'>- 'OTHER_CFLAGS': [
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- '-fno-strict-aliasing',
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 'WARNING_CFLAGS': [
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ '-Wall',
</span></pre><pre style='margin:0'>
</pre>