diff options
| -rw-r--r-- | meta-oe/recipes-devtools/nodejs/nodejs/0001-build-allow-passing-multiple-libs-to-pkg_config.patch | 41 | ||||
| -rw-r--r-- | meta-oe/recipes-devtools/nodejs/nodejs/0001-deps-V8-backport-3f8dc4b2e5ba.patch | 194 | ||||
| -rw-r--r-- | meta-oe/recipes-devtools/nodejs/nodejs/0002-build-allow-use-of-system-installed-brotli.patch | 66 | ||||
| -rw-r--r-- | meta-oe/recipes-devtools/nodejs/nodejs/0003-Install-both-binaries-and-use-libdir.patch | 28 | ||||
| -rw-r--r-- | meta-oe/recipes-devtools/nodejs/nodejs_12.18.3.bb (renamed from meta-oe/recipes-devtools/nodejs/nodejs_12.14.1.bb) | 12 |
5 files changed, 14 insertions, 327 deletions
diff --git a/meta-oe/recipes-devtools/nodejs/nodejs/0001-build-allow-passing-multiple-libs-to-pkg_config.patch b/meta-oe/recipes-devtools/nodejs/nodejs/0001-build-allow-passing-multiple-libs-to-pkg_config.patch deleted file mode 100644 index 13edf229b3..0000000000 --- a/meta-oe/recipes-devtools/nodejs/nodejs/0001-build-allow-passing-multiple-libs-to-pkg_config.patch +++ /dev/null | |||
| @@ -1,41 +0,0 @@ | |||
| 1 | From fdaa0e3bef93c5c72a7258b5f1e30718e7d81f9b Mon Sep 17 00:00:00 2001 | ||
| 2 | From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <git@andred.net> | ||
| 3 | Date: Mon, 2 Mar 2020 12:17:09 +0000 | ||
| 4 | Subject: [PATCH 1/2] build: allow passing multiple libs to pkg_config | ||
| 5 | MIME-Version: 1.0 | ||
| 6 | Content-Type: text/plain; charset=UTF-8 | ||
| 7 | Content-Transfer-Encoding: 8bit | ||
| 8 | |||
| 9 | Sometimes it's necessary to pass multiple library names to pkg-config, | ||
| 10 | e.g. the brotli shared libraries can be pulled in with | ||
| 11 | pkg-config libbrotlienc libbrotlidec | ||
| 12 | |||
| 13 | Update the code to handle both, strings (as used so far), and lists | ||
| 14 | of strings. | ||
| 15 | |||
| 16 | Signed-off-by: André Draszik <git@andred.net> | ||
| 17 | --- | ||
| 18 | Upstream-Status: Submitted [https://github.com/nodejs/node/pull/32046] | ||
| 19 | configure.py | 6 +++++- | ||
| 20 | 1 file changed, 5 insertions(+), 1 deletion(-) | ||
| 21 | |||
| 22 | diff --git a/configure.py b/configure.py | ||
| 23 | index beb08df088..e3f78f2fed 100755 | ||
| 24 | --- a/configure.py | ||
| 25 | +++ b/configure.py | ||
| 26 | @@ -680,7 +680,11 @@ def pkg_config(pkg): | ||
| 27 | retval = () | ||
| 28 | for flag in ['--libs-only-l', '--cflags-only-I', | ||
| 29 | '--libs-only-L', '--modversion']: | ||
| 30 | - args += [flag, pkg] | ||
| 31 | + args += [flag] | ||
| 32 | + if isinstance(pkg, list): | ||
| 33 | + args += pkg | ||
| 34 | + else: | ||
| 35 | + args += [pkg] | ||
| 36 | try: | ||
| 37 | proc = subprocess.Popen(shlex.split(pkg_config) + args, | ||
| 38 | stdout=subprocess.PIPE) | ||
| 39 | -- | ||
| 40 | 2.25.0 | ||
| 41 | |||
diff --git a/meta-oe/recipes-devtools/nodejs/nodejs/0001-deps-V8-backport-3f8dc4b2e5ba.patch b/meta-oe/recipes-devtools/nodejs/nodejs/0001-deps-V8-backport-3f8dc4b2e5ba.patch deleted file mode 100644 index 07dbdfe564..0000000000 --- a/meta-oe/recipes-devtools/nodejs/nodejs/0001-deps-V8-backport-3f8dc4b2e5ba.patch +++ /dev/null | |||
| @@ -1,194 +0,0 @@ | |||
| 1 | From 836311710ca8d49fdf4d619e3a738a445c413605 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Ujjwal Sharma <ryzokuken@disroot.org> | ||
| 3 | Date: Wed, 22 Apr 2020 12:20:17 +0530 | ||
| 4 | Subject: [PATCH] deps: V8: backport 3f8dc4b2e5ba | ||
| 5 | MIME-Version: 1.0 | ||
| 6 | Content-Type: text/plain; charset=UTF-8 | ||
| 7 | Content-Transfer-Encoding: 8bit | ||
| 8 | |||
| 9 | Original commit message: | ||
| 10 | |||
| 11 | [intl] Remove soon-to-be removed getAllFieldPositions | ||
| 12 | |||
| 13 | Needed to land ICU67.1 soon. | ||
| 14 | |||
| 15 | Bug: v8:10393 | ||
| 16 | Change-Id: I3c7737ca600d6ccfdc46ffaddfb318ce60bc7618 | ||
| 17 | Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2136489 | ||
| 18 | Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> | ||
| 19 | Commit-Queue: Frank Tang <ftang@chromium.org> | ||
| 20 | Cr-Commit-Position: refs/heads/master@{#67027} | ||
| 21 | |||
| 22 | Refs: https://github.com/v8/v8/commit/3f8dc4b2e5baf77b463334c769af85b79d8c1463 | ||
| 23 | |||
| 24 | PR-URL: https://github.com/nodejs/node/pull/32993 | ||
| 25 | Reviewed-By: Michaël Zasso <targos@protonmail.com> | ||
| 26 | Reviewed-By: Matheus Marchini <mat@mmarchini.me> | ||
| 27 | Reviewed-By: Steven R Loomis <srloomis@us.ibm.com> | ||
| 28 | Reviewed-By: Richard Lau <riclau@uk.ibm.com> | ||
| 29 | --- | ||
| 30 | common.gypi | 2 +- | ||
| 31 | deps/v8/src/objects/js-number-format.cc | 72 +++++++++++++------------ | ||
| 32 | 2 files changed, 38 insertions(+), 36 deletions(-) | ||
| 33 | |||
| 34 | diff --git a/common.gypi b/common.gypi | ||
| 35 | index b86e5e0..a7b37e6 100644 | ||
| 36 | --- a/common.gypi | ||
| 37 | +++ b/common.gypi | ||
| 38 | @@ -38,7 +38,7 @@ | ||
| 39 | |||
| 40 | # Reset this number to 0 on major V8 upgrades. | ||
| 41 | # Increment by one for each non-official patch applied to deps/v8. | ||
| 42 | - 'v8_embedder_string': '-node.16', | ||
| 43 | + 'v8_embedder_string': '-node.17', | ||
| 44 | |||
| 45 | ##### V8 defaults for Node.js ##### | ||
| 46 | |||
| 47 | diff --git a/deps/v8/src/objects/js-number-format.cc b/deps/v8/src/objects/js-number-format.cc | ||
| 48 | index d1e3ef4..757c665 100644 | ||
| 49 | --- a/deps/v8/src/objects/js-number-format.cc | ||
| 50 | +++ b/deps/v8/src/objects/js-number-format.cc | ||
| 51 | @@ -1252,42 +1252,31 @@ MaybeHandle<JSNumberFormat> JSNumberFormat::New(Isolate* isolate, | ||
| 52 | } | ||
| 53 | |||
| 54 | namespace { | ||
| 55 | -Maybe<icu::UnicodeString> IcuFormatNumber( | ||
| 56 | +Maybe<bool> IcuFormatNumber( | ||
| 57 | Isolate* isolate, | ||
| 58 | const icu::number::LocalizedNumberFormatter& number_format, | ||
| 59 | - Handle<Object> numeric_obj, icu::FieldPositionIterator* fp_iter) { | ||
| 60 | + Handle<Object> numeric_obj, icu::number::FormattedNumber* formatted) { | ||
| 61 | // If it is BigInt, handle it differently. | ||
| 62 | UErrorCode status = U_ZERO_ERROR; | ||
| 63 | - icu::number::FormattedNumber formatted; | ||
| 64 | if (numeric_obj->IsBigInt()) { | ||
| 65 | Handle<BigInt> big_int = Handle<BigInt>::cast(numeric_obj); | ||
| 66 | Handle<String> big_int_string; | ||
| 67 | ASSIGN_RETURN_ON_EXCEPTION_VALUE(isolate, big_int_string, | ||
| 68 | BigInt::ToString(isolate, big_int), | ||
| 69 | - Nothing<icu::UnicodeString>()); | ||
| 70 | - formatted = number_format.formatDecimal( | ||
| 71 | + Nothing<bool>()); | ||
| 72 | + *formatted = number_format.formatDecimal( | ||
| 73 | {big_int_string->ToCString().get(), big_int_string->length()}, status); | ||
| 74 | } else { | ||
| 75 | double number = numeric_obj->Number(); | ||
| 76 | - formatted = number_format.formatDouble(number, status); | ||
| 77 | + *formatted = number_format.formatDouble(number, status); | ||
| 78 | } | ||
| 79 | if (U_FAILURE(status)) { | ||
| 80 | // This happen because of icu data trimming trim out "unit". | ||
| 81 | // See https://bugs.chromium.org/p/v8/issues/detail?id=8641 | ||
| 82 | - THROW_NEW_ERROR_RETURN_VALUE(isolate, | ||
| 83 | - NewTypeError(MessageTemplate::kIcuError), | ||
| 84 | - Nothing<icu::UnicodeString>()); | ||
| 85 | - } | ||
| 86 | - if (fp_iter) { | ||
| 87 | - formatted.getAllFieldPositions(*fp_iter, status); | ||
| 88 | + THROW_NEW_ERROR_RETURN_VALUE( | ||
| 89 | + isolate, NewTypeError(MessageTemplate::kIcuError), Nothing<bool>()); | ||
| 90 | } | ||
| 91 | - icu::UnicodeString result = formatted.toString(status); | ||
| 92 | - if (U_FAILURE(status)) { | ||
| 93 | - THROW_NEW_ERROR_RETURN_VALUE(isolate, | ||
| 94 | - NewTypeError(MessageTemplate::kIcuError), | ||
| 95 | - Nothing<icu::UnicodeString>()); | ||
| 96 | - } | ||
| 97 | - return Just(result); | ||
| 98 | + return Just(true); | ||
| 99 | } | ||
| 100 | |||
| 101 | } // namespace | ||
| 102 | @@ -1298,10 +1287,16 @@ MaybeHandle<String> JSNumberFormat::FormatNumeric( | ||
| 103 | Handle<Object> numeric_obj) { | ||
| 104 | DCHECK(numeric_obj->IsNumeric()); | ||
| 105 | |||
| 106 | - Maybe<icu::UnicodeString> maybe_format = | ||
| 107 | - IcuFormatNumber(isolate, number_format, numeric_obj, nullptr); | ||
| 108 | + icu::number::FormattedNumber formatted; | ||
| 109 | + Maybe<bool> maybe_format = | ||
| 110 | + IcuFormatNumber(isolate, number_format, numeric_obj, &formatted); | ||
| 111 | MAYBE_RETURN(maybe_format, Handle<String>()); | ||
| 112 | - return Intl::ToString(isolate, maybe_format.FromJust()); | ||
| 113 | + UErrorCode status = U_ZERO_ERROR; | ||
| 114 | + icu::UnicodeString result = formatted.toString(status); | ||
| 115 | + if (U_FAILURE(status)) { | ||
| 116 | + THROW_NEW_ERROR(isolate, NewTypeError(MessageTemplate::kIcuError), String); | ||
| 117 | + } | ||
| 118 | + return Intl::ToString(isolate, result); | ||
| 119 | } | ||
| 120 | |||
| 121 | namespace { | ||
| 122 | @@ -1414,12 +1409,18 @@ std::vector<NumberFormatSpan> FlattenRegionsToParts( | ||
| 123 | } | ||
| 124 | |||
| 125 | namespace { | ||
| 126 | -Maybe<int> ConstructParts(Isolate* isolate, const icu::UnicodeString& formatted, | ||
| 127 | - icu::FieldPositionIterator* fp_iter, | ||
| 128 | +Maybe<int> ConstructParts(Isolate* isolate, | ||
| 129 | + icu::number::FormattedNumber* formatted, | ||
| 130 | Handle<JSArray> result, int start_index, | ||
| 131 | Handle<Object> numeric_obj, bool style_is_unit) { | ||
| 132 | + UErrorCode status = U_ZERO_ERROR; | ||
| 133 | + icu::UnicodeString formatted_text = formatted->toString(status); | ||
| 134 | + if (U_FAILURE(status)) { | ||
| 135 | + THROW_NEW_ERROR_RETURN_VALUE( | ||
| 136 | + isolate, NewTypeError(MessageTemplate::kIcuError), Nothing<int>()); | ||
| 137 | + } | ||
| 138 | DCHECK(numeric_obj->IsNumeric()); | ||
| 139 | - int32_t length = formatted.length(); | ||
| 140 | + int32_t length = formatted_text.length(); | ||
| 141 | int index = start_index; | ||
| 142 | if (length == 0) return Just(index); | ||
| 143 | |||
| 144 | @@ -1428,13 +1429,14 @@ Maybe<int> ConstructParts(Isolate* isolate, const icu::UnicodeString& formatted, | ||
| 145 | // other region covers some part of the formatted string. It's possible | ||
| 146 | // there's another field with exactly the same begin and end as this backdrop, | ||
| 147 | // in which case the backdrop's field_id of -1 will give it lower priority. | ||
| 148 | - regions.push_back(NumberFormatSpan(-1, 0, formatted.length())); | ||
| 149 | + regions.push_back(NumberFormatSpan(-1, 0, formatted_text.length())); | ||
| 150 | |||
| 151 | { | ||
| 152 | - icu::FieldPosition fp; | ||
| 153 | - while (fp_iter->next(fp)) { | ||
| 154 | - regions.push_back(NumberFormatSpan(fp.getField(), fp.getBeginIndex(), | ||
| 155 | - fp.getEndIndex())); | ||
| 156 | + icu::ConstrainedFieldPosition cfp; | ||
| 157 | + cfp.constrainCategory(UFIELD_CATEGORY_NUMBER); | ||
| 158 | + while (formatted->nextPosition(cfp, status)) { | ||
| 159 | + regions.push_back( | ||
| 160 | + NumberFormatSpan(cfp.getField(), cfp.getStart(), cfp.getLimit())); | ||
| 161 | } | ||
| 162 | } | ||
| 163 | |||
| 164 | @@ -1456,7 +1458,7 @@ Maybe<int> ConstructParts(Isolate* isolate, const icu::UnicodeString& formatted, | ||
| 165 | Handle<String> substring; | ||
| 166 | ASSIGN_RETURN_ON_EXCEPTION_VALUE( | ||
| 167 | isolate, substring, | ||
| 168 | - Intl::ToString(isolate, formatted, part.begin_pos, part.end_pos), | ||
| 169 | + Intl::ToString(isolate, formatted_text, part.begin_pos, part.end_pos), | ||
| 170 | Nothing<int>()); | ||
| 171 | Intl::AddElement(isolate, result, index, field_type_string, substring); | ||
| 172 | ++index; | ||
| 173 | @@ -1476,14 +1478,14 @@ MaybeHandle<JSArray> JSNumberFormat::FormatToParts( | ||
| 174 | number_format->icu_number_formatter().raw(); | ||
| 175 | CHECK_NOT_NULL(fmt); | ||
| 176 | |||
| 177 | - icu::FieldPositionIterator fp_iter; | ||
| 178 | - Maybe<icu::UnicodeString> maybe_format = | ||
| 179 | - IcuFormatNumber(isolate, *fmt, numeric_obj, &fp_iter); | ||
| 180 | + icu::number::FormattedNumber formatted; | ||
| 181 | + Maybe<bool> maybe_format = | ||
| 182 | + IcuFormatNumber(isolate, *fmt, numeric_obj, &formatted); | ||
| 183 | MAYBE_RETURN(maybe_format, Handle<JSArray>()); | ||
| 184 | |||
| 185 | Handle<JSArray> result = factory->NewJSArray(0); | ||
| 186 | Maybe<int> maybe_format_to_parts = ConstructParts( | ||
| 187 | - isolate, maybe_format.FromJust(), &fp_iter, result, 0, numeric_obj, | ||
| 188 | + isolate, &formatted, result, 0, numeric_obj, | ||
| 189 | number_format->style() == JSNumberFormat::Style::UNIT); | ||
| 190 | MAYBE_RETURN(maybe_format_to_parts, Handle<JSArray>()); | ||
| 191 | |||
| 192 | -- | ||
| 193 | 2.26.2 | ||
| 194 | |||
diff --git a/meta-oe/recipes-devtools/nodejs/nodejs/0002-build-allow-use-of-system-installed-brotli.patch b/meta-oe/recipes-devtools/nodejs/nodejs/0002-build-allow-use-of-system-installed-brotli.patch deleted file mode 100644 index fc038f3aae..0000000000 --- a/meta-oe/recipes-devtools/nodejs/nodejs/0002-build-allow-use-of-system-installed-brotli.patch +++ /dev/null | |||
| @@ -1,66 +0,0 @@ | |||
| 1 | From f0f927feee8cb1fb173835d5c3f6beb6bf7d5e54 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <git@andred.net> | ||
| 3 | Date: Mon, 2 Mar 2020 12:17:35 +0000 | ||
| 4 | Subject: [PATCH 2/2] build: allow use of system-installed brotli | ||
| 5 | MIME-Version: 1.0 | ||
| 6 | Content-Type: text/plain; charset=UTF-8 | ||
| 7 | Content-Transfer-Encoding: 8bit | ||
| 8 | |||
| 9 | brotli is available as a shared library since 2016, so it makes sense | ||
| 10 | to allow its use as a system-installed version. | ||
| 11 | |||
| 12 | Some of the infrastructure was in place already (node.gyp and | ||
| 13 | node.gypi), but some bits in the configure script here were missing. | ||
| 14 | |||
| 15 | Add them, keeping the default as before, to use the bundled version. | ||
| 16 | |||
| 17 | Refs: https://github.com/google/brotli/pull/421 | ||
| 18 | Signed-off-by: André Draszik <git@andred.net> | ||
| 19 | --- | ||
| 20 | Upstream-Status: Submitted [https://github.com/nodejs/node/pull/32046] | ||
| 21 | configure.py | 22 ++++++++++++++++++++++ | ||
| 22 | 1 file changed, 22 insertions(+) | ||
| 23 | |||
| 24 | diff --git a/configure.py b/configure.py | ||
| 25 | index e3f78f2fed..0190e31b41 100755 | ||
| 26 | --- a/configure.py | ||
| 27 | +++ b/configure.py | ||
| 28 | @@ -301,6 +301,27 @@ shared_optgroup.add_option('--shared-zlib-libpath', | ||
| 29 | dest='shared_zlib_libpath', | ||
| 30 | help='a directory to search for the shared zlib DLL') | ||
| 31 | |||
| 32 | +shared_optgroup.add_option('--shared-brotli', | ||
| 33 | + action='store_true', | ||
| 34 | + dest='shared_brotli', | ||
| 35 | + help='link to a shared brotli DLL instead of static linking') | ||
| 36 | + | ||
| 37 | +shared_optgroup.add_option('--shared-brotli-includes', | ||
| 38 | + action='store', | ||
| 39 | + dest='shared_brotli_includes', | ||
| 40 | + help='directory containing brotli header files') | ||
| 41 | + | ||
| 42 | +shared_optgroup.add_option('--shared-brotli-libname', | ||
| 43 | + action='store', | ||
| 44 | + dest='shared_brotli_libname', | ||
| 45 | + default='brotlidec,brotlienc', | ||
| 46 | + help='alternative lib name to link to [default: %default]') | ||
| 47 | + | ||
| 48 | +shared_optgroup.add_option('--shared-brotli-libpath', | ||
| 49 | + action='store', | ||
| 50 | + dest='shared_brotli_libpath', | ||
| 51 | + help='a directory to search for the shared brotli DLL') | ||
| 52 | + | ||
| 53 | shared_optgroup.add_option('--shared-cares', | ||
| 54 | action='store_true', | ||
| 55 | dest='shared_cares', | ||
| 56 | @@ -1692,6 +1713,7 @@ configure_napi(output) | ||
| 57 | configure_library('zlib', output) | ||
| 58 | configure_library('http_parser', output) | ||
| 59 | configure_library('libuv', output) | ||
| 60 | +configure_library('brotli', output, pkgname=['libbrotlidec', 'libbrotlienc']) | ||
| 61 | configure_library('cares', output, pkgname='libcares') | ||
| 62 | configure_library('nghttp2', output, pkgname='libnghttp2') | ||
| 63 | configure_v8(output) | ||
| 64 | -- | ||
| 65 | 2.25.0 | ||
| 66 | |||
diff --git a/meta-oe/recipes-devtools/nodejs/nodejs/0003-Install-both-binaries-and-use-libdir.patch b/meta-oe/recipes-devtools/nodejs/nodejs/0003-Install-both-binaries-and-use-libdir.patch index 599f742b2f..92386fa779 100644 --- a/meta-oe/recipes-devtools/nodejs/nodejs/0003-Install-both-binaries-and-use-libdir.patch +++ b/meta-oe/recipes-devtools/nodejs/nodejs/0003-Install-both-binaries-and-use-libdir.patch | |||
| @@ -20,11 +20,9 @@ Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> | |||
| 20 | tools/install.py | 31 ++++++++++++++----------------- | 20 | tools/install.py | 31 ++++++++++++++----------------- |
| 21 | 2 files changed, 21 insertions(+), 17 deletions(-) | 21 | 2 files changed, 21 insertions(+), 17 deletions(-) |
| 22 | 22 | ||
| 23 | diff --git a/configure.py b/configure.py | ||
| 24 | index 20cce214db..e2d78a2a51 100755 | ||
| 25 | --- a/configure.py | 23 | --- a/configure.py |
| 26 | +++ b/configure.py | 24 | +++ b/configure.py |
| 27 | @@ -559,6 +559,12 @@ parser.add_option('--shared', | 25 | @@ -602,6 +602,12 @@ parser.add_option('--shared', |
| 28 | help='compile shared library for embedding node in another project. ' + | 26 | help='compile shared library for embedding node in another project. ' + |
| 29 | '(This mode is not officially supported for regular applications)') | 27 | '(This mode is not officially supported for regular applications)') |
| 30 | 28 | ||
| @@ -37,16 +35,14 @@ index 20cce214db..e2d78a2a51 100755 | |||
| 37 | parser.add_option('--without-v8-platform', | 35 | parser.add_option('--without-v8-platform', |
| 38 | action='store_true', | 36 | action='store_true', |
| 39 | dest='without_v8_platform', | 37 | dest='without_v8_platform', |
| 40 | @@ -1103,6 +1109,7 @@ def configure_node(o): | 38 | @@ -1168,6 +1174,7 @@ def configure_node(o): |
| 41 | if o['variables']['want_separate_host_toolset'] == 0: | 39 | o['variables']['node_no_browser_globals'] = b(options.no_browser_globals) |
| 42 | o['variables']['node_code_cache'] = 'yes' # For testing | 40 | |
| 43 | o['variables']['node_shared'] = b(options.shared) | 41 | o['variables']['node_shared'] = b(options.shared) |
| 44 | + o['variables']['libdir'] = options.libdir | 42 | + o['variables']['libdir'] = options.libdir |
| 45 | node_module_version = getmoduleversion.get_version() | 43 | node_module_version = getmoduleversion.get_version() |
| 46 | 44 | ||
| 47 | if sys.platform == 'darwin': | 45 | if options.dest_os == 'android': |
| 48 | diff --git a/tools/install.py b/tools/install.py | ||
| 49 | index 655802980a..fe4723bf15 100755 | ||
| 50 | --- a/tools/install.py | 46 | --- a/tools/install.py |
| 51 | +++ b/tools/install.py | 47 | +++ b/tools/install.py |
| 52 | @@ -121,26 +121,23 @@ def subdir_files(path, dest, action): | 48 | @@ -121,26 +121,23 @@ def subdir_files(path, dest, action): |
| @@ -72,24 +68,20 @@ index 655802980a..fe4723bf15 100755 | |||
| 72 | - # in its source - see the _InstallableTargetInstallPath function. | 68 | - # in its source - see the _InstallableTargetInstallPath function. |
| 73 | - if sys.platform != 'darwin': | 69 | - if sys.platform != 'darwin': |
| 74 | - output_prefix += 'lib.target/' | 70 | - output_prefix += 'lib.target/' |
| 75 | - | ||
| 76 | - if 'false' == variables.get('node_shared'): | ||
| 77 | - action([output_prefix + output_file], 'bin/' + output_file) | ||
| 78 | - else: | ||
| 79 | - action([output_prefix + output_file], 'lib/' + output_file) | ||
| 80 | + output_bin = 'node' | 71 | + output_bin = 'node' |
| 81 | + output_lib = 'libnode.' + variables.get('shlib_suffix') | 72 | + output_lib = 'libnode.' + variables.get('shlib_suffix') |
| 82 | + # GYP will output to lib.target except on OS X, this is hardcoded | 73 | + # GYP will output to lib.target except on OS X, this is hardcoded |
| 83 | + # in its source - see the _InstallableTargetInstallPath function. | 74 | + # in its source - see the _InstallableTargetInstallPath function. |
| 84 | + if sys.platform != 'darwin': | 75 | + if sys.platform != 'darwin': |
| 85 | + output_libprefix += 'lib.target/' | 76 | + output_libprefix += 'lib.target/' |
| 86 | + | 77 | |
| 78 | - if 'false' == variables.get('node_shared'): | ||
| 79 | - action([output_prefix + output_file], 'bin/' + output_file) | ||
| 80 | - else: | ||
| 81 | - action([output_prefix + output_file], 'lib/' + output_file) | ||
| 87 | + action([output_prefix + output_bin], 'bin/' + output_bin) | 82 | + action([output_prefix + output_bin], 'bin/' + output_bin) |
| 88 | + if 'true' == variables.get('node_shared'): | 83 | + if 'true' == variables.get('node_shared'): |
| 89 | + action([output_libprefix + output_lib], variables.get('libdir') + '/' + output_lib) | 84 | + action([output_libprefix + output_lib], variables.get('libdir') + '/' + output_lib) |
| 90 | 85 | ||
| 91 | if 'true' == variables.get('node_use_dtrace'): | 86 | if 'true' == variables.get('node_use_dtrace'): |
| 92 | action(['out/Release/node.d'], 'lib/dtrace/node.d') | 87 | action(['out/Release/node.d'], 'lib/dtrace/node.d') |
| 93 | -- | ||
| 94 | 2.20.1 | ||
| 95 | |||
diff --git a/meta-oe/recipes-devtools/nodejs/nodejs_12.14.1.bb b/meta-oe/recipes-devtools/nodejs/nodejs_12.18.3.bb index 9f9f320aa7..8a9f32bce2 100644 --- a/meta-oe/recipes-devtools/nodejs/nodejs_12.14.1.bb +++ b/meta-oe/recipes-devtools/nodejs/nodejs_12.18.3.bb | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | DESCRIPTION = "nodeJS Evented I/O for V8 JavaScript" | 1 | DESCRIPTION = "nodeJS Evented I/O for V8 JavaScript" |
| 2 | HOMEPAGE = "http://nodejs.org" | 2 | HOMEPAGE = "http://nodejs.org" |
| 3 | LICENSE = "MIT & BSD & Artistic-2.0" | 3 | LICENSE = "MIT & BSD & Artistic-2.0" |
| 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=be4d5107c64dc3d7c57e3797e1a0674b" | 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=30e27bd6830002d9415e4a5da7901f03" |
| 5 | 5 | ||
| 6 | DEPENDS = "openssl" | 6 | DEPENDS = "openssl" |
| 7 | DEPENDS_append_class-target = " nodejs-native" | 7 | DEPENDS_append_class-target = " nodejs-native" |
| @@ -20,17 +20,12 @@ SRC_URI = "http://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz \ | |||
| 20 | file://0003-Install-both-binaries-and-use-libdir.patch \ | 20 | file://0003-Install-both-binaries-and-use-libdir.patch \ |
| 21 | file://0004-v8-don-t-override-ARM-CFLAGS.patch \ | 21 | file://0004-v8-don-t-override-ARM-CFLAGS.patch \ |
| 22 | file://big-endian.patch \ | 22 | file://big-endian.patch \ |
| 23 | file://0001-build-allow-passing-multiple-libs-to-pkg_config.patch \ | ||
| 24 | file://0002-build-allow-use-of-system-installed-brotli.patch \ | ||
| 25 | file://mips-warnings.patch \ | 23 | file://mips-warnings.patch \ |
| 26 | file://0001-deps-V8-backport-3f8dc4b2e5ba.patch \ | ||
| 27 | " | 24 | " |
| 28 | SRC_URI_append_class-target = " \ | 25 | SRC_URI_append_class-target = " \ |
| 29 | file://0002-Using-native-binaries.patch \ | 26 | file://0002-Using-native-binaries.patch \ |
| 30 | " | 27 | " |
| 31 | 28 | SRC_URI[sha256sum] = "71158026579487422fd13cc2553b34cddb76519098aa6030faab52f88c6e0d0e" | |
| 32 | SRC_URI[md5sum] = "1c78a75f5c95321f533ecccca695e814" | ||
| 33 | SRC_URI[sha256sum] = "877b4b842318b0e09bc754faf7343f2f097f0fc4f88ab9ae57cf9944e88e7adb" | ||
| 34 | 29 | ||
| 35 | S = "${WORKDIR}/node-v${PV}" | 30 | S = "${WORKDIR}/node-v${PV}" |
| 36 | 31 | ||
| @@ -55,7 +50,8 @@ ARCHFLAGS_arm = "${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '- | |||
| 55 | GYP_DEFINES_append_mipsel = " mips_arch_variant='r1' " | 50 | GYP_DEFINES_append_mipsel = " mips_arch_variant='r1' " |
| 56 | ARCHFLAGS ?= "" | 51 | ARCHFLAGS ?= "" |
| 57 | 52 | ||
| 58 | PACKAGECONFIG ??= "ares brotli icu libuv zlib" | 53 | PACKAGECONFIG ??= "ares brotli icu zlib" |
| 54 | |||
| 59 | PACKAGECONFIG[ares] = "--shared-cares,,c-ares" | 55 | PACKAGECONFIG[ares] = "--shared-cares,,c-ares" |
| 60 | PACKAGECONFIG[brotli] = "--shared-brotli,,brotli" | 56 | PACKAGECONFIG[brotli] = "--shared-brotli,,brotli" |
| 61 | PACKAGECONFIG[icu] = "--with-intl=system-icu,--without-intl,icu" | 57 | PACKAGECONFIG[icu] = "--with-intl=system-icu,--without-intl,icu" |
