kumquat-buildroot/package/nodejs/Config.in
Adam Duskett dfe68fc8d5 package/nodejs: downgrade GCC version requirements to 10
NodeJS requires GCC 10.1. However, GCC 10.1 is the first release of the
GCC 10.x series. As such, we can safely downgrade the GCC version
requirements to 10.

Tested with: run-tests tests.package.test_nodejs using Debian 11 and
gcc 10.2.1.

Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2023-11-18 22:43:47 +01:00

91 lines
3.1 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_aarch64 || BR2_i386 || BR2_x86_64
# libuv
depends on BR2_TOOLCHAIN_HAS_SYNC_4
depends on BR2_PACKAGE_HOST_QEMU_USER_ARCH_SUPPORTS
comment "nodejs needs a toolchain w/ C++, dynamic library, NPTL, gcc >= 10, wchar, host gcc >= 10"
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_10 || !BR2_TOOLCHAIN_GCC_AT_LEAST_10 || !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_10
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_10
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_NODEJS_SRC
select BR2_PACKAGE_HOST_NODEJS if BR2_PACKAGE_NODEJS_MODULES_ADDITIONAL != ""
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
source "package/nodejs/nodejs-src/Config.in"