Files
haikuports/net-libs/nodejs/nodejs20-20.15.1.recipe
2024-12-17 14:19:49 +01:00

106 lines
2.7 KiB
Bash

SUMMARY="A JavaScript runtime built on Chrome's V8 Engine"
DESCRIPTION="Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine. \
As an asynchronous event driven JavaScript runtime, Node is designed to build scalable \
network applications. In the following \"hello world\" example, many connections can be \
handled concurrently. Upon each connection the callback is fired, but if there is no work \
to be done, Node will sleep."
HOMEPAGE="https://nodejs.org/"
COPYRIGHT="2006-2019 The Node.js Foundation"
LICENSE="BSD (2-clause)"
REVISION="2"
SOURCE_URI="https://nodejs.org/dist/v$portVersion/node-v$portVersion.tar.gz"
CHECKSUM_SHA256="da228a0c27922f02001d9a781793696432096ab2da658eb77d7fc21693f4c5cb"
SOURCE_DIR="node-v$portVersion"
PATCHES="nodejs-$portVersion.patchset"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="?x86"
PROVIDES="
nodejs20$secondaryArchSuffix = $portVersion
cmd:corepack = $portVersion compat >= 20
cmd:node = $portVersion compat >= 20
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libbrotlidec$secondaryArchSuffix
lib:libbrotlienc$secondaryArchSuffix
lib:libcares$secondaryArchSuffix
lib:libcrypto$secondaryArchSuffix
lib:libexecinfo$secondaryArchSuffix
lib:libicudata$secondaryArchSuffix
lib:libicui18n$secondaryArchSuffix
lib:libicuuc$secondaryArchSuffix
lib:libnghttp2$secondaryArchSuffix
lib:libssl$secondaryArchSuffix
lib:libuv$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
PROVIDES_devel="
nodejs20${secondaryArchSuffix}_devel
"
REQUIRES_devel="
nodejs20$secondaryArchSuffix == $portVersion base
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libbrotlidec$secondaryArchSuffix
devel:libbrotlienc$secondaryArchSuffix
devel:libcares$secondaryArchSuffix
devel:libexecinfo$secondaryArchSuffix
devel:libicudata$secondaryArchSuffix >= 74
devel:libicui18n$secondaryArchSuffix >= 74
devel:libicuuc$secondaryArchSuffix >= 74
devel:libnghttp2$secondaryArchSuffix
devel:libssl$secondaryArchSuffix >= 3
devel:libuv$secondaryArchSuffix
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:find
cmd:gcc$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:make
cmd:ninja
cmd:pkg_config$secondaryArchSuffix
cmd:python3
cmd:which
"
BUILD()
{
./configure --with-intl=system-icu --dest-os=haiku \
--shared-brotli \
--shared-cares \
--shared-libuv \
--shared-nghttp2 \
--shared-openssl \
--shared-zlib \
--without-npm \
--prefix=$prefix
make $jobArgs
}
INSTALL()
{
make install
mkdir -p $(dirname $docDir $includeDir $manDir)
mv $prefix/include $includeDir
mv $prefix/share/man $manDir
mv $prefix/share/doc $docDir
packageEntries devel \
$developDir
strip $prefix/bin/node
rm -rf $prefix/share
}
TEST()
{
make test-only
}