#TODO promote [source] tar = "https://nodejs.org/dist/v21.7.3/node-v21.7.3.tar.xz" blake3 = "95a56db4f9729b2f8384ab58ccb2ec0c41da05991f7400ef97bd76748d77870b" patches = ["redox.patch"] [build] template = "custom" dependencies = [ "libbrotli", "c-ares", "libuv", "ngtcp2", "nghttp2", "nghttp3", "openssl3", "sqlite3", "zlib", "zstd", ] dev-dependencies = [ "host:libuv" ] script = """ DYNAMIC_INIT export PYTHONDONTWRITEBYTECODE=1 COOKBOOK_NOSTRIP=true export CC_host="$CC_WRAPPER gcc" CXX_host="$CC_WRAPPER g++" rsync -av "${COOKBOOK_SOURCE}/" ./ case "${TARGET}" in x86_64-unknown-linux-gnu) export NODE_CPU=x64 NODE_OS=linux;; aarch64-unknown-linux-gnu) export NODE_CPU=arm64 NODE_OS=linux;; i586-unknown-redox) export NODE_CPU=ia32 NODE_OS=redox;; x86_64-unknown-redox) export NODE_CPU=x64 NODE_OS=redox;; aarch64-unknown-redox) export NODE_CPU=arm64 NODE_OS=redox;; esac COOKBOOK_CONFIGURE_FLAGS=( --prefix=/usr --dest-cpu=${NODE_CPU} --dest-os=${NODE_OS} --shared-cares --shared-libuv --shared-ngtcp2 --shared-nghttp2 --shared-nghttp3 --shared-openssl --shared-zlib --without-inspector # TODO: Find a way to separate host and target flags instead? # --shared-zlib-includes="${COOKBOOK_TOOLCHAIN}/include" --shared-openssl-includes="${COOKBOOK_SYSROOT}/include" --shared-zlib-libpath="${COOKBOOK_TOOLCHAIN}/lib" --shared-openssl-libpath="${COOKBOOK_SYSROOT}/lib" --cross-compiling ) COOKBOOK_CONFIGURE="./configure" cookbook_configure """