User Tools

Site Tools


buildroot:nodejs-git

nodejs-git

JavaScript runtime built on Chrome's V8 JavaScript engine

runtime dependencies brotli (Compressors and decompressors)
nghttp2 (Libraries/Networking)
icu (Text and terminal handling)
libuv (Libraries/Other)
make dependencies libicu-dev
mkdir /data/buildroot/package/nodejs-git
cat > /data/buildroot/package/nodejs-git/Config.in<< 'EOF'
config BR2_PACKAGE_NODEJS_GIT
        bool "nodejs-git"
        depends on BR2_PACKAGE_NGHTTP2 
        depends on BR2_PACKAGE_LIBUV
        depends on BR2_PACKAGE_OPENSSL
        depends on BR2_PACKAGE_ZLIB
        depends on BR2_PACKAGE_ICU
        depends on BR2_PACKAGE_BROTLI
        help
          JavaScript runtime built on Chrome's V8 JavaScript engine
EOF

cat > /data/buildroot/package/nodejs-git/nodejs-git.mk<< 'EOF'
#############################################################
#
# nodejs-git
# https://github.com/nodejs/node/archive/refs/tags/v17.8.0.tar.gz
# 
#############################################################
NODEJS_GIT_VERSION = 17.8.0
NODEJS_GIT_SOURCE  = nodejs-$(NODEJS_GIT_VERSION).tar.gz
NODEJS_GIT_SITE    = https://github.com/nodejs/node/archive/v$(NODEJS_GIT_VERSION)

NODEJS_GIT_DEPENDENCIES = nghttp2 libuv zlib openssl icu brotli 

NODEJS_GIT_INSTALL_STAGING = YES

define NODEJS_GIT_BUILD_CMDS
  cd $(@D)/ && \
    PKG_CONFIG_PATH="$(STAGING_DIR)/usr/lib/pkgconfig/" ./configure \
    --prefix=/usr \
    --with-intl=system-icu \
    --without-npm \
    --shared-openssl \
    --shared-zlib \
    --shared-libuv \
    --experimental-http-parser \
    --shared-nghttp2 \
    --shared-cares \
    --shared-brotli
    # --shared-v8
    # --shared-http-parser
     make
endef

define CONMON_INSTALL_STAGING_CMDS
  cd $(@D)/ && \
  make DESTDIR="${STAGING_DIR}" install 
endef    

define NODEJS_GIT_INSTALL_TARGET_CMDS
  cd $(@D)/ && \
  make DESTDIR="${TARGET_DIR}" install 
  install -d "${TARGET_DIR]/usr/share/doc/nodejs"
  cp -r "$(@D)/doc/api" "${TARGET_DIR}/usr/share/doc/nodejs"
  install -Dm644 "$(@D)/LICENSE" -t "${TARGET_DIR}/usr/share/licenses/nodejs"
endef

$(eval $(generic-package))
EOF

sed -i '/menu "Custom packages"/a source "package/nodejs-git/Config.in"' /data/buildroot/package/Config.in
buildroot/nodejs-git.txt · Last modified: 2025/02/19 10:59 by 127.0.0.1