<pre style='margin:0'>
Clemens Lang (neverpanic) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/b57b0f88722ccadeaff0ef2ef2543923e50a2321">https://github.com/macports/macports-ports/commit/b57b0f88722ccadeaff0ef2ef2543923e50a2321</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 b57b0f8  npm5: new port
</span>b57b0f8 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit b57b0f88722ccadeaff0ef2ef2543923e50a2321
</span>Author: Dylan Bridgman <light@ether.org.za>
AuthorDate: Fri Jul 7 21:49:10 2017 +0200

<span style='display:block; white-space:pre;color:#404040;'>    npm5: new port
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    - Added conflict to npm2
</span><span style='display:block; white-space:pre;color:#404040;'>    - Added conflict to npm3
</span><span style='display:block; white-space:pre;color:#404040;'>    - Added conflict to npm4 and changed livecheck.regex to target
</span><span style='display:block; white-space:pre;color:#404040;'>      version 4 releases.
</span><span style='display:block; white-space:pre;color:#404040;'>    - As of npm5 installing from a directory will result in a symlink
</span><span style='display:block; white-space:pre;color:#404040;'>      being used. Changed the install to use the built in pack
</span><span style='display:block; white-space:pre;color:#404040;'>      functionality instead.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Closes: https://trac.macports.org/ticket/54298
</span>---
 devel/npm2/Portfile                       |  2 +-
 devel/npm3/Portfile                       |  2 +-
 devel/npm4/Portfile                       |  4 +--
 devel/{npm3 => npm5}/Portfile             | 46 +++++++++++++++++--------------
 devel/npm5/files/patch-lib-update.js.diff | 16 +++++++++++
 5 files changed, 45 insertions(+), 25 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/npm2/Portfile b/devel/npm2/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 504556d..d5f02ce 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/npm2/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/npm2/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -17,7 +17,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
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+conflicts           npm3 npm4 npm5
</span> 
 homepage            http://www.npmjs.org/
 
<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 8360858..fd4e96a 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           npm2 npm4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+conflicts           npm2 npm4 npm5
</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 95de50c..3c8b57f 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;'>@@ -17,7 +17,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           npm2 npm3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+conflicts           npm2 npm3 npm5
</span> 
 homepage            http://www.npmjs.org/
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -92,4 +92,4 @@ ${prefix}/lib/node_modules/ until you manually delete them.
</span> 
 livecheck.type      regex
 livecheck.url       http://registry.npmjs.org/npm
<span style='display:block; white-space:pre;background:#ffe0e0;'>-livecheck.regex     {"next":"(.*?)"}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+livecheck.regex     {"next-4":"(.*?)"}
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/npm3/Portfile b/devel/npm5/Portfile
</span>similarity index 65%
copy from devel/npm3/Portfile
copy to devel/npm5/Portfile
<span style='display:block; white-space:pre;color:#808080;'>index 8360858..fdd0cdc 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/npm5/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2,14 +2,13 @@
</span> 
 PortSystem          1.0
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-name                npm3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-version             3.10.10
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+name                npm5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version             5.3.0
</span> 
 categories          devel
 platforms           darwin
 license             MIT
<span style='display:block; white-space:pre;background:#ffe0e0;'>-maintainers         ciserlohn
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers         { ether.org.za:light @dylanbr } openmaintainer
</span> 
 supported_archs     noarch
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -18,7 +17,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           npm2 npm4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+conflicts           npm2 npm3 npm4
</span> 
 homepage            http://www.npmjs.org/
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -28,8 +27,8 @@ distname            npm-${version}
</span> 
 extract.suffix      .tgz
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums           rmd160  b6a6049f561d9e5f54578ca897a51b3db79fad68 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256  1a7cd203ac30fd1417326d576ca5c66ae2ae6a2bf1ada151bee2fc0d6965f99a
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  17c00e7a94b939b438c62ec603b9574399c8c93e \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  dd96ece7cbd6186a51ca0a5ab7e1de0113333429603ec2ccb6259e0bef2e03eb
</span> 
 worksrcdir          "package"
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -49,35 +48,40 @@ post-patch {
</span>     regsub -all {/} "^${prefix}/lib" {\\\/} npm_path_jsregex
     reinplace "s|@@NPM_PATH_JSREGEX@@|${npm_path_jsregex}|g" ${worksrcpath}/lib/update.js
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    foreach f [concat ${worksrcpath}/cli.js \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                   ${worksrcpath}/bin/npm-cli.js \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                   ${worksrcpath}/node_modules/cmd-shim/test/00-setup.js \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    foreach f [concat ${worksrcpath}/bin/npm-cli.js \
</span>                    ${worksrcpath}/node_modules/mkdirp/bin/cmd.js \
                    ${worksrcpath}/node_modules/node-gyp/bin/node-gyp.js \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+                   ${worksrcpath}/node_modules/node-gyp/node_modules/nopt/bin/nopt.js \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   ${worksrcpath}/node_modules/node-gyp/node_modules/nopt/examples/my-program.js \
</span>                    ${worksrcpath}/node_modules/nopt/bin/nopt.js \
                    ${worksrcpath}/node_modules/nopt/examples/my-program.js \
                    ${worksrcpath}/node_modules/opener/opener.js \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                   ${worksrcpath}/node_modules/read-cmd-shim/test/integration.js \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                   ${worksrcpath}/node_modules/request/node_modules/har-validator/bin/har-validator \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                   ${worksrcpath}/node_modules/request/node_modules/har-validator/node_modules/commander/Readme.md \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                   ${worksrcpath}/node_modules/request/node_modules/node-uuid/bin/uuid \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   ${worksrcpath}/node_modules/request/node_modules/har-validator/node_modules/ajv/scripts/info \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   ${worksrcpath}/node_modules/request/node_modules/http-signature/node_modules/sshpk/bin/sshpk-conv \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   ${worksrcpath}/node_modules/request/node_modules/http-signature/node_modules/sshpk/bin/sshpk-sign \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   ${worksrcpath}/node_modules/request/node_modules/http-signature/node_modules/sshpk/bin/sshpk-verify \
</span>                    ${worksrcpath}/node_modules/rimraf/bin.js \
                    ${worksrcpath}/node_modules/semver/bin/semver \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+                   ${worksrcpath}/node_modules/uuid/bin/uuid \
</span>                    ${worksrcpath}/node_modules/which/bin/which \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                   ${worksrcpath}/scripts/index-build.js \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   ${worksrcpath}/node_modules/worker-farm/node_modules/errno/build.js \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   ${worksrcpath}/node_modules/worker-farm/node_modules/errno/cli.js \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   ${worksrcpath}/node_modules/worker-farm/node_modules/errno/test.js \
</span>                    ${worksrcpath}/scripts/relocate.sh \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+                   ${worksrcpath}/scripts/maketest \
</span>                    ${worksrcpath}/test/tap/config-edit.js \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                   ${worksrcpath}/test/tap/gently-rm-cmdshims.js \
</span>                    ${worksrcpath}/test/tap/install-link-scripts.js \
                    ${worksrcpath}/test/tap/scripts-whitespace-windows.js] {
         reinplace "s|/usr/bin/env node|${prefix}/bin/node|" ${f}
     }
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-build {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    system -W ${worksrcpath} "NPM_CONFIG_UNSAFE_PERM=false ${prefix}/bin/node bin/npm-cli.js pack"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-destroot.cmd        ${prefix}/bin/node ./cli.js
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-destroot.args       --global .
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+destroot.cmd        ${prefix}/bin/node ./bin/npm-cli.js
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+destroot.args       --global ${distname}.tgz
</span> destroot.destdir    --prefix=${destroot}${prefix}
 
 post-destroot {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -91,8 +95,8 @@ It is not recommended to install packages globally. But if you do so\
</span> please be aware that they won't get cleaned up when you deactivate\
 or uninstall ${name}. Globally installed packages will remain in\
 ${prefix}/lib/node_modules/ until you manually delete them.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+" 
</span> 
 livecheck.type      regex
 livecheck.url       http://registry.npmjs.org/npm
<span style='display:block; white-space:pre;background:#ffe0e0;'>-livecheck.regex     {"latest-3":"(.*?)"}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+livecheck.regex     {"next-5":"(.*?)"}
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/npm5/files/patch-lib-update.js.diff b/devel/npm5/files/patch-lib-update.js.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..3a53bd5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/npm5/files/patch-lib-update.js.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,16 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- lib/update.js.orig     2016-04-26 09:35:11.000000000 +0200
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ lib/update.js  2016-04-26 09:34:24.000000000 +0200
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -47,7 +47,12 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       if (url.parse(ww.req).protocol) ww.what = ww.req
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       var where = ww.dep.parent && ww.dep.parent.path || ww.dep.path
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      if (toInstall[where]) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      if (ww.what.match(/^npm@/) && where.match(/@@NPM_PATH_JSREGEX@@/)) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        log.error("Trying to update '" + what + "' in '" + where + "'")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        log.error("which is part of the MacPorts npm base installation.")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        log.error("To update npm please run:")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        log.error("sudo port selfupdate && sudo port upgrade npm\n")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      } else if (toInstall[where]) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         toInstall[where].push(ww.what)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         toInstall[where] = [ww.what]
</span></pre><pre style='margin:0'>

</pre>