diff --git a/.gitignore b/.gitignore index ef6e814..271dd29 100644 --- a/.gitignore +++ b/.gitignore @@ -110,3 +110,5 @@ /node-v10.11.0-stripped.tar.gz /icu4c-64_2-src.tgz /icu4c-65_1-src.tgz +/icu4c-66_1-src.tgz +/icu4c-67_1-src.tgz diff --git a/0001-Disable-running-gyp-on-shared-deps.patch b/0001-Disable-running-gyp-on-shared-deps.patch index 6d662d3..ef45163 100644 --- a/0001-Disable-running-gyp-on-shared-deps.patch +++ b/0001-Disable-running-gyp-on-shared-deps.patch @@ -1,4 +1,4 @@ -From 0da4decd64a9cbfcf75b2697c722cd6fc82a164d Mon Sep 17 00:00:00 2001 +From 65f5eb67f4691ab535cc00240a00bd33efe29969 Mon Sep 17 00:00:00 2001 From: Zuzana Svetlikova Date: Fri, 17 Apr 2020 12:59:44 +0200 Subject: [PATCH] 0001 @@ -8,15 +8,15 @@ Subject: [PATCH] 0001 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile -index 88166da2a8..f0637b6c78 100644 +index 34cdec7f7767b5152678adaeea10a8cf711fb9a8..3b548907033108831e99e054bc84d3ce91daa25c 100644 --- a/Makefile +++ b/Makefile @@ -141,7 +141,7 @@ test-code-cache: with-code-cache echo "'test-code-cache' target is a noop" out/Makefile: config.gypi common.gypi node.gyp \ -- deps/uv/uv.gyp deps/http_parser/http_parser.gyp deps/zlib/zlib.gyp \ -+ deps/http_parser/http_parser.gyp \ +- deps/uv/uv.gyp deps/llhttp/llhttp.gyp deps/zlib/zlib.gyp \ ++ deps/llhttp/llhttp.gyp \ tools/v8_gypfiles/toolchain.gypi tools/v8_gypfiles/features.gypi \ tools/v8_gypfiles/inspector.gypi tools/v8_gypfiles/v8.gyp $(PYTHON) tools/gyp_node.py -f make diff --git a/0002-Install-both-binaries-and-use-libdir.patch b/0002-Install-both-binaries-and-use-libdir.patch index c0613bf..b3441a7 100644 --- a/0002-Install-both-binaries-and-use-libdir.patch +++ b/0002-Install-both-binaries-and-use-libdir.patch @@ -1,4 +1,4 @@ -From 11512edeb046b64be4daca76f061a3a918251ee0 Mon Sep 17 00:00:00 2001 +From 0b315d55b13d098ce8f3e96d501aeb33152a9e00 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Tue, 19 Mar 2019 23:22:40 -0400 Subject: [PATCH 2/2] Install both binaries and use libdir. @@ -13,10 +13,10 @@ Signed-off-by: Elliott Sales de Andrade 2 files changed, 20 insertions(+), 16 deletions(-) diff --git a/configure.py b/configure.py -index 6537a62d3954d83927c698db3fb80c9fc05faba7..b9a894bec9e5fd954004bcb423822ca984066dc5 100755 +index beb08df0884f7693b6c07d7fb5e85ae7bdcd1d7d..9e364586d4f79322fe53f41915ed7aad0e23a30d 100755 --- a/configure.py +++ b/configure.py -@@ -571,6 +571,12 @@ parser.add_option('--shared', +@@ -582,6 +582,12 @@ parser.add_option('--shared', help='compile shared library for embedding node in another project. ' + '(This mode is not officially supported for regular applications)') @@ -29,7 +29,7 @@ index 6537a62d3954d83927c698db3fb80c9fc05faba7..b9a894bec9e5fd954004bcb423822ca9 parser.add_option('--without-v8-platform', action='store_true', dest='without_v8_platform', -@@ -1105,6 +1111,7 @@ def configure_node(o): +@@ -1124,6 +1130,7 @@ def configure_node(o): o['variables']['node_no_browser_globals'] = b(options.no_browser_globals) o['variables']['node_shared'] = b(options.shared) diff --git a/nodejs-tarball.sh b/nodejs-tarball.sh index 74e36e0..f5b042b 100755 --- a/nodejs-tarball.sh +++ b/nodejs-tarball.sh @@ -155,12 +155,6 @@ grep "define ARES_VERSION_MAJOR" node-v${version}/deps/cares/include/ares_versio grep "define ARES_VERSION_MINOR" node-v${version}/deps/cares/include/ares_version.h grep "define ARES_VERSION_PATCH" node-v${version}/deps/cares/include/ares_version.h echo -echo "http-parser" -echo "=========================" -grep "define HTTP_PARSER_VERSION_MAJOR" node-v${version}/deps/http_parser/http_parser.h -grep "define HTTP_PARSER_VERSION_MINOR" node-v${version}/deps/http_parser/http_parser.h -grep "define HTTP_PARSER_VERSION_PATCH" node-v${version}/deps/http_parser/http_parser.h -echo echo "llhttp" echo "=========================" grep "define LLHTTP_VERSION_MAJOR" node-v${version}/deps/llhttp/include/llhttp.h diff --git a/nodejs.spec b/nodejs.spec index 36fe999..046cbbb 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -1,8 +1,6 @@ -# uncomment to enable bootstrap mode -# %%global _with_bootstrap 1 - # bundle dependencies that are not available as Fedora modules %bcond_with bootstrap +%bcond_without python3_fixup # == Master Relase == @@ -19,12 +17,12 @@ # feature releases that are only supported for nine months, which is shorter # than a Fedora release lifecycle. %global nodejs_epoch 1 -%global nodejs_major 12 -%global nodejs_minor 16 -%global nodejs_patch 3 +%global nodejs_major 14 +%global nodejs_minor 4 +%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 72 +%global nodejs_soversion 83 %global nodejs_version %{nodejs_major}.%{nodejs_minor}.%{nodejs_patch} %global nodejs_release %{baserelease} @@ -34,10 +32,10 @@ # v8 - from deps/v8/include/v8-version.h # Epoch is set to ensure clean upgrades from the old v8 package %global v8_epoch 2 -%global v8_major 7 -%global v8_minor 8 -%global v8_build 279 -%global v8_patch 23 +%global v8_major 8 +%global v8_minor 1 +%global v8_build 307 +%global v8_patch 31 # V8 presently breaks ABI at least every x.y release while never bumping SONAME %global v8_abi %{v8_major}.%{v8_minor} %global v8_version %{v8_major}.%{v8_minor}.%{v8_build}.%{v8_patch} @@ -50,12 +48,6 @@ %global c_ares_patch 0 %global c_ares_version %{c_ares_major}.%{c_ares_minor}.%{c_ares_patch} -# http-parser - from deps/http_parser/http_parser.h -%global http_parser_major 2 -%global http_parser_minor 9 -%global http_parser_patch 3 -%global http_parser_version %{http_parser_major}.%{http_parser_minor}.%{http_parser_patch} - # llhttp - from deps/llhttp/include/llhttp.h %global llhttp_major 2 %global llhttp_minor 0 @@ -64,18 +56,18 @@ # libuv - from deps/uv/include/uv/version.h %global libuv_major 1 -%global libuv_minor 34 -%global libuv_patch 2 +%global libuv_minor 37 +%global libuv_patch 0 %global libuv_version %{libuv_major}.%{libuv_minor}.%{libuv_patch} # nghttp2 - from deps/nghttp2/lib/includes/nghttp2/nghttp2ver.h %global nghttp2_major 1 -%global nghttp2_minor 40 +%global nghttp2_minor 41 %global nghttp2_patch 0 %global nghttp2_version %{nghttp2_major}.%{nghttp2_minor}.%{nghttp2_patch} # ICU - from tools/icu/current_ver.dep -%global icu_major 65 +%global icu_major 67 %global icu_minor 1 %global icu_version %{icu_major}.%{icu_minor} @@ -99,13 +91,13 @@ %global npm_epoch 1 %global npm_major 6 %global npm_minor 14 -%global npm_patch 4 +%global npm_patch 5 %global npm_version %{npm_major}.%{npm_minor}.%{npm_patch} # uvwasi - from deps/uvwasi/include/uvwasi.h %global uvwasi_major 0 %global uvwasi_minor 0 -%global uvwasi_patch 6 +%global uvwasi_patch 8 %global uvwasi_version %{uvwasi_major}.%{uvwasi_minor}.%{uvwasi_patch} # histogram_c - assumed from timestamps @@ -155,31 +147,30 @@ Patch2: 0002-Install-both-binaries-and-use-libdir.patch BuildRequires: python3-devel BuildRequires: zlib-devel BuildRequires: brotli-devel -BuildRequires: gcc >= 4.9.4 -BuildRequires: gcc-c++ >= 4.9.4 +BuildRequires: gcc >= 6.3.0 +BuildRequires: gcc-c++ >= 6.3.0 +# needed to generate bundled provides for npm dependencies +# https://src.fedoraproject.org/rpms/nodejs/pull-request/2 +# https://pagure.io/nodejs-packaging/pull-request/10 +BuildRequires: nodejs-packaging BuildRequires: chrpath BuildRequires: libatomic %if %{with bootstrap} -Provides: bundled(http-parser) = %{http_parser_version} Provides: bundled(libuv) = %{libuv_version} Provides: bundled(nghttp2) = %{nghttp2_version} %else -BuildRequires: nodejs-packaging BuildRequires: systemtap-sdt-devel BuildRequires: libuv-devel >= 1:%{libuv_version} Requires: libuv >= 1:%{libuv_version} BuildRequires: libnghttp2-devel >= %{nghttp2_version} Requires: libnghttp2 >= %{nghttp2_version} - -# Temporarily bundle http-parser and llhttp because the latter -# isn't packaged yet and they are controlled by the same -# configure flag. -Provides: bundled(http-parser) = %{http_parser_version} -Provides: bundled(llhttp) = %{llhttp_version} - %endif +# Temporarily bundle llhttp because the upstream doesn't +# provide releases for it. +Provides: bundled(llhttp) = %{llhttp_version} + BuildRequires: openssl-devel >= %{openssl_minimum} Requires: openssl >= %{openssl_minimum} @@ -218,7 +209,6 @@ Conflicts: node <= 0.3.2-12 Provides: nodejs-punycode = %{punycode_version} Provides: npm(punycode) = %{punycode_version} - # Node.js has forked c-ares from upstream in an incompatible way, so we need # to carry the bundled version internally. # See https://github.com/nodejs/node/commit/766d063e0578c0f7758c3a965c971763f43fec85 @@ -244,7 +234,6 @@ Provides: bundled(histogram) = %{histogram_version} # Make sure we keep NPM up to date when we update Node.js Recommends: npm >= %{npm_epoch}:%{npm_version}-%{npm_release}%{?dist} - %description Node.js is a platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications. @@ -252,6 +241,7 @@ Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices. + %package devel Summary: JavaScript runtime - development headers Group: Development/Languages @@ -270,6 +260,7 @@ Requires: libuv-devel%{?_isa} %description devel Development headers for the Node.js JavaScript runtime. + %package libs Summary: Node.js and v8 libraries @@ -297,7 +288,6 @@ Libraries to support Node.js and provide stable v8 interfaces. Summary: Non-English locale data for Node.js Requires: %{name}%{?_isa} = %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release}%{?dist} - %description full-i18n Optional data files to provide full-icu support for Node.js. Remove this package to save space if non-English locales are not needed. @@ -313,6 +303,7 @@ Requires: %{name}-devel%{?_isa} = %{nodejs_epoch}:%{nodejs_version}-%{nodejs_rel %description -n v8-devel Development headers for the v8 runtime. + %package -n npm Summary: Node.js Package Manager Epoch: %{npm_epoch} @@ -335,6 +326,7 @@ Provides: npm(npm) = %{npm_version} npm is a package manager for node.js. You can use it to install and publish your node programs. It manages dependencies and does other cool stuff. + %package docs Summary: Node.js API documentation Group: Documentation @@ -357,8 +349,8 @@ The API documentation for the Node.js JavaScript runtime. rm -rf deps/zlib rm -rf deps/brotli - # Replace any instances of unversioned python' with python3 +%if %{with python3_fixup} pathfix.py -i %{__python3} -pn $(find -type f ! -name "*.js") find . -type f -exec sed -i "s~/usr\/bin\/env python~/usr/bin/python3~" {} \; find . -type f -exec sed -i "s~/usr\/bin\/python\W~/usr/bin/python3~" {} \; @@ -366,6 +358,7 @@ sed -i "s~python~python3~" $(find . -type f | grep "gyp$") sed -i "s~usr\/bin\/python2~usr\/bin\/python3~" ./deps/v8/tools/gen-inlining-tests.py sed -i "s~usr\/bin\/python.*$~usr\/bin\/python3~" ./deps/v8/tools/mb/mb_unittest.py find . -type f -exec sed -i "s~python -c~python3 -c~" {} \; +%endif %build @@ -427,7 +420,6 @@ export LDFLAGS="%{build_ldflags}" make BUILDTYPE=Release %{?_smp_mflags} - # Extract the ICU data and convert it to the appropriate endianness pushd deps/ tar xfz %SOURCE3 @@ -519,7 +511,6 @@ rm -rf %{buildroot}%{_prefix}/lib/node_modules/npm/docs ln -sf %{_pkgdocdir}/npm %{buildroot}%{_prefix}/lib/node_modules/npm/docs - # Node tries to install some python files into a documentation directory # (and not the proper one). Remove them for now until we figure out what to # do with them. @@ -538,7 +529,6 @@ find %{buildroot}%{_prefix}/lib/node_modules/npm \ chmod 0755 %{buildroot}%{_prefix}/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin/node-gyp chmod 0755 %{buildroot}%{_prefix}/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js - # Drop the NPM default configuration in place mkdir -p %{buildroot}%{_sysconfdir} cp %{SOURCE1} %{buildroot}%{_sysconfdir}/npmrc @@ -683,28 +673,49 @@ end %files docs +%doc doc %dir %{_pkgdocdir} %{_pkgdocdir}/html %{_pkgdocdir}/npm/docs %changelog -* Wed Apr 29 2020 Stephen Gallagher - 1:12.16.3-1 -- Update to 12.16.3 +* Wed Jun 03 2020 Zuzana Svetlikova - 1:14.4.0-1 +- Security update to 14.4.0 -* Wed Apr 15 2020 Zuzana Svetlikova - 1:12.16.2-1 -- Update to 12.16.2 +* Thu May 21 2020 Stephen Gallagher - 1:14.3.0-1 +- Update to 14.3.0 + +* Wed May 06 2020 Stephen Gallagher - 1:14.2.0-1 +- Update to 14.2.0 + +* Wed Apr 29 2020 Stephen Gallagher - 1:14.1.0-1 +- Update to 14.1.0 + +* Fri Apr 24 2020 Zuzana Svetlikova - 1:14.0.0-2 +- Keep the fix scripts for Koji + +* Thu Apr 23 2020 Zuzana Svetlikova - 1:14.0.0-1 +- Update to 14.0.0 +- v14.x should be python3 compatible, so commented out py sed scripts + +* Wed Apr 15 2020 Zuzana Svetlikova - 1:13.13.0-1 +- Update to 13.13.0 - Add bundled uvwasi and histogram_c provides - Add shared brotli dependency +- Remove icustrip.py patch, which was merged in upstream -* Tue Mar 17 2020 Tom Stellard - 1:12.16.1-4 -- Replace hard-coded gcc and g++ with __cc and __cxx macros +* Tue Mar 17 2020 Stephen Gallagher - 1:13.11.0-2 +- Fix python3 issue in icustrip.py -* Mon Mar 16 2020 Stephen Gallagher - 1:12.16.1-3 -- Set npmrc to use python3 explicitly +* Mon Mar 16 2020 Stephen Gallagher - 1:13.11.0-1 +- Update to 13.11.0 -* Wed Feb 26 2020 Stephen Gallagher - 1:12.16.1-2 -- Build with Python 3 only +* Wed Feb 26 2020 Stephen Gallagher - 1:13.9.0-2 +- Build with python 3 only + +* Tue Feb 25 2020 Stephen Gallagher - 1:13.9.0-1 +- Release Node.js 13.9.0 * Tue Feb 25 2020 Stephen Gallagher - 1:12.16.1-1 - Update to 12.16.1 diff --git a/package.cfg b/package.cfg deleted file mode 100644 index 7ba3a28..0000000 --- a/package.cfg +++ /dev/null @@ -1,2 +0,0 @@ -[koji] -targets = master f32 f31 diff --git a/sources b/sources index 95d4069..3e05b63 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (node-v12.16.3-stripped.tar.gz) = cf11b2d88c2444e342a4087abe2f4707a4234f530b3408da855586202aad4fd71b8014d7ec0b5a2a51347c954638694cb39462236c8e8c3dc2afde32fccabf09 -SHA512 (icu4c-65_1-src.tgz) = 8f1ef33e1f4abc9a8ee870331c59f01b473d6da1251a19ce403f822f3e3871096f0791855d39c8f20c612fc49cda2c62c06864aa32ddab2dbd186d2b21ce9139 +SHA512 (node-v14.4.0-stripped.tar.gz) = 28112c451e59c678d8f3bfa58abc06f711a47bddaa4636919facb60e785bbce958a2061434f1579b7e47e4b3c8c57123655a8eb9662d6010a564280d890dfce3 +SHA512 (icu4c-67_1-src.tgz) = 4779f1ce1ca7976f6fad6768853ea8c540da54d11509e3b6cfd864a04b5f2db1c3d4b546387f91ad02fb90804525bc37d2543173f0d705d6ca11dc6f2b7640a8