<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>