# Description: Evented I/O for V8 javascript (LTS release: jod)
# URL: https://nodejs.org/
# Maintainer: Tim Biermann, tbier at posteo dot de
# Depends on: libnghttp2 libuv openssl11 zlib
# Optional: brotli c-ares icu libnghttp3 libngtcp2 simdjson simdutf

name=nodejs-lts-jod
version=22.22.3
release=1
source=(https://nodejs.org/dist/v$version/node-v$version.tar.xz
  unbundle-uv.patch)

build() {
  cd node-v$version

  patch -Np1 -i $SRC/unbundle-uv.patch
  rm deps/uv/uv.gyp deps/zlib/zlib.gyp

  export PKG_CONFIG_PATH="/usr/lib/openssl-1.1/pkgconfig:/usr/lib/pkgconfig"

  prt-get isinst brotli && PKGMK_NODEJS+=' --shared-brotli'
  prt-get isinst c-ares && PKGMK_NODEJS+=' --shared-cares'
  prt-get isinst icu && PKGMK_NODEJS+=' --with-intl=system-icu'
  prt-get isinst libnghttp3 && PKGMK_NODEJS+=' --shared-nghttp3'
  prt-get isinst libngtcp2 && PKGMK_NODEJS+=' --shared-ngtcp2'
  prt-get isinst simdjson && PKGMK_NODEJS+=' --shared-simdjson'
  prt-get isinst simdutf && PKGMK_NODEJS+=' --shared-simdutf'

  CFLAGS="$CFLAGS -g0 -Wl,--no-keep-memory -fuse-ld=gold -Wl,--no-map-whole-files -Wl,--no-keep-files-mapped" \
  CXXFLAGS="$CFLAGS" \
  ./configure ${PKGMK_NODEJS} \
    --prefix=/usr/opt/$name \
    --ninja \
    --shared-libuv \
    --shared-nghttp2 \
    --shared-openssl \
    --shared-zlib \
    --without-npm

  make
  make DESTDIR=$PKG install

  # clean up
  rm -r $PKG/usr/opt/$name/share/doc
  find $PKG -type f \( \
    -name 'README.md' -o \
    -name 'AUTHORS.md' -o \
    -name 'INSTALL.md' -o \
    -name 'TODO.org' -o \
    -name 'ChangeLog' -o \
    -name 'NEWS' \) -delete
}
