<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/e9bc736dfcb7749728851dc6d5fa85f1c4a57dae">https://github.com/macports/macports-ports/commit/e9bc736dfcb7749728851dc6d5fa85f1c4a57dae</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 e9bc736dfcb nodejs*: remove deprecated non-LTS versions
</span>e9bc736dfcb is described below

<span style='display:block; white-space:pre;color:#808000;'>commit e9bc736dfcb7749728851dc6d5fa85f1c4a57dae
</span>Author: Mohamed Akram <makr@macports.org>
AuthorDate: Mon Dec 16 16:08:49 2024 +0400

<span style='display:block; white-space:pre;color:#404040;'>    nodejs*: remove deprecated non-LTS versions
</span>---
 devel/bamtools/Portfile                            |   2 +-
 devel/nodejs10/Portfile                            |   2 +-
 devel/nodejs12/Portfile                            |   2 +-
 devel/nodejs13/Portfile                            | 176 +----------------
 devel/nodejs13/files/patch-common.gypi.diff        |  10 -
 devel/nodejs13/files/patch-icu-68.diff             |  64 -------
 devel/nodejs14/Portfile                            |   2 +-
 devel/nodejs15/Portfile                            | 185 +-----------------
 devel/nodejs15/files/patch-common.gypi.diff        |  10 -
 devel/nodejs15/files/patch-icu-68.diff             |  64 -------
 .../patch-tools-getsharedopensslhasquic.py.diff    |  25 ---
 devel/nodejs16/Portfile                            |   2 +-
 devel/nodejs17/Portfile                            | 210 +-------------------
 devel/nodejs17/files/patch-common.gypi.diff        |  10 -
 devel/nodejs18/Portfile                            |   2 +-
 devel/nodejs19/Portfile                            | 204 +-------------------
 devel/nodejs19/files/patch-common.gypi.diff        |  10 -
 devel/nodejs20/Portfile                            |   2 +-
 devel/nodejs21/Portfile                            | 212 +--------------------
 ...atch-add-pthread-qos-guard-for-older-macs.patch |  36 ----
 devel/nodejs21/files/patch-common.gypi.diff        |  10 -
 devel/nodejs22/Portfile                            |   2 +-
 devel/nodejs8/Portfile                             |   2 +-
 23 files changed, 29 insertions(+), 1215 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/bamtools/Portfile b/devel/bamtools/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 5149b627cf4..6a521602a56 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/bamtools/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/bamtools/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -36,7 +36,7 @@ variant nodejs description {If you plan to run in Node.js environment} {
</span>     configure.args-append \
                     -DEnableNodeJS=true
     depends_lib-append \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    path:bin/node:nodejs17
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    path:bin/node:nodejs22
</span> }
 
 notes {
<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 8d0b25ef925..120662805a5 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;'>@@ -31,7 +31,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 nodejs13 nodejs14 nodejs15 nodejs16 nodejs17 nodejs18 nodejs19 nodejs20 nodejs21 nodejs22
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+conflicts               nodejs8 nodejs12 nodejs14 nodejs16 nodejs18 nodejs20 nodejs22
</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 176550fdbb8..a386abf2aa3 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;'>@@ -36,7 +36,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 nodejs13 nodejs14 nodejs15 nodejs16 nodejs17 nodejs18 nodejs19 nodejs20 nodejs21 nodejs22
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+conflicts               nodejs8 nodejs10 nodejs14 nodejs16 nodejs18 nodejs20 nodejs22
</span> 
 homepage                https://nodejs.org/
 master_sites            ${homepage}dist/v${version}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/nodejs13/Portfile b/devel/nodejs13/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 7713fa40397..4fd12db2162 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/nodejs13/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/nodejs13/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,182 +1,14 @@
</span> # -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
 
 PortSystem              1.0
<span style='display:block; white-space:pre;background:#ffe0e0;'>-PortGroup               compiler_blacklist_versions 1.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-PortGroup               legacysupport 1.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-PortGroup               openssl 1.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-PortGroup               deprecated 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup               obsolete 1.0
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# EOL 2020-06-01
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# https://github.com/nodejs/Release
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-deprecated.eol_version  yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Peg back to openssl 1.1 release
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-openssl.branch          1.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-openssl.configure       pkgconfig build_flags
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><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><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.cxx_stdlib    libc++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-compiler.cxx_standard   2014
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+replaced_by             nodejs14
</span> 
 name                    nodejs13
 version                 13.14.0
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision                7
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision                8
</span> 
 categories              devel net
<span style='display:block; white-space:pre;background:#ffe0e0;'>-platforms               darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-license                 {MIT BSD}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-maintainers             {ciserlohn @ci42} openmaintainer
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-description             Evented I/O for V8 JavaScript
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-long_description        Node's goal is to provide an easy way to build scalable network programs in JavaScript. \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        Node is similar in design to and influenced by systems like Ruby's Event \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        Machine or Python's Twisted. Node takes the event model a bit further-it \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        presents the event loop as a language construct instead of as a library.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-conflicts               nodejs8 nodejs10 nodejs12 nodejs14 nodejs15 nodejs16 nodejs17 nodejs18 nodejs19 nodejs20 nodejs21 nodejs22
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-homepage                https://nodejs.org/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-master_sites            ${homepage}dist/v${version}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-use_xz                  yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums               rmd160  22d2a26a283a015145ddc66dc9ce05ab1d381630 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        sha256  6e03cd241c3e4c2c5cea333f8e39e1b266f390d24d1a232abf386a9e12b529be \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        size    32862504
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-distname                node-v${version}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_build-append    port:pkgconfig
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set py_ver              3.9
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set py_ver_nodot        [string map {. {}} ${py_ver}]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_lib-append      path:lib/pkgconfig/icu-uc.pc:icu \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        port:python${py_ver_nodot}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-use_xcode               yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-proc rec_glob {basedir pattern} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set files [glob -directory $basedir -nocomplain -type f $pattern]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    foreach dir [glob -directory $basedir -nocomplain -type d *] {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        lappend files {*}[rec_glob $dir $pattern]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    return $files
</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;'>-configure.python        ${prefix}/bin/python${py_ver}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles              patch-common.gypi.diff \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        patch-icu-68.diff
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-post-patch {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    foreach f [concat ${worksrcpath}/configure \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                   ${worksrcpath}/tools/gyp/gyp \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                   ${worksrcpath}/deps/v8/tools/objdump-v8 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                   [rec_glob ${worksrcpath} *.py]] {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reinplace -q "s|/usr/bin/env python3|${configure.python}|" ${f}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reinplace -q "s|/usr/bin/env python|${configure.python}|" ${f}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    foreach gypfile [rec_glob ${worksrcpath} *.gyp*] {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reinplace -q "s|'python3'|'${configure.python}'|" ${gypfile}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reinplace -q "s|'python'|'${configure.python}'|" ${gypfile}
</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><span style='display:block; white-space:pre;background:#ffe0e0;'>-# 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:#ffe0e0;'>-if { ${os.platform} eq "darwin" && ${os.major} < 11 } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    depends_lib-append    path:lib/libuv.dylib:libuv
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.args-append --shared-libuv
</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;'>-configure.args-append   --without-npm
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.args-append   --with-intl=system-icu
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.args-append   --shared-openssl
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.args-append   --shared-openssl-includes=[openssl::include_dir]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.args-append   --shared-openssl-libpath=[openssl::lib_dir]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# V8 only supports ARM and IA-32 processors
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-supported_archs         i386 x86_64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-universal_variant       no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# "V8 doesn't like cache."
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.ccache        no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-test.run                yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-test.cmd                ${build.cmd} -j${build.jobs}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-switch $build_arch {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    i386 {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        configure.args-append   --dest-cpu=ia32
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    x86_64 {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        configure.args-append   --dest-cpu=x64
</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><span style='display:block; white-space:pre;background:#ffe0e0;'>-compiler.blacklist-append {clang < 800}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-build.args-append   CC=${configure.cc} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    CXX=${configure.cxx} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    CXX.host=${configure.cxx} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    CPP=${configure.cpp} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    CFLAGS="${configure.cflags}" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    CXXFLAGS="${configure.cxxflags}" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    LDFLAGS="${configure.ldflags} [legacysupport::get_library_link_flags]" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    PYTHON=${configure.python} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    V=1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-destroot {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set bindir ${destroot}${prefix}/bin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set libdir ${destroot}${prefix}/lib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set libndir ${libdir}/node
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set libddir ${libdir}/dtrace
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set incdir ${destroot}${prefix}/include/node
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set docdir ${destroot}${prefix}/share/doc/${name}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -d ${bindir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -d ${libdir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -d ${libndir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -d ${libddir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -d ${incdir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -d ${docdir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # install binaries
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -m 755 -W ${worksrcpath} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        out/Release/node \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ${bindir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # install headers
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -m 644 {*}[glob ${worksrcpath}/src/*.h]                ${incdir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -m 644 {*}[glob ${worksrcpath}/deps/v8/include/*.h]    ${incdir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -m 644 {*}[glob ${worksrcpath}/deps/uv/include/*.h]    ${incdir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -m 644 {*}[glob ${worksrcpath}/deps/cares/include/*.h] ${incdir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # install dtrace script
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -m 644 -W ${worksrcpath} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        src/node.d \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ${libddir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # install manpage
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -m 644 -W ${worksrcpath} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        doc/node.1 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ${destroot}${prefix}/share/man/man1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # install docs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -m 644 -W ${worksrcpath} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        AUTHORS \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        CHANGELOG.md \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        CONTRIBUTING.md \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        GOVERNANCE.md \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        LICENSE \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        README.md \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        SECURITY.md \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ${docdir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-livecheck.url       ${homepage}dist/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-livecheck.type      regex
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-livecheck.regex     {v(13\.\d+\.\d+)}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Can be removed after 2025-12-16
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/nodejs13/files/patch-common.gypi.diff b/devel/nodejs13/files/patch-common.gypi.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 239b48ffff8..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/nodejs13/files/patch-common.gypi.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,10 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- common.gypi.orig       2020-01-09 16:27:54.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ common.gypi    2020-01-09 16:28:11.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -424,7 +424,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:#ffe0e0;'>-           'GCC_ENABLE_PASCAL_STRINGS': 'NO',        # No -mpascal-strings
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           'PREBINDING': 'NO',                       # No -Wl,-prebind
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--          'MACOSX_DEPLOYMENT_TARGET': '10.10',      # -mmacosx-version-min=10.10
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           'USE_HEADERMAP': 'NO',
</span><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;color:#808080;'>diff --git a/devel/nodejs13/files/patch-icu-68.diff b/devel/nodejs13/files/patch-icu-68.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0da0c9dcea0..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/nodejs13/files/patch-icu-68.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,64 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Based on https://github.com/nodejs/node/pull/39068
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git deps/v8/src/objects/js-list-format.cc deps/v8/src/objects/js-list-format.cc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 90b93e308a..f2448860fd 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- deps/v8/src/objects/js-list-format.cc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ deps/v8/src/objects/js-list-format.cc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -24,11 +24,13 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "unicode/fpositer.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "unicode/listformatter.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "unicode/ulistformatter.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include "unicode/uvernum.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- namespace v8 {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- namespace internal {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- namespace {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if U_ICU_VERSION_MAJOR_NUM < 67
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- const char* kStandard = "standard";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- const char* kOr = "or";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- const char* kUnit = "unit";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -72,6 +74,31 @@ const char* GetIcuStyleString(JSListFormat::Style style,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   UNREACHABLE();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+UListFormatterWidth GetIcuWidth(JSListFormat::Style style) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  switch (style) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    case JSListFormat::Style::LONG:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      return ULISTFMT_WIDTH_WIDE;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    case JSListFormat::Style::SHORT:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      return ULISTFMT_WIDTH_SHORT;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    case JSListFormat::Style::NARROW:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      return ULISTFMT_WIDTH_NARROW;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  UNREACHABLE();
</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;'>-+UListFormatterType GetIcuType(JSListFormat::Type type) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  switch (type) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    case JSListFormat::Type::CONJUNCTION:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      return ULISTFMT_TYPE_AND;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    case JSListFormat::Type::DISJUNCTION:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      return ULISTFMT_TYPE_OR;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    case JSListFormat::Type::UNIT:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      return ULISTFMT_TYPE_UNITS;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  UNREACHABLE();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }  // namespace
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -170,7 +197,11 @@ MaybeHandle<JSListFormat> JSListFormat::New(Isolate* isolate, Handle<Map> map,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   icu::Locale icu_locale = r.icu_locale;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   UErrorCode status = U_ZERO_ERROR;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   icu::ListFormatter* formatter = icu::ListFormatter::createInstance(
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if U_ICU_VERSION_MAJOR_NUM < 67
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       icu_locale, GetIcuStyleString(style_enum, type_enum), status);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      icu_locale, GetIcuType(type_enum), GetIcuWidth(style_enum), status);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   if (U_FAILURE(status)) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     delete formatter;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     FATAL("Failed to create ICU list formatter, are ICU data files missing?");
</span><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 da8afab14f8..54aff958e9e 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;'>@@ -33,7 +33,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 nodejs13 nodejs15 nodejs16 nodejs17 nodejs18 nodejs19 nodejs20 nodejs21 nodejs22
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+conflicts               nodejs8 nodejs10 nodejs12 nodejs16 nodejs18 nodejs20 nodejs22
</span> 
 homepage                https://nodejs.org/
 master_sites            ${homepage}dist/v${version}
<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 f2b7b89a8bf..1267ab0033b 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;'>@@ -1,191 +1,14 @@
</span> # -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
 
 PortSystem              1.0
<span style='display:block; white-space:pre;background:#ffe0e0;'>-PortGroup               compiler_blacklist_versions 1.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-PortGroup               legacysupport 1.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-PortGroup               deprecated 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup               obsolete 1.0
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# EOL 2021-06-01
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# https://github.com/nodejs/Release
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-deprecated.eol_version  yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.cxx_stdlib    libc++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-compiler.cxx_standard   2014
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+replaced_by             nodejs16
</span> 
 name                    nodejs15
 version                 15.14.0
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision                6
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision                7
</span> 
 categories              devel net
<span style='display:block; white-space:pre;background:#ffe0e0;'>-platforms               darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-license                 {MIT BSD}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-maintainers             {ciserlohn @ci42} openmaintainer
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-description             Evented I/O for V8 JavaScript
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-long_description        Node's goal is to provide an easy way to build scalable network programs in JavaScript. \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        Node is similar in design to and influenced by systems like Ruby's Event \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        Machine or Python's Twisted. Node takes the event model a bit further-it \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        presents the event loop as a language construct instead of as a library.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-conflicts               nodejs8 nodejs10 nodejs12 nodejs13 nodejs14 nodejs16 nodejs17 nodejs18 nodejs19 nodejs20 nodejs21 nodejs22
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-homepage                https://nodejs.org/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-master_sites            ${homepage}dist/v${version}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-use_xz                  yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums               rmd160  348603bfba493e8396bd1b85402eed02f6f2d35f \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        sha256  8122dc4eea4f00af32a1d14ca85a1d4d6ca7b2dcffd9a731bda149fc5593a66e \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        size    33324232
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-distname                node-v${version}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_build-append    port:pkgconfig
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_lib-append      path:lib/pkgconfig/icu-uc.pc:icu \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        port:python39 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        path:lib/libssl.dylib:openssl
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-use_xcode               yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-proc rec_glob {basedir pattern} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set files [glob -directory $basedir -nocomplain -type f $pattern]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    foreach dir [glob -directory $basedir -nocomplain -type d *] {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        lappend files {*}[rec_glob $dir $pattern]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    return $files
</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;'>-# 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:#ffe0e0;'>-if { ${os.platform} eq "darwin" && ${os.major} < 15 } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    depends_lib-append    path:lib/libuv.dylib:libuv
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.args-append --shared-libuv
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {${configure.cxx_stdlib} eq "libc++"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        depends_lib-append        port:macports-libcxx
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        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:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# suppress a warning-as-error that shows up with newer clang compilers
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[string match *clang* ${configure.compiler}]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.cxx-append      -Wno-error=enum-constexpr-conversion
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    #the ventura buildbot will fail because it doesn't recognise this flag
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    #so we disable unknown warnings as errors for older compilers
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.cxx-append      -Wno-error=unknown-warning-option
</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><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.python ${prefix}/bin/python3.9
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles              patch-common.gypi.diff \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        patch-icu-68.diff \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        patch-tools-getsharedopensslhasquic.py.diff
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-post-patch {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    foreach f [concat ${worksrcpath}/configure \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                   ${worksrcpath}/tools/gyp/gyp \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                   ${worksrcpath}/deps/v8/tools/objdump-v8 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                   [rec_glob ${worksrcpath} *.py]] {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reinplace -q "s|/usr/bin/env python3|${configure.python}|" ${f}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reinplace -q "s|/usr/bin/env python|${configure.python}|" ${f}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    foreach gypfile [rec_glob ${worksrcpath} *.gyp*] {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reinplace -q "s|'python3'|'${configure.python}'|" ${gypfile}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reinplace -q "s|'python'|'${configure.python}'|" ${gypfile}
</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><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.args-append   --without-npm
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.args-append   --with-intl=system-icu
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.args-append   --shared-openssl
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.args-append   --shared-openssl-includes=${prefix}/include/openssl
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.args-append   --shared-openssl-libpath=${prefix}/lib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# V8 only supports ARM and IA-32 processors
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-supported_archs         i386 x86_64 arm64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-universal_variant       no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# "V8 doesn't like cache."
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.ccache        no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-test.run                yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-test.cmd                ${build.cmd} -j${build.jobs}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-switch $build_arch {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    i386 {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        configure.args-append   --dest-cpu=ia32
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    x86_64 {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        configure.args-append   --dest-cpu=x64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   arm64 {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        configure.args-append   --dest-cpu=arm64
</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><span style='display:block; white-space:pre;background:#ffe0e0;'>-compiler.blacklist-append {clang < 900}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-build.args-append   CC=${configure.cc} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    CXX=${configure.cxx} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    CXX.host=${configure.cxx} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    CPP=${configure.cpp} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    CPPFLAGS="${configure.cppflags}" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    CFLAGS="${configure.cflags} ${configure.cppflags}" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    CXXFLAGS="${configure.cxxflags} ${configure.cppflags}" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    LDFLAGS="${configure.ldflags} [legacysupport::get_library_link_flags]" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    PYTHON=${configure.python} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    V=1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-destroot {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set bindir ${destroot}${prefix}/bin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set libdir ${destroot}${prefix}/lib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set libndir ${libdir}/node
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set libddir ${libdir}/dtrace
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set incdir ${destroot}${prefix}/include/node
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set docdir ${destroot}${prefix}/share/doc/${name}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -d ${bindir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -d ${libdir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -d ${libndir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -d ${libddir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -d ${incdir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -d ${docdir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # install binaries
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -m 755 -W ${worksrcpath} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        out/Release/node \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ${bindir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # install headers
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -m 644 {*}[glob ${worksrcpath}/src/*.h]                ${incdir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -m 644 {*}[glob ${worksrcpath}/deps/v8/include/*.h]    ${incdir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -m 644 {*}[glob ${worksrcpath}/deps/uv/include/*.h]    ${incdir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -m 644 {*}[glob ${worksrcpath}/deps/cares/include/*.h] ${incdir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # install dtrace script
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -m 644 -W ${worksrcpath} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        src/node.d \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ${libddir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # install manpage
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -m 644 -W ${worksrcpath} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        doc/node.1 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ${destroot}${prefix}/share/man/man1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # install docs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -m 644 -W ${worksrcpath} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        AUTHORS \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        CHANGELOG.md \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        CONTRIBUTING.md \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        GOVERNANCE.md \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        LICENSE \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        README.md \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        SECURITY.md \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ${docdir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-livecheck.url       ${homepage}dist/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-livecheck.type      regex
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-livecheck.regex     {v(15\.\d+\.\d+)}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Can be removed after 2025-12-16
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/nodejs15/files/patch-common.gypi.diff b/devel/nodejs15/files/patch-common.gypi.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index d31ad5e8dd5..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/nodejs15/files/patch-common.gypi.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,10 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- common.gypi.orig       2020-01-09 16:27:54.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ common.gypi    2020-01-09 16:28:11.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -424,7 +424,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:#ffe0e0;'>-           'GCC_ENABLE_PASCAL_STRINGS': 'NO',        # No -mpascal-strings
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           'PREBINDING': 'NO',                       # No -Wl,-prebind
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--          'MACOSX_DEPLOYMENT_TARGET': '10.13',      # -mmacosx-version-min=10.13
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           'USE_HEADERMAP': 'NO',
</span><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;color:#808080;'>diff --git a/devel/nodejs15/files/patch-icu-68.diff b/devel/nodejs15/files/patch-icu-68.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 75c1744adbc..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/nodejs15/files/patch-icu-68.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,64 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Based on https://github.com/nodejs/node/pull/39068
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git deps/v8/src/objects/js-list-format.cc deps/v8/src/objects/js-list-format.cc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index b17d38c43f..7eceda3d3c 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- deps/v8/src/objects/js-list-format.cc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ deps/v8/src/objects/js-list-format.cc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -24,11 +24,13 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "unicode/fpositer.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "unicode/listformatter.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "unicode/ulistformatter.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include "unicode/uvernum.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- namespace v8 {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- namespace internal {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- namespace {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if U_ICU_VERSION_MAJOR_NUM < 67
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- const char* kStandard = "standard";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- const char* kOr = "or";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- const char* kUnit = "unit";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -72,6 +74,31 @@ const char* GetIcuStyleString(JSListFormat::Style style,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   UNREACHABLE();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+UListFormatterWidth GetIcuWidth(JSListFormat::Style style) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  switch (style) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    case JSListFormat::Style::LONG:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      return ULISTFMT_WIDTH_WIDE;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    case JSListFormat::Style::SHORT:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      return ULISTFMT_WIDTH_SHORT;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    case JSListFormat::Style::NARROW:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      return ULISTFMT_WIDTH_NARROW;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  UNREACHABLE();
</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;'>-+UListFormatterType GetIcuType(JSListFormat::Type type) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  switch (type) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    case JSListFormat::Type::CONJUNCTION:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      return ULISTFMT_TYPE_AND;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    case JSListFormat::Type::DISJUNCTION:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      return ULISTFMT_TYPE_OR;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    case JSListFormat::Type::UNIT:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      return ULISTFMT_TYPE_UNITS;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  UNREACHABLE();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }  // namespace
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -143,7 +170,11 @@ MaybeHandle<JSListFormat> JSListFormat::New(Isolate* isolate, Handle<Map> map,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   icu::Locale icu_locale = r.icu_locale;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   UErrorCode status = U_ZERO_ERROR;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   icu::ListFormatter* formatter = icu::ListFormatter::createInstance(
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if U_ICU_VERSION_MAJOR_NUM < 67
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       icu_locale, GetIcuStyleString(style_enum, type_enum), status);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      icu_locale, GetIcuType(type_enum), GetIcuWidth(style_enum), status);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   if (U_FAILURE(status) || formatter == nullptr) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     delete formatter;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     THROW_NEW_ERROR(isolate, NewRangeError(MessageTemplate::kIcuError),
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/nodejs15/files/patch-tools-getsharedopensslhasquic.py.diff b/devel/nodejs15/files/patch-tools-getsharedopensslhasquic.py.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 52746591252..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/nodejs15/files/patch-tools-getsharedopensslhasquic.py.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,25 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Fixes this configure error:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Node.js configure: Found Python 3.9.2...
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Traceback (most recent call last):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-  File "/opt/local/var/macports/build/devel_nodejs15/nodejs15/work/node-v15.13.0/./configure", line 26, in <module>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    import configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-  File "/opt/local/var/macports/build/devel_nodejs15/nodejs15/work/node-v15.13.0/configure.py", line 1888, in <module>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure_openssl(output)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-  File "/opt/local/var/macports/build/devel_nodejs15/nodejs15/work/node-v15.13.0/configure.py", line 1455, in configure_openssl
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    variables['openssl_quic'] = b(getsharedopensslhasquic.get_has_quic(options.__dict__['shared_openssl_includes']))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-  File "tools/getsharedopensslhasquic.py", line 12, in get_has_quic
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    f = open(openssl_crypto_h)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-FileNotFoundError: [Errno 2] No such file or directory: '/opt/local/include/openssl/openssl/crypto.h'
</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;'>---- tools/getsharedopensslhasquic.py.orig  2021-03-30 21:20:12.000000000 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ tools/getsharedopensslhasquic.py       2021-03-31 12:35:14.000000000 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -6,7 +6,6 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   if include_path:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     openssl_crypto_h = os.path.join(
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         include_path,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--        'openssl',
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         'crypto.h')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     f = open(openssl_crypto_h)
</span><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 cec9124a406..c70ab51e9cd 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;'>@@ -29,7 +29,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 nodejs13 nodejs14 nodejs15 nodejs17 nodejs18 nodejs19 nodejs20 nodejs21 nodejs22
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+conflicts               nodejs8 nodejs10 nodejs12 nodejs14 nodejs18 nodejs20 nodejs22
</span> 
 homepage                https://nodejs.org/
 master_sites            ${homepage}dist/v${version}
<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 b2906181fe7..27b2bb98337 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;'>@@ -1,216 +1,14 @@
</span> # -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
 
 PortSystem              1.0
<span style='display:block; white-space:pre;background:#ffe0e0;'>-PortGroup               compiler_blacklist_versions 1.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-PortGroup               legacysupport 1.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-PortGroup               deprecated 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup               obsolete 1.0
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# EOL 2022-06-01
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# https://github.com/nodejs/Release
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-deprecated.eol_version  yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.cxx_stdlib    libc++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-compiler.cxx_standard   2017
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+replaced_by             nodejs18
</span> 
 name                    nodejs17
 version                 17.9.1
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision                6
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision                7
</span> 
 categories              devel net
<span style='display:block; white-space:pre;background:#ffe0e0;'>-license                 {MIT BSD}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-maintainers             {ciserlohn @ci42} openmaintainer
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-description             Evented I/O for V8 JavaScript
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-long_description        Node's goal is to provide an easy way to build scalable network programs in JavaScript. \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        Node is similar in design to and influenced by systems like Ruby's Event \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        Machine or Python's Twisted. Node takes the event model a bit further-it \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        presents the event loop as a language construct instead of as a library.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-conflicts               nodejs8 nodejs10 nodejs12 nodejs13 nodejs14 nodejs15 nodejs16 nodejs18 nodejs19 nodejs20 nodejs21 nodejs22
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-homepage                https://nodejs.org/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-master_sites            ${homepage}dist/v${version}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-use_xz                  yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums               rmd160  12c71a6413599a22907fcc5ab7366b6278cae5bd \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        sha256  a178bc446462fc93c16343a49de0f8939a49297240c098dfb0502b0974e44810 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        size    35782080
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-distname                node-v${version}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set py_ver              3.10
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set py_ver_nodot        [string map {. {}} ${py_ver}]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_build-append    port:pkgconfig \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        port:python${py_ver_nodot}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_lib-append      path:lib/pkgconfig/icu-uc.pc:icu \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        port:zlib
</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;'>-# 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:#ffe0e0;'>-if { ${os.platform} eq "darwin" && ${os.major} < 15 } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    depends_lib-append    path:lib/libuv.dylib:libuv
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.args-append --shared-libuv
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {${configure.cxx_stdlib} eq "libc++"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        depends_lib-append        port:macports-libcxx
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        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:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# suppress a warning-as-error that shows up with newer clang compilers
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[string match *clang* ${configure.compiler}]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.cxx-append      -Wno-error=enum-constexpr-conversion
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    #the ventura buildbot will fail because it doesn't recognise this flag
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    #so we disable unknown warnings as errors for older compilers
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.cxx-append      -Wno-error=unknown-warning-option
</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;'>-proc rec_glob {basedir pattern} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set files [glob -directory $basedir -nocomplain -type f $pattern]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    foreach dir [glob -directory $basedir -nocomplain -type d *] {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        lappend files {*}[rec_glob $dir $pattern]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    return $files
</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;'>-configure.python        ${prefix}/bin/python${py_ver}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles              patch-common.gypi.diff
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-post-patch {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    foreach f [concat ${worksrcpath}/configure \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                   ${worksrcpath}/tools/gyp/gyp \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                   ${worksrcpath}/deps/v8/tools/objdump-v8 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                   [rec_glob ${worksrcpath} *.py]] {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reinplace -q "s|/usr/bin/env python3|${configure.python}|" ${f}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reinplace -q "s|/usr/bin/env python|${configure.python}|" ${f}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    foreach gypfile [rec_glob ${worksrcpath} *.gyp*] {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reinplace -q "s|'python3'|'${configure.python}'|" ${gypfile}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reinplace -q "s|'python'|'${configure.python}'|" ${gypfile}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    if { ${os.platform} eq "darwin" && ${os.major} <= 17 } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # Officially nodejs requires Xcode 11 to compile, however, the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # only item that Xcode 11 has that Xcode 10.1 doesn't is
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # os/signpost.h, so disable system instrumentation which uses
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # it. This provides support for macOS 10.13 which can only use
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # Xcode 10.1.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reinplace -q "s|'v8_enable_system_instrumentation': 1|'v8_enable_system_instrumentation': 0|" ${worksrcpath}/tools/v8_gypfiles/features.gypi
</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><span style='display:block; white-space:pre;background:#ffe0e0;'>-pre-configure {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # Copy zlib headers here because we do not want to prepend the entire
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # ${prefix}/include to the include path (the build will then attempt to use
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # ICU headers)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    file mkdir ${workpath}/zlib-inc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    file copy ${prefix}/include/zconf.h ${prefix}/include/zlib.h \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ${workpath}/zlib-inc/
</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;'>-configure.args-append   --without-npm
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.args-append   --with-intl=system-icu
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.args-append   --shared-zlib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.args-append   --shared-zlib-includes=${workpath}/zlib-inc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.args-append   --shared-zlib-libpath=${prefix}/lib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# V8 only supports ARM and IA-32 processors
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-supported_archs         i386 x86_64 arm64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-universal_variant       no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V17.md#openssl-30
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-variant no_openssl3_with_quic description {use MacPort's OpenSSL rather than Node.js' provided OpenSSL 3.0 extended with QUIC} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    depends_lib-append      port:openssl3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.args-append   --shared-openssl
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.args-append   --shared-openssl-includes=${prefix}/libexec/openssl3/include/openssl
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.args-append   --shared-openssl-libpath=${prefix}/libexec/openssl3/lib
</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;'>-# "V8 doesn't like cache."
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.ccache        no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-test.run                yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-test.cmd                ${build.cmd} -j${build.jobs}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-switch $build_arch {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    i386 {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        configure.args-append   --dest-cpu=ia32
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    x86_64 {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        configure.args-append   --dest-cpu=x64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   arm64 {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        configure.args-append   --dest-cpu=arm64
</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><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Node.js 17.x requires Xcode >= 11 (Apple LLVM >= 11)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# https://github.com/nodejs/node/blob/v17.x/BUILDING.md#supported-toolchains
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-compiler.blacklist-append {clang < 1100}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-build.args-append   CC=${configure.cc} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    CXX=${configure.cxx} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    CXX.host=${configure.cxx} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    CPP=${configure.cpp} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    CPPFLAGS="${configure.cppflags}" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    CFLAGS="${configure.cflags} ${configure.cppflags}" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    CXXFLAGS="${configure.cxxflags} ${configure.cppflags}" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    LDFLAGS="${configure.ldflags} [legacysupport::get_library_link_flags]" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    PYTHON=${configure.python} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    V=1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-destroot {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set bindir ${destroot}${prefix}/bin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set libdir ${destroot}${prefix}/lib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set libndir ${libdir}/node
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set libddir ${libdir}/dtrace
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set incdir ${destroot}${prefix}/include/node
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set docdir ${destroot}${prefix}/share/doc/${name}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -d ${bindir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -d ${libdir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -d ${libndir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -d ${libddir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -d ${incdir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -d ${docdir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # install binaries
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -m 755 -W ${worksrcpath} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        out/Release/node \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ${bindir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # install headers
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -m 644 {*}[glob ${worksrcpath}/src/*.h]                ${incdir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -m 644 {*}[glob ${worksrcpath}/deps/v8/include/*.h]    ${incdir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -m 644 {*}[glob ${worksrcpath}/deps/uv/include/*.h]    ${incdir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -m 644 {*}[glob ${worksrcpath}/deps/cares/include/*.h] ${incdir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # install dtrace script
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -m 644 -W ${worksrcpath} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        src/node.d \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ${libddir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # install manpage
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -m 644 -W ${worksrcpath} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        doc/node.1 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ${destroot}${prefix}/share/man/man1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # install docs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -m 644 -W ${worksrcpath} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        AUTHORS \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        CHANGELOG.md \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        CONTRIBUTING.md \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        GOVERNANCE.md \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        LICENSE \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        README.md \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        SECURITY.md \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ${docdir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-livecheck.url       ${homepage}dist/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-livecheck.type      regex
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-livecheck.regex     {v(17.\d+\.\d+)}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Can be removed after 2025-12-16
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/nodejs17/files/patch-common.gypi.diff b/devel/nodejs17/files/patch-common.gypi.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index d31ad5e8dd5..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/nodejs17/files/patch-common.gypi.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,10 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- common.gypi.orig       2020-01-09 16:27:54.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ common.gypi    2020-01-09 16:28:11.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -424,7 +424,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:#ffe0e0;'>-           'GCC_ENABLE_PASCAL_STRINGS': 'NO',        # No -mpascal-strings
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           'PREBINDING': 'NO',                       # No -Wl,-prebind
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--          'MACOSX_DEPLOYMENT_TARGET': '10.13',      # -mmacosx-version-min=10.13
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           'USE_HEADERMAP': 'NO',
</span><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;color:#808080;'>diff --git a/devel/nodejs18/Portfile b/devel/nodejs18/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 26437b1cbca..d0531156708 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;'>@@ -22,7 +22,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 nodejs13 nodejs14 nodejs15 nodejs16 nodejs17 nodejs19 nodejs20 nodejs21 nodejs22
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+conflicts               nodejs8 nodejs10 nodejs12 nodejs14 nodejs16 nodejs20 nodejs22
</span> 
 homepage                https://nodejs.org/
 master_sites            ${homepage}dist/v${version}
<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 a1daaffd98e..a19cab0c94e 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;'>@@ -1,210 +1,14 @@
</span> # -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
 
 PortSystem              1.0
<span style='display:block; white-space:pre;background:#ffe0e0;'>-PortGroup               compiler_blacklist_versions 1.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-PortGroup               legacysupport 1.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-PortGroup               deprecated 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup               obsolete 1.0
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# EOL 2023-06-01
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# https://github.com/nodejs/Release
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-deprecated.eol_version  yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.cxx_stdlib    libc++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-compiler.cxx_standard   2017
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+replaced_by             nodejs20
</span> 
 name                    nodejs19
 version                 19.9.0
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision                2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision                3
</span> 
 categories              devel net
<span style='display:block; white-space:pre;background:#ffe0e0;'>-license                 {MIT BSD}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-maintainers             {ciserlohn @ci42} openmaintainer
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-description             Evented I/O for V8 JavaScript
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-long_description        Node's goal is to provide an easy way to build scalable network programs in JavaScript. \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        Node is similar in design to and influenced by systems like Ruby's Event \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        Machine or Python's Twisted. Node takes the event model a bit further-it \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        presents the event loop as a language construct instead of as a library.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-conflicts               nodejs8 nodejs10 nodejs12 nodejs13 nodejs14 nodejs15 nodejs16 nodejs17 nodejs18 nodejs20 nodejs21 nodejs22
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-homepage                https://nodejs.org/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-master_sites            ${homepage}dist/v${version}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-use_xz                  yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums               rmd160  80d665c0d639b965e41e1940e36e15e261e4730f \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        sha256  c7fce9d46ca6ce0d8990433cbf601bb9279c0eaed8705b357018cf50be9bed29 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        size    40783032
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-distname                node-v${version}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set py_ver              3.11
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set py_ver_nodot        [string map {. {}} ${py_ver}]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_build-append    port:pkgconfig \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        port:python${py_ver_nodot}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_lib-append      path:lib/pkgconfig/icu-uc.pc:icu \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        port:zlib
</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;'>-# 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:#ffe0e0;'>-if { ${os.platform} eq "darwin" && ${os.major} < 15 } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    depends_lib-append    path:lib/libuv.dylib:libuv
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.args-append --shared-libuv
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {${configure.cxx_stdlib} eq "libc++"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        depends_lib-append        port:macports-libcxx
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        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:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# suppress a warning-as-error that shows up with newer clang compilers
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[string match *clang* ${configure.compiler}]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.cxx-append      -Wno-error=enum-constexpr-conversion
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    #the ventura buildbot will fail because it doesn't recognise this flag
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    #so we disable unknown warnings as errors for older compilers
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.cxx-append      -Wno-error=unknown-warning-option
</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;'>-proc rec_glob {basedir pattern} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set files [glob -directory $basedir -nocomplain -type f $pattern]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    foreach dir [glob -directory $basedir -nocomplain -type d *] {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        lappend files {*}[rec_glob $dir $pattern]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    return $files
</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;'>-configure.python        ${prefix}/bin/python${py_ver}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles              patch-common.gypi.diff
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-post-patch {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    foreach f [concat ${worksrcpath}/configure \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                   ${worksrcpath}/tools/gyp/gyp \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                   ${worksrcpath}/deps/v8/tools/objdump-v8 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                   [rec_glob ${worksrcpath} *.py]] {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reinplace -q "s|/usr/bin/env python3|${configure.python}|" ${f}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reinplace -q "s|/usr/bin/env python|${configure.python}|" ${f}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    foreach gypfile [rec_glob ${worksrcpath} *.gyp*] {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reinplace -q "s|'python3'|'${configure.python}'|" ${gypfile}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reinplace -q "s|'python'|'${configure.python}'|" ${gypfile}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    if { ${os.platform} eq "darwin" && ${os.major} <= 17 } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # Officially nodejs requires Xcode 11 to compile, however, the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # only item that Xcode 11 has that Xcode 10.1 doesn't is
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # os/signpost.h, so disable system instrumentation which uses
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # it. This provides support for macOS 10.13 which can only use
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # Xcode 10.1.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reinplace -q "s|'v8_enable_system_instrumentation': 1|'v8_enable_system_instrumentation': 0|" ${worksrcpath}/tools/v8_gypfiles/features.gypi
</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><span style='display:block; white-space:pre;background:#ffe0e0;'>-pre-configure {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # Copy zlib headers here because we do not want to prepend the entire
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # ${prefix}/include to the include path (the build will then attempt to use
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # ICU headers)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    file mkdir ${workpath}/zlib-inc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    file copy ${prefix}/include/zconf.h ${prefix}/include/zlib.h \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ${workpath}/zlib-inc/
</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;'>-configure.args-append   --without-npm
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.args-append   --with-intl=system-icu
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.args-append   --shared-zlib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.args-append   --shared-zlib-includes=${workpath}/zlib-inc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.args-append   --shared-zlib-libpath=${prefix}/lib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# V8 only supports ARM and IA-32 processors
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-supported_archs         i386 x86_64 arm64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-universal_variant       no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V17.md#openssl-30
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-variant no_openssl3_with_quic description {use MacPort's OpenSSL rather than Node.js' provided OpenSSL 3.0 extended with QUIC} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    depends_lib-append      port:openssl3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.args-append   --shared-openssl
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.args-append   --shared-openssl-includes=${prefix}/libexec/openssl3/include/openssl
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.args-append   --shared-openssl-libpath=${prefix}/libexec/openssl3/lib
</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;'>-# "V8 doesn't like cache."
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.ccache        no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-test.run                yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-test.cmd                ${build.cmd} -j${build.jobs}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-switch $build_arch {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    i386 {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        configure.args-append   --dest-cpu=ia32
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    x86_64 {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        configure.args-append   --dest-cpu=x64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   arm64 {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        configure.args-append   --dest-cpu=arm64
</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><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Node.js 19.x requires Xcode >= 11 (Apple LLVM >= 11)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# https://github.com/nodejs/node/blob/v19.x/BUILDING.md#supported-toolchains
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-compiler.blacklist-append {clang < 1100}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-build.args-append   CC=${configure.cc} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    CXX=${configure.cxx} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    CXX.host=${configure.cxx} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    CPP=${configure.cpp} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    CPPFLAGS="${configure.cppflags}" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    CFLAGS="${configure.cflags} ${configure.cppflags}" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    CXXFLAGS="${configure.cxxflags} ${configure.cppflags}" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    LDFLAGS="${configure.ldflags} [legacysupport::get_library_link_flags]" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    PYTHON=${configure.python} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    V=1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-destroot {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set bindir ${destroot}${prefix}/bin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set libdir ${destroot}${prefix}/lib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set libndir ${libdir}/node
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set libddir ${libdir}/dtrace
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set incdir ${destroot}${prefix}/include/node
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set docdir ${destroot}${prefix}/share/doc/${name}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -d ${bindir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -d ${libdir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -d ${libndir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -d ${libddir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -d ${incdir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -d ${docdir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # install binaries
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -m 755 -W ${worksrcpath} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        out/Release/node \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ${bindir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # install headers
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -m 644 {*}[glob ${worksrcpath}/src/*.h]                ${incdir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -m 644 {*}[glob ${worksrcpath}/deps/v8/include/*.h]    ${incdir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -m 644 {*}[glob ${worksrcpath}/deps/uv/include/*.h]    ${incdir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -m 644 {*}[glob ${worksrcpath}/deps/cares/include/*.h] ${incdir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # install manpage
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -m 644 -W ${worksrcpath} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        doc/node.1 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ${destroot}${prefix}/share/man/man1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # install docs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -m 644 -W ${worksrcpath} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        CHANGELOG.md \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        CONTRIBUTING.md \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        GOVERNANCE.md \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        LICENSE \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        README.md \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        SECURITY.md \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ${docdir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-livecheck.url       ${homepage}dist/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-livecheck.type      regex
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-livecheck.regex     {v(19\.\d+\.\d+)}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Can be removed after 2025-12-16
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/nodejs19/files/patch-common.gypi.diff b/devel/nodejs19/files/patch-common.gypi.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index b92fd82249b..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/nodejs19/files/patch-common.gypi.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,10 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- common.gypi.orig       2022-04-18 16:22:35.000000000 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ common.gypi    2022-04-19 10:28:10.860152199 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -501,7 +501,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:#ffe0e0;'>-           'GCC_ENABLE_PASCAL_STRINGS': 'NO',        # No -mpascal-strings
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           'PREBINDING': 'NO',                       # No -Wl,-prebind
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--          'MACOSX_DEPLOYMENT_TARGET': '10.15',      # -mmacosx-version-min=10.15
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           'USE_HEADERMAP': 'NO',
</span><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;color:#808080;'>diff --git a/devel/nodejs20/Portfile b/devel/nodejs20/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 69134aae2f6..1eeac20d59a 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;'>@@ -22,7 +22,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 nodejs13 nodejs14 nodejs15 nodejs16 nodejs17 nodejs18 nodejs19 nodejs21 nodejs22
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+conflicts               nodejs8 nodejs10 nodejs12 nodejs14 nodejs16 nodejs18 nodejs22
</span> 
 homepage                https://nodejs.org/
 master_sites            ${homepage}dist/v${version}
<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 468865cd1d2..4d043d05590 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;'>@@ -1,218 +1,14 @@
</span> # -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
 
 PortSystem              1.0
<span style='display:block; white-space:pre;background:#ffe0e0;'>-PortGroup               compiler_blacklist_versions 1.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-PortGroup               legacysupport 1.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup               obsolete 1.0
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.cxx_stdlib    libc++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-compiler.cxx_standard   2017
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+replaced_by             nodejs22
</span> 
 name                    nodejs21
 version                 21.7.3
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision                1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision                2
</span> 
 categories              devel net
<span style='display:block; white-space:pre;background:#ffe0e0;'>-license                 {MIT BSD}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-maintainers             {ciserlohn @ci42} openmaintainer
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-description             Evented I/O for V8 JavaScript
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-long_description        Node's goal is to provide an easy way to build scalable network programs in JavaScript. \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        Node is similar in design to and influenced by systems like Ruby's Event \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        Machine or Python's Twisted. Node takes the event model a bit further-it \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        presents the event loop as a language construct instead of as a library.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-conflicts               nodejs8 nodejs10 nodejs12 nodejs13 nodejs14 nodejs15 nodejs16 nodejs17 nodejs18 nodejs19 nodejs20 nodejs22
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-homepage                https://nodejs.org/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-master_sites            ${homepage}dist/v${version}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-use_xz                  yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums               rmd160  0c5e20deb23a08d5f5fd2eaafce49e17b8486de4 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        sha256  668b26fb1bfc1cff60622bbcf3d715843e16f50c8f30e9f64fb4141814d79a21 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        size    42376664
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-distname                node-v${version}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set py_ver              3.12
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set py_ver_nodot        [string map {. {}} ${py_ver}]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_build-append    port:pkgconfig \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        port:python${py_ver_nodot}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_lib-append      path:lib/pkgconfig/icu-uc.pc:icu \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        port:zlib
</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;'>-# 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:#ffe0e0;'>-if { ${os.platform} eq "darwin" && ${os.major} < 15 } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # for older macs it seems nodejs20+ requires the packaged libuv,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # unlike earlier versions. the flag below ensures the libuv
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # packaged with nodejs20+ can be used
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[string match *clang* ${configure.compiler}]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        configure.cxx-append      -Wno-error=incompatible-function-pointer-types
</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;'>-    if {${configure.cxx_stdlib} eq "libc++"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        depends_lib-append        port:macports-libcxx
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        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:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    #we guard against using the pthread qos API for Yosemite (10.10) and lower,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    #since it is not available.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    if { ${os.major} < 14 } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        configure.cppflags-append -DNOT_ON_BROSEMITE_OR_LATER=1
</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><span style='display:block; white-space:pre;background:#ffe0e0;'>-# suppress a warning-as-error that shows up with newer clang compilers
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[string match *clang* ${configure.compiler}]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.cxx-append      -Wno-error=enum-constexpr-conversion
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    #the ventura buildbot will fail because it doesn't recognise this flag
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    #so we disable unknown warnings as errors for older compilers
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.cxx-append      -Wno-error=unknown-warning-option
</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;'>-proc rec_glob {basedir pattern} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set files [glob -directory $basedir -nocomplain -type f $pattern]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    foreach dir [glob -directory $basedir -nocomplain -type d *] {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        lappend files {*}[rec_glob $dir $pattern]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    return $files
</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;'>-configure.python        ${prefix}/bin/python${py_ver}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles              patch-common.gypi.diff \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        patch-add-pthread-qos-guard-for-older-macs.patch
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-post-patch {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    foreach f [concat ${worksrcpath}/configure \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                   ${worksrcpath}/tools/gyp/gyp \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                   ${worksrcpath}/deps/v8/tools/objdump-v8 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                   [rec_glob ${worksrcpath} *.py]] {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reinplace -q "s|/usr/bin/env python3|${configure.python}|" ${f}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reinplace -q "s|/usr/bin/env python|${configure.python}|" ${f}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    foreach gypfile [rec_glob ${worksrcpath} *.gyp*] {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reinplace -q "s|'python3'|'${configure.python}'|" ${gypfile}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reinplace -q "s|'python'|'${configure.python}'|" ${gypfile}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    if { ${os.platform} eq "darwin" && ${os.major} <= 17 } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # Officially nodejs requires Xcode 11 to compile, however, the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # only item that Xcode 11 has that Xcode 10.1 doesn't is
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # os/signpost.h, so disable system instrumentation which uses
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # it. This provides support for macOS 10.13 which can only use
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # Xcode 10.1.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reinplace -q "s|'v8_enable_system_instrumentation': 1|'v8_enable_system_instrumentation': 0|" ${worksrcpath}/tools/v8_gypfiles/features.gypi
</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><span style='display:block; white-space:pre;background:#ffe0e0;'>-pre-configure {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # Copy zlib headers here because we do not want to prepend the entire
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # ${prefix}/include to the include path (the build will then attempt to use
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # ICU headers)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    file mkdir ${workpath}/zlib-inc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    file copy ${prefix}/include/zconf.h ${prefix}/include/zlib.h \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ${workpath}/zlib-inc/
</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;'>-configure.args-append   --without-npm
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.args-append   --with-intl=system-icu
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.args-append   --shared-zlib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.args-append   --shared-zlib-includes=${workpath}/zlib-inc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.args-append   --shared-zlib-libpath=${prefix}/lib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# V8 only supports ARM and IA-32 processors
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-supported_archs         i386 x86_64 arm64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-universal_variant       no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V17.md#openssl-30
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-variant no_openssl3_with_quic description {use MacPort's OpenSSL rather than Node.js' provided OpenSSL 3.0 extended with QUIC} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    depends_lib-append      port:openssl3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.args-append   --shared-openssl
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.args-append   --shared-openssl-includes=${prefix}/libexec/openssl3/include/openssl
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.args-append   --shared-openssl-libpath=${prefix}/libexec/openssl3/lib
</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;'>-# "V8 doesn't like cache."
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.ccache        no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-test.run                yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-test.cmd                ${build.cmd} -j${build.jobs}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-switch $build_arch {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    i386 {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        configure.args-append   --dest-cpu=ia32
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    x86_64 {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        configure.args-append   --dest-cpu=x64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   arm64 {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        configure.args-append   --dest-cpu=arm64
</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><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Node.js 21.x requires Xcode >= 13 (Apple LLVM >= 12)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# https://github.com/nodejs/node/blob/v21.x/BUILDING.md#supported-toolchains
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-compiler.blacklist-append {clang < 1200}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-build.args-append   CC=${configure.cc} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    CXX=${configure.cxx} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    CXX.host=${configure.cxx} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    CPP=${configure.cpp} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    CPPFLAGS="${configure.cppflags}" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    CFLAGS="${configure.cflags} ${configure.cppflags}" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    CXXFLAGS="${configure.cxxflags} ${configure.cppflags}" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    LDFLAGS="${configure.ldflags} [legacysupport::get_library_link_flags]" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    PYTHON=${configure.python} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    V=1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-destroot {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set bindir ${destroot}${prefix}/bin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set libdir ${destroot}${prefix}/lib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set libndir ${libdir}/node
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set libddir ${libdir}/dtrace
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set incdir ${destroot}${prefix}/include/node
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set docdir ${destroot}${prefix}/share/doc/${name}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -d ${bindir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -d ${libdir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -d ${libndir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -d ${libddir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -d ${incdir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -d ${incdir}/uv
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -d ${docdir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # install binaries
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -m 755 -W ${worksrcpath} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        out/Release/node \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ${bindir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # install headers
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -m 644 {*}[glob ${worksrcpath}/src/*.h]                ${incdir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -m 644 {*}[glob ${worksrcpath}/deps/v8/include/*.h]    ${incdir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -m 644 {*}[glob ${worksrcpath}/deps/uv/include/*.h]    ${incdir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -m 644 {*}[glob ${worksrcpath}/deps/uv/include/uv/*.h] ${incdir}/uv
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -m 644 {*}[glob ${worksrcpath}/deps/cares/include/*.h] ${incdir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # install manpage
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -m 644 -W ${worksrcpath} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        doc/node.1 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ${destroot}${prefix}/share/man/man1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # install docs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -m 644 -W ${worksrcpath} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        CHANGELOG.md \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        CONTRIBUTING.md \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        GOVERNANCE.md \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        LICENSE \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        README.md \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        SECURITY.md \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ${docdir}
</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;'>-livecheck.url       ${homepage}dist/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-livecheck.type      regex
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-livecheck.regex     {v(21\.\d+\.\d+)}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Can be removed after 2025-12-16
</span><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>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index d1d6582a05c..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/nodejs21/files/patch-add-pthread-qos-guard-for-older-macs.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,36 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- 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:#ffe0e0;'>-+++ 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:#ffe0e0;'>-@@ -1135,6 +1135,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   SetThreadName(thread->name());
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #if V8_OS_DARWIN
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   switch (thread->priority()) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifndef NOT_ON_BROSEMITE_OR_LATER
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     case Thread::Priority::kBestEffort:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       pthread_set_qos_class_self_np(QOS_CLASS_BACKGROUND, 0);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1144,6 +1145,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     case Thread::Priority::kUserBlocking:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       pthread_set_qos_class_self_np(QOS_CLASS_USER_INITIATED, 0);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     case Thread::Priority::kDefault:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- deps/v8/src/d8/d8.cc   2024-04-10 05:46:13.000000000 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ deps/v8/src/d8/d8.cc   2024-09-30 19:51:11.000000000 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -5696,6 +5696,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   v8::V8::InitializeICUDefaultLocation(argv[0], options.icu_data_file);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifndef NOT_ON_BROSEMITE_OR_LATER
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #ifdef V8_OS_DARWIN
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   if (options.apply_priority) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     struct task_category_policy category = {.role =
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -5705,6 +5706,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     pthread_set_qos_class_self_np(QOS_CLASS_USER_INTERACTIVE, 0);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #ifdef V8_INTL_SUPPORT
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   if (options.icu_locale != nullptr) {
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/nodejs21/files/patch-common.gypi.diff b/devel/nodejs21/files/patch-common.gypi.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 80cea059ea2..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/nodejs21/files/patch-common.gypi.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,10 +0,0 @@
</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:#ffe0e0;'>-           'GCC_ENABLE_PASCAL_STRINGS': 'NO',        # No -mpascal-strings
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           'PREBINDING': 'NO',                       # No -Wl,-prebind
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--          'MACOSX_DEPLOYMENT_TARGET': '11.0',       # -mmacosx-version-min=11.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           'USE_HEADERMAP': 'NO',
</span><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;color:#808080;'>diff --git a/devel/nodejs22/Portfile b/devel/nodejs22/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index a470402969c..a82f2f3a10d 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;'>@@ -22,7 +22,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 nodejs13 nodejs14 nodejs15 nodejs16 nodejs17 nodejs18 nodejs19 nodejs20 nodejs21
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+conflicts               nodejs8 nodejs10 nodejs12 nodejs14 nodejs16 nodejs18 nodejs20
</span> 
 homepage                https://nodejs.org/
 master_sites            ${homepage}dist/v${version}
<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 50843c6102b..67318e4f3a9 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;'>@@ -25,7 +25,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 nodejs13 nodejs14 nodejs15 nodejs16 nodejs17 nodejs18 nodejs19 nodejs20 nodejs21 nodejs22
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+conflicts               nodejs10 nodejs12 nodejs14 nodejs16 nodejs18 nodejs20 nodejs22
</span> 
 homepage                https://nodejs.org/
 master_sites            ${homepage}dist/v${version}
</pre><pre style='margin:0'>

</pre>