mirror of
https://gitlab.com/buildroot.org/buildroot.git
synced 2026-09-19 16:40:46 -09:00
package/nodejs/nodejs-bin: new provider of host-nodejs
This package downloads the pre-built version of nodejs, if the host platform supports it. Reuse the variables defined in nodejs.mk. For the definition of BR2_PACKAGE_PROVIDES_HOST_NODEJS, take care of defaulting to host-nodejs-bin if host-nodejs is not selected at all. This makes sure that in the future we will be able to run 'make foo-source' for a package that uses nodejs vendoring, and it will use the prebuilt nodejs to perform the vendoring. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> [Arnout: - update to 16.20.0 to match nodejs.mk - including hashes; - add HOST_NODEJS_BIN_ACTUAL_SOURCE_TARBALL + hash; - move to package/nodejs/nodejs-bin; - drop DEVELOPERS change, it's already covered by package/nodejs; - re-order the series; - immediately add it as a virtual package provider; - add prompt and helpt text to choice; - select host-nodejs-bin as provider if host-nodejs is not selected at all. ] Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
This commit is contained in:
committed by
Arnout Vandecappelle
parent
4cbc2af604
commit
0fd6954fcb
@@ -1,12 +1,18 @@
|
|||||||
|
config BR2_PACKAGE_HOST_NODEJS_BIN_ARCH_SUPPORTS
|
||||||
|
bool
|
||||||
|
default y if BR2_HOSTARCH = "aarch64"
|
||||||
|
default y if BR2_HOSTARCH = "arm"
|
||||||
|
default y if BR2_HOSTARCH = "ppc64le"
|
||||||
|
default y if BR2_HOSTARCH = "x86_64"
|
||||||
|
|
||||||
comment "host nodejs needs a host gcc >= 8"
|
comment "host nodejs needs a host gcc >= 8"
|
||||||
|
depends on !BR2_PACKAGE_HOST_NODEJS_BIN_ARCH_SUPPORTS
|
||||||
depends on !BR2_HOST_GCC_AT_LEAST_8
|
depends on !BR2_HOST_GCC_AT_LEAST_8
|
||||||
|
|
||||||
config BR2_PACKAGE_HOST_NODEJS
|
config BR2_PACKAGE_HOST_NODEJS
|
||||||
bool "host nodejs"
|
bool "host nodejs"
|
||||||
depends on BR2_HOST_GCC_AT_LEAST_8
|
depends on BR2_PACKAGE_HOST_NODEJS_BIN_ARCH_SUPPORTS || \
|
||||||
select BR2_PACKAGE_HOST_PYTHON3
|
BR2_HOST_GCC_AT_LEAST_8
|
||||||
select BR2_PACKAGE_HOST_PYTHON3_BZIP2
|
|
||||||
select BR2_PACKAGE_HOST_PYTHON3_SSL
|
|
||||||
help
|
help
|
||||||
Event-driven I/O server-side JavaScript environment based on
|
Event-driven I/O server-side JavaScript environment based on
|
||||||
V8.
|
V8.
|
||||||
@@ -15,6 +21,30 @@ config BR2_PACKAGE_HOST_NODEJS
|
|||||||
|
|
||||||
if BR2_PACKAGE_HOST_NODEJS
|
if BR2_PACKAGE_HOST_NODEJS
|
||||||
|
|
||||||
|
choice
|
||||||
|
prompt "host nodejs variant"
|
||||||
|
default BR2_PACKAGE_HOST_NODEJS_BIN if BR2_PACKAGE_HOST_NODEJS_BIN_ARCH_SUPPORTS
|
||||||
|
default BR2_PACKAGE_HOST_NODEJS_SRC
|
||||||
|
help
|
||||||
|
Select a nodejs variant - built from source or
|
||||||
|
pre-built.
|
||||||
|
|
||||||
|
config BR2_PACKAGE_HOST_NODEJS_BIN
|
||||||
|
bool "pre-built version"
|
||||||
|
depends on BR2_PACKAGE_HOST_NODEJS_BIN_ARCH_SUPPORTS
|
||||||
|
|
||||||
|
config BR2_PACKAGE_HOST_NODEJS_SRC
|
||||||
|
bool "compile from source"
|
||||||
|
depends on BR2_HOST_GCC_AT_LEAST_8
|
||||||
|
select BR2_PACKAGE_HOST_PYTHON3
|
||||||
|
select BR2_PACKAGE_HOST_PYTHON3_BZIP2
|
||||||
|
select BR2_PACKAGE_HOST_PYTHON3_SSL
|
||||||
|
|
||||||
|
comment "host nodejs from source needs a host gcc >= 8"
|
||||||
|
depends on !BR2_HOST_GCC_AT_LEAST_8
|
||||||
|
|
||||||
|
endchoice
|
||||||
|
|
||||||
config BR2_PACKAGE_HOST_NODEJS_COREPACK
|
config BR2_PACKAGE_HOST_NODEJS_COREPACK
|
||||||
bool "Corepack"
|
bool "Corepack"
|
||||||
help
|
help
|
||||||
@@ -28,8 +58,10 @@ config BR2_PACKAGE_HOST_NODEJS_COREPACK
|
|||||||
what currently happens with npm, which is shipped by Node.js
|
what currently happens with npm, which is shipped by Node.js
|
||||||
by default.
|
by default.
|
||||||
|
|
||||||
|
endif
|
||||||
|
|
||||||
config BR2_PACKAGE_PROVIDES_HOST_NODEJS
|
config BR2_PACKAGE_PROVIDES_HOST_NODEJS
|
||||||
string
|
string
|
||||||
default "host-nodejs-src"
|
default "host-nodejs-src" if BR2_PACKAGE_HOST_NODEJS_SRC
|
||||||
|
# default to host-nodejs-bin so it's used if nothing is set explicitly
|
||||||
endif
|
default "host-nodejs-bin" if !BR2_PACKAGE_HOST_NODEJS_SRC
|
||||||
|
|||||||
1
package/nodejs/nodejs-bin/nodejs-bin.hash
Symbolic link
1
package/nodejs/nodejs-bin/nodejs-bin.hash
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
../nodejs.hash
|
||||||
37
package/nodejs/nodejs-bin/nodejs-bin.mk
Normal file
37
package/nodejs/nodejs-bin/nodejs-bin.mk
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
################################################################################
|
||||||
|
#
|
||||||
|
# nodejs-bin
|
||||||
|
#
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
NODEJS_BIN_VERSION = $(NODEJS_COMMON_VERSION)
|
||||||
|
NODEJS_BIN_SITE = $(NODEJS_COMMON_SITE)
|
||||||
|
NODEJS_BIN_SOURCE = node-v$(NODEJS_BIN_VERSION)-linux-$(NODEJS_BIN_ARCH).tar.xz
|
||||||
|
HOST_NODEJS_BIN_ACTUAL_SOURCE_TARBALL = node-v$(NODEJS_BIN_VERSION).tar.xz
|
||||||
|
NODEJS_BIN_DL_SUBDIR = nodejs
|
||||||
|
|
||||||
|
NODEJS_BIN_LICENSE = $(NODEJS_LICENSE)
|
||||||
|
NODEJS_BIN_LICENSE_FILES = $(NODEJS_LICENSE_FILES)
|
||||||
|
NODEJS_BIN_CPE_ID_VENDOR = $(NODEJS_CPE_ID_VENDOR)
|
||||||
|
NODEJS_BIN_CPE_ID_PRODUCT = $(NODEJS_CPE_ID_PRODUCT)
|
||||||
|
|
||||||
|
HOST_NODEJS_BIN_PROVIDES = host-nodejs
|
||||||
|
|
||||||
|
ifeq ($(HOSTARCH),aarch64)
|
||||||
|
NODEJS_BIN_ARCH = arm64
|
||||||
|
else ifeq ($(HOSTARCH),arm)
|
||||||
|
# We assume that if someone does a build on ARM, it will be on an
|
||||||
|
# ARMv7 machine
|
||||||
|
NODEJS_BIN_ARCH = armv7l
|
||||||
|
else ifeq ($(HOSTARCH),ppc64le)
|
||||||
|
NODEJS_BIN_ARCH = ppc64le
|
||||||
|
else ifeq ($(HOSTARCH),x86_64)
|
||||||
|
NODEJS_BIN_ARCH = x64
|
||||||
|
endif
|
||||||
|
|
||||||
|
define HOST_NODEJS_BIN_INSTALL_CMDS
|
||||||
|
rsync -a --exclude=CHANGELOG.md --exclude=LICENSE --exclude=README.md \
|
||||||
|
$(@D)/* $(HOST_DIR)/
|
||||||
|
endef
|
||||||
|
|
||||||
|
$(eval $(host-generic-package))
|
||||||
@@ -1,5 +1,9 @@
|
|||||||
# From https://nodejs.org/dist/v16.20.0/SHASUMS256.txt
|
# From https://nodejs.org/dist/v16.20.0/SHASUMS256.txt.asc
|
||||||
|
sha256 aca4794ca60f2e17689a700eeaa95d7adcd5fd01cdd2e4f9d596ac41b600b796 node-v16.20.0-linux-arm64.tar.xz
|
||||||
|
sha256 5b79addab37bbdc31b442f8e648efad0b5d3aa5f3e0d682f23f4db483408eb2a node-v16.20.0-linux-armv7l.tar.xz
|
||||||
|
sha256 b439a8f874e8c2fad287ba75a3229407551f5ff9eb41e45e43e9bf67f184f618 node-v16.20.0-linux-ppc64le.tar.xz
|
||||||
|
sha256 dff21020b555cc165a1ac36da7d4f6c810b35409c94e00afc51d5d370aae47ae node-v16.20.0-linux-x64.tar.xz
|
||||||
sha256 e0990f992234e40a51fe11f92c3816c93a77e1b081145d3dd762cd1026345349 node-v16.20.0.tar.xz
|
sha256 e0990f992234e40a51fe11f92c3816c93a77e1b081145d3dd762cd1026345349 node-v16.20.0.tar.xz
|
||||||
|
|
||||||
# Hash for license file
|
# Locally calculated
|
||||||
sha256 ba325815d3df8819bebaf37cad67d6e1f82271e1e4a1189b53abd28e261977d6 LICENSE
|
sha256 ba325815d3df8819bebaf37cad67d6e1f82271e1e4a1189b53abd28e261977d6 LICENSE
|
||||||
|
|||||||
Reference in New Issue
Block a user