Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine. Node.js
uses an event-driven, non-blocking I/O model that makes it lightweight and
efficient. Node.js' package ecosystem, npm, is the largest ecosystem of open
source libraries in the world.
Affects: users of USES=nodejs, www/node*, www/npm* and www/yarn*
Author: sunpoet@FreeBSD.org
Reason:
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/node18).
- 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 these changes:
- 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)
Reason:
The port framework was updated to use a default version for nodejs.
The default version is pointing to the latest LTS version which is
currently version 16.
You can overwrite this by defining in /etc/make.conf, e.g. version 17:
DEFAULT_VERSIONS=nodejs=17
Or if you would like to stick always to the current version use:
DEFAULT_VERSIONS=nodejs=current
If you would like to use yarn or npm together with nodejs version 17,
just install the package that is pulling the wanted dependency to nodejs:
# pkg install yarn-node17
# pkg install npm-node17
2021-10-23
Affects: users of www/node
Author: bhughes@FreeBSD.org
Reason:
The www/node port has been updated to Node.js v17.0.0, the latest
upstream release. A new port, www/node16, has been created for the
upcoming v16.x LTS branch. Users wanting to stay on v16.x can replace
www/node with www/node16 with one of the following commands:
# pkg install www/node16
or
# portmaster -o www/node16 www/node
or
# portupgrade -o www/node16 www/node
2021-04-20
Affects: users of www/node
Author: bhughes@FreeBSD.org
Reason:
The www/node port has been updated to Node.js v16.0.0, the latest
upstream release. This is a major release, including many significant
changes. Users are encouraged to read the release announcements before
upgrading:
https://nodejs.org/en/blog/release/v16.0.0/
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.
(Only the first 15 lines of the commit message are shown above )
*/*: 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: 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
www/node: Update 15.12.0 -> 15.13.0
https://nodejs.org/en/blog/release/v15.13.0/
Remove files/patch-tools_genv8constants.py which had a change that was
incompatible with an upstream change to make the tool compatible with
Python 3.
Sponsored by: Miles AS
www/node: Update 15.7.0 -> 15.8.0
https://nodejs.org/en/blog/release/v15.8.0/
Regenerate patches with `make makepatch` and re-introduce the
dependency on dns/c-ares now that it is at version 1.17.1 (the
minimum required version for Node.js).
Sponsored by: Miles AS
www/node: Update 14.14.0 -> 15.0.0
Update to the latest major release of Node.js, which includes many
significant changes. Users are encouraged to read the release notes
before upgrading.
https://nodejs.org/en/blog/release/v15.0.0/
While here, refresh existing patches with `make makepatch`, removing
some powerpc* related patches that have been adopted/reworked upstream
in V8.
Remove the dependency on dns/c-ares and use the bundled version
instead, since Node.js has adopted a change to c-ares that has not yet
been released. The dependency will be re-added once dns/c-ares has
been updated to a release that contains support for CAA DNS records.
An UPDATING entry has also been added to include a notice about this
major version upgrade, and steps users can take to continue using the
v14.x line, which is now LTS.
Sponsored by: Miles AS
www/node14: copy from www/node, update 14.14.0 -> 14.15.0 (LTS)
Create a new port for the latest Node.js 14.15.0 LTS release. Update
CONFLICTS for the existing Node.js ports to include the new node14 port
and remove non-existent ports.
https://nodejs.org/en/blog/release/v14.15.0/
Sponsored by: Miles AS
www/node: add dependency on archivers/brotli
... instead of building the version bundled with Node.js. Bump
PORTREVISION due to the new dependency.
Sponsored by: Miles AS
www/node: build with python < 3.7
r535334 introduced a patch for tools/genv8constants.py that only worked
with Python >= 3.7. The "text" argument added to Python's
subprocess.Popen() is an alias for "universal_newlines", which works on
all versions of Python, including 2.7.
PR: 248167
Submitted by: James French <james@french.id.au>
Reported by: Miroslav Lachman <000.fbsd@quip.cz>
MFH: 2020Q3
Sponsored by: Miles AS
www/node: Update 14.6.0 -> 14.6.0_1
Bump PORTREVISION after updating the minimum version requirements for
libuv, libnghttp2, and libcares.
The previous change for www/node erroneously mentioned the most recent
www/node10 update. The correct changelog should have read:
www/node: Update 14.5.0 -> 14.6.0
https://nodejs.org/en/blog/release/v14.6.0/
Sponsored by: Miles AS
www/node: Update 14.4.0 -> 14.5.0
https://nodejs.org/en/blog/release/v14.5.0/
Refresh patches with `make makepatch`, and adapt them to the changes
from upstream due to the V8 upgrade.
Sponsored by: Miles AS
www/node: Update 13.14.0 -> 14.0.0
Upgrade to the latest major vesrion of Node.js. Regenerate patches
since some have been adopted upstream, while others needed refreshing.
Adopt a patch from a newer Node.js version to allow the port to build
with either ICU 66.1 or 67.1.
https://nodejs.org/en/blog/release/v14.0.0/
Sponsored by: Miles AS
www/node: Update 13.13.0_1 -> 13.14.0
https://nodejs.org/en/blog/release/v13.14.0/
Refresh patches with `make makepatch`, and remove
patch-deps_v8_src_objects_js-number-format.cc which has been applied
upstream.
Sponsored by: Miles AS
www/node: use python 3 as build dependency
Do not depend on the deprecated python 2.7 package to build Node.js,
patching tools/genv8constants.py to continue to work and generate the
same output with python 3 that it did with python 2.
While here, add all *.py scripts used by the build to SHEBANG_FILES,
which causes the installed lldb_commands.py script to change, hence the
PORTREVISION bump.
PR: 246036
Reported by: lumiwa@gmail.com
Sponsored by: Miles AS
www/node*: add binutils dep on objdump
/usr/bin/objdump will be removed from FreeBSD before FreeBSD 13.0.
PR: 241157
Approved by: bapt
Sponsored by: The FreeBSD Foundation