From 0c25ed4a836f568ab5bf759d074285aaef08e9a1 Mon Sep 17 00:00:00 2001 From: Stephen Gallagher Date: Fri, 14 Feb 2020 09:35:51 -0500 Subject: [PATCH] Update to 12.16.0 Drop upstreamed patch Signed-off-by: Stephen Gallagher --- 0001-Disable-running-gyp-on-shared-deps.patch | 6 +- ...Install-both-binaries-and-use-libdir.patch | 16 +-- ...ICU-data-from-with-icu-default-data-.patch | 128 ------------------ nodejs.spec | 18 +-- package.cfg | 2 +- sources | 2 +- 6 files changed, 22 insertions(+), 150 deletions(-) delete mode 100644 0003-build-auto-load-ICU-data-from-with-icu-default-data-.patch diff --git a/0001-Disable-running-gyp-on-shared-deps.patch b/0001-Disable-running-gyp-on-shared-deps.patch index 59fe1ae..ce6ff7a 100644 --- a/0001-Disable-running-gyp-on-shared-deps.patch +++ b/0001-Disable-running-gyp-on-shared-deps.patch @@ -1,14 +1,14 @@ -From 5f69e0ff5cd84daec8d6ed49868d0c2a01337107 Mon Sep 17 00:00:00 2001 +From 2213cf773b7cf503807397aac79f10d6690a6640 Mon Sep 17 00:00:00 2001 From: Zuzana Svetlikova Date: Thu, 27 Apr 2017 14:25:42 +0200 -Subject: [PATCH 1/3] Disable running gyp on shared deps +Subject: [PATCH 1/2] Disable running gyp on shared deps --- Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile -index 56f53582d1f494a05571e3228c4585647e1a30a7..2fb80e742637fdbd039714bda9a9022be7ea259b 100644 +index 05eaa73abbe0c6c651bdf446e3678b92700d57c3..829c4c7c9f8a2132def8767a243cb7160a85d2b2 100644 --- a/Makefile +++ b/Makefile @@ -141,9 +141,9 @@ test-code-cache: with-code-cache diff --git a/0002-Install-both-binaries-and-use-libdir.patch b/0002-Install-both-binaries-and-use-libdir.patch index 78682c9..c0613bf 100644 --- a/0002-Install-both-binaries-and-use-libdir.patch +++ b/0002-Install-both-binaries-and-use-libdir.patch @@ -1,7 +1,7 @@ -From 4c96b8cdb6690dc0ce329aaddf1a41e58afbd5b4 Mon Sep 17 00:00:00 2001 +From 11512edeb046b64be4daca76f061a3a918251ee0 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Tue, 19 Mar 2019 23:22:40 -0400 -Subject: [PATCH 2/3] Install both binaries and use libdir. +Subject: [PATCH 2/2] Install both binaries and use libdir. This allows us to build with a shared library for other users while still providing the normal executable. @@ -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 20cce214dbb113aeef8f1044d7af88d842a11fd7..e2d78a2a51ef81621618cb20fa76f4a1421bf9e0 100755 +index 6537a62d3954d83927c698db3fb80c9fc05faba7..b9a894bec9e5fd954004bcb423822ca984066dc5 100755 --- a/configure.py +++ b/configure.py -@@ -559,6 +559,12 @@ parser.add_option('--shared', +@@ -571,6 +571,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,14 +29,14 @@ index 20cce214dbb113aeef8f1044d7af88d842a11fd7..e2d78a2a51ef81621618cb20fa76f4a1 parser.add_option('--without-v8-platform', action='store_true', dest='without_v8_platform', -@@ -1103,6 +1109,7 @@ def configure_node(o): - if o['variables']['want_separate_host_toolset'] == 0: - o['variables']['node_code_cache'] = 'yes' # For testing +@@ -1105,6 +1111,7 @@ def configure_node(o): + o['variables']['node_no_browser_globals'] = b(options.no_browser_globals) + o['variables']['node_shared'] = b(options.shared) + o['variables']['libdir'] = options.libdir node_module_version = getmoduleversion.get_version() - if sys.platform == 'darwin': + if options.dest_os == 'android': diff --git a/tools/install.py b/tools/install.py index 655802980a6ea94d1d4ca1dc63c8c8e905fbb83a..fe4723bf15012c8aacacb0393dc8294c049b0503 100755 --- a/tools/install.py diff --git a/0003-build-auto-load-ICU-data-from-with-icu-default-data-.patch b/0003-build-auto-load-ICU-data-from-with-icu-default-data-.patch deleted file mode 100644 index b3f055a..0000000 --- a/0003-build-auto-load-ICU-data-from-with-icu-default-data-.patch +++ /dev/null @@ -1,128 +0,0 @@ -From c811931a72908b90608fbdc6669da482ac5e7fd9 Mon Sep 17 00:00:00 2001 -From: Stephen Gallagher -Date: Fri, 6 Dec 2019 16:40:25 -0500 -Subject: [PATCH 3/3] build: auto-load ICU data from - --with-icu-default-data-dir - -When compiled with `--with-intl=small` and -`--with-icu-default-data-dir=PATH`, Node.js will use PATH as a -fallback location for the ICU data. - -We will first perform an access check using fopen(PATH, 'r') to -ensure that the file is readable. If it is, we'll set the -icu_data_directory and proceed. There's a slight overhead for the -fopen() check, but it should be barely measurable. - -This will be useful for Linux distribution packagers who want to -be able to ship a minimal node binary in a container image but -also be able to add on the full i18n support where needed. With -this patch, it becomes possible to ship the interpreter as -/usr/bin/node in one package for the distribution and to ship the -data files in another package (without a strict dependency -between the two). This means that users of the distribution will -not need to explicitly direct Node.js to locate the ICU data. It -also means that in environments where full internationalization is -not required, they do not need to carry the extra content (with -the associated storage costs). - -Refs: https://github.com/nodejs/node/issues/3460 - -Signed-off-by: Stephen Gallagher - -PR-URL: https://github.com/nodejs/node/pull/30825 -Reviewed-By: Steven R Loomis -Reviewed-By: Ben Noordhuis -Reviewed-By: Richard Lau -Reviewed-By: Rich Trott ---- - configure.py | 9 +++++++++ - node.gypi | 7 +++++++ - src/node.cc | 20 ++++++++++++++++++++ - 3 files changed, 36 insertions(+) - -diff --git a/configure.py b/configure.py -index e2d78a2a51ef81621618cb20fa76f4a1421bf9e0..cbf0d3ad567ea7beea86f56844d950e50c98c35c 100755 ---- a/configure.py -+++ b/configure.py -@@ -444,6 +444,14 @@ intl_optgroup.add_option('--with-icu-source', - 'the icu4c source archive. ' - 'v%d.x or later recommended.' % icu_versions['minimum_icu']) - -+intl_optgroup.add_option('--with-icu-default-data-dir', -+ action='store', -+ dest='with_icu_default_data_dir', -+ help='Path to the icuXXdt{lb}.dat file. If unspecified, ICU data will ' -+ 'only be read if the NODE_ICU_DATA environment variable or the ' -+ '--icu-data-dir runtime argument is used. This option has effect ' -+ 'only when Node.js is built with --with-intl=small-icu.') -+ - parser.add_option('--with-ltcg', - action='store_true', - dest='with_ltcg', -@@ -1380,6 +1388,7 @@ def configure_intl(o): - locs.add('root') # must have root - o['variables']['icu_locales'] = ','.join(str(loc) for loc in locs) - # We will check a bit later if we can use the canned deps/icu-small -+ o['variables']['icu_default_data'] = options.with_icu_default_data_dir or '' - elif with_intl == 'full-icu': - # full ICU - o['variables']['v8_enable_i18n_support'] = 1 -diff --git a/node.gypi b/node.gypi -index 05d80e846cffd31a0a61943e5ab391ad79cddab0..144544214316a3a5ce256e8772d57d14817c5185 100644 ---- a/node.gypi -+++ b/node.gypi -@@ -103,6 +103,13 @@ - 'conditions': [ - [ 'icu_small=="true"', { - 'defines': [ 'NODE_HAVE_SMALL_ICU=1' ], -+ 'conditions': [ -+ [ 'icu_default_data!=""', { -+ 'defines': [ -+ 'NODE_ICU_DEFAULT_DATA_DIR="<(icu_default_data)"', -+ ], -+ }], -+ ], - }]], - }], - [ 'node_no_browser_globals=="true"', { -diff --git a/src/node.cc b/src/node.cc -index 9d182d2aeb48c8b600bace036df868fb695dfa7c..bfad9a633ceab2493b8fa79badfe8c6c9110e001 100644 ---- a/src/node.cc -+++ b/src/node.cc -@@ -79,6 +79,7 @@ - - #if defined(NODE_HAVE_I18N_SUPPORT) - #include -+#include - #endif - - -@@ -823,6 +824,25 @@ int InitializeNodeWithArgs(std::vector* argv, - if (per_process::cli_options->icu_data_dir.empty()) - credentials::SafeGetenv("NODE_ICU_DATA", - &per_process::cli_options->icu_data_dir); -+ -+#ifdef NODE_ICU_DEFAULT_DATA_DIR -+ // If neither the CLI option nor the environment variable was specified, -+ // fall back to the configured default -+ if (per_process::cli_options->icu_data_dir.empty()) { -+ // Check whether the NODE_ICU_DEFAULT_DATA_DIR contains the right data -+ // file and can be read. -+ static const char full_path[] = -+ NODE_ICU_DEFAULT_DATA_DIR "/" U_ICUDATA_NAME ".dat"; -+ -+ FILE* f = fopen(full_path, "rb"); -+ -+ if (f != nullptr) { -+ fclose(f); -+ per_process::cli_options->icu_data_dir = NODE_ICU_DEFAULT_DATA_DIR; -+ } -+ } -+#endif // NODE_ICU_DEFAULT_DATA_DIR -+ - // Initialize ICU. - // If icu_data_dir is empty here, it will load the 'minimal' data. - if (!i18n::InitializeICUDirectory(per_process::cli_options->icu_data_dir)) { --- -2.24.1 - diff --git a/nodejs.spec b/nodejs.spec index 04ff821..254b031 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -34,9 +34,9 @@ # Epoch is set to ensure clean upgrades from the old v8 package %global v8_epoch 2 %global v8_major 7 -%global v8_minor 7 -%global v8_build 299 -%global v8_patch 13 +%global v8_minor 8 +%global v8_build 279 +%global v8_patch 23 # 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} @@ -63,8 +63,8 @@ # libuv - from deps/uv/include/uv/version.h %global libuv_major 1 -%global libuv_minor 33 -%global libuv_patch 1 +%global libuv_minor 34 +%global libuv_patch 0 %global libuv_version %{libuv_major}.%{libuv_minor}.%{libuv_patch} # nghttp2 - from deps/nghttp2/lib/includes/nghttp2/nghttp2ver.h @@ -139,10 +139,6 @@ Patch1: 0001-Disable-running-gyp-on-shared-deps.patch # Patch to install both node and libnode.so, using the correct libdir Patch2: 0002-Install-both-binaries-and-use-libdir.patch -# Upstream patch to enable auto-detection of full ICU data -# https://github.com/nodejs/node/pull/30825 -Patch3: 0003-build-auto-load-ICU-data-from-with-icu-default-data-.patch - BuildRequires: python2-devel BuildRequires: python3-devel BuildRequires: zlib-devel @@ -676,6 +672,10 @@ end %{_pkgdocdir}/npm/docs %changelog +* Fri Feb 14 2020 Stephen Gallagher - 1:12.16.0-1 +- Update to 12.16.0 +- Drop upstreamed patch + * Thu Feb 06 2020 Stephen Gallagher - 1:12.15.0-1 - Update to 12.15.0 diff --git a/package.cfg b/package.cfg index 2255bcd..7ba3a28 100644 --- a/package.cfg +++ b/package.cfg @@ -1,2 +1,2 @@ [koji] -targets = master f31 +targets = master f32 f31 diff --git a/sources b/sources index 1cc3629..b8cf1f0 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (node-v12.15.0-stripped.tar.gz) = 89616891c666224b42fff53c4893e5fd4e9a4a5635f61954cb7ad9a0731ba0637b7f4a778508091324321250b33d5d70f77022436afdbafbf79cc58942e89f51 +SHA512 (node-v12.16.0-stripped.tar.gz) = 38080f00b1081185f353ea031ef9ab0572e83e4cf603586f7f0d451e471cb70761f30faaf43bf73b1c15a2c3465d5d1b77ca49c2d04f2377290d6a5dc1f3678f SHA512 (icu4c-64_2-src.tgz) = 5ecb4c230ba45918747a1cf9aef86f555aa07d5b29b1d07ab674e8013f46dfb907a0e9d6945db41155f9dc3012fd94e1152ffc19f61a68b6dfcbabdcb8ae9d78