diff --git a/node-v18.17.1.tar.xz b/node-v20.10.0.tar.xz similarity index 76% rename from node-v18.17.1.tar.xz rename to node-v20.10.0.tar.xz index ca3ad19f184c93ebff9fafde530820087d65d41c..5e0318e8cf660ab79a8760e6abd6650353bb98ec 100644 Binary files a/node-v18.17.1.tar.xz and b/node-v20.10.0.tar.xz differ diff --git a/nodejs.spec b/nodejs.spec index d8c9d7a27e60d6d6312605dc4769c9cdd9a7b861..731c3495e18551b070f00561c3bccbf69d0a1edb 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -1,36 +1,36 @@ %global baserelease 1 %{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}} %global nodejs_epoch 1 -%global nodejs_major 18 -%global nodejs_minor 17 -%global nodejs_patch 1 +%global nodejs_major 20 +%global nodejs_minor 10 +%global nodejs_patch 0 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} -%global nodejs_soversion 108 +%global nodejs_soversion 115 %global nodejs_version %{nodejs_major}.%{nodejs_minor}.%{nodejs_patch} %global nodejs_release %{baserelease} %global nodejs_datadir %{_datarootdir}/nodejs %global v8_epoch 3 -%global v8_major 10 -%global v8_minor 2 -%global v8_build 154 -%global v8_patch 26 +%global v8_major 11 +%global v8_minor 3 +%global v8_build 244 +%global v8_patch 8 %global v8_abi %{v8_major}.%{v8_minor} %global v8_version %{v8_major}.%{v8_minor}.%{v8_build}.%{v8_patch} %global v8_release %{nodejs_epoch}.%{nodejs_major}.%{nodejs_minor}.%{nodejs_patch}.%{nodejs_release} %global c_ares_major 1 -%global c_ares_minor 19 +%global c_ares_minor 20 %global c_ares_patch 1 %global c_ares_version %{c_ares_major}.%{c_ares_minor}.%{c_ares_patch} -%global llhttp_major 6 -%global llhttp_minor 0 -%global llhttp_patch 11 +%global llhttp_major 8 +%global llhttp_minor 1 +%global llhttp_patch 1 %global llhttp_version %{llhttp_major}.%{llhttp_minor}.%{llhttp_patch} %global libuv_major 1 -%global libuv_minor 44 -%global libuv_patch 2 +%global libuv_minor 46 +%global libuv_patch 0 %global libuv_version %{libuv_major}.%{libuv_minor}.%{libuv_patch} %global nghttp2_major 1 -%global nghttp2_minor 52 +%global nghttp2_minor 57 %global nghttp2_patch 0 %global nghttp2_version %{nghttp2_major}.%{nghttp2_minor}.%{nghttp2_patch} %global icu_major 73 @@ -47,13 +47,13 @@ %global punycode_patch 0 %global punycode_version %{punycode_major}.%{punycode_minor}.%{punycode_patch} %global npm_epoch 1 -%global npm_major 9 -%global npm_minor 6 -%global npm_patch 7 +%global npm_major 10 +%global npm_minor 2 +%global npm_patch 3 %global npm_version %{npm_major}.%{npm_minor}.%{npm_patch} %global uvwasi_major 0 %global uvwasi_minor 0 -%global uvwasi_patch 15 +%global uvwasi_patch 19 %global uvwasi_version %{uvwasi_major}.%{uvwasi_minor}.%{uvwasi_patch} %global histogram_major 0 %global histogram_minor 9 @@ -61,6 +61,9 @@ %global histogram_version %{histogram_major}.%{histogram_minor}.%{histogram_patch} %global npm_release %{nodejs_epoch}.%{nodejs_major}.%{nodejs_minor}.%{nodejs_patch}.%{nodejs_release} +# dtrace is not supported on Node.js 19+ +%global dtrace_configure %{nil} + Name: nodejs Epoch: %{nodejs_epoch} Version: %{nodejs_version} @@ -223,33 +226,43 @@ export CFLAGS='%{optflags} \ -D_LARGEFILE_SOURCE \ -D_FILE_OFFSET_BITS=64 \ -DZLIB_CONST \ - -fno-delete-null-pointer-checks' + -fno-delete-null-pointer-checks \ + -O3 \ + -fno-ipa-icf' export CXXFLAGS='%{optflags} \ -D_LARGEFILE_SOURCE \ -D_FILE_OFFSET_BITS=64 \ -DZLIB_CONST \ - -fno-delete-null-pointer-checks' + -fno-delete-null-pointer-checks \ + -O3 \ + -fno-ipa-icf' export CFLAGS="$(echo ${CFLAGS} | tr '\n\\' ' ')" export CXXFLAGS="$(echo ${CXXFLAGS} | tr '\n\\' ' ')" export LDFLAGS="%{build_ldflags}" %{__python3} configure.py --prefix=%{_prefix} \ + --verbose \ + --ninja \ --shared \ --libdir=%{_lib} \ --shared-openssl \ --shared-zlib \ --shared-brotli \ --shared-libuv \ - --with-dtrace \ + --enable-lto \ + %{dtrace_configure} \ --with-intl=small-icu \ --with-icu-default-data-dir=%{icudatadir} \ --without-corepack \ --openssl-use-def-ca-store -make BUILDTYPE=Release %{?_smp_mflags} +%ninja_build -C out/Release %install +# The ninja build does not put the shared library in the expected location, so +# we will move it. +mv out/Release/lib/libnode.so.%{nodejs_soversion} out/Release/ ./tools/install.py install %{buildroot} %{_prefix} chmod 0755 %{buildroot}/%{_bindir}/node @@ -333,12 +346,7 @@ NODE_PATH=%{buildroot}%{_prefix}/lib/node_modules:%{buildroot}%{_prefix}/lib/nod %{_bindir}/node %dir %{_prefix}/lib/node_modules %dir %{_datadir}/node -%dir %{_datadir}/systemtap -%dir %{_datadir}/systemtap/tapset -%{_datadir}/systemtap/tapset/node.stp -%dir %{_usr}/lib/dtrace -%{_usr}/lib/dtrace/node.d %{_rpmconfigdir}/fileattrs/nodejs_native.attr %{_rpmconfigdir}/nodejs_native.req @@ -378,26 +386,9 @@ NODE_PATH=%{buildroot}%{_prefix}/lib/node_modules:%{buildroot}%{_prefix}/lib/nod %config(noreplace) %{_sysconfdir}/npmrc %{_prefix}/etc/npmrc %ghost %{_sysconfdir}/npmignore -%doc %{_mandir}/man1/npm*.1* -%doc %{_mandir}/man1/npx.1* -%doc %{_mandir}/man5/folders.5* -%doc %{_mandir}/man5/install.5* -%doc %{_mandir}/man5/npmrc.5* -%doc %{_mandir}/man5/npm-shrinkwrap-json.5* -%doc %{_mandir}/man5/package-json.5* -%doc %{_mandir}/man5/package-lock-json.5* -%doc %{_mandir}/man5/npm*.5* -%doc %{_mandir}/man7/config.7* -%doc %{_mandir}/man7/developers.7* -%doc %{_mandir}/man7/orgs.7* -%doc %{_mandir}/man7/logging.7* -%doc %{_mandir}/man7/registry.7* -%doc %{_mandir}/man7/removal.7* -%doc %{_mandir}/man7/scope.7* -%doc %{_mandir}/man7/scripts.7* -%doc %{_mandir}/man7/workspaces.7* -%doc %{_mandir}/man7/dependency-selectors.7* -%doc %{_mandir}/man7/package-spec.7* +%doc %{_mandir}/man*/ +%exclude %doc %{_mandir}/man1/node.1* + %files docs %dir %{_pkgdocdir} @@ -406,6 +397,11 @@ NODE_PATH=%{buildroot}%{_prefix}/lib/node_modules:%{buildroot}%{_prefix}/lib/nod %{_pkgdocdir}/npm/docs %changelog +* Mon Nov 27 2023 Jingwiw - 1:20.10.0-1 +- Update to the new LTS version 20.10.0 +- Add CFLAGS "-O3 -fno-ipa-icf" +- Enable lto + * Thu Aug 31 2023 Funda Wang - 1:18.17.1-1 - Update to 18.17.1 - Use huaweicloud.com mirror as default registry