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:
    # otherwise, we hit https://reviews.llvm.org/D131307
    linux:
      llvm.org: '<16'
    python.org: '>=3.7<3.11'
    freedesktop.org/pkg-config: ^0.29
  script: |
    ./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!");
