<pre style='margin:0'>
Blair Zajac (blair) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/aa41f0eb8a57f2cafa9aac004f1c8a89c8191c25">https://github.com/macports/macports-ports/commit/aa41f0eb8a57f2cafa9aac004f1c8a89c8191c25</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 aa41f0eb8a5 npm7: new port based off npm6
</span>aa41f0eb8a5 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit aa41f0eb8a57f2cafa9aac004f1c8a89c8191c25
</span>Author: Blair Zajac <blair@macports.org>
AuthorDate: Sat Feb 20 12:42:03 2021 -0800

<span style='display:block; white-space:pre;color:#404040;'>    npm7: new port based off npm6
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Fixes: https://trac.macports.org/ticket/62327
</span>---
 devel/npm3/Portfile                       |  2 +-
 devel/npm4/Portfile                       |  2 +-
 devel/npm5/Portfile                       |  2 +-
 devel/npm6/Portfile                       |  4 ++--
 devel/{npm6 => npm7}/Portfile             | 33 ++++++++++++++-----------------
 devel/npm7/files/patch-lib-update.js.diff | 23 +++++++++++++++++++++
 6 files changed, 43 insertions(+), 23 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/npm3/Portfile b/devel/npm3/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index e9b47885f20..8080e0cdd70 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/npm3/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/npm3/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -18,7 +18,7 @@ long_description    npm is a package manager for node. \
</span>                     You can use it to install and publish your node programs. \
                     It manages dependencies and does other cool stuff.
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-conflicts           npm4 npm5 npm6
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+conflicts           npm4 npm5 npm6 npm7
</span> 
 homepage            http://www.npmjs.org/
 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/npm4/Portfile b/devel/npm4/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 813012a7449..66c6718420b 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/npm4/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/npm4/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -18,7 +18,7 @@ long_description    npm is a package manager for node. \
</span>                     You can use it to install and publish your node programs. \
                     It manages dependencies and does other cool stuff.
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-conflicts           npm3 npm5 npm6
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+conflicts           npm3 npm5 npm6 npm7
</span> 
 homepage            http://www.npmjs.org/
 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/npm5/Portfile b/devel/npm5/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index a8823070585..04b7891466a 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/npm5/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/npm5/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -18,7 +18,7 @@ long_description    npm is a package manager for node. \
</span>                     You can use it to install and publish your node programs. \
                     It manages dependencies and does other cool stuff.
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-conflicts           npm3 npm4 npm6
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+conflicts           npm3 npm4 npm6 npm7
</span> 
 homepage            https://www.npmjs.com/
 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/npm6/Portfile b/devel/npm6/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index e47eb8440ff..b3fc96e80dd 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/npm6/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/npm6/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -15,7 +15,7 @@ long_description    npm is a package manager for node. \
</span>                     You can use it to install and publish your node programs. \
                     It manages dependencies and does other cool stuff.
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-conflicts           npm3 npm4 npm5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+conflicts           npm3 npm4 npm5 npm7
</span> 
 homepage            https://www.npmjs.com/
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -98,4 +98,4 @@ ${prefix}/lib/node_modules/ until you manually delete them.
</span> 
 livecheck.type      regex
 livecheck.url       https://registry.npmjs.org/npm
<span style='display:block; white-space:pre;background:#ffe0e0;'>-livecheck.regex     {"latest":"(.*?)"}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+livecheck.regex     {"latest-6":"(.*?)"}
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/npm6/Portfile b/devel/npm7/Portfile
</span>similarity index 77%
copy from devel/npm6/Portfile
copy to devel/npm7/Portfile
<span style='display:block; white-space:pre;color:#808080;'>index e47eb8440ff..60595cafc10 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/npm6/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/npm7/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2,9 +2,9 @@
</span> 
 PortSystem          1.0
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-name                npm6
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-version             6.14.11
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+name                npm7
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version             7.5.4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            0
</span> categories          devel
 platforms           darwin
 supported_archs     noarch
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -15,7 +15,7 @@ long_description    npm is a package manager for node. \
</span>                     You can use it to install and publish your node programs. \
                     It manages dependencies and does other cool stuff.
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-conflicts           npm3 npm4 npm5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+conflicts           npm3 npm4 npm5 npm6
</span> 
 homepage            https://www.npmjs.com/
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -26,10 +26,10 @@ distname            npm-${version}
</span> extract.suffix      .tgz
 
 # Please keep the sha1 - users can use it to validate sha values published on npmjs.org for the package
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums           sha1    e0b5598d7b9a42d275e61d8bd28cd7eee0074a3b \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    rmd160  e772ab0ba54c1e2df086c73c391e6f6307d233e8 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256  13ed5653ba2ac2b7bb65852ea2e8b2e247738850f6c07c69c22394cb22db56e0 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    size    5942611
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           sha1    faf78614c7fb92fc0fa8cd9ca4abea7e0b435699 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    rmd160  7bdc9f420dfe2e6ca0797ee2a9a41a1c1e5f0ff3 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  3ac85e753cdd69c8ff228a4cb91df212ba5e60f830ad6af59a3db26e6b436308 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    3808149
</span> 
 worksrcdir          "package"
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -46,28 +46,25 @@ use_configure       no
</span> patchfiles          patch-lib-update.js.diff
 
 post-patch {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    regsub -all {/} "^${prefix}/lib" {\\\/} npm_path_jsregex
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    reinplace "s|@@NPM_PATH_JSREGEX@@|${npm_path_jsregex}|g" ${worksrcpath}/lib/update.js
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span>     foreach f [concat ${worksrcpath}/bin/npm-cli.js \
                    ${worksrcpath}/bin/npx-cli.js \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                   ${worksrcpath}/node_modules/JSONStream/bin.js \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                   ${worksrcpath}/node_modules/errno/build.js \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                   ${worksrcpath}/node_modules/errno/cli.js \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                   ${worksrcpath}/node_modules/is-ci/bin.js \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   ${worksrcpath}/docs/dockhand.js \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   ${worksrcpath}/node_modules/@npmcli/arborist/bin/index.js \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   ${worksrcpath}/node_modules/ajv/scripts/info \
</span>                    ${worksrcpath}/node_modules/mkdirp/bin/cmd.js \
                    ${worksrcpath}/node_modules/node-gyp/bin/node-gyp.js \
                    ${worksrcpath}/node_modules/nopt/bin/nopt.js \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+                   ${worksrcpath}/node_modules/npm-packlist/bin/index.js \
</span>                    ${worksrcpath}/node_modules/opener/bin/opener-bin.js \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+                   ${worksrcpath}/node_modules/pacote/lib/bin.js \
</span>                    ${worksrcpath}/node_modules/qrcode-terminal/bin/qrcode-terminal.js \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                   ${worksrcpath}/node_modules/rc/cli.js \
</span>                    ${worksrcpath}/node_modules/rimraf/bin.js \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                   ${worksrcpath}/node_modules/semver/bin/semver \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   ${worksrcpath}/node_modules/semver/bin/semver.js \
</span>                    ${worksrcpath}/node_modules/sshpk/bin/sshpk-conv \
                    ${worksrcpath}/node_modules/sshpk/bin/sshpk-sign \
                    ${worksrcpath}/node_modules/sshpk/bin/sshpk-verify \
                    ${worksrcpath}/node_modules/uuid/bin/uuid \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                   ${worksrcpath}/node_modules/which/bin/which \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   ${worksrcpath}/node_modules/which/bin/node-which \
</span>                    ${worksrcpath}/scripts/docs-build.js \
                    ${worksrcpath}/scripts/maketest \
                    ${worksrcpath}/scripts/relocate.sh] {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/npm7/files/patch-lib-update.js.diff b/devel/npm7/files/patch-lib-update.js.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..4f3838c5e2e
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/npm7/files/patch-lib-update.js.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,23 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- lib/update.js.orig     2021-02-17 17:02:01.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ lib/update.js  2021-02-20 12:50:37.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -22,6 +22,20 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     ? global
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     : npm.prefix
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  // Prevent npm package in global from updating. Prevent 'npm update -g'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  // since it'll implicity upgrade npm and also prevent 'npm update -g npm'.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  if (npm.flatOptions.global) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    if (!args.length || (args.length && args.find(e => e === "npm"))) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      log.error('update', 'Ignoring attempt to update npm in ' + global);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      log.error('update', 'which is part of the MacPorts npm7 base');
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      log.error('update', 'installation. To update npm please run:');
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      log.error('update', 'sudo port selfupdate && sudo port upgrade npm7');
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      throw new Error('Ignoring attempt to update npm in ' + global +
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                      ' which is part of the MacPorts npm7 base' +
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                      ' installation.');
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if (npm.flatOptions.depth) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     log.warn('update', 'The --depth option no longer has any effect. See RFC0019.\n' +
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       'https://github.com/npm/rfcs/blob/latest/implemented/0019-remove-update-depth-option.md')
</span></pre><pre style='margin:0'>

</pre>