diff --git a/0001-Disable-running-gyp-on-shared-deps.patch b/0001-Disable-running-gyp-on-shared-deps.patch index ce6d590..842a5b8 100644 --- a/0001-Disable-running-gyp-on-shared-deps.patch +++ b/0001-Disable-running-gyp-on-shared-deps.patch @@ -1,7 +1,7 @@ -From c30f7d6e470a9ef8eafb10b2997889231180754e Mon Sep 17 00:00:00 2001 +From f850686d1442e6c4f409f8e24ef461e29710277b Mon Sep 17 00:00:00 2001 From: Zuzana Svetlikova Date: Fri, 17 Apr 2020 12:59:44 +0200 -Subject: [PATCH 1/2] Disable running gyp on shared deps +Subject: [PATCH] Disable running gyp on shared deps Signed-off-by: rpm-build --- @@ -10,10 +10,10 @@ Signed-off-by: rpm-build 2 files changed, 1 insertion(+), 18 deletions(-) diff --git a/Makefile b/Makefile -index 9c01f8f244ee1904f223d01e31ecfeffc03ea191..133a3d0fcbd22c2dde85a092f84708ddabf8b5f3 100644 +index 05fdc1509844ad616e1ae1490bb0f244627fcda9..46816fe1bc7108bd4f0abd6277b2a4f9b4283f95 100644 --- a/Makefile +++ b/Makefile -@@ -148,7 +148,7 @@ with-code-cache test-code-cache: +@@ -169,7 +169,7 @@ with-code-cache test-code-cache: $(warning '$@' target is a noop) out/Makefile: config.gypi common.gypi node.gyp \ @@ -23,10 +23,10 @@ index 9c01f8f244ee1904f223d01e31ecfeffc03ea191..133a3d0fcbd22c2dde85a092f84708dd tools/v8_gypfiles/inspector.gypi tools/v8_gypfiles/v8.gyp $(PYTHON) tools/gyp_node.py -f make diff --git a/node.gyp b/node.gyp -index 347d82d2e1e100227e750934532dce29775f1fdf..2419dc739ea0b1d7efaf5096f86383def4162e3c 100644 +index 1885a8d1ecb983fe8fd1ce3cc8cd53ee48e241d2..917eeb73d20791625e71b3e921b2fa9a68fd6133 100644 --- a/node.gyp +++ b/node.gyp -@@ -429,23 +429,6 @@ +@@ -428,23 +428,6 @@ ], }, ], @@ -41,7 +41,7 @@ index 347d82d2e1e100227e750934532dce29775f1fdf..2419dc739ea0b1d7efaf5096f86383de - 'inputs': [ '<(opensslconfig)', ], - 'outputs': [ '<(opensslconfig_internal)', ], - 'action': [ -- 'python', 'tools/copyfile.py', +- '<(python)', 'tools/copyfile.py', - '<(opensslconfig)', - '<(opensslconfig_internal)', - ], @@ -51,5 +51,5 @@ index 347d82d2e1e100227e750934532dce29775f1fdf..2419dc739ea0b1d7efaf5096f86383de ], }, # node_core_target_name -- -2.37.3 +2.39.0 diff --git a/nodejs-sources.sh b/nodejs-sources.sh index 019e611..d7d766a 100755 --- a/nodejs-sources.sh +++ b/nodejs-sources.sh @@ -122,6 +122,9 @@ NODE_MAJOR=$(echo $version | cut -d. -f1) rm -rf node-v${version}.tar.gz \ node-v${version}-stripped.tar.gz \ node-v${version}/ \ + wasi-sdk-* \ + cjs-module-lexer* \ + undici* \ SHASUMS256.txt wget http://nodejs.org/dist/v${version}/node-v${version}.tar.gz \ http://nodejs.org/dist/v${version}/SHASUMS256.txt @@ -134,15 +137,49 @@ tar -zxf node-v${version}.tar.gz rm -rf node-v${version}/deps/openssl tar -zcf node-v${version}-stripped.tar.gz node-v${version} +set -x +# Download the cjs-module-lexer sources +LEXER_VERSION=$(jq -r '.version' node-v${version}/deps/cjs-module-lexer/package.json) +wget https://github.com/nodejs/cjs-module-lexer/archive/refs/tags/${LEXER_VERSION}.tar.gz +tar -zxf ${LEXER_VERSION}.tar.gz +rm -f cjs-module-lexer-${LEXER_VERSION}/lib/lexer.wasm +tar -zcf cjs-module-lexer-${LEXER_VERSION}-stripped.tar.gz cjs-module-lexer-${LEXER_VERSION}/ +rm -f ${LEXER_VERSION}.tar.gz + +# Download the WASI compiler used to build cjs-module-lexer +LEXER_WASI_MAJOR=$(grep -oP '(?<=^\W../wasi-sdk-)\d+\.\d+' cjs-module-lexer-${LEXER_VERSION}/Makefile | cut -d'.' -f1) +LEXER_WASI_MINOR=$(grep -oP '(?<=^\W../wasi-sdk-)\d+\.\d+' cjs-module-lexer-${LEXER_VERSION}/Makefile | cut -d'.' -f2) +wget https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${LEXER_WASI_MAJOR}/wasi-sdk-${LEXER_WASI_MAJOR}.${LEXER_WASI_MINOR}-linux.tar.gz + +# Download the undici sources +UNDICI_VERSION=$(jq -r '.version' node-v${version}/deps/undici/src/package.json) +wget https://github.com/nodejs/undici/archive/refs/tags/v${UNDICI_VERSION}.tar.gz +tar -zxf v${UNDICI_VERSION}.tar.gz +rm -f undici-${UNDICI_VERSION}/lib/llhttp/llhttp*.wasm* +tar -zcf undici-${UNDICI_VERSION}-stripped.tar.gz undici-${UNDICI_VERSION}/ +rm -f v${UNDICI_VERSION}.tar.gz + +# Download the WASI compiler used to build undici +UNDICI_WASI_MAJOR=$(grep -oP '(?<=WASI_SDK_VERSION_MAJOR=).*' undici-${UNDICI_VERSION}/build/Dockerfile) +UNDICI_WASI_MINOR=$(grep -oP '(?<=WASI_SDK_VERSION_MINOR=).*' undici-${UNDICI_VERSION}/build/Dockerfile) +wget https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${UNDICI_WASI_MAJOR}/wasi-sdk-${UNDICI_WASI_MAJOR}.${UNDICI_WASI_MINOR}-linux.tar.gz + ICU_MAJOR=$(jq -r '.[0].url' node-v${version}/tools/icu/current_ver.dep | sed --expression='s/.*release-\([[:digit:]]\+\)-\([[:digit:]]\+\).*/\1/g') ICU_MINOR=$(jq -r '.[0].url' node-v${version}/tools/icu/current_ver.dep | sed --expression='s/.*release-\([[:digit:]]\+\)-\([[:digit:]]\+\).*/\2/g') +set +x + # Download the ICU binary data files rm -Rf icu4c-${ICU_MAJOR}_${ICU_MINOR}-data-bin-*.zip wget $(grep Source3 nodejs${NODE_MAJOR}.spec | sed --expression="s/.*http/http/g" --expression="s/\(\%{icu_major}\)/${ICU_MAJOR}/g" --expression="s/\(\%{icu_minor}\)/${ICU_MINOR}/g") wget $(grep Source4 nodejs${NODE_MAJOR}.spec | sed --expression="s/.*http/http/g" --expression="s/\(\%{icu_major}\)/${ICU_MAJOR}/g" --expression="s/\(\%{icu_minor}\)/${ICU_MINOR}/g") -fedpkg new-sources node-v${version}-stripped.tar.gz icu4c-${ICU_MAJOR}_${ICU_MINOR}-data-bin-*.zip +fedpkg new-sources node-v${version}-stripped.tar.gz \ + icu4c-${ICU_MAJOR}_${ICU_MINOR}-data-bin-*.zip \ + cjs-module-lexer-${LEXER_VERSION}-stripped.tar.gz \ + wasi-sdk-${LEXER_WASI_MAJOR}.${LEXER_WASI_MINOR}-linux.tar.gz \ + undici-${UNDICI_VERSION}-stripped.tar.gz \ + wasi-sdk-${UNDICI_WASI_MAJOR}.${UNDICI_WASI_MINOR}-linux.tar.gz rm -f node-v${version}.tar.gz @@ -207,6 +244,16 @@ echo "zlib" echo "=========================" grep "define ZLIB_VERSION" node-v${version}/deps/zlib/zlib.h echo +echo "cjs-module-lexer" +echo "=========================" +echo "${LEXER_VERSION}" +echo "WASI-SDK: ${LEXER_WASI_MAJOR}.${LEXER_WASI_MINOR}" +echo +echo "undici" +echo "=========================" +echo "${UNDICI_VERSION}" +echo "WASI-SDK: ${UNDICI_WASI_MAJOR}.${UNDICI_WASI_MINOR}" +echo echo "Make sure these versions match what is in the RPM spec file" rm -rf node-v${version} diff --git a/nodejs18.spec b/nodejs18.spec index f06ea27..599de03 100644 --- a/nodejs18.spec +++ b/nodejs18.spec @@ -44,8 +44,8 @@ # than a Fedora release lifecycle. %global nodejs_epoch 1 %global nodejs_major 18 -%global nodejs_minor 12 -%global nodejs_patch 1 +%global nodejs_minor 13 +%global nodejs_patch 0 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h %global nodejs_soversion 108 @@ -70,12 +70,12 @@ %global v8_major 10 %global v8_minor 2 %global v8_build 154 -%global v8_patch 15 +%global v8_patch 23 %global v8_version %{v8_major}.%{v8_minor}.%{v8_build}.%{v8_patch} %global v8_release %{nodejs_epoch}.%{nodejs_major}.%{nodejs_minor}.%{nodejs_patch}.%{nodejs_release} # zlib - from deps/zlib/zlib.h -%global zlib_version 1.2.11 +%global zlib_version 1.2.13 # c-ares - from deps/cares/include/ares_version.h # https://github.com/nodejs/node/pull/9332 @@ -85,13 +85,13 @@ %global llhttp_version 6.0.10 # libuv - from deps/uv/include/uv/version.h -%global libuv_version 1.43.0 +%global libuv_version 1.44.2 # nghttp2 - from deps/nghttp2/lib/includes/nghttp2/nghttp2ver.h -%global nghttp2_version 1.47.0 +%global nghttp2_version 1.51.0 # ICU - from tools/icu/current_ver.dep -%global icu_major 71 +%global icu_major 72 %global icu_minor 1 %global icu_version %{icu_major}.%{icu_minor} @@ -111,7 +111,7 @@ # npm - from deps/npm/package.json %global npm_epoch 1 -%global npm_version 8.19.2 +%global npm_version 8.19.3 # In order to avoid needing to keep incrementing the release version for the # main package forever, we will just construct one for npm that is guaranteed @@ -159,18 +159,22 @@ Source100: nodejs-sources.sh # Version: jq '.version' deps/cjs-module-lexer/package.json # Original: https://github.com/nodejs/cjs-module-lexer/archive/refs/tags/1.2.2.tar.gz # Adjustments: rm -f cjs-module-lexer-1.2.2/lib/lexer.wasm -Source101: cjs-module-lexer-1.2.2.tar.gz +# This is generated by nodejs-sources.sh +Source101: cjs-module-lexer-1.2.2-stripped.tar.gz # The WASM blob was made using wasi-sdk v11; compiler libraries are linked in. # Version source: Makefile -Source102: https://github.com/WebAssembly/wasi-sdk/archive/wasi-sdk-11/wasi-sdk-wasi-sdk-11.tar.gz +# This is generated by nodejs-sources.sh +Source102: wasi-sdk-11.0-linux.tar.gz # Version: jq '.version' deps/undici/src/package.json # Original: https://github.com/nodejs/undici/archive/refs/tags/v5.11.0.tar.gz # Adjustments: rm -f undici-5.11.0/lib/llhttp/llhttp*.wasm* -Source111: undici-5.11.0.tar.gz +# This is generated by nodejs-sources.sh +Source111: undici-5.13.0-stripped.tar.gz # The WASM blob was made using wasi-sdk v14; compiler libraries are linked in. # Version source: build/Dockerfile -Source112: https://github.com/WebAssembly/wasi-sdk/archive/wasi-sdk-14/wasi-sdk-wasi-sdk-14.tar.gz +# This is generated by nodejs-sources.sh +Source112: wasi-sdk-14.0-linux.tar.gz # Disable running gyp on bundled deps we don't use Patch1: 0001-Disable-running-gyp-on-shared-deps.patch diff --git a/sources b/sources index 6c210b8..7b29603 100644 --- a/sources +++ b/sources @@ -1,7 +1,7 @@ -SHA512 (node-v18.12.1-stripped.tar.gz) = f9712452fa9eda5a8dcd6fa62b2e94b6c65f89e3b005bb52455d33d30d881584829813e134af9a48faf55e73bd33ec2362f2ada96de378b70ffff2104d8de9da -SHA512 (icu4c-71_1-data-bin-b.zip) = 2bee9b93699c40a53c2e768d4678309fbd49e052e197a80fb76842b4001ee65e548459654ef7e7d154b6289f915fccbcb5b3109edcd61e74f0db289f2bec61fd -SHA512 (icu4c-71_1-data-bin-l.zip) = 07a299b1cd37cd7b07c5e1a7c6871c0dbbeabb2dec6e11c89237f41e56fd29e1a65725be102b4e4ab722183c02810a5df3ed47c3b9b4a7c14bc4c72ab127a27e -SHA512 (undici-5.11.0.tar.gz) = 28d13caae0d6fe31136e8ae74e8feb82aadeada01603b1c99d39d97183d5ed2d4594b985150d8e986259081d3dd2a467e47a6d2eb0da185df93376fee114e26a -SHA512 (cjs-module-lexer-1.2.2.tar.gz) = 2c8e9caf2231ca7d61e71936305389774859aca9b5c86c63489c9a62a81f4736f99477c3f0cbb41077bb7924fdd23e0f24b7bce858e42fb0f87e7c0ffc87afeb -SHA512 (wasi-sdk-wasi-sdk-11.tar.gz) = cb37f357b09431a3efad26141d83dce63232a35b536d9a7bd341d4d9627a0a3d4bd4d57504b6e3dab421942d2c168a96da2a6be889aab3f9a2852fc5a3200d3c -SHA512 (wasi-sdk-wasi-sdk-14.tar.gz) = 4fecb3d9c04b91eb2388a9e51d49fbff6f22b81f9945a07ecdbfe479c96dad1e3b673b8bee24842b0dae5294129a9cb35dcf8e5ecf45437a6d01fb6e0fd13645 +SHA512 (node-v18.13.0-stripped.tar.gz) = 1f634aaf11902cd9462d8192bf538e2269d1935e0a5fc933a6aeef2eec04c8db1577cb2ee7f8bac9592585912164664b9731bfb4f9687cb5d929f92ba3565c0a +SHA512 (icu4c-72_1-data-bin-b.zip) = ed0ce3ebd02f81cca7b3808abc72dc99962eb36bd123ebdf45c578b307b674566491191b6f7d261c679b2b5662b7084c61452b98968b35df3f749d413d5d7663 +SHA512 (icu4c-72_1-data-bin-l.zip) = cc9a8cf2a89dacde4fab4a68ca7a7ba1fd106b71ebc23318fb9293ab96001be825bf89b1daf3da02958ba201ca4f714a67a26db3a51dc03653b9970ebdd5ff56 +SHA512 (cjs-module-lexer-1.2.2-stripped.tar.gz) = e49c8f1a206dcf7c7b740e9ca4998e5d9b74d0016a701ddb0ea02e4f21eec763c58bf0c91dea4167401f604721027100d39d7c5c2b85025bb687c83c33c9728f +SHA512 (wasi-sdk-11.0-linux.tar.gz) = e3ed4597f7f2290967eef6238e9046f60abbcb8633a4a2a51525d00e7393df8df637a98a5b668217d332dd44fcbf2442ec7efd5e65724e888d90611164451e20 +SHA512 (undici-5.13.0-stripped.tar.gz) = ee10bec72ac61bed8de8fff49fc13a8d4c7796594ef4409c06b28d9331fa9656f282c79e143e43a4534df0409d7354ce09b2c7314664837dacb0a8b1cba80e64 +SHA512 (wasi-sdk-14.0-linux.tar.gz) = 288a367e051f5b3f5853de97fabaedd3acf2255819d50c24f48f573897518500ea808342fd9aea832b2a5717089807bf1cbcf6d46b156b4eb60cc6b3c02ee997