main/nodejs: build with system-provided libbase64

This commit is contained in:
Jakub Jirutka 2023-11-19 23:24:30 +01:00
parent 147b7d544f
commit f2eead8d07
3 changed files with 59 additions and 0 deletions

View File

@ -123,6 +123,7 @@ license="MIT"
depends="ca-certificates"
makedepends="
ada-dev
base64-dev
brotli-dev
c-ares-dev
icu-dev
@ -146,6 +147,8 @@ replaces="nodejs-current nodejs-lts" # nodejs-lts for backward compatibility
source="https://nodejs.org/dist/v$pkgver/node-v$pkgver.tar.gz
disable-running-gyp-on-shared-deps.patch
system-ada.patch
system-base64.patch
base64.gyp
$pkgname.pc.in
"
builddir="$srcdir/node-v$pkgver"
@ -162,6 +165,7 @@ prepare() {
# that supports QUIC. After the QUIC support is added to openssl, add
# options --shared-nghttp3 and --shared-ngtcp2.
rm -rf deps/ada/*.cpp \
deps/base64/* \
deps/brotli \
deps/cares \
deps/corepack \
@ -174,6 +178,8 @@ prepare() {
tools/inspector_protocol/jinja2
mv nodejs-openssl.cnf deps/openssl/
cp "$srcdir"/base64.gyp deps/base64/
}
build() {
@ -239,6 +245,9 @@ check() {
./node -e 'console.log("Hello, world!")'
./node -e "require('assert').equal(process.versions.node, '$pkgver')"
./node -e 'require("assert").equal(
Buffer.from(Buffer.from("foo").toString("base64"), "base64").toString("ascii"),
"foo")'
}
package() {
@ -261,5 +270,7 @@ sha512sums="
594dea752e8f07036a41ccfddea45835be5219b8f0bc04b5903c3b44c32f8c73aa1d57798b4066852add098cd5ec856ee87a56b57633a45dfc0cfbe788451223 node-v20.9.0.tar.gz
8c264eefc0bfa9dd57656f9f515e940d5c21b8d836dc549031ee559ba909643f4f2495b8b392ee9976c5eed7c3b4a09db876bbe0f7fcd5b2bf63fafca37bffc2 disable-running-gyp-on-shared-deps.patch
4fc09500212ebc178801e7419c840ccebc239ff06edcb28910315e39bfc772a3967f5ff2abff03845269e730643be161134ac95bab899069fa57dd64be98defa system-ada.patch
94db1f150cb962bf19f42e0ef7cec2c0e007d1909611d03a393095720cc8db58322e638ea3c3280b4412f47615963c88e69c71b4c5adf84292b9fc7f3be3b110 system-base64.patch
bb0f74d8fb1ef07fd457670b9073a3cecadb3ac7d4fea008e8f17c091a62d15ef50646be457a50ac24c4129085d4da21beedd03af0739dded5d636916482f082 base64.gyp
f908fa93f6194ec4f6c5e9d76ed7c918721c7f5d46afcc12de1f84683c185401a27a174b7a7c6a76085a4d0826f964e7088bf5596d4e6901a15bf751846299a6 nodejs.pc.in
"

15
main/nodejs/base64.gyp Normal file
View File

@ -0,0 +1,15 @@
{
'targets': [
{
'target_name': 'base64',
'type': 'shared_library',
'include_dirs': ['/usr/include'],
'direct_dependent_settings': {
'include_dirs': ['/usr/include'],
'linkflags': ['-lbase64'],
'ldflags': ['-lbase64'],
'libraries': ['-lbase64']
}
},
]
}

View File

@ -0,0 +1,33 @@
From: Jakub Jirutka <jakub@jirutka.cz>
Date: Sun, 19 Nov 2023 22:45:01 +0100
Subject: [PATCH] Link with shared libbase64
The second part is our modified base64.gyp.
--- a/node.gyp
+++ b/node.gyp
@@ -512,7 +512,8 @@
'dependencies': [
'deps/histogram/histogram.gyp:histogram',
'deps/uvwasi/uvwasi.gyp:uvwasi',
'deps/ada/ada.gyp:ada',
+ 'deps/base64/base64.gyp:base64'
],
'msvs_settings': {
@@ -1117,6 +1119,7 @@
'deps/histogram/histogram.gyp:histogram',
'deps/uvwasi/uvwasi.gyp:uvwasi',
'deps/ada/ada.gyp:ada',
+ 'deps/base64/base64.gyp:base64',
],
'includes': [
@@ -1228,6 +1231,7 @@
'deps/histogram/histogram.gyp:histogram',
'deps/uvwasi/uvwasi.gyp:uvwasi',
'deps/ada/ada.gyp:ada',
+ 'deps/base64/base64.gyp:base64',
],
'includes': [