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/
www/node8: copy from www/node, update 8.8.1 -> 8.9.0 (LTS)
Create a new port for the latest Node.js 8.9.0 LTS release. Update
CONFLICTS for the existing Node.js ports to include the new node8 port
and remove non-existent ports.
https://nodejs.org/en/blog/release/v8.9.0/
Approved by: robak (mentor)
Differential Revision: https://reviews.freebsd.org/D12930
www/node: Update 8.6.0 -> 8.8.0
Update to the latest upstream v8.x release to address a remote DoS
vulnerability.
https://nodejs.org/en/blog/vulnerability/oct-2017-dos/https://nodejs.org/en/blog/release/v8.8.0/
Remove post-patch rules to replace various occurrences of 'python' with
PYTHON_CMD. Upstream has done a change to ensure that the "correct"
python version is called at build time, making our post-patch steps
unnecessary.
Re-roll patches with 'make makepatch'.
Approved by: robak (mentor)
MFH: 2017Q4
Security: CVE-2017-14919
Differential Revision: https://reviews.freebsd.org/D12689
For ports that are explicitly enabled on armv6, also enable them
on armv7. This has not been tested with an -exp run but should
"do no harm".
PR: 221894 (partial)
Bump PORTREVISION for ports depending on the canonical version of GCC
(via Mk/bsd.default-versions.mk and lang/gcc) which has moved from
GCC 5.4 to GCC 6.4 under most circumstances.
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c++11-lib, c++11-lang,
c++14-lang, c++0x, c11, or gcc-c++11-lib.
PR: 219275
www/node: Update 8.3.0 -> 8.4.0
Use DTRACE_CONFIGURE_ON to add --with-dtrace to the configure arguments
when DTRACE is enabled.
Approved by: mat (co-mentor)
Differential Revision: https://reviews.freebsd.org/D12045
www/node: Build on arm64
DTrace fails to build, however there is no userspace DTrace support on
arm64 for it to use.
PR: 220282
Approved by: bhughes (maintainer), matthew
www/node: Update 7.10.0 -> 8.1.2
Bump to the latest major version of Node.js.
Remove files/patch-node.gyp, since this patch has been accepted
upstream. Remove
files/patch-deps_v8_src_base_atomicops__internals__arm__gcc.h,
which patches a now non-existent file after a change in how V8
implements atomic operations. Conditionally add the
_LIBCPP_TRIVIAL_PAIR_COPY_CTOR define when using clang 3.x to
workaround a known problem in libc++.
Approved by: robak (mentor)
Differential Revision: https://reviews.freebsd.org/D11030
multiple ports: Update MAINTANER
Change bradleythughes@fastmail.fm -> bhughes@FreeBSD.org after
receiving my ports commit bit on all ports I maintain: devel/awscli,
devel/py-botocore, net/py-s3transfer, net/turnserver, www/node4,
www/node6, and www/node.
Approved by: robak (mentor)
Differential Review: https://reviews.freebsd.org/D11015
Bump PORTREVISIONs for ports depending on the canonical version of GCC and
lang/gcc which have moved from GCC 4.9.4 to GCC 5.4 (at least under some
circumstances such as versions of FreeBSD or platforms).
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using using Mk/bsd.octave.mk which in turn has USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c++11-lib, c++14-lang,
c++11-lang, c++0x, c11, or gcc-c++11-lib.
PR: 216707
Use bundled CA store only when BUNDLED_SSL enabled
- Bump PORTREVISION for dependency change
PR: 217096
Submitted by: Bradley T. Hughes <bradleythughes@fastmail.fm> (maintainer)
- Remove inclusion of bsd.default-versions.mk from ftp/curl/Makefile so
bsd.default-versions.mk can rely on ARCH being defined.
- In bsd.port.mk move inclusion of bsd.default-versions.mk from the
pre-makefile section to the options section so the variables can be used
earlier. Also put the bit of code sitting between the options section and
the pre-makefile section into the options section.
- Remove last few cases where ports set WITH_OPENSSL_PORT. This variable is
handled in bsd.default-versions.mk and some ports were setting it after
including bsd.port.options.mk. After FreeBSD 9 EoL all but a few ports,
and then only when setting non-default options, work without setting that
variable.
PR: 215996
Exp-run by: antoine
Approved by: portmgr (antoine)
Move www/node7 to www/node, and add an entry for the move into
MOVED. When node becomes node8 and node7 gets branched, the
MOVED entry will need to be removed.
PR: 213948
Approved by: maintainer (Bradley T. Hughes)
Remove www/node in preparation for moving node7 into its place.
Update the CONFLICTS lines for the node ports at the same time.
PR: 213948
Approved by: maintainer (Bradley T. Hughes)
- Update devel/icu to 57.1.
- Clean up the Makefile.
- Follow some upstream recommendations (--with-data-packaging=archive,
--disable-renaming, -DICU_NO_USER_DATA_OVERRIDE).
- Patch makefiles to install static libraries with INSTALL_DATA so they
aren't stripped.
- Patch config/mh-bsd-gcc to sync with config/mh-linux-gcc.
- Fix endianness detection in ICU. The code wanted to use BYTE_ORDER
defined in machine/endian.h, but this isn't visible because ICU is
compiled with _XOPEN_SOURCE. Patch the code to use _BYTE_ORDER instead.
- Compile ICU with C++11 compiler to enable move constructors.
- Patch ICU to fix a problem with atomics in the case of a C++11 compiler
without C++11 header <atomic> (like Clang on FreeBSD 9).
- Bump all ports that depend on it due to library version change.
- Add USES=compiler:c++0x to some ports that pick up -std=c++0x from ICU
pkgconfig files.
- Add USES=compiler:c++11-lib to graphics/libcdr01 because it also needs
a C++11 runtime library now. Add this to all ports that depend on it
so their executables load the right libstdc++.so on FreeBSD 9.
PR: 205120
Exp-run by: antoine
Approved by: portmgr (antoine)
www/node: 6.2.2 -> 6.3.0
- buffer: Added buffer.swap64() to complement swap16() & swap32().
- build: New configure options have been added for building Node.js as
a shared library.
o The options are: --shared, --without-v8-platform & --without-bundled-v8.
- crypto: Root certificates have been updated.
- debugger: The server address is now configurable via
--debug=<address>:<port>.
- npm: Upgraded npm to v3.10.3
- readline: Added the prompt option to the readline constructor.
- repl / vm: sigint/ctrl+c will now break out of infinite loops without
stopping the Node.js instance.
- src:
o Added a node::FreeEnvironment public C++ API.
(Only the first 15 lines of the commit message are shown above )
Bump PORTREVISION for the icu revert.
This time not bumping lang/php70, but devel/php70-intl which is the one
really depending on icu.
PR: 205120
With hat: portmgr
Sponsored by: Absolight
www/node: 6.2.1 -> 6.2.2
- http:
o req.read(0) could cause incoming connections to stall and time out
under certain conditions. (Fedor Indutny) #7211
o When freeing the socket to be reused in keep-alive Agent wait for both
prefinish and end events. Otherwise the next request may be written
before the previous one has finished sending the body, leading to
parser errors. (Fedor Indutny) #7149
- npm:
o upgrade npm to 3.9.5 (Kat Marchan) #7139 (not relevant)
PR: 210518
Changes: https://nodejs.org/en/blog/release/v6.2.2/
Submitted by: Bradley T. Hughes <bradleythughes@fastmail.fm> (maintainer)
www/node[45]: work around build breakages due to include path ordering
Add a post-configure step to strip out all occurrences of
-I${LOCALBASE}/include. Rely instead on USES+=localbase to tell the
compiler where to find includes from external dependencies.
After r416894, node.js builds will use external dependencies instead of
bundled ones. Fallout from this changes includes several build
breakages. All come from the fact that the node-gyp build process adds
-I${LOCALBASE}/include to CFLAGS before all others, including its own
bundled dependencies. This causes the build to incorrectly pick up
include files from any packages in ${LOCALBASE}, rather than the bundled
libraries as intended.
PR: 210618
Submitted by: Bradley T. Hughes <bradleythughes@fastmail.fm> (maintainer)
Revert part of r417063 that wasn't supposed to be committed. It
removed a -I/usr/local/include, but it's present elsewhere in the
CFLAGS so it doesn't change the final product.
PR: 210400
Submitted by: maintainer (Bradley T. Hughes)
Change python from a run to a build dep of www/node
Change python from a run to a build dep of www/node. The current version of
node doesn't install any Python files.
PR: 210309
Reviewed by: Bradley T. Hughes (Maintainer)
Approved by: pi (ports)
Sponsored by: Spectra Logic Corp
Differential Revision: https://reviews.freebsd.org/D6699
Prefer external libraries to the ones bundled with node.
Do not statically link bundled libraries into node.js. It requires
openssl 1.0.2, so pull that in from ports when the base version is not
new enough. While all versions use c-ares, only www/node has a configure
knob to enable building against an unbundled version. All other
dependencies are specified in www/node/common.mk and used by all 3
ports.
node cannot build against LibreSSL, so if it's the chosen SSL provider,
the BUNDLED_SSL option must be enabled.
The www/node010 and www/node012 ports have not been done since both are
deprecated and have very old bundled dependencies that are not available
in ports.
PR: 209793
Submitted by: Bradley T. Hughes (maintainer)
www/node: 5.11.0 -> 6.0.0
New port: www/node5, to ease migration from node-5.x to node-6.x
This new major version of Node.js delivers significant improvements
in performance, reliability, usability and security. Module loading
is nearly four times faster than in Node.js v4, tests and documentation
have seen significant improvements, usability of the Buffer and
File System APIs have been improved, and Node.js now supports 93%
of ES6 language features, thanks to V8 version 5.0.
The full release announcement can be read here:
https://nodejs.org/en/blog/release/v6.0.0/
The full changelog is available on Github:
https://github.com/nodejs/node/commit/ce3e3c5fe15479475c068482c48eb9cbf1ac9df5
For node5:
node.js v5.x will only be supported for a few months to give people
time to move to v6. This new port is marked as deprecated with an
expiration date of July 1, allowing all of May and June to transition.
See https://nodejs.org/en/blog/release/v6.0.0/#what-about-node-js-v5
PR: 209215, 209216
Submitted by: Bradley T. Hughes <bradleythughes@fastmail.fm> (maintainer)
During the exp-run in bug 208158, it was found that www/node gives
errors with libc++ 3.8.0 [1]:
/usr/include/c++/v1/map:837:5: error: static_assert failed
"Allocator::value_type must be same type as value_type"
static_assert((is_same<typename allocator_type::value_type,
value_type>::value),
^
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../deps/v8/src/compiler/js-type-feedback.h:41:21: note: in instantiation of
template class 'std::__1::map<unsigned int, v8::internal::TypeFeedbackId,
std::__1::less<unsigned int>,
v8::internal::zone_allocator<v8::internal::TypeFeedbackId> >' requested here
TypeFeedbackIdMap type_feedback_id_map_;
^
This is because libc++ 3.8.0 has added these sanity checks for custom
std::map allocators, which *must* be of the type std::pair<const Key,
Value>. I fixed the few std::map instances in the node source by adding
this to their allocator types.
Approved by: linpct@gmail.com (maintainer)
PR: 208270
MFH: 2016Q2
www/node: Fix build on FreeBSD 9.x
Patch log-utils.h in the in-tree v8 source code, allowing it to compile
using G++ 4.8 on FreeBSD 9.x. The code unfortunately relies on compiler
intrinsics instead of including the necessary standard headers for
handling C-style I/O and variadic arguments in its internal logging
functions.
This commit log and the code changes were provided by:
Brendan Molloy (fmtq via IRC) - Thank you!
PR: 205401
Reported by: JSG (via freenode IRC)
Approved by: blanket (portmgr)
Replace USE_GCC=4.8+ by USE_GCC=yes. Both are equivalent as of today,
and generally we want to use the default version of GCC in cases like
these.
Approved by: portmgr blanket
- Update to 4.1.1
- While I'm here:
- Fix build: add more REINPLACE_CMD to post-patch: (copied from www/iojs)
- Add DOCS option
- Use CONFLICTS_INSTALL instead of CONFLICTS
- Add blank line after .include <bsd.port.pre.mk>
Changes: https://github.com/nodejs/node/blob/master/CHANGELOG.md
PR: 203203
Submitted by: <dcarmich@dcarmichael.net>
Approved by: Daniel Lin <linpct@gmail.com> (maintainer)
Number of commits found: 410 (showing only 100 on this page)