kumquat-buildroot/package/nodejs/Config.in
Adam Duskett 779767d947 package/nodejs: bump version to 14.17.6
Changes include:
  - Remove the dependency on Python2, as nodejs 14 supports Python 3.
  - Remove --without-snapshot as it's no longer a supported config
    option.
  - Remove /openssl to the shared-openssl-includes config option, as the
    build system automatically appends /openssl to the includes path.

  - License file changes:
    - Removed deps/http_parser (MIT)
    - Removed deps/node-inspect (MIT)
    - Updated some URLs and license years
    Since the removed parts are MIT like NodeJS itself, the license info
    doesn't change.

  - Add a qemu wrapper. V8's JIT infrastructure requires binaries such
    as mksnapshot and mkpeephole to be run in the host during the build.
    However, these binaries must have the same bit-width as the target
    (e.g. a x86_64 host targeting ARMv6 needs to produce a 32-bit
    binary).  To work around this issue, cross-compile the binaries for
    the target and run them on the host with QEMU, much like
    gobject-introspection.

Signed-off-by: Adam Duskett <aduskett@gmail.com>
[Arnout:
 - use exec in qemu-wrapper script;
 - remove s390x support - qemu doesn't have it.
]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2021-10-21 21:43:29 +02:00

88 lines
3.0 KiB
Plaintext

config BR2_PACKAGE_NODEJS_ARCH_SUPPORTS
bool
# On ARM, at least ARMv6+ with VFPv2+ is needed
default y if BR2_arm && !BR2_ARM_CPU_ARMV4 && !BR2_ARM_CPU_ARMV5 && BR2_ARM_CPU_HAS_VFPV2
default y if BR2_mipsel && !BR2_MIPS_SOFT_FLOAT
default y if BR2_aarch64 || BR2_i386 || BR2_x86_64
# libuv
depends on BR2_TOOLCHAIN_HAS_SYNC_4
depends on BR2_PACKAGE_QEMU_ARCH_SUPPORTS_TARGET
comment "nodejs needs a toolchain w/ C++, dynamic library, NPTL, gcc >= 7, wchar"
depends on BR2_USE_MMU
depends on BR2_PACKAGE_NODEJS_ARCH_SUPPORTS
depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \
!BR2_HOST_GCC_AT_LEAST_7 || !BR2_TOOLCHAIN_GCC_AT_LEAST_7 || !BR2_USE_WCHAR
config BR2_PACKAGE_NODEJS
bool "nodejs"
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # libuv
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_PACKAGE_NODEJS_ARCH_SUPPORTS
depends on BR2_HOST_GCC_AT_LEAST_7
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7
depends on BR2_USE_WCHAR
# uses fork()
depends on BR2_USE_MMU
# uses dlopen(). On ARMv5, we could technically support static
# linking, but that's too much of a corner case to support it.
depends on !BR2_STATIC_LIBS
select BR2_PACKAGE_HOST_PYTHON3
select BR2_PACKAGE_HOST_PYTHON3_BZIP2
select BR2_PACKAGE_HOST_PYTHON3_SSL
select BR2_PACKAGE_HOST_QEMU
select BR2_PACKAGE_HOST_QEMU_LINUX_USER_MODE
select BR2_PACKAGE_C_ARES
select BR2_PACKAGE_LIBUV
select BR2_PACKAGE_ZLIB
select BR2_PACKAGE_NGHTTP2
help
Event-driven I/O server-side JavaScript environment based on
V8.
http://nodejs.org/
if BR2_PACKAGE_NODEJS
config BR2_PACKAGE_NODEJS_NPM
bool "NPM for the target"
select BR2_PACKAGE_OPENSSL
help
NPM is the package manager for the Node JavaScript platform.
Note that enabling NPM on the target also selects OpenSSL
for the target.
http://www.npmjs.org
Note that NPM is always built for the buildroot host.
config BR2_PACKAGE_NODEJS_MODULES_ADDITIONAL
string "Additional modules"
help
List of space-separated nodejs modules to install via npm.
See https://npmjs.org/ to find modules and 'npm help install'
for available installation methods. For repeatable builds,
download and save tgz files or clone git repos for the
components you care about.
Example:
serialport uglify-js@1.3.4 /my/module/mymodule.tgz \
git://github.com/someuser/somemodule.git#v1.2
This would install the serialport module (at the newest
version), the uglify-js module at 1.3.4, a module from a
filesystem path, and a module from a git repository.
config BR2_PACKAGE_NODEJS_MODULES_ADDITIONAL_DEPS
string "Additional module dependencies"
help
List of space-separated buildroot recipes which must be
built before your npms can be installed. For example, if in
'Additional modules' you specified 'node-curl' (see:
https://github.com/jiangmiao/node-curl), you could then
specify 'libcurl' here, to ensure that buildroot builds the
libcurl package, and does so before building your node
modules.
endif