Framework: Rewrite nodejs.mk and reorganize www/{node,npm,yarn}
The current USES=nodejs has the following issues:
- www/node is not the default version while www/node16 is.
- It also means inconsistent naming of node ports.
- www/npm duplicates with www/npm-node16.
- www/yarn duplicates with www/yarn-node16.
The notable changes are introduced to fix the above issues:
- Rewrite Mk/Uses/nodejs.mk.
- Add new LTS version of nodejs (www/noe18).
- Add new current version of nodejs (www/node19).
- Change default nodejs version from 16 to 18 (latest LTS).
- Use consistent naming for all supported node versions.
- Convert www/node, www/npm and www/yarn to meta ports.
After this commit:
- All supported node versions are named as node{14,16,18,19}
- www/node is a meta port which depends on the default version (e.g. www/node18)
- www/npm is a meta port which depends on the default version (e.g. www/npm-node18)
- www/yarn is a meta port which depends on the default version (e.g. www/yarn-node18)
- Bump PORTREVISION of dependent ports for dependency change (from www/node16 to www/node18)
Discussed with: jrm, otis, pizzamig
www/node: Update to 18.12.1
The following CVEs are fixed in this release:
- CVE-2022-3602: X.509 Email Address 4-byte Buffer Overflow
- CVE-2022-3786: X.509 Email Address Variable Length Buffer Overflow
- CVE-2022-43548: DNS rebinding in --inspect via invalid octal IP address
Changelog: https://github.com/nodejs/node/releases/tag/v18.12.1
Remove WWW entries moved into port Makefiles
Commit b7f05445c00f has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.
This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.
Approved by: portmgr (tcberner)
Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.
Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.
There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.
This commit implements such a proposal and moves one of the WWW: entries
of each pkg-descr file into the respective port's Makefile. A heuristic
attempts to identify the most relevant URL in case there is more than
one WWW: entry in some pkg-descr file. URLs that are not moved into the
Makefile are prefixed with "See also:" instead of "WWW:" in the pkg-descr
files in order to preserve them.
There are 1256 ports that had no WWW: entries in pkg-descr files. These
ports will not be touched in this commit.
The portlint port has been adjusted to expect a WWW entry in each port
Makefile, and to flag any remaining "WWW:" lines in pkg-descr files as
deprecated.
Approved by: portmgr (tcberner)
www/node: Update to 18.5.0
This update includes a fix for a high-level security vulnerability.
https://nodejs.org/en/blog/vulnerability/july-2022-security-releases/
Reviewed by: mfechner
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D35734
*/*: Remove redundant '-[0-9]*' from CONFLICTS_INSTALL
The conflict checks compare the patterns first against the package
names without version (as reported by "pkg query "%n"), then - if
there was no match - agsinst the full package names including the
version (as reported by "pkg query "%n-%v").
Approved by: portmgr (blanket)
www/node: Update 17.0.0_1 -> 17.0.1
https://nodejs.org/en/blog/release/v17.0.1/
While here, update pkg-plist to allow building with the BUNDLED_SSL
option enabled, and add the patch from PR 259454 to fix the build on
i386.
PR: 259454, 259377
MFH: 2021Q4
Sponsored by: Miles AS
www/node: Update 16.11.1 -> 17.0.0
Upgrade to the latest major vesrion of Node.js. Regenerate patches
since some have been adopted upstream, while others needed refreshing.
https://nodejs.org/en/blog/release/v17.0.0/
MFH: 2021Q4
Sponsored by: Miles AS
www/node16: copy from www/node, update 16.11.1 -> 16.12.0
Create a new port for the latest Node.js v16.x release, which will
become the v16.x LTS release line. Update CONFLICTS for the existing
Node.js ports to include the new node16 port and remove non-existent ports.
https://nodejs.org/en/blog/release/v16.12.0/
MFH: 2021Q4
Sponsored by: Miles AS
www/node: Update 16.11.0 -> 16.11.1
https://nodejs.org/en/blog/release/v16.11.1/
This is a security release. See
https://nodejs.org/en/blog/vulnerability/oct-2021-security-releases/
Security: a9c5e89d-2d15-11ec-8363-0022489ad614
MFH: 2021Q4
Sponsored by: Miles AS
www/node: Update 16.6.1 -> 16.6.2
https://nodejs.org/en/blog/release/v16.6.2/
This is a security release. See
https://nodejs.org/en/blog/vulnerability/aug-2021-security-releases/
Adopt the patch from https://github.com/nodejs/node/pull/39739, since
Node.js does not build with a system installed c-ares without it.
Security: b092bd4f-1b16-11ec-9d9d-0022489ad614
MFH: 2021Q3
Sponsored by: Miles AS
www/node: Update 16.5.0 -> 16.6.0
https://nodejs.org/en/blog/release/v16.6.0/
This is a security release. See
https://nodejs.org/en/blog/vulnerability/july-2021-security-releases-2/
Security: f53dab71-1b15-11ec-9d9d-0022489ad614
MFH: 2021Q3
Sponsored by: Miles AS
www/node: Update 16.4.0 -> 16.4.1
https://nodejs.org/en/blog/release/v16.4.1/
This is a security release. See
https://nodejs.org/en/blog/vulnerability/july-2021-security-releases/
Security: c174118e-1b11-11ec-9d9d-0022489ad614
MFH: 2021Q3
Sponsored by: Miles AS
www/node: unbreak patch on armv[67] after bc3d0937d0d2
===> Patching for node-16.0.0
===> Applying extra patch /usr/ports/www/node/files/extra-patch-tools_v8__gypfiles_v8.gyp
1 out of 1 hunks failed--saving rejects to tools/v8_gypfiles/v8.gyp.rej
===> FAILED Applying extra patch /usr/ports/www/node/files/extra-patch-tools_v8__gypfiles_v8.gyp
*** Error code 1
www/node: Update 15.14.0_1 -> 16.0.0
Upgrade to the latest major vesrion of Node.js. Regenerate patches
since some have been adopted upstream, while others needed refreshing.
https://nodejs.org/en/blog/release/v16.0.0/
Sponsored by: Miles AS