pantry/projects/nodejs.org/package.yml
2023-04-14 18:51:54 -04:00

58 lines
1.1 KiB
YAML

distributable:
url: https://nodejs.org/dist/v{{ version }}/node-v{{ version }}.tar.xz
strip-components: 1
versions:
github: nodejs/node/releases/tags
companions:
npmjs.com: '*'
dependencies:
unicode.org: '>=71'
openssl.org: 1.1
zlib.net: 1
provides:
- bin/node
interprets:
extensions: js
args: node
build:
dependencies:
tea.xyz/gx/cc: c99
tea.xyz/gx/make: '*'
python.org: '>=3.7 <3.11'
freedesktop.org/pkg-config: ^0.29
script: |
# This is hacky, but it works.
# Knowing the precise versions to test is difficult, since
# nodejs develops multiple majors in sync.
if ./configure --help | grep -- --without-corepack; then
ARGS="$ARGS --without-corepack"
fi
./configure $ARGS
make --jobs {{ hw.concurrency }} install
env:
ARGS:
- --without-npm
- --prefix={{ prefix }}
# like, maybe we should include this?
- --with-intl=system-icu
- --shared-openssl
- --shared-zlib
linux/x86-64:
CFLAGS: -fPIC
CXXFLAGS: -fPIC
LDFLAGS: -pie
test:
script: |
out=$(node $FIXTURE)
test "$out" = "Hello, world!"
fixture:
console.log("Hello, world!");