Node.js is a free, open-source, cross-platform JavaScript runtime environment
that lets developers create servers, web apps, command line tools and scripts.
===> The following configuration options are available for node18-18.20.8:
BUNDLED_SSL=off: Use bundled OpenSSL implementation from node.js
DOCS=on: Build and/or install documentation
ICU=on: Unicode support via ICU
JIT=on: Use Just In Time compiler
===> Use 'make config' to modify these settings
www/node18: fix build with libc++ 19
As noted in the libc++ 19 release notes [1], std::char_traits<> is now
only provided for char, char8_t, char16_t, char32_t and wchar_t, and any
instantiation for other types will fail.
This causes www/node18 to fail to compile with clang 19 and libc++ 19,
resulting in errors similar to:
/usr/include/c++/v1/string:820:42: error: implicit instantiation of
undefined template 'std::char_traits<unsigned short>'
820 | static_assert(is_same<_CharT, typename
traits_type::char_type>::value,
| ^
../deps/v8/src/inspector/string-16.h:113:28: note: in instantiation of
template class 'std::basic_string<unsigned short>' requested here
113 | std::basic_string<UChar> m_impl;
| ^
(Only the first 15 lines of the commit message are shown above )
all: drop support for FreeBSD 13.2 which reached EOL today
Thanks again to jbeich for noticing various things I overlooked.
Reviewed by: acm, ashish, eduardo, ehaupt, eugen, jbeich, martymac, mat,
nobukata, sunpoet, tagattie, yuri, arrowd, kde
Differential Revision: https://reviews.freebsd.org/D45141
www/node18: Remove DTrace support to fix build with upcoming binutils 2.41
* With binutils 2.41 build fails as following.
LD_LIBRARY_PATH=/wrkdirs/usr/ports/www/node18/work/node-v18.18.2/out/Release/lib.host:/wrkdirs/usr/ports/www/node18/work/node-v18.18.2/out/Release/lib.target:$LD_LIBRARY_PATH;
export LD_LIBRARY_PATH; cd ../.; mkdir -p
/wrkdirs/usr/ports/www/node18/work/node-v18.18.2/out/Release/obj.target/libnode/src;
dtrace -64
"-I/wrkdirs/usr/ports/www/node18/work/node-v18.18.2/out/Release/obj/gen" -Isrc
-C -G -s src/v8ustack.d -o
"/wrkdirs/usr/ports/www/node18/work/node-v18.18.2/out/Release/obj.target/libnode/src/node_dtrace_ustack.o"
dtrace: failed to compile script src/v8ustack.d: line 1: failed to resolve
V8DBG_SMITAG: Unknown variable name
* This is because behaviour of objdump has changes with binutils 2.41. [1][2]
* On upstream DTrace support itself has been removed with Node.js 19.x.
* There is a pull request that says it fixes build error. [3] I tried
it but unfortunately it doesn't work as is expected.
* Upstream suggests me to remove DTrace support. [4]
Reference: https://github.com/nodejs/node/issues/49991#issue-1920717730 [1]
Reference: https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=0a3137ce4c4b38ee8
[2]
Reference: https://github.com/nodejs/node/pull/49992 [3]
Reference: https://github.com/nodejs/node/pull/49992#issuecomment-1784231190 [4]
PR: 274847
Approved by: maintainer timeout
www/node18: fix build on powerpc64*
In file included from
../deps/v8/src/compiler/backend/ppc/code-generator-ppc.cc:6:
In file included from ../deps/v8/src/codegen/assembler-inl.h:8:
In file included from ../deps/v8/src/codegen/assembler.h:46:
In file included from ../deps/v8/src/codegen/external-reference.h:9:
In file included from ../deps/v8/src/runtime/runtime.h:11:
../deps/v8/src/base/bit-field.h:43:29: error: integer value 31 is outside the
valid range of values [0, 3] for the enumeration type 'AddressingMode'
[-Wenum-constexpr-conversion]
static constexpr T kMax = static_cast<T>(kNumValues - 1);
all: remove explicit versions in USES=python for "3.x+"
The logic in USES=python will automatically convert this to 3.8+ by
itself.
Adjust two ports that only had Python 3.7 mentioned but build fine
on Python 3.8 too.
finance/quickfix: mark BROKEN with PYTHON
libtool: compile: c++ -DHAVE_CONFIG_H -I. -I../.. -I -I. -I.. -I../.. -I../C++
-DLIBICONV_PLUG -DPYTHON_MAJOR_VERSION=3 -Wno-unused-variable
-Wno-maybe-uninitialized -O2 -pipe -DLIBICONV_PLUG -fstack-protector-strong
-fno-strict-aliasing -DLIBICONV_PLUG -Wall -ansi
-Wno-unused-command-line-argument -Wpointer-arith -Wwrite-strings
-Wno-overloaded-virtual -Wno-deprecated-declarations -Wno-deprecated -std=c++0x
-MT _quickfix_la-QuickfixPython.lo -MD -MP -MF
.deps/_quickfix_la-QuickfixPython.Tpo -c QuickfixPython.cpp -fPIC -DPIC -o
.libs/_quickfix_la-QuickfixPython.o
warning: unknown warning option '-Wno-maybe-uninitialized'; did you mean
'-Wno-uninitialized'? [-Wunknown-warning-option]
QuickfixPython.cpp:175:11: fatal error: 'Python.h' file not found
^~~~~~~~~~
1 warning and 1 error generated.
Reviewed by: portmgr, vishwin, yuri
Differential Revision: <https://reviews.freebsd.org/D40568>
www/node18: Fix build with OpenSSL 3
- This was tested only with OpenSSL 3 from base but not with openssl30
or openssl31 ports
- Refresh patches
PR: 271868
Reported by: emaste
Approved by: portmgr (blanket)
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